/* OBSESSION V21.2 — PREMIUM PRODUCT EXPERIENCE */

.product-page-hero{
  min-height:0!important;
}
body.is-beauty-product .product-page-hero{
  padding:18px 0 0!important;
  background:#fff!important;
}
body.is-beauty-product .product-page-hero .breadcrumbs{
  font-size:8px!important;
  letter-spacing:.12em!important;
  color:#9a815f!important;
}

/* Main product composition */
body.is-beauty-product .product-page-retail{
  width:min(100% - 48px,1220px)!important;
  padding-top:32px!important;
  padding-bottom:72px!important;
  grid-template-columns:minmax(500px,1.07fr) minmax(420px,.93fr)!important;
  gap:66px!important;
}
body.is-beauty-product .product-gallery-wrap{
  position:relative!important;
  max-width:690px!important;
}
body.is-beauty-product .gallery-main{
  height:620px!important;
  max-height:620px!important;
  border:1px solid #e8dfd2!important;
  background:
    radial-gradient(circle at 50% 42%,rgba(208,181,135,.09),transparent 31%),
    linear-gradient(180deg,#fff 0%,#fcfaf6 100%)!important;
  cursor:zoom-in;
  overflow:hidden!important;
}
body.is-beauty-product .gallery-main img,
body.is-beauty-product .gallery-main .product-main-photo{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  padding:38px!important;
}
body.is-beauty-product .gallery-thumbs{
  margin-top:10px!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:8px!important;
}
body.is-beauty-product .gallery-thumbs .thumb{
  aspect-ratio:1/1!important;
  border:1px solid #e7ded1!important;
  background:#fff!important;
  padding:4px!important;
}
body.is-beauty-product .gallery-thumbs .thumb.active{
  border-color:#a97a37!important;
  box-shadow:inset 0 0 0 1px #a97a37!important;
}

/* Gallery controls live outside gallery-main so they survive thumbnail changes */
.beauty-gallery-control{
  position:absolute;
  top:290px;
  z-index:8;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid #ded3c3;
  background:rgba(255,255,255,.94);
  color:#32271c;
  cursor:pointer;
  font-size:18px;
  line-height:1;
  transition:.2s ease;
}
.beauty-gallery-control:hover{
  background:#201a15;
  color:#fff;
  border-color:#201a15;
}
.beauty-gallery-prev{left:13px}
.beauty-gallery-next{right:13px}
.beauty-gallery-count{
  position:absolute;
  z-index:8;
  right:14px;
  top:14px;
  min-width:48px;
  padding:7px 9px;
  border:1px solid #e0d5c6;
  background:rgba(255,255,255,.94);
  color:#746554;
  text-align:center;
  font-size:8px;
  font-weight:600;
  letter-spacing:.08em;
}
html[dir="rtl"] .beauty-gallery-count{right:auto;left:14px}

/* Product information hierarchy */
body.is-beauty-product .product-retail-detail{
  max-width:580px!important;
}
body.is-beauty-product .product-brand-line{
  margin-bottom:12px!important;
  background:#fbf7f0!important;
}
body.is-beauty-product .product-retail-detail h1{
  margin:0 0 13px!important;
  font-size:clamp(46px,4.2vw,61px)!important;
  line-height:.96!important;
  letter-spacing:-.02em!important;
}
body.is-beauty-product .product-rating-summary{
  margin-bottom:17px!important;
}
body.is-beauty-product .product-retail-price{
  margin:0 0 18px!important;
  font-size:35px!important;
  line-height:1!important;
}

.beauty-product-meta-row{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:0 0 16px;
}
.beauty-product-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:6px 9px;
  border:1px solid #e1d8ca;
  background:#fff;
  color:#756858;
  font-size:8px;
  font-weight:600;
  letter-spacing:.055em;
}
.beauty-product-chip strong{
  color:#34291e;
  font-weight:600;
}
.beauty-product-chip.stock-ok::before{
  content:"";
  width:6px;height:6px;border-radius:50%;
  background:#58704d;
}
.beauty-product-chip.stock-low::before{
  content:"";
  width:6px;height:6px;border-radius:50%;
  background:#a17635;
}
.beauty-product-chip.stock-out::before{
  content:"";
  width:6px;height:6px;border-radius:50%;
  background:#8b5b52;
}

/* Long descriptions are elegant instead of dominating the purchase area */
body.is-beauty-product .product-retail-desc{
  position:relative;
  margin-bottom:6px!important;
  font-size:12px!important;
  line-height:1.82!important;
  color:#71675d!important;
}
body.is-beauty-product .product-retail-desc.beauty-desc-collapsible{
  max-height:92px;
  overflow:hidden;
}
body.is-beauty-product .product-retail-desc.beauty-desc-collapsible:not(.expanded)::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:30px;
  background:linear-gradient(transparent,#fff);
  pointer-events:none;
}
.beauty-desc-toggle{
  display:none;
  border:0;
  background:transparent;
  padding:6px 0 2px;
  color:#946d34;
  font-size:8.5px;
  font-weight:700;
  letter-spacing:.06em;
  cursor:pointer;
}
.beauty-desc-toggle.show{display:inline-flex}
html[dir="rtl"] .beauty-desc-toggle{letter-spacing:0}

/* Variants */
body.is-beauty-product .product-size-choice{
  margin:20px 0 18px!important;
  padding:18px 0 0!important;
}
body.is-beauty-product .product-size-choice>label{
  display:block;
  margin-bottom:10px!important;
}
body.is-beauty-product .variant-size-buttons{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
}
body.is-beauty-product .variant-size-btn{
  position:relative;
  width:100%!important;
  min-width:0!important;
  min-height:58px!important;
  padding:10px 13px!important;
  justify-content:space-between!important;
  border:1px solid #d8cdbd!important;
  background:#fff!important;
  color:#2c231a!important;
  text-align:left!important;
  transition:.18s ease!important;
}
body.is-beauty-product .variant-size-btn:hover:not(:disabled){
  border-color:#a77c3d!important;
  background:#fcfaf6!important;
}
body.is-beauty-product .variant-size-btn.active{
  border-color:#241d17!important;
  background:#241d17!important;
  color:#fff!important;
  box-shadow:none!important;
}
body.is-beauty-product .variant-size-btn.active::after{
  content:"✓";
  position:absolute;
  top:5px;
  right:7px;
  font-size:8px;
  opacity:.7;
}
html[dir="rtl"] body.is-beauty-product .variant-size-btn.active::after{
  right:auto;left:7px;
}
body.is-beauty-product .variant-size-btn:disabled{
  opacity:.47!important;
  cursor:not-allowed!important;
  text-decoration:none!important;
}
.variant-size-main{
  display:flex;
  flex-direction:column;
  gap:3px;
  align-items:flex-start;
}
.variant-size-main strong{
  font-size:10.5px;
  font-weight:600;
}
.variant-size-main em{
  font-style:normal;
  font-size:7px;
  opacity:.72;
}
.variant-size-price{
  font-size:11px!important;
  font-weight:600!important;
  white-space:nowrap;
}
.variant-size-hint{
  display:none!important;
}
.beauty-variant-status{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:24px;
  margin-top:8px;
  color:#74695d;
  font-size:8.5px;
}
.beauty-variant-status::before{
  content:"";
  width:6px;height:6px;border-radius:50%;
  background:#627557;
}
.beauty-variant-status.low::before{background:#ae813e}
.beauty-variant-status.out::before{background:#936056}

/* Purchase zone */
body.is-beauty-product .product-retail-buy-row{
  margin-top:18px!important;
}
body.is-beauty-product #product-add-btn,
body.is-beauty-product #product-buy-now-btn{
  font-weight:600!important;
  letter-spacing:.08em!important;
}
body.is-beauty-product .product-retail-total{
  margin-top:11px!important;
  padding:12px 0!important;
}
body.is-beauty-product .retail-trust{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  padding:14px 0!important;
  border-top:1px solid #ece4d9;
  border-bottom:1px solid #ece4d9;
}
body.is-beauty-product .retail-trust span{
  padding:0 11px;
  border-right:1px solid #eee6db;
  text-align:center;
  line-height:1.45;
}
body.is-beauty-product .retail-trust span:first-child{padding-left:0}
body.is-beauty-product .retail-trust span:last-child{
  padding-right:0;border-right:0
}
html[dir="rtl"] body.is-beauty-product .retail-trust span{
  border-right:0;border-left:1px solid #eee6db;
}
html[dir="rtl"] body.is-beauty-product .retail-trust span:last-child{border-left:0}

/* Brand signature */
body.is-beauty-product .beauty-brand-signature{
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:15px!important;
  margin:17px 0 4px!important;
  padding:15px!important;
  border:1px solid #ded1be!important;
  background:
    radial-gradient(circle at 90% 0,rgba(188,146,78,.12),transparent 33%),
    #fdfaf5!important;
}
.beauty-brand-signature-logo{
  width:64px;height:64px;
  border:1px solid #dfd3c2;
  background:#fff;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.beauty-brand-signature-logo img{
  width:100%;height:100%;object-fit:contain;padding:6px;
}
.beauty-brand-signature-logo span{
  font:600 20px/1 "Cormorant Garamond",serif;
  color:#99703a;
}
body.is-beauty-product .beauty-brand-signature div.beauty-brand-signature-copy{
  display:block!important;
}
body.is-beauty-product .beauty-brand-signature-copy small{
  display:block;margin-bottom:3px
}
body.is-beauty-product .beauty-brand-signature-copy b{
  display:block!important;
  margin-bottom:4px;
  font-size:22px!important;
}
body.is-beauty-product .beauty-brand-signature-copy span{
  display:block;
  max-width:330px;
  line-height:1.55;
}
body.is-beauty-product .beauty-brand-signature>a{
  align-self:center!important;
}

/* Sections after product */
body.is-beauty-product .related-section,
body.is-beauty-product .recommended-section{
  padding:58px 0!important;
}
body.is-beauty-product .related-section{
  background:#fbf8f3!important;
}
body.is-beauty-product .recommended-section{
  background:#fff!important;
}
body.is-beauty-product .related-section .product-grid,
body.is-beauty-product .recommended-section .product-grid{
  gap:14px!important;
}
body.is-beauty-product .reviews-section{
  padding:66px 0 76px!important;
  background:#faf7f2!important;
}
body.is-beauty-product .reviews-layout{
  gap:38px!important;
}
body.is-beauty-product .review-form-card{
  border-color:#ded2c1!important;
  background:#fff!important;
}
body.is-beauty-product .review-metrics-v21{
  gap:8px!important;
}

/* Lightbox */
.obs-product-lightbox{
  position:fixed;
  inset:0;
  z-index:1000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:34px 74px;
  background:rgba(19,16,13,.91);
}
.obs-product-lightbox.open{display:flex}
.obs-product-lightbox-stage{
  position:relative;
  width:min(100%,980px);
  height:min(86vh,850px);
  display:grid;
  place-items:center;
}
.obs-product-lightbox img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  background:#fff;
}
.obs-product-lightbox-close,
.obs-product-lightbox-prev,
.obs-product-lightbox-next{
  position:absolute;
  z-index:2;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(20,17,14,.65);
  color:#fff;
  cursor:pointer;
}
.obs-product-lightbox-close{
  top:-8px;right:-48px;
  width:38px;height:38px;
  font-size:20px;
}
.obs-product-lightbox-prev,
.obs-product-lightbox-next{
  top:50%;
  transform:translateY(-50%);
  width:42px;height:54px;
  font-size:22px;
}
.obs-product-lightbox-prev{left:-58px}
.obs-product-lightbox-next{right:-58px}
.obs-product-lightbox-count{
  position:absolute;
  bottom:-25px;
  left:50%;
  transform:translateX(-50%);
  color:#fff;
  font-size:9px;
  letter-spacing:.12em;
}
html[dir="rtl"] .obs-product-lightbox-close{right:auto;left:-48px}

/* Arabic polish */
html[dir="rtl"] body.is-beauty-product .product-retail-detail h1{
  font-family:"Noto Kufi Arabic",Tahoma,Arial,sans-serif!important;
  font-size:clamp(31px,3.4vw,46px)!important;
  line-height:1.45!important;
  letter-spacing:0!important;
}
html[dir="rtl"] .variant-size-main{align-items:flex-end}
html[dir="rtl"] body.is-beauty-product .variant-size-btn{text-align:right!important}
html[dir="rtl"] .beauty-product-chip{letter-spacing:0}

@media(max-width:1050px){
  body.is-beauty-product .product-page-retail{
    grid-template-columns:minmax(400px,.95fr) minmax(390px,1.05fr)!important;
    gap:38px!important;
  }
  body.is-beauty-product .gallery-main{
    height:540px!important;
    max-height:540px!important;
  }
  .beauty-gallery-control{top:250px}
}
@media(max-width:820px){
  body.is-beauty-product .product-page-retail{
    width:min(100% - 34px,740px)!important;
    grid-template-columns:1fr!important;
    gap:28px!important;
    padding-top:24px!important;
  }
  body.is-beauty-product .product-gallery-wrap{
    max-width:none!important;
  }
  body.is-beauty-product .gallery-main{
    height:500px!important;
    max-height:500px!important;
  }
  .beauty-gallery-control{top:230px}
  body.is-beauty-product .retail-trust{
    grid-template-columns:1fr!important;
  }
  body.is-beauty-product .retail-trust span{
    border-right:0!important;
    border-left:0!important;
    border-bottom:1px solid #eee6db;
    padding:8px 0!important;
    text-align:left;
  }
  html[dir="rtl"] body.is-beauty-product .retail-trust span{text-align:right}
  body.is-beauty-product .retail-trust span:last-child{border-bottom:0}
}
@media(max-width:620px){
  body.is-beauty-product .product-page-retail{
    width:min(100% - 26px,560px)!important;
  }
  body.is-beauty-product .gallery-main{
    height:390px!important;
    max-height:390px!important;
  }
  body.is-beauty-product .gallery-main img,
  body.is-beauty-product .gallery-main .product-main-photo{
    padding:23px!important;
  }
  body.is-beauty-product .gallery-thumbs{
    display:flex!important;
    overflow-x:auto;
    grid-template-columns:none!important;
    scrollbar-width:thin;
    padding-bottom:4px;
  }
  body.is-beauty-product .gallery-thumbs .thumb{
    flex:0 0 70px;
    width:70px;
  }
  .beauty-gallery-control{
    top:176px;
    width:34px;height:34px;
  }
  .beauty-gallery-prev{left:8px}
  .beauty-gallery-next{right:8px}
  body.is-beauty-product .product-retail-detail h1{
    font-size:39px!important;
  }
  body.is-beauty-product .variant-size-buttons{
    grid-template-columns:1fr!important;
  }
  body.is-beauty-product .beauty-brand-signature{
    grid-template-columns:54px 1fr!important;
  }
  body.is-beauty-product .beauty-brand-signature-logo{
    width:54px;height:54px;
  }
  body.is-beauty-product .beauty-brand-signature>a{
    grid-column:1/-1;
    width:100%;
    text-align:center;
  }
  .obs-product-lightbox{padding:50px 16px}
  .obs-product-lightbox-stage{height:78vh}
  .obs-product-lightbox-close{
    top:-43px;right:0!important;left:auto!important
  }
  .obs-product-lightbox-prev{left:5px}
  .obs-product-lightbox-next{right:5px}
}
