/* A touch-friendly language control, separate from the collapsed navigation. */
.utility-bar .language-switch, .language-switch { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 2px; margin-left: auto; padding: 3px; border: 1px solid #b8923b80; border-radius: 7px; background: #090a0c; }
.language-switch button { min-height: 44px; padding: 0 12px; border: 0; border-radius: 4px; background: transparent; color: #f7f3e9; font-size: .75rem; font-weight: 700; cursor: pointer; }
.language-switch button[aria-pressed="true"] { background: #d2b467; color: #090a0c; }
.language-switch button:hover { box-shadow: inset 0 0 0 1px #d2b467; }
.language-switch button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.language-switch button:disabled { opacity: .6; cursor: wait; }
.language-status:empty { display: none; }
.language-status:not(:empty) { position: fixed; top: 8px; left: 16px; right: 16px; z-index: 101; margin: 0; padding: 16px; border: 1px solid #d2b467; border-radius: 6px; background: #090a0c; color: white; font-size: .85rem; }
.utility-bar { gap: 1rem; }
@media (max-width: 680px) {
  .utility-bar { justify-content: flex-end; padding-block: 3px; }
  .utility-bar > p:not(.language-status) { display: none; }
  .utility-bar .language-switch { margin-left: auto; }
  .language-switch button { min-width: 72px; }
  html[lang="es"] .site-nav a { font-size: 1.2rem; }
  html[lang="es"] .hero h1 { font-size: clamp(2rem, 9vw, 3.4rem); }
}
