/* Accesibilidad global: foco visible y movimiento reducido.
   !important deliberado: es un piso, pisa los `outline:none` heredados. */
:focus-visible {
    outline: 3px solid var(--focus-ring, #1f785c) !important;
    outline-offset: 2px !important;
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* Areas de toque de 44px: ampliar sin mover el layout */
.footer-toggle-btn::before,
.help-close-btn::before {
    content: '';
    position: absolute;
    inset: -14px -6px;
}
.help-close-btn { position: relative; }
.welcome-tab-btn,
.btn-audio-instrucciones,
.btn-primary { min-height: 44px; }

/* iOS Safari hace zoom automatico al enfocar un campo con fuente < 16px y el zoom
   queda pegado. Con 16px no hay auto-zoom, asi se puede permitir el zoom del usuario. */
@supports (-webkit-touch-callout: none) {
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]),
    select,
    textarea {
        font-size: 16px !important;
    }
}
