/* ===================================
   BASE TÁCTIL COMPARTIDA
   Tablets, celulares y portátiles (con o sin pantalla táctil)
   =================================== */

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

/* Sin retraso de 300 ms ni zoom por doble toque; sin destello gris al tocar */
body,
a,
button,
select,
input,
textarea,
label,
[role="button"] {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

/* Tamaño mínimo de toque recomendado (44 px) */
button,
.btn,
select,
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) {
    min-height: 44px;
}

/* En pantallas táctiles, iOS hace zoom al enfocar campos con texto menor a 16 px */
@media (pointer: coarse) {
    input,
    select,
    textarea,
    .form-control,
    .form-select {
        font-size: max(16px, 1em) !important;
    }
}

/* Foco visible solo con teclado (no al tocar) */
:focus {
    outline: none;
}

:focus-visible {
    outline: 3px solid #4dabf7;
    outline-offset: 2px;
}

/* Respeta la preferencia de "reducir movimiento" del sistema */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Ventanas de SweetAlert2 cómodas en pantallas pequeñas */
.swal2-popup {
    max-width: calc(100vw - 24px);
}

.swal2-actions button {
    min-height: 48px;
    min-width: 110px;
    font-size: 1rem !important;
}
