/* One persistent, keyboard-operable language switch for every public page. */
.header-inner{column-gap:16px;row-gap:8px}
#primary-nav{margin-left:auto}
.site-header nav ul{gap:4px}
.site-header nav a:not(.button){padding-inline:14px}
.language-control{display:flex;align-items:center;gap:10px;flex-shrink:0;font:500 14px/22px var(--font-ui);color:var(--brand)}
.language-control label{position:relative;display:inline-flex;align-items:center;gap:8px;cursor:pointer;min-height:44px}
.language-control input{position:absolute;width:46px;height:28px;margin:0;opacity:0;cursor:pointer}
.language-track{position:relative;display:inline-block;width:46px;height:28px;flex-shrink:0;border:1.5px solid var(--brand);border-radius:16px;background:var(--surface)}
.language-track:after{content:'';position:absolute;width:18px;height:18px;top:3.5px;left:4px;border-radius:50%;background:var(--brand);transition:transform .15s ease-out}
.language-control input:checked+.language-track{background:var(--brand)}
.language-control input:checked+.language-track:after{background:var(--surface);transform:translateX(18px)}
.language-control input:focus-visible+.language-track{outline:3px solid var(--brand);outline-offset:4px}
.language-control input:focus-visible{outline:none}
.official-links{width:100%;padding-top:8px}
.official-links ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 32px}
.official-links a{display:inline-block;padding-block:10px;font:500 16px/25px var(--font-ui);text-underline-offset:5px}
html[lang='es'] .button{overflow-wrap:normal}
@media(max-width:1150px){
 .menu-toggle{display:inline-flex;order:1;margin-left:auto}
 .site-header nav{display:none;width:100%;order:3;margin-left:0}
 .site-header nav.is-open{display:block}
 .site-header nav ul{flex-direction:column;align-items:stretch;padding-top:16px;gap:4px}
 .site-header nav a:not(.button){padding:12px 0}
 .site-header nav .button{width:100%}
 .header-inner{flex-wrap:wrap}
 .language-control{order:2}
 .identity{order:0}
}
@media(max-width:700px){
 .language-control{width:100%;justify-content:flex-end;min-height:40px}
 .official-links ul{grid-template-columns:1fr;gap:2px}
 .official-links a{padding-block:12px;min-height:48px}
 html[lang='es'] .initiative-bar nav>ul>li:nth-child(1)>a{width:90px;padding-inline:10px;font-size:15px}
 html[lang='es'] .initiative-bar nav>ul>li:nth-child(2)>a{width:94px;padding-inline:10px;font-size:15px}
 html[lang='es'] .initiative-bar nav>ul>li:nth-child(3)>a{width:82px;padding-inline:10px;font-size:15px}
 html[lang='es'] .initiative-identity>a{overflow-wrap:normal}
}
@media(max-width:370px){
 html[lang='es'] .identity{font-size:17px;line-height:25px}
 html[lang='es'] .initiative-bar nav>ul>li:nth-child(-n+3)>a{width:auto;padding:12px 4px;font-size:15px}
 .header-inner{column-gap:12px}
}
@media(prefers-reduced-motion:reduce){.language-track:after{transition:none}}
@media print{.language-control{display:none}.official-links{display:block}}

/* Spanish labels retain whole words and comfortable action widths. */
@media(min-width:701px){
 html[lang='es'] body[data-route='/'] .page-intro .button:nth-child(1){--action-width:240px}
 html[lang='es'] body[data-route='/'] .page-intro .button:nth-child(2){--action-width:320px}
 html[lang='es'] body[data-route='/renewal/'] .page-intro .button:nth-child(1){--action-width:300px}
 html[lang='es'] body[data-route='/renewal/'] .page-intro .button:nth-child(2){--action-width:320px}
}
@media(max-width:1150px){.menu-toggle{padding-inline:12px}}
/* The decorative track never blocks the native switch's pointer target. */
.language-track{pointer-events:none}
