/* Pleasure Standard | product-detail UI and rendering improvements.
   Scoped to single-product views: does not alter cart, pricing or product data. */
/* Reduce costly large-area blur compositing on mobile product pages;
   age verification and navigation remain fully functional. */
@media (max-width:780px) {
 body.single-product .ps-header {
   background:#f3eee8!important;
   -webkit-backdrop-filter:none!important;
   backdrop-filter:none!important;
 }
 body.single-product .ps-age{
   background:rgba(18,11,15,.94)!important;
   -webkit-backdrop-filter:none!important;
   backdrop-filter:none!important;
 }
}
.ps-shop--product .woocommerce-product-gallery{min-width:0!important}
.ps-shop--product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper{min-width:0}
/* Before FlexSlider wraps the gallery, reserve the exact same hero height
   as the initialized carousel; prevent a late jump when JavaScript starts. */
.ps-shop--product .woocommerce-product-gallery>.woocommerce-product-gallery__wrapper{
  height:clamp(330px,41vw,545px)!important;
  max-height:545px!important;overflow:hidden!important
}
.ps-shop--product .woocommerce-product-gallery--with-images{
  min-height:calc(clamp(330px,41vw,545px) + 98px)
}
.ps-shop--product .woocommerce-product-gallery{opacity:1!important;visibility:visible!important}
/* Keep the main FlexSlider viewport bounded so the thumbnails sit directly
   below the hero rather than several screens farther down. */
.ps-shop--product .woocommerce-product-gallery .flex-viewport{
  height:clamp(330px,41vw,545px)!important;max-height:545px!important;
  min-height:0!important;overflow:hidden!important
}
.ps-shop--product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image,
.ps-shop--product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image>a{
  height:100%!important;max-height:100%!important
}
.ps-shop--product .woocommerce-product-gallery .woocommerce-product-gallery__image{min-width:0;background:#f7f1ed}
.ps-shop--product .woocommerce-product-gallery .woocommerce-product-gallery__image>a{
  display:flex!important;align-items:center;justify-content:center;aspect-ratio:auto;
  width:100%;min-width:0;overflow:hidden;border:1px solid #e0d4d0;
  background:#f8f3ef;text-decoration:none
}
.ps-shop--product .woocommerce-product-gallery .woocommerce-product-gallery__image>a>img{
  display:block!important;max-width:100%!important;width:auto!important;
  height:auto!important;max-height:100%!important;object-fit:contain!important;
  object-position:center;min-width:0;flex:0 1 auto
}
.ps-shop--product .woocommerce-product-gallery .flex-control-thumbs{
  scrollbar-width:thin;scrollbar-color:#b6a4ac transparent
}
.ps-shop--product .summary .product_title{overflow-wrap:anywhere;hyphens:auto}
.ps-shop--product .summary .price{line-height:1.25}
.ps-shop--product .summary .woocommerce-product-details__short-description{
  max-width:56ch;overflow-wrap:break-word
}
.ps-shop--product .summary form.cart{display:flex;gap:12px;align-items:center;flex-wrap:wrap;min-width:0}
.ps-shop--product .summary form.cart .quantity{margin:0!important}
.ps-shop--product .summary form.cart input.qty{
  min-height:48px!important;width:76px!important;max-width:100%!important;
  background:#fffaf7;border:1px solid #c9b9b5;border-radius:9px!important;
  font-size:16px!important;color:#30202a!important
}
.ps-shop--product .summary form.cart .single_add_to_cart_button{
  min-height:48px!important;border-radius:9px!important;max-width:100%;
  white-space:normal!important;line-height:1.35!important;
}
.ps-shop--product .summary form.cart input:focus-visible,
.ps-shop--product .summary form.cart button:focus-visible{
  outline:3px solid #a76983!important;outline-offset:3px
}
.ps-pdp-quicklinks{margin:24px 0 8px;padding:18px 0 0;border-top:1px solid #dacdcc;max-width:100%;min-width:0}
.ps-pdp-quicklinks__label{display:block;margin:0 0 12px;font-size:10px;line-height:1.4;letter-spacing:.135em;font-weight:800;color:#694a58}
.ps-pdp-quicklinks__links{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}
.ps-pdp-quicklinks__links>a{
  display:inline-flex;align-items:center;justify-content:space-between;gap:12px;
  min-height:41px;max-width:100%;padding:10px 12px;border:1px solid #d4c4c2;
  border-radius:9px;background:#fffaf7;text-decoration:none!important;
  color:#382832!important;font-size:12px;line-height:1.35;font-weight:700;
  transition:background .15s ease,border-color .15s ease
}
.ps-pdp-quicklinks__links>a span{font-size:14px;color:#795360}
.ps-pdp-quicklinks__links>a:hover{background:#efe3df;border-color:#a9808d}
.ps-pdp-quicklinks__links>a:focus-visible{outline:3px solid #a76983;outline-offset:3px}
.ps-shop--product #tab-description,
.ps-shop--product #tab-additional_information,
.ps-shop--product #tab-reviews,
.ps-shop--product .ps-company-review{scroll-margin-top:120px}
/* Avoid layout shifts from estimated intrinsic heights.
   Editorial, guidance and related-product sections render with natural heights.
   Previous content-visibility:auto placeholders varied substantially by product. */
.ps-shop--product .ps-company-review,
.ps-shop--product .ps-use-guide,
.ps-shop--product .related.products{
  content-visibility:visible;
  contain-intrinsic-size:none
}
@media(min-width:780px) and (max-height:810px){
 .ps-shop--product .ps-shell > div.product > .summary{position:static!important;top:auto!important}
}
@media(max-width:780px){
 .ps-shop--product .ps-shell > div.product{row-gap:14px!important}
 .ps-shop--product .ps-shell > div.product > .woocommerce-product-gallery{overflow:hidden!important}
 .ps-shop--product .woocommerce-product-gallery .flex-viewport{height:min(86vw,460px)!important;max-height:460px!important}
 .ps-shop--product .woocommerce-product-gallery>.woocommerce-product-gallery__wrapper{
   height:min(86vw,460px)!important;max-height:460px!important
 }
 .ps-shop--product .woocommerce-product-gallery--with-images{
   min-height:calc(min(86vw,460px) + 87px)
 }
 .ps-shop--product .woocommerce-product-gallery .woocommerce-product-gallery__image>a{aspect-ratio:1/1.08}
 .ps-shop--product .woocommerce-product-gallery .woocommerce-product-gallery__image>a>img{max-height:100%!important}
 .ps-shop--product .woocommerce-product-gallery .flex-control-thumbs{
  display:flex!important;grid-template-columns:none!important;overflow-x:auto;
  overscroll-behavior-inline:contain;gap:9px;max-width:100%;padding:0 0 8px!important
 }
 .ps-shop--product .woocommerce-product-gallery .flex-control-thumbs li{
  float:none!important;flex:0 0 71px!important;max-width:71px!important
 }
 .ps-pdp-quicklinks__links{flex-wrap:nowrap;overflow-x:auto;padding:2px 2px 10px;
  scroll-snap-type:x proximity;overscroll-behavior-inline:contain;scrollbar-width:thin}
 .ps-pdp-quicklinks__links>a{flex:none;scroll-snap-align:start;min-height:44px}
 .ps-shop--product .summary form.cart{gap:10px}
 .ps-shop--product .summary form.cart .single_add_to_cart_button{flex:1 1 165px}
 .ps-shop--product .woocommerce-tabs{margin-top:28px!important;padding-top:24px}
}
@media(max-width:440px){
 .ps-shop--product .summary .product_title{font-size:clamp(34px,9.4vw,47px)!important;line-height:1.05!important}
 .ps-shop--product .summary form.cart input.qty{width:67px!important}
 .ps-shop--product .woocommerce-product-gallery .flex-control-thumbs li{
  flex-basis:62px!important;max-width:62px!important
 }
}
@media(prefers-reduced-motion:reduce){.ps-pdp-quicklinks__links>a{transition:none}}

/* QA repair: ensure thumbnails remain in normal flow under the FlexSlider
   and are never cropped by a fixed-height/overflow gallery wrapper. */
.ps-shop--product .ps-shell > div.product > .woocommerce-product-gallery{
  height:auto!important;max-height:none!important;overflow:visible!important
}
.ps-shop--product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs{
  position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  z-index:4;display:flex!important;flex-wrap:wrap!important;align-items:flex-start!important;
  width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;
  opacity:1!important;visibility:visible!important;overflow:visible!important;
  gap:10px!important;list-style:none!important;padding:12px 0 5px!important;margin:0!important
}
.ps-shop--product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs>li{
  display:block!important;float:none!important;flex:0 0 76px!important;
  width:76px!important;max-width:76px!important;height:76px!important;
  margin:0!important;padding:0!important;visibility:visible!important;opacity:1!important
}
.ps-shop--product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs>li>img{
  display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;
  background:#fffaf7!important;opacity:.74!important;cursor:pointer;
  border:1px solid #cbbab9!important;border-radius:8px!important
}
.ps-shop--product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs>li>img.flex-active{
  opacity:1!important;border:2px solid #613d50!important
}
@media(max-width:780px){
 .ps-shop--product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs{
   flex-wrap:nowrap!important;overflow-x:auto!important;overscroll-behavior-x:contain;
   padding:11px 0 9px!important
 }
 .ps-shop--product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs>li{
  flex:0 0 68px!important;width:68px!important;max-width:68px!important;height:68px!important
 }
}
@media(max-width:440px){
 .ps-shop--product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs>li{
  flex-basis:60px!important;width:60px!important;max-width:60px!important;height:60px!important
 }
}

/* On-demand, keyboard-operable product image viewer replaces eager PhotoSwipe. */
dialog.ps-product-lightbox{
  margin:auto;padding:0;border:1px solid #694757;border-radius:19px;
  background:#261b24;color:#fff;box-shadow:0 22px 90px #000a;
  width:min(1100px,95vw);max-width:95vw;max-height:94dvh;overflow:hidden
}
dialog.ps-product-lightbox::backdrop{background:rgba(15,8,13,.88)}
.ps-product-lightbox__frame{display:grid;grid-template-rows:auto minmax(0,1fr);
  max-height:94dvh;min-width:0}
.ps-product-lightbox__toolbar{display:flex;justify-content:space-between;align-items:center;
  padding:11px 18px;border-bottom:1px solid #ffffff26;
  font-size:12px;font-weight:800;letter-spacing:.09em}
.ps-product-lightbox__counter{color:#e0cdd5;min-width:60px}
.ps-product-lightbox__close{display:inline-flex;align-items:center;gap:10px;
  min-height:44px;padding:6px 13px;background:#ffffff12;color:white;border:1px solid #ffffff3b;
  border-radius:999px;cursor:pointer;font:600 12px/1.2 Arial,sans-serif}
.ps-product-lightbox__close span{font-size:25px;line-height:.6}
.ps-product-lightbox__media{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;
  gap:10px;align-items:center;padding:clamp(14px,2.4vw,30px);
  min-height:0}
.ps-product-lightbox__image{display:block;grid-column:2;grid-row:1;
  max-width:100%;width:auto;max-height:calc(94dvh - 139px);
  height:auto;object-fit:contain;margin:auto;border-radius:9px}
.ps-product-lightbox__prev,.ps-product-lightbox__next{appearance:none;
  display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #ffffff65;
  border-radius:50%;background:#ffffff14;color:#fff;font-size:34px;line-height:1;
  cursor:pointer}
.ps-product-lightbox__prev{grid-column:1;grid-row:1}
.ps-product-lightbox__next{grid-column:3;grid-row:1}
.ps-product-lightbox button:focus-visible{outline:3px solid #f2bacb;outline-offset:3px}
.ps-product-lightbox button[hidden]{display:none!important}
@media(max-width:650px){
 dialog.ps-product-lightbox{width:97vw;max-width:97vw;border-radius:12px}
 .ps-product-lightbox__media{gap:4px;padding:12px 7px;grid-template-columns:40px minmax(0,1fr) 40px}
 .ps-product-lightbox__prev,.ps-product-lightbox__next{width:39px;height:44px}
 .ps-product-lightbox__image{max-height:calc(94dvh - 112px)}
}

/* Product gallery: constrain the actual image, not just the viewport.
   FlexSlider keeps its native horizontal slide widths and thumbnail navigation.
   Never expand a square or portrait product photo beyond the visible stage. */
.ps-shop--product .woocommerce-product-gallery{
  --ps-gallery-stage:clamp(350px,43vw,590px);
  --ps-gallery-inset:24px;
}
.ps-shop--product .woocommerce-product-gallery>.woocommerce-product-gallery__wrapper,
.ps-shop--product .woocommerce-product-gallery .flex-viewport{
  height:var(--ps-gallery-stage)!important;
  max-height:var(--ps-gallery-stage)!important;
  min-height:0!important;
  overflow:hidden!important;
}
.ps-shop--product .woocommerce-product-gallery--with-images{
  min-height:calc(var(--ps-gallery-stage) + 98px)!important;
}
.ps-shop--product .woocommerce-product-gallery .woocommerce-product-gallery__image{
  height:var(--ps-gallery-stage)!important;
  max-height:var(--ps-gallery-stage)!important;
  min-height:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.ps-shop--product .woocommerce-product-gallery .woocommerce-product-gallery__image>a{
  width:100%!important;
  height:var(--ps-gallery-stage)!important;
  max-height:var(--ps-gallery-stage)!important;
  min-height:0!important;
  box-sizing:border-box!important;
  aspect-ratio:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  padding:var(--ps-gallery-inset)!important;
  background:#f8f3ef!important;
}
.ps-shop--product .woocommerce-product-gallery .woocommerce-product-gallery__image>a>img{
  display:block!important;
  flex:0 1 auto!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:calc(var(--ps-gallery-stage) - 2 * var(--ps-gallery-inset))!important;
  margin:auto!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  aspect-ratio:auto!important;
}
.ps-shop--product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs>li>img{
  box-sizing:border-box!important;
  padding:6px!important;
  object-fit:contain!important;
  object-position:center!important;
}
@media(max-width:780px){
  .ps-shop--product .woocommerce-product-gallery{
    --ps-gallery-stage:min(94vw,510px);
    --ps-gallery-inset:clamp(10px,3vw,22px);
  }
  .ps-shop--product .woocommerce-product-gallery--with-images{
    min-height:calc(var(--ps-gallery-stage) + 87px)!important;
  }
}

/* Gallery affordances and unambiguous native FlexSlider thumbnail selection. */
.ps-shop--product .woocommerce-product-gallery .woocommerce-product-gallery__image>a{
  position:relative!important;
  cursor:zoom-in!important;
}
.ps-shop--product .woocommerce-product-gallery .woocommerce-product-gallery__image>a::after{
  content:"EXPAND IMAGE ↗";
  position:absolute;
  top:14px;
  right:14px;
  z-index:3;
  padding:9px 12px;
  background:rgba(255,253,250,.94);
  color:#382833;
  border:1px solid #d7c7c8;
  border-radius:7px;
  box-shadow:0 2px 10px rgba(40,26,31,.08);
  font-size:10px;
  font-weight:800;
  letter-spacing:.075em;
  pointer-events:none;
}
.ps-shop--product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs>li{
  flex-basis:86px!important;
  width:86px!important;
  max-width:86px!important;
  height:86px!important;
}
.ps-shop--product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs>li>img{
  padding:7px!important;
  background:#fffdfb!important;
}
.ps-shop--product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs>li>img:not(.flex-active){
  opacity:.87!important;
  border:1px solid #c6b7b5!important;
  box-shadow:none!important;
}
.ps-shop--product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs>li>img.flex-active{
  opacity:1!important;
  border:3px solid #5b3447!important;
  box-shadow:0 0 0 2px #fff,0 0 0 3px #5b3447!important;
}
.ps-shop--product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs>li>img:focus-visible{
  outline:3px solid #95546d!important;
  outline-offset:4px!important;
}
@media(max-width:780px){
  .ps-shop--product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs>li{
    flex:0 0 70px!important;
    width:70px!important;
    max-width:70px!important;
    height:70px!important;
  }
  .ps-shop--product .woocommerce-product-gallery .woocommerce-product-gallery__image>a::after{
    top:10px;
    right:10px;
    padding:8px 10px;
    font-size:9px;
  }
}



