@charset "UTF-8";
/* polices hébergées sur le site (licence SIL OFL), sous-ensemble latin, une fonte variable chacune (22/10) */
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 600;font-display:swap;src:url(/assets/fonts/manrope-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:300 500;font-display:swap;src:url(/assets/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Tove & Co, accueil v3, esprit Silvera : page blanche, titres géants en graisse très légère, nav en petites capitales, filets fins, produits sur tuiles gris clair, zéro accent sauf l'esperluette. Mono-thème blanc, mobile d'abord. */
:root{
  --white:#FFFFFF; --tile:#F4F4F2; --stone:#F7F6F3; --ink:#111111; --ink-2:#666460; --ink-3:#74716B;
  --line:rgba(0,0,0,.12); --line-soft:rgba(0,0,0,.07); --brass:#B8955A; --ok:#2E7D4F; --warn:#9A5B2B;
  --bg:var(--white); --fg:var(--ink); --muted:var(--ink-2);
  --font:"Inter",system-ui,-apple-system,sans-serif; --font-display:"Manrope",system-ui,-apple-system,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1); --t1:160ms; --t2:320ms; --t3:800ms;
  --gutter:clamp(16px,3.2vw,40px); --gap:clamp(12px,1.6vw,20px);
  --s2:16px; --s3:24px; --s4:40px; --s5:64px; --s6:clamp(72px,9vw,120px);
  --nav-h:60px;
}
:root, :root[data-theme="dark"], :root[data-theme="light"]{ color-scheme:light }
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:15px;line-height:1.6;font-weight:300;letter-spacing:.01em;font-variant-numeric:tabular-nums;padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))}
@media (min-width:900px){body{padding-bottom:0;font-size:15px}}
a{color:inherit}
img,svg{max-width:100%;display:block}
button{font:inherit}
h1,h2,h3,h4,.t-giant,.t-xl,.t-l,.t-m,.tabs button,.wordmark,footer .giant{font-family:var(--font-display)}
h1,h2,h3,h4{margin:0;font-weight:300;letter-spacing:-.01em}
p{margin:0}
strong,b{font-weight:500}
/* images réelles */
.img{display:block;width:100%;height:100%;object-fit:cover}
.tile .img{object-fit:contain;mix-blend-mode:multiply;padding:6%}
.wrap{padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px));padding-block:0;max-width:1600px;margin-inline:auto}
.g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);row-gap:var(--s3)}
.g12>*{min-width:0;grid-column:1/-1}
/* type */
.t-giant{font-size:clamp(2.5rem,.9rem + 9.2vw,9.5rem);line-height:.95;letter-spacing:-.03em;font-weight:200}
.t-xl{font-size:clamp(2rem,1.2rem + 3.4vw,4.5rem);line-height:1;letter-spacing:-.025em;font-weight:300}
.t-l{font-size:clamp(1.375rem,1.1rem + 1.2vw,2rem);line-height:1.15;letter-spacing:-.015em;font-weight:300}
.t-m{font-size:1.125rem;line-height:1.35;font-weight:400;letter-spacing:-.005em}
.t-body{font-size:15px;line-height:1.65;color:var(--fg)}
.t-muted{color:var(--muted)}
.cap{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:400}
.link{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:400;text-decoration:none;padding-bottom:2px;border-bottom:1px solid transparent;transition:border-color var(--t1) var(--ease)}
.link::after{content:"→";font-size:13px;letter-spacing:0;transition:transform var(--t1) var(--ease)}
.link:hover{border-bottom-color:var(--fg)}
.link:hover::after{transform:translateX(3px)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border:1px solid var(--fg);border-radius:0;background:var(--fg);color:#fff;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:400;text-decoration:none;cursor:pointer;transition:background var(--t1) var(--ease),color var(--t1) var(--ease)}
.btn:hover{background:#000}
.btn-outline{background:transparent;color:var(--fg)}
.btn-outline:hover{background:var(--fg);color:#fff}
.rule{border:0;border-top:1px solid var(--line);margin:0}
.sec{padding-block:var(--s6)}
.sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s4)}
/* photo placeholders */
.ph{position:relative;background:var(--tile);overflow:hidden}
.ph .note{position:absolute;left:12px;right:12px;bottom:10px;font-size:10px;line-height:1.4;letter-spacing:.02em;color:var(--ink-2)}
.ph .note b{color:var(--fg)}
.ph.warm{background:linear-gradient(180deg,#2C2A25 0%,#4D4639 50%,#8E7C5E 100%)}
.ph.warm .note{color:rgba(255,255,255,.72)}.ph.warm .note b{color:#fff}
.ph.light{background:linear-gradient(180deg,#EEEAE2 0%,#D8CFC1 100%)}
.ph.grey{background:linear-gradient(180deg,#E9E8E4 0%,#D4D2CC 100%)}
/* announce + nav */
.announce{min-height:32px;display:flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:7px 0;border-bottom:1px solid var(--line-soft);overflow:hidden;white-space:nowrap}
.announce .track{display:flex;width:max-content;animation:trust-scroll 22s linear infinite}
.announce .track span{padding-right:56px}
.announce:hover .track{animation-play-state:paused}
@media (min-width:700px){.announce .track{animation:none;width:auto}.announce .track span{padding-right:0}.announce .track span[aria-hidden]{display:none}}
@media (prefers-reduced-motion:reduce){.announce .track{animation:none}}
.nav{position:sticky;top:0;z-index:30;height:var(--nav-h);background:rgba(255,255,255,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line-soft);transition:transform var(--t2) var(--ease)}
.nav.hide{transform:translateY(-100%)}
.nav .wrap{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--s2)}
.nav .l,.nav .r{display:flex;align-items:center;gap:22px}
.nav .r{justify-self:end}
.nav ul{display:none;gap:22px;list-style:none;margin:0;padding:0}
.nav ul a{white-space:nowrap;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:400;text-decoration:none;padding:6px 0;border-bottom:1px solid transparent;transition:border-color var(--t1) var(--ease)}
.nav ul a:hover{border-bottom-color:var(--fg)}
/* méga-menu desktop */
.nav .has-mega{position:static}
.nav .has-mega>a{display:inline-block;line-height:calc(var(--nav-h) - 12px)}
.mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line-soft);box-shadow:0 24px 40px -30px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity var(--t1) var(--ease),transform var(--t1) var(--ease),visibility 0s linear var(--t1)}
.nav .has-mega:hover .mega,.nav .has-mega:focus-within .mega{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.mega .wrap{display:grid;gap:var(--s3);padding-top:var(--s4);padding-bottom:var(--s4)}
.mega .cols{display:flex;gap:var(--s5)}
.mega ul{min-width:200px}
.nav .mega ul{display:grid;gap:2px;list-style:none;margin:0;padding:0}
.mega ul a{font-size:14px;letter-spacing:0;text-transform:none;font-weight:400;padding:5px 0;border-bottom:0;color:var(--ink-2)}
.mega ul a:hover{color:var(--fg)}
.mega .all{font-size:11px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;justify-self:start;border-bottom:1px solid var(--fg)}
@media (prefers-reduced-motion:reduce){.mega{transition:none}}
.wordmark{justify-self:center;font-size:1.0625rem;letter-spacing:.22em;text-transform:uppercase;font-weight:400;text-decoration:none;white-space:nowrap}
.wordmark .amp{color:var(--brass);font-weight:300;letter-spacing:0;margin:0 .15em}
.ib{display:inline-flex;align-items:center;gap:8px;height:44px;background:none;border:0;padding:0;color:inherit;text-decoration:none;cursor:pointer;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:400}
.ib svg{width:18px;height:18px}
.search{display:none;align-items:center;gap:10px;width:220px;border-bottom:1px solid var(--line);padding:6px 0;color:var(--ink-3);font-size:12px}
.search svg{width:14px;height:14px;margin-left:auto;color:var(--fg)}
@media (min-width:1000px){.nav ul{display:flex}.search{display:flex}.hide-d{display:none!important}}
/* tabbar mobile */
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;height:calc(60px + env(safe-area-inset-bottom,0px));padding:0 max(8px,env(safe-area-inset-left,0px)) env(safe-area-inset-bottom,0px) max(8px,env(safe-area-inset-right,0px));background:rgba(255,255,255,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line-soft);display:grid;grid-template-columns:repeat(3,1fr)}
.tabbar a{display:grid;place-items:center;gap:3px;text-decoration:none;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-top:9px}
.tabbar a svg{width:20px;height:20px}
.tabbar a[aria-current]{color:var(--fg)}
@media (min-width:900px){.tabbar{display:none}}
/* hero : titre géant à gauche, texte à droite, photo pleine largeur dessous */
.hero{padding-top:clamp(28px,4vw,56px)}
.hero .g12{align-items:end;row-gap:var(--s4)}
.hero .title h1{white-space:nowrap}
@media (min-width:900px){.hero .title h1{font-size:min(clamp(2.5rem,.9rem + 9.2vw,9.5rem),7.4vw)}}
@media (max-width:699px){.buy h1 span{display:block;font-size:.8em}}
.hero .txt{display:grid;gap:14px;align-content:end}
.hero .txt .t-m{max-width:30em}
.hero .txt p.t-body{max-width:44em;color:var(--muted)}
.hero .pic{aspect-ratio:4/5;margin-top:var(--s4)}
.hero .pic .lamp{position:absolute;left:62%;bottom:19%;width:min(26%,170px)}
.hero .pic .lamp path{transition:fill var(--t3) var(--ease)}
.hero .pic .glow{position:absolute;left:62%;bottom:28%;width:110%;aspect-ratio:1;transform:translate(-50%,42%);border-radius:50%;background:radial-gradient(circle,rgba(255,226,170,.95) 0%,rgba(255,208,140,.45) 20%,rgba(255,190,110,0) 50%);opacity:0;transition:opacity var(--t3) var(--ease)}
.hero.lit .pic .glow{opacity:1}
.hero .pic .img{filter:brightness(.82) saturate(.9);transform:scale(1.02);transition:filter var(--t3) var(--ease),transform 1600ms var(--ease)}
.hero.lit .pic .img{filter:none;transform:none}
.hero.lit .pic .lamp path{fill:#F7E6C2}
.hero .pic .sofa{position:absolute;left:10%;bottom:18%;width:46%;height:22%;background:#DED5C5;border-radius:6px 6px 2px 2px}
.hero .pic .sofa::before{content:"";position:absolute;left:4%;right:4%;top:-26%;height:30%;background:#E8E0D1;border-radius:6px 6px 0 0}
.hero .pic .floor{position:absolute;left:0;right:0;bottom:0;height:18%;background:linear-gradient(180deg,rgba(60,50,36,0),rgba(60,50,36,.6))}
@media (min-width:900px){
  .hero .title{grid-column:1/8}
  .hero .txt{grid-column:8/13;padding-bottom:10px}
  .hero .pic{aspect-ratio:21/9;margin-top:var(--s5)}
  .hero .pic .lamp{left:68%;width:min(12%,150px);bottom:26%}
  .hero .pic .sofa{left:14%;width:40%;height:28%;bottom:24%}
  .hero .pic .glow{left:68%;width:60%;bottom:36%}
  .hero .pic .floor{height:24%}
}
/* bande engagements : hairlines */
.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:var(--s5)}
/* engagements : sur mobile, ruban qui défile tout seul en continu (piste dupliquée, animation CSS, pause au toucher) ; desktop : 4 colonnes fixes */
.trust .wrap{padding-block:var(--s3);overflow:hidden}
.trust .track{display:flex;gap:0;width:max-content;animation:trust-scroll 28s linear infinite}
.trust .track:hover,.trust .track:active{animation-play-state:paused}
.trust .track>div{display:grid;gap:2px;padding:0 var(--s3);border-right:1px solid var(--line-soft);min-width:max-content}
.trust .track>div:first-child{padding-left:0}
.trust b{font-size:13px;letter-spacing:.02em;white-space:nowrap}
.trust span{font-size:13px;color:var(--muted);white-space:nowrap}
@keyframes trust-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.trust .track{animation:none}.trust .wrap{overflow-x:auto}}
@media (min-width:900px){
  .trust .track{animation:none;display:grid;grid-template-columns:repeat(4,1fr);width:100%;gap:var(--gap)}
  .trust .track>div{padding:0;border-right:0;min-width:0}
  .trust .track>div.dup{display:none}
  .trust b,.trust span{white-space:normal}
}
/* onglets produits : Par nouveautés | Par pièces */
.tabs{display:flex;gap:var(--s3);align-items:baseline;flex-wrap:wrap}
.tabs button{background:none;border:0;padding:0;cursor:pointer;color:var(--ink-3);font-weight:300;letter-spacing:-.02em;font-size:clamp(1.5rem,1.2rem + 1.6vw,2.25rem);line-height:1}
.tabs button[aria-selected="true"]{color:var(--fg)}
.tabs .sep{width:1px;height:1.6em;background:var(--line);align-self:center}
.row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(72vw,1fr);gap:var(--gap);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);padding-bottom:6px;margin-inline:calc(-1*var(--gutter));padding-inline:var(--gutter);scrollbar-width:none}
.row::-webkit-scrollbar{display:none}
.row[hidden]{display:none}
.row>*{scroll-snap-align:start}
@media (min-width:600px){.row{grid-auto-columns:minmax(44vw,1fr)}}
@media (min-width:900px){.row{grid-auto-flow:row;grid-template-columns:repeat(4,1fr);overflow:visible;margin-inline:0;padding-inline:0}}
.prod{display:grid;gap:12px;align-content:start;text-decoration:none}
.prod .tile{position:relative;aspect-ratio:1;background:var(--tile);display:grid;place-items:center;overflow:hidden}
.prod .tile svg{width:52%;height:auto}
.prod .tile .on{position:absolute;inset:0;background:radial-gradient(circle at 50% 56%,rgba(255,224,165,.85),rgba(255,224,165,0) 55%);opacity:0;transition:opacity var(--t2) var(--ease)}
.prod:hover .tile .on,.prod:focus-visible .tile .on{opacity:1}
.badge{position:absolute;left:12px;top:12px;height:22px;padding:0 8px;display:inline-flex;align-items:center;font-size:10px;letter-spacing:.06em;text-transform:uppercase;background:#fff;color:var(--fg);font-weight:400}
.badge.ink{background:var(--fg);color:#fff}
.badge+.badge{top:40px}
.stock{position:absolute;left:12px;bottom:12px;font-size:11px;color:var(--muted);display:inline-flex;align-items:center;gap:6px}
.stock::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ok)}
.prod .meta{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:baseline}
.prod .name{font-weight:400;font-size:14px;letter-spacing:.01em}
.prod .price{font-weight:400;font-size:14px;white-space:nowrap}
.prod .fin{grid-column:1/-1;font-size:13px;color:var(--muted)}
/* titre géant éclaté */
.split{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:0 var(--s3)}
.split span:last-child{margin-left:auto}
/* sélections : 3 tuiles éditoriales */
.sels{display:grid;gap:var(--s3)}
.sel{display:grid;gap:12px;text-decoration:none}
.sel .ph{aspect-ratio:4/5}
.sel .cap{color:var(--muted)}
.sel .t-l{max-width:14ch}
@media (min-width:900px){.sels{grid-template-columns:repeat(3,1fr);column-gap:var(--gap)}.sel:nth-child(2){margin-top:var(--s5)}}
/* éditorial : grande photo + 2×2 produits */
.edit .g12{align-items:start}
.edit .big{aspect-ratio:4/3}
.edit .four{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
@media (min-width:900px){.edit .big{grid-column:1/8;aspect-ratio:3/2}.edit .four{grid-column:8/13}}
/* manifeste : 3 colonnes texte, filets */
.manif{background:var(--stone)}
.manif .cols{display:grid;gap:var(--s3)}
.manif .cols div{padding-top:var(--s2);border-top:1px solid var(--line);display:grid;gap:10px;align-content:start}
.manif .cols p{color:var(--muted)}
@media (min-width:900px){.manif .cols{grid-template-columns:repeat(3,1fr);column-gap:var(--s4)}}
.manif .intro{max-width:26ch;margin-bottom:var(--s4)}
/* journal */
.journal{display:grid;gap:var(--s4)}
.post{display:grid;gap:12px;text-decoration:none}
.post .ph{aspect-ratio:3/2}
.post .date{font-size:11px;letter-spacing:.08em;color:var(--muted)}
.post h3{font-size:1.0625rem;font-weight:400;line-height:1.35}
@media (min-width:900px){.journal{grid-template-columns:repeat(3,1fr);column-gap:var(--gap)}}
/* avis + newsletter */
.avis .g12{align-items:start}
.avis .box{border:1px solid var(--line);padding:var(--s3);display:grid;gap:12px}
@media (min-width:900px){.avis .big{grid-column:1/7}.avis .box{grid-column:8/13}}
.news form{display:grid;gap:12px;max-width:520px}
.news .field{display:flex;gap:12px;border-bottom:1px solid var(--fg);padding-bottom:8px}
.news input{flex:1;border:0;background:transparent;font:inherit;font-size:16px;padding:8px 0;min-width:0}
.news input:focus{outline:none}
.news .field:focus-within{border-bottom-width:2px}
.news button{background:none;border:0;padding:0;cursor:pointer;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:400}
.news .ok{color:var(--ok);font-size:13px}
.news .legal{font-size:12px;color:var(--ink-3)}
@media (min-width:900px){.news .g12>*{grid-column:span 6}}
/* footer */
footer{border-top:1px solid var(--line);padding-block:var(--s5) var(--s3)}
footer .cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4) var(--gap)}
footer .f-h{margin:0 0 12px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:400;color:var(--muted)}
footer ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;font-size:14px}
footer ul a{text-decoration:none}
footer ul a:hover{text-decoration:underline;text-underline-offset:.2em}
footer .giant{font-size:clamp(3.5rem,16vw,16rem);line-height:.85;letter-spacing:-.04em;font-weight:200;margin-top:var(--s6);white-space:nowrap;overflow:hidden}
footer .giant .amp{color:var(--brass)}
footer .bottom{margin-top:var(--s3);padding-top:var(--s2);border-top:1px solid var(--line-soft);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:11px;letter-spacing:.04em;color:var(--muted)}
footer .pay{display:flex;gap:6px;flex-wrap:wrap}
footer .lang-sw{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none;min-height:24px}
footer .lang-sw:hover{color:var(--fg)}
footer .lang-sw svg{width:14px;height:14px}
footer .pay span{border:1px solid var(--line);padding:1px 7px;font-size:10px;letter-spacing:.04em}
@media (min-width:900px){footer .cols{grid-template-columns:repeat(5,1fr)}}
.sr{position:absolute;left:-999px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}.hero .pic .glow{opacity:1}}

/* ===== pages intérieures : catégorie (PLP) et fiche produit (PDP) ===== */
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-block:var(--s2)}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--fg)}
.crumbs span[aria-current]{color:var(--fg)}
/* PLP */
.plp-head{padding-block:var(--s3) var(--s4)}
.plp-head h1{max-width:12ch}
.plp-head .intro{max-width:52em;color:var(--muted);margin-top:var(--s2)}
.subcats{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,1fr);gap:var(--gap);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);scrollbar-width:none;margin-inline:calc(-1*var(--gutter));padding-inline:var(--gutter);padding-bottom:4px}
.subcats::-webkit-scrollbar{display:none}
.subcat{display:grid;gap:8px;text-decoration:none;scroll-snap-align:start}
.subcat .tile{aspect-ratio:1;background:var(--tile);overflow:hidden}
.subcat .tile img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:10%}
.subcat .tile img.cover{object-fit:cover;mix-blend-mode:normal;padding:0}
.subcat b{font-weight:500;font-size:13px}
.subcat span{font-size:12px;color:var(--muted)}
@media (min-width:900px){.subcats{grid-auto-flow:row;grid-template-columns:repeat(7,1fr);overflow:visible;margin-inline:0;padding-inline:0}}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--s2);padding-block:var(--s2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:var(--s4);font-size:13px}
.toolbar .count{color:var(--muted)}
.toolbar .btns{display:flex;gap:var(--s2)}
.toolbar button{background:none;border:1px solid var(--line);height:36px;padding:0 14px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:400;cursor:pointer;color:var(--fg)}
.toolbar select{height:36px;border:1px solid var(--line);background:#fff;font:inherit;font-size:13px;padding:0 10px;color:var(--fg)}
.plp{display:grid;gap:var(--s4);padding-block:var(--s4) var(--s6)}
.filters{display:none}
.filters[open],.filters.show{display:block}
.filters details{border-top:1px solid var(--line);padding:12px 0}
.filters details:last-child{border-bottom:1px solid var(--line)}
.filters summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;font-size:13px;font-weight:500}
.filters summary::after{content:"+";color:var(--muted)}
.filters details[open] summary::after{content:"–"}
.filters label{display:flex;justify-content:space-between;gap:8px;font-size:13px;padding:6px 0;color:var(--fg);cursor:pointer}
.filters label span{color:var(--muted)}
.filters label input{margin:0 10px 0 0;accent-color:var(--ink)}
.filters .sw{display:flex;gap:8px;flex-wrap:wrap;padding:8px 0}
.filters .sw button{width:24px;height:24px;border-radius:50%;border:1px solid var(--line);cursor:pointer;padding:0}
.filters .range{display:flex;gap:8px;align-items:center;padding:8px 0;font-size:13px}
.filters .range input{width:70px;height:34px;border:1px solid var(--line);padding:0 8px;font:inherit;font-size:13px}
.grid-prod{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4) var(--gap);align-content:start}
.grid-prod .prod .tile img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:6%}
.grid-prod .prod .tile img.cover{object-fit:cover;mix-blend-mode:normal;padding:0}
.quick{position:absolute;right:12px;bottom:12px;height:36px;padding:0 14px;background:var(--fg);color:#fff;border:1px solid var(--fg);font:inherit;font-size:11px;line-height:1;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;opacity:0;transition:opacity var(--t1) var(--ease);cursor:pointer;-webkit-appearance:none;appearance:none;border-radius:0;-webkit-text-fill-color:#fff}
.prod:hover .quick,.prod:focus-within .quick{opacity:1}
@media (hover:none){.quick{display:none}}
@media (min-width:900px){
  .plp{grid-template-columns:240px minmax(0,1fr);gap:var(--s5)}
  .filters{display:block;position:sticky;top:calc(var(--nav-h) + 16px);align-self:start}
  .grid-prod{grid-template-columns:repeat(3,minmax(0,1fr))}
  .toolbar .btn-filters{display:none}
}
@media (min-width:1200px){.grid-prod{grid-template-columns:repeat(4,minmax(0,1fr))}}
.pager{display:flex;justify-content:center;gap:var(--s2);padding-block:var(--s5) var(--s6);font-size:13px}
.pager a{padding:8px 12px;text-decoration:none;border:1px solid transparent}
.pager a[aria-current]{border-color:var(--fg)}
.seo{max-width:70ch;padding-block:var(--s6);border-top:1px solid var(--line)}
.seo h2{margin-bottom:var(--s2)}
.seo h3{font-size:1.0625rem;font-weight:500;margin:var(--s3) 0 8px}
.seo p{color:var(--muted);margin-bottom:12px}
.seo table{width:100%;border-collapse:collapse;font-size:13px;margin:var(--s2) 0}
.seo th,.seo td{text-align:left;padding:10px 0;border-bottom:1px solid var(--line);font-weight:400}
.seo th{color:var(--muted);font-weight:400}
.faq details{border-top:1px solid var(--line);padding:14px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:var(--s2);font-weight:500;font-size:15px}
.faq summary::after{content:"+";color:var(--muted)}
.faq details[open] summary::after{content:"–"}
.faq p{color:var(--muted);margin-top:8px;max-width:70ch}
/* PDP */
.pdp{display:grid;gap:var(--s4);padding-block:var(--s2) var(--s5)}
.gallery{display:grid;gap:8px}
.gallery .main{aspect-ratio:1;background:var(--tile);overflow:hidden;position:relative}
.gallery .main img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:4%}
.gallery .main img.cover{object-fit:cover;mix-blend-mode:normal;padding:0}
.gallery .thumbs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.gallery .thumbs::-webkit-scrollbar{display:none}
.gallery .thumbs button{flex:0 0 64px;aspect-ratio:1;background:var(--tile);border:1px solid transparent;padding:0;cursor:pointer;overflow:hidden}
.gallery .thumbs button[aria-pressed="true"]{border-color:var(--fg)}
.gallery .thumbs img{width:100%;height:100%;object-fit:cover}
.gallery .thumbs img.ps{object-fit:contain;mix-blend-mode:multiply;padding:8%}
.buy{display:grid;gap:var(--s2);align-content:start}
.buy h1{font-size:clamp(1.5rem,1.2rem + 1.4vw,2.25rem);line-height:1.1;letter-spacing:-.02em;font-weight:400}
.buy .promise{color:var(--muted)}
.buy .price{font-size:1.375rem;font-weight:500;letter-spacing:-.01em}
.buy .price small{display:block;font-size:12px;font-weight:300;color:var(--muted);letter-spacing:0}
.fins{display:flex;gap:10px;align-items:center}
.fins button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);cursor:pointer;padding:0}
.fins button[aria-pressed="true"]{outline:1px solid var(--fg);outline-offset:3px}
.qty{display:inline-flex;border:1px solid var(--line);height:48px;align-items:center}
.qty button{width:44px;height:100%;background:none;border:0;cursor:pointer;font-size:18px}
.qty span{min-width:32px;text-align:center;font-size:14px}
.buy .cta{display:grid;grid-template-columns:auto 1fr;gap:10px}
.eta{border:1px solid var(--line);padding:12px 14px;font-size:14px;display:grid;gap:4px}
.eta b{font-weight:500}
.eta a{color:var(--muted);font-size:12px}
.express{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.express button{height:44px;border:1px solid var(--fg);background:#fff;font:inherit;font-size:13px;font-weight:500;cursor:pointer}
.assure{display:grid;gap:8px;font-size:13px;color:var(--muted);padding-top:var(--s2);border-top:1px solid var(--line)}
.assure li{list-style:none;display:flex;gap:10px}
.assure ul{margin:0;padding:0;display:grid;gap:8px}
.assure li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brass);flex:none;margin-top:7px}
.acc details{border-top:1px solid var(--line);padding:14px 0}
.acc details:last-child{border-bottom:1px solid var(--line)}
.acc summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;font-size:14px;font-weight:500}
.acc summary::after{content:"+";color:var(--muted)}
.acc details[open] summary::after{content:"–"}
.acc .body{color:var(--muted);font-size:14px;margin-top:10px;display:grid;gap:8px}
.acc table{width:100%;border-collapse:collapse;font-size:13px}
.acc td{padding:7px 0;border-bottom:1px solid var(--line-soft);vertical-align:top}
.acc td:first-child{color:var(--muted);width:45%}
@media (min-width:900px){
  .pdp{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s5);align-items:start}
  .gallery{grid-template-columns:72px minmax(0,1fr)}
  .gallery .thumbs{flex-direction:column;overflow:visible;order:-1}
  .gallery .thumbs button{flex:0 0 72px}
  .buy{position:sticky;top:calc(var(--nav-h) + 16px)}
}
.stickybuy{position:fixed;left:0;right:0;bottom:calc(60px + env(safe-area-inset-bottom,0px));z-index:29;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-top:1px solid var(--line-soft);padding:10px max(var(--gutter),env(safe-area-inset-left,0px));display:flex;align-items:center;gap:12px;transform:translateY(130%);transition:transform var(--t2) var(--ease)}
.stickybuy.on{transform:none}
.stickybuy img{width:40px;height:40px;object-fit:contain;mix-blend-mode:multiply;background:var(--tile)}
.stickybuy .t{flex:1;min-width:0;font-size:13px;line-height:1.3}
.stickybuy .t b{font-weight:500;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stickybuy .btn{min-height:42px;padding:0 16px}
@media (min-width:900px){.stickybuy{bottom:0}}
.two{display:grid;gap:var(--s3)}
.two>div{padding-top:var(--s2);border-top:1px solid var(--line)}
.two h3{font-size:1rem;font-weight:500;margin-bottom:8px}
.two ul{margin:0;padding:0 0 0 18px;color:var(--muted);font-size:14px;display:grid;gap:6px}
@media (min-width:900px){.two{grid-template-columns:1fr 1fr;column-gap:var(--s5)}}
.scene2{display:grid;gap:var(--gap)}
.scene2 .ph{aspect-ratio:4/3;overflow:hidden}
.scene2 figcaption{font-size:12px;color:var(--muted);margin-top:8px}
@media (min-width:900px){.scene2{grid-template-columns:3fr 2fr}}
.steps{display:grid;gap:var(--s3)}
.steps div{padding-top:var(--s2);border-top:1px solid var(--line)}
.steps b{font-weight:500;display:block;margin-bottom:6px}
.steps p{font-size:14px;color:var(--muted)}
@media (min-width:900px){.steps{grid-template-columns:repeat(3,1fr);column-gap:var(--s4)}}
.related{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4) var(--gap)}
.related .tile img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:6%}
@media (min-width:900px){.related{grid-template-columns:repeat(4,1fr)}}
.sec-s{padding-block:var(--s5);border-top:1px solid var(--line)}

/* ===== panier, commande, pages de confiance ===== */
.page-head{padding-block:var(--s3) var(--s4)}
.page-head h1{max-width:14ch}
.page-head .intro{max-width:52em;color:var(--muted);margin-top:var(--s2)}
.cart{display:grid;gap:var(--s4);padding-bottom:var(--s6)}
@media (min-width:900px){.cart{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s5);align-items:start}}
/* panier mobile (22/10) : produits du panier, puis le récapitulatif, puis « Complétez la pièce » */
@media (max-width:899px){.cart>div:first-child{display:contents}#lines,#empty{order:1}.cart .summary{order:2;position:static}#comp,#reach{order:3}#free{order:1}}
.lines-cart{display:grid}
.line{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:var(--s2);padding:var(--s2) 0;border-top:1px solid var(--line);align-items:start}
.line:last-child{border-bottom:1px solid var(--line)}
.line .th{aspect-ratio:1;background:var(--tile);overflow:hidden}
.line .th img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:8%}
.line .nm{font-weight:500;font-size:14px}
.line .fn{font-size:13px;color:var(--muted)}
.line .ship{font-size:12px;color:var(--ok);margin-top:4px}
.line .ship.bulky{color:var(--warn)}
.line .pr{font-weight:500;font-size:14px;text-align:right;white-space:nowrap}
.line .ctl{display:flex;gap:var(--s2);align-items:center;margin-top:10px;grid-column:2}
.line .ctl .qty{height:36px}
.line .ctl .qty button{width:34px}
.line .rm{background:none;border:0;font-size:12px;color:var(--muted);text-decoration:underline;cursor:pointer;padding:0;letter-spacing:.02em}
.empty{padding:var(--s5) 0;display:grid;gap:var(--s2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.summary{border:1px solid var(--line);padding:var(--s3);display:grid;gap:12px;position:sticky;top:calc(var(--nav-h) + 16px)}
.summary h2{font-size:1rem;font-weight:500}
.summary .row{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.summary .row.muted{color:var(--muted)}
.summary .total{display:flex;justify-content:space-between;font-size:1.125rem;font-weight:500;padding-top:12px;border-top:1px solid var(--line)}
.summary small{font-size:12px;color:var(--muted);display:block}
.progress{height:2px;background:var(--line-soft);position:relative}
.progress i{position:absolute;left:0;top:0;bottom:0;background:var(--fg);display:block}
.summary select{height:40px;border:1px solid var(--line);background:#fff;font:inherit;font-size:14px;padding:0 10px;width:100%}
.summary .btn{width:100%}
.promo{display:flex;gap:8px}
.promo input{flex:1;height:40px;border:1px solid var(--line);padding:0 10px;font:inherit;font-size:14px;min-width:0}
.promo button{height:40px;padding:0 12px;border:1px solid var(--fg);background:#fff;font:inherit;font-size:11px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.comp{margin-top:var(--s5)}
.comp .related{grid-template-columns:repeat(3,1fr)}
@media (max-width:600px){.comp .related{grid-template-columns:repeat(2,1fr)}}
/* commande */
.steps-bar{display:flex;gap:var(--s3);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding-block:var(--s2);border-bottom:1px solid var(--line);margin-bottom:var(--s4);overflow-x:auto;white-space:nowrap}
.steps-bar b{color:var(--fg);font-weight:400}
.checkout{display:grid;gap:var(--s4);padding-bottom:var(--s6)}
@media (min-width:900px){.checkout{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s5);align-items:start}}
.block{display:grid;gap:var(--s2);padding-block:var(--s3);border-top:1px solid var(--line)}
.block h2{font-size:1.0625rem;font-weight:500;display:flex;gap:12px;align-items:baseline}
.block h2 span{font-size:11px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;font-weight:400}
.f{display:grid;gap:6px;font-size:13px}
.f input,.f select{height:48px;border:1px solid var(--line);padding:0 14px;font:inherit;font-size:16px;background:#fff;width:100%;color:var(--fg)}
.f input:focus,.f select:focus{outline:2px solid var(--fg);outline-offset:1px;border-color:transparent}
.f .err{color:var(--warn);font-size:12px;display:none}
.f.bad input{border-color:var(--warn)}
.f.bad .err{display:block}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:14px;cursor:pointer}
.chk input{margin:4px 0 0;accent-color:var(--ink);width:16px;height:16px;flex:none}
.chk span{color:var(--muted)}
.express2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.express2 button{height:48px;border:1px solid var(--fg);background:#fff;font:inherit;font-size:14px;font-weight:500;cursor:pointer}
.or{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
.ship-opt{display:grid;gap:10px}
.ship-opt label{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);padding:14px;cursor:pointer;font-size:14px}
.ship-opt label b{font-weight:500;display:block}
.ship-opt label span{color:var(--muted);font-size:13px}
.ship-opt input{accent-color:var(--ink)}
/* Payment Element simulé : même anatomie que Stripe (onglets, champs, logos) */
.pe{border:1px solid var(--line);padding:var(--s2);display:grid;gap:var(--s2)}
.pe .tabs2{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pe .tabs2 button{height:44px;border:1px solid var(--line);background:#fff;font:inherit;font-size:13px;cursor:pointer}
.pe .tabs2 button[aria-selected="true"]{border-color:var(--fg);outline:1px solid var(--fg)}
.pe .cards{display:flex;gap:6px}
.pe .cards span{border:1px solid var(--line);font-size:10px;padding:1px 6px;letter-spacing:.04em}
.pe .note{font-size:12px;color:var(--ink-3)}
.pay-btn{width:100%;min-height:52px}
.legal-pay{font-size:12px;color:var(--muted);line-height:1.5}
.recap{border:1px solid var(--line);padding:var(--s3);display:grid;gap:12px;position:sticky;top:calc(var(--nav-h) + 16px)}
.recap .it{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;font-size:13px}
.recap .it .th{aspect-ratio:1;background:var(--tile)}
.recap .it .th img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:8%}
.recap .it b{font-weight:500;display:block}
.recap .it span{color:var(--muted);font-size:12px}
.recap details summary{cursor:pointer;font-size:13px;list-style:none;color:var(--muted)}
/* confirmation */
.confirm{display:grid;gap:var(--s4);padding-block:var(--s3) var(--s6)}
.confirm .cols2{display:grid;gap:var(--s3)}
@media (min-width:900px){.confirm .cols2{grid-template-columns:1fr 1fr;column-gap:var(--s5)}}
.confirm .box{border:1px solid var(--line);padding:var(--s3);display:grid;gap:8px;font-size:14px}
.confirm .box h3{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:400;color:var(--muted)}
.next{display:grid;gap:var(--s2)}
.next>div{display:grid;grid-template-columns:28px 1fr;gap:12px;font-size:14px;padding-top:12px;border-top:1px solid var(--line)}
.next>div>i{font-style:normal;width:24px;height:24px;border:1px solid var(--fg);border-radius:50%;display:grid;place-items:center;font-size:11px}
.next div span{color:var(--muted)}
/* pages de confiance */
.trustpage{display:grid;gap:var(--s4);padding-bottom:var(--s6)}
@media (min-width:900px){.trustpage{grid-template-columns:220px minmax(0,1fr);gap:var(--s5);align-items:start}}
.toc{position:sticky;top:calc(var(--nav-h) + 16px);display:none;font-size:13px}
.toc a{display:block;padding:8px 0;border-top:1px solid var(--line-soft);text-decoration:none;color:var(--muted)}
.toc a:hover{color:var(--fg)}
@media (min-width:900px){.toc{display:block}}
.prose{max-width:70ch;display:grid;gap:var(--s2)}
.prose h2{font-size:1.375rem;font-weight:400;letter-spacing:-.015em;margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--line)}
.prose h2:first-child{margin-top:0;padding-top:0;border-top:0}
.prose h3{font-size:1rem;font-weight:500;margin-top:8px}
.prose p,.prose li{color:var(--muted);font-size:15px}
.prose ul{margin:0;padding-left:18px;display:grid;gap:6px}
.prose table{width:100%;border-collapse:collapse;font-size:13px}
.prose th,.prose td{text-align:left;padding:10px 8px 10px 0;border-bottom:1px solid var(--line);vertical-align:top;font-weight:400}
.prose th{color:var(--muted)}
.prose .callout{border:1px solid var(--line);padding:var(--s2) var(--s3);font-size:14px;color:var(--fg)}
.prose .upd{font-size:12px;color:var(--ink-3)}
.steps3{display:grid;gap:var(--s3)}
@media (min-width:700px){.steps3{grid-template-columns:repeat(3,1fr)}}
.steps3 div{padding-top:var(--s2);border-top:1px solid var(--line);display:grid;gap:6px}
.steps3 b{font-weight:500}
.steps3 p{font-size:14px;color:var(--muted)}
.photo-wide{aspect-ratio:21/9;overflow:hidden;margin-bottom:var(--s4)}
.photo-wide img{width:100%;height:100%;object-fit:cover}

/* ===== corrections audit acheteurs (19/10) ===== */
.todo{background:#FFF3C4;color:#6B4E00;padding:0 4px;border-radius:2px}
.hide-m{display:none}
@media (min-width:1000px){.hide-m{display:inline}}
/* tiroir de navigation mobile */
.drawer{position:fixed;inset:0;z-index:40;display:none}
.drawer.open{display:block}
.drawer .bg{position:absolute;inset:0;background:rgba(0,0,0,.28)}
.drawer .panel{position:absolute;left:0;top:0;bottom:0;width:min(86vw,360px);background:#fff;padding:calc(16px + env(safe-area-inset-top,0px)) 20px 24px;overflow-y:auto;display:grid;align-content:start;gap:4px;animation:drawer-in .28s var(--ease)}
@keyframes drawer-in{from{transform:translateX(-100%)}to{transform:none}}
.drawer .close{justify-self:end;background:none;border:0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;height:44px;cursor:pointer;padding:0 4px}
.drawer a{display:block;padding:14px 0;border-top:1px solid var(--line-soft);text-decoration:none;font-family:var(--font-display);font-size:1.375rem;font-weight:300;letter-spacing:-.015em}
.drawer a.small{font-family:var(--font);font-size:13px;font-weight:400;padding:11px 0;color:var(--muted)}
.drawer .acc{border-top:1px solid var(--line-soft);display:flex;align-items:center;justify-content:space-between}
.drawer .acc>a{flex:1;border-top:0}
.drawer .acc button{width:44px;height:44px;background:none;border:0;cursor:pointer;position:relative;flex:none}
.drawer .acc button span::before,.drawer .acc button span::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1px;background:var(--ink-3);transform:translate(-50%,-50%)}
.drawer .acc button span::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform var(--t1) var(--ease)}
.drawer .acc button[aria-expanded="true"] span::after{transform:translate(-50%,-50%) rotate(0)}
.drawer .sub{display:grid;padding:0 0 12px 12px}
.drawer .sub[hidden]{display:none}
.drawer .sub a.small{border-top:0;padding:9px 0;color:var(--fg)}
.drawer .grp{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:18px 0 4px}
/* cibles tactiles 44 px, champs 16 px */
.stickybuy .btn{min-height:44px}
.fins button{width:44px;height:44px}
.qty{height:48px}.qty button{width:44px}
.line .ctl .qty{height:44px}.line .ctl .qty button{width:44px}
.promo input,.promo button{height:44px;font-size:16px}.promo button{font-size:11px}
.summary select{height:44px;font-size:16px}
.toolbar button,.toolbar select{height:44px}.toolbar select{font-size:16px}
.filters .sw button{width:32px;height:32px;margin:6px 6px 6px 0}
.filters .range input{height:44px;font-size:16px;width:84px}
.filters label{min-height:40px;align-items:center}
.news input{font-size:16px}
.pe .tabs2 button{height:48px}
textarea.gift{min-height:88px;border:1px solid var(--line);padding:12px 14px;font:inherit;font-size:16px;width:100%;resize:vertical}
.cnt{font-size:12px;color:var(--ink-3);text-align:right}
/* fiche : prix et pays */
.buy .country{font-size:12px;color:var(--muted);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.buy .country select{height:36px;border:1px solid var(--line);background:#fff;font:inherit;font-size:16px;padding:0 8px;max-width:100%}
/* la tabbar s'efface quand la barre d'achat est visible */
body.buying .tabbar{transform:translateY(100%);transition:transform var(--t2) var(--ease)}
body.buying .stickybuy{bottom:0}
.tabbar{transition:transform var(--t2) var(--ease)}
.ia{font-size:11px;color:var(--ink-3)}

.empty[hidden]{display:none}
.confirm,.confirm .box,.confirm .cols2>*{min-width:0}
.confirm .box .row{gap:12px;flex-wrap:wrap}
.confirm p,.confirm small{overflow-wrap:anywhere}
.confirm .box{grid-template-columns:minmax(0,1fr)}
.confirm .row{display:flex;justify-content:space-between;gap:12px;min-width:0;flex-wrap:wrap;font-size:14px}
.confirm .total{display:flex;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid var(--line);font-weight:500}
.confirm small{display:block;font-size:12px}

/* pages catégorie générées, blog */
.plp-1{display:block}
.empty-cat{color:var(--muted);max-width:52em;padding:var(--s3) 0;grid-column:1/-1}
.byline{font-size:12px;color:var(--ink-3);margin-top:8px}
.links-row{display:flex;flex-wrap:wrap;gap:12px 24px}
.prose.guide .todo{display:block;padding:var(--s2)}
.link-btn{background:none;border:0;padding:0;font:inherit;font-size:12px;color:var(--fg);text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:44px}

/* bandeau cookies */
.consent{position:fixed;left:0;right:0;bottom:calc(60px + env(safe-area-inset-bottom,0px));z-index:35;padding:0 max(12px,env(safe-area-inset-left,0px)) 12px}
.consent[hidden]{display:none}
.consent-box{max-width:720px;margin:0 auto;background:#fff;border:1px solid var(--line);box-shadow:0 20px 50px -30px rgba(0,0,0,.35);padding:var(--s2) var(--s3);display:grid;gap:12px;font-size:14px;color:var(--muted)}
.consent-box b{color:var(--fg);font-weight:500}
.consent-box a{color:var(--fg)}
.consent-opts{display:grid;gap:8px}
.consent-opts label{display:flex;gap:10px;align-items:flex-start;font-size:13px;min-height:24px}
.consent-opts input{margin-top:3px;width:16px;height:16px;flex:none}
.consent-btns{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.consent-btns .btn{min-height:44px;padding:0 18px}
.btn-ghost{min-height:44px;padding:0 16px;background:none;border:1px solid var(--line);font:inherit;font-size:11px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;color:var(--fg)}
@media (min-width:900px){.consent{bottom:0}}

/* nav entre 1000 et 1400 px : 6 univers + blog sur une ligne, collection du moment dans le tiroir et le footer */
@media (min-width:1000px) and (max-width:1399px){.nav ul{gap:14px}.nav .l,.nav .r{gap:14px}.nav ul a{letter-spacing:.06em}.nav ul li.only-xl{display:none}.search{width:120px}.nav .wrap{grid-template-columns:auto auto 1fr}.nav .wrap .wordmark{justify-self:center}}

/* page Par pièces */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips a{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border:1px solid var(--line);font-size:13px;text-decoration:none;color:var(--fg)}
.chips a:hover{border-color:var(--fg)}
.toc-rooms{margin-top:var(--s3)}
.room{display:grid;gap:var(--s3);padding-block:var(--s4);border-top:1px solid var(--line-soft)}
.room .ph{aspect-ratio:4/3}
.room-txt{display:grid;gap:14px;align-content:start}
.room-txt p{color:var(--muted);max-width:44em}
@media (min-width:900px){.room{grid-template-columns:5fr 7fr;gap:var(--s5);padding-block:var(--s5)}.room .ph{aspect-ratio:4/5}.room:nth-child(even) .ph{order:2}}

/* le menu ne passe jamais à la ligne */
.nav ul.menu,.nav .l{flex-wrap:nowrap}
.nav ul.menu{align-items:center}
.nav .menu>li{flex:none}

/* pictos filaires de catégorie */
.ico{width:18px;height:18px;flex:none;color:var(--ink-3)}
.mega ul a{display:inline-flex;align-items:center;gap:10px}
.mega ul a:hover .ico{color:var(--fg)}
.drawer .sub a.small{display:flex;align-items:center;gap:12px}
.drawer .sub a.small .ico{width:20px;height:20px;color:var(--ink-2)}

/* boutique : filtres */
.f-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;font-size:13px}
.filters label span:first-child{display:inline-flex;align-items:center;gap:8px;color:var(--fg)}
.filters .dot{width:12px;height:12px;border-radius:50%;border:1px solid var(--line);display:inline-block}
.filters .presets{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:6px}
.filters .presets button{min-height:32px;padding:0 10px;border:1px solid var(--line);background:#fff;font:inherit;font-size:12px;cursor:pointer}
.filters .presets button:hover{border-color:var(--fg)}
.f-apply{width:100%;margin-top:var(--s2)}
.chips.active{margin:12px 0 0}
.chips.active button{min-height:32px;padding:0 10px;border:1px solid var(--line);background:var(--stone);font:inherit;font-size:12px;cursor:pointer}
@media (min-width:900px){.f-apply{display:none}}
@media (max-width:899px){.filters.show{position:fixed;inset:0;z-index:36;background:#fff;overflow:auto;padding:16px max(16px,env(safe-area-inset-right)) 24px max(16px,env(safe-area-inset-left))}body.filters-open{overflow:hidden}}

.grid-prod .prod[hidden]{display:none}
.f-head span{display:flex;gap:16px}
@media (min-width:900px){.f-close{display:none}}
.badge.todo{background:#FFF3C4;color:#6B4E00;border:0}
.badge+.badge+.badge{top:68px}

/* colonne d'achat : prix + pays sur un bloc, réassurance lisible */
.pricebox{display:grid;gap:6px}
.pricebox .price{margin:0}
.pricebox .price small{display:inline;margin-left:8px}
.buy .country{font-size:13px}
.trustlist{list-style:none;margin:0;padding:var(--s2) 0 0;border-top:1px solid var(--line);display:grid;gap:10px}
.trustlist li{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;font-size:13px;align-items:baseline}
.trustlist li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brass);align-self:center}
.trustlist b{font-weight:500;color:var(--fg)}
.trustlist span{grid-column:2;color:var(--muted)}

/* packshots : toujours contenus et centrés dans la tuile carrée, quelle que soit la proportion du fichier */
.prod .tile img,.subcat .tile img,.related .tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 50%;mix-blend-mode:multiply;padding:7%}
.prod .tile img.cover,.subcat .tile img.cover{object-fit:cover;mix-blend-mode:normal;padding:0}
.subcat .tile{position:relative}
/* réassurance en cartes */
.trustcards{list-style:none;margin:0;padding:var(--s2) 0 0;display:grid;gap:10px}
.trustcards li{border:1px solid var(--line);padding:12px 14px;display:grid;grid-template-columns:22px 1fr;gap:4px 12px;align-items:start;font-size:13px}
.trustcards svg{width:20px;height:20px;color:var(--brass);grid-row:span 2;margin-top:1px}
.trustcards b{font-weight:500;color:var(--fg)}
.trustcards span{color:var(--muted);line-height:1.4}
@media (min-width:1100px){.trustcards{grid-template-columns:repeat(3,1fr)}.trustcards li{grid-template-columns:1fr;gap:6px}.trustcards svg{grid-row:auto}}

/* variantes : pastilles couleur (rondes) et dimension (rectangulaires) */
.vars{display:grid;gap:10px}
.vars .t-label{margin:0}
.fins{display:flex;gap:10px;flex-wrap:wrap}
.fins button{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);cursor:pointer;padding:0;position:relative}
.fins button[aria-pressed="true"]{box-shadow:0 0 0 2px #fff,0 0 0 3px var(--fg)}
.sizes{display:flex;gap:8px;flex-wrap:wrap}
.size{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1px solid var(--line);background:#fff;font:inherit;font-size:13px;color:var(--fg);text-decoration:none;cursor:pointer}
.size:hover{border-color:var(--fg)}
.size[aria-pressed="true"]{border-color:var(--fg);box-shadow:inset 0 0 0 1px var(--fg)}

/* cadrage : une scène carrée s'affiche entière, jamais rognée */
.ph.sq{aspect-ratio:1}
.scene2 .ph.sq{aspect-ratio:1;max-width:720px}
.room .ph{aspect-ratio:1}
@media (min-width:900px){.room .ph{aspect-ratio:1}}
.post .ph{aspect-ratio:1}
/* disponibilité sur la fiche */
.instock{display:inline-flex;align-items:center;gap:7px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ok)}
.instock::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px rgba(46,125,79,.15)}
.sel .ph{aspect-ratio:1}

/* sélecteur de quantité : boutons visibles quel que soit le navigateur ou la police */
.qty{background:#fff}
.qty button{display:grid;place-items:center;color:var(--fg);cursor:pointer;min-width:44px;-webkit-appearance:none;appearance:none;border:0;background:none}
.qty button:first-child{border-right:1px solid var(--line-soft)}
.qty button:last-child{border-left:1px solid var(--line-soft)}
.qty button svg{width:16px;height:16px}
.qty span{min-width:32px;text-align:center;font-size:15px}
.qty button:hover{background:var(--stone)}

/* bloc SEO de la home en deux colonnes */
.seo-2col .cols{display:grid;gap:0 var(--s5)}
.seo-2col .cols>div{break-inside:avoid}
@media (min-width:900px){.seo-2col{max-width:none}.seo-2col h2{max-width:24ch}.seo-2col .cols{grid-template-columns:1fr 1fr;align-items:start}.seo-2col .lead{grid-column:1/-1;max-width:70ch}.seo-2col h3{margin-top:var(--s3)}}

/* guide d'achat des catégories : sections lisibles au lieu d'un pavé */
.guide-cat{padding-block:var(--s6);border-top:1px solid var(--line);display:grid;gap:var(--s4)}
.guide-cat .t-label{margin-bottom:10px}
.g-head h2{max-width:18ch}
.g-lead{font-size:clamp(1.0625rem,1rem + .35vw,1.25rem);line-height:1.5;color:var(--fg);max-width:60ch}
.g-lead p{margin:0}
.g-grid{display:grid;gap:var(--gap)}
.g-card{position:relative;border:1px solid var(--line);padding:var(--s3) var(--s3) var(--s3);display:grid;gap:10px;align-content:start;background:#fff}
.g-card .g-num{font-size:11px;letter-spacing:.08em;color:#856A3D;font-weight:500}
.g-card h3{font-size:1.0625rem;font-weight:500;line-height:1.3;margin:0}
.g-card p{color:var(--muted);font-size:15px;line-height:1.55;margin:0}
.g-card p+p{margin-top:8px}
.g-table{border:1px solid var(--line);padding:var(--s3);background:var(--stone)}
.g-table table{width:100%;border-collapse:collapse;font-size:14px}
.g-table th{text-align:left;font-weight:400;color:var(--muted);padding:8px 10px 10px 0;border-bottom:1px solid var(--line)}
.g-table td{padding:11px 10px 11px 0;border-bottom:1px solid var(--line-soft);vertical-align:top}
.g-table tr:last-child td{border-bottom:0}
.g-table td:first-child{color:var(--fg);font-weight:500}
.g-note{border-left:2px solid var(--brass);padding:4px 0 4px var(--s3);max-width:62ch}
.g-note p{color:var(--muted);margin:0;font-size:15px;line-height:1.55}
@media (min-width:900px){
  .guide-cat{grid-template-columns:repeat(12,1fr);column-gap:var(--gap)}
  .g-head{grid-column:1/5}
  .g-lead{grid-column:5/13;align-self:end}
  .g-grid{grid-column:1/13;grid-template-columns:repeat(2,1fr)}
  .g-table{grid-column:1/13}
  .g-note{grid-column:5/13}
}
@media (min-width:1200px){.g-grid{grid-template-columns:repeat(3,1fr)}}

/* maillage contextuel */
.links-row.ctx{gap:8px 18px;margin-bottom:var(--s3);font-size:14px}
.links-row.ctx a{border-bottom:1px solid var(--line);padding-bottom:1px}
.links-row.ctx a:hover{border-color:var(--ink)}
.g-card p a,.g-lead p a,.prose p a,.seo p a{border-bottom:1px solid var(--line);transition:border-color .2s}
.g-card p a:hover,.g-lead p a:hover,.prose p a:hover,.seo p a:hover{border-color:var(--ink)}

/* produit hors ligne (piloté par le hub) */
.offline{margin-top:12px;padding:12px 14px;background:var(--stone);font-size:14px;color:var(--fg)}
.offline a{text-decoration:underline}
.btn[disabled]{opacity:.45;cursor:not-allowed}

/* sous-catégorie sans produit : picto de la marque à la place d'un visuel */
.subcat .tile-ico{display:grid;place-items:center;width:100%;height:100%;color:var(--brass)}
.subcat .tile-ico svg{width:34%;height:34%;stroke-width:1.2}

/* éléments masqués par le hub (hors ligne) */
.instock[hidden],.prod[hidden],.offline[hidden]{display:none!important}

/* pastilles de coloris sous les cartes (bicolore = pastille coupée en deux) */
.prod .meta .sws{grid-column:1/-1;display:flex;align-items:center;gap:6px;margin-top:6px}
.prod .meta .sws i{width:14px;height:14px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.14);flex:none}
.prod .meta .sws em{font-style:normal;font-size:12px;color:var(--muted);margin-left:2px}

/* Mon compte */
.acc-form{display:grid;gap:var(--s2);max-width:440px;margin-bottom:var(--s5)}
.acc-msg{min-height:1.4em;font-size:14px}.acc-msg.ok{color:var(--ok)}.acc-msg.ko{color:#a8332d}
.linkbtn{background:none;border:0;padding:0;font:inherit;font-size:14px;text-decoration:underline;cursor:pointer;color:var(--fg);justify-self:start}
.acc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s2);flex-wrap:wrap}
.acc-tabs{display:flex;gap:var(--s3);border-bottom:1px solid var(--line);margin-bottom:var(--s4)}
.acc-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:10px 0;font:inherit;font-size:14px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;color:var(--muted)}
.acc-tabs button[aria-selected=true]{color:var(--fg);border-color:var(--fg)}
.acc-panel{padding-bottom:var(--s6)}
.acc-order{border:1px solid var(--line);margin-bottom:var(--s2)}
.acc-order header{display:flex;justify-content:space-between;align-items:center;gap:var(--s2);padding:14px 16px;border-bottom:1px solid var(--line-soft);flex-wrap:wrap}
.acc-order-body{padding:14px 16px;display:grid;gap:8px}
.acc-status{font-size:12px;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;background:var(--tile)}
.acc-status.s-delivered{background:#e6f1ea;color:#2f5d3f}.acc-status.s-refunded,.acc-status.s-cancelled{background:#f4e5e3;color:#8a3a2b}
.acc-detail ul{margin:0;padding-left:18px}
.acc-addr{display:grid;gap:var(--s3);max-width:560px}.acc-addr fieldset{border:0;padding:0;margin:0;display:grid;gap:var(--s2)}
.acc-row{display:grid;grid-template-columns:1fr 2fr;gap:var(--s2)}
.acc-same{display:flex;gap:10px;align-items:center;font-size:14px}
.acc-empty{display:grid;gap:var(--s2);justify-items:start}

/* un élément masqué reste masqué, quel que soit son display */
[hidden]{display:none!important}

/* zoom des images produit : loupe au survol (souris), plein écran au clic */
.gallery .main{cursor:zoom-in}
.gallery .main img{transition:transform .25s ease;transform-origin:50% 50%}
.gallery .main.hovering img{transform:scale(2);transition:transform .12s ease}
.zoom-btn{position:absolute;right:12px;bottom:12px;z-index:2;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.92);display:grid;place-items:center;cursor:pointer;color:var(--fg)}
.zoom-btn svg{width:20px;height:20px}
.lb{position:fixed;inset:0;z-index:200;background:#F4F4F2;display:grid;grid-template-rows:auto 1fr auto}
.lb-top{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;font-size:13px;color:var(--muted)}
.lb-close{background:none;border:0;width:44px;height:44px;display:grid;place-items:center;cursor:pointer;color:var(--fg)}
.lb-close svg,.lb-nav svg{width:22px;height:22px}
.lb-stage{position:relative;overflow:hidden;display:grid;place-items:center;touch-action:pan-y pinch-zoom}
.lb-stage img{max-width:min(92vw,1400px);max-height:calc(100vh - 140px);object-fit:contain;transition:transform .2s ease;cursor:zoom-in;user-select:none;-webkit-user-drag:none}
.lb-stage img.ps{mix-blend-mode:multiply}
.lb-stage.zoomed img{transform:scale(2.4);cursor:zoom-out}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.92);display:grid;place-items:center;cursor:pointer;color:var(--fg)}
.lb-prev{left:16px}.lb-next{right:16px}
.lb-thumbs{display:flex;gap:8px;justify-content:center;padding:12px 16px;overflow-x:auto}
.lb-thumbs button{flex:0 0 56px;height:56px;border:1px solid transparent;background:#fff;padding:0;cursor:pointer}
.lb-thumbs button[aria-current=true]{border-color:var(--fg)}
.lb-thumbs img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
@media (max-width:700px){.lb-nav{width:40px;height:40px}.lb-prev{left:8px}.lb-next{right:8px}.lb-stage img{max-width:100vw}}
@media (prefers-reduced-motion:reduce){.gallery .main img,.lb-stage img{transition:none}}

/* Recherche du menu (20/10) */
.search{position:relative}
.search input{flex:1;min-width:0;border:0;background:none;font:inherit;font-size:13px;color:var(--fg);padding:0;outline:none}
.search input::placeholder{color:var(--ink-3)}
.search input::-webkit-search-cancel-button{display:none}
.search button{border:0;background:none;padding:0;margin-left:auto;color:var(--fg);cursor:pointer;display:flex}
.search:focus-within{border-bottom-color:var(--fg)}
.sr-list{position:absolute;top:calc(100% + 8px);right:0;width:360px;background:var(--bg);border:1px solid var(--line);box-shadow:0 12px 32px rgba(0,0,0,.08);z-index:60;padding:6px}
.sr-list a{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:8px;color:var(--fg);text-decoration:none}
.sr-list a:hover,.sr-list a:focus{background:var(--bg-2,#f3f3f1)}
.sr-list img{width:44px;height:44px;object-fit:contain;background:#f3f3f1}
.sr-list b{display:block;font-weight:500;font-size:13px}
.sr-list small{display:block;color:var(--ink-3);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}
.sr-list em{font-style:normal;font-size:13px}
.sr-all{width:100%;border:0;border-top:1px solid var(--line);background:none;padding:10px 8px;font:inherit;font-size:12px;text-align:left;cursor:pointer;color:var(--fg);text-decoration:underline}
.sr-none{padding:10px 8px;margin:0;font-size:13px;color:var(--ink-3)}

/* Images rangées dans le hub (photos fournisseur) : jamais rognées sur la fiche, cadrées en carré sur les cartes (20/10) */
.prod .tile img.ph,.subcat .tile img.ph{object-fit:cover;mix-blend-mode:multiply;padding:0}/* packshot sur fond blanc : le blanc se fond dans la tuile comme un détourage (22/10) */
.gallery .main img.ph,.lb-stage img.ph{object-fit:contain;mix-blend-mode:normal;padding:0;background:#fff}
.gallery .thumbs img.ph{object-fit:cover;mix-blend-mode:normal;padding:0}
/* blog (22/10) : mise en page inspirée des pages blog Helioneon, dans la charte Tove & Co */
.b-kicker{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.b-more{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg)}
.b-more::after{content:" →"}
/* index */
.b-hero{padding-block:var(--s3) var(--s4);display:grid;gap:var(--s2);justify-items:center;text-align:center}
.b-hero h1{font-size:clamp(2.25rem,1.3rem + 4vw,5rem);line-height:1;letter-spacing:-.03em;font-weight:200;max-width:16ch}
.b-head__intro{color:var(--muted);max-width:60ch;font-size:16px}
.b-head__intro a,.b-by a,.b-author a:not(.link){border-bottom:1px solid var(--line);text-decoration:none}
.b-search{width:100%;max-width:520px;margin-top:8px}
.b-search input{width:100%;min-height:52px;padding:0 20px;border:1px solid var(--line);border-radius:999px;background:var(--stone);font:inherit;font-size:16px;color:var(--fg)}
.b-search input:focus{outline:2px solid var(--fg);outline-offset:2px;background:#fff}
.b-stats{list-style:none;margin:var(--s2) 0 0;padding:0;display:flex;gap:clamp(24px,5vw,64px);justify-content:center}
.b-stats li{display:grid;gap:2px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.b-stats b{font-family:var(--font-display);font-size:clamp(1.75rem,1.2rem + 1.6vw,2.5rem);font-weight:300;letter-spacing:-.02em;text-transform:none;color:var(--fg)}
.b-chips{display:flex;gap:8px;overflow-x:auto;padding:var(--s2) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:var(--s4);scrollbar-width:none}
@media (min-width:900px){.b-chips{justify-content:center;flex-wrap:wrap}}
.b-chip{flex:none;min-height:40px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:13px;color:var(--fg);cursor:pointer;transition:background var(--t1),color var(--t1)}
.b-chip span{color:var(--ink-3);margin-left:4px}
.b-chip.on{background:var(--fg);color:#fff;border-color:var(--fg)}
.b-chip.on span{color:rgba(255,255,255,.6)}
.b-feat{display:grid;text-decoration:none;background:var(--stone);margin-bottom:var(--s5)}
.b-feat__media{aspect-ratio:3/2;overflow:hidden}
.b-feat__media img{transition:transform var(--t3) var(--ease)}
.b-feat:hover .b-feat__media img{transform:scale(1.03)}
.b-feat__body{display:grid;gap:14px;align-content:center;padding:clamp(24px,4vw,56px)}
.b-feat__body h2{font-size:clamp(1.625rem,1.1rem + 1.8vw,2.75rem);line-height:1.1;letter-spacing:-.02em;font-weight:300}
.b-feat__body p{color:var(--muted)}
.b-meta{font-size:12px;color:var(--ink-3)}
@media (min-width:900px){.b-feat{grid-template-columns:1.35fr 1fr}.b-feat__media{aspect-ratio:auto;min-height:440px}}
.b-grid{display:grid;gap:var(--s4) var(--gap)}
@media (min-width:640px){.b-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.b-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.b-card{display:grid;align-content:start;gap:14px;text-decoration:none}
.b-card[hidden],.b-feat[hidden]{display:none}
.b-card__media{position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--tile)}
.b-card__media img{transition:transform var(--t3) var(--ease)}
.b-card:hover .b-card__media img{transform:scale(1.04)}
.b-badge{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.92);padding:4px 10px;border-radius:999px;font-size:11px;letter-spacing:.04em}
.b-card__body{display:grid;gap:8px}
.b-card h3{font-size:1.1875rem;font-weight:400;line-height:1.3;letter-spacing:-.01em}
.b-card p{color:var(--muted);font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.b-card .b-meta{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-top:4px}
.b-card:hover h3{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.b-empty{padding:var(--s4) 0;color:var(--muted)}
.b-empty a{text-decoration:underline}
.b-all{padding-bottom:var(--s5)}
/* auteur */
.b-av{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--stone);border:1px solid var(--line);font-family:var(--font-display);font-size:13px;font-weight:500;color:var(--fg);flex:none}
.b-av--l{width:64px;height:64px;font-size:24px;font-weight:300}
.b-author{display:flex;gap:var(--s3);align-items:flex-start;border:1px solid var(--line);padding:clamp(20px,3vw,32px);margin-top:var(--s4);font-size:14px;color:var(--muted)}
.b-author>div{display:grid;gap:8px}
.b-author__name{font-family:var(--font-display);font-size:1.125rem;color:var(--fg)}
.b-author__links{display:flex;gap:var(--s3);flex-wrap:wrap;margin-top:4px}
.b-author--index{margin-bottom:var(--s5)}
/* article */
.b-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:200;pointer-events:none}
.b-progress span{display:block;height:100%;background:var(--fg);transform:scaleX(0);transform-origin:0 50%}
.b-head{display:grid;gap:var(--s2);justify-items:center;text-align:center;padding-block:var(--s3) var(--s4)}
.b-pill{display:inline-block;padding:6px 14px;border:1px solid var(--line);border-radius:999px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
.b-pill:hover{background:var(--fg);color:#fff}
.b-head h1{font-size:clamp(2rem,1.2rem + 3vw,4rem);line-height:1.05;letter-spacing:-.025em;font-weight:300;max-width:22ch}
.b-by{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 18px;font-size:13px;color:var(--muted)}
.b-by>span:not(.b-av)+span::before{content:"·";margin-right:18px;color:var(--ink-3)}
.b-by .b-av+span::before{content:none}
.b-cover{margin:0 auto var(--s5);max-width:1200px}
.b-cover img{width:100%;aspect-ratio:16/9;object-fit:cover}
@media (max-width:639px){.b-cover{margin-inline:calc(-1 * var(--gutter))}.b-cover img{aspect-ratio:4/3}}
.b-article{display:grid;gap:var(--s4);max-width:1200px;margin-inline:auto;padding-bottom:var(--s5)}
.b-side{display:none}
@media (min-width:1000px){.b-article{grid-template-columns:260px minmax(0,1fr);gap:clamp(40px,6vw,96px)}.b-side{display:block}.b-toc-m{display:none}}
.b-sticky{position:sticky;top:calc(var(--nav-h) + 24px);display:grid;gap:var(--s3)}
.b-toc ol,.b-toc-m ol{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:2px;counter-reset:t}
.b-toc a,.b-toc-m a{display:block;padding:6px 0 6px 12px;border-left:1px solid var(--line);font-size:13px;line-height:1.4;color:var(--muted);text-decoration:none}
.b-toc a:hover,.b-toc a.on{color:var(--fg);border-left-color:var(--fg)}
.b-shopcard{background:var(--stone);padding:20px}
.b-shopcard ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.b-shopcard a{font-size:14px;text-decoration:none;border-bottom:1px solid var(--line)}
.b-shopcard a::after{content:" →"}
.b-toc-m{border:1px solid var(--line);padding:14px 16px;margin-bottom:var(--s3)}
.b-toc-m summary{cursor:pointer;font-size:11px;letter-spacing:.08em;text-transform:uppercase;list-style:none;display:flex;justify-content:space-between}
.b-toc-m summary::after{content:"+"}
.b-toc-m[open] summary::after{content:"–"}
.b-main{min-width:0;max-width:72ch}
.b-main .prose{max-width:none}
.b-main .prose p,.b-main .prose li{font-size:16px;line-height:1.75}
.b-main .prose h2{font-size:clamp(1.5rem,1.2rem + .8vw,1.875rem);scroll-margin-top:calc(var(--nav-h) + 20px)}
.b-main .prose .callout{background:var(--stone);border:0;padding:var(--s3)}
.prose .g-fig{margin:var(--s2) 0}
.prose .g-fig img{width:100%;height:auto;max-height:80vh;object-fit:contain;display:block}
.b-inline{display:grid;gap:12px;justify-items:start;background:var(--fg);color:#fff;padding:clamp(24px,4vw,40px);margin:var(--s3) 0}
.b-inline .b-kicker{color:rgba(255,255,255,.6)}
.b-inline__t{font-family:var(--font-display);font-size:1.25rem;line-height:1.35;color:#fff !important}
.b-inline .btn{background:#fff;color:var(--fg);border-color:#fff}
.b-inline .btn:hover{background:var(--stone)}
.b-faq{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--line);scroll-margin-top:calc(var(--nav-h) + 20px)}
.b-faq h2{margin-bottom:var(--s3)}
.b-share{margin-top:var(--s3);display:grid;gap:12px}
.b-share__row{display:flex;flex-wrap:wrap;gap:8px}
.b-share__btn{min-height:40px;padding:0 16px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:13px;color:var(--fg);text-decoration:none;cursor:pointer}
.b-share__btn:hover{border-color:var(--fg)}
.b-related{padding-bottom:var(--s5)}
.filters label[hidden],.filters details[hidden]{display:none}
/* panier : livraison offerte dès 89 € (22/10) */
.free{border:1px solid var(--line);padding:14px 16px;margin-bottom:var(--s3);display:grid;gap:10px;font-size:14px}
.free b{font-weight:500}
.free-bar{height:4px;background:rgba(0,0,0,.08);overflow:hidden}
.free-bar span{display:block;height:100%;background:var(--fg);transition:width var(--t2) var(--ease)}
.free.ok{border-color:var(--ok)}
.free.ok .free-bar span{background:var(--ok)}
/* paiement sans distraction (22/10) : logo seul */
.co-head{border-bottom:1px solid var(--line)}
.co-head .wrap{display:flex;align-items:center;justify-content:space-between;min-height:64px}
.co-head .wordmark{justify-self:auto}
.co-secure{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.co-secure::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);margin-right:8px;vertical-align:1px}
body:has(.co-head){padding-bottom:0}
