/* =============================================================================
   Estúdio FM — Camada de Acessibilidade & UX (Fase 3)
   Aditiva e conservadora: melhora foco de teclado, alvos de toque e movimento,
   SEM redesenhar o tema pai. Todas as regras são não-destrutivas por design.
   ============================================================================= */

/* -----------------------------------------------------------------------------
   1. Skip-link — pular para o conteúdo (injetado por ux-enhance.js)
----------------------------------------------------------------------------- */
.fm-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100000;
	padding: 12px 20px;
	background: #111;
	color: #fff;
	font-size: 14px;
	text-decoration: none;
	border-radius: 0 0 4px 0;
}
.fm-skip-link:focus {
	left: 0;
	outline: 3px solid #4a90d9;
	outline-offset: 2px;
}

/* -----------------------------------------------------------------------------
   2. Foco visível de teclado (WCAG 2.4.7)
   Só afeta navegação por teclado (:focus-visible), não o clique de mouse.
----------------------------------------------------------------------------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible,
.main-menu a:focus-visible,
.folioItem:focus-visible {
	outline: 3px solid #4a90d9 !important;
	outline-offset: 2px !important;
	border-radius: 2px;
}

/* Realce do card de portfólio ao focar via teclado */
.folioItem:focus-visible .folioTextHolder {
	opacity: 1;
	visibility: visible;
}

/* -----------------------------------------------------------------------------
   3. Alvos de toque (WCAG 2.5.5) — mínimo confortável em telas pequenas
----------------------------------------------------------------------------- */
@media (max-width: 768px) {
	#menu .main-menu a,
	.projectNav a,
	#close {
		min-height: 44px;
		min-width: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
}

/* -----------------------------------------------------------------------------
   4. Respeitar prefers-reduced-motion (WCAG 2.3.3)
   O tema usa GSAP/animações intensas; usuários que pediram menos movimento
   recebem transições curtas em vez de animações longas.
----------------------------------------------------------------------------- */
@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;
	}
}

/* -----------------------------------------------------------------------------
   5. Classe utilitária de leitor de tela (para rótulos ocultos visuais)
----------------------------------------------------------------------------- */
.fm-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
