/**
 * Best Pilot Training Virginia — design system.
 *
 * Performance budget: zero external font requests (system stacks only),
 * one stylesheet, no above-the-fold carousels, near-zero layout shift.
 *
 * Typography (editorial, aviation-specific):
 *  - Display/headings: high-contrast serif stack, optical sizing where
 *    supported, tight but never cramped.
 *  - Body: readable humanist sans stack, 72ch max measure.
 *  - Airport identifiers (.bptv-ident): restrained monospace treatment.
 *  - Data/prices: tabular numerals via font-variant-numeric.
 *  - Uppercase reserved for airport codes, micro-labels, identifiers.
 *
 * Composition: golden-ratio hero split (61.8% content / 38.2% media on
 * desktop), section rhythm short → medium → visual → dense → conversion.
 */

/* ─────────────────────────────────────────────────────────────────────────
   TOKENS
   ───────────────────────────────────────────────────────────────────── */
:root {
	/* Color */
	--bptv-navy: #0d2137;
	--bptv-navy-deep: #081726;
	--bptv-sky: #1f6fb2;
	--bptv-sky-strong: #175a92;
	--bptv-horizon: #e8f1f8;
	--bptv-gold: #c99a3c;
	--bptv-gold-strong: #a87d28;
	--bptv-slate: #3d4a57;
	--bptv-paper: #fdfcf9;
	--bptv-white: #ffffff;
	--bptv-line: #d8e0e8;
	--bptv-error: #b3261e;
	--bptv-success: #1b6e3c;

	/* Type */
	--bptv-font-display: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;
	--bptv-font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--bptv-font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;

	/* Scale */
	--bptv-text-sm: 0.875rem;
	--bptv-text-base: 1.0625rem;
	--bptv-text-lg: 1.25rem;
	--bptv-text-xl: clamp(1.55rem, 1.2rem + 1.4vw, 2rem);
	--bptv-text-display: clamp(2rem, 1.4rem + 2.8vw, 3.2rem);

	/* Rhythm & radius */
	--bptv-space: 1rem;
	--bptv-space-2: 1.618rem;   /* golden step */
	--bptv-space-3: 2.618rem;   /* golden step² */
	--bptv-space-4: 4.236rem;   /* golden step³ */
	--bptv-radius: 10px;
	--bptv-radius-sm: 6px;

	/* Layout */
	--bptv-container: 1200px;
	--bptv-measure: 72ch;
}

/* ─────────────────────────────────────────────────────────────────────────
   RESET / BASE
   ───────────────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: var(--bptv-font-body);
	font-size: var(--bptv-text-base);
	line-height: 1.62;
	color: var(--bptv-slate);
	background: var(--bptv-paper);
	font-variant-numeric: oldstyle-nums;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--bptv-sky-strong); text-underline-offset: 2px; }
a:hover { color: var(--bptv-navy); }

h1, h2, h3, h4 {
	font-family: var(--bptv-font-display);
	color: var(--bptv-navy);
	line-height: 1.18;
	margin: 0 0 0.6em;
	text-wrap: balance;
	font-optical-sizing: auto;
}
h1 { font-size: var(--bptv-text-display); letter-spacing: -0.01em; }
h2 { font-size: var(--bptv-text-xl); margin-top: 1.4em; }
h3 { font-size: var(--bptv-text-lg); margin-top: 1.2em; }
p, ul, ol, dl { margin: 0 0 1em; }

/* Airport identifiers & technical labels */
.bptv-ident {
	font-family: var(--bptv-font-mono);
	font-size: 0.82em;
	letter-spacing: 0.06em;
	color: var(--bptv-sky-strong);
	background: var(--bptv-horizon);
	border-radius: 4px;
	padding: 0.05em 0.4em;
	white-space: nowrap;
}

/* Tabular numerals for data and prices */
table, .bptv-pricing__rates, .bptv-facts dd { font-variant-numeric: tabular-nums lining-nums; }

/* Accessibility */
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	clip-path: inset(50%);
	overflow: hidden;
	white-space: nowrap;
}
.bptv-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	background: var(--bptv-navy);
	color: #fff;
	padding: 0.7em 1.2em;
	z-index: 100;
}
.bptv-skip-link:focus { left: 0; color: #fff; }
:focus-visible { outline: 3px solid var(--bptv-gold); outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation: none !important; transition: none !important; }
}

/* ─────────────────────────────────────────────────────────────────────────
   LAYOUT PRIMITIVES
   ───────────────────────────────────────────────────────────────────── */
.bptv-container {
	max-width: var(--bptv-container);
	margin-inline: auto;
	padding-inline: clamp(1rem, 4vw, 2rem);
}
.bptv-content { padding-block: var(--bptv-space-3); }
.bptv-prose { max-width: var(--bptv-measure); }
.bptv-prose ul, .bptv-prose ol { padding-left: 1.3em; }
.bptv-section-lead { max-width: var(--bptv-measure); font-size: var(--bptv-text-lg); color: var(--bptv-slate); }

/* ─────────────────────────────────────────────────────────────────────────
   BUTTONS
   ───────────────────────────────────────────────────────────────────── */
.bptv-btn {
	display: inline-block;
	font-family: var(--bptv-font-body);
	font-weight: 650;
	font-size: 1rem;
	line-height: 1.2;
	text-decoration: none;
	border-radius: var(--bptv-radius-sm);
	padding: 0.85em 1.5em;         /* ≥44px target */
	min-height: 44px;
	border: 2px solid transparent;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.bptv-btn--primary { background: var(--bptv-gold); color: var(--bptv-navy-deep); }
.bptv-btn--primary:hover { background: var(--bptv-gold-strong); color: var(--bptv-white); }
.bptv-btn--secondary { background: var(--bptv-sky); color: var(--bptv-white); }
.bptv-btn--secondary:hover { background: var(--bptv-sky-strong); color: var(--bptv-white); }
.bptv-btn--ghost { background: transparent; color: var(--bptv-navy); border-color: var(--bptv-line); }
.bptv-btn--ghost:hover { border-color: var(--bptv-navy); color: var(--bptv-navy); }
.bptv-cta-pair { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-block: var(--bptv-space-2); }

/* ─────────────────────────────────────────────────────────────────────────
   HEADER
   ───────────────────────────────────────────────────────────────────── */
.bptv-header {
	background: var(--bptv-white);
	border-bottom: 1px solid var(--bptv-line);
	position: sticky;
	top: 0;
	z-index: 50;
}
.bptv-header__inner {
	display: flex;
	align-items: center;
	gap: var(--bptv-space-2);
	min-height: 68px;
}
.bptv-header__brand { flex: 0 0 auto; }
.bptv-header__wordmark { text-decoration: none; display: block; }
.bptv-header__wordmark-name {
	display: block;
	font-family: var(--bptv-font-display);
	font-weight: 700;
	font-size: 1.25rem;
	color: var(--bptv-navy);
	line-height: 1.1;
}
.bptv-header__wordmark-tag {
	display: block;
	font-size: 0.72rem;
	color: var(--bptv-slate);
	letter-spacing: 0.02em;
}
.bptv-nav { flex: 1 1 auto; }
.bptv-nav__list, .bptv-nav ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.2rem;
	margin: 0;
	padding: 0;
}
.bptv-nav a {
	display: block;
	padding: 0.6em 0.75em;
	text-decoration: none;
	color: var(--bptv-slate);
	font-size: 0.95rem;
	border-radius: var(--bptv-radius-sm);
}
.bptv-nav a:hover { background: var(--bptv-horizon); color: var(--bptv-navy); }
.bptv-header__cta { display: flex; gap: 0.6rem; align-items: center; }
.bptv-header__toggle { display: none; }

@media (max-width: 920px) {
	.bptv-header__inner { flex-wrap: wrap; padding-block: 0.5rem; }
	.bptv-header__toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px; height: 44px;
		margin-left: auto;
		background: none;
		border: 1px solid var(--bptv-line);
		border-radius: var(--bptv-radius-sm);
		cursor: pointer;
	}
	.bptv-header__toggle-bar,
	.bptv-header__toggle-bar::before,
	.bptv-header__toggle-bar::after {
		content: "";
		display: block;
		width: 20px; height: 2px;
		background: var(--bptv-navy);
		position: relative;
	}
	.bptv-header__toggle-bar::before { position: absolute; top: -6px; }
	.bptv-header__toggle-bar::after { position: absolute; top: 6px; }
	.bptv-nav { display: none; flex-basis: 100%; }
	.bptv-nav.is-open { display: block; }
	.bptv-nav__list, .bptv-nav ul { flex-direction: column; }
	.bptv-header__cta { flex-basis: 100%; padding-bottom: 0.5rem; }
	.bptv-header__cta .bptv-btn { flex: 1; text-align: center; }
}

/* ─────────────────────────────────────────────────────────────────────────
   HERO — golden-ratio split (61.8 / 38.2)
   ───────────────────────────────────────────────────────────────────── */
.bptv-hero { background: linear-gradient(180deg, var(--bptv-horizon), var(--bptv-paper)); }
.bptv-hero__inner {
	display: grid;
	grid-template-columns: 61.8fr 38.2fr;
	gap: var(--bptv-space-3);
	align-items: center;
	padding-block: var(--bptv-space-4);
}
.bptv-hero__kicker {
	font-size: var(--bptv-text-sm);
	letter-spacing: 0.04em;
	color: var(--bptv-sky-strong);
	font-weight: 650;
	margin-bottom: 0.8rem;
}
.bptv-hero__title { margin-bottom: 0.4em; }
.bptv-hero__lead { font-size: var(--bptv-text-lg); max-width: 52ch; }
.bptv-hero__secondary { font-size: var(--bptv-text-sm); }
.bptv-hero__media img { border-radius: var(--bptv-radius); box-shadow: 0 16px 48px rgba(13, 33, 55, 0.18); }
.bptv-hero__placeholder {
	aspect-ratio: 0.809;                 /* golden-ish portrait */
	border-radius: var(--bptv-radius);
	background:
		radial-gradient(circle at 61.8% 38.2%, rgba(201, 154, 60, 0.35), transparent 55%),
		linear-gradient(160deg, var(--bptv-navy) 0%, var(--bptv-sky-strong) 100%);
	display: grid;
	place-items: center;
}
.bptv-hero__placeholder .bptv-ident { font-size: 1.4rem; background: rgba(255,255,255,0.12); color: #fff; }

@media (max-width: 820px) {
	.bptv-hero__inner { grid-template-columns: 1fr; padding-block: var(--bptv-space-3); }
	.bptv-hero__media { order: -1; }
	.bptv-hero__placeholder { aspect-ratio: 1.618; }  /* landscape on mobile */
	.bptv-hero__title { font-size: clamp(1.7rem, 6.5vw, 2.2rem); overflow-wrap: break-word; }
}

/* ─────────────────────────────────────────────────────────────────────────
   CARDS
   ───────────────────────────────────────────────────────────────────── */
.bptv-card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: var(--bptv-space-2);
	margin-block: var(--bptv-space-2);
}
.bptv-card {
	background: var(--bptv-white);
	border: 1px solid var(--bptv-line);
	border-radius: var(--bptv-radius);
	padding: var(--bptv-space-2);
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}
.bptv-card__media { margin: calc(-1 * var(--bptv-space-2)) calc(-1 * var(--bptv-space-2)) 0.6rem; display: block; }
.bptv-card__media img { border-radius: var(--bptv-radius) var(--bptv-radius) 0 0; width: 100%; object-fit: cover; }
.bptv-card__title { margin: 0; font-size: var(--bptv-text-lg); }
.bptv-card__title a { text-decoration: none; color: var(--bptv-navy); }
.bptv-card__title a:hover { color: var(--bptv-sky-strong); }
.bptv-card__meta { font-size: var(--bptv-text-sm); color: var(--bptv-sky-strong); font-weight: 600; margin: 0; }
.bptv-card__excerpt { font-size: 0.95rem; }

/* ─────────────────────────────────────────────────────────────────────────
   DIRECT ANSWER MODULE (AEO)
   ───────────────────────────────────────────────────────────────────── */
.bptv-direct-answer {
	background: var(--bptv-horizon);
	border-left: 4px solid var(--bptv-sky);
	border-radius: 0 var(--bptv-radius) var(--bptv-radius) 0;
	padding: var(--bptv-space-2);
	margin-block: var(--bptv-space-2);
	max-width: var(--bptv-measure);
}
.bptv-direct-answer__q {
	font-family: var(--bptv-font-display);
	font-weight: 700;
	color: var(--bptv-navy);
	margin-bottom: 0.4em;
}
.bptv-direct-answer__a { margin: 0; }

/* ─────────────────────────────────────────────────────────────────────────
   DISCLOSURE STRIP (city pages)
   ───────────────────────────────────────────────────────────────────── */
.bptv-disclosure {
	background: var(--bptv-white);
	border: 1px solid var(--bptv-line);
	border-radius: var(--bptv-radius-sm);
	padding: 0.9rem var(--bptv-space-2);
	margin-block: var(--bptv-space-2);
	font-size: 0.95rem;
}
.bptv-disclosure p { margin: 0; }

/* ─────────────────────────────────────────────────────────────────────────
   FAQ
   ───────────────────────────────────────────────────────────────────── */
.bptv-faq { max-width: var(--bptv-measure); margin-block: var(--bptv-space-3); }
.bptv-faq__item {
	border: 1px solid var(--bptv-line);
	border-radius: var(--bptv-radius-sm);
	background: var(--bptv-white);
	margin-bottom: 0.6rem;
	padding: 0;
}
.bptv-faq__q {
	cursor: pointer;
	font-weight: 650;
	color: var(--bptv-navy);
	padding: 0.9rem var(--bptv-space-2);
	list-style-position: inside;
}
.bptv-faq__q:hover { color: var(--bptv-sky-strong); }
.bptv-faq__a { padding: 0 var(--bptv-space-2) var(--bptv-space); }

/* ─────────────────────────────────────────────────────────────────────────
   TRUST SECTION
   ───────────────────────────────────────────────────────────────────── */
.bptv-trust { background: var(--bptv-navy); color: var(--bptv-horizon); padding-block: var(--bptv-space-4); }
.bptv-trust__heading { color: var(--bptv-white); }
.bptv-trust__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: var(--bptv-space-2);
}
.bptv-trust__item h3 { color: var(--bptv-gold); font-size: 1.1rem; }
.bptv-trust__item p { font-size: 0.95rem; }
.bptv-trust__item a { color: var(--bptv-horizon); }

/* ─────────────────────────────────────────────────────────────────────────
   HOME LOCAL SECTION
   ───────────────────────────────────────────────────────────────────── */
.bptv-home-programs, .bptv-home-local, .bptv-home-faq { padding-block: var(--bptv-space-3); }
.bptv-home-local__inner {
	display: grid;
	grid-template-columns: 61.8fr 38.2fr;
	gap: var(--bptv-space-3);
	align-items: start;
}
.bptv-home-local__links {
	list-style: none;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 0.4rem;
}
@media (max-width: 820px) {
	.bptv-home-local__inner { grid-template-columns: 1fr; }
}

/* ─────────────────────────────────────────────────────────────────────────
   DIRECTIONS MODULE / NAP
   ───────────────────────────────────────────────────────────────────── */
.bptv-directions-module {
	background: var(--bptv-white);
	border: 1px solid var(--bptv-line);
	border-radius: var(--bptv-radius);
	padding: var(--bptv-space-2);
	margin-block: var(--bptv-space-2);
}
.bptv-directions-module .bptv-btn { margin-right: 0.5rem; margin-top: 0.5rem; }
.bptv-directions-module__note { font-size: var(--bptv-text-sm); color: var(--bptv-slate); }
.bptv-nap { font-style: normal; line-height: 1.7; overflow-wrap: break-word; }
.bptv-nap__name { color: var(--bptv-navy); }
.bptv-nap__phone--pending { color: var(--bptv-slate); font-style: italic; }
.bptv-address-block {
	font-family: var(--bptv-font-mono);
	font-size: 0.95rem;
	background: var(--bptv-horizon);
	border-radius: var(--bptv-radius-sm);
	padding: var(--bptv-space);
	white-space: pre-wrap;      /* Unit 30-3 never truncates */
	overflow-wrap: break-word;
}

/* ─────────────────────────────────────────────────────────────────────────
   FACTS TABLE (airport page)
   ───────────────────────────────────────────────────────────────────── */
.bptv-facts { border: 1px solid var(--bptv-line); border-radius: var(--bptv-radius); overflow: hidden; }
.bptv-facts > div {
	display: grid;
	grid-template-columns: minmax(120px, 38.2%) 1fr;
	gap: var(--bptv-space);
	padding: 0.7rem var(--bptv-space-2);
	border-bottom: 1px solid var(--bptv-line);
	background: var(--bptv-white);
}
.bptv-facts > div:last-child { border-bottom: 0; }
.bptv-facts dt { font-weight: 650; color: var(--bptv-navy); }
.bptv-facts dd { margin: 0; }

/* ─────────────────────────────────────────────────────────────────────────
   FORMS
   ───────────────────────────────────────────────────────────────────── */
.bptv-form {
	background: var(--bptv-white);
	border: 1px solid var(--bptv-line);
	border-radius: var(--bptv-radius);
	padding: var(--bptv-space-3);
	max-width: 620px;
	margin-block: var(--bptv-space-2);
}
.bptv-form__title { margin-top: 0; }
.bptv-form__field { margin-bottom: var(--bptv-space); }
.bptv-form__field label { display: block; font-weight: 600; font-size: 0.95rem; margin-bottom: 0.3rem; color: var(--bptv-navy); }
.bptv-form__field input,
.bptv-form__field select,
.bptv-form__field textarea {
	width: 100%;
	font: inherit;
	font-size: 1rem;              /* ≥16px prevents iOS zoom */
	padding: 0.7em 0.9em;
	border: 1px solid var(--bptv-line);
	border-radius: var(--bptv-radius-sm);
	background: var(--bptv-paper);
	color: var(--bptv-slate);
	min-height: 44px;
}
.bptv-form__field textarea { min-height: 100px; }
.bptv-form__field input:focus, .bptv-form__field select:focus, .bptv-form__field textarea:focus {
	border-color: var(--bptv-sky);
	outline: 2px solid var(--bptv-sky);
	outline-offset: 0;
}
.bptv-form__field--checkbox label { display: flex; gap: 0.5rem; align-items: flex-start; font-weight: 400; }
.bptv-form__field--checkbox input { width: auto; min-height: auto; margin-top: 0.25rem; }
.bptv-form__req { color: var(--bptv-error); }
.bptv-form__consent { font-size: var(--bptv-text-sm); color: var(--bptv-slate); }
.bptv-form__error {
	background: #fdecea;
	color: var(--bptv-error);
	border-radius: var(--bptv-radius-sm);
	padding: 0.8rem var(--bptv-space);
	margin-bottom: var(--bptv-space);
}
.bptv-form__submit { width: 100%; }
.bptv-form.is-submitting .bptv-form__submit { opacity: 0.6; pointer-events: none; }
.bptv-hp { position: absolute !important; left: -9999px !important; }

/* ─────────────────────────────────────────────────────────────────────────
   CONTACT LAYOUT
   ───────────────────────────────────────────────────────────────────── */
.bptv-contact__grid {
	display: grid;
	grid-template-columns: 38.2fr 61.8fr;
	gap: var(--bptv-space-3);
	align-items: start;
}
@media (max-width: 820px) {
	.bptv-contact__grid { grid-template-columns: 1fr; }
}

/* ─────────────────────────────────────────────────────────────────────────
   CTA BAND
   ───────────────────────────────────────────────────────────────────── */
.bptv-cta-band { background: var(--bptv-navy); color: var(--bptv-horizon); padding-block: var(--bptv-space-4); margin-top: var(--bptv-space-3); }
.bptv-cta-band__title { color: var(--bptv-white); }
.bptv-cta-band__text { max-width: var(--bptv-measure); }

/* ─────────────────────────────────────────────────────────────────────────
   BREADCRUMBS / REVIEW LINE / ARTICLE
   ───────────────────────────────────────────────────────────────────── */
.bptv-breadcrumbs { font-size: var(--bptv-text-sm); margin-bottom: var(--bptv-space-2); }
.bptv-breadcrumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0; padding: 0; }
.bptv-breadcrumbs li + li::before { content: "›"; margin-right: 0.4rem; color: var(--bptv-slate); }
.bptv-review-line { font-size: var(--bptv-text-sm); color: var(--bptv-slate); }
.bptv-review-line--pending { font-style: italic; }
.bptv-article__title { margin-bottom: 0.3em; }
.bptv-article__meta { font-size: 0.95rem; color: var(--bptv-sky-strong); font-weight: 600; }
.bptv-article__media img { border-radius: var(--bptv-radius); }
.bptv-city__closing { font-size: var(--bptv-text-lg); font-family: var(--bptv-font-display); color: var(--bptv-navy); }
.bptv-city__related ul, .bptv-program__related ul { padding-left: 1.3em; }

/* ─────────────────────────────────────────────────────────────────────────
   FOOTER
   ───────────────────────────────────────────────────────────────────── */
.bptv-footer { background: var(--bptv-navy-deep); color: #b9c7d4; padding-block: var(--bptv-space-4) var(--bptv-space-2); margin-top: var(--bptv-space-4); }
.bptv-footer a { color: #d7e3ee; }
.bptv-footer a:hover { color: var(--bptv-white); }
.bptv-footer__grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr 1fr;
	gap: var(--bptv-space-3);
}
.bptv-footer__brand { font-family: var(--bptv-font-display); font-size: 1.2rem; color: var(--bptv-white); margin-bottom: 0.5rem; }
.bptv-footer__heading {
	font-family: var(--bptv-font-body);
	font-size: 0.78rem;
	text-transform: uppercase;      /* micro-label: allowed uppercase */
	letter-spacing: 0.1em;
	color: var(--bptv-gold);
}
.bptv-footer__col ul { list-style: none; margin: 0; padding: 0; }
.bptv-footer__col li { margin-bottom: 0.45rem; font-size: 0.95rem; }
.bptv-footer__statement { font-size: var(--bptv-text-sm); }
.bptv-footer__legal {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: var(--bptv-space);
	border-top: 1px solid rgba(255,255,255,0.12);
	margin-top: var(--bptv-space-3);
	padding-top: var(--bptv-space-2);
	font-size: var(--bptv-text-sm);
}
.bptv-footer__legal-links { list-style: none; display: flex; gap: var(--bptv-space-2); margin: 0; padding: 0; }
@media (max-width: 820px) {
	.bptv-footer__grid { grid-template-columns: 1fr 1fr; }
	.bptv-footer__col--identity { grid-column: 1 / -1; }
}

/* ─────────────────────────────────────────────────────────────────────────
   MOBILE STICKY ACTION BAR (≤3 actions, safe-area aware)
   ───────────────────────────────────────────────────────────────────── */
.bptv-sticky-bar {
	position: fixed;
	inset-inline: 0;
	bottom: 0;
	display: none;
	background: var(--bptv-white);
	border-top: 1px solid var(--bptv-line);
	box-shadow: 0 -6px 24px rgba(13, 33, 55, 0.12);
	padding: 0.5rem clamp(0.5rem, 3vw, 1rem);
	padding-bottom: calc(0.5rem + env(safe-area-inset-bottom, 0px));
	z-index: 60;
	gap: 0.5rem;
}
.bptv-sticky-bar__action {
	flex: 1;
	text-align: center;
	text-decoration: none;
	font-weight: 650;
	font-size: 0.92rem;
	padding: 0.75em 0.4em;
	min-height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--bptv-radius-sm);
	color: var(--bptv-navy);
	background: var(--bptv-horizon);
}
.bptv-sticky-bar__action--primary { background: var(--bptv-gold); color: var(--bptv-navy-deep); }
@media (max-width: 820px) {
	.bptv-sticky-bar { display: flex; }
	.bptv-sticky-bar.is-hidden { display: none; }
	body { padding-bottom: 72px; } /* reserve space so content never hides */
}

/* ─────────────────────────────────────────────────────────────────────────
   MISC
   ───────────────────────────────────────────────────────────────────── */
.bptv-404__links { padding-left: 1.3em; }
.bptv-pricing__pending {
	border: 1px dashed var(--bptv-line);
	border-radius: var(--bptv-radius);
	padding: var(--bptv-space-2);
	background: var(--bptv-white);
}
.bptv-comments { margin-top: var(--bptv-space-3); }
.bptv-home-faq__more { font-size: 0.95rem; }

/* Print: directions page prints cleanly */
@media print {
	.bptv-header, .bptv-footer, .bptv-sticky-bar, .bptv-cta-band, .bptv-btn { display: none !important; }
	body { background: #fff; color: #000; }
	a { color: #000; text-decoration: none; }
}
