/**
 * BlitzFunnel — published landing page shell reset.
 * Template CSS is inlined via wp_add_inline_style; this file handles WP/theme bleed and shared UX floors.
 */

html,
body.bltzfnl-funnel-page {
	margin: 0 !important;
	padding: 0 !important;
	min-height: 100vh;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

body.bltzfnl-funnel-page {
	font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	line-height: 1.55;
}

body.bltzfnl-funnel-page .wp-site-blocks,
body.bltzfnl-funnel-page .entry-content,
body.bltzfnl-funnel-page .wp-block-post-content {
	padding: 0 !important;
	margin: 0 !important;
	max-width: none !important;
}

body.bltzfnl-funnel-page img,
body.bltzfnl-funnel-page video {
	max-width: 100%;
	height: auto;
}

/* Form tap targets + iOS zoom prevention (all template packs). */
body.bltzfnl-funnel-page .bltzfnl-form input[type="text"],
body.bltzfnl-funnel-page .bltzfnl-form input[type="email"],
body.bltzfnl-funnel-page .bltzfnl-form input[type="tel"],
body.bltzfnl-funnel-page .bltzfnl-form input[type="url"],
body.bltzfnl-funnel-page .bltzfnl-form select,
body.bltzfnl-funnel-page .bltzfnl-form textarea {
	font-size: 16px !important;
	min-height: 48px;
	box-sizing: border-box;
}

body.bltzfnl-funnel-page .bltzfnl-submit,
body.bltzfnl-funnel-page .bltzfnl-popup-trigger,
body.bltzfnl-funnel-page .bltzfnl-skip-optin-link {
	min-height: 48px;
	box-sizing: border-box;
	cursor: pointer;
}

body.bltzfnl-funnel-page .bltzfnl-form-area {
	border: var(--bltzfnl-form-area-border, 1px solid var(--bltzfnl-border, #e2e8f0));
	box-shadow: var(--bltzfnl-form-shadow, 0 20px 50px -20px rgba(15, 23, 42, 0.12));
}

body.bltzfnl-funnel-page .bltzfnl-form input:focus-visible,
body.bltzfnl-funnel-page .bltzfnl-form select:focus-visible,
body.bltzfnl-funnel-page .bltzfnl-form textarea:focus-visible,
body.bltzfnl-funnel-page .bltzfnl-submit:focus-visible,
body.bltzfnl-funnel-page .bltzfnl-popup-trigger:focus-visible {
	outline: 2px solid var(--bltzfnl-accent, #4f46e5);
	outline-offset: 2px;
}

body.bltzfnl-funnel-page .bltzfnl-form-status.is-error {
	color: #b91c1c;
}

body.bltzfnl-funnel-page .bltzfnl-form-status.is-success {
	color: #15803d;
}

body.bltzfnl-funnel-page .bltzfnl-field.is-invalid input {
	border-color: #dc2626 !important;
	box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.25);
}

/* Hide empty template blocks without :has() (older browsers). */
body.bltzfnl-funnel-page .bltzfnl-offer-bar:empty,
body.bltzfnl-funnel-page .bltzfnl-urgency-bar:empty,
body.bltzfnl-funnel-page .bltzfnl-trust-line:empty,
body.bltzfnl-funnel-page .bltzfnl-privacy-note:empty,
body.bltzfnl-funnel-page .bltzfnl-guarantee:empty,
body.bltzfnl-funnel-page .bltzfnl-eyebrow:empty,
body.bltzfnl-funnel-page .bltzfnl-proof-heading:empty,
body.bltzfnl-funnel-page .bltzfnl-bottom-warn:empty {
	display: none;
}

body.bltzfnl-funnel-page .bltzfnl-testimonial-items:empty,
body.bltzfnl-funnel-page .bltzfnl-benefit-items:empty {
	display: none;
}

body.bltzfnl-funnel-page .bltzfnl-proof:not(:has(.card)):not(:has(.bltzfnl-testimonial-card)) {
	display: none;
}

body.bltzfnl-funnel-page .bltzfnl-timer-bar.is-expired,
body.bltzfnl-funnel-page .bltzfnl-timer-bar:not(:has([data-deadline]:not([data-deadline=""]))) {
	display: none;
}

/* Sticky CTA still wraps an empty <a> — hide the whole bar, not just the link. */
body.bltzfnl-funnel-page .bltzfnl-sticky-cta:not(:has(a:not(:empty))) {
	display: none;
}

/* Bottom CTA / empty webinar cards leave padded shells when all tokens are off. */
body.bltzfnl-funnel-page .bltzfnl-bottom-cta:not(:has(.bltzfnl-bottom-warn:not(:empty), .bltzfnl-bottom-heading:not(:empty), .bltzfnl-bottom-sub:not(:empty))) {
	display: none;
}

body.bltzfnl-funnel-page .bltzfnl-card:has(> .bltzfnl-countdown:only-child[data-deadline=""]),
body.bltzfnl-funnel-page .bltzfnl-card:has(> .bltzfnl-countdown:only-child:not([data-deadline])) {
	display: none;
}

body.bltzfnl-funnel-page .bltzfnl-host-card:not(:has(.bltzfnl-section-title:not(:empty), .bltzfnl-prose:not(:empty), img[src]:not([src=""]))) {
	display: none;
}

body.bltzfnl-funnel-page .bltzfnl-bar:not(:has(.bltzfnl-bar__badge:not(:empty), .bltzfnl-bar__date:not(:empty))) {
	display: none;
}

/* Generic Pro cards that only wrap empty text blocks (no form/media/table). */
body.bltzfnl-funnel-page .bltzfnl-card:not(:has(.bltzfnl-form-area, .bltzfnl-countdown, table, iframe, video, img[src]:not([src=""]))):not(:has(h1:not(:empty), h2:not(:empty), h3:not(:empty), p:not(:empty), q:not(:empty), li:not(:empty), a:not(:empty), .bltzfnl-prose:not(:empty), .bltzfnl-section-title:not(:empty))) {
	display: none;
}

@media (max-width: 480px) {
	body.bltzfnl-funnel-page .bltzfnl-submit,
	body.bltzfnl-funnel-page .bltzfnl-popup-trigger,
	body.bltzfnl-funnel-page .bltzfnl-skip-optin-link {
		width: 100%;
		max-width: 100%;
		font-size: 16px !important;
	}
}

/* Consistent icon–text spacing on benefit lists (all template packs). */
body[class*="bltzfnl-tpl"] .bltzfnl-checklist__item,
body[class*="bltzfnl-tpl"] .bltzfnl-checklist > li,
body.bltzfnl-funnel-page .bltzfnl-checklist__item,
body.bltzfnl-funnel-page .bltzfnl-checklist > li,
body[class*="bltzfnl-tpl"] .bltzfnl-check-icon-row,
body.bltzfnl-funnel-page .bltzfnl-check-icon-row {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
}

body[class*="bltzfnl-tpl"] .bltzfnl-benefits-section:has(+ .bltzfnl-form-area),
body.bltzfnl-funnel-page .bltzfnl-benefits-section:has(+ .bltzfnl-form-area) {
	margin-bottom: 0;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	border-bottom: none;
}

body[class*="bltzfnl-tpl"] .bltzfnl-benefits-section + .bltzfnl-form-area,
body.bltzfnl-funnel-page .bltzfnl-benefits-section + .bltzfnl-form-area {
	margin-top: 0;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

/* ---- Thank you stage (post opt-in) ----
   Mounted as first child of main; hide every sibling pack section so
   starter / email-capture / lead-magnet / webinar (and future packs) clear cleanly. */
body.bltzfnl-is-thanks main.bltzfnl-page > *:not(.bltzfnl-thanks-stage),
body.bltzfnl-is-thanks main > *:not(.bltzfnl-thanks-stage),
body.bltzfnl-is-thanks .bltzfnl-page > *:not(.bltzfnl-thanks-stage):not(footer):not(.bltzfnl-ftc):not(.bltzfnl-legal),
body.bltzfnl-is-thanks .bltzfnl-bar,
body.bltzfnl-is-thanks .bltzfnl-urgency-bar,
body.bltzfnl-is-thanks .bltzfnl-timer-bar,
body.bltzfnl-is-thanks .bltzfnl-offer-bar,
body.bltzfnl-is-thanks .bltzfnl-sticky-cta,
body.bltzfnl-is-thanks .bltzfnl-bottom-cta,
body.bltzfnl-is-thanks .bltzfnl-popup-backdrop,
body.bltzfnl-is-thanks .bltzfnl-popup-trigger-wrap {
	display: none !important;
}

body.bltzfnl-is-thanks .bltzfnl-page,
body.bltzfnl-is-thanks .bltzfnl-box,
body.bltzfnl-is-thanks .bltzfnl-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: min(72vh, 640px);
	background: transparent;
	border: none;
	box-shadow: none;
	padding: 0;
}

body.bltzfnl-is-thanks .bltzfnl-thanks-stage {
	display: block;
}

.bltzfnl-thanks-stage {
	display: none;
	width: 100%;
	max-width: min(100%, 34rem);
	margin: clamp(1.5rem, 5vh, 3.5rem) auto;
	padding: 0 1.25rem;
	box-sizing: border-box;
	animation: bltzfnl-thanks-in 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes bltzfnl-thanks-in {
	from { opacity: 0; transform: translateY(18px) scale(0.985); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}

.bltzfnl-thanks-inner {
	position: relative;
	text-align: center;
	padding: clamp(1.75rem, 4vw, 2.75rem) clamp(1.35rem, 4vw, 2.25rem) clamp(1.5rem, 3.5vw, 2.25rem);
	background:
		radial-gradient(120% 80% at 50% -10%, color-mix(in srgb, var(--bltzfnl-accent, #2563eb) 14%, transparent), transparent 55%),
		var(--bltzfnl-form-area-bg, var(--bltzfnl-card-bg, #fff));
	border: 1px solid color-mix(in srgb, var(--bltzfnl-accent, #2563eb) 18%, var(--bltzfnl-border, #e2e8f0));
	border-radius: calc(var(--bltzfnl-radius, 16px) + 4px);
	box-shadow:
		0 1px 0 color-mix(in srgb, #fff 70%, transparent) inset,
		0 24px 60px -28px color-mix(in srgb, var(--bltzfnl-accent, #2563eb) 28%, transparent),
		0 18px 40px -30px rgba(15, 23, 42, 0.28);
	color: var(--bltzfnl-text, #0f172a);
	overflow: hidden;
}

.bltzfnl-thanks-mark {
	display: grid;
	place-items: center;
	width: 4.25rem;
	height: 4.25rem;
	margin: 0 auto 1.1rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--bltzfnl-accent, #2563eb) 12%, transparent);
	box-shadow: 0 10px 28px -16px color-mix(in srgb, var(--bltzfnl-accent, #2563eb) 55%, transparent);
	animation: bltzfnl-thanks-mark-pop 0.55s 0.08s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes bltzfnl-thanks-mark-pop {
	from { opacity: 0; transform: scale(0.7); }
	to { opacity: 1; transform: scale(1); }
}

.bltzfnl-thanks-mark__svg { display: block; }

.bltzfnl-thanks-mark__ring {
	stroke: var(--bltzfnl-accent, #2563eb);
	stroke-dasharray: 160;
	stroke-dashoffset: 160;
	animation: bltzfnl-thanks-ring 0.7s 0.15s ease forwards;
}

.bltzfnl-thanks-mark__check {
	stroke: var(--bltzfnl-accent, #2563eb);
	stroke-dasharray: 48;
	stroke-dashoffset: 48;
	animation: bltzfnl-thanks-check 0.45s 0.45s ease forwards;
}

@keyframes bltzfnl-thanks-ring { to { stroke-dashoffset: 0; } }
@keyframes bltzfnl-thanks-check { to { stroke-dashoffset: 0; } }

.bltzfnl-thanks-eyebrow,
.bltzfnl-thanks-welcome {
	margin: 0 0 0.55rem;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--bltzfnl-accent, #2563eb);
}

.bltzfnl-thanks-welcome {
	text-transform: none;
	letter-spacing: 0.01em;
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--bltzfnl-muted, #64748b);
}

.bltzfnl-thanks-heading {
	margin: 0 0 0.85rem;
	font-family: var(--bltzfnl-font-headline, inherit);
	font-size: clamp(1.7rem, 4.2vw, 2.35rem);
	line-height: 1.18;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--bltzfnl-heading, var(--bltzfnl-headline-color, var(--bltzfnl-text, #0f172a)));
}

.bltzfnl-thanks-body {
	margin: 0 auto 1.15rem;
	max-width: 30rem;
	font-size: 1.05rem;
	line-height: 1.7;
	color: color-mix(in srgb, var(--bltzfnl-text, #0f172a) 88%, var(--bltzfnl-muted, #64748b));
}

.bltzfnl-thanks-delivery {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	text-align: left;
	margin: 0 auto 1.35rem;
	max-width: 30rem;
	padding: 0.9rem 1rem;
	border-radius: 12px;
	background: color-mix(in srgb, var(--bltzfnl-accent, #2563eb) 7%, var(--bltzfnl-card-bg, #fff));
	border: 1px solid color-mix(in srgb, var(--bltzfnl-accent, #2563eb) 16%, var(--bltzfnl-border, #e2e8f0));
}

.bltzfnl-thanks-delivery__icon {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 2.1rem;
	height: 2.1rem;
	margin-top: 0.05rem;
	border-radius: 999px;
	color: var(--bltzfnl-accent, #2563eb);
	background: color-mix(in srgb, var(--bltzfnl-accent, #2563eb) 14%, transparent);
}

.bltzfnl-thanks-delivery__text {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.5;
	color: var(--bltzfnl-text, #0f172a);
}

.bltzfnl-thanks-actions {
	display: grid;
	gap: 1rem;
	margin-top: 0.35rem;
}

.bltzfnl-thanks-resource-btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.15rem;
	width: 100%;
	min-height: 3.35rem;
	padding: 0.95rem 1.35rem;
	border-radius: var(--bltzfnl-submit-radius, 12px);
	font-weight: 800;
	text-decoration: none;
	box-sizing: border-box;
	cursor: pointer;
	background: var(--bltzfnl-submit-bg, var(--bltzfnl-accent, #2563eb));
	color: var(--bltzfnl-submit-color, #fff);
	border: none;
	box-shadow: var(--bltzfnl-submit-shadow, 0 14px 28px -16px color-mix(in srgb, var(--bltzfnl-accent, #2563eb) 65%, transparent));
	transition: transform 0.18s ease, filter 0.18s ease;
}

.bltzfnl-thanks-resource-btn:hover {
	filter: brightness(1.04);
	transform: translateY(-1px);
}

.bltzfnl-thanks-resource-btn__label {
	font-size: 1.05rem;
	line-height: 1.2;
}

.bltzfnl-thanks-resource-btn__hint {
	font-size: 0.75rem;
	font-weight: 600;
	opacity: 0.85;
	letter-spacing: 0.02em;
}

.bltzfnl-thanks-cta {
	padding: 1.05rem 1rem 1.15rem;
	border-radius: 14px;
	background: color-mix(in srgb, var(--bltzfnl-muted, #64748b) 6%, var(--bltzfnl-card-bg, #fff));
	border: 1px dashed color-mix(in srgb, var(--bltzfnl-border, #e2e8f0) 80%, var(--bltzfnl-accent, #2563eb));
}

.bltzfnl-thanks-cta-kicker {
	margin: 0 0 0.35rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--bltzfnl-muted, #64748b);
}

.bltzfnl-thanks-cta-pitch {
	margin: 0 0 0.85rem;
	font-size: 0.98rem;
	line-height: 1.5;
	color: var(--bltzfnl-text, #0f172a);
}

.bltzfnl-thanks-cta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 3rem;
	padding: 0.8rem 1.25rem;
	border-radius: var(--bltzfnl-submit-radius, 12px);
	font-weight: 750;
	font-size: 0.98rem;
	text-decoration: none;
	box-sizing: border-box;
	cursor: pointer;
	background: transparent;
	color: var(--bltzfnl-accent, #2563eb);
	border: 2px solid color-mix(in srgb, var(--bltzfnl-accent, #2563eb) 70%, #fff);
	transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.bltzfnl-thanks-cta-btn:hover {
	background: color-mix(in srgb, var(--bltzfnl-accent, #2563eb) 10%, transparent);
	border-color: var(--bltzfnl-accent, #2563eb);
}

.bltzfnl-thanks-stage--preview { display: block; }

body.bltzfnl-is-thanks .bltzfnl-thanks-stage--preview,
body.bltzfnl-is-thanks .bltzfnl-thanks-stage {
	display: block;
}

@media (prefers-reduced-motion: reduce) {
	.bltzfnl-thanks-stage,
	.bltzfnl-thanks-mark,
	.bltzfnl-thanks-mark__ring,
	.bltzfnl-thanks-mark__check {
		animation: none !important;
	}
	.bltzfnl-thanks-mark__ring,
	.bltzfnl-thanks-mark__check {
		stroke-dashoffset: 0;
	}
}
