/* V8 : identité V7 conservée, lisibilité, clavier et adaptation des composants. */
:root{--text-muted:#5a6577;--accent2:#226e9f}
[data-theme="dark"]{--text-dim:#b8c4d4;--text-muted:#b8c4d4;--accent2:#85c1e9}
[hidden]{display:none!important}button,input,select{font:inherit}button{cursor:pointer}a{color:var(--accent2);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}button:disabled{cursor:default;opacity:.55}
:focus-visible{outline:3px solid #b75a00!important;outline-offset:4px!important}[data-theme="dark"] :focus-visible{outline-color:#ffcc70!important}
.skip-link{position:fixed;left:12px;top:-100px;z-index:11000;background:#fff;color:#15344c;padding:12px 16px;border:2px solid #15344c;border-radius:8px}.skip-link:focus{top:8px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.nav-logo,.hero h1 .hl,footer a,.cookie-text a{color:#85c1e9}.nav-links a,.mobile-menu a,.hero p,.hero-tags span{color:#ccd6e5}.theme-btn,.burger{min-width:44px;min-height:44px}.nav-logo{white-space:nowrap}.mobile-menu{max-height:calc(100dvh - 60px);overflow-y:auto;overscroll-behavior:contain}.nav-links a{padding:10px}
.container.section{padding:32px 20px}.tab{font-family:inherit;min-width:0}.tab.active{background:#226e9f;color:#fff;border-color:#226e9f}[data-theme="dark"] .tab.active{background:#85c1e9;color:#0f172a;border-color:#85c1e9}
.calc-grid>*{min-width:0}.result-box{overflow-wrap:anywhere}.result-box .rb-label,.result-box .rb-sub,.result-box .rd-n{color:#cbd5e1}.result-box .rb-amount,.result-box .rd-v{color:#fff}.rd-item{gap:14px}.rd-v{text-align:right;overflow-wrap:anywhere}.btn-calc{background:#226e9f;color:#fff}.form-error{color:#9f2418;margin-top:12px;min-height:1.7em;font-size:.86rem}[data-theme="dark"] .form-error{color:#ffaaa1}.field-hint,.calc-note{font-size:.84rem;line-height:1.6;color:var(--text-dim)}.calc-note{margin-top:18px}.field input[aria-invalid=true]{border-color:#b83224}.check-label{display:flex!important;gap:10px;align-items:flex-start}.check-label input[type=checkbox]{width:20px!important;height:20px;flex:0 0 20px;margin-top:3px;accent-color:#226e9f}.region-card{font-family:inherit;color:var(--text);min-width:0}.region-card span{display:block}.region-card .rc-rate{font-size:.75rem}
.schedule{margin-top:22px;padding:18px;background:var(--card);border:1px solid var(--border);border-radius:14px}.schedule summary{cursor:pointer;font-weight:700;padding:8px}.schedule p{margin:10px 0;color:var(--text-dim)}.table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;margin:16px 0}.schedule .table-scroll{max-height:440px}.table-scroll table{min-width:480px;margin:0}table{width:100%;border-collapse:collapse;font-size:.86rem}caption{text-align:left;font-weight:700;margin:8px 0;color:var(--text)}th,td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left}th{background:var(--bg2);color:var(--text);font-weight:700}.schedule thead{position:sticky;top:0}
.btn-secondary,.btn-primary,.dialog-actions button{display:inline-block;padding:10px 16px;border:1px solid var(--accent2);border-radius:8px;background:var(--card);color:var(--text);text-decoration:none;font-size:.9rem;font-weight:600}.schedule>.btn-secondary{margin-top:12px}
.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.guide-card{display:block;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px;font-weight:600;text-decoration:none;font-size:.9rem}.guide-card:hover{border-color:var(--accent2)}
article dl{margin:18px 0}article dt{font-weight:700;margin-top:14px}article dd{color:var(--text-dim);margin:4px 0 12px}article p,article li{overflow-wrap:anywhere}.sources{border-top:1px solid var(--border);margin-top:28px;padding-top:4px}.sources p,.sources li{font-size:.84rem}.sources h2{font-size:1.1rem}.breadcrumb{font-size:.82rem}.cta h2{color:#fff!important;margin:0 0 10px}.cta p{color:#cbd5e1!important}.cta a{background:#226e9f!important;color:#fff!important}
footer{color:#cbd5e1;font-size:.82rem}.footer-brand{font-size:1rem;font-weight:700;color:#fff}.footer-links{display:flex;justify-content:center;gap:12px 20px;flex-wrap:wrap;margin:18px auto;max-width:800px}.footer-links a,.footer-links button{padding:6px 0}.footer-links button{border:0;background:none;color:#85c1e9;text-decoration:underline;font-size:inherit}
.cookie-banner{display:block;position:fixed;bottom:0;max-height:55dvh;overflow:auto;padding:16px 20px}.cookie-text{min-width:0;flex-basis:320px;color:#e2e8f0}.cookie-text p{margin-top:5px}.cookie-btns{display:flex;flex-wrap:wrap;flex-shrink:1}.cookie-btn{background:#22364d;border:1px solid #b9c8db;color:#fff;min-height:44px;padding:10px 16px}.cookie-btn:hover{background:#314c69}.cookie-inner{flex-wrap:wrap}.cookie-modal{position:fixed;inset:0;margin:auto;width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;background:var(--card);color:var(--text);padding:26px;border:1px solid var(--border);border-radius:14px;z-index:10001}.cookie-modal::backdrop{background:rgba(0,0,0,.65)}.cookie-modal h2{font-size:1.25rem;margin-bottom:16px}.cookie-modal p{margin:14px 0;font-size:.9rem;color:var(--text-dim)}.dialog-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
@media(max-width:800px){.nav-links{display:none}.burger{display:flex}}
@media(max-width:600px){.nav-inner{padding:0 12px}.nav-logo{font-size:.8rem}.nav-right{gap:0}.hero{padding:34px 20px}.container.section{padding:26px 16px}.panel{padding:20px}.tabs{gap:6px}.tab{padding:10px 6px;font-size:.76rem}.guide-grid{grid-template-columns:1fr}.cookie-btns{width:100%}.cookie-btn{flex:1;padding:10px 8px}.cookie-modal{padding:20px}.rd-item{flex-wrap:wrap}.rb-amount{font-size:clamp(1.6rem,7vw,2.5rem)!important}.hero h1{letter-spacing:-.5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

html{scroll-padding-top:75px;scroll-padding-bottom:calc(var(--cookie-space,0px) + 20px)}body{padding-bottom:var(--cookie-space,0px)}
