/* externaliser-la-paie.fr · famille V4-norme habillée (fiche _habillages/externaliser-la-paie.fr.md)
   Titres Federo, corps Pontano Sans, teinte 265. Préfixes : elp- (socle), chp- (chaîne de la
   paie, module signature), dsy- (calendrier mural et fac-similés). Zéro photo. */
@font-face{font-family:"Federo";font-style:normal;font-weight:400;font-display:swap;
  src:url("/fonts/federo-400-latin.woff2") format("woff2")}
@font-face{font-family:"Pontano Sans";font-style:normal;font-weight:300 700;font-display:swap;
  src:url("/fonts/pontano-sans-300-700.woff2") format("woff2")}

:root{
  --ink:oklch(19% 0.035 265);
  --ink-2:oklch(33% 0.032 265);
  --ink-3:oklch(45% 0.028 265);
  --paper:oklch(98% 0.006 265);
  --surface:oklch(94% 0.018 265);
  --surface-2:oklch(90% 0.022 265);
  --accent:oklch(62% 0.175 265);
  --accent-ink:oklch(15% 0.030 265);
  --accent-wash:oklch(93% 0.04 265);
  --accent-text:oklch(45% 0.17 265);
  --line:oklch(82% 0.022 265);
  --field-line:oklch(40% 0.065 265);
  --on-ink:oklch(92% 0.012 265);
  --titre:"Federo","Optima","Candara","Segoe UI",sans-serif;
  --corps:"Pontano Sans","Gill Sans","Segoe UI",system-ui,sans-serif;
  --r:2px;
  --maxw:1200px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--corps);font-size:17px;line-height:1.62;font-weight:400}
img,svg{max-width:100%;display:block}
a{color:var(--accent-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--ink)}
h1,h2,h3{font-family:var(--titre);font-weight:400;line-height:1.14;letter-spacing:.01em;color:var(--ink);margin:0 0 .5em;hyphens:manual;overflow-wrap:break-word}
.elp-mid{margin:26px 0 0;max-width:460px}
h1{font-size:clamp(30px,4.2vw,50px)}
h2{font-size:clamp(25px,2.8vw,34px);margin-top:.2em}
h3{font-size:20px;font-family:var(--corps);font-weight:700;letter-spacing:0}
p{margin:0 0 1em}
strong{font-weight:700}
.elp-wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:28px}
.elp-narrow{max-width:800px}
.elp-skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:8px 12px;z-index:200}
.elp-skip:focus{left:8px}
section{padding-block:64px}
.elp-bg-s{background:var(--surface)}
.elp-bg-ink{background:var(--ink);color:var(--on-ink)}
.elp-bg-ink h2,.elp-bg-ink h3{color:var(--paper)}
.elp-bg-ink a{color:var(--paper)}
.elp-bg-ink p{color:var(--on-ink)}

/* ── Bandeau + en-tête ─────────────────────────────── */
.elp-bandeau{background:var(--ink);color:var(--on-ink);font-size:13.5px}
.elp-bandeau .elp-wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 18px;padding-block:7px}
.elp-bandeau a{color:var(--paper)}
.elp-hdr{position:sticky;top:0;z-index:60;background:var(--paper);border-bottom:1px solid var(--line)}
[data-hdr]{transition:box-shadow .2s ease}
[data-hdr].elp-is-solid{box-shadow:0 2px 10px oklch(19% 0.035 265 / .12)}
.elp-hdr .elp-wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:66px}
.elp-mark{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);line-height:1.1}
.elp-mark b{font-family:var(--titre);font-weight:400;font-size:23px}
.elp-mark span{font-size:12.5px;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase}
.elp-nav>ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:6px}
.elp-nav details{position:relative}
.elp-nav summary{list-style:none;cursor:pointer;padding:10px 12px;font-weight:700;font-size:15.5px;border-radius:var(--r)}
.elp-nav summary::-webkit-details-marker{display:none}
.elp-nav summary::after{content:"";display:inline-block;width:7px;height:7px;margin-left:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg)}
.elp-nav details[open] summary{background:var(--surface)}
.elp-panel{position:absolute;top:calc(100% + 6px);left:0;min-width:330px;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 30px oklch(19% .035 265 / .14);padding:10px;z-index:70}
.elp-panel ul{list-style:none;margin:0;padding:0}
.elp-panel a{display:block;padding:9px 10px;text-decoration:none;color:var(--ink);font-weight:700;border-radius:var(--r)}
.elp-panel a small{display:block;font-weight:400;color:var(--ink-3);font-size:14px}
.elp-panel a:hover{background:var(--surface)}
.elp-cta-hdr{display:inline-block;background:var(--ink);color:var(--paper);text-decoration:none;font-weight:700;padding:11px 16px;border-radius:var(--r);max-width:100%}
.elp-cta-hdr:hover{color:var(--paper);background:var(--ink-2)}
.elp-burger{display:none;background:none;border:1px solid var(--field-line);color:var(--ink);font:inherit;font-weight:700;padding:8px 12px;border-radius:var(--r)}

/* ── Fil d'Ariane, badge daté ──────────────────────── */
.elp-crumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:16px 0 0;font-size:14px;color:var(--ink-3)}
.elp-crumb li+li::before{content:"/";margin-right:6px;color:var(--line)}
.elp-crumb a{color:var(--ink-3)}
.elp-badge{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent-wash);border-left:4px solid var(--accent);padding:5px 10px;margin:0 0 14px}
.elp-maj{font-size:14px;color:var(--ink-3);margin-top:22px}

/* ── Hero (mode de capture A : formulaire premier dans le DOM) ── */
.elp-hero{padding-block:34px 44px;border-bottom:1px solid var(--line)}
.elp-hero-g{display:grid;grid-template-columns:minmax(310px,390px) minmax(0,1fr);grid-template-areas:"form tete" "form cote";gap:10px 48px;align-items:start}
.elp-hero-f{grid-area:form}
.elp-hero-t{grid-area:tete}
.elp-hero-c{grid-area:cote}
.elp-lede{font-size:19px;color:var(--ink-2);max-width:62ch}
.elp-hero-sec{padding-block:30px 40px}

/* ── Formulaires ───────────────────────────────────── */
.elp-form{background:var(--paper);border:1px solid var(--field-line);border-top:5px solid var(--ink);padding:20px 20px 16px;border-radius:var(--r)}
.elp-form-t{font-family:var(--titre);font-size:22px;line-height:1.2;margin:0 0 6px;color:var(--ink)}
.elp-form-n{font-size:14.5px;color:var(--ink-2);margin:0 0 12px}
.elp-f{margin-bottom:12px}
.elp-f-g{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.elp-f label{display:block;font-weight:700;font-size:14.5px;margin-bottom:4px}
.elp-req{font-weight:400;color:var(--ink-3);font-size:13px}
.elp-f input,.elp-f select,.elp-f textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid var(--field-line);border-radius:var(--r);padding:10px 11px}
.elp-f input:focus,.elp-f select:focus,.elp-f textarea:focus,.elp-consent input:focus{outline:3px solid var(--accent);outline-offset:1px}
.elp-aide{font-size:13.5px;color:var(--ink-3);margin:4px 0 0}
.elp-consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.45;margin:4px 0 12px;color:var(--ink-2)}
.elp-consent input{margin-top:3px;width:18px;height:18px;flex:0 0 auto;accent-color:var(--ink)}
.elp-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.elp-btn{display:inline-block;width:100%;background:var(--ink);color:var(--paper);font:inherit;font-weight:700;font-size:17px;border:0;border-radius:var(--r);padding:13px 18px;cursor:pointer;text-align:center;text-decoration:none}
.elp-btn:hover{background:var(--ink-2);color:var(--paper)}
.elp-btn-l{width:auto}
.elp-bg-ink .elp-btn{background:var(--paper);color:var(--ink)}
.elp-bg-ink .elp-btn:hover{background:var(--surface);color:var(--ink)}
.elp-rassure{font-size:13.5px;color:var(--ink-3);margin:10px 0 0;line-height:1.45}

/* ── Calendrier mural (fac-similé CSS, hero d'accueil) ── */
.dsy-cal{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.dsy-feuille{background:#fff;border:1px solid var(--line);border-top:10px solid var(--ink);padding:12px 12px 10px;position:relative;box-shadow:0 1px 0 var(--line),0 8px 18px oklch(19% .035 265 / .06)}
.dsy-feuille::before,.dsy-feuille::after{content:"";position:absolute;top:-16px;width:8px;height:14px;border:2px solid var(--ink-3);border-radius:4px;background:var(--paper)}
.dsy-feuille::before{left:22%}.dsy-feuille::after{right:22%}
.dsy-mois{font-family:var(--titre);font-size:17px;margin:0 0 6px;display:flex;justify-content:space-between;align-items:baseline}
.dsy-mois small{font-family:var(--corps);font-size:12px;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase}
.dsy-grille{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;list-style:none;margin:0;padding:0}
.dsy-grille li{font-size:11.5px;text-align:center;padding:4px 0;background:var(--surface);color:var(--ink-2);border-radius:1px;font-variant-numeric:tabular-nums}
.dsy-grille li.dsy-j{background:none;font-weight:700;color:var(--ink-3)}
.dsy-grille li.dsy-ex{background:var(--surface-2);color:var(--ink)}
.dsy-grille li.dsy-ech{background:var(--accent);color:var(--accent-ink);font-weight:700}
.dsy-leg{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13.5px;color:var(--ink-2);margin:2px 0 0}
.dsy-leg i{display:inline-block;width:12px;height:12px;vertical-align:-1px;margin-right:6px;border-radius:1px}
.dsy-leg .l1{background:var(--surface-2)}.dsy-leg .l2{background:var(--accent)}

/* ── Fac-similé de bulletin (pages internes) ────────── */
.dsy-fs{background:#fff;border:1px solid var(--line);padding:16px 18px;max-width:420px;margin-top:16px;position:relative}
.dsy-fs-h{display:flex;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:8px;margin-bottom:8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.dsy-fs-l{display:grid;grid-template-columns:1fr auto;gap:6px;font-size:13px;color:var(--ink-2);padding:3px 0;border-bottom:1px dotted var(--line)}
.dsy-fs-l b{font-weight:700;color:var(--ink)}
.dsy-fs-l.dsy-acc b{color:var(--accent-text)}
.dsy-fs-c{margin-top:8px;font-size:12.5px;color:var(--ink-3)}

/* ── Chaîne de la paie (module signature) ──────────── */
.chp-bloc{position:relative}
.chp-chaine{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(7,1fr);gap:0}
.chp-m{position:relative;padding:0 10px 0 0}
.chp-m::before{content:"";display:block;width:44px;height:30px;border:3px solid var(--ink);border-radius:15px;background:var(--paper);position:relative;z-index:1;margin-top:7px}
.chp-m::after{content:"";position:absolute;top:21px;left:44px;right:0;height:2px;background:repeating-linear-gradient(90deg,var(--ink) 0 10px,transparent 10px 16px)}
.chp-m:last-child::after{display:none}
.chp-m h3{font-size:16.5px;margin:12px 0 6px}
.chp-m p{font-size:14.5px;color:var(--ink-2);margin:0 0 8px;line-height:1.45}
.chp-qui{display:flex;flex-direction:column;gap:3px;font-size:12.5px}
.chp-qui span{display:block;padding:3px 6px;background:var(--surface);color:var(--ink-2)}
.chp-qui .chp-rep{background:var(--accent-wash);color:var(--accent-ink);border-left:3px solid var(--accent);font-weight:700}
.chp-m.chp-off::before{border-style:dashed;color:var(--ink-3);border-color:var(--ink-3)}
.chp-note{font-size:14.5px;color:var(--ink-3);margin-top:18px}

/* ── Sommaire numéroté en marge ────────────────────── */
.elp-doc{display:grid;grid-template-columns:230px minmax(0,1fr);gap:44px;align-items:start}
.elp-doc>*,.elp-hero-g>*{min-width:0}
.elp-docsec{padding-block:40px;scroll-margin-top:90px}
.elp-docsec .elp-sec{border-bottom:0;margin:0;padding:0}
.elp-toc{position:sticky;top:96px;border-left:2px solid var(--line);padding-left:16px;font-size:14.5px}
.elp-toc p{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0 0 8px}
.elp-toc ol{margin:0;padding:0 0 0 1.5em;list-style:decimal}
.elp-toc li{margin:0 0 8px;padding-left:4px}
.elp-toc li::marker{font-weight:700;color:var(--accent-text)}
.elp-toc a{color:var(--ink-2);text-decoration:none}
.elp-toc a:hover{color:var(--ink);text-decoration:underline}
.elp-sec{padding:0 0 44px;margin:0 0 44px;border-bottom:1px solid var(--line);scroll-margin-top:90px}
.elp-sec:last-child{border-bottom:0}

/* ── Blocs de contenu ──────────────────────────────── */
.elp-loi{border:1px solid var(--line);border-left:5px solid var(--accent);background:#fff;padding:18px 20px;margin:0 0 20px}
.elp-loi-t{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 8px}
.elp-loi p{margin:0 0 8px;color:var(--ink-2)}
.elp-loi p:last-child{margin:0}
.elp-liste{padding-left:1.2em;margin:0 0 1em}
.elp-liste li{margin:0 0 .45em}
.elp-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:18px}
.elp-steps>div{border-top:3px solid var(--ink);padding-top:12px}
.elp-steps h3{font-size:17px}
.elp-steps p{font-size:15.5px;color:var(--ink-2);margin:0}
.elp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
.elp-cards a{display:block;border:1px solid var(--line);background:#fff;padding:16px 18px;text-decoration:none;color:var(--ink)}
.elp-cards a strong{display:block;font-size:17px;margin-bottom:4px}
.elp-cards a span{display:block;font-size:15px;color:var(--ink-2)}
.elp-cards a:hover{border-color:var(--ink)}
.elp-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.elp-trust>div{border-top:2px solid var(--ink);padding-top:10px}
.elp-trust .elp-trust-t{font-weight:700;font-size:16.5px;margin:0 0 4px;color:var(--ink)}
.elp-trust p{font-size:15.5px;color:var(--ink-2);margin:0}
.elp-objection{border:1px solid var(--line);background:var(--accent-wash);padding:16px 20px;margin:0 0 22px}
.elp-objection p{margin:0 0 6px}
.elp-objection p:last-child{margin:0}
.elp-objection .elp-q{font-weight:700}
.elp-attentes{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 24px;padding:0;margin:14px 0 0;list-style:none}
.elp-attentes li{padding-left:22px;position:relative;font-size:15.5px;color:var(--ink-2)}
.elp-attentes li::before{content:"";position:absolute;left:0;top:9px;width:10px;height:10px;border:2px solid var(--ink);border-radius:1px}
.elp-tw{overflow-x:auto;margin:6px 0 18px;border:1px solid var(--line);background:#fff}
.elp-tw table{border-collapse:collapse;width:100%;min-width:560px;font-size:15px}
.elp-tw caption{text-align:left;font-size:14px;color:var(--ink-3);padding:10px 14px;caption-side:bottom}
.elp-tw th,.elp-tw td{text-align:left;vertical-align:top;padding:10px 14px;border-bottom:1px solid var(--line)}
.elp-tw thead th{background:var(--surface);font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.dsy-plein{padding-block:56px;background:var(--surface)}
.dsy-plein .elp-tw{border-color:var(--ink)}
.dsy-plein td.dsy-q{font-weight:700;color:var(--accent-ink)}
.elp-relance{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;border:1px solid var(--ink);padding:16px 20px;margin:4px 0 0;background:#fff}
.elp-relance p{margin:0;max-width:56ch}
.elp-faq details{border-bottom:1px solid var(--line);padding:12px 0}
.elp-faq summary{cursor:pointer;font-weight:700;list-style:none;padding-right:26px;position:relative}
.elp-faq summary::-webkit-details-marker{display:none}
.elp-faq summary::after{content:"+";position:absolute;right:4px;top:-2px;font-size:22px;color:var(--ink-3)}
.elp-faq details[open] summary::after{content:"−"}
.elp-faq .elp-a{margin-top:8px;color:var(--ink-2)}
.elp-index{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.elp-index a{display:block;border:1px solid var(--line);background:#fff;padding:18px 20px;text-decoration:none;color:var(--ink)}
.elp-index a strong{display:block;font-family:var(--titre);font-weight:400;font-size:21px;margin-bottom:6px}
.elp-index a span{color:var(--ink-2);font-size:15.5px}

/* ── Pied de page ──────────────────────────────────── */
.elp-ft{background:var(--ink);color:var(--on-ink);padding-block:44px 26px;font-size:15px}
.elp-ft a{color:var(--paper)}
.elp-ft-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:26px}
.elp-ft h3{color:var(--paper);font-size:15px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
.elp-ft ul{list-style:none;margin:0;padding:0}
.elp-ft li{margin:0 0 7px}
.elp-ft-src{border-top:1px solid oklch(40% .03 265);margin-top:26px;padding-top:14px;font-size:13.5px;color:oklch(84% .015 265)}
.elp-ft-end{font-size:13.5px;color:oklch(84% .015 265);margin:10px 0 0}

/* ── Mobile ────────────────────────────────────────── */
@media (max-width:980px){
  .elp-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);padding:8px 20px 16px}
  .elp-hdr[data-nav="1"] .elp-nav{display:block}
  .elp-nav>ul{flex-direction:column;align-items:stretch}
  .elp-panel{position:static;box-shadow:none;border:0;min-width:0;padding:0 0 6px 10px}
  .elp-burger{display:inline-block}
  .elp-hdr .elp-wrap{position:relative}
  .chp-chaine{grid-template-columns:1fr;gap:0}
  .chp-m{display:grid;grid-template-columns:52px 1fr;column-gap:12px;padding:0 0 18px}
  .chp-m::before{grid-row:1/4}
  .chp-m::after{top:44px;left:21px;right:auto;width:2px;height:calc(100% - 44px);background:repeating-linear-gradient(180deg,var(--ink) 0 8px,transparent 8px 13px)}
  .chp-m h3{margin-top:10px}
  .elp-doc{grid-template-columns:minmax(0,1fr);gap:10px}
  .elp-marge{display:none}
  .elp-toc{position:static;border-left:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}
  .elp-steps{grid-template-columns:1fr 1fr}
  .elp-cards,.elp-trust{grid-template-columns:1fr 1fr}
  .elp-ft-cols{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  body{font-size:16.5px}
  .elp-wrap{padding-inline:18px}
  section{padding-block:44px}
  .elp-bandeau .elp-wrap span:first-child{display:none}
  .elp-hdr .elp-wrap{min-height:58px}
  .elp-mark b{font-size:20px}
  .elp-mark span{font-size:11px}
  .elp-cta-hdr{display:none}
  .elp-hero{padding-block:14px 30px}
  .elp-hero-g{grid-template-columns:1fr;grid-template-areas:"tete" "form" "cote";gap:8px}
  h1{font-size:clamp(26px,7.4vw,32px);margin-bottom:.3em}
  .elp-hero-t .elp-badge{margin-bottom:6px}
  .elp-form{padding:14px 14px 12px}
  .elp-form-t{font-size:19px}
  .elp-form-n{margin-bottom:8px}
  .elp-f{margin-bottom:9px}
  .elp-f-g{grid-template-columns:1fr}
  .elp-consent{margin-bottom:9px}
  .elp-btn{padding:12px 16px}
  .dsy-cal{grid-template-columns:1fr}
  .dsy-cal .dsy-feuille:first-child{display:none}
  .elp-steps,.elp-cards,.elp-trust,.elp-index,.elp-attentes{grid-template-columns:1fr}
  .elp-ft-cols{grid-template-columns:1fr}
  .elp-relance{padding:14px}
}

/* Bloc CSS minimal à coller dans theme.css du site — généré par gen_kit_components.py.
   elp est déjà substitué par le préfixe du site dans le fichier livré ; ce gabarit
   reste en clair ici pour qu'on sache ce qui a été injecté. */

/* --- en-tête (data-hdr) --- */
/* .elp-is-solid est ajoutée quand la page a défilé au-delà du seuil — l'état est
   TOUJOURS correct dès le premier rendu (les 3 variantes du générateur synchronisent
   immédiatement, jamais seulement au prochain scroll). Adapter le rendu visuel à la
   direction du site : */
[data-hdr] { transition: background-color .2s ease, box-shadow .2s ease; }
[data-hdr].elp-is-solid { /* ex. background:var(--paper); box-shadow:0 1px 0 var(--line); */ }

/* --- callbar mobile (data-mbar) --- */
:root { --elp-callbar-h: 64px; } /* repli no-JS, écrasé en direct par le générateur */
[data-mbar] { position: fixed; left: 0; right: 0; bottom: 0; z-index: 70; }
/* Exemple d'usage — à poser sur le bouton d'envoi du hero pour ne jamais être recouvert :
   .hero-submit { margin-bottom: var(--elp-callbar-h); } */

/* --- volet latéral (data-drawer) --- */
[data-drawer] {
  position: fixed; inset: 0 0 0 auto; width: min(468px, 100vw); z-index: 90;
  transform: translateX(101%); transition: transform .28s ease; overflow-y: auto;
}
[data-drawer].elp-is-open { transform: translateX(0); }
[data-drawer-scrim] {
  position: fixed; inset: 0; z-index: 85; opacity: 0; pointer-events: none;
  transition: opacity .22s ease; background: oklch(0.22 0.03 250 / .5);
}
/* :has() plutôt qu'une classe posée en plus par le JS sur le scrim — un point de moins à
   maintenir en cohérence entre script et CSS. */
body:has([data-drawer].elp-is-open) [data-drawer-scrim] { opacity: 1; pointer-events: auto; }

/* verrouillage du scroll body pendant que le volet est ouvert */
html.elp-scroll-locked { overflow: hidden; }
html.elp-scroll-locked body { position: fixed; left: 0; right: 0; width: 100%; }

/* --- simulateur (data-sim) --- */
[data-sim-result] { font-variant-numeric: tabular-nums; }
