/*
 * Acessibilidade — correções globais de CSS/JS
 * Ficheiro: hello-elementor-child/functions.php  →  wp_enqueue_style('red-a11y', .../a11y.css)
 *
 * SC 2.4.7 Focus Visible / SC 2.4.11 Focus Not Obscured
 * SC 2.3.1 Three Flashes + respeito a prefers-reduced-motion
 * SC 2.5.8 Target Size (Minimum)
 */

/* ---------------------------------------------------------------
 * 1. Foco visível (substitui outline:none herdado de widgets)
 * --------------------------------------------------------------- */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 3px solid #e31523;
	outline-offset: 2px;
	border-radius: 2px;
}

/* Elementor Nav Menu: o tema esconde o foco em dropdowns */
.elementor-nav-menu .elementor-item:focus-visible,
.elementor-nav-menu a:focus-visible,
.elementor-menu-toggle:focus-visible {
	outline: 3px solid #e31523 !important;
	outline-offset: 2px;
}

/* Botão dos 3 pontos (menu de secundárias) — tinha outline:none */
.red-3dot-toggle:focus {
	outline: none; /* só para :focus, o :focus-visible abaixo mantém o indicador */
}
.red-3dot-toggle:focus-visible {
	outline: 3px solid #e31523;
	outline-offset: 3px;
}
/* SC 2.5.8 — alvo mínimo de 24x24 CSS px */
.red-3dot-toggle {
	min-width: 24px;
	min-height: 24px;
}

/* ---------------------------------------------------------------
 * 2. Skip link: garantir que fica visível quando focado
 * --------------------------------------------------------------- */
.ea11y-skip-to-content-link:focus,
.ea11y-skip-to-content-link:focus-visible {
	top: 8px !important;
	left: 8px !important;
	opacity: 1 !important;
	visibility: visible !important;
	z-index: 100000;
}

/* ---------------------------------------------------------------
 * 3. Movimento reduzido — Slider Revolution, motion-effects,
 *    page transition, animações CSS do Elementor (SC 2.3.3)
 * --------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
	.elementor-motion-effects-element,
	.elementor-motion-effects-layer,
	.e-con-full {
		transform: none !important;
		will-change: auto !important;
	}
	e-page-transition {
		display: none !important;
	}
}
