/* FICHIER FABRIQUÉ par outils/palette-sauge.py à partir de maison-ample.css : ne pas modifier à la main. */
/* Maison Ample by Marine S. — styles de la boutique */
/* Polices hébergées sur le site (mêmes fichiers que Google Fonts, licence SIL OFL) :
   aucune donnée des visiteuses n'est transmise à un service tiers. */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/cormorant-garamond-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:400;font-display:swap;src:url("/assets/fonts/cormorant-garamond-latin-400-italic.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/cormorant-garamond-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url("/assets/fonts/cormorant-garamond-latin-500-italic.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/cormorant-garamond-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:300;font-display:swap;src:url("/assets/fonts/jost-latin-300-normal.woff2") format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/jost-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/jost-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Alex Brush";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/alex-brush-latin-400-normal.woff2") format("woff2")}
/* Mise en page : maison de couture — en-tête symétrique autour du logo, arches bohèmes, filets dorés, aplats champagne et ivoire, pied de page chocolat. */
:root{
  --choco:#4A5143; --choco-deep:#3A4034; --champ:#F3E7D7; --gold:#C9A46C; --ivory:#FFF9F1; --bronze:#A9784F;
  --ink:#4A5143; --ink-soft:#5E6656; --ink-mute:#858C7B;
  --line:rgba(201,164,108,.55); --line-soft:rgba(201,164,108,.28);
  --sand:#EADAC4; --ok:#5E7A4E; --warn:#B9792E; --bad:#A4442F;
  --f-display:"Cormorant Garamond","Cormorant",Garamond,"Times New Roman",serif;
  --f-ui:"Jost","Futura","Century Gothic","Avenir Next",system-ui,sans-serif;
  --f-script:"Alex Brush","Snell Roundhand","Apple Chancery",cursive;
  --r-arch:999px 999px 6px 6px;
  --gutter-l:max(16px, env(safe-area-inset-left, 0px));
  --gutter-r:max(16px, env(safe-area-inset-right, 0px));
  color-scheme:only light;
}
*{box-sizing:border-box}
/* Base autonome : équivalent du gabarit d'aperçu */
html{-webkit-text-size-adjust:100%}
img{max-width:100%}
[hidden]{display:none!important}

html{scroll-behavior:smooth;scroll-padding-top:calc(var(--head-small) + 16px)}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--f-ui);font-weight:400;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--champ)}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:500;line-height:1.08;margin:0;text-wrap:balance;color:var(--choco)}
p{margin:0}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
input,select,textarea{font:inherit;color:var(--ink)}
:focus-visible{outline:2px solid var(--bronze);outline-offset:3px;border-radius:2px}
.wrap{max-width:1240px;margin:0 auto;padding-left:var(--gutter-l);padding-right:var(--gutter-r)}
.eyebrow{font-family:var(--f-ui);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--bronze);font-weight:500}
.script{font-family:var(--f-script);font-weight:400;color:var(--bronze);line-height:1}
.price{font-variant-numeric:tabular-nums}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 30px;border-radius:2px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;transition:background .35s ease,color .35s ease,border-color .35s ease,transform .35s ease,box-shadow .35s ease}
.btn-primary{background:var(--choco-bg,var(--choco));color:var(--on-dark,var(--ivory));box-shadow:inset 0 0 0 1px var(--choco)}
.btn-primary:hover{background:var(--choco-deep);box-shadow:inset 0 0 0 1px var(--gold),0 10px 24px -14px rgba(74,81,67,.7);transform:translateY(-1px)}
.btn-ghost{color:var(--choco);box-shadow:inset 0 0 0 1px var(--line)}
.btn-ghost:hover{box-shadow:inset 0 0 0 1px var(--bronze);color:var(--bronze)}
.btn-sm{min-height:38px;padding:0 18px;font-size:12px}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.link-u{position:relative;padding-bottom:3px}
.link-u::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:center;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.link-u:hover::after,.link-u[aria-current="page"]::after{transform:scaleX(1)}

/* ========== En-tête signature ========== */
/* En haut de page : grand bandeau qui contient tout le logo. Au défilement : il se réduit, les menus restent cliquables. */
.site-head{position:fixed;top:0;left:0;right:0;z-index:50;background:var(--champ);border-bottom:1px solid var(--gold);padding-top:env(safe-area-inset-top,0px);transition:box-shadow .45s ease}
.site-head::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--line-soft);transition:opacity .45s}
.site-head.scrolled{box-shadow:0 10px 30px -18px rgba(74,81,67,.45)}
.site-head.scrolled::after{opacity:0}
.head-spacer{height:calc(var(--head-top) + env(safe-area-inset-top,0px))}
:root{--head-top:252px;--logo-top:270px;--head-small:84px;--logo-small:96px}
.head-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:var(--head-top);max-width:1320px;margin:0 auto;padding-left:var(--gutter-l);padding-right:var(--gutter-r);column-gap:clamp(24px,3.4vw,56px);transition:height .5s cubic-bezier(.2,.7,.2,1)}
.site-head.scrolled .head-inner{height:var(--head-small)}
.nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,40px);font-size:13px;letter-spacing:.17em;text-transform:uppercase;font-weight:400}
.nav-left{justify-content:flex-end}
.nav-right{justify-content:flex-start}
.nav a,.nav button{color:var(--choco);white-space:nowrap}
.nav a:hover,.nav button:hover{color:var(--bronze)}
.icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--choco);transition:color .3s}
.icon-btn:hover{color:var(--bronze)}
.icon-btn svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.2;fill:none}
.badge-count{position:absolute;top:1px;right:-2px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--choco-bg,var(--choco));color:var(--on-dark,var(--ivory));font-size:10px;line-height:17px;text-align:center;letter-spacing:0;font-variant-numeric:tabular-nums;box-shadow:0 0 0 1.5px var(--champ)}
.badge-count:empty,.badge-count[data-n="0"]{display:none}
.nav-icons{display:flex;gap:6px;margin-left:clamp(4px,1vw,14px);padding-left:clamp(10px,1.4vw,20px);border-left:1px solid var(--line)}
.logo-slot{display:flex;align-items:center;justify-content:center;width:var(--logo-top);transition:width .5s cubic-bezier(.2,.7,.2,1)}
.site-head.scrolled .logo-slot{width:var(--logo-small)}
.logo-slot a{display:block;width:100%}
.logo-slot img{display:block;width:100%;height:auto;aspect-ratio:900/751}
.mob-only{display:none}
@media (max-width:880px){
  :root{--head-top:168px;--logo-top:172px;--head-small:64px;--logo-small:70px}
  .nav{display:none}
  .mob-only{display:inline-flex}
  .head-left{justify-self:start;display:flex;gap:2px}
  .head-right{justify-self:end;display:flex;gap:2px}
}
@media (max-width:420px){:root{--head-top:150px;--logo-top:152px;--logo-small:66px}}


/* en-tête : trois lignes de navigation de chaque côté du logo */
.side{display:flex;flex-direction:column;gap:16px;min-width:0}
.side-left{align-items:flex-end;text-align:right}
.side-right{align-items:flex-start}
.nav-micro{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze);white-space:nowrap}
.nav-micro i{width:4px;height:4px;border-radius:50%;background:var(--gold)}
.nav-micro button{color:var(--bronze);font-size:inherit;letter-spacing:inherit;text-transform:inherit}
.nav-micro button:hover{color:var(--choco)}
.nav-cats{display:flex;align-items:center;gap:clamp(16px,2vw,30px);font-family:var(--f-display);font-style:italic;font-size:21px;color:var(--ink-soft);padding-top:14px;border-top:1px solid var(--line);white-space:nowrap}
.nav-cats a:hover,.nav-cats a[aria-current="page"]{color:var(--bronze)}
.side .nav{height:40px;padding:0}
.nav-micro{height:18px;line-height:18px}
.nav-cats{line-height:1.2}
.nav-micro,.nav-cats{max-height:60px;overflow:hidden;transition:max-height .45s cubic-bezier(.2,.7,.2,1),opacity .35s,padding .45s,margin .45s,border-color .35s}
.site-head.scrolled .side{gap:0}
.site-head.scrolled .nav-micro,.site-head.scrolled .nav-cats{max-height:0;opacity:0;padding-top:0;border-top-color:transparent;pointer-events:none}
@media (max-width:1240px){.nav-micro span:last-child{display:none}.nav-micro i{display:none}.side-left .nav-micro span{display:none}.side-left .nav-micro i{display:none}}
@media (max-width:880px){.side{display:none}}
@media (min-width:1101px) and (max-width:1300px){
  :root{--logo-top:240px;--head-top:236px}
  .head-inner{column-gap:28px}
  .nav{gap:22px;font-size:12px;letter-spacing:.14em}
  .nav-icons{gap:0;padding-left:12px}
  .nav-icons .icon-btn{width:32px}
  .nav-cats{font-size:20px;gap:22px}
}
/* écrans moyens (tablette, petit portable) : menus compacts autour du logo */
@media (min-width:881px) and (max-width:1100px){
  :root{--head-top:200px;--logo-top:190px;--head-small:72px;--logo-small:80px}
  .head-inner{column-gap:18px}
  .side{gap:12px}
  .nav-micro{display:none}
  .nav{gap:16px;font-size:11.5px;letter-spacing:.12em}
  .nav-icons{gap:0;margin-left:2px;padding-left:8px}
  .nav-icons .icon-btn{width:30px}
  .nav-cats{font-size:18px;gap:16px;padding-top:10px}
}

/* menu mobile */
.mob-menu .mob-cats{display:flex;flex-wrap:wrap;gap:6px 16px;padding:8px 0 12px;border-bottom:1px solid var(--line-soft)}
.mob-menu .mob-cats a{font-family:var(--f-display);font-style:italic;font-size:20px;border:0;padding:2px 0;color:var(--ink-soft)}
.mob-menu{position:fixed;inset:0;z-index:70;pointer-events:none}
.mob-menu .scrim{position:absolute;inset:0;background:rgba(58,64,52,.42);opacity:0;transition:opacity .4s}
.mob-menu .panel{position:absolute;top:0;bottom:0;left:0;width:min(340px,86vw);background:var(--champ);border-right:1px solid var(--gold);transform:translateX(-100%);transition:transform .45s cubic-bezier(.2,.7,.2,1);padding:calc(24px + env(safe-area-inset-top,0px)) 28px calc(24px + env(safe-area-inset-bottom,0px)) max(28px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:6px;overflow-y:auto}
.mob-menu.open{pointer-events:auto}
.mob-menu.open .scrim{opacity:1}
.mob-menu.open .panel{transform:none}
.mob-menu .panel a,.mob-menu .panel button.lnk{font-family:var(--f-display);font-size:28px;color:var(--choco);padding:8px 0;border-bottom:1px solid var(--line-soft);text-align:left}
.mob-menu img{width:150px;margin:0 auto 14px}

/* ========== Hero ========== */
.hero{position:relative;background:linear-gradient(180deg,var(--ivory) 0%,var(--ivory) 70%,var(--champ) 100%);overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,80px);align-items:end;padding-block:clamp(44px,5vw,72px) clamp(40px,6vw,80px)}
.hero-text{padding-bottom:clamp(8px,4vw,56px);display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.hero h1{font-size:clamp(46px,6.6vw,92px);font-weight:400;letter-spacing:-.01em;line-height:.98}
.hero h1 em{font-style:italic;color:var(--bronze)}
.hero .sub{font-size:clamp(17px,1.5vw,19px);color:var(--ink-soft);max-width:30em;font-weight:300;text-wrap:pretty}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:6px}
.size-ribbon{display:flex;align-items:center;gap:14px;margin-top:16px;padding-top:18px;border-top:1px solid var(--line);width:100%;max-width:440px}
.size-ribbon span.l{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-mute)}
.size-ribbon ol{list-style:none;display:flex;gap:6px;margin:0;padding:0;flex-wrap:wrap}
.size-ribbon li{font-family:var(--f-display);font-size:19px;color:var(--choco);width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-variant-numeric:lining-nums}
.hero-visual{position:relative;justify-self:end;width:min(100%,470px)}
.arch{position:relative;border-radius:var(--r-arch);overflow:hidden;aspect-ratio:4/5.2;box-shadow:0 0 0 1px var(--gold),0 0 0 9px var(--ivory),0 0 0 10px var(--line),0 30px 60px -30px rgba(74,81,67,.45)}
.arch img{width:100%;height:100%;object-fit:cover;display:block}
.hero-visual .stamp{position:absolute;left:-26px;bottom:42px;width:112px;height:112px;border-radius:50%;background:var(--choco-bg,var(--choco));color:var(--on-dark,var(--ivory));display:grid;place-items:center;text-align:center;box-shadow:0 0 0 1px var(--gold),0 0 0 6px var(--ivory),0 0 0 7px var(--line)}
.stamp b{display:block;font-family:var(--f-display);font-weight:400;font-size:30px;line-height:1}
.stamp small{display:block;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-top:4px}
@media (max-width:860px){
  .hero .wrap{grid-template-columns:1fr;padding-block:36px 48px;gap:36px}
  .hero-visual{justify-self:center;width:min(86%,400px)}
  .hero-visual .stamp{left:-14px;width:92px;height:92px}
  .stamp b{font-size:24px}
}
@media (max-width:420px){.hero .wrap{padding-block:28px 40px}.size-ribbon{flex-direction:column;align-items:flex-start;gap:10px}.pcard-top{flex-direction:column;gap:2px}.pcard h3{font-size:20px}}

/* visuels tissu (en attendant les photos) */
.fabric{position:relative;width:100%;height:100%;background:
  repeating-linear-gradient(104deg,rgba(255,255,255,0) 0 22px,rgba(255,255,255,.10) 34px,rgba(0,0,0,.07) 52px,rgba(255,255,255,0) 66px),
  radial-gradient(130% 90% at 28% 18%,color-mix(in srgb,var(--c) 62%,#fff) 0%,var(--c) 58%,color-mix(in srgb,var(--c) 72%,#191C15) 100%);
  display:grid;place-items:center;color:color-mix(in srgb,var(--c) 30%,#fff9f1)}
.fabric::after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .29 0 0 0 0 .17 0 0 0 0 .1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.35;mix-blend-mode:multiply;pointer-events:none}
.fabric svg.garment{width:34%;max-width:120px;height:auto;stroke:currentColor;stroke-width:1.1;fill:none;opacity:.75;position:relative;z-index:1}
.fabric .ph-note{position:absolute;z-index:1;left:0;right:0;bottom:12px;text-align:center;font-size:10px;letter-spacing:.2em;text-transform:uppercase;opacity:.85}
.fabric.light{color:color-mix(in srgb,var(--c) 40%,#4A5143)}
.hero .fabric .ph-big{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;padding:0 30px}
.hero .fabric .ph-big b{font-family:var(--f-display);font-weight:400;font-size:26px;font-style:italic;line-height:1.1}
.hero .fabric .ph-big small{font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.85;max-width:24em}

/* ========== Sections ========== */
section.band{padding-block:clamp(64px,9vw,120px)}
.sec-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;margin-bottom:clamp(36px,5vw,60px)}
.sec-head h2{font-size:clamp(36px,4.4vw,58px);font-weight:400}
.sec-head p{color:var(--ink-soft);max-width:36em;font-weight:300}
.flourish{display:flex;align-items:center;gap:14px;color:var(--gold)}
.flourish::before,.flourish::after{content:"";width:46px;height:1px;background:currentColor}
.flourish svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.1}
.sec-foot{display:flex;justify-content:center;margin-top:44px}

/* univers / catégories */
.cats{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(14px,2vw,26px)}
.cat{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.cat .frame{width:100%;aspect-ratio:3/4.1;border-radius:var(--r-arch);overflow:hidden;position:relative;box-shadow:0 0 0 1px var(--line);transition:box-shadow .5s}
.cat .frame>*{transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.cat .frame img{width:100%;height:100%;object-fit:cover}
.cat:hover .frame{box-shadow:0 0 0 1px var(--gold),0 0 0 5px var(--ivory),0 0 0 6px var(--line)}
.cat:hover .frame>*{transform:scale(1.05)}
.cat h3{font-size:25px;font-weight:500}
.cat small{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute);margin-top:4px}
@media (max-width:1000px){.cats{grid-template-columns:repeat(3,1fr)}}
@media (max-width:520px){.cats{grid-template-columns:repeat(2,1fr)}}

/* cartes produits */
.grid-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.4vw,34px) clamp(14px,2vw,26px)}
@media (max-width:1000px){.grid-products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:720px){.grid-products{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pcard{display:flex;flex-direction:column;gap:14px;min-width:0}
.pcard-media{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--champ);cursor:pointer;border-radius:3px}
.pcard-media .vis{position:absolute;inset:0;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.pcard-media img{width:100%;height:100%;object-fit:cover;display:block}
.pcard:hover .pcard-media .vis{transform:scale(1.045)}
.pcard-media::after{content:"";position:absolute;inset:10px;border:1px solid rgba(255,249,241,.0);transition:border-color .5s;pointer-events:none}
.pcard:hover .pcard-media::after{border-color:rgba(255,249,241,.6)}
.tags{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:6px;z-index:2;align-items:flex-start}
.tag{font-size:10px;letter-spacing:.18em;text-transform:uppercase;padding:5px 10px;background:var(--ivory);color:var(--choco);border:1px solid var(--line)}
.tag.promo{background:var(--bronze);color:var(--on-dark,var(--ivory));border-color:var(--bronze)}
.tag.out{background:var(--choco-bg,var(--choco));color:var(--on-dark,var(--ivory));border-color:var(--choco)}
.fav{position:absolute;top:10px;right:10px;z-index:2;width:38px;height:38px;border-radius:50%;background:rgba(255,249,241,.9);display:grid;place-items:center;color:var(--choco);transition:transform .3s,color .3s,background .3s}
.fav svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.3;fill:none;transition:fill .3s}
.fav:hover{transform:scale(1.08);color:var(--bronze)}
.fav[aria-pressed="true"]{color:var(--bronze)}
.fav[aria-pressed="true"] svg{fill:var(--bronze)}
.pcard-body{display:flex;flex-direction:column;gap:8px}
.pcard-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.pcard h3{font-size:22px;font-weight:500;cursor:pointer;min-width:0}
.pcard h3:hover{color:var(--bronze)}
.pcard .cat-l{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute)}
.prices{display:flex;gap:8px;align-items:baseline;white-space:nowrap;font-size:16px}
.prices s{color:var(--ink-mute);font-size:14px}
.prices .now{color:var(--choco);font-weight:500}
.prices .now.promo{color:var(--bronze)}
.sizes-mini{display:flex;flex-wrap:wrap;gap:5px}
.sz{min-width:34px;height:30px;padding:0 6px;border:1px solid var(--line);background:transparent;font-size:12.5px;color:var(--choco);border-radius:2px;font-variant-numeric:tabular-nums;transition:all .25s}
.sz:hover:not([disabled]){border-color:var(--bronze)}
.sz[aria-pressed="true"]{background:var(--choco-bg,var(--choco));border-color:var(--choco);color:var(--on-dark,var(--ivory))}
.sz[disabled]{color:var(--ink-mute);text-decoration:line-through;opacity:.55;cursor:not-allowed}
.add-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px solid var(--choco);color:var(--choco);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;transition:background .35s,color .35s}
.add-btn:hover:not([disabled]){background:var(--choco-bg,var(--choco));color:var(--on-dark,var(--ivory))}
.add-btn[disabled]{border-color:var(--line);color:var(--ink-mute);cursor:not-allowed}
.add-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.3}

/* Coups de cœur */
.favs-band{background:var(--champ);position:relative;overflow:hidden}
.coeur{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,6vw,90px);align-items:center}
.coeur-text{display:flex;flex-direction:column;gap:20px}
.coeur-text .script{font-size:clamp(46px,5vw,66px);color:var(--bronze)}
.coeur-text h2{font-size:clamp(34px,3.6vw,48px);font-weight:400;margin-top:-10px}
.coeur-text blockquote{margin:0;font-family:var(--f-display);font-style:italic;font-size:22px;line-height:1.4;color:var(--ink-soft);border-left:1px solid var(--gold);padding-left:20px}
.coeur-text .sig{font-family:var(--f-script);font-size:30px;color:var(--choco)}
.coeur-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.coeur-grid .pcard:nth-child(2){margin-top:46px}
.coeur-grid .pcard:nth-child(3){margin-top:16px}
.coeur-grid .pcard-media{border-radius:var(--r-arch)}
.coeur-grid .tags{top:auto;bottom:12px}
.coeur-grid .fav{top:auto;bottom:10px}
@media (max-width:900px){.coeur{grid-template-columns:1fr}}
/* Téléphone : les 3 coups de cœur en carrousel qu'on fait glisser (on aperçoit la carte suivante) */
@media (max-width:560px){
  .coeur-grid{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -16px;padding:0 16px 6px;align-items:flex-start}
  .coeur-grid::-webkit-scrollbar{display:none}
  .coeur-grid .pcard{flex:0 0 74%;scroll-snap-align:center}
  .coeur-grid .pcard:nth-child(2),.coeur-grid .pcard:nth-child(3){margin-top:0}
}

/* Univers / histoire */
.story{position:relative;overflow:hidden}
.story .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,96px);align-items:center;position:relative}
.story-art{position:relative;min-height:440px}
.story-art canvas{position:absolute;inset:0;width:100%;height:100%}
.story-card{position:absolute;left:14%;right:14%;top:16%;bottom:10%;border:1px solid var(--gold);border-radius:var(--r-arch);background:rgba(255,249,241,.62);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:30px}
.story-card .script{font-size:44px}
.story-card b{font-family:var(--f-display);font-weight:400;font-size:clamp(40px,4vw,56px);line-height:1}
.story-card small{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-mute)}
.story-text{display:flex;flex-direction:column;gap:20px;max-width:34em}
.story-text h2{font-size:clamp(36px,4vw,54px);font-weight:400}
.story-text p{color:var(--ink-soft);font-weight:300;font-size:17px}
.story-text p:first-of-type::first-letter{font-family:var(--f-display);float:left;font-size:64px;line-height:.8;padding:6px 10px 0 0;color:var(--bronze)}
@media (max-width:860px){.story .wrap{grid-template-columns:1fr}.story-art{min-height:360px;order:2}}

/* Engagements */
.commit{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.commit-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.commit-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:clamp(34px,4vw,54px) clamp(16px,3vw,40px)}
.commit-item+.commit-item{border-left:1px solid var(--line-soft)}
.commit-item svg{width:40px;height:40px;stroke:var(--bronze);stroke-width:1;fill:none}
.commit-item h3{font-size:24px}
.commit-item p{color:var(--ink-soft);font-weight:300;font-size:15px;max-width:22em}
@media (max-width:760px){.commit-grid{grid-template-columns:1fr}.commit-item+.commit-item{border-left:0;border-top:1px solid var(--line-soft)}}

/* Pied de page */
.foot{background:var(--choco-bg,var(--choco));color:var(--on-dark,var(--ivory));position:relative}
.foot::before{content:"";position:absolute;left:0;right:0;top:8px;height:1px;background:rgba(201,164,108,.5)}
.foot .wrap{padding-block:clamp(56px,7vw,84px) 28px;display:flex;flex-direction:column;gap:48px}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:clamp(24px,4vw,56px)}
.foot h4{font-family:var(--f-ui);font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:16px}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.foot a,.foot button{color:rgba(255,249,241,.86);font-size:15px;font-weight:300;text-align:left}
.foot a:hover,.foot button:hover{color:var(--gold)}
.foot-brand .name{font-family:var(--f-display);font-size:38px;line-height:1;color:var(--on-dark,var(--ivory))}
.foot-brand .script{color:var(--gold);font-size:30px;display:block;margin:4px 0 14px}
.foot-brand p{color:rgba(255,249,241,.72);font-weight:300;font-size:15px;max-width:26em}
.socials{display:flex;gap:10px;margin-top:20px}
.socials a{width:40px;height:40px;border:1px solid rgba(201,164,108,.6);border-radius:50%;display:grid;place-items:center}
.socials svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.3}
.news{display:flex;border-bottom:1px solid rgba(201,164,108,.6);margin-top:6px}
.news input{flex:1;min-width:0;background:transparent;border:0;color:var(--on-dark,var(--ivory));padding:12px 0;font-size:15px}
.news input::placeholder{color:rgba(255,249,241,.5)}
.news button{color:var(--gold);font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding-top:22px;border-top:1px solid rgba(201,164,108,.3);font-size:13px;color:rgba(255,249,241,.6)}
.foot-bottom nav{display:flex;flex-wrap:wrap;gap:8px 22px}
.foot-bottom a{font-size:13px}
@media (max-width:900px){.foot-top{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-top{grid-template-columns:1fr}}

/* ========== Boutique ========== */
.page-head{background:var(--champ);border-bottom:1px solid var(--line);padding-block:clamp(44px,5vw,64px) 40px;padding-left:var(--gutter-l);padding-right:var(--gutter-r);text-align:center}
.page-head h1{font-size:clamp(42px,5vw,66px);font-weight:400}
.page-head p{color:var(--ink-soft);margin-top:10px;font-weight:300}
.shop{display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(24px,4vw,56px);padding-block:44px 90px}
.filters{display:flex;flex-direction:column;gap:28px;align-self:start;position:sticky;top:calc(var(--head-small) + 20px)}
.filters h4{font-family:var(--f-ui);font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--bronze);font-weight:500;margin-bottom:12px}
.f-list{display:flex;flex-direction:column;gap:4px}
.f-list button{text-align:left;padding:5px 0;color:var(--ink-soft);display:flex;justify-content:space-between}
.f-list button[aria-pressed="true"]{color:var(--choco);font-weight:500}
.f-list button[aria-pressed="true"]::before{content:"";width:12px;height:1px;background:var(--gold);align-self:center;margin-right:8px}
.f-list button span{flex:1}
.f-sizes{display:flex;flex-wrap:wrap;gap:6px}
.f-colors{display:flex;flex-wrap:wrap;gap:9px}
.swatch{width:28px;height:28px;border-radius:50%;background:var(--sw);box-shadow:inset 0 0 0 1px rgba(74,81,67,.18);position:relative;transition:transform .25s}
.swatch:hover{transform:scale(1.1)}
.swatch[aria-pressed="true"]::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid var(--choco)}
.search-field{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:6px 0}
.search-field svg{width:17px;height:17px;stroke:var(--bronze);fill:none;stroke-width:1.3;flex:none}
.search-field input{border:0;background:transparent;flex:1;min-width:0;padding:4px 0;font-size:15px}
.search-field input:focus{outline:none}
.search-field:focus-within{border-color:var(--bronze)}
input[type=range]{width:100%;accent-color:var(--choco)}
.toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:26px;padding-bottom:16px;border-bottom:1px solid var(--line-soft)}
.toolbar .count{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.select{border:1px solid var(--line);background:var(--ivory);padding:9px 34px 9px 14px;border-radius:2px;font-size:14px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--bronze) 50%),linear-gradient(135deg,var(--bronze) 50%,transparent 50%);background-position:calc(100% - 17px) 52%,calc(100% - 12px) 52%;background-size:5px 5px;background-repeat:no-repeat}
.filter-toggle{display:none}
.empty{text-align:center;padding:60px 20px;color:var(--ink-soft);display:flex;flex-direction:column;align-items:center;gap:16px;border:1px dashed var(--line);border-radius:4px}
.empty b{font-family:var(--f-display);font-weight:400;font-size:28px;color:var(--choco)}
@media (max-width:860px){
  .shop{grid-template-columns:1fr}
  .filters{position:static;display:none;padding:20px;border:1px solid var(--line);background:var(--champ)}
  .filters.open{display:flex}
  .filter-toggle{display:inline-flex}
}

/* ========== Tiroirs, fenêtres ========== */
.overlay{position:fixed;inset:0;z-index:80;pointer-events:none}
.overlay .scrim{position:absolute;inset:0;background:rgba(58,64,52,.45);opacity:0;transition:opacity .45s}
.overlay.open{pointer-events:auto}
.overlay.open .scrim{opacity:1}
.drawer{position:absolute;top:0;bottom:0;right:0;width:min(440px,100%);background:var(--ivory);border-left:1px solid var(--gold);transform:translateX(100%);transition:transform .55s cubic-bezier(.2,.75,.2,1);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-right:env(safe-area-inset-right,0px)}
.overlay.open .drawer{transform:none}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;background:var(--champ);border-bottom:1px solid var(--line)}
.drawer-head h2{font-size:30px;font-weight:400}
.drawer-head h2 small{font-family:var(--f-ui);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);margin-left:8px}
.x-btn{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:var(--choco);transition:background .3s}
.x-btn:hover{background:rgba(201,164,108,.2)}
.x-btn svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.3;fill:none}
.drawer-body{flex:1;overflow-y:auto;padding:8px 26px}
.drawer-foot{border-top:1px solid var(--line);padding:20px 26px 24px;background:var(--champ);display:flex;flex-direction:column;gap:12px}
.line{display:grid;grid-template-columns:84px minmax(0,1fr);gap:16px;padding:18px 0;border-bottom:1px solid var(--line-soft)}
.line .thumb{aspect-ratio:3/4;overflow:hidden;border-radius:2px;background:var(--champ)}
.line .thumb img{width:100%;height:100%;object-fit:cover}
.line h4{font-size:20px;font-weight:500}
.line .meta{font-size:13px;color:var(--ink-soft);margin-top:2px}
.line .row{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:10px}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:2px}
.qty button{width:32px;height:32px;color:var(--choco)}
.qty button:hover{color:var(--bronze)}
.qty span{min-width:26px;text-align:center;font-variant-numeric:tabular-nums;font-size:14px}
.rm{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);text-decoration:underline;text-underline-offset:3px}
.rm:hover{color:var(--bad)}
.sum-row{display:flex;justify-content:space-between;align-items:baseline;font-variant-numeric:tabular-nums}
.sum-row.total{font-family:var(--f-display);font-size:26px;color:var(--choco)}
.ship-meter{font-size:13px;color:var(--ink-soft)}
.ship-meter .bar{height:3px;background:rgba(201,164,108,.25);margin-top:6px;border-radius:2px;overflow:hidden}
.ship-meter .bar i{display:block;height:100%;background:var(--gold);transition:width .5s}
.demo-note{font-size:12px;color:var(--ink-mute);text-align:center}
.form{display:flex;flex-direction:column;gap:14px;padding:18px 0}
.field{display:flex;flex-direction:column;gap:6px}
.field label,.field .lab{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);font-weight:500}
.field input,.field select,.field textarea{border:1px solid var(--line);background:var(--paper,#fff);padding:11px 13px;border-radius:2px;font-size:15px;width:100%}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--bronze);box-shadow:0 0 0 3px rgba(201,164,108,.18)}
.field .help{font-size:13px;color:var(--ink-mute)}
.field .err{font-size:13px;color:var(--bad)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.radio-card{display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:12px 14px;border-radius:2px;cursor:pointer;background:var(--paper,#fff)}
.radio-card:has(input:checked){border-color:var(--choco);box-shadow:inset 0 0 0 1px var(--choco)}
.radio-card input{accent-color:var(--choco)}
.radio-card span{flex:1}
.radio-card b{font-weight:500;font-variant-numeric:tabular-nums}
.confirm{text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;padding:40px 6px}
.confirm .script{font-size:52px}
.confirm h3{font-size:30px}

/* aperçu produit */
.modal{position:absolute;inset:max(20px,4vh) max(16px,4vw);margin:auto;max-width:1060px;max-height:calc(100% - 40px);background:var(--ivory);border:1px solid var(--gold);overflow-y:auto;opacity:0;transform:translateY(16px) scale(.985);transition:opacity .4s,transform .45s cubic-bezier(.2,.7,.2,1)}
.overlay.open .modal{opacity:1;transform:none}
.modal .x-btn{position:absolute;top:12px;right:12px;z-index:3;background:var(--ivory)}
.pdp{display:grid;grid-template-columns:1.05fr 1fr;gap:0}
.pdp-gal{background:var(--champ);padding:24px;display:flex;flex-direction:column;gap:12px}
.zoom{position:relative;aspect-ratio:3/4;overflow:hidden;cursor:zoom-in;border-radius:2px}
.zoom .vis{position:absolute;inset:0;transition:transform .35s ease}
.zoom img{width:100%;height:100%;object-fit:cover}
.zoom.on .vis{transform:scale(2)}
.thumbs{display:flex;gap:10px}
.thumbs button{width:64px;aspect-ratio:3/4;overflow:hidden;border-radius:2px;opacity:.6;box-shadow:0 0 0 1px var(--line);transition:opacity .3s}
.thumbs button[aria-pressed="true"]{opacity:1;box-shadow:0 0 0 1px var(--choco)}
.thumbs img{width:100%;height:100%;object-fit:cover}
.pdp-info{padding:clamp(24px,4vw,46px);display:flex;flex-direction:column;gap:18px;min-width:0}
.pdp-info h2{font-size:clamp(34px,3.6vw,46px);font-weight:400}
.pdp-info .prices{font-size:22px}
.pdp-info .desc{color:var(--ink-soft);font-weight:300}
.opt-label{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px;font-weight:500}
.opt-label em{font-style:normal;text-transform:none;letter-spacing:0;color:var(--choco);font-size:14px;font-weight:400}
.opt-label button{text-transform:none;letter-spacing:0;font-size:13.5px;color:var(--bronze);text-decoration:underline;text-underline-offset:3px}
.pdp-info .sz{min-width:46px;height:42px;font-size:15px}
.stock-line{font-size:14px;display:flex;align-items:center;gap:8px}
.stock-line::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok)}
.stock-line.low::before{background:var(--warn)}
.stock-line.none::before{background:var(--bad)}
.buy-row{display:flex;gap:12px;align-items:stretch}
.buy-row .qty button{height:48px;width:40px}
.buy-row .btn{flex:1}
.buy-row .fav{position:static;width:48px;height:48px;border:1px solid var(--line);border-radius:2px;background:transparent}
.size-guide{border:1px solid var(--line);border-radius:2px;overflow-x:auto}
.size-guide table{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums;min-width:360px}
.size-guide th,.size-guide td{padding:8px 10px;text-align:center;border-bottom:1px solid var(--line-soft)}
.size-guide th{font-weight:500;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);background:var(--champ)}
.similar{padding:28px clamp(20px,4vw,46px) 36px;border-top:1px solid var(--line)}
.similar h3{font-size:28px;margin-bottom:18px}
.similar .grid-products{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:820px){.pdp{grid-template-columns:1fr}.similar .grid-products{grid-template-columns:repeat(2,minmax(0,1fr))}.modal{inset:0;max-height:100%;border:0}}

/* toast */
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,30px);background:var(--choco-bg,var(--choco));color:var(--on-dark,var(--ivory));padding:13px 22px;border-radius:2px;box-shadow:0 0 0 1px var(--gold),0 18px 40px -16px rgba(58,64,52,.6);z-index:100;opacity:0;transition:all .4s cubic-bezier(.2,.7,.2,1);font-size:14px;max-width:calc(100% - 32px);text-align:center;pointer-events:none}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* apparitions */
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes heroIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.hero-text>*{animation:heroIn .9s cubic-bezier(.2,.7,.2,1) both}
.hero-text>*:nth-child(2){animation-delay:.08s}.hero-text>*:nth-child(3){animation-delay:.16s}.hero-text>*:nth-child(4){animation-delay:.24s}.hero-text>*:nth-child(5){animation-delay:.32s}
.hero-visual{animation:heroIn 1.2s .15s cubic-bezier(.2,.7,.2,1) both}
.reveal.pre{opacity:0;transform:translateY(22px)}
.reveal{transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}

/* Couleurs sur les cartes produit : la photo suit la couleur choisie */
.card-colors{display:flex;flex-wrap:wrap;gap:9px;padding:2px 0 1px 3px}
.card-colors .swatch{width:18px;height:18px}
.card-colors .swatch[aria-pressed="true"]::after{inset:-4px}

/* Raccourci vers l'espace Marine : affiché par le serveur uniquement quand Marine est connectée */
.adm-shortcut{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;display:inline-flex;align-items:center;gap:8px;padding:6px 16px 6px 8px;border-radius:999px;background:var(--choco-bg,var(--choco));color:var(--on-dark,var(--ivory));font-size:12px;letter-spacing:.14em;text-transform:uppercase;box-shadow:0 10px 26px -12px rgba(58,64,52,.6);transition:transform .25s,background .25s}
.adm-shortcut:hover{transform:translateY(-2px);background:#535A4A}
.adm-shortcut img{width:34px;height:auto;border-radius:50%;background:var(--champ)}
@media print{.adm-shortcut{display:none}}

/* Pages légales */
.legal-wrap{display:grid;grid-template-columns:220px minmax(0,760px);gap:clamp(28px,5vw,72px);justify-content:center;align-items:start}
.legal-nav{position:sticky;top:110px;display:flex;flex-direction:column;gap:12px;font-size:14px}
.legal-nav a{color:var(--ink-soft);align-self:flex-start}
.legal-nav a[aria-current="page"]{color:var(--choco);font-weight:500}
.legal-text{color:var(--ink);line-height:1.7;font-size:16px}
.legal-text .lead{font-size:17px;color:var(--ink-soft);margin:0 0 28px}
.legal-text section{padding:22px 0;border-top:1px solid var(--line-soft);scroll-margin-top:110px}
.legal-text h2{font-size:28px;font-weight:500;margin-bottom:12px}
.legal-text p{margin:0 0 12px}
.legal-text ul,.legal-text ol{margin:0 0 12px;padding-left:20px}
.legal-text li{margin:4px 0}
.legal-text a{color:var(--bronze);text-decoration:underline;text-underline-offset:3px}
.legal-box{background:var(--champ);border:1px solid var(--line);border-radius:4px;padding:18px 20px;font-size:14.5px;margin-top:12px}
.legal-box p:last-child{margin-bottom:0}
.legal-table{overflow-x:auto;margin:6px 0 14px}
.legal-table table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:520px}
.legal-table th{text-align:left;font-weight:500;color:var(--choco);background:var(--champ);padding:10px 12px;border-bottom:1px solid var(--line)}
.legal-table td{padding:10px 12px;border-bottom:1px solid var(--line-soft);vertical-align:top}
mark.todo{background:#F6E1C8;color:#8A4B22;padding:0 4px;border-radius:2px;font-size:.92em}
@media (max-width:880px){.legal-wrap{grid-template-columns:1fr}.legal-nav{position:static;flex-direction:row;flex-wrap:wrap;gap:8px 18px}}
.legal-text,.legal-nav{min-width:0}.legal-text{overflow-wrap:anywhere}
/* Initiale lisible dans les textes manuscrits (« by Marine S. ») */
.s-initial{font:inherit}   /* l'écriture Alex Brush a un S lisible : plus besoin de traitement particulier */

/* Collection : nouveautés / tout / soldes */
.views{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.chip-view{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--choco);font-size:13px;letter-spacing:.12em;text-transform:uppercase;transition:all .25s}
.chip-view small{font-size:11px;letter-spacing:0;color:var(--ink-mute)}
.chip-view:hover{border-color:var(--bronze)}
.chip-view[aria-pressed="true"]{background:var(--choco-bg,var(--choco));border-color:var(--choco);color:var(--on-dark,var(--ivory))}
.chip-view[aria-pressed="true"] small{color:var(--champ)}
.shop-sec+.shop-sec{margin-top:56px}
.shop-sec-title{font-size:clamp(28px,3vw,36px);font-weight:400;margin-bottom:22px;display:flex;align-items:baseline;gap:12px}
.shop-sec-title small{font-family:var(--f-ui);font-size:12px;letter-spacing:.16em;color:var(--ink-mute)}

/* Colonne de filtres : toujours ouverte, elle défile seule si elle est plus haute que l'écran */
@media (min-width:861px){.filters{max-height:calc(100vh - var(--head-small) - 40px);overflow-y:auto;overscroll-behavior:contain;padding-right:6px;scrollbar-width:thin}}

/* Confirmation d'ajout au panier (sans quitter la page) */
.added{position:fixed;right:20px;top:calc(var(--head-small) + 16px);z-index:120;display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;align-items:start;width:min(380px,calc(100% - 32px));padding:14px;background:var(--ivory);border:1px solid var(--gold);border-radius:4px;box-shadow:0 24px 50px -22px rgba(58,64,52,.55);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .3s,transform .3s,visibility 0s .3s}
.added.show{opacity:1;visibility:visible;transform:none;transition:opacity .3s,transform .3s}
.added .thumb{aspect-ratio:3/4;overflow:hidden;border-radius:2px;background:var(--champ)}
.added .thumb img{width:100%;height:100%;object-fit:cover}
.added .txt{display:flex;flex-direction:column;gap:4px;min-width:0}
.added .txt b{font-family:var(--f-display);font-size:21px;font-weight:500;color:var(--choco)}
.added .txt span{font-size:13.5px;color:var(--ink-soft)}
.added .acts{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:8px}
.added .acts .link-u{font-size:13px;color:var(--bronze)}
.added .x-btn{width:30px;height:30px}
@media (max-width:600px){.added{right:16px;left:16px;width:auto;top:auto;bottom:calc(16px + env(safe-area-inset-bottom,0px))}}
.badge-count.bump{animation:bump .5s ease}
@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.45)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.added{transition:none}.badge-count.bump{animation:none}}

/* Photo au survol des cartes (2e photo de la même couleur) */
.pcard-media .vis img.alt{position:absolute;inset:0;opacity:0;transition:opacity .5s ease}
@media (hover:hover){.pcard:hover .pcard-media .vis img.alt{opacity:1}}

/* Notes et avis */
.stars{display:inline-flex;gap:1px;color:#D8C6AE;font-size:15px;line-height:1}
.stars i{font-style:normal}
.stars i.on{color:var(--gold)}
.stars i.half{background:linear-gradient(90deg,var(--gold) 50%,#D8C6AE 50%);-webkit-background-clip:text;background-clip:text;color:transparent}
.pcard-rating{display:flex;align-items:center;gap:8px;margin-top:-2px}
.pcard-rating small{font-size:12px;color:var(--ink-mute)}
.pdp-reviews{padding:34px clamp(20px,4vw,48px) 6px;border-top:1px solid var(--line)}
.rv-head{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-bottom:18px}
.rv-head h3{font-size:30px;font-weight:400;margin-right:auto}
.rv-sum{display:flex;align-items:center;gap:8px;color:var(--ink-soft);font-size:14px}
.rv-sum b{font-family:var(--f-display);font-size:24px;font-weight:500;color:var(--choco)}
.rv-sum .stars{font-size:18px}
.rv-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.rv-list li{padding:18px 0;border-bottom:1px solid var(--line-soft)}
.rv-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rv-top b{font-weight:500;color:var(--choco)}
.rv-list p{margin:8px 0;line-height:1.6;color:var(--ink)}
.rv-list small{color:var(--ink-mute);font-size:13px}
.rv-verified{color:var(--ok,#5d7a4a)}
.rv-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px 3px 4px;border-radius:999px;background:#E9EFE3;color:#3F5A33;border:1px solid #B9CBA9;font-size:12px;font-weight:500;letter-spacing:.04em;line-height:1.3;white-space:nowrap}
.rv-badge svg{width:17px;height:17px;flex:none}
.rv-badge svg path{fill:#5D7A4A;stroke:none}
.rv-badge svg path.ck{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rv-badge.sm{padding:1px 8px 1px 3px;font-size:11.5px;vertical-align:1px}
.rv-badge.sm svg{width:14px;height:14px}
.rv-me{margin:4px 0 6px;display:flex;flex-direction:column;gap:6px}
.rv-me p{margin:0;font-size:14px;color:var(--ink-soft);line-height:1.5}
.rv-me-ok{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;background:#F3F6EF;border-radius:4px}
.rv-me-who small{color:var(--ink-mute)}
.rv-login{font-size:13.5px;color:var(--ink-soft);margin:2px 0 4px}
.rv-reply{margin-top:10px;padding:12px 16px;background:var(--champ);border-left:2px solid var(--gold);border-radius:2px;font-size:14px}
.rv-reply p{margin:4px 0 0}
.rv-empty,.rv-thanks{color:var(--ink-soft);margin:6px 0 14px}
.rv-thanks{color:var(--choco);font-family:var(--f-display);font-size:21px}
.rv-note{font-size:12.5px;color:var(--ink-mute);margin:16px 0 0;line-height:1.5}
.rv-form,.contact-form{display:flex;flex-direction:column;gap:14px;margin-bottom:20px;padding:20px;border:1px solid var(--line);border-radius:4px;background:var(--ivory)}
.rv-form label,.contact-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;letter-spacing:.06em;color:var(--ink-soft)}
.rv-form small,.contact-form small{color:var(--ink-mute);letter-spacing:0}
.rv-form input:not([type=checkbox]):not([type=radio]),.rv-form select,.rv-form textarea,.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{border:1px solid var(--line);background:var(--paper,#fff);padding:11px 12px;border-radius:2px;font:inherit;font-size:15px;color:var(--ink);letter-spacing:0}
.rv-form textarea,.contact-form textarea{resize:vertical}
.rv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.rv-consent{flex-direction:row!important;align-items:flex-start;gap:10px!important;letter-spacing:0!important;font-size:13.5px!important}
.rv-consent input{margin-top:3px;accent-color:var(--choco)}
.rv-form .btn,.contact-form .btn{align-self:flex-start}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.rv-stars{border:0;padding:0;margin:0;display:flex;gap:4px;flex-direction:row-reverse;justify-content:flex-end}
.rv-stars legend{font-size:13px;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:6px;float:left;width:100%}
.rv-stars label{cursor:pointer;font-size:30px!important;color:#D8C6AE;letter-spacing:0!important}
.rv-stars input{position:absolute;opacity:0;pointer-events:none}
.rv-stars label:hover,.rv-stars label:hover~label,.rv-stars input:checked~span,.rv-stars label:has(input:checked),.rv-stars label:has(input:checked)~label{color:var(--gold)}
.rv-stars label:has(input:focus-visible){outline:2px solid var(--bronze);outline-offset:2px}
@media (max-width:600px){.rv-grid{grid-template-columns:1fr}}

/* Bandeau soldes de l'accueil */
.promo-banner{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 18px;padding:13px var(--gutter-r) 13px var(--gutter-l);background:var(--choco-bg,var(--choco));color:var(--on-dark,var(--ivory));text-align:center;font-size:14.5px;letter-spacing:.04em}
.promo-banner .pb-text em{color:var(--gold);font-style:italic}
.promo-banner .pb-cta{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid rgba(201,164,108,.6);padding-bottom:2px}
.promo-banner:hover .pb-cta{color:var(--on-dark,var(--ivory));border-color:var(--on-dark,var(--ivory))}

/* Page Contact */
.contact-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(28px,5vw,72px);align-items:start;max-width:1100px}
.contact-info h2{font-size:clamp(32px,3.4vw,44px);font-weight:400;margin:6px 0 22px}
.contact-info .script{font-size:34px}
.contact-list{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:12px}
.contact-list li{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;font-size:15.5px;color:var(--ink);overflow-wrap:anywhere}
.contact-list span{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze);padding-top:3px}
.contact-list a{color:var(--choco);text-decoration:underline;text-underline-offset:3px}
.contact-hint{color:var(--ink-soft);font-size:14.5px;line-height:1.6}
.contact-info .socials a{color:var(--choco)}
.contact-form-wrap .confirm{text-align:center;padding:40px 20px;border:1px solid var(--line);border-radius:4px;display:flex;flex-direction:column;gap:12px;align-items:center}
@media (max-width:860px){.contact-wrap{grid-template-columns:1fr}}
/* En-tête réduit sur les pages boutique, déplié au survol */
.head-spacer.small{height:calc(var(--head-small) + env(safe-area-inset-top,0px))}
.site-head.compact.peek{box-shadow:0 18px 40px -20px rgba(74,81,67,.5)}

/* Trouver ma taille */
.fit{border:1px solid var(--line);border-radius:4px;background:var(--ivory);margin:6px 0 4px;overflow:hidden}
.fit-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.fit-tabs button{padding:12px 10px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);background:var(--champ)}
.fit-tabs button[aria-selected="true"]{background:var(--ivory);color:var(--choco);font-weight:500;box-shadow:inset 0 -2px 0 var(--choco)}
.fit-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px;padding:16px}
.fit-form{display:flex;flex-direction:column;gap:12px}
.fit-form label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;letter-spacing:.06em;color:var(--ink-soft)}
.fit-form select,.fit-in input{border:1px solid var(--line);background:var(--paper,#fff);padding:10px 12px;border-radius:2px;font:inherit;font-size:15px;color:var(--ink);letter-spacing:0;width:100%}
.fit-in{position:relative;display:block}
.fit-in em{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-style:normal;font-size:13px;color:var(--ink-mute)}
.fit-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fit-hint,.fit-privacy{font-size:12.5px;color:var(--ink-mute);line-height:1.5;margin:0}
.fit-result{height:100%;display:flex;flex-direction:column;gap:8px;justify-content:center;align-items:flex-start;padding:16px;border-radius:4px;background:var(--champ);text-align:left}
.fit-result.empty{color:var(--ink-soft);font-size:14px}
.fit-result p{margin:0;font-size:14px;color:var(--ink-soft);line-height:1.5}
.fit-size{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.fit-size b{font-family:var(--f-display);font-size:56px;line-height:1;font-weight:500;color:var(--choco)}
.fit-size span{font-size:14px;color:var(--ink-soft)}
.fit-warn{color:#9A4B2A;font-size:13px}
.fit-chart{border-top:1px solid var(--line);padding:10px 16px 14px}
.fit-chart summary{cursor:pointer;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze)}
.fit-chart .size-guide{margin-top:10px}
.size-guide tr.sel td{background:var(--surface-2,#F8EEDF);font-weight:500}
.fit-badge{display:inline-flex;align-items:center;gap:6px;margin:4px 0 8px;padding:5px 12px;border-radius:999px;background:var(--champ);font-size:13px;color:var(--ink-soft)}
.fit-badge b{color:var(--choco);font-size:15px}
.fit-modal{max-width:760px}
.fit-modal .fit-head{padding:28px 28px 8px}
.fit-modal .fit-head h2{font-size:clamp(32px,4vw,44px);font-weight:400;margin:6px 0}
.fit-modal .fit-head p{color:var(--ink-soft);margin:0 0 6px}
.fit-modal .fit{margin:12px 28px 28px}
@media (max-width:640px){.fit-body{grid-template-columns:1fr}.fit-modal .fit{margin:12px 16px 20px}.fit-modal .fit-head{padding:24px 16px 4px}}
#pdp .fit-body{grid-template-columns:1fr}#pdp .fit-result{padding:14px}#pdp .fit-result .btn{white-space:nowrap}
/* Silhouette à ajuster (Trouver ma taille) */
.fit-lbl{display:block;font-size:12.5px;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:6px}
.fit-lbl small{color:var(--ink-mute);letter-spacing:0;margin-left:4px}
.sil{display:grid;grid-template-columns:minmax(110px,150px) minmax(0,1fr);gap:10px;align-items:center;background:linear-gradient(180deg,var(--champ),var(--surface-2,#FBF5EC));border:1px solid var(--line-soft);border-radius:4px;padding:10px 12px}
.sil svg{width:100%;height:auto;max-height:280px;display:block}
.sil .body{fill:url(#silg)}
.sil .arm{fill:none;stroke:url(#silg);stroke-width:13;stroke-linecap:round;stroke-linejoin:round}
.sil .hair{fill:#717B66;opacity:.85}
.sil path,.sil ellipse{transition:d .35s ease}
.fit-steps{display:flex;flex-direction:column;gap:18px}
.fit-step span{display:block;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze);margin-bottom:6px}
.fit-step>div{display:flex;align-items:center;gap:8px}
.fit-step button{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:var(--paper,#fff);color:var(--choco);font-size:17px;line-height:1;display:grid;place-items:center;transition:all .2s}
.fit-step button:hover:not([disabled]){border-color:var(--choco);background:var(--choco-bg,var(--choco));color:var(--on-dark,var(--ivory))}
.fit-step button[disabled]{opacity:.35;cursor:default}
.fit-step i{display:flex;gap:4px}
.fit-step i b{width:9px;height:9px;border-radius:50%;background:#E3D2BB;transition:background .2s}
.fit-step i b.on{background:var(--bronze)}
.fit-prefs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.fit-prefs button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border:1px solid var(--line);border-radius:4px;background:var(--paper,#fff);font-size:12.5px;color:var(--ink-soft);line-height:1.25;text-align:center;transition:all .2s}
.fit-prefs svg{width:24px;height:24px;fill:none;stroke:var(--bronze);stroke-width:1.4;stroke-linecap:round}
.fit-prefs button[aria-checked="true"]{border-color:var(--choco);box-shadow:0 0 0 1px var(--choco);color:var(--choco);background:var(--surface-2,#FBF5EC)}

/* ---------- Commande et paiement (étape 4) ---------- */
.field .opt{font-size:11px;letter-spacing:.04em;text-transform:none;color:var(--ink-mute);font-weight:400}
.field textarea{resize:vertical;min-height:58px;font:inherit}
.field input[aria-invalid=true]{border-color:var(--bad)}
.co-hint{font-size:12.5px;color:var(--ink-mute);margin:-6px 0 0}
.co-check{display:flex;cursor:pointer;line-height:1.5;color:var(--ink-soft)}
.co-check input[aria-invalid=true]{outline:2px solid var(--bad);outline-offset:2px}
.co-err{font-size:13px;color:var(--bad);margin-top:-8px}
.co-alert{border:1px solid rgba(163,62,44,.35);background:#fbf1ec;color:#7a2e20;padding:12px 14px;border-radius:3px;font-size:14px;line-height:1.5;margin-bottom:6px}
.co-secure{display:flex;gap:8px;align-items:flex-start;font-size:12px;line-height:1.5;color:var(--ink-mute);margin:0}
.co-secure svg{flex:0 0 15px;width:15px;height:15px;margin-top:1px;fill:none;stroke:currentColor;stroke-width:1.6}
.co-test{font-size:11.5px;line-height:1.45;color:#7a5a1e;background:#fbf3df;border:1px dashed #d9b46a;padding:7px 10px;border-radius:3px;margin:0;text-align:center}
.field .radio-card{font-size:15px;letter-spacing:0;text-transform:none;color:var(--ink);font-weight:400}
.field .radio-card input{width:auto;padding:0;border:0;box-shadow:none;flex:0 0 auto;margin:0}
.radio-card small{font-size:12.5px}
.nowrap{white-space:nowrap}
.drawer-foot .btn[disabled]{opacity:.65;cursor:progress}
.order-page{min-height:58vh;display:flex;align-items:center}
.order-card{max-width:620px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;padding:48px 28px;border:1px solid var(--line);background:rgba(255,255,255,.55);border-radius:4px}
.order-card .script{font-size:56px;line-height:1}
.order-card h1{font-size:clamp(26px,4vw,36px);font-weight:400;margin:0}
.order-card p{color:var(--ink-soft);line-height:1.65;margin:0;max-width:52ch}
.order-card .muted{font-size:13px;color:var(--ink-mute)}
.order-ctas{display:flex;gap:22px;align-items:center;flex-wrap:wrap;justify-content:center;margin-top:8px}
.order-ctas .link-u{color:var(--choco)}
.spinner{width:34px;height:34px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--bronze);animation:ma-spin .9s linear infinite;margin-top:6px}
@keyframes ma-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){.spinner{animation-duration:3s}}
@media (max-width:560px){.order-card{padding:36px 18px;border-left:0;border-right:0}.order-card .script{font-size:46px}}

/* ---------- Petit cœur kaki sous « Merci ! » ---------- */
.merci-heart{display:block;width:30px;height:30px;margin:-6px auto 2px;color:#7A7444}
.merci-heart svg{width:100%;height:100%;fill:currentColor;stroke:none;animation:ma-beat 2.4s ease-in-out 1s 2}
@keyframes ma-beat{0%,100%{transform:scale(1)}12%{transform:scale(1.14)}24%{transform:scale(.98)}36%{transform:scale(1.08)}}
@media (prefers-reduced-motion: reduce){.merci-heart svg{animation:none}}

/* ---------- Musique d'ambiance : bouton discret, bas à droite ---------- */
.music-btn{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:55;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 13px;border-radius:999px;
  background:rgba(255,249,241,.92);color:var(--choco);border:1px solid var(--gold);box-shadow:0 10px 26px -14px rgba(58,64,52,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:transform .25s,background .25s,box-shadow .25s}
.music-btn:hover{transform:translateY(-2px);background:var(--ivory)}
.music-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.music-btn .lbl{max-width:0;overflow:hidden;white-space:nowrap;transition:max-width .35s ease;margin-left:-8px}
.music-btn:hover .lbl,.music-btn:focus-visible .lbl{max-width:80px;margin-left:0}
.music-btn.on{background:var(--choco-bg,var(--choco));color:var(--on-dark,var(--ivory));border-color:var(--choco)}
.music-btn .eq{display:inline-flex;align-items:flex-end;gap:2.5px;width:18px;height:16px}
.music-btn .eq i{display:block;width:3px;height:40%;background:currentColor;border-radius:2px;animation:ma-eq 1.1s ease-in-out infinite}
.music-btn .eq i:nth-child(2){animation-delay:-.4s}.music-btn .eq i:nth-child(3){animation-delay:-.75s}
@keyframes ma-eq{0%,100%{height:30%}50%{height:100%}}
@media (prefers-reduced-motion: reduce){.music-btn .eq i{animation:none;height:70%}}
@media (hover:none){.music-btn .lbl{display:none}.music-btn{width:44px;padding:0;justify-content:center}}
@media print{.music-btn{display:none}}

/* Menu téléphone : liens d'aide (retours, livraison, tailles) */
.mob-menu .mob-help{display:flex;flex-direction:column;gap:2px;margin:14px 0 6px;padding:10px 16px;border:1px solid var(--line);border-radius:4px;background:rgba(255,255,255,.5)}
.mob-menu .mob-help .lab{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze);margin-bottom:4px}
.mob-menu .panel .mob-help a,.mob-menu .panel .mob-help button.lnk{font-family:var(--f-ui);font-size:16px;color:var(--choco);padding:7px 0;border-bottom:0;display:flex;align-items:center;justify-content:space-between}
.mob-menu .panel .mob-help a::after,.mob-menu .panel .mob-help button.lnk::after{content:"›";font-size:20px;color:var(--bronze);line-height:1}

/* ---------- Point relais : choix dans le panier ---------- */
.relay-pick{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1px dashed var(--bronze);background:#fffdf9;padding:13px 14px;border-radius:3px;cursor:pointer;color:var(--choco)}
.relay-pick:hover{background:var(--champ)}
.relay-pick svg{flex:0 0 22px;width:22px;height:22px;fill:none;stroke:var(--bronze);stroke-width:1.6}
.relay-pick b{display:block;font-weight:500}.relay-pick small{display:block;color:var(--ink-mute);font-size:12.5px}
.relay-pick.err-box{border-color:var(--bad);border-style:solid}
.relay-chosen{display:flex;flex-direction:column;gap:2px;border:1px solid var(--choco);box-shadow:inset 0 0 0 1px var(--choco);background:var(--paper,#fff);padding:12px 14px;border-radius:2px;font-size:14px}
.relay-chosen .lab{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze)}
.relay-chosen b{font-weight:500;font-size:15px}
.relay-chosen .link-u{align-self:flex-start;margin-top:6px;font-size:13px;color:var(--choco)}
.relay-note{margin:0}
.relay-body{display:flex;flex-direction:column;gap:14px}
.relay-search{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:10px;align-items:end}
.relay-search .btn{height:45px}
.relay-loading{display:flex;align-items:center;gap:12px;color:var(--ink-soft);font-size:14px}.relay-loading .spinner{margin:0;width:24px;height:24px}
.relay-map{height:230px;border:1px solid var(--line);border-radius:3px;z-index:0;flex:0 0 auto}
.relay-pin{display:flex;align-items:center;justify-content:center}
.relay-pin span{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--bronze);color:#fff;font-size:12px;font-weight:600;border:2px solid #fff;box-shadow:0 2px 6px rgba(58,64,52,.45);transition:transform .2s}
.relay-pin.on span{background:var(--choco-bg,var(--choco));transform:scale(1.2)}
.relay-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.relay-list li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:3px;background:var(--paper,#fff)}
.relay-list li.on{border-color:var(--choco);box-shadow:inset 0 0 0 1px var(--choco)}
.relay-list .num{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--champ);color:var(--choco);font-size:12px;font-weight:600}
.relay-list .info{display:flex;flex-direction:column;gap:2px;font-size:13.5px;color:var(--ink-soft);min-width:0}
.relay-list .info b{font-weight:500;color:var(--ink);font-size:14.5px}
.relay-list .info small{color:var(--bronze);font-size:12.5px}
.relay-list details{font-size:12.5px;margin-top:4px}.relay-list summary{cursor:pointer;color:var(--ink-mute)}.relay-list details p{margin:4px 0 0;line-height:1.5}
@media (max-width:480px){.relay-search{grid-template-columns:118px minmax(0,1fr)}.relay-search .btn{grid-column:1/-1}.relay-map{height:190px}}

/* Panier : corbeille à la place de « Retirer » */
.drawer .rm{display:inline-grid;place-items:center;width:34px;height:34px;margin-left:-8px;border-radius:50%;color:var(--ink-mute);text-decoration:none;transition:color .2s,background .2s}
.drawer .rm svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.drawer .rm:hover,.drawer .rm:focus-visible{color:var(--bad);background:#F6E6E0}

/* Réseaux sociaux : couleurs des marques au survol */
.socials a{transition:background .3s,color .3s,border-color .3s}
.socials a.s-ig:hover,.socials a.s-ig:focus-visible{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fd5949 45%,#d6249f 60%,#285AEB 90%);border-color:transparent;color:#fff}
.socials a.s-fb:hover,.socials a.s-fb:focus-visible{background:#1877F2;border-color:#1877F2;color:#fff}
.socials a.s-pin:hover,.socials a.s-pin:focus-visible{background:#E60023;border-color:#E60023;color:#fff}
.socials a.s-vinted{overflow:hidden}
.socials a.s-vinted:hover,.socials a.s-vinted:focus-visible{background:#0B8A8F url(/assets/img/vinted.png) center/cover no-repeat;border-color:#0B8A8F}
.socials a.s-vinted:hover svg,.socials a.s-vinted:focus-visible svg{opacity:0}
.socials a.s-vinted svg{stroke-width:2.6;width:21px;height:21px;stroke-linecap:round;stroke-linejoin:round;fill:none;transition:opacity .2s}

/* Cartes produit sur téléphone : « Ajouter » tient sur une ligne */
@media (max-width:600px){.add-btn .long{display:none}.add-btn{letter-spacing:.14em}}

/* Bouton musique sur téléphone : plus petit, et s'efface pendant le défilement */
@media (max-width:600px){.music-btn{width:40px;height:40px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px))}.music-btn svg{width:16px;height:16px}}
.music-btn.scrolling{opacity:.15;pointer-events:none;transition:opacity .2s}

/* ---------- Compte cliente ---------- */
.acct-page{padding-top:48px;padding-bottom:72px}
.acct-narrow{max-width:880px}
.acct-title{font-family:var(--f-display);font-weight:400;font-size:clamp(32px,4.5vw,46px);margin:6px 0 26px}
.acct-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px;align-items:start}
.acct-card{background:var(--paper,#fff);border:1px solid var(--line);border-radius:4px;padding:26px;display:flex;flex-direction:column;gap:16px}
.acct-card h2{font-family:var(--f-display);font-weight:400;font-size:26px;margin:0}
.acct-card h3{font-family:var(--f-display);font-weight:400;font-size:22px;margin:0}
.acct-card > .btn{align-self:flex-start}
.acct-why{background:var(--champ);border-color:transparent}
.acct-perks{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;color:var(--ink-soft)}
.acct-perks li{padding-left:22px;position:relative}
.acct-perks li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--bronze)}
.acct-small{font-size:13px;color:var(--ink-mute);margin:0}
.acct-small .link-u,.acct-card > .link-u{color:var(--choco)}
.acct-alert{border:1px solid rgba(163,62,44,.35);background:#fbf1ec;color:#7a2e20;padding:12px 14px;border-radius:3px;font-size:14px;line-height:1.5}
.acct-done{text-align:center;align-items:center}
.acct-done .script{font-size:46px}
.acct-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 0;color:var(--ink-soft)}
.pw-wrap{position:relative}
.pw-wrap input{padding-right:46px}
.pw-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:38px;height:38px;display:grid;place-items:center;color:var(--ink-mute);border-radius:50%}
.pw-eye svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}
.pw-eye[aria-pressed=true]{color:var(--choco)}
.acct-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:26px}
.acct-hello{font-size:clamp(44px,6vw,62px);display:block}
.acct-layout{display:grid;grid-template-columns:minmax(0,370px) minmax(0,1fr);gap:32px;align-items:start}
.acct-side{position:sticky;top:calc(var(--head-small) + 20px)}
.acct-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:20px}
.acct-tab{padding:10px 14px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);border-bottom:2px solid transparent;margin-bottom:-1px}
.acct-tab[aria-selected=true]{color:var(--choco);border-bottom-color:var(--bronze)}
.acct-panel{display:flex;flex-direction:column;gap:16px}
.acct-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.acct-actions .link-u{color:var(--choco);font-size:14px}
.acct-empty{text-align:center;padding:36px 16px;border:1px dashed var(--line);border-radius:4px;display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--ink-soft)}
.acct-orders{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.acct-order{border:1px solid var(--line);border-radius:4px;padding:18px 20px;background:var(--paper,#fff);display:flex;flex-direction:column;gap:10px}
.ao-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.ao-head b{font-weight:500;display:block}
.ao-head span{font-size:13.5px;color:var(--ink-mute)}
.ao-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:14.5px}
.ao-items span{color:var(--ink-mute);font-size:13px}
.ao-ship{font-size:13.5px;color:var(--ink-soft);margin:0}
.acct-order .pill{font-size:12px;padding:4px 10px;border-radius:20px;white-space:nowrap}
.acct-order .s-attente{background:#F7E9D2;color:#9A6420}.acct-order .s-prep{background:#EFE3D6;color:var(--bronze)}.acct-order .s-exp{background:#E6E8EE;color:#46506B}
.acct-order .s-liv,.acct-addr .s-liv{background:#E3EADB;color:var(--ok)}.acct-order .s-ann{background:#F2E0DA;color:var(--bad)}
.acct-addr .pill{font-size:11px;padding:3px 8px;border-radius:20px}
.acct-addr{display:flex;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:4px;padding:16px 18px;background:var(--paper,#fff);line-height:1.55;font-size:14.5px}
.acct-addr b{font-weight:500}
.acct-danger{border-color:rgba(163,62,44,.3)}
.acct-danger p{color:var(--ink-soft);margin:0;font-size:14px}

/* Carte de fidélité */
.loy-card{--loy-gold:#DEC080;position:relative;aspect-ratio:1.586;border-radius:18px;padding:20px 22px;color:var(--loy-gold);overflow:hidden;display:flex;flex-direction:column;
  background:radial-gradient(110% 85% at 100% 0%,rgba(222,192,128,.22) 0%,rgba(222,192,128,0) 55%),linear-gradient(140deg,#6E7A66 0%,#5D6454 52%,#4A5143 100%);
  box-shadow:0 26px 50px -24px rgba(48,56,42,.8),inset 0 0 0 1px rgba(222,192,128,.6)}
.loy-card::before{content:"";position:absolute;right:-6%;bottom:-14%;width:58%;aspect-ratio:1000/655;background:url(/assets/img/logo-officiel-or.webp) center/contain no-repeat;opacity:.08;pointer-events:none}
.loy-card::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.03) 0 2px,transparent 2px 9px);pointer-events:none}
.loy-card>*{position:relative;z-index:1}
.loy-top{display:flex;align-items:center;gap:12px}
.loy-top img{width:76px;height:auto;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}
.loy-kicker{display:block;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--loy-gold);opacity:.85}
.loy-brand{display:block;font-family:var(--f-display);font-size:22px;letter-spacing:.04em;color:var(--loy-gold)}
.loy-points{margin-top:auto;display:flex;align-items:baseline;gap:8px}
.loy-points b{font-family:var(--f-display);font-weight:400;font-size:46px;line-height:1;color:var(--loy-gold)}
.loy-points span{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--loy-gold)}
.loy-bar{height:4px;border-radius:4px;background:rgba(222,192,128,.22);margin:10px 0 6px;overflow:hidden}
.loy-bar i{display:block;height:100%;background:linear-gradient(90deg,#C9A46C,#F1D9A9);border-radius:4px}
.loy-next{font-size:12px;color:rgba(241,225,190,.9);margin:0 0 10px;line-height:1.4}
.loy-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.loy-name{font-weight:500;color:var(--loy-gold)}
.loy-num{color:var(--loy-gold);opacity:.85;font-variant-numeric:tabular-nums}
@media (max-width:860px){.acct-grid,.acct-layout{grid-template-columns:1fr}.acct-side{position:static;max-width:420px}}
@media (max-width:480px){.acct-card{padding:20px 16px}.loy-card{padding:16px 18px}.loy-points b{font-size:38px}.loy-top img{width:62px}.acct-addr{flex-direction:column}}

/* Fidélité : conversion, bons, historique, choix du bon au panier */
.loy-convert{margin-top:16px;width:100%}
.loy-rules .acct-perks{font-size:14.5px}
.loy-rules .link-u{color:var(--choco)}
.loy-vouchers{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.loy-vouchers li{display:flex;align-items:center;gap:16px;padding:12px 14px;border:1px dashed var(--gold);border-radius:6px;background:linear-gradient(90deg,rgba(201,164,108,.12),transparent)}
.loy-vouchers li.is-res{opacity:.6}
.loy-vouchers .v-amt{font-family:var(--f-display);font-size:28px;color:var(--bronze);min-width:84px}
.loy-vouchers .v-txt{display:flex;flex-direction:column}
.loy-vouchers .v-txt b{font-weight:500}
.loy-vouchers small{color:var(--ink-mute);font-size:12.5px}
.loy-hist{width:100%;border-collapse:collapse;font-size:14px}
.loy-hist td{padding:8px 0;border-bottom:1px solid var(--line-soft)}
.loy-hist td:first-child{color:var(--ink-mute);width:110px;white-space:nowrap}
.loy-hist td:last-child{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}
.loy-hist .pos{color:var(--ok)}.loy-hist .neg{color:var(--bad)}
.loy-hist small{color:var(--ink-mute)}
.co-vouchers .radio-card.off{opacity:.55;cursor:not-allowed}
.co-vouchers .radio-card b{color:var(--ok)}
.drawer-foot .sum-row.disc span:last-child{color:var(--ok)}

/* Code postal ↔ ville */
.city-help{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;font-size:13px;margin-top:-6px;min-height:0}
.city-help:empty{display:none}
.city-help .ch-ok{color:var(--ok)}
.city-help .ch-bad{color:var(--bad)}
.city-help .ch-ask{color:var(--ink-soft);width:100%}
.city-help .ch-pick{border:1px solid var(--line);background:var(--paper,#fff);border-radius:20px;padding:5px 12px;font-size:13px;color:var(--choco);cursor:pointer}
.city-help .ch-pick:hover,.city-help .ch-pick:focus-visible{border-color:var(--choco);background:var(--champ)}

/* Panier : se connecter, créer un compte ou commander en invitée */
.who-body{display:flex;flex-direction:column;gap:16px}
.who-card{border:1px solid var(--line,#E7D9C6);border-radius:4px;padding:18px;background:var(--ivory)}
.who-card h3{font-family:var(--f-display);font-weight:500;font-size:21px;color:var(--choco);margin:0 0 12px}
.who-card .btn{width:100%;margin-top:4px}
.who-card .link-u{display:inline-block;margin-top:10px}
.who-new{background:var(--champ,#F4EADB);border-color:var(--gold)}
.who-perks{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}
.who-perks li{position:relative;padding-left:22px;font-size:14px;color:var(--ink-soft);line-height:1.45}
.who-perks li::before{content:"";position:absolute;left:2px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--gold)}
.who-perks b{color:var(--choco);font-weight:500}
.who-guest{text-align:center;padding:4px 4px 8px}
.who-login{width:100%}
.who-guest .link-u{font-size:15px;color:var(--choco)}
.who-guest .co-hint{margin-top:8px}

/* Pages légales en fenêtre par-dessus le panier ou un formulaire */
.legal-ov{z-index:140}
.legal-sheet{position:absolute;left:50%;top:50%;width:min(760px,calc(100% - 32px));max-height:calc(100% - 48px);display:flex;flex-direction:column;background:var(--ivory);border:1px solid var(--gold);border-radius:4px;box-shadow:0 30px 70px -30px rgba(58,64,52,.6);transform:translate(-50%,-46%);opacity:0;visibility:hidden;transition:opacity .3s,transform .3s,visibility 0s .3s}
.legal-ov.open .legal-sheet{opacity:1;visibility:visible;transform:translate(-50%,-50%);transition:opacity .3s,transform .3s}
.legal-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 22px;border-bottom:1px solid rgba(201,164,108,.5)}
.legal-bar .t{font-family:var(--f-display);font-size:20px;color:var(--choco)}
.legal-scroll{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.legal-scroll .band{padding:22px 0 30px}
.legal-scroll .wrap{padding:0 22px;max-width:none}
@media (max-width:600px){.legal-sheet{top:auto;bottom:0;left:0;width:100%;max-height:92%;transform:translateY(30px);border-radius:12px 12px 0 0}.legal-ov.open .legal-sheet{transform:none}}
@media (prefers-reduced-motion:reduce){.legal-sheet{transition:none}}

/* Mon compte : factures */
.ao-docs{margin:8px 0 0;font-size:13.5px}

/* ---------- Menu « Mon compte » (survol sur ordinateur, toucher sur téléphone) */
.acct-menu{position:relative;display:inline-flex}
.acct-trigger{position:relative;width:auto;min-width:40px;gap:0;transition:background .25s,color .25s}
.acct-trigger svg{transition:transform .45s cubic-bezier(.3,1.6,.5,1)}
.acct-menu[data-logged="1"] .acct-trigger::after{content:"";position:absolute;top:7px;right:7px;width:7px;height:7px;border-radius:50%;background:#7E9970;box-shadow:0 0 0 2px var(--ivory)}
.acct-pill{position:absolute;right:calc(100% - 4px);top:50%;transform:translate(8px,-50%);pointer-events:none;white-space:nowrap;font-size:12.5px;letter-spacing:.04em;color:var(--choco);background:var(--ivory);border:1px solid rgba(201,164,108,.6);border-radius:999px;padding:4px 10px;box-shadow:0 8px 18px -12px rgba(58,64,52,.45);opacity:0;transition:opacity .25s ease,transform .35s cubic-bezier(.3,1.4,.5,1)}
.acct-pill b{font-weight:500;color:var(--bronze)}
.acct-menu.open .acct-trigger svg,.acct-trigger:hover svg{transform:translateY(-2px) scale(1.12) rotate(-6deg)}
.acct-menu.open .acct-pill{opacity:1;transform:translate(0,-50%)}
.acct-pop{position:absolute;right:-8px;top:calc(100% + 10px);z-index:95;width:268px;background:var(--ivory);border:1px solid var(--gold);border-radius:6px;box-shadow:0 22px 50px -24px rgba(58,64,52,.55);padding:16px;display:flex;flex-direction:column;gap:10px;
  opacity:0;transform:translateY(-6px) scale(.98);transform-origin:top right;transition:opacity .2s ease,transform .2s ease;text-align:left}
.acct-pop::before{content:"";position:absolute;top:-7px;right:22px;width:12px;height:12px;background:var(--ivory);border-left:1px solid var(--gold);border-top:1px solid var(--gold);transform:rotate(45deg)}
.acct-pop::after{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.acct-menu.open .acct-pop{opacity:1;transform:none}
.ap-head{display:flex;flex-direction:column;gap:2px;padding-bottom:10px;border-bottom:1px solid rgba(201,164,108,.45)}
.ap-hi{font-family:var(--f-display);font-size:21px;color:var(--choco);line-height:1.2}
.ap-pts{font-size:13px;color:var(--ink-soft)}
.ap-pts b{color:var(--bronze);font-weight:500;font-size:15px}
.ap-sub{font-size:13px;color:var(--ink-soft);line-height:1.45}
.ap-links{display:flex;flex-direction:column}
.ap-links a{display:flex;align-items:center;gap:10px;padding:9px 8px;margin:0 -8px;border-radius:4px;color:var(--choco);text-decoration:none;font-size:14.5px;transition:background .2s,padding .2s}
.ap-links a:hover,.ap-links a:focus-visible{background:var(--champ);padding-left:12px}
.ap-links svg{width:17px;height:17px;flex:none;stroke:var(--bronze);fill:none;stroke-width:1.4}
.ap-out{align-self:flex-start;background:none;border:0;padding:6px 0 0;color:var(--ink-mute);font-size:13.5px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.ap-out:hover{color:var(--bad,#B4472A)}
.acct-pop .btn{width:100%;justify-content:center}
.ap-new{align-self:center;font-size:14px;color:var(--bronze)}
.acct-menu.mob .acct-pill{display:none}
@media (max-width:600px){.acct-pop{position:fixed;right:12px;left:12px;width:auto;top:calc(var(--head-small,64px) + 6px)}.acct-pop::before{right:96px}}
@media (prefers-reduced-motion:reduce){.acct-pop,.acct-pill,.acct-trigger svg{transition:none}}

/* ---------- Fiche produit : taille épuisée sélectionnable, alerte retour en stock */
.sizes-mini .sz.sz-out{color:var(--ink-mute);background:repeating-linear-gradient(135deg,transparent 0 6px,rgba(201,164,108,.18) 6px 7px);text-decoration:line-through;text-decoration-color:rgba(94,102,86,.45)}
.sizes-mini .sz.sz-out[aria-pressed="true"]{color:var(--choco);border-color:var(--choco)}
.stock-alert{margin:10px 0 4px;padding:14px 16px;border:1px dashed var(--gold);border-radius:4px;background:var(--surface,#FFFBF4)}
.stock-alert p{margin:0 0 10px;font-size:14px;color:var(--ink-soft)}
.stock-alert p b{color:var(--choco);font-weight:500}
.stock-alert.ok{border-style:solid;border-color:#B9CBA9;background:#F3F6EF;color:#3F5A33;font-size:14px}
.sa-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.sa-row input{flex:1;min-width:180px;padding:10px 12px;border:1px solid var(--line,#E2D3BE);border-radius:2px;font:inherit;background:var(--paper,#fff)}
.sa-me{flex:1;font-size:13.5px;color:var(--ink-soft)}

/* ---------- Complétez la tenue */
.pdp-look{margin:8px 0 28px;padding:24px;background:var(--champ);border-radius:4px}
.look-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.look-head h3{font-size:28px;font-weight:400;margin:0}
.look-head .script{font-family:var(--f-script,cursive);color:var(--bronze);font-size:22px}
.look-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.look-card{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:inherit;background:var(--ivory);border-radius:4px;overflow:hidden;transition:transform .3s,box-shadow .3s}
.look-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px -24px rgba(58,64,52,.5)}
.look-vis{aspect-ratio:3/4;overflow:hidden;display:block}
.look-vis img,.look-vis .vis{width:100%;height:100%;object-fit:cover}
.look-txt{display:flex;flex-direction:column;gap:4px;padding:0 14px 14px}
.look-txt b{font-weight:500;color:var(--choco)}
.look-cta{font-size:13px;color:var(--bronze);margin-top:2px}
@media (max-width:600px){.look-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pdp-look{padding:16px 12px}.look-txt{padding:0 8px 10px;font-size:13px}.look-cta{display:none}.look-head h3{font-size:23px}}

/* ---------- Mon compte : envies, retours, parrainage */
.wish-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.wish-list li{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:14px;align-items:center;padding:10px;background:var(--ivory);border:1px solid var(--line-soft);border-radius:4px}
.wl-vis{display:block;aspect-ratio:3/4;overflow:hidden;border-radius:2px}
.wl-vis img,.wl-vis .vis{width:100%;height:100%;object-fit:cover}
.wl-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.wl-name{color:var(--choco);font-weight:500;text-decoration:none}
.wl-txt small{color:var(--ink-mute);font-size:12.5px}
.ret-box{margin:12px 0 0;padding:12px 14px;border:1px solid var(--line-soft);border-radius:4px;background:var(--surface,#FFFCF7)}
.ret-top{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.ret-top b{font-weight:500;color:var(--choco);font-size:14.5px}
.ret-box p{margin:6px 0 0}
.ret-cta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.ret-form{margin-top:12px;padding:16px;border:1px solid var(--gold);border-radius:4px;background:var(--surface,#FFFBF4)}
.ret-form h4{font-family:var(--f-display);font-weight:400;font-size:21px;margin:0 0 10px;color:var(--choco)}
.ret-item{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line-soft);font-size:14px}
.ret-item small{display:block;color:var(--ink-mute)}
.ret-item select{max-width:170px}
.ret-acts{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.ref-card{background:linear-gradient(135deg,#F3F6EF,#FFF9F1);border-color:#B9CBA9}
.ref-row{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 8px}
.ref-row input{flex:1;min-width:200px;padding:10px 12px;border:1px solid var(--line,#E2D3BE);border-radius:2px;font:inherit;font-size:13.5px;background:var(--paper,#fff);color:var(--ink-soft)}
.ref-banner{margin:0 0 14px;padding:12px 14px;background:#F3F6EF;border:1px solid #B9CBA9;border-radius:4px;color:#3F5A33;font-size:14px}

/* ---------- Cartes produit : alignées sur une même ligne, bouton sur une seule ligne */
.pcard{container-type:inline-size}
.pcard-body{flex:1}
.pcard-rating{min-height:20px}
.pcard-rating.none{visibility:hidden}
.pcard .add-btn{margin-top:auto}
.add-btn .lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.add-btn svg{flex:none}
@container (max-width:270px){.add-btn{letter-spacing:.12em;padding:0 8px}.add-btn .long{display:none}}
.grid-products{align-items:stretch}

/* ---------- Panier : jauge « livraison offerte », vider le panier */
.drawer .ship-meter{display:flex;gap:12px;align-items:center;margin:0 0 16px;padding:12px 14px;background:var(--champ);border:1px solid rgba(201,164,108,.5);border-radius:4px;font-size:13.5px;color:var(--ink-soft)}
.drawer .ship-meter b{color:var(--choco);font-weight:500}
.sm-ic{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--ivory);color:var(--bronze)}
.sm-ic svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.3}
.sm-txt{flex:1;min-width:0}
.drawer .ship-meter .bar{height:6px;background:rgba(201,164,108,.25);margin-top:8px;border-radius:6px;overflow:hidden}
.drawer .ship-meter .bar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--gold),var(--bronze));transition:width .6s cubic-bezier(.2,.7,.2,1)}
.drawer .ship-meter.done{background:#F3F6EF;border-color:#B9CBA9}
.drawer .ship-meter.done b{color:#3F5A33}
.drawer .ship-meter.done .sm-ic{color:#5D7A4A}
.drawer .ship-meter.done .bar i{background:linear-gradient(90deg,#9DB08E,#5D7A4A)}
.cart-empty{font-size:12.5px;color:var(--ink-mute);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px;margin-left:6px}
.cart-empty:hover{color:var(--bad,#B4472A)}
.card-colors{min-height:21px}

/* ---------- Page « Notre histoire » */
.story-page .sp-hero{padding:56px 0 40px;background:linear-gradient(180deg,var(--champ),var(--ivory))}
.sp-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center}
.sp-hero-txt h1{font-family:var(--f-display);font-weight:400;font-size:clamp(38px,5vw,62px);line-height:1.05;margin:10px 0 18px;color:var(--choco)}
.sp-lead{font-size:19px;line-height:1.7;color:var(--ink-soft);max-width:34em}
.sp-sign{display:block;font-size:40px;color:var(--bronze);margin-top:14px}
.sp-photo{margin:0;position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:4px;background:var(--champ);box-shadow:0 30px 60px -36px rgba(58,64,52,.55)}
.sp-photo.arch{border-radius:999px 999px 6px 6px;box-shadow:0 0 0 1px var(--gold),0 0 0 10px var(--ivory),0 0 0 11px rgba(201,164,108,.45),0 30px 60px -36px rgba(58,64,52,.55)}
.sp-photo img{width:100%;height:100%;object-fit:cover;display:block}
.sp-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:radial-gradient(circle at 50% 40%,#FFF9F1,var(--champ))}
.sp-ph img{width:46%;height:auto;object-fit:contain;opacity:.55}
.sp-ph em{font-family:var(--f-script,cursive);font-style:normal;color:var(--bronze);font-size:26px}
.sp-narrow{max-width:760px;margin:0 auto;font-size:18px;line-height:1.8;color:var(--ink);text-align:center}
.sp-narrow p:first-child::first-letter{font-family:var(--f-display);font-size:3.2em;float:left;line-height:.8;margin:6px 10px 0 0;color:var(--bronze)}
.sp-narrow p{text-align:left}
.sp-atelier,.sp-quote{padding:64px 0}
.sp-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center}
.sp-split.rev{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.sp-split-txt h2{font-family:var(--f-display);font-weight:400;font-size:clamp(30px,3.6vw,44px);margin:8px 0 16px;color:var(--choco)}
.sp-split-txt p{font-size:17px;line-height:1.75;color:var(--ink-soft)}
.sp-values{background:var(--choco-bg,var(--choco));color:var(--on-dark,var(--ivory))}
.sp-values h2{font-family:var(--f-display);font-weight:400;font-size:clamp(30px,3.6vw,44px);text-align:center;margin:0 0 34px;color:var(--on-dark,var(--ivory))}
.sp-vals{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.sp-vals li{border-top:1px solid rgba(201,164,108,.6);padding-top:18px}
.sp-n{font-family:var(--f-display);font-size:42px;color:var(--gold);line-height:1}
.sp-vals p{font-size:17px;line-height:1.6;margin:10px 0 0;color:rgba(255,249,241,.9)}
.sp-quote blockquote{margin:0;position:relative;padding-left:28px;border-left:2px solid var(--gold)}
.sp-quote blockquote p{font-family:var(--f-display);font-size:clamp(26px,3.2vw,38px);line-height:1.3;color:var(--choco);margin:0 0 16px}
.sp-quote cite{font-style:normal;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze)}
.sp-cta .wrap{display:flex;gap:24px;align-items:center;justify-content:center;flex-wrap:wrap}
.sp-cta .link-u{color:var(--bronze)}
@media (max-width:860px){.sp-hero-grid,.sp-split,.sp-split.rev{grid-template-columns:1fr;gap:28px}.sp-hero-grid .sp-photo{max-width:380px;margin:0 auto;width:100%}.sp-split.rev blockquote{order:2}.sp-vals{grid-template-columns:1fr;gap:18px}.story-page .sp-hero{padding-top:28px}.sp-atelier,.sp-quote{padding:40px 0}}

/* ---------- Fiche produit (téléphone) : barre « Ajouter au panier » toujours visible */
.pdp-sticky{display:none}
@media (max-width:760px){
  .pdp-sticky{display:flex;position:sticky;bottom:0;z-index:5;gap:10px;align-items:center;margin:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(255,249,241,.96);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid rgba(201,164,108,.55);box-shadow:0 -12px 24px -18px rgba(58,64,52,.5);transform:translateY(110%);opacity:0;transition:transform .3s ease,opacity .3s ease;pointer-events:none}
  .pdp-sticky.show{transform:none;opacity:1;pointer-events:auto}
  .pdp-sticky .ps-info{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
  .pdp-sticky .ps-info b{font-weight:500;color:var(--choco);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pdp-sticky .ps-info small{color:var(--ink-mute);font-size:12.5px}
  .pdp-sticky .btn{flex:none;min-height:46px;padding:0 18px}
}

@font-face{font-family:"Cinzel Decorative";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/cinzel-decorative-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Cinzel Decorative";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/cinzel-decorative-latin-700-normal.woff2) format("woff2")}
/* Menu compte : le style des liens de l'en-tête ne déborde pas dans la fenêtre */
.acct-pop,.acct-pop a,.acct-pop button{text-transform:none;letter-spacing:normal;font-family:var(--f-body,inherit)}
.acct-pop .ap-hi{font-family:var(--f-display);font-size:22px;letter-spacing:0;text-transform:none}
.ap-guest{border-bottom:0;padding-bottom:4px;text-align:center}
.ap-btn{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:2px;font-size:12.5px !important;letter-spacing:.16em !important;text-transform:uppercase !important;font-weight:500;text-decoration:none;transition:background .25s,color .25s}
.acct-pop .ap-primary{background:var(--choco-bg,var(--choco));color:var(--on-dark,var(--ivory)) !important;border:1px solid var(--choco)}
.acct-pop .ap-primary:hover{background:var(--bronze);border-color:var(--bronze)}
.acct-pop .ap-ghost{background:transparent;color:var(--choco) !important;border:1px solid var(--choco)}
.acct-pop .ap-ghost:hover{background:var(--champ)}
/* Pied de page : icônes dorées au repos, couleurs des marques au survol */
.socials a{color:var(--gold)}
.contact-info .socials a{color:var(--bronze)}
.socials a.s-ig:hover,.socials a.s-fb:hover,.socials a.s-pin:hover,.socials a.s-ig:focus-visible,.socials a.s-fb:focus-visible,.socials a.s-pin:focus-visible{color:#fff}
.ap-guest .ap-hi{font-size:19px;color:var(--ink-soft)}
/* « Maison Ample » dans l'esprit du logo : grandes capitales, petites capitales, contraste fort */
.acct-pop .ap-brand{display:flex;align-items:center;justify-content:center;gap:10px;font-family:"Cinzel Decorative",var(--f-display);font-weight:700;font-variant:normal;font-size:19px;line-height:1.15;letter-spacing:.02em;white-space:nowrap;color:var(--choco);margin-top:4px}
/* Ornements : un filet doré terminé par un petit losange, de chaque côté */
.acct-pop .ap-brand::before,.acct-pop .ap-brand::after{content:"";flex:0 0 20px;height:7px;background:linear-gradient(var(--gold),var(--gold)) center/100% 1px no-repeat,linear-gradient(45deg,transparent 30%,var(--gold) 30% 70%,transparent 70%) left center/7px 7px no-repeat}
.acct-pop .ap-brand::after{transform:scaleX(-1)}
/* Cinzel Decorative : la signature « Maison Ample » (carte de fidélité, page Notre histoire) */
.loy-brand{font-family:"Cinzel Decorative",var(--f-display);font-weight:700;font-size:20px;letter-spacing:.03em}
.sp-hero-txt h1,.sp-split-txt h2,.sp-values h2{font-family:"Cinzel Decorative",var(--f-display);font-weight:400;letter-spacing:.01em}
.sp-hero-txt h1{font-size:clamp(32px,4.2vw,52px);line-height:1.12}
.sp-split-txt h2,.sp-values h2{font-size:clamp(26px,3vw,38px);line-height:1.15}
.sp-values h2::after,.sp-hero-txt h1::after{content:"";display:block;width:64px;height:7px;margin-top:14px;background:linear-gradient(var(--gold),var(--gold)) center/100% 1px no-repeat,linear-gradient(45deg,transparent 30%,var(--gold) 30% 70%,transparent 70%) center/7px 7px no-repeat}
.sp-values h2::after{margin:14px auto 0}

/* ================= Finitions visuelles ================= */
/* Deuxième photo au survol : fondu et léger zoom */
.pcard-media .vis img.alt{transition:opacity .6s ease,transform 1.1s cubic-bezier(.2,.7,.2,1);transform:scale(1.04)}
@media (hover:hover){.pcard:hover .pcard-media .vis img.alt{transform:scale(1)}}
/* Pastilles */
.tag{border-radius:2px;box-shadow:0 6px 14px -10px rgba(58,64,52,.6)}
.tag.promo{border-radius:999px 999px 2px 2px;padding:6px 11px 5px;font-weight:500}
.tag.low{background:linear-gradient(135deg,#E9D3A6,#C9A46C);color:var(--choco);border-color:transparent;font-weight:500}
.tag.coeur{display:inline-flex;align-items:center;gap:5px;background:rgba(255,249,241,.94);color:#4E6B44;border-color:#B9CBA9}
.tag.coeur svg{width:11px;height:11px;fill:#7E9970;stroke:#7E9970;stroke-width:1.5}
/* Cœur vert sauge, qui bat quand on l'ajoute */
.fav[aria-pressed="true"]{color:#6F8A62}
.fav[aria-pressed="true"] svg{fill:#7E9970;stroke:#6F8A62}
.fav:hover{transform:scale(1.08)}
.fav.beat{animation:heartbeat .8s cubic-bezier(.3,1.4,.5,1)}
.fav.beat::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 rgba(126,153,112,.55);animation:heartring .8s ease-out}
@keyframes heartbeat{0%{transform:scale(1)}20%{transform:scale(1.28)}40%{transform:scale(.94)}60%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes heartring{to{box-shadow:0 0 0 14px rgba(126,153,112,0)}}
/* Ajout au panier : pastille qui vole, panier qui saute */
.fly-dot{position:fixed;z-index:400;width:32px;height:32px;border-radius:50%;background:var(--choco-bg,var(--choco));color:var(--on-dark,var(--ivory));display:grid;place-items:center;pointer-events:none;box-shadow:0 10px 24px -10px rgba(58,64,52,.7)}
.fly-dot svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.4}
.icon-btn.cart-hop{animation:carthop .7s cubic-bezier(.3,1.5,.5,1) .55s}
@keyframes carthop{0%{transform:none}30%{transform:translateY(-6px) rotate(-8deg)}55%{transform:translateY(0) rotate(5deg)}75%{transform:rotate(-2deg)}100%{transform:none}}
/* Fondu doux entre les pages */
#app.page-in main{animation:pagein .45s cubic-bezier(.2,.7,.2,1)}
@keyframes pagein{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.fav.beat,.fav.beat::after,.icon-btn.cart-hop,#app.page-in main{animation:none}}

/* Photos plein écran (téléphone) */
.lightbox{position:fixed;inset:0;z-index:300;background:#F7EEE2;display:flex;flex-direction:column;opacity:0;transition:opacity .25s ease}
.lightbox.open{opacity:1}
.lb-top{display:flex;justify-content:space-between;align-items:center;padding:calc(10px + env(safe-area-inset-top,0px)) 14px 10px}
.lb-count{font-size:13px;letter-spacing:.14em;color:var(--ink-soft)}
.lb-x{width:42px;height:42px;border-radius:50%;background:var(--ivory);border:1px solid rgba(201,164,108,.6);display:grid;place-items:center;color:var(--choco)}
.lb-x svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.4}
.lb-track{flex:1;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.lb-track::-webkit-scrollbar{display:none}
.lb-slide{flex:0 0 100%;margin:0;scroll-snap-align:center;display:grid;place-items:center;overflow:hidden}
.lb-slide img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .35s cubic-bezier(.2,.7,.2,1);user-select:none}
.lb-slide.zoomed{overflow:auto}
.lb-slide.zoomed img{transform:scale(2.2);cursor:zoom-out}
.lb-dots{display:flex;justify-content:center;gap:7px;padding:12px 0 4px}
.lb-dots i{width:7px;height:7px;border-radius:50%;background:rgba(169,120,79,.3);transition:background .25s,transform .25s}
.lb-dots i.on{background:var(--bronze);transform:scale(1.3)}
.lb-hint{text-align:center;font-size:12px;color:var(--ink-mute);margin:4px 0 calc(12px + env(safe-area-inset-bottom,0px))}
@media (hover:none){#zoom{cursor:zoom-in}}

/* Page 404 */
.nf-hero{padding:70px 0 40px;text-align:center;background:linear-gradient(180deg,var(--champ),var(--ivory));position:relative;overflow:hidden}
.nf-wrap{position:relative;max-width:720px}
.nf-num{position:absolute;left:50%;top:-30px;transform:translateX(-50%);font-family:"Cinzel Decorative",var(--f-display);font-size:clamp(120px,22vw,220px);color:rgba(201,164,108,.16);line-height:1;pointer-events:none;z-index:0}
.nf-hero .script{position:relative;font-size:38px;color:var(--bronze);display:block}
.nf-hero h1{position:relative;font-family:"Cinzel Decorative",var(--f-display);font-weight:400;font-size:clamp(26px,3.6vw,40px);margin:6px 0 14px}
.nf-hero p{position:relative;font-size:17px;color:var(--ink-soft);margin:0 auto 24px;max-width:30em}
.nf-ctas{position:relative;display:flex;gap:22px;justify-content:center;align-items:center;flex-wrap:wrap}
.nf-ctas .link-u{color:var(--bronze)}
.nf-new h2{font-family:var(--f-display);font-weight:400;font-size:30px;text-align:center;margin:0 0 24px}
.pcard-media .alt-tag{position:absolute;left:50%;bottom:14px;transform:translate(-50%,8px);opacity:0;z-index:2;white-space:nowrap;max-width:88%;overflow:hidden;text-overflow:ellipsis;font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:6px 12px;background:rgba(255,249,241,.94);color:var(--choco);border:1px solid rgba(201,164,108,.7);border-radius:999px;transition:opacity .4s ease,transform .5s cubic-bezier(.2,.7,.2,1);pointer-events:none}
@media (hover:hover){.pcard:hover .pcard-media .alt-tag{opacity:1;transform:translate(-50%,0)}}
.coeur-grid .pcard-media .alt-tag{bottom:auto;top:14px}

/* ================= Accueil vivant ================= */
/* Ouverture du grand visuel */
.hero .arch{animation:archin 1.3s cubic-bezier(.2,.7,.2,1) both}
.hero .arch img,.hero .arch .fabric{animation:archimg 1.8s cubic-bezier(.2,.7,.2,1) both}
.hero .stamp{animation:stampin .9s cubic-bezier(.3,1.4,.5,1) .9s both}
.hero-text > *{animation:herotxt .9s cubic-bezier(.2,.7,.2,1) both}
.hero-text > *:nth-child(2){animation-delay:.12s}.hero-text > *:nth-child(3){animation-delay:.24s}.hero-text > *:nth-child(4){animation-delay:.36s}.hero-text > *:nth-child(5){animation-delay:.48s}
@keyframes archin{from{clip-path:inset(100% 0 0 0 round 999px 999px 0 0)}to{clip-path:inset(0 0 0 0 round 999px 999px 0 0)}}
@keyframes archimg{from{transform:scale(1.12)}to{transform:none}}
@keyframes stampin{from{opacity:0;transform:scale(.6) rotate(-20deg)}to{opacity:1;transform:none}}
@keyframes herotxt{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
/* Bande qui défile */
.ticker{display:block;overflow:hidden;background:var(--choco-bg,var(--choco));color:var(--on-dark,var(--ivory));text-decoration:none;border-block:1px solid var(--gold)}
.tk-track{display:flex;width:max-content;animation:ticker 38s linear infinite}
.ticker:hover .tk-track{animation-play-state:paused}
.tk-row{display:flex;align-items:center;gap:22px;padding:13px 11px;white-space:nowrap;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase}
.tk-row .tk-n{font-family:var(--f-display);font-size:18px;letter-spacing:.04em;text-transform:none;font-style:italic;color:#F1D9A9}
.tk-row i{font-style:normal;color:var(--gold);font-size:11px}
@keyframes ticker{to{transform:translateX(-50%)}}
/* Chiffres clés */
.figures{padding:38px 0;background:var(--ivory)}
.fig-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;text-align:center}
.fig b{display:block;font-family:"Cinzel Decorative",var(--f-display);font-weight:400;font-size:clamp(34px,4.4vw,54px);color:var(--choco);line-height:1.1;font-variant-numeric:tabular-nums}
.fig span{display:block;margin-top:6px;font-size:14px;color:var(--ink-soft);line-height:1.45}
.fig + .fig{border-left:1px solid rgba(201,164,108,.45)}
@media (max-width:600px){.fig-grid{gap:6px}.fig b{font-size:26px}.fig span{font-size:11.5px}.figures{padding:26px 0}}
/* Shop the look */
.look-home{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center}
.look-photo{position:relative;border-radius:4px;overflow:visible}
.look-photo > img{width:100%;display:block;border-radius:4px;box-shadow:0 30px 60px -36px rgba(58,64,52,.55)}
.look-dot{position:absolute;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;background:rgba(255,249,241,.35);border:0;display:grid;place-items:center;cursor:pointer;z-index:2}
.look-dot span{width:14px;height:14px;border-radius:50%;background:var(--ivory);box-shadow:0 0 0 2px var(--gold),0 4px 10px rgba(58,64,52,.4)}
.look-dot::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--ivory);animation:lookping 2.2s ease-out infinite}
@keyframes lookping{0%{transform:scale(.5);opacity:.9}100%{transform:scale(1.5);opacity:0}}
.look-pop{position:absolute;z-index:3;width:min(260px,70%);transform:translateX(-50%);display:flex;gap:10px;padding:10px;background:var(--ivory);border:1px solid var(--gold);border-radius:6px;box-shadow:0 20px 40px -20px rgba(58,64,52,.6);animation:herotxt .3s ease both}
.look-pop.up{transform:translate(-50%,-100%)}
.lp-vis{flex:0 0 70px;aspect-ratio:3/4;overflow:hidden;border-radius:3px}
.lp-vis img,.lp-vis .fabric{width:100%;height:100%;object-fit:cover}
.lp-txt{display:flex;flex-direction:column;gap:4px;min-width:0}
.lp-txt b{font-weight:500;color:var(--choco);font-size:14px}
.lp-txt .btn{margin-top:auto}
.look-side h2{font-family:"Cinzel Decorative",var(--f-display);font-weight:400;font-size:clamp(28px,3.2vw,40px);margin:4px 0 12px}
.look-side .script{font-size:30px;color:var(--bronze)}
.look-list{list-style:none;margin:18px 0 0;padding:0}
.look-list a{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line-soft);text-decoration:none;color:var(--choco)}
.ll-n{width:26px;height:26px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center;font-size:12px;color:var(--bronze);flex:none}
.ll-t{flex:1;font-family:var(--f-display);font-size:19px}
@media (max-width:820px){.look-home{grid-template-columns:1fr;gap:24px}}
/* Avis à la une */
.rv-band{background:var(--champ)}
.rvb-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.rvb-card{margin:0;background:var(--ivory);border:1px solid rgba(201,164,108,.45);border-radius:4px;padding:20px 22px;display:flex;flex-direction:column;gap:10px}
.rvb-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rvb-title{font-family:var(--f-display);font-size:20px;font-weight:500;color:var(--choco)}
.rvb-card blockquote{margin:0;font-size:15px;line-height:1.65;color:var(--ink);flex:1}
.rvb-card figcaption{font-size:13px;color:var(--ink-mute)}
.rvb-card figcaption .link-u{color:var(--bronze)}
@media (max-width:820px){.rvb-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -16px;padding:0 16px 6px}.rvb-track::-webkit-scrollbar{display:none}.rvb-card{flex:0 0 82%;scroll-snap-align:center}}
@media (prefers-reduced-motion:reduce){.hero .arch,.hero .arch img,.hero .stamp,.hero-text > *,.tk-track,.look-dot::before{animation:none}}
/* Étoiles : un or plus franc, avec un léger reflet (plus d'effet « fade ») */
.stars{color:#E6D7C2}
.stars i.on{background:linear-gradient(160deg,#F6DC93 0%,#D9A93E 45%,#B9862A 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 0 rgba(120,80,20,.25))}
.stars i.half{background:linear-gradient(90deg,#D9A93E 50%,#E6D7C2 50%);-webkit-background-clip:text;background-clip:text;color:transparent}
.rv-stars label span[aria-hidden]{transition:color .2s,transform .2s}
.rv-stars label:hover,.rv-stars label:hover~label,.rv-stars label:has(input:checked),.rv-stars label:has(input:checked)~label{color:#D9A93E}
.rv-stars label:hover{transform:scale(1.12)}

/* ===== Offre du moment et code promo */
.offer-hint{display:flex;gap:10px;align-items:flex-start;margin:0 0 14px;padding:10px 12px;border:1px dashed var(--gold,#C9A46C);border-radius:12px;font-size:13.5px;color:var(--ink-soft,#5E6656);background:rgba(201,164,108,.08)}
.offer-hint svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--bronze,#A9784F);stroke-width:1.6;margin-top:1px}
.offer-hint.ok{border-style:solid;background:rgba(126,153,112,.10);border-color:#7E9970}
.offer-hint b{color:var(--choco,#4A5143);font-weight:500}
.promo-row{display:flex;gap:8px}
.promo-row input{flex:1;min-width:0;text-transform:uppercase;letter-spacing:.06em}
.promo-row .btn{flex:none;white-space:nowrap}
.co-promo .promo-ok{color:#5E7F52}

/* ===== Menu de l'en-tête : soulignement doré qui s'ouvre du centre, avec un reflet qui le traverse */
.nav .link-u,.nav-cats .link-u{transition:color .35s ease}
.nav .link-u:hover,.nav-cats .link-u:hover{color:#A9784F}
.nav .link-u::after,.nav-cats .link-u::after{height:1.5px;bottom:-1px;border-radius:2px;
  background:linear-gradient(90deg,rgba(201,164,108,0) 0%,#C9A46C 18%,#E9CB8C 40%,#FFF3D6 50%,#E9CB8C 60%,#C9A46C 82%,rgba(201,164,108,0) 100%) 0 0/220% 100%;
  box-shadow:0 0 6px rgba(214,170,90,0);transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease}
.nav .link-u:hover::after,.nav-cats .link-u:hover::after{box-shadow:0 1px 8px rgba(214,170,90,.45);animation:nav-glint 1.4s ease-in-out .15s 1 both}
.nav .link-u[aria-current="page"]::after,.nav-cats .link-u[aria-current="page"]::after{background-position:50% 0}
@keyframes nav-glint{from{background-position:100% 0}to{background-position:0 0}}
.nav .link-u::before,.nav-cats .link-u::before{content:"";position:absolute;left:50%;bottom:-3.5px;width:5px;height:5px;margin-left:-2.5px;background:#C9A46C;transform:rotate(45deg) scale(0);transition:transform .4s cubic-bezier(.2,.7,.2,1) .1s;box-shadow:0 0 6px rgba(214,170,90,.6)}
.nav .link-u:hover::before,.nav-cats .link-u:hover::before{transform:rotate(45deg) scale(1)}
@media (prefers-reduced-motion:reduce){.nav .link-u:hover::after,.nav-cats .link-u:hover::after{animation:none}}

/* =====================================================================
   « Trouver ma taille » : version couture (4 novembre)
   Silhouette au trait doré, repères de mesure, résultat dans un médaillon.
   ===================================================================== */
.fit-modal .fit-head{text-align:center}
.fit-modal .fit-head h2{font-style:normal;letter-spacing:.01em}
.fit-modal .fit-head h2::after{content:"";display:block;width:130px;height:10px;margin:12px auto 2px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 10'%3E%3Cpath d='M0 5h50M70 5h50' stroke='%23C9A46C' stroke-width='1'/%3E%3Cpath d='M60 1l4 4-4 4-4-4z' fill='%23C9A46C'/%3E%3C/svg%3E") center/contain no-repeat}
.fit{border:1px solid rgba(201,164,108,.45);border-radius:14px;background:var(--surface,#FFFCF7);box-shadow:0 24px 50px -38px rgba(74,81,67,.55)}
.fit-tabs{border-bottom:1px solid rgba(201,164,108,.4);background:#F6EDE1}
.fit-tabs button{background:transparent;position:relative;transition:color .3s}
.fit-tabs button[aria-selected="true"]{background:var(--surface,#FFFCF7);box-shadow:none;color:var(--choco)}
.fit-tabs button[aria-selected="true"]::after{content:"";position:absolute;left:22%;right:22%;bottom:-1px;height:2px;background:linear-gradient(90deg,transparent,#C9A46C 20%,#E9CB8C 50%,#C9A46C 80%,transparent)}
.fit-body{padding:20px;gap:22px}
.fit-form label,.fit-lbl{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze)}
.fit-lbl small{text-transform:none;letter-spacing:0;font-size:12px}
.fit-form select,.fit-in input{border-color:rgba(201,164,108,.5);border-radius:8px;padding:12px 14px;font-size:16px;transition:border-color .25s,box-shadow .25s}
.fit-in input:focus{outline:none;border-color:#C9A46C;box-shadow:0 0 0 3px rgba(201,164,108,.18)}
/* silhouette */
.sil{border:1px solid rgba(201,164,108,.35);border-radius:12px;background:radial-gradient(120% 80% at 30% 40%,var(--surface,#FFFBF4),#F6EADB);padding:14px}
.sil .body{fill:url(#silg);stroke:url(#silo);stroke-width:1.3;stroke-linejoin:round}
.sil .seam{fill:url(#silg);stroke:none}
.sil .arm{fill:none;stroke:url(#silo);stroke-width:10.6;stroke-linecap:round;stroke-linejoin:round}
.sil .arm-in{fill:none;stroke:#F7ECDD;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}
.sil .hair{fill:none;stroke:url(#silo);stroke-width:1.6;stroke-linecap:round;opacity:.95}
.sil .guide line{stroke:#C9A46C;stroke-width:.9;stroke-dasharray:3 3;opacity:.45;transition:opacity .3s}
.sil .guide path{fill:#C9A46C;opacity:.55;transition:opacity .3s}
.sil .guide.on line,.sil .guide.on path{opacity:1}
.fit-step span{color:var(--bronze)}
.fit-step button{border-color:rgba(201,164,108,.6);background:var(--surface,#FFFCF7)}
.fit-step button:hover:not([disabled]){border-color:#4A5143;background:#4A5143;color:#F6E7C8}
.fit-step i b{width:10px;height:10px;background:#EADBC6;transform:rotate(45deg);border-radius:2px}
.fit-step i b.on{background:linear-gradient(135deg,#E9CB8C,#B98A4E)}
.fit-prefs button{border-color:rgba(201,164,108,.45);border-radius:10px;padding:12px 6px;transition:border-color .25s,box-shadow .25s,transform .25s}
.fit-prefs button:hover{transform:translateY(-2px);border-color:#C9A46C}
.fit-prefs button[aria-checked="true"]{border-color:#C9A46C;box-shadow:0 0 0 1px #C9A46C,0 10px 20px -14px rgba(74,81,67,.6);background:linear-gradient(180deg,#FFF9EF,var(--surface-2,#F8EEDF));color:var(--choco)}
/* résultat : un médaillon en arche */
.fit-result{position:relative;align-items:center;text-align:center;justify-content:center;gap:10px;padding:34px 22px 26px;border-radius:200px 200px 14px 14px;
  background:radial-gradient(120% 70% at 50% 0%,#FFFBF3,#F4E6D2);border:1px solid rgba(201,164,108,.55);box-shadow:inset 0 0 0 6px rgba(255,252,247,.7),inset 0 0 0 7px rgba(201,164,108,.25)}
.fit-result .eyebrow{color:var(--bronze)}
.fit-orn{width:96px;height:10px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 10'%3E%3Cpath d='M0 5h50M70 5h50' stroke='%23C9A46C' stroke-width='1'/%3E%3Cpath d='M60 1l4 4-4 4-4-4z' fill='%23C9A46C'/%3E%3C/svg%3E") center/contain no-repeat}
.fit-ring{position:relative;display:grid;place-items:center;width:132px;height:132px;border-radius:50%;margin:4px 0;
  background:radial-gradient(circle,var(--surface,#FFFCF7) 62%,transparent 63%),conic-gradient(from 200deg,#E9CB8C,#B98A4E,#F3DDA8,#C9A46C,#E9CB8C);box-shadow:0 18px 30px -20px rgba(74,81,67,.6)}
.fit-ring b{font-family:var(--f-display);font-size:64px;line-height:1;font-weight:500;background:linear-gradient(180deg,#5D6454,#4A5143);-webkit-background-clip:text;background-clip:text;color:transparent}
.fit-result:not(.empty) .fit-ring{animation:fit-pop .7s cubic-bezier(.2,.8,.2,1.2) both}
.fit-result:not(.empty) .fit-ring::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(201,164,108,.5);animation:fit-halo 1.6s ease-out .2s both}
@keyframes fit-pop{from{transform:scale(.8);opacity:0}to{transform:none;opacity:1}}
@keyframes fit-halo{from{transform:scale(.9);opacity:1}to{transform:scale(1.25);opacity:0}}
.fit-ring.ghost{background:radial-gradient(circle,var(--surface,#FFFCF7) 62%,transparent 63%),conic-gradient(#E8D8C2,#F2E7D8,#E8D8C2);box-shadow:none}
.fit-ring.ghost b{color:#D8C3A6;background:none;-webkit-text-fill-color:#D8C3A6;font-style:italic}
.fit-alt{font-size:14px;color:var(--ink-soft)}.fit-alt b{font-family:var(--f-display);font-size:20px;color:var(--choco);font-weight:500}
.fit-result p{max-width:30ch}
.fit-result .btn{margin-top:6px}
.fit-chart{border-top-color:rgba(201,164,108,.4);text-align:center}
@media (prefers-reduced-motion:reduce){.fit-result .fit-ring,.fit-result .fit-ring::after{animation:none}}
#pdp .fit-result{border-radius:120px 120px 12px 12px}
.fit-result.still .fit-ring,.fit-result.still .fit-ring::after{animation:none}.fit-result.still .fit-ring::after{opacity:0}
.sil .hair-fill{fill:url(#silo);opacity:.9}
/* Silhouette « croquis de mode » */
.sil .dress{fill:url(#silg);stroke:url(#silo);stroke-width:1.3;stroke-linejoin:round}
.sil .skin{fill:url(#silsk);stroke:url(#silo);stroke-width:1;stroke-linejoin:round}
.sil .shoe{fill:url(#silo)}
.sil .arm{fill:none;stroke:url(#silo);stroke-width:8.4;stroke-linecap:round;stroke-linejoin:round}
.sil .arm-in{fill:none;stroke:#F5E6D2;stroke-width:6.2;stroke-linecap:round;stroke-linejoin:round}
.sil .fold{fill:none;stroke:#C9A46C;stroke-width:.9;opacity:.45;stroke-linecap:round}
.sil .belt{stroke:url(#silo);stroke-width:2.6;stroke-linecap:round}
.sil .bow{fill:none;stroke:#B4844A;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.sil .hair-fill{fill:url(#silo)}
.sil .hair{fill:none;stroke:#A87A44;stroke-width:.9;stroke-linecap:round;opacity:.8}
.sil path{transition:d .45s cubic-bezier(.2,.7,.2,1)}
.sil svg{filter:drop-shadow(0 10px 14px rgba(120,80,40,.12))}
.sil .belt{stroke:#B4844A;stroke-width:2.4}
.sil .wrap{fill:none;stroke:#C9A46C;stroke-width:1;stroke-linecap:round;opacity:.85}
.sil .arm{stroke-width:7.4}.sil .arm-in{stroke-width:5.4}
.fit-prefs svg{width:30px;height:30px;stroke:#B4844A;stroke-width:1.1;fill:rgba(233,203,140,.18);stroke-linejoin:round}
.fit-prefs button[aria-checked="true"] svg{fill:rgba(233,203,140,.5)}
.sil{grid-template-columns:minmax(120px,170px) minmax(0,1fr)}
.sil svg{max-height:320px}
@media (max-width:640px){.fit-result{border-radius:150px 150px 14px 14px;padding-top:44px}.fit-result .eyebrow{letter-spacing:.12em;font-size:10.5px}.fit-ring{width:116px;height:116px}.fit-ring b{font-size:56px}}
.sil .bow{fill:url(#silo);stroke:#FFF8EC;stroke-width:.8}
.sil .hair-flow{fill:none;stroke:url(#silo);stroke-width:1.15;stroke-linecap:round;opacity:.9}
/* Médaillon du résultat : chocolat et or */
.fit-result{background:radial-gradient(120% 70% at 50% 0%,#555D4B,#393F32 60%,#2C3126);border-color:#C9A46C;
  box-shadow:inset 0 0 0 6px #393F32,inset 0 0 0 7px rgba(227,197,140,.55),0 26px 40px -28px rgba(42,47,36,.8);color:#F6EDE1}
.fit-result .eyebrow{color:#E3C58C}
.fit-result p{color:rgba(246,237,225,.82)}
.fit-result .fit-hint{color:rgba(246,237,225,.62)}
.fit-alt{color:rgba(246,237,225,.8)}.fit-alt b{color:#E9CB8C}
.fit-ring{background:radial-gradient(circle,#3A4034 62%,transparent 63%),conic-gradient(from 200deg,#F3DDA8,#B4844A,#F6E3B4,#C9A46C,#F3DDA8);box-shadow:0 0 30px -6px rgba(233,203,140,.45)}
.fit-ring b{background:linear-gradient(180deg,#FBE7B8,#D9B070 55%,#B4844A);-webkit-background-clip:text;background-clip:text;color:transparent}
.fit-ring.ghost{background:radial-gradient(circle,#3A4034 62%,transparent 63%),conic-gradient(rgba(227,197,140,.35),rgba(227,197,140,.15),rgba(227,197,140,.35))}
.fit-ring.ghost b{-webkit-text-fill-color:rgba(227,197,140,.55);color:rgba(227,197,140,.55)}
.fit-result .btn-primary{background:linear-gradient(100deg,#E9CB8C,#C9A46C 55%,#B4844A);color:#3A4034;box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 12px 24px -14px rgba(0,0,0,.7);font-weight:500}
.fit-result .btn-primary:hover{background:linear-gradient(100deg,#F3DDA8,#D6B475 55%,#C09257);color:#2C3126}
.fit-result .fit-warn{color:#F2B9A0}
.fit-result.empty{color:rgba(246,237,225,.8)}
/* Onglets et choix : touches chocolat */
.fit-tabs button[aria-selected="true"]{color:#3A4034;font-weight:500}
.fit-prefs button[aria-checked="true"]{background:linear-gradient(180deg,#484F3F,#3A4034);color:#F6E7C8;border-color:#C9A46C}
.fit-prefs button[aria-checked="true"] svg{stroke:#E9CB8C;fill:rgba(233,203,140,.25)}
.fit-chart summary{color:#3A4034}
.fit-chart summary::marker{color:#C9A46C}
@media (max-width:640px){.sil{grid-template-columns:minmax(96px,118px) minmax(0,1fr);gap:6px;padding:10px}.fit-step i{gap:3px}.fit-step i b{width:8px;height:8px}.fit-step button{width:28px;height:28px}}
/* Robe vert sauge (la couleur préférée de Marine) */
.sil .fold{stroke:#7E9970;opacity:.55}
.sil .wrap{stroke:#6F8A62;opacity:.8}
.sil .belt{stroke:#4A5143}
.fit-step i b.on{background:linear-gradient(135deg,#A9BC99,#7E9970)}
.fit-step button:hover:not([disabled]){background:#7E9970;border-color:#7E9970;color:#fff}
.sil .guide.on line{stroke:#7E9970}.sil .guide.on path{fill:#7E9970}

/* ===== Accueil allégé (5 novembre) : bandeau défilant juste sous l'en-tête, plus fin ; plus de doublons */
.ticker{border-top:0}
.tk-row{padding:9px 11px;font-size:11.5px;gap:20px}
.tk-row .tk-n{font-size:16px}
.ticker + .hero,.ticker + .promo-banner{margin-top:0}
.size-ribbon{flex-wrap:wrap;row-gap:10px}
.size-ribbon .size-guide{margin-left:6px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze)}
.size-ribbon .size-guide:hover{color:var(--choco)}
/* Le bandeau soldes, juste sous le bandeau défilant : clair, pour ne pas faire deux bandes sombres */
.ticker + .promo-banner{background:linear-gradient(90deg,#F6EBDA,var(--surface-2,#FBF4EA) 50%,#F6EBDA);color:var(--choco);border-bottom:1px solid rgba(201,164,108,.5)}
.ticker + .promo-banner .pb-cta{color:var(--bronze);border-color:var(--bronze)}
/* Accueil : plus aéré. Héros plus compact ; sur les cartes de l'accueil, pas de rangée de tailles
   (le bouton ouvre la fiche pour choisir sa taille) : on voit d'abord les vêtements. */
@media (min-width:900px){
  .home .hero .wrap{padding-block:clamp(28px,3.4vw,48px) clamp(30px,3.6vw,52px);align-items:center}
  .home .hero-visual{width:min(100%,420px)}
  .home .hero h1{font-size:clamp(46px,5.4vw,84px)}
}
.home .sizes-mini{display:none}
.home .card .add-btn .long{display:none}
.home .band{padding-block:clamp(52px,6vw,84px)}
.size-ribbon .size-guide{border:0;padding:0;background:none;border-radius:0;height:auto;width:auto;font-family:var(--f-ui);color:var(--bronze)}

/* ===== Tailles du haut de page : du 42 au 56, chaque taille monte et grandit un peu, un trait doré les relie */
.size-rise{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);max-width:520px;display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 16px}
.size-rise .l{width:100%;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--bronze)}
.size-rise ol{position:relative;list-style:none;display:flex;align-items:flex-end;gap:7px;margin:0;padding:0 0 10px}
.size-rise ol::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:linear-gradient(90deg,#E9CB8C,#C9A46C 50%,#A9784F);transform-origin:left;transform:scaleX(0);animation:sz-line 1.6s cubic-bezier(.2,.7,.2,1) .5s forwards}
.size-rise li{--s:calc(30px + var(--i) * 2.6px);opacity:0;transform:translateY(14px);animation:sz-up .6s cubic-bezier(.2,.8,.2,1.15) calc(.55s + var(--i) * .13s) forwards}
.size-rise li button{width:var(--s);height:var(--s);display:grid;place-items:center;border-radius:50%;border:1px solid rgba(201,164,108,.6);background:var(--surface,#FFFCF7);
  font-family:var(--f-display);font-size:calc(14px + var(--i) * 1.1px);color:var(--choco);font-variant-numeric:lining-nums;cursor:pointer;transition:background .3s,color .3s,transform .3s,border-color .3s,box-shadow .3s}
.size-rise li button:hover{background:var(--choco-bg,var(--choco));color:#F6E7C8;border-color:var(--choco);transform:translateY(-3px);box-shadow:0 10px 18px -12px rgba(74,81,67,.7)}
.size-rise li:last-child button{border-color:#C9A46C;box-shadow:0 0 0 3px rgba(201,164,108,.15)}
.size-rise .size-guide{margin-bottom:12px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze);border:0;background:none;padding:0}
.size-rise .size-guide:hover{color:var(--choco)}
@keyframes sz-up{to{opacity:1;transform:none}}
@keyframes sz-line{to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.size-rise li{animation:none;opacity:1;transform:none}.size-rise ol::after{animation:none;transform:none}}
@media (max-width:600px){.size-rise ol{gap:4px}.size-rise li{--s:calc(27px + var(--i) * 1.6px)}.size-rise li button{font-size:calc(13px + var(--i) * .7px)}}

/* =====================================================================
   Accueil — finitions (5 novembre)
   ===================================================================== */
/* Tailles : ronds chocolat, chiffres dorés */
.size-rise li button{background:radial-gradient(circle at 35% 30%,#5F6955,#4A5143 60%,#3A4034);border-color:#C9A46C;color:#E9CB8C;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 6px 12px -8px rgba(58,64,52,.7)}
.size-rise li button{background-clip:padding-box}
.size-rise li button:hover{background:linear-gradient(135deg,#F3DDA8,#C9A46C 60%,#B4844A);color:#3A4034;border-color:#E9CB8C}
.size-rise li:last-child button{box-shadow:0 0 0 3px rgba(201,164,108,.25),0 6px 12px -8px rgba(58,64,52,.7)}
.size-rise li button{-webkit-text-fill-color:currentColor}
/* Lien « Notre histoire » : sobre et moderne, avec une flèche dans un rond doré */
.btn-arrow{display:inline-flex;align-items:center;gap:12px;padding:6px 2px;color:var(--choco);font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;text-decoration:none}
.btn-arrow span{position:relative}
.btn-arrow span::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:linear-gradient(90deg,#C9A46C,#E9CB8C);transform:scaleX(.25);transform-origin:left;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.btn-arrow i{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid #C9A46C;transition:background .35s,border-color .35s,transform .35s}
.btn-arrow svg{width:16px;height:16px;fill:none;stroke:var(--choco);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s,stroke .35s}
.btn-arrow:hover span::after{transform:scaleX(1)}
.btn-arrow:hover i{background:var(--choco-bg,var(--choco));border-color:var(--choco);transform:translateX(3px)}
.btn-arrow:hover svg{stroke:#E9CB8C;transform:translateX(2px)}
/* Bouton principal : un reflet doré le traverse au survol */
.btn-primary{position:relative;overflow:hidden}
.btn-primary::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(233,203,140,.35) 50%,transparent 65%);transform:translateX(-120%);transition:transform .8s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.btn-primary:hover::after{transform:translateX(120%)}
/* Titres de section : les filets dorés s'ouvrent à l'apparition */
.sec-head .flourish::before,.sec-head .flourish::after{transition:transform 1s cubic-bezier(.2,.7,.2,1) .2s}
.sec-head .flourish::before{transform-origin:right}.sec-head .flourish::after{transform-origin:left}
.sec-head.pre .flourish::before,.sec-head.pre .flourish::after{transform:scaleX(0)}
.sec-head .eyebrow{position:relative}
/* Grilles : les cartes arrivent l'une après l'autre */
.stag.reveal.pre{opacity:1;transform:none}
.stag>*{transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.stag.pre>*{opacity:0;transform:translateY(26px)}
.stag>*:nth-child(2){transition-delay:.09s}.stag>*:nth-child(3){transition-delay:.18s}.stag>*:nth-child(4){transition-delay:.27s}
.stag>*:nth-child(5){transition-delay:.36s}.stag>*:nth-child(6){transition-delay:.45s}.stag>*:nth-child(7){transition-delay:.54s}.stag>*:nth-child(8){transition-delay:.63s}
/* Univers : les arches arrivent en cascade et le nom se souligne d'or au survol */
.home .cats .cat:nth-child(2){transition-delay:.08s}.home .cats .cat:nth-child(3){transition-delay:.16s}.home .cats .cat:nth-child(4){transition-delay:.24s}.home .cats .cat:nth-child(5){transition-delay:.32s}.home .cats .cat:nth-child(6){transition-delay:.4s}
.cat h3{position:relative;display:inline-block}
.cat h3::after{content:"";position:absolute;left:15%;right:15%;bottom:-3px;height:1px;background:#C9A46C;transform:scaleX(0);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.cat:hover h3::after{transform:scaleX(1)}
/* Chiffres : un léger halo doré derrière chaque chiffre */
.fig b{position:relative}
.fig b::after{content:"";position:absolute;left:50%;top:55%;width:120%;height:60%;transform:translate(-50%,-50%);background:radial-gradient(ellipse,rgba(233,203,140,.25),transparent 70%);z-index:-1}
@media (prefers-reduced-motion:reduce){.stag.pre>*{opacity:1;transform:none}.sec-head.pre .flourish::before,.sec-head.pre .flourish::after{transform:none}.btn-primary::after{display:none}}

/* ===== Sous-menu « Collection » (ordinateur) */
.mega{display:none}
@media (min-width:981px){
  .mega{display:block;position:absolute;left:0;right:0;top:100%;background:linear-gradient(180deg,var(--surface,#FFFBF5),#F8EFE3);border-bottom:1px solid var(--gold);
    box-shadow:0 30px 50px -30px rgba(74,81,67,.45);opacity:0;visibility:hidden;transform:translateY(-8px);
    transition:opacity .3s ease .18s,transform .35s cubic-bezier(.2,.7,.2,1) .18s,visibility 0s linear .5s;z-index:-1}
  .mega::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}   /* passage de la souris entre le lien et le panneau */
  .site-head:has(.nav-mega:hover) .mega,.site-head .mega:hover,.site-head:has(.nav-mega:focus-visible) .mega,.mega:focus-within{opacity:1;visibility:visible;transform:none;transition-delay:.08s,.08s,0s}
  body.mega-off .site-head .mega{opacity:0!important;visibility:hidden!important;transition:none}
  .mega-in{max-width:1220px;margin:0 auto;padding:30px var(--gutter-r,32px) 34px var(--gutter-l,32px);display:grid;grid-template-columns:200px 180px minmax(0,1fr);gap:40px}
  .mega-h{display:block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--bronze);margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(201,164,108,.45)}
  .mega-col{display:flex;flex-direction:column;align-items:flex-start}
  .mega-col a,.mega-col button{display:flex;align-items:baseline;gap:8px;padding:6px 0;font-family:var(--f-display);font-size:21px;color:var(--choco);text-decoration:none;background:none;border:0;cursor:pointer;transition:color .25s,transform .25s}
  .mega-col a small{font-family:var(--f-ui);font-size:11px;color:var(--ink-mute)}
  .mega-col a:hover,.mega-col button:hover{color:var(--bronze);transform:translateX(4px)}
  .mega-col .mega-all{font-family:var(--f-ui);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;margin-bottom:4px}
  .mega-col .mega-all i{font-style:normal;color:var(--gold)}
  .mega-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
  .mega-tile{display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;color:var(--choco)}
  .mt-img{width:100%;aspect-ratio:4/4.6;border-radius:999px 999px 6px 6px;overflow:hidden;box-shadow:0 0 0 1px var(--gold),0 0 0 5px var(--surface,#FFFBF5),0 0 0 6px rgba(201,164,108,.35);transition:box-shadow .4s}
  .mt-img img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
  .mega-tile b{margin-top:12px;font-family:var(--f-display);font-size:22px;font-weight:500}
  .mega-tile small{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze);border-bottom:1px solid currentColor;padding-bottom:2px;margin-top:2px}
  .mega-tile:hover img{transform:scale(1.06)}
  .mega-tile:hover .mt-img{box-shadow:0 0 0 1px var(--gold),0 0 0 5px var(--surface,#FFFBF5),0 0 0 6px var(--gold)}
  .site-head:has(.nav-mega:hover) .nav-mega::after{transform:scaleX(1)}
}
/* ===== Nos univers : au-delà de 6, une rangée qui défile (glisser au doigt ou flèches) */
.cats.cats-scroll{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - 5 * clamp(14px,2vw,26px)) / 6);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:6px}
.cats.cats-scroll::-webkit-scrollbar{display:none}
.cats.cats-scroll .cat{scroll-snap-align:start}
.cats-nav{display:flex;justify-content:center;gap:12px;margin-top:18px}
.cats-nav .icon-btn{width:42px;height:42px;border:1px solid var(--gold);border-radius:50%}
.cats-nav svg{width:18px;height:18px;fill:none;stroke:var(--choco);stroke-width:1.5}
.cats-nav .icon-btn:hover{background:var(--choco-bg,var(--choco))}.cats-nav .icon-btn:hover svg{stroke:#E9CB8C}
@media (max-width:900px){.cats.cats-scroll{grid-auto-columns:40%}}
/* En-tête affiné (5 novembre) : plus de ligne de catégories, le logo reste généreux mais le bandeau est moins haut */
@media (min-width:881px){:root{--head-top:200px;--logo-top:216px}}
/* ===== Sous-menu « Collection » : l'univers survolé reste en chocolat et or, ses pièces s'affichent à droite */
@media (min-width:981px){
  .mega-in{grid-template-columns:230px 190px minmax(0,1fr)}
  .mega-cats a[data-mcat]{position:relative;width:100%;padding:7px 14px;margin-left:-14px;border-radius:999px;transition:background .3s,color .3s,transform .3s,padding .3s}
  .mega-cats a[data-mcat]::before{content:"";position:absolute;left:4px;top:50%;width:5px;height:5px;margin-top:-2.5px;background:#C9A46C;transform:rotate(45deg) scale(0);transition:transform .3s}
  .mega-cats a[data-mcat]:hover{transform:none}
  .mega-cats a[data-mcat].on{background:linear-gradient(100deg,#5D6454,#4A5143);color:#E9CB8C;padding-left:22px;box-shadow:0 10px 20px -14px rgba(58,64,52,.8)}
  .mega-cats a[data-mcat].on small{color:rgba(233,203,140,.7)}
  .mega-cats a[data-mcat].on::before{transform:rotate(45deg) scale(1);left:10px}
  .mega-cats .chev{margin-left:auto;font-style:normal;color:#C9A46C;font-family:var(--f-ui)}
  .mega-mid{position:relative}
  .mega-alt{display:none}
  .mega-alt.on{display:flex;animation:mega-in .35s cubic-bezier(.2,.7,.2,1)}
  .mega-right{position:relative;min-width:0}
  .mega-set{display:none}
  .mega-set.on{display:grid;animation:mega-in .45s cubic-bezier(.2,.7,.2,1)}
  .mega-set .mega-tile b{font-size:19px}
  .mega-set .mega-tile small{border:0;letter-spacing:.06em;text-transform:none;font-size:14px;color:var(--bronze)}
  @keyframes mega-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
}
/* Sous-catégories en tête de la collection (quand Marine les active) */
.sub-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.sub-chips button{display:inline-flex;align-items:baseline;gap:6px;padding:8px 16px;border-radius:999px;border:1px solid rgba(201,164,108,.6);background:var(--surface,#FFFCF7);color:var(--choco);font-size:13px;letter-spacing:.06em;cursor:pointer;transition:background .3s,color .3s}
.sub-chips button small{font-size:11px;color:var(--ink-mute)}
.sub-chips button[aria-pressed="true"],.sub-chips button:hover{background:linear-gradient(100deg,#5D6454,#4A5143);color:#E9CB8C;border-color:#4A5143}
.sub-chips button[aria-pressed="true"] small{color:rgba(233,203,140,.7)}
/* Sous-menu : plus de pastille chocolat, l'univers survolé est simplement souligné d'or (même effet que le menu) */
@media (min-width:981px){
  .mega-cats a[data-mcat]{border-radius:0;margin-left:0;padding:7px 0 7px 0;width:auto}
  .mega-cats a[data-mcat]::before{display:none}
  .mega-cats a[data-mcat]::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:1.5px;border-radius:2px;
    background:linear-gradient(90deg,rgba(201,164,108,0),#C9A46C 18%,#E9CB8C 45%,#FFF3D6 50%,#E9CB8C 55%,#C9A46C 82%,rgba(201,164,108,0)) 0 0/220% 100%;
    transform:scaleX(0);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
  .mega-cats a[data-mcat].on{background:none;box-shadow:none;color:var(--bronze);padding-left:0}
  .mega-cats a[data-mcat].on small{color:var(--ink-mute)}
  .mega-cats a[data-mcat].on::after{transform:scaleX(1);animation:nav-glint 1.4s ease-in-out .1s 1 both}
}
.sub-chips button[aria-pressed="true"],.sub-chips button:hover{background:var(--surface,#FFFCF7);color:var(--choco);border-color:#C9A46C;box-shadow:inset 0 -2px 0 #C9A46C}
.sub-chips button[aria-pressed="true"] small{color:var(--ink-mute)}
/* Sous-menu : Nouveautés / Soldes / Trouver ma taille avec une petite ligne d'accroche */
@media (min-width:981px){
  .mega-col .msel{flex-direction:column;align-items:flex-start;gap:1px;position:relative;text-align:left}
  .mega-col .msel em{font-family:var(--f-ui);font-style:normal;font-size:12px;letter-spacing:.04em;color:var(--ink-mute);transition:color .25s}
  .mega-col .msel[data-msel="sale"] em{color:var(--bronze)}
  .mega-col .msel span{position:relative}
  .mega-col .msel span::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1.5px;
    background:linear-gradient(90deg,rgba(201,164,108,0),#C9A46C 18%,#E9CB8C 45%,#FFF3D6 50%,#E9CB8C 55%,#C9A46C 82%,rgba(201,164,108,0)) 0 0/220% 100%;
    transform:scaleX(0);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
  .mega-col .msel.on{color:var(--bronze);transform:none}
  .mega-col .msel.on span::after{transform:scaleX(1);animation:nav-glint 1.4s ease-in-out .1s 1 both}
  .mega-set .mega-tile small s{color:var(--ink-mute);margin-right:4px}
}

/* ===== Corrections du 9 novembre ===== */
/* CGV ouvertes en fenêtre : le texte prend toute la largeur (le menu des pages légales est retiré dans la fenêtre) */
.legal-scroll .legal-wrap{display:block}
.legal-scroll .legal-text{max-width:68ch;margin:0 auto}
/* Bouton « Mon compte » : plus de pastille « Se connecter » qui chevauchait la loupe (la fenêtre qui s'ouvre suffit) */
.acct-pill{display:none}

/* ===== Mobile, retravaillé le 9 novembre ===== */
/* En-tête : 2 icônes de chaque côté du logo (les favoris passent dans le menu), plus rien ne déborde */
.qadd{display:none}
@media (max-width:880px){
  .head-inner{column-gap:6px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
  .head-left,.head-right{gap:0}
  .head-right .acct-menu{order:0}
  .icon-btn{width:40px;height:40px}
}
@media (max-width:520px){
  :root{--head-top:124px;--logo-top:124px;--head-small:60px;--logo-small:62px}
  .head-right > a.icon-btn[href="/favoris"]{display:none}
  .icon-btn svg{width:22px;height:22px}
}

/* Menu mobile : tout tient sur un écran */
.mob-menu .panel{width:min(360px,90vw);padding:calc(14px + env(safe-area-inset-top,0px)) 24px calc(18px + env(safe-area-inset-bottom,0px));gap:0;
  background:radial-gradient(120% 60% at 0% 0%,var(--surface-2,#FBF4EA) 0%,var(--champ) 60%) ;box-shadow:20px 0 60px -30px rgba(58,64,52,.6)}
.mm-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.mob-menu .mm-top img{width:84px;margin:0}
.mm-x{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(201,164,108,.6);border-radius:50%;color:var(--choco)}
.mm-x svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.4;fill:none}
.mob-menu .panel .mm-main a{display:flex;align-items:center;justify-content:space-between;font-family:var(--f-display);font-size:27px;line-height:1.1;padding:9px 0;border-bottom:1px solid rgba(201,164,108,.32);color:var(--choco)}
.mob-menu .panel .mm-main a::after{content:"";width:7px;height:7px;border-top:1.3px solid var(--gold);border-right:1.3px solid var(--gold);transform:rotate(45deg);margin-right:4px}
.mob-menu .panel .mm-second a{font-size:21px;padding:8px 0}
.mob-menu .mob-cats{display:flex;flex-wrap:wrap;gap:7px;padding:12px 0 14px;border-bottom:1px solid rgba(201,164,108,.32)}
.mob-menu .panel .mob-cats a{font-family:var(--f-ui);font-style:normal;font-size:14px;letter-spacing:.02em;color:var(--choco);padding:6px 13px;border:1px solid rgba(201,164,108,.7);border-radius:999px;background:rgba(255,252,247,.7)}
.mm-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0 12px}
.mob-menu .panel .mm-quick a,.mob-menu .panel .mm-quick button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px 10px;border:1px solid rgba(201,164,108,.55);border-radius:14px;background:var(--surface,#FFFCF7);font-family:var(--f-ui);font-size:12.5px;color:var(--choco);text-align:center}
.mm-quick svg{width:22px;height:22px;stroke:var(--bronze);stroke-width:1.3;fill:none}
.mob-menu .mob-help{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:4px 16px;margin:0;padding:6px 0 0;border:0;background:none}
.mob-menu .panel .mob-help a,.mob-menu .panel .mob-help button.lnk{font-size:13px;color:var(--ink-soft);padding:4px 0;text-decoration:underline;text-decoration-color:rgba(201,164,108,.6);text-underline-offset:4px}
.mob-menu .panel .mob-help a::after,.mob-menu .panel .mob-help button.lnk::after{content:none}
/* apparition en cascade */
.mob-menu .panel > *{opacity:0;transform:translateX(-14px);transition:opacity .4s,transform .5s cubic-bezier(.2,.7,.2,1)}
.mob-menu.open .panel > *{opacity:1;transform:none}
.mob-menu.open .panel > :nth-child(2){transition-delay:.06s}.mob-menu.open .panel > :nth-child(3){transition-delay:.12s}
.mob-menu.open .panel > :nth-child(4){transition-delay:.18s}.mob-menu.open .panel > :nth-child(5){transition-delay:.24s}.mob-menu.open .panel > :nth-child(6){transition-delay:.3s}
@media (max-height:640px){.mob-menu .panel .mm-main a{font-size:23px;padding:7px 0}.mob-menu .panel .mm-second a{font-size:19px}.mm-quick{margin:12px 0 8px}}

/* Accueil sur téléphone : quand Marine a mis une photo, elle passe en premier (c'est une boutique de mode) */
@media (max-width:860px){
  .hero.has-photo .hero-visual{order:-1;width:min(82%,360px)}
  .hero.has-photo .wrap{gap:26px;padding-top:22px}
  .hero:not(.has-photo) .hero-visual{display:none}
  .hero-ctas{width:100%}
  .hero-ctas .btn-primary{flex:1 1 100%;justify-content:center;text-align:center}
}

/* Cartes produit sur téléphone : photo, nom, prix, couleurs et un bouton panier rond (les tailles se choisissent sur la fiche) */
@media (max-width:700px){
  .pcard{gap:10px}
  .pcard .sizes-mini,.pcard .add-btn{display:none}
  .qadd{display:grid;place-items:center;position:absolute;right:8px;bottom:8px;width:40px;height:40px;border-radius:50%;background:rgba(255,252,247,.94);color:var(--choco);border:1px solid rgba(201,164,108,.7);box-shadow:0 8px 18px -10px rgba(58,64,52,.6);z-index:2;transition:transform .2s,background .2s}
  .qadd:active{transform:scale(.92);background:var(--choco-bg,var(--choco));color:#E9CB8C}
  .qadd svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.4;fill:none}
  .pcard h3{font-size:19px;line-height:1.15}
  .pcard .cat-l{font-size:10px}
  .card-colors .swatch{width:18px;height:18px}
  .pcard-media .tags .tag{font-size:9.5px;padding:4px 7px}
}

/* Fiche produit : boutons sur une ligne */
.buy-row .btn{white-space:nowrap}
@media (max-width:420px){.buy-row .btn{padding-inline:16px;letter-spacing:.12em;font-size:11.5px}}

/* Collection sur téléphone : filtres plus nets */
@media (max-width:600px){
  .views{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px}
  .views::-webkit-scrollbar{display:none}
  .views > *{flex:0 0 auto}
}

/* Pied de page sur téléphone : listes côte à côte, plus court */
@media (max-width:600px){
  .foot-top{grid-template-columns:1fr 1fr;gap:30px 18px}
  .foot-top > .foot-brand,.foot-top > div:last-child{grid-column:1 / -1}
  .foot .wrap{gap:30px}
}
.mob-menu .mm-top img{height:auto}
@media (max-width:700px){.pcard-rating.none{display:none}.pcard-body{gap:6px}}

/* ===== Fiche produit détaillée (9 novembre) ===== */
.pdp-details{list-style:none;margin:2px 0 0;padding:12px 0 2px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.pdp-details li{display:grid;grid-template-columns:112px 1fr;gap:12px;align-items:center;font-size:15px;color:var(--ink-soft)}
.pdp-details .dt{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze)}
.pdp-details .dd{color:var(--choco)}
.cut-scale{display:grid;grid-template-columns:repeat(4,1fr);position:relative;padding-top:14px;max-width:320px}
.cut-scale::before{content:"";position:absolute;left:6%;right:6%;top:5px;height:1.5px;background:linear-gradient(90deg,#E9CB8C,#C9A46C,#A9784F)}
.cut-scale i{position:relative;font-style:normal;text-align:center}
.cut-scale i::before{content:"";position:absolute;left:50%;top:-13px;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:var(--ivory);border:1.5px solid #C9A46C}
.cut-scale i.on::before{width:15px;height:15px;margin-left:-7.5px;top:-16px;background:var(--choco-bg,var(--choco));border-color:#E9CB8C;box-shadow:0 0 0 3px rgba(201,164,108,.25)}
.cut-scale b{font-weight:400;font-size:12px;color:var(--ink-mute)}
.cut-scale i.on b{color:var(--choco);font-weight:500}
.marine-note{margin:2px 0 4px;padding:14px 18px 10px 20px;background:linear-gradient(100deg,var(--surface-2,#FBF3E6),rgba(251,243,230,.3));border-left:2px solid #C9A46C;border-radius:0 12px 12px 0;position:relative}
.marine-note::before{content:"Le mot de Marine";display:block;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze);margin-bottom:6px}
.marine-note blockquote{margin:0;font-family:var(--f-display);font-style:italic;font-size:19px;line-height:1.4;color:var(--choco)}
.marine-note figcaption{font-family:var(--f-script);color:var(--bronze);font-size:26px;text-align:right;line-height:1;margin-top:2px}
@media (max-width:420px){.pdp-details li{grid-template-columns:92px 1fr}}

/* Galerie au doigt (téléphone) */
.gal-swipe,.gal-dots{display:none}
@media (max-width:760px){
  .pdp-gal:has(.gal-swipe) .zoom,.pdp-gal:has(.gal-swipe) .thumbs{display:none}
  .gal-swipe{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:2px;-webkit-overflow-scrolling:touch}
  .gal-swipe::-webkit-scrollbar{display:none}
  .gal-swipe figure{flex:0 0 100%;margin:0;aspect-ratio:3/4;scroll-snap-align:center;position:relative;overflow:hidden}
  .gal-swipe figure > *{position:absolute;inset:0;width:100%;height:100%}
  .gal-swipe img{object-fit:cover}
  .gal-dots{display:flex;justify-content:center;gap:7px;padding-top:2px}
  .gal-dots i{width:6px;height:6px;border-radius:50%;background:rgba(169,120,79,.35);transition:width .3s,background .3s}
  .gal-dots i.on{width:20px;border-radius:3px;background:var(--bronze)}
}
.lb-slide img{touch-action:pinch-zoom}

/* ===== Ma taille (9 novembre) ===== */
.my-size{margin:0 0 18px;border:1px solid rgba(201,164,108,.55);border-radius:14px;background:linear-gradient(100deg,var(--surface,#FFFCF7),var(--surface-2,#FBF3E6));overflow:hidden}
.ms-btn{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;text-align:left;font-size:15px;color:var(--choco);flex-wrap:wrap}
.ms-btn b{font-weight:500;color:var(--bronze)}
.ms-btn small{margin-left:auto;font-size:12.5px;color:var(--ink-mute);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(201,164,108,.6)}
.ms-dot{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--choco-bg,var(--choco));color:#E9CB8C;font-family:var(--f-display);font-size:17px;box-shadow:0 0 0 1px #C9A46C,0 0 0 4px var(--surface,#FFFCF7),0 0 0 5px rgba(201,164,108,.5);flex:0 0 auto}
.ms-pick{display:none;flex-wrap:wrap;gap:6px;padding:4px 14px 14px}
.my-size.open .ms-pick{display:flex;animation:mega-in .35s cubic-bezier(.2,.7,.2,1)}
.ms-pick .sz[aria-pressed="true"]{background:var(--choco-bg,var(--choco));color:#E9CB8C;border-color:var(--choco)}
.ms-clear{font-size:13px;color:var(--ink-mute);text-decoration:underline;padding:0 6px}
.ms-line{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:#4E6B41;text-align:left}
.ms-line.ok::before{content:"";width:7px;height:7px;border-radius:50%;background:#7E9970}
.ms-line.no{color:var(--ink-mute)}
.ms-line.out{color:var(--bronze)}
.ms-line.out::before{content:"";width:7px;height:7px;border-radius:50%;border:1.5px solid var(--bronze)}
.pcard.nomy .pcard-media .vis{filter:saturate(.55) opacity(.6)}
.pcard.nomy h3,.pcard.nomy .price{color:var(--ink-mute)}
@media (max-width:600px){.ms-btn small{margin-left:48px;width:100%}}

/* Alerte « Prévenez-moi » bien visible */
.stock-alert{position:relative;border:1px solid #C9A46C;border-radius:14px;background:linear-gradient(100deg,var(--surface-2,#FBF3E6),var(--surface,#FFFCF7));padding:16px 18px 16px 58px;box-shadow:0 14px 30px -24px rgba(58,64,52,.6)}
.stock-alert::before{content:"";position:absolute;left:16px;top:16px;width:30px;height:30px;border-radius:50%;background:var(--choco-bg,var(--choco)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E9CB8C' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M6 16V11a6 6 0 0 1 12 0v5l1.5 2h-15z'/%3E%3Cpath d='M10 20a2 2 0 0 0 4 0'/%3E%3C/svg%3E") center/17px no-repeat}
.stock-alert.ok{padding-left:18px}.stock-alert.ok::before{content:none}
.stock-alert .btn{background:var(--choco-bg,var(--choco));color:var(--on-dark,var(--ivory));border-color:var(--choco)}
.sizes-mini .sz.sz-out{position:relative}
.sizes-mini .sz.sz-out::after{content:"";position:absolute;right:3px;top:3px;width:5px;height:5px;border-radius:50%;background:#C9A46C}

/* ===== Volet « choisir la taille » (téléphone) ===== */
.sheet-ov{z-index:150}
.size-sheet{position:absolute;left:0;right:0;bottom:0;max-height:88%;overflow-y:auto;background:var(--ivory);border-top:1px solid #C9A46C;border-radius:22px 22px 0 0;
  padding:8px 18px calc(18px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:12px;transform:translateY(100%);transition:transform .45s cubic-bezier(.2,.8,.2,1);box-shadow:0 -24px 60px -30px rgba(58,64,52,.6)}
.sheet-ov.open .size-sheet{transform:none}
.ss-grip{align-self:center;width:44px;height:4px;border-radius:2px;background:rgba(169,120,79,.35);margin-bottom:2px}
.ss-head{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center}
.ss-img{position:relative;width:64px;aspect-ratio:3/4;border-radius:8px 8px 3px 3px;overflow:hidden;background:var(--champ)}
.ss-img > *{position:absolute;inset:0;width:100%;height:100%}.ss-img img{object-fit:cover}
.ss-head b{display:block;font-family:var(--f-display);font-weight:500;font-size:21px;color:var(--choco);line-height:1.15}
.ss-head .x-btn{position:static}
.size-sheet .opt-label{margin-top:2px}
.size-sheet .sizes-mini{gap:7px}
.size-sheet .sizes-mini .sz{min-width:52px;height:46px;font-size:16px}
.size-sheet .sizes-mini .sz[aria-pressed="true"]{background:var(--choco-bg,var(--choco));color:#E9CB8C;border-color:var(--choco)}
.sizes-mini .sz.mine{box-shadow:inset 0 -2px 0 #C9A46C}
.ss-alert{text-align:left;font-size:14px;color:var(--bronze);padding:10px 12px;border:1px dashed #C9A46C;border-radius:10px;background:var(--surface-2,#FBF3E6)}
.ss-add{width:100%;justify-content:center;min-height:52px}
.ss-more{font-size:13.5px;color:var(--ink-soft);text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(201,164,108,.7);padding:2px 0}
@media (prefers-reduced-motion:reduce){.size-sheet{transition:none}}

/* ===== Recherche visuelle ===== */
.search-ov{z-index:145}
.search-panel{position:absolute;left:50%;top:clamp(16px,8vh,90px);width:min(760px,calc(100% - 24px));max-height:calc(100% - 2*clamp(16px,8vh,90px));display:flex;flex-direction:column;background:var(--ivory);border:1px solid #C9A46C;border-radius:22px;box-shadow:0 40px 90px -40px rgba(58,64,52,.7);transform:translate(-50%,-14px);opacity:0;transition:opacity .3s,transform .35s cubic-bezier(.2,.8,.2,1);overflow:hidden}
.search-ov.open .search-panel{opacity:1;transform:translate(-50%,0)}
.sp-field{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 20px;border-bottom:1px solid rgba(201,164,108,.45)}
.sp-field > svg{width:22px;height:22px;stroke:var(--bronze);fill:none;stroke-width:1.4;flex:0 0 auto}
.sp-field input{flex:1;min-width:0;border:0;background:none;font-family:var(--f-display);font-size:24px;color:var(--choco);outline:none;padding:6px 0}
.sp-field input::placeholder{color:var(--ink-mute);font-style:italic}
.sp-field input::-webkit-search-cancel-button{display:none}
.sp-field .x-btn{position:static;flex:0 0 auto}
.sp-body{overflow-y:auto;padding:6px 20px 22px;overscroll-behavior:contain}
.sp-h{margin:16px 0 10px;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--bronze)}
.sp-chips{display:flex;flex-wrap:wrap;gap:8px}
.sp-chip{padding:8px 16px;border:1px solid rgba(201,164,108,.7);border-radius:999px;background:var(--surface,#FFFCF7);font-size:14.5px;color:var(--choco);transition:background .25s,color .25s}
.sp-chip:hover{background:var(--choco-bg,var(--choco));color:#E9CB8C}
.sp-chip.gold{background:linear-gradient(100deg,#5D6454,#4A5143);color:#E9CB8C;border-color:#4A5143}
.sp-sizes{display:flex;flex-wrap:wrap;gap:8px}
.sp-size{width:46px;height:46px;border-radius:50%;border:1px solid rgba(201,164,108,.7);font-family:var(--f-display);font-size:18px;color:var(--choco);background:var(--surface,#FFFCF7);transition:background .25s,color .25s,transform .25s}
.sp-size:hover,.sp-size.on{background:var(--choco-bg,var(--choco));color:#E9CB8C;transform:translateY(-2px)}
.sp-res{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.sp-card{display:flex;flex-direction:column;gap:8px;text-align:left}
.sp-img{position:relative;display:block;aspect-ratio:3/4;border-radius:999px 999px 6px 6px;overflow:hidden;background:var(--champ);box-shadow:0 0 0 1px rgba(201,164,108,.4)}
.sp-img > *{position:absolute;inset:0;width:100%;height:100%}.sp-img img{object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.sp-card:hover .sp-img img{transform:scale(1.05)}
.sp-t b{display:block;font-family:var(--f-display);font-weight:500;font-size:18px;color:var(--choco);line-height:1.2}
.sp-t .price,.sp-t .prices{font-size:14px}
.sp-all{margin:18px auto 0;display:flex}
.sp-none{padding:26px 4px;text-align:center;color:var(--ink-soft)}
.sp-none b{display:block;font-family:var(--f-display);font-weight:500;font-size:21px;color:var(--choco);margin-bottom:6px}
@media (max-width:600px){
  .search-panel{top:0;left:0;width:100%;max-height:100%;height:100%;border-radius:0;border:0;transform:translateY(-14px)}
  .search-ov.open .search-panel{transform:none}
  .sp-field{padding-top:calc(10px + env(safe-area-inset-top,0px))}
  .sp-field input{font-size:20px}
  .sp-res{grid-template-columns:1fr 1fr}
}

/* ===== Photos des clientes dans les avis ===== */
.rv-photo-in{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.rv-ph-btn{display:flex;align-items:center;gap:12px;padding:10px 16px 10px 12px;border:1px dashed #C9A46C;border-radius:14px;background:var(--surface,#FFFCF7);cursor:pointer;color:var(--choco);font-size:14.5px}
.rv-ph-btn svg{width:28px;height:28px;stroke:var(--bronze);fill:none;stroke-width:1.3;flex:0 0 auto}
.rv-ph-btn small{display:block;font-size:12px;color:var(--ink-mute)}
.rv-ph-btn:focus-within{outline:2px solid var(--bronze);outline-offset:2px}
.rv-prev{position:relative;width:70px;aspect-ratio:3/4;border-radius:999px 999px 6px 6px;overflow:hidden;box-shadow:0 0 0 1px #C9A46C}
.rv-prev img{width:100%;height:100%;object-fit:cover}
.rv-prev button{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:rgba(255,252,247,.92);display:grid;place-items:center}
.rv-prev button svg{width:11px;height:11px;stroke:var(--choco);stroke-width:2;fill:none}
.rv-worn{margin:6px 0 20px;padding:16px 0 4px;border-top:1px solid var(--line)}
.rv-worn-h{display:flex;align-items:baseline;gap:12px;margin:0 0 12px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}
.rv-worn-h .script{font-size:30px;letter-spacing:0;text-transform:none}
.rv-worn-row{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;padding-bottom:6px}
.rv-worn-row::-webkit-scrollbar{display:none}
.rv-worn-ph{flex:0 0 auto;width:120px;display:flex;flex-direction:column;gap:6px;text-align:left}
.rv-worn-ph img{width:120px;aspect-ratio:3/4;object-fit:cover;border-radius:999px 999px 6px 6px;box-shadow:0 0 0 1px rgba(201,164,108,.5);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.rv-worn-ph:hover img{transform:translateY(-4px)}
.rv-worn-ph small{font-size:12.5px;color:var(--ink-soft)}
.rv-list li{position:relative}
.rv-ph{float:right;margin:0 0 8px 14px;width:76px}
.rv-ph img{width:76px;aspect-ratio:3/4;object-fit:cover;border-radius:10px;box-shadow:0 0 0 1px rgba(201,164,108,.5)}
.rvb-card.has-ph{padding-top:0;overflow:hidden}
.rvb-ph{display:block;margin:0 -22px 14px;width:calc(100% + 44px)}
.rvb-ph img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.rv-viewer{position:fixed;inset:0;z-index:200;background:rgba(30,33,26,.86);display:grid;place-items:center;padding:24px;opacity:0;transition:opacity .3s;cursor:zoom-out}
.rv-viewer.open{opacity:1}
.rv-viewer figure{margin:0;max-width:min(560px,100%);text-align:center}
.rv-viewer img{max-width:100%;max-height:78vh;border-radius:14px;box-shadow:0 30px 80px -30px #000}
.rv-viewer figcaption{color:#F4EADB;font-family:var(--f-display);font-size:19px;margin-top:12px}
.rv-viewer .lb-x{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:14px}

/* ===== Lookbook ===== */
.lbk-hero{text-align:center;padding:clamp(48px,8vw,110px) 20px clamp(36px,5vw,64px);background:radial-gradient(90% 70% at 50% 0%,var(--surface-2,#FBF3E6),var(--ivory) 70%)}
.lbk-hero h1{font-size:clamp(46px,7vw,96px);font-weight:400;line-height:.98;margin:10px 0 14px}
.lbk-hero h1 em{color:var(--bronze)}
.lbk-hero p{max-width:34em;margin:0 auto;color:var(--ink-soft);font-size:clamp(16px,1.4vw,19px)}
.lbk-down{display:inline-flex;flex-direction:column;align-items:center;gap:10px;margin-top:30px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--bronze)}
.lbk-down i{width:1px;height:46px;background:linear-gradient(#C9A46C,transparent);animation:lbk-drop 2.2s ease-in-out infinite}
@keyframes lbk-drop{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.lbk{display:flex;flex-direction:column;gap:clamp(48px,8vw,120px);max-width:1240px;margin:0 auto;padding:0 var(--gutter-l,20px) clamp(40px,6vw,80px)}
.lbk-look{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,80px);align-items:center}
.lbk-look.alt{grid-template-columns:.85fr 1.15fr}
.lbk-look.alt .lbk-ph{order:2}
.lbk-ph{margin:0;position:relative;aspect-ratio:4/5;border-radius:999px 999px 8px 8px;overflow:hidden;box-shadow:0 0 0 1px rgba(201,164,108,.6),0 0 0 10px var(--ivory),0 0 0 11px rgba(201,164,108,.3),0 40px 80px -50px rgba(58,64,52,.7)}
.lbk-ph img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.06);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.lbk-look:not(.pre) .lbk-ph img{transform:none}
.lbk-n{font-family:var(--f-display);font-size:18px;color:var(--ink-mute);letter-spacing:.06em}
.lbk-n b{font-weight:400;font-size:44px;color:var(--bronze);margin-right:4px}
.lbk-txt h2{font-size:clamp(34px,3.6vw,54px);font-weight:400;line-height:1.02;margin:8px 0 14px}
.lbk-txt > p{color:var(--ink-soft);font-size:17px;line-height:1.65;max-width:30em}
.lbk-h{margin:26px 0 10px;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--bronze)}
.lbk-pieces{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.lbk-piece{display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);text-align:left;transition:padding .3s}
.lbk-piece:hover{padding-left:6px}
.lbk-pimg{position:relative;width:56px;aspect-ratio:3/4;border-radius:999px 999px 4px 4px;overflow:hidden;background:var(--champ)}
.lbk-pimg > *{position:absolute;inset:0;width:100%;height:100%}.lbk-pimg img{object-fit:cover}
.lbk-pt b{display:block;font-family:var(--f-display);font-weight:500;font-size:20px;color:var(--choco)}
.lbk-piece i{font-style:normal;color:var(--bronze);font-size:18px;transition:transform .3s}
.lbk-piece:hover i{transform:translateX(4px)}
.lbk-end{display:flex;flex-direction:column;align-items:center;gap:18px;padding:20px 20px clamp(60px,8vw,110px);text-align:center}
.lbk-end .script{font-size:clamp(40px,5vw,62px)}
.mob-menu .panel .mob-cats a.lbk-chip{background:linear-gradient(100deg,#5D6454,#4A5143);color:#E9CB8C;border-color:#4A5143}
@media (max-width:820px){
  .lbk-look,.lbk-look.alt{grid-template-columns:1fr;gap:22px}
  .lbk-look.alt .lbk-ph{order:0}
  .lbk-ph{box-shadow:0 0 0 1px rgba(201,164,108,.6),0 0 0 6px var(--ivory),0 0 0 7px rgba(201,164,108,.3);width:min(100%,440px);justify-self:center}
  .lbk-n b{font-size:34px}
}
@media (min-width:821px){.lbk-ph{width:min(100%,calc(84vh * .8));justify-self:center}}

/* ===== Signature : l'arche dorée ===== */
/* Changement de page : le contenu s'ouvre comme une arche, un filet d'or passe dessous */
#app.page-in main{animation:arch-open .75s cubic-bezier(.2,.75,.2,1) backwards}
@keyframes arch-open{from{clip-path:inset(4% 18% 0 18% round 46vw 46vw 0 0);opacity:.35;transform:translateY(10px)}to{clip-path:inset(0 0 0 0 round 0 0 0 0);opacity:1;transform:none}}
#app.page-in .head-spacer{position:relative}
#app.page-in .head-spacer::after{content:"";position:absolute;left:50%;bottom:-1px;width:min(560px,70vw);height:1.5px;margin-left:min(-280px,-35vw);
  background:linear-gradient(90deg,rgba(201,164,108,0),#C9A46C 20%,#FFF3D6 50%,#C9A46C 80%,rgba(201,164,108,0));transform:scaleX(0);animation:arch-line 1.1s cubic-bezier(.2,.7,.2,1) .1s both;z-index:3}
@keyframes arch-line{0%{transform:scaleX(0);opacity:1}60%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
/* Photos : elles se dévoilent en arche quand elles arrivent */
/* (pas de masquage avant chargement : l image reste visible même si le réseau traîne) */
img.ld-in{animation:img-arch .9s cubic-bezier(.2,.75,.2,1) backwards}
@keyframes img-arch{from{clip-path:inset(30% 6% 0 6% round 50% 50% 0 0);opacity:0}to{clip-path:inset(0 0 0 0 round 0);opacity:1}}
@media (prefers-reduced-motion:reduce){#app.page-in main,#app.page-in .head-spacer::after,img.ld-in{animation:none}img.ld-wait{clip-path:none;opacity:1}}
/* Carte « sur votre téléphone » (pied de page) */
.app-card{display:flex;align-items:center;gap:16px;padding:16px 18px;border:1px solid rgba(201,164,108,.45);border-radius:16px;background:rgba(255,249,241,.06)}
.app-card[hidden]{display:none}
.app-card img{width:56px;height:56px;border-radius:14px;box-shadow:0 0 0 1px rgba(201,164,108,.6)}
.app-card b{display:block;font-family:var(--f-display);font-weight:400;font-size:21px;color:var(--on-dark,var(--ivory))}
.app-card p{margin:2px 0 0;font-size:14px;color:rgba(255,249,241,.75)}
.app-card .btn{margin-left:auto;color:#E9CB8C;border-color:#C9A46C;flex:0 0 auto}
@media (max-width:600px){.app-card{flex-wrap:wrap}.app-card .btn{margin-left:72px}}

/* ===== Offre de bienvenue ===== */
.wo-card{position:fixed;left:20px;bottom:20px;z-index:60;width:min(360px,calc(100vw - 32px));padding:22px 22px 16px;background:linear-gradient(160deg,var(--surface,#FFFCF7),var(--surface-2,#FBF3E6));border:1px solid #C9A46C;border-radius:24px 24px 14px 14px;
  box-shadow:0 0 0 6px rgba(255,252,247,.85),0 0 0 7px rgba(201,164,108,.35),0 30px 60px -30px rgba(58,64,52,.7);display:flex;flex-direction:column;gap:8px;text-align:center;
  transform:translateY(30px);opacity:0;transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .4s}
.wo-card.open{transform:none;opacity:1}
.wo-card .script{font-size:40px;line-height:.9}
.wo-t{font-family:var(--f-display);font-weight:400;font-size:25px;line-height:1.15;color:var(--choco)}
.wo-t em{color:var(--bronze)}
.wo-card p{margin:0;font-size:14px;color:var(--ink-soft)}
.wo-form{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.wo-form input[type=email]{height:46px;border:1px solid rgba(201,164,108,.8);border-radius:999px;padding:0 18px;background:var(--paper,#fff);font-size:15px;text-align:center}
.wo-form .btn{justify-content:center;border-radius:999px}
.wo-card small{font-size:11.5px;color:var(--ink-mute)}
.wo-x{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:var(--ink-soft)}
.wo-x svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.6;fill:none}
.wo-code{display:flex;flex-direction:column;align-items:center;gap:4px;margin:8px auto 4px;padding:12px 24px;border:1.5px dashed #C9A46C;border-radius:14px;background:var(--paper,#fff);font-family:var(--f-display);font-size:28px;letter-spacing:.12em;color:var(--choco)}
.wo-code small{font-family:var(--f-ui);font-size:11.5px;letter-spacing:.04em;color:var(--bronze)}
@media (max-width:600px){.wo-card{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:auto}.wo-card .script{font-size:34px}}
@media (prefers-reduced-motion:reduce){.wo-card{transition:none}}

/* ===== Carte de fidélité : tampons dorés, reflet, légère inclinaison ===== */
.loy-card{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .35s cubic-bezier(.2,.7,.2,1);will-change:transform}
.loy-card .loy-shine,.loy-card::after{pointer-events:none}
.loy-card::after{background:repeating-linear-gradient(115deg,rgba(255,255,255,.03) 0 2px,transparent 2px 9px),
  linear-gradient(105deg,transparent calc(var(--gx,30%) - 22%),rgba(255,243,214,.28) var(--gx,30%),transparent calc(var(--gx,30%) + 22%));transition:background .2s}
.loy-card{animation:loy-in .9s cubic-bezier(.2,.8,.2,1) both}
@keyframes loy-in{from{opacity:0;transform:perspective(900px) rotateX(18deg) translateY(16px)}to{opacity:1}}
.loy-points b{background:linear-gradient(100deg,#C9A46C,#FFF3D6 45%,#E9CB8C 55%,#C9A46C);-webkit-background-clip:text;background-clip:text;color:transparent}
.loy-stamps{display:flex;align-items:center;gap:6px;margin:10px 0 6px}
.loy-stamps i{width:15px;height:15px;border-radius:50%;border:1.3px solid rgba(222,192,128,.55);background:rgba(255,255,255,.04)}
.loy-stamps i.on{border-color:#F1D9A9;background:radial-gradient(circle at 35% 30%,#FFF3D6,#E9CB8C 45%,#C9A46C);box-shadow:0 0 8px rgba(233,203,140,.55);animation:loy-stamp .5s cubic-bezier(.2,1.6,.4,1) calc(.5s + var(--i) * .08s) both}
@keyframes loy-stamp{from{transform:scale(0) rotate(-40deg);opacity:0}to{transform:none;opacity:1}}
.loy-gift{margin-left:4px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;border:1.3px dashed rgba(222,192,128,.7)}
.loy-gift svg{width:14px;height:14px;stroke:var(--loy-gold);stroke-width:1.4;fill:none}
@media (max-width:420px){.loy-stamps{gap:4px}.loy-stamps i{width:12px;height:12px}}
@media (prefers-reduced-motion:reduce){.loy-card,.loy-stamps i.on{animation:none;transform:none}}

/* ===== Effet « waouh » (ordinateur seulement ; le téléphone reste simple et rapide) ===== */
.edito-band{display:none}
.arch-line{display:none}
/* Effets légers, téléphone compris : titres mot à mot, filet d'arche, apparitions */
@media (prefers-reduced-motion:no-preference){
  .wsplit .wm{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}
  .wsplit .w{display:inline-block;transform:translateY(105%);animation:w-rise .9s cubic-bezier(.2,.75,.15,1) calc(.15s + var(--i) * .07s) forwards}
  .reveal.pre .wsplit .w,.sec-head.reveal.pre .w{animation:none;transform:translateY(105%)}
  @keyframes w-rise{to{transform:none}}
}
@media (max-width:860px) and (prefers-reduced-motion:no-preference){
  /* Téléphone : l'arche dorée se dessine aussi autour de la photo d'accueil */
  .hero.has-photo .hero-visual{position:relative}
  .hero.has-photo .arch-line{display:block;position:absolute;inset:-10px -10px -6px;width:calc(100% + 20px);height:calc(100% + 16px);overflow:visible;pointer-events:none;z-index:2}
  .hero.has-photo .arch-line path{fill:none;stroke:#C9A46C;stroke-width:1.2px;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;animation:arch-draw 2.2s cubic-bezier(.6,0,.2,1) .3s forwards}
  @keyframes arch-draw{to{stroke-dashoffset:0}}
  .hero .eyebrow{animation:fade-up .7s ease .1s backwards}
  .hero .sub{animation:fade-up .8s ease .45s backwards}
  .hero-ctas{animation:fade-up .8s ease .6s backwards}
  @keyframes fade-up{from{opacity:0;transform:translateY(12px)}}
  /* Bande éditoriale : plus petite, elle défile toute seule (pas de calcul pendant le défilement) */
  .edito-band{display:block;overflow:hidden;padding:18px 0;border-block:1px solid rgba(201,164,108,.35);background:linear-gradient(180deg,var(--champ),var(--ivory))}
  .eb-track{display:flex;align-items:center;gap:20px;white-space:nowrap;width:max-content;animation:eb-run 40s linear infinite}
  .eb-track span{font-family:var(--f-display);font-size:40px;line-height:1;color:var(--choco)}
  .eb-track span.o{color:transparent;-webkit-text-stroke:1px #A9784F;font-style:italic}
  .eb-track i{font-style:normal;font-size:16px;color:#C9A46C}
  @keyframes eb-run{to{transform:translateX(-33.333%)}}
  /* Retour au toucher : tout répond sous le doigt */
  .pcard:active .pcard-media{transform:scale(.97)}
  .pcard-media{transition:transform .25s cubic-bezier(.2,.7,.2,1)}
  .cat:active .frame{transform:scale(.96);box-shadow:0 0 0 1px #C9A46C,0 0 0 5px var(--ivory),0 0 0 6px rgba(201,164,108,.5)}
  .cat .frame{transition:transform .25s,box-shadow .25s}
  .btn:active,.sz:active,.sp-chip:active,.sp-size:active,.mm-quick a:active,.mm-quick button:active{transform:scale(.96)}
  .btn,.sz,.sp-chip,.mm-quick a,.mm-quick button{transition:transform .15s,background .25s,color .25s}
  /* Les univers défilent au doigt sur une rangée, avec l'aimantation */
  .cats:not(.cats-scroll){display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;scrollbar-width:none;margin-inline:-16px;padding:4px 16px 10px}
  .cats:not(.cats-scroll)::-webkit-scrollbar{display:none}
  .cats:not(.cats-scroll) .cat{flex:0 0 42%;scroll-snap-align:start}
}
@media (min-width:861px) and (prefers-reduced-motion:no-preference){

  /* Accueil : l'arche de la photo suit doucement la souris, un filet d'or se dessine autour */
  .hero-visual{transform:translate3d(calc(var(--mx,0) * -18px),calc(var(--my,0) * -14px),0);transition:transform .9s cubic-bezier(.2,.7,.2,1)}
  .hero-visual .arch img{transform:scale(1.06) translate3d(calc(var(--mx,0) * 14px),calc(var(--my,0) * 10px),0);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
  .arch-line{display:block;position:absolute;inset:-16px -16px -10px;width:calc(100% + 32px);height:calc(100% + 26px);overflow:visible;pointer-events:none;z-index:2;
    transform:translate3d(calc(var(--mx,0) * 10px),calc(var(--my,0) * 8px),0);transition:transform 1s cubic-bezier(.2,.7,.2,1)}
  .arch-line path{fill:none;stroke:#C9A46C;stroke-width:.5;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;animation:arch-draw 2.4s cubic-bezier(.6,0,.2,1) .4s forwards}
  .arch-line path{stroke-width:1.2px}
  @keyframes arch-draw{to{stroke-dashoffset:0}}
  .hero .eyebrow{animation:fade-up .8s ease .1s backwards}
  .hero .sub{animation:fade-up .9s ease .55s backwards}
  .hero-ctas{animation:fade-up .9s ease .75s backwards}
  @keyframes fade-up{from{opacity:0;transform:translateY(14px)}}

  /* Grande bande éditoriale qui glisse avec le défilement */
  .edito-band{display:block;overflow:hidden;padding:clamp(26px,3vw,44px) 0;border-block:1px solid rgba(201,164,108,.35);background:linear-gradient(180deg,var(--champ),var(--ivory))}
  .eb-track{display:flex;align-items:center;gap:clamp(24px,3vw,48px);white-space:nowrap;will-change:transform;width:max-content;padding-left:8vw}
  .eb-track span{font-family:var(--f-display);font-size:clamp(56px,7.4vw,118px);line-height:1;color:var(--choco);letter-spacing:-.01em}
  .eb-track span.o{color:transparent;-webkit-text-stroke:1px #A9784F;font-style:italic}
  .eb-track i{font-style:normal;font-size:clamp(20px,2vw,30px);color:#C9A46C}

  /* Univers : l'arche s'illumine au survol */
  .cat .frame{transition:transform .7s cubic-bezier(.2,.7,.2,1),box-shadow .7s}
  .cat:hover .frame{transform:translateY(-10px);box-shadow:0 0 0 1px #C9A46C,0 0 0 7px var(--ivory),0 0 0 8px rgba(201,164,108,.55),0 30px 50px -28px rgba(58,64,52,.7)}
  .cat .frame img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
  .cat:hover .frame img{transform:scale(1.08)}
  .cat h3{transition:color .4s,letter-spacing .6s}
  .cat:hover h3{color:var(--bronze);letter-spacing:.03em}

  /* Cartes produit : la photo se soulève, un filet doré l'entoure */
  .pcard-media{transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s}
  .pcard:hover .pcard-media{transform:translateY(-6px);box-shadow:0 26px 40px -26px rgba(58,64,52,.65)}
  .pcard:hover .pcard-media::after{border-color:rgba(233,203,140,.85)}

  /* Boutons principaux : reflet doré au survol */
  .btn-primary{position:relative;overflow:hidden}
  .btn-primary::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,243,214,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .9s cubic-bezier(.2,.7,.2,1);pointer-events:none}
  .btn-primary:hover::after{transform:translateX(120%)}
}
/* Écrans moyens : l'en-tête tient toujours en largeur ; jamais de défilement horizontal */
html,body{overflow-x:clip}
@media (min-width:881px) and (max-width:1100px){
  :root{--logo-top:150px;--head-top:176px}
  .head-inner{column-gap:12px;padding-left:16px;padding-right:16px}
  .nav{gap:13px;font-size:11px;letter-spacing:.1em}
  .nav-icons{padding-left:6px;margin-left:0}
  .nav-icons .icon-btn{width:28px}
}

/* ===== 1. Fiche : la nouvelle couleur se dévoile en arche ===== */
@media (prefers-reduced-motion:no-preference){
  #zoom .vis.swap,#pdp .gal-swipe.swap{animation:color-swap .8s cubic-bezier(.2,.75,.2,1)}
  @keyframes color-swap{from{clip-path:inset(18% 10% 0 10% round 50% 50% 0 0);opacity:.2;transform:scale(1.04)}to{clip-path:inset(0 round 0);opacity:1;transform:none}}
}

/* ===== 2. Panier : lignes en cascade, jauge brillante, étoiles quand la livraison devient offerte ===== */
@media (prefers-reduced-motion:no-preference){
  .drawer .line{animation:line-in .55s cubic-bezier(.2,.8,.2,1) backwards}
  .drawer .line:nth-child(2){animation-delay:.07s}.drawer .line:nth-child(3){animation-delay:.14s}.drawer .line:nth-child(4){animation-delay:.21s}.drawer .line:nth-child(n+5){animation-delay:.28s}
  @keyframes line-in{from{opacity:0;transform:translateX(24px)}}
}
.ship-meter .bar{height:5px;border-radius:3px}
.ship-meter .bar i{background:linear-gradient(90deg,#B98F55,#E9CB8C 40%,#FFF3D6 50%,#E9CB8C 60%,#C9A46C) 0 0/220% 100%;animation:bar-shine 2.6s linear infinite;border-radius:3px}
@keyframes bar-shine{to{background-position:-220% 0}}
.drawer .ship-meter{position:relative;overflow:visible}
.drawer .ship-meter.done{background:linear-gradient(100deg,#F3F6EF,var(--surface,#FFFCF7));border-color:#B9CBA9}
.ship-meter.burst{animation:meter-pop .6s cubic-bezier(.3,1.6,.5,1)}
@keyframes meter-pop{40%{transform:scale(1.03)}}
.sm-stars{position:absolute;left:32px;top:50%;pointer-events:none}
.sm-stars i{position:absolute;width:9px;height:9px;margin:-4.5px;background:#E2BE6A;clip-path:polygon(50% 0,61% 38%,100% 50%,61% 62%,50% 100%,39% 62%,0 50%,39% 38%);
  animation:star-out 1.2s cubic-bezier(.2,.8,.3,1) var(--d) forwards}
@keyframes star-out{0%{transform:rotate(var(--a)) translateX(0) scale(.2);opacity:1}70%{opacity:1}100%{transform:rotate(var(--a)) translateX(var(--r)) scale(1) rotate(180deg);opacity:0}}

/* ===== 3. Page « Merci » ===== */
.order-card{position:relative;overflow:hidden}
.merci-logo{display:block;width:120px;height:auto;margin:0 auto 4px}
.merci-burst{position:absolute;left:50%;top:84px;pointer-events:none}
.merci-burst i{position:absolute;width:10px;height:10px;margin:-5px;background:#E2BE6A;clip-path:polygon(50% 0,61% 38%,100% 50%,61% 62%,50% 100%,39% 62%,0 50%,39% 38%);opacity:0;animation:star-out 1.6s cubic-bezier(.2,.8,.3,1) calc(.3s + var(--d)) forwards;--r:150px}
.merci-items{list-style:none;margin:18px auto 6px;padding:0;max-width:440px;display:flex;flex-direction:column;gap:10px;text-align:left}
.merci-items li{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:center;padding:8px 10px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface,#FFFCF7);animation:line-in .6s cubic-bezier(.2,.8,.2,1) .4s backwards}
.mi-img{position:relative;width:52px;aspect-ratio:3/4;border-radius:999px 999px 4px 4px;overflow:hidden;background:var(--champ)}
.mi-img > *{position:absolute;inset:0;width:100%;height:100%}.mi-img img{object-fit:cover}
.merci-items b{display:block;font-family:var(--f-display);font-weight:500;font-size:19px;color:var(--choco)}
.merci-items small{color:var(--ink-mute);font-size:13px}
.merci-note{margin:18px auto 6px;max-width:440px;padding:16px 20px 10px;border-left:2px solid #C9A46C;background:linear-gradient(100deg,var(--surface-2,#FBF3E6),transparent);border-radius:0 14px 14px 0;text-align:left}
.merci-note blockquote{margin:0;font-family:var(--f-display);font-style:italic;font-size:20px;line-height:1.4;color:var(--choco)}
.merci-note figcaption{font-family:var(--f-script);font-size:30px;color:var(--bronze);text-align:right;line-height:1}
.merci-points{display:flex;flex-direction:column;align-items:center;gap:2px;margin:16px auto 8px;padding:14px 22px;border-radius:16px;background:linear-gradient(140deg,#6E7A66,#4A5143);color:#DEC080;max-width:360px;box-shadow:inset 0 0 0 1px rgba(222,192,128,.6)}
.mp-n{font-family:var(--f-display);font-size:46px;line-height:1;background:linear-gradient(100deg,#C9A46C,#FFF3D6 45%,#E9CB8C 55%,#C9A46C);-webkit-background-clip:text;background-clip:text;color:transparent}
.merci-points span:not(.mp-n){font-size:13px;letter-spacing:.04em}
.merci-points .link-u{color:#F1D9A9;font-size:13px;margin-top:4px}
.merci-steps{list-style:none;display:flex;justify-content:center;gap:0;margin:18px auto 8px;padding:0;max-width:460px;counter-reset:st}
.merci-steps li{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;font-size:13px;color:var(--ink-mute);padding-top:24px}
.merci-steps li::before{content:"";position:absolute;top:4px;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;border:1.5px solid #C9A46C;background:var(--ivory);z-index:1}
.merci-steps li::after{content:"";position:absolute;top:11px;left:50%;width:100%;height:1.5px;background:rgba(201,164,108,.45)}
.merci-steps li:last-child::after{display:none}
.merci-steps li.on::before{background:radial-gradient(circle at 35% 30%,#FFF3D6,#E9CB8C 45%,#C9A46C);box-shadow:0 0 10px rgba(233,203,140,.7)}
.merci-steps b{font-weight:500;color:var(--choco);font-size:13.5px}
@media (prefers-reduced-motion:reduce){.merci-burst,.sm-stars{display:none}.merci-items li{animation:none}}

/* ===== 4. Collection sur ordinateur : tailles en ajout rapide sur la photo ===== */
.qsizes{display:none}
@media (min-width:1101px) and (hover:hover){
  .pcard .sizes-mini,.pcard .add-btn{display:none}
  .qsizes{display:flex;flex-direction:column;gap:8px;position:absolute;left:10px;right:10px;bottom:10px;z-index:2;padding:12px 12px 10px;border-radius:14px;
    background:rgba(255,252,247,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 16px 30px -18px rgba(58,64,52,.6);border:1px solid rgba(201,164,108,.6);
    opacity:0;transform:translateY(14px);transition:opacity .35s,transform .45s cubic-bezier(.2,.8,.2,1);pointer-events:none}
  .pcard-media:hover .qsizes,.pcard-media:focus-within .qsizes{opacity:1;transform:none;pointer-events:auto}
  .qs-l{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--bronze);text-align:center}
  .qsizes > div{display:flex;flex-wrap:wrap;justify-content:center;gap:5px}
  .qs{min-width:38px;height:32px;padding:0 6px;border:1px solid rgba(201,164,108,.7);border-radius:8px;background:transparent;font-size:13px;color:var(--choco);transition:background .2s,color .2s,transform .2s}
  .qs:hover:not([disabled]){background:var(--choco-bg,#4A5143);color:#E9CB8C;transform:translateY(-2px)}
  .qs.mine{box-shadow:inset 0 -2px 0 #C9A46C}
  .qs[disabled]{opacity:.35;text-decoration:line-through;cursor:not-allowed}
  .pcard-media:hover .tags{opacity:.0;transition:opacity .3s}
}

/* ===== 5. Téléphone : la barre d'achat devient dorée et respire quand la taille est choisie ===== */
.pdp-sticky.ready .btn-primary{background:linear-gradient(100deg,#B98F55,#E2C185 50%,#C9A46C);color:#1D201A;border-color:#C9A46C}
@media (prefers-reduced-motion:no-preference){
  .pdp-sticky.ready .btn-primary{animation:buy-pulse 2.2s ease-in-out infinite}
  @keyframes buy-pulse{0%,100%{box-shadow:0 0 0 0 rgba(201,164,108,.55)}50%{box-shadow:0 0 0 8px rgba(201,164,108,0)}}
}

/* =====================================================================
   La touche léopard de Maison Ample (motif maison caramel, chocolat et or)
   Dosage choisi par Marine dans l'atelier (Apparence → Touche léopard) :
   html.leo-off = aucune · (rien) = discrète, par défaut · html.leo-plus = plus présente
   ===================================================================== */
/* 1. Les coups de cœur de Marine : étiquette bordée de léopard */
html:not(.leo-off) .tag.coeur{border:4px solid transparent;border-radius:4px;background:linear-gradient(var(--ivory),var(--ivory)) padding-box,url(/assets/img/leopard.svg) 0 0/44px border-box;color:var(--choco);padding:3px 9px}
html:not(.leo-off) .tag.coeur svg{fill:#B9824A;stroke:#B9824A}
.coeur-band .script,.coeur-text .script{position:relative}
/* 2. Liserés : or sous le bandeau défilant (le haut reste doré), léopard en haut du pied de page */
html:not(.leo-off) .ticker{border-bottom:0;box-shadow:0 4px 0 0 transparent;position:relative}
html:not(.leo-off) .ticker::after{content:"";display:block;height:3px;background:linear-gradient(90deg,#B9824A,#E9CB8C 30%,#C9A46C 55%,#E9CB8C 80%,#B9824A)}
html:not(.leo-off) .foot::before{top:0;height:12px;background:url(/assets/img/leopard.svg) 0 0/96px;opacity:1}
html:not(.leo-off) .foot .wrap{padding-top:clamp(62px,7.5vw,90px)}
/* 3. Carte de fidélité : léopard or, très doux, sous le vert sauge */
html:not(.leo-off) .loy-card{background-image:radial-gradient(110% 85% at 100% 0%,rgba(222,192,128,.22) 0%,rgba(222,192,128,0) 55%),linear-gradient(140deg,rgba(110,122,102,.86) 0%,rgba(93,100,84,.86) 52%,rgba(74,81,67,.9) 100%),url(/assets/img/leopard-or.svg);background-size:auto,auto,120px}
/* 4. Le papier de soie léopard : page « Merci » et page « Notre histoire » */
html:not(.leo-off) .order-card{border-top:0;padding-top:58px}
html:not(.leo-off) .order-card::before{content:"";position:absolute;left:0;right:0;top:0;height:14px;background:url(/assets/img/leopard.svg) 0 0/80px;
  -webkit-mask:radial-gradient(7px 6px at 50% 100%,transparent 98%,#000) 0 0/14px 100% repeat-x;mask:radial-gradient(7px 6px at 50% 100%,transparent 98%,#000) 0 0/14px 100% repeat-x}
/* 5. Sous le titre des pages : pas de léopard (souhait de Marine), seulement le liseré doré du haut */

/* Téléphone (souhait de Marine) : pas de photo dans le haut de l'accueil */
@media (max-width:860px){.hero .hero-visual{display:none}}

/* « Plus présente » : en plus des 4 touches ci-dessus */
/* a. (retiré à la demande de Marine : plus de léopard sur les cases du menu du téléphone) */
/* b. Un fin liseré doré sous l'en-tête du site */
html.leo-plus .site-head{border-bottom:0}
html.leo-plus .site-head::after{bottom:-2px;height:2px;background:linear-gradient(90deg,rgba(201,164,108,0),#C9A46C 12%,#E9CB8C 50%,#C9A46C 88%,rgba(201,164,108,0));opacity:1;pointer-events:none}
/* c. Le haut du panier, comme un ruban léopard */
html.leo-plus .drawer-head{position:relative}
html.leo-plus .drawer-head::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:url(/assets/img/leopard.svg) 0 0/64px}

/* =====================================================================
   Accueil sur téléphone : on achète d'abord, l'histoire ensuite
   (sur ordinateur, l'ordre choisi par Marine dans l'atelier reste le même)
   ===================================================================== */
@media (max-width:860px){
  .home{display:flex;flex-direction:column}
  .home > *{order:50}
  .home > .ticker{order:1}.home > .promo-banner{order:2}.home > .hero{order:3}
  .home > .hs-univers{order:4}.home > .hs-nouveautes{order:5}.home > .hs-coeurs{order:6}.home > .hs-look{order:7}
  .home > .hs-avis{order:8}.home > .hs-chiffres{order:9}.home > .hs-engagements{order:10}.home > .hs-histoire{order:11}
  /* Haut de l'accueil plus court : titre, bouton, tailles */
  .hero .hero-text .sub{display:none}
  .hero .hero-ctas .btn-arrow{display:none}
  .hero .hero-ctas .btn-primary{width:100%;justify-content:center}
  .home .hero .wrap{padding-block:22px 30px;gap:0}
}

/* =====================================================================
   Téléphone : petite barre « Installer l'application » en bas de l'écran
   ===================================================================== */
.app-bar{display:none}
@media (max-width:860px){
  .app-bar{display:flex;position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:60;align-items:center;gap:12px;padding:10px 10px 10px 12px;
    background:rgba(255,249,241,.97);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(201,164,108,.6);border-radius:14px;box-shadow:0 16px 34px -18px rgba(58,64,52,.6);
    transform:translateY(140%);opacity:0;transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .45s ease}
  .app-bar.on{transform:none;opacity:1}
  .app-bar[hidden]{display:none}
  .app-bar img{width:44px;height:44px;border-radius:10px;flex:none;box-shadow:0 0 0 1px rgba(201,164,108,.5)}
  .app-bar .ab-t{flex:1;min-width:0;line-height:1.25}
  .app-bar .ab-t b{display:block;font-family:var(--serif,"Cormorant Garamond",serif);font-size:17px;font-weight:600;color:var(--choco)}
  .app-bar .ab-t small{display:block;font-size:12.5px;color:var(--ink-soft)}
  .app-bar .ab-go{flex:none;border:0;border-radius:999px;background:var(--choco);color:var(--ivory);font:500 13px/1 var(--sans,"Jost",sans-serif);letter-spacing:.06em;padding:11px 16px}
  .app-bar .ab-x{flex:none;width:30px;height:30px;border:0;background:none;color:var(--ink-soft);font-size:20px;line-height:1;padding:0}
}

/* « Vous ne connaissez pas votre taille ? » : à côté de chaque choix de taille */
.size-help{margin:10px 0 0;font-size:13.5px;color:var(--ink-soft);line-height:1.45}
.size-help button{border:0;background:none;padding:0;font:inherit;color:var(--choco);font-weight:500;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px;cursor:pointer}
.size-help button::after{content:" →";text-decoration:none;display:inline-block;margin-left:2px}
.my-size .ms-help{display:none;padding:0 14px 14px;margin-top:-6px}
.my-size.open .ms-help{display:block}
.size-sheet .size-help{text-align:center;margin:12px 0 4px}

/* =====================================================================
   Téléphone comme une application : stories, onglets, cartes vivantes,
   vus récemment, pour compléter
   ===================================================================== */
/* --- Stories --- */
.stories{display:none}
@media (max-width:860px){
  .home > .stories{order:2}
  .home > .hs-recent{order:8}
  .stories{display:flex;gap:14px;overflow-x:auto;scrollbar-width:none;padding:14px 16px 10px;background:var(--ivory);border-bottom:1px solid var(--line);scroll-snap-type:x proximity}
  .stories::-webkit-scrollbar{display:none}
  .st-dot{flex:none;display:flex;flex-direction:column;align-items:center;gap:6px;width:70px;border:0;background:none;padding:0;scroll-snap-align:start;cursor:pointer}
  .st-ring{display:block;width:68px;height:68px;border-radius:50%;padding:2.5px;background:conic-gradient(from 210deg,#E9CB8C,#B9824A,#6A755D,#D4A64A,#E9CB8C)}
  .st-dot.seen .st-ring{background:rgba(169,120,79,.35)}
  .st-img{display:block;width:100%;height:100%;border-radius:50%;overflow:hidden;border:2.5px solid var(--ivory);background:var(--champ)}
  .st-img img,.st-img .fabric{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
  .st-dot small{font-size:11.5px;line-height:1.15;color:var(--choco);text-align:center;letter-spacing:.01em;max-width:72px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .st-dot:active .st-ring{transform:scale(.94);transition:transform .15s}
}
.story-ov{position:fixed;inset:0;z-index:130;background:#1E211B;display:none;touch-action:none;-webkit-user-select:none;user-select:none}
.story-ov.open{display:block;animation:sv-in .32s cubic-bezier(.2,.7,.2,1)}
@keyframes sv-in{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
.story-ov .sv{position:absolute;inset:0;max-width:520px;margin:0 auto;overflow:hidden;color:#FFF9F1}
.sv-media{position:absolute;inset:0}
.sv-media img,.sv-media .fabric{width:100%;height:100%;object-fit:cover;animation:sv-zoom 6s ease-out both}
@keyframes sv-zoom{from{transform:scale(1.06)}to{transform:scale(1)}}
.sv::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,33,27,.55) 0%,rgba(30,33,27,0) 22%,rgba(30,33,27,0) 52%,rgba(30,33,27,.86) 100%);pointer-events:none;z-index:1}
.sv-bars{position:absolute;z-index:3;left:10px;right:10px;top:calc(10px + env(safe-area-inset-top,0px));display:flex;gap:4px}
.sv-bars i{flex:1;height:2.5px;border-radius:2px;background:rgba(255,249,241,.35);overflow:hidden}
.sv-bars i.done b{width:100%}
.sv-bars b{display:block;height:100%;width:0;background:#FFF9F1}
.sv-bars b.run{animation:sv-bar linear forwards}
@keyframes sv-bar{to{width:100%}}
.sv-head{position:absolute;z-index:3;left:12px;right:6px;top:calc(22px + env(safe-area-inset-top,0px));display:flex;align-items:center;justify-content:space-between}
.sv-who{display:flex;align-items:center;gap:9px;font-size:14px}
.sv-who img{width:32px;height:32px;border-radius:50%;box-shadow:0 0 0 1.5px #E9CB8C}
.sv-x{width:44px;height:44px;border:0;background:none;color:#FFF9F1;font-size:30px;line-height:1}
.sv-card{position:absolute;z-index:3;left:16px;right:16px;bottom:calc(20px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:6px;animation:sv-up .45s .08s cubic-bezier(.2,.7,.2,1) both}
@keyframes sv-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.sv-tags{display:flex;gap:6px}
.sv-tags span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:4px 9px;border-radius:999px;background:rgba(255,249,241,.18);border:1px solid rgba(233,203,140,.6)}
.sv-name{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:34px;line-height:1.05}
.sv-card .prices,.sv-card .price{color:#FFF9F1;font-size:18px}
.sv-card .prices s{color:rgba(255,249,241,.65)}
.sv-card .now.promo{color:#F2C9A8}
.sv-sizes{color:rgba(255,249,241,.8);font-size:13px}
.sv-acts{display:flex;align-items:center;gap:10px;margin-top:8px}
.sv-acts .btn-primary{flex:1;background:#FFF9F1;color:var(--choco);box-shadow:none;justify-content:center;min-height:50px}
.sv-more{border:0;background:none;color:#FFF9F1;font-size:14px;text-decoration:underline;text-underline-offset:4px;padding:8px 2px}
.sv-fav{width:50px;height:50px;flex:none;border-radius:50%;border:1px solid rgba(255,249,241,.55);background:rgba(255,249,241,.1);display:grid;place-items:center;color:#FFF9F1}
.sv-fav svg{width:22px;height:22px}
.sv-fav[aria-pressed="true"] svg{fill:#E9A0A0;stroke:#E9A0A0}
.sv-fav.beat{animation:heartbeat .8s cubic-bezier(.3,1.4,.5,1)}
.sv-intro .script{font-size:28px;color:#E9CB8C}

/* --- Barre d'onglets --- */
.tabbar{display:none}
@media (max-width:860px){
  .tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:58;padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));
    background:rgba(255,249,241,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid rgba(201,164,108,.45);box-shadow:0 -10px 26px -20px rgba(58,64,52,.55)}
  .tabbar[hidden]{display:none}
  .tabbar a,.tabbar button{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 0 3px;border:0;background:none;color:var(--ink-soft);font:400 11px/1.1 "Jost",sans-serif;letter-spacing:.02em;text-decoration:none;-webkit-tap-highlight-color:transparent}
  .tabbar svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
  .tabbar .on{color:var(--choco);font-weight:500}
  .tabbar .on::before{content:"";position:absolute;top:-6px;left:30%;right:30%;height:2px;border-radius:2px;background:var(--gold)}
  .tabbar a:active svg,.tabbar button:active svg{transform:scale(.88)}
  .tabbar .badge-count{top:0;right:calc(50% - 22px);font-style:normal}
  body.has-tabbar{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
  body.has-tabbar .app-bar{bottom:calc(74px + env(safe-area-inset-bottom,0px))}
  body.has-tabbar .music-btn{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  body.has-tabbar .toast{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
}
@media (max-width:600px){body.has-tabbar .added{bottom:calc(76px + env(safe-area-inset-bottom,0px))}}

/* --- Cartes : photos à glisser, double toucher --- */
.cswipe,.cdots{display:none}
@media (hover:none){
  .pcard-media .cswipe{display:flex;position:absolute;inset:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;z-index:1;overscroll-behavior-x:contain}
  .pcard-media .cswipe::-webkit-scrollbar{display:none}
  .pcard-media .cswipe img{flex:0 0 100%;scroll-snap-align:center;width:100%;height:100%;object-fit:cover}
  .pcard-media .cswipe ~ .tags,.pcard-media .cswipe ~ .fav,.pcard-media .cswipe ~ .qadd{z-index:3}
  .pcard-media .cdots{display:flex;gap:4px;position:absolute;left:50%;bottom:10px;transform:translateX(-50%);z-index:2;pointer-events:none}
  .pcard-media .cdots i{width:5px;height:5px;border-radius:50%;background:rgba(255,249,241,.6);box-shadow:0 0 2px rgba(58,64,52,.4);transition:width .25s,background .25s}
  .pcard-media .cdots i.on{width:14px;border-radius:3px;background:#FFF9F1}
}
.heart-pop{position:absolute;left:50%;top:50%;z-index:4;width:84px;height:84px;margin:-42px 0 0 -42px;pointer-events:none;color:#FFF9F1;animation:heart-pop .85s cubic-bezier(.2,.9,.3,1.3) forwards}
.heart-pop svg{width:100%;height:100%;fill:#FFF9F1;stroke:#FFF9F1;filter:drop-shadow(0 6px 14px rgba(58,64,52,.45))}
@keyframes heart-pop{0%{opacity:0;transform:scale(.3)}25%{opacity:1;transform:scale(1.15)}45%{transform:scale(.95)}70%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.25) translateY(-20px)}}

/* --- Vus récemment / Pour compléter --- */
.recent{padding-block:clamp(30px,4vw,56px) !important}
.rec-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}
.rec-head h2{font-size:clamp(26px,3vw,36px);font-weight:400}
.rec-head .link-u{font-size:12.5px;color:var(--ink-soft)}
.mini-row{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;padding-bottom:4px}
.mini-row::-webkit-scrollbar{display:none}
.mini{flex:0 0 clamp(118px,30vw,170px);scroll-snap-align:start;display:flex;flex-direction:column;gap:4px;color:var(--choco);text-decoration:none}
.mini-vis{display:block;aspect-ratio:3/4;border-radius:6px;overflow:hidden;background:var(--champ)}
.mini-vis img,.mini-vis .fabric{width:100%;height:100%;object-fit:cover}
.mini b{font-weight:400;font-size:14px;line-height:1.2;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mini .prices{font-size:13px}
.cart-pairs{margin-top:18px;padding-top:16px;border-top:1px dashed rgba(201,164,108,.6)}
.cart-pairs .eyebrow{display:block;margin-bottom:10px}
.cart-pairs .mini{flex-basis:108px;position:relative}
.cart-pairs .mini::after{content:"+";position:absolute;right:6px;top:calc((108px * 4 / 3) - 34px);width:28px;height:28px;border-radius:50%;background:var(--choco);color:var(--ivory);display:grid;place-items:center;font-size:18px;line-height:1}
.sv-acts .btn-primary{white-space:nowrap;letter-spacing:.08em;font-size:12.5px;padding-inline:14px}
@media (max-width:860px){.st-dot small{max-width:76px}.st-dot{width:74px}}

/* =====================================================================
   Réseaux sociaux en couleurs (pied de page, contact, en-tête, menu du téléphone)
   ===================================================================== */
.socials a{color:#fff;border-color:transparent;box-shadow:0 6px 14px -8px rgba(58,64,52,.55);transition:transform .25s,box-shadow .25s,filter .25s}
.socials a.s-ig{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%)}
.socials a.s-fb{background:#1877F2}
.socials a.s-pin{background:#E60023}
.socials a.s-vinted{background:#0B8A8F url(/assets/img/vinted.png) center/cover no-repeat}
.socials a.s-vinted svg{opacity:0}
.socials a:hover,.socials a:focus-visible{transform:translateY(-2px);box-shadow:0 10px 18px -8px rgba(58,64,52,.6);filter:saturate(1.1)}
.socials svg{stroke:#fff}
.socials a.s-fb svg,.socials a.s-pin svg{stroke-width:1.6}
.contact-info .socials a{color:#fff}
/* En-tête (ordinateur) : discrètement à gauche, disparaît quand l'en-tête se réduit */
.head-socials{display:none}
@media (min-width:1180px){
  .site-head{position:fixed}
  .head-socials{display:block;position:absolute;left:clamp(18px,2.2vw,40px);top:calc(env(safe-area-inset-top,0px) + 18px);transition:opacity .35s,transform .35s}
  .head-socials .socials{margin:0;gap:8px}
  .head-socials .socials a{width:30px;height:30px}
  .head-socials .socials svg{width:14px;height:14px}
  .site-head.scrolled .head-socials{opacity:0;transform:translateY(-6px);pointer-events:none}
}
/* Menu du téléphone : en bas du menu */
.mm-socials{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.mm-socials span{font-size:12.5px;color:var(--ink-soft);letter-spacing:.04em}
.mm-socials .socials{margin:0}
.mm-socials .socials a{width:38px;height:38px}
@media (min-width:1180px){.head-socials .socials svg{width:16px;height:16px;stroke-width:1.8}}
.mm-socials{flex-direction:column;gap:10px}

/* Guide des tailles : résultat et choix en vert sauge (au lieu du chocolat) */
.fit-result{background:radial-gradient(120% 70% at 50% 0%,#7E8A70,#636E57 60%,#525C48)}
.fit-result .eyebrow{color:#F3E2B8}
.fit-result p{color:rgba(255,249,241,.9)}
.fit-result .fit-hint{color:rgba(255,249,241,.72)}
.fit-result .fit-warn{color:#FFE0C8}
.fit-result.empty{color:rgba(255,249,241,.85)}
.fit-prefs button[aria-checked="true"]{background:linear-gradient(180deg,#76816A,#5D6752);color:#FFF9F1;border-color:#C9A46C}
.fit-prefs button[aria-checked="true"] svg{stroke:#F3E2B8;fill:rgba(243,226,184,.25)}

/* « Du 42 au 56 » : toutes les tailles dans des ronds identiques (aucune taille « plus grosse » qu'une autre) */
.size-rise li{--s:40px}
.size-rise li button{font-size:16px}
.size-rise li:last-child button{box-shadow:0 6px 12px -8px rgba(58,64,52,.7)}
@media (max-width:600px){.size-rise li{--s:34px}.size-rise li button{font-size:14px}}
.fit-result{box-shadow:inset 0 0 0 6px #5D6752,inset 0 0 0 7px rgba(243,226,184,.6),0 26px 40px -28px rgba(46,52,40,.75);color:#FFF9F1}
.fit-ring{background:radial-gradient(circle,#56604B 62%,transparent 63%),conic-gradient(from 200deg,#F3DDA8,#B4844A,#F6E3B4,#C9A46C,#F3DDA8)}
.fit-ring.ghost{background:radial-gradient(circle,#56604B 62%,transparent 63%),conic-gradient(rgba(243,226,184,.45),rgba(243,226,184,.2),rgba(243,226,184,.45))}
.fit-ring.ghost b{-webkit-text-fill-color:rgba(243,226,184,.7);color:rgba(243,226,184,.7)}
.fit-alt{color:rgba(255,249,241,.88)}

/* =====================================================================
   Carte cadeau
   ===================================================================== */
.wrap.narrow{max-width:640px;text-align:center}
.gift-page{padding-block:clamp(34px,5vw,70px)}
.gift-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(28px,5vw,72px);align-items:start}
.gift-side{position:sticky;top:calc(var(--head-small,80px) + 28px)}
.gift-preview{max-width:440px;margin:0 auto}
.gift-card .gc-msg{margin:12px 0 0;min-height:2.6em;font-family:var(--f-display);font-style:italic;font-size:17px;line-height:1.3;color:#F6E7C8;opacity:.95}
.gift-card .gc-amount b{font-size:58px}
.gift-card .gc-amount span{font-size:22px;letter-spacing:0;text-transform:none;font-family:var(--f-display)}
.gift-card .loy-foot{margin-top:10px;text-transform:none;letter-spacing:.04em;font-size:13.5px}
.gift-card .loy-name{font-family:var(--f-display);font-size:17px;font-weight:400}
.gift-card .gc-amount b,.gift-card .loy-name{transition:opacity .2s}
.gift-perks{list-style:none;margin:22px auto 0;padding:0;max-width:440px;display:flex;flex-direction:column;gap:8px;font-size:14.5px;color:var(--ink-soft)}
.gift-perks li::before{content:"✦";color:var(--gold);margin-right:10px}
.gift-form fieldset{border:0;margin:0 0 22px;padding:0 0 22px;border-bottom:1px solid var(--line)}
.gift-form legend{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-size:24px;color:var(--choco);margin-bottom:14px;padding:0}
.gf-n{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(140deg,#6E7A66,#4A5143);color:#F3E2B8;font:500 13px/1 "Jost",sans-serif}
.gift-amounts{display:flex;flex-wrap:wrap;gap:8px}
.gift-amounts button{min-width:76px;padding:12px 14px;border:1px solid rgba(201,164,108,.6);border-radius:999px;background:var(--surface,#FFFCF7);font-family:var(--f-display);font-size:20px;color:var(--choco);cursor:pointer;transition:all .25s}
.gift-amounts button:hover{border-color:var(--gold);transform:translateY(-1px)}
.gift-amounts button[aria-checked="true"]{background:linear-gradient(140deg,#6E7A66,#4A5143);color:#F3E2B8;border-color:#C9A46C;box-shadow:0 10px 20px -14px rgba(48,56,42,.8)}
.gift-other{display:inline-flex;align-items:center;gap:4px;padding:0 14px;border:1px dashed rgba(201,164,108,.8);border-radius:999px;background:var(--surface,#FFFCF7)}
.gift-other.on{border-style:solid;border-color:#5D6754;box-shadow:0 0 0 1px #5D6754}
.gift-other input{width:70px;border:0;background:none;font-family:var(--f-display);font-size:20px;color:var(--choco);padding:10px 0;outline:none;-moz-appearance:textfield}
.gift-other input::-webkit-outer-spin-button,.gift-other input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.gift-other i{font-style:normal;font-family:var(--f-display);font-size:18px;color:var(--bronze)}
.gift-send{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 14px}
.gift-send small{color:var(--ink-mute)}
.gift-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gf-count{text-align:right;display:block}
.gift-go{width:100%;min-height:54px;font-size:14px}
.gift-form .co-secure{justify-content:center;text-align:center}
@media (max-width:860px){
  .gift-grid{grid-template-columns:1fr}
  .gift-side{position:static}
  .gift-preview{max-width:360px}
  .gift-perks{display:none}
  .gift-send,.gift-two{grid-template-columns:1fr}
}
/* Merci */
.gift-merci{padding-block:clamp(40px,7vw,90px)}
.gift-merci .script{font-size:clamp(40px,5vw,56px);display:block;margin-top:24px}
.gift-merci h1{font-size:clamp(32px,4vw,46px);font-weight:400;margin:4px 0 14px}
.gift-merci p{color:var(--ink-soft);margin:0 auto 14px;max-width:46ch}
.gift-done-card{max-width:360px;margin:0 auto;animation:gc-in 1s cubic-bezier(.2,.8,.2,1) both}
.gift-done-card.wait{max-width:240px;animation:gc-float 2.4s ease-in-out infinite alternate}
@keyframes gc-in{from{opacity:0;transform:translateY(30px) rotate(-6deg) scale(.9)}to{opacity:1;transform:none}}
@keyframes gc-float{from{transform:translateY(-4px) rotate(-2deg)}to{transform:translateY(4px) rotate(2deg)}}
/* Petite carte (menu du téléphone) */
.gift-card.mini{padding:9px 11px;border-radius:9px;box-shadow:0 10px 18px -10px rgba(48,56,42,.8),inset 0 0 0 1px rgba(222,192,128,.6);animation:none}
.gift-card.mini .loy-top{gap:6px}
.gift-card.mini .loy-top img{width:26px}
.gift-card.mini .loy-kicker{font-size:6px;letter-spacing:.18em}
.gift-card.mini .loy-brand{font-size:10px}
.gift-card.mini .gc-amount b{font-size:22px}
.gift-card.mini .gc-amount span{font-size:11px}
.gift-card.mini .loy-foot{font-size:6.5px;margin-top:2px;letter-spacing:.08em;text-transform:uppercase;font-family:"Jost",sans-serif}
.gift-card.mini .loy-name{font-size:7px;font-family:"Jost",sans-serif;font-weight:500}
.mm-gift{display:flex;align-items:center;gap:14px;margin:18px 0 4px;padding:12px 14px 12px 12px;border:1px solid rgba(201,164,108,.55);border-radius:16px;background:linear-gradient(120deg,#FFFBF4,#F6ECDD);color:var(--choco);text-decoration:none;box-shadow:0 12px 24px -20px rgba(58,64,52,.6)}
.mm-gift[hidden]{display:none}
.mm-gift-card{flex:0 0 132px;transform:rotate(-4deg);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.mm-gift:active .mm-gift-card{transform:rotate(0) scale(.97)}
.mm-gift-txt{flex:1;display:flex;flex-direction:column;gap:3px;line-height:1.2}
.mm-gift-txt b{font-family:var(--f-display);font-weight:500;font-size:20px}
.mm-gift-txt small{font-size:12.5px;color:var(--ink-soft)}
.mm-gift>svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--bronze);stroke-width:1.6}

/* =====================================================================
   Téléphone : toutes les « bulles » avec un liseré doré
   (pas de survol au doigt : le liseré remplace l'animation de l'ordinateur)
   ===================================================================== */
@media (max-width:860px){
  .mob-menu .panel .mob-cats a,.mob-menu .panel .mm-quick a,.mob-menu .panel .mm-quick button,.lbk-chip,
  .chip-view,.sz,.sp-chip,.gift-amounts button,.gift-other,.ms-sizes button,.sheet .sz,.fit-prefs button,.size-rise li button,
  .mob-help .lnk,.mm-gift,.radio-card,[data-action="ms-pick"],[data-action="sheet-size"],.qsizes button{border:1.5px solid #C9A46C}
  .mob-menu .panel .mm-quick a,.mob-menu .panel .mm-quick button{box-shadow:inset 0 0 0 3px var(--surface,#FFFCF7),inset 0 0 0 4px rgba(201,164,108,.35)}
  .lbk-chip{border-color:#E1C48C}
}

/* =====================================================================
   Carte cadeau sur ordinateur : en haut à droite de l'en-tête, avec la petite carte et un cadeau
   ===================================================================== */
.head-gift{display:none}
@media (min-width:1180px){
  .head-gift{display:flex;align-items:center;gap:10px;position:absolute;right:clamp(18px,2.2vw,40px);top:calc(env(safe-area-inset-top,0px) + 12px);padding:5px 14px 5px 6px;border:1px solid rgba(201,164,108,.7);border-radius:999px;background:rgba(255,252,247,.75);color:var(--choco);text-decoration:none;font-size:12.5px;letter-spacing:.06em;transition:opacity .35s,transform .35s,box-shadow .3s,border-color .3s}
  .head-gift:hover{border-color:#B9824A;box-shadow:0 10px 20px -14px rgba(58,64,52,.6)}
  .site-head.scrolled .head-gift{opacity:0;transform:translateY(-6px);pointer-events:none}
}
.hg-card{position:relative;display:block;width:46px;height:29px;border-radius:5px;background:linear-gradient(140deg,rgba(110,122,102,.9),rgba(74,81,67,.95)),url(/assets/img/leopard-or.svg) 0 0/40px;box-shadow:inset 0 0 0 1px rgba(222,192,128,.7),0 6px 12px -8px rgba(48,56,42,.9);transform:rotate(-6deg);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.hg-card::before{content:"MA";position:absolute;left:6px;top:4px;font:600 8px/1 "Cinzel Decorative","Cormorant Garamond",serif;color:#E9CB8C;letter-spacing:.06em}
.hg-card::after{content:"";position:absolute;left:0;right:0;bottom:7px;height:1px;background:linear-gradient(90deg,transparent,rgba(233,203,140,.7),transparent)}
.hg-card svg{position:absolute;right:-9px;top:-9px;width:22px;height:22px;padding:3px;border-radius:50%;background:#FFF9F1;fill:none;stroke:#A9784F;stroke-width:1.6;box-shadow:0 2px 6px rgba(58,64,52,.25)}
.head-gift:hover .hg-card{transform:rotate(0) translateY(-1px)}
.head-gift b{font-weight:500;text-transform:uppercase}

/* Accueil (ordinateur et tablette) : bandeau « Offrir une carte cadeau » */
.gift-band{padding-block:clamp(40px,5vw,72px)}
.gift-band .wrap{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:center}
.gift-band .gb-card{transform:rotate(-4deg);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.gift-band:hover .gb-card{transform:rotate(0) translateY(-4px)}
.gift-band h2{font-size:clamp(32px,3.6vw,48px);font-weight:400;margin:4px 0 12px}
.gift-band p{color:var(--ink-soft);max-width:48ch;margin:0 0 20px}
.gift-band .gb-amounts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.gift-band .gb-amounts span{padding:6px 14px;border:1px solid rgba(201,164,108,.7);border-radius:999px;font-family:var(--f-display);font-size:18px}
@media (max-width:860px){.hs-cadeau{display:none}}

/* Doré plus marqué (Marine trouvait le liseré fade) : or plus soutenu, dégradé « métal », 2 px */
:root{--or-metal:linear-gradient(135deg,#F3D98F 0%,#C99A3F 28%,#F6DE9A 50%,#B4822E 74%,#E8C46E 100%)}
@media (max-width:860px){
  .mob-menu .panel .mob-cats a:not(.lbk-chip),.mob-menu .panel .mm-quick a,.mob-menu .panel .mm-quick button,
  .chip-view:not([aria-pressed="true"]),.gift-amounts button:not([aria-checked="true"]),.radio-card,.mob-help .lnk,.mm-gift,.gift-other,
  .fit-prefs button:not([aria-checked="true"]){
    border:2px solid transparent !important;
    background:linear-gradient(var(--surface,#FFFCF7),var(--surface,#FFFCF7)) padding-box,var(--or-metal) border-box !important;
    box-shadow:0 6px 14px -10px rgba(150,104,32,.55)}
  .mm-gift{background:linear-gradient(120deg,#FFFBF4,#F6ECDD) padding-box,var(--or-metal) border-box !important}
  .chip-view[aria-pressed="true"],.gift-amounts button[aria-checked="true"],.fit-prefs button[aria-checked="true"],.lbk-chip{border:2px solid #D9AE52 !important;box-shadow:0 0 0 1px rgba(217,174,82,.35),0 8px 16px -10px rgba(58,64,52,.6)}
  .sz,.sp-chip,[data-action="ms-pick"],[data-action="sheet-size"],.qsizes button{border:2px solid #C3913A !important}
  .size-rise li button{border:2px solid #D9AE52 !important}
  .mob-menu .panel .mm-quick a,.mob-menu .panel .mm-quick button{box-shadow:0 8px 16px -10px rgba(150,104,32,.6) !important}
  .mob-menu .panel .mm-quick svg{stroke:#9C6B26}
}
/* Liserés du haut : plus d'or */
html:not(.leo-off) .ticker::after{height:4px;background:var(--or-metal)}
html.leo-plus .site-head::after{height:3px;bottom:-3px;background:linear-gradient(90deg,rgba(201,154,63,0),#C99A3F 10%,#F6DE9A 35%,#B4822E 65%,#E8C46E 90%,rgba(201,154,63,0))}
.tabbar .on::before{height:3px;background:var(--or-metal)}
.st-ring{background:conic-gradient(from 210deg,#F6DE9A,#B4822E,#E8C46E,#C99A3F,#F6DE9A) !important}
.st-dot.seen .st-ring{background:rgba(180,130,46,.45) !important}

.sv-text{margin:4px 0 6px;font-family:var(--f-display);font-style:italic;font-size:20px;line-height:1.35;color:#FFF6E6;max-width:32ch}

/* « Du 42 au 56 » : un petit cintre doré dans chaque rond chocolat */
.size-rise li{--s:46px}
.size-rise li button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-size:15px;line-height:1}
.size-rise .sr-hanger{width:17px;height:10px;fill:none;stroke:#E2BE73;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 2px rgba(233,203,140,.35));transition:transform .35s cubic-bezier(.2,.8,.2,1.4)}
.size-rise li button:hover .sr-hanger{stroke:#3A4034;transform:translateY(-1px) rotate(-6deg)}
@media (max-width:600px){.size-rise li{--s:39px}.size-rise ol{gap:5px}.size-rise li button{font-size:13px}.size-rise .sr-hanger{width:14px;height:8px}}
/* Le deuxième chiffre (le 8 de 48) toujours un peu plus grand ; au survol (ordinateur) il grandit encore et le cintre se soulève */
.size-rise li button span{display:flex;align-items:baseline;justify-content:center}
.size-rise li button em{display:inline-block;font-style:normal;font-size:1.36em;line-height:.8;margin-left:.5px;transform-origin:15% 100%;transition:transform .35s cubic-bezier(.2,.8,.2,1.5)}
@media (hover:hover){.size-rise li button:hover em,.size-rise li button:focus-visible em{transform:scale(1.18)}}
.size-rise li button:hover .sr-hanger{transform:translateY(-3px) rotate(-6deg)}

/* =====================================================================
   Doré plus marqué, partout comme dans le menu du téléphone
   ===================================================================== */
/* Boutons chocolat : contour et texte or */
.btn-primary{color:#F0D48E;box-shadow:inset 0 0 0 2px #C99A3F,inset 0 0 0 3px rgba(246,222,154,.25);text-shadow:0 1px 0 rgba(0,0,0,.25)}
.btn-primary:hover{color:#F8E3A8;box-shadow:inset 0 0 0 2px #E2BC6A,inset 0 0 0 3px rgba(246,222,154,.35),0 10px 24px -14px rgba(74,81,67,.7)}
.btn-primary svg{stroke:currentColor}
/* Les arches : double liseré or soutenu */
.arch{box-shadow:0 0 0 2px #C99A3F,0 0 0 9px var(--ivory),0 0 0 10.5px #D9AE52,0 30px 60px -30px rgba(74,81,67,.45)}
.sp-photo.arch{box-shadow:0 0 0 2px #C99A3F,0 0 0 10px var(--ivory),0 0 0 11.5px #D9AE52,0 30px 60px -36px rgba(58,64,52,.55)}
.cat .frame,.cat:hover .frame{box-shadow:0 0 0 2px #C99A3F,0 0 0 5px var(--ivory),0 0 0 6.5px #D9AE52}
.mt-img,.mega-tile:hover .mt-img{box-shadow:0 0 0 2px #C99A3F,0 0 0 5px var(--surface,#FFFBF5),0 0 0 6.5px #D9AE52}
/* Les photos de vêtements (cartes produits) : contour or */
.pcard-media{box-shadow:0 0 0 2px #C99A3F,0 10px 22px -18px rgba(150,104,32,.6)}
.pcard-media::after{border-color:rgba(246,222,154,.55)}
@media (hover:hover){.pcard:hover .pcard-media{box-shadow:0 0 0 2px #E2BC6A,0 26px 40px -26px rgba(58,64,52,.65)}.pcard:hover .pcard-media::after{border-color:rgba(246,222,154,.95)}}
/* Grande arche de l'accueil : l'animation d'ouverture ne coupe plus le liseré or, et le trait dessiné autour est plus marqué */
@keyframes archin{from{clip-path:inset(100% -14px -14px -14px round 999px 999px 0 0)}to{clip-path:inset(-14px -14px -14px -14px round 999px 999px 0 0)}}
.arch-line path,.hero.has-photo .arch-line path{stroke:#C99A3F;stroke-width:2px}
/* Texte des boutons chocolat : or plus vif et plus épais */
.btn-primary{color:#F7D684;font-weight:600;letter-spacing:.2em;text-shadow:0 0 12px rgba(240,196,98,.35),0 1px 0 rgba(0,0,0,.3)}
.btn-primary:hover{color:#FFE4A0}

/* =====================================================================
   Panier plus confortable
   ===================================================================== */
.ln-wrap{position:relative;overflow:hidden}
.ln-wrap .line{position:relative;z-index:1;background:var(--surface,#FFFCF7);transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.ln-wrap.swiping .line{transition:none}
.ln-del{position:absolute;inset:0 0 0 auto;width:100%;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-right:22px;background:linear-gradient(90deg,#5F6955,#3A4034);color:#F3DDA8;font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:0}
.ln-del svg{width:18px;height:18px;stroke:#F3DDA8}
.ln-opts{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 4px}
.ln-sel select{appearance:none;-webkit-appearance:none;border:1px solid rgba(201,164,108,.75);border-radius:999px;padding:6px 26px 6px 12px;font:inherit;font-size:13px;color:var(--choco);cursor:pointer;
  background:var(--surface,#FFFCF7) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23A9784F' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 10px center/9px}
.ln-sel select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.ln-fixed{font-size:13px;color:var(--ink-soft);padding:6px 0}
.ln-low{margin:2px 0 6px;font-size:12.5px;color:#A4462E;font-weight:500}
.ln-acts{display:flex;align-items:center;gap:16px;margin-top:8px}
.ln-acts button{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:4px 0;font-size:12.5px;color:var(--ink-soft);cursor:pointer}
.ln-acts svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5}
.ln-acts button:hover{color:var(--choco)}
.drawer .ln-acts .rm,.drawer .ln-acts .ln-save{display:inline-flex;width:auto;height:auto;margin:0;border-radius:0;background:none;text-transform:none;letter-spacing:0;font-size:12.5px;line-height:1.2}
.drawer .ln-acts .rm:hover{background:none;color:var(--bad)}
.ln-undo{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px;padding:10px 14px;border-radius:10px;background:#3A4034;color:#F6E7C8;font-size:13.5px;box-shadow:0 10px 20px -14px rgba(58,64,52,.8);animation:undo-in .3s cubic-bezier(.2,.8,.2,1)}
.ln-undo.out{opacity:0;transform:translateY(-6px);transition:all .3s}
.ln-undo button{border:1px solid #C99A3F;background:none;color:#F0D48E;border-radius:999px;padding:6px 14px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
@keyframes undo-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.ln-eta{display:flex;align-items:flex-start;gap:10px;margin:16px 0 0;padding:12px 14px;border:1px dashed rgba(201,164,108,.7);border-radius:12px;background:#FFF9EF;font-size:14px;color:var(--choco)}
.ln-eta svg{width:22px;height:22px;flex:none;fill:none;stroke:#A9784F;stroke-width:1.5;margin-top:1px}
.ln-eta small{display:block;font-size:12px;color:var(--ink-soft);margin-top:2px}
.radio-card .eta{font-weight:500;color:var(--choco)}
.wrap-card{align-items:center}
.wrap-card small{color:var(--ink-mute)}
@media (hover:none){.ln-wrap .line{touch-action:pan-y}}

/* ============ Carte « Votre colis arrive » (accueil) et alertes sur le téléphone ============ */
.colis-slot:empty{display:none}
.colis-slot{max-width:1180px;margin:14px auto 4px;padding:0 var(--gutter-r) 0 var(--gutter-l);display:grid;gap:10px}
.colis-card{position:relative;display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;padding:12px 14px;background:linear-gradient(135deg,#FFFDF8,#F7EDE0);border-radius:14px;
  border:2px solid transparent;background-clip:padding-box;box-shadow:0 0 0 2px var(--gold) inset,0 6px 18px rgba(74,81,67,.08);animation:colisIn .5s cubic-bezier(.2,.8,.2,1) both}
@keyframes colisIn{from{opacity:0;transform:translateY(-8px)}}
.colis-pic{position:relative;width:64px;height:80px;border-radius:10px;overflow:hidden;background:var(--champ)}
.colis-pic img,.colis-pic .fabric{width:100%;height:100%;object-fit:cover}
.colis-pic b{position:absolute;right:4px;bottom:4px;background:var(--choco);color:#F6D88F;font-size:11px;border-radius:99px;padding:1px 6px}
.colis-ic{display:grid;place-items:center;height:100%;color:var(--bronze)}
.colis-ic svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.5}
.colis-txt{min-width:0}
.colis-txt small{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute)}
.colis-txt h3{font-family:var(--f-display);font-size:21px;line-height:1.1;margin:2px 0 2px;color:var(--choco)}
.colis-txt p{margin:0;font-size:12.5px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.colis-steps{list-style:none;display:flex;gap:4px;margin:8px 0 0;padding:0}
.colis-steps li{flex:1;height:4px;border-radius:4px;background:var(--sand);position:relative}
.colis-steps li.on{background:linear-gradient(90deg,#B8893F,#E9C77C)}
.colis-steps li span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.colis-card:not(.is-done) .colis-steps li.cur{animation:colisPulse 1.8s ease-in-out infinite}
@keyframes colisPulse{50%{opacity:.55}}
.colis-go{align-self:center;display:inline-flex;align-items:center;gap:4px;padding:9px 14px;border-radius:99px;background:var(--choco);color:#F6D88F;font-weight:500;font-size:13px;text-decoration:none;box-shadow:0 0 0 1.5px #C9A46C inset;white-space:nowrap}
.colis-x{position:absolute;top:4px;right:6px;border:0;background:none;font-size:18px;color:var(--ink-mute);cursor:pointer;padding:2px 6px}
.colis-card.is-done .colis-go{display:none}
@media (max-width:480px){.colis-card{grid-template-columns:56px 1fr;gap:12px}.colis-pic{width:56px;height:70px}.colis-go{grid-column:1/-1;justify-content:center}.colis-txt h3{font-size:19px}}
@media (prefers-reduced-motion:reduce){.colis-card,.colis-steps li{animation:none!important}}

.push-slot:empty{display:none}
.push-offer{display:flex;align-items:center;gap:12px;margin:18px auto 6px;max-width:520px;padding:12px 14px;border-radius:14px;background:#FFFDF8;box-shadow:0 0 0 2px var(--gold) inset;text-align:left}
.push-offer p{margin:0;flex:1;font-size:14px;line-height:1.3}
.push-offer p small{display:block;color:var(--ink-soft);font-size:12.5px}
.po-bell{font-size:24px;animation:bell 2.4s ease-in-out infinite;transform-origin:50% 0}
@keyframes bell{0%,70%,100%{transform:rotate(0)}75%{transform:rotate(14deg)}85%{transform:rotate(-12deg)}93%{transform:rotate(6deg)}}
.push-offer.is-on{justify-content:center;color:var(--ok);box-shadow:0 0 0 1.5px #9DB58C inset;background:#F3F7EF;font-size:14px}

/* ============ Ajout au panier : la photo s'envole, ✓ doré à l'arrivée ============ */
.fly-pic{position:fixed;z-index:400;width:58px;height:76px;border-radius:12px;overflow:hidden;pointer-events:none;background:var(--champ);
  box-shadow:0 0 0 2px #E2BE6E,0 14px 30px -12px rgba(58,64,52,.65);will-change:transform}
.fly-pic img,.fly-pic .fabric{width:100%;height:100%;object-fit:cover;display:block}
.fly-pic .ph-note{display:none}
.fly-pic>svg{width:24px;height:24px;margin:26px auto;display:block;stroke:var(--choco);fill:none}
.fly-check{position:fixed;z-index:401;width:26px;height:26px;border-radius:50%;pointer-events:none;display:grid;place-items:center;
  background:var(--or-metal,linear-gradient(135deg,#F3D98F,#C99A3F));box-shadow:0 0 0 2px #FFF9F1,0 6px 14px -4px rgba(120,80,20,.6)}
.fly-check svg{width:16px;height:16px;fill:none;stroke:#3A4034;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}

/* ============ « Le mannequin mesure 1,68 m et porte du 48 » ============ */
.pdp-model{display:flex;align-items:center;gap:8px;margin:10px 0 0;padding:8px 14px;border-radius:99px;width:fit-content;max-width:100%;
  background:#FFFCF7;box-shadow:0 0 0 1.5px var(--gold) inset;font-size:13.5px;color:var(--ink-soft)}
.pdp-model b{color:var(--choco);font-weight:600}
.pdp-model svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--bronze);stroke-width:1.6;stroke-linecap:round}
@media (max-width:860px){.pdp-model{margin:10px auto 0}}

/* ============ Partager une tenue ============ */
.tenue-page .wrap{max-width:880px}
.tenue-head{text-align:center;margin-bottom:22px}
.tenue-head h1{font-family:var(--f-display);font-weight:500;font-size:clamp(30px,5vw,44px);line-height:1.05;margin:4px 0 8px}
.tenue-head p{color:var(--ink-soft);max-width:520px;margin:0 auto}
.tenue-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.tenue-item{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:center;padding:12px;border-radius:16px;background:#FFFCF7;box-shadow:0 0 0 2px var(--gold) inset;
  animation:colisIn .5s calc(var(--k) * .08s) both}
.tl-vis{display:block;width:120px;height:160px;border-radius:12px;overflow:hidden;background:var(--champ)}
.tl-vis img,.tl-vis .fabric{width:100%;height:100%;object-fit:cover}
.tl-txt h3{font-family:var(--f-display);font-size:24px;font-weight:500;margin:0 0 2px}
.tl-txt h3 a{color:inherit;text-decoration:none}
.tl-colors{display:flex;align-items:center;gap:8px;margin:8px 0}
.tl-colors em{font-style:normal;font-size:13px;color:var(--ink-soft)}
.tl-unique{font-size:13px;color:var(--ink-soft)}
.tenue-foot{margin-top:22px;text-align:center;display:grid;gap:10px;justify-items:center}
.tf-total{display:flex;align-items:baseline;gap:12px}
.tf-total span{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute)}
.tf-total b{font-family:var(--f-display);font-size:30px;font-weight:500}
.tenue-again{margin-top:4px}
@media (max-width:560px){.tenue-item{grid-template-columns:92px 1fr;gap:12px}.tl-vis{width:92px;height:124px}.tl-txt h3{font-size:20px}.tenue-foot .btn{width:100%}}

.tenue-compose{margin-top:16px;padding:14px;border-radius:14px;background:#FFFCF7;box-shadow:0 0 0 1.5px var(--line) inset}
.tc-t{margin:0 0 10px;font-size:14px}
.tc-t small{display:block;color:var(--ink-mute);font-size:12px}
.tc-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.tc-chip{border:0;border-radius:99px;padding:6px 12px;font:inherit;font-size:13px;background:var(--sand);color:var(--ink-soft);cursor:pointer;transition:background .2s,color .2s}
.tc-chip.on{background:var(--choco);color:#F6D88F;box-shadow:0 0 0 1.5px #C9A46C inset}
.tc-chip.on::before{content:"✓ "}
.tc-chip.fixed{cursor:default}
.tc-send{display:inline-flex;align-items:center;gap:8px}
.ic-wa{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
.ic-wa .f{fill:currentColor;stroke:none}
.tenue-cart-link{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin:12px 0 4px;padding:10px;border:1.5px dashed var(--gold);border-radius:12px;background:#FFFCF7;
  font:inherit;font-size:13.5px;color:var(--choco);cursor:pointer}
.tenue-cart-link .ic-wa{color:#25A35A}

.tenue-sheet{position:fixed;inset:0;z-index:500;display:grid;align-items:end;justify-items:center}
.ts-back{position:absolute;inset:0;background:rgba(58,64,52,.45);opacity:0;transition:opacity .25s}
.ts-card{position:relative;width:min(460px,100%);background:var(--ivory);border-radius:22px 22px 0 0;padding:22px 20px calc(20px + env(safe-area-inset-bottom,0px));
  box-shadow:0 -10px 40px rgba(58,64,52,.25);transform:translateY(100%);transition:transform .3s cubic-bezier(.2,.8,.2,1);text-align:center}
.tenue-sheet.open .ts-back{opacity:1}
.tenue-sheet.open .ts-card{transform:none}
@media (min-width:700px){.tenue-sheet{align-items:center}.ts-card{border-radius:22px}}
.ts-card .x-btn{position:absolute;top:10px;right:10px}
.ts-pics{display:flex;justify-content:center;margin:4px 0 12px}
.ts-pics span{width:58px;height:76px;border-radius:10px;overflow:hidden;margin:0 -6px;box-shadow:0 0 0 2px var(--ivory),0 0 0 3.5px var(--gold);background:var(--champ)}
.ts-pics span:nth-child(odd){transform:rotate(-5deg)}.ts-pics span:nth-child(even){transform:rotate(5deg) translateY(-4px)}
.ts-pics img,.ts-pics .fabric{width:100%;height:100%;object-fit:cover}
.ts-card h3{font-family:var(--f-display);font-size:26px;font-weight:500;margin:4px 0}
.ts-card>p{font-size:13.5px;color:var(--ink-soft);margin:0 0 14px}
.ts-from{display:grid;gap:4px;text-align:left;font-size:13px;margin-bottom:14px}
.ts-from small{color:var(--ink-mute)}
.ts-from input{padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff}
.ts-acts{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px}
.ts-acts button{display:grid;justify-items:center;gap:4px;padding:12px 6px;border:0;border-radius:14px;background:#FFFCF7;box-shadow:0 0 0 1.5px var(--line) inset;font:inherit;font-size:12.5px;color:var(--choco);cursor:pointer}
.ts-acts button>span:first-child{font-size:20px;line-height:1}
.ts-acts .ts-wa{background:#25A35A;color:#fff;box-shadow:none}
.ts-acts .ts-wa .ic-wa{width:22px;height:22px}
@media (max-width:860px){.home>.colis-slot{order:2}}

/* ===================== Effets « waouh » (waouh.js) ===================== */
/* Transitions entre les pages : la page part en fondu, la nouvelle monte doucement ; l'en-tête et la barre du bas restent en place */
@media (prefers-reduced-motion:no-preference){
  ::view-transition-old(root){animation:fxPageOut .28s cubic-bezier(.4,0,1,1) both}
  ::view-transition-new(root){animation:fxPageIn .5s cubic-bezier(.2,.7,.2,1) both}
  #siteHead{view-transition-name:fx-head}
  #tabbar{view-transition-name:fx-tabbar}
  ::view-transition-group(fx-head),::view-transition-group(fx-tabbar){animation:none}
  ::view-transition-old(fx-head),::view-transition-old(fx-tabbar){animation:none;opacity:0}
  ::view-transition-new(fx-head),::view-transition-new(fx-tabbar){animation:none}
  /* La photo d'une pièce se transforme en fiche produit */
  ::view-transition-group(fx-photo){animation-duration:.6s;animation-timing-function:cubic-bezier(.3,.8,.2,1);z-index:100}
  ::view-transition-old(fx-photo),::view-transition-new(fx-photo){height:100%;object-fit:cover;animation-duration:.6s}
  html.fx-vt-pdp ::view-transition-new(root){animation:fxPageIn .45s .1s cubic-bezier(.2,.7,.2,1) both}
  html.fx-vt-pdp #pdpOv,html.fx-vt-pdp #pdpOv *{transition:none!important}
}
@keyframes fxPageOut{to{opacity:0;transform:translateY(-6px)}}
@keyframes fxPageIn{from{opacity:0;transform:translateY(14px)}}

/* Barre de progression dorée, tout en haut */
#fx-progress{position:fixed;top:0;left:0;right:0;height:2.5px;z-index:120;transform-origin:0 50%;transform:scaleX(0);pointer-events:none;opacity:0;transition:opacity .3s;
  background:linear-gradient(90deg,#B8862F,#F6E2A0 35%,#D4A84A 60%,#FFF1C4 80%,#B07A28);box-shadow:0 0 8px rgba(233,203,140,.7)}
#fx-progress.on{opacity:1}
@supports (padding-top:env(safe-area-inset-top)){#fx-progress{top:env(safe-area-inset-top,0px)}}

/* En-tête en verre dépoli quand on descend */
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .site-head.scrolled{background:rgba(243,231,215,.82);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px)}
}

/* Photos qui se dévoilent comme un rideau au défilement */
@media (prefers-reduced-motion:no-preference){
  .pcard.reveal .pcard-media .vis{transition:clip-path 1.25s cubic-bezier(.7,0,.2,1) .1s,transform 1.1s cubic-bezier(.2,.7,.2,1)}
  .pcard.reveal.pre .pcard-media .vis{clip-path:inset(100% 0 0 0);transform:scale(1.14)}
  .pcard.reveal.pre{transform:none}
}

/* Héros : la photo respire doucement, un éclat de lumière parcourt l'arche dorée */
.arch-line path.glint{display:none}
@media (prefers-reduced-motion:no-preference){
  html:not([data-fx="doux"]) .hero.has-photo .arch img{animation:archimg 1.8s cubic-bezier(.2,.7,.2,1) both,fxKenBurns 24s 1.8s ease-in-out infinite alternate}
  html:not([data-fx="doux"]) .hero .arch-line path.glint{display:block;stroke:#FFF3C4!important;stroke-width:3px!important;stroke-dasharray:7 93!important;stroke-dashoffset:100;stroke-linecap:round;
    filter:drop-shadow(0 0 3px rgba(255,226,150,.95));animation:fxGlint 6s 2.8s linear infinite!important;opacity:.95}
}
@keyframes fxKenBurns{from{transform:scale(1)}to{transform:scale(1.09) translate(-1.5%,-1.2%)}}
@keyframes fxGlint{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}

/* Ordinateur : la carte produit s'incline en relief, un reflet doré suit la souris */
@media (hover:hover) and (pointer:fine) and (min-width:861px) and (prefers-reduced-motion:no-preference){
  html:not([data-fx="doux"]) .pcard:hover .pcard-media{transform:translateY(-6px) perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
  html:not([data-fx="doux"]) .pcard-media.fx-tilt{transition:transform .15s ease-out,box-shadow .6s}
  html:not([data-fx="doux"]) .pcard-media::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .5s;mix-blend-mode:soft-light;
    background:radial-gradient(circle at var(--sx,50%) var(--sy,30%),rgba(255,236,180,.85),rgba(255,236,180,0) 48%)}
  html:not([data-fx="doux"]) .pcard-media.fx-tilt::before{opacity:1}
}

/* Éclats dorés */
.fx-spark{position:fixed;z-index:310;width:7px;height:7px;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 35% 35%,#FFF6D0,#E9C46A 55%,#B8862F)}
.fx-spark.heart{width:9px;height:9px;border-radius:0;background:none}
.fx-spark.heart::before{content:"";position:absolute;inset:0;background:#E9C46A;clip-path:path("M4.5 8.2C2 6.5.3 5 .3 3.1.3 1.6 1.4.6 2.6.6c.8 0 1.5.4 1.9 1C4.9 1 5.6.6 6.4.6c1.2 0 2.3 1 2.3 2.5 0 1.9-1.7 3.4-4.2 5.1z")}

/* Rangées qu'on fait glisser (Coups de cœur…) : le geste passe d'une pièce à l'autre, pas d'une photo à l'autre */
.coeur-grid .pcard-media .cswipe,.coeur-grid .pcard-media .cdots{display:none!important}

/* ---------- Arches : les silhouettes entières, tête comprise ---------- */
/* Les photos sont en 2:3 : l'arche des Coups de cœur prend le même format, la photo est calée en haut
   (si une photo est plus courte, on perd un peu de bas, jamais la tête), et le liseré suit la courbe. */
.coeur-grid .pcard-media{aspect-ratio:2/3}
.coeur-grid .pcard-media img,.cat .frame img,.arch img{object-position:50% 0}
.coeur-grid .pcard-media::after{border-radius:var(--r-arch)}
.coeur-grid .pcard:hover .pcard-media .vis{transform:scale(1.025);transform-origin:50% 100%}

/* ---------- Guide des tailles, version 2 : trois onglets, résultat expliqué, comment se mesurer ---------- */
.fit-modal{max-width:880px}
.fit-modal .fit-head{padding:26px 28px 4px}
.fit-modal .fit-head h2{margin:4px 0 2px}
.fit-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
.fit-tabs button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 8px 11px}
.fit-tabs button b{font-weight:500;font-size:11.5px;letter-spacing:.16em}
.fit-tabs button small{font-size:11.5px;letter-spacing:0;text-transform:none;color:var(--ink-mute);font-style:italic}
.fit-tabs button[aria-selected="true"] small{color:var(--bronze)}
.fit-body.one{display:block}
.fit-body.one .fit-votes{margin:16px 0 4px;color:var(--ink-soft)}
.fit-body.one .fit-hint{margin-top:14px}
.fit-row.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.fit-row.three .fit-in input{padding-right:34px}
@media (min-width:641px){.fit-modal #fit-out{position:sticky;top:12px;align-self:start}}
.fit-modal .fit-result{height:auto;min-height:420px}

/* Résultat : règle des tailles et mesures zone par zone (sur le médaillon sauge) */
.fit-ruler{position:relative;width:100%;max-width:290px;margin:6px 0 2px;padding-top:22px}
.fr-track{display:grid;grid-template-columns:repeat(8,1fr);border-radius:999px;background:rgba(255,249,241,.14);box-shadow:inset 0 0 0 1px rgba(243,226,184,.35);overflow:hidden}
.fr-track i{font-style:normal;font-size:11px;line-height:24px;color:rgba(255,249,241,.72);font-variant-numeric:tabular-nums}
.fr-track i.alt{background:rgba(243,226,184,.18)}
.fr-track i.on{background:linear-gradient(180deg,#F3DDA8,#C9A46C);color:#3A4034;font-weight:600}
.fr-you{position:absolute;top:0;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;transition:left .5s cubic-bezier(.2,.7,.2,1)}
.fr-you em{font-style:normal;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:#F3E2B8;line-height:1}
.fr-you::after{content:"";width:0;height:0;margin-top:3px;border:5px solid transparent;border-top-color:#F3DDA8;border-bottom:0}
.fit-where{font-size:13.5px!important}
.fit-where b{color:#F6E3B4;font-weight:500}
.fit-zones{list-style:none;margin:4px 0 0;padding:0;width:100%;max-width:290px;display:flex;flex-direction:column;gap:4px}
.fit-zones li{display:grid;grid-template-columns:1fr auto 34px;align-items:center;gap:8px;padding:6px 12px;border-radius:8px;background:rgba(255,249,241,.08);font-size:13px;color:rgba(255,249,241,.85);text-align:left}
.fit-zones li b{font-weight:500;font-variant-numeric:tabular-nums}
.fit-zones li em{font-style:normal;font-family:var(--f-display);font-size:18px;color:#F3DDA8;text-align:right}
.fit-zones li small{grid-column:1/-1;font-size:11px;letter-spacing:.06em;color:#F3E2B8;margin-top:-2px}
.fit-zones li.key{background:rgba(243,226,184,.16);box-shadow:inset 0 0 0 1px rgba(243,226,184,.45)}
.fit-notes{font-size:13px!important;font-style:italic}
.fit-ask{margin-top:2px;font-size:13px;color:#F3E2B8;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(243,226,184,.5);background:none;padding:6px}
.fit-ask:hover{color:#FFF9F1}

/* Avis des clientes sur la taille */
.fit-votes{display:flex;flex-direction:column;gap:5px;width:100%;max-width:290px;font-size:13px}
.fv-h b{font-weight:500}
.fv-bar{position:relative;height:6px;border-radius:999px;background:linear-gradient(90deg,#E8C9A8,#C9D5BC 35%,#C9D5BC 65%,#E8C9A8)}
.fv-bar i{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;transform:translate(-50%,-50%);background:#B4844A;box-shadow:0 0 0 3px var(--surface,#FFFCF7),0 2px 6px rgba(58,64,52,.3)}
.fv-l{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute)}
.fv-l em{font-style:normal}
.fit-result .fit-votes{color:rgba(255,249,241,.88);margin-top:4px}
.fit-result .fv-l{color:rgba(255,249,241,.6)}
.fit-result .fv-bar i{box-shadow:0 0 0 3px #5D6752}
.pdp-fitvotes{margin:2px 0 10px;max-width:320px}

/* Comment se mesurer */
.fit-how{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:center;border:1px solid rgba(201,164,108,.35);border-radius:12px;background:radial-gradient(120% 80% at 30% 40%,var(--surface,#FFFBF4),#F6EADB);padding:12px 14px}
.fh-sil svg{width:100%;height:auto;max-height:230px;display:block}
.fit-how ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.fit-how li{padding:8px 10px;border-radius:8px;opacity:.6;transition:opacity .3s,background .3s}
.fit-how li.on{opacity:1;background:rgba(255,252,247,.85);box-shadow:inset 0 0 0 1px rgba(201,164,108,.45)}
.fit-how li b{display:flex;align-items:center;gap:8px;font-weight:500;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze)}
.fit-how li b i{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;font-style:normal;font-size:11px;letter-spacing:0;background:var(--bronze);color:#FFF9F1}
.fit-how li span{display:block;margin-top:4px;font-size:13px;line-height:1.45;color:var(--ink-soft)}
.fit-how li:not(.on) span{display:none}

/* Tableau des tailles */
.size-guide{border-radius:12px;border-color:rgba(201,164,108,.45);overflow:hidden}
.size-guide table{min-width:0}
.size-guide th.eq,.size-guide td.eq{color:var(--ink-mute);font-size:13px}
.size-guide td b{font-family:var(--f-display);font-size:19px;font-weight:500;color:var(--choco)}
.size-guide td small{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze)}
.size-guide tr.sel td{background:linear-gradient(180deg,#F6EAD3,#F1E0C2)}
.sg-unit{margin:0;padding:8px 12px;font-size:12px;color:var(--ink-mute);background:var(--champ)}
@media (max-width:480px){.size-guide th,.size-guide td{padding:8px 4px;font-size:13px}.size-guide th{font-size:9.5px;letter-spacing:.08em}}

/* Téléphone : rappel de la taille en bas de l'écran */
.fit-dock{display:none}
@media (max-width:640px){
  .fit-tabs button{padding:11px 4px 10px}.fit-tabs button b{font-size:10.5px;letter-spacing:.1em}.fit-tabs button small{font-size:10.5px}
  .fit-row.three{gap:8px}.fit-row.three .fit-in input{padding:12px 30px 12px 10px}.fit-row.three .fit-in em{right:8px;font-size:12px}
  .fit-modal .fit-result{min-height:0}
  .fit-dock{display:flex;align-items:center;gap:12px;position:sticky;bottom:0;z-index:4;margin:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(100deg,#636E57,#525C48);color:#FFF9F1;border-top:1px solid rgba(243,226,184,.5);transition:transform .35s cubic-bezier(.2,.7,.2,1),opacity .35s}
  .fit-dock span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#F3E2B8}
  .fit-dock b{font-family:var(--f-display);font-size:28px;font-weight:500;line-height:1;color:#F6E3B4}
  .fit-dock button{margin-left:auto;padding:9px 14px;border-radius:999px;background:linear-gradient(100deg,#E9CB8C,#C9A46C);color:#3A4034;font-size:12px;letter-spacing:.08em}
  .fit-dock.off,.fit-dock.hide{transform:translateY(110%);opacity:0;pointer-events:none}
}
.fit{overflow:clip}   /* et non hidden : le résultat et la barre du téléphone restent collés au défilement */
/* Avis : « comment taille cet article ? » */
.rv-fit{border:0;padding:0;margin:4px 0 0}
.rv-fit legend{font-size:13px;color:var(--ink-soft);margin-bottom:8px;padding:0}
.rv-fit legend small{color:var(--ink-mute)}
.rv-fit>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.rv-fit label{position:relative;cursor:pointer}
.rv-fit input{position:absolute;opacity:0;pointer-events:none}
.rv-fit label span{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border:1px solid var(--line);border-radius:10px;background:var(--surface,#FFFCF7);text-align:center;transition:all .2s}
.rv-fit label b{font-weight:500;font-size:13.5px;color:var(--choco)}
.rv-fit label small{font-size:11.5px;color:var(--ink-mute)}
.rv-fit input:checked+span{border-color:var(--bronze);box-shadow:0 0 0 1px var(--bronze);background:#F6EAD3}
.rv-fit input:focus-visible+span{outline:2px solid var(--bronze);outline-offset:2px}
.rv-fitlbl{color:var(--bronze)}
#pdp-reviews>.fit-votes{margin:4px 0 16px;max-width:360px}
.fit-how .fh-sil.sil{display:block;border:0;background:none;padding:0;box-shadow:none}

/* ---------- Photos produits : jamais de tête coupée ---------- */
/* Toutes les photos sont au format 2:3 : les cartes, la photo de la fiche et la galerie du téléphone prennent ce format ;
   les petites vignettes restent compactes mais sont calées en haut (on perd un peu de pieds, jamais le visage). */
.pcard-media,.zoom,.gal-swipe figure{aspect-ratio:2/3}
.pcard-media img,.zoom img,.gal-swipe img,.line .thumb img,.thumbs img,.added .thumb img,.look-vis img,.wl-vis img,.lp-vis img,.sheet img,.fly-thumb img{object-position:50% 0}
.pcard-media .vis{transform-origin:50% 100%}
/* Étiquettes (Nouveauté, Coup de cœur, -22 %) en bas de la photo : elles ne cachent plus les visages */
.pcard-media .tags{top:auto;bottom:12px;flex-direction:column-reverse}
@media (max-width:700px){.pcard-media .tags{left:8px;bottom:24px;gap:4px}}
/* Fiche : date de livraison ; paiement en 3 fois (Klarna) */
.pdp-eta{display:flex;align-items:flex-start;gap:10px;margin:2px 0 6px;padding:10px 14px;border:1px dashed rgba(201,164,108,.7);border-radius:12px;background:#FFF9EF;font-size:14px;color:var(--choco)}
.pdp-eta svg{width:22px;height:22px;flex:none;fill:none;stroke:#A9784F;stroke-width:1.5;margin-top:1px}
.pdp-eta small{display:block;font-size:12px;color:var(--ink-soft);margin-top:2px}
.split3{margin:-4px 0 4px;font-size:14px;color:var(--ink-soft)}
.split3 b{color:var(--choco);font-weight:500}
.split3 .klarna{display:inline-block;padding:1px 7px;border-radius:5px;background:#FFB3C7;color:#1C1E1A;font-weight:600;font-size:12px;letter-spacing:.01em}
.split3 small{display:block;font-size:11.5px;color:var(--ink-mute);margin-top:2px}
.split3.sm{margin:2px 0 8px;font-size:13px;text-align:right}
/* ✨ à côté de « Nouveautés » */
.sparkle{display:inline-block;font-size:.78em;margin-left:.28em;line-height:1;vertical-align:.08em;font-style:normal}
.mob-menu .panel .mm-main a .sparkle{margin-right:auto}
/* Logo de saison (hiver, printemps-été, Octobre rose) : image carrée avec une couronne plus large ;
   on l'agrandit un peu pour que le nom garde la même taille, sans changer la hauteur de l'en-tête */
html[data-logo-saison] .logo-slot img{aspect-ratio:1/1;width:92%;max-width:none;margin:-3.5% 4%}
html[data-logo-saison] .mob-menu .mm-top img{width:92px}
/* Bandeau soldes « or satiné » (choisi par Marine) : ruban doré en dégradé, liseré, reflet qui passe lentement, ✦ */
.promo-banner,.ticker + .promo-banner{position:relative;overflow:hidden;isolation:isolate;padding:14px var(--gutter-r) 14px var(--gutter-l);
  background:linear-gradient(100deg,#D9B877 0%,#F3E2B6 22%,#E2C285 45%,#F8EBCB 62%,#D6B271 82%,#EED9A6 100%);color:#3A4034;
  border-top:1px solid #B88F4A;border-bottom:1px solid #B88F4A;box-shadow:inset 0 1px 0 rgba(255,250,235,.7),inset 0 -1px 0 rgba(140,100,40,.25)}
.promo-banner::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.45) 47%,transparent 60%);transform:translateX(-70%);animation:pb-shine 7s ease-in-out infinite}
@keyframes pb-shine{0%,55%{transform:translateX(-70%)}85%,100%{transform:translateX(70%)}}
.promo-banner .pb-text{font-size:15px;letter-spacing:.05em;font-weight:500}
.promo-banner .pb-text::before{content:"✦";color:#8A6328;margin-right:12px;font-size:11px;vertical-align:.1em}
.promo-banner .pb-cta{position:relative;margin-right:22px}
.promo-banner .pb-cta::after{content:"✦";position:absolute;right:-22px;top:50%;transform:translateY(-55%);color:#8A6328;font-size:11px;letter-spacing:0}
.promo-banner .pb-text em,.ticker + .promo-banner .pb-text em{color:#6E4A1E}
.promo-banner .pb-cta,.ticker + .promo-banner .pb-cta{color:#4A5143;border-color:rgba(74,81,67,.55)}
.promo-banner:hover .pb-cta{color:#3A4034;border-color:#3A4034}
@media (prefers-reduced-motion:reduce){.promo-banner::after{animation:none}}
/* Bandeau doré sur téléphone : compact (une ligne de texte + le lien juste dessous, petit) */
@media (max-width:700px){
  .promo-banner,.ticker + .promo-banner{padding:7px 14px 8px;gap:1px 10px;line-height:1.35}
  .promo-banner .pb-text{font-size:12.5px;letter-spacing:.02em}
  .promo-banner .pb-text::before{display:none}
  .promo-banner .pb-cta{font-size:9.5px;letter-spacing:.16em;padding-bottom:1px;margin-right:0}
  .promo-banner .pb-cta::after{display:none}
}
