
body{background:radial-gradient(circle at 82% 10%,rgba(174,205,215,.28),transparent 28rem),linear-gradient(180deg,#fbfcfc,#edf4f5)!important;color:#26333a!important}
.announce{background:#dce9ec!important;color:#4e6871!important;border-color:rgba(47,71,81,.14)!important}
header{background:rgba(250,252,251,.92)!important;color:#26333a!important;border-color:rgba(47,71,81,.14)!important;backdrop-filter:blur(20px)!important}
.logo b,header nav a,.lang-switcher button,.shop-trigger{color:#26333a!important}.logo i,.product-return{color:#7898a5!important}
.product-page{width:min(1480px,calc(100% - 4rem))!important;margin:auto!important;padding:3rem 0 8rem!important}
.product-layout{display:grid!important;grid-template-columns:1.08fr .92fr!important;gap:1.4rem!important;border:0!important}
.product-gallery{min-height:42rem!important;display:flex!important;align-items:center!important;justify-content:center!important;background:radial-gradient(circle at 50% 40%,rgba(197,216,223,.36),transparent 48%),rgba(255,255,255,.58)!important;border:1px solid rgba(47,71,81,.14)!important;border-radius:2rem!important;box-shadow:0 24px 66px rgba(67,91,100,.08)!important;overflow:visible!important}
.product-gallery img{width:90%!important;height:42rem!important;object-fit:contain!important;object-position:center!important;clip-path:none!important;mask:none!important;-webkit-mask:none!important;filter:drop-shadow(0 26px 24px rgba(69,85,92,.11))!important}
.product-info{position:sticky!important;top:8rem!important;align-self:start!important;padding:3rem!important;background:linear-gradient(145deg,rgba(255,255,255,.80),rgba(216,231,235,.60))!important;border:1px solid rgba(47,71,81,.14)!important;border-radius:2rem!important;box-shadow:0 24px 66px rgba(67,91,100,.08)!important}
.product-info h1{font-family:Georgia,"Times New Roman",serif!important;font-weight:400!important;text-transform:none!important;font-size:clamp(4rem,6vw,6.5rem)!important;line-height:1!important;letter-spacing:-.035em!important;color:#26333a!important}
.product-lead,.product-details,.preorder-note{color:#748087!important}.size-btn{background:rgba(255,255,255,.55)!important;color:#26333a!important;border:1px solid rgba(47,71,81,.14)!important}.size-btn.is-active{background:#94b6c2!important;border-color:#94b6c2!important;color:white!important}.add-cart-main{background:#5f7b86!important;color:white!important;border:0!important}
.product-related{background:#eaf2f4!important;color:#26333a!important;border-top:1px solid rgba(47,71,81,.14)!important}.product-related-head h2{font-family:Georgia,"Times New Roman",serif!important;font-weight:400!important;text-transform:none!important;line-height:1!important;letter-spacing:-.03em!important;color:#26333a!important}.product-related-image{background:rgba(255,255,255,.58)!important;border:1px solid rgba(47,71,81,.14)!important;border-radius:1.6rem!important}.product-related-name{color:#26333a!important}.product-related-link{color:#7898a5!important}
@media(max-width:64rem){.product-page{width:calc(100% - 2rem)!important}.product-layout{grid-template-columns:1fr!important}.product-info{position:static!important}}
@media(max-width:40rem){.product-gallery{min-height:0!important}.product-gallery img{width:96%!important;height:auto!important}.product-info{padding:2rem 1rem!important}}


/* V20.23 — compact product-page arrival; no empty white zone */
.product-return-wrap{display:none!important;}
.product-page{
  width:min(1480px,calc(100% - 4rem))!important;
  margin:0 auto!important;
  padding:1rem 0 7rem!important;
}
.product-topbar{
  width:100%;
  min-height:2.25rem;
  display:flex;
  align-items:center;
  margin:0 0 1rem!important;
  padding:0!important;
}
.product-topbar .product-return{margin:0!important;}
.product-layout{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  gap:1.4rem!important;
  align-items:start!important;
}
.product-gallery,.product-info{margin-top:0!important;}
.product-gallery img[src*="pyjama-polaire-v2026.png"]{
  width:100%!important;
  height:42rem!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  clip-path:none!important;
  mask:none!important;
  -webkit-mask:none!important;
}
@media(max-width:64rem){
 .product-page{width:calc(100% - 2rem)!important;padding-top:.75rem!important;}
}
@media(max-width:40rem){
 .product-page{width:calc(100% - 1.5rem)!important;padding-top:.5rem!important;}
 .product-topbar{margin-bottom:.7rem!important;}
 .product-gallery img[src*="pyjama-polaire-v2026.png"]{height:auto!important;}
}


/* ============================================================
   V20.24 — product pages start immediately after the header
   ============================================================ */
html,body{scroll-padding-top:0!important;}
body.product-mobile-home-header main.product-page,
body.product-header-home main.product-page,
main.product-page{
  margin-top:0!important;
  padding-top:.5rem!important;
  min-height:0!important;
}
.product-topbar{
  margin:0 0 .8rem!important;
  padding:0!important;
  min-height:2rem!important;
  height:auto!important;
}
.product-layout{
  margin-top:0!important;
  padding-top:0!important;
  transform:none!important;
}
.product-gallery,.product-info{
  margin-top:0!important;
  top:auto;
}
.product-info{top:7rem!important;}
/* neutralise every historical spacer if an old cached class survives */
.product-return-wrap{display:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;}

@media(max-width:64rem){
  body.product-mobile-home-header main.product-page,
  body.product-header-home main.product-page,
  main.product-page{padding-top:.25rem!important;}
  .product-topbar{margin-bottom:.6rem!important;}
}


/* ============================================================
   V20.25 — PRODUCT PAGE GAP ELIMINATION
   ============================================================ */

/* Product page begins immediately after header */
body.product-mobile-home-header,
body.product-header-home{
  padding-top:0!important;
  margin-top:0!important;
}

main.product-page{
  position:relative!important;
  width:min(1480px,calc(100% - 4rem))!important;
  margin:0 auto!important;
  padding:0 0 6rem!important;
  min-height:0!important;
}

/* No topbar in normal document flow anymore */
.product-topbar,
.product-return-wrap{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}

/* Product starts immediately */
.product-layout{
  position:relative!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:1.08fr .92fr!important;
  gap:1.4rem!important;
  align-items:start!important;
  min-height:0!important;
}

/* Return floats on top of the product instead of creating blank vertical space */
.product-layout > .product-return{
  position:absolute!important;
  z-index:20!important;
  top:1.15rem!important;
  left:1.15rem!important;
  margin:0!important;
  padding:0 0 .35rem!important;
  background:rgba(250,252,251,.84)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}

/* Gallery/info begin at y=0 of the product layout */
.product-gallery,
.product-info{
  margin:0!important;
  transform:none!important;
}

.product-gallery{
  grid-column:1!important;
}

.product-info{
  grid-column:2!important;
  top:7rem!important;
}

/* Kill any historical spacer-like element */
.product-hero-spacer,
.product-spacer,
.product-intro-spacer,
.page-spacer,
.hero-spacer{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}

/* Remove any pseudo-element capable of adding height */
main.product-page::before,
main.product-page::after,
.product-layout::before,
.product-layout::after{
  display:none!important;
  content:none!important;
}

@media(max-width:64rem){
  main.product-page{
    width:calc(100% - 2rem)!important;
  }
  .product-layout{
    grid-template-columns:1fr!important;
  }
  .product-gallery,
  .product-info{
    grid-column:1!important;
  }
  .product-info{
    position:static!important;
  }
}

@media(max-width:40rem){
  main.product-page{
    width:calc(100% - 1.25rem)!important;
  }
  .product-layout > .product-return{
    top:.75rem!important;
    left:.75rem!important;
  }
}


/* ============================================================
   V20.26 — PRODUCT PAGE TOP GAP FINAL FIX
   The product layout is normal document flow directly below header.
   ============================================================ */
body:not(.home-v18-1) main.product-page{
  display:block!important;
  position:relative!important;
  margin:0 auto!important;
  padding:1.25rem 0 5rem!important;
  min-height:0!important;
  height:auto!important;
}

body:not(.home-v18-1) .product-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
  gap:1.4rem!important;
  align-items:start!important;
  margin:0!important;
  padding:0!important;
  min-height:0!important;
  height:auto!important;
  transform:none!important;
}

body:not(.home-v18-1) .product-gallery{
  position:relative!important;
  grid-column:1!important;
  margin:0!important;
  padding:0!important;
  min-height:0!important;
  height:auto!important;
  top:auto!important;
  transform:none!important;
}

body:not(.home-v18-1) .product-gallery img{
  display:block!important;
  width:90%!important;
  height:auto!important;
  max-height:calc(100vh - 9rem)!important;
  margin:0 auto!important;
  object-fit:contain!important;
  object-position:center top!important;
}

body:not(.home-v18-1) .product-info{
  position:sticky!important;
  grid-column:2!important;
  top:1.5rem!important;
  align-self:start!important;
  margin:0!important;
  padding:3rem 3.5rem!important;
  min-height:0!important;
  height:auto!important;
  transform:none!important;
}

body:not(.home-v18-1) .product-layout > .product-return{
  position:absolute!important;
  top:1rem!important;
  left:1rem!important;
  z-index:30!important;
}

/* new fleece source: never crop or mask */
body:not(.home-v18-1) .product-gallery img[src*="pyjama-polaire-v2026.png"]{
  width:88%!important;
  height:auto!important;
  max-height:calc(100vh - 8rem)!important;
  object-fit:contain!important;
  clip-path:none!important;
  mask:none!important;
  -webkit-mask:none!important;
}

@media(max-width:64rem){
  body:not(.home-v18-1) .product-layout{
    grid-template-columns:1fr!important;
  }
  body:not(.home-v18-1) .product-gallery,
  body:not(.home-v18-1) .product-info{
    grid-column:1!important;
  }
  body:not(.home-v18-1) .product-info{
    position:relative!important;
    top:auto!important;
  }
}

/* V21.17 Eberjey-inspired information structure, La Dormeuse styling */
.product-accordions-v2117{margin-top:1.45rem;border-top:1px solid rgba(38,51,58,.2)}
.product-accordion-v2117{border-bottom:1px solid rgba(38,51,58,.2)}
.product-accordion-v2117 summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.55rem;color:#26333a;font:500 .68rem/1.2 Manrope,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.product-accordion-v2117 summary::-webkit-details-marker{display:none}
.accordion-cross{position:relative;width:.8rem;height:.8rem;flex:0 0 .8rem}
.accordion-cross::before,.accordion-cross::after{content:"";position:absolute;left:50%;top:50%;background:#26333a;transform:translate(-50%,-50%);transition:opacity .22s ease,transform .3s ease}
.accordion-cross::before{width:.72rem;height:1px}.accordion-cross::after{width:1px;height:.72rem}
.product-accordion-v2117[open] .accordion-cross::after{opacity:0;transform:translate(-50%,-50%) rotate(90deg)}
.accordion-content{padding:0 2rem 1.35rem 0}.accordion-content p{margin:0;color:#748087;font:400 .83rem/1.72 Manrope,sans-serif;max-width:40rem}
@media(max-width:40rem){.product-accordions-v2117{margin-top:1.2rem}.product-accordion-v2117 summary{min-height:3.4rem;font-size:.62rem}.accordion-content{padding-right:.4rem;padding-bottom:1.15rem}.accordion-content p{font-size:.8rem;line-height:1.65}}


/* V21.18 — keep product-page header following scroll as well */
.site-header{
  position:-webkit-sticky!important;
  position:sticky!important;
  top:0!important;
  z-index:10000!important;
}
html,body{overflow-x:clip!important;}


/* ============================================================
   V21.19 — LARGER PRODUCT IMAGE STAGE
   ============================================================ */
.product-layout-v27 > .product-gallery{
  min-height:clamp(720px,80vh,960px)!important;
  padding:2.4rem!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.product-layout-v27 > .product-gallery img{
  width:98%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:min(84vh,900px)!important;
  object-fit:contain!important;
  object-position:center!important;
}

@media(max-width:64rem){
  .product-layout-v27 > .product-gallery{
    min-height:clamp(600px,74svh,820px)!important;
    padding:1.25rem!important;
  }
  .product-layout-v27 > .product-gallery img{
    width:100%!important;
    max-height:70svh!important;
  }
}

@media(max-width:40rem){
  .product-layout-v27 > .product-gallery{
    min-height:66svh!important;
    padding:.8rem!important;
    border-radius:1.35rem!important;
  }
  .product-layout-v27 > .product-gallery img{
    width:100%!important;
    max-height:62svh!important;
  }
}
