/* Kit IA de l'indépendant — direction visuelle « Swiss moderne » (Linear / Stripe) :
   sans-serif géométrique, beaucoup d'air, un seul accent bleu électrique.
   Contrastes WCAG AA vérifiés : #2456D6 sur blanc 5.9:1 · #93B4FF sur #0D0F14 8.1:1. */
:root{
  --accent:#2456D6; --accent-txt:#FFFFFF; --succes:#15803D; --danger:#B91C1C; --attention:#B45309;
  --surface:#FFFFFF; --surface2:#F6F7FB; --encart:#EEF3FF;
  --bord:#E4E7EE; --bord-fort:#C7CCD8;
  --texte:#0F172A; --texte2:#475569; --texte3:#64748B;
  --t13:13px; --t14:14px; --t16:16px; --t18:18px; --t20:20px; --t24:24px; --t32:32px; --t40:40px;
  --e8:8px; --e16:16px; --e24:24px; --e32:32px; --e48:48px; --e64:64px;
  --r:12px; --r-sm:8px;
  --sans:"Manrope","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark){
  :root{
    --accent:#93B4FF; --accent-txt:#0D0F14; --succes:#4ADE80; --danger:#F87171; --attention:#FBBF24;
    --surface:#0D0F14; --surface2:#141821; --encart:#151C2E;
    --bord:#262B36; --bord-fort:#3A4150;
    --texte:#F1F5F9; --texte2:#A7B0C0; --texte3:#8791A3;
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--surface);color:var(--texte);font-family:var(--sans);font-size:var(--t18);line-height:1.6;
  padding-bottom:calc(88px + env(safe-area-inset-bottom))}
[hidden]{display:none !important}
.mt0{margin-top:0}.mt16{margin-top:var(--e16)}
main{max-width:40rem;margin:0 auto;padding:var(--e24) var(--e16)}
a{color:var(--accent)}
h1{font-size:var(--t32);line-height:1.15;letter-spacing:-.02em;margin:var(--e16) 0 var(--e16);font-weight:800}
@media (min-width:600px){h1{font-size:var(--t40)}}
h2{font-size:var(--t24);line-height:1.25;letter-spacing:-.01em;margin:var(--e48) 0 var(--e16);font-weight:800}
h3{font-size:var(--t18);margin:var(--e24) 0 var(--e8);font-weight:700}
p{margin:0 0 var(--e16)}
.sur{color:var(--accent);font-weight:700;font-size:var(--t14);letter-spacing:.06em;text-transform:uppercase;margin:0}
.chapeau{font-size:var(--t20);color:var(--texte2);margin-bottom:var(--e24)}
.petit{font-size:var(--t14);color:var(--texte3)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--e8);min-height:48px;padding:12px 20px;
  border-radius:var(--r-sm);border:1px solid transparent;font:inherit;font-weight:700;font-size:var(--t16);cursor:pointer;text-decoration:none}
.btn-primaire{background:var(--accent);color:var(--accent-txt)}
.btn-secondaire{background:transparent;color:var(--texte);border-color:var(--bord-fort)}
.btn:focus-visible,input:focus-visible,select:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.btn[disabled]{opacity:.6;cursor:wait}
.carte{background:var(--surface2);border:1px solid var(--bord);border-radius:var(--r);padding:var(--e24);margin:var(--e24) 0}
.encart{background:var(--encart);border-radius:var(--r);padding:var(--e24);margin:var(--e24) 0}
.liste{padding-left:0;list-style:none;margin:0}
.liste li{position:relative;padding-left:28px;margin-bottom:var(--e8)}
.liste li::before{content:"";position:absolute;left:0;top:.55em;width:16px;height:16px;border-radius:50%;background:var(--accent);opacity:.9}
.liste li strong{display:block}
.prix{display:flex;align-items:baseline;gap:var(--e8);margin:var(--e8) 0}
.prix .maintenant{font-size:var(--t40);font-weight:800;letter-spacing:-.02em}
.prix .avant{color:var(--texte3);text-decoration:line-through;font-size:var(--t20)}
.modules{counter-reset:m;padding:0;margin:0;list-style:none}
.modules li{display:grid;grid-template-columns:44px 1fr;gap:var(--e16);padding:var(--e16) 0;border-top:1px solid var(--bord)}
.modules li:last-child{border-bottom:1px solid var(--bord)}
.modules .n{counter-increment:m;width:44px;height:44px;border-radius:50%;background:var(--encart);color:var(--accent);
  font-weight:800;display:flex;align-items:center;justify-content:center}
.modules .n::before{content:counter(m)}
.modules strong{display:block}
.modules .tag{display:inline-block;font-size:var(--t13);font-weight:700;color:var(--succes);margin-left:var(--e8)}
.faq details{border-top:1px solid var(--bord);padding:var(--e8) 0}
.faq summary{min-height:44px;display:flex;align-items:center;font-weight:700;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";margin-left:auto;font-size:var(--t24);color:var(--accent)}
.faq details[open] summary::after{content:"–"}
label{display:block;font-size:var(--t14);font-weight:700;color:var(--texte2);margin:var(--e16) 0 var(--e8)}
input,select{width:100%;min-height:48px;padding:10px 12px;font:inherit;font-size:var(--t16);color:var(--texte);
  background:var(--surface);border:1px solid var(--bord-fort);border-radius:var(--r-sm)}
.aide{font-size:var(--t14);color:var(--texte3);margin-top:var(--e8)}
#resultat{margin-top:var(--e16);padding:var(--e16);border-radius:var(--r-sm);border:1px solid var(--bord)}
#resultat.ok{border-color:var(--succes)} #resultat.attente{border-color:var(--attention)} #resultat.erreur{border-color:var(--danger)}
#resultat h2{margin:0 0 var(--e8);font-size:var(--t20)}
.code{display:block;font-family:var(--mono);font-size:var(--t20);letter-spacing:.06em;padding:var(--e16);margin:var(--e16) 0;
  background:var(--surface2);border:1px dashed var(--bord-fort);border-radius:var(--r-sm);text-align:center;user-select:all;-webkit-user-select:all}
.barre{position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--bord);
  padding:12px var(--e16) calc(12px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:var(--e16);z-index:5}
.barre .prix-mini{font-weight:800;font-size:var(--t20);white-space:nowrap}
.barre .btn{flex:1}
footer{margin:var(--e64) 0 var(--e24);font-size:var(--t14);color:var(--texte3)}
footer a{color:inherit}
footer a,.petit a,.sur a{display:inline-flex;align-items:center;min-height:44px}
/* ── Lecteur ─────────────────────────────────────────────────────────── */
.sommaire{padding:0;margin:0;list-style:none;display:flex;flex-direction:column;gap:2px}
.sommaire a{display:flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:var(--r-sm);color:var(--texte);text-decoration:none;font-weight:600}
.sommaire a.actif,.sommaire a:hover{background:var(--encart);color:var(--accent)}
.sommaire .verrou{margin-left:auto;font-size:var(--t13);color:var(--texte3);font-weight:600}
.module{padding-top:var(--e16)}
.module h2{margin-top:var(--e24)}
.module p.promesse{font-size:var(--t20);color:var(--texte2);border-left:4px solid var(--accent);padding-left:var(--e16)}
.module pre.consigne{position:relative;white-space:pre-wrap;word-break:break-word;font-family:var(--mono);font-size:15px;line-height:1.5;
  background:var(--surface2);border:1px solid var(--bord);border-radius:var(--r-sm);padding:var(--e16);padding-top:64px;margin:var(--e8) 0 var(--e16)}
.module pre.consigne .copier{position:absolute;top:8px;right:8px;min-height:44px;min-width:88px;padding:6px 12px;border-radius:6px;border:1px solid var(--bord-fort);
  background:var(--surface);color:var(--texte);font:inherit;font-family:var(--sans);font-size:var(--t14);font-weight:700;cursor:pointer}
.module .exemple{background:var(--encart);border-radius:var(--r-sm);padding:var(--e16);margin:0 0 var(--e24);font-size:var(--t16);white-space:pre-line}
.module .exemple::before{content:"Exemple de résultat";display:block;font-size:var(--t13);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--e8)}
.module .attention{border:1px solid var(--attention);border-radius:var(--r-sm);padding:var(--e16);margin:var(--e24) 0}
.module .attention::before{content:"Les pièges";display:block;font-weight:800;color:var(--attention);margin-bottom:var(--e8)}
.module .check{background:var(--surface2);border-radius:var(--r-sm);padding:var(--e16);margin:var(--e24) 0;font-size:var(--t16)}
.module .check::before{content:"À cocher avant de passer au module suivant";display:block;font-weight:800;margin-bottom:var(--e8)}
.module table{border-collapse:collapse;width:100%;font-size:var(--t16);margin:var(--e16) 0}
.module td,.module th{border:1px solid var(--bord);padding:8px;text-align:left;vertical-align:top}
.nav-modules{display:flex;gap:var(--e16);margin:var(--e32) 0}
.nav-modules .btn{flex:1}
.verrouille{text-align:center}
