/**
 * Felix Theme — Accessibility.
 *
 * Reduced-motion, skip-link, and focus-state overrides.
 * Accessibility is mandatory (WCAG 2.2 AA).
 *
 * @package Felix_Theme
 */

/* -------------------------------------------------------------------------
   Skip link
   ------------------------------------------------------------------------- */

.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100000;
	background: var(--felix-color-primary);
	color: var(--felix-color-surface);
	padding: var(--felix-sp-xs) var(--felix-sp-s);
	border-radius: var(--felix-radius-md);
	text-decoration: none;
	font-weight: 600;
}

.skip-link:focus {
	left: var(--felix-sp-xs);
	top: var(--felix-sp-xs);
}

/* -------------------------------------------------------------------------
   Reduced motion (WCAG 2.2 — 2.3.3 Animation from Interactions)
   ------------------------------------------------------------------------- */

@media ( prefers-reduced-motion: reduce ) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}

	.felix-reveal {
		opacity: 1;
		transform: none;
	}
}

html {
	scroll-behavior: smooth;
}

/* -------------------------------------------------------------------------
   Reveal system (JS-enhanced, progressive)
   ------------------------------------------------------------------------- */

.felix-reveal {
	opacity: 0;
	transform: translateY(8px);
	transition: opacity var(--felix-motion-base) var(--felix-ease-out),
		transform var(--felix-motion-base) var(--felix-ease-out);
	will-change: opacity, transform;
}

.felix-reveal.is-visible {
	opacity: 1;
	transform: none;
}
