/* ============================================================================
   WAXMEADOW — design system unique (art-déco · pastel · blob · carte/ticket)
   Préfixe: wm-  ·  Polices: Gilda Display (display) + Familjen Grotesk (corps)
   ============================================================================ */
:root{
  --plum:#3a2f4a; --plum-d:#241d2e; --cream:#f7f2e8; --cream-2:#fdfaf3;
  --terra:#d98a5b; --terra-d:#c1713f; --gold:#c8a86a; --gold-soft:#e6d6b4;
  --lilac:#ece2ea; --lilac-2:#e3d5e0; --sage:#e8e6d6;
  --ink:#2a2333; --muted:#726a7c; --line:#e3d8c6;
  --ok:#5c8a63;
  --wrap:1240px; --gut:clamp(16px,4vw,40px);
  --r-s:8px; --r-m:16px; --r-l:26px; --r-blob:42% 58% 56% 44% / 46% 44% 56% 54%;
  --sh-s:0 4px 16px rgba(36,29,46,.07); --sh-m:0 14px 40px rgba(36,29,46,.12);
  --fdisp:"Gilda Display",Georgia,serif; --fbody:"Familjen Grotesk",system-ui,sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; font-family:var(--fbody); color:var(--ink); background:var(--cream);
  line-height:1.55; font-size:16px; overflow-x:hidden; -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
button{font-family:inherit; cursor:pointer; border:none; background:none; color:inherit}
h1,h2,h3,h4{font-family:var(--fdisp); font-weight:400; line-height:1.08; margin:0; letter-spacing:.01em}
input,textarea{font-family:inherit; font-size:1rem}
::selection{background:var(--terra); color:#fff}
.wm-wrap{max-width:var(--wrap); margin:0 auto; padding-inline:var(--gut); width:100%}

/* icônes duotone-arrondi */
svg[viewBox]{width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7;
  stroke-linecap:round; stroke-linejoin:round; flex:none}
.wm-deco-dia{width:14px;height:14px; stroke:var(--gold); stroke-width:1.3; opacity:.9}

/* eyebrow art-déco */
.wm-eyebrow{display:inline-flex; align-items:center; gap:9px; font-size:.72rem; letter-spacing:.28em;
  text-transform:uppercase; color:var(--terra-d); font-weight:600}
.wm-eyebrow::before,.wm-eyebrow::after{content:""; width:26px; height:1px; background:var(--gold)}
.wm-eyebrow.wm-eb-c{justify-content:center}

/* ─ Boutons ─ */
.wm-btn{display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:14px 26px; border-radius:100px; font-weight:600; font-size:.92rem; letter-spacing:.02em;
  transition:transform .2s var(--ease),background .2s,color .2s,box-shadow .2s; white-space:nowrap}
.wm-btn svg{width:18px;height:18px}
.wm-btn-solid{background:var(--plum); color:var(--cream-2)}
.wm-btn-solid:hover{background:var(--plum-d); transform:translateY(-2px); box-shadow:var(--sh-m)}
.wm-btn-terra{background:var(--terra); color:#fff}
.wm-btn-terra:hover{background:var(--terra-d); transform:translateY(-2px)}
.wm-btn-ghost{background:transparent; color:var(--plum); box-shadow:inset 0 0 0 1.5px var(--plum)}
.wm-btn-ghost:hover{background:var(--plum); color:var(--cream-2)}
.wm-btn-block{width:100%}
.wm-btn-lg{padding:17px 34px; font-size:1rem}

/* ============================================================================
   HEADER — barre double (annonce + nav)
   ============================================================================ */
.wm-announce{background:var(--plum-d); color:var(--cream); font-size:.78rem; letter-spacing:.04em}
.wm-announce-in{display:flex; align-items:center; justify-content:center; gap:20px; height:38px; position:relative}
.wm-ann-rot{display:inline-flex; align-items:center; gap:12px; transition:opacity .26s,transform .26s; font-weight:500}
.wm-ann-rot.is-out{opacity:0; transform:translateY(-6px)}
.wm-lang{position:absolute; right:0; display:flex; align-items:center; gap:0; font-size:.72rem; letter-spacing:.1em}
.wm-lang a{opacity:.6; padding:2px 6px; transition:opacity .2s}
.wm-lang a.is-on,.wm-lang a:hover{opacity:1; color:var(--gold-soft)}
.wm-lang i{width:1px;height:10px;background:rgba(255,255,255,.25)}

.wm-head{position:sticky; top:0; z-index:50; background:var(--cream);
  border-bottom:1px solid var(--line); transition:box-shadow .3s, padding .3s}
.wm-head::after{content:""; position:absolute; left:0; right:0; bottom:-1px; height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent); opacity:.6}
.wm-head.is-stuck{box-shadow:var(--sh-s)}
.wm-head-in{display:flex; align-items:center; gap:18px; height:74px; transition:height .3s}
.wm-head.is-stuck .wm-head-in{height:62px}
.wm-logo{display:flex; align-items:center; margin-right:auto}
.wm-logo img{height:34px; width:auto; transition:height .3s}
.wm-head.is-stuck .wm-logo img{height:30px}
.wm-nav{display:flex; align-items:center; gap:26px; margin-inline:auto}
.wm-nav-l{font-size:.86rem; letter-spacing:.05em; text-transform:uppercase; font-weight:500;
  color:var(--plum); position:relative; padding:6px 0}
.wm-nav-l::after{content:""; position:absolute; left:0; right:100%; bottom:0; height:1.5px;
  background:var(--terra); transition:right .28s var(--ease)}
.wm-nav-l:hover::after{right:0}
.wm-tools{display:flex; align-items:center; gap:6px; margin-left:auto}
.wm-ico-btn{width:42px; height:42px; border-radius:50%; display:inline-flex; align-items:center;
  justify-content:center; color:var(--plum); transition:background .2s,color .2s; position:relative}
.wm-ico-btn:hover{background:var(--lilac)}
.wm-ico-btn svg{width:22px;height:22px}
.wm-cart-btn .wm-cart-count{position:absolute; top:4px; right:4px; min-width:18px; height:18px;
  padding:0 4px; border-radius:10px; background:var(--terra); color:#fff; font-size:.64rem;
  font-weight:700; display:flex; align-items:center; justify-content:center; font-family:var(--fbody)}
.wm-burger{display:none}

/* menu mobile */
.wm-mmenu{position:fixed; inset:0; z-index:90; background:var(--cream); transform:translateX(-100%);
  transition:transform .35s var(--ease); display:flex; flex-direction:column; padding:0}
.wm-mmenu.is-open{transform:none}
.wm-mmenu-top{display:flex; align-items:center; justify-content:space-between; height:60px;
  padding:0 18px; border-bottom:1px solid var(--line)}
.wm-mmenu-ttl{font-family:var(--fdisp); font-size:1.3rem}
.wm-mmenu-nav{display:flex; flex-direction:column; padding:8px 0; flex:1}
.wm-mmenu-nav a{display:flex; align-items:center; justify-content:space-between; padding:18px 22px;
  font-family:var(--fdisp); font-size:1.5rem; border-bottom:1px solid var(--line); color:var(--plum)}
.wm-mmenu-nav a svg{width:20px;height:20px; color:var(--terra)}
.wm-mmenu-foot{display:flex; align-items:center; gap:10px; padding:20px 22px; background:var(--lilac);
  font-size:.85rem; color:var(--plum)}

/* ============================================================================
   HERO — kinétique
   ============================================================================ */
.wm-hero{position:relative; overflow:hidden; background:var(--plum-d); color:var(--cream)}
.wm-hero-bg{position:absolute; inset:0}
.wm-hero-bg img{width:100%; height:100%; object-fit:cover; opacity:.5}
.wm-hero-bg::after{content:""; position:absolute; inset:0;
  background:linear-gradient(120deg,rgba(36,29,46,.86),rgba(58,47,74,.5) 60%,rgba(217,138,91,.28))}
.wm-hero-bg{z-index:0}
.wm-hero::before{content:""; position:absolute; right:-6%; bottom:-40%; width:min(52%,560px); aspect-ratio:1;
  border:1px solid rgba(200,168,106,.4); border-radius:50%; pointer-events:none; z-index:1}
.wm-hero::after{content:""; position:absolute; right:1%; bottom:-30%; width:min(40%,420px); aspect-ratio:1;
  border:1px solid rgba(200,168,106,.22); border-radius:50%; pointer-events:none; z-index:1}
.wm-hero-in{position:relative; z-index:2; padding:clamp(60px,11vw,130px) 0 clamp(56px,9vw,104px); max-width:760px}
.wm-hero .wm-eyebrow{color:var(--gold-soft)}
.wm-hero .wm-eyebrow::before,.wm-hero .wm-eyebrow::after{background:var(--gold-soft)}
.wm-hero h1{font-size:clamp(3rem,9vw,6.2rem); margin:20px 0 8px; line-height:1}
.wm-kinetic{display:inline-flex; position:relative; color:var(--terra); font-style:italic}
.wm-kinetic .wm-kw{position:absolute; left:0; top:0; white-space:nowrap; opacity:0;
  transform:translateY(.5em) rotate(2deg); transition:opacity .5s var(--ease),transform .5s var(--ease)}
.wm-kinetic .wm-kw.is-on{opacity:1; transform:none; position:relative}
.wm-hero-sub{font-size:clamp(1.02rem,2vw,1.2rem); color:rgba(247,242,232,.82); max-width:540px; margin:18px 0 30px}
.wm-hero-cta{display:flex; gap:14px; flex-wrap:wrap}
.wm-hero-stats{display:flex; gap:28px; margin-top:38px; flex-wrap:wrap}
.wm-hero-stat b{font-family:var(--fdisp); font-size:1.7rem; color:var(--gold-soft); display:block}
.wm-hero-stat span{font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; color:rgba(247,242,232,.62)}
.wm-page-hero::before{content:""; position:absolute; right:-4%; top:-45%; width:min(46%,460px); aspect-ratio:1;
  border:1px solid rgba(200,168,106,.28); border-radius:50%; pointer-events:none}
.wm-page-hero .wm-wrap{position:relative; z-index:2}

/* bande de confiance */
.wm-trust{background:var(--plum); color:var(--cream)}
.wm-trust-in{display:flex; flex-wrap:wrap; justify-content:center; gap:10px 34px; padding:15px 0; font-size:.84rem}
.wm-trust-i{display:inline-flex; align-items:center; gap:9px; letter-spacing:.02em}
.wm-trust-i svg{width:19px;height:19px; color:var(--gold-soft)}

/* ============================================================================
   SECTIONS génériques
   ============================================================================ */
.wm-sec{padding:clamp(56px,8vw,104px) 0}
.wm-sec-head{max-width:640px; margin-bottom:38px}
.wm-sec-head.wm-c{margin-inline:auto; text-align:center}
.wm-sec-head h2{font-size:clamp(2rem,4.4vw,3.1rem); margin:14px 0 12px}
.wm-sec-head p{color:var(--muted); font-size:1.05rem; margin:0}
.wm-sec-alt{background:var(--cream-2)}
.wm-sec-lilac{background:var(--lilac)}
.wm-sec-plum{background:var(--plum-d); color:var(--cream)}
.wm-sec-plum .wm-sec-head p{color:rgba(247,242,232,.72)}

.wm-head-row{display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:36px; flex-wrap:wrap}
.wm-head-row h2{font-size:clamp(1.9rem,4vw,2.8rem)}
.wm-link{display:inline-flex; align-items:center; gap:7px; font-weight:600; color:var(--terra-d);
  font-size:.9rem; text-transform:uppercase; letter-spacing:.06em}
.wm-link svg{width:17px;height:17px; transition:transform .25s}
.wm-link:hover svg{transform:translateX(4px)}

/* ─ Grille produits (grille-4col) + carte overlay-sur-image ─ */
.wm-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px}
.wm-card{position:relative; border-radius:var(--r-m); overflow:hidden; background:var(--lilac);
  box-shadow:var(--sh-s); transition:transform .3s var(--ease),box-shadow .3s; isolation:isolate}
.wm-card:hover{transform:translateY(-5px); box-shadow:var(--sh-m)}
.wm-card-media{position:relative; aspect-ratio:4/5; overflow:hidden}
.wm-card-media img{width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease)}
.wm-card:hover .wm-card-media img{transform:scale(1.06)}
.wm-card-media::after{content:""; position:absolute; inset:0;
  background:linear-gradient(to top,rgba(36,29,46,.82) 0%,rgba(36,29,46,.34) 34%,transparent 60%)}
.wm-card-badges{position:absolute; top:12px; left:12px; z-index:2; display:flex; flex-direction:column; gap:6px; align-items:flex-start}
.wm-badge{font-size:.66rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  padding:5px 10px; border-radius:100px; background:var(--cream-2); color:var(--plum)}
.wm-badge.wm-badge-sale{background:var(--terra); color:#fff}
.wm-badge.wm-badge-new{background:var(--plum); color:var(--cream-2)}
.wm-card-fav{position:absolute; top:10px; right:10px; z-index:2}
.wm-card-over{position:absolute; left:0; right:0; bottom:0; z-index:2; padding:16px 16px 15px; color:var(--cream-2)}
.wm-card-cat{font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-soft); font-weight:600}
.wm-card-name{font-family:var(--fdisp); font-size:1.24rem; margin:3px 0 6px; line-height:1.12; color:#fff}
.wm-card-name a{color:inherit}
.wm-card-meta{display:flex; align-items:center; justify-content:space-between; gap:8px}
.wm-card-price{display:flex; align-items:baseline; gap:8px; font-weight:600}
.wm-card-price .wm-now{font-size:1.06rem; color:#fff}
.wm-card-price .wm-was{font-size:.82rem; color:rgba(247,242,232,.6); text-decoration:line-through; font-weight:400}
.wm-card-rate{display:inline-flex; align-items:center; gap:4px; font-size:.76rem; color:var(--gold-soft)}
.wm-card-rate svg{width:13px;height:13px; fill:var(--gold-soft); stroke:none}
.wm-card-add{position:absolute; left:16px; right:16px; bottom:-52px; z-index:3;
  opacity:0; transition:bottom .3s var(--ease),opacity .3s}
.wm-card:hover .wm-card-add{bottom:15px; opacity:1}
.wm-card-add .wm-btn{width:100%; padding:11px; font-size:.84rem; background:var(--cream-2); color:var(--plum)}
.wm-card-add .wm-btn:hover{background:var(--terra); color:#fff}
.wm-card:hover .wm-card-over{transform:translateY(-52px); transition:transform .3s var(--ease)}
.wm-star-row{display:inline-flex; gap:1px}
.wm-star-row svg{width:14px;height:14px; fill:var(--gold); stroke:none}
.wm-star-row svg.is-empty{fill:rgba(120,110,90,.28)}

/* ============================================================================
   Témoignage vedette
   ============================================================================ */
.wm-feat{display:grid; grid-template-columns:0.9fr 1.1fr; gap:0; align-items:stretch;
  border-radius:var(--r-l); overflow:hidden; box-shadow:var(--sh-m); background:var(--plum-d)}
.wm-feat-img{position:relative; min-height:420px}
.wm-feat-img img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.wm-feat-body{padding:clamp(32px,5vw,64px); color:var(--cream); display:flex; flex-direction:column; justify-content:center}
.wm-feat-quote{font-family:var(--fdisp); font-size:clamp(1.5rem,2.7vw,2.3rem); line-height:1.24; margin:18px 0 24px}
.wm-feat-quote::before{content:"\201C"; color:var(--terra); font-size:1.4em; line-height:0; vertical-align:-.35em; margin-right:.05em}
.wm-feat-stars{display:inline-flex; gap:3px; margin-bottom:8px}
.wm-feat-stars svg{width:19px;height:19px; fill:var(--gold); stroke:none}
.wm-feat-auth{display:flex; align-items:center; gap:12px}
.wm-feat-auth b{font-size:1rem; display:block}
.wm-feat-auth span{font-size:.82rem; color:rgba(247,242,232,.62)}
.wm-feat-avatar{width:46px;height:46px;border-radius:50%; background:var(--terra); display:flex;
  align-items:center; justify-content:center; font-family:var(--fdisp); font-size:1.3rem; color:#fff}
.wm-feat-score{margin-top:22px; padding-top:20px; border-top:1px solid rgba(200,168,106,.3);
  font-size:.86rem; letter-spacing:.03em; color:var(--gold-soft); display:inline-flex; align-items:center; gap:8px}

/* ============================================================================
   Comparatif — matrice
   ============================================================================ */
.wm-cmp{max-width:760px; margin:0 auto; border-radius:var(--r-l); overflow:hidden;
  background:var(--cream-2); box-shadow:var(--sh-s); border:1px solid var(--line)}
.wm-cmp-row{display:grid; grid-template-columns:1fr 130px 130px; align-items:center;
  padding:16px clamp(18px,3vw,30px); border-bottom:1px solid var(--line)}
.wm-cmp-row:last-child{border-bottom:none}
.wm-cmp-head{background:var(--plum-d); color:var(--cream)}
.wm-cmp-head .wm-cmp-c{font-family:var(--fdisp); font-size:1.02rem}
.wm-cmp-us{color:var(--terra); font-weight:700}
.wm-cmp-c{text-align:center; display:flex; justify-content:center}
.wm-cmp-feat{font-weight:500; font-size:.96rem}
.wm-cmp-yes{color:var(--ok)} .wm-cmp-yes svg{width:22px;height:22px; stroke:var(--ok); stroke-width:2.2}
.wm-cmp-no{color:#c2bcc9} .wm-cmp-no svg{width:20px;height:20px; stroke:#c2bcc9; stroke-width:2}
.wm-cmp-row:nth-child(odd):not(.wm-cmp-head){background:rgba(236,226,234,.35)}

/* ============================================================================
   FAQ (accordéon)
   ============================================================================ */
.wm-acc{max-width:780px; margin:0 auto}
.wm-acc-item{border-bottom:1px solid var(--line)}
.wm-acc-q{width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:22px 4px; text-align:left; font-family:var(--fdisp); font-size:1.22rem; color:var(--plum)}
.wm-acc-q .wm-acc-ico{width:30px;height:30px;border-radius:50%; border:1px solid var(--gold);
  display:flex; align-items:center; justify-content:center; flex:none; transition:transform .3s,background .3s}
.wm-acc-q .wm-acc-ico svg{width:16px;height:16px; color:var(--terra-d)}
.wm-acc-item.is-open .wm-acc-ico{background:var(--plum); transform:rotate(45deg)}
.wm-acc-item.is-open .wm-acc-ico svg{color:var(--cream-2)}
.wm-acc-a{max-height:0; overflow:hidden; transition:max-height .35s var(--ease)}
.wm-acc-item.is-open .wm-acc-a{max-height:260px}
.wm-acc-a p{margin:0 4px 22px; color:var(--muted); max-width:640px}

/* ============================================================================
   Quiz / finder
   ============================================================================ */
.wm-quiz-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:26px}
.wm-quiz-opt{border:1px solid var(--line); background:var(--cream-2); border-radius:var(--r-m);
  padding:24px 20px; text-align:left; transition:border-color .25s,transform .25s,box-shadow .25s; position:relative}
.wm-quiz-opt:hover,.wm-quiz-opt.is-on{border-color:var(--terra); transform:translateY(-3px); box-shadow:var(--sh-s)}
.wm-quiz-opt.is-on{background:var(--lilac)}
.wm-quiz-num{font-family:var(--fdisp); font-size:1.5rem; color:var(--gold); display:block}
.wm-quiz-opt h4{font-size:1.2rem; margin:8px 0 4px}
.wm-quiz-opt span{font-size:.84rem; color:var(--muted)}
.wm-quiz-res{display:none; margin-top:10px}
.wm-quiz-res.is-shown{display:block}
.wm-quiz-res-card{display:grid; grid-template-columns:120px 1fr auto; gap:20px; align-items:center;
  background:var(--plum-d); color:var(--cream); border-radius:var(--r-l); padding:20px; box-shadow:var(--sh-m)}
.wm-quiz-res-card img{width:120px;height:120px; object-fit:cover; border-radius:var(--r-m)}
.wm-quiz-res-card h4{font-size:1.4rem; color:#fff}
.wm-quiz-res-card .wm-qr-cat{color:var(--gold-soft); font-size:.76rem; letter-spacing:.14em; text-transform:uppercase}

/* ============================================================================
   Stats / compteurs
   ============================================================================ */
.wm-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:22px; text-align:center}
.wm-stat b{font-family:var(--fdisp); font-size:clamp(2.4rem,5vw,3.6rem); color:var(--gold-soft); display:block; line-height:1}
.wm-stat span{font-size:.84rem; letter-spacing:.06em; text-transform:uppercase; color:rgba(247,242,232,.7); margin-top:8px; display:block}
.wm-stat{position:relative; padding:8px 6px}
.wm-stat:not(:last-child)::after{content:""; position:absolute; right:-11px; top:20%; bottom:20%; width:1px; background:rgba(200,168,106,.3)}

/* ============================================================================
   Lookbook éditorial
   ============================================================================ */
.wm-look{display:grid; grid-template-columns:1fr 1fr; gap:22px}
.wm-look-card{position:relative; border-radius:var(--r-l); overflow:hidden; min-height:360px; box-shadow:var(--sh-s)}
.wm-look-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease)}
.wm-look-card:hover img{transform:scale(1.05)}
.wm-look-card::after{content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(36,29,46,.78),transparent 62%)}
.wm-look-txt{position:absolute; left:0; right:0; bottom:0; z-index:2; padding:28px; color:var(--cream-2)}
.wm-look-txt h3{font-size:1.7rem; margin-bottom:6px}
.wm-look-txt p{color:rgba(247,242,232,.82); max-width:340px; font-size:.96rem}
.wm-look-tall{grid-row:span 2}

/* ============================================================================
   Galerie UGC
   ============================================================================ */
.wm-ugc-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px}
.wm-ugc-cell{position:relative; aspect-ratio:1; border-radius:var(--r-m); overflow:hidden; box-shadow:var(--sh-s)}
.wm-ugc-cell img{width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease)}
.wm-ugc-cell:hover img{transform:scale(1.07)}
.wm-ugc-cell::after{content:""; position:absolute; inset:0; background:rgba(36,29,46,0); transition:background .3s}
.wm-ugc-cell:hover::after{background:rgba(36,29,46,.22)}
.wm-ugc-tag{position:absolute; bottom:10px; left:10px; z-index:2; display:inline-flex; align-items:center; gap:6px;
  color:#fff; font-size:.74rem; opacity:0; transition:opacity .3s}
.wm-ugc-cell:hover .wm-ugc-tag{opacity:1}
.wm-ugc-tag svg{width:16px;height:16px}

/* ============================================================================
   Bundle builder
   ============================================================================ */
.wm-bundle{display:grid; grid-template-columns:1.4fr .9fr; gap:32px; align-items:start}
.wm-bundle-pool{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
.wm-bpick{border:1px solid var(--line); background:var(--cream-2); border-radius:var(--r-m); overflow:hidden;
  text-align:left; transition:border-color .2s,transform .2s; position:relative}
.wm-bpick:hover{transform:translateY(-3px)}
.wm-bpick.is-on{border-color:var(--terra); box-shadow:0 0 0 1.5px var(--terra)}
.wm-bpick img{aspect-ratio:1; object-fit:cover; width:100%}
.wm-bpick-b{padding:10px 12px}
.wm-bpick-b h5{font-family:var(--fdisp); font-size:1rem; font-weight:400; margin:0 0 2px}
.wm-bpick-b span{font-size:.86rem; color:var(--terra-d); font-weight:600}
.wm-bpick-check{position:absolute; top:8px; right:8px; width:26px;height:26px; border-radius:50%;
  background:var(--terra); color:#fff; display:none; align-items:center; justify-content:center}
.wm-bpick.is-on .wm-bpick-check{display:flex}
.wm-bpick-check svg{width:16px;height:16px}
.wm-bundle-side{background:var(--plum-d); color:var(--cream); border-radius:var(--r-l); padding:28px; position:sticky; top:120px}
.wm-bundle-side h3{font-size:1.7rem; margin-bottom:6px}
.wm-bundle-side p{color:rgba(247,242,232,.7); font-size:.92rem; margin:0 0 18px}
.wm-bundle-list{list-style:none; margin:0 0 18px; padding:0; min-height:40px}
.wm-bundle-list li{display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px dashed rgba(200,168,106,.3); font-size:.92rem}
.wm-bundle-empty{color:rgba(247,242,232,.5); font-size:.9rem; padding:14px 0}
.wm-bundle-total{display:flex; justify-content:space-between; align-items:baseline; margin:14px 0 18px; font-size:1.05rem}
.wm-bundle-total b{font-family:var(--fdisp); font-size:1.9rem; color:var(--gold-soft)}
.wm-bundle-perk{display:flex; align-items:center; gap:8px; font-size:.82rem; color:var(--gold-soft); margin-top:14px}
.wm-bundle-perk svg{width:18px;height:18px}

/* ============================================================================
   Réassurance (blob) + newsletter
   ============================================================================ */
.wm-assure{display:grid; grid-template-columns:repeat(4,1fr); gap:22px}
.wm-assure-i{text-align:center; padding:10px}
.wm-assure-ico{width:66px;height:66px; margin:0 auto 14px; display:flex; align-items:center; justify-content:center;
  background:var(--lilac-2); color:var(--plum); border-radius:var(--r-blob)}
.wm-assure-ico svg{width:28px;height:28px}
.wm-assure-i h4{font-size:1.2rem; margin-bottom:5px}
.wm-assure-i p{color:var(--muted); font-size:.9rem; margin:0}

.wm-news-band{background:linear-gradient(135deg,var(--terra),var(--terra-d)); color:#fff; border-radius:var(--r-l);
  padding:clamp(34px,6vw,64px); text-align:center; position:relative; overflow:hidden}
.wm-news-band::before,.wm-news-band::after{content:""; position:absolute; width:280px; height:280px;
  border:1px solid rgba(255,255,255,.22); border-radius:50%}
.wm-news-band::before{top:-140px; left:-70px}
.wm-news-band::after{bottom:-160px; right:-60px}
.wm-news-band h2{font-size:clamp(1.8rem,4vw,2.8rem); position:relative}
.wm-news-band p{max-width:520px; margin:12px auto 22px; color:rgba(255,255,255,.9); position:relative}
.wm-news-form{display:flex; gap:10px; max-width:460px; margin:0 auto; position:relative; flex-wrap:wrap; justify-content:center}
.wm-news-form input{flex:1; min-width:220px; padding:15px 20px; border-radius:100px; border:none; color:var(--ink); background:#fff}
.wm-news-form .wm-btn-solid{background:var(--plum-d)}
.wm-news-note{display:block; margin-top:12px; font-size:.78rem; color:rgba(255,255,255,.8); position:relative}
.wm-news-ok{display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.16); padding:14px 22px; border-radius:100px}

/* ============================================================================
   FOOTER — carte / ticket
   ============================================================================ */
.wm-foot{background:var(--cream); padding:0 0 34px; margin-top:20px}
.wm-ticket{position:relative; background:var(--plum-d); color:var(--cream); margin-top:56px}
.wm-ticket-perf{height:16px; background:var(--cream);
  -webkit-mask:radial-gradient(circle at 10px 0,transparent 10px,#000 11px) repeat-x 0 0/22px 16px;
  mask:radial-gradient(circle at 10px 0,transparent 10px,#000 11px) repeat-x 0 0/22px 16px}
.wm-ticket-perf-t{-webkit-mask-position:0 -8px; mask-position:0 -8px}
.wm-ticket-perf-b{transform:scaleY(-1)}
.wm-ticket-body{display:grid; grid-template-columns:1fr 1.5fr; gap:clamp(28px,5vw,60px);
  padding:clamp(34px,5vw,58px) clamp(24px,4vw,54px)}
.wm-ticket-stub{border-right:1px dashed rgba(200,168,106,.35); padding-right:clamp(20px,3vw,40px)}
.wm-foot-logo img{height:30px; filter:brightness(0) saturate(100%) invert(93%) sepia(9%) saturate(360%) hue-rotate(3deg) brightness(103%); display:none}
.wm-foot-word{font-family:var(--fdisp); font-size:1.8rem; letter-spacing:.14em; color:var(--cream); display:block}
.wm-foot-tag{color:rgba(247,242,232,.72); font-size:.92rem; margin:10px 0 20px; max-width:280px}
.wm-foot-news label{display:block; font-family:var(--fdisp); font-size:1.1rem; margin-bottom:10px; color:var(--gold-soft)}
.wm-foot-news-row{display:flex; gap:8px}
.wm-foot-news-row input{flex:1; min-width:0; padding:12px 16px; border-radius:100px; border:1px solid rgba(200,168,106,.35);
  background:rgba(255,255,255,.06); color:var(--cream)}
.wm-foot-news-row input::placeholder{color:rgba(247,242,232,.5)}
.wm-foot-news-row .wm-btn{padding:12px 18px; background:var(--terra)}
.wm-foot-social{display:flex; gap:10px; margin-top:20px}
.wm-foot-social a{width:40px;height:40px; border-radius:50%; border:1px solid rgba(200,168,106,.35);
  display:flex; align-items:center; justify-content:center; color:var(--cream); transition:background .2s,color .2s}
.wm-foot-social a:hover{background:var(--terra); border-color:var(--terra); color:#fff}
.wm-ticket-cols{display:grid; grid-template-columns:repeat(3,1fr) auto; gap:26px}
.wm-foot-col h4{font-size:.82rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-soft); margin-bottom:14px; font-family:var(--fbody); font-weight:700}
.wm-foot-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px}
.wm-foot-col a{color:rgba(247,242,232,.78); font-size:.92rem; transition:color .2s}
.wm-foot-col a:hover{color:var(--terra)}
.wm-seal{width:118px;height:118px; border-radius:50%; border:1.5px solid var(--gold);
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
  transform:rotate(-8deg); color:var(--gold-soft); position:relative}
.wm-seal::before{content:""; position:absolute; inset:6px; border:1px dashed rgba(200,168,106,.5); border-radius:50%}
.wm-seal span{font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; max-width:80px; line-height:1.3}
.wm-seal b{font-family:var(--fdisp); font-size:1rem; margin-top:4px}
.wm-seal .wm-deco-dia{margin-top:6px}
.wm-foot-base{display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; padding:24px var(--gut) 0}
.wm-foot-pay{display:flex; align-items:center; gap:16px; flex-wrap:wrap}
.wm-foot-secure{display:inline-flex; align-items:center; gap:7px; font-size:.8rem; color:var(--muted)}
.wm-foot-secure svg{width:17px;height:17px}
.wm-pays{display:flex; gap:7px}
.wm-pay svg{width:44px; height:29px}
.wm-foot-legal{font-size:.78rem; color:var(--muted)}

/* ============================================================================
   DRAWER / OVERLAY / SEARCH / POPIN / TOAST
   ============================================================================ */
.wm-overlay{position:fixed; inset:0; background:rgba(36,29,46,.5); backdrop-filter:blur(2px);
  opacity:0; visibility:hidden; transition:opacity .3s,visibility .3s; z-index:98}
.wm-overlay.is-open{opacity:1; visibility:visible}
.wm-drawer{position:fixed; top:0; right:0; bottom:0; width:min(420px,100%); background:var(--cream);
  z-index:99; transform:translateX(100%); transition:transform .38s var(--ease); display:flex; flex-direction:column; box-shadow:var(--sh-m)}
.wm-drawer.is-open{transform:none}
.wm-drawer-head{display:flex; align-items:center; justify-content:space-between; padding:20px 22px 16px}
.wm-drawer-head h3{font-size:1.5rem}
.wm-ship-bar{padding:12px 22px; background:var(--lilac)}
.wm-ship-msg{display:flex; align-items:center; gap:8px; font-size:.84rem; color:var(--plum); margin-bottom:8px}
.wm-ship-msg svg{width:18px;height:18px; color:var(--terra-d)}
.wm-ship-track{height:6px; border-radius:6px; background:#d9cfe0; overflow:hidden}
.wm-ship-fill{height:100%; background:linear-gradient(90deg,var(--terra),var(--gold)); border-radius:6px; transition:width .4s var(--ease)}
.wm-drawer-items{flex:1; overflow-y:auto; padding:6px 22px}
.wm-ci{display:grid; grid-template-columns:72px 1fr; gap:14px; padding:16px 0; border-bottom:1px solid var(--line)}
.wm-ci img{width:72px;height:88px; object-fit:cover; border-radius:var(--r-s); background:var(--lilac)}
.wm-ci-info h4{font-family:var(--fdisp); font-size:1.06rem; font-weight:400; margin:0 0 3px}
.wm-ci-var{font-size:.78rem; color:var(--muted)}
.wm-ci-price{color:var(--terra-d); font-weight:600; margin:4px 0}
.wm-qty{display:inline-flex; align-items:center; gap:2px; border:1px solid var(--line); border-radius:100px; padding:2px}
.wm-qty button{width:28px;height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--plum)}
.wm-qty button:hover{background:var(--lilac)}
.wm-qty button svg{width:15px;height:15px}
.wm-qty span{min-width:26px; text-align:center; font-weight:600; font-size:.9rem}
.wm-ci-rm{display:inline-block; margin-top:8px; font-size:.76rem; color:var(--muted); text-decoration:underline; text-underline-offset:2px}
.wm-ci-rm:hover{color:var(--terra-d)}
.wm-cross{padding:4px 22px}
.wm-cross h4{font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:10px; font-family:var(--fbody); font-weight:700}
.wm-ci-sm{grid-template-columns:48px 1fr auto; align-items:center; padding:10px 0}
.wm-ci-sm img{width:48px;height:48px}
.wm-ci-sm h4{font-size:.92rem; margin:0}
.wm-ci-addx{width:32px;height:32px; border-radius:50%; background:var(--plum); color:var(--cream-2); display:flex; align-items:center; justify-content:center}
.wm-ci-addx svg{width:16px;height:16px}
.wm-drawer-foot{padding:18px 22px; border-top:1px solid var(--line); background:var(--cream-2)}
.wm-drawer-sub-row{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:4px}
.wm-drawer-sub-row strong{font-family:var(--fdisp); font-size:1.4rem}
.wm-drawer-tax{font-size:.76rem; color:var(--muted); margin:0 0 12px}
.wm-drawer-foot .wm-btn{margin-bottom:8px}
.wm-drawer-empty{text-align:center; padding:50px 20px; color:var(--muted)}
.wm-drawer-empty svg{width:52px;height:52px; color:var(--gold); margin:0 auto 14px}
.wm-drawer-empty h4{font-size:1.4rem; color:var(--plum); margin-bottom:6px}
.wm-drawer-empty .wm-btn{margin-top:18px}

.wm-search{position:fixed; inset:0; z-index:100; background:rgba(36,29,46,.45); backdrop-filter:blur(3px);
  opacity:0; visibility:hidden; transition:opacity .28s,visibility .28s}
.wm-search.is-open{opacity:1; visibility:visible}
.wm-search-panel{max-width:640px; margin:8vh auto 0; background:var(--cream); border-radius:var(--r-l);
  overflow:hidden; box-shadow:var(--sh-m); transform:translateY(-14px); transition:transform .3s var(--ease)}
.wm-search.is-open .wm-search-panel{transform:none}
.wm-search-bar{display:flex; align-items:center; gap:12px; padding:16px 20px; border-bottom:1px solid var(--line)}
.wm-search-bar svg{width:22px;height:22px; color:var(--muted)}
.wm-search-bar input{flex:1; border:none; background:none; outline:none; font-size:1.1rem; color:var(--ink)}
.wm-search-res{max-height:56vh; overflow-y:auto; padding:8px}
.wm-search-item{display:flex; align-items:center; gap:14px; padding:10px 12px; border-radius:var(--r-m); transition:background .2s}
.wm-search-item:hover{background:var(--lilac)}
.wm-search-item img{width:52px;height:52px; object-fit:cover; border-radius:var(--r-s)}
.wm-search-item div{flex:1}
.wm-search-item strong{display:block; font-family:var(--fdisp); font-size:1.05rem; font-weight:400}
.wm-search-item span{font-size:.78rem; color:var(--muted)}
.wm-search-item b{color:var(--terra-d)}
.wm-search-empty{padding:26px; text-align:center; color:var(--muted)}

.wm-popin{position:fixed; inset:0; z-index:101; background:rgba(36,29,46,.55); display:flex; align-items:center; justify-content:center;
  padding:20px; opacity:0; visibility:hidden; transition:opacity .3s,visibility .3s}
.wm-popin.is-open{opacity:1; visibility:visible}
.wm-popin-card{background:var(--cream); border-radius:var(--r-l); padding:40px 34px; max-width:420px; text-align:center;
  position:relative; box-shadow:var(--sh-m); transform:scale(.94); transition:transform .3s var(--ease)}
.wm-popin.is-open .wm-popin-card{transform:none}
.wm-popin-x{position:absolute; top:12px; right:12px}
.wm-popin-ico{width:60px;height:60px; margin:0 auto 14px; border-radius:var(--r-blob); background:var(--lilac-2);
  display:flex; align-items:center; justify-content:center; color:var(--terra-d)}
.wm-popin-ico svg{width:30px;height:30px}
.wm-popin-card h3{font-size:1.7rem; margin-bottom:8px}
.wm-popin-card p{color:var(--muted); margin:0 0 18px}
.wm-popin-form{display:flex; flex-direction:column; gap:10px}
.wm-popin-form input{padding:14px 18px; border-radius:100px; border:1px solid var(--line); background:var(--cream-2)}
.wm-popin-note{display:block; margin-top:12px; font-size:.74rem; color:var(--muted)}

.wm-toast{position:fixed; bottom:24px; left:50%; transform:translateX(-50%) translateY(20px);
  background:var(--plum-d); color:var(--cream); padding:13px 22px; border-radius:100px; display:flex; align-items:center; gap:9px;
  box-shadow:var(--sh-m); opacity:0; visibility:hidden; transition:all .3s var(--ease); z-index:102; font-size:.9rem}
.wm-toast.is-show{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0)}
.wm-toast svg{width:19px;height:19px; color:var(--gold-soft)}

/* ============================================================================
   SHOP
   ============================================================================ */
.wm-shop-hero{background:var(--lilac); padding:clamp(40px,6vw,72px) 0; text-align:center}
.wm-shop-hero h1{font-size:clamp(2.4rem,5vw,3.6rem); margin:12px 0 10px}
.wm-shop-hero p{color:var(--muted); max-width:560px; margin:0 auto}
.wm-shop-bar{display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin:30px 0 26px}
.wm-filters{display:flex; gap:8px; flex-wrap:wrap}
.wm-filter{padding:9px 18px; border-radius:100px; border:1px solid var(--line); background:var(--cream-2);
  font-size:.84rem; font-weight:500; color:var(--plum); transition:all .2s}
.wm-filter:hover{border-color:var(--terra)}
.wm-filter.is-on{background:var(--plum); color:var(--cream-2); border-color:var(--plum)}
.wm-shop-tools{display:flex; align-items:center; gap:12px}
.wm-count{font-size:.86rem; color:var(--muted)}
.wm-sort{position:relative}
.wm-sort select{appearance:none; padding:9px 36px 9px 16px; border-radius:100px; border:1px solid var(--line);
  background:var(--cream-2); font-size:.84rem; color:var(--plum); cursor:pointer}
.wm-sort::after{content:""; position:absolute; right:14px; top:50%; width:7px;height:7px; border-right:1.5px solid var(--plum);
  border-bottom:1.5px solid var(--plum); transform:translateY(-70%) rotate(45deg); pointer-events:none}
.wm-shop-grid{grid-template-columns:repeat(4,1fr)}

/* ============================================================================
   PRODUCT (PDP)
   ============================================================================ */
.wm-crumb{font-size:.8rem; color:var(--muted); padding:20px 0 4px; display:flex; gap:8px; flex-wrap:wrap}
.wm-crumb a:hover{color:var(--terra-d)}
.wm-pdp{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(28px,4vw,56px); padding:14px 0 40px; align-items:start}
.wm-gallery{position:sticky; top:110px}
.wm-gal-main{position:relative; border-radius:var(--r-l); overflow:hidden; background:var(--lilac); aspect-ratio:4/5}
.wm-gal-main img{width:100%; height:100%; object-fit:cover}
.wm-gal-badges{position:absolute; top:14px; left:14px; display:flex; gap:6px; z-index:2}
.wm-gal-thumbs{display:flex; gap:10px; margin-top:12px}
.wm-gal-thumb{width:76px; height:92px; border-radius:var(--r-s); overflow:hidden; border:1.5px solid transparent; cursor:pointer; background:var(--lilac)}
.wm-gal-thumb.is-on{border-color:var(--terra)}
.wm-gal-thumb img{width:100%;height:100%;object-fit:cover}
.wm-pdp-cat{font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--terra-d); font-weight:600}
.wm-pdp h1{font-size:clamp(2rem,4vw,2.9rem); margin:8px 0 10px}
.wm-pdp-rate{display:flex; align-items:center; gap:10px; margin-bottom:16px; font-size:.88rem; color:var(--muted)}
.wm-pdp-short{font-size:1.1rem; color:var(--plum); margin-bottom:18px}
.wm-pdp-price{display:flex; align-items:baseline; gap:12px; margin-bottom:6px}
.wm-pdp-price .wm-now{font-family:var(--fdisp); font-size:2.1rem; color:var(--plum)}
.wm-pdp-price .wm-was{font-size:1.1rem; color:var(--muted); text-decoration:line-through}
.wm-pdp-save{display:inline-block; background:var(--terra); color:#fff; font-size:.76rem; font-weight:700; padding:4px 10px; border-radius:100px}
.wm-pdp-stock{display:inline-flex; align-items:center; gap:7px; font-size:.86rem; color:var(--ok); margin:14px 0}
.wm-pdp-stock.is-low{color:var(--terra-d)}
.wm-pdp-stock svg{width:16px;height:16px}
.wm-pdp-sold{font-size:.82rem; color:var(--muted); margin-bottom:16px}
.wm-opt{margin:18px 0}
.wm-opt-label{font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; font-weight:600}
.wm-opt-vals{display:flex; gap:8px; flex-wrap:wrap}
.wm-opt-val{padding:9px 16px; border-radius:100px; border:1px solid var(--line); background:var(--cream-2); font-size:.86rem; transition:all .2s}
.wm-opt-val.is-on{border-color:var(--plum); background:var(--plum); color:var(--cream-2)}
.wm-buy{display:flex; gap:12px; align-items:stretch; margin:22px 0 8px}
.wm-buy .wm-qty{border-radius:100px; padding:4px; align-items:center}
.wm-buy .wm-qty button{width:38px;height:38px}
.wm-buy .wm-btn{flex:1}
.wm-pdp-benefits{list-style:none; margin:22px 0; padding:20px; background:var(--lilac); border-radius:var(--r-m); display:grid; gap:10px}
.wm-pdp-benefits li{display:flex; align-items:flex-start; gap:10px; font-size:.94rem}
.wm-pdp-benefits svg{width:18px;height:18px; color:var(--terra-d); flex:none; margin-top:2px}
.wm-pdp-assure{display:flex; gap:20px; flex-wrap:wrap; padding:16px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin:6px 0 4px}
.wm-pdp-assure div{display:flex; align-items:center; gap:8px; font-size:.82rem; color:var(--muted)}
.wm-pdp-assure svg{width:18px;height:18px; color:var(--terra-d)}
.wm-bundle-tiers{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:22px 0}
.wm-tier{border:1px solid var(--line); border-radius:var(--r-m); padding:14px; text-align:center; cursor:pointer; transition:all .2s; background:var(--cream-2)}
.wm-tier.is-on{border-color:var(--terra); background:var(--lilac)}
.wm-tier b{display:block; font-family:var(--fdisp); font-size:1.1rem}
.wm-tier span{font-size:.78rem; color:var(--terra-d); font-weight:600}

.wm-pdp-tabs{padding:40px 0}
.wm-pdp-block{max-width:820px; margin:0 auto 40px}
.wm-pdp-block h2{font-size:1.7rem; margin-bottom:16px; display:flex; align-items:center; gap:10px}
.wm-pdp-block h2::before{content:""; width:26px; height:2px; background:var(--terra)}
.wm-pdp-block p{color:var(--muted); line-height:1.7}
.wm-specs{width:100%; border-collapse:collapse}
.wm-specs tr{border-bottom:1px solid var(--line)}
.wm-specs td{padding:12px 4px}
.wm-specs td:first-child{color:var(--muted); width:40%}
.wm-specs td:last-child{font-weight:500; text-align:right}
.wm-rev-summary{display:flex; gap:30px; align-items:center; flex-wrap:wrap; margin-bottom:24px; padding:22px; background:var(--lilac); border-radius:var(--r-m)}
.wm-rev-big{text-align:center}
.wm-rev-big b{font-family:var(--fdisp); font-size:3rem; display:block; line-height:1}
.wm-rev-list{display:grid; gap:16px}
.wm-rev{padding:16px 0; border-bottom:1px solid var(--line)}
.wm-rev-top{display:flex; align-items:center; justify-content:space-between; margin-bottom:6px}
.wm-rev-top b{font-size:.94rem}
.wm-rev-date{font-size:.78rem; color:var(--muted)}
.wm-rev p{margin:6px 0 0; color:var(--ink)}
.wm-sticky-atc{position:fixed; left:0; right:0; bottom:0; z-index:60; background:var(--cream-2);
  border-top:1px solid var(--line); box-shadow:0 -6px 20px rgba(36,29,46,.1); padding:10px var(--gut);
  display:none; align-items:center; gap:12px; transform:translateY(100%); transition:transform .3s var(--ease)}
.wm-sticky-atc.is-show{transform:none}
.wm-sticky-atc .wm-sa-info{flex:1}
.wm-sticky-atc .wm-sa-info b{font-family:var(--fdisp); font-size:1.2rem}
.wm-sticky-atc .wm-sa-info span{font-size:.8rem; color:var(--muted); display:block}

/* ============================================================================
   CART PAGE
   ============================================================================ */
.wm-cartp{display:grid; grid-template-columns:1.5fr .8fr; gap:34px; padding:30px 0 60px; align-items:start}
.wm-pci{display:grid; grid-template-columns:88px 1fr auto auto; gap:18px; align-items:center; padding:18px 0; border-bottom:1px solid var(--line)}
.wm-pci img{width:88px;height:104px; object-fit:cover; border-radius:var(--r-s); background:var(--lilac)}
.wm-pci-info h4{font-family:var(--fdisp); font-size:1.2rem; font-weight:400; margin:0 0 4px}
.wm-pci-price{font-family:var(--fdisp); font-size:1.2rem; min-width:80px; text-align:right}
.wm-cart-summary{background:var(--cream-2); border:1px solid var(--line); border-radius:var(--r-l); padding:26px; position:sticky; top:110px}
.wm-cart-summary h3{font-size:1.5rem; margin-bottom:16px}
.wm-cart-sum-row{display:flex; justify-content:space-between; padding:8px 0; font-size:.94rem}
.wm-cart-sum-total{display:flex; justify-content:space-between; align-items:baseline; margin:12px 0 6px; padding-top:14px; border-top:1px solid var(--line)}
.wm-cart-sum-total b{font-family:var(--fdisp); font-size:1.7rem}
.wm-page-empty{grid-column:1/-1}

/* ============================================================================
   ABOUT / CONTACT / LEGAL
   ============================================================================ */
.wm-page-hero{background:var(--plum-d); color:var(--cream); padding:clamp(50px,8vw,96px) 0; text-align:center; position:relative; overflow:hidden}
.wm-page-hero h1{font-size:clamp(2.4rem,5vw,3.8rem); margin-top:12px}
.wm-page-hero p{color:rgba(247,242,232,.8); max-width:560px; margin:14px auto 0}
.wm-prose{max-width:760px; margin:0 auto; padding:clamp(40px,6vw,72px) 0}
.wm-prose h2{font-size:1.8rem; margin:34px 0 12px}
.wm-prose p{color:var(--muted); line-height:1.75; margin:0 0 16px}
.wm-about-grid{display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:center; margin:40px 0}
.wm-about-grid img{border-radius:var(--r-l); aspect-ratio:4/3; object-fit:cover; width:100%}
.wm-values{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin:36px 0}
.wm-value{text-align:center; padding:26px 18px; background:var(--cream-2); border:1px solid var(--line); border-radius:var(--r-m)}
.wm-value-ico{width:60px;height:60px;margin:0 auto 12px; border-radius:var(--r-blob); background:var(--lilac-2); display:flex; align-items:center; justify-content:center; color:var(--plum)}
.wm-value-ico svg{width:26px;height:26px}
.wm-value h3{font-size:1.3rem; margin-bottom:6px}
.wm-value p{color:var(--muted); font-size:.9rem; margin:0}
.wm-contact{display:grid; grid-template-columns:1fr 1fr; gap:40px; padding:clamp(40px,6vw,72px) 0; align-items:start}
.wm-form{display:grid; gap:14px}
.wm-form label{font-size:.8rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); margin-bottom:-6px}
.wm-form input,.wm-form textarea{padding:14px 16px; border-radius:var(--r-m); border:1px solid var(--line); background:var(--cream-2); color:var(--ink)}
.wm-form textarea{min-height:130px; resize:vertical}
.wm-contact-side{background:var(--lilac); border-radius:var(--r-l); padding:32px}
.wm-contact-side h3{font-size:1.5rem; margin-bottom:14px}
.wm-contact-line{display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid rgba(200,168,106,.3)}
.wm-contact-line svg{width:20px;height:20px; color:var(--terra-d)}
.wm-form-ok{background:var(--lilac); border-radius:var(--r-m); padding:20px; display:flex; align-items:center; gap:12px; color:var(--plum)}
.wm-form-ok svg{width:24px;height:24px; color:var(--ok)}

/* ============================================================================
   REVEAL
   ============================================================================ */
.wm-reveal{opacity:0; transform:translateY(26px); transition:opacity .7s var(--ease),transform .7s var(--ease)}
.wm-reveal.is-in{opacity:1; transform:none}
.wm-reveal[data-d="1"]{transition-delay:.08s}
.wm-reveal[data-d="2"]{transition-delay:.16s}
.wm-reveal[data-d="3"]{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){.wm-reveal{opacity:1!important; transform:none!important; transition:none}
  .wm-kinetic .wm-kw{transition:none}}

/* ============================================================================
   RESPONSIVE
   ============================================================================ */
@media (max-width:1080px){
  .wm-grid,.wm-shop-grid,.wm-quiz-grid,.wm-ugc-grid,.wm-bundle-pool{grid-template-columns:repeat(3,1fr)}
  .wm-stats{grid-template-columns:repeat(2,1fr)}
  .wm-stat:nth-child(2)::after{display:none}
}
@media (max-width:900px){
  .wm-nav{display:none}
  .wm-burger{display:inline-flex}
  .wm-logo{margin-right:0}
  .wm-head-in{gap:10px}
  .wm-feat{grid-template-columns:1fr}
  .wm-feat-img{min-height:300px}
  .wm-pdp{grid-template-columns:1fr}
  .wm-gallery{position:static}
  .wm-cartp{grid-template-columns:1fr}
  .wm-bundle{grid-template-columns:1fr}
  .wm-bundle-side{position:static}
  .wm-contact{grid-template-columns:1fr}
  .wm-about-grid{grid-template-columns:1fr}
  .wm-ticket-body{grid-template-columns:1fr}
  .wm-ticket-stub{border-right:none; border-bottom:1px dashed rgba(200,168,106,.35); padding-right:0; padding-bottom:26px}
  .wm-sticky-atc{display:flex}
}
@media (max-width:720px){
  .wm-grid,.wm-shop-grid,.wm-quiz-grid,.wm-ugc-grid,.wm-look,.wm-assure,.wm-values,.wm-bundle-pool{grid-template-columns:repeat(2,1fr)}
  .wm-look-tall{grid-row:auto}
  .wm-cmp-row{grid-template-columns:1fr 68px 68px}
  .wm-quiz-res-card{grid-template-columns:80px 1fr}
  .wm-quiz-res-card .wm-btn{grid-column:1/-1}
  .wm-lang a{padding:2px 4px}
  .wm-lang a:nth-child(n+7){display:none}
  .wm-hero-stats{gap:18px}
  .wm-ticket-cols{grid-template-columns:1fr 1fr}
  .wm-foot-seal{grid-column:1/-1}
  .wm-seal{margin:0 auto}
  .wm-card-add{position:static; opacity:1; margin-top:0}
}
@media (max-width:480px){
  .wm-assure,.wm-ugc-grid{grid-template-columns:1fr 1fr}
  .wm-pdp-price .wm-now{font-size:1.8rem}
  .wm-announce-in{justify-content:flex-start}
  .wm-ann-rot{font-size:.72rem}
  .wm-buy{flex-wrap:wrap}
  .wm-card-name{font-size:1.08rem}
}
