/* FLARE CUSTOM — Styles des fiches produit (PDP).
 * Extrait de la maquette produit de référence ; complète assets/flare.css
 * (qui fournit nav, footer, boutons, .sec, .acc, .prod-grid, .chip-st, .eye…).
 * Utilisé par toutes les pages fiche-*.html. */
.pdp .top{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(24px,3vw,42px);align-items:start;}
.pgal{display:grid;gap:12px;} .pgal .main{aspect-ratio:1/1;border-radius:18px;position:relative;overflow:hidden;background:var(--cream-2);touch-action:pan-y;} .pgal .main .phx{position:absolute;inset:0;} .pgal .main .badge{position:absolute;top:14px;left:14px;background:var(--green);color:var(--green-ink);font-family:var(--disp);font-weight:800;font-size:12px;padding:6px 12px;border-radius:999px;z-index:3;white-space:nowrap;}
.gtrack{display:flex;height:100%;transition:transform .35s cubic-bezier(.4,0,.2,1);} .gtrack .gslide{min-width:100%;height:100%;position:relative;background:#fff;} .gtrack .gslide :is(image-slot,img[data-slot]),.gtrack .gslide .phx{position:absolute;inset:0;width:100%;height:100%;}
.garrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.92);border:1px solid var(--line);box-shadow:var(--shadow-sm);display:grid;place-items:center;cursor:pointer;color:var(--ink);transition:transform .15s,background .15s;} .garrow:hover{background:#fff;transform:translateY(-50%) scale(1.07);} .garrow.prev{left:12px;} .garrow.next{right:12px;} .garrow svg{width:20px;height:20px;}
.gdots{position:absolute;bottom:12px;left:0;right:0;z-index:4;display:flex;gap:6px;justify-content:center;} .gdots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.55);cursor:pointer;transition:.15s;} .gdots i.on{background:#fff;width:20px;border-radius:99px;}
.pgal .thumbs{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:2px;} .pgal .thumbs::-webkit-scrollbar{display:none;} .pgal .thwrap{position:relative;} .pgal .tharrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);cursor:pointer;display:grid;place-items:center;box-shadow:0 8px 18px -10px rgba(0,0,0,.35);transition:opacity .15s;} .pgal .tharrow svg{width:14px;height:14px;} .pgal .tharrow.prev{left:-10px;} .pgal .tharrow.next{right:-10px;} .pgal .tharrow[hidden]{display:none;} .pgal .thumbs .gth{flex:0 0 clamp(64px,22.5%,110px);scroll-snap-align:start;} .pgal .thumbs .gth{aspect-ratio:1/1;border-radius:12px;cursor:pointer;overflow:hidden;position:relative;background:var(--cream-2);border:1px solid var(--line);transition:outline .12s;} .pgal .thumbs .gth :is(image-slot,img[data-slot]){position:absolute;inset:0;width:100%;height:100%;} .pgal .thumbs .gth.on{outline:none;border-color:var(--green);box-shadow:inset 0 0 0 2px var(--green);}
.pinfo{position:sticky;top:88px;}
/* relative (et non static) : le fond floute .nav::before (position:absolute)
   doit rester CONFINE a la barre - en static il s'etendrait sur toute la page
   et delaverait fil d'Ariane / titre / badges. Non-sticky comme avant. */
.nav{position:relative !important;top:auto !important;}
.qnav{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(12px);border-block:1px solid var(--line);}
.qnav .in{max-width:var(--maxw,1200px);margin:0 auto;padding:11px clamp(16px,4vw,44px);display:flex;gap:9px;overflow-x:auto;scrollbar-width:none;} .qnav .in::-webkit-scrollbar{display:none;}
.qnav a{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border-radius:999px;border:1px solid var(--line-strong);background:var(--paper);font-family:var(--disp);font-weight:700;font-size:13px;color:var(--ink-soft);white-space:nowrap;transition:.14s;}
.qnav a:hover{border-color:var(--ink);color:var(--ink);transform:translateY(-1px);}
.qnav a svg{width:15px;height:15px;color:var(--green-deep);}
section[id]{scroll-margin-top:70px;}
/* pricing table */
.ptier-wrap{overflow-x:auto;border-radius:16px;border:1px solid var(--line);box-shadow:var(--shadow-sm);background:var(--paper);}
.ptier{width:100%;border-collapse:collapse;min-width:660px;}
.ptier thead th{padding:12px 10px;text-align:center;border-bottom:1px solid var(--line);font-family:var(--disp);font-weight:800;font-size:12.5px;color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap;}
.ptier thead th.qh{text-align:left;padding-left:16px;color:var(--ink-faint);font-size:11px;letter-spacing:.06em;text-transform:uppercase;}
.ptier thead th.feat{background:var(--ink);color:#fff;}
.ptier tbody td{padding:10px 10px;text-align:center;font-family:var(--disp);font-weight:700;font-size:13px;border-top:1px solid var(--line);font-variant-numeric:tabular-nums;color:var(--ink);}
.ptier tbody td.q{text-align:left;padding-left:16px;font-family:var(--body);font-weight:600;font-size:13px;color:var(--ink);white-space:nowrap;}
.ptier tbody td.q span{display:inline-block;margin-left:6px;font-size:10.5px;font-weight:600;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.03em;}
.ptier tbody td.feat{background:var(--green-tint);color:var(--green-deep);font-weight:800;}
.ptier tbody tr:hover td{background:var(--cream);} .ptier tbody tr:hover td.feat{background:color-mix(in srgb,var(--green) 20%,var(--paper));}
.ptier-foot{margin-top:18px;display:grid;gap:14px;}
.pnote{display:flex;gap:9px;align-items:flex-start;color:var(--ink-soft);font-size:13px;} .pnote svg{color:var(--green-deep);flex:0 0 auto;margin-top:1px;}
.prow2{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.pcard2{display:flex;gap:10px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:13px;color:var(--ink-soft);box-shadow:var(--shadow-sm);} .pcard2 svg{color:var(--green-deep);flex:0 0 auto;} .pcard2 b{color:var(--ink);}
@media (max-width:720px){.prow2{grid-template-columns:1fr;}}
.priceblk{display:flex;align-items:baseline;gap:12px;margin:18px 0 2px;} .priceblk .now{font-family:var(--disp);font-weight:800;font-size:32px;line-height:1;} .priceblk .u{color:var(--ink-faint);font-size:14px;}
.cta-3d{display:flex;align-items:center;gap:14px;background:var(--green);color:var(--green-ink);border-radius:18px;padding:18px 20px;margin-top:22px;box-shadow:0 18px 36px -12px rgba(16,181,82,.85);transition:transform .18s,box-shadow .18s;position:relative;overflow:hidden;}
.cta-3d::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-18deg);animation:sheen 3.4s ease-in-out infinite;}
@keyframes sheen{0%,60%{left:-60%}100%{left:130%}}@media (prefers-reduced-motion:reduce){.cta-3d::after{display:none}}
.cta-3d:hover{transform:translateY(-3px);} .cta-3d .ic{width:46px;height:46px;border-radius:13px;background:rgba(3,36,15,.16);display:grid;place-items:center;flex:0 0 auto;}
.cta-3d span:nth-child(2){min-width:0;} .cta-3d b{font-family:var(--disp);font-weight:800;font-size:19px;display:block;line-height:1.05;} .cta-3d small{font-weight:500;font-size:12px;opacity:.82;white-space:nowrap;} .cta-3d .arr{margin-left:auto;font-size:22px;}
.usp{display:grid;gap:9px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line);} .usp div{display:flex;gap:9px;align-items:center;font-size:14px;color:var(--ink-soft);} .usp svg{color:var(--green-deep);flex:0 0 auto;}
.payrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px;color:var(--ink-faint);font-size:12.5px;} .payrow b{border:1px solid var(--line);border-radius:6px;padding:4px 9px;font-size:11px;color:var(--ink-soft);font-weight:700;}
.qtyrow{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:12px;} .qtyrow .q{padding:13px 6px;text-align:center;border-left:1px solid var(--line);} .qtyrow .q:first-child{border-left:none;} .qtyrow .q.on{background:var(--green-tint);} .qtyrow .q .n{font-family:var(--disp);font-weight:800;font-size:16px;} .qtyrow .q .u{font-size:11px;color:var(--ink-faint);}
/* ===== variant selector ===== */
.vsel{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,2.5vw,32px);align-items:stretch;}
.vpick{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:clamp(22px,3vw,32px);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;}
.vsel .lbl{display:flex;align-items:center;gap:9px;font-family:var(--disp);font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 13px;}
.vsel .lbl i{width:20px;height:20px;border-radius:6px;background:var(--ink);color:#fff;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:800;flex:0 0 auto;}
.vsleeve{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:26px;}
.vsleeve button{display:flex;flex-direction:column;gap:9px;align-items:flex-start;text-align:left;background:var(--paper);border:1.5px solid var(--line-strong);border-radius:16px;padding:15px 16px;cursor:pointer;transition:.16s;font:inherit;position:relative;}
.vsleeve button:hover{border-color:var(--ink);transform:translateY(-2px);}
.vsleeve button.on{border-color:var(--green-deep);background:var(--green-tint);}
.vsleeve button.on::after{content:"\2713";position:absolute;top:11px;right:12px;width:20px;height:20px;border-radius:50%;background:var(--green);color:var(--green-ink);display:grid;place-items:center;font-size:12px;font-weight:800;}
.vsleeve button svg{width:32px;height:32px;color:var(--ink);}
.vsleeve button b{font-family:var(--disp);font-weight:800;font-size:15.5px;}
.vsleeve button span{font-size:12px;color:var(--ink-soft);line-height:1.35;}
.vcols{display:flex;flex-wrap:wrap;gap:9px;}
.vcols button{display:flex;align-items:center;gap:9px;background:var(--paper);border:1.5px solid var(--line-strong);border-radius:12px;padding:9px 14px;font-family:var(--disp);font-weight:700;font-size:13.5px;cursor:pointer;transition:.16s;color:var(--ink);}
.vcols button:hover{border-color:var(--ink);}
.vcols button.on{border-color:var(--green-deep);background:var(--green-tint);}
.vcols button em{font-style:normal;font-size:11.5px;font-weight:700;color:var(--green-deep);}
.vpriceline{margin-top:auto;padding-top:22px;display:flex;align-items:flex-end;justify-content:space-between;gap:14px;border-top:1px solid var(--line);}
.vcard{background:var(--paper);border:none;border-radius:16px;padding:16px 0 0;box-shadow:none;}
.vcard .vrow{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.vcard .vname{font-family:var(--disp);font-weight:800;font-size:19px;line-height:1.05;}
.vcard .vref{font-family:var(--disp);font-weight:700;font-size:11px;letter-spacing:.04em;color:var(--green-deep);background:var(--green-tint);padding:4px 9px;border-radius:6px;display:inline-block;margin-top:7px;}
.vcard .vprice{font-family:var(--disp);font-weight:800;font-size:21px;text-align:right;white-space:nowrap;}
.vpriceline .u2{font-size:12px;color:var(--ink-faint);margin-bottom:3px;}
.vpriceline .amt{font-family:var(--disp);font-weight:800;font-size:30px;line-height:1;}
.vpriceline .amt small{font-size:13px;color:var(--ink-faint);font-weight:600;}
.vsel > div:last-child{display:flex;}
.vphoto{position:relative;border-radius:24px;overflow:hidden;background:var(--cream-2);min-height:300px;width:100%;border:1px solid var(--line);}
.vphoto :is(image-slot,img[data-slot]){position:absolute;inset:0;width:100%;height:100%;}
.vphoto .vbadge{position:absolute;top:16px;left:16px;z-index:3;background:var(--green);color:var(--green-ink);font-family:var(--disp);font-weight:800;font-size:11.5px;padding:6px 13px;border-radius:999px;box-shadow:0 8px 20px -8px rgba(16,181,82,.7);}
.vcard .vprice small{display:block;font-size:10px;color:var(--ink-faint);font-weight:600;letter-spacing:.02em;white-space:normal;max-width:170px;margin-left:auto;}
.vcard .vdesc{color:var(--ink-soft);font-size:13.5px;line-height:1.45;margin:11px 0 0;}
@media (max-width:880px){.pdp .top{grid-template-columns:1fr;}.pinfo{position:static;}.vsel{grid-template-columns:1fr;}.qtyrow{grid-template-columns:repeat(2,1fr);}.perf .g,.reass{grid-template-columns:1fr!important;}.size-tbl{display:block;overflow-x:auto;}}
.band3d{background:transparent;color:#fff;border-radius:0;padding:clamp(20px,3vw,30px) 0;display:flex;align-items:center;justify-content:space-between;gap:clamp(20px,4vw,48px);flex-wrap:wrap;position:relative;overflow:hidden;}
.band3d .b3-txt{flex:1;min-width:260px;}
.band3d .glow{position:absolute;inset:0;background:radial-gradient(300px 170px at 76% 40%,rgba(24,232,104,.22),transparent 70%);} .band3d h2{color:#fff;position:relative;} .band3d p{color:#C9CABF;position:relative;margin:14px 0 24px;max-width:42ch;}
.band3d .mock{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:16/9;border:1px solid rgba(255,255,255,.12);} .band3d .mock .phx{position:absolute;inset:0;} .band3d .mock .play{position:absolute;inset:0;display:grid;place-items:center;} .band3d .mock .play span{width:66px;height:66px;border-radius:50%;background:var(--green);color:var(--green-ink);display:grid;place-items:center;font-size:24px;box-shadow:0 0 0 10px rgba(24,232,104,.18);}
.btn-3dlg{background:var(--green);color:var(--green-ink);font-family:var(--disp);font-weight:800;font-size:17px;padding:18px 28px;border-radius:999px;display:inline-flex;align-items:center;gap:10px;position:relative;box-shadow:0 16px 34px -12px rgba(16,181,82,.85);} .btn-3dlg:hover{transform:translateY(-2px);}
.specs-tbl{width:100%;border-collapse:collapse;font-size:14px;} .specs-tbl td{padding:12px 4px;border-top:1px solid var(--line);} .specs-tbl tr:first-child td{border-top:none;} .specs-tbl td:first-child{color:var(--ink-faint);} .specs-tbl td:last-child{font-weight:600;text-align:right;}
.size-tbl{width:100%;border-collapse:collapse;font-size:14px;} .size-tbl th,.size-tbl td{padding:11px 12px;border:1px solid var(--line);text-align:center;} .size-tbl thead th{background:var(--cream);font-family:var(--disp);}
.perf{background:var(--ink);color:#fff;border-radius:18px;padding:clamp(22px,3vw,34px);} .perf .g{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 36px;} .perf .m .tp{display:flex;justify-content:space-between;font-size:14px;margin-bottom:8px;} .perf .m .v{color:var(--green);font-family:var(--disp);font-weight:800;} .perf .track{height:7px;border-radius:99px;background:rgba(255,255,255,.13);} .perf .fill{height:100%;background:var(--green);border-radius:99px;}
.reass{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;} .reass .c{border:1px solid var(--line);border-radius:14px;padding:18px;} .reass .c .ic{width:38px;height:38px;border-radius:10px;background:var(--green-tint);color:var(--green-deep);display:grid;place-items:center;margin-bottom:10px;} .reass .c h4{font-size:15px;} .reass .c p{color:var(--ink-soft);font-size:13px;margin:5px 0 0;}

/* ---- mobile hardening (PDP) : phones below the 880px split ---- */
@media (max-width:600px){
  /* variant option cards stack so text/desc stays legible */
  .vsleeve{grid-template-columns:1fr;}
  /* wide pricing table keeps scrolling inside its own frame */
  .ptier-wrap{-webkit-overflow-scrolling:touch;}
  /* sticky 3D CTA banner: allow it to breathe / wrap */
  .cta-3d{flex-wrap:wrap;padding:16px;} .cta-3d small{white-space:normal;}
  /* long spec/size cells wrap instead of forcing width */
  .specs-tbl td,.size-tbl th,.size-tbl td{word-break:break-word;}
  /* gallery arrows a touch smaller on tiny screens */
  .garrow{width:36px;height:36px;}
}

/* Guide des tailles dynamique — onglets Homme / Femme / Enfant */
.sg-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.sg-tab{border:1.5px solid var(--line-strong,#e3e3dc);background:var(--paper,#fff);color:var(--ink-soft,#5b5c52);
  border-radius:999px;padding:8px 16px;font:600 13.5px/1 var(--disp,Archivo),system-ui,sans-serif;cursor:pointer;transition:.15s}
.sg-tab:hover{color:var(--ink,#15160f)}
.sg-tab.on{background:var(--ink,#15160f);color:#fff;border-color:var(--ink,#15160f)}
.sg-pane{display:none}
.sg-pane.on{display:block}

/* Photos produit (admin) : jamais recadrées — photo entière centrée sur fond blanc. */
.gtrack .gslide img.padm{position:absolute;inset:0;margin:auto;width:auto;height:85%;max-width:94%;object-fit:contain;}
.pgal .thumbs .gth{background:#fff;}
.pgal .thumbs .gth img.padm{position:absolute;inset:0;margin:auto;width:86%;height:86%;object-fit:contain;}
.vphoto{background:#fff;}
.vphoto img.padm{position:absolute;inset:0;margin:auto;width:auto;height:85%;max-width:92%;object-fit:contain;}

/* ═══ Options en TUILES produit : photo carrée + libellé, cohérent pour
   manches / cols / tissus. Sans photo, pictogramme neutre. ═══ */
.vsleeve{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;}
.vsleeve button{display:flex;flex-direction:column;align-items:stretch;gap:7px;text-align:left;padding:10px 10px 12px;border-radius:16px;}
.vsleeve button .vthumb{display:block;width:100%;aspect-ratio:1/1;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.vsleeve button .vthumb img{width:100%;height:100%;object-fit:contain;display:block;}
.vsleeve button > svg{width:100%;height:auto;aspect-ratio:1/1;padding:26%;box-sizing:border-box;background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--ink-soft);}
.vsleeve button b{font-size:13.5px;line-height:1.15;}
.vsleeve button span{font-size:10.5px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.vsleeve button.on::after{top:16px;right:16px;}

/* Cols & tissus : mêmes tuiles dès qu'une photo existe dans le groupe. */
.vcols.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px;}
.vcols.tiles button{display:flex;flex-direction:column;align-items:stretch;gap:7px;text-align:left;padding:8px 8px 10px;border-radius:14px;position:relative;}
.vcols.tiles button .im{display:block;width:100%;aspect-ratio:1/1;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;}
.vcols.tiles button .im img{width:100%;height:100%;object-fit:contain;display:block;}
/* Option grisee : proposee mais indisponible dans la configuration en cours.
   L'opacite ne s'applique qu'au contenu (photo, libelle), pas a la mention
   « Non dispo » : celle-ci doit rester bien lisible (fond ambre, texte fonce). */
.vcols button.opt-off,.vsleeve button.opt-off,#vSleeve button.opt-off{cursor:not-allowed;}
.vcols button.opt-off > *:not(.offnote),.vsleeve button.opt-off > *:not(.offnote),#vSleeve button.opt-off > *:not(.offnote){opacity:.45;filter:grayscale(1);}
.vcols button .offnote,#vSleeve button .offnote{display:inline-block;font-style:normal;font-size:10.5px;font-weight:600;line-height:1.3;color:#7a4a00;background:#fbeed3;border:1px solid #ecd9a8;border-radius:7px;padding:2px 7px;margin-top:4px;}
/* Col disponible avec un seul montage de manches : la tuile le dit. */
.vcols button .conly{display:block;font-style:normal;font-size:10px;font-weight:600;color:var(--green-deep);margin-top:2px;}
/* Phrase descriptive du tissu, sous le nom (etape Tissu du tunnel). */
.vfab button .fdesc,#vFab button .fdesc{display:block;font-style:normal;font-weight:400;font-size:11px;line-height:1.45;color:var(--ink-soft);margin-top:3px;letter-spacing:0;}

/* Tissus : la photo est une matiere, elle doit remplir la tuile (cover).
   Les cols et les montages de manches restent en « contain » : ce sont des
   vetements detoures sur blanc, les rogner couperait la forme. */
#vFab.tiles button .im img{object-fit:cover;}
.vcols.tiles button .im svg{width:100%;height:100%;padding:26%;box-sizing:border-box;color:var(--ink-faint);}
.vcols.tiles button b{font-size:12.5px;line-height:1.15;font-family:var(--disp);font-weight:700;}
.vcols.tiles button em{font-style:normal;font-size:10.5px;color:var(--green-deep);font-weight:700;}
.vcols.tiles button.on::after{content:"\2713";position:absolute;top:14px;right:14px;width:19px;height:19px;border-radius:50%;background:var(--green);color:var(--green-ink);display:grid;place-items:center;font-size:11px;font-weight:800;}

/* ═══ Sélecteur de variantes v2 — 3/4 options · 1/4 commande ═══ */
.vsel.vsel-side{grid-template-columns:2.9fr 1.1fr;gap:clamp(16px,2vw,24px);align-items:start;}
.vsel.vsel-side > *{min-width:0;}
.vsel .vside{position:sticky;top:86px;align-self:start;display:flex;flex-direction:column;gap:12px;
  max-height:calc(100vh - 100px);overflow:auto;}
.vsel .vside::-webkit-scrollbar{width:0;height:0;}
.vsel .vside .vpriceline{margin:0;padding-top:0;border-top:0;}
.vsel .vside .vcard{margin-top:0;}
/* 3D pas dispo → bouton « Commander » compact, en VERT (juste plus petit) */
.cta-3d.c3d-soon{padding:13px 18px;margin-top:14px;border-radius:14px;
  box-shadow:0 12px 26px -14px rgba(16,181,82,.85);gap:10px;}
.cta-3d.c3d-soon::after{display:none;}
.cta-3d.c3d-soon:hover{transform:translateY(-2px);}
.cta-3d.c3d-soon .ic{width:34px;height:34px;border-radius:10px;}
.cta-3d.c3d-soon b{font-size:15px;}
.cta-3d.c3d-soon small,.cta-3d.c3d-soon .arr{display:none;}
.btn-3dlg.c3d-soon{font-size:14px;padding:12px 22px;}
.btn-3dlg.c3d-soon:hover{transform:translateY(-2px);}
/* Note « demander un devis après » sous le bouton Ajouter au panier */
/* Note « vous pourrez demander un devis ensuite ».
   Elle était en 12,5 px gris clair : le visiteur venu chercher un devis ne la
   voyait pas et croyait n'avoir que le bouton d'achat. Même taille que le
   reste de la carte, fond vert très pâle, et le mot « devis » en évidence. */
.vdevisnote{font-size:14px;line-height:1.5;color:var(--ink);margin-top:12px;
  background:var(--green-soft,#EAF7EF);border:1px solid var(--green-deep);
  border-radius:12px;padding:12px 14px;}
.vdevisnote b{color:var(--green-deep);}
.vdevisnote a{color:var(--green-deep);font-weight:700;text-decoration:underline;}
/* Réassurance : maintenant sœur de .vsel (sortie de la grille sticky) */
.vreassure{margin-top:18px;}
/* Flash discret quand on arrive sur la section commande via un bouton */
@keyframes flashOrder{0%{box-shadow:0 0 0 0 rgba(24,232,104,0);}30%{box-shadow:0 0 0 4px rgba(24,232,104,.35);}100%{box-shadow:0 0 0 0 rgba(24,232,104,0);}}
.flash-order .vpick,.flash-order .vside{animation:flashOrder 1.3s ease-out;border-radius:24px;}

/* Étapes : pastilles vertes numérotées + note discrète */
.vsel.vsel-side .lbl i{background:var(--green);color:var(--green-ink);border-radius:8px;}
.vsel .lbl .lblnote{font-style:normal;text-transform:none;letter-spacing:0;font-weight:600;font-size:11.5px;color:var(--ink-faint);margin-left:4px;}

@media(max-width:560px){.vsel .lbl .lblnote{display:block;margin:2px 0 0;}}
/* Coupe Homme / Femme / Enfant : cartes cumulables */
.stephelp{margin:-14px 0 16px;font-size:13.5px;line-height:1.55;color:var(--ink-soft);max-width:60ch;}
.vgenre{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:22px;}
.vgenre button{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;
  border:1.5px solid var(--line);background:var(--paper);border-radius:14px;padding:13px 14px 12px 40px;
  font:inherit;cursor:pointer;text-align:left;transition:border-color .16s,box-shadow .16s,background .16s;}
.vgenre button b{font-family:var(--disp);font-weight:700;font-size:14.5px;color:var(--ink);}
.vgenre button .rg{font-size:12px;color:var(--ink-faint);}
.vgenre button .gck{position:absolute;left:13px;top:15px;width:17px;height:17px;border:1.5px solid var(--line-strong);
  border-radius:6px;background:var(--paper);font-style:normal;font-size:11px;line-height:15px;text-align:center;
  color:transparent;transition:.16s;}
.vgenre button .gck::before{content:'✓';}
.vgenre button:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm);}
.vgenre button.on{border-color:var(--green-deep);background:var(--green-tint);box-shadow:inset 0 0 0 1px var(--green-deep);}
.vgenre button.on .gck{background:var(--green-deep);border-color:var(--green-deep);color:#fff;}

/* Micro-interactions sur les options */
.vsleeve button{transition:border-color .16s, transform .16s, box-shadow .16s;}
.vsleeve button:hover{box-shadow:var(--shadow-sm);}
.vsleeve button .vthumb img{transition:transform .25s;}
.vsleeve button:hover .vthumb img{transform:scale(1.07);}
.vcols button.has-im{border-radius:999px;padding:6px 16px 6px 7px;}
.vcols button .vop-im{border-radius:50%;}

/* Carte de commande : claire & soignée — bandeau dégradé, total mis en
   valeur, CTA avec halo. (Surcharges !important : le HTML des cartes est
   inline-stylé dans les 276 pages.) */
.vside .vcard{background:var(--paper);border:1px solid var(--line);border-radius:22px;box-shadow:0 22px 48px -20px rgba(21,22,15,.22);padding:18px 20px 20px;overflow:hidden;}
.vside .vcard .vrow{margin:-18px -20px 14px;padding:18px 20px 14px;border-top:4px solid var(--green);background:linear-gradient(165deg,var(--green-tint) 0%,rgba(255,255,255,0) 62%);}
.vside .vcard .vname{font-size:19px;}
.vside .vcard .vref{margin-top:4px;display:inline-block;}
.vside .vcard .vprice{font-family:var(--disp);font-weight:800;font-size:24px;}
.vside .vcard input[type=range]{height:24px;}
.vside .vcard #vTotal{font-size:15px;color:var(--ink) !important;font-family:var(--disp);font-weight:800;}
.vside .vcard .btn{width:100%;justify-content:center;}
.vside .vcard .btn-green{box-shadow:0 12px 26px -10px rgba(24,232,104,.6);}
.vside .vcard .btn-green:hover{transform:translateY(-1px);}

/* ═══ Assistant étape par étape ═══ */
.vwiz-head{display:flex;align-items:center;gap:0;flex-wrap:nowrap;margin-bottom:22px;overflow:hidden;}
.vwiz-head .wz{display:inline-flex;align-items:center;gap:7px;border:0;background:none;padding:0;cursor:pointer;font:inherit;font-family:var(--disp);font-weight:700;font-size:12.5px;color:var(--ink-soft);transition:.15s;flex:0 0 auto;}
.vwiz-head .wz i{width:26px;height:26px;border-radius:50%;background:var(--paper);border:2px solid var(--line-strong);display:grid;place-items:center;font-style:normal;font-size:11.5px;font-weight:800;color:var(--ink-faint);transition:.2s;flex:0 0 26px;}
.vwiz-head .wz.cur i{border-color:var(--green-deep);color:var(--green-deep);box-shadow:0 0 0 4px var(--green-tint);}
.vwiz-head .wz.done i{background:var(--green-deep);border-color:var(--green-deep);color:#fff;}
/* une seule ligne : seul le libelle de l'etape COURANTE est ecrit */
.vwiz-head .wz span{display:none !important;white-space:nowrap;}
html:not([data-lang="en"]) .vwiz-head .wz.cur span[data-fr]{display:inline !important;color:var(--ink);}
html[data-lang="en"] .vwiz-head .wz.cur span[data-en]{display:inline !important;color:var(--ink);}
/* la ligne qui relie les pastilles avance en vert au fil des etapes */
.wzsep{flex:1 1 12px;height:2px;background:var(--line-strong);min-width:8px;margin:0 6px;transition:background .25s;}
.vwiz-head .wz.done + .wzsep{background:var(--green-deep);}
.vstep{display:none;animation:wzin .25s ease;}
.vstep.act{display:block;}
@keyframes wzin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
/* Produit en taille unique : mention claire sur la carte prix */
.tunique{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:5px 11px;border:1px solid var(--line-strong);border-radius:999px;background:var(--cream-2,#f4f2ea);font-family:var(--disp);font-weight:700;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);}
.tunique::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green-deep);}
.vwiz-nav{display:flex;justify-content:space-between;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);}

/* Réassurance : liste compacte sous la carte */
/* Réassurance : bandeau pleine largeur sous les deux colonnes. */
.vsel.vsel-side .vreassure{grid-column:1 / -1;}
.vreassure{background:transparent;border:0;padding:2px 0;display:flex;flex-wrap:wrap;align-items:center;gap:10px;box-shadow:none;}
.vreassure .rt{font-family:var(--disp);font-weight:800;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);margin-right:6px;}
.vreassure .ri{display:inline-flex;gap:8px;align-items:center;font-size:12.5px;color:var(--ink);font-weight:600;line-height:1.2;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:8px 16px 8px 8px;box-shadow:var(--shadow-sm);transition:transform .15s,box-shadow .15s;}
.vreassure .ri:hover{transform:translateY(-1px);box-shadow:var(--shadow);}
.vreassure .ri svg{width:22px;height:22px;padding:4.5px;box-sizing:border-box;background:var(--green-tint);border-radius:50%;color:var(--green-deep);flex:0 0 auto;}
/* Ligne EXPRESS : mise en avant (vert plein) pour les familles éligibles au 72 h. */
.vreassure .ri-express{background:var(--green-deep);border-color:var(--green-deep);color:#fff;}
.vreassure .ri-express svg{background:rgba(255,255,255,.18);color:#fff;}
@media(max-width:900px){.vsel.vsel-side{grid-template-columns:1fr;}.vsel .vside{position:static;}}

/* Tailles par coupe sous le sélecteur multi-coupes */
.vgsizes{margin:-14px 0 24px;font-size:12.5px;color:var(--ink-soft);display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;}
.vgsizes .lbl2{font-family:var(--disp);font-weight:800;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);}
.vgsizes b{font-weight:600;background:var(--cream-2);border:1px solid var(--line);border-radius:999px;padding:4px 12px;}
.vgsizes b.on{background:var(--green-tint);border-color:rgba(16,181,82,.4);color:var(--green-deep);font-weight:700;}
.vgsizes i{color:var(--line-strong);font-style:normal;}

/* ── Note « commande directe vs configurateur 3D » (haut du sélecteur) ── */
.vsel .vnote3d{grid-column:1/-1;display:flex;align-items:center;gap:13px;background:var(--green-tint);border:1px solid rgba(16,181,82,.35);border-radius:14px;padding:13px 16px;color:var(--ink-soft);font-size:13.5px;line-height:1.5;}
.vnote3d svg{color:var(--green-deep);}
.vnote3d p{margin:0;flex:1;min-width:220px;}
.vnote3d b{color:var(--ink);font-family:var(--disp);font-weight:700;}
.vnote3d .btn{flex:0 0 auto;padding:9px 15px;font-size:13px;background:var(--paper);}
@media (max-width:640px){.vsel .vnote3d{flex-wrap:wrap;}.vnote3d .btn{width:100%;justify-content:center;}}

/* ── Répartition tailles × quantités par coupe ── */
.vqtwrap{margin:-12px 0 24px;}
.vqt{border:1px solid var(--line);border-radius:14px;background:var(--paper);padding:13px 15px 15px;margin-top:10px;box-shadow:var(--shadow-sm);}
.vqt-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;}
.vqt-h b{font-family:var(--disp);font-weight:800;font-size:13px;letter-spacing:.02em;}
.vqt-h b em{font-style:normal;font-family:var(--body,inherit);font-weight:600;font-size:11.5px;color:var(--ink-faint);text-transform:none;letter-spacing:0;}
.vqt-h .sum{font-family:var(--disp);font-weight:800;font-size:12.5px;color:var(--green-deep);white-space:nowrap;}
.vqt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:8px;}
.vqt-cell{display:flex;flex-direction:column;gap:4px;}
.vqt-cell>span{font-family:var(--disp);font-weight:700;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);text-align:center;}
.vqt-cell input{width:100%;border:1.5px solid var(--line-strong);border-radius:9px;padding:8px 4px;text-align:center;font:inherit;font-size:14px;background:var(--paper);-moz-appearance:textfield;}
.vqt-cell input::-webkit-outer-spin-button,.vqt-cell input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.vqt-cell input:focus{outline:2px solid var(--green);outline-offset:1px;border-color:transparent;}
.vqt-cell input:not(:placeholder-shown){border-color:var(--green-deep);background:var(--green-tint);font-weight:700;}
.vqt-global{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:0;font-size:12.5px;color:var(--ink-faint);background:var(--cream-2);border:1px solid var(--line);border-radius:14px;padding:13px 15px;}
.vqt-global label{display:inline-flex;align-items:center;gap:8px;font-family:var(--disp);font-weight:700;font-size:12px;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-soft);}
.vqt-global input{width:92px;border:1.5px solid var(--line-strong);border-radius:9px;padding:8px 10px;font:inherit;font-size:14px;background:var(--paper);}
.vqt-global input:focus{outline:2px solid var(--green);outline-offset:1px;border-color:transparent;}
.vqt-global input:disabled{opacity:.45;}
.vqt-global em{font-style:normal;flex:1;min-width:200px;}
#vQty:disabled{opacity:.55;}

/* ── « Complétez la tenue » : carrousel horizontal ──────────────────────────
   5 produits visibles sur ordinateur, moins sur écran réduit. Défilement
   tactile natif (swipe) avec accrochage, plus deux flèches sur grand écran. */
.tenue-wrap{position:relative;}
.tenue-slider{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 4*20px)/5);gap:20px;
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding-bottom:6px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.tenue-slider::-webkit-scrollbar{display:none;}
.tenue-slider>*{scroll-snap-align:start;min-width:0;}
.tenue-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:42px;height:42px;
  border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--ink);
  display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 22px -12px rgba(0,0,0,.45);
  transition:opacity .18s,transform .18s;}
.tenue-nav:hover{transform:translateY(-50%) scale(1.06);}
.tenue-nav[hidden]{display:none;}
.tenue-nav.prev{left:-14px;} .tenue-nav.next{right:-14px;}
.tenue-nav svg{width:19px;height:19px;}
@media (max-width:1200px){.tenue-slider{grid-auto-columns:calc((100% - 3*20px)/4);}}
@media (max-width:1000px){.tenue-slider{grid-auto-columns:calc((100% - 2*18px)/3);gap:18px;}}
@media (max-width:760px){.tenue-slider{grid-auto-columns:calc((100% - 16px)/2);gap:16px;}
  .tenue-nav{display:none;}}
@media (max-width:520px){.tenue-slider{grid-auto-columns:78%;gap:14px;}}

/* Bandeau sportswear en pied de section « Complétez la tenue » */
.sw-band{margin-top:34px;padding-top:26px;border-top:1px solid var(--line);}
.sw-band .sw-h{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:18px;}
.sw-band .sw-h h3{margin-top:10px;font-size:clamp(18px,2vw,24px);}

/* Alternative « quantite totale » clairement separee de la saisie par taille */
.vqt-ou{display:flex;align-items:center;gap:12px;margin:18px 0 12px;font-family:var(--disp);
  font-weight:700;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);}
.vqt-ou::before,.vqt-ou::after{content:'';flex:1;height:1px;background:var(--line);}
.vqt-tot{display:none;margin-top:12px;padding:11px 15px;border-radius:14px;background:var(--green-tint);
  border:1px solid rgba(16,181,82,.35);font-size:13px;color:var(--green-deep);}
.vqt-tot b{font-family:var(--disp);font-weight:800;}
.vqt-tot .det{display:block;margin-top:3px;font-size:12px;color:var(--ink-soft);}

/* Confirmation d'ajout au panier */
/* grid-template-columns explicite + min-width:0 partout : sans ca, le contenu
   (deux boutons qui ne se coupent pas, 3 vignettes de ventes croisees) impose
   sa largeur minimale a la carte, qui debordait de l'ecran sur mobile. */
#addPop{position:fixed;inset:0;z-index:9999;background:rgba(21,22,15,.55);display:grid;place-items:center;
  grid-template-columns:minmax(0,1fr);padding:18px;overflow-y:auto;}
#addPop .ap-card{position:relative;background:var(--paper,#fff);border-radius:18px;max-width:440px;width:100%;
  min-width:0;max-height:calc(100vh - 36px);overflow-y:auto;padding:22px;box-shadow:0 24px 60px -18px rgba(0,0,0,.45);}
#addPop .ap-x{position:absolute;top:10px;right:12px;border:0;background:none;font-size:22px;cursor:pointer;color:var(--ink-faint);}
#addPop .ap-head{display:flex;align-items:center;gap:10px;font-family:var(--disp);font-size:17px;margin-bottom:14px;}
#addPop .ap-ok{width:28px;height:28px;border-radius:50%;background:var(--green);color:var(--green-ink);display:grid;place-items:center;font-weight:800;}
#addPop .ap-line{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px 12px;min-width:0;}
#addPop .ap-line>div{min-width:0;}
#addPop .ap-line img{flex:0 0 auto;}
#addPop .ap-line img{width:64px;height:64px;object-fit:contain;background:#fff;border-radius:9px;border:1px solid var(--line);}
#addPop .ap-line b{display:block;font-size:14px;line-height:1.25;}
#addPop .ap-opt{display:block;font-size:12px;color:var(--ink-soft);margin-top:3px;}
#addPop .ap-prix{display:block;font-family:var(--disp);font-weight:800;font-size:14px;margin-top:4px;}
#addPop .ap-btns{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap;}
#addPop .ap-btns .btn{flex:1 1 150px;min-width:0;justify-content:center;text-align:center;white-space:normal;}
#addPop .ap-cross p{font-family:var(--disp);font-weight:700;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);margin:18px 0 8px;}
#addPop .ap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
#addPop .ap-grid a{min-width:0;overflow-wrap:anywhere;display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:11px;padding:8px;font-size:11.5px;line-height:1.2;}
#addPop .ap-grid img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff;border-radius:8px;}
#addPop .ap-grid a:hover{border-color:var(--green);}

/* ── Barre d'achat collante (mobile) ─────────────────────────────────────
   Affichee seulement sur telephone, et seulement quand le vrai bouton
   « Ajouter au panier » est sorti de l'ecran (classe fb-on posee par
   fiche.js). safe-area-inset-bottom : elle ne passe pas sous la barre
   systeme des iPhone. */
#fbar{position:fixed;left:0;right:0;bottom:0;z-index:900;display:none;
  align-items:center;gap:12px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));
  background:var(--paper,#fff);border-top:1px solid var(--line,#E4E5DD);
  box-shadow:0 -10px 30px -18px rgba(0,0,0,.45);}
#fbar .fb-txt{flex:1 1 auto;min-width:0;line-height:1.15;}
#fbar .fb-txt b{display:block;font-family:var(--disp);font-weight:800;font-size:16px;
  font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#fbar .fb-txt span{display:block;font-size:11px;color:var(--ink-soft);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
/* Selecteur de quantite : compact, chiffres tabulaires pour ne pas sautiller. */
#fbar .fb-qty{flex:0 0 auto;display:flex;align-items:center;gap:0;border:1px solid var(--line-strong,#D6D7CD);
  border-radius:10px;overflow:hidden;background:var(--paper,#fff);}
#fbar .fb-qty button{width:34px;height:38px;border:0;background:none;font-size:18px;line-height:1;
  cursor:pointer;color:var(--ink,#15160F);font-family:var(--disp);}
#fbar .fb-qty button:active{background:var(--cream,#F5F5EF);}
#fbar .fb-qty input{width:46px;height:38px;border:0;border-inline:1px solid var(--line,#E4E5DD);
  text-align:center;font:700 14px var(--disp);font-variant-numeric:tabular-nums;background:none;color:inherit;
  -moz-appearance:textfield;}
#fbar .fb-qty input::-webkit-outer-spin-button,
#fbar .fb-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
#fbar .fb-qty.off{opacity:.5;}
#fbar #fbAdd{flex:0 0 auto;padding:12px 16px;font-size:14px;white-space:nowrap;}
#fbar #fbAdd.off{opacity:.55;}
/* Variante incomplete : le bouton emmene a la section commande. */
#fbar.fb-wait .fb-txt b{font-size:15px;}
@media(max-width:760px){
  #fbar.fb-on{display:flex;}
  /* La barre masque le bas de page : on rend la hauteur au document. */
  body:has(#fbar.fb-on){padding-bottom:74px;}
  /* Les deux pastilles flottantes (chat, preferences cookies) tombaient
     pile sur la barre : on les remonte tant qu'elle est affichee. */
  body:has(#fbar.fb-on) #fcw-btn{bottom:calc(20px + 76px)!important;}
  body:has(#fbar.fb-on) #fcw-panel{bottom:calc(94px + 76px)!important;}
  body:has(#fbar.fb-on) #fcReopen{bottom:calc(16px + 76px)!important;}
}

/* ── Tunnel mobile plein écran (wizard) ─────────────────────────────
   Le bouton « Configurer » ouvre les étapes du tunnel une par une, en
   plein écran. Les blocs d'étapes sont DÉPLACÉS dans le panneau (mêmes
   éléments, mêmes écouteurs) puis remis en place à la fermeture. Le clic
   sur une option ne fait QUE sélectionner — on avance avec « Suivant ». */
#wizOpen{display:none}
@media(max-width:880px){
  #wizOpen{display:flex;width:100%;justify-content:center;margin-bottom:14px}
}
#wiz{position:fixed;inset:0;z-index:120;background:var(--paper,#fff);display:none;flex-direction:column}
#wiz.on{display:flex}
#wiz .wz-head{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--paper)}
#wiz .wz-head b{font-family:var(--disp);font-size:15px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#wiz .wz-x{border:0;background:var(--cream);border-radius:50%;width:34px;height:34px;font-size:17px;cursor:pointer;line-height:1}
#wiz .wz-bar{height:4px;background:var(--cream)}
#wiz .wz-bar i{display:block;height:100%;background:var(--green-deep);transition:width .25s ease}
#wiz .wz-body{flex:1;overflow:auto;padding:18px 16px calc(90px + env(safe-area-inset-bottom))}
#wiz .wz-body .lbl{margin-top:0}
#wiz .wz-foot{position:absolute;left:0;right:0;bottom:0;display:flex;gap:10px;align-items:center;
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line)}
#wiz .wz-prix{display:flex;flex-direction:column;line-height:1.15;min-width:0}
#wiz .wz-prix small{font-size:10.5px;color:var(--ink-faint)}
#wiz .wz-prix b{font-family:var(--disp);font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap}
#wiz .wz-foot .btn{padding:11px 16px}
#wiz .wz-foot .wz-next{flex:1;justify-content:center}
#wiz .wz-body .vpick{max-width:none}
#wiz .wz-body .vwiz-nav{position:sticky;bottom:0;background:var(--paper);padding:10px 0;border-top:1px solid var(--line)}
/* Panneau ouvert : la barre panier sticky de la fiche s'efface, le pied du
   panneau porte Retour / Continuer (fixes), puis « Terminé » sur la fin. */
html.wiz-open #fbar{display:none !important}
#wiz .wz-foot .vwiz-nav{display:flex;gap:10px;flex:1;position:static;border:0;padding:0;background:none;margin:0}
#wiz .wz-foot .vwiz-nav .btn{flex:1;justify-content:center;padding:11px 10px;margin:0}
#wiz .wz-foot #wzFerme{flex:1;justify-content:center}
