
/* Layout: barre d'outils (thème · marque · langue) + onglets, une colonne aérée de 960px, filet CMJN en signature */
:root{
  --bg:#ffffff; --surface:#f5f6f8; --ink:#14151a; --muted:#61656f; --line:#e4e6eb;
  --c:#1fa6dc; --m:#e0137a; --y:#ffd400; --k:#14151a; --accent:#e0137a;
  --chip:#14151a; --chipfg:#ffffff; --onY:#14151a; --ok:#178a4c; --warn:#c8102e;
  --f-display:"Archivo","Arial Black",Impact,sans-serif;
  --f-body:"Barlow","Segoe UI",Roboto,Arial,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#111216; --surface:#1a1c22; --ink:#eef0f4; --muted:#a2a7b2; --line:#2b2e36;
  --accent:#ff4fa3; --chip:#eef0f4; --chipfg:#111216; --ok:#4cc27f; --warn:#ff6070; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#111216; --surface:#1a1c22; --ink:#eef0f4; --muted:#a2a7b2; --line:#2b2e36;
  --accent:#ff4fa3; --chip:#eef0f4; --chipfg:#111216; --ok:#4cc27f; --warn:#ff6070; color-scheme:dark}
/* choix du visiteur (bouton en haut à gauche) : prioritaire */
html:root[data-mode="light"]{
  --bg:#ffffff; --surface:#f5f6f8; --ink:#14151a; --muted:#61656f; --line:#e4e6eb;
  --accent:#e0137a; --chip:#14151a; --chipfg:#ffffff; --ok:#178a4c; --warn:#c8102e; color-scheme:light}
html:root[data-mode="dark"]{
  --bg:#111216; --surface:#1a1c22; --ink:#eef0f4; --muted:#a2a7b2; --line:#2b2e36;
  --accent:#ff4fa3; --chip:#eef0f4; --chipfg:#111216; --ok:#4cc27f; --warn:#ff6070; color-scheme:dark}

*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.6;transition:background .2s,color .2s}
.wrap{max-width:960px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--f-display);font-weight:900;font-stretch:112%;line-height:1.05;text-wrap:balance;margin:0;letter-spacing:-.01em}
a{color:inherit}
:focus-visible{outline:3px solid var(--c);outline-offset:2px;border-radius:6px}
.cmyk{display:grid;grid-template-columns:repeat(4,1fr);height:4px}
.cmyk i:nth-child(1){background:var(--c)}.cmyk i:nth-child(2){background:var(--m)}.cmyk i:nth-child(3){background:var(--y)}.cmyk i:nth-child(4){background:#000}

.trkcta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px;padding:16px 18px;border-radius:16px;background:var(--surface);text-decoration:none;color:var(--ink);border:1.5px solid var(--line);transition:transform .2s,border-color .2s}
.trkcta:hover{transform:translateY(-2px);border-color:var(--m)}
.trkcta-i{width:46px;height:46px;border-radius:12px;background:var(--m);color:#fff;display:grid;place-items:center;flex:none}
.trkcta>span:nth-child(2){flex:1 1 220px;min-width:0;display:grid;gap:2px}
.trkcta>span:nth-child(2) span{color:var(--muted);font-size:.95rem}
.trkcta-go{font-weight:800;color:var(--m)}
/* ---- en-tête ---- */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--bg)}
.bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding-block:12px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;justify-self:center;min-width:0}
.brand img{width:40px;height:40px;border-radius:9px;flex:none}
.brand b{font-family:var(--f-display);font-weight:900;font-stretch:112%;font-size:1.12rem;white-space:nowrap}
.mode{justify-self:start;display:inline-flex;border:1px solid var(--line);border-radius:99px;padding:3px;background:var(--surface)}
.mode button{border:0;background:transparent;color:var(--muted);width:36px;height:32px;border-radius:99px;cursor:pointer;display:grid;place-items:center}
.mode button[aria-pressed="true"]{background:var(--chip);color:var(--chipfg)}
.langs{justify-self:end;display:inline-flex;gap:6px}
.langs button{border:2px solid transparent;background:none;padding:2px;border-radius:7px;cursor:pointer;line-height:0;opacity:.55;transition:opacity .15s}
.langs button img{width:30px;height:20px;border-radius:3px;display:block;box-shadow:0 0 0 1px var(--line)}
.langs button[aria-pressed="true"]{opacity:1;border-color:var(--accent)}
.langs button:hover{opacity:1}
nav.tabs .wrap{display:flex;gap:0;overflow-x:auto;scrollbar-width:none}
nav.tabs .wrap>a:first-child{margin-left:auto}nav.tabs .wrap>a:last-child{margin-right:auto}
nav.tabs a{padding-left:11px!important;padding-right:11px!important}
nav.tabs a{text-decoration:none;font-weight:600;color:var(--muted);padding:10px 14px 11px;border-bottom:3px solid transparent;white-space:nowrap}
nav.tabs a:hover{color:var(--ink)}
nav.tabs a[aria-current="page"]{color:var(--ink);border-color:var(--accent)}

/* ---- commun ---- */
section.view{padding-block:44px 64px}
.vhead{margin-bottom:28px;max-width:640px}
.vhead h1,.vhead h2{font-size:clamp(1.9rem,4.8vw,2.8rem)}
.lede{color:var(--muted);margin:10px 0 0}
.eyebrow{display:block;font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;color:var(--accent);margin-bottom:10px}
.card{background:var(--surface);border-radius:14px;padding:24px}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.cols>*{min-width:0}
h3{font-size:1.15rem;margin-bottom:14px}
.note{font-size:.92rem;color:var(--muted);margin:14px 0 0}
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:10px;background:var(--chip);color:var(--chipfg);font-weight:600;text-decoration:none;border:0;font:inherit;font-weight:600;cursor:pointer}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.copy{font:inherit;font-size:.8rem;font-weight:600;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:7px;padding:2px 9px;cursor:pointer;margin-left:8px;vertical-align:1px}

/* accueil */
.home{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:center}
.home h1{font-size:clamp(2.1rem,5.4vw,3.3rem)}
.home h1 span{background:linear-gradient(transparent 64%,var(--y) 64%);color:var(--ink)}
.home .photo{border-radius:14px;overflow:hidden;aspect-ratio:4/3;max-width:100%}
.home .photo img{width:100%;height:100%;object-fit:cover;display:block}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.hero-up{display:flex;align-items:center;gap:12px;margin-top:16px;max-width:460px;padding:11px 14px;border-radius:16px;text-decoration:none;color:var(--ink);background:linear-gradient(100deg,color-mix(in srgb,#8b5cf6 13%,var(--surface)),color-mix(in srgb,var(--c) 10%,var(--surface)));border:1.5px solid color-mix(in srgb,#8b5cf6 30%,var(--line));transition:transform .18s,box-shadow .18s}
.hero-up:hover{transform:translateY(-2px);box-shadow:0 10px 24px -14px #8b5cf6}
.hero-up .hu-i{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#8b5cf6;font-size:1.1rem;flex:none}
.hero-up .hu-x{flex:1;min-width:0;line-height:1.25}.hero-up b{display:block;font-weight:800}.hero-up small{color:var(--muted);font-size:.84rem}
.hero-up .hu-go{font-weight:800;color:#8b5cf6;transition:transform .18s}.hero-up:hover .hu-go{transform:translateX(3px)}
.services{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:44px}
.svc{text-decoration:none;display:flex;flex-direction:column;gap:6px;padding:22px;border-radius:14px;background:var(--surface);transition:transform .15s}
.svc:hover{transform:translateY(-2px)}
.svc .sw{width:28px;height:6px;border-radius:3px;margin-bottom:8px}
.svc b{font-family:var(--f-display);font-weight:800;font-stretch:112%;font-size:1.1rem}
.svc span{color:var(--muted);font-size:.95rem}
.diag{margin-top:16px;display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;padding:20px 24px;border-radius:14px;box-shadow:inset 0 0 0 1.5px var(--line)}
.diag .pill{background:var(--warn);color:#fff;font-family:var(--f-display);font-weight:900;font-stretch:112%;padding:4px 12px;border-radius:7px;letter-spacing:.03em}
.diag p{margin:0;flex:1;min-width:220px}

/* horaires */
table.hours{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.hours td{padding:11px 4px;border-bottom:1px solid var(--line)}
.hours tr:last-child td{border-bottom:0}
.hours td:first-child{font-weight:600}
.hours td:last-child{text-align:right}
.hours td.off{color:var(--muted)}
.hours .hdt{display:inline-block;margin-left:8px;font-size:.78rem;font-weight:500;color:var(--muted)}.hours tr.today .hdt{color:var(--accent);font-weight:700}
.hours tr.today td{font-weight:700;color:var(--accent)}
.hours tr.past th,.hours tr.past td{opacity:.5}
.status{display:inline-flex;align-items:center;gap:8px;font-weight:600;padding:6px 12px;border-radius:99px;background:var(--bg);margin-bottom:14px;font-size:.92rem}
.status .dot{width:10px;height:10px;border-radius:50%;background:var(--muted);flex:none;--dc:var(--muted);animation:dotblink 1.4s ease-in-out infinite}
.status.open .dot{background:var(--ok);--dc:var(--ok)}
.status.closed .dot{background:var(--warn);--dc:var(--warn)}
.status.exc .dot{background:var(--exc);--dc:var(--exc);animation-duration:.9s}
.status.exc{color:var(--exc)}
.status.soon .dot{background:#f08a00;--dc:#f08a00;animation-duration:.7s}
.status.soon{color:#b86400}
.pstat{margin:-4px 0 14px;font-weight:700}
.pstat.open{color:var(--ok)}.pstat.closed{color:var(--warn)}
@keyframes dotblink{0%,100%{opacity:1;box-shadow:0 0 0 0 color-mix(in srgb,var(--dc) 55%,transparent)}50%{opacity:.25;box-shadow:0 0 0 6px color-mix(in srgb,var(--dc) 0%,transparent)}}
/* voyants d'état : on garde un clignotement doux (sans mouvement) même si Windows/le téléphone réduit les animations */
@keyframes dotfade{0%,100%{opacity:1}50%{opacity:.3}}
@media (prefers-reduced-motion:reduce) and (max-width:0px){.status .dot{animation:dotfade 1.6s ease-in-out infinite;box-shadow:none}}
.limit{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lim{border-radius:12px;padding:16px;text-align:center}
.lim .d{font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.74rem}
.lim .s{font-size:.85rem;opacity:.8}
.lim .h{font-family:var(--f-display);font-weight:900;font-stretch:112%;font-size:2.1rem;line-height:1.1;font-variant-numeric:tabular-nums}
.lim.k{background:var(--chip);color:var(--chipfg)}
.lim.yl{background:var(--y);color:var(--onY)}
dl.info{margin:0;display:grid;gap:14px}
.info dt{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700}
.info dd{margin:2px 0 0;font-weight:600;word-break:break-word}

.alert{margin-top:20px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:16px 20px;border-radius:14px;border:2px solid var(--warn);background:color-mix(in srgb,var(--warn) 9%,var(--bg))}
.alert p{margin:0;flex:1;min-width:220px;font-weight:500}
.alert p b{color:var(--warn);font-family:var(--f-display);font-weight:900;font-stretch:112%;font-size:1.1em}
.blink{display:inline-flex;align-items:center;gap:8px;background:var(--warn);color:#fff;font-family:var(--f-display);font-weight:900;font-stretch:112%;text-transform:uppercase;letter-spacing:.06em;padding:6px 12px;border-radius:8px;animation:blink 1.1s steps(1,end) infinite}
@keyframes blink{50%{opacity:.15}}
@media (prefers-reduced-motion:reduce) and (max-width:0px){.blink{animation:dotfade 1.6s ease-in-out infinite}}

/* localisation */
.locgrid{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;align-items:stretch}
.locgrid>*{min-width:0}
.mapcard{position:relative;display:block;aspect-ratio:4/3;max-width:100%;align-self:start;border-radius:18px;overflow:hidden;text-decoration:none;color:#14151a;background:#e9eef2}
.mapart{position:absolute;inset:0;width:100%;height:100%}
.m-bg{fill:#e8ecef}.m-blk{fill:#d6dde3}
.m-road{stroke:#fff;stroke-width:14;fill:none}.m-road2{stroke:#fff;stroke-width:9;fill:none}
.m-route{stroke:#1fa6dc;stroke-width:5;fill:none;stroke-dasharray:10 8;stroke-linecap:round;animation:dash 1.4s linear infinite}
@keyframes dash{to{stroke-dashoffset:-36}}
.mpin{position:absolute;transform:translate(-50%,-100%);display:grid;place-items:center;animation:drop .9s cubic-bezier(.3,1.6,.5,1) both}
.mpin svg{position:relative;filter:drop-shadow(0 4px 6px rgba(0,0,0,.3));transition:transform .3s}
.mapcard:hover .mpin svg{transform:translateY(-6px) scale(1.08)}
.pulse{position:absolute;bottom:-6px;left:50%;width:18px;height:8px;margin-left:-9px;border-radius:50%;background:#e0137a;opacity:.5;animation:pulse 1.8s ease-out infinite}
@keyframes pulse{from{transform:scale(1);opacity:.55}to{transform:scale(4);opacity:0}}
@keyframes drop{from{transform:translate(-50%,-160%);opacity:0}to{transform:translate(-50%,-100%);opacity:1}}
.mlabel{position:absolute;left:16px;top:16px;background:#fff;border-radius:12px;padding:10px 14px;box-shadow:0 8px 20px -10px rgba(0,0,0,.35);display:flex;flex-direction:column;font-size:.9rem}
.mlabel b{font-family:var(--f-display);font-weight:800;font-stretch:112%}
.mopen{position:absolute;right:14px;bottom:14px;background:#14151a;color:#fff;font-weight:700;padding:9px 14px;border-radius:10px;font-size:.9rem;transition:transform .2s}
.mapcard:hover .mopen{transform:translateY(-2px)}
.locside{display:grid;gap:16px;align-content:start}
.locaddr{font-family:var(--f-display);font-weight:900;font-stretch:112%;font-size:1.5rem;line-height:1.15}
.navbtns{display:flex;flex-wrap:wrap;gap:8px}
.spots{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.spots>*{min-width:0}
.spot{margin:0;background:var(--surface);border-radius:16px;overflow:hidden;transition:transform .25s,box-shadow .25s}
.spot:hover{transform:translateY(-4px);box-shadow:0 16px 30px -18px rgba(0,0,0,.45)}
.shot{position:relative;aspect-ratio:4/3;max-width:100%;overflow:hidden;background:#ccc}
.shot img{width:100%;height:100%;object-fit:cover;display:block}
.arrowpin{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none}
.arrowpin .tag{background:#e0137a;color:#fff;font-weight:700;font-size:.82rem;padding:5px 10px;border-radius:8px;white-space:nowrap;box-shadow:0 6px 14px -6px rgba(0,0,0,.5)}
.arrowpin.alt .tag{background:#ffd400;color:#14151a}
.arrowpin .arr{animation:bob 1s ease-in-out infinite;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}
@keyframes bob{50%{transform:translateY(7px)}}
.spot figcaption{display:grid;grid-template-columns:32px 1fr;gap:12px;padding:16px 18px;align-items:start}
.spot .num{width:32px;height:32px;border-radius:50%;background:var(--chip);color:var(--chipfg);display:grid;place-items:center;font-family:var(--f-display);font-weight:900}
@media (max-width:820px){.locgrid,.spots{grid-template-columns:1fr}}
@media (max-width:420px){.arrowpin .tag{font-size:.72rem;padding:4px 7px}}
@media (prefers-reduced-motion:reduce) and (max-width:0px){.m-route,.pulse,.arrowpin .arr,.mpin{animation:none}}

/* accueil : recyclage + avis */
.eco{margin-top:16px;display:flex;align-items:center;gap:16px;padding:16px 22px;border-radius:14px;background:color-mix(in srgb,var(--ok) 12%,var(--bg));text-decoration:none;transition:transform .25s}
.eco:hover{transform:translateY(-3px)}
.eco-ico{width:48px;height:48px;border-radius:12px;background:var(--ok);color:#fff;display:grid;place-items:center;flex:none;transition:transform .5s}
.eco:hover .eco-ico{transform:rotate(180deg)}
.eco p{margin:0;flex:1}
.eco-go{font-size:1.4rem;font-weight:700;transition:transform .2s}.eco:hover .eco-go{transform:translateX(4px)}
.reviews{margin-top:56px}
.rv-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:20px}
.rv-head h2{font-size:clamp(1.7rem,4vw,2.4rem)}
.rv-score{display:flex;align-items:center;gap:14px;padding:12px 18px;border-radius:14px;background:var(--surface)}
.rv-g{width:40px;height:40px;border-radius:50%;background:#fff;color:#4285f4;font-family:Arial,sans-serif;font-weight:800;font-size:1.4rem;display:grid;place-items:center;box-shadow:0 0 0 1px var(--line)}
.rv-num{font-family:var(--f-display);font-weight:900;font-stretch:112%;font-size:2.6rem;line-height:1;font-variant-numeric:tabular-nums}
.rv-right{display:flex;flex-direction:column;gap:3px}
.rv-count{color:var(--muted);font-size:.9rem}
.rv-stars{position:relative;display:inline-block;line-height:0}
.rv-stars span{display:flex;gap:2px}
.rv-stars svg{width:20px;height:20px;flex:none}
.rv-stars .s-bg svg{fill:var(--line)}
.rv-stars .s-fg{position:absolute;inset:0;overflow:hidden;width:var(--pct)}
.rv-stars .s-fg svg{fill:#f5b400}
.rv-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rv-list>*{min-width:0}
.rv{background:var(--surface);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:10px;transition:transform .25s,box-shadow .25s}
.rv:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:0 14px 28px -16px rgba(0,0,0,.4)}
.rv .rv-stars svg{width:16px;height:16px}
.rv q{quotes:"\201C" "\201D";font-size:.98rem}
.rv-long{cursor:pointer}.rv-long q{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:7;overflow:hidden}.rv-long.open q{display:block;-webkit-line-clamp:unset}
.rv-long:not(.open) .who small::after{content:" · lire la suite ›";color:var(--pink,#e0137a);font-weight:700}
html[lang=en] .rv-long:not(.open) .who small::after{content:" · read more ›"}html[lang=de] .rv-long:not(.open) .who small::after{content:" · weiterlesen ›"}
.rv .who{display:flex;align-items:center;gap:10px;margin-top:auto;font-size:.9rem}
.rv .av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800;flex:none}
.rv .who small{display:block;color:var(--muted)}
.rv-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
/* carrousel des avis */
.rv-list.rvc-on{display:block}
.rvc{--per:3;--gap:16px;position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"prev vp next" "foot foot foot";align-items:center;gap:10px 14px}
.rvc-vp{grid-area:vp;overflow:hidden;padding:12px 6px 16px;margin:-12px -6px -16px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent);mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent);touch-action:pan-y}
.rvc-track{display:flex;align-items:stretch;gap:var(--gap);transform:translate3d(calc(var(--i,0) * -1 * (100% + var(--gap)) / var(--per) + var(--dx,0px)),0,0);transition:transform .85s cubic-bezier(.65,0,.2,1);will-change:transform}
.rvc-track.rvc-snap,.rvc-track.rvc-drag{transition:none}
.rvc-track>.rv{position:relative;overflow:hidden;flex:0 0 calc((100% - (var(--per) - 1) * var(--gap)) / var(--per));box-sizing:border-box;opacity:.3;transform:scale(.9);filter:saturate(.4);transition:opacity .7s,transform .7s cubic-bezier(.2,.9,.3,1.2),filter .7s,box-shadow .3s}
.rvc-track>.rv.in{opacity:1;transform:none;filter:none}
.rvc-track>.rv.in:hover{transform:translateY(-5px) rotate(-.5deg);box-shadow:0 18px 32px -18px rgba(0,0,0,.45)}
.rvc-track>.rv::before{content:"\201C";position:absolute;right:12px;bottom:-34px;font:900 7.5rem/1 Georgia,serif;color:color-mix(in srgb,#e0137a 13%,transparent);pointer-events:none}
.rvc-track>.rv::after{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,#1fa6dc,#e0137a,#ffd400,#14151a);transform:scaleX(0);transform-origin:left;transition:transform 1s .25s cubic-bezier(.2,.8,.2,1)}
.rvc-track>.rv.in::after{transform:scaleX(1)}
.rvc-track>.rv>*{position:relative}
.rv-gq{position:absolute!important;right:14px;top:14px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.15);font:800 .95rem/1 Arial,sans-serif;color:#4285f4}
.rvc-arr{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:background .25s,color .25s,transform .25s cubic-bezier(.2,.9,.3,1.4),border-color .25s;box-shadow:0 8px 18px -12px rgba(0,0,0,.4)}
.rvc-arr svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.rvc-arr:hover{background:var(--ink);color:var(--bg);border-color:var(--ink);transform:scale(1.08)}
.rvc-prev:hover svg{transform:translateX(-2px)}.rvc-next:hover svg{transform:translateX(2px)}
.rvc-arr:active{transform:scale(.92)}
.rvc-prev{grid-area:prev}.rvc-next{grid-area:next}
.rvc-foot{grid-area:foot;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:4px}
.rvc-dots{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.rvc-dots button{width:8px;height:8px;padding:0;border:0;border-radius:99px;background:var(--line);cursor:pointer;transition:width .4s cubic-bezier(.2,.9,.3,1.2),background .3s}
.rvc-dots button[aria-current="true"]{width:26px;background:linear-gradient(90deg,#1fa6dc,#e0137a)}
.rvc-bar{width:80px;height:3px;border-radius:3px;background:var(--line);overflow:hidden}
.rvc-bar i{display:block;height:100%;background:linear-gradient(90deg,#e0137a,#ffd400);transform-origin:left;animation:rvcProg 6.5s linear both}
@keyframes rvcProg{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.rvc:hover .rvc-bar i,.rvc.off .rvc-bar i,.rvc:has(.rv-long.open) .rvc-bar i{animation-play-state:paused}
@media (max-width:640px){.rvc{--gap:12px;grid-template-areas:"vp vp vp" "prev foot next";gap:12px 10px}.rvc-arr{width:42px;height:42px}.rvc-foot{margin-top:0}.rvc-bar{width:56px}}
@media (prefers-reduced-motion:reduce) and (max-width:0px){.rvc-track,.rvc-track>.rv{transition:none}.rvc-bar{display:none}}
/* cartouches : recyclage */
.recycle{margin-top:24px;display:grid;grid-template-columns:1fr 220px;gap:24px;align-items:center;padding:28px;border-radius:18px;background:color-mix(in srgb,var(--ok) 11%,var(--bg));border:2px solid color-mix(in srgb,var(--ok) 40%,transparent);scroll-margin-top:130px}
.recycle>*{min-width:0}
.recycle h3{font-size:clamp(1.4rem,3.4vw,2rem);margin:0 0 8px}
.recycle p{margin:0 0 16px}
.recycle p b{color:var(--ok)}
.rc-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;counter-reset:r}
.rc-steps li{background:var(--bg);border-radius:12px;padding:14px;counter-increment:r;display:flex;flex-direction:column;gap:2px;font-size:.92rem}
.rc-steps li::before{content:counter(r);width:26px;height:26px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;font-weight:800;margin-bottom:6px}
.rc-steps span{color:var(--muted)}
.rc-art{position:relative;aspect-ratio:1;max-width:220px;width:100%;color:var(--ok);justify-self:center}
.rc-spin{width:100%;height:100%;animation:spin 18s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.rc-mid{position:absolute;inset:0;display:grid;place-items:center;font-size:4.4rem;line-height:1}
/* pro */
.pro-hero{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:center;padding:34px;border-radius:20px;background:#14151a;color:#fff;position:relative;overflow:hidden}
.pro-hero>*{min-width:0}
.pro-hero::before{content:"";position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,var(--c) 0 25%,var(--m) 25% 50%,var(--y) 50% 75%,#fff 75%)}
.pro-hero h2{font-size:clamp(1.8rem,4.4vw,2.8rem)}
.pro-hero p{color:#c9ccd3;margin:12px 0 0;max-width:52ch}
.pro-hero .pro-go{background:var(--y);color:#14151a}
.pro-hero .pro-cp{color:#fff;box-shadow:inset 0 0 0 1.5px #ffffff40}
.pro-stats{display:grid;gap:10px}
.pro-stats div{display:flex;align-items:baseline;gap:12px;padding:12px 16px;border-radius:12px;background:#ffffff0f;transition:transform .25s,background .25s}
.pro-stats div:hover{transform:translateX(-4px);background:#ffffff1a}
.pro-stats b{font-family:var(--f-display);font-weight:900;font-stretch:112%;font-size:1.8rem;color:var(--y);min-width:88px;font-variant-numeric:tabular-nums}
.pro-stats span{color:#c9ccd3}
.pro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.pro-grid>*{min-width:0}
.pg{background:var(--surface);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:6px;transition:transform .25s,box-shadow .25s}
.pg:hover{transform:translateY(-4px);box-shadow:0 14px 28px -16px rgba(0,0,0,.4)}
.pg i{display:block;width:26px;height:6px;border-radius:3px;margin-bottom:8px;transition:width .3s}
.pg:hover i{width:56px}
.pg b{font-family:var(--f-display);font-weight:800;font-stretch:112%;font-size:1.05rem}
.pg span{color:var(--muted);font-size:.94rem}
/* faq */
.faqlist{display:grid;gap:10px;max-width:780px}
.fq-cat{margin:18px 0 2px;font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.fq-cat:first-child{margin-top:0}
.pfaq{margin-top:34px}
.pfaq-t{font-size:1.25rem;margin:4px 0 12px}
.pfaq-more{margin:12px 0 0;font-weight:700}
.pfaq-more a{color:var(--m)}
.fq-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:6px}
.fq-tiles[hidden]{display:none}
.fq-tile{display:grid;gap:4px;padding:16px;border-radius:16px;background:var(--surface);border:1.5px solid var(--line);border-top:5px solid var(--tc);color:var(--ink);text-decoration:none;transition:transform .2s,box-shadow .2s}
.fq-tile:hover{transform:translateY(-3px);box-shadow:0 14px 26px -20px rgba(0,0,0,.6)}
.fq-tile span{color:var(--muted);font-size:.88rem}
.fq-res details .fq-from{display:inline-block;margin-top:6px;font-size:.82rem;font-weight:700;color:var(--m)}
.faqlist details{background:var(--surface);border-radius:14px;padding:0 20px;transition:background .2s}
.faqlist summary{cursor:pointer;list-style:none;padding:18px 34px 18px 0;font-weight:700;font-size:1.05rem;position:relative}
.faqlist summary::-webkit-details-marker{display:none}
.faqlist summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;background:var(--chip);color:var(--chipfg);display:grid;place-items:center;font-weight:800;transition:transform .3s}
.faqlist details[open] summary::after{transform:translateY(-50%) rotate(45deg);background:var(--accent);color:#fff}
.faqlist summary:hover{color:var(--accent)}
.fa{padding:0 0 18px;color:var(--muted)}
.fa p{margin:0 0 8px}.fa b{color:var(--ink)}
/* mentions */
.legal-body{max-width:760px}
.legal-body h3{font-size:1.2rem;margin:30px 0 12px}
.legal-body dl{display:grid;grid-template-columns:220px 1fr;gap:8px 16px;margin:0}
.legal-body dt{color:var(--muted);font-weight:600}
.legal-body dd{margin:0}
.legal-body p{margin:0 0 10px}
.legal-body .small{font-size:.9rem;color:var(--muted);margin-top:12px}
mark.todo{background:color-mix(in srgb,var(--y) 55%,transparent);color:var(--ink);padding:0 4px;border-radius:4px}
@media (max-width:820px){.rv-list,.pro-grid{grid-template-columns:1fr 1fr}.recycle,.pro-hero{grid-template-columns:1fr}.rc-art{max-width:150px}.rc-steps{grid-template-columns:1fr}}
@media (max-width:560px){.rv-list,.pro-grid{grid-template-columns:1fr}.legal-body dl{grid-template-columns:1fr;gap:2px}.legal-body dd{margin-bottom:8px}.pro-hero,.recycle{padding:22px}}
@media (prefers-reduced-motion:reduce) and (max-width:0px){.rc-spin{animation:none}}

.toonav{border:3px solid var(--bg)!important;box-shadow:0 0 0 3px var(--c)}
.toonav svg{width:100%;height:100%;display:block}
.tk-eyes{transform-origin:100px 86px;animation:tkblink 4.6s infinite}
@keyframes tkblink{0%,93%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
.tk-head{transform-origin:100px 130px;animation:tknod 6s ease-in-out infinite}
@keyframes tknod{0%,100%{transform:rotate(0)}25%{transform:rotate(-2.5deg)}75%{transform:rotate(2deg)}}
.tk-bow{transform-origin:100px 150px;transition:transform .3s}
.member:hover .tk-bow{animation:tkbow .6s ease-in-out 2}
@keyframes tkbow{50%{transform:rotate(-14deg) scale(1.1)}}
@media (prefers-reduced-motion:reduce) and (max-width:0px){.tk-eyes,.tk-head,.member:hover .tk-bow{animation:none}}

[hidden]{display:none!important}
/* confort : taille du texte */
html{font-size:calc(100% * var(--fs,1))}
body{font-size:calc(17px * var(--fs,1))}
.lefttools{justify-self:start;display:flex;align-items:center;gap:6px}
.fsbtn{display:inline-flex;align-items:baseline;gap:1px;height:40px;padding:0 10px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;font-family:var(--f-display);font-weight:900;position:relative;transition:transform .2s}
.fsbtn:hover{transform:scale(1.06)}
.fsbtn .a1{font-size:13px;line-height:40px}.fsbtn .a2{font-size:19px;line-height:40px}
.fsdots{position:absolute;left:50%;bottom:4px;transform:translateX(-50%);display:flex;gap:2px}
.fsdots i{width:4px;height:4px;border-radius:50%;background:var(--line)}
.fsdots i.on{background:var(--accent)}
/* jours fériés */
.notice.holi{background:var(--exc);color:#fff;flex-direction:column;gap:6px}
.notice.holi .hl{display:flex;gap:10px;align-items:flex-start}
:root{--exc:#c2410c}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--exc:#f26b1d}}
:root[data-theme="dark"],html:root[data-mode="dark"]{--exc:#f26b1d}
html:root[data-mode="light"]{--exc:#c2410c}
.hours td.xc{color:var(--exc);font-weight:700}
.hours td.xc small{display:block;font-weight:600;font-size:.8rem;opacity:.9}
.hours tr.today td.xc{color:var(--exc)}
.hours td.xc.sp,.hours tr.today td.xc.sp{color:#b86400}
.nextholi{margin:12px 0 0;font-size:.9rem;color:var(--muted);line-height:1.5}
.nextholi b{color:var(--ink)}
/* barre contact mobile */
.cbar{display:none}
@media (max-width:700px){
  .cbar{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--bg);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:8px max(10px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px))}
  .cbar a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border-radius:12px;text-decoration:none;font-weight:700;font-size:.8rem;background:var(--surface);color:var(--ink);transition:transform .15s}
  .cbar a:active{transform:scale(.95)}
  .cbar a.cb-call{background:var(--m);color:#fff}
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  .toast{bottom:calc(90px + env(safe-area-inset-bottom,0px))!important}
  .lefttools{gap:4px}
  .fsbtn{height:38px;padding:0 8px}
}

/* diagnostic en ligne */
.dtool{margin-top:34px;padding:28px;border-radius:18px;background:var(--surface);border:2px solid var(--line)}
.dt-head h3{font-size:clamp(1.4rem,3.4vw,2rem);margin:0 0 6px}
.dt-head p{margin:0 0 18px;color:var(--muted)}
.dt-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.dt-pick button{display:flex;align-items:center;gap:10px;text-align:left;font:inherit;font-weight:700;padding:14px;border-radius:12px;border:2px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s}
.dt-pick button:hover{transform:translateY(-3px);border-color:var(--c)}
.dt-pick button[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 3px rgba(224,19,122,0.250);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}
.dt-pick .em{font-size:1.5rem;line-height:1;flex:none}
.dt-body{margin-top:20px;animation:qin .3s ease}
.dt-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.dt-steps li{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:start;padding:14px 16px;border-radius:12px;background:var(--bg);cursor:pointer;transition:opacity .2s}
.dt-steps input{appearance:none;width:26px;height:26px;border-radius:8px;border:2px solid var(--line);margin:0;cursor:pointer;display:grid;place-items:center;transition:background .2s,border-color .2s}
.dt-steps input:checked{background:var(--ok);border-color:var(--ok)}
.dt-steps input:checked::after{content:"✓";color:#fff;font-weight:900;font-size:.9rem}
.dt-steps li.done{opacity:.6}
.dt-steps li.done b{text-decoration:line-through}
.dt-steps b{display:block}
.dt-steps span{color:var(--muted);font-size:.94rem}
.dt-ask{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;font-weight:700}
.dt-ask span{margin-right:auto}
.dt-res{margin-top:14px;display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:12px;animation:qin .3s ease}
.dt-res.ok{background:rgba(23,138,76,0.140);background:color-mix(in srgb,var(--ok) 14%,var(--bg));border:2px solid var(--ok)}
.dt-res.ko{background:rgba(200,16,46,0.090);background:color-mix(in srgb,var(--warn) 9%,var(--bg));border:2px solid var(--warn)}
.dt-res>span:first-child{font-size:1.4rem;flex:none}
.stamp.sm{font-size:1.05rem;padding:4px 10px;margin:0;box-shadow:4px 4px 0 var(--y);flex:none}
.dt-cta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
/* rappel cartouche */
.remind{margin-top:24px;display:grid;grid-template-columns:1.3fr 1fr;gap:24px;padding:28px;border-radius:18px;background:var(--surface);scroll-margin-top:130px}
.remind>*{min-width:0}
.remind h3{font-size:clamp(1.4rem,3.4vw,2rem);margin:0 0 6px}
.remind p{margin:0 0 16px;color:var(--muted)}
.rm-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.remind .field input,.remind .field select{font:inherit;padding:10px 12px;border-radius:9px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);width:100%;min-width:0}
.remind .field{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.92rem}
.rm-use{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.rm-use button{font:inherit;display:flex;flex-direction:column;gap:2px;align-items:flex-start;padding:10px 12px;border-radius:10px;border:2px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;text-align:left;transition:transform .2s,border-color .2s}
.rm-use button:hover{transform:translateY(-2px)}
.rm-use button[aria-pressed="true"]{border-color:var(--accent);background:rgba(224,19,122,0.080);background:color-mix(in srgb,var(--accent) 8%,var(--bg))}
.rm-use small{color:var(--muted);font-weight:500;font-size:.78rem}
.rm-out{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;justify-content:center}
.gauge{position:relative;width:110px;height:170px;border-radius:18px 18px 22px 22px;border:4px solid var(--ink);background:var(--bg);overflow:hidden}
.gauge::before{content:"";position:absolute;top:-4px;left:50%;width:40px;height:14px;margin-left:-20px;background:var(--ink);border-radius:0 0 6px 6px;z-index:2}
.gfill{position:absolute;left:0;right:0;bottom:0;height:50%;background:linear-gradient(180deg,var(--c),#0f7fb0);transition:height .8s cubic-bezier(.3,1.2,.5,1),background .3s}
.gfill.low{background:linear-gradient(180deg,#f08a00,#c86a00)}
.gfill.empty{background:linear-gradient(180deg,var(--warn),#8f0b20)}
.gfill::before{content:"";position:absolute;left:-20%;right:-20%;top:-8px;height:16px;background:inherit;border-radius:45%;animation:wave 3s linear infinite;opacity:.8}
@keyframes wave{50%{transform:translateX(8%) rotate(3deg)}}
.gpct{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--f-display);font-weight:900;font-stretch:112%;font-size:1.6rem;color:var(--ink);text-shadow:0 0 6px var(--bg),0 0 2px var(--bg);z-index:3;font-variant-numeric:tabular-nums}
.rm-txt{display:flex;flex-direction:column;align-items:center;gap:4px}
.rm-k{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.rm-date{font-family:var(--f-display);font-weight:900;font-stretch:112%;font-size:1.6rem;line-height:1.1}
.rm-left{font-weight:600;color:var(--accent)}
.rm-cal{margin-top:10px}
.rm-note{color:var(--muted);font-size:.8rem;margin-top:8px;max-width:30ch}
@media (max-width:820px){.dt-pick{grid-template-columns:1fr 1fr}.remind{grid-template-columns:1fr}.rm-use{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.dt-pick{grid-template-columns:1fr}.rm-fields{grid-template-columns:1fr}.dtool,.remind{padding:20px}}
@media (prefers-reduced-motion:reduce) and (max-width:0px){.gfill::before{animation:none}.gfill{transition:none}}

/* structure : séparateurs, sommaires, outils repliés */
.sep{display:flex;align-items:center;gap:14px;margin:52px 0 26px}
.sep::before,.sep::after{content:"";height:3px;border-radius:3px;background:linear-gradient(90deg,var(--c) 0 25%,var(--m) 25% 50%,var(--y) 50% 75%,var(--ink) 75%)}
.sep::before{width:36px;flex:none}
.sep::after{flex:1;opacity:.35}
.sep span{font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;color:var(--muted);white-space:nowrap}
section.view[data-group]{padding-block:0 8px}
.view[data-group] .vhead .eyebrow{display:none}
.view[data-group="infos"]:last-of-type{padding-bottom:64px}
section.view.infos-head{padding-bottom:0}
section.view.infos-head .toc{margin-bottom:0}
.toc{display:flex;flex-wrap:wrap;gap:8px;margin:-8px 0 8px}
.toc a{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:99px;border:1.5px solid var(--line);text-decoration:none;font-weight:600;font-size:.92rem;color:var(--ink);background:var(--bg);transition:border-color .2s,transform .2s,background .2s}
.toc a::after{content:"↓";color:var(--muted);transition:transform .2s}
.toc a:hover{border-color:var(--ink);transform:translateY(-2px)}
.toc a:hover::after{transform:translateY(2px)}
section.view>.toc:first-child{margin:0 0 28px}
[data-group],#gammes,#rappel,#recyclage,#commander,#tarifs,#envoi,#simu,#diag-free,#dtool{scroll-margin-top:140px}
.svx{display:block;margin-top:6px;font-style:normal;font-weight:700;font-size:.85rem;color:var(--accent)}
.prolink{margin-top:16px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;border-radius:12px;border:1.5px dashed var(--line);text-decoration:none;font-weight:600;transition:border-color .2s}
.prolink:hover{border-color:var(--ink)}
.prolink span:last-child{transition:transform .2s;font-size:1.2rem}.prolink:hover span:last-child{transform:translateX(4px)}
details.tool{border-radius:18px;background:var(--surface);margin-top:0}
details.tool>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:22px 24px}
details.tool>summary::-webkit-details-marker{display:none}
.ts-ico{font-size:1.8rem;line-height:1;flex:none}
.ts-txt{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}
.ts-txt b{font-family:var(--f-display);font-weight:900;font-stretch:112%;font-size:clamp(1.15rem,2.6vw,1.45rem);line-height:1.15}
.ts-txt span{color:var(--muted);font-size:.95rem}
.tg{flex:none;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:99px;background:var(--chip);color:var(--chipfg);font-weight:700;font-size:.88rem}
.tg::after{content:"▾";transition:transform .25s}
details.tool[open] .tg::after{transform:rotate(180deg)}
details.tool>summary:hover .tg{background:var(--accent);color:#fff}
details.tool .remind{margin-top:0;padding-top:0;background:transparent}
details.dtool{padding:0;border:2px solid var(--line)}
details.dtool>.dt-pick,details.dtool>.dt-body{margin-left:24px;margin-right:24px}
details.dtool>.dt-body{margin-bottom:24px}
details.dtool[open]>.dt-pick{margin-top:4px}
details.dtool:not([open])>.dt-pick{display:none}
details.dtool[open]{padding-bottom:24px}
@media (max-width:560px){details.tool>summary{flex-wrap:wrap;padding:18px}.tg{margin-left:auto}details.dtool>.dt-pick,details.dtool>.dt-body{margin-left:16px;margin-right:16px}}

.legal-l{display:none}
html:not([lang="en"]):not([lang="de"]) .legal-l[data-ll="fr"],html[lang="en"] .legal-l[data-ll="en"],html[lang="de"] .legal-l[data-ll="de"]{display:block}

.mapcard .m-route{stroke:#1fa6dc;stroke-width:4.5;fill:none;stroke-dasharray:7 6;stroke-linecap:round;stroke-linejoin:round;animation:dash 1.4s linear infinite}
.mpulse{transform-origin:0 0;animation:mpul 1.8s ease-out infinite}
@keyframes mpul{from{transform:scale(1);opacity:.5}to{transform:scale(3.4);opacity:0}}
.mapcard:hover .mshop>path{transform:translateY(-3px);transition:transform .25s}
@media (prefers-reduced-motion:reduce) and (max-width:0px){.mpulse,.mapcard .m-route{animation:none}}
.walk{display:flex;gap:12px;align-items:flex-start}
.walk .wi{font-size:1.5rem;line-height:1}
.walk p{margin:4px 0 0}

/* écran de chargement entre les pages */
.pl{position:fixed;inset:0;z-index:80;background:var(--bg);display:grid;place-items:center;transition:opacity .28s ease}
.pl.out{opacity:0;pointer-events:none}
.pl-box{display:flex;flex-direction:column;align-items:center;gap:16px}
.pl-logo{width:64px;height:64px;border-radius:14px;animation:plpop .5s cubic-bezier(.3,1.5,.5,1)}
@keyframes plpop{from{transform:scale(.7) rotate(-8deg);opacity:0}}
.pl-ink{display:flex;gap:8px;align-items:flex-end;height:46px}
.pl-ink i{position:relative;width:16px;height:46px;border-radius:5px 5px 7px 7px;border:2.5px solid var(--ink);overflow:hidden;background:var(--bg)}
.pl-ink i::before{content:"";position:absolute;left:50%;top:-6px;width:8px;height:6px;margin-left:-4px;background:var(--ink);border-radius:2px 2px 0 0}
.pl-ink i::after{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;background:var(--k);transform:translateY(100%);animation:plfill .55s cubic-bezier(.5,0,.3,1) forwards}
.pl-ink i:nth-child(2)::after{animation-delay:.08s}.pl-ink i:nth-child(3)::after{animation-delay:.16s}.pl-ink i:nth-child(4)::after{animation-delay:.24s}
@keyframes plfill{to{transform:translateY(0)}}
.pl-txt{font-family:var(--f-display);font-weight:900;font-stretch:112%;font-size:1.15rem;letter-spacing:.02em;min-height:1.4em}
@media (prefers-reduced-motion:reduce) and (max-width:0px){.pl-logo,.pl-ink i::after{animation:none}.pl-ink i::after{transform:none}.pl{transition:none}}

/* impression */
.qgood{margin-top:14px;display:flex;gap:10px;align-items:flex-start;padding:12px 16px;border-radius:12px;background:rgba(224,19,122,0.120);background:color-mix(in srgb,var(--m) 12%,var(--bg));border:2px solid var(--m);font-weight:500;animation:qin .3s ease}
.qgood b{color:var(--accent)}
.qgood strong{color:var(--accent);font-weight:800}
.qg-ico{font-size:1.3rem;line-height:1;flex:none}
@media (prefers-reduced-motion:reduce) and (max-width:0px){.qgood{animation:none}}
.qwarn{margin-top:14px;display:flex;gap:10px;align-items:flex-start;padding:12px 16px;border-radius:12px;background:rgba(240,138,0,0.140);background:color-mix(in srgb,#f08a00 14%,var(--bg));border:2px solid #f08a00;font-weight:600;animation:qin .3s ease}
.qwarn svg{flex:none;color:#f08a00;margin-top:1px}
@keyframes qin{from{opacity:0;transform:translateY(-6px)}}
@media (prefers-reduced-motion:reduce) and (max-width:0px){.qwarn{animation:none}}
.tipband{margin-top:22px;display:flex;gap:16px;align-items:flex-start;padding:18px 22px;border-radius:14px;background:rgba(255,212,0,0.280);background:color-mix(in srgb,var(--y) 28%,var(--bg));border:2px dashed var(--y);transition:transform .25s}
.tipband:hover{transform:translateY(-2px) rotate(-.3deg)}
.tb-ico{font-size:1.8rem;line-height:1;flex:none}
.tipband b{font-family:var(--f-display);font-weight:900;font-stretch:112%;text-transform:uppercase;letter-spacing:.04em;font-size:1rem}
.tipband p{margin:4px 0 0}
.tipband strong{color:var(--accent);font-weight:800}
.tipband em{color:var(--muted)}
.mh-up{background:linear-gradient(135deg,#7a4bc4,#e0137a)!important;color:#fff!important;border:0!important;box-shadow:0 6px 18px rgba(122,75,196,.35)}
.mailhero{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;margin:-6px 0 34px;padding:22px 24px;border-radius:16px;background:#14151a;color:#fff;position:relative;overflow:hidden}
.mailhero::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--c) 0 25%,var(--m) 25% 50%,var(--y) 50% 75%,#fff 75%)}
.mailhero>*{min-width:0}
.mh-ico{width:58px;height:58px;border-radius:14px;background:var(--y);color:#14151a;display:grid;place-items:center;transition:transform .35s cubic-bezier(.2,.8,.3,1.3)}
.mailhero:hover .mh-ico{transform:rotate(-8deg) scale(1.08)}
.mh-txt{display:flex;flex-direction:column;gap:2px}
.mh-k{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--y)}
.mh-mail{font-family:var(--f-display);font-weight:900;font-stretch:112%;font-size:clamp(1.2rem,3.4vw,1.9rem);line-height:1.15;overflow-wrap:anywhere;user-select:all}
.mh-s{color:#c9ccd3;font-size:.93rem}
.mh-act{display:flex;flex-direction:column;gap:8px}
.mailhero .mh-go{background:var(--m);color:#fff;justify-content:center}
.mailhero .mh-cp{color:#fff;box-shadow:inset 0 0 0 1.5px #ffffff40;justify-content:center}
@media (max-width:760px){.mailhero{grid-template-columns:auto 1fr}.mh-act{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}}
.fmt{display:flex;align-items:baseline;gap:10px;margin:30px 0 12px}
.fmt.first{margin-top:0}
.fmt .badge{font-family:var(--f-display);font-weight:900;font-stretch:112%;color:#fff;background:#14151a;padding:2px 9px;border-radius:6px;font-size:.95rem}
.fmt .badge.a3{background:var(--m)}
.fmt h3{margin:0}.fmt small{color:var(--muted)}
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.price.has-stu{position:relative;box-shadow:inset 0 -3px 0 #1fa6dc}
.stu-pin{position:relative;overflow:hidden;display:flex;align-items:center;gap:10px;margin-top:12px;padding:7px 12px 7px 7px;border-radius:14px;text-decoration:none;color:#fff;
 background:linear-gradient(135deg,#1fa6dc,#2b6fe0);box-shadow:0 6px 16px rgba(31,120,220,.3);transition:transform .2s,box-shadow .2s}
.stu-pin::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);animation:stushine 3.6s ease-in-out infinite}
.stu-pin:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(31,120,220,.4)}
.stu-pin .sp-i{flex:none;width:34px;height:34px;border-radius:10px;background:#fff;display:grid;place-items:center;font-size:1.1rem}
.stu-pin .sp-x{display:grid;line-height:1.15;min-width:0}
.stu-pin .sp-t{font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.stu-pin .sp-s{font-size:.78rem;opacity:.9}
.stu-pin b{margin-left:auto;font-size:1.45rem;font-weight:900;line-height:1;color:#ffe45c;white-space:nowrap}
.stu-pin b sup{font-size:.55em}
.stu-pin .sp-go{font-weight:900;opacity:.85;transition:transform .2s}
.stu-pin:hover .sp-go{transform:translateX(3px)}
@keyframes stushine{0%,55%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}
@media (prefers-reduced-motion:reduce) and (max-width:0px){.stu-pin::after{animation:none;display:none}}
/* bloc « réservée en une minute » : version compacte, sous le chercheur */
.cmd{margin-top:18px!important;padding:16px 18px!important;gap:10px!important}
.cmd h3{font-size:1.05rem!important;margin:0 0 2px!important}.cmd-h p{font-size:.9rem}
.cmd-badge{font-size:.7rem!important;padding:3px 10px!important;margin-bottom:4px!important}
.cmd-steps li{padding:9px 12px!important;align-items:center!important}.cmd-steps li>b{width:26px!important;height:26px!important;font-size:.85rem}
.cmd-steps span{display:none}.cmd .cta{display:none!important}
/* chercheur de cartouche de la page Cartouches : plus grand */
.view[data-view="cartouches"] .fd-card{padding:30px 30px 26px;border-top-width:6px;background:linear-gradient(160deg,color-mix(in srgb,var(--c) 12%,var(--surface)),var(--surface) 60%);box-shadow:0 14px 34px rgba(31,166,220,.14)}
.view[data-view="cartouches"] .fd-head h3{font-size:clamp(1.5rem,3.4vw,2.1rem);line-height:1.1}
.view[data-view="cartouches"] .fd-head p{font-size:1.02rem}
.view[data-view="cartouches"] .fd-ico{transform:scale(1.25)}
.view[data-view="cartouches"] .fd-in{border-width:2px;border-color:color-mix(in srgb,var(--c) 45%,var(--line));border-radius:14px}
.view[data-view="cartouches"] .fd-in input{font-size:1.15rem;padding:17px 0}
.view[data-view="cartouches"] .fd-go{font-size:1.1rem;padding:16px 30px;border-radius:14px}
.stu-band{position:relative;margin-top:14px;padding:22px 20px 16px;border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--m) 10%,var(--bg)),color-mix(in srgb,#8a3fd1 10%,var(--bg)));border:2px dashed var(--m);display:grid;gap:10px}
.stu-tag{position:absolute;top:-14px;left:16px;display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#e0137a,#8a3fd1);color:#fff;font-weight:800;font-size:.86rem;padding:5px 12px;border-radius:99px;box-shadow:0 4px 12px rgba(224,19,122,.3);transform:rotate(-1.5deg)}
.stu-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.stu-l{display:flex;align-items:center;gap:10px}
.stu-l b{display:block;font-size:1.05rem}.stu-l span{color:var(--muted);font-size:.92rem}
.stu-v{display:flex;align-items:baseline;gap:10px}
.stu-v s{color:var(--muted);font-weight:700}
.stu-v .val{font-size:2.2rem;font-weight:900;color:var(--m);line-height:1}
.stu-v small{color:var(--muted);font-weight:600}
.stu-c{color:var(--muted);font-size:.82rem}
.calc .c-stu{grid-column:1/-1;flex-direction:row;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1.5px dashed var(--m);background:color-mix(in srgb,var(--m) 6%,var(--bg));cursor:pointer}
.calc .c-stu input{width:20px;height:20px;flex:none;accent-color:var(--m)}
.price{background:var(--surface);border-radius:12px;padding:18px 20px}
.price .lab{display:flex;align-items:center;gap:8px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.76rem;color:var(--muted)}
.dots{display:inline-flex}.dots i{width:10px;height:10px;border-radius:50%;margin-right:-3px;box-shadow:0 0 0 1.5px var(--surface)}
.price .val{font-family:var(--f-display);font-weight:900;font-stretch:112%;font-size:2.3rem;line-height:1;margin:10px 0 6px;font-variant-numeric:tabular-nums}
.price .val sup{font-size:.48em;vertical-align:.6em;margin-left:2px}
.price .sub{color:var(--muted);font-size:.9rem}
.calc{margin-top:34px}
.calc form{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.calc label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.9rem}
.calc select,.calc input{font:inherit;padding:10px 12px;border-radius:9px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);width:100%;min-width:0}
.total{margin-top:18px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px}
.total .sum{font-family:var(--f-display);font-weight:900;font-stretch:112%;font-size:2rem;font-variant-numeric:tabular-nums}
.total .det{color:var(--muted);font-size:.95rem}
ol.steps{list-style:none;margin:0;padding:0;display:grid;gap:16px;counter-reset:s}
.steps li{display:grid;grid-template-columns:34px 1fr;gap:14px;counter-increment:s}
.steps li::before{content:counter(s);width:34px;height:34px;border-radius:50%;background:var(--chip);color:var(--chipfg);display:grid;place-items:center;font-family:var(--f-display);font-weight:900;font-size:.95rem}
.steps b{display:block}
.steps span{color:var(--muted);font-size:.95rem}
.brands{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.brands span{border-radius:7px;padding:3px 10px;font-weight:600;font-size:.9rem;background:var(--bg)}

/* relais */
.carriers{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:16px;align-items:stretch}
.group{grid-column:span 3;position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px 8px 8px;border-radius:14px;box-shadow:inset 0 0 0 1.5px var(--line)}
.group .gtag{position:absolute;top:-10px;left:14px;background:var(--bg);padding:0 8px;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.carriers>.carrier{margin-top:8px}
.carrier{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:16px 8px;border-radius:12px;background:var(--surface)}
.carrier .lg{width:56px;height:56px;border-radius:13px;overflow:hidden;display:grid;place-items:center;background:#fff}
.carrier .lg img{width:100%;height:100%;object-fit:cover}
.carrier .lg.txt{background:#1b2a4a;color:#fff;font-family:var(--f-display);font-weight:900;font-size:.72rem}
.carrier b{font-size:.95rem;line-height:1.2}
.carrier small{font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.warn{margin-top:14px;display:flex;gap:10px;align-items:flex-start;font-size:.95rem}
.warn svg{flex:none;margin-top:3px;color:var(--warn)}
.warn b{color:var(--warn)}

footer{border-top:1px solid var(--line)}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 24px;padding-block:22px;font-size:.9rem;color:var(--muted)}
.ft-map{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;max-width:1100px;margin:0 auto;padding:18px 16px 0;font-size:.88rem}.ft-map a{color:var(--muted);text-decoration:none;padding:4px 0}.ft-map a:hover,.ft-map a:focus-visible{color:var(--ink);text-decoration:underline}

/* cartouches */
.offer{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.offer>*{min-width:0}
.offer .hand2{color:var(--accent);font-weight:700;font-size:1.15rem;display:block;margin-bottom:8px}
.offer h2{font-size:clamp(2.2rem,5.6vw,3.4rem);text-transform:uppercase;line-height:.98}
.offer h2 sup{font-size:.5em;vertical-align:.8em}
.pct{display:inline-block;margin-top:18px;background:var(--m);color:#fff;font-family:var(--f-display);font-weight:900;font-stretch:112%;font-size:clamp(3rem,9vw,4.8rem);line-height:1;padding:8px 26px 12px;border-radius:14px;transform:rotate(-3deg);box-shadow:8px 8px 0 var(--y)}
.offer p.lede{font-weight:600;color:var(--ink)}
.packs{border-radius:18px;overflow:hidden;background:#fde5f2;max-width:100%}
.packs img{display:block;width:100%}
.cmd{margin-top:40px;padding:26px;border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--m) 9%,var(--surface)),var(--surface));border:1.5px solid color-mix(in srgb,var(--m) 22%,var(--line));display:grid;gap:18px}
.cmd-badge{display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.04em;color:#fff;background:#178a4c;border-radius:99px;padding:4px 12px;margin-bottom:8px}
.cmd h3{margin:0 0 6px;font-size:1.35rem}.cmd-h p{margin:0;color:var(--muted)}
.cmd-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cmd-steps li{display:flex;gap:12px;align-items:flex-start;background:var(--bg);border-radius:14px;padding:14px}
.cmd-steps li>b{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--m);color:#fff;font-weight:900}
.cmd-steps strong{display:block;margin-bottom:2px}.cmd-steps span{font-size:.92rem;color:var(--muted)}
.cmd .cta{display:flex;gap:10px;flex-wrap:wrap}.cmd .btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
@media (max-width:760px){.cmd-steps{grid-template-columns:1fr}.cmd{padding:18px}}
.carr-more{display:block;margin:6px auto 0;font:inherit;font-size:.78rem;font-weight:800;color:var(--m);background:none;border:1.5px solid color-mix(in srgb,var(--m) 40%,transparent);border-radius:99px;padding:3px 10px;cursor:pointer}
.carr-more:hover{background:color-mix(in srgb,var(--m) 10%,transparent)}
.mr-modal{position:fixed;inset:0;z-index:90;background:rgba(10,10,14,.55);display:grid;place-items:center;padding:16px}
.mr-modal[hidden]{display:none}
.mr-card{position:relative;background:var(--surface);color:var(--ink);border-radius:18px;padding:24px;max-width:520px;width:100%;max-height:90vh;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.35);animation:swin .25s ease}
.mr-card h3{margin:4px 0 8px}.mr-x{position:absolute;top:10px;right:12px;font-size:1.5rem;background:none;border:0;color:var(--muted);cursor:pointer}
.mr-steps{display:grid;gap:12px;margin:12px 0}.mr-steps figure{margin:0;background:var(--bg);border-radius:12px;overflow:hidden}.mr-steps img{display:block;width:100%}.mr-steps figcaption{padding:10px 12px;font-size:.92rem}
.mr-soon{color:var(--muted);font-size:.9rem;margin:0}
.rt-card{max-width:860px}
.rt-grid{display:grid;grid-template-columns:minmax(0,330px) minmax(0,1fr);gap:22px;align-items:start;margin-top:14px}
@media (max-width:760px){.rt-grid{grid-template-columns:1fr}}
.rt-phone{position:relative;background:#14151a;border-radius:34px;padding:12px;box-shadow:0 16px 40px rgba(0,0,0,.25)}
.rt-phone:before{content:"";display:block;width:80px;height:6px;border-radius:9px;background:#3a3d45;margin:2px auto 10px}
.rt-mail{background:#fff;color:#22252b;border-radius:22px;overflow:hidden;font-size:.82rem;line-height:1.4}
.rt-mh{padding:12px 14px;color:#fff;font-weight:800;display:flex;justify-content:space-between;gap:8px;align-items:center}
.rt-mh small{font-weight:600;opacity:.8;font-size:.7rem}
.rt-mb{padding:12px 14px;display:grid;gap:9px}
.rt-mask{display:inline-block;background:#22252b;color:transparent;border-radius:4px;user-select:none;line-height:1.1}
.rt-box{background:#f2f3f2;border-radius:12px;padding:10px 46px;text-align:center;position:relative}
.rt-box small{display:block;color:#61656f;font-size:.7rem;margin-bottom:6px}
.rt-qr{width:116px;height:116px;margin:0 auto;border:4px solid #22252b;border-radius:14px;background:#fff;position:relative;overflow:hidden;padding:6px}
.rt-qr svg{width:100%;height:100%;display:block}
.rt-qr:after{content:"EXEMPLE";position:absolute;inset:auto -20px 42% -20px;transform:rotate(-24deg);background:rgba(224,19,122,.92);color:#fff;font-weight:900;font-size:.72rem;letter-spacing:.14em;text-align:center;padding:2px 0}
.rt-code{font-size:1.35rem;font-weight:900;letter-spacing:.12em;color:#14151a}
.rt-hl{outline:3px dashed var(--m);outline-offset:3px;border-radius:10px;animation:rthl 1.6s ease-in-out infinite}
@keyframes rthl{50%{outline-color:transparent}}
.rt-pin{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:2px;color:var(--m);font-weight:900;z-index:2;animation:rtpin 1.2s ease-in-out infinite}
.rt-pin i{font-style:normal;font-size:1.3rem;line-height:1}
.rt-pin b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--m);color:#fff;font-size:.85rem;box-shadow:0 0 0 3px #fff}
@keyframes rtpin{50%{transform:translate(-6px,-50%)}}
.rt-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.rt-steps li{display:flex;gap:12px;align-items:flex-start;background:var(--bg);border-radius:14px;padding:12px 14px}
.rt-steps li>b{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--m);color:#fff;font-weight:900}
.rt-steps li>b.alt{background:var(--ink);color:var(--bg)}
.rt-steps strong{display:block}.rt-steps span{color:var(--muted);font-size:.92rem}
.rt-note{margin:12px 0 0;font-size:.84rem;color:var(--muted)}
.rt-id{display:flex;gap:10px;align-items:center;background:#fff7d6;border:1.5px solid #ead27a;border-radius:12px;padding:8px 10px;color:#3a3d45;font-size:.78rem}
.rt-id svg{flex:none}
@media (prefers-reduced-motion:reduce) and (max-width:0px){.rt-hl,.rt-pin{animation:none}}
.shopsoon{margin-top:40px;display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;padding:26px;border-radius:16px;background:var(--surface)}
.shopsoon>*{min-width:0}
.soonico{width:52px;height:52px;border-radius:14px;background:var(--y);color:#14151a;display:grid;place-items:center}
.soonbadge{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--chip);color:var(--chipfg);padding:3px 9px;border-radius:6px;margin-bottom:8px}
.shopsoon h3{margin:0 0 6px;font-size:1.3rem}
.shopsoon p{margin:0;color:var(--muted)}
.cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.cta .btn svg{flex:none}
.cta .btn.mail{background:var(--m);color:#fff}
.contactline{margin-top:12px;font-size:.92rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 18px}
.contactline span b{color:var(--ink);font-variant-numeric:tabular-nums}
.ranges{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}
.rg{background:var(--surface);border-radius:12px;padding:18px 20px}
.rg i{display:block;width:26px;height:6px;border-radius:3px;margin-bottom:12px}
.rg b{display:block;font-family:var(--f-display);font-weight:800;font-stretch:112%;font-size:1.02rem;margin-bottom:4px}
.rg span{color:var(--muted);font-size:.93rem}
.tip{margin-top:16px;padding:16px 20px;border-radius:12px;box-shadow:inset 0 0 0 1.5px var(--line);font-size:.95rem}
.tip b{font-weight:700}
.tip code{font-family:inherit;font-weight:700;background:var(--surface);padding:1px 7px;border-radius:5px}

/* imprimante */
.diaghero{display:grid;grid-template-columns:1fr 1.05fr;gap:32px;align-items:center}
.diaghero>*{min-width:0}
.ask{color:var(--warn);font-weight:700;font-size:1.15rem;margin-bottom:10px;display:block}
.diaghero h2{font-size:clamp(2.1rem,5.6vw,3.4rem);text-transform:uppercase;line-height:.98}
.stamp{display:inline-block;margin-top:18px;background:var(--warn);color:#fff;font-family:var(--f-display);font-weight:900;font-stretch:112%;font-size:clamp(2rem,5vw,2.8rem);padding:6px 22px 8px;border-radius:12px;transform:rotate(-3deg);box-shadow:7px 7px 0 var(--y);line-height:1.1}
.ticks{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:12px}
.ticks li{display:grid;grid-template-columns:26px 1fr;gap:12px;align-items:start;font-weight:600;font-size:1.05rem}
.ticks li::before{content:"";width:26px;height:26px;border-radius:50%;background:var(--chip) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffd400' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/15px no-repeat}
.ticks em{font-style:normal;color:var(--warn)}
.visual{border-radius:18px;overflow:hidden;background:#ebf6fc;max-width:100%}
.visual .pic{position:relative;padding:28px 18px 18px}
.visual img{display:block;width:100%}
.visual .loupe{position:absolute;top:16px;right:18px;width:54px;height:54px}
.visual .band{background:var(--c);height:46px}
.callbar{margin-top:28px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;background:#14151a;color:#fff;border-radius:14px;padding:16px 22px}
.callbar svg{color:var(--y);flex:none}
.callbar small{display:block;color:#c9ccd3;font-size:.9rem}
.callbar b{font-family:var(--f-display);font-weight:900;font-stretch:112%;font-size:1.8rem;color:var(--y);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.callbar .copy{background:transparent;color:#fff;border-color:#ffffff40}
.symptoms{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:40px}
.sym{background:var(--surface);border-radius:12px;padding:18px 20px}
.sym b{display:block;font-family:var(--f-display);font-weight:800;font-stretch:112%;font-size:1.02rem;margin-bottom:4px}
.sym span{color:var(--muted);font-size:.93rem}

/* staff */
.staff{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.member{background:var(--surface);border-radius:18px;padding:30px 24px 26px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;position:relative;overflow:hidden}
.member::before{content:"";position:absolute;inset:0 0 auto;height:86px;background:linear-gradient(90deg,var(--c) 0 25%,var(--m) 25% 50%,var(--y) 50% 75%,#14151a 75%);opacity:.14}
.avatar{position:relative;width:132px;height:132px;border-radius:50%;background:var(--bg);border:3px dashed var(--line);display:grid;place-items:center;color:var(--muted);margin-bottom:10px;overflow:hidden;flex:none}
.avatar img{width:100%;height:100%;object-fit:cover}
.avatar .ph{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.member h3{margin:0;font-size:1.35rem}
.role{font-weight:700;color:var(--accent);font-size:.95rem}
.speaks{display:flex;align-items:center;gap:8px;margin:8px 0 6px;font-size:.85rem;color:var(--muted)}
.speaks img{width:27px;height:18px;border-radius:3px;box-shadow:0 0 0 1px var(--line)}
.skills{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:6px}
.skills span{background:var(--bg);border-radius:99px;padding:5px 12px;font-weight:600;font-size:.88rem}

/* animations au survol */
.svc,.price,.carrier,.rg,.sym,.member,.lim,.card,.packs,.visual,.home .photo,.diag,.btn,.skills span,.brands span{transition:transform .25s cubic-bezier(.2,.8,.3,1.2),box-shadow .25s,background-color .25s,color .2s}
.svc .sw,.rg i{transition:width .3s ease}
.carrier .lg,.avatar,.pct,.stamp,.packs img,.visual img,.home .photo img{transition:transform .35s cubic-bezier(.2,.8,.3,1.3)}
nav.tabs a{position:relative;border-bottom-color:transparent!important}
nav.tabs a::after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:3px;border-radius:3px;background:var(--accent);transform:scaleX(0);transition:transform .25s ease}
nav.tabs a[aria-current="page"]::after{transform:scaleX(1)}
/* ===== onglet et page « Nos offres » (VIP) ===== */
nav.tabs a.tab-vip{display:inline-flex;align-items:center;gap:6px;color:#14151a;background:linear-gradient(135deg,#ffe45c,#ffd400 55%,#f5b301);border-radius:99px;padding:6px 14px!important;margin:3px 4px 4px;font-weight:800;box-shadow:0 2px 10px rgba(245,179,1,.35);align-self:center}
nav.tabs a.tab-vip[hidden]{display:none}
nav.tabs a.tab-vip::after{display:none}
nav.tabs a.tab-vip[aria-current="page"]{box-shadow:0 0 0 2px #14151a,0 2px 12px rgba(245,179,1,.5)}
nav.tabs a.tab-vip .vip-star{display:inline-block;animation:vipspin 6s linear infinite}
@keyframes vipspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce) and (max-width:0px){nav.tabs a.tab-vip .vip-star{animation:none}}
.vip-hero{position:relative;overflow:hidden;border-radius:22px;padding:34px 30px;margin:8px 0 22px;color:#fff;background:radial-gradient(circle at 85% 20%,rgba(255,212,0,.35),transparent 45%),linear-gradient(135deg,#14151a 0%,#2a2b31 60%,#3a2f05 100%)}
.vip-hero::before{content:"✦";position:absolute;right:28px;bottom:-30px;font-size:160px;line-height:1;color:#ffd400;opacity:.18;transform:rotate(12deg)}
.vip-eyebrow{display:inline-flex;gap:6px;align-items:center;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#14151a;background:#ffd400;border-radius:99px;padding:5px 12px}
.vip-hero h2{margin:14px 0 8px;font-size:clamp(1.8rem,5vw,2.8rem);line-height:1.1;color:#fff}
.vip-hero p{margin:0;max-width:56ch;color:rgba(255,255,255,.82);font-size:1.05rem}
.vip-list{display:grid;gap:18px}
/* offres : cartes compactes, deux par ligne (image au-dessus) */
@media (min-width:761px){.vip-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}}
.vip-list .promo{grid-template-columns:1fr;grid-template-rows:auto 1fr;border-radius:16px}
.vip-list .promo .pi{order:-1;min-height:0;height:165px;background:radial-gradient(circle at 50% 60%,color-mix(in srgb,var(--pbg) 55%,#fff),var(--pbg) 75%)}
.vip-list .promo .pi img{object-fit:contain}
.vip-list .promo .pi{overflow:hidden}.vip-list .promo .pi::before{content:"";position:absolute;inset:-20px;background:var(--pimg) center/cover no-repeat;filter:blur(16px) saturate(1.15);opacity:.75;transform:scale(1.1)}.vip-list .promo .pi img{z-index:1}
.vip-list .promo .pc{padding:15px 18px 17px;gap:6px}
.vip-list .promo .pc::after{width:140px;height:140px;right:-45px;bottom:-45px}
.vip-list .promo h3{font-size:clamp(1.1rem,2vw,1.3rem)}
.vip-list .promo .pbadge{font-size:clamp(1.25rem,2.4vw,1.55rem);padding:3px 11px 5px}
.vip-list .promo p{font-size:.9rem;line-height:1.4}
.vip-list .promo .pcta{font-size:.85rem;padding:7px 13px}
@media (min-width:761px){.vip-list .promo:last-child:nth-child(odd){grid-column:1/-1;grid-template-columns:1.35fr 1fr;grid-template-rows:auto}.vip-list .promo:last-child:nth-child(odd) .pi{order:0;height:auto;min-height:150px}}
.cz-cta-after{margin:14px 0 4px!important}
.vip-cats{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.vip-cats button{font:inherit;font-weight:700;font-size:.95rem;padding:9px 15px;border-radius:99px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;transition:transform .15s,background .2s}
.vip-cats button small{font-weight:800;opacity:.6;margin-left:3px}
.vip-cats button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.vip-cats button:active{transform:scale(.95)}
.vip-list .promo{box-shadow:0 0 0 3px #ffd400,0 14px 34px rgba(20,21,26,.14)}
.vip-empty{text-align:center;padding:40px 20px;border:2px dashed #ffd400;border-radius:18px;color:var(--muted);display:grid;gap:12px;justify-items:center}
.vip-empty b{color:var(--ink);font-size:1.1rem}
.vip-note{margin-top:14px}

@media (hover:hover){
  nav.tabs a:hover::after{transform:scaleX(.6)}
  nav.tabs a[aria-current="page"]:hover::after{transform:scaleX(1)}
  .svc:hover{transform:translateY(-5px);box-shadow:0 14px 30px -14px rgba(0,0,0,.35)}
  .svc:hover .sw{width:64px}
  .rg:hover,.sym:hover{transform:translateY(-4px);box-shadow:0 12px 26px -14px rgba(0,0,0,.35)}
  .rg:hover i{width:56px}
  .price:hover{transform:translateY(-4px) rotate(-.6deg);box-shadow:0 14px 28px -14px rgba(0,0,0,.4)}
  .price:hover .val{color:var(--accent)}
  .carrier:hover{transform:translateY(-4px)}
  .carrier:hover .lg{transform:rotate(-8deg) scale(1.1)}
  .member:hover{transform:translateY(-6px);box-shadow:0 18px 36px -16px rgba(0,0,0,.4)}
  .member:hover .avatar{transform:scale(1.06) rotate(-3deg);border-color:var(--accent)}
  .skills span:hover,.brands span:hover{background:var(--chip);color:var(--chipfg)}
  .lim:hover{transform:scale(1.04)}
  .diag:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1.5px var(--accent)}
  .btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px -8px rgba(0,0,0,.45)}
  .packs:hover img,.visual:hover img,.home .photo:hover img{transform:scale(1.05)}
  .pct:hover{transform:rotate(3deg) scale(1.06)}
  .stamp:hover{transform:rotate(3deg) scale(1.06)}
  .langs button:hover img{transform:translateY(-2px)}
  .brand:hover img{transform:rotate(-10deg)}
}
.price .val{transition:color .2s}
.brand img,.langs button img{transition:transform .3s cubic-bezier(.2,.8,.3,1.3)}

@media (max-width:820px){
  .diaghero,.symptoms,.offer{grid-template-columns:1fr}
  .ranges,.services{grid-template-columns:1fr 1fr}
  .home,.cols{grid-template-columns:1fr}
  .carriers{grid-template-columns:repeat(2,1fr);row-gap:22px}
  .group{grid-column:1/-1}
}
@media (max-width:560px){
  .brand b{display:none}
  .services,.prices,.calc form,.ranges,.staff{grid-template-columns:1fr}
  .shopsoon{grid-template-columns:1fr}
  nav.tabs .wrap{justify-content:flex-start}
  .langs{gap:2px}.langs button img{width:26px;height:17px}
}
@media (prefers-reduced-motion:reduce) and (max-width:0px){*{transition:none!important}*:hover{transform:none!important}}
