/* css/style.css : variables, thèmes (sombre, contraste, daltonien), base et accessibilité.
   Palette et typographie reprises du portail ERTS d'origine (Tailwind), recréées ici en CSS interne. */
:root{--bg:#f6f5f0;--card:#fff;--ink:#2b2d42;--muted:#4b5563;--line:#eae7dc;--line2:#f1efe7;
--c50:#fdfdfb;--c100:#f9f8f3;--c200:#f6f5f0;--c300:#eae7dc;
--g50:#f0f7f3;--g100:#dcece1;--g200:#bfdccb;--g600:#2a6349;--g700:#1d4332;--g800:#173628;--g900:#0f251c;
--head:#0f251c;--link:#173628;--btn:#173628;--btnh:#0f251c;--btnt:#fff;--gold:#d97706;--gold6:#b45309;--ring:#2a6349;
--glass:rgba(255,255,255,.92);--sh:0 1px 2px rgba(0,0,0,.05),0 1px 3px rgba(0,0,0,.08);--sh2:0 20px 40px rgba(0,0,0,.22);
--serif:"Playfair Display",Georgia,"Times New Roman",serif;--sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.dark{--bg:#0e1a15;--card:#162620;--ink:#eceae0;--muted:#b9c2bc;--line:#2d3f37;--line2:#223229;--c50:#12211b;--c100:#1b2e26;--c200:#1b2e26;--c300:#2d3f37;
--g50:#1a2e25;--g100:#244034;--g200:#2f5443;--head:#d9f3e5;--link:#9be0bd;--btn:#2a6349;--btnh:#347a5a;--ring:#9be0bd;--glass:rgba(22,38,32,.94)}
.contrast{--bg:#fff;--card:#fff;--ink:#000;--muted:#000;--line:#000;--line2:#000;--c50:#fff;--c100:#fff;--c200:#fff;--c300:#000;
--g50:#fff;--g100:#fff;--g200:#000;--head:#000;--link:#00361f;--btn:#000;--btnh:#222;--gold6:#7a3b00;--glass:#fff}
.contrast.dark{--bg:#000;--card:#000;--ink:#fff;--muted:#fff;--line:#fff;--line2:#fff;--c50:#000;--c100:#000;--c200:#000;--c300:#fff;
--g50:#000;--g100:#000;--g200:#fff;--head:#fff;--link:#9dffc9;--btn:#fff;--btnh:#ddd;--btnt:#000;--glass:#000}
.cb{--gold:#0b5cad;--gold6:#0b5cad}.dark.cb{--gold:#7cc0ff;--gold6:#7cc0ff}
*,*::before,*::after{box-sizing:border-box}
html{font-size:100%;scroll-behavior:smooth}html.s1{font-size:118%}html.s2{font-size:136%}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;font:400 .9375rem/1.55 var(--sans);background:var(--bg);color:var(--ink)}
body.lines{line-height:2}
body.big button,body.big .pill,body.big .btn,body.big input,body.big select{min-height:56px}
a{color:var(--link)}
h1,h2,h3,h4,p,ul{margin-top:0}
img{max-width:100%}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--ring);outline-offset:2px}
.skip{position:absolute;left:-9999px}.skip:focus{left:0;top:0;background:#fff;color:#000;padding:.5rem;z-index:99}
.wrap{max-width:80rem;margin:0 auto;padding:0 1rem}
@media(min-width:640px){.wrap{padding:0 1.5rem}}@media(min-width:1024px){.wrap{padding:0 2rem}}
/* formulaires et boutons de base (utilisés aussi par l'administration) */
button,.btn{min-height:44px;padding:.5rem 1rem;border-radius:.75rem;border:2px solid var(--btn);background:var(--btn);color:var(--btnt);font:inherit;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}
button:hover,.btn:hover{background:var(--btnh);border-color:var(--btnh)}
button.alt,.btn.alt{background:transparent;color:var(--link)}button.alt:hover{background:var(--g50)}
button:disabled{opacity:.55;cursor:not-allowed}
input,select,textarea{font:inherit;padding:.55rem .75rem;border:1px solid var(--line);border-radius:.75rem;width:100%;min-height:44px;background:var(--card);color:var(--ink)}
input[type=checkbox]{width:auto;min-height:0}
label{display:block;margin:.7rem 0 .25rem;font-weight:600}
.hp{position:absolute;left:-9999px}
table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid var(--line);padding:.5rem;text-align:left}
.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr))}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
