
/* ============================================================
   LA DORMEUSE — V22.4 GLOBAL FASHION SYSTEM
   CHIC / CLEAN / FASHION E-COMMERCE
   No portfolio effects, no graphic-design gimmicks.
   ============================================================ */

:root{
  --ld-ink:#25333a;
  --ld-muted:#748087;
  --ld-wine:#8f4250;
  --ld-ice:#88aeba;
  --ld-paper:#ffffff;
  --ld-soft:#f7f7f5;
  --ld-line:rgba(37,51,58,.14);
  --ld-error:#a43f4e;
}

/* Global safety / mobile */
html{
  width:100%;
  max-width:100%;
  overflow-x:clip!important;
  -webkit-text-size-adjust:100%;
}
body{
  width:100%;
  max-width:100%;
  overflow-x:clip!important;
  background:#fff!important;
  color:var(--ld-ink)!important;
}
*,*::before,*::after{box-sizing:border-box}
img,svg,video{max-width:100%}

/* Kill portfolio-era decorative systems */
.cursor-aura,.cursor-core,.cursor-dot,#night-canvas,.v20-sky,
.hero-zzz-v214,.zzz-field,.quote-ghost,.campaign-light{
  display:none!important;
}
.reveal,.reveal-up{
  opacity:1!important;
  transform:none!important;
}

/* ------------------------------------------------------------
   HEADER — one fashion header everywhere
   ------------------------------------------------------------ */
.site-header{
  position:sticky!important;
  top:0!important;
  z-index:2000!important;
  background:rgba(255,255,255,.98)!important;
  border-bottom:1px solid var(--ld-line)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.site-header .header-inner{
  width:min(1600px,calc(100% - 4rem))!important;
  min-height:76px!important;
  margin:0 auto!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  gap:2rem!important;
}
.brand{
  display:inline-flex!important;
  align-items:baseline!important;
  gap:.65rem!important;
  text-decoration:none!important;
  color:var(--ld-ink)!important;
  white-space:nowrap!important;
}
.brand strong{
  font-family:"Arial Black","Helvetica Neue",Arial,sans-serif!important;
  font-size:1.42rem!important;
  font-weight:900!important;
  letter-spacing:-.06em!important;
  line-height:1!important;
  text-transform:uppercase!important;
}
.brand em{
  color:var(--ld-wine)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:.8rem!important;
  font-style:italic!important;
}
.desktop-nav{
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:2.15rem!important;
}
.desktop-nav a{
  position:relative!important;
  color:var(--ld-ink)!important;
  text-decoration:none!important;
  font-size:.59rem!important;
  font-weight:700!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
.desktop-nav a::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:-.45rem!important;
  height:1px!important;
  background:currentColor!important;
  transform:scaleX(0)!important;
  transform-origin:right center!important;
  transition:transform .28s ease!important;
}
@media(hover:hover) and (pointer:fine){
  .desktop-nav a:hover::after{
    transform:scaleX(1)!important;
    transform-origin:left center!important;
  }
}
.lang-switcher{flex:0 0 auto!important}
.shop-trigger{
  flex:0 0 auto!important;
  white-space:nowrap!important;
  color:var(--ld-ink)!important;
}

/* ------------------------------------------------------------
   HOME — product-led, quiet and fashion-focused
   ------------------------------------------------------------ */
.v221-fashion main{
  background:#fff!important;
}
.v221-fashion .v221-intro,
.v221-fashion .v221-shop-section,
.v221-fashion .v221-newsletter{
  width:min(1500px,calc(100% - 6rem))!important;
}
.v221-fashion .v221-kicker{
  color:var(--ld-wine)!important;
  font-size:.56rem!important;
  font-weight:700!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
}
.v221-fashion .v221-section-head{
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
.v221-fashion .v221-product-grid{
  gap:1.25rem!important;
}
.v221-fashion .v221-product-card{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  transform:none!important;
}
.v221-fashion .v221-product-image{
  aspect-ratio:4/5!important;
  padding:1.35rem!important;
  background:#f7f7f5!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
  overflow:hidden!important;
}
.v221-fashion .v221-product-image::before,
.v221-fashion .v221-product-image::after{
  content:none!important;
  display:none!important;
}
.v221-fashion .v221-product-image img{
  width:95%!important;
  height:95%!important;
  object-fit:contain!important;
  filter:none!important;
  box-shadow:none!important;
  transform:none!important;
  transition:transform .45s cubic-bezier(.16,1,.3,1)!important;
}
@media(hover:hover) and (pointer:fine){
  .v221-fashion .v221-product-card:hover .v221-product-image img{
    transform:scale(1.018)!important;
  }
}
.v221-fashion .v221-product-info{
  padding-top:1rem!important;
  background:transparent!important;
}
.v221-fashion .v221-product-info strong{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:1.8rem!important;
  font-weight:400!important;
}
.v221-fashion .v221-product-info em{
  color:var(--ld-muted)!important;
}

/* No explanatory line floating alone in cardigans */
.v221-cardigan-section .v221-section-note{
  display:none!important;
}

/* Campaign placeholders remain neutral, no graphic glow */
.v221-campaign-placeholder,
.v221-campaign-secondary{
  background:#e5e9e8!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
}

/* ------------------------------------------------------------
   PRODUCT PAGES — classic fashion PDP
   ------------------------------------------------------------ */
.v221-product main.product-page-v27{
  width:min(1600px,calc(100% - 4rem))!important;
  margin:0 auto!important;
  padding:1.5rem 0 7rem!important;
}
.v221-product .product-return-v27{
  display:inline-flex!important;
  margin:0 0 1.25rem!important;
  padding:0 0 .3rem!important;
  border:0!important;
  border-bottom:1px solid currentColor!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--ld-wine)!important;
  box-shadow:none!important;
}
.v221-product .product-layout-v27{
  display:grid!important;
  grid-template-columns:minmax(0,1.28fr) minmax(380px,.72fr)!important;
  gap:4rem!important;
  align-items:start!important;
}
.v221-product .product-gallery{
  min-height:760px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:1.6rem!important;
  background:#f7f7f5!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.v221-product .product-gallery::before,
.v221-product .product-gallery::after{
  content:none!important;
  display:none!important;
}
.v221-product .product-gallery img{
  width:97%!important;
  max-width:100%!important;
  max-height:830px!important;
  object-fit:contain!important;
  filter:none!important;
  box-shadow:none!important;
  transform:none!important;
}
.v221-product .product-info{
  position:sticky!important;
  top:104px!important;
  padding:1rem 0 0!important;
  background:#fff!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.v221-product .product-info h1{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(3.4rem,4.4vw,5.2rem)!important;
  font-weight:400!important;
  line-height:.93!important;
  letter-spacing:-.045em!important;
}
.v221-product .product-lead{
  color:var(--ld-muted)!important;
  line-height:1.72!important;
}
.v221-product .size-grid{
  gap:.35rem!important;
}
.v221-product .size-btn{
  min-height:48px!important;
  background:#fff!important;
  color:var(--ld-ink)!important;
  border:1px solid var(--ld-line)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.v221-product .size-btn.is-active{
  background:var(--ld-ink)!important;
  color:#fff!important;
  border-color:var(--ld-ink)!important;
}
.v221-product .preorder-note{
  padding:1rem 0!important;
  background:transparent!important;
  border:0!important;
  border-top:1px solid var(--ld-line)!important;
  border-bottom:1px solid var(--ld-line)!important;
  border-radius:0!important;
  color:var(--ld-muted)!important;
}
.v221-product .add-cart-main{
  min-height:56px!important;
  background:var(--ld-ink)!important;
  color:#fff!important;
  border:1px solid var(--ld-ink)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.v221-product .product-accordions-v2117{
  margin-top:1.4rem!important;
  border-top:1px solid var(--ld-line)!important;
}
.v221-product .product-accordion-v2117{
  border-bottom:1px solid var(--ld-line)!important;
}
.v221-product .product-accordion-v2117 summary{
  min-height:58px!important;
  background:transparent!important;
  border:0!important;
  color:var(--ld-ink)!important;
}
.v221-product .product-related{
  margin-top:6.5rem!important;
  padding-top:4.5rem!important;
  background:#fff!important;
  border-top:1px solid var(--ld-line)!important;
}

/* ------------------------------------------------------------
   CART — clean fashion drawer
   ------------------------------------------------------------ */
.shop-backdrop{
  background:rgba(28,38,42,.18)!important;
  backdrop-filter:blur(2px)!important;
  -webkit-backdrop-filter:blur(2px)!important;
}
.shop-panel{
  width:min(500px,100vw)!important;
  background:#fff!important;
  border:0!important;
  border-left:1px solid var(--ld-line)!important;
  border-radius:0!important;
  box-shadow:-18px 0 55px rgba(30,42,46,.08)!important;
}
.shop-panel-head{
  padding:2rem!important;
  background:#fff!important;
  border-bottom:1px solid var(--ld-line)!important;
}
.shop-panel-title h2{
  margin:0!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:2.4rem!important;
  font-weight:400!important;
  letter-spacing:-.035em!important;
}
.shop-panel-kicker{
  margin-bottom:.4rem!important;
  color:var(--ld-wine)!important;
  font-size:.54rem!important;
  font-weight:700!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
.shop-close{
  width:34px!important;
  height:34px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.shop-items{padding:0 2rem!important}
.shop-item{
  display:grid!important;
  grid-template-columns:88px minmax(0,1fr) auto!important;
  gap:1rem!important;
  align-items:center!important;
  padding:1.35rem 0!important;
  border-bottom:1px solid var(--ld-line)!important;
}
.shop-item img{
  width:88px!important;
  height:112px!important;
  padding:.3rem!important;
  background:#f7f7f5!important;
  object-fit:contain!important;
}
.shop-item h3{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:1.25rem!important;
  font-weight:400!important;
}
.shop-panel-foot{
  padding:1.7rem 2rem 2rem!important;
  background:#fff!important;
}
.shop-total{
  padding:0 0 1.1rem!important;
  margin-bottom:1.2rem!important;
  border:0!important;
  border-bottom:1px solid var(--ld-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.shop-checkout{
  min-height:56px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:var(--ld-ink)!important;
  color:#fff!important;
  border:1px solid var(--ld-ink)!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* ------------------------------------------------------------
   CHECKOUT / PREORDER — FIX MARGIN + FIX TOTAL
   ------------------------------------------------------------ */
body.v221-checkout{
  background:#fff!important;
}
.v221-checkout .checkout-page{
  margin:0!important;
  padding:0!important;
  min-height:0!important;
  background:#fff!important;
}
.v221-checkout .checkout-page .wrap{
  width:min(1440px,calc(100% - 4rem))!important;
  margin:0 auto!important;
  padding:2rem 0 6rem!important; /* removes huge blank space */
}
.v221-checkout .checkout-cancel-v2114{
  margin:0 0 2.35rem!important;
}
.v221-checkout .checkout-page .eyebrow{
  margin:0 0 .8rem!important;
}
.v221-checkout .checkout-page h1{
  max-width:1100px!important;
  margin:0 0 3rem!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(3.5rem,5.5vw,6.2rem)!important;
  font-weight:400!important;
  line-height:.94!important;
  letter-spacing:-.045em!important;
}
.v221-checkout .checkout-grid-v29{
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr)!important;
  gap:2.5rem!important;
  align-items:start!important;
}
.v221-checkout .checkout-form-v29{
  padding:0!important;
  background:#fff!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.v221-checkout .checkout-summary-v29{
  position:sticky!important;
  top:104px!important;
  padding:2rem!important;
  background:#f7f7f5!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.v221-checkout .checkout-summary-v29 h2{
  margin:0 0 1.8rem!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:2.4rem!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
}

/* KEY FIX: total/checkout lines become normal rows, never giant pills */
.v221-checkout .checkout-summary-v29 .checkout-line{
  width:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:.85rem 0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:1rem!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  border-bottom:1px solid var(--ld-line)!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:var(--ld-ink)!important;
  font-size:.78rem!important;
  line-height:1.4!important;
}
.v221-checkout .checkout-summary-v29 .checkout-line[style]{
  margin:0!important;
  padding:1rem 0!important;
  border-top:1px solid var(--ld-ink)!important;
  border-bottom:0!important;
}
.v221-checkout #checkout-total{
  font-weight:700!important;
  letter-spacing:0!important;
}
.v221-checkout .checkout-note{
  margin:1.4rem 0 0!important;
  color:var(--ld-muted)!important;
  font-size:.7rem!important;
  line-height:1.6!important;
}

/* Checkout fields */
.v221-checkout .checkout-form-v29 label{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.v221-checkout .checkout-form-v29 input,
.v221-checkout .checkout-form-v29 textarea{
  border:0!important;
  border-bottom:1px solid var(--ld-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.v221-checkout .checkout-form-v29 input:focus,
.v221-checkout .checkout-form-v29 textarea:focus{
  border-bottom-color:var(--ld-ink)!important;
}
.v221-checkout .checkout-form-v29 input.is-invalid{
  border-bottom-color:var(--ld-error)!important;
  color:var(--ld-error)!important;
}
.v221-checkout .field-error{
  color:var(--ld-error)!important;
}
.v221-checkout .checkout-submit{
  min-height:56px!important;
  background:var(--ld-ink)!important;
  color:#fff!important;
  border:1px solid var(--ld-ink)!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* ------------------------------------------------------------
   NEWSLETTER VALIDATION — same fashion language
   ------------------------------------------------------------ */
.v221-newsletter #newsletter{
  border-bottom:1px solid var(--ld-ink)!important;
}
.v221-newsletter #newsletter.has-error{
  border-bottom-color:var(--ld-error)!important;
}
.v221-newsletter .form-status{
  color:var(--ld-error)!important;
  font-size:.67rem!important;
  line-height:1.45!important;
}

/* ------------------------------------------------------------
   FOOTER
   ------------------------------------------------------------ */
footer{
  background:#fff!important;
  border-top:1px solid var(--ld-line)!important;
}
.footer-inner{
  width:min(1500px,calc(100% - 6rem))!important;
  margin:0 auto!important;
  padding:4rem 0!important;
}

/* ------------------------------------------------------------
   MOBILE / TABLET — iOS + Android
   ------------------------------------------------------------ */
@media(max-width:64rem){
  .site-header .header-inner{
    width:calc(100% - 2rem)!important;
    min-height:68px!important;
    gap:.75rem!important;
  }
  .desktop-nav{display:none!important}
  .brand em{display:none!important}
  .burger{
    display:block!important;
    margin-left:auto!important;
  }
  .mobile-nav{
    position:fixed!important;
    top:68px!important;
    left:0!important;
    right:0!important;
    z-index:1999!important;
    background:#fff!important;
  }

  .v221-fashion .v221-intro,
  .v221-fashion .v221-shop-section,
  .v221-fashion .v221-newsletter{
    width:calc(100% - 3rem)!important;
  }
  .v221-fashion .v221-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .v221-product main.product-page-v27{
    width:calc(100% - 2rem)!important;
  }
  .v221-product .product-layout-v27{
    grid-template-columns:1fr!important;
    gap:2rem!important;
  }
  .v221-product .product-info{
    position:relative!important;
    top:auto!important;
  }
  .v221-product .product-gallery{
    min-height:620px!important;
  }

  .v221-checkout .checkout-page .wrap{
    width:calc(100% - 2rem)!important;
    padding-top:1.5rem!important;
  }
  .v221-checkout .checkout-grid-v29{
    grid-template-columns:1fr!important;
  }
  .v221-checkout .checkout-summary-v29{
    position:relative!important;
    top:auto!important;
  }
}

@media(max-width:40rem){
  .site-header .header-inner{
    width:calc(100% - 1rem)!important;
    min-height:62px!important;
    gap:.42rem!important;
  }
  .brand strong{font-size:1.05rem!important}
  .mobile-nav{top:62px!important}

  .v221-fashion .v221-intro,
  .v221-fashion .v221-shop-section,
  .v221-fashion .v221-newsletter{
    width:calc(100% - 2rem)!important;
  }
  .v221-fashion .v221-product-grid{
    grid-template-columns:1fr!important;
  }

  .v221-product main.product-page-v27{
    width:calc(100% - 1rem)!important;
  }
  .v221-product .product-gallery{
    min-height:58svh!important;
    min-height:58dvh!important;
    padding:.75rem!important;
  }

  .shop-panel{
    width:100vw!important;
    max-width:100vw!important;
  }
  .shop-panel-head,
  .shop-items,
  .shop-panel-foot{
    padding-left:1.15rem!important;
    padding-right:1.15rem!important;
  }
  .shop-item{
    grid-template-columns:74px minmax(0,1fr)!important;
  }
  .shop-item img{
    width:74px!important;
    height:96px!important;
  }

  .v221-checkout .checkout-page .wrap{
    width:calc(100% - 1rem)!important;
    padding-top:1rem!important;
  }
  .v221-checkout .checkout-page h1{
    margin-bottom:2rem!important;
    font-size:clamp(3rem,14vw,4.4rem)!important;
  }
  .v221-checkout .checkout-summary-v29{
    padding:1.2rem!important;
  }
  .v221-checkout .checkout-form-v29{
    grid-template-columns:1fr!important;
  }
}

/* Safe areas for modern iOS */
@supports(padding:max(0px)){
  @media(max-width:40rem){
    .site-header .header-inner{
      padding-left:max(0px,env(safe-area-inset-left))!important;
      padding-right:max(0px,env(safe-area-inset-right))!important;
    }
    .shop-panel{
      padding-bottom:max(0px,env(safe-area-inset-bottom))!important;
    }
  }
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation:none!important;
    transition:none!important;
  }
}


/* ============================================================
   V22.5 — CART + PREORDER
   MORE FASHION COMMERCE, LESS DESIGNED UI
   ============================================================ */

/* ------------------------------------------------------------
   CART — looks like a clean fashion store drawer
   ------------------------------------------------------------ */
.shop-backdrop{
  background:rgba(20,29,33,.14)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.shop-panel{
  width:min(470px,100vw)!important;
  background:#fff!important;
  border:0!important;
  border-left:1px solid rgba(37,51,58,.10)!important;
  border-radius:0!important;
  box-shadow:-12px 0 36px rgba(28,40,44,.06)!important;
}
.shop-panel-head{
  min-height:auto!important;
  padding:2.15rem 2rem 1.65rem!important;
  background:#fff!important;
  border-bottom:1px solid rgba(37,51,58,.10)!important;
}
.shop-panel-title{
  display:block!important;
}
.shop-panel-title .shop-panel-kicker{
  display:none!important;
}
.shop-panel-title h2{
  margin:0!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:2.05rem!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:-.03em!important;
}
.shop-close{
  width:32px!important;
  height:32px!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.shop-items{
  padding:0 2rem!important;
}
.shop-item{
  display:grid!important;
  grid-template-columns:84px minmax(0,1fr) auto!important;
  gap:1rem!important;
  align-items:start!important;
  padding:1.45rem 0!important;
  border-bottom:1px solid rgba(37,51,58,.10)!important;
}
.shop-item img{
  width:84px!important;
  height:106px!important;
  padding:.25rem!important;
  background:#f8f8f6!important;
  border:0!important;
  border-radius:0!important;
  object-fit:contain!important;
}
.shop-item h3{
  margin:.05rem 0 .35rem!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:1.18rem!important;
  font-weight:400!important;
  line-height:1.1!important;
}
.shop-item small{
  display:block!important;
  margin-top:.15rem!important;
  color:#7a8387!important;
  font-size:.68rem!important;
  line-height:1.5!important;
}
.shop-item-price{
  color:#25333a!important;
  font-size:.74rem!important;
  font-weight:600!important;
  white-space:nowrap!important;
}
.shop-qty{
  display:inline-flex!important;
  align-items:center!important;
  gap:.8rem!important;
  margin-top:.8rem!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
.shop-qty button{
  width:auto!important;
  height:auto!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#25333a!important;
  font-size:.95rem!important;
}
.shop-qty span{
  min-width:1rem!important;
  text-align:center!important;
  font-size:.72rem!important;
}
.shop-remove{
  margin-top:.75rem!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid currentColor!important;
  border-radius:0!important;
  color:#8b9296!important;
  font-size:.52rem!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.shop-panel-foot{
  padding:1.65rem 2rem 2rem!important;
  background:#fff!important;
  border-top:0!important;
}
.shop-total{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  margin:0 0 1rem!important;
  padding:0 0 1rem!important;
  border:0!important;
  border-bottom:1px solid rgba(37,51,58,.10)!important;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:#25333a!important;
  font-size:.78rem!important;
}
.shop-checkout{
  min-height:54px!important;
  border:1px solid #25333a!important;
  border-radius:0!important;
  background:#25333a!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:.59rem!important;
  font-weight:700!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
@media(hover:hover) and (pointer:fine){
  .shop-checkout:hover{
    background:#fff!important;
    color:#25333a!important;
  }
}

/* ------------------------------------------------------------
   PREORDER / CHECKOUT — flat fashion checkout
   ------------------------------------------------------------ */
.v221-checkout .checkout-page .wrap{
  width:min(1380px,calc(100% - 4rem))!important;
  padding:1.6rem 0 6rem!important;
}
.v221-checkout .checkout-cancel-v2114{
  margin:0 0 2.5rem!important;
  color:#7a8387!important;
}
.v221-checkout .checkout-page .eyebrow{
  margin:0 0 .7rem!important;
  color:#8f4250!important;
  font-size:.56rem!important;
  font-weight:700!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
}
.v221-checkout .checkout-page h1{
  max-width:900px!important;
  margin:0 0 2.8rem!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(3.2rem,4.7vw,5.2rem)!important;
  font-weight:400!important;
  line-height:.96!important;
  letter-spacing:-.045em!important;
}
.v221-checkout .checkout-grid-v29{
  display:grid!important;
  grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr)!important;
  gap:5rem!important;
  align-items:start!important;
}
.v221-checkout .checkout-form-v29{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  column-gap:1.5rem!important;
  row-gap:1.65rem!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.v221-checkout .checkout-form-v29 label{
  display:flex!important;
  flex-direction:column!important;
  gap:.45rem!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:#737d82!important;
  font-size:.55rem!important;
  font-weight:700!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
}
.v221-checkout .checkout-form-v29 label:nth-of-type(3),
.v221-checkout .checkout-form-v29 label:nth-of-type(6),
.v221-checkout .checkout-form-v29 label:nth-of-type(7),
.v221-checkout .checkout-submit,
.v221-checkout .checkout-warning{
  grid-column:1/-1!important;
}
.v221-checkout .checkout-form-v29 input,
.v221-checkout .checkout-form-v29 textarea{
  min-height:46px!important;
  padding:.45rem 0!important;
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid rgba(37,51,58,.18)!important;
  border-radius:0!important;
  box-shadow:none!important;
  outline:0!important;
  color:#25333a!important;
  font:500 .92rem/1.45 Manrope,"Helvetica Neue",Arial,sans-serif!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.v221-checkout .checkout-form-v29 input:focus,
.v221-checkout .checkout-form-v29 textarea:focus{
  border-bottom-color:#25333a!important;
}
.v221-checkout .checkout-form-v29 input.is-invalid,
.v221-checkout .checkout-form-v29 textarea.is-invalid{
  border-bottom-color:#a43f4e!important;
  color:#a43f4e!important;
}
.v221-checkout .field-error{
  min-height:.95rem!important;
  margin-top:.15rem!important;
  color:#a43f4e!important;
  font-size:.63rem!important;
  font-weight:500!important;
  line-height:1.35!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.v221-checkout .checkout-submit{
  min-height:54px!important;
  margin-top:.55rem!important;
  background:#25333a!important;
  color:#fff!important;
  border:1px solid #25333a!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-size:.59rem!important;
  font-weight:700!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
@media(hover:hover) and (pointer:fine){
  .v221-checkout .checkout-submit:hover{
    background:#fff!important;
    color:#25333a!important;
  }
}
.v221-checkout .checkout-warning{
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  color:#8b9296!important;
  font-size:.66rem!important;
  line-height:1.55!important;
}

/* Summary becomes flat editorial sidebar, not a designed card */
.v221-checkout .checkout-summary-v29{
  position:sticky!important;
  top:104px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.v221-checkout .checkout-summary-v29 h2{
  margin:0 0 1.7rem!important;
  padding:0 0 1.2rem!important;
  border-bottom:1px solid rgba(37,51,58,.14)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:2rem!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:-.03em!important;
}
.v221-checkout .checkout-summary-v29 .checkout-line{
  min-height:auto!important;
  margin:0!important;
  padding:.9rem 0!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:1rem!important;
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid rgba(37,51,58,.10)!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:#25333a!important;
  font-size:.74rem!important;
  line-height:1.45!important;
}
.v221-checkout .checkout-summary-v29 .checkout-line.checkout-total-row{
  margin-top:.35rem!important;
  padding:1.15rem 0 0!important;
  border-top:1px solid #25333a!important;
  border-bottom:0!important;
  font-weight:700!important;
}
.v221-checkout .checkout-note{
  margin:1.3rem 0 0!important;
  color:#8b9296!important;
  font-size:.67rem!important;
  line-height:1.6!important;
}

/* Mobile */
@media(max-width:64rem){
  .v221-checkout .checkout-grid-v29{
    grid-template-columns:1fr!important;
    gap:3rem!important;
  }
  .v221-checkout .checkout-summary-v29{
    position:relative!important;
    top:auto!important;
    padding-top:2rem!important;
    border-top:1px solid rgba(37,51,58,.14)!important;
  }
}
@media(max-width:40rem){
  .shop-panel-head,
  .shop-items,
  .shop-panel-foot{
    padding-left:1rem!important;
    padding-right:1rem!important;
  }
  .shop-item{
    grid-template-columns:72px minmax(0,1fr)!important;
  }
  .shop-item img{
    width:72px!important;
    height:92px!important;
  }
  .shop-item-price{
    grid-column:2!important;
    justify-self:start!important;
    margin-top:.25rem!important;
  }

  .v221-checkout .checkout-page .wrap{
    width:calc(100% - 1rem)!important;
    padding-top:1rem!important;
  }
  .v221-checkout .checkout-form-v29{
    grid-template-columns:1fr!important;
  }
  .v221-checkout .checkout-form-v29 label,
  .v221-checkout .checkout-submit,
  .v221-checkout .checkout-warning{
    grid-column:1!important;
  }
  .v221-checkout .checkout-page h1{
    font-size:clamp(2.8rem,13vw,4.1rem)!important;
  }
}


/* ============================================================
   V22.6 — LUXURY FASHION CART + CHECKOUT
   no app cards, no oversized landing-page treatment
   ============================================================ */

/* ---------- CART ---------- */
.shop-panel{
  width:min(490px,100vw)!important;
  background:#fff!important;
  border-left:1px solid rgba(37,51,58,.08)!important;
  box-shadow:-10px 0 30px rgba(28,40,44,.045)!important;
}
.shop-panel-head{
  padding:2rem 2rem 1.45rem!important;
  border-bottom:1px solid rgba(37,51,58,.10)!important;
}
.shop-panel-title h2{
  font-size:1.95rem!important;
  line-height:1!important;
}
.shop-items{
  padding:0 2rem!important;
}
.shop-item{
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr) auto!important;
  gap:1.1rem!important;
  align-items:center!important;
  padding:1.55rem 0!important;
  border:0!important;
  border-bottom:1px solid rgba(37,51,58,.10)!important;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.shop-item img{
  width:112px!important;
  height:138px!important;
  padding:0!important;
  background:#fff!important;
  border:0!important;
  border-radius:0!important;
  object-fit:contain!important;
}
.shop-item h3{
  margin:0 0 .35rem!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:1.25rem!important;
  font-weight:400!important;
}
.shop-item small{
  color:#7b8488!important;
  font-size:.68rem!important;
}
.shop-item-price{
  align-self:start!important;
  padding-top:.15rem!important;
  color:#25333a!important;
  font-size:.72rem!important;
  font-weight:600!important;
}
.shop-qty{
  margin-top:.75rem!important;
  gap:.7rem!important;
}
.shop-remove{
  margin-top:.7rem!important;
  color:#8a9195!important;
  font-size:.5rem!important;
  border-bottom-color:rgba(138,145,149,.65)!important;
}
.shop-panel-foot{
  margin-top:auto!important;
  padding:1.5rem 2rem 2rem!important;
  border-top:1px solid rgba(37,51,58,.10)!important;
}
.shop-total{
  margin:0 0 1rem!important;
  padding:0 0 1rem!important;
  border-bottom:1px solid rgba(37,51,58,.10)!important;
  font-size:.74rem!important;
}
.shop-checkout{
  min-height:52px!important;
  font-size:.57rem!important;
  letter-spacing:.12em!important;
}

/* remove any inherited rounded card shell */
.shop-item,
.shop-item *{
  box-shadow:none!important;
}
.shop-item::before,
.shop-item::after{
  content:none!important;
  display:none!important;
}

/* ---------- CHECKOUT ---------- */
.v221-checkout .checkout-page .wrap{
  width:min(1320px,calc(100% - 4rem))!important;
  padding:1.25rem 0 6rem!important;
}
.v221-checkout .checkout-cancel-v2114{
  margin:0 0 2.2rem!important;
  padding:0 0 .25rem!important;
  color:#7f878b!important;
  font-size:.54rem!important;
  letter-spacing:.11em!important;
}
.v221-checkout .checkout-page .eyebrow{
  margin:0 0 .45rem!important;
  font-size:.54rem!important;
  letter-spacing:.14em!important;
}
.v221-checkout .checkout-page h1{
  max-width:none!important;
  margin:0 0 2.4rem!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(2.6rem,3.8vw,4.2rem)!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
}
.v221-checkout .checkout-grid-v29{
  grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr)!important;
  gap:5.5rem!important;
}
.v221-checkout .checkout-form-v29{
  row-gap:1.5rem!important;
}
.v221-checkout .checkout-form-v29 input,
.v221-checkout .checkout-form-v29 textarea{
  min-height:44px!important;
  padding:.35rem 0!important;
  font-size:.9rem!important;
}
.v221-checkout .checkout-submit{
  min-height:52px!important;
  margin-top:.35rem!important;
  font-size:.57rem!important;
}
.v221-checkout .checkout-warning{
  margin-top:.1rem!important;
  color:#8a9296!important;
}

/* summary = plain column, no card */
.v221-checkout .checkout-summary-v29{
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.v221-checkout .checkout-summary-v29 h2{
  margin:0 0 1.4rem!important;
  padding:0 0 1rem!important;
  border-bottom:1px solid rgba(37,51,58,.12)!important;
  font-size:1.8rem!important;
}
.v221-checkout .checkout-summary-v29 .checkout-line{
  padding:.8rem 0!important;
  border-bottom:1px solid rgba(37,51,58,.09)!important;
  font-size:.72rem!important;
}
.v221-checkout .checkout-summary-v29 .checkout-line.checkout-total-row{
  margin-top:.2rem!important;
  padding:1rem 0 0!important;
  border-top:1px solid #25333a!important;
}
.v221-checkout .checkout-note{
  margin-top:1.1rem!important;
  font-size:.65rem!important;
}

/* mobile */
@media(max-width:40rem){
  .shop-panel{
    width:100vw!important;
  }
  .shop-panel-head,
  .shop-items,
  .shop-panel-foot{
    padding-left:1rem!important;
    padding-right:1rem!important;
  }
  .shop-item{
    grid-template-columns:88px minmax(0,1fr)!important;
    gap:.9rem!important;
  }
  .shop-item img{
    width:88px!important;
    height:112px!important;
  }
  .shop-item-price{
    grid-column:2!important;
    justify-self:start!important;
    padding-top:0!important;
  }

  .v221-checkout .checkout-page .wrap{
    width:calc(100% - 1.25rem)!important;
    padding-top:.85rem!important;
  }
  .v221-checkout .checkout-page h1{
    margin-bottom:1.8rem!important;
    font-size:clamp(2.45rem,12vw,3.5rem)!important;
  }
  .v221-checkout .checkout-grid-v29{
    gap:2.5rem!important;
  }
}






/* V22.6.3 — Halo CTA: no arrow */
.halo-cta::before,
.halo-cta::after,
.halo-cta [class*="arrow"]{
  content:none!important;
  display:none!important;
}


/* V22.6.4 — Halo CTA hover only */
.halo-cta{
  position:relative!important;
  overflow:hidden!important;
  transition:color .32s ease, background-color .32s ease!important;
}
.halo-cta::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  background:#25333a!important;
  transform:translateY(101%)!important;
  transition:transform .38s cubic-bezier(.22,.61,.36,1)!important;
  z-index:0!important;
}
.halo-cta > *{
  position:relative!important;
  z-index:1!important;
}
@media (hover:hover) and (pointer:fine){
  .halo-cta:hover{
    color:#fff!important;
  }
  .halo-cta:hover::before{
    transform:translateY(0)!important;
  }
}
.halo-cta:focus-visible{
  outline:1px solid #25333a!important;
  outline-offset:4px!important;
}


/* ============================================================
   V22.6.5 — MOBILE + TABLET ONLY
   Product header / checkout / related / footer / product spacing
   Desktop intentionally untouched.
   ============================================================ */

@media(max-width:64rem){

  /* 1) PRODUCT PAGES — same header system as homepage */
  body.v221-product .announce{
    display:flex!important;
    min-height:44px!important;
    padding:.65rem 1rem!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    background:#dbe9ed!important;
    border-bottom:0!important;
    color:#536a72!important;
    font-size:.56rem!important;
    font-weight:600!important;
    line-height:1.35!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
  }

  body.v221-product .site-header{
    position:sticky!important;
    top:0!important;
    z-index:2000!important;
    background:#fff!important;
    border-bottom:1px solid rgba(37,51,58,.14)!important;
  }

  body.v221-product .site-header .header-inner{
    width:calc(100% - 2rem)!important;
    min-height:68px!important;
    margin:0 auto!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    gap:.7rem!important;
  }

  body.v221-product .brand{
    display:inline-flex!important;
    align-items:center!important;
    gap:0!important;
    white-space:nowrap!important;
  }

  body.v221-product .brand strong{
    font-family:"Arial Black","Helvetica Neue",Arial,sans-serif!important;
    font-size:1.15rem!important;
    line-height:1!important;
    letter-spacing:-.05em!important;
    text-transform:uppercase!important;
  }

  body.v221-product .brand em{
    display:none!important;
  }

  body.v221-product .burger{
    display:block!important;
    margin-left:auto!important;
    flex:0 0 auto!important;
  }

  body.v221-product .lang-switcher,
  body.v221-product .shop-trigger{
    flex:0 0 auto!important;
  }

  body.v221-product .desktop-nav{
    display:none!important;
  }

  /* avoid La Dormeuse wrapping into 2 lines on product mobile header */
  body.v221-product .brand strong br{
    display:none!important;
  }

  /* 2) CHECKOUT / PREORDER — clean single-column mobile/tablet */
  body.v221-checkout .checkout-page .wrap{
    width:calc(100% - 2rem)!important;
    padding:1.5rem 0 4rem!important;
  }

  body.v221-checkout .checkout-cancel-v2114{
    margin:0 0 2rem!important;
  }

  body.v221-checkout .checkout-page .eyebrow{
    margin-bottom:.55rem!important;
  }

  body.v221-checkout .checkout-page h1{
    max-width:100%!important;
    margin:0 0 2rem!important;
    font-size:clamp(2.9rem,9vw,4.2rem)!important;
    line-height:.95!important;
  }

  body.v221-checkout .checkout-grid-v29{
    display:flex!important;
    flex-direction:column!important;
    gap:2.75rem!important;
  }

  body.v221-checkout .checkout-form-v29{
    order:1!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:1.4rem 1.25rem!important;
  }

  body.v221-checkout .checkout-summary-v29{
    order:2!important;
    position:relative!important;
    top:auto!important;
    width:100%!important;
    margin:0!important;
    padding:1.75rem 0 0!important;
    background:transparent!important;
    border-top:1px solid rgba(37,51,58,.14)!important;
  }

  body.v221-checkout .checkout-summary-v29 h2{
    margin:0 0 1.2rem!important;
    padding:0 0 1rem!important;
    font-size:1.8rem!important;
    border-bottom:1px solid rgba(37,51,58,.12)!important;
  }

  body.v221-checkout .checkout-form-v29 label:nth-of-type(3),
  body.v221-checkout .checkout-form-v29 label:nth-of-type(6),
  body.v221-checkout .checkout-form-v29 label:nth-of-type(7),
  body.v221-checkout .checkout-submit,
  body.v221-checkout .checkout-warning{
    grid-column:1/-1!important;
  }

  /* 3) RELATED PRODUCTS — compact two-up horizontal thumbnails */
  body.v221-product .product-related{
    margin-top:4rem!important;
    padding-top:3rem!important;
  }

  body.v221-product .product-related-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:1rem!important;
  }

  body.v221-product .product-related-card{
    display:block!important;
    min-width:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  body.v221-product .product-related-image{
    width:100%!important;
    aspect-ratio:4/3!important;
    min-height:0!important;
    padding:.65rem!important;
    background:#f7f7f5!important;
    border:0!important;
    border-radius:0!important;
    overflow:hidden!important;
  }

  body.v221-product .product-related-image img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
  }

  body.v221-product .product-related-card h3,
  body.v221-product .product-related-card strong{
    margin-top:.7rem!important;
    font-size:1.25rem!important;
    line-height:1.05!important;
  }

  /* 4) FOOTER — remove excessive vertical void on mobile/tablet */
  .v221-fashion .v221-newsletter{
    padding-bottom:3.5rem!important;
  }

  .v221-fashion footer{
    margin-top:0!important;
  }

  .v221-fashion .footer-inner{
    width:calc(100% - 3rem)!important;
    padding:3rem 0 3.5rem!important;
    gap:2.25rem!important;
  }

  /* 5) HOME PRODUCT LIST — clearer separation between products */
  .v221-fashion .v221-product-grid{
    row-gap:3.25rem!important;
  }

  .v221-fashion .v221-product-card{
    padding-bottom:.5rem!important;
  }

  .v221-fashion .v221-product-info{
    padding-top:1rem!important;
    margin-bottom:0!important;
  }
}

@media(max-width:40rem){

  /* product header exactly one-line fashion mobile header */
  body.v221-product .announce{
    min-height:42px!important;
    padding:.6rem .8rem!important;
    font-size:.52rem!important;
    line-height:1.3!important;
  }

  body.v221-product .site-header .header-inner{
    width:calc(100% - 1rem)!important;
    min-height:62px!important;
    gap:.45rem!important;
  }

  body.v221-product .brand strong{
    font-size:1.02rem!important;
  }

  body.v221-product .lang-switcher{
    gap:.45rem!important;
  }

  body.v221-product .shop-trigger{
    font-size:.64rem!important;
  }

  /* checkout: absolutely no side-by-side overlap on phone */
  body.v221-checkout .checkout-page .wrap{
    width:calc(100% - 1.25rem)!important;
    padding-top:1rem!important;
  }

  body.v221-checkout .checkout-page h1{
    margin-bottom:1.75rem!important;
    font-size:clamp(2.65rem,12vw,3.7rem)!important;
  }

  body.v221-checkout .checkout-grid-v29{
    gap:2.2rem!important;
  }

  body.v221-checkout .checkout-form-v29{
    grid-template-columns:1fr!important;
    gap:1.35rem!important;
  }

  body.v221-checkout .checkout-form-v29 label,
  body.v221-checkout .checkout-form-v29 label:nth-of-type(3),
  body.v221-checkout .checkout-form-v29 label:nth-of-type(6),
  body.v221-checkout .checkout-form-v29 label:nth-of-type(7),
  body.v221-checkout .checkout-submit,
  body.v221-checkout .checkout-warning{
    grid-column:1!important;
  }

  body.v221-checkout .checkout-summary-v29{
    padding-top:1.5rem!important;
  }

  /* related cards compact and horizontal */
  body.v221-product .product-related{
    margin-top:3.5rem!important;
    padding-top:2.5rem!important;
  }

  body.v221-product .product-related-head h2{
    font-size:2.45rem!important;
  }

  body.v221-product .product-related-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.75rem!important;
  }

  body.v221-product .product-related-image{
    aspect-ratio:1/1!important;
    padding:.45rem!important;
  }

  body.v221-product .product-related-card h3,
  body.v221-product .product-related-card strong{
    margin-top:.55rem!important;
    font-size:1.05rem!important;
  }

  /* reduce footer gap strongly */
  .v221-fashion .v221-newsletter{
    padding:4rem 0 2.5rem!important;
  }

  .v221-fashion .footer-inner{
    width:calc(100% - 2rem)!important;
    padding:2.5rem 0 3rem!important;
    gap:1.8rem!important;
  }

  /* stronger product separation on phone */
  .v221-fashion .v221-product-grid{
    gap:4rem!important;
  }

  .v221-fashion .v221-product-card + .v221-product-card{
    margin-top:.25rem!important;
  }
}
