/**
 * fb-* styles for the FlowBots launch-package pages.
 * Built entirely on the theme's existing custom properties (assets/css/main.css :root),
 * so these pages inherit the site's palette and type scale rather than defining their own.
 */

/* The theme header is fixed; page.php clears it with 7rem. Match that. */
.fb-launch-page {
	padding-top: 7rem;
	background: var(--color-bg-darkest, #000a1f);
	color: var(--color-gray-100, #e8e8e8);
	font-family: var(--font-body, 'Outfit', sans-serif);
	line-height: 1.7;
}

.fb-launch-main {
	padding-bottom: var(--space-20, 5rem);
}

/* ---------- Structure ---------- */

.fb-city-hub,
.fb-hero,
.fb-hub-hero,
.fb-city-hero,
.fb-page-header,
.fb-section {
	max-width: 880px;
	margin: 0 auto;
}

.fb-section,
.fb-city-hero,
.fb-hub-hero,
.fb-hero {
	padding: var(--space-10, 2.5rem) 0;
}

.fb-city-footer,
.fb-serving-footer,
.fb-footer-serving,
.fb-serving-line {
	max-width: 880px;
	margin: var(--space-12, 3rem) auto 0;
	padding-top: var(--space-8, 2rem);
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	color: var(--color-gray-300, #9ba3bf);
	font-size: var(--text-sm, 0.875rem);
}

/* ---------- Typography ---------- */

.fb-launch-page h1,
.fb-launch-page h2,
.fb-launch-page h3,
.fb-launch-page h4 {
	font-family: var(--font-heading, 'DM Sans', sans-serif);
	color: var(--color-white, #fff);
	line-height: 1.25;
}

.fb-launch-page h1 {
	font-size: var(--text-5xl, 3rem);
	margin: 0 0 var(--space-6, 1.5rem);
}

.fb-launch-page h2 {
	font-size: var(--text-3xl, 1.875rem);
	margin: var(--space-12, 3rem) 0 var(--space-4, 1rem);
}

.fb-launch-page h3 {
	font-size: var(--text-xl, 1.25rem);
	margin: var(--space-8, 2rem) 0 var(--space-3, 0.75rem);
}

.fb-launch-page p {
	margin: 0 0 var(--space-5, 1.25rem);
}

.fb-launch-page a {
	color: var(--color-cyan, #38badf);
	text-decoration: none;
}

.fb-launch-page a:hover,
.fb-launch-page a:focus-visible {
	text-decoration: underline;
}

.fb-eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: var(--text-xs, 0.75rem);
	color: var(--color-cyan, #38badf);
	font-weight: 600;
}

.fb-lede,
.fb-hero-sub {
	font-size: var(--text-lg, 1.125rem);
	color: var(--color-gray-200, #c0c0c0);
}

/* Answer capsule: the direct-answer paragraph AI engines quote. Give it weight. */
.fb-answer-capsule,
.fb-capsule,
.fb-definition,
.fb-speakable {
	background: var(--color-bg-medium, #001a45);
	border-left: 3px solid var(--color-cyan, #38badf);
	border-radius: 0 var(--radius-md, 8px) var(--radius-md, 8px) 0;
	padding: var(--space-5, 1.25rem) var(--space-6, 1.5rem);
	margin: 0 0 var(--space-6, 1.5rem);
	color: var(--color-gray-100, #e8e8e8);
}

.fb-risk-reversal,
.fb-cta-risk {
	font-size: var(--text-sm, 0.875rem);
	color: var(--color-gray-300, #9ba3bf);
	margin-top: var(--space-3, 0.75rem);
}

.fb-cost,
.fb-value,
.fb-phone,
.fb-call-now,
.fb-cta-phone {
	font-weight: 600;
	color: var(--color-white, #fff);
}

/* ---------- Breadcrumb ---------- */

.fb-breadcrumb {
	font-size: var(--text-sm, 0.875rem);
	color: var(--color-gray-300, #9ba3bf);
	margin-bottom: var(--space-6, 1.5rem);
}

.fb-breadcrumb a {
	color: var(--color-gray-300, #9ba3bf);
}

.fb-breadcrumb a:hover {
	color: var(--color-cyan, #38badf);
}

.fb-breadcrumb [aria-current='page'] {
	color: var(--color-gray-100, #e8e8e8);
}

/* ---------- Buttons ---------- */

.fb-btn {
	display: inline-block;
	padding: var(--space-4, 1rem) var(--space-7, 1.75rem);
	border-radius: var(--radius-md, 8px);
	font-family: var(--font-heading, 'DM Sans', sans-serif);
	font-weight: 600;
	font-size: var(--text-base, 1rem);
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	border: 1px solid transparent;
	transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.fb-btn:hover,
.fb-btn:focus-visible {
	transform: translateY(-1px);
}

.fb-btn-primary,
.fb-btn-hard {
	background: var(--color-gradient-primary, linear-gradient(135deg, #38badf, #7b61ff));
	color: var(--color-white, #fff) !important;
	box-shadow: 0 6px 20px var(--color-cyan-glow, rgba(56, 186, 223, 0.3));
}

.fb-btn-secondary,
.fb-btn-soft {
	background: transparent;
	color: var(--color-cyan, #38badf) !important;
	border-color: var(--color-cyan, #38badf);
}

.fb-btn-secondary:hover,
.fb-btn-soft:hover {
	background: rgba(56, 186, 223, 0.1);
}

.fb-cta-row,
.fb-cta-buttons,
.fb-hero-cta,
.fb-final-cta-buttons,
.fb-final-cta-actions,
.fb-inline-cta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-4, 1rem);
	align-items: center;
	margin: var(--space-6, 1.5rem) 0;
}

/* ---------- Final CTA ---------- */

.fb-cta-final,
.fb-final-cta,
.fb-cta-footer {
	max-width: 880px;
	margin: var(--space-16, 4rem) auto 0;
	padding: var(--space-10, 2.5rem);
	background: var(--color-bg-dark, #001131);
	border: 1px solid rgba(56, 186, 223, 0.25);
	border-radius: var(--radius-lg, 12px);
	text-align: center;
}

.fb-cta-final .fb-cta-row,
.fb-final-cta .fb-final-cta-buttons {
	justify-content: center;
}

/* ---------- FAQ ---------- */

.fb-faq {
	max-width: 880px;
	margin: var(--space-12, 3rem) auto 0;
}

.fb-faq-item {
	padding: var(--space-5, 1.25rem) 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.fb-faq-item h3 {
	margin-top: 0;
	font-size: var(--text-lg, 1.125rem);
}

.fb-faq-item p:last-child {
	margin-bottom: 0;
}

/* ---------- Lists ----------
   The theme resets `ol, ul { list-style: none }` globally (main.css:156), which
   strips the markers while our padding-left keeps the indent — bullets vanish and
   the text just looks shifted right. These are long-form editorial pages whose
   lists need real markers. (0,1,1) outranks the theme reset at (0,0,1). */

.fb-launch-page ul,
.fb-launch-page ol {
	margin: 0 0 var(--space-5, 1.25rem);
	padding-left: var(--space-6, 1.5rem);
	list-style-position: outside;
}

.fb-launch-page ul {
	list-style-type: disc;
}

.fb-launch-page ol {
	list-style-type: decimal;
}

.fb-launch-page ul ul {
	list-style-type: circle;
	margin-top: var(--space-3, 0.75rem);
	margin-bottom: 0;
}

.fb-launch-page li {
	margin-bottom: var(--space-3, 0.75rem);
}

.fb-launch-page li::marker {
	color: var(--color-cyan, #38badf);
}

/* Lists used as layout — button rows, breadcrumbs — must stay unmarked. */
.fb-launch-page .wp-block-buttons,
.fb-launch-page .cta-buttons,
.fb-launch-page .cta-row,
.fb-launch-page .fb-cta-row,
.fb-launch-page .fb-cta-buttons,
.fb-launch-page .fb-final-cta-buttons,
.fb-launch-page .fb-hero-cta,
.fb-launch-page .city-cta__actions,
.fb-launch-page .cta-final__actions,
.fb-launch-page .paa-cta__actions,
.fb-launch-page .breadcrumb,
.fb-launch-page .breadcrumbs,
.fb-launch-page .breadcrumb-trail,
.fb-launch-page .fb-breadcrumb {
	list-style: none;
	padding-left: 0;
}

.fb-launch-page table {
	width: 100%;
	border-collapse: collapse;
	margin: var(--space-6, 1.5rem) 0;
	display: block;
	overflow-x: auto;
}

.fb-launch-page th,
.fb-launch-page td {
	padding: var(--space-3, 0.75rem);
	border: 1px solid rgba(255, 255, 255, 0.12);
	text-align: left;
}

.fb-launch-page th {
	background: var(--color-bg-medium, #001a45);
	color: var(--color-white, #fff);
}

/* ---------- Responsive ---------- */

@media (max-width: 768px) {
	.fb-launch-page {
		padding-top: 5rem;
	}

	.fb-launch-page h1 {
		font-size: var(--text-4xl, 2.25rem);
	}

	.fb-launch-page h2 {
		font-size: var(--text-2xl, 1.5rem);
	}

	.fb-btn {
		display: block;
		width: 100%;
	}

	.fb-cta-final,
	.fb-final-cta,
	.fb-cta-footer {
		padding: var(--space-6, 1.5rem);
	}
}

/* =====================================================================
   PART 2 — Non-fb-* page families
   The comparison listicles ship their own light-theme <style> block
   (color:#1a1a1a on a white card). Those rules live in the post body, so
   they would normally win on source order. Every selector below is
   prefixed with .fb-launch-page, which raises specificity above the
   inline rules and re-themes them for the dark palette WITHOUT editing
   any content file.
   ===================================================================== */

.fb-launch-page.fb-launch-page .listicle,
.fb-launch-page.fb-launch-page .intake-listicle,
.fb-launch-page.fb-launch-page .ai-receptionist-listicle,
.fb-launch-page.fb-launch-page .ai-receptionist-dental,
.fb-launch-page.fb-launch-page .paa-page,
.fb-launch-page.fb-launch-page .paa-article,
.fb-launch-page.fb-launch-page .city-page,
.fb-launch-page.fb-launch-page .city-service-page {
	max-width: 880px;
	margin: 0 auto;
	padding: 0;
	color: var(--color-gray-100, #e8e8e8);
	font-family: var(--font-body, 'Outfit', sans-serif);
	line-height: 1.7;
	background: transparent;
}

/* ---------- Section rhythm ---------- */

.fb-launch-page.fb-launch-page .city-section,
.fb-launch-page.fb-launch-page .page-section,
.fb-launch-page.fb-launch-page .paa-angle,
.fb-launch-page.fb-launch-page .what-is,
.fb-launch-page.fb-launch-page .why-247,
.fb-launch-page.fb-launch-page .speed-to-lead,
.fb-launch-page.fb-launch-page .cost-vs-human,
.fb-launch-page.fb-launch-page .option {
	padding: var(--space-8, 2rem) 0;
	border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.fb-launch-page.fb-launch-page .city-hero,
.fb-launch-page.fb-launch-page .page-hero,
.fb-launch-page.fb-launch-page .location-hero,
.fb-launch-page.fb-launch-page .paa-article__header {
	padding: var(--space-6, 1.5rem) 0 var(--space-8, 2rem);
	border-top: 0;
}

.fb-launch-page.fb-launch-page .city-hero__sub,
.fb-launch-page.fb-launch-page .page-hero__sub,
.fb-launch-page.fb-launch-page .hero-subhead,
.fb-launch-page.fb-launch-page .paa-article__dek,
.fb-launch-page.fb-launch-page .dek {
	color: var(--color-gray-300, #9ba3bf);
	font-size: var(--text-lg, 1.125rem);
}

.fb-launch-page.fb-launch-page .meta,
.fb-launch-page.fb-launch-page .meta-line,
.fb-launch-page.fb-launch-page .freshness,
.fb-launch-page.fb-launch-page .src,
.fb-launch-page.fb-launch-page .source,
.fb-launch-page.fb-launch-page .source-tag {
	font-size: var(--text-sm, 0.875rem);
	color: var(--color-gray-400, #7d8da6);
}

/* ---------- Headings, links ---------- */

.fb-launch-page.fb-launch-page .listicle h1,
.fb-launch-page.fb-launch-page .intake-listicle h1,
.fb-launch-page.fb-launch-page .ai-receptionist-listicle h1,
.fb-launch-page.fb-launch-page .ai-receptionist-dental h1,
.fb-launch-page.fb-launch-page .paa-page h1,
.fb-launch-page.fb-launch-page .city-page h1 {
	color: var(--color-white, #fff);
	font-family: var(--font-heading, 'DM Sans', sans-serif);
}

.fb-launch-page.fb-launch-page .listicle h2,
.fb-launch-page.fb-launch-page .intake-listicle h2,
.fb-launch-page.fb-launch-page .ai-receptionist-listicle h2,
.fb-launch-page.fb-launch-page .ai-receptionist-dental h2 {
	color: var(--color-white, #fff);
	border-bottom: 1px solid rgba(56, 186, 223, 0.3);
	padding-bottom: var(--space-2, 0.5rem);
}

.fb-launch-page.fb-launch-page .listicle h3,
.fb-launch-page.fb-launch-page .intake-listicle h3,
.fb-launch-page.fb-launch-page .ai-receptionist-listicle h3,
.fb-launch-page.fb-launch-page .ai-receptionist-dental h3,
.fb-launch-page.fb-launch-page .paa-page h3 {
	color: var(--color-white, #fff);
}

.fb-launch-page.fb-launch-page .listicle a,
.fb-launch-page.fb-launch-page .intake-listicle a,
.fb-launch-page.fb-launch-page .ai-receptionist-listicle a,
.fb-launch-page.fb-launch-page .ai-receptionist-dental a,
.fb-launch-page.fb-launch-page .paa-page a,
.fb-launch-page.fb-launch-page .city-page a {
	color: var(--color-cyan, #38badf);
}

/* ---------- Answer / verdict capsules ---------- */

.fb-launch-page.fb-launch-page .verdict-capsule,
.fb-launch-page.fb-launch-page .answer-capsule,
.fb-launch-page.fb-launch-page .verdict,
.fb-launch-page.fb-launch-page .best-for-block {
	background: var(--color-bg-medium, #001a45);
	border: 1px solid rgba(56, 186, 223, 0.25);
	border-left: 4px solid var(--color-cyan, #38badf);
	border-radius: 0 var(--radius-md, 8px) var(--radius-md, 8px) 0;
	padding: var(--space-5, 1.25rem) var(--space-6, 1.5rem);
	margin: var(--space-5, 1.25rem) 0 var(--space-7, 1.75rem);
	color: var(--color-gray-100, #e8e8e8);
}

.fb-launch-page.fb-launch-page .verdict-capsule strong,
.fb-launch-page.fb-launch-page .answer-capsule strong {
	color: var(--color-white, #fff);
}

.fb-launch-page.fb-launch-page .bestfor,
.fb-launch-page.fb-launch-page .best-for {
	font-style: italic;
	color: var(--color-gray-300, #9ba3bf);
}

/* ---------- Pros / cons ----------
   #15803d (green) and #b45309 (amber) are chosen for white backgrounds
   and fail contrast on #000a1f. Lightened for the dark palette. */

.fb-launch-page.fb-launch-page .pro::before,
.fb-launch-page.fb-launch-page .label-pro {
	color: #4ade80;
}

.fb-launch-page.fb-launch-page .con::before,
.fb-launch-page.fb-launch-page .label-con {
	color: #fbbf24;
}

.fb-launch-page.fb-launch-page .pro,
.fb-launch-page.fb-launch-page .con,
.fb-launch-page.fb-launch-page .pros li,
.fb-launch-page.fb-launch-page .cons li,
.fb-launch-page.fb-launch-page .pros-cons li,
.fb-launch-page.fb-launch-page ul.pc li {
	color: var(--color-gray-100, #e8e8e8);
}

.fb-launch-page.fb-launch-page .pros-cons {
	display: grid;
	gap: var(--space-6, 1.5rem);
}

@media (min-width: 720px) {
	.fb-launch-page.fb-launch-page .pros-cons {
		grid-template-columns: 1fr 1fr;
	}
}

/* ---------- Tables ---------- */

.fb-launch-page.fb-launch-page .compare-table-wrap,
.fb-launch-page.fb-launch-page .cmp-wrap {
	overflow-x: auto;
	margin: var(--space-6, 1.5rem) 0;
}

.fb-launch-page.fb-launch-page .listicle table,
.fb-launch-page.fb-launch-page .intake-listicle table,
.fb-launch-page.fb-launch-page .ai-receptionist-listicle table,
.fb-launch-page.fb-launch-page .ai-receptionist-dental table,
.fb-launch-page.fb-launch-page .compare,
.fb-launch-page.fb-launch-page .cmp {
	width: 100%;
	border-collapse: collapse;
	color: var(--color-gray-100, #e8e8e8);
	background: transparent;
}

.fb-launch-page.fb-launch-page .listicle th,
.fb-launch-page.fb-launch-page .listicle td,
.fb-launch-page.fb-launch-page .intake-listicle th,
.fb-launch-page.fb-launch-page .intake-listicle td,
.fb-launch-page.fb-launch-page .ai-receptionist-listicle th,
.fb-launch-page.fb-launch-page .ai-receptionist-listicle td,
.fb-launch-page.fb-launch-page .ai-receptionist-dental th,
.fb-launch-page.fb-launch-page .ai-receptionist-dental td,
.fb-launch-page.fb-launch-page .compare th,
.fb-launch-page.fb-launch-page .compare td,
.fb-launch-page.fb-launch-page .cmp th,
.fb-launch-page.fb-launch-page .cmp td {
	border: 1px solid rgba(255, 255, 255, 0.14);
	color: var(--color-gray-100, #e8e8e8);
	background: transparent;
	padding: var(--space-3, 0.75rem);
	vertical-align: top;
}

.fb-launch-page.fb-launch-page .listicle thead th,
.fb-launch-page.fb-launch-page .intake-listicle thead th,
.fb-launch-page.fb-launch-page .ai-receptionist-listicle thead th,
.fb-launch-page.fb-launch-page .ai-receptionist-dental thead th,
.fb-launch-page.fb-launch-page .compare thead th,
.fb-launch-page.fb-launch-page .cmp thead th {
	background: var(--color-bg-light, #002060);
	color: var(--color-white, #fff);
	font-weight: 600;
}

.fb-launch-page.fb-launch-page .listicle tbody th,
.fb-launch-page.fb-launch-page .intake-listicle tbody th,
.fb-launch-page.fb-launch-page .ai-receptionist-dental tbody th,
.fb-launch-page.fb-launch-page .cmp tbody th,
.fb-launch-page.fb-launch-page .firstcol {
	background: var(--color-bg-medium, #001a45);
	color: var(--color-white, #fff);
	white-space: nowrap;
}

.fb-launch-page.fb-launch-page tbody tr:nth-child(even) td,
.fb-launch-page.fb-launch-page .alt td {
	background: rgba(255, 255, 255, 0.03);
}

/* ---------- Option cards ---------- */

.fb-launch-page.fb-launch-page .option-card,
.fb-launch-page.fb-launch-page .mini-verdicts,
.fb-launch-page.fb-launch-page .miniverdicts {
	background: var(--color-bg-dark, #001131);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--radius-lg, 12px);
	padding: var(--space-6, 1.5rem);
	margin: var(--space-5, 1.25rem) 0;
}

.fb-launch-page.fb-launch-page .price,
.fb-launch-page.fb-launch-page .price-tag,
.fb-launch-page.fb-launch-page .price-line,
.fb-launch-page.fb-launch-page .phone,
.fb-launch-page.fb-launch-page .tel-link,
.fb-launch-page.fb-launch-page .cta-phone,
.fb-launch-page.fb-launch-page .city-cta__phone,
.fb-launch-page.fb-launch-page .cta-final__phone,
.fb-launch-page.fb-launch-page .paa-cta__phone {
	font-weight: 600;
	color: var(--color-white, #fff);
}

/* ---------- CTA bands ---------- */

.fb-launch-page.fb-launch-page .cta,
.fb-launch-page.fb-launch-page .cta-band,
.fb-launch-page.fb-launch-page .cta-block,
.fb-launch-page.fb-launch-page .paa-cta,
.fb-launch-page.fb-launch-page .city-cta,
.fb-launch-page.fb-launch-page .cta-final,
.fb-launch-page.fb-launch-page .final-cta,
.fb-launch-page.fb-launch-page .flowbots-cta-strip,
.fb-launch-page.fb-launch-page .flowbots-final-cta {
	display: block;
	background: var(--color-bg-dark, #001131);
	border: 1px solid rgba(56, 186, 223, 0.25);
	border-radius: var(--radius-lg, 12px);
	padding: var(--space-8, 2rem);
	margin: var(--space-10, 2.5rem) 0;
	text-align: center;
}

.fb-launch-page.fb-launch-page .cta-row,
.fb-launch-page.fb-launch-page .cta-buttons,
.fb-launch-page.fb-launch-page .city-cta__actions,
.fb-launch-page.fb-launch-page .cta-final__actions,
.fb-launch-page.fb-launch-page .paa-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-4, 1rem);
	justify-content: center;
	margin-top: var(--space-5, 1.25rem);
}

.fb-launch-page.fb-launch-page .risk-reversal,
.fb-launch-page.fb-launch-page .risk-line,
.fb-launch-page.fb-launch-page .cta-risk-reversal,
.fb-launch-page.fb-launch-page .paa-cta__note,
.fb-launch-page.fb-launch-page .paa-cta__or,
.fb-launch-page.fb-launch-page .cta-final__serving,
.fb-launch-page.fb-launch-page .city-cta__footer,
.fb-launch-page.fb-launch-page .serving-footer,
.fb-launch-page.fb-launch-page .location-footer {
	color: var(--color-gray-300, #9ba3bf);
	font-size: var(--text-sm, 0.875rem);
}

/* ---------- Buttons (non-fb naming) ---------- */

.fb-launch-page.fb-launch-page .btn,
.fb-launch-page.fb-launch-page .cta-btn,
.fb-launch-page.fb-launch-page .paa-cta__btn,
.fb-launch-page.fb-launch-page .wp-block-button__link {
	display: inline-block;
	padding: var(--space-4, 1rem) var(--space-7, 1.75rem);
	border-radius: var(--radius-md, 8px);
	font-family: var(--font-heading, 'DM Sans', sans-serif);
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
	border: 1px solid transparent;
	transition: transform 0.15s ease;
}

.fb-launch-page.fb-launch-page .btn:hover,
.fb-launch-page.fb-launch-page .cta-btn:hover,
.fb-launch-page.fb-launch-page .paa-cta__btn:hover,
.fb-launch-page.fb-launch-page .wp-block-button__link:hover {
	transform: translateY(-1px);
}

.fb-launch-page.fb-launch-page .btn--primary,
.fb-launch-page.fb-launch-page .btn--hard,
.fb-launch-page.fb-launch-page .btn-hard,
.fb-launch-page.fb-launch-page .cta-hard,
.fb-launch-page.fb-launch-page .cta-btn,
.fb-launch-page.fb-launch-page .wp-block-button__link {
	background: var(--color-gradient-primary, linear-gradient(135deg, #38badf, #7b61ff));
	color: var(--color-white, #fff) !important;
	box-shadow: 0 6px 20px var(--color-cyan-glow, rgba(56, 186, 223, 0.3));
}

.fb-launch-page.fb-launch-page .btn--soft,
.fb-launch-page.fb-launch-page .btn-soft,
.fb-launch-page.fb-launch-page .cta-soft {
	background: transparent;
	color: var(--color-cyan, #38badf) !important;
	border-color: var(--color-cyan, #38badf);
	box-shadow: none;
}

/* ---------- FAQ ---------- */

.fb-launch-page.fb-launch-page .faq-item,
.fb-launch-page.fb-launch-page .faq__item {
	padding: var(--space-5, 1.25rem) 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.fb-launch-page.fb-launch-page .faq-answer {
	color: var(--color-gray-200, #c0c0c0);
}

/* ---------- Breadcrumbs (non-fb naming) ---------- */

.fb-launch-page.fb-launch-page .breadcrumb,
.fb-launch-page.fb-launch-page .breadcrumbs,
.fb-launch-page.fb-launch-page .breadcrumb-trail {
	font-size: var(--text-sm, 0.875rem);
	color: var(--color-gray-300, #9ba3bf);
	margin-bottom: var(--space-6, 1.5rem);
}

.fb-launch-page.fb-launch-page .breadcrumb a,
.fb-launch-page.fb-launch-page .breadcrumbs a,
.fb-launch-page.fb-launch-page .breadcrumb-trail a {
	color: var(--color-gray-300, #9ba3bf);
}

@media (max-width: 768px) {
	.fb-launch-page.fb-launch-page .cta,
	.fb-launch-page.fb-launch-page .cta-band,
	.fb-launch-page.fb-launch-page .paa-cta,
	.fb-launch-page.fb-launch-page .city-cta,
	.fb-launch-page.fb-launch-page .cta-final,
	.fb-launch-page.fb-launch-page .final-cta {
		padding: var(--space-6, 1.5rem);
	}

	.fb-launch-page.fb-launch-page .btn,
	.fb-launch-page.fb-launch-page .cta-btn,
	.fb-launch-page.fb-launch-page .paa-cta__btn {
		display: block;
		width: 100%;
	}
}

/* ---------- Hero + appended sections ----------
   The theme sized .process-step-number with inline styles inside
   template-integration.php; reproduce that here instead of inlining. */

.fb-launch-page .fb-launch-hero {
	padding-top: 0;
}

.fb-launch-page .fb-launch-hero .hero-title {
	margin-bottom: var(--space-4, 1rem);
}

.fb-launch-page .fb-launch-hero .hero-subtitle {
	max-width: 720px;
	margin: 0 auto var(--space-6, 1.5rem);
	color: var(--color-gray-200, #c0c0c0);
}

.fb-launch-page .fb-launch-steps .process-step-number {
	width: 48px;
	height: 48px;
	margin: 0 auto var(--space-3, 0.75rem);
	font-size: var(--text-xl, 1.25rem);
	display: flex;
	align-items: center;
	justify-content: center;
}

.fb-launch-page .fb-launch-steps .grid-3 {
	gap: var(--space-6, 1.5rem);
}

.fb-launch-page .fb-launch-steps .glass-card h3 {
	margin-top: 0;
}

.fb-launch-page .fb-launch-cta .cta-box {
	max-width: 880px;
	margin: 0 auto;
}

.fb-launch-page .fb-launch-hero .hero-buttons,
.fb-launch-page .fb-launch-cta .hero-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-4, 1rem);
	justify-content: center;
	list-style: none;
	padding-left: 0;
}

/* =====================================================================
   PART 4 — Repairs where this stylesheet overrode the theme by accident.

   `.fb-launch-page h2` and `.fb-launch-page p` are (0,1,1); the theme's
   `.section-title`, `.cta-title` and `.cta-description` are (0,1,0), so our
   generic rules were winning and clobbering the theme's own spacing and
   auto-centering. Restore the theme's intent at higher specificity.
   ===================================================================== */

/* 1. Centre the hero. components.css:720 gives .hero-content a max-width of
      800px but no auto margins, so it hugs the left edge of .container. */
.fb-launch-page .hero-content {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

/* 2. Breathing room under the banner, before the article body. */
.fb-launch-page .fb-launch-hero {
	padding-bottom: var(--space-12, 3rem);
}

.fb-launch-page .fb-launch-main {
	padding-top: var(--space-12, 3rem);
}

/* 3. Kill the 3rem top margin our generic h2 rule injects into section
      headings — it opened a large gap between the "Simple Setup" eyebrow
      and the "How It Works" title. */
.fb-launch-page .section-header .section-title,
.fb-launch-page .cta-box .cta-title {
	margin-top: 0;
}

.fb-launch-page .section-header {
	margin-bottom: var(--space-10, 2.5rem);
}

/* Tighten eyebrow -> title. .section-subtitle is inline-flex. */
.fb-launch-page .section-header .section-subtitle {
	margin-bottom: var(--space-3, 0.75rem);
}

/* 4. Re-centre the CTA paragraph. Our `.fb-launch-page p` reset its
      `margin: 0 auto 2rem` to `margin: 0 0 1.25rem`, which left-aligned the
      600px block inside the centred box. */
.fb-launch-page .cta-box .cta-description {
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: var(--space-8, 2rem);
}

.fb-launch-page .cta-box {
	text-align: center;
}

.fb-launch-page .cta-box .hero-buttons {
	justify-content: center;
}

/* =====================================================================
   PART 5 — Theme buttons (.btn-primary / .btn-secondary)

   Two of our own rules were clobbering the theme's buttons:
     * `.fb-launch-page a`            (0,1,1) beat `.btn-primary` (0,1,0)
       -> cyan link colour on the red primary button.
     * `.fb-launch-page.fb-launch-page .btn` (0,3,0) sets a transparent
       border for the package's own .btn--soft variants, which beat
       `.btn-secondary` (0,1,0) -> the cyan outline disappeared.

   These are the theme's values (components.css:46-66) restored at (0,4,0),
   which outranks both. Scoped to .fb-launch-page, so the rest of the site
   is untouched.
   ===================================================================== */

.fb-launch-page.fb-launch-page .btn.btn-primary {
	background: #ff4141;
	color: #fff;
	border: 1px solid transparent;
	box-shadow: none;
}

.fb-launch-page.fb-launch-page .btn.btn-primary:hover,
.fb-launch-page.fb-launch-page .btn.btn-primary:focus-visible {
	color: #fff;
	transform: scale(1.03);
	box-shadow: 0 0 12px rgba(255, 65, 65, 0.3);
	text-decoration: none;
}

.fb-launch-page.fb-launch-page .btn.btn-secondary {
	background: transparent;
	color: var(--color-cyan, #38badf);
	border: 1px solid var(--color-cyan, #38badf);
	box-shadow: none;
}

.fb-launch-page.fb-launch-page .btn.btn-secondary:hover,
.fb-launch-page.fb-launch-page .btn.btn-secondary:focus-visible {
	background: var(--color-cyan, #38badf);
	color: var(--color-bg-dark, #001131);
	text-decoration: none;
}

/* .btn-lg sizing, in case our generic .btn padding overrode it. */
.fb-launch-page.fb-launch-page .btn.btn-lg {
	padding: 1rem 2.5rem;
	font-size: var(--text-lg, 1.125rem);
}

/* The theme's .btn is inline-flex and centres its own label. */
.fb-launch-page.fb-launch-page .btn.btn-primary,
.fb-launch-page.fb-launch-page .btn.btn-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	text-align: center;
}
