/* STX Bullseye — theme layer (Tailwind handles utilities). */

html {
	scroll-behavior: smooth;
}

body {
	min-height: 100vh;
	background-color: #020617;
	background-image:
		radial-gradient(ellipse 120% 80% at 50% -20%, rgba(14, 165, 233, 0.12), transparent 55%),
		radial-gradient(ellipse 80% 50% at 100% 50%, rgba(180, 83, 9, 0.06), transparent 50%),
		linear-gradient(180deg, #020617 0%, #0f172a 45%, #020617 100%);
}

.site-shell {
	min-height: 100vh;
}

.stx-skip-link {
	position: fixed;
	left: 1rem;
	top: 1rem;
	z-index: 10000;
	transform: translateY(-150%);
	border-radius: 0.5rem;
	background: #f59e0b;
	color: #020617;
	font-weight: 800;
	padding: 0.75rem 1rem;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}

.stx-skip-link:focus {
	transform: translateY(0);
	outline: 3px solid #38bdf8;
	outline-offset: 2px;
}

/* Screen reader mode: stronger focus, calmer motion */
html.stx-sr-mode *,
html.stx-sr-mode *::before,
html.stx-sr-mode *::after {
	animation-duration: 0.01ms !important;
	animation-iteration-count: 1 !important;
	transition-duration: 0.01ms !important;
}

html.stx-sr-mode :focus-visible {
	outline: 3px solid #38bdf8 !important;
	outline-offset: 3px !important;
}

html.stx-sr-mode .backdrop-blur-md {
	backdrop-filter: none;
}

.glass-card {
	background: rgba(15, 23, 42, 0.55);
	border: 1px solid rgba(71, 85, 105, 0.45);
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
	backdrop-filter: blur(10px);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.page-contact .glass-card:hover {
	border-color: rgba(245, 158, 11, 0.3);
}

body.page-contact #contact-form button[type='submit']:active {
	transform: scale(0.98);
}

.soft-ring {
	box-shadow:
		0 0 0 1px rgba(14, 165, 233, 0.12),
		0 8px 32px rgba(0, 0, 0, 0.35);
}

.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;
}

#age-gate.is-hidden {
	display: none !important;
}

/* FAQ page: open details accent (works alongside Tailwind open: utilities) */
body.page-faq details.glass-card[open] {
	background: linear-gradient(135deg, rgba(245, 158, 11, 0.08), rgba(15, 23, 42, 0.72));
}

body.page-faq details.glass-card summary::-webkit-details-marker {
	display: none;
}

/* Firearm transfers page: step number badges */
body.page-firearm-transfers .step-circle {
	transition: transform 0.2s ease;
}

body.page-firearm-transfers .group:hover .step-circle {
	transform: scale(1.08);
}

/* Services page: subtle lift on glass cards */
body.page-services .glass-card {
	transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

body.page-services .glass-card:hover {
	transform: translateY(-2px);
}

/* Home: horizontal category rail (retail-style top nav) */
body.home .stx-home-cat-rail {
	scrollbar-width: thin;
	scrollbar-color: rgba(245, 158, 11, 0.35) transparent;
	-webkit-overflow-scrolling: touch;
}

body.home .stx-home-cat-rail::-webkit-scrollbar {
	height: 6px;
}

body.home .stx-home-cat-rail::-webkit-scrollbar-thumb {
	background: rgba(245, 158, 11, 0.35);
	border-radius: 999px;
}

body.home .stx-home-promo-strip a:focus-visible {
	outline: 2px solid #0f172a;
	outline-offset: 2px;
}
