/* Optional additions to the canonical product component. Existing cards keep their layout. */
.sm-product-card .sm-product-card__route-link {
	display: flex; align-items: center; gap: 12px; min-height: 44px;
	margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--sm-color-line);
	font-family: var(--sm-font-body); font-size: 18px; line-height: 1.4;
	color: var(--sm-color-navy); text-decoration: none;
}
.sm-product-card .sm-product-card__route-link:hover { color: var(--sm-color-ink); }
.sm-product-card .sm-product-card__route-link:focus-visible { outline: 3px solid var(--sm-color-gold); outline-offset: 4px; }
.sm-product-card__route-link .sm-fa-icon { width: 16px; height: 16px; }
.sm-offer-price { color: var(--sm-color-navy); font-family: var(--sm-font-body); font-size: 26px; font-weight: 700; line-height: 1.3; }
.sm-offer-price .woocommerce-price-suffix { display: block; margin-top: 4px; font-size: 14px; font-weight: 400; line-height: 1.4; color: var(--sm-color-muted); }

/* Compact regional composition; the existing hero and typography roles stay intact. */
.sm-regional-landing-v2 > .sm-pattern.is-style-sm-section:not(.sm-pattern--hero) { padding-block: 60px; }
.sm-regional-landing-v2 > .sm-pattern:not(.sm-pattern--hero) .sm-pattern__head { margin-bottom: 28px; }
.sm-regional-landing-v2 .sm-offer-card > .wp-block-image { aspect-ratio: 2 / 1; }
.sm-regional-landing-v2 .sm-offer-card > .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.sm-regional-landing-v2 .sm-offer-card > .sm-pattern__copy { padding: 24px; }
.sm-regional-landing-v2 .sm-offer-card__footer { margin-top: auto; padding-top: 18px; }
.sm-regional-landing-v2 .sm-offer-card__footer > .sm-offer-price { margin: 0; }
.sm-regional-landing-v2 .sm-offer-card__footer > .wp-block-buttons { margin-top: 18px; padding-top: 0; }
.sm-regional-landing-v2 .sm-offer-card .wp-block-button__link { padding-inline: 16px; }
.sm-regional-landing-v2 .sm-regional-airport .is-style-sm-cover-image { aspect-ratio: 8 / 5; }
.sm-regional-landing-v2 .sm-regional-airport .is-style-sm-section-columns { align-items: center; }
.sm-regional-landing-v2 .sm-regional-steps .wp-block-column > .is-style-sm-eyebrow { margin-bottom: 8px; }
.sm-regional-landing-v2 .sm-pattern--faq .sm-faq__intro.sm-pattern__head { margin-bottom: 0; }
.sm-regional-landing-v2 .sm-product-card-grid > .sm-product-card { grid-column: auto; }
@media (max-width: 999px) {
	.sm-regional-landing-v2 > .sm-pattern.is-style-sm-section:not(.sm-pattern--hero) { padding-block: 48px; }
}
@media (max-width: 689px) {
	.sm-regional-landing-v2 > .sm-pattern.is-style-sm-section:not(.sm-pattern--hero) { padding-block: 40px; }
	.sm-regional-landing-v2 .sm-offer-card > .sm-pattern__copy { padding: 22px; }
}
