/**
 * Accesibilidad y responsive base — puntos 12 y 13 del brief (WCAG 2.2 AA).
 * El resto de archivos ya aplican buena parte de esto (contraste de la paleta,
 * objetivos táctiles de 44px, no depender solo del color en stock...); aquí van las
 * reglas transversales que aplican a todo el sitio.
 */

/* Foco visible en todos los elementos interactivos (punto 13) — nunca se quita el
   contorno de foco, solo se rediseña para que combine con la marca. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
	outline: 3px solid var(--movido-color-marca);
	outline-offset: 2px;
}

/* Texto para lectores de pantalla (etiquetas de formularios sin texto visible) */
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.screen-reader-text:focus {
	position: static !important;
	width: auto;
	height: auto;
	margin: 0;
	clip: auto;
}

/* Evitar scroll horizontal accidental (punto 12) */
html, body {
	max-width: 100%;
	overflow-x: hidden;
}
img, video, svg {
	max-width: 100%;
	height: auto;
}

/* Objetivos táctiles mínimos de 44×44 px (punto 12) para cualquier control que no
   tenga ya su propio tamaño explícito definido en otro archivo. */
button,
a.movido-boton,
input[type="checkbox"],
input[type="radio"] {
	min-height: var(--movido-touch-target-min);
}
input[type="checkbox"],
input[type="radio"] {
	min-width: var(--movido-touch-target-min);
}

/* No usar carruseles automáticos en ningún punto del tema (punto 12): esta regla
   es documentación en forma de comentario, no CSS — recordatorio para quien añada
   contenido nuevo. Si Elementor u otro plugin añade un carrusel con autoplay,
   desactivar su autoplay es obligatorio antes de publicar (Fase 9). */

/* Mensajes de error de formularios: color + icono, nunca solo color (punto 13) */
.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
	border-left: 4px solid var(--movido-color-marca);
	padding: 12px 16px;
	border-radius: var(--movido-radio-control);
	background-color: var(--movido-color-fondo);
}
.woocommerce-error::before {
	content: "⚠ ";
}

/* Contraste: el gris de texto secundario (#5E6065) sobre blanco cálido (#F7F6F3)
   da un contraste de 5.85:1 — cumple AA para texto normal (mínimo 4.5:1) y AAA
   para texto grande. Verificado con la fórmula WCAG estándar; revisar de nuevo si
   se cambia cualquiera de los dos colores. */

/* Jerarquía de encabezados: nunca saltar de H1 a H3 directamente en ninguna
   plantilla de este tema (punto 13) — recordatorio para nuevas plantillas. */

@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;
	}
}
