/* =========================================================
   OliPC — feuille du site (refonte « établi blanc »)
   Le PC se monte sur le blanc de la page. Blanc, noir, vert.
   Police : Archivo (largeur variable).
   ========================================================= */
/* Police Archivo hébergée dans le thème (pas d'appel à Google Fonts : RGPD). Licence SIL Open Font License. */
@font-face{font-family:'Archivo';font-style:normal;font-weight:300 800;font-stretch:62% 125%;font-display:swap;src:url(../fonts/archivo-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:300 800;font-stretch:62% 125%;font-display:swap;src:url(../fonts/archivo-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  --bg:#fff;
  --ink:#0b0b0b;
  --ink-2:#3a3a3a;          /* texte secondaire : 11:1 sur blanc */
  --ink-3:#6b6b6b;          /* discret : 5.3:1 sur blanc */
  --rule:#0b0b0b;
  --rule-soft:rgba(11,11,11,.14);
  --band-grey:#f5f5f7;      /* grandes bandes grises (façon Apple) */
  --hd-bg:#fafafa;          /* barre du haut, sur toute la largeur (voulu par le propriétaire, 1er oct 2026) */
  --green:#3f8f2e;          /* vert OliPC : marques, grands textes */
  --green-ink:#256b1a;      /* vert lisible pour petits textes : 6.6:1 */
  --font:'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --maxw:clamp(1320px, 88vw, 1720px); /* s élargit sur les grands écrans (zoom Windows 100 %) au lieu de laisser deux grandes marges */
  --gut:clamp(20px, 4vw, 48px);
  --hd:72px;
  --ease:cubic-bezier(.16, 1, .3, 1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hd) + 16px);scrollbar-color:var(--ink) var(--bg)}
body{font-family:var(--font);font-stretch:100%;background:var(--bg);color:var(--ink);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
img{max-width:100%;height:auto;display:block}
svg{flex:none}
::selection{background:var(--green);color:#fff}
:focus-visible{outline:2px solid var(--green-ink);outline-offset:3px}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--ink);border:3px solid var(--bg);border-radius:10px}

.h-wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}

/* ---------- Titres (capitales éditoriales) ---------- */
.h-title,.h-sec h2,.h-row-name,.h-choices h3{
  font-stretch:80%;font-weight:560;text-transform:uppercase;letter-spacing:-.03em;line-height:.9;text-wrap:balance
}

/* ---------- Boutons ---------- */
.h-btn{display:inline-flex;align-items:center;gap:14px;height:54px;padding:0 26px;background:var(--ink);color:#fff;font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border-radius:3px;transition:background .3s var(--ease)}
.h-btn svg{width:18px;height:18px;transition:transform .35s var(--ease)}
.h-btn:hover{background:var(--green-ink)}
.h-btn:hover svg{transform:translateX(5px)}
.h-btn.big{height:62px;padding:0 32px;font-size:15px}
.h-link{display:inline-flex;align-items:center;min-height:44px;font-size:15px;font-weight:500;text-decoration:underline;text-decoration-color:var(--green);text-decoration-thickness:2px;text-underline-offset:7px;transition:color .2s}
.h-link:hover{color:var(--green-ink)}

/* =========================================================
   En-tête (version accueil)
   ========================================================= */
.site-hd{position:sticky;top:0;z-index:100;background:var(--hd-bg);border-bottom:1px solid var(--rule-soft)}
.admin-bar .site-hd{top:32px}
.hd{display:flex;align-items:center;gap:24px;height:var(--hd);max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
.logo{display:flex;align-items:center;gap:9px;flex:none;min-height:44px}
.logo svg{width:20px;height:20px}
.logo span{font-size:24px;font-weight:700;font-stretch:88%;letter-spacing:-.03em;line-height:1}
.logo b{color:var(--green);font-weight:700}
.nav{flex:1;display:flex;justify-content:center;gap:4px}
.nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;font-size:13px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;position:relative}
.nav a::after{content:"";position:absolute;left:14px;right:14px;bottom:10px;height:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav a:hover::after,.nav a.on::after{transform:scaleX(1)}
.hd-r{display:flex;align-items:center;gap:6px;flex:none;margin-left:auto} /* tout à droite, même quand le menu passe en burger */
.lang{display:flex;align-items:center}
.lang button{min-width:40px;min-height:44px;font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--ink-3);position:relative}
.lang button + button::before{content:"";position:absolute;left:0;top:15px;bottom:15px;width:1px;background:var(--rule-soft)}
.lang button.on{color:var(--ink)}
.lang button.on::after{content:"";position:absolute;left:12px;right:12px;bottom:10px;height:2px;background:var(--green)}
.hd-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 10px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;transition:color .2s}
.hd-link:hover{color:var(--green-ink)}
.hd-link svg{display:none;width:22px;height:22px}
.cart-badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;background:var(--ink);color:#fff;font-size:12px;font-weight:700;border-radius:2px;line-height:1;font-variant-numeric:tabular-nums}
.burger{display:none;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:center;gap:7px}
.burger span{display:block;width:22px;height:2px;background:var(--ink);transition:transform .3s var(--ease)}
.burger[aria-expanded="true"] span:first-child{transform:translateY(4.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}

/* =========================================================
   HERO : « Découvre notre Série 1. » en très grand à gauche,
   Le texte est à gauche dès l'arrivée, l'animation se joue à droite en très grand.
   ========================================================= */
/* titres et chapeaux partagés (pages intérieures, Série 1, 404) */
.h-title{font-size:clamp(2.6rem,5.3vw,5.6rem)}
.h-lede{max-width:34ch;margin-top:30px;font-size:clamp(17px,1.3vw,19px);color:var(--ink-2)}
.h-facts{width:fit-content;display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:0 clamp(28px,4vw,56px);margin-top:clamp(44px,8vh,88px);padding-top:18px;border-top:1px solid var(--rule)}
.h-facts dt{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.h-facts dd{margin-top:4px;font-size:clamp(20px,1.7vw,24px);font-weight:560;font-stretch:88%;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap}

.h-hero{position:relative;overflow:hidden;background:#ced4d4;--ink-3:#4c5353}
/* le fond s'éclaircit côté texte (le gris des photos reste côté PC) */
.h-hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#eef1f1 0%,#e3e8e8 28%,rgba(206,212,212,0) 52%)}
.h-hero > .h-wrap{position:relative;z-index:2}
.h-hero-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center;height:calc(100svh - var(--hd));min-height:400px;max-height:1100px}
.h-copy{grid-column:1 / span 5}
.h-big{font-size:clamp(3.4rem,min(11vw,17svh),11.5rem);font-weight:560;font-stretch:80%;letter-spacing:-.045em;line-height:.84;text-transform:uppercase;white-space:nowrap}
.h-big span{display:block;margin-bottom:.65em;font-size:clamp(1.1rem,min(2.2vw,3.6svh),2.3rem);letter-spacing:-.01em;line-height:1;color:var(--ink-2)}
.h-hero .h-lede{max-width:34ch;margin-top:clamp(24px,3.5vh,38px);font-size:clamp(17px,1.35vw,20px);color:var(--ink-2)}
.h-ctas{display:flex;align-items:center;flex-wrap:wrap;gap:14px 30px;margin-top:clamp(26px,4vh,42px)}

/* le PC : à droite, plus haut que l'écran */
.h-stage{position:absolute;inset:0;z-index:0;margin:0}
.h-pcbox{position:absolute;top:-7%;left:38%;height:111%;aspect-ratio:1 / 1} /* plus grand que l'écran : on rogne le vide gris en haut, le dessous (pieds + ombre) reste visible */
/* bords de l'image fondus dans le fond (ombre au sol comprise) */
.h-pc{-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(transparent,#000 6%,#000 92%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(transparent,#000 6%,#000 92%,transparent);mask-composite:intersect}
.h-pc{position:relative;aspect-ratio:1 / 1;transform:perspective(1600px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translate3d(0,var(--fy,0px),0);will-change:transform}
.h-still,.h-canvas{position:absolute;inset:0;width:100%;height:100%}
.h-canvas{opacity:0}
.h-stage.is-ready .h-canvas{opacity:1}
.js .h-still{visibility:hidden}
.js .is-static .h-still{visibility:visible}
.is-static .h-canvas{display:none}

/* hauteur visible réelle quand la barre d'admin WordPress est affichée */
.admin-bar .h-hero-grid{height:calc(100svh - var(--hd) - 32px)}

/* =========================================================
   Sections
   ========================================================= */
.h-sec{padding:clamp(80px,9vw,128px) 0}

/* Grandes bandes pleine largeur : grise ou noire (pas de filet en tête) */
.h-band.grey{background:var(--band-grey)}
.h-band .h-sechd{border-top:0;padding-top:0}
.h-band .h-faq-grid{padding-top:0}
.h-band .h-faq-grid::before{display:none}
.h-sechd{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:end;padding-top:22px;border-top:1px solid var(--rule);margin-bottom:clamp(40px,5vw,64px)}
.h-sechd h2{grid-column:1 / span 8;font-size:clamp(2.4rem,4.6vw,4.4rem)}
.h-sechd p{grid-column:9 / span 4;font-size:17px;color:var(--ink-2);max-width:40ch}
/* Variante : titre pleine largeur, texte dessous (casse la répétition des en-têtes) */
.h-sechd.wide{align-items:start}
.h-sechd.wide h2{grid-column:1 / -1;font-size:clamp(3rem,7vw,6rem)}
.h-sechd.wide p{grid-column:1 / span 5;margin-top:22px}

/* --- Gamme : lignes d'index --- */
.h-rows{list-style:none;border-top:1px solid var(--rule)}
.h-row{position:relative;display:grid;grid-template-columns:3.2fr 3fr 2fr 2fr 180px;align-items:center;column-gap:24px;padding:30px 0;border-bottom:1px solid var(--rule)}
/* Survol : la ligne du PC est encadrée en vert */
.h-row::after{content:"";position:absolute;inset:-1px -18px;border:2px solid var(--green);border-radius:3px;opacity:0;transform:scale(.985);transition:opacity .25s,transform .45s var(--ease);pointer-events:none}
.h-row:hover,.h-row:focus-visible{z-index:1}
.h-row:hover::after,.h-row:focus-visible::after{opacity:1;transform:none}
.h-row:focus-visible{outline:none}
.h-row-name{font-size:clamp(2.6rem,5.4vw,5rem);transition:transform .5s var(--ease)}
.h-row:hover .h-row-name{transform:translateX(10px)}
.h-row-name b{font-weight:300}
.h-row-name small{display:block;margin-top:10px;font-size:12px;font-weight:600;font-stretch:100%;letter-spacing:.08em;line-height:1.2;color:var(--green-ink)}
.h-row-spec{display:flex;flex-direction:column;gap:2px;font-size:16px;font-weight:500}
.h-row-spec span + span{color:var(--ink-2);font-weight:400}
.h-row-use{font-size:15px;color:var(--ink-2)}
.h-row-price{display:flex;flex-direction:column;font-size:clamp(22px,2vw,28px);font-weight:560;font-stretch:88%;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap}
.h-row-price small{font-size:12px;font-weight:600;font-stretch:100%;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.h-row-go{justify-self:end;display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.h-row-go svg{width:20px;height:20px;transition:transform .45s var(--ease)}
.h-row:hover .h-row-go{color:var(--green-ink)}
.h-row:hover .h-row-go svg{transform:translateX(6px)}


/* Paragraphe courant sous un titre de section */
.h-p{margin-top:24px;color:var(--ink-2);max-width:42ch}

/* --- Marques : schéma annoté du PC (traits qui se dessinent) --- */
.h-anat{position:relative;aspect-ratio:1320 / 640;margin:calc(-1 * clamp(20px,3vw,44px)) 0 0}
.h-anat-img{position:absolute;left:25%;top:9.375%;width:50%}
.h-anat-img img{width:100%;height:auto}
/* photo studio grise : bords fondus dans le blanc de la section */
.h-anat-img img{-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent),linear-gradient(transparent,#000 10%,#000 94%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent),linear-gradient(transparent,#000 10%,#000 94%,transparent);mask-composite:intersect}
.h-pin{position:absolute;left:var(--x);top:var(--y);width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px #fff;font-size:0;opacity:0;transform:scale(.4);transition:opacity .4s var(--ease) .9s,transform .5s var(--ease) .9s}
.h-pin::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1.5px solid var(--green);opacity:0}
.h-anat.in .h-pin{opacity:1;transform:none}
.h-anat.in .h-pin::after{animation:hPing 2.4s var(--ease) 1.4s infinite}
@keyframes hPing{0%{opacity:.9;transform:scale(.6)}70%,100%{opacity:0;transform:scale(1.8)}}
.h-anat-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.h-anat-lines path{fill:none;stroke:var(--ink);stroke-width:1.2;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1s var(--ease)}
.h-anat.in .h-anat-lines path{stroke-dashoffset:0}
.h-anat-labels{list-style:none}
html:not(.js) .h-pin,html:not(.js) .h-anat-labels li{opacity:1;transform:none}
html:not(.js) .h-anat-lines path{stroke-dashoffset:0}
.h-anat-labels li{position:absolute;display:flex;flex-direction:column;gap:2px;transform:translateY(-50%);opacity:0;transition:opacity .6s var(--ease) .5s}
.h-anat.in .h-anat-labels li{opacity:1}
.h-anat-labels .l{left:0;width:22%;top:var(--ty);align-items:flex-end;text-align:right}
.h-anat-labels .l b{white-space:nowrap}
.h-anat-labels .r{left:78.5%;right:0;top:var(--ty)}
.h-anat-labels .k{display:inline-flex;align-items:center;gap:8px;margin-bottom:6px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.h-anat-labels .k i{display:none;font-style:normal}
.h-anat-labels b{font-size:clamp(1.5rem,2.3vw,2.3rem);font-weight:560;font-stretch:80%;letter-spacing:-.03em;line-height:.95;text-transform:uppercase;color:var(--green)}
.h-anat-labels .m{font-size:14px;color:var(--ink-2)}
.h-anat-labels .m + b{margin-top:10px}

/* --- Trois choix --- */
.h-choices{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;margin-bottom:clamp(40px,5vw,56px)}
.h-choices li{padding-top:18px;border-top:1px solid var(--rule)}
.h-choices .n{font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--green-ink);font-variant-numeric:tabular-nums}
.h-choices h3{margin-top:26px;font-size:clamp(1.7rem,2.4vw,2.3rem)}
.h-choices p{margin-top:12px;max-width:34ch;color:var(--ink-2)}

/* --- FAQ --- */
.h-faq-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;padding-top:22px}
.h-faq-grid h2{grid-column:1 / span 5;font-size:clamp(2.4rem,4.6vw,4.4rem)}
.h-faq{grid-column:7 / span 6}
.h-faq details{border-bottom:1px solid var(--rule)}
.h-faq details:first-child{border-top:1px solid var(--rule)}
.h-faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:68px;padding:12px 0;font-size:19px;font-weight:500;list-style:none;cursor:pointer;transition:color .2s}
.h-faq summary::-webkit-details-marker{display:none}
.h-faq summary:hover{color:var(--green-ink)}
.h-faq summary svg{width:22px;height:22px;transition:transform .4s var(--ease)}
.h-faq details[open] summary svg{transform:rotate(45deg)}
.h-faq details p{max-width:58ch;padding:0 40px 26px 0;color:var(--ink-2)}
.h-faq .h-link{margin-top:22px}


/* =========================================================
   Pied de page (version accueil)
   ========================================================= */
.site-ft{padding:0 0 32px;font-size:14px;color:var(--ink-2)}
.site-ft .wrap{position:relative;max-width:var(--maxw);margin:0 auto;padding:28px var(--gut) 0}
.site-ft .wrap::before{content:"";position:absolute;top:0;left:var(--gut);right:var(--gut);height:1px;background:var(--rule)}
.ft-top{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;margin-bottom:36px}
.ft-top p{color:var(--ink-2)}
.ft-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-bottom:36px}
.ft-cols h5,.ft-cols .ft-h{margin-bottom:10px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.ft-cols a{display:block;padding:7px 0;color:var(--ink-2);transition:color .2s}
.ft-cols a:hover{color:var(--green-ink)}
.ft-legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:18px;border-top:1px solid var(--rule-soft);font-size:13px;color:var(--ink-3)}

/* =========================================================
   Pages intérieures (Série 1, configurateur, infos, légal,
   WooCommerce, 404) — même monde que l'accueil
   ========================================================= */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
.p-page{padding:clamp(40px,6vw,88px) 0 clamp(80px,9vw,128px)}
.p-narrow{max-width:calc(820px + 2 * var(--gut))}
.p-big{font-size:clamp(2.6rem,6vw,5.4rem);max-width:16ch}
.p-title{font-size:clamp(2.2rem,4.4vw,3.8rem);font-stretch:80%;font-weight:560;text-transform:uppercase;letter-spacing:-.03em;line-height:.92;text-wrap:balance}
.p-page .h-lede{max-width:52ch}
.p-page .h-ctas{margin-top:40px}
.p-page .p-big + .entry{margin-top:clamp(28px,4vw,48px)}

/* --- Série 1 : titre + PC --- */
.p-hero{padding:clamp(28px,4vw,56px) 0 clamp(40px,5vw,72px)}
.p-hero-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center}
.p-hero-copy{grid-column:1 / span 6;grid-row:1;position:relative;z-index:2}
.p-hero-copy .h-title{font-size:clamp(3.4rem,8vw,7.5rem)}
.p-hero-img{grid-column:6 / span 7;grid-row:1}
.p-hero-img img{width:100%}

/* --- Série 1 : couleurs (grandes zones) --- */
.p-colors{list-style:none;display:flex;flex-wrap:wrap;gap:clamp(28px,5vw,64px);padding:28px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.p-colors li{display:flex;align-items:center;gap:16px}
.p-colors i{display:block;width:clamp(56px,6vw,72px);height:clamp(56px,6vw,72px);border-radius:50%;box-shadow:inset 0 0 0 1px rgba(11,11,11,.18)}
.p-colors span{font-size:clamp(1.3rem,2vw,1.8rem);font-weight:560;font-stretch:80%;letter-spacing:-.02em;text-transform:uppercase}

/* --- Série 1 : comparatif --- */
.p-cmp{border-top:1px solid var(--rule)}
.p-cmp-row{display:grid;grid-template-columns:1.1fr repeat(3,minmax(0,1fr));column-gap:24px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--rule-soft)}
.p-cmp-row [role=rowheader]{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.p-cmp-row [role=cell]{font-size:15px;font-weight:500}
/* Marque de la pièce sous la spec (comparatif, colonnes Série 1). */
.p-by{display:block;margin-top:3px;font-size:13px;font-weight:600;color:var(--green-ink)}
.p-cmp-head{align-items:end;padding:22px 0 20px;border-bottom:1px solid var(--rule)}
.p-cmp-head b{display:block;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:560;font-stretch:80%;letter-spacing:-.03em;line-height:.95;text-transform:uppercase}
.p-cmp-head b i{font-style:normal;font-weight:300}
.p-cmp-head em{display:block;margin-top:6px;font-style:normal;font-size:18px;font-weight:560;font-stretch:88%;font-variant-numeric:tabular-nums}
.p-cmp-head .h-link{min-height:36px;font-size:14px}

/* --- Série 1 : dans la boîte --- */
.p-box{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
.p-box > div{grid-column:1 / span 5}
.p-box h2{font-size:clamp(2.4rem,4.6vw,4.4rem)}
.p-box-list{grid-column:7 / span 6;list-style:none;border-top:1px solid var(--rule)}
.p-box-list li{display:flex;align-items:center;gap:14px;min-height:64px;padding:12px 0;border-bottom:1px solid var(--rule);font-size:clamp(17px,1.5vw,20px);font-weight:500}
.p-box-list svg{width:22px;height:22px;color:var(--green)}

/* --- Configurateur --- */
.c-page{padding:clamp(28px,4vw,56px) 0 clamp(80px,9vw,128px)}
.c-title{font-size:clamp(2.6rem,5.6vw,5.2rem);margin-bottom:clamp(28px,4vw,48px)}
.cfg{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
.cfg-visual{grid-column:1 / span 7;position:sticky;top:calc(var(--hd) + 20px)}
.cfg-zone{position:relative;aspect-ratio:1 / 1;overflow:hidden;border-radius:3px;background:#cdd4d4}
.cfg-zone img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;transition:opacity .3s}
.cfg-caption{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-top:14px;padding-bottom:12px;border-bottom:1px solid var(--rule)}
.cfg-name{font-size:clamp(1.4rem,2.4vw,2.2rem);font-weight:560;font-stretch:80%;letter-spacing:-.02em;text-transform:uppercase}
.cfg-color-name{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--green-ink)}
.cfg-steps{grid-column:8 / span 5;display:grid;gap:40px}
.cfg-step{border:0;min-width:0}
.cfg-step legend{display:flex;align-items:baseline;gap:12px;width:100%;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--rule);font-size:clamp(1.4rem,2vw,1.8rem);font-weight:560;font-stretch:80%;letter-spacing:-.02em;text-transform:uppercase}
.cfg-step legend span{font-size:13px;font-weight:600;font-stretch:100%;letter-spacing:.06em;color:var(--green-ink);font-variant-numeric:tabular-nums}
.models,.opts{display:grid;gap:8px}
.model input,.opt input,.cpick input{position:absolute;opacity:0;pointer-events:none}
.model{display:block;cursor:pointer}
.model-in{display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding:16px 18px;border:1px solid var(--rule-soft);border-radius:3px;transition:border-color .2s,box-shadow .2s}
.model-in b{font-size:clamp(1.4rem,2vw,1.8rem);font-weight:560;font-stretch:80%;letter-spacing:-.02em;line-height:1;text-transform:uppercase}
.model-in b i{font-style:normal;font-weight:300}
.model-in small{grid-column:1;font-size:13px;color:var(--ink-2)}
.model-in em{grid-column:2;grid-row:1 / span 2;align-self:center;font-style:normal;font-size:15px;font-weight:560;font-stretch:88%;font-variant-numeric:tabular-nums;white-space:nowrap}
.opt{position:relative;display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:56px;padding:12px 18px;border:1px solid var(--rule-soft);border-radius:3px;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.model:hover .model-in,.opt:hover{border-color:var(--ink)}
.model input:checked + .model-in,.opt:has(input:checked){border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.model input:focus-visible + .model-in,.opt:has(input:focus-visible){outline:2px solid var(--green-ink);outline-offset:3px}
.opt-name{font-size:15px;font-weight:500}
.opt-price{font-size:14px;font-weight:560;color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums}
.opt:has(input:checked) .opt-price{color:var(--green-ink)}
.colors-pick{display:flex;gap:24px;flex-wrap:wrap}
.cpick{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:64px;cursor:pointer;font-size:13px;font-weight:500;color:var(--ink-2)}
.cpick i{position:relative;width:48px;height:48px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(11,11,11,.18)}
.cpick input:checked + i::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--green)}
.cpick input:checked ~ span{color:var(--ink);font-weight:600}
.cpick input:focus-visible + i{outline:2px solid var(--green-ink);outline-offset:8px}
.help{margin-top:10px;font-size:14px;color:var(--ink-2)}
.cfg-adv{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.cfg-adv summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;list-style:none;cursor:pointer}
.cfg-adv summary::-webkit-details-marker{display:none}
.cfg-adv summary svg{width:20px;height:20px;transition:transform .4s var(--ease)}
.cfg-adv[open] summary svg{transform:rotate(45deg)}
.cfg-adv .cfg-step{padding-bottom:24px}
.cfg-adv .cfg-step + .cfg-step{margin-top:8px}
.cfg-sum{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;border-top:2px solid var(--ink);background:var(--bg)}
.cfg-total-l{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.cfg-total{font-size:clamp(2rem,3vw,2.6rem);font-weight:560;font-stretch:85%;letter-spacing:-.02em;line-height:1.05;font-variant-numeric:tabular-nums}
.cfg-vat{font-size:13px;color:var(--ink-2)}
.cfg-delivery{font-size:14px;color:var(--ink-2)}

/* --- Pages légales --- */
.p-legal{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
.p-legal-nav{grid-column:1 / span 3;position:sticky;top:calc(var(--hd) + 24px);display:flex;flex-direction:column;border-top:1px solid var(--rule)}
.p-legal-h{padding:14px 0 8px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.p-legal-nav a{display:flex;align-items:center;min-height:44px;border-bottom:1px solid var(--rule-soft);font-size:15px;font-weight:500;transition:color .2s}
.p-legal-nav a:hover{color:var(--green-ink)}
.p-legal-nav a.on{color:var(--green-ink);font-weight:600}
.p-legal-body{grid-column:5 / span 8;max-width:66ch}
.p-legal-body .p-title{margin-bottom:clamp(24px,3vw,40px)}
.entry{color:var(--ink-2)}
.entry h2,.entry h3,.entry h4{color:var(--ink);font-weight:600;font-stretch:90%;letter-spacing:-.01em;line-height:1.2}
.entry h2{font-size:24px;margin:40px 0 12px}
.entry h3{font-size:20px;margin:32px 0 10px}
.entry h4{font-size:19px;margin:32px 0 10px}
.entry h2:first-child,.entry h3:first-child,.entry h4:first-child{margin-top:0}
.entry p,.entry ul,.entry ol{margin-bottom:16px}
.entry ul,.entry ol{padding-left:22px}
.entry li{margin-bottom:6px}
.entry a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--green);text-decoration-thickness:2px;text-underline-offset:4px}
.entry a:hover{color:var(--green-ink)}
.entry strong,.entry b{color:var(--ink);font-weight:600}
.entry table{width:100%;border-collapse:collapse;margin:0 0 20px;font-size:15px}
.entry th,.entry td{padding:10px 12px 10px 0;border-bottom:1px solid var(--rule-soft);text-align:left;vertical-align:top}
.legal-upd{margin-top:40px;padding-top:16px;border-top:1px solid var(--rule);font-size:13px;color:var(--ink-3)}

/* --- À propos --- */
.p-about{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;margin-top:clamp(36px,5vw,64px);padding-top:22px;border-top:1px solid var(--rule)}
.p-about-lead{grid-column:1 / span 6;font-size:clamp(20px,2vw,26px);line-height:1.4;font-weight:500;color:var(--ink)}
.p-about-cols{grid-column:8 / span 5;display:grid;gap:16px;color:var(--ink-2)}

/* --- Contact / Support --- */
.p-form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
.p-form-intro{grid-column:1 / span 5}
.p-form-intro .h-lede{max-width:40ch}
.p-direct{margin-top:32px;font-size:15px;color:var(--ink-2)}
.p-form-box{grid-column:7 / span 6;padding-top:22px;border-top:1px solid var(--rule)}
.form{display:grid;gap:20px}
.form label{display:grid;gap:8px}
.form label > span{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.form abbr{text-decoration:none;color:var(--green-ink)}
.form input,.form select,.form textarea{width:100%;min-height:52px;padding:14px 16px;font:inherit;font-size:16px;color:var(--ink);background:var(--bg);border:1px solid rgba(11,11,11,.3);border-radius:3px;transition:border-color .2s,box-shadow .2s}
.form input:hover,.form select:hover,.form textarea:hover{border-color:var(--ink)}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.form textarea{resize:vertical;line-height:1.5}
.form ::placeholder{color:var(--ink-3)}
.form .h-btn{justify-self:start}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.notice{margin-bottom:22px;padding:14px 18px;border-radius:3px;font-size:15px;font-weight:500}
.notice.ok{background:#e8f3e4;color:var(--green-ink);box-shadow:inset 0 0 0 1px var(--green)}
.notice.err{background:#fbeceb;color:#9c2b23;box-shadow:inset 0 0 0 1px #c9544b}
.p-gate{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.p-gate > svg{width:34px;height:34px;color:var(--green)}
.p-gate p{font-size:19px;font-weight:500;max-width:34ch}

/* --- 404 --- */
.p-404-code{font-size:clamp(5rem,16vw,12rem);font-weight:560;font-stretch:75%;letter-spacing:-.04em;line-height:.85;color:var(--ink)}
.p-404 .p-big{margin-top:18px}

/* =========================================================
   WooCommerce (panier, commande, compte) — même monde
   ========================================================= */
.wc-page{color:var(--ink)}
.woocommerce,.woocommerce-page{font-family:var(--font)}
.entry.wc-page{color:var(--ink)}
.entry.wc-page a:not(.button):not(.remove){color:inherit}
.entry.wc-page p a:not(.button),.woocommerce-privacy-policy-text a,.woocommerce-LostPassword a{text-decoration:underline;text-decoration-color:var(--green);text-underline-offset:4px}
.entry.wc-page ul{padding-left:0}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;background:var(--ink);color:#fff;border:0;border-radius:3px;font-family:var(--font);font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;line-height:1.2;transition:background .3s var(--ease)}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:var(--green-ink);color:#fff}
.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled]{background:var(--band-grey);color:var(--ink-3);padding:0 24px;opacity:1}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce #place_order,.woocommerce .checkout-button{background:var(--ink)!important;color:#fff!important;min-height:62px;font-size:15px!important;padding:0 32px!important}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce #place_order:hover,.woocommerce .checkout-button:hover{background:var(--green-ink)!important}
.woocommerce form .form-row label{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-bottom:6px;line-height:1.4}
.woocommerce form .form-row .required{color:var(--green-ink);text-decoration:none}
.woocommerce form .form-row label.woocommerce-form__label-for-checkbox,.woocommerce form label.woocommerce-form-login__rememberme{font-size:14px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce .select2-container .select2-selection--single,.woocommerce input.input-text{min-height:52px;padding:13px 16px;font-family:var(--font);font-size:16px;color:var(--ink);background:var(--bg);border:1px solid rgba(11,11,11,.3);border-radius:3px}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce input.input-text:focus{outline:none;border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered{line-height:24px;padding:0}
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow{top:12px;right:8px}
.woocommerce-message,.woocommerce-info,.woocommerce-error{margin:0 0 24px;padding:18px 0;font-family:var(--font);font-size:17px;background:transparent;color:var(--ink);border:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule-soft);border-radius:0;box-shadow:none}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none}
.woocommerce-error{color:#9c2b23;border-top-color:#c9544b}
.woocommerce table.shop_table{border:0;border-radius:0;border-collapse:collapse;background:transparent;border-top:1px solid var(--rule)}
.woocommerce table.shop_table th{padding:14px 12px 14px 0;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--rule)}
.woocommerce table.shop_table td{padding:18px 12px 18px 0;border-top:0;border-bottom:1px solid var(--rule-soft)}
.woocommerce table.shop_table td.product-name a{font-size:clamp(1.3rem,2vw,1.7rem);font-weight:560;font-stretch:80%;letter-spacing:-.02em;text-transform:uppercase}
.woocommerce table.shop_table td.product-name dl.variation{margin-top:8px;font-size:13px;color:var(--ink-2)}
.woocommerce table.shop_table td.product-name dl.variation dt{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.woocommerce td.product-thumbnail img,.woocommerce-cart-form img{width:96px!important;border-radius:3px;background:var(--band-grey)}
.woocommerce a.remove{width:28px;height:28px;line-height:26px;color:var(--ink-2)!important;border:1px solid var(--rule-soft);border-radius:50%;font-weight:400}
.woocommerce a.remove:hover{background:#c9544b!important;border-color:#c9544b;color:#fff!important}
.woocommerce .quantity .qty{min-height:44px;padding:8px;border:1px solid rgba(11,11,11,.3);border-radius:3px;font-family:var(--font)}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-checkout-review-order{padding:clamp(22px,3vw,32px);background:var(--band-grey);border-radius:3px}
.woocommerce .cart-collaterals .cart_totals h2,.woocommerce-billing-fields h3,.woocommerce-shipping-fields h3,.woocommerce-additional-fields h3,#order_review_heading,.woocommerce-customer-details h2,.woocommerce-order-details__title,.woocommerce-column__title,.woocommerce #customer_login h2{margin-bottom:16px;font-size:clamp(1.6rem,2.6vw,2.4rem);font-weight:560;font-stretch:80%;letter-spacing:-.02em;line-height:1;text-transform:uppercase}
.woocommerce .cart-collaterals .cart_totals table.shop_table{border-top:1px solid var(--rule)}
.woocommerce .cart_totals .order-total td,.woocommerce-checkout-review-order-table .order-total td{font-size:24px;font-weight:560;font-stretch:88%;font-variant-numeric:tabular-nums}
.woocommerce-checkout #payment{background:transparent;border-radius:0}
.woocommerce-checkout #payment ul.payment_methods{padding:0 0 14px;border-bottom:1px solid var(--rule)}
.woocommerce-checkout #payment ul.payment_methods li{list-style:none;margin-bottom:8px;padding:14px 16px;background:var(--bg);border:1px solid var(--rule-soft);border-radius:3px}
.woocommerce-checkout #payment div.payment_box{background:var(--bg);border-radius:3px;color:var(--ink-2)}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce .coupon input.input-text{min-width:180px}
.woocommerce-account .woocommerce{display:grid;grid-template-columns:240px 1fr;gap:clamp(24px,4vw,56px);align-items:start}
.woocommerce-account:not(.logged-in) .woocommerce{display:block}
.woocommerce-MyAccount-navigation{float:none!important;width:auto!important;border-top:1px solid var(--rule)}
.woocommerce-MyAccount-content{float:none!important;width:auto!important}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}
.woocommerce-MyAccount-navigation a{display:flex;align-items:center;min-height:48px;border-bottom:1px solid var(--rule-soft);font-size:15px;font-weight:500;color:var(--ink)}
.woocommerce-MyAccount-navigation a:hover,.woocommerce-MyAccount-navigation .is-active a{color:var(--green-ink)}
.woocommerce-MyAccount-navigation .is-active a{font-weight:600}
.woocommerce #customer_login{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.woocommerce #customer_login::before,.woocommerce #customer_login::after{display:none}
.woocommerce #customer_login .u-column1,.woocommerce #customer_login .u-column2{float:none;width:auto}
.woocommerce form.login,.woocommerce form.register,.woocommerce form.lost_reset_password{margin:0!important;padding:22px 0 0!important;background:transparent;border:0!important;border-top:1px solid var(--rule)!important;border-radius:0!important}
.woocommerce-privacy-policy-text p{font-size:13px;color:var(--ink-2)}
.cart-empty.woocommerce-info{font-size:19px}
.return-to-shop{margin-top:20px}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:1100px){
  .hd-link .t{display:none}
  .hd-link svg{display:block}
  .h-row{grid-template-columns:3fr 3fr 2fr 180px}
  .h-row-use{display:none}
}
@media (max-width:900px){
  :root{--hd:64px}
  .burger{display:flex}
  .nav{position:fixed;top:var(--hd);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:8px var(--gut) 20px;background:var(--hd-bg);border-bottom:1px solid var(--rule);transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s var(--ease)}
  .nav.open{opacity:1;transform:none;pointer-events:auto}
  .nav a{min-height:56px;padding:0;font-size:22px;font-weight:560;font-stretch:85%;letter-spacing:-.01em;border-bottom:1px solid var(--rule-soft)}
  .nav a::after{display:none}
  .nav a.on{color:var(--green-ink)}
  .admin-bar .nav{top:calc(var(--hd) + 46px)}

  /* mobile : le PC en grand tout en haut (bande grise pleine largeur), le texte dessous */
  .h-hero{display:flex;flex-direction:column;background:linear-gradient(180deg,#eceff0 0%,#e3e8e8 100%)}
  .h-hero::before{display:none}
  .h-stage{position:relative;inset:auto;order:-2;background:#ced4d4;padding-top:6px;overflow:hidden}
  .h-pcbox{position:relative;top:auto;left:auto;right:auto;height:auto;width:min(100%,58svh);margin:0 auto} /* tablette : PC entier, pas plus haut que 58 % de l écran */
  .h-hero > .h-wrap{width:100%} /* sinon la colonne flex rétrécit le bloc texte (marges auto) */
  .h-hero-grid,.admin-bar .h-hero-grid{display:block;height:auto;min-height:0;max-height:none;padding-top:30px;padding-bottom:48px}
  .h-big{font-size:clamp(3.6rem,19vw,6rem)}
  .h-big span{font-size:1.25rem}

  .h-sechd,.h-faq-grid{grid-template-columns:1fr;row-gap:18px}
  .h-sechd.wide h2,.h-sechd.wide p{grid-column:1;margin-top:0}
  .h-sechd h2,.h-sechd p,.h-faq-grid h2,.h-faq{grid-column:1}
  .h-faq{margin-top:20px}

  .h-row{grid-template-columns:1fr auto;row-gap:14px;padding:24px 0}
  .h-row-name{grid-column:1}
  .h-row-price{grid-column:2;grid-row:1;align-items:flex-end;align-self:end}
  .h-row-spec{grid-column:1 / -1}
  .h-row-go{grid-column:1 / -1;min-height:44px}
  .h-row:hover .h-row-name{transform:none}

  .h-anat{aspect-ratio:auto;margin-top:0}
  .h-anat-img{position:relative;left:auto;top:auto;width:100%}
  .h-anat-lines{display:none}
  .h-pin{width:26px;height:26px;margin:-13px 0 0 -13px;display:grid;place-items:center;font-size:13px;font-weight:700;color:#fff}
  .h-anat-labels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}
  .h-anat-labels li,.h-anat-labels .l,.h-anat-labels .r{position:static;width:auto;transform:none;align-items:flex-start;text-align:left;padding-top:14px;border-top:1px solid var(--rule)}
  .h-anat-labels .l b{white-space:normal}
  .h-anat-labels .k i{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--green);color:#fff;font-size:11px;letter-spacing:0}
  .h-choices{grid-template-columns:1fr;row-gap:36px}
  .ft-cols{grid-template-columns:1fr 1fr}
  .ft-cols a{padding:11px 0}
}
@media (max-width:782px){ .admin-bar .site-hd{top:46px} }
@media (max-width:600px){
  .admin-bar .site-hd{top:0}
  .hd{gap:8px}
  .hd-r{gap:0}
  .lang button{min-width:36px}
  .h-facts{width:auto;grid-template-columns:1fr;padding-top:0}
  .h-facts > div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--rule-soft)}
  .h-facts dd{margin-top:0;text-align:right}
  .h-anat-labels{grid-template-columns:1fr}
  .h-facts dd{font-size:19px;white-space:nowrap}
  .h-steps{gap:6px}
  .h-steps .lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .h-btn{width:100%;justify-content:space-between}
  .h-ctas .h-link{margin:0 auto}
}

/* --- Pages intérieures : responsive --- */
@media (max-width:1100px){
  .cfg-visual{grid-column:1 / span 6}
  .cfg-steps{grid-column:7 / span 6}
}
@media (max-width:900px){
  .p-hero-grid,.p-box,.p-legal,.p-about,.p-form-grid,.cfg{grid-template-columns:1fr;row-gap:28px}
  .p-hero-copy,.p-hero-img,.p-box > div,.p-box-list,.p-legal-nav,.p-legal-body,.p-about-lead,.p-about-cols,.p-form-intro,.p-form-box,.cfg-visual,.cfg-steps{grid-column:1;grid-row:auto}
  .p-hero-img{order:-1;margin:0 calc(var(--gut) * -.5)}
  .p-legal-nav{position:static;order:2;margin-top:24px}
  .cfg-visual{position:static}
  .cfg-zone{aspect-ratio:1 / 1}
  .cfg-sum{position:sticky;bottom:0;z-index:20;margin:0 calc(var(--gut) * -1);padding:14px var(--gut);border-top:1px solid var(--rule);box-shadow:0 -10px 24px -18px rgba(11,11,11,.4)}
  .p-colors{gap:20px 32px}
  .woocommerce-account .woocommerce,.woocommerce #customer_login{grid-template-columns:1fr}
  /* Comparatif : le nom de la ligne passe au-dessus, les 3 modèles restent côte à côte */
  .p-cmp-row{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:12px;row-gap:6px}
  .p-cmp-row [role=rowheader]{grid-column:1 / -1}
  .p-cmp-head [role=columnheader]:first-child{display:none}
  .p-cmp-row [role=cell]{font-size:14px}
}
@media (max-width:600px){
  .p-big{font-size:clamp(2.3rem,11vw,3.4rem)}
  .row2{grid-template-columns:1fr}
  .p-colors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
  .p-colors li{flex-direction:column;align-items:center;gap:10px;text-align:center}
  .p-colors span{font-size:1.05rem;line-height:1.1}
  .cfg-sum .h-btn{width:auto;padding:0 18px;font-size:13px}
  .cfg-total{font-size:1.7rem}
  .cfg-vat{font-size:12px}
  .p-cmp-head b{font-size:1.5rem}
  .p-cmp-head em{font-size:15px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important}
  /* Le dessin des traits reste joué (choix du propriétaire, comme le montage) ; pas de pulsation en boucle */
  .h-anat-lines path{transition-duration:1s !important}
  .h-pin,.h-anat-labels li{transition-duration:.5s !important}
  .h-anat.in .h-pin::after{animation:none !important}
}

/* --- WooCommerce : corrections après essai d'une vraie commande --- */
.woocommerce .wc-proceed-to-checkout a.checkout-button{display:flex;align-items:center;justify-content:center;width:100%;margin-bottom:0}
.woocommerce table.shop_table tbody th,.woocommerce table.shop_table tfoot th{padding:18px 12px 18px 0;border-bottom:1px solid var(--rule-soft);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.woocommerce table.shop_table tfoot td{border-bottom:1px solid var(--rule-soft)}
.woocommerce .cart_totals table.shop_table tr:last-child th,.woocommerce .cart_totals table.shop_table tr:last-child td{border-bottom:0}

/* --- Mon compte : case à cocher et lien « mot de passe perdu » --- */
.woocommerce form.login .form-row:has(.woocommerce-form-login__rememberme){display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.woocommerce form .woocommerce-form-login__rememberme,.woocommerce form label.woocommerce-form__label-for-checkbox{display:inline-flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}
.woocommerce form input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:none;width:20px;height:20px;margin:0;border:1px solid rgba(11,11,11,.4);border-radius:3px;background:var(--bg);display:grid;place-items:center;cursor:pointer;transition:background .2s,border-color .2s}
.woocommerce form input[type=checkbox]:checked{background:var(--ink);border-color:var(--ink)}
.woocommerce form input[type=checkbox]:checked::after{content:"";width:10px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(-45deg)}
.woocommerce form input[type=checkbox]:focus-visible{outline:2px solid var(--green-ink);outline-offset:3px}
.woocommerce .lost_password{margin:14px 0 0;font-size:15px}
.woocommerce .lost_password a{text-decoration:underline;text-decoration-color:var(--green);text-decoration-thickness:2px;text-underline-offset:5px}

/* --- Panier vide : le bouton « Voir la Série 1 » porte la flèche comme les autres --- */
.woocommerce .return-to-shop a.button::after{content:"";width:18px;height:18px;margin-left:14px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;transition:transform .35s var(--ease)}
.woocommerce .return-to-shop a.button:hover::after{transform:translateX(5px)}
.woocommerce form .form-row label.woocommerce-form-login__rememberme,.woocommerce form .form-row label.woocommerce-form__label-for-checkbox{display:inline-flex;align-items:center;gap:10px;margin:0}
.woocommerce form .form-row label.woocommerce-form-login__rememberme span,.woocommerce form .form-row label.woocommerce-form__label-for-checkbox span{font-size:15px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink)}

/* =========================================================
   Règles d'interface (28 sept) : Von Restorff, Jakob, Hick,
   proximité, Miller
   ========================================================= */

/* Von Restorff — le modèle recommandé (S1 Pro, « le plus choisi ») ressort toujours :
   fond blanc sur la bande grise, cadre vert permanent, bouton plein. */
.h-rows li.is-featured .h-row{isolation:isolate}
.h-rows li.is-featured .h-row::before{content:"";position:absolute;inset:-1px -18px;z-index:-1;background:var(--bg);border-radius:3px}
.h-rows li.is-featured .h-row::after{opacity:1;transform:none}
.h-rows li.is-featured .h-row-go{min-height:44px;padding:0 18px;background:var(--green-ink);color:#fff;border-radius:3px;transition:background .3s var(--ease)}
.h-rows li.is-featured .h-row:hover .h-row-go{background:var(--ink);color:#fff}
.h-sec:not(.h-band) .h-rows li.is-featured .h-row::before{background:#f1f7ee}
.p-cmp-head .is-featured b{color:var(--ink)}
.p-cmp-tag,.model-tag{display:inline-block;margin-top:6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green-ink)}
.p-cmp-head .is-featured{position:relative}
.p-cmp-head .is-featured::before{content:"";position:absolute;left:0;right:12px;top:-23px;height:3px;background:var(--green)}
.model-tag{grid-column:1;margin-top:2px}

/* Jakob — connexion comme partout : action principale pleine,
   inscription en bouton contour, « mot de passe perdu » en lien sous le bouton. */
.woocommerce form.register button.button,.woocommerce form.register .woocommerce-form-register__submit{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.woocommerce form.register button.button:hover{background:transparent;color:var(--green-ink);box-shadow:inset 0 0 0 2px var(--green-ink)}

/* Miller + proximité — la commande en deux groupes courts. */
.woocommerce-billing-fields > h3{display:none}
.woocommerce-billing-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}
.woocommerce-billing-fields__field-wrapper::before{content:var(--olipc-grp1,"");grid-column:1 / -1}
.woocommerce-billing-fields__field-wrapper::before,.woocommerce form .form-row.olipc-grp-addr::before{display:block;margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--rule);font-size:clamp(1.3rem,2vw,1.7rem);font-weight:560;font-stretch:80%;letter-spacing:-.02em;line-height:1;text-transform:uppercase;color:var(--ink)}
.woocommerce form .form-row.olipc-grp-addr::before{content:var(--olipc-grp2,"");margin-top:24px}
.woocommerce-billing-fields__field-wrapper .form-row{float:none!important;width:auto!important;margin:0 0 16px!important;padding:0!important}
.woocommerce-billing-fields__field-wrapper .form-row-wide,.woocommerce-billing-fields__field-wrapper .olipc-grp-addr{grid-column:1 / -1}
.woocommerce-billing-fields__field-wrapper .form-row-first{grid-column:1}
.woocommerce-billing-fields__field-wrapper .form-row-last{grid-column:2}


/* Ordre des champs fixé en CSS (le script d'adresse de WooCommerce réordonne le DOM à chaque changement de pays). */
#billing_first_name_field{order:1}#billing_last_name_field{order:2}#billing_email_field{order:3;grid-column:1}#billing_phone_field{order:4;grid-column:2}#billing_company_field{order:5}
#billing_country_field{order:6}#billing_address_1_field{order:7}#billing_address_2_field{order:8}#billing_postcode_field{order:9}#billing_city_field{order:10}#billing_state_field{order:11}
.woocommerce-billing-fields__field-wrapper::before{order:0}

/* Proximité — dans le configurateur, le total et « Ajouter au panier »
   restent au bas de l'écran, à côté des choix. */
.cfg-sum{position:sticky;bottom:0;z-index:20}
@media (min-width:901px){
  .cfg-sum{box-shadow:0 -14px 24px -22px rgba(11,11,11,.5)}
}
@media (max-width:600px){
  .woocommerce-billing-fields__field-wrapper{grid-template-columns:1fr}
  .woocommerce-billing-fields__field-wrapper .form-row-first,.woocommerce-billing-fields__field-wrapper .form-row-last,#billing_email_field,#billing_phone_field{grid-column:1}
  .h-rows li.is-featured .h-row::before{inset:-1px -12px}
}

/* --- Bandeau cookies --- */
.ck-banner{position:fixed;left:0;right:0;bottom:0;z-index:200;background:var(--bg);border-top:1px solid var(--rule);box-shadow:0 -18px 40px -30px rgba(11,11,11,.45);transform:translateY(100%);transition:transform .45s var(--ease)}
.ck-banner.show{transform:none}
.ck-in{display:flex;align-items:center;justify-content:space-between;gap:20px 40px;padding-top:18px;padding-bottom:18px}
.ck-txt{max-width:72ch;font-size:15px;color:var(--ink-2)}
.ck-txt strong{color:var(--ink);font-weight:600}
.ck-txt .h-link{min-height:auto;font-size:15px}
.ck-btns{display:flex;gap:10px;flex:none}
.ck-btn{height:48px;padding:0 20px;font-size:13px}
.ck-manage{font:inherit;font-size:13px;color:var(--ink-3);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ck-manage:hover{color:var(--green-ink)}
@media (max-width:760px){
  .ck-in{flex-direction:column;align-items:stretch}
  .ck-btns{display:grid;grid-template-columns:1fr 1fr}
  .ck-btn{justify-content:center;padding:0 12px}
}
@media (prefers-reduced-motion:reduce){ .ck-banner{transition:none} }

/* --- Assistant de dépannage (page Support) --- */
.as-box{grid-column:7 / span 6;display:flex;flex-direction:column;border-top:1px solid var(--rule)}
.as-head{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--rule-soft)}
.as-av{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ink);color:#fff;font-weight:700;font-size:17px;flex:none}
.as-head p{display:flex;flex-direction:column;line-height:1.3}
.as-head b{font-size:clamp(1.2rem,1.8vw,1.5rem);font-weight:560;font-stretch:80%;letter-spacing:-.02em;text-transform:uppercase}
.as-head p span{font-size:13px;color:var(--ink-2)}
.as-head p span::before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--green);vertical-align:1px}
.as-msgs{display:flex;flex-direction:column;gap:12px;min-height:300px;max-height:min(520px,60vh);overflow-y:auto;padding:20px 0;overscroll-behavior:contain}
.as-msg{max-width:88%;padding:12px 16px;border-radius:3px;font-size:16px;line-height:1.5}
.as-msg.bot{align-self:flex-start;background:var(--band-grey);color:var(--ink)}
.as-msg.me{align-self:flex-end;background:var(--ink);color:#fff}
.as-msg a{color:inherit;text-decoration:underline;text-decoration-color:var(--green);text-underline-offset:3px}
.as-chips{display:flex;flex-wrap:wrap;gap:8px}
.as-chip{min-height:40px;padding:0 14px;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(11,11,11,.3);font-size:14px;font-weight:500;transition:box-shadow .2s,color .2s}
.as-chip:hover{box-shadow:inset 0 0 0 2px var(--green);color:var(--green-ink)}
.as-typing{align-self:flex-start;display:flex;gap:5px;padding:14px 16px;background:var(--band-grey);border-radius:3px}
.as-typing span{width:7px;height:7px;border-radius:50%;background:var(--ink-3);animation:asDot 1.2s infinite ease-in-out}
.as-typing span:nth-child(2){animation-delay:.15s}.as-typing span:nth-child(3){animation-delay:.3s}
@keyframes asDot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.as-form{display:flex;align-items:flex-end;gap:10px;padding-top:14px;border-top:1px solid var(--rule)}
.as-form textarea{flex:1;min-height:52px;max-height:160px;padding:14px 16px;font:inherit;font-size:16px;line-height:1.4;color:var(--ink);background:var(--bg);border:1px solid rgba(11,11,11,.3);border-radius:3px;resize:vertical}
.as-form textarea:focus{outline:none;border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.as-form .h-btn[disabled]{background:var(--ink-3);cursor:wait}
.as-notice{margin-top:10px;font-size:13px;color:var(--ink-2)}
.as-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:900px){
  .as-box{grid-column:1}
  .as-msgs{max-height:none;min-height:0}
}
@media (max-width:600px){
  .as-form .h-btn{width:auto;padding:0 16px}
  .as-msg{max-width:94%}
}

/* --- Configurateur v2 : photo entière et fixe à gauche, titre dans la colonne des choix (façon Apple) --- */
.c-page{padding-top:clamp(20px,3vw,40px)}
.cfg-visual{top:calc(var(--hd) + 24px)}
/* La photo tient toujours entièrement à l'écran : carré limité à la hauteur visible. */
.cfg-zone{width:min(100%,calc(100svh - var(--hd) - 116px));margin:0 auto}
.c-title{margin:0;font-size:clamp(1.9rem,3vw,2.8rem);font-weight:560;font-stretch:85%;letter-spacing:-.02em;line-height:1.08;text-wrap:balance}
.c-title-model{white-space:nowrap;text-decoration:underline;text-decoration-color:var(--green);text-decoration-thickness:.09em;text-underline-offset:.16em}
.c-lede{margin-top:-24px;max-width:44ch;color:var(--ink-2)}
.cfg-sum-img{display:none;flex:none;width:56px;height:56px;object-fit:cover;border-radius:3px;background:#cdd4d4}
@media (max-width:900px){
  .cfg-zone{width:100%}
  .cfg-sum-img{display:block}
  .cfg-sum-txt{flex:1;min-width:0}
  .c-lede{margin-top:-20px}
}
@media (max-width:600px){
  /* Barre du total : miniature | total | bouton, et « TVA incluse · livraison offerte » sur une ligne dessous. */
  .cfg-sum{display:grid;grid-template-columns:56px 1fr auto;align-items:center;column-gap:12px;row-gap:2px}
  .cfg-sum-img{grid-column:1;grid-row:1 / span 2}
  .cfg-sum-txt{display:contents}
  .cfg-total-l{grid-column:2;grid-row:1;align-self:end}
  .cfg-total{grid-column:2;grid-row:2;align-self:start}
  .cfg-sum .h-btn{grid-column:3;grid-row:1 / span 2}
  .cfg-vat{grid-column:1 / -1;grid-row:3;margin-top:6px;font-size:12px;white-space:nowrap}
}

/* =========================================================
   Série 1 — une photo, quelques mots (le détail est dans le comparatif)
   ========================================================= */
.s1-top{padding:clamp(24px,4vh,48px) 0 clamp(56px,7vw,96px)}
.s1-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,4vw,64px);align-items:center;min-height:calc(100svh - var(--hd) - 80px)}
.s1-head .h-title{font-size:clamp(3.2rem,7vw,6.5rem)}
.s1-head .h-lede{margin-top:18px;max-width:40ch}
/* les 3 modèles : une ligne chacun, cliquable vers le configurateur */
.s1-pick{list-style:none;margin:26px 0 22px;border-top:1px solid var(--rule)}
.s1-pick a{display:grid;grid-template-columns:7.5em 1fr auto 20px;align-items:center;gap:14px;min-height:60px;padding:8px 4px;border-bottom:1px solid var(--rule);transition:background .2s}
.s1-pick b{font-size:22px;font-weight:560;font-stretch:82%;letter-spacing:-.01em;text-transform:uppercase}
.s1-pick span{font-size:15px;color:var(--ink-2)}
.s1-pick em{font-style:normal;font-size:15px;font-weight:560;font-variant-numeric:tabular-nums;white-space:nowrap}
.s1-pick svg{width:18px;height:18px;transition:transform .25s var(--ease)}
.s1-pick a:hover{background:var(--green-soft,#eef6ee)}
.s1-pick b{transition:transform .25s var(--ease)}
.s1-pick a:hover b{transform:translateX(8px)}
.s1-pick a:hover b,.s1-pick a:hover svg{color:var(--green-ink)}
.s1-pick a:hover svg{transform:translateX(3px)}
/* Même gris que le fond des photos studio : la photo se fond dans la bande. */
.s1-hero{display:flex;justify-content:center;justify-self:center;border-radius:3px;background:#cdd4d4;overflow:hidden}
.s1-hero img{display:block;width:min(100%,calc(100svh - var(--hd) - 120px));height:auto;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
/* Galerie façon Apple : fondu entre les versions, pilule de points (le point actif s'étire et se remplit) + lecture/pause */
.s1-car{position:relative;display:block;justify-self:stretch;padding:1.5px;border-radius:22px;background:linear-gradient(150deg,#0b0b0b 0%,rgba(11,11,11,.35) 45%,rgba(11,11,11,.12) 60%,#0b0b0b 100%)} /* fin liseré noir dégradé */
.s1-car-track{position:relative;display:flex;justify-content:center;border-radius:20.5px;overflow:hidden;background:#cdd4d4}
.s1-car-slide{display:flex;justify-content:center;padding-top:clamp(50px,4.6vw,66px);transition:opacity .6s var(--ease),transform .9s var(--ease)}
.s1-car-slide:not(:first-child){position:absolute;inset:0}
.s1-car-slide:not(.on){opacity:0;transform:scale(1.03);pointer-events:none}
/* titre fixe de la galerie : une ligne en haut de l'image, typo des titres du site, soulignée en vert comme les liens */
.s1-car-cap{position:absolute;z-index:2;left:clamp(18px,2.2vw,28px);right:clamp(18px,2.2vw,28px);top:clamp(16px,2vw,26px);display:block;font-size:clamp(17px,1.7vw,24px);font-weight:560;font-stretch:80%;letter-spacing:-.01em;line-height:1.15;text-transform:uppercase;color:var(--ink);pointer-events:none}
.s1-car-cap span{text-decoration:underline;text-decoration-color:var(--green);text-decoration-thickness:2px;text-underline-offset:6px}
.s1-car-ui{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;align-items:center;gap:6px;pointer-events:none}
.s1-car-dots,.s1-car-play{pointer-events:auto;background:rgba(240,242,242,.62);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 1px 0 rgba(255,255,255,.5) inset}
.s1-car-dots{display:flex;align-items:center;gap:0;height:32px;padding:0 8px;border-radius:999px}
.s1-car-dots button{display:grid;place-items:center;width:15px;height:32px}
.s1-car-dots i{display:block;position:relative;width:6px;height:6px;border-radius:999px;background:rgba(11,11,11,.38);overflow:hidden;transition:background .3s}
.s1-car-dots button:hover i{background:rgba(11,11,11,.6)}
.s1-car-dots button.on{width:34px}
.s1-car-dots .on i{width:26px;background:rgba(11,11,11,.22)}
.s1-car-dots .on i::after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--ink);transform-origin:left;transform:scaleX(var(--p,0))} /* remplissage piloté par olipc.js */
.s1-car-play{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:var(--ink);transition:transform .2s}
.s1-car-play:hover{transform:scale(1.06)}
.s1-car-play svg{width:14px;height:14px;fill:currentColor}
.s1-car-play .i-play,.s1-car.is-paused .s1-car-play .i-pause{display:none}
.s1-car.is-paused .s1-car-play .i-play{display:block}
@media (prefers-reduced-motion:reduce){.s1-car-slide{transition:opacity .3s}.s1-car-slide:not(.on){transform:none}}
html:not(.js) .s1-car-ui{display:none}
@media (max-width:900px){
  .s1-hero.s1-car{margin:0;border-radius:18px}
  .s1-car-ui{bottom:10px}
  .s1-car-cap{font-size:clamp(12px,3.5vw,17px);white-space:nowrap}
  .s1-car-slide{padding-top:38px}
  .s1-grid{grid-template-columns:1fr;min-height:0}
  .s1-hero{order:-1;margin:0 calc(var(--gut) * -1)}
  .s1-pick a{grid-template-columns:5.5em 1fr auto 18px;gap:10px}
  .s1-pick span{font-size:14px}
}

/* =========================================================
   Tablette et mobile — passe d'optimisation (5 oct 2026)
   ========================================================= */
/* sections moins espacées : on fait moins défiler */
@media (max-width:900px){
  .h-sec{padding:clamp(52px,9vw,80px) 0}
  .p-kb + .p-kb{padding-top:0} /* support : les groupes de questions se suivent */
  .h-anat-img{width:min(100%,560px);margin:0 auto}
}
/* Tablette (601–900 px) : configurateur sur 2 colonnes (le PC reste visible à gauche),
   images limitées en hauteur pour ne pas remplir tout l'écran */
@media (min-width:760px) and (max-width:900px){
  .cfg{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px}
  .cfg-visual{grid-column:1;position:sticky;top:calc(var(--hd) + 16px);align-self:start}
  .cfg-steps{grid-column:2;min-width:0}
  .cfg-zone{width:100%}
  /* barre du total : pleine largeur en bas de l écran (dans la colonne elle était trop serrée) */
  .cfg-sum{position:fixed;left:0;right:0;bottom:0;margin:0;padding:12px var(--gut)}
  .cfg{padding-bottom:96px}
}
@media (min-width:601px) and (max-width:900px){
  .s1-car{width:min(100%,60svh);justify-self:center}
  .s1-grid{justify-items:stretch}
}
/* Téléphone : marques sur 2 colonnes, étapes plus serrées */
@media (max-width:600px){
  .h-anat-labels{grid-template-columns:1fr 1fr;gap:20px 16px}
  .h-anat-labels b{font-size:18px}
  .h-choices{row-gap:24px}
}

/* Marques sur tablette / téléphone : plus de pastilles numérotées sur la photo (jugé « cheap »).
   La photo reste propre, et les marques sont présentées en fiche technique sobre : pièce en petit, marque en titre noir. */
@media (max-width:900px){
  .h-pin{display:none}
  .h-anat-labels .k i{display:none}
  .h-anat-labels{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;margin-top:8px}
  .h-anat-labels li,.h-anat-labels .l,.h-anat-labels .r{padding:18px 0 20px;border-top:1px solid var(--rule)}
  .h-anat-labels b{font-size:22px;color:var(--ink)}
  .h-anat-labels .m{font-size:13px;color:var(--ink-3)}
}
@media (max-width:600px){
  .h-anat-labels{grid-template-columns:1fr 1fr;gap:0 20px}
  .h-anat-labels b{font-size:19px}
}

/* Tablette, page Série 1 : la galerie devient un bandeau pleine largeur, moins haut, collé sous le menu ;
   « Série 1. » et le choix du modèle juste en dessous. */
@media (min-width:601px) and (max-width:900px){
  .s1-top{padding-top:0}
  .s1-hero.s1-car{width:auto;justify-self:stretch;margin:0 calc(var(--gut) * -1);padding:0;border-radius:0;background:none}
  .s1-car-track{border-radius:0;height:min(52svh,540px)}
  .s1-car-slide{height:100%;padding-top:44px}
  .s1-car .s1-car-slide img{width:auto;height:100%;max-width:100%;object-fit:contain}
  .s1-car-cap{left:var(--gut);top:16px}
}

/* Mention « représentation réaliste » sous le visuel du configurateur (discrète, centrée sous le carré) */
.img-note{display:flex;align-items:center;justify-content:center;gap:7px;margin:8px auto 0;max-width:min(100%,calc(100svh - var(--hd) - 116px));font-size:12px;line-height:1.35;color:var(--ink-3);text-align:left}
.img-note-i{flex:none;display:inline-grid;place-items:center;width:15px;height:15px;border:1px solid currentColor;border-radius:50%;font-size:10px;font-weight:700;font-style:italic;line-height:1}
@media (max-width:900px){.img-note{max-width:none;justify-content:flex-start}}

/* =========================================================
   Panier, paiement, confirmation — version courte (11 oct 2026)
   ========================================================= */
.woocommerce-cart .p-big,.woocommerce-checkout .p-big{font-size:clamp(2.4rem,4.4vw,3.8rem)}
.woocommerce-order-received .p-big{display:none}

/* Panier : le PC à gauche, le total et un seul bouton à droite */
.oc-cart{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,400px);gap:clamp(28px,4vw,64px);align-items:start;margin-top:8px;padding-top:28px;border-top:1px solid var(--rule)}
.oc-item{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:clamp(16px,2.4vw,28px);align-items:start;padding-bottom:28px;border-bottom:1px solid var(--rule-soft)}
.oc-item + .oc-item{padding-top:28px}
.oc-img img{display:block;width:150px!important;height:150px;object-fit:cover;border-radius:3px;background:#cdd4d4}
.oc-name{font-size:clamp(1.6rem,2.4vw,2.2rem);font-weight:560;font-stretch:80%;letter-spacing:-.02em;line-height:.95;text-transform:uppercase}
.oc-spec{margin-top:12px;font-size:14px;line-height:1.6;color:var(--ink-2)}
.oc-acts{display:flex;gap:20px;margin-top:14px;font-size:14px}
.oc-acts a{text-decoration:underline;text-decoration-color:var(--green);text-decoration-thickness:2px;text-underline-offset:5px}
.oc-acts a.oc-rm{color:var(--ink-3);text-decoration-color:var(--rule-soft)}
.oc-acts a:hover{color:var(--green-ink)}
.oc-price{font-size:20px;font-weight:560;font-variant-numeric:tabular-nums;white-space:nowrap}
.oc-sum{position:sticky;top:calc(var(--hd) + 20px);padding:clamp(22px,3vw,32px);border-radius:3px;background:var(--band-grey)}
.oc-line{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--rule-soft);font-size:14px}
.oc-line a{color:var(--ink-3);font-size:12px}
.oc-total-l{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.oc-total{margin-top:4px;font-size:clamp(2.2rem,3.4vw,3rem);font-weight:560;font-stretch:80%;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}
.oc-note{margin-top:8px;font-size:13px;color:var(--ink-2)}
.oc-go{text-decoration:none!important;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:58px;margin-top:22px;padding:0 22px;border-radius:3px;background:var(--ink);color:#fff!important;font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;transition:background .25s var(--ease)}
.oc-go svg{width:20px;height:20px;transition:transform .25s var(--ease)}
.oc-go:hover{background:var(--green-ink)}
.oc-go:hover svg{transform:translateX(3px)}
.oc-trust{list-style:none;display:grid;gap:8px;margin:20px 0 0;padding:0;font-size:14px;color:var(--ink-2)}
.oc-trust li{display:flex;align-items:center;gap:10px}
.oc-trust svg{flex:none;width:16px;height:16px;color:var(--green-ink)}
.oc-coupon{margin-top:20px;padding-top:16px;border-top:1px solid var(--rule-soft);font-size:14px}
.oc-coupon summary{cursor:pointer;list-style:none;color:var(--ink-2);text-decoration:underline;text-underline-offset:4px}
.oc-coupon summary::-webkit-details-marker{display:none}
.oc-coupon form{display:flex;gap:8px;margin-top:12px}
.oc-coupon input{flex:1;min-width:0;min-height:44px;padding:0 12px;border:1px solid rgba(11,11,11,.3);border-radius:3px;background:var(--bg);font:inherit}
.oc-coupon button{min-height:44px;padding:0 16px;border-radius:3px;background:var(--ink);color:#fff;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}

/* Paiement : coordonnées à gauche, récapitulatif + paiement + « Payer » à droite (reste visible) */
.woocommerce-checkout form.checkout{display:grid;grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) minmax(320px,440px);column-gap:clamp(28px,4vw,64px);align-items:start}
.woocommerce-checkout form.checkout #customer_details{grid-column:1;grid-row:1 / span 2;width:auto;float:none}
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{float:none;width:100%}
.woocommerce-checkout #customer_details .col-2:not(:has(input,select,textarea)){display:none}
.woocommerce-checkout #order_review_heading{grid-column:2;grid-row:1;align-self:end;margin:0 0 14px;font-size:clamp(1.4rem,2vw,1.8rem)}
.woocommerce-checkout #order_review{grid-column:2;grid-row:2;position:sticky;top:calc(var(--hd) + 20px)}
.woocommerce-checkout-review-order-table thead,.woocommerce-checkout-review-order-table dl.variation,.woocommerce-checkout-review-order-table .product-quantity{display:none}
.woocommerce-checkout-review-order-table tr.cart-subtotal{display:none}
.woocommerce-checkout-review-order-table td.product-name{font-size:17px;font-weight:560}
.woocommerce-checkout #payment div.payment_box p{display:none}
.woocommerce-checkout #payment div.payment_box:not(:has(:not(p))){display:none!important}
.woocommerce-checkout #payment ul.payment_methods li label{font-weight:500}
.woocommerce-checkout #payment ul.payment_methods li img{max-height:24px;margin-left:8px;vertical-align:middle}
.woocommerce #payment #place_order{width:100%;min-height:58px;font-size:15px;float:none}
.woocommerce-checkout .woocommerce-privacy-policy-text p{font-size:12px}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{padding:12px 0;font-size:14px}

/* Confirmation (« Merci ») */
.oc-thanks{max-width:760px}
.oc-th-ok{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--green);color:#fff}
.oc-th-ok svg{width:28px;height:28px}
.oc-th-hd h2{margin-top:22px;font-size:clamp(2.6rem,5vw,4.4rem);font-weight:560;font-stretch:80%;letter-spacing:-.03em;line-height:.9;text-transform:uppercase}
.oc-th-lede{margin-top:16px;max-width:52ch;font-size:clamp(16px,1.3vw,18px);color:var(--ink-2)}
.oc-th-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:36px 0 0;padding:0}
.oc-th-steps li{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:2px solid var(--ink);font-size:15px}
.oc-th-steps b{font-size:12px;letter-spacing:.06em;color:var(--green-ink)}
.oc-th-recap{margin-top:36px;padding:clamp(20px,3vw,28px);border-radius:3px;background:var(--band-grey)}
.oc-th-item{display:flex;flex-direction:column;gap:6px;padding-bottom:14px;border-bottom:1px solid var(--rule-soft)}
.oc-th-item b{font-size:18px}
.oc-th-item span{font-size:14px;color:var(--ink-2)}
.oc-th-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px}
.oc-th-total span{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.oc-th-total b{font-size:28px;font-weight:560;font-stretch:80%}
.oc-th-meta{margin-top:6px;font-size:13px;color:var(--ink-3)}
.oc-th-help{margin-top:28px;font-size:15px;color:var(--ink-2)}
.oc-th-help a{text-decoration:underline;text-decoration-color:var(--green);text-decoration-thickness:2px;text-underline-offset:5px}

@media (max-width:900px){
  .oc-cart,.woocommerce-checkout form.checkout{grid-template-columns:1fr}
  .woocommerce-checkout form.checkout #customer_details,.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{grid-column:1;grid-row:auto}
  .oc-sum,.woocommerce-checkout #order_review{position:static}
  .woocommerce-checkout #order_review_heading{margin-top:28px}
}
@media (max-width:600px){
  .oc-item{grid-template-columns:96px minmax(0,1fr)}
  .oc-img img{width:96px!important;height:96px}
  .oc-price{grid-column:2}
  .oc-th-steps{grid-template-columns:1fr}
}
.oc-th-total b,.oc-th-total b *{font-size:28px;font-weight:560;font-stretch:80%}
.oc-th-recap ~ p:not(.oc-th-help),.oc-th-recap ~ section,.oc-th-recap ~ div{margin-top:22px}

/* Grands écrans à 100 % de zoom (1600 px et plus) : texte courant un peu plus grand, comme sur un écran zoomé */
@media (min-width:1600px){body{font-size:18px}.h-lede,.h-hero .h-lede{font-size:clamp(18px,1.15vw,21px)}}

/* Bloc « confiance » sous le bouton du configurateur */
.cfg-trust{list-style:none;margin:22px 0 0;padding:18px 0 0;border-top:1px solid var(--rule-soft);display:grid;gap:11px}
.cfg-trust li{display:flex;align-items:center;gap:12px;font-size:14px;line-height:1.35;color:var(--ink-2)}
.cfg-trust li b{color:var(--ink);font-weight:600}
.cfg-trust svg{flex:none;width:20px;height:20px;color:var(--green)}
.cfg-ask{margin:16px 0 0;font-size:14px;color:var(--ink-2)}
.cfg-ask a{color:var(--green-ink);font-weight:600;text-decoration:underline;text-underline-offset:.18em}

/* =========================================================
   Mode pause (inc/pause.php) : bandeau, bouton « Préviens-moi », formulaire
   ========================================================= */
.pz-bar{background:var(--ink);color:#fff;font-size:14px;text-align:center}
.pz-bar p{max-width:var(--maxw);margin:0 auto;padding:10px var(--gut)}
.pz-bar a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:4px;margin-left:6px}
.pz-cta{justify-content:center}
.pz-box{max-width:640px;margin:clamp(40px,6vw,72px) auto 0;padding:clamp(24px,4vw,40px);border-radius:3px;background:var(--band-grey);scroll-margin-top:calc(var(--hd) + 24px)}
.pz-box h2{font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:560;font-stretch:85%;letter-spacing:-.02em;text-transform:uppercase}
.pz-box > p{margin-top:12px;color:var(--ink-2)}
.pz-form{display:flex;gap:10px;margin-top:20px}
.pz-form input[type=email]{flex:1;min-width:0;min-height:52px;padding:0 14px;border:1px solid rgba(11,11,11,.3);border-radius:3px;background:#fff;font:inherit;font-size:16px}
.pz-form button{min-height:52px;padding:0 22px;border-radius:3px;background:var(--ink);color:#fff;font-weight:600;transition:background .2s}
.pz-form button:hover{background:var(--green-ink)}
.pz-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.pz-ok{margin-top:18px;font-weight:600;color:var(--green-ink)}
.pz-err{margin-top:18px;font-weight:600;color:#9c2b23}
.pz-cart{margin-top:16px;font-size:14px;color:var(--ink-2)}
@media (max-width:600px){.pz-form{flex-direction:column}}
