/* Lit-peigne : site. Couleurs de marque, Caprasimo (titres) + Montserrat (texte). Polices déclarées dans le <head> (inc/setup.php). */
:root{
  --bg:#F3F5F7; --surface:#FFFFFF; --sunk:#E6ECF1;
  --ink:#1B2833; --muted:#55616C; --line:#D3DCE3;
  --brand:#005584; --on-brand:#FFFFFF;
  --band:#005584; --on-band:#F2F7FB; --band-muted:#B5CDDD;
  --bois:#E9D6B4; --bois-ink:#5A4422;
  --ocre:#E36159; --on-ocre:#FFFFFF;
  --teal:#2BAAB1; --gris:#383F48;
  --ok:#1C7F86;
  --f-display:"Caprasimo", "Cooper Black", Georgia, system-ui, sans-serif;
  --f-body:"Montserrat", "Segoe UI", system-ui, sans-serif;
  --f-mono:"Montserrat", "Segoe UI", system-ui, sans-serif;
  --r:14px; --r-sm:8px; --wrap:1600px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 var(--f-body);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--f-display);font-weight:400;line-height:1.08;margin:0;text-wrap:balance;letter-spacing:0}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:400}
h3{font-size:1.2rem;font-weight:400}
p{margin:0}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(20px,3.5vw,48px)}
section{padding-block:clamp(56px,8vw,96px)}
.eyebrow{font:500 .74rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.lead{font-size:1.1rem;color:var(--muted);max-width:60ch}
.num{font-variant-numeric:tabular-nums}
:focus-visible{outline:3px solid var(--ocre);outline-offset:2px;border-radius:4px}
.btn{display:inline-flex;align-items:center;gap:.5em;padding:.8em 1.3em;border-radius:999px;font:600 1rem/1 var(--f-body);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .15s, background .15s}
.btn:hover{transform:translateY(-1px)}
.btn-brand{background:var(--brand);color:var(--on-brand)}
.btn-ocre{background:var(--ocre);color:var(--on-ocre)}
.btn-ghost{border-color:currentColor;background:transparent;color:inherit}
.cote{display:flex;align-items:center;gap:10px;font:500 .74rem/1 var(--f-mono);color:var(--muted);white-space:nowrap}
.cote::before,.cote::after{content:"";flex:1;height:1px;background:currentColor;opacity:.6}
.cote span{padding-inline:2px}
.cote.ends{position:relative}
.cote.ends::before{box-shadow:-1px 0 0 0 currentColor}
.topbar{background:var(--sunk);color:var(--ink);font-size:.85rem}
.topbar .wrap{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;padding-block:9px}
.topbar b{font-weight:700}
@media (max-width:700px){
  .topbar .wrap{gap:10px;font-size:.8rem}
  .topbar .sep,.topbar .opt{display:none}
}
.topbar .sep{opacity:.35}
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--band);color:var(--on-band)}
header.site .wrap{display:flex;align-items:center;gap:24px;padding-block:14px}
.logo{display:flex;align-items:baseline;gap:2px;font:400 1.5rem/1 var(--f-display);text-decoration:none;letter-spacing:0}
.logo i{font-style:normal;color:var(--ocre)}
.logo small{font:500 .74rem/1 var(--f-mono);color:var(--band-muted);margin-left:6px;letter-spacing:.06em}
nav.main{display:flex;gap:22px;margin-left:auto;font-weight:500}
nav.main a{text-decoration:none;opacity:.92}
nav.main a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}
.hdr-actions{display:flex;align-items:center;gap:14px}
.icon-btn{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:transparent;border:1px solid rgba(255,255,255,.22);color:inherit;cursor:pointer;position:relative}
.icon-btn svg{width:19px;height:19px}
.badge{position:absolute;top:-4px;right:-4px;background:var(--ocre);color:var(--on-ocre);font:700 .68rem/18px var(--f-body);min-width:18px;border-radius:9px;text-align:center}
.burger{display:none}
@media (max-width:520px){
  .hdr-actions .acct{display:none}
}
@media (max-width:960px){
  nav.main{display:none}
  .burger{display:grid}
  .hdr-actions{margin-left:auto}
  .hdr-actions .btn{display:none}
}
.hero{padding-block:clamp(28px,5vw,64px) clamp(40px,6vw,72px)}
.hero .wrap{display:grid;grid-template-columns:1.02fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr}
}
.hero h1{font-size:clamp(2.4rem,5.2vw,4.2rem);font-weight:400;margin-block:14px 18px}
.hero h1 em{font-style:normal;color:var(--brand)}
.hero .lead{margin-bottom:26px}
.choices{display:grid;gap:12px;max-width:600px}
.choice{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;padding:16px 18px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);text-decoration:none;transition:border-color .15s, transform .15s}
.choice:hover{border-color:var(--brand);transform:translateX(3px)}
.choice b{display:block;font:700 1.02rem/1.25 var(--f-body)}
.choice small{color:var(--muted);font-size:.9rem}
.choice .price{font:700 1.15rem/1 var(--f-body);text-align:right}
.choice .price small{display:block;font:500 .74rem/1.3 var(--f-mono);color:var(--muted);margin-top:4px}
.choice.featured{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}
.choice.featured small,.choice.featured .price small{color:inherit;opacity:.8}
.choice .tag{display:inline-block;font:600 .74rem/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--ocre);color:var(--on-ocre);padding:4px 7px;border-radius:4px;margin-bottom:6px}
.pay{margin-top:16px;font-size:.88rem;color:var(--muted)}
.stage{position:relative}
.stage-frame{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:1/1;background:var(--sunk);max-width:100%}
.stage-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s ease}
.stage-frame img.off{opacity:0}
.toggle{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;background:rgba(0,42,66,.8);backdrop-filter:blur(6px);padding:5px;border-radius:999px;gap:4px}
.toggle button{border:0;background:transparent;color:#F2F7FB;font:600 .92rem/1 var(--f-body);padding:10px 18px;border-radius:999px;cursor:pointer;display:flex;gap:8px;align-items:center}
.toggle button[aria-pressed="true"]{background:#F2F7FB;color:#1B2833}
.stage-dim{position:absolute;top:16px;left:16px;background:rgba(255,255,255,.92);color:#1B2833;font:500 .8rem/1 var(--f-mono);padding:8px 11px;border-radius:6px}
.stage .cote{margin-top:14px}
.trust{background:var(--surface);border-block:1px solid var(--line)}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding-block:0}
.trust-item{display:flex;gap:12px;align-items:flex-start;padding:22px 18px;border-left:1px solid var(--line)}
.trust-item:first-child{border-left:0}
.trust-item svg{flex:none;width:26px;height:26px;color:var(--brand)}
.trust-item b{display:block;font-weight:700}
.trust-item span{font-size:.88rem;color:var(--muted)}
@media (max-width:900px){
  .trust .wrap{grid-template-columns:1fr 1fr}
  .trust-item:nth-child(3){border-left:0}
  .trust-item{border-top:1px solid var(--line)}
  .trust-item:nth-child(-n+2){border-top:0}
}
@media (max-width:480px){
  .trust .wrap{grid-template-columns:1fr}
  .trust-item{border-left:0;border-top:1px solid var(--line)}
  .trust-item:first-child{border-top:0}
}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:36px}
.sec-head h2{margin-top:10px}
.grid-products{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:1040px){
  .grid-products{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:520px){
  .grid-products{grid-template-columns:1fr}
}
.card{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;transition:transform .2s, box-shadow .2s}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(0,40,70,.45)}
.card.hl{border:2px solid var(--brand)}
.card .ribbon{position:absolute;top:12px;left:12px;z-index:2;background:var(--brand);color:var(--on-brand);font:600 .74rem/1 var(--f-mono);letter-spacing:.05em;text-transform:uppercase;padding:6px 9px;border-radius:5px}
.card .ph{aspect-ratio:1/1;background:#fff;overflow:hidden}
.card .ph img{width:100%;height:100%;object-fit:cover}
.card .body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.card .sizes{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}
.chip{font:500 .74rem/1 var(--f-mono);border:1px solid var(--line);border-radius:5px;padding:5px 7px;color:var(--muted)}
.card .desc{font-size:.9rem;color:var(--muted)}
.card .foot{margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;align-items:flex-end;gap:10px}
.card .from{font-size:.75rem;color:var(--muted);display:block}
.card .p{font:700 1.35rem/1 var(--f-body)}
.card .ship{display:block;margin-top:4px;font-size:.78rem;color:var(--ok);font-weight:600}
.arrow{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--sunk);flex:none}
.card.hl .arrow{background:var(--brand);color:var(--on-brand)}
.how{background:var(--surface)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:s}
@media (max-width:800px){
  .steps{grid-template-columns:1fr}
}
.step{display:flex;flex-direction:column;gap:12px}
.step .ph{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:var(--sunk)}
.step .ph img{width:100%;height:100%;object-fit:cover}
.step h3::before{counter-increment:s;content:counter(s) " · ";font-family:var(--f-mono);font-weight:500;color:var(--muted);font-size:.9rem}
.step p{color:var(--muted)}
.finder{background:var(--band);color:var(--on-band);border-radius:24px;padding:clamp(26px,4vw,48px);display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(24px,4vw,56px);align-items:center;position:relative;overflow:hidden}
@media (max-width:860px){
  .finder{grid-template-columns:1fr}
}
.finder .eyebrow{color:var(--band-muted)}
.finder h2{margin-block:10px 14px}
.finder p{color:var(--band-muted)}
.finder-tool{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:22px}
.finder-tool label{display:block;font-weight:600;margin-bottom:12px}
.range-row{display:flex;align-items:center;gap:14px}
input[type=range]{flex:1;accent-color:var(--ocre);height:28px}
.range-val{font:700 1.4rem/1 var(--f-mono);min-width:5ch;font-variant-numeric:tabular-nums;text-align:right}
.slider-col{flex:1;min-width:0}
.slider-col input{width:100%}
.ruler{position:relative;height:1.1em;font:400 .74rem/1 var(--f-mono);color:var(--band-muted);margin-top:4px;padding-inline:2px}
.ruler span{position:absolute;left:calc(7px + var(--p) * (100% - 14px));transform:translateX(-50%)}
.result{margin-top:20px;padding:18px;border-radius:14px;background:var(--on-band);color:#1B2833;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}
.result .big{font:400 2.1rem/1 var(--f-display)}
.result small{display:block;color:#55616C;font-size:.85rem}
.result .btn{white-space:nowrap}
.result.none{grid-template-columns:1fr}
@media (max-width:520px){
  .result{grid-template-columns:1fr}
}
.ftabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:rgba(0,0,0,.18);border-radius:999px;padding:4px;margin-bottom:18px}
.ftabs button{border:0;background:transparent;color:var(--on-band);font:600 .9rem/1.2 var(--f-body);padding:10px 12px;border-radius:999px;cursor:pointer}
.ftabs button[aria-selected=true]{background:var(--on-band);color:#1B2833}
.ftabs button:focus-visible,.finder-tool select:focus-visible,.num-in input:focus-visible{outline:2px solid var(--ocre);outline-offset:2px}
.fgrid{display:grid;grid-template-columns:1fr 1.4fr;gap:12px}
@media (max-width:520px){
  .fgrid{grid-template-columns:1fr}
}
.finder-tool label{font-size:.9rem}
.finder-tool select{width:100%;font:500 .95rem/1.2 var(--f-body);padding:11px 36px 11px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:#F2F7FB url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231B2833' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center;color:#1B2833;appearance:none;-webkit-appearance:none}
.vdims{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0 18px}
.vdims div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:10px 12px}
.vdims dt{font:500 .72rem/1.3 var(--f-mono);color:var(--band-muted);text-transform:uppercase;letter-spacing:.05em}
.vdims dd{margin:4px 0 0;font:700 1.15rem/1 var(--f-body)}
@media (max-width:520px){
  .vdims div{padding:8px}
  .vdims dt{font-size:.62rem}
  .vdims dd{font-size:1rem}
  .ftabs button{font-size:.8rem;padding:9px 8px}
}
.lbl-row{display:flex!important;justify-content:space-between;align-items:baseline;gap:12px}
.range-val-s{font:700 1rem/1 var(--f-mono);white-space:nowrap}
#reserve{width:100%}
.num-in{display:flex;align-items:center;gap:6px;font:600 1rem/1 var(--f-mono)}
.num-in input{width:4.6em;font:700 1.25rem/1 var(--f-mono);padding:8px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:#F2F7FB;color:#1B2833;text-align:right}
.finder .mes-how{font-size:.85rem;margin:14px 0 0}
.result .calc-note{display:block;margin-top:4px;font:500 .78rem/1.4 var(--f-mono);color:#55616C}
.finder .hint{margin-top:14px;font-size:.85rem}
.finder .hint a{color:var(--on-band)}
.mat{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media (max-width:860px){
  .mat{grid-template-columns:1fr}
}
.mat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:16px}
.woods{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.wood{display:flex;flex-direction:column;gap:8px}
.wood img{height:auto;border-radius:10px;aspect-ratio:3/2;object-fit:cover;width:100%}
.wood b{font-family:var(--f-display);font-weight:400}
.wood span{font-size:.85rem;color:var(--muted)}
.specs{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;font-size:.92rem;margin:0}
.specs dt{font:500 .74rem/1.7 var(--f-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.specs dd{margin:0}
.swatches{display:flex;gap:10px;flex-wrap:wrap}
.sw{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:.75rem;color:var(--muted);background:none;border:0;cursor:pointer;padding:0;font-family:inherit}
.sw img{width:54px;height:54px;border-radius:50%;object-fit:cover;border:3px solid var(--surface);box-shadow:0 0 0 1px var(--line)}
.sw[aria-pressed="true"] img{box-shadow:0 0 0 2px var(--brand)}
.sw[aria-pressed="true"]{color:var(--ink);font-weight:600}
.vs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--surface)}
@media (max-width:760px){
  .vs{grid-template-columns:1fr}
}
.vs > div{padding:26px}
.vs .kit{background:var(--bois);color:var(--bois-ink)}
.vs h3{margin-bottom:14px}
.vs ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.vs li{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:start}
.vs li svg{width:18px;height:18px;margin-top:3px}
.vs .diy li svg{color:var(--muted)}
.vs .total{margin-top:18px;padding-top:14px;border-top:1px dashed currentColor;display:flex;justify-content:space-between;font-weight:700;opacity:.95}
.notice{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}
@media (max-width:760px){
  .notice{grid-template-columns:repeat(2,1fr)}
}
.notice figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px}
.notice img{height:auto;aspect-ratio:4/3;object-fit:contain;width:100%}
.notice figcaption{font:500 .74rem/1.3 var(--f-mono);color:#55616C}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:860px){
  .reviews{grid-template-columns:1fr}
}
.review{border:2px dashed var(--line);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:10px;background:var(--surface)}
.stars{color:var(--ocre);letter-spacing:2px}
.review .who{font-size:.85rem;color:var(--muted);margin-top:auto}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,5vw,64px)}
@media (max-width:860px){
  .faq-grid{grid-template-columns:1fr}
}
details{border-bottom:1px solid var(--line);padding-block:18px}
details:first-of-type{border-top:1px solid var(--line)}
summary{cursor:pointer;font:600 1.02rem/1.35 var(--f-body);list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font:400 1.4rem/1 var(--f-mono);color:var(--muted)}
details[open] summary::after{content:"−"}
details p{margin-top:10px;color:var(--muted);max-width:62ch}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:860px){
  .posts{grid-template-columns:1fr}
}
.post{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;text-decoration:none}
.post .ph{aspect-ratio:16/9;overflow:hidden;background:var(--sunk)}
.post .ph img{width:100%;height:100%;object-fit:cover}
.post .body{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1}
.post .body .cat{font:500 .74rem/1 var(--f-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.post .link{margin-top:auto;font-size:.88rem;font-weight:600;color:var(--brand);padding-top:6px}
.lead-box{background:var(--bois);color:var(--bois-ink);border-radius:24px;padding:clamp(26px,4vw,44px);display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:center}
@media (max-width:860px){
  .lead-box{grid-template-columns:1fr}
}
.lead-box p{opacity:.85;margin-top:10px}
.lead-form{display:flex;gap:8px;flex-wrap:wrap}
.lead-form input{flex:1;min-width:200px;padding:14px 16px;border-radius:999px;border:1px solid rgba(90,68,34,.35);background:#FFFDF8;color:#1B2833;font:inherit}
.lead-form .ok{flex-basis:100%;font-size:.9rem;font-weight:600}
footer.site{background:var(--band);color:var(--on-band);padding-block:56px 110px;margin-top:clamp(56px,8vw,96px)}
footer .cols{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px}
@media (max-width:860px){
  footer .cols{grid-template-columns:1fr 1fr}
}
footer h4{font:500 .74rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--band-muted);margin:0 0 14px}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:.92rem}
footer a{text-decoration:none;opacity:.9}
footer a:hover{text-decoration:underline}
footer .legal{margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);font-size:.8rem;color:var(--band-muted);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.sticky-buy{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--surface);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));display:none;align-items:center;gap:12px;box-shadow:0 -10px 30px -20px rgba(0,0,0,.4)}
.sticky-buy div{flex:1;line-height:1.25}
.sticky-buy b{font-family:var(--f-display);font-weight:400}
.sticky-buy small{display:block;color:var(--muted);font-size:.78rem}
@media (max-width:760px){
  .sticky-buy{display:flex;transition:transform .2s}
  .sticky-buy.off{transform:translateY(110%)}
}
[hidden]{display:none!important}
.cart-ov{position:fixed;inset:0;z-index:90;background:rgba(8,18,26,.5);opacity:0;transition:opacity .25s}
.cart-ov.on{opacity:1}
.cart-dr{position:fixed;top:0;right:0;bottom:0;z-index:91;width:min(440px,100vw);background:var(--surface);color:var(--ink);display:flex;flex-direction:column;transform:translateX(100%);visibility:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),visibility 0s .3s;box-shadow:-24px 0 48px -24px rgba(0,0,0,.4);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.cart-dr.on{transform:none;visibility:visible;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
body.cd-lock{overflow:hidden}
.cd-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}
.cd-head h2{font-size:1.5rem}
.cd-head h2 span{font:600 .95rem/1 var(--f-body);color:var(--muted);margin-left:4px}
.cd-x{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--ink);cursor:pointer;display:grid;place-items:center;flex:none}
.cd-x svg{width:18px;height:18px}
.cd-added{display:flex;gap:8px;align-items:center;background:color-mix(in srgb,var(--teal) 16%,transparent);font-weight:600;font-size:.9rem;padding:10px 20px}
.cd-added svg{width:18px;height:18px;color:var(--ok);flex:none}
.cd-body{flex:1;overflow-y:auto;padding:4px 20px 18px;overscroll-behavior:contain}
.cd-line{display:grid;grid-template-columns:76px 1fr auto;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.cd-line.new{animation:cdflash 1.8s ease-out}
@keyframes cdflash{0%{background:color-mix(in srgb,var(--teal) 24%,transparent)}100%{background:transparent}}
.cd-line img{width:76px;height:76px;border-radius:10px;object-fit:cover;background:var(--sunk)}
.cd-line b{display:block;font-size:.95rem;line-height:1.3}
.cd-line small{display:block;color:var(--muted);font-size:.82rem;margin-top:2px}
.cd-line .incl{color:var(--ok);font-weight:600}
.cd-ctl{display:flex;align-items:center;gap:12px;margin-top:10px}
.cd-qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px}
.cd-qty button{width:34px;height:34px;border:0;background:none;color:var(--ink);cursor:pointer;font:500 1.1rem/1 var(--f-body);border-radius:50%}
.cd-qty button:hover{background:var(--sunk)}
.cd-qty span{min-width:22px;text-align:center;font-weight:600;font-size:.9rem}
.cd-rm{background:none;border:0;padding:0;color:var(--muted);text-decoration:underline;font:inherit;font-size:.8rem;cursor:pointer}
.cd-price{font-weight:700;text-align:right;white-space:nowrap;font-size:.95rem}
.cd-up{margin-top:16px;padding:14px;border-radius:12px;background:var(--bois);color:var(--bois-ink);display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center}
.cd-up img{width:56px;height:56px;border-radius:8px;object-fit:cover}
.cd-up b{display:block;font-size:.92rem}
.cd-up p{font-size:.82rem;opacity:.9;margin-top:2px}
.cd-up .btn{grid-column:2;justify-self:start;padding:.6em 1em;font-size:.86rem;margin-top:2px}
.cd-xs{margin-top:16px;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;font-size:.88rem;text-decoration:none}
.cd-xs span{color:var(--muted)}
.cd-empty{text-align:center;padding:40px 0 10px;display:grid;gap:10px;justify-items:center}
.cd-empty svg{width:48px;height:48px;color:var(--line)}
.cd-empty b{font:400 1.4rem/1.2 var(--f-display)}
.cd-empty p{color:var(--muted);font-size:.92rem}
.cd-empty nav{display:grid;gap:8px;width:100%;margin-top:10px}
.cd-empty nav a{display:flex;justify-content:space-between;padding:12px 14px;border-radius:10px;background:var(--bg);text-decoration:none;font-weight:600;font-size:.92rem}
.cd-empty nav a span{color:var(--muted);font-weight:500}
.cd-foot{border-top:1px solid var(--line);padding:16px 20px 18px;display:grid;gap:7px}
.cd-row{display:flex;justify-content:space-between;gap:12px;font-size:.92rem}
.cd-row .ok{color:var(--ok);font-weight:600}
.cd-save{color:var(--ok);font-weight:600;font-size:.85rem}
.cd-total{font-weight:700;font-size:1.15rem;padding-top:8px;border-top:1px solid var(--line);margin-top:2px}
.cd-4x{font-size:.82rem;color:var(--muted)}
.cd-go{justify-content:center;width:100%;padding:1em;font-size:1.05rem;margin-top:6px}
.cd-sec{display:flex;justify-content:center;align-items:center;gap:6px;font-size:.78rem;color:var(--muted)}
.cd-sec svg{width:13px;height:13px}
.cd-cont{background:none;border:0;color:var(--brand);text-decoration:underline;font:inherit;font-size:.88rem;cursor:pointer;justify-self:center}
.crumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:.84rem;color:var(--muted);padding-block:18px 0}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.crumbs [aria-current]{color:var(--ink);font-weight:600}
section.pdp{padding-block:18px clamp(40px,6vw,72px)}
.pdp-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:start}
@media (max-width:900px){
  .pdp-grid{grid-template-columns:minmax(0,1fr)}
}
.gallery{position:sticky;top:calc(84px + env(safe-area-inset-top,0px))}
@media (max-width:900px){
  .gallery{position:static}
}
.g-main{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:1/1;background:var(--sunk)}
@media (max-width:900px){
  .g-main{aspect-ratio:4/3}
}
.g-main img{width:100%;height:100%;object-fit:cover}
.thumbs{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:10px}
@media (max-width:520px){
  .thumbs{grid-template-columns:repeat(7,56px);overflow-x:auto;padding-bottom:4px}
}
.thumb{padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:var(--sunk);cursor:pointer;aspect-ratio:1/1}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb[aria-pressed="true"]{border-color:var(--brand)}
.buy{display:flex;flex-direction:column;gap:18px}
.buy h1{font-size:clamp(2.1rem,3.6vw,3.1rem);margin-top:-6px}
.buy .eyebrow{display:block}
.rating{display:flex;align-items:center;gap:8px;font-size:.9rem;margin-top:-8px}
.pitch{font-size:1.05rem;max-width:52ch}
.price-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-block:4px}
.price{font:700 2.2rem/1 var(--f-body)}
.price-sub{font-size:.85rem;color:var(--muted);line-height:1.4}
fieldset.opt{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
fieldset.opt legend{display:flex;justify-content:space-between;width:100%;gap:12px;font-weight:600;padding:0;margin-bottom:10px}
.opt-link{font-weight:500;font-size:.86rem;color:var(--brand)}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.seg button,.woodpick button{font:inherit;color:inherit;background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:12px;cursor:pointer;text-align:left;transition:border-color .15s}
.seg button{display:flex;flex-direction:column;gap:4px}
.seg b{font-size:1.02rem}
.seg small,.woodpick small{color:var(--muted);font-size:.84rem}
.seg button:hover,.woodpick button:hover{border-color:var(--muted)}
.seg button[aria-pressed="true"],.woodpick button[aria-pressed="true"]{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}
.woodpick{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.woodpick button{display:flex;align-items:center;gap:12px;padding:8px 12px 8px 8px}
.woodpick img{width:52px;height:52px;border-radius:8px;object-fit:cover;flex:none}
.woodpick span{display:flex;flex-direction:column;line-height:1.3}
.fit{border:1px solid var(--line);border-radius:12px;padding:0 16px;background:var(--surface)}
.fit summary{padding-block:14px;font-size:.95rem}
.fit:first-of-type{border-top:1px solid var(--line)}
.fit-body{padding-bottom:16px;display:grid;gap:8px}
.fit-body label{font-size:.84rem;font-weight:600}
.fit-body select{font:inherit;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--ink)}
.fit-out{font-size:.92rem}
.fit-out b.ok{color:var(--ok)}
.fit-out b.ko{color:var(--ocre)}
.upsell{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:var(--bois);color:var(--bois-ink);border-radius:14px;padding:16px 18px}
.upsell > div{display:flex;flex-direction:column;gap:3px;flex:1;min-width:220px}
.upsell .tag{align-self:flex-start;font:600 .72rem/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--ocre);color:var(--on-ocre);padding:4px 7px;border-radius:4px;margin-bottom:4px}
.upsell small{font-size:.86rem;opacity:.9}
.upsell .btn{padding:.65em 1.1em;font-size:.92rem}
.atc{justify-content:center;width:100%;padding:1.05em 1.3em;font-size:1.08rem}
.atc-ok{font-size:.88rem;color:var(--ok);font-weight:600;margin-top:-8px}
.ship{list-style:none;padding:0;margin:0;display:grid;gap:10px;font-size:.92rem}
.ship li{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start}
.ship svg{width:20px;height:20px;color:var(--brand);margin-top:1px}
.feats-band{background:var(--surface);border-block:1px solid var(--line)}
.feats{display:grid;grid-template-columns:repeat(4,1fr)}
.feat{display:flex;flex-direction:column;gap:6px;padding:26px 22px;border-left:1px solid var(--line)}
.feat:first-child{border-left:0}
.feat svg{width:28px;height:28px;color:var(--brand);margin-bottom:4px}
.feat span{font-size:.9rem;color:var(--muted)}
@media (max-width:900px){
  .feats{grid-template-columns:1fr 1fr}
  .feat:nth-child(3){border-left:0}
  .feat:nth-child(n+3){border-top:1px solid var(--line)}
}
@media (max-width:480px){
  .feats{grid-template-columns:1fr}
  .feat{border-left:0;border-top:1px solid var(--line)}
  .feat:first-child{border-top:0}
}
.plan-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
@media (max-width:900px){
  .plan-grid{grid-template-columns:minmax(0,1fr)}
}
.plan{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(12px,2vw,24px);overflow-x:auto;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:22px 22px;background-position:-1px -1px}
.plan svg{width:100%;height:auto;min-width:320px;display:block}
.svg-lbl{font:600 15px var(--f-body)}
.svg-dim{font:700 15px var(--f-body)}
.svg-note{font:500 12px var(--f-body)}
#p-closed,#p-open,#d-len,#d-len-end,#p-trappe{transition:all .35s ease}
.specs-lg{font-size:1rem;gap:12px 22px}
.specs-lg dt{padding-top:2px}
.box-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:22px;align-items:start}
@media (max-width:900px){
  .box-grid{grid-template-columns:minmax(0,1fr)}
}
.carton{background:var(--bois);color:var(--bois-ink);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.carton ul{margin:0;padding-left:1.1em;display:grid;gap:6px}
.strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(170px,1fr);gap:12px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}
.strip figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;scroll-snap-align:start;position:relative}
.strip img{height:auto;aspect-ratio:4/3;object-fit:contain;width:100%}
.strip figcaption{position:absolute;top:8px;left:8px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;font:700 .8rem/1 var(--f-body)}
.compat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(24px,4vw,56px);align-items:center}
@media (max-width:860px){
  .compat{grid-template-columns:minmax(0,1fr)}
}
.vans{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.vans li{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:.9rem;font-weight:500}
.grid-products.g3{grid-template-columns:repeat(3,1fr)}
@media (max-width:860px){
  .grid-products.g3{grid-template-columns:1fr}
}
.incl{color:var(--ok)}
.save{margin-top:-8px;font-size:.95rem;background:color-mix(in srgb,var(--teal) 14%,transparent);border-radius:10px;padding:10px 14px}
.save b{color:var(--ok)}
.buy .swatches{gap:12px}
.buy .sw img{width:48px;height:48px}
.pack-sum{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:16px;align-items:start}
@media (max-width:900px){
  .pack-sum{grid-template-columns:minmax(0,1fr)}
  .pack-sum .op{justify-self:center}
}
.piece{display:flex;flex-direction:column;gap:10px}
.piece .ph{aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;background:var(--sunk)}
.piece .ph img{width:100%;height:100%;object-fit:cover}
.piece p{color:var(--muted);font-size:.95rem}
.piece .more{font-weight:600;color:var(--brand);font-size:.9rem;text-decoration:none}
.op{font:400 2.4rem/1 var(--f-display);color:var(--ocre);align-self:center;margin-top:-40px}
@media (max-width:900px){
  .op{margin-top:0}
}
.receipt{margin-top:36px;max-width:640px;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:22px 24px;font-size:.95rem;
  -webkit-mask:radial-gradient(circle 6px at 50% 0,#0000 98%,#000) 0 0/16px 51% repeat-x,radial-gradient(circle 6px at 50% 100%,#0000 98%,#000) 0 100%/16px 51% repeat-x;
  mask:radial-gradient(circle 6px at 50% 0,#0000 98%,#000) 0 0/16px 51% repeat-x,radial-gradient(circle 6px at 50% 100%,#0000 98%,#000) 0 100%/16px 51% repeat-x}
.r-head,.r-line,.r-total{display:grid;grid-template-columns:1fr 7.5em 7.5em;gap:12px;align-items:baseline}
.r-head span:first-child{grid-column:2;text-align:right}
.r-head span:last-child{text-align:right}
.r-head{font:500 .72rem/1.2 var(--f-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-bottom:10px;border-bottom:1px dashed var(--line)}
.r-line{padding-block:9px;border-bottom:1px dashed var(--line)}
.r-line span:nth-child(2),.r-total span:nth-child(2){text-align:right}
.r-line span:nth-child(3),.r-total span:nth-child(3){text-align:right}
.r-free{color:var(--ok);font-weight:600}
.r-total{padding-top:12px;font-weight:700;font-size:1.05rem}
.r-total span:nth-child(2){text-decoration:line-through;color:var(--muted);font-weight:500}
.r-total span:nth-child(3){color:var(--brand);font-size:1.25rem}
@media (max-width:480px){
  .r-head,.r-line,.r-total{grid-template-columns:1fr 5.2em 5.2em;gap:8px}
  .receipt{padding:18px 16px;font-size:.88rem}
}
.dn{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media (max-width:800px){
  .dn{grid-template-columns:minmax(0,1fr)}
}
.dn-card{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.dn-card .ph{aspect-ratio:16/10;overflow:hidden}
.dn-card .ph img{width:100%;height:100%;object-fit:cover}
.dn-card figcaption{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px}
.dn-card p{color:var(--muted)}
.spec-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:900px){
  .spec-cols{grid-template-columns:minmax(0,1fr)}
}
:root{--err:#C8231B}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hint-sm{font-size:.84rem;color:var(--muted)}
.lnk{background:none;border:0;padding:0;color:var(--brand);text-decoration:underline;font:inherit;font-size:.9rem;cursor:pointer;justify-self:start}
.frow2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:600px){
  .frow2{grid-template-columns:minmax(0,1fr)}
}
.f{display:flex;flex-direction:column;gap:6px;font-size:.88rem;font-weight:600;position:relative}
.f small{font-weight:500;color:var(--muted)}
.f input,.f select{width:100%;font:500 .95rem/1.3 var(--f-body);padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.f input:focus,.f select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}
.f em{display:none;font-style:normal;font-weight:500;font-size:.82rem;color:var(--err)}
.f.err input{border-color:var(--err);box-shadow:0 0 0 1px var(--err)}
.f.err em{display:block}
.ck{display:flex;gap:10px;align-items:center;font-size:.9rem;cursor:pointer}
.ck input{width:18px;height:18px;margin:0;accent-color:var(--brand);flex:none}
.saved{color:var(--ok);font-weight:600;font-size:.9rem;margin-left:10px}
section.cat-hero{padding-block:20px 8px}
.cat-hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,4vw,72px);align-items:start}
@media (max-width:900px){
  .cat-hero-grid{grid-template-columns:minmax(0,1fr)}
}
.cat-hero h1{font-size:clamp(2.1rem,4vw,3.4rem);margin-block:12px 14px}
.cat-pick{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:grid;gap:8px}
.cat-pick h2{font-size:1.3rem;margin-bottom:6px}
.cat-pick a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;background:var(--bg);text-decoration:none;border:1.5px solid transparent;transition:border-color .15s}
.cat-pick a:hover{border-color:var(--brand)}
.cat-pick b{display:block}
.cat-pick small{color:var(--muted);font-size:.84rem}
.cat-pick .pp{font-weight:700;white-space:nowrap}
section.cat-list{padding-block:28px 72px}
.cat-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:16px}
.cat-tabs{display:flex;gap:6px;flex-wrap:wrap}
.cat-tabs button{font:600 .92rem/1 var(--f-body);padding:11px 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}
.cat-tabs button:hover{border-color:var(--brand)}
.cat-tabs button[aria-selected="true"]{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}
.cat-tabs .n{opacity:.7;font-weight:500;margin-left:3px}
.cat-tools{display:flex;gap:12px;flex-wrap:wrap}
.sel{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--muted)}
.sel select{font:500 .9rem var(--f-body);padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}
.cat-count{font-size:.88rem;color:var(--muted);margin:16px 0}
.grid-products.cat-grid{grid-template-columns:repeat(3,1fr)}
@media (max-width:1040px){
  .grid-products.cat-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .grid-products.cat-grid{grid-template-columns:minmax(0,1fr)}
}
.card .dots{display:flex;align-items:center;gap:4px;margin-top:2px}
.card .dots img{width:18px;height:18px;border-radius:50%;border:1px solid var(--line);object-fit:cover}
.card .dots small{margin-left:6px;font-size:.78rem;color:var(--muted)}
.card .ship.muted{color:var(--muted);font-weight:500}
.cat-tile{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;padding:clamp(22px,3vw,36px);border-radius:var(--r);background:var(--bois);color:var(--bois-ink);text-decoration:none}
.cat-tile .eyebrow{color:inherit;opacity:.75}
.cat-tile b{font:400 clamp(1.6rem,2.4vw,2.1rem)/1.1 var(--f-display)}
.cat-tile p{max-width:34ch}
.cat-empty{padding:40px 0;text-align:center;color:var(--muted)}
.cat-empty button{background:none;border:0;color:var(--brand);text-decoration:underline;font:inherit;cursor:pointer}
.cmp-wrap{overflow-x:auto}
.cmp{width:100%;max-width:1040px;min-width:560px;border-collapse:separate;border-spacing:0;font-size:.95rem}
.cmp th,.cmp td{padding:14px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.cmp thead th{font:400 1.25rem/1.2 var(--f-display);border-bottom:2px solid var(--line)}
.cmp tbody th{font-weight:600}
.cmp .hl{background:color-mix(in srgb,var(--brand) 8%,transparent)}
.cmp thead .hl{border-radius:12px 12px 0 0;color:var(--brand)}
.cmp tfoot .hl{border-radius:0 0 12px 12px}
.cmp tfoot td{border-bottom:0;padding-top:18px}
.cmp small{display:block;color:var(--muted);font-size:.8rem;font-weight:500}
.cmp .tot th,.cmp .tot td{font-weight:700;font-size:1.05rem}
.yes{color:var(--ok);font-weight:600}
.yes::before{content:"✓ "}
.no{color:var(--muted)}
.cat-seo h2{margin-top:10px}
.cat-seo p{margin-top:14px;color:var(--muted);max-width:60ch}
section.acc{padding-block:20px 72px}
.acc-grid{display:grid;grid-template-columns:270px minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}
.acc-side{position:sticky;top:96px}
.acc-who{display:flex;gap:12px;align-items:center;margin-bottom:18px}
.avatar{width:48px;height:48px;border-radius:50%;background:var(--brand);color:var(--on-brand);display:grid;place-items:center;font-weight:700;flex:none}
.acc-who small{display:block;color:var(--muted);font-size:.82rem;overflow-wrap:anywhere}
.acc-nav{display:grid;gap:4px}
.acc-nav button,.acc-nav a{display:flex;gap:12px;align-items:center;padding:11px 14px;border-radius:10px;border:0;background:none;color:var(--ink);font:500 .95rem/1.2 var(--f-body);text-decoration:none;cursor:pointer;text-align:left;white-space:nowrap}
.acc-nav svg{width:20px;height:20px;color:var(--muted);flex:none}
.acc-nav button:hover,.acc-nav a:hover{background:var(--surface)}
.acc-nav [aria-current="page"]{background:var(--surface);box-shadow:inset 3px 0 0 var(--brand);font-weight:700}
.acc-nav [aria-current="page"] svg{color:var(--brand)}
@media (max-width:900px){
  .acc-grid{grid-template-columns:minmax(0,1fr)}
  .acc-side{position:static}
  .acc-nav{display:flex;overflow-x:auto;padding-bottom:6px;gap:6px}
  .acc-nav [aria-current="page"]{box-shadow:inset 0 -3px 0 var(--brand)}
}
.acc-panel{display:grid;gap:18px}
.acc-main h1{font-size:clamp(2rem,3.4vw,2.8rem)}
.acc-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:clamp(16px,2.4vw,24px)}
.track-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.track-head h2{font-size:1.4rem;margin-top:8px}
.status{display:inline-block;font:600 .78rem/1 var(--f-body);padding:7px 10px;border-radius:999px;white-space:nowrap;color:var(--ink)}
.s-prep{background:color-mix(in srgb,var(--ocre) 18%,transparent)}
.s-ok{background:color-mix(in srgb,var(--teal) 20%,transparent)}
.track-steps{list-style:none;padding:0;margin:24px 0;display:grid;grid-template-columns:repeat(4,1fr)}
.track-steps li{position:relative;padding-top:28px;font-size:.88rem}
.track-steps li::before{content:"";position:absolute;top:0;left:0;width:18px;height:18px;border-radius:50%;background:var(--surface);border:2px solid var(--line);z-index:1;box-sizing:border-box}
.track-steps li::after{content:"";position:absolute;top:8px;left:18px;right:0;height:2px;background:var(--line)}
.track-steps li:last-child::after{display:none}
.track-steps .done::before{background:var(--ok);border-color:var(--ok)}
.track-steps .done::after{background:var(--ok)}
.track-steps .cur::before{border-color:var(--ocre);background:var(--ocre);box-shadow:0 0 0 5px color-mix(in srgb,var(--ocre) 22%,transparent)}
.track-steps b{display:block}
.track-steps small{display:block;color:var(--muted);font-size:.8rem;padding-right:10px}
@media (max-width:600px){
  .track-steps{grid-template-columns:minmax(0,1fr)}
  .track-steps li{padding:0 0 16px 32px}
  .track-steps li::before{top:1px}
  .track-steps li::after{top:19px;left:8px;right:auto;bottom:0;width:2px;height:auto}
}
.track-item{display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;padding-top:16px;border-top:1px solid var(--line)}
.track-item img{width:56px;height:56px;border-radius:8px;object-fit:cover}
.track-item b{display:block}
.track-item small{color:var(--muted);font-size:.84rem}
.track-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:18px}
.acc-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:760px){
  .acc-tiles{grid-template-columns:minmax(0,1fr)}
}
.acc-tile{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;padding:18px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);text-decoration:none;color:var(--ink);font:inherit;cursor:pointer}
div.acc-tile{cursor:default}
a.acc-tile:hover,button.acc-tile:hover{border-color:var(--brand)}
.acc-tile svg{width:26px;height:26px;color:var(--brand);margin-bottom:6px}
.acc-tile > span{font-size:.88rem;color:var(--muted)}
.acc-review{display:grid;grid-template-columns:56px 1fr auto;gap:16px;align-items:center}
.acc-review img{width:56px;height:56px;border-radius:50%;object-fit:cover}
.acc-review p{color:var(--muted);font-size:.9rem}
@media (max-width:600px){
  .acc-review{grid-template-columns:56px 1fr}
  .acc-review .btn{grid-column:1/-1;justify-content:center}
}
.xsell{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:var(--bois);color:var(--bois-ink);border:0}
.xsell .eyebrow{color:inherit;opacity:.75}
.xsell b{display:block;font:400 1.35rem/1.2 var(--f-display);margin-top:8px}
.xsell p{opacity:.85;font-size:.9rem;margin-top:4px}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.orders{width:100%;border-collapse:collapse;min-width:620px;font-size:.92rem}
.orders th,.orders td{padding:14px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.orders thead th{font:500 .74rem/1 var(--f-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.orders tbody tr:last-child td{border-bottom:0}
.orders td small{display:block;color:var(--muted);font-size:.8rem}
.acc-form{display:grid;gap:16px;max-width:760px}
.lead-sm{color:var(--muted);max-width:62ch;margin-top:-8px}
.fit-msg{font-size:.92rem;padding:12px 14px;border-radius:10px;background:var(--surface);border:1px solid var(--line)}
.fit-msg b{color:var(--ok)}
.sep-line{border:0;border-top:1px solid var(--line);margin:14px 0 0}
.h2-sm{font:600 1.15rem/1.3 var(--f-body)}
.addr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:900px){
  .addr-grid{grid-template-columns:minmax(0,1fr)}
}
.addr p{margin:10px 0 12px;line-height:1.6}
.addr.add{border:1.5px dashed var(--line);background:none;color:var(--brand);font:600 .95rem var(--f-body);cursor:pointer;min-height:150px}
section.auth{padding-block:20px 72px}
.auth-grid{display:grid;grid-template-columns:minmax(0,540px) minmax(0,1fr);gap:clamp(28px,5vw,88px);align-items:start;max-width:1240px;margin-inline:auto}
@media (max-width:900px){
  .auth-grid{grid-template-columns:minmax(0,1fr)}
}
.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:clamp(20px,3vw,36px)}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--sunk);border-radius:999px;padding:4px;margin-bottom:26px}
.auth-tabs button{border:0;background:none;padding:11px;border-radius:999px;font:600 .95rem/1 var(--f-body);color:var(--muted);cursor:pointer}
@media (max-width:420px){
  .auth-tabs button{font-size:.84rem;padding:11px 6px}
}
.auth-tabs button[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:0 2px 10px -4px rgba(0,0,0,.35)}
.auth-view{display:grid;gap:16px}
.auth-view h1{font-size:clamp(1.9rem,3vw,2.5rem)}
.f.pw input{padding-right:88px}
.eye{position:absolute;right:6px;top:30px;border:0;background:none;color:var(--brand);font:600 .82rem/1 var(--f-body);cursor:pointer;padding:10px 10px}
.auth-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.auth-submit{justify-content:center;width:100%;padding:1em}
.or-line{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}
.or-line::before,.or-line::after{content:"";flex:1;height:1px;background:var(--line)}
.auth-msg{background:color-mix(in srgb,var(--teal) 14%,transparent);border-radius:10px;padding:12px 14px;font-size:.9rem}
.pw-meter{height:6px;border-radius:3px;background:var(--sunk);overflow:hidden;margin-top:-8px}
.pw-meter i{display:block;height:100%;width:0;background:var(--ocre);transition:width .2s, background .2s}
.auth-side h2{font-size:clamp(1.7rem,2.6vw,2.3rem)}
.perks{list-style:none;padding:0;margin:24px 0;display:grid;gap:18px}
.perks li{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start}
.perks svg{width:44px;height:44px;padding:10px;border-radius:12px;background:var(--surface);border:1px solid var(--line);color:var(--brand)}
.perks b{display:block}
.perks span{color:var(--muted);font-size:.92rem}
.no-acc{padding:14px 16px;border-radius:12px;background:var(--bois);color:var(--bois-ink);font-size:.92rem}
.track-form{margin-top:28px;padding-top:24px;border-top:1px solid var(--line);display:grid;gap:14px}
.track-form h3{font:600 1.1rem/1.3 var(--f-body)}
.track-form .btn{justify-self:start}
section.blog-hero{padding-block:20px 8px}
.blog-hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:32px;align-items:end}
@media (max-width:900px){
  .blog-hero-grid{grid-template-columns:minmax(0,1fr)}
}
.blog-hero h1{font-size:clamp(2.2rem,4.4vw,3.6rem);margin-block:12px 14px}
.blog-search{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:4px 8px 4px 18px}
.blog-search svg{width:20px;height:20px;color:var(--muted);flex:none}
.blog-search input{flex:1;min-width:0;border:0;background:none;font:500 1rem var(--f-body);color:var(--ink);padding:12px 4px}
.blog-search input:focus{outline:none}
.blog-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}
section.blog-start{padding-block:30px 8px}
.h-small{font:600 .78rem/1 var(--f-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:16px}
.start-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:18px}
@media (max-width:1040px){
  .start-grid{grid-template-columns:minmax(0,1fr)}
}
.post-feat{display:grid;grid-template-columns:1.1fr 1fr;background:var(--surface);border:2px solid var(--brand);border-radius:var(--r);overflow:hidden;text-decoration:none}
.post-feat .ph{background:var(--sunk)}
.post-feat .ph img{width:100%;height:100%;object-fit:cover;min-height:300px}
.post-feat .body{padding:clamp(18px,2.4vw,32px);display:flex;flex-direction:column;gap:12px}
.post-feat h3{font-size:clamp(1.5rem,2.3vw,2.1rem)}
.post-feat p{color:var(--muted)}
.post-feat .link{margin-top:auto;font-weight:600;color:var(--brand)}
@media (max-width:640px){
  .post-feat{grid-template-columns:minmax(0,1fr)}
  .post-feat .ph img{min-height:0;height:auto;aspect-ratio:16/9}
}
.start-side{display:grid;gap:12px;align-content:start}
.mini{display:grid;grid-template-columns:104px 1fr;gap:14px;align-items:center;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;transition:border-color .15s}
.mini img{width:104px;height:78px;border-radius:8px;object-fit:cover}
.mini b{display:block;line-height:1.3;margin-top:6px}
.blog-start .cat,.blog-list .cat{font:500 .72rem/1 var(--f-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.mini:hover,.blog-grid .post:hover{border-color:var(--brand)}
section.blog-list{padding-block:40px 48px}
.posts.blog-grid{grid-template-columns:repeat(4,1fr);margin-top:6px}
@media (max-width:1240px){
  .posts.blog-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:860px){
  .posts.blog-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:540px){
  .posts.blog-grid{grid-template-columns:minmax(0,1fr)}
}
.blog-grid .post{transition:border-color .15s}
.blog-grid h3{font-size:1.12rem}
.post .meta{font-size:.8rem;color:var(--muted)}
.post .prod{font-size:.8rem;font-weight:600;color:var(--ok)}
.more-wrap{display:flex;justify-content:center;margin-top:28px}
@media (max-width:640px){
  .blog-list .cat-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px;max-width:calc(100% + 32px)}
  .blog-list .cat-tabs button{flex:none}
}
.read-bar{position:fixed;top:0;left:0;right:0;height:4px;z-index:45;pointer-events:none}
.read-bar i{display:block;height:100%;background:var(--ocre);transform-origin:0 50%;transform:scaleX(0)}
.art-cols{display:grid;grid-template-columns:210px minmax(0,740px) 290px;gap:clamp(24px,3.5vw,56px);justify-content:center}
.art-head{padding-block:18px 0}
.art-head-in{grid-column:2 / 4}
.art-cat{display:inline-block;font:600 .74rem/1 var(--f-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--brand);text-decoration:none;background:color-mix(in srgb,var(--brand) 10%,transparent);padding:7px 11px;border-radius:999px}
.art-head h1{font-size:clamp(2.2rem,4.4vw,3.6rem);margin-block:16px 14px;max-width:22ch}
.art-chapo{font-size:1.2rem;line-height:1.55;color:var(--muted);max-width:58ch}
.art-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.9rem;color:var(--muted);margin-top:18px}
.art-meta b{color:var(--ink)}
.art-meta .dot{opacity:.5}
.avatar-sm{width:30px;height:30px;border-radius:50%;background:var(--ocre);color:var(--on-ocre);display:grid;place-items:center;font:400 .95rem/1 var(--f-display)}
.art-hero{margin:26px 0 0;border-radius:22px;overflow:hidden;aspect-ratio:2/1;background:var(--sunk)}
.art-hero img{width:100%;height:100%;object-fit:cover}
.art-grid{padding-block:34px 72px;align-items:start}
.toc{position:sticky;top:100px;font-size:.9rem}
.toc-t{font:600 .74rem/1 var(--f-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:12px}
.toc ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
.toc a{display:block;padding:7px 0 7px 14px;margin-left:-2px;border-left:2px solid transparent;text-decoration:none;color:var(--muted);line-height:1.35}
.toc a:hover{color:var(--ink)}
.toc a.on{color:var(--brand);border-left-color:var(--brand);font-weight:600}
.prose{font-size:1.07rem;line-height:1.75;min-width:0}
.prose p{margin-top:1em}
.prose h2{font-size:clamp(1.6rem,2.6vw,2.1rem);margin:2em 0 .1em;scroll-margin-top:100px}
.prose a:not(.btn){color:var(--brand)}
.prose ul,.prose ol{padding-left:1.3em;margin:1em 0 0}
.prose li{margin-top:.55em}
.prose details.toc-m{display:none;border:1px solid var(--line);border-radius:12px;padding:0 16px;background:var(--surface);margin-bottom:22px}
.prose details.toc-m summary{padding-block:14px}
.prose details.toc-m ol{margin:0 0 14px;font-size:.98rem}
.tldr{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--teal);border-radius:var(--r);padding:20px 24px;scroll-margin-top:100px}
.prose .tldr h2{margin:0;font-size:1.45rem}
.tldr ul{margin-top:8px}
.plan-fig{margin:24px 0 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;overflow-x:auto;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:22px 22px;background-position:-1px -1px}
.plan-fig svg{width:100%;min-width:480px;height:auto;display:block}
.plan-fig figcaption{font-size:.88rem;color:var(--muted);margin-top:8px;line-height:1.5}
.v-body{fill:var(--bg);stroke:var(--ink);stroke-width:2}
.v-cab{fill:none;stroke:var(--muted);stroke-width:2;stroke-dasharray:5 5}
.v-wheel{fill:var(--sunk);stroke:var(--muted);stroke-width:1.5}
.v-bed{fill:var(--bois);stroke:var(--bois-ink);stroke-width:1.5}
.v-bed-n{fill:none;stroke:var(--ocre);stroke-width:2.2;stroke-dasharray:8 6}
.v-lbl{font:600 14px var(--f-body);fill:var(--bois-ink)}
.v-muted{fill:var(--ocre)}
.v-dim{stroke:var(--brand);stroke-width:2;fill:none}
.v-dim-t{font:700 14px var(--f-body);fill:var(--brand)}
.v-dim-c{stroke:var(--teal)}
.v-c{fill:var(--teal)}
.steps-list li::marker{font-weight:700;color:var(--brand)}
.tip{margin-top:24px;background:var(--bois);color:var(--bois-ink);border-radius:var(--r);padding:16px 20px}
.tip b{font:600 .74rem/1 var(--f-mono);text-transform:uppercase;letter-spacing:.1em}
.prose .tip p{margin-top:6px}
.tbl-scroll{overflow-x:auto;margin-top:20px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.art-table{width:100%;border-collapse:collapse;font-size:.94rem;line-height:1.45;min-width:520px}
.art-table th,.art-table td{padding:12px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.art-table thead th{font:600 .72rem/1.3 var(--f-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--bg)}
.art-table tbody th{font-weight:600}
.art-table tbody tr:last-child > *{border-bottom:0}
.prose .tbl-note{font-size:.88rem;color:var(--muted);margin-top:10px}
.calc{margin-top:26px;border:2px solid var(--brand);border-radius:var(--r);padding:20px 22px;background:var(--surface)}
.prose .calc-t{font:400 1.4rem/1.2 var(--f-display);margin:0}
.calc-in{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
@media (max-width:560px){
  .calc-in{grid-template-columns:minmax(0,1fr)}
}
.calc-in label{display:flex;flex-direction:column;gap:6px;font-size:.88rem;font-weight:600;line-height:1.3}
.calc-in small{font-weight:500;color:var(--muted)}
.calc-f{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--muted)}
.calc-f input{width:100%;font:600 1.1rem var(--f-body);padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--ink)}
.calc-f input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}
.calc-out{margin-top:16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:14px 16px;border-radius:12px;background:var(--bg)}
.calc-out .big{font:400 2.6rem/1 var(--f-display);color:var(--brand);font-variant-numeric:tabular-nums}
.calc-out.ko .big{color:var(--ocre)}
.prose .calc-out p{margin:0;flex:1;min-width:200px;font-size:.95rem;line-height:1.5}
.inline-prod{margin-top:30px;display:grid;grid-template-columns:110px 1fr auto;gap:18px;align-items:center;padding:16px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line)}
.inline-prod img{width:110px;height:110px;border-radius:10px;object-fit:cover}
.inline-prod b{display:block;line-height:1.35;margin-top:6px}
.prose .inline-prod p{margin:4px 0 0;font-size:.9rem;color:var(--muted)}
.ip-cta{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.ip-cta .num{font-weight:700;font-size:1.15rem;white-space:nowrap}
@media (max-width:640px){
  .inline-prod{grid-template-columns:76px 1fr}
  .inline-prod img{width:76px;height:76px}
  .ip-cta{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center}
}
.prose .x-list{list-style:none;padding-left:0}
.x-list li{position:relative;padding-left:30px}
.x-list li::before{content:"✕";position:absolute;left:2px;top:0;color:var(--ocre);font-weight:700}
.art-faq{margin-top:16px}
.author{margin-top:48px;display:flex;gap:16px;align-items:flex-start;padding:20px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line)}
.avatar-lg{width:56px;height:56px;border-radius:50%;background:var(--ocre);color:var(--on-ocre);display:grid;place-items:center;font:400 1.5rem/1 var(--f-display);flex:none}
.author b{display:block;font-size:1.1rem;margin-top:6px}
.prose .author p{margin:6px 0 0;font-size:.95rem;color:var(--muted)}
.art-aside{position:sticky;top:100px;display:grid;gap:12px}
.side-prod{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.side-prod img{height:auto;width:100%;aspect-ratio:4/3;object-fit:cover}
.sp-body{padding:16px;display:grid;gap:9px}
.sp-body b{font:400 1.35rem/1.15 var(--f-display)}
.sp-price{font-weight:700;font-size:1.45rem}
.sp-price small{font-size:.8rem;font-weight:500;color:var(--muted)}
.sp-body .btn{justify-content:center}
.sp-link{font-size:.88rem;color:var(--brand);font-weight:600;text-align:center}
.side-pack{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:var(--bois);color:var(--bois-ink);text-decoration:none;font-size:.88rem;line-height:1.35}
.side-pack b{display:block}
.side-pack small{opacity:.85}
.side-pack .num{font-weight:700;white-space:nowrap}
@media (max-width:1200px){
  .art-cols{grid-template-columns:minmax(0,740px) 270px}
  .art-head-in{grid-column:1 / -1}
  .toc{display:none}
  .prose details.toc-m{display:block}
}
@media (max-width:900px){
  .art-cols{grid-template-columns:minmax(0,1fr)}
  .art-aside{display:none}
  .art-hero{aspect-ratio:16/10}
}

/* ================================================================== */
/* Thème WordPress : compléments aux maquettes                          */
/* ================================================================== */

/* Accessibilité */
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px;text-decoration:none;font-weight:600}
.skip:focus{top:calc(12px + env(safe-area-inset-top,0px))}
.sr,.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
main{display:block}
.logo-img{display:block;height:44px;width:auto}
.logo-img img{display:block;height:100%;width:auto;max-width:none}
/* Logo image sur le bandeau bleu : passé en blanc */
header.site .logo-img img,footer.site .logo-img img{filter:brightness(0) invert(1)}
nav.main a[aria-current]{text-decoration:underline;text-underline-offset:4px;opacity:1}
.hdr-actions .icon-btn{text-decoration:none}
@media (max-width:1240px){ .hdr-cta{display:none!important} }

/* Icônes */
.ico{width:1.2em;height:1.2em;flex:none}

/* Cartes produit : lien étiré (pas de liens imbriqués) */
.card h3{font-size:1.25rem}
.card .card-link{text-decoration:none;color:inherit}
.card .card-link::after{content:"";position:absolute;inset:0;z-index:1}
.card .sizes a,.card .sizes .chip{position:relative;z-index:2;text-decoration:none}
.card .sizes a:hover{border-color:var(--brand);color:var(--brand)}
.card:focus-within{box-shadow:0 0 0 3px var(--ocre)}
.card .card-link:focus-visible{outline:none}
.sw-dot{display:inline-block;width:18px;height:18px;border-radius:50%;border:1px solid var(--line);flex:none}
.sw .sw-dot{width:54px;height:54px;border:3px solid var(--surface);box-shadow:0 0 0 1px var(--line)}
.buy .sw .sw-dot{width:48px;height:48px}
.sw[aria-pressed="true"] .sw-dot{box-shadow:0 0 0 2px var(--brand)}
.woodpick .sw-dot{width:52px;height:52px;border-radius:8px}
.card .dots .sw-dot{width:18px;height:18px}
.price-old{text-decoration:line-through;color:var(--muted);font-weight:500;font-size:.8em;margin-right:6px}
.review{border-style:solid;border-width:1px;margin:0}
.review blockquote{margin:0}
.review blockquote p{margin:0}
.verified{color:var(--ok);font-weight:600}

/* Liens de catégorie (onglets en liens) */
.cat-tabs a{display:inline-flex;align-items:center;font:600 .92rem/1 var(--f-body);padding:11px 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none}
.cat-tabs a:hover{border-color:var(--brand)}
.cat-tabs a[aria-current]{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}
.cat-seo-txt{margin-top:14px;color:var(--muted);max-width:60ch}
.cat-seo-txt p+p{margin-top:.8em}
.chips-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.empty-state{padding-block:clamp(40px,6vw,72px);display:grid;gap:14px;justify-items:start}
.empty-state p{color:var(--muted)}

/* Fiche produit : choix (boutons qui pilotent la liste WooCommerce) */
.seg{grid-template-columns:repeat(var(--n,3),minmax(0,1fr))}
.seg a{display:flex;flex-direction:column;gap:4px;color:inherit;background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:12px;text-decoration:none;transition:border-color .15s}
.seg a:hover{border-color:var(--muted)}
.seg a[aria-current]{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}
@media (max-width:420px){ .seg{grid-template-columns:repeat(min(var(--n,3),3),minmax(0,1fr))} .seg button,.seg a{padding:10px 8px} }
.lp-native{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lp-pick button:disabled{opacity:.4;cursor:not-allowed}
.lp-pick button[data-out]{opacity:.5;text-decoration:line-through}
.opt-val{font-weight:500;color:var(--muted)}
.h1-len{font-family:var(--f-body);font-weight:600;font-size:.55em;color:var(--muted);white-space:nowrap}
table.variations,.variations tbody,.variations tr,.variations td,.variations th{display:block;width:100%;padding:0;border:0;text-align:left}
.variations{display:grid;gap:18px;margin:0}
.variations_form{display:flex;flex-direction:column;gap:18px}
.single_variation_wrap{display:flex;flex-direction:column;gap:12px}
.woocommerce-variation-price{display:none}
.woocommerce-variation-availability .stock,.stock{font-size:.88rem;font-weight:600;color:var(--ok);margin:0}
.stock.out-of-stock{color:var(--err)}
.reset_variations{display:none!important}
.buy .quantity{display:none!important}
.single_add_to_cart_button{display:flex;align-items:center;justify-content:center;gap:.5em;width:100%;margin-top:6px;padding:1.05em 1.3em;border:2px solid transparent;border-radius:999px;background:var(--ocre);color:var(--on-ocre);font:600 1.08rem/1 var(--f-body);cursor:pointer;transition:transform .15s, filter .15s}
.single_add_to_cart_button:hover{transform:translateY(-1px);filter:brightness(1.05)}
.single_add_to_cart_button:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
.woocommerce-variation.single_variation:empty{display:none}
.woocommerce-variation-availability .stock{font-size:.88rem;margin:6px 0}
.cart-grid .quantity .qty{width:72px;font:600 .95rem var(--f-body);padding:9px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:center}
.single_add_to_cart_button.disabled,.single_add_to_cart_button:disabled{opacity:.55;cursor:not-allowed;transform:none}
.single_add_to_cart_button.loading{opacity:.75;pointer-events:none}
.single_add_to_cart_button.loading::after{content:"";width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.buy form.cart{margin:0}
.wooco_components,.wooco-components{display:none}
.details-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}
.details-grid h2{margin-top:10px}
@media (max-width:900px){ .details-grid{grid-template-columns:minmax(0,1fr)} }
.rev-avg{font-size:1.05rem}
.rev-form{margin-top:28px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);padding:0 20px}
.rev-form:first-of-type{border-top:1px solid var(--line)}
.rev-form summary{padding-block:18px}
.rev-form form{display:grid;gap:14px;padding-bottom:20px;max-width:640px}
.rev-form textarea,.comment-form textarea{width:100%;min-height:120px;font:500 .95rem/1.5 var(--f-body);padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.rev-form textarea:focus,.comment-form textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}
.comment-form-rating{display:grid;gap:6px;font-size:.88rem;font-weight:600}
.required{color:var(--err)}
p.stars{margin:0;display:flex;gap:4px}
p.stars a{font-size:0;width:30px;height:30px;text-decoration:none;position:relative;display:inline-block}
p.stars a::before{content:"★";font-size:28px;line-height:30px;color:var(--line);position:absolute;inset:0}
p.stars:hover a::before,p.stars.selected a::before{color:var(--ocre)}
p.stars a:hover~a::before,p.stars.selected a.active~a::before{color:var(--line)}
#rating{position:absolute;width:1px;height:1px;opacity:0}
.comment-form .form-submit{margin:0}
.comment-form .submit,.rev-form .submit{display:inline-flex;align-items:center;padding:.8em 1.3em;border-radius:999px;font:600 1rem/1 var(--f-body);border:0;background:var(--brand);color:var(--on-brand);cursor:pointer}
.comment-notes,.logged-in-as{font-size:.84rem;color:var(--muted)}

/* Formulaires génériques (contenu, CF7) */
.f label{font-size:.88rem;font-weight:600}
.f textarea{width:100%;min-height:120px;font:500 .95rem/1.5 var(--f-body);padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.prose input[type=text],.prose input[type=email],.prose input[type=tel],.prose input[type=number],.prose select,.prose textarea,
.contact-form input[type=text],.contact-form input[type=email],.contact-form input[type=tel],.contact-form input[type=file],.contact-form select,.contact-form textarea{width:100%;font:500 .95rem/1.4 var(--f-body);padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.contact-form textarea{min-height:150px}
.contact-form label{display:block;font-size:.88rem;font-weight:600}
.contact-form p{margin-top:14px}
.contact-form p:first-child{margin-top:0}
.contact-form input[type=submit],.prose input[type=submit],.wpcf7-submit{display:inline-flex;align-items:center;padding:.8em 1.3em;border-radius:999px;font:600 1rem/1 var(--f-body);border:0;background:var(--brand);color:var(--on-brand);cursor:pointer}
.wpcf7-not-valid-tip{color:var(--err);font-size:.82rem;font-weight:500}
.wpcf7-response-output{margin:16px 0 0!important;padding:12px 14px!important;border-radius:10px;font-size:.9rem}

/* Avis WooCommerce : notices */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,.wc-block-components-notice-banner{list-style:none;margin:0 0 18px;padding:14px 18px;border-radius:12px;font-size:.92rem;background:color-mix(in srgb,var(--teal) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--teal) 40%,transparent);display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.woocommerce-error{background:color-mix(in srgb,var(--err) 8%,var(--surface));border-color:color-mix(in srgb,var(--err) 35%,transparent);display:block}
.woocommerce-error li+li{margin-top:6px}
.woocommerce-info{background:var(--surface);border-color:var(--line)}
.woocommerce-message .button,.woocommerce-info .button{order:2;color:var(--brand);font-weight:600;background:none;border:0;padding:0;text-decoration:underline}
.wc-page .woocommerce-notices-wrapper{margin-top:16px}

/* Page panier (sans JavaScript ou lien direct) */
.wc-page{padding-block:8px clamp(56px,8vw,96px)}
.page-h1{font-size:clamp(2.1rem,4vw,3.2rem);margin-block:16px 22px}
.cart-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
@media (max-width:900px){ .cart-grid{grid-template-columns:minmax(0,1fr)} }
.cart-lines{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:0 clamp(14px,2vw,22px)}
.cart-line{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);align-items:start}
.cart-line:last-child{border-bottom:0}
.cl-img img{width:96px;height:96px;border-radius:10px;object-fit:cover;background:var(--sunk)}
.cl-main b a{text-decoration:none}
.cl-main small,.cl-main dl{display:block;color:var(--muted);font-size:.86rem;margin:2px 0 0}
.cl-ctl{display:flex;gap:14px;align-items:center;margin-top:12px;flex-wrap:wrap}
.cl-price{font-weight:700;white-space:nowrap}
@media (max-width:520px){
  .cart-line{grid-template-columns:72px minmax(0,1fr)}
  .cl-img img{width:72px;height:72px}
  .cl-price{grid-column:2}
}
.cart-grid .actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px}
.cart-grid .coupon{display:flex;gap:8px;flex-wrap:wrap}
.cart-grid .coupon input{font:500 .95rem var(--f-body);padding:11px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);min-width:0;width:200px;color:var(--ink)}
.js .btn-upd{display:none}
.cart-back{margin-top:18px;font-size:.92rem}
.cart-back a{color:var(--brand)}
.cart-collaterals{position:sticky;top:96px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:grid;gap:8px}
.cart-collaterals .btn{justify-content:center}
.cd-qty-1{font-size:.84rem;color:var(--muted)}
.cd-err{background:color-mix(in srgb,var(--err) 10%,var(--surface));color:var(--err);font-weight:600;font-size:.88rem;padding:10px 20px}
.cd-free{font-size:.82rem;color:var(--muted)}
.cd-free b{color:var(--ok)}
.cd-free i{display:block;height:5px;border-radius:3px;background:var(--sunk);margin-top:6px;overflow:hidden}
.cd-free i span{display:block;height:100%;background:var(--teal);border-radius:3px}
.cd-line.busy{opacity:.5;pointer-events:none}
.cd-line a{text-decoration:none}
.cd-up form,.cd-up .btn{margin:0}
.cd-empty .grid-products{grid-template-columns:1fr}

/* Menu mobile */
.nav-ov{position:fixed;inset:0;z-index:88;background:rgba(8,18,26,.5);opacity:0;transition:opacity .25s}
.nav-ov.on{opacity:1}
.nav-dr{position:fixed;top:0;left:0;bottom:0;z-index:89;width:min(380px,88vw);background:var(--surface);color:var(--ink);display:flex;flex-direction:column;transform:translateX(-100%);visibility:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),visibility 0s .3s;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);overflow-y:auto}
.nav-dr.on{transform:none;visibility:visible;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.nd-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}
.nd-head .logo{color:var(--brand)}
.nd-links{display:grid;padding:10px 12px}
.nd-links a{padding:14px 10px;border-bottom:1px solid var(--line);text-decoration:none;font:400 1.35rem/1.2 var(--f-display)}
.nd-links a:last-child{border-bottom:0}
.nd-links a[aria-current]{color:var(--brand)}
.nd-foot{margin-top:auto;padding:16px 20px 22px;display:grid;gap:10px;border-top:1px solid var(--line)}
.nd-foot .btn{justify-content:center}
.nd-row{display:flex;align-items:center;gap:12px;padding:8px 2px;text-decoration:none;font-weight:500}
.nd-row svg{width:20px;height:20px;color:var(--brand)}

/* Recherche plein écran */
.search-ov{position:fixed;inset:0;z-index:95;background:rgba(8,18,26,.55);padding-top:env(safe-area-inset-top,0px)}
.search-ov > .wrap{background:var(--surface);color:var(--ink);padding-block:22px 26px;border-radius:0 0 22px 22px;box-shadow:0 20px 40px -20px rgba(0,0,0,.4)}
.so-form{display:flex;gap:10px;align-items:center}
.so-form input{flex:1;min-width:0;font:500 1.15rem var(--f-body);padding:14px 18px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--ink)}
.so-form input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}
.so-sugg{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;align-items:center}
.so-sugg .chip{text-decoration:none;font-size:.82rem;padding:8px 12px;border-radius:999px}
.so-sugg .chip:hover{border-color:var(--brand);color:var(--brand)}
.search-form{display:flex;gap:8px;max-width:560px}
.search-form input{flex:1;min-width:0;font:500 1rem var(--f-body);padding:12px 18px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
section.search-sec{padding-block:36px}

/* Pages */
section.page-art,.page-art{padding:0}
.page-head{padding-block:20px 8px}
.page-head h1{font-size:clamp(2.1rem,4vw,3.4rem);margin-block:12px 12px}
.page-prose{max-width:780px;padding-block:20px clamp(56px,8vw,96px)}
.prose h3{font:600 1.2rem/1.3 var(--f-body);margin:1.6em 0 .2em}
.prose img{border-radius:12px;height:auto}
.prose figure{margin:1.6em 0 0}
.prose figcaption{font-size:.86rem;color:var(--muted);margin-top:6px}
.prose blockquote{margin:1.4em 0 0;padding:4px 0 4px 18px;border-left:4px solid var(--teal);color:var(--muted)}
.prose table{width:100%;border-collapse:collapse;margin-top:1.2em;font-size:.95rem}
.prose th,.prose td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}
.prose .wp-block-button__link{display:inline-flex;padding:.8em 1.3em;border-radius:999px;background:var(--brand);color:var(--on-brand)!important;text-decoration:none;font-weight:600}
.alignwide{max-width:none}
.full-width > .wrap{max-width:none;padding:0}
.lp-elementor main{padding:0}
.pager{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:32px}
.pager a,.pager span{min-width:42px;padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);text-decoration:none;font-weight:600;text-align:center}
.pager .current{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}
.pager .dots{border:0;background:none}
.post .ex{font-size:.9rem;color:var(--muted)}
.art-comments{margin-top:48px}
.comment-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.comment-list .children{list-style:none;margin:14px 0 0 24px;padding:0;display:grid;gap:14px}
.comment-body{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;font-size:.95rem}
.comment-meta{font-size:.84rem;color:var(--muted);margin-bottom:6px}
.comment-respond{margin-top:24px}
.comment-form{display:grid;gap:14px}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url]{width:100%;font:500 .95rem var(--f-body);padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.art-grid.no-toc{grid-template-columns:minmax(0,740px) 290px}
@media (max-width:900px){ .art-grid.no-toc{grid-template-columns:minmax(0,1fr)} }
.back-link{display:inline-block;margin-top:24px;color:var(--brand);font-weight:600}

/* FAQ */
.faq-a{margin-top:10px;color:var(--muted);max-width:62ch}
.faq-a p{margin:0}
.faq-a p+p{margin-top:.7em}
.faq-a a{color:var(--brand)}
.faq-more{margin-top:18px;font-weight:600}
.faq-more a{color:var(--brand)}
.faq-mail{display:flex;gap:8px;align-items:center;margin-top:16px;font-weight:600}
.faq-mail svg{width:20px;height:20px;color:var(--brand)}
section.faq-page{padding-block:20px clamp(56px,8vw,96px)}
.faq-page h1{font-size:clamp(2.1rem,4vw,3.2rem);margin-block:12px 14px}
.faq-page .faq-grid > div:first-child{position:sticky;top:110px;align-self:start}
@media (max-width:860px){ .faq-page .faq-grid > div:first-child{position:static} }

/* Contact, suivi, guide, 404 */
section.contact-page,section.track-page{padding-block:20px clamp(56px,8vw,96px)}
.contact-grid,.track-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(24px,5vw,72px);align-items:start}
@media (max-width:900px){ .contact-grid,.track-grid{grid-template-columns:minmax(0,1fr)} }
.contact-page h1,.track-page h1{font-size:clamp(2.1rem,4vw,3.2rem);margin-block:12px 14px}
.contact-list{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:16px}
.contact-list li{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start}
.contact-list svg{width:44px;height:44px;padding:10px;border-radius:12px;background:var(--surface);border:1px solid var(--line);color:var(--brand)}
.contact-list b{display:block}
.contact-list a{color:var(--brand);overflow-wrap:anywhere}
.contact-list small{display:block;color:var(--muted)}
.contact-more{margin-top:24px;font-weight:600}
.contact-more a{color:var(--brand)}
.track-page .hint-sm{margin-top:16px}
.track-page .hint-sm a{color:var(--brand)}
section.guide-top{padding-block:20px 40px}
section.e404{padding-block:clamp(32px,6vw,72px)}
.e404-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:center}
@media (max-width:860px){ .e404-grid{grid-template-columns:minmax(0,1fr)} .e404-ph{order:-1;max-width:420px} }
.e404 h1{font-size:clamp(2.4rem,5vw,4rem);margin-block:14px 16px}
.e404 .search-form{margin-top:22px}
.e404-ph{border-radius:22px;overflow:hidden;aspect-ratio:1/1;background:var(--sunk)}
.e404-ph img{width:100%;height:100%;object-fit:cover}

/* Pied de page */
.f-about{color:var(--band-muted);max-width:34ch;margin-top:14px;font-size:.92rem}
.f-contact{margin-top:14px;font-size:.92rem;line-height:1.8}
footer.site .logo{color:var(--on-band)}
.legal-links ul{display:flex;gap:16px;flex-wrap:wrap;font-size:.8rem}
.legal-links a{opacity:.85}
body:has(.sticky-buy) footer.site{padding-bottom:110px}
@media (min-width:761px){ footer.site{padding-bottom:56px} }

/* Accueil : démo matières */
.sw-title{font-weight:600}

/* Mon compte */
.acc-page{padding-block:8px clamp(56px,8vw,96px)}
.acc-page .acc-grid{margin-top:20px}
.acc-nav a svg{width:20px;height:20px}
.acc-tile svg{width:26px;height:26px}
.perks svg{flex:none}
.s-ko{background:color-mix(in srgb,var(--err) 12%,transparent)}
.orders th small{display:block;color:var(--muted);font-size:.8rem;font-weight:500}
.orders th a{text-decoration:none;color:var(--brand)}
.orders .acts{display:flex;gap:12px;flex-wrap:wrap;white-space:nowrap}
.orders .acts a{color:var(--brand);font-weight:600}
.notes{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.note-item p{margin-top:6px}
.order-detail h2{font:600 1.15rem/1.3 var(--f-body);margin:18px 0 10px}
.order-detail h2:first-child{margin-top:0}
.order-detail table{width:100%;border-collapse:collapse;font-size:.92rem}
.order-detail th,.order-detail td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.order-detail tfoot th{font-weight:500;color:var(--muted)}
.order-detail tfoot tr:last-child th,.order-detail tfoot tr:last-child td{font-weight:700;color:var(--ink)}
.order-detail .wc-item-meta{list-style:none;margin:4px 0 0;padding:0;font-size:.84rem;color:var(--muted)}
.order-detail .wc-item-meta p{display:inline;margin:0}
.order-detail address{font-style:normal;line-height:1.6}
.order-detail .woocommerce-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
@media (max-width:600px){ .order-detail .woocommerce-columns{grid-template-columns:1fr} }
.woocommerce-MyAccount-content .woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:700px){ .woocommerce-MyAccount-content .woocommerce-Addresses{grid-template-columns:1fr} }
.woocommerce-Address{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.woocommerce-Address-title{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.woocommerce-Address-title h2{font:600 1.05rem/1.3 var(--f-body)}
.woocommerce-Address-title a{color:var(--brand);font-weight:600;font-size:.9rem}
.woocommerce-Address address{font-style:normal;margin-top:10px;line-height:1.6;color:var(--muted)}
.woocommerce-MyAccount-content > .acc-panel > p:not([class]){color:var(--muted)}

/* Formulaires WooCommerce (adresses, compte, mot de passe) */
.woocommerce-MyAccount-content form,.woocommerce-ResetPassword{display:grid;gap:14px;max-width:760px}
.woocommerce-address-fields__field-wrapper,.woocommerce-EditAccountForm{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.woocommerce-EditAccountForm > *:not(.form-row-first):not(.form-row-last){grid-column:1/-1}
.woocommerce-address-fields__field-wrapper > *:not(.form-row-first):not(.form-row-last){grid-column:1/-1}
@media (max-width:600px){ .woocommerce-address-fields__field-wrapper,.woocommerce-EditAccountForm{grid-template-columns:minmax(0,1fr)} .woocommerce-EditAccountForm > *,.woocommerce-address-fields__field-wrapper > *{grid-column:1/-1} }
.woocommerce form .form-row,.wc-page form .form-row{margin:0;display:flex;flex-direction:column;gap:6px}
.wc-page .form-row label{font-size:.88rem;font-weight:600}
.wc-page .form-row label .required{text-decoration:none}
.wc-page .form-row .input-text,.wc-page .form-row select,.wc-page .form-row textarea,.wc-page .woocommerce-Input{width:100%;font:500 .95rem/1.3 var(--f-body);padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.wc-page .form-row .input-text:focus,.wc-page .form-row select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}
.wc-page .form-row.woocommerce-invalid .input-text{border-color:var(--err)}
.wc-page fieldset{border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;margin:8px 0 0;display:grid;gap:14px;grid-column:1/-1}
.wc-page legend{font-weight:600;padding:0 6px}
.wc-page .woocommerce-Button,.wc-page button.button,.wc-page .button{display:inline-flex;align-items:center;justify-self:start;padding:.8em 1.3em;border-radius:999px;font:600 1rem/1 var(--f-body);border:0;background:var(--brand);color:var(--on-brand);cursor:pointer;text-decoration:none}
.wc-page em,.wc-page span em{font-size:.82rem;color:var(--muted);font-style:normal}
.password-input{position:relative;display:block}
.show-password-input{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--brand);cursor:pointer;font-size:.8rem}
.show-password-input::after{content:"Afficher"}
.show-password-input.display-password::after{content:"Masquer"}
.auth-grid.one{grid-template-columns:minmax(0,540px);justify-content:center}
.auth-view .lnk{justify-self:start}
.woocommerce-privacy-policy-text{font-size:.82rem;color:var(--muted)}
.woocommerce-privacy-policy-text a{color:var(--brand)}
.track-form .f{font-size:.88rem}

/* Petits écrans : gouttières */
@media (max-width:420px){ .wrap{padding-inline:16px} }

/* Article seul : post_class() ajoute .post, qui ne doit pas prendre le style des cartes */
body.single article.type-post{background:none;border:0;border-radius:0;overflow:visible;display:block}
/* Mobile : rien ne doit dépasser de l'écran */
.acc-side,.acc-main{min-width:0}
.fit-body{grid-template-columns:minmax(0,1fr)}
.fit-body select{width:100%;min-width:0}
.prose table{display:block;max-width:100%;overflow-x:auto}
.tbl-wrap{position:relative}
.search-form{align-items:center}
.search-form > svg{display:none}
.search-form .btn{flex:none}
.legal-links{display:flex;gap:16px;flex-wrap:wrap}

/* Extensions du site actuel */
/* Barre d'administration (connecté) : l'en-tête collant passe dessous. */
.admin-bar header.site{top:32px}
@media (max-width:782px){.admin-bar header.site{top:46px}}
@media (max-width:600px){.admin-bar header.site{top:0}}
/* WP Schema Pro : étoiles « 0/5 (0 Reviews) » ajoutées sous les textes, sans avis réels. */
.aiosrs-rating-wrap{display:none!important}
/* YITH « Achetés fréquemment ensemble » */
.yith-wfbt-section{max-width:var(--wrap);margin:0 auto clamp(40px,6vw,72px);padding-inline:clamp(20px,3.5vw,48px)}
.yith-wfbt-section > *{max-width:none}
.yith-wfbt-section h2{font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:8px}
.yith-wfbt-section .additional-text{color:var(--muted);margin-bottom:18px}
.yith-wfbt-form{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px 28px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px 24px}
.yith-wfbt-form .yith-wfbt-images{border:0;margin:0;border-collapse:collapse;width:auto;grid-column:1}
.yith-wfbt-form .yith-wfbt-images td{border:0;padding:0 6px;vertical-align:middle}
.yith-wfbt-form .yith-wfbt-images img{width:88px;height:88px;object-fit:cover;border-radius:var(--r-sm);background:var(--sunk)}
.yith-wfbt-form .yith-wfbt-items{grid-column:2;grid-row:1;list-style:none;margin:0;padding:0;display:grid;gap:8px}
.yith-wfbt-form .yith-wfbt-item label{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:.92rem;cursor:pointer}
.yith-wfbt-form .yith-wfbt-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand);margin:0}
.yith-wfbt-form .yith-wfbt-item .price,.yith-wfbt-form .yith-wfbt-item .price *{font:700 .95rem/1.3 var(--f-body)!important;color:var(--ink);letter-spacing:0}
.yith-wfbt-form .yith-wfbt-item a{color:var(--brand)}
.yith-wfbt-form .yith-wfbt-submit-block{grid-column:3;grid-row:1;display:grid;gap:10px;justify-items:end;text-align:right}
.yith-wfbt-form .price_text{font-size:.9rem;color:var(--muted)}
.yith-wfbt-form .total_price{display:block;font:400 1.6rem/1.1 var(--f-display);color:var(--ink)}
.yith-wfbt-form .yith-wfbt-submit-button{background:var(--ocre)!important;color:var(--on-ocre)!important;border:0!important;border-radius:999px!important;padding:12px 24px!important;font:700 .95rem/1 var(--f-body)!important;cursor:pointer;text-transform:none!important;letter-spacing:0!important}
.yith-wfbt-form .yith-wfbt-submit-button:hover{filter:brightness(.95)}
.yith-wfbt-form .yith-wfbt-submit-button:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
@media (max-width:900px){
  .yith-wfbt-form{grid-template-columns:minmax(0,1fr)}
  .yith-wfbt-form .yith-wfbt-images,.yith-wfbt-form .yith-wfbt-items,.yith-wfbt-form .yith-wfbt-submit-block{grid-column:1;grid-row:auto}
  .yith-wfbt-form .yith-wfbt-submit-block{justify-items:stretch;text-align:left}
  .yith-wfbt-form .yith-wfbt-images img{width:64px;height:64px}
}
/* Packs « Combo Offers » : présentés comme la maquette (Bois, Largeur, Housse), sans nom de pièce, vignette ni prix par pièce.
   Le total est en haut et dans le bouton. Les !important passent devant la feuille de l'extension. */
.wooco-wrap{display:grid;gap:18px}
.wooco-wrap .wooco-products{display:grid!important;gap:18px;border:0!important;padding:0!important;margin:0!important}
.wooco-wrap .wooco-product{display:block!important;padding:0!important;border:0!important;margin:0!important}
.wooco-product .wooco-thumb,.wooco-product .wooco-price,.wooco-product .wooco-qty,.wooco-product .wooco-description,
.wooco-product .wooco-title-inner,.wooco-product .wooco-variation-description,
.wooco-wrap .wooco-total,.wooco-product .stock,.wooco-product .reset_variations{display:none!important}
.wooco-wrap .wooco-title{display:block!important;padding:0!important;width:auto!important}
.wooco-product .variations_form{gap:18px;margin:0!important}
.wooco-wrap .wooco-product .variations{display:grid!important;gap:18px;margin:0!important}
.wooco-wrap .wooco-product .variations .variation{display:grid!important;gap:10px;border:0!important;padding:0!important;margin:0!important;background:none!important;width:auto!important}
.wooco-wrap .wooco-product .variation.lp-forced,.wooco-wrap .wooco-product .variation[hidden]{display:none!important}
.wooco-wrap .wooco-product .variation > .label{font:600 1rem/1.3 var(--f-body)!important;color:var(--ink);padding:0!important}
.wooco-wrap .wooco-product .variation > .label .opt-val{font-weight:600}
.wooco-wrap .wooco-product .variation > .select{border:0!important;padding:0!important;background:none!important;width:auto!important}
.wooco-wrap .wooco-product .lp-swatches .sw small{display:none}
.wooco-wrap .wooco-product .seg{grid-template-columns:repeat(var(--n,3),minmax(0,1fr))}
.wooco-product .single_variation_wrap,.wooco-product .woocommerce-variation{display:none!important}
.single_add_to_cart_button.wooco-disabled{opacity:.55}
.sw .sw-dot{box-shadow:0 0 0 1px var(--line)}
/* Description seule (pas de caractéristiques à côté) : toute la largeur. */
.details-grid.is-full{grid-template-columns:minmax(0,1fr)}

/* ================================================================== */
/* Matelas sur mesure : configurateur (TM Extra Product Options)       */
/* ================================================================== */
.sm-conf{margin:0;padding:0}
.sm-conf ul,.sm-conf li{list-style:none;margin:0;padding:0}
.sm-conf .tc-row,.sm-conf .tc-cell,.sm-conf .tcwidth{margin:0!important;padding:0!important;width:auto!important;max-width:none!important;flex:none!important}
.sm-conf .tc-row{display:block}
.sm-conf .sm-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 12px}
.sm-conf .sm-grid > .cpf-element{display:block}
.sm-conf .sm-grid > .sm-full,.sm-conf .sm-grid > .cpf-type-header{grid-column:1/-1}
.sm-conf .sm-grid > .sm-housse,.sm-conf .sm-grid > .sm-ep{margin-top:14px!important}
.sm-conf .sm-off,.sm-conf .tm-epo-required,.sm-conf .tc-tooltip,.sm-conf .tm-description,.sm-conf .sm-native{display:none!important}
.sm-conf .tc-epo-label{display:block;font:500 .86rem/1.3 var(--f-body);color:var(--muted);margin-bottom:6px!important}
.sm-conf .tc-epo-label.sm-t{display:flex;align-items:center;gap:10px;font:600 1rem/1.3 var(--f-body);color:var(--ink);margin-bottom:10px!important}
.sm-conf .sm-t::before{content:attr(data-n);display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--brand);color:var(--on-brand);font:600 .78rem/1 var(--f-body)}
/* Cotes */
.sm-dim .tm-epo-field-label{position:relative;display:block}
.sm-dim input[type="number"]{width:100%;font:600 1.15rem/1.2 var(--f-body);font-variant-numeric:tabular-nums;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:12px 44px 12px 14px;-moz-appearance:textfield;appearance:textfield}
.sm-dim input::-webkit-outer-spin-button,.sm-dim input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.sm-dim input::placeholder{color:var(--muted);font-weight:500;opacity:.7}
.sm-dim input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}
.sm-dim input[aria-invalid="true"]{border-color:var(--err);box-shadow:0 0 0 1px var(--err)}
.sm-unit{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-weight:600;color:var(--muted);pointer-events:none}
.sm-hint{margin:-2px 0 0;font-size:.84rem;color:var(--muted)}
.sm-conf .tm-error,.sm-conf label.error{display:block;margin-top:6px;font-size:.84rem;font-weight:600;color:var(--err)}
/* Épaisseur */
.sm-seg button{align-items:center;text-align:center}
/* Housse */
.sm-housse .tmcp-ul-wrap{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.sm-housse .tmcp-field-wrap,.sm-colors .tmcp-field-wrap{width:auto!important;max-width:none!important;min-width:0!important;margin:0!important;float:none!important}
.sm-housse .tmcp-field-wrap{display:block!important}
/* L'extension limite chaque choix à un quart de ligne (règle !important plus précise) */
.lp-custom .sm-conf ul.tmcp-ul-wrap > li.tmcp-field-wrap{max-width:none!important;width:auto!important;flex:none!important}
.sm-housse .tc-label-wrap,.sm-housse .tc-label-inner{display:block!important;width:auto!important;max-width:none!important}
.sm-conf .tmcp-field-wrap-inner,.sm-conf .tc-field-label-wrap,.sm-conf .tc-col{display:block!important;width:100%!important;max-width:none!important;flex:none!important;margin:0!important;padding:0!important;float:none!important}
.sm-housse .tmcp-field-wrap,.sm-housse .tmcp-field-wrap-inner,.sm-housse .tc-field-label-wrap{height:100%}
.sm-housse .tm-epo-field-label{display:block!important;height:100%;cursor:pointer;background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:14px 16px!important;transition:border-color .15s}
.sm-housse .tm-epo-field-label:hover{border-color:var(--muted)}
.sm-housse .tmcp-field-wrap:has(input:checked) .tm-epo-field-label{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}
.sm-housse img,.sm-colors img{display:none!important}
.sm-conf .tc-input-wrap{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sm-housse .tc-label,.sm-housse .tc-label-inner{display:block;padding:0!important;text-align:left}
.sm-housse .tc-label-text{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:1rem;color:var(--ink)}
.sm-housse .tc-label-text small{font-weight:500;font-size:.84rem;color:var(--muted)}
.sm-conf .tmcp-field-wrap:has(input:focus-visible) .tm-epo-field-label{outline:3px solid var(--ocre);outline-offset:2px}
/* Couleur */
.sm-colors .tmcp-ul-wrap{display:flex!important;flex-wrap:wrap;gap:14px}
.sm-colors .tmcp-field-wrap,.sm-colors .tmcp-field-wrap-inner,.sm-colors .tc-field-label-wrap{width:auto!important}
.sm-colors .tm-epo-field-label{display:flex!important;flex-direction:column;align-items:center;gap:6px;cursor:pointer;min-width:64px}
.sm-colors .tc-label-wrap{display:contents}
.sm-colors .tm-epo-field-label::before{content:"";width:44px;height:44px;border-radius:50%;background:var(--tint,var(--sunk));box-shadow:0 0 0 1px var(--line);transition:box-shadow .15s}
.sm-colors .tmcp-field-wrap:has(input:checked) .tm-epo-field-label::before{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--brand)}
.sm-colors .tc-label,.sm-colors .tc-label-inner{display:block;padding:0!important}
.sm-colors .tc-label-text{font-size:.82rem;font-weight:500;color:var(--muted)}
.sm-colors .tmcp-field-wrap:has(input:checked) .tc-label-text{color:var(--ink);font-weight:600}
/* Récapitulatif */
.lp-custom .tc-totals-form{display:none!important}
.sm-recap{display:grid;grid-template-columns:190px minmax(0,1fr) auto;align-items:center;gap:6px 16px;margin-top:20px;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.sm-viz{width:100%;height:auto;color:var(--ink)}
.sm-viz text{font:600 15px var(--f-body);fill:var(--muted)}
.sm-sum{display:flex;flex-direction:column;gap:3px;min-width:0}
.sm-dims{font-size:1.05rem}
.sm-opt{font-size:.86rem;color:var(--muted)}
.sm-tot{display:flex;flex-direction:column;align-items:flex-end}
.sm-total{font:400 1.7rem/1 var(--f-display);color:var(--brand)}
.sm-tot small{font-size:.76rem;color:var(--muted)}
.sm-err{grid-column:1/-1;margin:0;font-size:.86rem;font-weight:600;color:var(--err)}
@media (max-width:520px){
  .sm-recap{grid-template-columns:minmax(0,1fr) auto}
  .sm-viz{grid-column:1/-1;max-width:240px;justify-self:center}
}

/* Repères et aide */
.sm-help{display:grid;gap:12px}
.sm-refs-t{font-weight:600;font-size:.92rem;margin-bottom:6px}
.sm-refs table{width:100%;border-collapse:collapse;font-size:.88rem}
.sm-refs th,.sm-refs td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:right;font-weight:500}
.sm-refs th:first-child{text-align:left}
.sm-refs thead th{font-size:.76rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.sm-refs tbody th{font-weight:600}
.sm-measure{border:1px solid var(--line);border-radius:12px;padding:0 16px;background:var(--surface)}
.sm-measure summary{padding-block:14px;font-size:.95rem;font-weight:600;cursor:pointer}
.sm-measure ol{margin:0 0 10px;padding-left:1.2em;display:grid;gap:6px;font-size:.9rem}
.sm-measure p{padding-bottom:14px;font-size:.9rem}
.sm-measure a{color:var(--brand);font-weight:600}

/* Matelas : avec housse ou mousse seule */
.lp-housse{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.lp-housse button{min-height:64px}
.lp-housse button small{line-height:1.35}
.lp-pick button[hidden]{display:none!important}
.opt[hidden]{display:none!important}
