/**
 * Accessibility — focus, skip link, reduced motion
 */

/* Skip link: visible on keyboard focus */
.hwx-skip-link {
	position: fixed;
	left: 1rem;
	top: 1rem;
	z-index: 100000;
	padding: 0.6rem 1rem;
	background: #0f172a;
	color: #fff !important;
	text-decoration: none;
	font-weight: 600;
	font-size: 0.875rem;
	border-radius: 6px;
	border: 2px solid #fff;
	transform: translateY(-200%);
	transition: transform 0.2s ease;
}

.hwx-skip-link:focus {
	transform: translateY(0);
	outline: 3px solid #c47a1a;
	outline-offset: 2px;
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	word-wrap: normal !important;
}

.hwx-skip-link.screen-reader-text:focus {
	clip: auto !important;
	clip-path: none;
	height: auto;
	width: auto;
	margin: 0;
	overflow: visible;
	position: fixed !important;
}

/* Focus visible — don’t remove outlines globally */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible {
	outline: 3px solid #c47a1a;
	outline-offset: 2px;
}

@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;
	}
}
