/* ─────────────────────────────────────────────────────────────────
 *  Falcon Vision — Main
 *
 *  Final cascade layer. Holds:
 *    - WP-generated class overrides (alignwide, alignfull, etc.)
 *    - Any page-specific tweaks too small to deserve their own file
 *    - Print styles
 * ───────────────────────────────────────────────────────────────── */

/* ── WordPress core classes ──────────────────────────────────── */

.alignwide  { width: 100%; max-width: var(--fv-container-max); margin-inline: auto; }
.alignfull  { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.aligncenter { display: block; margin-inline: auto; }
.alignleft  { float: left; margin-right: var(--fv-space-6); margin-bottom: var(--fv-space-4); }
.alignright { float: right; margin-left: var(--fv-space-6); margin-bottom: var(--fv-space-4); }

.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: var(--fv-text-xs); color: var(--fv-fg-muted); margin-top: var(--fv-space-2); text-align: center; letter-spacing: var(--fv-tracking-wide); }

/* WP admin bar fix — push fixed header down when bar visible */
body.admin-bar .fv-header { top: 32px; }
@media (max-width: 782px) {
	body.admin-bar .fv-header { top: 46px; }
}

/* ── Generic page header band (used by archive.php, 404.php, etc.) ── */

.fv-page-band {
	position: relative;
	padding-block: clamp(7rem, 12vw, 11rem) clamp(3rem, 6vw, 5rem);
	background: var(--fv-color-black);
	overflow: hidden;
	border-bottom: 1px solid var(--fv-border);
	text-align: center;
}

.fv-page-band__title {
	font-size: clamp(var(--fv-text-3xl), 6vw, var(--fv-text-6xl));
	margin: 0;
}

.fv-page-band__lede {
	max-width: 38rem;
	margin: var(--fv-space-6) auto 0;
	color: var(--fv-fg-muted);
	font-size: var(--fv-text-lg);
	line-height: var(--fv-leading-relaxed);
}

/* ── Print ─────────────────────────────────────────────────── */

@media print {
	.fv-header, .fv-footer, .fv-whatsapp, .fv-drawer, .fv-drawer__backdrop { display: none !important; }
	body { background: white; color: black; }
	a { color: black; text-decoration: underline; }
}


/* ── Focus visibility — final accessibility pass ──────────── */

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 2px solid var(--fv-color-blue-light);
	outline-offset: 3px;
	border-radius: var(--fv-radius-xs);
}


/* ── Reduced motion safety net ────────────────────────────── */

@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;
	}
}


/* ── Comments minimal styling ─────────────────────────────── */

.fv-comments .comment-list > li { margin-bottom: var(--fv-space-8); padding-bottom: var(--fv-space-8); border-bottom: 1px solid var(--fv-border); }
.fv-comments .comment-list > li:last-child { border-bottom: 0; }
.fv-comments .comment-author { font-weight: var(--fv-weight-semibold); margin-bottom: var(--fv-space-2); }
.fv-comments .comment-metadata { font-size: var(--fv-text-xs); color: var(--fv-fg-muted); letter-spacing: var(--fv-tracking-wide); text-transform: uppercase; margin-bottom: var(--fv-space-3); }


/* ── Pagination ────────────────────────────────────────────── */

.fv-pagination, .pagination, .nav-links {
	display: flex;
	gap: var(--fv-space-2);
	justify-content: center;
	align-items: center;
}

.fv-pagination a, .fv-pagination span,
.nav-links a, .nav-links span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 var(--fv-space-3);
	border: 1px solid var(--fv-border-strong);
	color: var(--fv-color-white);
	font-size: var(--fv-text-sm);
	letter-spacing: var(--fv-tracking-wide);
	transition: all var(--fv-dur-fast) var(--fv-ease-soft);
}
.fv-pagination a:hover,
.nav-links a:hover {
	background: var(--fv-color-blue);
	border-color: var(--fv-color-blue);
}
.fv-pagination .current,
.nav-links .current {
	background: var(--fv-color-blue);
	border-color: var(--fv-color-blue);
}


/* ── Search results meta badge ─────────────────────────────── */

.fv-search-form {
	display: flex;
	gap: var(--fv-space-2);
}
