/**
 * LuxaLife premium related-product rail.
 * Single product pages only; no changes to the main salespage hero, gallery,
 * product data, sales forms or Reviews Hub.
 */
body.single-product .site-main div.product > .related.products {
  width: min(calc(100% - 3rem), 1240px);
  max-width: 1240px;
  margin: clamp(1.8rem, 3.5vw, 3.2rem) auto 0;
  padding: clamp(1.1rem, 2.6vw, 2.2rem) 0 clamp(1.8rem, 3vw, 3rem);
  border-top: 1px solid #ece3d7;
}
body.single-product .site-main div.product > .related.products > h2 {
  margin: 0 0 1.45rem;
  color: #28231e;
  font: 500 clamp(1.45rem, 2.25vw, 1.9rem)/1.18 Georgia, 'Times New Roman', serif;
  letter-spacing: -.025em;
}
body.single-product .site-main div.product > .related.products > h2::after {
  content: '';
  display: block;
  width: 42px;
  height: 2px;
  margin-top: .72rem;
  background: #c1a065;
}
body.single-product .site-main div.product > .related.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(.6rem, 1.6vw, 1.15rem);
  width: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
}
body.single-product .site-main div.product > .related.products ul.products::before,
body.single-product .site-main div.product > .related.products ul.products::after { display: none !important; }
body.single-product .site-main div.product > .related.products ul.products li.product {
  float: none !important;
  clear: none;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}
body.single-product .site-main div.product > .related.products .luxa-product-card__surface {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  padding: .7rem .7rem .9rem;
  background: linear-gradient(165deg, #fff, #fcf8f3);
  border: 1px solid #e9dfd2;
  border-radius: 13px;
  box-shadow: 0 10px 25px rgb(52 43 27 / .05);
  overflow: hidden;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
body.single-product .site-main div.product > .related.products .luxa-product-card__surface:hover {
  transform: translateY(-2px);
  border-color: #c4a46e;
  box-shadow: 0 15px 29px rgb(52 43 27 / .09);
}
body.single-product .site-main div.product > .related.products .luxa-product-card__link {
  color: inherit;
  text-decoration: none;
}
body.single-product .site-main div.product > .related.products .luxa-product-card__media {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  height: clamp(130px, 14vw, 190px);
  padding: .3rem;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
}
body.single-product .site-main div.product > .related.products .luxa-product-card__media img {
  display: block;
  width: 100% !important;
  max-width: 100%;
  height: 100% !important;
  max-height: 100%;
  margin: 0 !important;
  object-fit: contain;
  object-position: center;
}
body.single-product .site-main div.product > .related.products .luxa-product-card__sale {
  position: absolute;
  z-index: 1;
  top: .45rem;
  right: .45rem;
  padding: .3rem .65rem;
  background: #99731f;
  color: #fff;
  border-radius: 30px;
  font-size: .68rem;
  line-height: 1.3;
  font-weight: 700;
}
body.single-product .site-main div.product > .related.products h2.luxa-product-card__title {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  min-height: 3.85em;
  max-height: 4.2em;
  padding: 0;
  margin: .8rem .25rem .4rem;
  color: #2a241f;
  font: 700 .83rem/1.4 var(--luxa-font-body, system-ui, sans-serif);
}
body.single-product .site-main div.product > .related.products .luxa-product-card__details {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: .15rem .25rem 0;
  min-height: 0;
}
body.single-product .site-main div.product > .related.products .luxa-product-card__rating {
  display: flex;
  align-items: center;
  gap: .4rem;
  margin-bottom: .4rem;
  color: #716858;
  font-size: .72rem;
}
body.single-product .site-main div.product > .related.products .luxa-product-card__rating .star-rating {
  float: none;
  margin: 0;
  color: #b99042;
}
body.single-product .site-main div.product > .related.products .luxa-product-card__price {
  margin-top: auto;
  margin-bottom: .75rem;
  color: #a07936;
  font-weight: 750;
  font-size: .97rem;
}
body.single-product .site-main div.product > .related.products .luxa-product-card__price del {
  color: #898179;
  font-size: .78rem;
  font-weight: 450;
  opacity: .8;
  margin-right: .2rem;
}
body.single-product .site-main div.product > .related.products .luxa-product-card__price ins { text-decoration: none; }
body.single-product .site-main div.product > .related.products .luxa-product-card__action { margin-top: auto; }
body.single-product .site-main div.product > .related.products .luxa-product-card__action .button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  padding: .6rem .35rem;
  margin: 0;
  color: #fff;
  background: linear-gradient(180deg, #d1ac63, #a57c30);
  border: 1px solid #ba934d;
  border-radius: 7px;
  font-size: .76rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  box-shadow: none;
}
body.single-product .site-main div.product > .related.products .luxa-product-card__action .button:hover {
  background: linear-gradient(180deg, #dfbc76, #b18736);
  color: #fff;
}
body.single-product .site-main div.product > .related.products .luxa-product-card__action .added_to_cart {
  display: block;
  margin-top: .4rem;
  font-size: .75rem;
  text-align: center;
}

/* The Reviews Hub remains a separate, full-width section below the rail. */
body.single-product .site-main div.product > .related.products + .luxa-reviews { margin-top: 0; }

@media (max-width: 860px) {
  body.single-product .site-main div.product > .related.products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
  }
  body.single-product .site-main div.product > .related.products .luxa-product-card__media {
    height: clamp(150px, 30vw, 220px);
  }
}
@media (max-width: 480px) {
  body.single-product .site-main div.product > .related.products {
    width: min(calc(100% - 1.75rem), 1240px);
    padding-top: 1.2rem;
  }
  body.single-product .site-main div.product > .related.products > h2 { margin-bottom: 1rem; }
  body.single-product .site-main div.product > .related.products ul.products { gap: .65rem; }
  body.single-product .site-main div.product > .related.products .luxa-product-card__surface { padding: .4rem .4rem .65rem; }
  body.single-product .site-main div.product > .related.products .luxa-product-card__media { height: clamp(110px, 35vw, 160px); }
  body.single-product .site-main div.product > .related.products h2.luxa-product-card__title { font-size: .74rem; min-height: 4.1em; margin-inline: .15rem; }
  body.single-product .site-main div.product > .related.products .luxa-product-card__details { padding-inline: .15rem; }
  body.single-product .site-main div.product > .related.products .luxa-product-card__price { font-size: .87rem; }
  body.single-product .site-main div.product > .related.products .luxa-product-card__action .button {
    min-height: 44px;
    font-size: .7rem;
    padding: .55rem .15rem;
  }
}
@media (max-width: 330px) {
  body.single-product .site-main div.product > .related.products ul.products { grid-template-columns: 1fr; }
  body.single-product .site-main div.product > .related.products .luxa-product-card__media { height: 195px; }
}
@media (prefers-reduced-motion: reduce) {
  body.single-product .site-main div.product > .related.products .luxa-product-card__surface { transition: none; }
}
