/* ── ADAC Site Styles ─────────────────────────────────── */

.gradient-text {
	background: linear-gradient(135deg, #1e3a5f 0%, #0c1a2e 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.hero-grid {
	background-image: radial-gradient(circle at 1px 1px, rgba(30, 58, 95, 0.08) 1px, transparent 0);
	background-size: 40px 40px;
}

.code-block {
	background: #0f172a;
	border-radius: 0.5rem;
	padding: 1.5rem;
	overflow-x: auto;
}

/* Clear fixed nav bar when scrolling to anchor targets */
[id] {
	scroll-margin-top: 5rem;
}

/* ── Accessibility ───────────────────────────────────── */

/* Visible focus ring for keyboard navigation */
:focus-visible {
	outline: 2px solid #1e3a5f;
	outline-offset: 2px;
}

/* Respect reduced-motion preference */
@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;
	}
}

/* ── Spec Viewer — Back to Top ────────────────────────── */

.back-to-top {
	text-align: right;
	margin: 1.5rem 0 2.5rem;
	padding-top: 1rem;
	border-top: 1px solid #dbd4bb;
}

.back-to-top-link {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	font-size: 0.8125rem;
	font-weight: 500;
	color: #8a7d60;
	text-decoration: none;
	transition: color 0.15s;
}

.back-to-top-link:hover {
	color: #1e3a5f;
}

/* ── Validator — Tab hover ────────────────────────────── */

.tab-btn:hover {
	color: #1e3a5f;
	background-color: #f5f1e6;
}

/* ── Spec Viewer — Markdown Typography ────────────────── */

.spec-content h1,
.spec-content h2,
.spec-content h3,
.spec-content h4 {
	scroll-margin-top: 5rem; /* clear the fixed nav bar */
}

.spec-content h1 {
	font-size: 2.25rem;
	font-weight: 700;
	margin-top: 0;
	margin-bottom: 1rem;
	color: #050f1f;
	line-height: 1.2;
}

.spec-content h2 {
	font-size: 1.5rem;
	font-weight: 700;
	margin-top: 2.5rem;
	margin-bottom: 0.75rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid #dbd4bb;
	color: #050f1f;
}

.spec-content h3 {
	font-size: 1.25rem;
	font-weight: 600;
	margin-top: 2rem;
	margin-bottom: 0.5rem;
	color: #050f1f;
}

.spec-content h4 {
	font-size: 1.1rem;
	font-weight: 600;
	margin-top: 1.5rem;
	margin-bottom: 0.5rem;
	color: #0c1a2e;
}

.spec-content p {
	margin-bottom: 1rem;
	line-height: 1.75;
	color: #6b6045;
}

.spec-content a {
	color: #1e3a5f;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.spec-content a:hover {
	color: #152a45;
}

.spec-content ul,
.spec-content ol {
	margin-bottom: 1rem;
	padding-left: 1.5rem;
	color: #6b6045;
}

.spec-content ul {
	list-style-type: disc;
}

.spec-content ol {
	list-style-type: decimal;
}

.spec-content li {
	margin-bottom: 0.35rem;
	line-height: 1.65;
}

.spec-content li > ul,
.spec-content li > ol {
	margin-top: 0.35rem;
	margin-bottom: 0;
}

.spec-content code {
	font-family: 'JetBrains Mono', monospace;
	font-size: 0.85em;
	background: #ece8d3;
	padding: 0.15em 0.4em;
	border-radius: 0.25rem;
	color: #0c1a2e;
}

.spec-content pre {
	background: #050f1f;
	border-radius: 0.5rem;
	padding: 1.25rem;
	overflow-x: auto;
	margin-bottom: 1.5rem;
}

.spec-content pre code {
	background: none;
	padding: 0;
	color: #dbd4bb;
	font-size: 0.85rem;
	line-height: 1.6;
}

.spec-content blockquote {
	border-left: 4px solid #1e3a5f;
	padding: 0.75rem 1rem;
	margin: 1.5rem 0;
	background: #ece8d3;
	border-radius: 0 0.5rem 0.5rem 0;
	color: #6b6045;
}

.spec-content blockquote p:last-child {
	margin-bottom: 0;
}

.spec-content table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 1.5rem;
	font-size: 0.9rem;
}

.spec-content thead th {
	background: #ece8d3;
	font-weight: 600;
	text-align: left;
	padding: 0.6rem 0.75rem;
	border-bottom: 2px solid #dbd4bb;
	color: #050f1f;
}

.spec-content tbody td {
	padding: 0.6rem 0.75rem;
	border-bottom: 1px solid #dbd4bb;
	color: #6b6045;
}

.spec-content tbody tr:hover {
	background: #f5f1e6;
}

.spec-content hr {
	border: none;
	border-top: 1px solid #dbd4bb;
	margin: 2rem 0;
}

.spec-content strong {
	font-weight: 600;
	color: #050f1f;
}

.spec-content img {
	max-width: 100%;
	border-radius: 0.5rem;
	margin: 1rem 0;
}

