/* Tema Oliver · a11y.css — accesibilidad, enlaces en azul corporativo, botones con contorno y menú superior (líneas 358–410 de la maqueta, sin cambios). */
/* Accesibilidad */
.skip{position:absolute;left:16px;top:-100px;z-index:300;background:var(--navy);color:#fff;padding:12px 18px;border-radius:999px;font-weight:600;text-decoration:none}
.skip:focus{top:calc(12px + env(safe-area-inset-top,0px))}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
footer ul{gap:0!important}
footer ul a{display:inline-flex;align-items:center;min-height:44px}
.foot-bottom nav a{display:inline-flex;align-items:center;min-height:44px}
.grid-toggle{min-height:44px}
.marquee-ctrl{display:flex;justify-content:flex-end;padding-block:12px 0}
.marquee-ctrl button{min-height:44px;font:600 .88rem var(--sans);padding:10px 18px;border-radius:999px;border:1px solid var(--field);background:var(--paper);color:var(--ink);cursor:pointer}
.marquee li.txt{opacity:1}
.req{font-weight:500;color:var(--muted)}
.err{color:var(--err);font-size:.88rem;font-weight:600}
[aria-invalid="true"]{border-color:var(--err);border-width:2px}
.form-ok:empty{display:none}
footer .pend{color:var(--band-muted)!important}
.form-note{font-size:.9rem;color:var(--muted)}
.transcript{border-top:1px solid var(--line);padding-top:12px}
.transcript summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:600}
[role="tabpanel"]:focus-visible{outline-offset:8px}

/* Enlaces y elementos clicables (no botones) en azul corporativo */
a:not(.btn):not(.card-link):not(.brand):not(.skip){color:var(--link)}
.card-link .more{color:var(--link)}
p a,dd a,figcaption a,td a{text-decoration:none;font-weight:600}
.hero p a,.band.dark p a,footer p a,.highlight p a,.col-box.in p a{text-decoration:underline;text-underline-offset:3px}
.nav a,.subnav a,footer ul a,.foot-bottom nav a,.nav a:hover,.subnav a:hover,footer ul a:hover,.foot-bottom nav a:hover{text-decoration:none}
.nav a[aria-current="page"]{color:var(--link);background:var(--surface)}
.subnav a{border-color:var(--field)}
.case-tabs button[aria-selected="false"]{color:var(--link);border-color:var(--field)}
.radios{flex-direction:column;align-items:flex-start;flex-wrap:nowrap}

/* Botones con contorno sobre fondo claro: contorno y texto navy; seleccionado relleno navy */
:root{--outline:#0B1423;--outline-text:#0B1423}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--outline:#66778A;--outline-text:#3EC4EE}}
:root[data-theme="dark"]{--outline:#66778A;--outline-text:#3EC4EE}
.case-tabs button[aria-selected="true"]{background:#0B1423;color:#FFFFFF;border-color:#0B1423}
.case-tabs button[aria-selected="false"],.subnav a,.radios label,.radios label:has(input:checked),.marquee-ctrl button,.menu-btn,.grid-toggle{border-color:var(--outline);border-width:1.5px;border-style:solid}
.case-tabs button[aria-selected="false"],.subnav .wrap a:not(.btn):not(.card-link):not(.brand):not(.skip),.radios label,.marquee-ctrl button,.menu-btn,.grid-toggle{color:var(--outline-text)}
.subnav .wrap a:not(.btn):not(.card-link):not(.brand):not(.skip):hover{background:var(--surface)}
.radios input{accent-color:var(--outline-text)}

/* Menú superior con el mismo estilo de botón con contorno navy; página actual rellena */
:root{--sel-bg:#0B1423;--sel-fg:#FFFFFF}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--sel-bg:#3EC4EE;--sel-fg:#0B1423}}
:root[data-theme="dark"]{--sel-bg:#3EC4EE;--sel-fg:#0B1423}
.case-tabs button[aria-selected="true"]{background:var(--sel-bg);color:var(--sel-fg);border-color:var(--sel-bg)}
.nav{gap:8px}
.top .nav a:not(.btn):not(.card-link):not(.brand):not(.skip){color:var(--outline-text);border:1.5px solid transparent;border-radius:var(--r-pill);padding:8px 16px;background:transparent}
.top .nav a:not(.btn):not(.card-link):not(.brand):not(.skip):hover{background:var(--surface)}
.top .nav a[aria-current="page"]:not(.btn):not(.card-link):not(.brand):not(.skip){background:var(--sel-bg);color:var(--sel-fg);border-color:var(--sel-bg)}
.top .nav a[aria-current="page"]:not(.btn):not(.card-link):not(.brand):not(.skip):hover{background:var(--sel-bg)}
@media(max-width:1000px){.nav{gap:8px}.top .nav a:not(.btn){justify-content:flex-start}}
