/* Venaki : styles du thème. Charte : vert #1E3A2F, ivoire #F5F1E8, sable #EFEADC, ambre #C79A4E, cuir #4A3B2A, encre #2A2115, terracotta #8C4A3C. */
@font-face{font-family:"Marcellus";src:url("../fonts/marcellus.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Jost";src:url("../fonts/jost-variable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --vert:#1E3A2F; --vert-2:#2B4F40; --vert-clair:#DDE7E0;
  --ivoire:#F5F1E8; --sable:#EFEADC; --ambre:#C79A4E; --ambre-clair:#F3E3C4;
  --cuir:#4A3B2A; --encre:#2A2115; --terracotta:#8C4A3C; --terra-clair:#F1DCD2;
  --mauve-clair:#E9DFE8; --serif:"Marcellus",Georgia,serif; --sans:"Jost",system-ui,sans-serif;
  --w:1320px; --r:26px; --section:120px; --tete:52px; --gouttiere:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivoire);color:var(--encre);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:2.5px solid var(--ambre);outline-offset:3px}
.wrap{max-width:var(--w);margin:0 auto;padding:0 28px}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;line-height:1.08}
h2{font-size:clamp(38px,5vw,68px)}
p{margin:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;padding:16px 30px;font-size:16px;font-weight:500;transition:transform .25s cubic-bezier(.3,1.6,.5,1),background .25s,box-shadow .25s}
.btn:hover{transform:translateY(-3px) rotate(-1deg)}
.btn:active{transform:scale(.96)}
.btn-ambre{background:var(--ambre);color:var(--vert)}
.btn-ivoire{background:var(--ivoire);color:var(--vert)}
.btn-vert{background:var(--vert);color:var(--ivoire)}
.btn-contour{background:transparent;color:var(--ivoire);box-shadow:inset 0 0 0 1.5px rgba(245,241,232,.6)}
.btn-contour:hover{box-shadow:inset 0 0 0 1.5px var(--ivoire)}

/* ---------- rythme commun ---------- */
.tete{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:var(--tete)}
.tete h2{max-width:14ch}
.tete p{max-width:44ch;color:#5f5546;font-size:18px;line-height:1.55;padding-bottom:10px}
.bloc{margin-left:16px;margin-right:16px;border-radius:var(--r)}

/* ---------- bandeau défilant ---------- */
.bandeau{background:var(--ambre);color:var(--vert);overflow:hidden;height:40px;display:flex;align-items:center;font-size:14.5px;font-weight:500;transition:background .5s,color .5s}
.bandeau.noel{background:var(--terracotta);color:var(--ivoire)}
.defil{display:flex;gap:0;white-space:nowrap;animation:defil 32s linear infinite}
.defil span{padding:0 28px;display:flex;align-items:center;gap:28px}
.defil span::after{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.5}
@keyframes defil{to{transform:translateX(-50%)}}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:var(--ivoire);transition:box-shadow .3s}
.nav.ombre{box-shadow:0 8px 24px -18px rgba(42,33,21,.4)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;position:relative}
.logo{font-family:var(--serif);font-size:25px;letter-spacing:.32em;color:var(--vert);padding-left:.32em}
.nav ul{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.nav ul a{display:block;padding:9px 16px;border-radius:999px;font-size:15.5px;font-weight:500;color:var(--vert);transition:background .2s}
.nav ul a:hover{background:var(--sable)}
.nav-droite{display:flex;align-items:center;gap:8px}
.panier{display:flex;align-items:center;gap:9px;background:var(--vert);color:var(--ivoire);border:0;border-radius:999px;padding:9px 10px 9px 18px;font-size:15px;font-weight:500}
.panier .n{min-width:26px;height:26px;border-radius:13px;background:var(--ambre);color:var(--vert);display:grid;place-items:center;font-size:13.5px;transition:transform .35s cubic-bezier(.3,1.8,.5,1)}
.panier .n.pop{transform:scale(1.45) rotate(-12deg)}
.burger{display:none;background:var(--sable);border:0;border-radius:50%;width:44px;height:44px;place-items:center}
.burger svg{width:22px;stroke:var(--vert);stroke-width:1.8;fill:none}
.menu-mobile{display:none}

/* ---------- emplacements photo (maquette) ---------- */
.slot{position:relative;overflow:hidden;isolation:isolate}
.slot .media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;max-width:none}
.slot .vide{position:absolute;inset:0;z-index:0;display:grid;place-items:center;text-align:center;padding:24px}
.slot.rempli .vide{opacity:0}

/* ---------- hero ---------- */
.hero{padding:0 16px}
.hero-cadre{position:relative;border-radius:var(--r);min-height:min(calc(100vh - 132px),860px);background:var(--vert);color:var(--ivoire);display:flex;align-items:flex-end}
.hero-cadre .vide{background:radial-gradient(ellipse at 72% 40%,#3B6352 0%,var(--vert) 62%)}
.hero-cadre::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(20,38,31,.72) 0%,rgba(20,38,31,.25) 48%,transparent 70%),linear-gradient(0deg,rgba(20,38,31,.55),transparent 45%);pointer-events:none;border-radius:inherit}
.hero-texte{position:relative;z-index:3;padding:0 56px 116px;max-width:760px}
.hero h1{font-size:clamp(58px,9.2vw,138px);line-height:.96;margin-bottom:26px}
.hero h1 .mot{display:inline-block;opacity:0;transform:translateY(40px) rotate(4deg);animation:pop .9s cubic-bezier(.3,1.5,.5,1) forwards}
@keyframes pop{to{opacity:1;transform:none}}
.hero .sous{font-size:clamp(18px,1.6vw,22px);line-height:1.5;max-width:40ch;opacity:0;animation:fondu .8s .75s forwards}
.hero .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;opacity:0;animation:fondu .8s .9s forwards}
@keyframes fondu{to{opacity:1}}
.sticker{position:absolute;z-index:3;right:44px;top:40px;width:150px;height:150px;opacity:0;animation:tampon .7s 1.2s cubic-bezier(.3,1.6,.5,1) forwards}
.sticker .tourne{animation:tourne 22s linear infinite;transform-origin:50% 50%}
.sticker text{font-family:var(--sans);font-weight:600;font-size:11.2px;letter-spacing:.2em;fill:var(--vert)}
@keyframes tampon{0%{opacity:0;transform:scale(1.8) rotate(-30deg)}100%{opacity:1;transform:scale(1) rotate(-8deg)}}
@keyframes tourne{to{transform:rotate(360deg)}}

/* ---------- grande phrase défilante ---------- */
.phrases{padding:calc(var(--section) * .9) 0 0;overflow:hidden}
.phrases .ligne{display:flex;white-space:nowrap;will-change:transform}
.phrases .ligne span{font-family:var(--serif);font-size:clamp(40px,6vw,84px);color:var(--vert);padding-right:42px;display:inline-flex;align-items:center;gap:42px}
.phrases .ligne span svg{width:.55em;height:.55em;fill:var(--ambre);flex:none}
.phrases .ligne.deux span{color:transparent;-webkit-text-stroke:1.2px var(--vert)}

/* ---------- hero : modes ---------- */
.hero-cadre .media{transition:object-position .08s linear}
.hero-cadre.plein.rempli{cursor:grab}
.hero-cadre.cote::before{display:none}
.hero-cadre.cote{align-items:center}
.hero-cadre.cote .media{left:auto;right:22px;top:22px;bottom:74px;height:auto;width:calc(46% - 22px);border-radius:20px;cursor:grab}
.hero-cadre.cote .hero-texte{padding:64px 56px 104px;max-width:54%}
.hero-cadre.cote .hero h1,.hero-cadre.cote h1{font-size:clamp(54px,7.4vw,118px)}
.hero-cadre.cote .sticker{right:calc(46% - 70px);top:auto;bottom:110px}

/* ---------- le trio ---------- */
.trio{padding:var(--section) 0 0}
.cartes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gouttiere);align-items:stretch}
.carte{background:#fff;border-radius:var(--r);padding:12px;display:flex;flex-direction:column;transition:transform .4s cubic-bezier(.3,1.4,.5,1),box-shadow .4s}
.carte:hover{transform:translateY(-8px);box-shadow:0 30px 50px -34px rgba(42,33,21,.5)}
.carte .visuel{border-radius:18px;aspect-ratio:4/4.3;position:relative}
.carte .visuel .vide{display:grid;place-items:center;padding:0}
.carte .visuel .vide svg{width:82%;transition:transform .6s cubic-bezier(.3,1.5,.5,1)}
.carte:hover .visuel .vide svg{transform:rotate(-4deg) scale(1.06)}
.carte .visuel .media{transition:transform .9s ease}
.carte:hover .visuel .media{transform:scale(1.05)}
.carte .tag{position:absolute;z-index:3;right:14px;top:14px;background:var(--ivoire);color:var(--vert);border-radius:999px;padding:6px 13px;font-size:12.5px;font-weight:600}
.carte .valide{position:absolute;z-index:3;right:14px;bottom:14px;width:84px;height:84px;opacity:0;transform:rotate(-14deg) scale(0)}
.carte.vu .valide{animation:coup .5s .35s cubic-bezier(.3,1.8,.5,1) forwards}
@keyframes coup{0%{transform:rotate(-40deg) scale(2);opacity:0}100%{transform:rotate(-14deg) scale(1);opacity:1}}
.carte .corps{padding:24px 14px 12px;display:flex;flex-direction:column;flex:1}
.carte .cat{font-size:14px;font-weight:500;color:var(--terracotta)}
.carte h3{font-size:34px;color:var(--vert);margin:2px 0 8px}
.carte .pour{color:#62584a;font-size:15.5px;min-height:3.2em}
.carte .pastilles{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 18px;min-height:30px}
.carte .pastilles button{width:30px;height:30px;border-radius:50%;border:0;padding:0;box-shadow:inset 0 0 0 1px rgba(42,33,21,.2),0 0 0 3px #fff,0 0 0 3px transparent;transition:box-shadow .2s,transform .25s cubic-bezier(.3,1.8,.5,1)}
.carte .pastilles button:hover{transform:scale(1.15)}
.carte .pastilles button[aria-pressed="true"]{box-shadow:inset 0 0 0 1px rgba(42,33,21,.2),0 0 0 3px #fff,0 0 0 4.5px var(--vert)}
.carte .variante{font-size:14px;color:#8a7d69;margin-left:4px;align-self:center}
.carte .bas{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;border-top:1.5px dashed #e4dccb}
.carte .prix{font-family:var(--serif);font-size:28px;color:var(--vert);line-height:1;white-space:nowrap}
.carte .prix small{display:block;font-family:var(--sans);font-size:12.5px;color:#8a7d69;margin-bottom:4px}
.carte .plus-info{display:block;margin-top:12px;font-size:14px;color:#6b604f}
.carte .plus-info a{color:var(--vert);font-weight:500;border-bottom:1px solid currentColor}
.tout-voir{text-align:center;margin-top:48px}
.point-volant{position:fixed;left:0;top:0;z-index:120;width:18px;height:18px;border-radius:50%;background:var(--ambre);pointer-events:none;box-shadow:0 0 0 3px var(--ivoire)}

/* ---------- le patron ---------- */
.patron{background:var(--vert);color:var(--ivoire);padding:var(--section) 0;overflow:hidden;margin-top:calc(var(--section) * .9)}
.patron .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:80px;align-items:center}
.badge-zone{position:relative;display:grid;justify-items:center;perspective:1600px;padding-top:10px;touch-action:none}
.pendule{transform-origin:50% 0;display:grid;justify-items:center;will-change:transform}
.cordon{width:26px;height:110px;background:repeating-linear-gradient(180deg,var(--ambre) 0 14px,#b58940 14px 28px);border-radius:4px 4px 0 0}
.badge{width:min(370px,86vw);margin-top:-6px;cursor:grab;outline-offset:6px;perspective:1600px}
.badge:active{cursor:grabbing}
.badge-in{display:grid;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.3,1.3,.5,1)}
.badge.retournee .badge-in{transform:rotateY(180deg)}
.face{grid-area:1/1;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--ivoire);color:var(--encre);border-radius:22px;padding:24px 26px 20px;box-shadow:0 40px 60px -30px rgba(0,0,0,.55);position:relative}
.verso{transform:rotateY(180deg);display:flex;flex-direction:column}
.trou{width:60px;height:12px;border-radius:6px;background:var(--sable);margin:-6px auto 16px;box-shadow:inset 0 2px 3px rgba(0,0,0,.15)}
.entete{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;color:var(--vert)}
.entete b{font-family:var(--serif);font-weight:400;font-size:18px;letter-spacing:.3em}
.portrait{margin:18px auto 14px;width:176px;height:176px;border-radius:50%;background:var(--vert-clair);box-shadow:0 0 0 6px var(--sable)}
.portrait .vide{background:var(--vert-clair)}
.recto h3{text-align:center;font-size:42px;color:var(--vert)}
.poste{text-align:center;color:var(--terracotta);font-weight:500}
.recto dl{display:grid;grid-template-columns:auto 1fr;gap:7px 14px;margin:18px 0 0;padding-top:14px;border-top:1.5px dashed #dcd2bf;font-size:14.5px}
.recto dt{color:#8a7d69}.recto dd{margin:0;text-align:right;font-weight:500}
.retourner{text-align:center;font-size:12.5px;color:#a2957f;margin-top:14px}
.jauges{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:16px}
.jauges li{display:grid;grid-template-columns:1fr auto;gap:6px 10px;font-size:15px;align-items:center}
.jauges i{grid-column:1/-1;grid-row:2;height:9px;border-radius:9px;background:#e6dece;position:relative;overflow:hidden}
.jauges i::after{content:"";position:absolute;inset:0;width:var(--v);background:var(--vert);border-radius:9px;transform:scaleX(0);transform-origin:left;transition:transform 1.1s cubic-bezier(.3,1.2,.5,1)}
.jauges li:last-child i::after{background:var(--terracotta)}
.badge.retournee .jauges i::after{transform:scaleX(1)}
.badge.retournee .jauges li:nth-child(2) i::after{transition-delay:.15s}.badge.retournee .jauges li:nth-child(3) i::after{transition-delay:.3s}.badge.retournee .jauges li:nth-child(4) i::after{transition-delay:.45s}
.jauges b{font-weight:600;color:var(--vert);font-size:14px}
.avis{margin-top:26px;background:var(--sable);border-radius:14px;padding:16px 18px;font-family:var(--serif);font-size:21px;line-height:1.35;color:var(--cuir)}
.avis small{display:block;font-family:var(--sans);font-size:12.5px;color:#8a7d69;margin-bottom:4px}
.patte-signe{width:62px;fill:var(--terracotta);opacity:.8;margin:18px auto 0;transform:rotate(14deg)}
.verso .retourner{margin-top:auto;padding-top:10px}
.bulle{position:absolute;z-index:3;top:-6px;right:-10px;max-width:220px;background:var(--ambre);color:var(--vert);font-weight:500;font-size:15.5px;line-height:1.35;padding:13px 17px;border-radius:18px 18px 18px 4px;transform:rotate(3deg);transition:transform .35s cubic-bezier(.3,1.8,.5,1)}
.bulle.pop{animation:bulle .5s cubic-bezier(.3,1.8,.5,1)}
@keyframes bulle{0%{transform:scale(.4) rotate(-8deg);opacity:0}100%{transform:scale(1) rotate(3deg);opacity:1}}
.astuce{margin-top:26px;font-size:14px;color:rgba(245,241,232,.55)}
.patron h2{margin-bottom:24px}
.patron .intro{font-size:19.5px;line-height:1.55;color:rgba(245,241,232,.9);max-width:46ch}
.tests{list-style:none;margin:36px 0 40px;padding:0;display:grid;gap:10px}
.test{width:100%;display:flex;align-items:center;gap:16px;cursor:pointer;background:rgba(245,241,232,.07);border:0;border-radius:16px;padding:15px 18px;text-align:left;color:var(--ivoire);transition:background .25s}
.test:hover{background:rgba(245,241,232,.12)}
.test[aria-expanded="true"]{background:var(--ivoire);color:var(--vert);border-radius:16px 16px 0 0}
.test{padding:10px 18px 10px 10px}
.vignette{position:relative;width:64px;height:64px;border-radius:12px;flex:none;background:var(--ambre-clair);overflow:visible}
.vignette .vide{border-radius:12px;display:grid;place-items:center;padding:0}
.vignette .vide svg{width:30px;height:30px;stroke:var(--vert);stroke-width:1.6;fill:none}
.vignette .media{border-radius:12px}
.vignette .num{position:absolute;z-index:4;left:-6px;top:-6px;width:24px;height:24px;border-radius:50%;background:var(--ambre);color:var(--vert);display:grid;place-items:center;font-size:12.5px;font-weight:600;box-shadow:0 0 0 2px var(--vert)}
.test[aria-expanded="true"] .vignette .num{box-shadow:0 0 0 2px var(--ivoire)}
.test .ti{flex:1}
.test .ti b{display:block;font-weight:500;font-size:17px}
.test .ti small{font-size:14px;opacity:.7}
.test .fl{width:22px;height:22px;transition:transform .35s;stroke:currentColor;stroke-width:2;fill:none;flex:none}
.test[aria-expanded="true"] .fl{transform:rotate(180deg)}
.verdict{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.3,1,.4,1)}
.verdict.on{grid-template-rows:1fr}
.verdict > div{overflow:hidden}
.verdict .in{background:var(--ivoire);color:var(--encre);border-radius:0 0 16px 16px;padding:6px 18px 18px 90px;display:flex;align-items:center;gap:18px;position:relative}
.verdict q{flex:1;font-family:var(--serif);font-size:20px;line-height:1.35;color:var(--cuir);quotes:"« " " »"}
.pattes{display:flex;gap:3px;margin-top:8px}
.pattes svg{width:18px;fill:#e2d8c6;transition:fill .2s}
.verdict.on .pattes svg{fill:var(--ambre)}
.verdict.on .pattes svg:nth-child(2){transition-delay:.12s}.verdict.on .pattes svg:nth-child(3){transition-delay:.24s}.verdict.on .pattes svg:nth-child(4){transition-delay:.36s}.verdict.on .pattes svg:nth-child(5){transition-delay:.48s}
.mini-tampon{width:74px;height:74px;flex:none;transform:rotate(-12deg) scale(0);opacity:0}
.verdict.on .mini-tampon{animation:coup .45s .55s cubic-bezier(.3,1.8,.5,1) forwards}

/* ---------- tiroir ---------- */
.voile{position:fixed;inset:0;z-index:100;background:rgba(30,58,47,.45);opacity:0;pointer-events:none;transition:opacity .35s}
.voile.on{opacity:1;pointer-events:auto}
.tiroir{position:fixed;top:0;right:0;bottom:0;z-index:101;width:min(470px,100%);background:var(--ivoire);transform:translateX(105%);transition:transform .55s cubic-bezier(.3,1.2,.4,1);display:flex;flex-direction:column;border-radius:24px 0 0 24px}
.tiroir.on{transform:none}
.tiroir header{display:flex;justify-content:space-between;align-items:flex-start;padding:28px 30px 20px;border-bottom:1.5px dashed #e0d7c5}
.t-cat{font-size:14px;color:var(--terracotta);font-weight:500}
.tiroir h3{font-size:32px;color:var(--vert)}
.fermer{width:44px;height:44px;border-radius:50%;border:0;background:var(--sable);font-size:22px;line-height:1;transition:transform .3s cubic-bezier(.3,1.8,.5,1)}
.fermer:hover{transform:rotate(90deg)}
.t-corps{padding:24px 30px;overflow-y:auto;flex:1}
.t-aide-haut{font-size:15px;color:#62584a}
.tailles{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:18px 0 12px}
.tailles button{border:0;background:#fff;border-radius:14px;padding:13px 0 11px;display:flex;flex-direction:column;align-items:center;font-size:17px;font-weight:600;color:var(--vert);box-shadow:inset 0 0 0 1px #e2d9c7;transition:transform .25s cubic-bezier(.3,1.8,.5,1),background .2s}
.tailles button small{font-size:11.5px;font-weight:400;color:#8a7d69;margin-top:2px}
.tailles button:hover{transform:translateY(-3px)}
.tailles button[aria-pressed="true"]{background:var(--vert);color:var(--ivoire);box-shadow:none}
.tailles button[aria-pressed="true"] small{color:rgba(245,241,232,.75)}
.t-aide{font-size:14.5px;color:#6b604f;min-height:2.6em}
.t-prix{font-family:var(--serif);font-size:40px;color:var(--vert);margin:12px 0 4px}
.t-echange{font-size:14px;color:#8a7d69}
.jauge{margin-top:24px;background:var(--sable);border-radius:16px;padding:16px 18px;font-size:14.5px}
.jauge .barre{height:7px;border-radius:7px;background:#e0d7c3;overflow:hidden;margin-top:10px}
.jauge .barre i{display:block;height:100%;width:0;background:var(--vert);border-radius:7px;transition:width .9s cubic-bezier(.3,1.2,.4,1)}
.tiroir footer{background:none;padding:20px 30px 26px;border-top:1.5px dashed #e0d7c5;margin:0;color:inherit}
.tiroir footer .btn{width:100%}

/* ---------- gamme complète ---------- */
.gamme{margin-top:56px}
.gamme-tete{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.gamme-tete h3{font-size:28px;color:var(--vert)}
.fleches.petites button{width:42px;height:42px}
.gamme-piste{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 4 * var(--gouttiere)) / 5);gap:var(--gouttiere);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:6px}
.gamme-piste::-webkit-scrollbar{display:none}
.mini{scroll-snap-align:start;background:#fff;border-radius:18px;padding:8px;display:flex;flex-direction:column;transition:transform .35s cubic-bezier(.3,1.5,.5,1)}
.mini:hover{transform:translateY(-5px)}
.mini .mv{border-radius:12px;aspect-ratio:1;display:grid;place-items:center}
.mini .mv svg{width:74%;transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.mini:hover .mv svg{transform:rotate(-6deg) scale(1.06)}
.mini .mi{padding:12px 8px 6px;display:flex;justify-content:space-between;align-items:flex-end;gap:8px}
.mini b{font-weight:500;font-size:15.5px;line-height:1.25;color:var(--vert)}
.mini .mp{font-family:var(--serif);font-size:19px;color:var(--vert);white-space:nowrap}
.mini .mp small{font-family:var(--sans);font-size:11.5px;color:#8a7d69;display:block;text-align:right}
.carte.surligne{animation:surligne 1.2s ease}
@keyframes surligne{0%,100%{box-shadow:0 0 0 0 rgba(199,154,78,0)}30%{box-shadow:0 0 0 6px var(--ambre)}}

/* ---------- avis clients ---------- */
.avis-sec{padding:var(--section) 0 0}
.avis-filtres{display:flex;flex-wrap:wrap;gap:8px;margin:-18px 0 30px}
.avis-filtres button{border:0;border-radius:999px;padding:9px 18px;background:#fff;color:var(--vert);font-size:15px;font-weight:500;box-shadow:inset 0 0 0 1px #e2d9c7;transition:background .2s,transform .25s cubic-bezier(.3,1.8,.5,1)}
.avis-filtres button:hover{transform:translateY(-2px)}
.avis-filtres button[aria-pressed="true"]{background:var(--vert);color:var(--ivoire);box-shadow:none}
.avis-grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gouttiere);align-items:start}
.lettre{background:#fff;border-radius:22px;padding:14px;display:flex;flex-direction:column;position:relative;transition:transform .4s cubic-bezier(.3,1.5,.5,1),opacity .3s}
.lettre:nth-child(3n+1){transform:rotate(-.8deg)}.lettre:nth-child(3n+2){transform:rotate(.6deg) translateY(14px)}.lettre:nth-child(3n){transform:rotate(-.4deg)}
.lettre:hover{transform:rotate(0) translateY(-6px)}
.lettre.cache{display:none}
.lettre.entre{animation:entre .5s cubic-bezier(.3,1.5,.5,1)}
@keyframes entre{0%{opacity:0;transform:scale(.92)}100%{opacity:1}}
.lettre .lphoto{border-radius:14px;aspect-ratio:4/3;background:var(--vert-clair)}
.lettre .lphoto .vide{color:var(--vert);font-size:14px}
.lettre .lcorps{padding:18px 8px 6px}
.lettre .pattes-av{display:flex;gap:4px;margin-bottom:10px}
.lettre .pattes-av svg{width:18px;fill:var(--ambre)}
.lettre q{display:block;font-family:var(--serif);font-size:21px;line-height:1.38;color:var(--cuir);quotes:"« " " »"}
.lettre .qui{margin-top:16px;display:flex;justify-content:space-between;align-items:flex-end;gap:10px;padding-top:14px;border-top:1.5px dashed #e6ddcc}
.lettre .qui b{display:block;font-weight:600;font-size:15px;color:var(--vert)}
.lettre .qui span{font-size:13.5px;color:#8a7d69}
.lettre .achat{border:0;background:var(--sable);border-radius:999px;padding:7px 13px;font-size:13px;font-weight:500;color:var(--vert);white-space:nowrap;transition:background .2s}
.lettre .achat:hover{background:var(--ambre-clair)}
.lettre .exemple{position:absolute;z-index:5;top:22px;right:22px;background:rgba(42,33,21,.78);color:var(--ivoire);font-size:11.5px;font-weight:500;border-radius:999px;padding:4px 10px}
.lettre .reponse{margin-top:12px;background:var(--vert);color:var(--ivoire);border-radius:14px 14px 14px 4px;padding:10px 14px;font-size:14px;line-height:1.4}
.lettre .reponse small{display:block;color:var(--ambre);font-weight:600;font-size:12px;margin-bottom:2px}

/* ---------- vidéos achetables ---------- */
.clip .produit-lie{position:absolute;z-index:4;left:12px;right:12px;bottom:12px;display:flex;align-items:center;gap:10px;background:rgba(245,241,232,.95);color:var(--vert);border:0;border-radius:14px;padding:8px 10px 8px 12px;text-align:left;transition:transform .3s cubic-bezier(.3,1.6,.5,1)}
.clip .produit-lie:hover{transform:translateY(-3px)}
.clip .produit-lie span{flex:1;font-size:13.5px;line-height:1.25}
.clip .produit-lie span b{display:block;font-weight:600}
.clip .produit-lie i{width:30px;height:30px;border-radius:50%;background:var(--vert);color:var(--ivoire);display:grid;place-items:center;font-style:normal;font-size:18px;flex:none}
.clip .cap{bottom:62px!important;padding:60px 18px 10px!important;background:none!important;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.clip::after{content:"";position:absolute;z-index:1;left:0;right:0;bottom:0;height:55%;background:linear-gradient(transparent,rgba(20,38,31,.7));pointer-events:none}

/* ---------- verdict relié au produit ---------- */
.teste-sur{display:inline-flex;align-items:center;gap:6px;margin-top:10px;border:0;background:var(--sable);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:500;color:var(--vert)}
.teste-sur:hover{background:var(--ambre-clair)}

/* ---------- vidéos ---------- */
.videos{padding:var(--section) 0 0;overflow:hidden}
.fleches{display:flex;gap:10px}
.fleches button{width:52px;height:52px;border-radius:50%;border:0;background:var(--sable);display:grid;place-items:center;transition:transform .25s cubic-bezier(.3,1.6,.5,1),opacity .2s}
.fleches button:hover{transform:scale(1.1)}
.fleches button:disabled{opacity:.35;transform:none;cursor:default}
.fleches svg{width:18px;stroke:var(--vert);stroke-width:2;fill:none}
.piste{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px max(28px,calc((100vw - var(--w))/2 + 28px)) 16px;scroll-padding:0 max(28px,calc((100vw - var(--w))/2 + 28px))}
.piste::-webkit-scrollbar{display:none}
.clip{flex:0 0 260px;aspect-ratio:9/16;border-radius:22px;scroll-snap-align:start;transition:transform .35s cubic-bezier(.3,1.4,.5,1)}
.clip:nth-child(odd){transform:rotate(-1.2deg)}.clip:nth-child(even){transform:rotate(1.2deg) translateY(10px)}
.clip:hover{transform:rotate(0) scale(1.03)}
.clip .vide{background:linear-gradient(170deg,var(--c1),var(--c2));align-content:end;justify-items:start;text-align:left;padding:20px}
.clip .cap{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:70px 18px 18px;background:linear-gradient(transparent,rgba(20,38,31,.78));color:var(--ivoire);font-size:16px;font-weight:500;line-height:1.3}
.clip .lecture{position:absolute;z-index:2;right:16px;top:16px;width:44px;height:44px;border-radius:50%;background:var(--ivoire);display:grid;place-items:center}
.clip .lecture svg{width:14px;fill:var(--vert);margin-left:2px}

/* ---------- engagements : trois versions à comparer ---------- */
.promo-ic{display:grid;place-items:center;border-radius:50%;flex:none;transition:transform .5s cubic-bezier(.3,1.8,.5,1)}
.promo-ic svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* A. Kylian au centre */
.regles{padding:var(--section) 0 0}
.regles-grille{display:grid;grid-template-columns:1fr minmax(260px,360px) 1fr;gap:40px;align-items:center}
.regles-col{display:grid;gap:28px}
.regle{position:relative;background:#fff;border-radius:22px;padding:24px 26px;display:flex;gap:18px;align-items:flex-start;box-shadow:0 22px 40px -32px rgba(42,33,21,.45);opacity:0;transform:scale(.85);transition:transform .3s cubic-bezier(.3,1.6,.5,1)}
.regles.vu .regle{animation:pop-r .7s cubic-bezier(.3,1.6,.5,1) forwards}
.regles.vu .regle:nth-of-type(2){animation-delay:.15s}
.regles.vu .regles-col.d .regle:nth-of-type(1){animation-delay:.3s}.regles.vu .regles-col.d .regle:nth-of-type(2){animation-delay:.45s}
@keyframes pop-r{to{opacity:1;transform:none}}
.regle:hover .promo-ic{transform:rotate(-14deg) scale(1.12)}
.regle::after{content:"";position:absolute;top:50%;width:18px;height:18px;background:#fff;transform:translateY(-50%) rotate(45deg);border-radius:3px}
.regles-col.g .regle::after{right:-7px}.regles-col.d .regle::after{left:-7px}
.regles-col.g .regle{margin-right:-6px}.regles-col.d .regle{margin-left:-6px}
.regles-col.g .regle:nth-of-type(1){margin-right:40px}.regles-col.d .regle:nth-of-type(2){margin-left:40px}
.regle .promo-ic{width:54px;height:54px;background:var(--ambre-clair);color:var(--vert)}
.regle .promo-ic svg{width:26px;height:26px}
.regle b{display:block;font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.15;color:var(--vert);margin-bottom:6px}
.regle span{font-size:15px;color:#62584a;line-height:1.5}
.regles-centre{position:relative;justify-self:center;width:100%}
.regles-photo{position:relative;width:100%;aspect-ratio:1;border-radius:50%;background:var(--vert);box-shadow:0 0 0 10px var(--ivoire),0 0 0 12px var(--ambre)}
.regles-photo .vide{border-radius:50%;color:rgba(245,241,232,.7);font-size:15px}
.regles-photo .media{border-radius:50%}
.regles-centre .cachet{position:absolute;z-index:4;right:-14px;top:0;width:110px;height:110px;border-radius:50%;background:var(--terracotta);color:var(--ivoire);display:grid;place-items:center;text-align:center;font-family:var(--serif);font-size:18px;line-height:1.1;transform:rotate(10deg);padding:10px}
.regles .tete{justify-content:center;text-align:center;flex-direction:column;align-items:center;gap:14px}
.regles .tete h2{max-width:none}
.regles .tete p{padding-bottom:0}

/* B. Sobre */
.sobre{padding:var(--section) 0 0}
.sobre-grille{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1.5px solid #e2d9c7;border-bottom:1.5px solid #e2d9c7}
.sobre-item{padding:40px 28px;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.sobre-item+.sobre-item{border-left:1.5px solid #e2d9c7}
.sobre-item .promo-ic{width:62px;height:62px;background:var(--vert);color:var(--ambre)}
.sobre-item .promo-ic svg{width:28px;height:28px}
.sobre-item:hover .promo-ic{transform:translateY(-6px) rotate(-10deg)}
.sobre-item b{font-family:var(--serif);font-weight:400;font-size:25px;line-height:1.15;color:var(--vert)}
.sobre-item span{font-size:15.5px;color:#62584a;line-height:1.5}

/* C. Bande sous le hero */
.bande{position:relative;z-index:6;margin-top:-52px}
.bande-grille{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border-radius:22px;padding:20px 8px;box-shadow:0 30px 50px -34px rgba(30,58,47,.45),0 0 0 1px rgba(42,33,21,.04)}
.bande-item{display:flex;align-items:center;gap:14px;padding:6px 22px}
.bande-item+.bande-item{border-left:1.5px dashed #e6ddcc}
.bande-item .promo-ic{width:44px;height:44px;background:var(--vert-clair);color:var(--vert)}
.bande-item .promo-ic svg{width:22px;height:22px}
.bande-item:hover .promo-ic{transform:rotate(-12deg) scale(1.1)}
.bande-item b{display:block;font-weight:600;font-size:15.5px;color:var(--vert);line-height:1.25}
.bande-item span{font-size:13.5px;color:#7a6f5e}

/* ---------- l'appel : VEN AQUÍ devient VENAKI ---------- */
.appel-scene{height:240vh;position:relative}
.appel-colle{position:sticky;top:76px;height:calc(100vh - 76px);display:grid;place-items:center;text-align:center;overflow:hidden;padding:0 16px}
.appel-mot{font-family:var(--serif);font-size:clamp(62px,14.5vw,220px);color:var(--vert);display:flex;justify-content:center;white-space:nowrap;line-height:1;letter-spacing:.03em}
.appel-mot .l{display:inline-block;position:relative}
.appel-mot .l .a,.appel-mot .l .b{display:inline-block;transform-origin:50% 80%}
.appel-mot .l .b{position:absolute;left:0;top:0;opacity:0}
.soulign{height:4px;background:var(--ambre);border-radius:4px;margin:18px auto 0;width:min(60vw,720px);transform:scaleX(0)}
.appel-legende{margin-top:30px;font-size:clamp(18px,1.8vw,24px);color:#5f5546;min-height:1.6em}
.appel-legende em{font-style:normal;color:var(--terracotta)}

/* ---------- histoire ---------- */
.histoire{background:var(--sable);padding:var(--section) 0;margin-top:var(--section)}
.histoire .wrap{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.polas{position:relative;height:560px}
.pola{position:absolute;background:#fff;padding:14px 14px 58px;border-radius:6px;box-shadow:0 30px 50px -30px rgba(42,33,21,.5);transition:transform .5s cubic-bezier(.3,1.5,.5,1)}
.pola .slot{border-radius:3px;aspect-ratio:4/5}
.pola .slot .vide{background:var(--vert-clair);color:var(--vert);font-size:14px}
.pola .legende{position:absolute;left:0;right:0;bottom:16px;text-align:center;font-family:var(--serif);font-size:20px;color:var(--cuir)}
.pola.p1{width:54%;left:0;top:20px;transform:rotate(-6deg)}
.pola.p2{width:48%;right:0;top:170px;transform:rotate(5deg)}
.pola.p1:hover{transform:rotate(-2deg) scale(1.03);z-index:2}
.pola.p2:hover{transform:rotate(1deg) scale(1.03);z-index:2}
.histoire h2{color:var(--vert);margin-bottom:24px}
.histoire p{font-size:19px;color:#5a5041;max-width:44ch;margin-bottom:16px}

/* ---------- famille ---------- */
.famille{padding:0 0 var(--section)}
.famille-carte{position:relative;background:var(--vert);color:var(--ivoire);border-radius:var(--r);padding:80px 60px;text-align:center;overflow:hidden}
.famille h2{margin-bottom:14px}
.famille p{color:rgba(245,241,232,.8);max-width:48ch;margin:0 auto}
.formulaire{display:grid;grid-template-columns:1fr 1.4fr auto;gap:10px;max-width:800px;margin:38px auto 0}
.formulaire input{background:var(--ivoire);border:0;border-radius:999px;color:var(--encre);padding:17px 24px;font:inherit;font-size:16px}
.formulaire input:focus{outline:2.5px solid var(--ambre)}
.famille .legal{font-size:13.5px;color:rgba(245,241,232,.55);margin-top:16px}
.merci{display:none;margin-top:10px}
.merci .grand{font-family:var(--serif);font-size:clamp(34px,4vw,52px)}
.code{display:inline-block;margin-top:18px;padding:12px 26px;border:2px dashed var(--ambre);border-radius:999px;color:var(--ambre);font-weight:600;letter-spacing:.14em;font-size:18px}
.confetti{position:absolute;width:10px;height:14px;border-radius:2px;pointer-events:none;top:40%;left:50%}

/* ---------- pied ---------- */
footer{background:var(--vert);color:rgba(245,241,232,.8);padding:64px 0 20px;font-size:15px;margin-top:0;border-radius:var(--r) var(--r) 0 0}
footer .cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}
footer h4{font-family:var(--serif);font-weight:400;font-size:19px;color:var(--ivoire);margin:0 0 16px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
footer a:hover{color:var(--ivoire)}
footer .base{margin-top:34px;padding-top:20px;border-top:1px solid rgba(245,241,232,.12);display:flex;justify-content:space-between;gap:20px;font-size:13.5px;color:rgba(245,241,232,.5)}
.insta{display:inline-flex;margin-top:18px;background:rgba(245,241,232,.08);border-radius:999px;padding:10px 18px;color:var(--ivoire)}

/* ---------- panneau maquette ---------- */

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .nav ul{display:none}.burger{display:grid}
  .menu-mobile{display:block;position:absolute;left:0;right:0;top:100%;background:var(--ivoire);max-height:0;overflow:hidden;transition:max-height .45s ease;box-shadow:0 20px 30px -20px rgba(0,0,0,.3)}
  .menu-mobile.on{max-height:420px}
  .menu-mobile a{display:block;padding:16px 28px;font-family:var(--serif);font-size:26px;color:var(--vert);border-top:1px solid var(--sable)}
  .cartes{grid-template-columns:repeat(3,minmax(270px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;margin:0 -28px;padding-left:28px;padding-right:28px;scrollbar-width:none}
  .cartes::-webkit-scrollbar{display:none}.carte{scroll-snap-align:center}
  .hero-cadre.cote .media{width:calc(44% - 22px)}
  .patron .wrap,.histoire .wrap{grid-template-columns:1fr;gap:64px}
  .gamme-piste{grid-auto-columns:calc((100% - 2 * var(--gouttiere)) / 3)}
  .avis-grille{grid-template-columns:repeat(2,minmax(0,1fr))}
  .regles-grille{grid-template-columns:1fr 1fr;gap:18px}.regles-centre{grid-column:1/-1;grid-row:1;width:min(300px,76%);margin-bottom:20px}
  .regles-col{gap:18px}.regle{margin:0!important}.regle::after{display:none}
  .sobre-grille{grid-template-columns:repeat(2,minmax(0,1fr))}.sobre-item:nth-child(3){border-left:0}.sobre-item:nth-child(n+3){border-top:1.5px solid #e2d9c7}
  .bande-grille{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:6px;padding:14px 4px}.bande-item:nth-child(3){border-left:0}.bande-item:nth-child(n+3){border-top:1.5px dashed #e6ddcc;padding-top:12px}
  .formulaire{grid-template-columns:1fr}
  footer .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  body{font-size:16px}.wrap{padding:0 18px}
  .nav .wrap{height:64px}.logo{font-size:20px}
  .panier span:first-child{display:none}.panier{padding:9px}
  .hero{padding:0 8px}.hero-cadre{min-height:calc(100svh - 118px);border-radius:20px}
  .hero-texte{padding:0 22px 150px}
  .sticker{width:92px;height:92px;right:14px;top:auto;bottom:86px}
  .tete{flex-direction:column;align-items:flex-start;gap:14px}
  .tete p{padding-bottom:0;font-size:16.5px}
  .cartes{grid-template-columns:repeat(3,82vw);margin:0 -18px;padding-left:18px;padding-right:18px;gap:14px}
  .hero-cadre.cote{flex-direction:column;align-items:stretch;justify-content:flex-start}
  .hero-cadre.cote .media{position:relative;inset:auto;margin:12px;width:calc(100% - 24px);height:auto;aspect-ratio:var(--ratio,1.5);border-radius:14px}
  .hero-cadre.cote .hero-texte{max-width:none;padding:18px 22px 110px}.hero-cadre.cote .sticker{right:26px;bottom:auto;top:22px;width:84px;height:84px}
  .hero-cadre.cote h1{font-size:clamp(44px,12vw,64px)}
  .bulle{right:0;top:-18px;font-size:14px;max-width:190px}
  .verdict .in{padding-left:18px;flex-wrap:wrap}.mini-tampon{width:60px;height:60px}
  .tiroir{border-radius:24px 24px 0 0;top:auto;height:88vh;width:100%;transform:translateY(105%)}
  .tailles button{font-size:15px}
  :root{--section:80px;--tete:34px;--gouttiere:14px}
  .bloc{margin-left:8px;margin-right:8px}
  .clip{flex-basis:210px}
  .badge .patte{top:80px;width:40px}
  .famille-carte{padding:56px 22px}
  .carte .bas .btn{padding:13px 18px;font-size:15px}.carte .prix{font-size:24px}
  .gamme-piste{grid-auto-columns:44%}.gamme-tete h3{font-size:22px}
  .mini .mi{flex-direction:column;align-items:flex-start;gap:2px}.mini .mp small{display:inline;margin-right:4px}
  .avis-grille{grid-template-columns:1fr}.lettre:nth-child(n){transform:none}.avis-filtres{margin-top:-8px}
  .regles-grille{grid-template-columns:1fr}.regle{padding:20px}.regle b{font-size:21px}
  .sobre-grille{grid-template-columns:1fr}.sobre-item+.sobre-item{border-left:0;border-top:1.5px solid #e2d9c7}.sobre-item{padding:26px 6px;flex-direction:row}
  .bande-item span{display:none}.bande{margin-top:-64px}.bande-item{padding:6px 10px;gap:10px}.bande-item b{font-size:13.5px}.bande-item .promo-ic{width:36px;height:36px}.bande-item .promo-ic svg{width:18px;height:18px}
  .appel-colle{top:64px;height:calc(100vh - 64px)}
  .test{padding:8px 14px 8px 8px}.vignette{width:54px;height:54px}.verdict .in{padding-left:18px}
  footer .cols{grid-template-columns:1fr}footer .base{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ================= Vues ================= */

/* ================= BOUTIQUE ================= */
.bq-tete{padding-top:56px}
.bq-intro{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:end;margin-bottom:34px}
.bq-intro h1{font-size:clamp(46px,6vw,86px);color:var(--vert);line-height:1}
.bq-intro p{font-size:18px;color:#5f5546;max-width:44ch;padding-bottom:8px}
.bq-conseil{display:flex;align-items:center;gap:14px;background:#fff;border-radius:18px;padding:10px 18px 10px 10px;max-width:max-content;margin-top:18px;box-shadow:0 14px 30px -26px rgba(42,33,21,.5)}
.bq-conseil .av{width:46px;height:46px;border-radius:50%;background:var(--vert-clair);flex:none}
.bq-conseil .av .vide{font-size:0}
.bq-conseil span{font-size:14.5px;color:var(--vert)}
.bq-conseil b{font-weight:600}

.familles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:22px}
.famille-btn{position:relative;border:0;border-radius:20px;padding:16px 18px 14px;text-align:left;background:#fff;color:var(--vert);display:flex;flex-direction:column;gap:2px;overflow:hidden;transition:transform .35s cubic-bezier(.3,1.6,.5,1),background .25s,color .25s;box-shadow:inset 0 0 0 1px #e8e0cf}
.famille-btn:hover{transform:translateY(-4px)}
.famille-btn b{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.1}
.famille-btn small{font-size:13.5px;opacity:.75}
.famille-btn .fi{position:absolute;right:-8px;bottom:-14px;width:84px;opacity:.95;transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.famille-btn:hover .fi{transform:rotate(-10deg) scale(1.08)}
.famille-btn[aria-pressed="true"]{background:var(--vert);color:var(--ivoire);box-shadow:none}

.barre-filtres{position:sticky;top:76px;z-index:30;background:var(--ivoire);padding:12px 0;display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;border-bottom:1.5px dashed #e2d9c7;margin-bottom:28px}
.barre-filtres.ombre{box-shadow:0 12px 20px -20px rgba(42,33,21,.35)}
.groupe-f{display:flex;align-items:center;gap:8px}
.groupe-f > span{font-size:13.5px;color:#8a7d69;margin-right:2px}
.pastille-f{width:30px;height:30px;border-radius:50%;border:0;padding:0;box-shadow:inset 0 0 0 1px rgba(42,33,21,.2),0 0 0 3px var(--ivoire),0 0 0 3px transparent;transition:box-shadow .2s,transform .25s cubic-bezier(.3,1.8,.5,1)}
.pastille-f:hover{transform:scale(1.15)}
.pastille-f[aria-pressed="true"]{box-shadow:inset 0 0 0 1px rgba(42,33,21,.2),0 0 0 3px var(--ivoire),0 0 0 4.5px var(--vert)}
.taille-f{min-width:40px;height:34px;border:0;border-radius:999px;background:#fff;color:var(--vert);font-weight:600;font-size:13.5px;box-shadow:inset 0 0 0 1px #e2d9c7;transition:background .2s,transform .25s cubic-bezier(.3,1.8,.5,1)}
.taille-f:hover{transform:translateY(-2px)}
.taille-f[aria-pressed="true"]{background:var(--vert);color:var(--ivoire);box-shadow:none}
.tri{margin-left:auto;display:flex;align-items:center;gap:10px}
.tri select{font:inherit;font-size:14.5px;color:var(--vert);background:#fff;border:0;border-radius:999px;padding:9px 34px 9px 16px;box-shadow:inset 0 0 0 1px #e2d9c7;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E3A2F' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:14px}
.compte-res{font-size:14.5px;color:#6b604f}
.compte-res b{color:var(--vert)}
.effacer{border:0;background:none;color:var(--terracotta);font-size:14px;font-weight:500;text-decoration:underline;padding:0}

.bq-grille{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gouttiere);padding-bottom:var(--section)}
.pc{position:relative;background:#fff;border-radius:22px;padding:10px;display:flex;flex-direction:column;cursor:pointer;transition:box-shadow .35s}
.pc:hover{box-shadow:0 26px 44px -32px rgba(42,33,21,.5)}
.pc .pv{position:relative;border-radius:16px;aspect-ratio:1/1.05;display:grid;place-items:center;overflow:hidden}
.pc .pv .vide{display:grid;place-items:center;padding:0}
.pc .pv svg{width:80%;transition:transform .55s cubic-bezier(.3,1.6,.5,1)}
.pc:hover .pv svg{transform:rotate(-5deg) scale(1.07)}
.pc .tag{position:absolute;z-index:3;left:12px;top:12px;background:var(--ivoire);color:var(--vert);border-radius:999px;padding:5px 11px;font-size:12px;font-weight:600}
.pc .tag.t-exclu{background:var(--vert);color:var(--ivoire)}
.pc .rapide{position:absolute;z-index:3;left:12px;right:12px;bottom:12px;border:0;border-radius:999px;background:var(--vert);color:var(--ivoire);padding:12px;font-size:14.5px;font-weight:500;transform:translateY(130%);transition:transform .4s cubic-bezier(.3,1.4,.5,1),background .2s}
.pc:hover .rapide,.pc:focus-within .rapide{transform:none}
.pc .rapide:hover{background:var(--ambre);color:var(--vert)}
.pc .pi{padding:14px 8px 6px;display:flex;flex-direction:column;flex:1}
.pc .pn{font-family:var(--serif);font-size:21px;line-height:1.2;color:var(--vert)}
.pc .pp{font-size:14px;color:#6b604f;margin:4px 0 12px;flex:1}
.pc .pbas{display:flex;justify-content:space-between;align-items:center;gap:8px}
.pc .ppx{font-weight:600;font-size:16.5px;color:var(--encre);white-space:nowrap}
.pc .ppx small{font-weight:400;font-size:12.5px;color:#8a7d69;margin-right:3px}
.pc .mini-past{display:flex;gap:5px}
.pc .mini-past button{width:18px;height:18px;border-radius:50%;border:0;padding:0;box-shadow:inset 0 0 0 1px rgba(42,33,21,.2),0 0 0 2px #fff,0 0 0 2px transparent}
.pc .mini-past button[aria-pressed="true"]{box-shadow:inset 0 0 0 1px rgba(42,33,21,.2),0 0 0 2px #fff,0 0 0 3.5px var(--vert)}
.pc.cache{display:none}

.interlude{grid-column:span 2;border-radius:22px;padding:34px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;min-height:100%}
.interlude h3{font-size:clamp(28px,2.6vw,38px);line-height:1.12;max-width:15ch}
.interlude p{font-size:15.5px;max-width:34ch;margin-top:12px;opacity:.85}
.interlude .btn{margin-top:22px;align-self:flex-start}
.i-kylian{background:var(--vert);color:var(--ivoire);display:grid;grid-template-columns:1fr 42%;gap:24px;align-items:center}
.i-kylian .ph{border-radius:50%;aspect-ratio:1;background:var(--vert-2);box-shadow:0 0 0 8px rgba(245,241,232,.08)}
.i-kylian .ph .vide{font-size:13px;color:rgba(245,241,232,.6);border-radius:50%}
.i-kylian .ph .media{border-radius:50%}
.i-cadeau{background:var(--terracotta);color:var(--ivoire)}
.i-cadeau .ruban{position:absolute;right:-30px;top:-10px;width:230px;opacity:.95;transform:rotate(12deg)}
.i-cadeau .btn{background:var(--ivoire);color:var(--terracotta)}
.vide-res{grid-column:1/-1;text-align:center;padding:60px 20px}
.vide-res b{display:block;font-family:var(--serif);font-weight:400;font-size:30px;color:var(--vert);margin-bottom:8px}

/* ================= FICHE PRODUIT ================= */
.fp{padding-top:28px}
.fil{font-size:14px;color:#8a7d69;margin-bottom:22px;display:flex;gap:8px;flex-wrap:wrap}
.fil button{border:0;background:none;padding:0;color:var(--vert);font-size:14px;font-weight:500}
.fil button:hover{text-decoration:underline}
.fp-grille{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:56px;align-items:start}
.galerie{position:sticky;top:96px;display:grid;grid-template-columns:78px minmax(0,1fr);gap:14px}
.vignettes{display:grid;gap:10px;align-content:start}
.vg{position:relative;width:78px;height:78px;border-radius:14px;border:0;padding:0;background:var(--sable);overflow:hidden;box-shadow:0 0 0 2px transparent;transition:box-shadow .2s,transform .25s cubic-bezier(.3,1.8,.5,1)}
.vg:hover{transform:scale(1.05)}
.vg[aria-pressed="true"]{box-shadow:0 0 0 2.5px var(--vert)}
.vg svg{width:78%;margin:auto}
.vg .vg-l{position:absolute;inset:auto 0 4px;font-size:10.5px;color:var(--vert);text-align:center;font-weight:500}
.vg img,.vg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.scene-p{position:relative;border-radius:26px;aspect-ratio:1/1.02;overflow:hidden;cursor:zoom-in}
.scene-p .vue-g{position:absolute;inset:0;opacity:0;transition:opacity .45s ease;display:grid;place-items:center}
.scene-p .vue-g.on{opacity:1}
.scene-p .vue-g > .vide{display:grid;place-items:center;text-align:center}
.scene-p .vue-g svg{width:78%;transition:transform .3s ease}
.scene-p .vue-g .legende-v{position:absolute;left:0;right:0;bottom:24px;text-align:center;font-size:14px;color:var(--vert);opacity:.75}
.scene-p .vue-g.slot .media{transition:transform .25s ease}
.scene-p.zoom .vue-g.on .media{transform:scale(1.8)}
.scene-p .tag-g{position:absolute;z-index:6;right:18px;top:18px;background:var(--vert);color:var(--ivoire);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600}
.scene-p .tampon-g{position:absolute;z-index:6;right:18px;bottom:18px;width:96px;height:96px;transform:rotate(-12deg)}
.scene-p .nav-g{position:absolute;z-index:6;top:50%;width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.9);display:grid;place-items:center;transform:translateY(-50%);transition:transform .25s cubic-bezier(.3,1.8,.5,1)}
.scene-p .nav-g:hover{transform:translateY(-50%) scale(1.1)}
.scene-p .nav-g svg{width:18px!important;stroke:var(--vert);stroke-width:2;fill:none}
.scene-p .nav-g.g{left:16px}.scene-p .nav-g.d{right:16px}
.points-g{display:none}

.achat{padding-top:6px}
.achat .cat-a{font-size:14px;font-weight:500;color:var(--terracotta)}
.achat h1{font-size:clamp(40px,4.2vw,58px);color:var(--vert);line-height:1.05;margin:4px 0 10px}
.achat .pour-a{font-size:18px;color:#5f5546;margin-bottom:16px}
.avis-a{display:flex;align-items:center;gap:10px;font-size:14px;color:#8a7d69;margin-bottom:22px}
.avis-a .pat{display:flex;gap:3px}.avis-a .pat svg{width:16px;fill:#e0d6c3}
.prix-a{display:flex;align-items:baseline;gap:12px;margin-bottom:26px;padding-bottom:22px;border-bottom:1.5px dashed #e2d9c7}
.prix-a .px{font-family:var(--serif);font-size:44px;color:var(--vert);line-height:1}
.prix-a .px.bump{animation:bump .45s cubic-bezier(.3,1.8,.5,1)}
@keyframes bump{40%{transform:scale(1.12);color:var(--terracotta)}}
.prix-a small{font-size:14px;color:#8a7d69}
.bloc-a{margin-bottom:24px}
.bloc-a .lab{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;font-size:15px}
.bloc-a .lab b{font-weight:600;color:var(--vert)}
.bloc-a .lab span{color:#6b604f}
.bloc-a .lab button{border:0;background:none;padding:0;color:var(--vert);font-size:14px;font-weight:500;text-decoration:underline}
.coloris-a{display:flex;flex-wrap:wrap;gap:10px}
.coloris-a button{display:flex;align-items:center;gap:9px;border:0;border-radius:999px;background:#fff;padding:6px 16px 6px 6px;font-size:14.5px;color:var(--vert);box-shadow:inset 0 0 0 1px #e2d9c7;transition:box-shadow .2s,transform .25s cubic-bezier(.3,1.8,.5,1)}
.coloris-a button:hover{transform:translateY(-2px)}
.coloris-a button i{width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(42,33,21,.18)}
.coloris-a button[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--vert)}
.tailles-a{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.tailles-a button{border:0;border-radius:14px;background:#fff;padding:12px 0 10px;display:flex;flex-direction:column;align-items:center;font-size:17px;font-weight:600;color:var(--vert);box-shadow:inset 0 0 0 1px #e2d9c7;transition:transform .25s cubic-bezier(.3,1.8,.5,1),background .2s}
.tailles-a button small{font-size:11.5px;font-weight:400;color:#8a7d69;margin-top:2px}
.tailles-a button:hover{transform:translateY(-3px)}
.tailles-a button[aria-pressed="true"]{background:var(--vert);color:var(--ivoire);box-shadow:none}
.tailles-a button[aria-pressed="true"] small{color:rgba(245,241,232,.75)}
.aide-a{margin-top:10px;font-size:14px;color:#6b604f;min-height:1.5em}
.aide-a.alerte{color:var(--terracotta);font-weight:500}
.ligne-achat{display:grid;grid-template-columns:auto 1fr;gap:10px;margin-top:6px}
.qte{display:flex;align-items:center;background:#fff;border-radius:999px;box-shadow:inset 0 0 0 1px #e2d9c7}
.qte button{width:46px;height:56px;border:0;background:none;font-size:22px;color:var(--vert)}
.qte span{min-width:26px;text-align:center;font-weight:600}
.btn-achat{height:56px;font-size:17px}
.jauge-a{margin-top:14px;font-size:14px;color:#6b604f}
.jauge-a .barre{height:6px;border-radius:6px;background:#e6dece;overflow:hidden;margin-top:8px}
.jauge-a .barre i{display:block;height:100%;width:0;background:var(--vert);border-radius:6px;transition:width .8s cubic-bezier(.3,1.2,.4,1)}
.garanties{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:22px}
.garanties div{background:#fff;border-radius:14px;padding:12px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;font-size:12.5px;color:var(--vert);line-height:1.3}
.garanties svg{width:22px;height:22px;stroke:var(--vert);stroke-width:1.5;fill:none}

.verdict-a{margin-top:26px;background:var(--vert);color:var(--ivoire);border-radius:20px;padding:18px;display:flex;gap:16px;align-items:center;position:relative}
.verdict-a .ph{width:74px;height:74px;border-radius:50%;background:var(--vert-2);flex:none}
.verdict-a .ph .vide{font-size:0;border-radius:50%}
.verdict-a .ph .media{border-radius:50%}
.verdict-a small{display:block;color:var(--ambre);font-weight:600;font-size:12.5px;margin-bottom:2px}
.verdict-a q{font-family:var(--serif);font-size:19px;line-height:1.35;quotes:"« " " »"}
.verdict-a .mini-t{width:62px;height:62px;flex:none;margin-left:auto;transform:rotate(-12deg)}

.accordeons{margin-top:26px;border-top:1.5px dashed #e2d9c7}
.acc{border-bottom:1.5px dashed #e2d9c7}
.acc > button{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;background:none;padding:18px 2px;font-family:var(--serif);font-size:21px;color:var(--vert);text-align:left}
.acc > button i{width:30px;height:30px;border-radius:50%;background:#fff;display:grid;place-items:center;font-style:normal;font-family:var(--sans);font-size:20px;transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.acc > button[aria-expanded="true"] i{transform:rotate(45deg);background:var(--ambre-clair)}
.acc .contenu{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s ease}
.acc .contenu.on{grid-template-rows:1fr}
.acc .contenu > div{overflow:hidden}
.acc .contenu .in{padding:0 2px 20px;font-size:15.5px;color:#5f5546;line-height:1.6}
.acc table{width:100%;border-collapse:collapse;font-size:14.5px;margin-top:6px}
.acc th,.acc td{padding:9px 8px;text-align:left;border-bottom:1px solid #ebe3d3}
.acc th{color:var(--vert);font-weight:600}
.acc tr.retenue td{background:var(--ambre-clair);font-weight:600;color:var(--vert)}

.boite{padding:var(--section) 0 0}
.boite-grille{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.piece{background:#fff;border-radius:20px;padding:10px 10px 14px;border:0;text-align:center;transition:transform .35s cubic-bezier(.3,1.6,.5,1),box-shadow .3s}
.piece:hover,.piece[aria-pressed="true"]{transform:translateY(-8px) rotate(-1.5deg);box-shadow:0 24px 36px -28px rgba(42,33,21,.5)}
.piece .pz{border-radius:14px;aspect-ratio:1;background:var(--sable);display:grid;place-items:center}
.piece .pz svg{width:76%}
.piece b{display:block;font-weight:500;font-size:15px;color:var(--vert);margin-top:10px}
.piece small{font-size:12.5px;color:#8a7d69}
.boite-detail{margin-top:18px;background:var(--sable);border-radius:18px;padding:16px 20px;font-size:15.5px;color:var(--vert);min-height:56px;display:flex;align-items:center;gap:12px}
.boite-detail b{font-family:var(--serif);font-weight:400;font-size:20px}

.assorti{padding:var(--section) 0}
.assorti-grille{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gouttiere)}

.barre-mobile{position:fixed;z-index:60;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));background:var(--vert);color:var(--ivoire);border-radius:18px;padding:10px 10px 10px 18px;display:none;align-items:center;gap:12px;transform:translateY(140%);transition:transform .45s cubic-bezier(.3,1.4,.5,1)}
.barre-mobile.on{transform:none}
.barre-mobile .bm-n{flex:1;font-size:14px;line-height:1.25}
.barre-mobile .bm-n b{display:block;font-family:var(--serif);font-weight:400;font-size:18px}
.barre-mobile .btn{padding:12px 18px}

/* ================= Panier ================= */
.panier-t{position:fixed;top:0;right:0;bottom:0;z-index:101;width:min(440px,100%);background:var(--ivoire);transform:translateX(105%);transition:transform .55s cubic-bezier(.3,1.2,.4,1);display:flex;flex-direction:column;border-radius:24px 0 0 24px}
.panier-t.on{transform:none}
.panier-t header{display:flex;justify-content:space-between;align-items:center;padding:24px 26px;border-bottom:1.5px dashed #e0d7c5}
.panier-t header h3{font-size:30px;color:var(--vert)}
.panier-t .liste{flex:1;overflow-y:auto;padding:16px 26px;display:grid;gap:12px;align-content:start}
.ligne-p{display:grid;grid-template-columns:70px 1fr auto;gap:12px;align-items:center;background:#fff;border-radius:16px;padding:8px}
.ligne-p .lv{width:70px;height:70px;border-radius:12px;display:grid;place-items:center}
.ligne-p .lv svg{width:80%}
.ligne-p b{display:block;font-size:15px;font-weight:500;color:var(--vert);line-height:1.25}
.ligne-p span{font-size:13px;color:#8a7d69}
.ligne-p .lx{text-align:right;font-weight:600;font-size:15px;padding-right:6px}
.ligne-p .lx button{display:block;margin-left:auto;margin-top:4px;border:0;background:none;color:#a2957f;font-size:12.5px;text-decoration:underline;padding:0}
.panier-vide{text-align:center;padding:50px 10px;color:#6b604f}
.panier-vide b{display:block;font-family:var(--serif);font-weight:400;font-size:26px;color:var(--vert);margin-bottom:6px}
.panier-t footer{background:none;color:inherit;padding:18px 26px 24px;border-top:1.5px dashed #e0d7c5;margin:0;border-radius:0}
.panier-t .total{display:flex;justify-content:space-between;font-size:16px;margin:12px 0 16px}
.panier-t .total b{font-family:var(--serif);font-weight:400;font-size:26px;color:var(--vert)}
.panier-t footer .btn{width:100%}

@media (max-width:1080px){
  .familles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bq-grille{grid-template-columns:repeat(3,minmax(0,1fr))}
  .interlude{grid-column:span 3}
  .fp-grille{grid-template-columns:1fr;gap:34px}
  .galerie{position:relative;top:0}
  .boite-grille{grid-template-columns:repeat(3,minmax(0,1fr))}
  .assorti-grille{grid-template-columns:repeat(2,minmax(0,1fr))}
  .barre-filtres{top:64px}
}
@media (max-width:640px){
  .bq-tete{padding-top:30px}
  .bq-intro{grid-template-columns:1fr;gap:12px}
  .familles{display:flex;overflow-x:auto;scrollbar-width:none;margin:0 -18px 16px;padding:4px 18px}
  .familles::-webkit-scrollbar{display:none}
  .famille-btn{flex:0 0 150px}
  .barre-filtres{gap:10px 14px}.tri{margin-left:0}
  .bq-grille{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .interlude{grid-column:span 2;padding:24px}
  .i-kylian{grid-template-columns:1fr 38%}
  .pc{padding:6px;border-radius:18px}.pc .pn{font-size:17px}.pc .pp{display:none}.pc .rapide{display:none}.pc .pbas{flex-direction:column;align-items:flex-start;gap:6px}
  .galerie{grid-template-columns:1fr}
  .vignettes{display:none}
  .points-g{display:flex;justify-content:center;gap:6px;margin-top:10px}
  .points-g i{width:7px;height:7px;border-radius:50%;background:#d8cfbd}.points-g i.on{background:var(--vert);width:20px;border-radius:4px}
  .tailles-a button{font-size:15px}
  .garanties{grid-template-columns:1fr 1fr 1fr}.garanties div{font-size:11.5px;padding:10px 6px}
  .boite-grille{grid-template-columns:repeat(2,minmax(0,1fr))}
  .assorti-grille{grid-template-columns:repeat(2,minmax(0,1fr))}
  .barre-mobile{display:flex}
}

/* ================= Le rappel (hero épinglé) ================= */
.rappel{position:relative;height:320vh;padding:0 16px}
.rappel-colle{position:sticky;top:92px;height:calc(100vh - 108px);min-height:560px;border-radius:var(--r);overflow:hidden;background:var(--vert);color:var(--ivoire)}
.rappel-fond{position:absolute;inset:0}
.rappel-fond svg{width:100%;height:100%}
.rappel-photos .slot{position:absolute;inset:0;opacity:0;transition:opacity .2s linear}
.rappel-photos .slot.rempli{background:#000}
.rappel-photos .slot .vide{display:none}
.rappel-photos .slot .media{transform-origin:50% 55%}
.rappel-voile{position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,38,31,.72),transparent 55%);pointer-events:none;opacity:0;transition:opacity .4s}
.rappel.photos .rappel-voile{opacity:1}
.etape{position:absolute;left:56px;right:56px;bottom:64px;opacity:0;transform:translateY(24px);transition:opacity .5s,transform .6s cubic-bezier(.3,1.3,.5,1);pointer-events:none}
.etape.on{opacity:1;transform:none;pointer-events:auto}
.etape .petit{font-size:17px;color:rgba(245,241,232,.75);margin-bottom:10px}
.etape h1{font-size:clamp(54px,8vw,120px);line-height:1}
.etape.e2{left:0;right:0;bottom:auto;top:33%;transform:translateY(-40%) scale(.9);text-align:center}
.etape.e2.on{transform:translateY(-50%)}
.etape.e2 h1{font-size:clamp(80px,15vw,230px);letter-spacing:.01em}
.etape h1,.etape .petit,.etape .trad{text-shadow:0 2px 24px rgba(20,38,31,.45)}
.etape.e2 .trad{font-size:20px;color:var(--ambre);margin-top:6px}
.ecouter{display:inline-flex;align-items:center;gap:10px;margin-top:22px;border:0;border-radius:999px;background:var(--ivoire);color:var(--vert);padding:12px 20px 12px 14px;font-size:15px;font-weight:500;transition:transform .3s cubic-bezier(.3,1.8,.5,1)}
.ecouter:hover{transform:scale(1.05)}
.ecouter i{width:30px;height:30px;border-radius:50%;background:var(--ambre);display:grid;place-items:center;font-style:normal}
.ecouter i svg{width:14px;fill:var(--vert)}
.ecouter.joue i{animation:pulse .7s ease infinite alternate}
@keyframes pulse{to{transform:scale(1.2)}}
.rappel-progres{position:absolute;right:28px;top:50%;transform:translateY(-50%);display:grid;gap:10px}
.rappel-progres i{width:4px;height:34px;border-radius:4px;background:rgba(245,241,232,.25);position:relative;overflow:hidden}
.rappel-progres i b{position:absolute;inset:0;background:var(--ambre);transform-origin:top;transform:scaleY(0)}
.defiler{position:absolute;left:56px;top:40px;font-size:14px;color:rgba(245,241,232,.6);transition:opacity .4s}

/* ================= Chapitres ================= */
.chap{padding:var(--section) 0 0}
.chap-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:center}
.chap h2{color:var(--vert);margin-bottom:26px}
.chap .corps p{font-size:19px;line-height:1.65;color:#4f463a;max-width:46ch;margin-bottom:18px}
.chap .corps p em{font-style:normal;color:var(--terracotta)}
.fiche-k{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:30px;max-width:520px}
.fiche-k div{background:#fff;border-radius:18px;padding:16px;text-align:center;transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.fiche-k div:hover{transform:translateY(-6px) rotate(-2deg)}
.fiche-k b{display:block;font-family:var(--serif);font-weight:400;font-size:34px;color:var(--vert);line-height:1.1}
.fiche-k span{font-size:13.5px;color:#8a7d69}
.pola-h{position:relative;background:#fff;padding:16px 16px 70px;border-radius:6px;box-shadow:0 34px 60px -34px rgba(42,33,21,.55);transform:rotate(-3deg);transition:transform .5s cubic-bezier(.3,1.5,.5,1);max-width:480px;justify-self:center;width:100%}
.pola-h:hover{transform:rotate(0) scale(1.02)}
.pola-h.droite{transform:rotate(3deg)}
.pola-h .slot{aspect-ratio:4/5;border-radius:3px;background:var(--vert-clair)}
.pola-h .slot .vide{color:var(--vert);font-size:15px}
.pola-h .leg{position:absolute;left:0;right:0;bottom:22px;text-align:center;font-family:var(--serif);font-size:22px;color:var(--cuir)}
.scotch{position:absolute;top:-14px;left:50%;width:120px;height:30px;margin-left:-60px;background:rgba(243,227,196,.85);transform:rotate(-4deg)}

/* écriture du neveu */
@keyframes trace{70%{stroke-dashoffset:0;fill:transparent}100%{stroke-dashoffset:0;fill:var(--vert)}}
@keyframes tombe-l{to{opacity:1;transform:none}}

/* ================= Manifeste horizontal ================= */
.manifeste{position:relative;margin-top:var(--section)}
.manifeste-colle{position:sticky;top:76px;height:calc(100vh - 76px);display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.manifeste .tete{margin-bottom:34px}
.piste-m{display:flex;gap:24px;padding:0 max(28px,calc((100vw - var(--w))/2 + 28px));will-change:transform}
.carte-m{flex:0 0 min(520px,78vw);border-radius:26px;padding:14px;display:flex;flex-direction:column;background:#fff;transition:transform .45s cubic-bezier(.3,1.4,.5,1)}
.carte-m:nth-child(odd){transform:rotate(-1deg)}.carte-m:nth-child(even){transform:rotate(1deg) translateY(18px)}
.carte-m:hover{transform:rotate(0) translateY(-6px)}
.carte-m .slot{border-radius:18px;aspect-ratio:16/10}
.carte-m .slot .vide{font-size:15px;color:var(--vert);padding:30px}
.carte-m .txt{padding:22px 14px 14px}
.carte-m h3{font-size:clamp(30px,2.8vw,40px);line-height:1.08;color:var(--vert);margin-bottom:12px}
.carte-m p{font-size:16.5px;color:#5f5546;line-height:1.55}
.m-barre{margin:40px auto 0;width:min(320px,60vw);height:5px;border-radius:5px;background:#e3dac8;overflow:hidden}
.m-barre i{display:block;height:100%;width:100%;background:var(--vert);transform-origin:left;transform:scaleX(0)}

/* ================= Comment il est devenu commercial + équipe ================= */
.promo{background:var(--vert);color:var(--ivoire);padding:var(--section) 0;margin-top:var(--section)}
.promo-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:70px;align-items:center}
.promo h2{margin-bottom:22px}
.promo .corps p{font-size:19px;line-height:1.6;color:rgba(245,241,232,.88);max-width:44ch;margin-bottom:16px}
.promo .corps p b{color:var(--ambre);font-weight:500}
.hola{display:inline-flex;align-items:center;gap:12px;margin-top:10px;background:rgba(245,241,232,.08);border-radius:999px;padding:10px 18px 10px 10px}
.hola span{width:36px;height:36px;border-radius:50%;background:var(--ambre);display:grid;place-items:center;color:var(--vert);font-weight:600}

/* ================= Mur des appels ================= */
.mur{padding:var(--section) 0 0}
.mur-form{display:grid;grid-template-columns:1.3fr 1fr auto;gap:10px;max-width:760px;margin-bottom:12px}
.mur-form input{border:0;border-radius:999px;background:#fff;padding:16px 22px;font:inherit;font-size:16px;color:var(--encre);box-shadow:inset 0 0 0 1px #e2d9c7}
.mur-form input:focus{outline:2.5px solid var(--ambre)}
.mur-aide{font-size:13.5px;color:#8a7d69;margin-bottom:34px;min-height:1.3em}
.mur-aide.erreur{color:var(--terracotta);font-weight:500}
.postits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.postit{position:relative;border-radius:4px 4px 20px 4px;padding:26px 22px 20px;min-height:170px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 18px 30px -22px rgba(42,33,21,.45);transition:transform .4s cubic-bezier(.3,1.6,.5,1)}
.postit:hover{transform:rotate(0) scale(1.04)!important;z-index:2}
.postit .mot-p{font-family:"Gochi Hand",cursive;font-size:34px;line-height:1.1;color:var(--vert)}
.postit .qui-p{font-size:14px;color:#6b604f}
.postit .punaise{position:absolute;top:-8px;left:50%;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:var(--terracotta);box-shadow:0 3px 4px rgba(0,0,0,.25)}
.postit.nouveau{animation:colle .7s cubic-bezier(.3,1.7,.5,1)}
@keyframes colle{0%{transform:scale(1.6) rotate(-14deg);opacity:0}100%{opacity:1}}
.postit .ex{position:absolute;right:10px;top:10px;font-size:11px;background:rgba(42,33,21,.7);color:var(--ivoire);border-radius:999px;padding:2px 8px}

/* ================= Ce qu'on fabrique ================= */
.fabrique{padding:var(--section) 0}
.fab-grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gouttiere)}
.fab{background:#fff;border-radius:24px;padding:12px;display:flex;flex-direction:column;transition:transform .4s cubic-bezier(.3,1.4,.5,1),box-shadow .4s}
.fab:hover{transform:translateY(-8px);box-shadow:0 30px 50px -34px rgba(42,33,21,.5)}
.fab .fv{border-radius:18px;aspect-ratio:4/3.4;display:grid;place-items:center}
.fab .fv svg{width:74%;transition:transform .55s cubic-bezier(.3,1.6,.5,1)}
.fab:hover .fv svg{transform:rotate(-5deg) scale(1.06)}
.fab .fi{padding:18px 10px 8px;display:flex;justify-content:space-between;align-items:flex-end;gap:10px}
.fab h3{font-size:28px;color:var(--vert)}
.fab p{font-size:14.5px;color:#6b604f}
.fab .fx{font-family:var(--serif);font-size:22px;color:var(--vert);white-space:nowrap}
.fab .fx small{display:block;font-family:var(--sans);font-size:12px;color:#8a7d69;text-align:right}

@media (max-width:1080px){
  .chap-grille,.promo-grille{grid-template-columns:1fr;gap:50px}
  .postits{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fab-grille{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .rappel{padding:0 8px;height:300vh}
  .rappel-colle{top:72px;height:calc(100vh - 84px);border-radius:20px}
  .etape{left:22px;right:22px;bottom:auto;top:64px}
  .etape.e2{top:40%}
  .defiler{top:20px}
  .defiler{left:22px}
  .rappel-progres{right:12px}
  .fiche-k b{font-size:26px}
  .manifeste{margin-top:var(--section)}
  .manifeste-colle{position:relative;top:0;height:auto}
  .piste-m{overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 18px 20px;scrollbar-width:none;transform:none!important}
  .piste-m::-webkit-scrollbar{display:none}
  .carte-m{scroll-snap-align:center}
  .m-barre{display:none}
  .mur-form{grid-template-columns:1fr}
  .postits{gap:12px}.postit .mot-p{font-size:26px}.postit{padding:20px 14px 14px;min-height:140px}
  .fab-grille{grid-template-columns:1fr}
}

/* ================= Album de Kylian ================= */
.album{justify-self:center;width:100%;max-width:470px;display:grid;justify-items:center;padding-right:40px}
.pile{position:relative;width:100%;aspect-ratio:4/5.6;touch-action:pan-y}
.pola-a{position:absolute;inset:0;margin:0;background:#fff;padding:16px 16px 70px;border-radius:6px;box-shadow:0 30px 50px -34px rgba(42,33,21,.55);transition:transform .55s cubic-bezier(.3,1.3,.5,1);user-select:none}
.pola-a.dessus{cursor:grab}.pola-a.dessus:active{cursor:grabbing}
.pola-a .slot{height:100%;border-radius:3px}
.pola-a .slot .vide{color:var(--vert);font-size:15px}
.pola-a .media{pointer-events:none}
.pola-a figcaption{position:absolute;left:0;right:0;bottom:22px;text-align:center;font-family:var(--serif);font-size:22px;color:var(--cuir)}
.album-nav{display:flex;align-items:center;gap:18px;margin-top:40px}
.album-nav button{width:48px;height:48px;border-radius:50%;border:0;background:#fff;display:grid;place-items:center;transition:transform .25s cubic-bezier(.3,1.8,.5,1)}
.album-nav button:hover{transform:scale(1.1)}
.album-nav svg{width:18px;stroke:var(--vert);stroke-width:2;fill:none}
.album-nav span{font-size:15px;color:#6b604f;min-width:48px;text-align:center}
.album-aide{margin-top:8px;font-size:13.5px;color:#8a7d69}

/* ================= Réseaux de Kylian ================= */
.reseaux{display:grid;grid-template-columns:1fr 1fr;gap:26px;justify-items:center}
.reseau{display:flex;flex-direction:column;align-items:center;gap:18px;text-decoration:none;transition:transform .45s cubic-bezier(.3,1.4,.5,1)}
.r-insta{transform:rotate(-4deg)}.r-tiktok{transform:rotate(4deg) translateY(30px)}
.reseau:hover{transform:rotate(0) translateY(-8px)}
.tel{position:relative;width:min(230px,38vw);aspect-ratio:9/18;border-radius:34px;background:#111;padding:10px;box-shadow:0 40px 60px -30px rgba(0,0,0,.6)}
.tel::before{content:"";position:absolute;top:18px;left:50%;width:60px;height:8px;margin-left:-30px;border-radius:8px;background:#222;z-index:5}
.tel .slot{display:block;position:relative;width:100%;height:100%;border-radius:26px;overflow:hidden}
.r-insta .tel .slot{background:linear-gradient(160deg,#F3E3C4,#F1DCD2)}
.r-tiktok .tel .slot{background:linear-gradient(160deg,#DDE7E0,#E9DFE8)}
.tel .slot .vide{display:grid;place-items:center}
.logo-r{width:64px;height:64px;fill:none;stroke:var(--vert);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.logo-r .pt{fill:var(--vert);stroke:none}
.tel .lire{position:absolute;z-index:4;right:22px;top:40px;width:40px;height:40px;border-radius:50%;background:rgba(245,241,232,.92);display:grid;place-items:center}
.tel .lire svg{width:14px;fill:var(--vert);margin-left:2px}
.r-info{display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--ivoire)}
.r-info b{font-family:var(--serif);font-weight:400;font-size:28px}
.r-info > span:not(.suivre){font-size:15px;color:rgba(245,241,232,.7)}
.suivre{margin-top:12px;background:var(--ambre);color:var(--vert);border-radius:999px;padding:11px 26px;font-weight:500;font-size:15px;transition:transform .3s cubic-bezier(.3,1.8,.5,1)}
.reseau:hover .suivre{transform:scale(1.08)}
.carte-m h3{font-size:clamp(38px,3.6vw,54px)}
@media (max-width:640px){
  .reseaux{gap:14px}.tel{width:42vw;border-radius:26px;padding:7px}.tel .slot{border-radius:20px}.r-info b{font-size:22px}.r-info > span:not(.suivre){font-size:12.5px}
  .pola-a figcaption{font-size:18px;bottom:18px}.pola-a{padding:12px 12px 56px}
}

/* ================= Ajouts propres au thème ================= */
.evitement{position:absolute;left:-9999px;top:0;z-index:200;background:var(--vert);color:var(--ivoire);padding:12px 18px;border-radius:0 0 12px 0}
.evitement:focus{left:0}
.piege{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.logo-img{height:38px;width:auto;display:block}
.nav ul li{list-style:none}
.menu-mobile ul{list-style:none;margin:0;padding:0}
.nav .current-menu-item > a,.nav .current_page_item > a{background:var(--sable)}
.illu{display:grid;place-items:center;width:100%;height:100%}
.illu svg{max-width:100%;max-height:100%}
.etape .h1-like{font-family:var(--serif);font-weight:400;margin:0;line-height:1;font-size:clamp(54px,8vw,120px)}
.etape.e2 .h1-like{font-size:clamp(80px,15vw,230px);letter-spacing:.01em}
.etape .h1-like{text-shadow:0 2px 24px rgba(20,38,31,.45)}
.hero-cadre .media{object-position:var(--cadrage,center)}
.hero-cadre.rempli .vide{opacity:0}
.carte .nom a,.pc .pn{color:inherit;text-decoration:none}
.pc .pn{display:block}
.pc .pv-lien{position:absolute;inset:0;display:grid;place-items:center}
.pc .pv .media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pc .pv .illu svg{width:80%}
.mini .mv img,.fab .fv img,.ligne-p .lv img,.vg img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.mini .mv,.fab .fv{overflow:hidden}
.mini .mv .illu svg{width:74%}
.fab .fv .illu svg{width:74%}
.ligne-p .lv{overflow:hidden}
.ligne-p .lv .illu svg{width:80%}
.carte .visuel{display:block;overflow:hidden}
.carte .visuel .vide{position:absolute;inset:0}
.carte .visuel .media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.carte .visuel .illu svg{width:82%}
.lettre .lphoto{display:block;position:relative;overflow:hidden}
.lettre .lphoto .illu svg{width:60%}
.lettre .achat{text-decoration:none}
.teste-sur{text-decoration:none}
.coloris-a a{display:flex;align-items:center;gap:9px;border-radius:999px;background:#fff;padding:6px 16px 6px 6px;font-size:14.5px;color:var(--vert);box-shadow:inset 0 0 0 1px #e2d9c7;text-decoration:none;transition:box-shadow .2s,transform .25s cubic-bezier(.3,1.8,.5,1)}
.coloris-a a:hover{transform:translateY(-2px)}
.coloris-a a i{width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(42,33,21,.18)}
.coloris-a a[aria-current="true"]{box-shadow:inset 0 0 0 2px var(--vert)}
.fil a{color:var(--vert);font-weight:500;text-decoration:none}
.fil a:hover{text-decoration:underline}
.scene-p .vue-g .media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.scene-p .vue-g .illu svg{width:78%}
.vg .illu svg{width:78%}
.bq-conseil .av{display:grid;place-items:center}
.bq-conseil .av svg{width:24px;fill:var(--vert)}
.famille-btn .fi svg{width:100%}
.piece .pz .illu svg{width:76%}
.verdict-a .ph{position:relative;overflow:hidden;display:grid;place-items:center}
.verdict-a .ph .vide{position:absolute;inset:0;display:grid;place-items:center}
.verdict-a .ph .vide svg{width:30px;fill:var(--ambre)}
.verdict-a .ph .media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.avis-a{text-decoration:none}
.avis-a .pat.pleines svg{fill:var(--ambre)}
.rupture{background:var(--sable);border-radius:14px;padding:14px 18px;color:var(--vert);font-weight:500}
.interlude[hidden],.pc[hidden]{display:none}
.slot{position:relative}
.slot > .vide{position:absolute;inset:0}
.slot > .media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vignette .vide{display:grid;place-items:center}
.pola-a .slot{position:relative;overflow:hidden}
.clip{position:relative;overflow:hidden}
.formulaire .piege,.mur-form .piege{display:none}
.message-erreur{color:#F3C98B}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,140%);z-index:130;background:var(--encre);color:var(--ivoire);padding:12px 20px;border-radius:999px;font-size:15px;transition:transform .45s cubic-bezier(.3,1.4,.5,1)}
.toast.on{transform:translate(-50%,0)}

/* Pages de texte (CGV, mentions légales, etc.) */
.page-simple{padding:70px 28px 110px}
.contenu-texte{max-width:760px;margin:0 auto}
.contenu-texte h1{font-size:clamp(40px,5vw,64px);color:var(--vert);margin-bottom:30px}
.contenu-texte h2{font-size:30px;color:var(--vert);margin:40px 0 12px}
.contenu-texte h3{font-size:22px;color:var(--vert);margin:28px 0 8px}
.contenu-texte p,.contenu-texte li{font-size:17px;line-height:1.7;color:#4f463a}
.contenu-texte p{margin:0 0 16px}
.contenu-texte ul,.contenu-texte ol{margin:0 0 18px;padding-left:22px}
.contenu-texte li{margin-bottom:8px}
.contenu-texte strong{color:var(--vert);font-weight:600}
.contenu-texte em{color:#8a7d69}
.contenu-texte a{color:var(--vert)}
.page-404{text-align:center}

/* Panier, commande et compte WooCommerce : habillage aux couleurs Venaki */
.woocommerce-cart .page-simple .contenu-texte,.woocommerce-checkout .page-simple .contenu-texte,.woocommerce-account .page-simple .contenu-texte{max-width:1100px}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wc-block-components-button,.wp-element-button,.woocommerce #respond input#submit{background:var(--vert)!important;color:var(--ivoire)!important;border-radius:999px!important;font-family:var(--sans)!important;font-weight:500!important;padding:14px 26px!important;border:0!important}
.woocommerce a.button:hover,.woocommerce button.button:hover,.wc-block-components-button:hover{background:var(--vert-2)!important}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.wc-block-components-text-input input,.wc-block-components-combobox input{border-radius:12px!important;border:1px solid #e2d9c7!important;background:#fff!important;font-family:var(--sans)!important}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner{border-radius:14px!important;border-top-color:var(--ambre)!important;background:var(--sable)!important;color:var(--encre)!important}
.woocommerce table.shop_table{border-radius:18px;border-color:#e2d9c7}
.woocommerce .price,.woocommerce-Price-amount{color:inherit}
.avis-produit{padding:var(--section) 0}
.avis-produit .woocommerce-Reviews-title,.avis-produit #reply-title{font-family:var(--serif);font-weight:400;font-size:34px;color:var(--vert)}
.avis-produit .commentlist{list-style:none;padding:0;display:grid;gap:14px}
.avis-produit .commentlist li{background:#fff;border-radius:18px;padding:18px 20px}
.avis-produit .comment-form textarea,.avis-produit .comment-form input[type=text],.avis-produit .comment-form input[type=email]{width:100%;border-radius:12px;border:1px solid #e2d9c7;padding:12px;font:inherit}
.avis-produit .star-rating{position:relative;width:110px;height:20px;overflow:hidden;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60' fill='%23E0D6C3'%3E%3Cellipse cx='30' cy='38' rx='13' ry='11'/%3E%3Cellipse cx='15' cy='22' rx='5' ry='7' transform='rotate(-20 15 22)'/%3E%3Cellipse cx='25' cy='14' rx='5' ry='7'/%3E%3Cellipse cx='36' cy='14' rx='5' ry='7'/%3E%3Cellipse cx='46' cy='22' rx='5' ry='7' transform='rotate(20 46 22)'/%3E%3C/svg%3E") 0 0/22px 20px repeat-x;margin:6px 0}
.avis-produit .star-rating span{position:absolute;inset:0 auto 0 0;overflow:hidden;text-indent:-9999px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60' fill='%23C79A4E'%3E%3Cellipse cx='30' cy='38' rx='13' ry='11'/%3E%3Cellipse cx='15' cy='22' rx='5' ry='7' transform='rotate(-20 15 22)'/%3E%3Cellipse cx='25' cy='14' rx='5' ry='7'/%3E%3Cellipse cx='36' cy='14' rx='5' ry='7'/%3E%3Cellipse cx='46' cy='22' rx='5' ry='7' transform='rotate(20 46 22)'/%3E%3C/svg%3E") 0 0/22px 20px repeat-x}
.avis-produit p.stars{margin:6px 0 14px}
.avis-produit p.stars span{display:flex;gap:4px}
.avis-produit p.stars a{display:block;width:30px;height:28px;text-indent:-9999px;overflow:hidden;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60' fill='%23E0D6C3'%3E%3Cellipse cx='30' cy='38' rx='13' ry='11'/%3E%3Cellipse cx='15' cy='22' rx='5' ry='7' transform='rotate(-20 15 22)'/%3E%3Cellipse cx='25' cy='14' rx='5' ry='7'/%3E%3Cellipse cx='36' cy='14' rx='5' ry='7'/%3E%3Cellipse cx='46' cy='22' rx='5' ry='7' transform='rotate(20 46 22)'/%3E%3C/svg%3E") center/26px no-repeat;transition:transform .2s}
.avis-produit p.stars a:hover{transform:scale(1.15)}
.avis-produit p.stars:hover a,.avis-produit p.stars.selected a.active,.avis-produit p.stars.selected a:not(.active){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60' fill='%23C79A4E'%3E%3Cellipse cx='30' cy='38' rx='13' ry='11'/%3E%3Cellipse cx='15' cy='22' rx='5' ry='7' transform='rotate(-20 15 22)'/%3E%3Cellipse cx='25' cy='14' rx='5' ry='7'/%3E%3Cellipse cx='36' cy='14' rx='5' ry='7'/%3E%3Cellipse cx='46' cy='22' rx='5' ry='7' transform='rotate(20 46 22)'/%3E%3C/svg%3E")}
.avis-produit p.stars a:hover ~ a,.avis-produit p.stars.selected a.active ~ a{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60' fill='%23E0D6C3'%3E%3Cellipse cx='30' cy='38' rx='13' ry='11'/%3E%3Cellipse cx='15' cy='22' rx='5' ry='7' transform='rotate(-20 15 22)'/%3E%3Cellipse cx='25' cy='14' rx='5' ry='7'/%3E%3Cellipse cx='36' cy='14' rx='5' ry='7'/%3E%3Cellipse cx='46' cy='22' rx='5' ry='7' transform='rotate(20 46 22)'/%3E%3C/svg%3E")}

/* ================= Quelle taille ? ================= */
.taille-page{padding-bottom:var(--section)}
.taille-tete{padding-top:64px;margin-bottom:40px}
.taille-tete h1{font-size:clamp(46px,6vw,86px);color:var(--vert);line-height:1;margin-bottom:16px}
.taille-tete p{font-size:19px;color:#5f5546;max-width:52ch}
.guide{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;align-items:start}
.guide-carte{background:var(--vert);color:var(--ivoire);border-radius:var(--r);padding:34px 40px 40px;min-height:560px;position:relative}
.guide-haut{display:flex;justify-content:space-between;align-items:center;min-height:36px;margin-bottom:18px}
.retour-g{display:inline-flex;align-items:center;gap:8px;border:0;background:rgba(245,241,232,.08);color:var(--ivoire);border-radius:999px;padding:8px 16px 8px 12px;font-size:14.5px}
.retour-g svg{width:18px;stroke:currentColor;stroke-width:2;fill:none}
.retour-g:hover{background:rgba(245,241,232,.16)}
.retour-g[hidden]{display:none}
.points{display:flex;gap:6px;margin-left:auto}
.points i{width:8px;height:8px;border-radius:8px;background:rgba(245,241,232,.25);transition:width .35s,background .35s}
.points i.on{width:26px;background:var(--ambre)}
.etape-g{display:none}
.etape-g.on{display:block}
.etape-g h2{font-size:clamp(30px,3vw,42px);line-height:1.1;margin-bottom:24px}
.portes{display:grid;gap:12px}
.porte{display:flex;align-items:center;gap:18px;width:100%;text-align:left;border:0;border-radius:20px;background:var(--ivoire);color:var(--vert);padding:18px 22px;transition:transform .35s cubic-bezier(.3,1.6,.5,1),background .2s}
.porte:hover{transform:translateX(6px);background:#fff}
.porte .p-ic{width:52px;height:52px;border-radius:50%;background:var(--vert-clair);display:grid;place-items:center;flex:none}
.porte .p-ic svg{width:26px;height:26px;stroke:var(--vert);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.porte .p-t{flex:1;display:flex;flex-direction:column}
.porte b{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.15}
.porte small{font-size:14px;color:#8a7d69}
.porte > svg{width:22px;stroke:var(--vert);stroke-width:2;fill:none;transition:transform .3s;flex:none}
.porte:hover > svg{transform:translateX(4px)}
.comment{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:10px}
.comment li{display:flex;gap:12px;align-items:flex-start;font-size:16px;color:rgba(245,241,232,.85)}
.comment li b{flex:none;width:28px;height:28px;border-radius:50%;background:var(--ambre);color:var(--vert);display:grid;place-items:center;font-size:14px}
.champ-mesure,.champ-poids{display:flex;align-items:baseline;gap:10px;background:rgba(245,241,232,.08);border-radius:20px;padding:10px 22px;max-width:260px}
.champ-mesure input,.champ-poids input{width:140px;border:0;background:none;color:var(--ivoire);font-family:var(--serif);font-size:64px;line-height:1.1;-moz-appearance:textfield}
.champ-mesure input::-webkit-outer-spin-button,.champ-mesure input::-webkit-inner-spin-button,.champ-poids input::-webkit-outer-spin-button,.champ-poids input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.champ-mesure input:focus,.champ-poids input:focus{outline:none}
.champ-mesure input::placeholder,.champ-poids input::placeholder{color:rgba(245,241,232,.25)}
.champ-mesure span,.champ-poids span{font-size:22px;color:var(--ambre)}
.curseur{width:100%;max-width:440px;margin:22px 0 6px;accent-color:var(--ambre)}
.sans-metre{margin:14px 0 24px;border-top:1px solid rgba(245,241,232,.15);padding-top:14px}
.sans-metre summary{cursor:pointer;color:var(--ambre);font-weight:500;list-style:none}
.sans-metre summary::-webkit-details-marker{display:none}
.sans-metre summary::before{content:"+ "}
.sans-metre[open] summary::before{content:"− "}
.sm-choix{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.sm-choix > div{background:rgba(245,241,232,.07);border-radius:16px;padding:16px}
.sm-choix b{display:block;margin-bottom:6px}
.sm-choix p{font-size:14px;color:rgba(245,241,232,.75);line-height:1.5;margin-bottom:10px}
.btn-contour-vert{background:var(--ivoire);color:var(--vert);padding:10px 16px;font-size:14px}
.suivant-g[disabled]{opacity:.35;pointer-events:none}
.guide-carte .btn-vert{background:var(--ambre);color:var(--vert)}
.guide-carte .btn-vert:hover{background:var(--ivoire)}
.recherche-race{position:relative}
.recherche-race input{width:100%;border:0;border-radius:18px;background:var(--ivoire);color:var(--encre);font:inherit;font-size:18px;padding:18px 20px}
.recherche-race input:focus{outline:3px solid var(--ambre)}
#raceListe{list-style:none;margin:8px 0 0;padding:6px;background:#fff;border-radius:18px;display:none;position:absolute;left:0;right:0;z-index:5;box-shadow:0 24px 40px -24px rgba(0,0,0,.5)}
#raceListe.on{display:block}
#raceListe li{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:12px;color:var(--vert);cursor:pointer}
#raceListe li b{font-weight:500}
#raceListe li span{background:var(--ambre-clair);border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600}
#raceListe li:hover,#raceListe li.actif{background:var(--sable)}
#raceListe li.aucune{color:#8a7d69;cursor:default}
.aide-g{font-size:14px;color:rgba(245,241,232,.65);margin-top:14px}
.poids{margin-top:22px;animation:entre .45s cubic-bezier(.3,1.5,.5,1)}
.poids[hidden]{display:none}
.question-poids{font-size:17px;margin-bottom:12px}
.question-poids span{color:var(--ambre)}
.poids-actions{display:flex;align-items:center;gap:16px;margin-top:18px}
.lien-g{border:0;background:none;color:var(--ivoire);text-decoration:underline;font-size:15px;padding:0}
.lien-g[hidden]{display:none}
.options-g{display:grid;gap:10px}
.options-g.trois{grid-template-columns:repeat(3,minmax(0,1fr))}
.options-g button{border:0;border-radius:18px;background:var(--ivoire);color:var(--vert);padding:16px 20px;text-align:left;display:flex;flex-direction:column;gap:2px;transition:transform .3s cubic-bezier(.3,1.6,.5,1),background .2s}
.options-g button:hover{transform:translateX(5px);background:#fff}
.options-g.trois button:hover{transform:translateY(-4px)}
.options-g b{font-family:var(--serif);font-weight:400;font-size:22px}
.options-g small{font-size:14px;color:#8a7d69}
.res-tete{display:flex;gap:22px;align-items:center;margin-bottom:22px}
.res-taille{flex:none;width:110px;height:110px;border-radius:50%;background:var(--ambre);color:var(--vert);display:grid;place-items:center;font-family:var(--serif);font-size:44px}
.res-taille.bump{animation:bump .5s cubic-bezier(.3,1.8,.5,1)}
.res-tete h2{margin-bottom:6px!important}
.res-tete p{font-size:15.5px;line-height:1.55;color:rgba(245,241,232,.85)}
.fiabilite{display:inline-block;border-radius:999px;padding:4px 12px;font-size:12.5px;font-weight:600;margin-bottom:8px}
.fiabilite.sure{background:var(--vert-clair);color:var(--vert)}
.fiabilite.estime{background:rgba(199,154,78,.2);color:var(--ambre)}
.retenir{margin-top:22px;background:rgba(245,241,232,.07);border-radius:18px;padding:16px 18px}
.retenir[hidden]{display:none}
.retenir label{display:block;font-size:14.5px;margin-bottom:10px;color:rgba(245,241,232,.8)}
.retenir-ligne{display:flex;gap:10px}
.retenir-ligne input{flex:1;min-width:0;border:0;border-radius:999px;background:var(--ivoire);font:inherit;font-size:16px;padding:12px 18px}
.retenu{margin-top:10px;font-size:14.5px;color:var(--ambre)}
.retenu[hidden]{display:none}
.res-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:22px}
.res-actions .btn[hidden]{display:none}
.guide-cote{position:sticky;top:100px;display:grid;gap:18px}
.kylian-dit{display:flex;gap:14px;align-items:flex-start;background:#fff;border-radius:20px;padding:16px 18px}
.kd-av{width:46px;height:46px;border-radius:50%;background:var(--vert);display:grid;place-items:center;flex:none}
.kd-av svg{width:24px;fill:var(--ambre)}
.kylian-dit small{display:block;color:var(--terracotta);font-weight:600;font-size:12.5px;margin-bottom:2px}
.kylian-dit span{font-family:var(--serif);font-size:19px;line-height:1.35;color:var(--vert)}
.plages{position:relative;display:grid;gap:12px}
.guide-cote .plages{background:#fff;border-radius:20px;padding:46px 20px 20px}
.ligne-plage{display:grid;grid-template-columns:40px 1fr;align-items:center;gap:12px}
.lp-t{font-weight:600;font-size:15px;color:var(--vert)}
.rail{position:relative;height:32px;background:var(--sable);border-radius:999px}
.plage{position:absolute;top:0;bottom:0;border-radius:999px;background:#e2d9c7;color:#6b604f;display:flex;align-items:center;justify-content:center;transition:background .3s,color .3s,transform .4s cubic-bezier(.3,1.6,.5,1)}
.plage i{font-style:normal;font-size:12px;white-space:nowrap}
.plage.on{background:var(--ambre);color:var(--vert);font-weight:600;transform:scaleY(1.15)}
.plages .zone{position:absolute;top:40px;bottom:16px;background:rgba(199,154,78,.14);border-left:1.5px dashed var(--ambre);border-right:1.5px dashed var(--ambre);pointer-events:none;transition:left .4s,width .4s}
.plages .zone[hidden],.plages .repere[hidden]{display:none}
.repere{position:absolute;top:36px;bottom:14px;width:2px;background:var(--vert);transform:translateX(-1px);pointer-events:none;transition:left .35s cubic-bezier(.3,1.3,.5,1)}
.repere b{position:absolute;top:-4px;left:50%;transform:translate(-50%,-100%);background:var(--vert);color:var(--ivoire);font-size:12.5px;border-radius:999px;padding:3px 10px;white-space:nowrap}
.petites-plages{background:rgba(245,241,232,.06);border-radius:18px;padding:44px 16px 14px}
.petites-plages .rail{background:rgba(245,241,232,.08)}
.petites-plages .plage{background:rgba(245,241,232,.18);color:rgba(245,241,232,.8)}
.petites-plages .plage.on{background:var(--ambre);color:var(--vert)}
.petites-plages .lp-t{color:var(--ivoire)}
.petites-plages .repere{top:34px;background:var(--ivoire)}
.petites-plages .repere b{background:var(--ivoire);color:var(--vert)}
.petites-plages .zone{top:38px;bottom:10px;background:rgba(199,154,78,.18)}
.plages-note{font-size:14px;color:#6b604f}
.puce-taille{margin-left:8px;border:0;border-radius:999px;background:var(--ambre-clair);color:var(--vert);font-weight:600;font-size:13px;padding:8px 14px}
.puce-taille.on{background:var(--ambre)}
.tableau-bloc{margin-top:var(--section)}
.tableau-tailles{width:100%;border-collapse:separate;border-spacing:0 8px;font-size:16px}
.tableau-tailles th{text-align:left;font-weight:500;color:#8a7d69;padding:0 20px 4px;font-size:14px}
.tableau-tailles td{background:#fff;padding:16px 20px;color:var(--vert);cursor:pointer}
.tableau-tailles td:first-child{border-radius:14px 0 0 14px}
.tableau-tailles td:last-child{border-radius:0 14px 14px 0}
.tableau-tailles tr.retenue td{background:var(--ambre-clair);font-weight:600}
.echange-t{margin-top:var(--section);display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:center;background:var(--sable);border-radius:var(--r);padding:34px}
.ech-photo{aspect-ratio:1;border-radius:50%;background:var(--vert);overflow:hidden}
.ech-photo .vide{display:grid;place-items:center}
.ech-photo .vide svg{width:70px;stroke:var(--ambre);stroke-width:1.5;fill:none}
.echange-t h2{font-size:clamp(30px,3vw,42px);color:var(--vert);margin-bottom:12px}
.echange-t p{font-size:17px;color:#5f5546;max-width:48ch;margin-bottom:20px}
@media (max-width:1080px){.guide{grid-template-columns:1fr}.guide-cote{position:relative;top:0}}
@media (max-width:640px){
  .taille-tete{padding-top:34px;margin-bottom:24px}
  .guide-carte{padding:22px 18px 26px;border-radius:24px;min-height:0}
  .porte{padding:14px 16px;gap:12px}.porte b{font-size:20px}.porte .p-ic{width:42px;height:42px}
  .champ-mesure input,.champ-poids input{font-size:52px;width:120px}
  .sm-choix{grid-template-columns:1fr}
  .options-g.trois{grid-template-columns:1fr}
  .res-tete{flex-direction:column;align-items:flex-start;gap:14px}.res-taille{width:84px;height:84px;font-size:34px}
  .retenir-ligne{flex-direction:column}
  .guide-cote .plages,.guide-cote .plages-note{display:none}
  .tableau-tailles{font-size:14px}.tableau-tailles td,.tableau-tailles th{padding:12px 10px}
  .echange-t{grid-template-columns:1fr;padding:24px;text-align:center}.ech-photo{width:160px;margin:0 auto}.echange-t p{margin-left:auto;margin-right:auto}
}

/* Barre d'administration WordPress (visible seulement connecté) */
.admin-bar .nav{top:32px}
.admin-bar .barre-filtres{top:108px}
.admin-bar .tiroir,.admin-bar .panier-t{top:32px}
@media (max-width:782px){.admin-bar .nav{top:46px}.admin-bar .tiroir,.admin-bar .panier-t{top:46px}}
@media (max-width:600px){.admin-bar .nav{top:0}}

/* ================= Bandeau cookies ================= */
.cookies{position:fixed;z-index:140;left:16px;bottom:16px;width:min(440px,calc(100% - 32px));background:#fff;color:var(--encre);border-radius:22px;padding:20px;box-shadow:0 30px 60px -28px rgba(30,58,47,.55),0 0 0 1px rgba(42,33,21,.06);transform:translateY(130%);transition:transform .5s cubic-bezier(.3,1.3,.5,1)}
.cookies.on{transform:none}
.ck-tete{display:flex;gap:14px;align-items:flex-start}
.ck-ic{width:44px;height:44px;border-radius:50%;background:var(--vert);display:grid;place-items:center;flex:none}
.ck-ic svg{width:22px;fill:var(--ambre)}
.ck-tete b{display:block;font-family:var(--serif);font-weight:400;font-size:21px;color:var(--vert);margin-bottom:4px}
.ck-tete p{font-size:14px;line-height:1.5;color:#5f5546}
.ck-tete a{color:var(--vert)}
.ck-details{margin-top:14px;display:grid;gap:8px}
.ck-details[hidden]{display:none}
.ck-ligne{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--sable);border-radius:14px;padding:10px 14px;cursor:pointer}
.ck-ligne b{display:block;font-size:14.5px;color:var(--vert)}
.ck-ligne small{font-size:12.5px;color:#6b604f}
.ck-ligne input{width:20px;height:20px;accent-color:var(--vert);flex:none}
.ck-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.ck-actions .btn{padding:12px 14px;font-size:14.5px;justify-content:center}
.ck-actions .btn-vert{grid-column:1/-1}
.ck-refuser,.ck-perso{background:var(--sable);color:var(--vert)}
.ck-refuser:hover,.ck-perso:hover{background:var(--ambre-clair)}
@media (max-width:640px){.cookies{left:8px;right:8px;bottom:8px;width:auto;padding:16px}}

/* ================= Drop limité et précommandes ================= */
.drop{padding:var(--section) 0 0}
.drop-carte{background:var(--vert);color:var(--ivoire);border-radius:var(--r);padding:44px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:36px;align-items:center;position:relative;overflow:hidden}
.drop-pastille{display:inline-block;background:var(--ambre);color:var(--vert);border-radius:999px;padding:5px 14px;font-size:13px;font-weight:600;letter-spacing:.02em}
.drop-tete h2{font-size:clamp(34px,3.6vw,52px);line-height:1.05;margin:14px 0 12px}
.drop-tete p{font-size:16.5px;line-height:1.6;color:rgba(245,241,232,.85)}
.drop-modeles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.drop-modele{background:var(--ivoire);color:var(--vert);border-radius:20px;padding:10px 10px 14px;display:flex;flex-direction:column;gap:8px;text-decoration:none;transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.drop-modele:hover{transform:translateY(-6px) rotate(-1deg)}
.dm-visuel{border-radius:14px;aspect-ratio:1;background:#F1DCD2;display:grid;place-items:center;overflow:hidden}
.dm-visuel img{width:100%;height:100%;object-fit:cover}
.dm-visuel .illu svg{width:86%}
.dm-nom{font-family:var(--serif);font-size:19px;line-height:1.15;padding:0 4px}
.dm-bas{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:0 4px;margin-top:auto}
.dm-prix{font-weight:600;font-size:15px}
.dm-cta{font-size:12.5px;font-weight:600;background:var(--vert);color:var(--ivoire);border-radius:999px;padding:6px 10px;white-space:nowrap}
.drop-modele.epuise{opacity:.7}
.drop-modele.epuise .dm-cta{background:var(--sable);color:var(--vert)}
.drop-note{grid-column:1/-1;font-size:14px;color:rgba(245,241,232,.7);margin-top:-10px}
.jauge-drop{display:grid;gap:5px;padding:0 4px}
.jauge-drop .jd-barre{height:6px;border-radius:6px;background:#e3dac8;overflow:hidden}
.jauge-drop .jd-barre i{display:block;height:100%;background:var(--vert);border-radius:6px;transform-origin:left;animation:jauge-in 1.2s cubic-bezier(.3,1.2,.4,1)}
.jauge-drop span{font-size:12.5px;font-weight:600;color:var(--vert)}
.jauge-drop.presque .jd-barre i{background:var(--terracotta)}
.jauge-drop.presque span{color:var(--terracotta)}
.jauge-drop.epuise span{color:#8a7d69}
@keyframes jauge-in{from{transform:scaleX(0)}}
.carte .jauge-drop{margin:0 0 14px;padding:0}
.drop-fiche{background:#fff;border-radius:18px;padding:16px 18px;margin:0 0 20px;display:grid;gap:10px}
.drop-fiche p{font-size:15px;color:var(--vert)}
.drop-fiche .jauge-drop{padding:0}
.drop-fiche .jauge-drop span{font-size:14px}
.rebours{font-size:14px;color:var(--vert);margin-top:12px}
.rebours .rb-temps{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.rebours.rb-clair{color:rgba(245,241,232,.9)}
.rebours.rb-clair .rb-temps{color:var(--ambre)}
.note-precommande-fiche{margin-top:14px;background:var(--ambre-clair);border-radius:14px;padding:10px 14px;font-size:14px;color:var(--vert)}
.note-precommande{background:var(--ambre-clair);border-radius:14px;padding:12px 16px;margin:0 0 18px;color:var(--vert);font-size:15px}
.t-precommande{font-size:13.5px;color:var(--vert);background:var(--ambre-clair);border-radius:12px;padding:8px 12px;margin-bottom:10px}
.tailles-a button[disabled],.tailles button[disabled]{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.rupture p{font-size:14.5px;margin:6px 0 10px;font-weight:400}
.attente{display:flex;gap:8px}
.attente input[type=email]{flex:1;min-width:0;border:0;border-radius:999px;padding:12px 16px;font:inherit;background:#fff}
.attente-msg{font-size:14px;margin-top:8px}
@media (max-width:1080px){.drop-carte{grid-template-columns:1fr}.drop-modeles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.drop-carte{padding:24px 16px;border-radius:24px}.drop-modeles{gap:8px}.dm-nom{font-size:16px}.dm-bas{flex-direction:column;align-items:flex-start}.attente{flex-direction:column}}

/* Série limitée : v1.0.6 */
.point-live{display:inline-block;width:8px;height:8px;border-radius:50%;background:#C23B22;margin-right:8px;vertical-align:1px;box-shadow:0 0 0 0 rgba(194,59,34,.6);animation:live 1.6s infinite}
@keyframes live{70%{box-shadow:0 0 0 8px rgba(194,59,34,0)}100%{box-shadow:0 0 0 0 rgba(194,59,34,0)}}
.drop-pastille{text-transform:uppercase;letter-spacing:.08em;font-size:12px}
.drop-garanties{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:8px}
.drop-garanties li{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--ivoire)}
.drop-garanties svg{width:20px;height:20px;stroke:var(--ambre);stroke-width:1.6;fill:none}
.rebours.statique{font-size:14px}
.rebours.rb-clair.statique b{color:var(--ambre)}
.jd-preuve{font-size:12px;color:#6b604f;font-weight:500}
.drop-fiche .drop-pastille{justify-self:start;background:var(--vert);color:var(--ivoire)}
.pc .tag.t-exclu{white-space:nowrap}
.recent{position:fixed;z-index:120;left:16px;bottom:16px;display:flex;align-items:center;gap:12px;background:#fff;color:var(--vert);border-radius:16px;padding:12px 16px;box-shadow:0 20px 40px -24px rgba(30,58,47,.55),0 0 0 1px rgba(42,33,21,.06);text-decoration:none;transform:translateY(140%);transition:transform .5s cubic-bezier(.3,1.3,.5,1);max-width:calc(100% - 32px)}
.recent.on{transform:none}
.recent b{display:block;font-size:14px;font-weight:600}
.recent small{font-size:12.5px;color:#8a7d69}
.rc-point{width:10px;height:10px;border-radius:50%;background:#3E9B5F;flex:none;box-shadow:0 0 0 4px rgba(62,155,95,.18)}
@media (max-width:640px){.recent{left:8px;right:8px;bottom:8px}}
.dm-bas{flex-wrap:wrap;row-gap:8px}
.dm-cta{flex:1 1 auto;text-align:center}

/* ================= Compte, fidélité, contact, pied de page — v1.0.7 ================= */
.lien-compte{display:flex;align-items:center;gap:8px;color:var(--vert);text-decoration:none;font-size:14.5px;padding:6px 10px;border-radius:999px;transition:background .2s}
.lien-compte:hover{background:var(--sable)}
.lien-compte svg{width:22px;height:22px;stroke:var(--vert);stroke-width:1.6;fill:none;flex:none}
.lien-compte span{display:flex;flex-direction:column;line-height:1.15}
.lien-compte small{font-size:11.5px;color:var(--terracotta);font-weight:600}
.lien-compte.connecte{background:var(--vert-clair)}
.mm-compte{display:block;margin-top:10px;padding-top:12px;border-top:1.5px dashed #e2d9c7;font-weight:600;color:var(--vert)}
@media (max-width:900px){.lien-compte span{display:none}.lien-compte{padding:6px}}

.compte-points{display:grid;gap:18px}
.cp-tete{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--vert);color:var(--ivoire);border-radius:22px;padding:26px 28px}
.cp-niveau{display:inline-block;background:var(--ambre);color:var(--vert);border-radius:999px;padding:5px 14px;font-size:12.5px;font-weight:600;margin-bottom:10px}
.cp-tete h2{font-family:var(--serif);font-weight:400;font-size:52px;line-height:1;margin:0 0 6px;color:var(--ivoire)}
.cp-tete h2 small{font-size:20px;color:var(--ambre)}
.cp-tete p{font-size:14.5px;color:rgba(245,241,232,.8)}
.cp-patte{width:74px;height:74px;border-radius:50%;background:rgba(245,241,232,.08);display:grid;place-items:center;flex:none}
.cp-patte svg{width:38px;fill:var(--ambre)}
.cp-progres{background:#fff;border-radius:18px;padding:18px 20px}
.cp-barre{height:8px;border-radius:8px;background:var(--sable);overflow:hidden;margin-bottom:10px}
.cp-barre i{display:block;height:100%;background:var(--ambre);border-radius:8px}
.cp-progres p{font-size:14.5px;color:#5f5546}
.cp-echange{display:flex;justify-content:space-between;align-items:center;gap:18px;background:var(--sable);border-radius:18px;padding:20px}
.cp-echange b{display:block;font-family:var(--serif);font-weight:400;font-size:22px;color:var(--vert);margin-bottom:4px}
.cp-echange p{font-size:14.5px;color:#5f5546}
.cp-echange .btn[disabled]{opacity:.45;pointer-events:none}
.cp-msg{background:var(--ambre-clair);border-radius:14px;padding:12px 16px;font-size:15px;color:var(--vert)}
.cp-msg code,.cp-bons code{font-family:var(--sans);font-weight:600;letter-spacing:.08em;background:#fff;border-radius:8px;padding:3px 9px}
.cp-bons{background:#fff;border-radius:18px;padding:18px 20px}
.cp-bons b{display:block;margin-bottom:10px;color:var(--vert)}
.cp-bons ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.cp-bons li{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14.5px;color:#5f5546}
.cp-pied{font-size:13.5px;color:#8a7d69}

.contact-page{padding:64px 0 var(--section)}
.contact-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px;align-items:start}
.contact-texte h1{font-size:clamp(46px,6vw,82px);color:var(--vert);line-height:1;margin-bottom:18px}
.ct-intro{font-size:18px;color:#5f5546;max-width:44ch;margin-bottom:26px}
.ct-infos{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:14px}
.ct-infos li{display:flex;gap:14px;align-items:flex-start}
.ct-ic{width:44px;height:44px;border-radius:50%;background:var(--vert-clair);display:grid;place-items:center;flex:none}
.ct-ic svg{width:22px;stroke:var(--vert);stroke-width:1.6;fill:none}
.ct-infos b{display:block;color:var(--vert)}
.ct-infos div{font-size:15px;color:#5f5546;line-height:1.5}
.ct-societe{font-size:14px;color:#8a7d69;line-height:1.7}
.ct-reseaux{display:flex;gap:10px;margin-top:18px}
.ct-reseaux a{background:var(--sable);border-radius:999px;padding:9px 18px;color:var(--vert);text-decoration:none;font-size:14.5px;font-weight:500}
.contact-form-carte{background:#fff;border-radius:var(--r);padding:32px;box-shadow:0 30px 60px -40px rgba(30,58,47,.4)}
.contact-form h2{font-size:30px;color:var(--vert);margin-bottom:6px}
.cf-sous{font-size:14.5px;color:#8a7d69;margin-bottom:20px}
.contact-form label{display:block;font-size:14.5px;color:var(--vert);font-weight:500;margin-bottom:14px}
.contact-form input,.contact-form textarea,.contact-form select{width:100%;margin-top:6px;border:0;border-radius:14px;background:var(--ivoire);padding:13px 16px;font:inherit;font-size:16px;color:var(--encre);box-shadow:inset 0 0 0 1px #e2d9c7}
.contact-form textarea{resize:vertical;min-height:120px}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:2.5px solid var(--ambre)}
.cf-deux{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.contact-form .btn{width:100%;justify-content:center;margin-top:4px}
.cf-legal{font-size:12.5px;color:#8a7d69;margin-top:12px;text-align:center}
.cf-merci{text-align:center;padding:20px 0}
.cf-patte{width:64px;height:64px;border-radius:50%;background:var(--vert-clair);display:inline-grid;place-items:center;margin-bottom:14px}
.cf-patte svg{width:32px;fill:var(--vert)}
.cf-merci b{display:block;font-family:var(--serif);font-weight:400;font-size:26px;color:var(--vert);margin-bottom:6px}
.cf-merci p{font-size:15px;color:#5f5546}

.pied-marque p{margin-top:14px;max-width:30ch}
.pied-reseaux{display:flex;gap:10px;margin-top:16px}
.pied-reseaux a{width:38px;height:38px;border-radius:50%;background:rgba(245,241,232,.1);display:grid;place-items:center;transition:background .2s}
.pied-reseaux a:hover{background:var(--ambre)}
.pied-reseaux svg{width:19px;stroke:var(--ivoire);stroke-width:1.6;fill:none}
.pied-reseaux a:hover svg{stroke:var(--vert)}
.pied-reseaux .pt{fill:var(--ivoire);stroke:none}
.pied-reseaux a:hover .pt{fill:var(--vert)}
.filigrane{margin-top:10px;font-family:var(--serif);font-size:clamp(26px,4vw,44px);line-height:1;letter-spacing:.5em;color:rgba(245,241,232,.09);text-align:center;user-select:none;overflow:hidden;text-indent:.5em}
.comptes-marque{margin-top:40px;padding-top:28px;border-top:1px solid rgba(245,241,232,.15)}
.comptes-marque h3{font-size:24px;color:var(--ivoire);margin-bottom:16px}
.cm-liens{display:flex;flex-wrap:wrap;gap:12px}
.cm-liens a{display:flex;align-items:center;gap:12px;background:rgba(245,241,232,.08);border-radius:999px;padding:10px 22px 10px 14px;color:var(--ivoire);text-decoration:none;transition:background .2s}
.cm-liens a:hover{background:var(--ambre);color:var(--vert)}
.cm-liens svg{width:22px;stroke:currentColor;stroke-width:1.6;fill:none}
.cm-liens .pt{fill:currentColor;stroke:none}
.cm-liens span{display:flex;flex-direction:column;font-size:13.5px;line-height:1.2}
.cm-liens b{font-size:15px}
@media (max-width:1080px){.contact-grille{grid-template-columns:1fr;gap:32px}}
@media (max-width:640px){
  .contact-page{padding-top:34px}.contact-form-carte{padding:20px;border-radius:24px}.cf-deux{grid-template-columns:1fr}
  .cp-tete{flex-direction:column;align-items:flex-start;text-align:left}.cp-echange{flex-direction:column;align-items:stretch}
  .filigrane{margin-top:14px}
}

/* Compte client WooCommerce aux couleurs Venaki */
.woocommerce-account .page-simple{padding-top:44px}
.woocommerce-account .contenu-texte{max-width:1100px}
.woocommerce-account h1{margin-bottom:22px}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;background:#fff;border-radius:999px;padding:10px 20px;color:var(--vert);text-decoration:none;font-size:15px;font-weight:500;box-shadow:inset 0 0 0 1px #e8e0cf;transition:transform .25s cubic-bezier(.3,1.8,.5,1)}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{transform:translateY(-2px)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--vert);color:var(--ivoire);box-shadow:none}
.woocommerce-account .woocommerce-MyAccount-content{background:transparent}
.woocommerce-account .woocommerce-form-login,.woocommerce-account .woocommerce-form-register{background:#fff;border-radius:22px;padding:28px;max-width:520px;box-shadow:0 30px 60px -40px rgba(30,58,47,.35)}
.cp-tete h2{margin-top:2px}

/* Panier et commande : traduction des libellés faite par le thème, mise en page resserrée */
.woocommerce-cart .page-simple,.woocommerce-checkout .page-simple{padding-top:44px}
.woocommerce-cart h1,.woocommerce-checkout h1{margin-bottom:20px}

/* Corrections v1.0.8 */
.contenu-texte .btn,.page-simple .btn{color:var(--ivoire)}
.contenu-texte .btn.btn-ambre{color:var(--vert)}
.page-404 .btn{display:inline-block;margin-top:10px}

/* ================= Panier latéral, fidélité, compte — v1.0.8 ================= */
.panier-t .liste{gap:10px}
.ligne-p{grid-template-columns:72px 1fr auto;align-items:start;transition:opacity .2s}
.ligne-p.occupe{opacity:.5;pointer-events:none}
.ligne-p .lv{display:block;overflow:hidden;border-radius:12px}
.lp-info{display:grid;gap:3px}
.lp-info b{font-size:15px}
.lp-info > span{font-size:12.5px;color:#8a7d69}
.lp-qte{display:inline-flex;align-items:center;gap:2px;background:var(--ivoire);border-radius:999px;padding:2px;margin-top:6px;width:max-content}
.lp-qte button{width:26px;height:26px;border:0;border-radius:50%;background:none;color:var(--vert);font-size:16px;line-height:1;display:grid;place-items:center;transition:background .2s}
.lp-qte button:hover{background:var(--sable)}
.lp-qte button[disabled]{opacity:.3}
.lp-qte span{min-width:20px;text-align:center;font-size:14px;font-weight:600;color:var(--vert)}
.ligne-p .lx{text-align:right}
.lp-retirer{display:block;margin-left:auto;margin-top:6px;border:0;background:none;color:#a2957f;font-size:12.5px;text-decoration:underline;padding:0}
.panier-vide{display:grid;justify-items:center;gap:6px;padding:46px 16px}
.pv-patte{width:64px;height:64px;border-radius:50%;background:var(--vert-clair);display:grid;place-items:center;margin-bottom:6px}
.pv-patte svg{width:32px;fill:var(--vert)}
.panier-vide .btn{margin-top:14px}
.panier-plus{margin-top:14px;padding-top:14px;border-top:1.5px dashed #e0d7c5;display:grid;gap:8px}
.panier-plus > b{font-size:14px;color:var(--vert)}
.pp-item{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;background:#fff;border-radius:14px;padding:8px;text-decoration:none;transition:transform .25s cubic-bezier(.3,1.6,.5,1)}
.pp-item:hover{transform:translateX(3px)}
.pp-v{width:44px;height:44px;border-radius:10px;overflow:hidden;display:grid;place-items:center}
.pp-v img{width:100%;height:100%;object-fit:cover}
.pp-v .illu svg{width:82%}
.pp-t{display:grid;gap:1px}
.pp-t b{font-size:13.5px;font-weight:500;color:var(--vert);line-height:1.2}
.pp-t span{font-size:12.5px;color:#8a7d69}
.pp-plus{width:26px;height:26px;border-radius:50%;background:var(--vert-clair);color:var(--vert);display:grid;place-items:center;font-size:16px}
.p-points{display:flex;align-items:center;gap:8px;background:var(--vert-clair);border-radius:12px;padding:8px 12px;margin:0 0 12px;font-size:13.5px;color:var(--vert)}
.p-points svg{width:18px;fill:var(--vert);flex:none}
.panier-t.vide footer .jauge-a,.panier-t.vide footer .total,.panier-t.vide footer #commander,.panier-t.vide .p-points{display:none}

/* Programme de fidélité sur l'accueil */
.famille-carte{text-align:left}
.fc-pastille{display:inline-block;background:var(--ambre);color:var(--vert);border-radius:999px;padding:5px 16px;font-size:12.5px;font-weight:600;letter-spacing:.04em;margin-bottom:16px}
.famille-carte h2{margin-bottom:10px}
.fc-sous{font-size:17px;color:rgba(245,241,232,.85);max-width:56ch;margin-bottom:26px}
.fc-avantages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:26px}
.fc-avantages > div{background:rgba(245,241,232,.07);border-radius:18px;padding:18px;display:grid;gap:4px}
.fca-ic{width:42px;height:42px;border-radius:50%;background:var(--ambre);display:grid;place-items:center;margin-bottom:6px}
.fca-ic svg{width:20px;stroke:var(--vert);stroke-width:1.6;fill:none}
.fc-avantages b{font-size:16px;color:var(--ivoire)}
.fc-avantages span{font-size:13.5px;color:rgba(245,241,232,.7);line-height:1.4}
.fc-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.fc-lien,.fc-note{color:rgba(245,241,232,.8);font-size:15px}
.fc-lien{text-decoration:underline}
.famille-carte .legal{margin-top:16px;color:rgba(245,241,232,.55)}

/* Page Mes points */
.cp-regles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cp-regles > div{background:#fff;border-radius:18px;padding:18px;display:flex;gap:12px;align-items:flex-start}
.cpr-num{width:28px;height:28px;border-radius:50%;background:var(--ambre-clair);color:var(--vert);display:grid;place-items:center;font-weight:600;font-size:14px;flex:none}
.cp-regles b{display:block;font-size:15px;color:var(--vert);margin-bottom:3px}
.cp-regles span{font-size:13.5px;color:#6b604f;line-height:1.45}
.cp-echelle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cpe{background:var(--sable);border-radius:16px;padding:14px 16px;display:grid;gap:2px;opacity:.6}
.cpe.atteint{background:var(--vert-clair);opacity:1}
.cpe b{color:var(--vert);font-size:15px}
.cpe span{font-size:13px;color:#6b604f}
.cpe-remise{font-weight:600;color:var(--terracotta)!important}
.cp-echange.inactif{background:#fff;box-shadow:inset 0 0 0 1px #e8e0cf}
@media (max-width:1080px){.fc-avantages{grid-template-columns:1fr 1fr}}
@media (max-width:640px){
  .fc-avantages{grid-template-columns:1fr}.fc-actions{flex-direction:column;align-items:stretch;text-align:center}
  .cp-regles,.cp-echelle{grid-template-columns:1fr}
  .panier-plus .pp-item{grid-template-columns:40px 1fr auto}
}

.cp-tete h2 small{margin-left:4px}
.cp-echange.inactif .btn{background:var(--ambre);color:var(--vert)}

/* ================= Ajustements v1.0.9 ================= */
.schema-mesure{background:var(--ivoire);border-radius:20px;padding:14px;margin:0 0 22px}
.schema-mesure svg{display:block;width:100%;height:auto}
.guide-carte .schema-mesure{background:rgba(245,241,232,.96)}

/* La fidélité paye : grille alignée */
.famille-carte{display:grid;gap:0;text-align:left;padding:48px}
.fc-sous{font-size:17.5px;line-height:1.6;color:rgba(245,241,232,.85);max-width:60ch;margin:0 0 30px}
.fc-avantages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 30px;align-items:stretch}
.fc-avantages > div{background:rgba(245,241,232,.07);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:14px}
.fca-ic{width:44px;height:44px;border-radius:50%;background:var(--ambre);display:grid;place-items:center;margin:0;flex:none}
.fca-t{display:grid;gap:5px}
.fc-avantages b{font-size:16.5px;line-height:1.25;color:var(--ivoire)}
.fc-avantages span{font-size:14px;color:rgba(245,241,232,.72);line-height:1.45}
.fc-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin:0}
.famille-carte .legal{margin:18px 0 0;color:rgba(245,241,232,.55);font-size:13.5px}
.famille-carte h2{font-size:clamp(38px,4.4vw,62px);margin:0 0 14px}
@media (max-width:1080px){.fc-avantages{grid-template-columns:1fr 1fr}.famille-carte{padding:32px 24px}}
@media (max-width:640px){.fc-avantages{grid-template-columns:1fr;gap:10px}.fc-avantages > div{flex-direction:row;align-items:center;padding:16px}}
