/*
 * Autos Esquivel · Mobile interaction contract
 *
 * Evita el zoom automático de Safari/iOS al enfocar controles editables.
 * Safari suele ampliar la página cuando el tamaño efectivo del texto es menor
 * de 16px. El selector incluye también <input> sin atributo type (que por HTML
 * se comporta como type="text"), caso que antes quedaba fuera.
 *
 * No se bloquea el pinch-to-zoom: el usuario conserva el zoom manual.
 */

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

@media (max-width: 1024px), (hover: none) and (pointer: coarse) {
    /*
     * Piso tipográfico para cualquier control que acepte texto/valor.
     * Excluimos controles no editables para no alterar checkboxes, sliders,
     * uploads ni botones.
     */
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]),
    select,
    textarea,
    [contenteditable]:not([contenteditable="false"]) {
        font-size: 16px !important;
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }

    /*
     * Evita el zoom por doble toque en elementos interactivos sin deshabilitar
     * el gesto de pellizcar para ampliar la página.
     */
    a[href],
    button,
    summary,
    [role="button"],
    [role="tab"],
    label[for],
    input,
    select,
    textarea,
    [contenteditable]:not([contenteditable="false"]) {
        touch-action: manipulation;
    }
}
