/*
 * tap-feedback.css — el «te he oído» de un toque, sin el velo azul del sistema.
 *
 * ── El defecto, y por qué aparece AHORA ─────────────────────────────────────
 * Adán lo vio en su móvil pulsando «¿Prefiere que le llamemos?»: un velo AZUL del
 * sistema sobre el control. Medido: no existía un solo `-webkit-tap-highlight-color`
 * ni en el core ni en ningún tema, o sea que **lo hacía todo objetivo táctil del
 * producto**, desde siempre.
 *
 * Hasta hoy los objetivos táctiles eran botones rellenos de color, donde ese velo
 * translúcido es invisible. El primer control que es una FILA DE TEXTO sobre fondo
 * oscuro lo enseña. En una paleta negro/lima, el azul del sistema es un color
 * extranjero — y no es configurable: sale de los ajustes del teléfono.
 *
 * ── 🚨 Y NO se quita a secas: eso sería DEGRADAR ────────────────────────────
 * Ese resaltado es la única confirmación de «te he oído» en un móvil lento.
 * Quitarlo deja el control muerto los 100-300 ms que tarda en pasar algo, y el
 * usuario vuelve a pulsar. Se SUSTITUYE por un `:active` propio, que además llega
 * antes: el del sistema espera a descartar que sea un scroll.
 *
 * Canon: es lo que hacen Material (state layer con la paleta de la marca), las HIG
 * de Apple (respuesta inmediata al contacto) y Bootstrap (`:active` explícito).
 * Nadie deja el azul por defecto y nadie lo quita sin reponer nada.
 *
 * ── Por qué es del CORE y no del tema ───────────────────────────────────────
 * Es comportamiento ambiental de TODO objetivo táctil, misma familia que
 * `keyboard-safe-focus`. En el tema del vertical significaría que el siguiente
 * sitio nace con el azul. `contrato-base.md` §14.
 *
 * El tema ajusta la INTENSIDAD con `--tap-active-opacity`; el mecanismo no.
 */

/*
 * El velo del sistema se apaga sólo donde hay respuesta propia. Un `*` global lo
 * apagaría también en el texto seleccionable y en enlaces dentro de un párrafo,
 * donde el resaltado del sistema es lo único que hay y quitarlo sí sería degradar.
 */
a,
button,
summary,
label,
[role="button"],
[role="radio"],
[role="tab"],
input[type="submit"],
input[type="button"],
input[type="checkbox"],
input[type="radio"] {
    -webkit-tap-highlight-color: transparent;
}

/*
 * La respuesta propia: sólo mientras el dedo está encima, y sólo en punteros
 * GRUESOS. En ratón el `:hover` ya hace este trabajo y un parpadeo al hacer clic
 * sería ruido; `pointer: coarse` es la pregunta correcta —«¿es un dedo?»— y no
 * «¿es un móvil?», así que también cubre una pantalla táctil grande.
 */
@media (pointer: coarse) {
    a:active,
    button:active,
    summary:active,
    [role="button"]:active,
    [role="radio"]:active,
    [role="tab"]:active {
        opacity: var(--tap-active-opacity, 0.72);
    }
}

/*
 * Quien pide menos movimiento recibe LA MISMA confirmación: un cambio de opacidad
 * no es movimiento y es exactamente lo que WCAG 2.3.3 deja pasar. No se retira
 * nada aquí a propósito — retirarlo dejaría a esa persona sin respuesta al toque,
 * que es justo el defecto que esta hoja viene a cerrar.
 */
