/*
 * Wings of Hope — component-level styles.
 * theme.json carries the design tokens (colors, type, block button/heading/link defaults).
 * This file styles things theme.json can't reach: PMPro's own markup, focus rings on
 * non-block elements, and small utility classes for content pages.
 *
 * Design tokens, restated here as CSS custom properties for anything outside the
 * block styling system:
 */
:root {
	--woh-deep-navy: #050926;
	--woh-navy: #0b1538;
	--woh-navy-secondary: #182448;
	--woh-navy-muted: #151f3e;
	--woh-gold: #e3ad4b;
	--woh-gold-soft: #eccd8c;
	--woh-plum: #835bae;
	--woh-off-white: #f7f5f0;
	--woh-muted-text: #c7cfe6;
	--woh-border: rgba(227, 173, 75, 0.22);
}

/* ---------------------------------------------------------------------------
 * Base
 * ------------------------------------------------------------------------ */
body {
	background-color: var(--woh-deep-navy);
	color: var(--woh-off-white);
}

/* Visible focus indicator on every interactive element, including inside PMPro
 * forms and any non-block markup — WCAG 2.2 AA, 2px minimum with strong contrast. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.pmpro_btn:focus-visible {
	outline: 2px solid var(--woh-gold-soft);
	outline-offset: 2px;
}

/* ---------------------------------------------------------------------------
 * Site header / navigation — small-caps tracked nav, matching the landing page
 * ------------------------------------------------------------------------ */
.wp-block-navigation {
	font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
	font-size: 0.75rem;
	font-weight: 400;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.wp-block-navigation a {
	color: #c2b6a2;
	transition: color 200ms ease;
}

.wp-block-navigation a:hover {
	color: var(--woh-gold);
}

.wp-block-site-title a {
	font-family: "Cormorant Garamond", ui-serif, Georgia, serif;
	letter-spacing: 0.08em;
	color: var(--woh-off-white);
}

.wp-block-site-title a .accent {
	color: var(--woh-gold);
}

/* Sticky header — stays pinned across every page as the visitor scrolls,
 * with a solid backdrop so page content doesn't show through underneath it.
 *
 * Sticky is applied to the WordPress-generated <header class="wp-block-template-part">
 * wrapper, not the .woh-site-header div itself: position:sticky is bounded by its
 * IMMEDIATE parent's box, and that div's immediate parent (the <header> wrapper)
 * is exactly the same height as the div — zero "runway" to stay pinned, so it just
 * scrolls away. The <header> tag's own parent (.wp-site-blocks, full page height)
 * has plenty of room, so sticky goes there instead. */
header.wp-block-template-part:has(.woh-site-header) {
	position: sticky;
	top: 0;
	z-index: 100;
}

/* Background + blur live on a ::before, not on .woh-site-header itself: a real
 * `backdrop-filter` (like `transform`/`filter`/`perspective`) on an ancestor creates
 * a new containing block for any `position: fixed` descendant — and the nav block's
 * full-viewport overlay menu is nested inside this header. With the filter on the
 * header itself, the "fixed, cover the viewport" overlay was getting trapped inside
 * the header's own small box instead, rendering as a thin sliver. A ::before carries
 * the blur without making .woh-site-header itself a filtered element, so its real
 * descendants (including the overlay) are unaffected. */
.woh-site-header {
	position: relative;
	border-bottom: 0.8px solid rgba(227, 173, 75, 0.12);
}

.woh-site-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(5, 9, 38, 0.55);
	backdrop-filter: blur(24px);
	-webkit-backdrop-filter: blur(24px);
}

/* ---------------------------------------------------------------------------
 * Buttons — gold pill, matching "Reserve Your Place" on the landing page
 * ------------------------------------------------------------------------ */
.wp-block-button__link,
.pmpro_btn,
.pmpro_btn-submit,
input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--woh-gold-soft) 0%, var(--woh-gold) 60%);
	color: var(--woh-deep-navy) !important;
	font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-size: 0.8rem;
	border: none;
	border-radius: 999px;
	padding: 0.9rem 2rem;
	min-height: 44px;
	white-space: nowrap;
	cursor: pointer;
	transition: transform 200ms ease, box-shadow 200ms ease, background 200ms ease;
	box-shadow: 0 12px 30px -12px rgba(227, 173, 75, 0.45);
}

/* Header's "Begin" button — thin gold outline pill, matched off the reference
 * site's own computed styles (transparent fill, 0.8px border at 40% alpha,
 * 12px/400-weight/1.92px-tracked label), not the solid gold CTA style used
 * for on-page buttons like "Reserve Your Place". */
.woh-header-cta .wp-block-button__link {
	background: transparent;
	border: 0.8px solid rgba(227, 173, 75, 0.4);
	color: var(--woh-gold) !important;
	font-weight: 400;
	font-size: 0.75rem;
	letter-spacing: 0.16em;
	padding: 0.5rem 1.25rem;
	box-shadow: none;
}

.woh-header-cta .wp-block-button__link:hover {
	background: rgba(227, 173, 75, 0.1);
	border-color: var(--woh-gold);
	color: var(--woh-gold-soft) !important;
	transform: none;
	box-shadow: none;
}

.wp-block-button__link:hover,
.pmpro_btn:hover,
.pmpro_btn-submit:hover,
input[type="submit"]:hover {
	background: var(--woh-gold-soft);
	transform: translateY(-1px);
	box-shadow: 0 16px 36px -12px rgba(227, 173, 75, 0.55);
}

.wp-block-button__link:active,
.pmpro_btn:active,
.pmpro_btn-submit:active,
input[type="submit"]:active {
	transform: translateY(0);
}

/* Secondary / outline button variant — for "Explore the Mission"-style CTAs */
.is-style-outline .wp-block-button__link {
	background: transparent;
	border: 1px solid var(--woh-border);
	color: var(--woh-off-white) !important;
	box-shadow: none;
}

.is-style-outline .wp-block-button__link:hover {
	border-color: var(--woh-gold);
	color: var(--woh-gold) !important;
	background: rgba(227, 173, 75, 0.08);
}

/* ---------------------------------------------------------------------------
 * PMPro — membership levels, checkout, account
 * ------------------------------------------------------------------------ */
#pmpro_levels,
.pmpro_content_message,
.pmpro_box,
.pmpro_card,
#pmpro_account,
.pmpro_checkout {
	color: var(--woh-off-white);
}

/* PMPro 3.8's real card wrapper around levels/checkout/account tables */
.pmpro_card,
.pmpro_card_content {
	background: var(--woh-navy) !important;
	border-color: var(--woh-border) !important;
}

.pmpro_table,
.pmpro_checkout table,
.pmpro_account-fields,
.pmpro_form_field {
	background: transparent !important;
	border: 1px solid var(--woh-border);
	border-radius: 14px;
}

.pmpro_table thead th,
.pmpro_table th,
.pmpro_checkout table th {
	background: var(--woh-navy-secondary) !important;
	color: var(--woh-gold-soft) !important;
	font-family: "Inter", sans-serif;
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border-bottom: 1px solid var(--woh-border);
}

.pmpro_table tbody th,
.pmpro_table td,
.pmpro_checkout table td {
	border-bottom: 1px solid var(--woh-border);
	color: var(--woh-muted-text) !important;
	background: transparent !important;
}

/* Form fields inside PMPro checkout / account */
/* PMPro's real form-field class, used across checkout, account and login */
.pmpro_form_input,
.pmpro_checkout input[type="text"],
.pmpro_checkout input[type="email"],
.pmpro_checkout input[type="tel"],
.pmpro_checkout input[type="password"],
.pmpro_checkout select,
.pmpro_checkout textarea,
#pmpro_account input[type="text"],
#pmpro_account input[type="email"],
#pmpro_account input[type="password"] {
	background: var(--woh-navy-muted) !important;
	border: 1px solid var(--woh-border) !important;
	border-radius: 8px;
	color: var(--woh-off-white) !important;
	padding: 0.65rem 0.85rem;
	min-height: 44px;
	font-family: "Inter", sans-serif;
}

.pmpro_form_input::placeholder,
.pmpro_checkout input::placeholder {
	color: rgba(199, 207, 230, 0.55);
}

.pmpro_form_input:focus,
.pmpro_form_input:focus-visible {
	outline: 2px solid var(--woh-gold-soft);
	outline-offset: 1px;
	border-color: var(--woh-gold);
}

.pmpro_form_label,
.pmpro_checkout label,
#pmpro_account label {
	color: var(--woh-gold-soft) !important;
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.02em;
}

/* Card / section headings inside PMPro (Membership Information, Account Information...) */
.pmpro_card_title {
	color: var(--woh-off-white) !important;
	font-family: "Cormorant Garamond", serif;
	font-weight: 400;
	letter-spacing: 0.03em;
}

/* Default (info) notice — e.g. "set up a Payment Gateway" before Stripe is connected */
.pmpro_message:not(.pmpro_error):not(.pmpro_success) {
	background: rgba(131, 91, 174, 0.12);
	border: 1px solid rgba(131, 91, 174, 0.45);
	color: var(--woh-off-white);
	border-radius: 10px;
	padding: 0.85rem 1.1rem;
}

.pmpro_message a {
	color: var(--woh-gold-soft);
	text-decoration: underline;
}

/* Error / success messaging — kept high-contrast, not color-alone */
.pmpro_message.pmpro_error {
	background: rgba(220, 38, 38, 0.12);
	border: 1px solid rgba(220, 38, 38, 0.5);
	color: #ffb4b4;
	border-radius: 10px;
	padding: 0.85rem 1.1rem;
}

.pmpro_message.pmpro_success {
	background: rgba(131, 91, 174, 0.15);
	border: 1px solid var(--woh-plum);
	color: var(--woh-off-white);
	border-radius: 10px;
	padding: 0.85rem 1.1rem;
}

/* ---------------------------------------------------------------------------
 * Content-page utility classes (About / Blog / Events / FAQs)
 * ------------------------------------------------------------------------ */
.woh-card {
	background: var(--woh-navy);
	border: 1px solid var(--woh-border);
	border-radius: 16px;
	padding: 2rem;
}

/* Five-step model — badge + card, replacing plain stacked numbers */
.woh-step-card {
	background: var(--woh-navy);
	border: 1px solid var(--woh-border);
	border-radius: 16px;
	padding: 1.75rem 1.25rem;
	text-align: center;
	transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.woh-step-card:hover {
	transform: translateY(-4px);
	border-color: var(--woh-gold);
	box-shadow: 0 16px 36px -18px rgba(227, 173, 75, 0.5);
}

.woh-step-badge {
	width: 56px;
	height: 56px;
	margin: 0 auto 1rem;
	border-radius: 999px;
	background: var(--woh-navy-secondary);
	border: 1px solid var(--woh-gold);
	display: flex;
	align-items: center;
	justify-content: center;
}

.woh-step-icon {
	width: 26px;
	height: 26px;
	color: var(--woh-gold);
}

.woh-step-card .woh-stat-number {
	margin: 0 0 0.15rem;
}

/* Photo card — image treatment for the "By 2035" stat, matching the deck */
/* Values matched directly off the live Lovable reference (computed styles read
   via devtools), not eyeballed: aspect-ratio 5/6, 0.8px gold border at 40% alpha,
   16px radius. */
.woh-photo-card {
	border-radius: 16px;
	overflow: hidden;
	border: 0.8px solid rgba(227, 173, 75, 0.4);
	box-shadow: 0 24px 60px -24px rgba(0, 0, 0, 0.65);
	position: relative;
	aspect-ratio: 5 / 6;
}

.woh-photo-card.wp-block-cover {
	min-height: 0 !important;
}

.woh-photo-card img.wp-block-cover__image-background {
	object-position: 50% 50% !important;
}

/* Gentle top-fade so most of the photo stays visible — only the bottom half
   darkens, exactly matching the reference's gradient (dark at 0%, fully
   transparent by the 50% mark, transparent the rest of the way up). */
.woh-photo-card::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, var(--woh-deep-navy) 0%, transparent 50%, transparent 100%);
	pointer-events: none;
	z-index: 1;
}

/* No backing panel — the reference relies purely on the gradient behind it for
   legibility, so the photo itself stays the star instead of being boxed off. */
.woh-photo-card .wp-block-cover__inner-container {
	position: absolute !important;
	inset: auto 24px 24px 24px !important;
	z-index: 2 !important;
	max-width: none !important;
	background: none !important;
	backdrop-filter: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.woh-photo-card .wp-block-cover__inner-container h3 {
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
}

.woh-photo-eyebrow {
	font-size: 0.625rem !important;
	letter-spacing: 0.28em !important;
}

/* Dash-flanked eyebrow, matching the reference site's "— LABEL —" treatment */
.woh-eyebrow-dashed {
	color: var(--woh-gold);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

/* Aviation Pathways cards — large numerals + divider, matching the reference site */
.woh-pathway-card {
	background: var(--woh-navy);
	border: 1px solid var(--woh-border);
	border-radius: 16px;
	padding: 2.25rem 1.75rem;
}

.woh-pathway-number {
	font-family: "Cormorant Garamond", serif;
	font-weight: 500;
	font-size: 2.75rem;
	color: var(--woh-gold);
	line-height: 1;
	margin: 0 0 1rem;
}

.woh-pathway-divider {
	width: 32px;
	height: 2px;
	background: var(--woh-gold);
	margin-bottom: 1.1rem;
}

.woh-stat-number {
	font-family: "Cormorant Garamond", serif;
	font-weight: 500;
	font-size: clamp(2rem, 4vw, 3rem);
	color: var(--woh-off-white);
}

.woh-stat-label {
	color: var(--woh-gold);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.woh-eyebrow {
	color: var(--woh-gold);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

/* ---------------------------------------------------------------------------
 * Join section — numbered list + Contact Form 7 "Private Invitation" card
 * ------------------------------------------------------------------------ */
.woh-join-list {
	list-style: none;
	margin: 1.5rem 0;
	padding: 0;
	counter-reset: woh-join-counter;
}

.woh-join-list li {
	counter-increment: woh-join-counter;
	position: relative;
	padding-left: 2.75rem;
	margin-bottom: 1.1rem;
	color: var(--woh-muted-text);
	font-size: 1rem;
	line-height: 1.5;
}

.woh-join-list li::before {
	content: counter(woh-join-counter, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: -0.1rem;
	color: var(--woh-gold);
	font-family: "Cormorant Garamond", serif;
	font-size: 1.25rem;
	font-weight: 600;
}

.woh-join-card {
	background: var(--woh-navy);
	border: 1px solid var(--woh-border);
	border-radius: 20px;
	padding: 2.5rem 2.25rem;
	box-shadow: 0 24px 60px -24px rgba(0, 0, 0, 0.65);
}

@media (max-width: 480px) {
	.woh-join-card {
		padding: 2rem 1.25rem;
	}
}

.woh-join-card .woh-eyebrow-dashed {
	display: block;
	text-align: center;
	margin-bottom: 0.9rem;
}

.woh-join-card h3 {
	text-align: center;
	margin: 0 0 0.6rem;
}

.woh-join-card .woh-join-sub {
	text-align: center;
	color: var(--woh-muted-text);
	margin-bottom: 2rem;
	font-size: 0.95rem;
}

.woh-join-card .woh-form-field {
	margin-bottom: 1.6rem;
}

.woh-join-card .woh-form-field > label {
	display: block;
	color: var(--woh-gold-soft);
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin-bottom: 0.65rem;
}

.woh-join-card input.wpcf7-form-control:not([type="submit"]) {
	display: block;
	width: 100%;
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--woh-border);
	border-radius: 0;
	color: var(--woh-off-white);
	font-family: "Inter", sans-serif;
	font-size: 1rem;
	padding: 0.5rem 0.1rem;
}

.woh-join-card input.wpcf7-form-control::placeholder {
	color: rgba(247, 245, 240, 0.35);
}

.woh-join-card input.wpcf7-form-control:focus,
.woh-join-card input.wpcf7-form-control:focus-visible {
	outline: none;
	border-bottom-color: var(--woh-gold);
}

.woh-join-card .woh-join-as .wpcf7-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.75rem 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.woh-join-card .woh-join-as .wpcf7-list-item {
	margin: 0;
}

.woh-join-card .woh-join-as label {
	position: relative;
	display: block;
	margin: 0;
}

.woh-join-card .woh-join-as input[type="radio"] {
	position: absolute;
	width: 0;
	height: 0;
	opacity: 0;
	pointer-events: none;
}

.woh-join-card .woh-join-as .wpcf7-list-item-label {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-height: 44px;
	padding: 0.7rem 0.9rem;
	border: 1px solid var(--woh-border);
	border-radius: 999px;
	background: var(--woh-navy-muted);
	color: var(--woh-muted-text);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	line-height: 1.2;
	cursor: pointer;
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, color 180ms ease, background 180ms ease;
}

.woh-join-card .woh-join-as .wpcf7-list-item-label:hover {
	border-color: var(--woh-gold);
	color: var(--woh-off-white);
	transform: translateY(-1px);
	box-shadow: 0 8px 20px -12px rgba(227, 173, 75, 0.5);
}

.woh-join-card .woh-join-as input[type="radio"]:checked + .wpcf7-list-item-label {
	background: linear-gradient(135deg, var(--woh-gold-soft), var(--woh-gold));
	border-color: transparent;
	color: var(--woh-deep-navy);
	box-shadow: 0 10px 24px -12px rgba(227, 173, 75, 0.6);
}

.woh-join-card .woh-join-as input[type="radio"]:focus-visible + .wpcf7-list-item-label {
	outline: 2px solid var(--woh-gold-soft);
	outline-offset: 2px;
}

/* On narrow phones the longer tier names (Global Professional, Aerospace
   Trainee) don't fit two-up without wrapping awkwardly -- stack to one
   column instead. */
@media (max-width: 420px) {
	.woh-join-card .woh-join-as .wpcf7-list {
		grid-template-columns: 1fr;
	}
}

.woh-join-card input[type="submit"] {
	display: block;
	width: 100%;
	margin-top: 0.75rem;
}

.woh-join-card .woh-join-fineprint {
	margin-top: 1.4rem;
	text-align: center;
	font-size: 0.72rem;
	line-height: 1.5;
	color: var(--woh-muted-text);
	opacity: 0.75;
}

.woh-join-card .wpcf7-response-output {
	border-radius: 10px;
	font-size: 0.85rem;
	margin-top: 1rem;
}

/* ---------------------------------------------------------------------------
 * Back-to-top button — fixed bottom-right, fades in once the visitor has
 * scrolled past one viewport height (see assets/js/back-to-top.js).
 * ------------------------------------------------------------------------ */
.woh-back-to-top {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 200;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--woh-gold-soft) 0%, var(--woh-gold) 60%);
	color: var(--woh-deep-navy);
	border: none;
	border-radius: 50%;
	box-shadow: 0 12px 30px -12px rgba(227, 173, 75, 0.55);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition: opacity 250ms ease, transform 250ms ease, visibility 250ms, box-shadow 200ms ease;
}

.woh-back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.woh-back-to-top:hover {
	box-shadow: 0 16px 36px -10px rgba(227, 173, 75, 0.7);
	transform: translateY(-3px);
}

.woh-back-to-top svg {
	width: 20px;
	height: 20px;
}

@media (max-width: 600px) {
	.woh-back-to-top {
		right: 16px;
		bottom: 16px;
		width: 44px;
		height: 44px;
	}
}

/* ---------------------------------------------------------------------------
 * Pricing cards — a standard, view-only pricing-page layout (not the
 * selectable PMPro checkout table). One card is marked "Most Popular" with
 * a raised border/badge, per the classic mid-tier-highlight convention.
 * ------------------------------------------------------------------------ */
.woh-pricing-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	margin-top: 3rem;
}

@media (min-width: 640px) {
	.woh-pricing-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.75rem 1.5rem;
	}
}

@media (min-width: 900px) {
	.woh-pricing-grid {
		grid-template-columns: repeat(4, 1fr);
		gap: 1.5rem;
	}
}

.woh-pricing-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--woh-navy);
	border: 1px solid var(--woh-border);
	border-radius: 18px;
	padding: 2.25rem 1.5rem 1.75rem;
	box-shadow: 0 20px 48px -28px rgba(0, 0, 0, 0.6);
	transition: transform 220ms ease, box-shadow 220ms ease;
}

.woh-pricing-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 28px 60px -26px rgba(0, 0, 0, 0.7);
}

.woh-pricing-card.is-popular {
	background: var(--woh-navy-secondary);
	border-color: var(--woh-gold);
	box-shadow: 0 28px 60px -24px rgba(227, 173, 75, 0.35);
}

.woh-pricing-badge {
	position: absolute;
	top: -0.85rem;
	left: 50%;
	transform: translateX(-50%);
	background: linear-gradient(135deg, var(--woh-gold-soft), var(--woh-gold));
	color: var(--woh-deep-navy);
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 0.4rem 1.1rem;
	border-radius: 999px;
	white-space: nowrap;
	box-shadow: 0 8px 18px -8px rgba(227, 173, 75, 0.6);
}

.woh-pricing-tier {
	font-family: "Cormorant Garamond", ui-serif, Georgia, serif;
	font-weight: 500;
	font-size: 1.35rem;
	color: var(--woh-off-white);
	text-align: center;
	margin: 0 0 0.9rem;
	letter-spacing: 0.02em;
}

.woh-pricing-price {
	font-family: "Cormorant Garamond", ui-serif, Georgia, serif;
	font-size: 2.1rem;
	line-height: 1;
	color: var(--woh-gold);
	text-align: center;
	margin: 0;
}

.woh-pricing-period {
	display: block;
	text-align: center;
	font-size: 0.68rem;
	font-weight: 600;
	color: var(--woh-muted-text);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin: 0.35rem 0 1.5rem;
}

.woh-pricing-blurb {
	text-align: center;
	font-size: 0.82rem;
	color: var(--woh-muted-text);
	margin: 0 0 1.5rem;
	min-height: 2.5em;
}

.woh-pricing-features {
	list-style: none;
	margin: 0 0 1.75rem;
	padding: 0;
	flex-grow: 1;
}

.woh-pricing-features li {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	font-size: 0.82rem;
	line-height: 1.4;
	color: var(--woh-muted-text);
	padding: 0.6rem 0;
	border-top: 1px solid var(--woh-border);
}

.woh-pricing-features li:first-child {
	border-top: none;
}

.woh-pricing-features li::before {
	content: "\2713";
	flex-shrink: 0;
	color: var(--woh-gold);
	font-weight: 700;
	line-height: 1.4;
}

.woh-pricing-card .wp-block-buttons {
	width: 100%;
}

.woh-pricing-card .wp-block-button {
	width: 100%;
	margin: 0;
}

.woh-pricing-card .wp-block-button__link {
	width: 100%;
}

.woh-pricing-card.is-popular .wp-block-button__link {
	background: linear-gradient(135deg, var(--woh-gold-soft) 0%, var(--woh-gold) 60%);
}

.woh-pricing-card:not(.is-popular) .wp-block-button__link {
	background: transparent;
	border: 1px solid var(--woh-border);
	color: var(--woh-off-white) !important;
	box-shadow: none;
}

.woh-pricing-card:not(.is-popular) .wp-block-button__link:hover {
	border-color: var(--woh-gold);
	color: var(--woh-gold) !important;
	background: rgba(227, 173, 75, 0.08);
}

/* Respect reduced-motion preference across any transitions/animations added later */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}
}
