@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:wght@400;700;900&family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;600;700&display=swap');

/*
Theme Name: WCP Sunday Groove
Theme URI: https://whatscookingpops.com
Author: What's Cooking Pops
Author URI: https://whatscookingpops.com
Description: A custom FSE block theme for What's Cooking Pops, a multi-channel lifestyle brand for dads covering music, culture, food, family, travel, and health.
Version: 2.7.57-sidebar-v2-1778531661
Requires at least: WordPress 6.4
Tested up to: WordPress 6.8
Requires PHP: 8.0
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: wcp-sunday-groove
Domain Path: /languages
*/

/* ==========================================================================
   WCP DESIGN TOKENS (CSS custom properties for non-theme.json contexts)
   ========================================================================== */
:root {
	--wcp-cream: #F9F7F4;
	--wcp-cream-2: #F3F0EA;
	--wcp-charcoal: #2B2725;
	--wcp-primary-dark: #3D3B37;
	--wcp-gold: #C4A552;
	--wcp-orange: #E8733C;
	--wcp-orange-dark: #D45F28;
	--wcp-deep-blue-dark: #1A3A5C;
	--wcp-deep-blue: #2C6FAA;
	--wcp-rust: #B85C3A;
	--wcp-sage: #A8B8A8;
	--wcp-gray-light: #E8E6E1;
	--wcp-gray-medium: #C4C2BD;
	--wcp-gray-dark: #5D5B57;
	--wcp-rule: #E6E1D8;
	--wcp-body: #555;
	--wcp-muted: #999;

	--wcp-content: 1240px;
	--wcp-content-narrow: 900px;
	--wcp-radius: 6px;

	--wcp-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.03);
	--wcp-shadow-card: 0 4px 12px rgba(0, 0, 0, 0.06);
	--wcp-shadow-card-hover: 0 8px 20px rgba(0, 0, 0, 0.10);
	--wcp-shadow-lift: 0 8px 24px rgba(0, 0, 0, 0.08);

	/* Canonical brand gradients */
	--wcp-hero-gradient: linear-gradient(135deg, #3D3B37 0%, #2B2725 100%);
	--wcp-deep-blue-gradient: linear-gradient(135deg, #1A3A5C 0%, #2C6FAA 100%);

	/* Per-category darker gradient tokens (locked palette) */
	--wcp-cat-music-grad:      linear-gradient(135deg, #2A1740 0%, #120626 100%);
	--wcp-cat-food-grad:       linear-gradient(135deg, #3B2310 0%, #1A0E06 100%);
	--wcp-cat-life-grad:       linear-gradient(135deg, #0E2A42 0%, #04101F 100%);
	--wcp-cat-culture-grad:    linear-gradient(135deg, #0E2A42 0%, #04101F 100%);
	--wcp-cat-travel-grad:     linear-gradient(135deg, #0E2E25 0%, #041810 100%);
	--wcp-cat-family-grad:     linear-gradient(135deg, #222E14 0%, #0D1707 100%);
	--wcp-cat-parenthood-grad: linear-gradient(135deg, #222E14 0%, #0D1707 100%);
	--wcp-cat-health-grad:     linear-gradient(135deg, #1E2E1E 0%, #0A180A 100%);
}

/* ==========================================================================
   RESET / BASE
   ========================================================================== */
*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	font-size: 16px;
	line-height: 1.6;
	color: var(--wcp-charcoal);
	background-color: var(--wcp-cream);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img { max-width: 100%; height: auto; display: block; }

a { color: var(--wcp-charcoal); text-decoration: none; transition: color 0.2s ease; }
a:hover { color: var(--wcp-gold); }

h1, h2, h3, h4, h5, h6 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-weight: 700;
	color: var(--wcp-charcoal);
	line-height: 1.3;
	margin: 0 0 0.5em;
}

p { margin: 0 0 1em; }

hr { border: 0; height: 1px; background: var(--wcp-gray-light); margin: 24px 0; }

/* Skip link */
.skip-link {
	position: absolute;
	top: -40px;
	left: 0;
	background: var(--wcp-orange);
	color: #fff;
	padding: 8px 12px;
	text-decoration: none;
	z-index: 100;
	border-radius: 0 0 4px 0;
}
.skip-link:focus { top: 0; color: #fff; }

/* ==========================================================================
   HEADER (cream, full-bleed, no gray shoulders, no gray bar)
   ========================================================================== */
/* Force every FSE template-part and group wrapper above the header to be cream
   so no gray shoulders or strips appear at wide viewports. */
.wp-site-blocks { background-color: var(--wcp-cream); }
.wp-site-blocks > .wp-block-template-part:first-child,
.wp-site-blocks > header,
.wp-site-blocks > .site-header,
header.site-header,
header.wp-block-group.site-header {
	background-color: var(--wcp-cream) !important;
	border: 0 !important;
	margin-top: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
/* Sticky lives on the OUTER <header class="wp-block-template-part">, not the
   inner .site-header div. The inner div is the same height as its parent
   (~108px), so making the inner sticky only sticks within those 108px and
   then scrolls away. Putting sticky on the outer template-part means its
   containing block is .wp-site-blocks (the full page), so the header stays
   pinned for the entire scroll. */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 50;
}
body.admin-bar .wp-site-blocks > header.wp-block-template-part {
	top: 32px;
}
@media screen and (max-width: 782px) {
	body.admin-bar .wp-site-blocks > header.wp-block-template-part {
		top: 46px;
	}
}
.site-header {
	background-color: var(--wcp-cream);
	box-shadow: var(--wcp-shadow-sm);
	padding: 0;
	margin: 0;
	border: 0;
}
.wcp-header-layer {
	background-color: var(--wcp-cream);
	border: 0;
	padding: 0;
	margin: 0;
	width: 100%;
}
.wcp-header-container {
	max-width: var(--wcp-content);
	margin: 0 auto;
	padding: 26px 24px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	background-color: var(--wcp-cream);
	min-height: 56px;
}

.wcp-logo-block { flex-shrink: 0; display: flex; align-items: center; }

/* Sticky-logo swap: the brand logo (Site Logo) is the default, sticky logo
   appears once .site-header gets .is-scrolled (via IntersectionObserver). */
.wcp-logo-block .wcp-logo-default { display: inline-flex; align-items: center; transition: opacity 0.2s ease; }
.wcp-logo-block .wcp-logo-sticky-slot { display: none; align-items: center; transition: opacity 0.2s ease; }
.wcp-logo-block .wcp-logo-sticky-img { max-height: 40px; width: auto; height: auto; display: block; }
.site-header.is-scrolled .wcp-logo-block .wcp-logo-default { display: none; }
.site-header.is-scrolled .wcp-logo-block .wcp-logo-sticky-slot { display: inline-flex; }

/* Site logo block (Customizer → Site Identity → Logo) */
.wcp-logo-block .wp-block-site-logo { display: flex; align-items: center; margin: 0; line-height: 0; }
.wcp-logo-block .wp-block-site-logo a { display: block; }
.wcp-logo-block .wp-block-site-logo img,
.wcp-logo-block .wp-block-site-logo .custom-logo {
	max-height: 56px;
	width: auto;
	height: auto;
	display: block;
}

/* Site title fallback — hidden when a logo is uploaded */
.wcp-logo-block:has(.wp-block-site-logo img) .wp-block-site-title,
.wcp-logo-block:has(.wp-block-site-logo .custom-logo) .wp-block-site-title { display: none; }

.wcp-logo-block .wp-block-site-title { margin: 0; }
.wcp-logo-block .wp-block-site-title a {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 28px;
	font-weight: 700;
	color: var(--wcp-charcoal);
	text-decoration: none;
	display: block;
	line-height: 1.1;
	letter-spacing: 0.25px;
}

.wcp-logo-block > a {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 28px;
	font-weight: 700;
	color: var(--wcp-charcoal);
	text-decoration: none;
	display: block;
	line-height: 1.1;
	letter-spacing: 0.25px;
}
.wcp-logo-tagline {
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 600;
	color: var(--wcp-orange);
	text-transform: uppercase;
	letter-spacing: 2px;
	margin-top: 2px;
}

.wcp-nav {
	display: flex;
	gap: 28px;
	align-items: center;
	flex-wrap: wrap;
}
.wcp-nav a {
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: var(--wcp-charcoal);
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition: color 0.2s ease;
}
.wcp-nav a:hover { color: var(--wcp-orange); }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer {
	background: var(--wcp-primary-dark);
	border-top: 3px solid var(--wcp-gold);
	color: rgba(249, 247, 244, 0.7);
}
.wcp-footer-inner {
	max-width: var(--wcp-content);
	margin: 0 auto;
	padding: 50px 24px 32px;
}
.wcp-footer-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: 48px;
	margin-bottom: 48px;
}
/* Brand column wrapper — first footer column (logo + tagline + socials).
   Constrains the column's content width on desktop so the tagline doesn't
   stretch the full grid track. Adjust max-width as desired. */
.wcp-footer-brand-col {
	max-width: 320px;
}
@media (max-width: 768px) {
	.wcp-footer-brand-col {
		max-width: none;
	}
}
.wcp-footer-brand-logo {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--wcp-cream);
	display: block;
	margin-bottom: 14px;
	text-decoration: none;
}
.wcp-footer-brand-logo .wcp-footer-logo-img {
	display: block;
	max-height: 80px;
	width: auto;
	height: auto;
}
.wcp-footer-tagline {
	font-size: 0.82rem;
	color: rgba(249, 247, 244, 0.55);
	line-height: 1.65;
	margin-bottom: 20px;
}
.wcp-footer-socials { display: flex; gap: 12px; }
.wcp-footer-social {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.07);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wcp-cream);
	transition: background-color 0.2s ease, color 0.2s ease;
}
.wcp-footer-social:hover { background: var(--wcp-gold); color: var(--wcp-charcoal); }
.wcp-footer-social svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; }

.wcp-footer-col h3, .wcp-footer-col h4 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--wcp-cream);
	margin: 0 0 16px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.wcp-footer-col ul,
.wcp-footer-col .wp-block-latest-posts,
.wcp-footer-col .wp-block-latest-posts__list { list-style: none; margin: 0; padding: 0; }
.wcp-footer-col li,
.wcp-footer-col .wp-block-latest-posts__list li { margin-bottom: 10px; }
.wcp-footer-col a,
.wcp-footer-col .wp-block-latest-posts__list li a {
	font-size: 0.82rem;
	color: rgba(249, 247, 244, 0.6);
	text-decoration: none;
	transition: color 0.2s ease;
}
.wcp-footer-col a:hover,
.wcp-footer-col .wp-block-latest-posts__list li a:hover { color: var(--wcp-gold); }
.wcp-footer-col .wp-block-latest-posts__list li::before { content: none; }
.wcp-footer-latest { margin: 0; }
.wcp-footer-col .wp-block-latest-posts__list li a {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	line-height: 1.35;
}

/* Newsletter-section contact variant — used on Work With Us */
.wcp-newsletter-section--contact .wcp-cta { display: inline-block; margin-top: 4px; }

.wcp-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding-top: 24px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}
.wcp-footer-copy { font-size: 0.75rem; color: rgba(249, 247, 244, 0.45); margin: 0; }
.wcp-footer-links { display: flex; gap: 20px; flex-wrap: wrap; }
.wcp-footer-links a {
	font-family: 'Inter', sans-serif;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(249, 247, 244, 0.45);
	text-decoration: none;
}
.wcp-footer-links a:hover { color: var(--wcp-gold); }

/* ==========================================================================
   SECTION PATTERN: eyebrow subtitle + serif title + thin rule
   ========================================================================== */
.wcp-section-subtitle {
	display: block;
	width: 100%;
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--wcp-orange);
	margin: 0 0 8px;
}
.wcp-section-title {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 36px;
	font-weight: 600;
	color: var(--wcp-charcoal);
	margin: 0 0 4px;
	letter-spacing: 0.25px;
	line-height: 1.15;
	/* No border — the only rule under the title is the gray .wcp-section-hr */
	border: 0;
	padding: 0;
}
.wcp-section-hr {
	border: 0;
	height: 1px;
	background: var(--wcp-gray-light);
	margin: 8px 0 28px;
}
.wcp-section-title.is-center,
.wcp-section-subtitle.is-center { text-align: center; }
/* Safety: nuke any decorative lines under headings */
.wcp-section-title::after,
.wcp-page-hero h1::after,
.wcp-live-hero h1::after,
h1::after, h2::after { content: none !important; }

/* ==========================================================================
   HERO (full-bleed charcoal gradient, inner content within container)
   ========================================================================== */
.wcp-hero-wrapper {
	background: linear-gradient(135deg, #2B2725 0%, #5A574F 50%, #6B655D 100%);
	padding: 0;
	margin: 0;
}
/* Neutralize WP block-post-template list defaults so hero wrapper goes edge-to-edge on home */
.home .wp-block-post-template { margin: 0; padding: 0; list-style: none; }
.home .wp-block-post-template > li { margin: 0; padding: 0; }
.wcp-hero {
	max-width: var(--wcp-content);
	margin: 0 auto;
	padding: 48px 24px;
}
.wcp-hero-image {
	width: 100%;
	aspect-ratio: 16 / 7;
	background: linear-gradient(135deg, var(--wcp-charcoal) 0%, var(--wcp-rust) 50%, var(--wcp-sage) 100%);
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(255, 255, 255, 0.35);
	font-size: 15px;
	overflow: hidden;
}
.wcp-hero-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wcp-hero-content { padding: 28px 0 0; max-width: 820px; }
.wcp-category-tag {
	display: inline-block;
	width: auto;
	max-width: max-content;
	background: rgba(232, 115, 60, 0.2);
	color: var(--wcp-orange);
	padding: 6px 12px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border-radius: 4px;
	margin-bottom: 16px;
}
.wcp-hero-title {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 52px;
	font-weight: 700;
	line-height: 1.1;
	color: var(--wcp-cream);
	margin: 10px 0 16px;
	letter-spacing: 0.25px;
}
.wcp-hero-title a { color: inherit; text-decoration: none; }
.wcp-hero-title a:hover { color: var(--wcp-gold); }
.wcp-hero-byline {
	color: rgba(249, 247, 244, 0.6);
	font-size: 12px;
	margin: 0 0 24px;
	font-weight: 500;
}
.wcp-hero-meta {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 15px 0 24px;
	flex-wrap: wrap;
}
.wcp-hero-meta .wcp-hero-byline { margin: 0; }
.wcp-hero-meta .wp-block-post-date,
.wcp-hero-meta .wp-block-post-date time {
	font-size: 12px !important;
	color: rgba(249, 247, 244, 0.6) !important;
	font-weight: 500;
	line-height: 1.5;
	margin: 0;
}
/* Hero CTA row — primary "Read the Story" button under the meta line. The
   button uses the standard .wcp-cta orange pill so it reads as the obvious
   click target instead of relying on the title alone. */
.wcp-hero-cta-row {
	margin-top: 8px;
}
.wcp-hero-cta,
a.wcp-hero-cta,
.wp-block-read-more.wcp-hero-cta {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	background: var(--wcp-orange);
	color: #fff !important;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	padding: 12px 24px;
	border-radius: 999px;
	border: 1.5px solid var(--wcp-orange);
	transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.wcp-hero-cta:hover,
a.wcp-hero-cta:hover,
.wp-block-read-more.wcp-hero-cta:hover {
	background: var(--wcp-orange-dark);
	border-color: var(--wcp-orange-dark);
	color: #fff !important;
	transform: translateY(-1px);
}
.wcp-hero-dek, .wcp-hero-dek p { color: var(--wcp-cream); }
.wcp-hero .wp-block-post-date, .wcp-hero .wp-block-post-date time { color: var(--wcp-cream); }
.home main > .wp-block-query + .wp-block-query { margin-top: 0; }

/* Generic CTA button */
.wcp-cta {
	display: inline-block;
	background: var(--wcp-orange);
	color: #fff !important;
	padding: 14px 28px;
	border: none;
	border-radius: 6px;
	font-family: 'Inter', sans-serif;
	font-weight: 700;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 1px;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.2s ease;
}
.wcp-cta:hover { background: var(--wcp-orange-dark); color: #fff !important; }
.wcp-cta.is-ghost {
	background: transparent;
	color: var(--wcp-cream) !important;
	border: 2px solid var(--wcp-cream);
}
.wcp-cta.is-ghost:hover { background: var(--wcp-cream); color: var(--wcp-charcoal) !important; }
.wcp-cta.is-gold { background: var(--wcp-gold); color: var(--wcp-charcoal) !important; }
.wcp-cta.is-gold:hover { background: #B0924A; color: var(--wcp-charcoal) !important; }

/* ==========================================================================
   TRENDING BAR (dark strip, butts up against hero — no gap)
   ========================================================================== */
.wcp-trending-bar {
	background: var(--wcp-charcoal);
	color: #fff;
	padding: 25px 0;
	margin-top: 0;
	border-top: 3px solid var(--wcp-gold);
}
.wcp-trending-container {
	max-width: var(--wcp-content);
	margin: 0 auto;
	padding: 0 24px;
}
.wcp-trending-label {
	font-family: 'Inter', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 11px;
	letter-spacing: 1.5px;
	margin-bottom: 10px;
	color: var(--wcp-gold);
}
.wcp-trending-links {
	display: flex;
	gap: 25px;
	flex-wrap: wrap;
}
.wcp-trending-links .wp-block-post-template {
	display: flex;
	flex-wrap: wrap;
	gap: 25px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.wcp-trending-links .wp-block-post-template > li {
	list-style: none;
	margin: 0;
}
.wcp-trending-item {
	color: var(--wcp-cream) !important;
	text-decoration: none;
	font-size: 14px;
	font-weight: 400;
	line-height: 10px;
	transition: color 0.2s ease;
	white-space: nowrap;
}
.wcp-trending-item, .wcp-trending-item a { font-weight: 400 !important; }
/* Links inside .wcp-trending-item don't inherit color from the parent <p>
   (the user-agent default for <a> overrides). Set the link color explicitly
   so titles are visible against the charcoal bar. */
.wcp-trending-item a {
	color: var(--wcp-cream) !important;
	text-decoration: none;
	transition: color 0.15s ease;
}
.wcp-trending-item:hover,
.wcp-trending-item a:hover { color: var(--wcp-gold) !important; }

/* ==========================================================================
   SECTIONS / CONTAINERS
   ========================================================================== */
.wcp-section {
	max-width: var(--wcp-content);
	margin: 64px auto;
	padding: 0 24px;
}
.wcp-section.is-narrow { max-width: var(--wcp-content-narrow); }
.wcp-section.is-dark {
	max-width: none;
	background: var(--wcp-charcoal);
	color: var(--wcp-cream);
	padding: 56px 24px;
	margin: 64px 0;
}
.wcp-section.is-dark .wcp-section-title { color: var(--wcp-cream); }
.wcp-section.is-dark p { color: rgba(249, 247, 244, 0.8); }

/* Full-bleed sand band — used to break the page rhythm between cream sections.
   Same convention as .wcp-format-strip: escapes its parent's max-width via 100vw,
   inner content is constrained back to --wcp-content. Sand color = --wcp-gray-light. */
.wcp-section.is-sand {
	max-width: none;
	width: 100vw;
	margin-top: 0;
	margin-right: calc(50% - 50vw);
	margin-bottom: 0;
	margin-left: calc(50% - 50vw);
	background: var(--wcp-gray-light);
	padding: 88px 0;
}
.wcp-section.is-sand > * {
	max-width: var(--wcp-content);
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
	box-sizing: border-box;
}
.wcp-section.is-sand .wcp-section-hr {
	background: rgba(43, 39, 37, 0.15);
	margin-left: auto;
	margin-right: auto;
	max-width: var(--wcp-content);
	width: auto;
	box-sizing: border-box;
	padding-left: 24px;
	padding-right: 24px;
	background-clip: content-box;
}

/* ==========================================================================
   ARTICLE CARDS (white card on cream)
   ========================================================================== */
.wcp-article-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
	margin-top: 8px;
}
.wcp-article-grid.is-2col { grid-template-columns: repeat(2, 1fr); }

.wcp-article-card {
	position: relative;
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: var(--wcp-shadow-card);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	display: flex;
	flex-direction: column;
	font-size: 17px;
	line-height: 1.6;
	color: var(--wcp-body);
}
.wcp-article-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--wcp-shadow-card-hover);
}
.wcp-article-card .wcp-card-image {
	width: 100%;
	aspect-ratio: 4 / 3;
	background: linear-gradient(135deg, var(--wcp-sage) 0%, var(--wcp-charcoal) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(255, 255, 255, 0.25);
	font-size: 14px;
	overflow: hidden;
}
.wcp-article-card .wcp-card-image img { width: 100%; height: 100%; object-fit: cover; }
.wcp-article-card .wcp-card-content { padding: 20px; display: flex; flex-direction: column; flex-grow: 1; }
.wcp-article-card .wcp-category-tag { font-size: 10px; margin-bottom: 10px; }
.wcp-article-card h3 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 22px;
	font-weight: 600;
	color: var(--wcp-charcoal);
	margin: 0 0 10px;
	line-height: 1.3;
}
.wcp-article-card h3 a { color: inherit; text-decoration: none; }
.wcp-article-card h3 a:hover { color: var(--wcp-orange); }
/* Whole-card clickable (static markup variant): expand the title anchor
   to cover the entire card. Mirrors the .wp-block-post-title a::before
   pattern on homepage cards. */
.wcp-article-card h3 a::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}
/* Keep secondary links (Read More / Watch the Replay) independently
   hoverable by lifting them above the overlay. Same href in the static
   case, but this preserves correct hover affordances. */
.wcp-article-card .wcp-read-more {
	position: relative;
	z-index: 2;
}
.wcp-article-card .wcp-card-byline { color: var(--wcp-muted); font-size: 12px; margin-bottom: 10px; }
/* Card excerpt — canonical: Crimson Text 16px (per STYLE-GUIDE.md §5). */
.wcp-article-card .wcp-card-excerpt {
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 16px;
	line-height: 1.55;
	color: var(--wcp-gray-dark);
	margin: 0 0 14px;
	flex-grow: 1;
}
.wcp-article-card .wcp-read-more {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: var(--wcp-orange);
	text-decoration: none;
	font-weight: 700;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	align-self: flex-start;
	transition: color 0.2s ease;
}
.wcp-article-card .wcp-read-more::after {
	content: " \2192";
	font-size: 14px;
	transition: transform 0.2s ease;
}
.wcp-article-card:hover .wcp-read-more { color: var(--wcp-orange-dark); }
.wcp-article-card:hover .wcp-read-more::after { transform: translateX(3px); }

/* ==========================================================================
   HOMEPAGE "LATEST FROM ALL VERTICALS" — real WordPress block classes
   The Query loop renders: .wcp-article-grid > ul.wp-block-post-template > li > article.wcp-article-card
   With post-title (isLink:true) and post-excerpt (moreText:"Read More") inside.
   These rules target the ACTUAL rendered DOM, not mockup class names.
   ========================================================================== */

/* The parent .wcp-article-grid is already a 3-col grid (line 472). The ul and
   li are layout pass-throughs via display:contents so the article cards become
   direct grid items. Mirrors the .wcp-posts-grid pattern (line 2201). WordPress
   core layout rules use :where() (zero specificity), so this rule wins cleanly. */
.wcp-article-grid > ul.wp-block-post-template,
.wcp-article-grid > ul.wp-block-post-template > li {
	display: contents;
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Post title rendered by <!-- wp:post-title {"isLink":true,"level":3} --> */
.wcp-article-card .wp-block-post-title {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--wcp-charcoal);
	margin: 0 0 10px;
}
.wcp-article-card .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}
/* Whole-card clickable: expand the title anchor to cover the entire card. */
.wcp-article-card .wp-block-post-title a::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}
.wcp-article-card:hover .wp-block-post-title a { color: var(--wcp-orange); }

/* Post excerpt block. The wrapper fills the remaining vertical space so that
   the "Read More" line ends up at the same y across every card regardless of
   excerpt length. Body text inherits 17px from the card. */
.wcp-article-card .wp-block-post-excerpt {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	margin: 0;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}
.wcp-article-card .wp-block-post-excerpt__excerpt {
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 16px;
	line-height: 1.55;
	color: var(--wcp-gray-dark);
	margin: 0 0 14px;
	flex-grow: 1;
}

/* "Read More" is rendered as:
     <p class="wp-block-post-excerpt__more-text">
       <a class="wp-block-post-excerpt__more-link" href="...">Read More</a>
     </p>
   Style the inner anchor so BOTH the text and the arrow are orange. */
.wcp-article-card .wp-block-post-excerpt__more-text { margin: 0; }
.wcp-article-card .wp-block-post-excerpt__more-link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--wcp-orange);
	text-decoration: none;
	transition: color 0.2s ease;
}
.wcp-article-card .wp-block-post-excerpt__more-link::after {
	content: " \2192";
	font-size: 14px;
	transition: transform 0.2s ease;
}
.wcp-article-card:hover .wp-block-post-excerpt__more-link { color: var(--wcp-orange-dark); }
.wcp-article-card:hover .wp-block-post-excerpt__more-link::after { transform: translateX(3px); }

/* Responsive handled by parent .wcp-article-grid media queries (lines 1862, 1890). */

/* ==========================================================================
   HUB CARDS (vertical pillars) — must flow in rows, not stacked
   ========================================================================== */
.wcp-hubs-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	width: 100%;
	gap: 24px;
	margin-top: 8px;
}
.wcp-hub-card {
	position: relative;
	background: #fff;
	padding: 32px 26px;
	border-radius: 8px;
	text-align: center;
	box-shadow: var(--wcp-shadow-card);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	cursor: pointer;
	display: flex;
	flex-direction: column;
}
/* Push the Explore button to the card's bottom edge so all six buttons line up
   regardless of how many lines the description takes. */
.wcp-hub-card a.wcp-hub-link,
.wcp-hub-card .wcp-hub-link {
	margin-top: auto !important;
	align-self: center;
}
/* Make the entire card a single clickable target. The ::before pseudo on
   the inner link expands to cover the whole card; the link itself stays
   visually inline. */
.wcp-hub-card a.wcp-hub-link::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
}
/* Card-wide hover should also drive the link state (color + arrow nudge) */
.wcp-hub-card:hover a.wcp-hub-link {
	color: var(--wcp-orange-dark) !important;
}
.wcp-hub-card:hover a.wcp-hub-link::after {
	transform: translateX(3px);
	color: var(--wcp-orange-dark) !important;
}
.wcp-hub-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--wcp-shadow-card-hover);
}
.wcp-hub-icon { font-size: 40px; margin-bottom: 12px; }
.wcp-hub-card h4 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 22px;
	font-weight: 700;
	color: var(--wcp-charcoal);
	margin: 0 0 10px;
	letter-spacing: 0.25px;
}
.wcp-hub-card p {
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 16px;
	line-height: 1.55;
	color: var(--wcp-gray-dark);
	margin: 0 0 14px;
}
.wcp-hub-card a.wcp-hub-link,
.wcp-hub-link {
	display: inline-flex !important;
	align-items: center;
	gap: 4px;
	color: var(--wcp-orange) !important;
	text-decoration: none !important;
	font-weight: 700 !important;
	font-size: 11px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px;
}
.wcp-hub-card a.wcp-hub-link::after,
.wcp-hub-link::after {
	content: " \2192" !important;
	font-size: 13px;
	color: var(--wcp-orange) !important;
	transition: transform 0.2s ease;
}
.wcp-hub-link:hover { color: var(--wcp-orange-dark) !important; }
.wcp-hub-link:hover::after { transform: translateX(3px); color: var(--wcp-orange-dark) !important; }

/* ============================================================================
   HUBS GRID — 5-card variant (cross-channel rail on a hub page that excludes
   its own channel = 5 cards instead of 6). Stretches to 5-across only at
   desktop ≥1101px; below that the existing responsive rules take over
   (3-col at ≤1100, 2-col at ≤680). Added 2026-05-09.
   ============================================================================ */
@media (min-width: 1101px) {
	.wcp-hubs-grid.wcp-hubs-grid--5 {
		grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	}
}


/* ==========================================================================
   LONGFORM / FEATURE BLOCK (image left, content right)
   ========================================================================== */
.wcp-longform-section {
	max-width: var(--wcp-content);
	margin: 64px auto;
	padding: 0 24px;
}
.wcp-longform-container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
	background: #fff;
	padding: 40px;
	border-radius: 8px;
	box-shadow: var(--wcp-shadow-card);
}
.wcp-longform-image {
	width: 100%;
	aspect-ratio: 3 / 4;
	background: linear-gradient(135deg, var(--wcp-sage) 0%, var(--wcp-charcoal) 100%);
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(255, 255, 255, 0.25);
	overflow: hidden;
}
.wcp-longform-image img { width: 100%; height: 100%; object-fit: cover; border-radius: 6px; }
.wcp-longform-content h2 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 34px;
	font-weight: 700;
	color: var(--wcp-charcoal);
	margin: 8px 0 16px;
	line-height: 1.2;
	letter-spacing: 0.25px;
}
.wcp-longform-content p { font-size: 16px; color: var(--wcp-body); line-height: 1.8; margin: 0 0 16px; }

/* ==========================================================================
   NEWSLETTER CTA (deep-blue gradient, FULL-BLEED band, pre-footer section)
   NOTE: Runs full width like the footer. No border-radius. No side margins.
   Gold stroke is reserved for the footer only.
   ========================================================================== */
.wcp-newsletter-section {
	background: var(--wcp-charcoal);
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-top: 72px;
	margin-bottom: 0;
	padding: 80px 24px;
	text-align: center;
	border-radius: 0;
}
/* Guaranteed: no collapse with footer; stand on its own */
body .wcp-newsletter-section { margin-top: 72px; margin-bottom: 0; }
.wcp-newsletter-section + .site-footer,
.wcp-newsletter-section + .wp-block-template-part .site-footer { margin-top: 0; }

/* WP block-gap surgical overrides (header keeps WP's :first-child zero
   already; newsletter wrapper's 24px collapses inside the section's 72px
   margin so it doesn't need touching). */

/* Main and footer are both direct children of .wp-site-blocks so WP injects
   a 24px margin-block-start on each via `:where(.wp-site-blocks) > *`. We
   want both flush — main against the masthead, footer against the
   newsletter. (The newsletter wrapper template-part also gets 24px from the
   same WP rule, but it collapses inside the .wcp-newsletter-section's own
   72px margin so leaving it alone has no visible effect.) */
.wp-site-blocks > main,
.wp-site-blocks > footer.wp-block-template-part {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

/* Masthead gap fix — pages whose post_content starts with an empty
   <p><!-- HERO --></p> followed by a <section> get a 24px gap above <main>.
   The cause: the section gets `margin-block: 24px 0` from WP's
   `:where(.is-layout-flow) > *` layout rule. The empty <p> before it has
   height 0, so the section's top margin collapses upward through the empty
   <p>, then through .entry-content, then through <main>, and surfaces as a
   phantom 24px gap above main. We can't use display: flow-root on the
   post-content wrapper (a separate rule explicitly disables that to fix a
   different margin-collapse issue at the wrapper's bottom edge). Instead
   we zero the margin on the first <section> directly so there's nothing
   to collapse. */
main > .entry-content > section:first-of-type,
main > .wp-block-post-content > section:first-of-type,
main.wcp-live-coming > section:first-of-type {
	margin-top: 0;
	margin-block-start: 0;
}

/* ==========================================================================
   SEO INTRO PARAGRAPHS — visually hidden, semantically present.

   Every page that uses post_content for its body starts with a paragraph
   wrapped in WCP_SEO_INTRO_START / WCP_SEO_INTRO_END HTML comment markers.
   That paragraph is a keyword-dense intro for crawlers and screen readers;
   it's not part of the visual layout. The page hero (a <section>) is what
   should appear visually first.

   We hide these intro paragraphs by targeting any direct <p> child of
   .wcp-page-content. The visual content of every page is wrapped in
   <section> blocks, so a direct-child <p> only ever exists for the SEO
   intro pattern. Use the visually-hidden technique (off-screen positioning
   with 1px clip) so the text remains in the DOM for SEO and assistive tech.

   If a future page ever needs a visible top-level paragraph in post_content,
   wrap it in a <section> (per the established page pattern) instead of
   making it a direct <p> child.
   ========================================================================== */
main > .entry-content > p,
main > .wp-block-post-content > p,
main > .wcp-page-content > p,
.wcp-page-content > p {
	position: absolute !important;
	clip: rect(1px, 1px, 1px, 1px);
	overflow: hidden;
	height: 1px;
	width: 1px;
	word-wrap: normal;
	margin: 0;
	padding: 0;
}
.wcp-newsletter-container { max-width: 640px; margin: 0 auto; }
.wcp-newsletter-section .wcp-section-subtitle { color: var(--wcp-gold); margin-bottom: 12px; text-align: center; }
.wcp-newsletter-section h2 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 34px;
	font-weight: 700;
	color: var(--wcp-cream);
	margin: 0 0 16px;
	text-align: center;
	letter-spacing: 0.25px;
}
.wcp-newsletter-section p {
	font-size: 16px;
	color: rgba(249, 247, 244, 0.8);
	margin: 0 0 28px;
}
.wcp-newsletter-form {
	display: flex;
	gap: 12px;
	max-width: 520px;
	margin: 0 auto;
}
.wcp-newsletter-form input {
	flex: 1;
	padding: 14px 16px;
	border: none;
	border-radius: 6px;
	font-size: 14px;
	font-family: 'Inter', sans-serif;
	color: var(--wcp-charcoal);
}
.wcp-newsletter-form input::placeholder { color: var(--wcp-muted); }
.wcp-newsletter-form button {
	background: var(--wcp-orange);
	color: #fff;
	border: none;
	padding: 14px 28px;
	border-radius: 6px;
	font-weight: 700;
	font-size: 13px;
	cursor: pointer;
	text-transform: uppercase;
	letter-spacing: 1px;
	transition: background-color 0.2s ease;
}
.wcp-newsletter-form button:hover { background: var(--wcp-orange-dark); }

/* ==========================================================================
   FLUENTFORM integration — newsletter section (and all dark-section forms)
   The original .wcp-newsletter-form was a hand-rolled HTML form. Live forms
   render via [fluentform id="2"] which uses .fluentform / .ff-el-form-control
   / .ff-btn-submit. These rules pull that output into the brand look so the
   homepage / archive / blog / single newsletter sections all match.
   ========================================================================== */
.wcp-newsletter-section .wp-block-shortcode { margin: 0 auto; max-width: 520px; }
.wcp-newsletter-section .fluentform { max-width: 520px; margin: 0 auto; }
.wcp-newsletter-section .fluentform form { display: flex !important; flex-wrap: wrap; gap: 12px; align-items: stretch; margin: 0; }
.wcp-newsletter-section .fluentform fieldset { display: contents !important; border: 0; padding: 0; margin: 0; }
.wcp-newsletter-section .fluentform .ff-el-group { margin: 0; }
.wcp-newsletter-section .fluentform .ff-el-group:not(.ff_submit_btn_wrapper) { flex: 1 1 240px; min-width: 200px; }
/* Visually hide the "Your email" label — placeholder + section copy already explain the field */
.wcp-newsletter-section .fluentform .ff-el-input--label { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.wcp-newsletter-section .fluentform .ff-el-form-control {
	width: 100%;
	padding: 14px 16px;
	border: none;
	border-radius: 6px;
	background: var(--wcp-cream);
	color: var(--wcp-charcoal);
	font-size: 15px;
	font-family: 'Inter', -apple-system, system-ui, sans-serif;
	box-shadow: none;
	height: auto;
	line-height: 1.4;
}
.wcp-newsletter-section .fluentform .ff-el-form-control:focus { outline: 2px solid var(--wcp-gold); outline-offset: 1px; background: #fff; }
.wcp-newsletter-section .fluentform .ff-el-form-control::placeholder { color: var(--wcp-muted); }
.wcp-newsletter-section .fluentform .ff_submit_btn_wrapper { margin: 0; flex: 0 0 auto; }
.wcp-newsletter-section .fluentform .ff-btn-submit {
	background: var(--wcp-orange);
	color: #fff;
	border: none;
	padding: 14px 28px;
	border-radius: 6px;
	font-weight: 700;
	font-size: 13px;
	cursor: pointer;
	text-transform: uppercase;
	letter-spacing: 1px;
	transition: background-color 0.2s ease;
	font-family: 'Inter', -apple-system, system-ui, sans-serif;
	box-shadow: none;
	height: auto;
	line-height: 1.4;
}
.wcp-newsletter-section .fluentform .ff-btn-submit:hover { background: var(--wcp-orange-dark); }
.wcp-newsletter-section .fluentform .ff-message-success { color: var(--wcp-cream); background: rgba(196,165,82,0.15); border: 1px solid var(--wcp-gold); padding: 12px 16px; border-radius: 6px; margin-top: 12px; width: 100%; text-align: center; }
.wcp-newsletter-section .ff-errors-in-stack,
.wcp-newsletter-section .fluentform .error,
.wcp-newsletter-section .fluentform .text-danger { color: #ffb4a2; width: 100%; font-size: 13px; margin-top: 6px; }
.wcp-newsletter-section .fluentform .ff-el-input--label.ff-el-is-required.asterisk-right label::after { display: none; }

@media (max-width: 600px) {
	.wcp-newsletter-section .fluentform form { flex-direction: column; }
	.wcp-newsletter-section .fluentform .ff-el-group:not(.ff_submit_btn_wrapper),
	.wcp-newsletter-section .fluentform .ff_submit_btn_wrapper { flex: 1 1 100%; width: 100%; }
	.wcp-newsletter-section .fluentform .ff-btn-submit { width: 100%; }
}

/* Sidebar newsletter box (single/archive sidebar) — same FluentForm, narrower context */
.wcp-sidebar-box.is-newsletter .fluentform form { display: flex; flex-direction: column; gap: 10px; margin: 0; }
.wcp-sidebar-box.is-newsletter .fluentform fieldset { display: contents; border: 0; padding: 0; margin: 0; }
.wcp-sidebar-box.is-newsletter .fluentform .ff-el-input--label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.wcp-sidebar-box.is-newsletter .fluentform .ff-el-form-control { width: 100%; padding: 12px 14px; border: 1px solid var(--wcp-rule); border-radius: 6px; background: var(--wcp-cream); color: var(--wcp-charcoal); font-size: 14px; font-family: 'Inter', sans-serif; }
.wcp-sidebar-box.is-newsletter .fluentform .ff-el-form-control:focus { outline: 2px solid var(--wcp-gold); outline-offset: 1px; border-color: var(--wcp-gold); }
.wcp-sidebar-box.is-newsletter .fluentform .ff-btn-submit { width: 100%; background: var(--wcp-orange); color: #fff; border: 0; padding: 12px 16px; border-radius: 6px; font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; transition: background-color .2s ease; }
.wcp-sidebar-box.is-newsletter .fluentform .ff-btn-submit:hover { background: var(--wcp-orange-dark); }

/* ==========================================================================
   AD UNITS (placeholder look)
   ========================================================================== */
.wcp-ad-wrapper { text-align: center; margin: 48px 0; padding: 24px; }
.wcp-ad-label {
	font-size: 10px;
	color: var(--wcp-muted);
	text-transform: uppercase;
	letter-spacing: 1.5px;
	margin-bottom: 8px;
	text-align: center;
	display: block;
}
.wcp-ad-placeholder {
	margin: 0 auto;
	background: linear-gradient(135deg, var(--wcp-gray-light) 0%, #D9D5CE 100%);
	border: 2px dashed #C0BAB0;
	border-radius: 4px;
	color: var(--wcp-muted);
	font-size: 13px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.wcp-ad-970x90 { width: 100%; max-width: 970px; height: 90px; }
.wcp-ad-728x90 { width: 728px; max-width: 100%; height: 90px; }
.wcp-ad-300x250 { width: 300px; height: 250px; }
.wcp-ad-banner-bar {
	background-color: var(--wcp-gray-light);
	padding: 12px;
	text-align: center;
	border-bottom: 1px solid #D9D5CE;
}

/* ==========================================================================
   SIDEBAR
   ========================================================================== */
.wcp-sidebar-box {
	background: #fff;
	border-radius: 8px;
	padding: 20px;
	box-shadow: var(--wcp-shadow-card);
	margin-bottom: 24px;
	overflow-wrap: break-word;
	word-wrap: break-word;
	min-width: 0;
}
.wcp-sidebar-box * { min-width: 0; overflow-wrap: break-word; word-wrap: break-word; }
.wcp-sidebar-box h4,
.wcp-sidebar-box a,
.wcp-sidebar-box .wp-block-post-title,
.wcp-sidebar-box .wp-block-post-title a {
	overflow-wrap: anywhere;
	word-break: break-word;
	line-height: 1.35;
}
/* Most Popular list (nested inside .wcp-sidebar-box) — contain text and
   tighten spacing between items. Matches the compact "popular posts"
   pattern from the mockup. */
.wcp-sidebar-box .wp-block-query {
	max-width: 100%;
}
.wcp-sidebar-box .wp-block-post-template {
	list-style: none;
	margin: 0;
	padding: 0;
}
.wcp-sidebar-box .wp-block-post-template > li {
	padding: 10px 0;
	border-bottom: 1px solid var(--wcp-gray-light);
}
.wcp-sidebar-box .wp-block-post-template > li:first-child { padding-top: 0; }
.wcp-sidebar-box .wp-block-post-template > li:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}
.wcp-sidebar-box .wp-block-post-title {
	max-width: 100%;
	font-family: 'Crimson Text', Georgia, serif;
	font-weight: 400;
	font-size: 15px;
	line-height: 1.4;
}
.wcp-sidebar-box .wp-block-post-title a {
	color: var(--wcp-orange);
	text-decoration: none;
	font-weight: 400;
	transition: color 0.2s ease;
}
.wcp-sidebar-box .wp-block-post-title a:hover {
	color: var(--wcp-orange-dark, #D65F26);
	text-decoration: underline;
}
/* Section heading only — direct child so post-title h4s inside .wp-block-query
   don't inherit this border/padding and create a second rule under each link. */
.wcp-sidebar-box > h4 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 16px;
	margin: 0 0 16px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--wcp-gray-light);
	color: var(--wcp-charcoal);
}

/* ----- Sidebar newsletter box: deep blue gradient, gold accents, stacked form ----- */
.wcp-sidebar-box.is-newsletter {
	background: linear-gradient(135deg, #1A3A5C 0%, #2C6FAA 100%);
	color: var(--wcp-cream);
	border: 0;
}
.wcp-sidebar-box.is-newsletter > .wcp-section-subtitle {
	color: var(--wcp-gold);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-size: 11px;
	font-weight: 600;
	margin-bottom: 6px;
}
.wcp-sidebar-box.is-newsletter > h4,
.wcp-sidebar-box.is-newsletter > h3 {
	color: var(--wcp-cream);
	border-bottom-color: rgba(255, 255, 255, 0.15);
}
.wcp-sidebar-box.is-newsletter p {
	color: rgba(249, 247, 244, 0.9);
	margin: 0 0 14px;
}
.wcp-sidebar-box.is-newsletter .wcp-newsletter-form {
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-width: 100%;
	margin: 0;
}
.wcp-sidebar-box.is-newsletter .wcp-newsletter-form br { display: none; }
.wcp-sidebar-box.is-newsletter .wcp-newsletter-form input[type="email"] {
	width: 100%;
	background: var(--wcp-cream);
	color: var(--wcp-charcoal);
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 6px;
	padding: 12px 14px;
	font-size: 14px;
}
.wcp-sidebar-box.is-newsletter .wcp-newsletter-form input[type="email"]:focus {
	outline: 2px solid var(--wcp-gold);
	outline-offset: 1px;
	border-color: var(--wcp-gold);
}
.wcp-sidebar-box.is-newsletter .wcp-newsletter-form input::placeholder {
	color: var(--wcp-muted);
}
.wcp-sidebar-box.is-newsletter .wcp-newsletter-form button {
	width: 100%;
	background: var(--wcp-orange);
}
.wcp-sidebar-box.is-newsletter .wcp-newsletter-form button:hover {
	background: var(--wcp-orange-dark);
}

.wcp-popular-list {
	list-style: decimal;
	padding-left: 20px;
	margin: 0;
	font-family: 'Crimson Text', Georgia, serif;
}
.wcp-popular-list li { padding: 8px 0; border-bottom: 1px solid var(--wcp-gray-light); font-size: 14px; color: var(--wcp-charcoal); line-height: 1.4; }
.wcp-popular-list li:last-child { border-bottom: none; }
.wcp-popular-list a { color: var(--wcp-charcoal); text-decoration: none; font-weight: 600; }
.wcp-popular-list a:hover { color: var(--wcp-orange); }

/* ==========================================================================
   LEGAL PAGES (Privacy Policy, Terms of Use)
   Clean reading prose on cream with Crimson Text body and Bodoni Moda
   section headings. Constrained measure for readability.
   ========================================================================== */
.wcp-legal {
	max-width: 760px;
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 18px;
	line-height: 1.7;
	color: var(--wcp-charcoal);
	padding-top: 56px;
	padding-bottom: 72px;
}
.wcp-legal__meta {
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	line-height: 1.6;
	color: var(--wcp-gray-mid);
	padding: 14px 18px;
	border-left: 3px solid var(--wcp-orange);
	background: #fff;
	border-radius: 2px;
	margin: 0 0 32px;
}
.wcp-legal h2 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 26px;
	font-weight: 600;
	color: var(--wcp-charcoal);
	line-height: 1.25;
	margin: 40px 0 12px;
}
.wcp-legal p {
	margin: 0 0 16px;
}
.wcp-legal a {
	color: var(--wcp-orange);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.wcp-legal a:hover {
	color: var(--wcp-orange-dark, #D65F26);
}
.wcp-legal ul {
	margin: 0 0 16px;
	padding-left: 22px;
}
.wcp-legal li {
	margin-bottom: 6px;
}
.wcp-legal strong {
	color: var(--wcp-charcoal);
	font-weight: 700;
}

/* ==========================================================================
   PAGE HEADER (inner pages)
   ========================================================================== */
.wcp-page-hero {
	background: linear-gradient(135deg, var(--wcp-primary-dark) 0%, var(--wcp-charcoal) 100%);
	padding: 80px 24px 72px;
	text-align: center;
	color: var(--wcp-cream);
	/* Full-bleed even when placed inside a constrained post-content wrapper */
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
/* Page hero pattern = subtitle / title / dek. No HR rules in the main hero. */
.wcp-page-hero hr,
.wcp-page-hero .wcp-section-hr { display: none; }
.wcp-page-hero .wcp-section-subtitle {
	color: var(--wcp-gold);
	text-align: center;
	margin-bottom: 12px;
}
.wcp-page-hero h1 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 52px;
	font-weight: 700;
	color: var(--wcp-cream);
	line-height: 1.1;
	letter-spacing: 0.25px;
	margin: 0 0 16px;
	max-width: 820px;
	margin-inline: auto;
}
.wcp-page-hero p {
	font-size: 18px;
	line-height: 1.7;
	color: rgba(249, 247, 244, 0.85);
	max-width: 680px;
	margin: 0 auto 28px;
}
.wcp-page-hero .wcp-cta { margin-top: 8px; }

/* All page heroes use charcoal gradient. is-blue is retained for internal
   sections (e.g. pre-footer CTA strip) but page heroes should NOT use it. */
.wcp-page-hero.is-blue {
	background: linear-gradient(135deg, var(--wcp-primary-dark) 0%, var(--wcp-charcoal) 100%);
}

/* ==========================================================================
   STATS BAR (used on advertise page)
   ========================================================================== */
.wcp-stats-wrapper {
	max-width: var(--wcp-content);
	margin: -40px auto 0;
	padding: 0 24px;
	position: relative;
	z-index: 2;
}
.wcp-stats-bar {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	overflow: hidden;
}
.wcp-stat-item {
	padding: 32px 24px;
	text-align: center;
	border-right: 1px solid var(--wcp-gray-light);
}
.wcp-stat-item:last-child { border-right: none; }
.wcp-stat-number {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 40px;
	color: var(--wcp-orange);
	font-weight: 700;
	line-height: 1;
	margin-bottom: 6px;
}
.wcp-stat-label {
	font-size: 13px;
	color: var(--wcp-muted);
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 500;
}

/* ==========================================================================
   "WHY" CARDS / FEATURE CARDS (used on advertise, about, etc.)
   ========================================================================== */
.wcp-why-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}
.wcp-why-card {
	background: #fff;
	border-radius: 8px;
	padding: 32px 28px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
	transition: box-shadow 0.3s ease, transform 0.25s ease;
}
.wcp-why-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}
.wcp-why-icon {
	width: 48px;
	height: 48px;
	border-radius: 10px;
	background: rgba(232, 115, 60, 0.10);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	margin-bottom: 16px;
}
.wcp-why-card h3 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 22px;
	color: var(--wcp-charcoal);
	margin: 0 0 10px;
	font-weight: 700;
}
.wcp-why-card p {
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 16px;
	line-height: 1.55;
	color: var(--wcp-gray-dark);
	margin: 0;
}

/* ==========================================================================
   THE FORMAT — full-bleed editorial dark strip (Live page)
   Charcoal gradient background breaks the cream rhythm. Giant Bodoni Moda
   numerals anchor each step. White headlines, soft body, orange accents.
   ========================================================================== */
.wcp-format-strip {
	background: linear-gradient(180deg, #3D3B37 0%, #2B2725 100%);
	width: 100vw;
	margin-top: 0;
	margin-right: calc(50% - 50vw);
	margin-bottom: 0;
	margin-left: calc(50% - 50vw);
	padding: 88px 0;
	max-width: none;
}
.wcp-format-strip__inner {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 24px;
}
.wcp-format-strip .wcp-section-subtitle {
	color: var(--wcp-orange);
}
.wcp-format-strip .wcp-section-title {
	color: #fff;
}
.wcp-format-strip .wcp-section-hr {
	border-color: rgba(255, 255, 255, 0.12);
}

.wcp-format-strip .wcp-format-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 48px;
	margin-top: 48px;
}
.wcp-format-strip .wcp-format-card {
	display: flex;
	flex-direction: column;
	background: transparent;
	border: 0;
	padding: 0;
}
.wcp-format-strip .wcp-format-num {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 110px;
	font-weight: 400;
	line-height: 0.9;
	color: var(--wcp-orange);
	margin: 0 0 18px;
	letter-spacing: -0.02em;
}
.wcp-format-strip .wcp-format-card h3 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: #fff;
	margin: 0 0 22px;
	white-space: nowrap;
}
.wcp-format-strip .wcp-format-card p {
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 16px;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.78);
	margin: 0;
}
.wcp-format-strip .wcp-format-card:hover {
	background: transparent;
	border: 0;
}

@media (max-width: 900px) {
	.wcp-format-strip .wcp-format-grid { grid-template-columns: 1fr; gap: 40px; }
	.wcp-format-strip { padding: 64px 0; }
	.wcp-format-strip .wcp-format-num { font-size: 88px; }
	.wcp-format-strip .wcp-format-card h3 { white-space: normal; }
}

/* ==========================================================================
   DARK FORMATS GRID (ad formats panel)
   ========================================================================== */
.wcp-dark-panel {
	background: linear-gradient(135deg, var(--wcp-primary-dark) 0%, var(--wcp-charcoal) 100%);
	padding: 72px 24px;
	margin: 64px 0;
}
/* Charcoal-brown is now the default; .is-charcoal kept as a no-op alias for backward compat */
.wcp-dark-panel.is-charcoal {
	background: linear-gradient(135deg, var(--wcp-primary-dark) 0%, var(--wcp-charcoal) 100%);
}
/* Opt back into the deep-blue gradient if a page explicitly wants it */
.wcp-dark-panel.is-deep-blue {
	background: linear-gradient(135deg, var(--wcp-deep-blue-dark) 0%, var(--wcp-deep-blue) 100%);
}
/* Deep-blue gradient accessibility: gold subtitle (#C4A552) on the lighter end
   of the gradient drops to ~2.2:1, fails WCAG AA. Cream subtitle hits ~9-15:1.
   Pills get a frosted-white overlay so they read as "lighter than the gradient"
   while keeping white text legible across the gradient's range. */
.wcp-dark-panel.is-deep-blue .wcp-section-subtitle {
	color: var(--wcp-cream);
}
.wcp-dark-panel.is-deep-blue .wcp-format-badge,
.wcp-dark-panel.is-deep-blue .wcp-spec-tag {
	background: rgba(255, 255, 255, 0.15);
	color: #fff;
	border: 0;
	font-weight:400;
}
.wcp-form-specs .wcp-spec-tag { font-weight:800; }
/* Contained variant — dark panel sits inside main container width, not full-bleed */
.wcp-dark-panel.is-contained {
	max-width: var(--wcp-content);
	margin: 64px auto;
	padding: 64px 40px;
	border-radius: 10px;
}
.wcp-dark-panel-inner { max-width: var(--wcp-content); margin: 0 auto; }
.wcp-dark-panel h2 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 36px;
	color: var(--wcp-cream);
	text-align: center;
	margin: 0 0 12px;
	font-weight: 700;
}
.wcp-dark-panel .wcp-section-subtitle { color: var(--wcp-gold); text-align: center; }
.wcp-dark-panel p.wcp-lead { color: rgba(249, 247, 244, 0.8); text-align: center; max-width: 640px; margin: 0 auto 48px; font-size: 16px; line-height: 1.7; }

/* Left-align variant for dark panels (overrides the centered defaults) */
.wcp-dark-panel.is-left .wcp-section-subtitle,
.wcp-dark-panel.is-left h2,
.wcp-dark-panel.is-left p.wcp-lead { text-align: left; margin-left: 0; margin-right: 0; }
.wcp-dark-panel.is-left p.wcp-lead { max-width: 720px; margin: 0 0 48px; }

.wcp-formats-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 24px;
}
.wcp-format-card {
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 8px;
	padding: 32px 28px;
	transition: background 0.3s ease, border-color 0.3s ease;
}
.wcp-format-card:hover {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(196, 165, 82, 0.4);
}
.wcp-format-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 12px;
	gap: 12px;
}
.wcp-format-card h3 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 22px;
	color: var(--wcp-cream);
	font-weight: 700;
	margin: 0;
}
.wcp-format-badge {
	padding: 4px 12px;
	background: rgba(196, 165, 82, 0.2);
	color: var(--wcp-gold);
	border-radius: 4px;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 700;
	white-space: nowrap;
}
.wcp-format-card p {
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 16px;
	line-height: 1.55;
	color: rgba(249, 247, 244, 0.78);
	margin: 0 0 16px;
}
.wcp-format-specs {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}
.wcp-spec-tag {
	padding: 6px 12px;
	background: rgba(255, 255, 255, 0.06);
	border-radius: 4px;
	font-size: 12px;
	color: rgba(249, 247, 244, 0.6);
}

/* ==========================================================================
   CONTACT / FORM STYLES
   ========================================================================== */
.wcp-contact-grid {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 48px;
	align-items: stretch;
}
.wcp-contact-left { display: flex; flex-direction: column; gap: 28px; }
.wcp-contact-sidebar { display: flex; flex-direction: column; gap: 24px; }

.wcp-contact-card {
	background: #fff;
	padding: 28px;
	border-radius: 8px;
	box-shadow: var(--wcp-shadow-card);
}
.wcp-contact-card--form { padding: 40px; flex: 1; display: flex; flex-direction: column; }
.wcp-contact-card__title {
	font-family: 'Bodoni Moda', serif;
	font-size: 28px;
	font-weight: 600;
	color: var(--wcp-charcoal);
	margin: 0 0 28px;
	letter-spacing: 0.25px;
}
.wcp-contact-card__title-sm {
	font-family: 'Bodoni Moda', serif;
	font-size: 18px;
	font-weight: 600;
	color: var(--wcp-charcoal);
	margin: 0 0 20px;
}
.wcp-contact-form {
	background: transparent;
	padding: 0;
	border-radius: 0;
	box-shadow: none;
}
.wcp-submit-btn {
	display: inline-block;
	background: var(--wcp-orange);
	color: #fff;
	padding: 14px 32px;
	border: none;
	border-radius: 6px;
	font-weight: 600;
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-family: 'Inter', sans-serif;
	cursor: pointer;
	margin-top: 8px;
	transition: background 200ms ease;
}
.wcp-submit-btn:hover { background: var(--wcp-orange-dark); }

/* Live chat / quick chat card */
.wcp-live-chat-card {
	background: #fff;
	padding: 28px;
	border-radius: 8px;
	box-shadow: var(--wcp-shadow-card);
	border-left: 4px solid var(--wcp-orange);
}
.wcp-live-chat-card__title {
	font-family: 'Bodoni Moda', serif;
	font-size: 20px;
	font-weight: 600;
	color: var(--wcp-charcoal);
	margin: 0 0 14px;
	display: flex;
	align-items: center;
	gap: 12px;
}
.wcp-live-chat-card__icon { font-size: 22px; line-height: 1; }
.wcp-live-chat-card p {
	font-size: 14px;
	color: var(--wcp-body);
	margin: 0 0 16px;
	line-height: 1.6;
}
.wcp-chat-btn {
	display: inline-block;
	background: var(--wcp-orange);
	color: #fff;
	padding: 11px 20px;
	text-decoration: none;
	border-radius: 6px;
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	transition: background 200ms ease;
}
.wcp-chat-btn:hover { background: var(--wcp-orange-dark); }

/* Sidebar cards — info list */
.wcp-contact-info-group { margin-bottom: 18px; }
.wcp-contact-info-group:last-child { margin-bottom: 0; }
.wcp-info-label {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--wcp-gray-mid);
	margin-bottom: 6px;
}
.wcp-info-link {
	color: var(--wcp-charcoal);
	text-decoration: none;
	font-weight: 600;
	font-size: 14px;
	transition: color 200ms ease;
}
.wcp-info-link:hover { color: var(--wcp-orange); }
.wcp-info-text {
	font-size: 14px;
	color: var(--wcp-body);
}

/* Social icons */
.wcp-social-links {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 4px;
}
.wcp-social-link {
	width: 40px;
	height: 40px;
	border-radius: 6px;
	background: #F3F0EA;
	color: var(--wcp-charcoal);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
	letter-spacing: 0.5px;
	transition: all 200ms ease;
}
.wcp-social-link:hover {
	background: var(--wcp-orange);
	color: #fff;
}

/* Partnership card (accent left border) */
.wcp-partnership-card {
	background: #fff;
	padding: 24px;
	border-radius: 8px;
	border-left: 4px solid var(--wcp-deep-blue, #2C6FAA);
	box-shadow: var(--wcp-shadow-card);
}
.wcp-partnership-card h3 {
	font-family: 'Bodoni Moda', serif;
	font-size: 16px;
	font-weight: 600;
	color: var(--wcp-charcoal);
	margin: 0 0 10px;
}
.wcp-partnership-card p {
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 16px;
	line-height: 1.55;
	color: var(--wcp-gray-dark);
	margin: 0 0 12px;
}
.wcp-partnership-card a {
	color: var(--wcp-orange);
	text-decoration: none;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.04em;
}
.wcp-partnership-card a:hover { color: var(--wcp-orange-dark); }

/* Response time card */
.wcp-response-card {
	background: var(--wcp-cream-2, #F3F0EA);
	padding: 24px;
	border-radius: 8px;
	border-top: 2px solid var(--wcp-orange);
}
.wcp-response-card h3 {
	font-family: 'Bodoni Moda', serif;
	font-size: 16px;
	font-weight: 600;
	color: var(--wcp-charcoal);
	margin: 0 0 10px;
}
.wcp-response-card p {
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 16px;
	line-height: 1.55;
	color: var(--wcp-gray-dark);
	margin: 0;
}

/* Newsletter teaser */
.wcp-newsletter-teaser {
	background: #fff;
	padding: 24px;
	border-radius: 8px;
	box-shadow: var(--wcp-shadow-card);
	text-align: center;
}
.wcp-newsletter-teaser h3 {
	font-family: 'Bodoni Moda', serif;
	font-size: 16px;
	font-weight: 600;
	color: var(--wcp-charcoal);
	margin: 0 0 10px;
}
.wcp-newsletter-teaser p {
	font-size: 13px;
	color: var(--wcp-body);
	margin: 0 0 14px;
	line-height: 1.6;
}
.wcp-newsletter-teaser a {
	color: var(--wcp-orange);
	text-decoration: none;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.04em;
	transition: color 200ms ease;
}
.wcp-newsletter-teaser a:hover { color: var(--wcp-orange-dark); }

/* FAQ accordion */
.wcp-faq-section { padding-bottom: 32px; }
.wcp-faq-container {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	margin-top: 24px;
}
.wcp-faq-item {
	background: #fff;
	padding: 22px 24px;
	border-radius: 8px;
	box-shadow: var(--wcp-shadow-card);
	cursor: pointer;
	transition: transform 200ms ease, box-shadow 200ms ease;
}
.wcp-faq-item:hover {
	transform: translateY(-2px);
	box-shadow: var(--wcp-shadow-md);
}
.wcp-faq-question {
	font-family: 'Crimson Text', serif;
	font-size: 17px;
	font-weight: 600;
	color: var(--wcp-charcoal);
	margin: 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 14px;
}
.wcp-faq-toggle {
	font-size: 22px;
	color: var(--wcp-orange);
	line-height: 1;
	flex-shrink: 0;
	transition: transform 200ms ease;
}
.wcp-faq-answer {
	font-size: 14px;
	color: var(--wcp-body);
	line-height: 1.65;
	max-height: 0;
	overflow: hidden;
	margin: 0;
	transition: max-height 300ms ease, margin-top 200ms ease;
}
.wcp-faq-item.active .wcp-faq-answer {
	max-height: 400px;
	margin-top: 14px;
}
.wcp-faq-item.active .wcp-faq-toggle {
	transform: rotate(45deg);
}
.wcp-field { margin-bottom: 20px; }
.wcp-field label {
	display: block;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--wcp-charcoal);
	margin-bottom: 8px;
}
.wcp-field input,
.wcp-field select,
.wcp-field textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--wcp-gray-light);
	border-radius: 6px;
	font-size: 15px;
	font-family: 'Inter', sans-serif;
	color: var(--wcp-charcoal);
	background: #fff;
	transition: border-color 0.2s ease;
}
.wcp-field input:focus,
.wcp-field select:focus,
.wcp-field textarea:focus {
	outline: none;
	border-color: var(--wcp-orange);
}
.wcp-field textarea { min-height: 140px; resize: vertical; }

.wcp-contact-info { padding: 8px 0; }
.wcp-contact-info h3 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 22px;
	margin: 0 0 12px;
	color: var(--wcp-charcoal);
}
.wcp-contact-info p { color: var(--wcp-body); line-height: 1.7; margin: 0 0 16px; font-size: 15px; }
.wcp-contact-info .wcp-contact-item {
	display: flex;
	gap: 14px;
	margin-bottom: 18px;
	align-items: flex-start;
}
.wcp-contact-item .wcp-contact-icon {
	width: 40px;
	height: 40px;
	border-radius: 8px;
	background: rgba(232, 115, 60, 0.10);
	color: var(--wcp-orange);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	font-size: 18px;
}
.wcp-contact-item strong { display: block; font-size: 13px; text-transform: uppercase; letter-spacing: 1px; color: var(--wcp-charcoal); margin-bottom: 4px; }
.wcp-contact-item span { font-size: 14px; color: var(--wcp-body); }

/* ==========================================================================
   DJ SET CARDS (playlists page)
   ========================================================================== */
.wcp-playlist-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}
.wcp-playlist-card {
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: var(--wcp-shadow-card);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.wcp-playlist-card:hover { transform: translateY(-4px); box-shadow: var(--wcp-shadow-card-hover); }
.wcp-playlist-cover {
	aspect-ratio: 1 / 1;
	background: linear-gradient(135deg, var(--wcp-charcoal) 0%, var(--wcp-deep-blue-dark) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(255, 255, 255, 0.3);
	font-size: 14px;
	position: relative;
}
.wcp-playlist-cover .wcp-play-icon {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--wcp-orange);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
}
.wcp-playlist-content { padding: 20px; }
.wcp-playlist-content h3 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 8px;
	color: var(--wcp-charcoal);
}
.wcp-playlist-meta {
	font-size: 12px;
	color: var(--wcp-muted);
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 10px;
}
.wcp-playlist-content p { font-size: 14px; color: var(--wcp-body); margin: 0 0 14px; line-height: 1.6; }

/* ==========================================================================
   LIVE PAGE HERO (image bg + dark overlay, matches mockup_live.html)
   ========================================================================== */
.wcp-live-hero {
	position: relative;
	min-height: 620px;
	height: 92vh;
	max-height: 780px;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	background: var(--wcp-hero-gradient);
}
/* Note: the previous `main > .wcp-live-hero:first-child { margin-top: -24px }`
   override was removed in v2.7.13 because `.wp-site-blocks > main` now zeroes
   the WP block-gap, so the hero is already flush against the masthead with
   no negative-margin trick needed. */
.wcp-live-hero .wcp-live-hero-img {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	object-position: center 30%;
}
.wcp-live-hero .wcp-live-hero-overlay {
	position: absolute; inset: 0;
	background: linear-gradient(to bottom, rgba(20,14,10,0.10) 0%, rgba(20,14,10,0.22) 40%, rgba(20,14,10,0.72) 75%, rgba(20,14,10,0.9) 100%);
}
.wcp-live-hero .wcp-live-hero-content {
	position: relative; z-index: 2;
	max-width: var(--wcp-content); margin: 0 auto;
	padding: 0 24px 72px;
	width: 100%;
	text-align: left;
}
.wcp-live-hero .wcp-live-label {
	display: inline-flex; align-items: center; gap: 8px;
	background: var(--wcp-rust);
	color: #fff;
	font-size: 11px; font-weight: 700;
	letter-spacing: 0.18em; text-transform: uppercase;
	padding: 6px 14px; border-radius: 3px;
	margin-bottom: 20px;
}
.wcp-live-hero .wcp-live-label .wcp-live-dot,
.wcp-now-streaming-badge .wcp-live-dot {
	display: inline-block;
	width: 7px; height: 7px;
	background: var(--wcp-orange);
	border-radius: 50%;
	animation: wcp-live-pulse 1.4s ease-in-out infinite;
}
.wcp-live-hero .wcp-live-label .wcp-live-dot { background: #fff; }
@keyframes wcp-live-pulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50%       { opacity: 0.5; transform: scale(0.7); }
}
.wcp-live-hero h1 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: clamp(48px, 7vw, 92px);
	font-weight: 700;
	color: #fff;
	line-height: 0.95;
	margin: 0 0 16px;
	text-align: left;
}
.wcp-live-hero h1 em {
	font-style: italic;
	color: var(--wcp-gold);
}
.wcp-live-hero .wcp-live-tagline {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: clamp(18px, 2.2vw, 24px);
	color: rgba(255,255,255,0.85);
	margin: 0 0 32px;
	max-width: 560px;
	line-height: 1.5;
}
.wcp-live-hero .wcp-live-actions {
	display: flex; gap: 16px; align-items: center; flex-wrap: wrap;
}
.wcp-live-hero .wcp-live-actions .wcp-cta { background: var(--wcp-rust); }
.wcp-live-hero .wcp-live-actions .wcp-cta:hover { background: #9A4C2F; }
.wcp-live-hero .wcp-live-actions .wcp-cta.is-ghost {
	background: transparent;
	color: #fff !important;
	border: 1.5px solid rgba(255,255,255,0.45);
}
.wcp-live-hero .wcp-live-actions .wcp-cta.is-ghost:hover { border-color: #fff; background: transparent; color: #fff !important; }

.wcp-session-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 28px;
}
.wcp-session-card {
	background: #fff;
	border-radius: 8px;
	padding: 28px;
	box-shadow: var(--wcp-shadow-card);
	border-left: 4px solid var(--wcp-gold);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.wcp-session-card:hover { transform: translateY(-4px); box-shadow: var(--wcp-shadow-card-hover); }
.wcp-session-date {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 700;
	color: var(--wcp-orange);
	text-transform: uppercase;
	letter-spacing: 2px;
	margin-bottom: 8px;
}
.wcp-session-card h3 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 22px;
	margin: 0 0 10px;
	color: var(--wcp-charcoal);
}
.wcp-session-card p {
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 16px;
	line-height: 1.55;
	color: var(--wcp-gray-dark);
	margin: 0 0 14px;
}
.wcp-session-meta { display: flex; gap: 16px; font-size: 12px; color: var(--wcp-muted); flex-wrap: wrap; }
.wcp-session-meta span { display: inline-flex; align-items: center; gap: 6px; }

/* ==========================================================================
   POSTS LANDING / ARCHIVE
   ========================================================================== */
.wcp-archive-header {
	max-width: var(--wcp-content);
	margin: 48px auto 32px;
	padding: 0 24px;
	text-align: center;
}
.wcp-archive-header .wcp-section-subtitle { text-align: center; }
.wcp-archive-header h1 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 44px;
	color: var(--wcp-charcoal);
	margin: 0 0 10px;
	letter-spacing: 0.25px;
}
.wcp-archive-header p { font-size: 16px; color: var(--wcp-body); max-width: 640px; margin: 0 auto; line-height: 1.7; }

.wcp-filter-bar {
	max-width: var(--wcp-content);
	margin: 0 auto 32px;
	padding: 0 24px;
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: center;
}
.wcp-filter-bar a {
	padding: 8px 18px;
	border: 1px solid var(--wcp-gray-light);
	border-radius: 999px;
	background: #fff;
	color: var(--wcp-charcoal);
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 600;
	transition: all 0.2s ease;
}
.wcp-filter-bar a:hover,
.wcp-filter-bar a.is-active {
	background: var(--wcp-orange);
	color: #fff;
	border-color: var(--wcp-orange);
}

/* ==========================================================================
   SINGLE POST
   ========================================================================== */
.wcp-post-hero {
	max-width: var(--wcp-content);
	margin: 48px auto 32px;
	padding: 0 24px;
	text-align: center;
}
.wcp-post-hero .wcp-category-tag { margin-bottom: 16px; }
.wcp-post-hero h1 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 48px;
	color: var(--wcp-charcoal);
	margin: 0 0 16px;
	line-height: 1.15;
	letter-spacing: 0.25px;
	max-width: 820px;
	margin-inline: auto;
}
.wcp-post-hero .wcp-post-meta {
	color: var(--wcp-muted);
	font-size: 13px;
	margin-bottom: 24px;
	text-transform: uppercase;
	letter-spacing: 1px;
}
.wcp-post-featured {
	max-width: 1040px;
	margin: 0 auto 48px;
	padding: 0 24px;
}
.wcp-post-featured img { width: 100%; border-radius: 8px; box-shadow: var(--wcp-shadow-lift); }

.wcp-post-body {
	max-width: 760px;
	margin: 0 auto;
	padding: 0 24px 64px;
	font-size: 17px;
	line-height: 1.8;
	color: var(--wcp-charcoal);
}
.wcp-post-body h2 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 32px;
	margin: 40px 0 16px;
	color: var(--wcp-charcoal);
}
.wcp-post-body h3 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 24px;
	margin: 32px 0 12px;
	color: var(--wcp-charcoal);
}
.wcp-post-body p { margin: 0 0 1.2em; }
.wcp-post-body blockquote {
	margin: 32px 0;
	padding: 16px 24px;
	border-left: 4px solid var(--wcp-gold);
	background: rgba(196, 165, 82, 0.05);
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 22px;
	font-style: italic;
	color: var(--wcp-charcoal);
}
.wcp-post-body ul,
.wcp-post-body ol { margin: 0 0 1.2em 1.5em; }
.wcp-post-body li { margin-bottom: 0.5em; }
.wcp-post-body img { margin: 24px 0; border-radius: 6px; }

/* ==========================================================================
   GENERIC PROSE CONTAINER (about page, legal pages, etc.)
   ========================================================================== */
.wcp-prose {
	max-width: 760px;
	margin: 0 auto;
	padding: 0 24px;
	font-size: 16px;
	line-height: 1.8;
	color: var(--wcp-charcoal);
}
.wcp-prose h2 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 32px;
	margin: 40px 0 16px;
	color: var(--wcp-charcoal);
}
.wcp-prose h3 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 22px;
	margin: 28px 0 12px;
	color: var(--wcp-charcoal);
}
.wcp-prose p { margin: 0 0 1.2em; }

/* ==========================================================================
   TWO-COLUMN CONTENT + SIDEBAR
   ========================================================================== */
.wcp-main-sidebar-grid {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 48px;
}

/* ==========================================================================
   WORK WITH US / NEWSLETTER HERO VARIANTS
   ========================================================================== */
.wcp-value-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	margin-top: 32px;
}
.wcp-value-card {
	background: #fff;
	padding: 32px 28px;
	border-radius: 8px;
	box-shadow: var(--wcp-shadow-card);
	text-align: center;
}
.wcp-value-card .wcp-value-number {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 48px;
	color: var(--wcp-gold);
	font-weight: 700;
	line-height: 1;
	margin-bottom: 12px;
}
.wcp-value-card h3 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 20px;
	color: var(--wcp-charcoal);
	margin: 0 0 10px;
}
.wcp-value-card p { font-size: 14px; color: var(--wcp-body); line-height: 1.7; margin: 0; }

/* ==========================================================================
   CTA STRIP (pre-footer, deep-blue gradient, within container)
   NOTE: No gold stroke — reserved for the footer only.
   ========================================================================== */
.wcp-cta-strip {
	background: linear-gradient(135deg, var(--wcp-deep-blue-dark) 0%, var(--wcp-deep-blue) 100%);
	max-width: var(--wcp-content);
	margin: 48px auto 48px;
	padding: 56px 24px;
	text-align: center;
	color: var(--wcp-cream);
	border-radius: 10px;
}
.wcp-cta-strip h2 { color: var(--wcp-cream); font-size: 32px; margin: 0 0 12px; font-family: 'Bodoni Moda', Georgia, serif; }
.wcp-cta-strip p { color: rgba(249, 247, 244, 0.8); margin: 0 auto 24px; max-width: 560px; }
/* Full-bleed variant — section runs edge-to-edge like the footer */
.wcp-cta-strip.is-full {
	max-width: 100vw;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-top: 0;
	margin-bottom: 0;
	padding: 80px 24px;
	border-radius: 0;
}

/* Breathing room between the last content section and the full-bleed CTA strip */
.wcp-section.wcp-section--has-bottom-gap {
	padding-bottom: 96px;
}

/* ==========================================================================
   FILTER BAR / CHIPS (archive + playlists)
   ========================================================================== */
.wcp-filter-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 0 0 8px;
	margin: 0 auto;
	max-width: 1200px;
}
.wcp-filter-chip {
	display: inline-flex;
	align-items: center;
	width: auto;
	max-width: max-content;
	padding: 8px 18px;
	border: 1px solid rgba(43, 39, 37, 0.15);
	border-radius: 999px;
	background: #fff;
	color: var(--wcp-charcoal);
	font-family: 'Inter', system-ui, sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	text-decoration: none;
	transition: all 0.2s ease;
}
.wcp-filter-chip:hover {
	border-color: var(--wcp-orange);
	color: var(--wcp-orange);
}
.wcp-filter-chip.is-active {
	background: var(--wcp-charcoal);
	border-color: var(--wcp-charcoal);
	color: var(--wcp-cream);
}

/* ==========================================================================
   SINGLE POST EXTRAS (author card + tags label)
   ========================================================================== */
.wcp-post-tags-label {
	margin: 48px 0 12px;
	font-family: 'Inter', system-ui, sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--wcp-gold);
}
.wcp-author-card {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	padding: 28px;
	margin-top: 48px;
	background: #fff;
	border: 1px solid rgba(43, 39, 37, 0.08);
	border-left: 4px solid var(--wcp-gold);
	border-radius: 8px;
	box-shadow: var(--wcp-shadow-sm);
}
.wcp-author-avatar {
	flex-shrink: 0;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--wcp-primary-dark) 0%, var(--wcp-charcoal) 100%);
	color: var(--wcp-gold);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 32px;
	font-weight: 700;
}
.wcp-author-card h3 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 22px;
}

/* ==========================================================================
   BLOCK EDITOR SAFETY (WordPress core overrides)
   ========================================================================== */
.wp-block-button .wp-block-button__link,
.wp-element-button {
	background-color: var(--wcp-orange);
	color: #fff;
	padding: 14px 28px;
	border-radius: 6px;
	font-weight: 700;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 1px;
	text-decoration: none;
	border: none;
	transition: background-color 0.2s ease;
}
.wp-block-button .wp-block-button__link:hover,
.wp-element-button:hover { background-color: var(--wcp-orange-dark); color: #fff; }

.wp-block-quote {
	border-left: 4px solid var(--wcp-gold);
	padding-left: 24px;
	margin: 28px 0;
	font-family: 'Crimson Text', Georgia, serif;
	font-style: italic;
	color: var(--wcp-charcoal);
}

.wp-block-separator {
	border: 0;
	height: 1px;
	background: var(--wcp-gray-light);
	margin: 32px auto;
	max-width: 100px;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1100px) {
	.wcp-hubs-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
	.wcp-footer-grid { grid-template-columns: repeat(2, 1fr); }
	.wcp-stats-bar { grid-template-columns: repeat(2, 1fr); }
	.wcp-stat-item:nth-child(2) { border-right: none; }
	.wcp-stat-item:nth-child(-n+2) { border-bottom: 1px solid var(--wcp-gray-light); }
	.wcp-value-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
	.wcp-article-grid { grid-template-columns: repeat(2, 1fr); }
	.wcp-article-grid.is-2col { grid-template-columns: 1fr; }
	.wcp-longform-container { grid-template-columns: 1fr; padding: 28px; }
	.wcp-formats-grid { grid-template-columns: 1fr; }
	.wcp-contact-grid { grid-template-columns: 1fr; }
	.wcp-faq-container { grid-template-columns: 1fr; }
	.wcp-contact-card--form { padding: 28px; }
	.wcp-session-grid { grid-template-columns: 1fr; }
	.wcp-playlist-grid { grid-template-columns: repeat(2, 1fr); }
	.wcp-main-sidebar-grid { grid-template-columns: 1fr; }
	.wcp-why-grid { grid-template-columns: 1fr; }
	.wcp-value-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
	.wcp-value-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
	.wcp-hero-title,
	.wcp-page-hero h1,
	.wcp-live-hero h1,
	.wcp-post-hero h1 { font-size: 34px; }
	.wcp-section-title { font-size: 28px; }
	.wcp-dark-panel h2 { font-size: 28px; }
	.wcp-article-grid { grid-template-columns: 1fr; }
	.wcp-hubs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.wcp-stats-bar { grid-template-columns: 1fr; }
	.wcp-stat-item { border-right: none; border-bottom: 1px solid var(--wcp-gray-light); }
	.wcp-stat-item:last-child { border-bottom: none; }
	.wcp-trending-links { gap: 14px; }
	.wcp-newsletter-form { flex-direction: column; }
	.wcp-footer-grid { grid-template-columns: 1fr; gap: 32px; }
	.wcp-footer-bottom { flex-direction: column; align-items: flex-start; }
	.wcp-playlist-grid { grid-template-columns: 1fr; }
	.wcp-page-hero { padding: 56px 20px 48px; }
}

/* ==========================================================================
   UTILITIES
   ========================================================================== */
.wcp-u-center { text-align: center; }
.wcp-u-mt-0 { margin-top: 0; }
.wcp-u-mb-0 { margin-bottom: 0; }
.wcp-u-mt-4 { margin-top: 32px; }
.wcp-u-mb-4 { margin-bottom: 32px; }
.wcp-u-mt-6 { margin-top: 48px; }
.wcp-u-mb-6 { margin-bottom: 48px; }
.wcp-visually-hidden {
	position: absolute !important;
	clip: rect(1px, 1px, 1px, 1px);
	overflow: hidden;
	height: 1px; width: 1px;
	word-wrap: normal;
}

/* ==========================================================================
   POSTS REDESIGN V2 — landing, archive, single
   (Task #29/#30/#31 — adapts mockups to preserve ad sidebar)
   ========================================================================== */

/* -------- Shared: category pill, image tile, cards, pagination -------- */
.wcp-cat-pill,
.wcp-cat-pill a {
	display: inline-block;
	padding: 6px 12px;
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #fff !important;
	background: var(--wcp-orange);
	border-radius: 999px;
	text-decoration: none;
	line-height: 1;
}
/* Wrapper (wp-block-post-terms div) should not have its own padding when a child <a> gets it */
.wcp-cat-pill {
	padding: 0;
	background: transparent;
}
.wcp-cat-pill a {
	background: var(--wcp-orange);
}
.wcp-cat-pill.cat-music  a { background: var(--wcp-cat-music-grad); }
.wcp-cat-pill.cat-food   a { background: var(--wcp-cat-food-grad); }
.wcp-cat-pill.cat-life   a { background: var(--wcp-cat-life-grad); }
.wcp-cat-pill.cat-travel a { background: var(--wcp-cat-travel-grad); }
.wcp-cat-pill.cat-family a { background: var(--wcp-cat-family-grad); }
.wcp-cat-pill.cat-health a { background: var(--wcp-cat-health-grad); }

.wcp-pi {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--wcp-charcoal);
}
/* wp:post-featured-image renders <figure><a><img>...</a></figure> inside .wcp-pi.
   Force every layer to fill the wrapper so the image obeys the 16:10 aspect
   instead of overflowing at native dimensions. */
.wcp-pi figure,
.wcp-pi figure > a,
.wcp-pi > a,
.wcp-pi .wp-block-post-featured-image {
	position: absolute;
	inset: 0;
	margin: 0;
	display: block;
	width: 100%;
	height: 100%;
}
.wcp-pi img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.wcp-pi.pi-music  { background: var(--wcp-cat-music-grad); }
.wcp-pi.pi-food   { background: var(--wcp-cat-food-grad); }
.wcp-pi.pi-life   { background: var(--wcp-cat-life-grad); }
.wcp-pi.pi-travel { background: var(--wcp-cat-travel-grad); }
.wcp-pi.pi-family { background: var(--wcp-cat-family-grad); }
.wcp-pi.pi-health { background: var(--wcp-cat-health-grad); }

.wcp-post-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--wcp-rule);
	border-radius: 2px;
	overflow: hidden;
	transition: transform 200ms ease, box-shadow 200ms ease;
	text-decoration: none;
	color: inherit;
}
.wcp-post-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--wcp-shadow-card-hover);
}
/* Whole-card clickable: stretch the post title link across the entire card.
   Category pills stay independently clickable via their own z-index. */
.wcp-post-card .wcp-post-card__title a::before,
.wcp-post-card .wp-block-post-title a::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}
.wcp-post-card .wcp-post-card__pill-row,
.wcp-post-card .wp-block-post-terms {
	position: relative;
	z-index: 2;
}
.wcp-post-card__body {
	padding: 22px 22px 24px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
}
.wcp-post-card__pill-row { margin-bottom: 2px; }
.wcp-post-card__title {
	font-family: 'Bodoni Moda', serif;
	font-weight: 600;
	font-size: 22px;
	line-height: 1.22;
	margin: 0;
	color: var(--wcp-charcoal);
}
.wcp-post-card__title a { color: inherit; text-decoration: none; }
.wcp-post-card__title a:hover { color: var(--wcp-orange); }
.wcp-post-card__excerpt {
	font-family: 'Crimson Text', serif;
	font-size: 16px;
	line-height: 1.55;
	color: var(--wcp-gray-dark);
	margin: 0;
}
.wcp-post-card__meta {
	margin-top: auto;
	padding-top: 12px;
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	color: var(--wcp-gray-mid);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.wcp-post-card__meta span + span::before { content: " · "; margin: 0 6px; color: var(--wcp-gray-light); }

.wcp-pagination-v2 {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 6px;
	margin: 48px 0 0;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
}
.wcp-pagination-v2 a,
.wcp-pagination-v2 span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 12px;
	border: 1px solid var(--wcp-rule);
	background: #fff;
	color: var(--wcp-charcoal);
	text-decoration: none;
	border-radius: 2px;
}
.wcp-pagination-v2 a:hover { border-color: var(--wcp-gold); color: var(--wcp-gold); }
.wcp-pagination-v2 .current {
	background: var(--wcp-charcoal);
	border-color: var(--wcp-charcoal);
	color: #fff;
}

/* -------- Posts landing: hero, stats, featured, grid, verticals band -------- */
.wcp-posts-hero {
	position: relative;
	background: var(--wcp-hero-gradient);
	color: #fff;
	padding: 88px 0 80px;
	overflow: hidden;
}
.wcp-posts-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 75% 30%, rgba(196, 165, 82, 0.22) 0%, rgba(196, 165, 82, 0) 55%);
	pointer-events: none;
}
.wcp-posts-hero__inner {
	position: relative;
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 24px;
	text-align: center;
}
.wcp-posts-hero__eyebrow {
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--wcp-gold);
	margin-bottom: 18px;
}
.wcp-posts-hero__title {
	font-family: 'Bodoni Moda', serif;
	font-weight: 600;
	font-size: 58px;
	line-height: 1.08;
	color: #fff;
	margin: 0 0 18px;
	letter-spacing: -0.01em;
}
.wcp-posts-hero__lede {
	font-family: 'Crimson Text', serif;
	font-size: 20px;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.78);
	max-width: 720px;
	margin: 0 auto;
}

.wcp-posts-stats {
	background: #fff;
	border-bottom: 1px solid var(--wcp-rule);
	padding: 28px 0;
}
.wcp-posts-stats__grid {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 24px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
}
.wcp-posts-stats__item {
	text-align: center;
	padding: 8px 20px;
	border-right: 1px solid var(--wcp-rule);
}
.wcp-posts-stats__item:last-child { border-right: none; }
.wcp-posts-stats__num {
	font-family: 'Bodoni Moda', serif;
	font-weight: 600;
	font-size: 28px;
	color: var(--wcp-orange);
	line-height: 1;
	margin-bottom: 4px;
}
.wcp-posts-stats__label {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--wcp-gray-mid);
}

.wcp-featured-article {
	background: #fff;
	border: 1px solid var(--wcp-rule);
	border-radius: 2px;
	overflow: hidden;
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	margin-bottom: 40px;
}
.wcp-featured-article .wcp-pi { aspect-ratio: 4 / 3; height: 100%; }
.wcp-featured-article__body {
	padding: 34px 36px 32px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 14px;
}
.wcp-featured-article__eyebrow {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wcp-gold);
}
.wcp-featured-article__title {
	font-family: 'Bodoni Moda', serif;
	font-weight: 600;
	font-size: 32px;
	line-height: 1.18;
	color: var(--wcp-charcoal);
	margin: 0;
}
.wcp-featured-article__title a { color: inherit; text-decoration: none; }
.wcp-featured-article__title a:hover { color: var(--wcp-orange); }
.wcp-featured-article__dek {
	font-family: 'Crimson Text', serif;
	font-size: 18px;
	line-height: 1.55;
	color: var(--wcp-gray-dark);
	margin: 0;
}
.wcp-featured-article__meta {
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	color: var(--wcp-gray-mid);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.wcp-posts-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 28px;
}
/* WordPress Query loop inserts .wp-block-post-template as a single child wrapper
   around all posts. Make it transparent to CSS grid so the cards flow properly. */
.wcp-posts-grid > .wp-block-post-template,
.wcp-posts-grid > .wp-block-post-template > li,
.wcp-posts-grid > .wp-block-post-template > .wp-block-post {
	display: contents;
}
.wcp-posts-grid > .wp-block-post-template {
	display: contents !important;
}

.wcp-verticals-band {
	background: var(--wcp-cream-2);
	padding: 64px 0;
	margin: 72px 0 0;
}
.wcp-verticals-band__inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 24px;
}
.wcp-verticals-band__title {
	font-family: 'Bodoni Moda', serif;
	font-weight: 600;
	font-size: 32px;
	text-align: center;
	color: var(--wcp-charcoal);
	margin: 0 0 36px;
}
.wcp-vt-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 16px;
}
.wcp-vt-tile {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 28px 14px;
	border-radius: 2px;
	background: var(--wcp-charcoal);
	color: #fff;
	text-decoration: none;
	text-align: center;
	min-height: 128px;
	transition: transform 200ms ease;
}
.wcp-vt-tile:hover { transform: translateY(-2px); }
.wcp-vt-tile.vt-music  { background: var(--wcp-cat-music-grad); }
.wcp-vt-tile.vt-food   { background: var(--wcp-cat-food-grad); }
.wcp-vt-tile.vt-life   { background: var(--wcp-cat-life-grad); }
.wcp-vt-tile.vt-travel { background: var(--wcp-cat-travel-grad); }
.wcp-vt-tile.vt-family { background: var(--wcp-cat-family-grad); }
.wcp-vt-tile.vt-health { background: var(--wcp-cat-health-grad); }
.wcp-vt-tile__label {
	font-family: 'Bodoni Moda', serif;
	font-size: 20px;
	font-weight: 600;
}
.wcp-vt-tile__count {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.7);
}

/* -------- Deep blue newsletter card (used by all three views) -------- */
.wcp-newsletter-card {
	background: var(--wcp-deep-blue-gradient);
	color: #fff;
	padding: 48px 40px;
	border-radius: 2px;
	text-align: center;
	margin: 56px 0 0;
}
.wcp-newsletter-card__eyebrow {
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wcp-gold);
	margin-bottom: 14px;
}
.wcp-newsletter-card__title {
	font-family: 'Bodoni Moda', serif;
	font-weight: 600;
	font-size: 32px;
	line-height: 1.2;
	color: #fff;
	margin: 0 0 12px;
}
.wcp-newsletter-card__dek {
	font-family: 'Crimson Text', serif;
	font-size: 17px;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.85);
	max-width: 560px;
	margin: 0 auto 22px;
}
.wcp-newsletter-card__form {
	display: flex;
	gap: 10px;
	max-width: 480px;
	margin: 0 auto;
}
.wcp-newsletter-card__form input[type="email"] {
	flex: 1;
	padding: 14px 18px;
	background: rgba(255, 255, 255, 0.95);
	border: none;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	color: var(--wcp-charcoal);
	border-radius: 2px;
}
.wcp-newsletter-card__form button {
	padding: 14px 28px;
	background: var(--wcp-orange);
	border: none;
	color: #fff;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	cursor: pointer;
	border-radius: 2px;
	transition: background 200ms ease;
}
.wcp-newsletter-card__form button:hover { background: #D65F26; }

/* -------- Full-bleed newsletter wrapper (category archive pages) --------
   Spans full viewport width; no max-width cap. The inner card fills the
   section and keeps its own padding/gradient. */
.wcp-archive-newsletter {
	margin: 56px 0 0;
	padding: 0;
}
.wcp-archive-newsletter .wcp-newsletter-card {
	margin: 0;
	border-radius: 0;
	padding: 64px 24px;
}

/* -------- Category archive: per-vertical colored hero -------- */
.wcp-vertical-hero {
	position: relative;
	color: #fff;
	padding: 72px 0 64px;
	overflow: hidden;
	background: var(--wcp-hero-gradient);
	width: 100%;
	max-width: none;
	margin: 0;
}
.wcp-vertical-hero.vh-music,      body.category-music      .wcp-vertical-hero--dynamic { background: var(--wcp-cat-music-grad); }
.wcp-vertical-hero.vh-food,       body.category-food       .wcp-vertical-hero--dynamic { background: var(--wcp-cat-food-grad); }
.wcp-vertical-hero.vh-life,       body.category-life       .wcp-vertical-hero--dynamic { background: var(--wcp-cat-life-grad); }
.wcp-vertical-hero.vh-culture,    body.category-culture    .wcp-vertical-hero--dynamic { background: var(--wcp-cat-culture-grad); }
.wcp-vertical-hero.vh-travel,     body.category-travel     .wcp-vertical-hero--dynamic { background: var(--wcp-cat-travel-grad); }
.wcp-vertical-hero.vh-family,     body.category-family     .wcp-vertical-hero--dynamic { background: var(--wcp-cat-family-grad); }
.wcp-vertical-hero.vh-parenthood, body.category-parenthood .wcp-vertical-hero--dynamic { background: var(--wcp-cat-parenthood-grad); }
.wcp-vertical-hero.vh-health,     body.category-health     .wcp-vertical-hero--dynamic { background: var(--wcp-cat-health-grad); }
.wcp-vertical-hero__inner {
	position: relative;
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 24px;
	z-index: 2;
}
.wcp-vertical-hero__breadcrumb {
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.6);
	margin-bottom: 18px;
}
.wcp-vertical-hero__breadcrumb a { color: rgba(255, 255, 255, 0.8); text-decoration: none; }
.wcp-vertical-hero__breadcrumb a:hover { color: var(--wcp-gold); }
.wcp-vertical-hero__eyebrow {
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wcp-gold);
	margin-bottom: 14px;
}
.wcp-vertical-hero__title {
	font-family: 'Bodoni Moda', serif;
	font-weight: 600;
	font-size: 54px;
	line-height: 1.08;
	color: #fff;
	margin: 0 0 14px;
}
.wcp-vertical-hero__subtitle {
	font-family: 'Crimson Text', serif;
	font-size: 19px;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.8);
	max-width: 680px;
	margin: 0 0 30px;
}
.wcp-vertical-hero__stats {
	display: flex;
	gap: 40px;
	flex-wrap: wrap;
}
.wcp-vertical-hero__stat .num {
	display: block;
	font-family: 'Bodoni Moda', serif;
	font-weight: 600;
	font-size: 24px;
	color: #fff;
	line-height: 1;
	margin-bottom: 6px;
}
.wcp-vertical-hero__stat .label {
	display: block;
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.6);
}
.wcp-vertical-hero__glyph {
	position: absolute;
	right: -40px;
	top: 50%;
	transform: translateY(-50%);
	width: 280px;
	height: 280px;
	opacity: 0.18;
	z-index: 1;
	pointer-events: none;
}

.wcp-pinned-card {
	position: relative;
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	background: #fff;
	border: 1px solid var(--wcp-rule);
	border-radius: 2px;
	overflow: hidden;
	margin-bottom: 40px;
	transition: transform 200ms ease, box-shadow 200ms ease;
}
.wcp-pinned-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--wcp-shadow-card-hover);
}
.wcp-pinned-card .wcp-pi { aspect-ratio: 4 / 3; height: 100%; }
/* Whole-card clickable: stretch the pinned title link across the entire card. */
.wcp-pinned-card .wcp-pinned-card__title a::before,
.wcp-pinned-card .wp-block-post-title a::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}
.wcp-pinned-card__body {
	padding: 32px 32px 30px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 12px;
}
.wcp-pinned-card__eyebrow {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wcp-gold);
	font-weight: 600;
}
.wcp-pinned-card__title {
	font-family: 'Bodoni Moda', serif;
	font-weight: 600;
	font-size: 28px;
	line-height: 1.2;
	color: var(--wcp-charcoal);
	margin: 0;
}
.wcp-pinned-card__title a { color: inherit; text-decoration: none; }
.wcp-pinned-card__title a:hover { color: var(--wcp-orange); }
.wcp-pinned-card__dek {
	font-family: 'Crimson Text', serif;
	font-size: 16px;
	line-height: 1.55;
	color: var(--wcp-gray-dark);
	margin: 0;
}

.wcp-subtopic-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 32px;
	padding: 16px 0;
	border-top: 1px solid var(--wcp-rule);
	border-bottom: 1px solid var(--wcp-rule);
}
.wcp-subtopic-row a {
	display: inline-block;
	padding: 8px 16px;
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wcp-gray-dark);
	background: #fff;
	border: 1px solid var(--wcp-rule);
	border-radius: 999px;
	text-decoration: none;
	transition: all 150ms ease;
}
.wcp-subtopic-row a:hover,
.wcp-subtopic-row a.is-active {
	background: var(--wcp-charcoal);
	color: #fff;
	border-color: var(--wcp-charcoal);
}

/* -------- Single post: full-bleed hero, article, pullquote, author, related -------- */
.wcp-single-hero {
	position: relative;
	min-height: 520px;
	background: var(--wcp-hero-gradient);
	color: #fff;
	overflow: hidden;
}
.wcp-single-hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}
.wcp-single-hero__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.wcp-single-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(43, 39, 37, 0.25) 0%, rgba(43, 39, 37, 0.80) 70%, rgba(43, 39, 37, 0.95) 100%);
	z-index: 1;
}
.wcp-single-hero__inner {
	position: relative;
	z-index: 2;
	max-width: 1240px;
	margin: 0 auto;
	padding: 140px 24px 56px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 520px;
}
.wcp-single-hero__breadcrumb {
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.65);
	margin-bottom: 18px;
}
.wcp-single-hero__breadcrumb a { color: rgba(255, 255, 255, 0.85); text-decoration: none; }
.wcp-single-hero__breadcrumb a:hover { color: var(--wcp-gold); }
.wcp-single-hero__pill { margin-bottom: 20px; }
.wcp-single-hero__title {
	font-family: 'Bodoni Moda', serif;
	font-weight: 600;
	font-size: 54px;
	line-height: 1.08;
	color: #fff;
	margin: 0 0 16px;
	max-width: 900px;
}
.wcp-single-hero__dek {
	font-family: 'Crimson Text', serif;
	font-style: italic;
	font-size: 22px;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.82);
	margin: 0 0 28px;
	max-width: 760px;
}
.wcp-single-hero__byline {
	display: flex;
	align-items: center;
	gap: 14px;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.75);
}
.wcp-single-hero__byline img {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid rgba(255, 255, 255, 0.2);
}
.wcp-single-hero__byline .byline-meta { display: flex; flex-direction: column; gap: 2px; }
.wcp-single-hero__byline .byline-name { color: #fff; font-weight: 600; letter-spacing: 0.02em; }
.wcp-single-hero__byline .byline-sub {
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
}

.wcp-single-body {
	font-family: 'Crimson Text', serif;
	font-size: 19px;
	line-height: 1.75;
	color: var(--wcp-charcoal);
}
.wcp-single-body p { margin: 0 0 22px; }
.wcp-single-body h2 {
	font-family: 'Bodoni Moda', serif;
	font-weight: 600;
	font-size: 30px;
	line-height: 1.2;
	color: var(--wcp-charcoal);
	margin: 40px 0 16px;
}
.wcp-single-body h3 {
	font-family: 'Bodoni Moda', serif;
	font-weight: 600;
	font-size: 24px;
	line-height: 1.25;
	color: var(--wcp-charcoal);
	margin: 32px 0 12px;
}
.wcp-single-body a { color: var(--wcp-orange); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.wcp-single-body a:hover { color: #D65F26; }
.wcp-single-body img,
.wcp-single-body figure { max-width: 100%; margin: 32px 0; }
.wcp-single-body figcaption {
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	color: var(--wcp-gray-mid);
	margin-top: 10px;
	text-align: center;
	font-style: italic;
}
.wcp-single-body ul,
.wcp-single-body ol { margin: 0 0 22px; padding-left: 28px; }
.wcp-single-body li { margin-bottom: 8px; }
.wcp-single-body blockquote,
.wcp-pullquote {
	margin: 32px 0;
	padding: 24px 28px;
	background: var(--wcp-cream-2);
	border-left: 4px solid var(--wcp-gold);
	font-family: 'Bodoni Moda', serif;
	font-style: italic;
	font-size: 24px;
	line-height: 1.4;
	color: var(--wcp-charcoal);
}
.wcp-pullquote cite {
	display: block;
	margin-top: 14px;
	font-family: 'Inter', sans-serif;
	font-style: normal;
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wcp-gray-mid);
}

.wcp-tags-row {
	margin: 40px 0 0;
	padding: 20px 0 0;
	border-top: 1px solid var(--wcp-rule);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}
.wcp-tags-row__label {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wcp-gray-mid);
	margin-right: 6px;
}
.wcp-tags-row a {
	padding: 6px 12px;
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	color: var(--wcp-charcoal);
	background: #fff;
	border: 1px solid var(--wcp-rule);
	border-radius: 2px;
	text-decoration: none;
	transition: all 150ms ease;
}
.wcp-tags-row a:hover { border-color: var(--wcp-gold); color: var(--wcp-gold); }

.wcp-share-row {
	margin: 24px 0 0;
	padding: 20px 0;
	border-top: 1px solid var(--wcp-rule);
	border-bottom: 1px solid var(--wcp-rule);
	display: flex;
	align-items: center;
	gap: 14px;
}
.wcp-share-row__label {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wcp-gray-mid);
}
.wcp-share-row a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid var(--wcp-rule);
	border-radius: 50%;
	color: var(--wcp-charcoal);
	text-decoration: none;
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 600;
	transition: all 150ms ease;
}
.wcp-share-row a:hover { background: var(--wcp-charcoal); color: #fff; border-color: var(--wcp-charcoal); }

.wcp-author-bio {
	background: #fff;
	border: 1px solid var(--wcp-rule);
	border-radius: 2px;
	padding: 28px 32px;
	margin: 40px 0 0;
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: 22px;
	align-items: start;
}
.wcp-author-bio__avatar {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	object-fit: cover;
	background: var(--wcp-cream-2);
}
.wcp-author-bio__eyebrow {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wcp-gold);
	margin-bottom: 6px;
}
.wcp-author-bio__name {
	font-family: 'Bodoni Moda', serif;
	font-weight: 600;
	font-size: 22px;
	color: var(--wcp-charcoal);
	margin: 0 0 8px;
}
.wcp-author-bio__text {
	font-family: 'Crimson Text', serif;
	font-size: 16px;
	line-height: 1.55;
	color: var(--wcp-gray-dark);
	margin: 0;
}

.wcp-related-section {
	background: var(--wcp-cream-2);
	padding: 64px 0;
	margin: 72px 0 0;
}
.wcp-related-section__inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 24px;
}
.wcp-related-section__title {
	font-family: 'Bodoni Moda', serif;
	font-weight: 600;
	font-size: 28px;
	color: var(--wcp-charcoal);
	text-align: center;
	margin: 0 0 36px;
}
.wcp-related-grid > ul.wp-block-post-template,
.wcp-related-grid > .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.wcp-related-grid > ul.wp-block-post-template > li,
.wcp-related-grid > .wp-block-post-template > li {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* -------- Posts V2 responsive -------- */
@media (max-width: 960px) {
	.wcp-posts-hero { padding: 64px 0 56px; }
	.wcp-posts-hero__title { font-size: 42px; }
	.wcp-posts-stats__grid { grid-template-columns: repeat(2, 1fr); gap: 0; }
	.wcp-posts-stats__item:nth-child(2) { border-right: none; }
	.wcp-posts-stats__item:nth-child(1),
	.wcp-posts-stats__item:nth-child(2) { border-bottom: 1px solid var(--wcp-rule); padding-bottom: 20px; }
	.wcp-posts-stats__item:nth-child(3),
	.wcp-posts-stats__item:nth-child(4) { padding-top: 20px; }
	.wcp-featured-article { grid-template-columns: 1fr; }
	.wcp-featured-article .wcp-pi { aspect-ratio: 16 / 9; }
	.wcp-featured-article__body { padding: 26px 24px 28px; }
	.wcp-featured-article__title { font-size: 26px; }
	.wcp-posts-grid { grid-template-columns: 1fr; }
	.wcp-vt-grid { grid-template-columns: repeat(3, 1fr); }
	.wcp-vertical-hero { padding: 56px 0 48px; }
	.wcp-vertical-hero__title { font-size: 38px; }
	.wcp-vertical-hero__glyph { display: none; }
	.wcp-pinned-card { grid-template-columns: 1fr; }
	.wcp-pinned-card .wcp-pi { aspect-ratio: 16 / 9; }
	.wcp-pinned-card__body { padding: 24px 22px 26px; }
	.wcp-single-hero { min-height: 420px; }
	.wcp-single-hero__inner { min-height: 420px; padding: 120px 24px 40px; }
	.wcp-single-hero__title { font-size: 36px; }
	.wcp-single-hero__dek { font-size: 18px; }
	.wcp-single-body { font-size: 17px; line-height: 1.7; }
	.wcp-author-bio { grid-template-columns: 1fr; text-align: center; justify-items: center; }
	.wcp-related-grid > ul.wp-block-post-template,
	.wcp-related-grid > .wp-block-post-template { grid-template-columns: 1fr; }
	.wcp-newsletter-card { padding: 36px 24px; }
	.wcp-newsletter-card__title { font-size: 26px; }
	.wcp-newsletter-card__form { flex-direction: column; }
}

@media (max-width: 560px) {
	.wcp-posts-hero__title { font-size: 34px; }
	.wcp-vertical-hero__title { font-size: 32px; }
	.wcp-single-hero__title { font-size: 28px; }
	.wcp-vt-grid { grid-template-columns: repeat(2, 1fr); }
	.wcp-pagination-v2 a,
	.wcp-pagination-v2 span { min-width: 32px; height: 32px; padding: 0 8px; }
}

/* =========================================================================
   POSTS LANDING v3 — supplemental styles to match mockup_posts_landing.html
   ========================================================================= */

/* Section heads (eyebrow + title) — shared pattern for Posts Landing */
.wcp-posts-section {
	max-width: 1240px;
	margin: 0 auto;
	padding: 56px 24px 0;
}
.wcp-posts-section--featured { padding-top: 24px; }
.wcp-posts-section--latest { padding-top: 56px; }
.wcp-posts-section--grid { padding-top: 24px; padding-bottom: 24px; }
.wcp-posts-section__lead {
	margin: 0 0 24px;
}
.wcp-posts-section__lead--center { text-align: center; }
.wcp-posts-section__eyebrow {
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wcp-orange);
	margin: 0 0 8px;
}
.wcp-posts-section__title {
	font-family: 'Bodoni Moda', serif;
	font-weight: 600;
	font-size: 40px;
	line-height: 1.12;
	color: var(--wcp-charcoal);
	margin: 0;
	letter-spacing: -0.005em;
}

/* Overlapping stats bar over the hero bottom */
.wcp-posts-stats {
	background: #fff;
	border: 1px solid var(--wcp-rule);
	border-radius: 2px;
	max-width: 1240px;
	margin: -40px auto 0;
	position: relative;
	z-index: 2;
	box-shadow: var(--wcp-shadow-sm);
	padding: 28px 0;
}
/* Remove bottom border from stats when floating (shadow handles it) */
.wcp-posts-stats { border-bottom: 1px solid var(--wcp-rule); }

/* Category pill (used by post-terms output) */
.wcp-pill,
.wp-block-post-terms.wcp-pill,
a.wcp-pill {
	display: inline-block;
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wcp-orange);
	padding: 6px 12px;
	border: 1px solid var(--wcp-orange);
	border-radius: 999px;
	margin-bottom: 12px;
	text-decoration: none;
	line-height: 1;
}
.wcp-pill a { color: inherit; text-decoration: none; }

/* Meta dot separator */
.wcp-dot {
	display: inline-block;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: var(--wcp-gray-mid);
	vertical-align: middle;
	margin: 0 8px;
	opacity: 0.7;
}

/* Orange "Read more" link with arrow */
.wcp-read-more-orange {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 10px;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wcp-orange);
	text-decoration: none;
	transition: color 200ms ease;
}
.wcp-read-more-orange::after {
	content: "→";
	font-size: 15px;
	transition: transform 200ms ease;
}
.wcp-read-more-orange:hover {
	color: var(--wcp-orange-dark);
}
.wcp-read-more-orange:hover::after { transform: translateX(3px); }

/* Filter row: pills + sort select */
.wcp-filter-row {
	max-width: 1240px;
	margin: 0 auto;
	padding: 8px 24px 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
}
.wcp-filter-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.wcp-filter-pill {
	display: inline-block;
	padding: 8px 16px;
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wcp-charcoal);
	background: #fff;
	border: 1px solid var(--wcp-rule);
	border-radius: 999px;
	text-decoration: none;
	transition: all 200ms ease;
}
.wcp-filter-pill:hover {
	border-color: var(--wcp-orange);
	color: var(--wcp-orange);
}
.wcp-filter-pill.is-active {
	background: var(--wcp-charcoal);
	border-color: var(--wcp-charcoal);
	color: #fff;
}
.wcp-sort-sel {
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wcp-charcoal);
	background: #fff;
	border: 1px solid var(--wcp-rule);
	border-radius: 999px;
	padding: 8px 36px 8px 16px;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%232B2725' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	cursor: pointer;
}

/* Featured article — image / copy split per mockup */
.wcp-featured-article {
	grid-template-columns: 1.1fr 1fr;
}
.wcp-featured-article__image-link {
	display: block;
	background: var(--wcp-charcoal);
	position: relative;
	overflow: hidden;
}
.wcp-featured-article__image img,
.wcp-featured-article__image .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	aspect-ratio: 4 / 3;
}
.wcp-featured-article__copy {
	padding: 36px 40px 32px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 14px;
}
.wcp-featured-article__copy .wcp-pill { align-self: flex-start; }
.wcp-featured-article__copy .wp-block-post-date {
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	color: var(--wcp-gray-mid);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	display: inline;
}
.wcp-featured-article__copy .wp-block-post-date time { color: inherit; }

/* Post cards — add image link wrapper + image styles */
.wcp-post-card__image-link {
	display: block;
	background: var(--wcp-charcoal);
	aspect-ratio: 16 / 10;
	overflow: hidden;
}
/* Force every post-card featured image into an identical 16:10 frame so all
   article cards in the grid have the same image height regardless of the
   uploaded image's native aspect ratio. */
.wcp-post-card__image,
.wcp-post-card .wp-block-post-featured-image {
	display: block;
	margin: 0;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--wcp-charcoal);
	width: 100%;
}
.wcp-post-card__image a,
.wcp-post-card__image > a,
.wcp-post-card .wp-block-post-featured-image a {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.wcp-post-card__image img,
.wcp-post-card__image .wp-block-post-featured-image img,
.wcp-post-card .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.wcp-post-card .wp-block-post-date,
.wcp-post-card__body .wp-block-post-date {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wcp-gray-mid);
	display: inline;
}
.wcp-post-card__body .wcp-pill { margin-bottom: 10px; align-self: flex-start; width: fit-content; }
.wcp-post-card__body .wcp-cat-pill { align-self: flex-start; width: fit-content; }

/* Posts grid override — 3 columns on landing (scoped to blog/home only) */
body.home .wcp-posts-section--grid .wcp-posts-grid,
body.blog .wcp-posts-section--grid .wcp-posts-grid,
.wcp-posts-section--grid .wcp-posts-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

/* Rounded corners on post cards */
.wcp-post-card {
	border-radius: 6px;
	overflow: hidden;
}

/* Verticals band — grid + tile modifiers */
.wcp-verticals-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-top: 8px;
}
.wcp-vt-tile {
	display: flex;
	flex-direction: row;
	align-items: flex-end;
	justify-content: space-between;
	padding: 28px 24px;
	min-height: 180px;
	border-radius: 4px;
	text-align: left;
	color: #fff;
	text-decoration: none;
	background: var(--wcp-charcoal);
	transition: transform 200ms ease, box-shadow 200ms ease;
	box-shadow: var(--wcp-shadow-sm);
}
.wcp-vt-tile:hover {
	transform: translateY(-3px);
	box-shadow: var(--wcp-shadow-md);
}
.wcp-vt-tile--music      { background: var(--wcp-cat-music-grad); }
.wcp-vt-tile--food       { background: var(--wcp-cat-food-grad); }
.wcp-vt-tile--culture    { background: var(--wcp-cat-culture-grad); }
.wcp-vt-tile--life       { background: var(--wcp-cat-life-grad); }
.wcp-vt-tile--travel     { background: var(--wcp-cat-travel-grad); }
.wcp-vt-tile--family     { background: var(--wcp-cat-family-grad); }
.wcp-vt-tile--parenthood { background: var(--wcp-cat-parenthood-grad); }
.wcp-vt-tile--health     { background: var(--wcp-cat-health-grad); }
.wcp-vt-tile__label {
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.65);
	display: block;
	margin-bottom: 8px;
}
.wcp-vt-tile__name {
	font-family: 'Bodoni Moda', serif;
	font-weight: 600;
	font-size: 28px;
	line-height: 1.1;
	color: #fff;
	margin-bottom: 6px;
}
.wcp-vt-tile__count {
	font-family: 'Crimson Text', serif;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.78);
	display: block;
}
.wcp-vt-tile__arrow {
	font-family: 'Inter', sans-serif;
	font-size: 24px;
	color: rgba(255, 255, 255, 0.65);
	transition: transform 200ms ease, color 200ms ease;
	align-self: flex-end;
}
.wcp-vt-tile:hover .wcp-vt-tile__arrow {
	color: #fff;
	transform: translateX(4px);
}

/* ==========================================================================
   NOW STREAMING (page-live.html) — latest session player + meta
   ========================================================================== */
/* Now Streaming section — sits between the hero and the sand-band. The base
   .wcp-section rule gives it 64px top/bottom margin, but it reads cramped
   between two bigger blocks. Bump to padding-based vertical rhythm. */
.wcp-section.wcp-now-streaming {
	padding-top: 80px;
	padding-bottom: 80px;
}

/* Lineup section — cream block sandwiched between the charcoal Format strip
   and the sand From the Vault band. Default .wcp-section margin is 64px but
   the bottom edge reads tight against the From the Vault band. Bump bottom
   padding to give it breathing room before the sand band starts. */
.wcp-section.wcp-lineup {
	padding-bottom: 80px;
}
.wcp-now-streaming-grid {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 36px;
	align-items: center;
}
.wcp-now-streaming-frame {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: linear-gradient(135deg, var(--wcp-primary-dark) 0%, var(--wcp-charcoal) 100%);
	border-radius: 10px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: var(--wcp-shadow-card);
}
.wcp-now-streaming-badge {
	position: absolute;
	top: 16px;
	left: 16px;
	background: rgba(43, 39, 37, 0.75);
	color: #fff;
	padding: 6px 12px;
	border-radius: 999px;
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.wcp-now-streaming-play {
	width: 88px;
	height: 88px;
	border-radius: 50%;
	border: none;
	background: var(--wcp-orange);
	color: #fff;
	font-size: 32px;
	cursor: pointer;
	box-shadow: 0 8px 24px rgba(232, 115, 60, 0.45);
	transition: transform 0.25s ease, background 0.25s ease;
}
.wcp-now-streaming-play:hover { transform: scale(1.06); background: var(--wcp-orange-dark); }
.wcp-now-streaming-meta h3 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 28px;
	font-weight: 700;
	color: var(--wcp-charcoal);
	margin: 14px 0 8px;
	line-height: 1.2;
}
.wcp-now-streaming-meta p {
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 16px;
	line-height: 1.55;
	color: var(--wcp-gray-dark);
	margin: 0 0 12px;
}
/* Featured-session description bumped to 18px — Now Streaming is a feature
   block, the show description should read larger than the byline. Scoped
   to the description only via :not() so the byline stays at 16px. */
.wcp-now-streaming-meta p:not(.wcp-card-byline) {
	font-size: 18px;
}
.wcp-now-streaming-actions { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; margin-top: 18px; }

@media (max-width: 860px) {
	.wcp-now-streaming-grid { grid-template-columns: 1fr; gap: 28px; }
}

/* Newsletter card section wrapper — FULL-BLEED deep blue band (matches footer edge-to-edge) */
.wcp-newsletter-wrap-section {
	background: linear-gradient(135deg, var(--wcp-deep-blue-dark) 0%, var(--wcp-deep-blue) 100%);
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-top: 0;
	margin-bottom: 0;
	padding: 80px 24px;
}
.wcp-newsletter-wrap {
	max-width: 720px;
	margin: 0 auto;
	text-align: center;
}
.wcp-newsletter-wrap .wcp-newsletter-card {
	background: transparent;
	padding: 0;
	border-radius: 0;
	margin: 0;
}
.wcp-newsletter-wrap .wcp-newsletter-card__title {
	color: #fff !important;
}
.wcp-newsletter-wrap .wcp-newsletter-card__form { margin: 0 auto; }

/* Responsive — Posts Landing v3 */
@media (max-width: 960px) {
	.wcp-posts-section__title { font-size: 30px; }
	.wcp-posts-stats { margin-top: -24px; }
	.wcp-featured-article { grid-template-columns: 1fr; }
	.wcp-featured-article__copy { padding: 26px 24px 28px; }
	.wcp-filter-row { flex-direction: column; align-items: stretch; }
	.wcp-filter-pills { justify-content: flex-start; }
	.wcp-verticals-grid { grid-template-columns: repeat(2, 1fr); }
	body.home .wcp-posts-section--grid .wcp-posts-grid,
	body.blog .wcp-posts-section--grid .wcp-posts-grid,
	.wcp-posts-section--grid .wcp-posts-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.wcp-newsletter-wrap-section { padding: 48px 16px 64px; }
}

@media (max-width: 640px) {
	.wcp-posts-section { padding-left: 16px; padding-right: 16px; }
	.wcp-posts-section__title { font-size: 26px; }
	.wcp-verticals-grid { grid-template-columns: 1fr; }
	body.home .wcp-posts-section--grid .wcp-posts-grid,
	body.blog .wcp-posts-section--grid .wcp-posts-grid,
	.wcp-posts-section--grid .wcp-posts-grid {
		grid-template-columns: 1fr;
	}
	.wcp-vt-tile { min-height: 140px; padding: 22px 18px; }
	.wcp-vt-tile__name { font-size: 24px; }
}

/* =========================================================================
   NEWSLETTER PAGE — benefits grid, sample issue, frequency badges
   ========================================================================= */

/* Hero signup form variant */
.wcp-newsletter-form--hero {
	max-width: 520px;
	margin: 28px auto 0;
	display: flex;
	gap: 10px;
}
.wcp-newsletter-form--hero input[type="email"] {
	flex: 1;
	padding: 14px 18px;
	border: 1px solid var(--wcp-rule);
	border-radius: 6px;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	background: #fff;
	color: var(--wcp-charcoal);
}
.wcp-newsletter-form--hero button {
	background: var(--wcp-orange);
	color: #fff;
	border: none;
	padding: 14px 26px;
	border-radius: 6px;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 200ms ease;
	white-space: nowrap;
}
.wcp-newsletter-form--hero button:hover { background: var(--wcp-orange-dark); }

/* Benefits grid — 3-col on desktop */
.wcp-benefits-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-top: 32px;
}
.wcp-benefit-card {
	background: #fff;
	padding: 32px 26px;
	border-radius: 8px;
	box-shadow: var(--wcp-shadow-card);
	text-align: center;
	transition: transform 200ms ease, box-shadow 200ms ease;
}
.wcp-benefit-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--wcp-shadow-md);
}
.wcp-benefit-icon {
	font-size: 36px;
	line-height: 1;
	margin-bottom: 16px;
}
.wcp-benefit-card h3 {
	font-family: 'Bodoni Moda', serif;
	font-size: 20px;
	font-weight: 600;
	color: var(--wcp-charcoal);
	margin: 0 0 10px;
	letter-spacing: 0.25px;
}
.wcp-benefit-card p {
	font-size: 14px;
	color: var(--wcp-body);
	line-height: 1.6;
	margin: 0;
}

/* Sample issue section — 2-col with text + preview card */
.wcp-sample-issue-section {
	background: var(--wcp-cream-2, #F3F0EA);
	padding: 72px 24px;
}
.wcp-sample-issue-inner {
	max-width: 1240px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	align-items: center;
}
.wcp-sample-issue-text h2 { margin-bottom: 4px; }
.wcp-sample-issue-text p {
	font-size: 16px;
	color: var(--wcp-body);
	line-height: 1.7;
	margin: 0 0 24px;
}
.wcp-issue-topics {
	list-style: none;
	padding: 0;
	margin: 0;
}
.wcp-issue-topics li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 15px 0;
	font-size: 15px;
	color: var(--wcp-charcoal);
	border-bottom: 1px solid var(--wcp-rule);
}
.wcp-issue-topics li:last-child { border-bottom: none; }
.wcp-topic-icon {
	color: var(--wcp-orange);
	font-size: 10px;
	flex-shrink: 0;
	margin-top: 6px;
}

/* Preview card — mock email issue */
.wcp-sample-preview-card {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.08);
	overflow: hidden;
}
.wcp-preview-header {
	background: var(--wcp-charcoal);
	color: #fff;
	padding: 22px 26px;
}
.wcp-preview-logo {
	font-family: 'Crimson Text', serif;
	font-size: 20px;
	font-weight: 700;
	color: #fff;
	letter-spacing: 0.3px;
}
.wcp-preview-date {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	color: var(--wcp-gold);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin-top: 4px;
}
.wcp-preview-body { padding: 26px; }
.wcp-preview-section-label {
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wcp-orange);
	margin-bottom: 8px;
}
.wcp-preview-body h4 {
	font-family: 'Bodoni Moda', serif;
	font-size: 17px;
	font-weight: 600;
	color: var(--wcp-charcoal);
	margin: 0 0 8px;
	line-height: 1.3;
}
.wcp-preview-body p {
	font-size: 13px;
	color: var(--wcp-body);
	line-height: 1.55;
	margin: 0;
}
.wcp-preview-divider {
	height: 1px;
	background: var(--wcp-rule);
	margin: 20px 0;
}

/* Frequency / Delivery section */
.wcp-frequency-section {
	padding: 72px 24px;
	background: var(--wcp-cream);
}
.wcp-frequency-inner {
	max-width: 980px;
	margin: 0 auto;
	text-align: center;
}
.wcp-frequency-lede {
	font-size: 16px;
	color: var(--wcp-body);
	max-width: 640px;
	margin: 0 auto 40px;
	line-height: 1.7;
}
.wcp-frequency-badges {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.wcp-freq-badge {
	background: #fff;
	padding: 32px 24px;
	border-radius: 8px;
	box-shadow: var(--wcp-shadow-card);
	border-top: 3px solid var(--wcp-orange);
}
.wcp-badge-label {
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wcp-gray-mid);
	margin-bottom: 10px;
}
.wcp-badge-title {
	font-family: 'Bodoni Moda', serif;
	font-size: 32px;
	font-weight: 600;
	color: var(--wcp-charcoal);
	line-height: 1;
	margin-bottom: 8px;
}
.wcp-badge-desc {
	font-family: 'Crimson Text', serif;
	font-size: 14px;
	color: var(--wcp-body);
}

@media (max-width: 960px) {
	.wcp-benefits-grid { grid-template-columns: repeat(2, 1fr); }
	.wcp-sample-issue-inner { grid-template-columns: 1fr; gap: 40px; }
	.wcp-frequency-badges { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
	.wcp-benefits-grid { grid-template-columns: 1fr; }
	.wcp-newsletter-form--hero { flex-direction: column; }
	.wcp-sample-issue-section,
	.wcp-frequency-section { padding: 48px 16px; }
}

/* ==========================================================================
   v2.4.0 — NEW TEMPLATES (search, author, tag, book, press, sitemap, thank-you)
   ========================================================================== */

/* -------- Search page -------- */
.wcp-search-form {
	display: flex;
	gap: 12px;
	max-width: 560px;
	margin: 24px 0 0;
	flex-wrap: wrap;
}
.wcp-search-form input[type="search"] {
	flex: 1 1 260px;
	padding: 14px 16px;
	border: 1px solid var(--wcp-rule);
	border-radius: 6px;
	font-family: 'Inter', sans-serif;
	font-size: 15px;
	background: #fff;
}
.wcp-search-form input[type="search"]:focus {
	outline: 2px solid var(--wcp-gold);
	outline-offset: 2px;
}
.wcp-search-form button {
	padding: 14px 28px;
	background: var(--wcp-orange);
	color: #fff;
	border: 0;
	border-radius: 6px;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 180ms ease;
}
.wcp-search-form button:hover { background: var(--wcp-orange-dark); }
.wcp-search-empty {
	padding: 40px 32px;
	background: #fff;
	border-radius: 8px;
	box-shadow: var(--wcp-shadow-card);
	text-align: left;
}
.wcp-search-empty h3 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 26px;
	margin: 0 0 12px;
	color: var(--wcp-charcoal);
}
.wcp-search-empty p { color: var(--wcp-body); margin: 0 0 16px; }
.wcp-search-empty-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.wcp-search-empty-list li a {
	display: inline-block;
	padding: 8px 16px;
	background: var(--wcp-cream);
	border-radius: 20px;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: var(--wcp-charcoal);
	text-decoration: none;
	transition: background 180ms ease, color 180ms ease;
}
.wcp-search-empty-list li a:hover {
	background: var(--wcp-orange);
	color: #fff;
}

/* -------- Author hero -------- */
.wcp-author-hero {
	background: linear-gradient(135deg, var(--wcp-primary-dark) 0%, var(--wcp-charcoal) 100%);
	color: var(--wcp-cream);
	padding: 72px 24px 64px;
	margin: 0 0 0;
}
.wcp-author-hero__inner {
	max-width: var(--wcp-content);
	margin: 0 auto;
	text-align: center;
}
.wcp-author-hero__eyebrow {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--wcp-gold);
	margin-bottom: 12px;
}
.wcp-author-hero__title {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 52px;
	line-height: 1.05;
	margin: 0 0 18px;
	color: var(--wcp-cream);
	font-weight: 700;
}
.wcp-author-hero__bio {
	max-width: 680px;
	margin: 0 auto 28px;
	color: rgba(249, 247, 244, 0.85);
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 18px;
	line-height: 1.7;
}
.wcp-author-hero__meta {
	display: inline-flex;
	gap: 32px;
	padding: 14px 28px;
	background: rgba(255, 255, 255, 0.06);
	border-radius: 40px;
	border: 1px solid rgba(255, 255, 255, 0.12);
}
.wcp-author-hero__stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	color: var(--wcp-cream);
	font-family: 'Inter', sans-serif;
}
.wcp-author-hero__stat .num { font-size: 16px; font-weight: 700; }
.wcp-author-hero__stat .label {
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(249, 247, 244, 0.6);
}
.wcp-author-section-title {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 28px;
	color: var(--wcp-charcoal);
	margin: 0 0 24px;
	font-weight: 700;
}

/* -------- Tag hero -------- */
.wcp-tag-hero {
	background: var(--wcp-cream-2);
	padding: 56px 24px 48px;
	border-bottom: 2px solid var(--wcp-orange);
}
.wcp-tag-hero__inner {
	max-width: var(--wcp-content);
	margin: 0 auto;
}
.wcp-tag-hero__breadcrumb {
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	color: var(--wcp-gray-dark);
	margin-bottom: 16px;
}
.wcp-tag-hero__breadcrumb a {
	color: var(--wcp-gray-dark);
	text-decoration: none;
}
.wcp-tag-hero__breadcrumb a:hover { color: var(--wcp-orange); }
.wcp-tag-hero__eyebrow {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--wcp-orange);
	margin-bottom: 10px;
}
.wcp-tag-hero__title {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 46px;
	line-height: 1.05;
	margin: 0 0 14px;
	color: var(--wcp-charcoal);
	font-weight: 700;
}
.wcp-tag-hero__subtitle {
	color: var(--wcp-body);
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 18px;
	line-height: 1.7;
	margin: 0;
	max-width: 680px;
}

/* -------- Book landing -------- */
.wcp-book-hero {
	background: linear-gradient(135deg, var(--wcp-primary-dark) 0%, var(--wcp-charcoal) 100%);
	color: var(--wcp-cream);
	padding: 88px 24px;
}
.wcp-book-hero__inner {
	max-width: var(--wcp-content);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 56px;
	align-items: center;
}
.wcp-book-hero__content { max-width: 600px; }
.wcp-book-hero__title {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 64px;
	line-height: 1.02;
	margin: 0 0 20px;
	color: var(--wcp-cream);
	font-weight: 700;
}
.wcp-book-hero__dek {
	color: rgba(249, 247, 244, 0.85);
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 20px;
	line-height: 1.65;
	margin: 0 0 28px;
}
.wcp-book-hero__cta-row {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 40px;
}
.wcp-book-hero__meta {
	display: flex;
	gap: 36px;
	padding-top: 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.wcp-book-hero__meta > div { display: flex; flex-direction: column; gap: 4px; }
.wcp-book-hero__meta .num {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 28px;
	color: var(--wcp-gold);
	font-weight: 700;
}
.wcp-book-hero__meta .label {
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(249, 247, 244, 0.65);
}
.wcp-book-hero__cover {
	background: linear-gradient(135deg, var(--wcp-gold) 0%, #B0924A 100%);
	color: var(--wcp-charcoal);
	aspect-ratio: 2 / 3;
	max-width: 320px;
	margin: 0 auto;
	padding: 40px 28px;
	border-radius: 4px;
	box-shadow: 0 40px 80px -20px rgba(0, 0, 0, 0.5), 0 16px 32px -8px rgba(0, 0, 0, 0.4);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-family: 'Bodoni Moda', Georgia, serif;
	transform: rotate(-3deg);
	transition: transform 400ms ease;
}
.wcp-book-hero__cover:hover { transform: rotate(-1deg) scale(1.02); }
.wcp-book-hero__cover span {
	font-size: 26px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.1;
	text-transform: uppercase;
	margin-bottom: 16px;
	border-bottom: 2px solid var(--wcp-charcoal);
	padding-bottom: 14px;
}
.wcp-book-hero__cover em {
	font-family: 'Crimson Text', Georgia, serif;
	font-style: italic;
	font-size: 15px;
	color: rgba(43, 39, 37, 0.75);
}
.wcp-book-toc {
	background: #fff;
	border-radius: 10px;
	padding: 40px 48px;
	box-shadow: var(--wcp-shadow-card);
}
.wcp-book-toc ol {
	margin: 0;
	padding-left: 28px;
	counter-reset: chapter;
	list-style: none;
}
.wcp-book-toc ol li {
	counter-increment: chapter;
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 17px;
	line-height: 1.65;
	color: var(--wcp-body);
	margin: 0 0 14px;
	padding-left: 48px;
	position: relative;
}
.wcp-book-toc ol li::before {
	content: counter(chapter, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 0;
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 18px;
	font-weight: 700;
	color: var(--wcp-gold);
	letter-spacing: 0.05em;
}
.wcp-book-toc ol li strong {
	color: var(--wcp-charcoal);
	font-family: 'Bodoni Moda', Georgia, serif;
	font-weight: 700;
}
.wcp-book-reserve {
	background: var(--wcp-cream-2);
	padding: 72px 24px;
	margin: 64px 0 0;
}
.wcp-book-reserve__inner {
	max-width: 680px;
	margin: 0 auto;
	text-align: center;
}
.wcp-book-reserve h2 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 38px;
	line-height: 1.15;
	color: var(--wcp-charcoal);
	margin: 8px 0 16px;
	font-weight: 700;
}
.wcp-book-reserve p {
	color: var(--wcp-body);
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 17px;
	line-height: 1.7;
	margin: 0 0 24px;
}
.wcp-book-reserve .wcp-newsletter-form {
	max-width: 520px;
	margin: 0 auto;
}
.wcp-book-reserve__micro {
	margin-top: 20px !important;
	font-size: 13px !important;
	color: var(--wcp-muted) !important;
	font-family: 'Inter', sans-serif !important;
}

/* -------- Press fact sheet -------- */
.wcp-factsheet {
	background: #fff;
	border-radius: 10px;
	padding: 16px 32px;
	box-shadow: var(--wcp-shadow-card);
	max-width: 820px;
}
.wcp-factsheet__row {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 24px;
	padding: 18px 0;
	border-bottom: 1px solid var(--wcp-rule);
}
.wcp-factsheet__row:last-child { border-bottom: 0; }
.wcp-factsheet__label {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wcp-gray-dark);
	font-weight: 600;
	padding-top: 3px;
}
.wcp-factsheet__value {
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 17px;
	color: var(--wcp-charcoal);
	line-height: 1.55;
}
.wcp-factsheet__value a {
	color: var(--wcp-orange);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.wcp-factsheet__value a:hover { color: var(--wcp-orange-dark); }
.wcp-coverage-list {
	background: #fff;
	border-radius: 10px;
	padding: 28px 32px;
	box-shadow: var(--wcp-shadow-card);
}

/* -------- Sitemap -------- */
.wcp-sitemap-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
	max-width: var(--wcp-content);
	margin: 0 auto;
}
.wcp-sitemap-col h3 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 22px;
	color: var(--wcp-charcoal);
	margin: 0 0 16px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--wcp-orange);
	font-weight: 700;
}
.wcp-sitemap-col ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.wcp-sitemap-col ul li { margin: 0 0 10px; }
.wcp-sitemap-col ul li a {
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 17px;
	color: var(--wcp-body);
	text-decoration: none;
	transition: color 150ms ease;
}
.wcp-sitemap-col ul li a:hover { color: var(--wcp-orange); }
.wcp-sitemap-recent {
	list-style: none;
	padding: 0;
	margin: 0;
	columns: 2;
	column-gap: 40px;
}
.wcp-sitemap-recent li {
	break-inside: avoid;
	margin: 0 0 18px;
	padding-left: 14px;
	border-left: 2px solid var(--wcp-rule);
}
.wcp-sitemap-recent li a {
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 17px;
	color: var(--wcp-charcoal);
	text-decoration: none;
	line-height: 1.4;
	display: block;
}
.wcp-sitemap-recent li a:hover { color: var(--wcp-orange); }
.wcp-sitemap-recent__meta {
	display: block;
	margin-top: 4px;
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	color: var(--wcp-muted);
}
.wcp-sitemap-recent__meta .wp-block-post-terms a {
	color: var(--wcp-orange);
	text-decoration: none;
}

/* -------- Thank-you pages -------- */
.wcp-thankyou-hero {
	background: linear-gradient(135deg, var(--wcp-primary-dark) 0%, var(--wcp-charcoal) 100%);
	color: var(--wcp-cream);
	padding: 88px 24px 72px;
	text-align: center;
}
.wcp-thankyou-hero__inner {
	max-width: 720px;
	margin: 0 auto;
}
.wcp-thankyou-hero__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	margin: 0 auto 24px;
	background: var(--wcp-gold);
	color: var(--wcp-charcoal);
	border-radius: 50%;
	font-size: 36px;
	line-height: 1;
	font-weight: 700;
}
.wcp-thankyou-hero .wcp-section-subtitle {
	color: var(--wcp-gold);
	margin-bottom: 14px;
}
.wcp-thankyou-hero h1 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 48px;
	line-height: 1.1;
	margin: 0 0 18px;
	color: var(--wcp-cream);
	font-weight: 700;
}
.wcp-thankyou-hero p {
	color: rgba(249, 247, 244, 0.85);
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 18px;
	line-height: 1.7;
	margin: 0 0 32px;
	max-width: 560px;
	margin-left: auto;
	margin-right: auto;
}
.wcp-thankyou-hero__cta-row {
	display: inline-flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: center;
}
.wcp-thankyou-social-row {
	display: inline-flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 8px;
}

/* Thank-you variants (v2.4.16) -- one /thanks/ page, copy swaps on ?source= */
.wcp-thankyou-variant { display: none; }
.wcp-thankyou-hero[data-active-source="default"] .wcp-thankyou-variant[data-variant="default"],
.wcp-thankyou-hero[data-active-source="newsletter"] .wcp-thankyou-variant[data-variant="newsletter"],
.wcp-thankyou-hero[data-active-source="advertise"] .wcp-thankyou-variant[data-variant="advertise"],
.wcp-thankyou-hero[data-active-source="work-with-us"] .wcp-thankyou-variant[data-variant="work-with-us"] {
	display: block;
}

/* -------- Books hub (v2.4.17) -- /books/ landing page -------- */
.wcp-books-hero {
	background: linear-gradient(135deg, var(--wcp-deep-blue-dark) 0%, var(--wcp-deep-blue) 100%);
	color: var(--wcp-cream);
	padding: 96px 24px 80px;
	text-align: center;
}
.wcp-books-hero__inner {
	max-width: 760px;
	margin: 0 auto;
}
.wcp-books-hero .wcp-section-subtitle {
	color: var(--wcp-gold);
	margin-bottom: 14px;
}
.wcp-books-hero h1 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 52px;
	line-height: 1.08;
	margin: 0 0 18px;
	color: var(--wcp-cream);
	font-weight: 700;
}
.wcp-books-hero .wcp-lead {
	color: rgba(249, 247, 244, 0.88);
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 19px;
	line-height: 1.7;
	margin: 0 auto 32px;
	max-width: 620px;
}
.wcp-books-hero__cta-row {
	display: inline-flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: center;
}

.wcp-section-intro {
	max-width: 720px;
	margin: 0 auto 40px;
	text-align: center;
	color: var(--wcp-charcoal);
}

/* Featured book card (Coming Up) */
.wcp-book-feature {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 48px;
	align-items: center;
	background: #fff;
	border: 1px solid rgba(43, 39, 37, 0.08);
	border-radius: 4px;
	padding: 40px;
	max-width: 1080px;
	margin: 0 auto;
	box-shadow: 0 6px 24px rgba(43, 39, 37, 0.06);
}
.wcp-book-feature__cover {
	aspect-ratio: 2 / 3;
	background: linear-gradient(135deg, var(--wcp-charcoal-brown-dark, #3D3B37) 0%, var(--wcp-charcoal) 100%);
	border-radius: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 12px 32px rgba(43, 39, 37, 0.25);
}
.wcp-book-feature__cover-mark {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 56px;
	color: var(--wcp-gold);
	letter-spacing: 2px;
	font-weight: 700;
}
.wcp-book-feature__body h3 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 36px;
	line-height: 1.15;
	margin: 6px 0 14px;
	color: var(--wcp-charcoal);
	font-weight: 700;
}
.wcp-book-feature__meta {
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--wcp-orange);
	font-weight: 600;
}
.wcp-book-feature__body p {
	color: var(--wcp-charcoal);
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 18px;
	line-height: 1.7;
	margin: 0 0 18px;
}
.wcp-book-feature__bullets {
	list-style: none;
	padding: 0;
	margin: 0 0 24px;
	border-top: 1px solid rgba(43, 39, 37, 0.1);
}
.wcp-book-feature__bullets li {
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	color: var(--wcp-charcoal);
	padding: 12px 0;
	border-bottom: 1px solid rgba(43, 39, 37, 0.08);
}
.wcp-book-feature__cta-row {
	display: inline-flex;
	gap: 12px;
	flex-wrap: wrap;
}

/* Empty state (Published) */
.wcp-books-empty {
	text-align: center;
	background: #fff;
	border: 1px solid rgba(43, 39, 37, 0.08);
	border-radius: 4px;
	padding: 56px 32px;
	max-width: 720px;
	margin: 0 auto;
}
.wcp-books-empty__mark {
	font-size: 48px;
	margin-bottom: 16px;
	line-height: 1;
}
.wcp-books-empty h3 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 28px;
	margin: 0 0 12px;
	color: var(--wcp-charcoal);
	font-weight: 700;
}
.wcp-books-empty p {
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 17px;
	line-height: 1.7;
	color: var(--wcp-charcoal);
	margin: 0 auto 24px;
	max-width: 520px;
}
.wcp-books-empty__cta-row {
	display: inline-flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: center;
}

/* Shelf grid (On the Shelf — recommended reading by vertical) */
.wcp-books-shelf {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	max-width: 1080px;
	margin: 0 auto;
}
.wcp-books-shelf__column {
	background: #fff;
	border: 1px solid rgba(43, 39, 37, 0.08);
	border-radius: 4px;
	padding: 28px;
	display: flex;
	flex-direction: column;
}
.wcp-books-shelf__label {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--wcp-orange);
	font-weight: 700;
	margin-bottom: 12px;
}
.wcp-books-shelf__note {
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 17px;
	line-height: 1.6;
	color: var(--wcp-charcoal);
	margin: 0 0 18px;
	flex: 1;
}
.wcp-books-shelf__link {
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.5px;
	color: var(--wcp-charcoal);
	text-decoration: none;
	border-bottom: 1px solid var(--wcp-gold);
	padding-bottom: 4px;
	align-self: flex-start;
}
.wcp-books-shelf__link:hover {
	color: var(--wcp-orange);
	border-bottom-color: var(--wcp-orange);
}

.wcp-books-suggest__cta-row {
	display: inline-flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 8px;
}

/* -------- Responsive (v2.4.0 new templates) -------- */
@media (max-width: 960px) {
	.wcp-book-hero__inner { grid-template-columns: 1fr; gap: 48px; }
	.wcp-book-hero__cover { max-width: 260px; }
	.wcp-book-hero__title { font-size: 48px; }
	.wcp-sitemap-grid { grid-template-columns: repeat(2, 1fr); }
	.wcp-sitemap-recent { columns: 1; }
	.wcp-factsheet__row { grid-template-columns: 1fr; gap: 6px; }
}

@media (max-width: 640px) {
	.wcp-sitemap-grid { grid-template-columns: 1fr; }
	.wcp-book-hero { padding: 64px 20px; }
	.wcp-book-hero__title { font-size: 40px; }
	.wcp-book-hero__dek { font-size: 18px; }
	.wcp-book-toc { padding: 28px 24px; }
	.wcp-author-hero__title { font-size: 38px; }
	.wcp-tag-hero__title { font-size: 34px; }
	.wcp-thankyou-hero h1 { font-size: 36px; }
	.wcp-thankyou-hero { padding: 64px 20px 48px; }
	.wcp-author-hero { padding: 56px 20px 48px; }
	.wcp-search-form { flex-direction: column; }
	.wcp-search-form button { width: 100%; }
}
/* ===== STYLE GUIDE PAGE (v2.4.11) ===== */
/* Internal contributor reference at /style-guide/. Classes use .wcp-sg-* prefix. */

.wcp-sg-two-col {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	margin: 24px 0;
}
@media (max-width: 720px) {
	.wcp-sg-two-col { grid-template-columns: 1fr; }
}
.wcp-sg-card {
	background: #fff;
	border: 1px solid var(--wcp-gray-light);
	border-radius: var(--wcp-radius);
	padding: 24px;
	box-shadow: var(--wcp-shadow-card);
}
.wcp-sg-card h3 {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 22px;
	margin: 0 0 12px;
	color: var(--wcp-charcoal);
}
.wcp-sg-card p {
	margin: 0;
	color: var(--wcp-body);
	line-height: 1.6;
	font-size: 16px;
}

.wcp-sg-lede {
	max-width: 760px;
	margin: 0 0 28px;
	color: var(--wcp-gray-dark);
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 19px;
	line-height: 1.6;
}

.wcp-sg-subhead {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 24px;
	margin: 40px 0 16px;
	color: var(--wcp-charcoal);
	font-weight: 600;
}

.wcp-sg-rules {
	margin: 0;
	padding-left: 20px;
	color: var(--wcp-body);
	line-height: 1.7;
	font-size: 16px;
}
.wcp-sg-rules li {
	margin-bottom: 8px;
}

.wcp-sg-steps {
	margin: 0;
	padding-left: 24px;
	color: var(--wcp-body);
	line-height: 1.7;
	font-size: 16px;
}
.wcp-sg-steps li {
	margin-bottom: 10px;
}

/* DO / DON'T */
.wcp-sg-dodont {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin: 28px 0;
}
@media (max-width: 720px) {
	.wcp-sg-dodont { grid-template-columns: 1fr; }
}
.wcp-sg-do,
.wcp-sg-dont {
	padding: 20px 24px;
	border-radius: var(--wcp-radius);
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 17px;
	line-height: 1.6;
}
.wcp-sg-do {
	background: #F0F5EC;
	border-left: 4px solid #6B8E4E;
	color: #2B3A20;
}
.wcp-sg-dont {
	background: #FDECE7;
	border-left: 4px solid #C4441F;
	color: #4A1F12;
}
.wcp-sg-dodont--split .wcp-sg-do,
.wcp-sg-dodont--split .wcp-sg-dont {
	font-family: 'Inter', sans-serif;
	font-size: 15px;
}
.wcp-sg-do ul,
.wcp-sg-dont ul {
	margin: 12px 0 0;
	padding-left: 18px;
	line-height: 1.6;
}
.wcp-sg-do ul li,
.wcp-sg-dont ul li {
	margin-bottom: 6px;
}
.wcp-sg-do strong,
.wcp-sg-dont strong {
	display: block;
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 20px;
	margin-bottom: 4px;
}

/* VERTICALS GRID */
.wcp-sg-verticals {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-top: 8px;
}
@media (max-width: 960px) {
	.wcp-sg-verticals { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.wcp-sg-verticals { grid-template-columns: 1fr; }
}
.wcp-sg-vertical {
	background: #fff;
	border: 1px solid var(--wcp-gray-light);
	border-radius: var(--wcp-radius);
	padding: 20px;
	box-shadow: var(--wcp-shadow-card);
}
.wcp-sg-vertical__name {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 24px;
	color: var(--wcp-charcoal);
	margin-bottom: 4px;
}
.wcp-sg-vertical__slug {
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	color: var(--wcp-gray-dark);
	margin-bottom: 10px;
	letter-spacing: 0.02em;
}
.wcp-sg-vertical__slug code {
	background: var(--wcp-gray-light);
	padding: 2px 6px;
	border-radius: 3px;
	font-size: 12px;
}
.wcp-sg-vertical p {
	margin: 0;
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 16px;
	line-height: 1.55;
	color: var(--wcp-body);
}

/* COLOR SWATCHES */
.wcp-sg-swatches {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin: 16px 0 32px;
}
@media (max-width: 900px) {
	.wcp-sg-swatches { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
	.wcp-sg-swatches { grid-template-columns: repeat(2, 1fr); }
}
.wcp-sg-swatch {
	border-radius: var(--wcp-radius);
	padding: 20px 16px 16px;
	min-height: 120px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	font-family: 'Inter', sans-serif;
}
.wcp-sg-swatch__name {
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 2px;
}
.wcp-sg-swatch__hex {
	font-size: 12px;
	opacity: 0.85;
	font-variant-numeric: tabular-nums;
}
.wcp-sg-swatch__var {
	font-size: 11px;
	opacity: 0.7;
	margin-top: 6px;
	font-family: 'Courier New', monospace;
}

/* GRADIENTS */
.wcp-sg-gradients {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	margin: 16px 0 24px;
}
@media (max-width: 720px) {
	.wcp-sg-gradients { grid-template-columns: 1fr; }
}
.wcp-sg-gradient {
	border-radius: var(--wcp-radius);
	padding: 32px 24px;
	min-height: 160px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	color: #fff;
	font-family: 'Inter', sans-serif;
}
.wcp-sg-gradient__name {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 22px;
	margin-bottom: 4px;
}
.wcp-sg-gradient__hex {
	font-size: 12px;
	font-family: 'Courier New', monospace;
	opacity: 0.9;
	margin-bottom: 6px;
}
.wcp-sg-gradient__use {
	font-size: 13px;
	opacity: 0.85;
}

/* CALLOUT */
.wcp-sg-callout {
	background: #FFF9EC;
	border-left: 4px solid var(--wcp-gold);
	padding: 16px 20px;
	border-radius: var(--wcp-radius);
	margin: 24px 0;
	font-family: 'Inter', sans-serif;
	font-size: 15px;
	line-height: 1.55;
	color: var(--wcp-charcoal);
}
.wcp-sg-callout code {
	background: rgba(0, 0, 0, 0.06);
	padding: 2px 5px;
	border-radius: 3px;
	font-size: 13px;
}

/* TYPE SPECIMEN */
.wcp-sg-specimen {
	background: #fff;
	border: 1px solid var(--wcp-gray-light);
	border-radius: var(--wcp-radius);
	padding: 28px 32px;
	margin-bottom: 16px;
	box-shadow: var(--wcp-shadow-card);
}
.wcp-sg-specimen__label {
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wcp-gold);
	margin-bottom: 16px;
	font-weight: 600;
}
.wcp-sg-specimen__line {
	margin-bottom: 12px;
	color: var(--wcp-charcoal);
}
.wcp-sg-specimen__line:last-child {
	margin-bottom: 0;
}

/* TABLE */
.wcp-sg-table {
	width: 100%;
	border-collapse: collapse;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	margin: 16px 0 24px;
	background: #fff;
	border-radius: var(--wcp-radius);
	overflow: hidden;
	box-shadow: var(--wcp-shadow-card);
}
.wcp-sg-table th {
	background: var(--wcp-charcoal);
	color: var(--wcp-cream);
	text-align: left;
	padding: 12px 16px;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-weight: 600;
}
.wcp-sg-table td {
	padding: 10px 16px;
	border-top: 1px solid var(--wcp-gray-light);
	color: var(--wcp-body);
	vertical-align: top;
}
.wcp-sg-table tr:first-child td {
	border-top: none;
}
.wcp-sg-table code {
	background: var(--wcp-gray-light);
	padding: 2px 6px;
	border-radius: 3px;
	font-size: 13px;
	color: var(--wcp-charcoal);
}

/* LIVE COMPONENT PREVIEW */
.wcp-sg-preview {
	background: #fff;
	border: 1px solid var(--wcp-gray-light);
	border-radius: var(--wcp-radius);
	padding: 32px 28px;
	margin-bottom: 16px;
	box-shadow: var(--wcp-shadow-card);
}
.wcp-sg-preview--dark {
	background: linear-gradient(135deg, #3D3B37 0%, #2B2725 100%);
	border-color: transparent;
}
.wcp-sg-preview--dark .wcp-sg-preview__label {
	color: var(--wcp-gold);
}
.wcp-sg-preview__label {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wcp-gray-dark);
	margin-bottom: 16px;
	font-weight: 600;
}
.wcp-sg-preview__label code {
	text-transform: none;
	letter-spacing: 0;
	background: var(--wcp-gray-light);
	padding: 2px 6px;
	border-radius: 3px;
	font-size: 12px;
	color: var(--wcp-charcoal);
	margin-left: 6px;
}
.wcp-sg-preview--dark .wcp-sg-preview__label code {
	background: rgba(255, 255, 255, 0.12);
	color: var(--wcp-cream);
}

/* CODE BLOCK (token reference) */
.wcp-sg-code {
	background: #1A1917;
	color: #E8E6E1;
	padding: 24px 28px;
	border-radius: var(--wcp-radius);
	overflow-x: auto;
	font-family: 'Courier New', monospace;
	font-size: 13px;
	line-height: 1.7;
	margin: 16px 0;
}
.wcp-sg-code code {
	background: transparent;
	color: inherit;
	font: inherit;
	padding: 0;
}

/* Inline code on the page in general sections */
.wcp-section code {
	background: var(--wcp-gray-light);
	padding: 2px 6px;
	border-radius: 3px;
	font-size: 0.9em;
	font-family: 'Courier New', monospace;
	color: var(--wcp-charcoal);
}
.wcp-sg-code code,
.wcp-sg-callout code,
.wcp-sg-table code,
.wcp-sg-preview__label code,
.wcp-sg-vertical__slug code {
	/* already styled individually */
}




/* =========================================================
 * SHOP PAGE — landing page styles (v2)
 * Append to wcp-theme/style.css
 * Scoped to .page-template-page-shop where possible to avoid bleed.
 * ========================================================= */

/* Generic helper used on Shop section intros */
.wcp-section-lead {
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 19px;
	color: #1a1a1a;
	max-width: 640px;
	margin: 18px auto 0;
	text-align: center;
	line-height: 1.6;
}

/* HERO ----------------------------------------------------- */
.wcp-shop-hero {
	position: relative;
	background: var(--wcp-hero-gradient);
	color: var(--wcp-cream);
	padding: 120px 24px;
	overflow: hidden;
	text-align: center;
}
/* Real product photos washed-out in hero background */
.wcp-shop-hero-bg {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: repeat(2, 1fr);
	gap: 0;
	opacity: .28;
	filter: grayscale(40%) blur(1px);
}
.wcp-shop-hero-tile {
	background-size: cover;
	background-position: center;
	width: 100%;
	height: 100%;
	mix-blend-mode: luminosity;
}
.wcp-shop-hero-t1 { background-image: url('https://images.unsplash.com/photo-1505740420928-5e560c06d30e?w=800&q=80&auto=format'); }
.wcp-shop-hero-t2 { background-image: url('https://images.unsplash.com/photo-1523275335684-37898b6baf30?w=800&q=80&auto=format'); }
.wcp-shop-hero-t3 { background-image: url('https://images.unsplash.com/photo-1502920917128-1aa500764cbd?w=800&q=80&auto=format'); }
.wcp-shop-hero-t4 { background-image: url('https://images.unsplash.com/photo-1542291026-7eec264c27ff?w=800&q=80&auto=format'); }
.wcp-shop-hero-t5 { background-image: url('https://images.unsplash.com/photo-1510915361894-db8b60106cb1?w=800&q=80&auto=format'); }
.wcp-shop-hero-t6 { background-image: url('https://images.unsplash.com/photo-1572635196237-14b3f281503f?w=800&q=80&auto=format'); }
.wcp-shop-hero-t7 { background-image: url('https://images.unsplash.com/photo-1560343090-f0409e92791a?w=800&q=80&auto=format'); }
.wcp-shop-hero-t8 { background-image: url('https://images.unsplash.com/photo-1556909114-f6e7ad7d3136?w=800&q=80&auto=format'); }
@media (max-width: 780px) {
	.wcp-shop-hero-bg { grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(4, 1fr); opacity: .22; }
}
.wcp-shop-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 50% 40%, rgba(43,39,37,.65) 0%, rgba(43,39,37,.92) 70%);
	pointer-events: none;
	z-index: 2;
}
.wcp-shop-hero-inner {
	position: relative;
	max-width: 900px;
	margin: 0 auto;
	z-index: 3;
}
.wcp-shop-hero-eyebrow {
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--wcp-gold);
	display: inline-block;
	margin-bottom: 24px;
	padding: 8px 18px;
	border: 1px solid rgba(196,165,82,.4);
	border-radius: 30px;
}
.wcp-shop-hero h1 {
	font-family: 'Bodoni Moda', serif;
	font-weight: 700;
	font-size: clamp(48px, 8vw, 104px);
	line-height: 1;
	letter-spacing: -1.5px;
	margin: 0 0 24px;
	color: var(--wcp-cream);
}
.wcp-shop-hero-accent {
	color: var(--wcp-gold);
	font-style: italic;
	font-weight: 500;
}
.wcp-shop-hero-lead {
	font-family: 'Crimson Text', serif;
	font-size: 22px;
	line-height: 1.5;
	color: rgba(249,247,244,.85);
	max-width: 680px;
	margin: 0 auto 36px;
}
.wcp-shop-hero-cta-row {
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
}

/* AFFILIATE DISCLOSURE ------------------------------------- */
.wcp-shop-disclosure {
	background: var(--wcp-cream-2);
	padding: 14px 24px;
	margin-top: 0;
	text-align: center;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	color: #1a1a1a;
	border-bottom: 1px solid var(--wcp-rule);
}
.wcp-shop-disclosure strong { color: var(--wcp-charcoal); }

/* SHOP ROUNDUPS — Top 10 section accents ------------------- */
/* Replaces inline style="color:var(--wcp-gold);font-style:italic;" on <em> in the H2. */
.wcp-shop-roundups h2 em { color: var(--wcp-gold); font-style: italic; }

/* SHOP — empty / placeholder states (rendered by [wcp_products] shortcode) */
/* Replaces inline style="text-align:center;color:#999;" on the empty-state <p>.       */
.wcp-shop-empty { text-align: center; color: #999; }
/* Replaces inline style="font-size:60px;" on the missing-thumbnail 📦 placeholder.    */
.wcp-product-img-placeholder { font-size: 60px; }

/* ROUNDUP CARDS (Top 10 list teasers) ---------------------- */
.wcp-shop-roundups { padding: 90px 24px; }
.wcp-shop-roundups h2 {
	font-family: 'Bodoni Moda', serif;
	font-size: clamp(36px, 5vw, 56px);
	line-height: 1.1;
	margin: 0 0 14px;
	color: var(--wcp-cream);
}
.wcp-shop-roundup-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 24px;
	margin-top: 36px;
}
.wcp-shop-roundup-card {
	background: #fff;
	border-radius: var(--wcp-radius);
	overflow: hidden;
	box-shadow: var(--wcp-shadow-card);
	text-decoration: none !important;
	color: var(--wcp-charcoal) !important;
	transition: all .25s;
	border: 1px solid var(--wcp-rule);
	display: block;
}
.wcp-shop-roundup-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--wcp-shadow-card-hover);
	color: var(--wcp-charcoal) !important;
}
/* Equal-height image header, smaller font per v2 feedback */
.wcp-shop-roundup-img {
	height: 180px;
	background: var(--wcp-hero-gradient);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wcp-gold);
	font-family: 'Bodoni Moda', serif;
	font-size: 30px;
	font-weight: 700;
	text-align: center;
	padding: 18px;
	line-height: 1.15;
	position: relative;
	overflow: hidden;
}
.wcp-shop-roundup-img::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at center, rgba(196,165,82,.08) 0%, transparent 70%);
	pointer-events: none;
}
.wcp-shop-roundup-body { padding: 22px; }
.wcp-shop-roundup-tag {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--wcp-orange);
	margin-bottom: 8px;
}
.wcp-shop-roundup-title {
	font-family: 'Bodoni Moda', serif;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.2;
	margin-bottom: 8px;
	color: var(--wcp-charcoal);
}
.wcp-shop-roundup-meta {
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	color: #1a1a1a;
	font-weight: 600;
}

/* RETAILER TABS (high contrast per v2 feedback) ------------ */
.wcp-shop-tabs {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin: 32px auto 40px;
	flex-wrap: wrap;
}
.wcp-shop-tab {
	padding: 12px 24px;
	background: #fff;
	border: 2px solid var(--wcp-charcoal);
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--wcp-charcoal);
	border-radius: 30px;
	cursor: pointer;
	transition: all .2s;
}
.wcp-shop-tab:hover { background: var(--wcp-orange); border-color: var(--wcp-orange); color: #fff; }
.wcp-shop-tab.is-active {
	background: var(--wcp-charcoal);
	border-color: var(--wcp-charcoal);
	color: #fff;
}

/* retailer panes — only the active one shows */
.wcp-shop-pane { display: none; max-width: var(--wcp-content); margin: 0 auto 60px; padding: 0 24px; }
.wcp-shop-pane.is-active { display: block; }

/* NEWSLETTER (charcoal, full-width, page bookend) ---------- */
.wcp-shop-newsletter {
	background: var(--wcp-hero-gradient);
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 90px 24px;
	text-align: center;
	position: relative;
	overflow: hidden;
}
.wcp-shop-newsletter::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 50% 30%, rgba(196,165,82,.12) 0%, transparent 60%);
	pointer-events: none;
}
.wcp-shop-newsletter-inner {
	position: relative;
	z-index: 2;
	max-width: 640px;
	margin: 0 auto;
}
.wcp-shop-newsletter-eyebrow {
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--wcp-gold);
	margin-bottom: 14px;
	display: block;
}
.wcp-shop-newsletter h2 {
	font-family: 'Bodoni Moda', serif;
	font-size: clamp(32px, 4vw, 46px);
	font-weight: 700;
	margin: 0 0 14px;
	color: var(--wcp-cream);
	line-height: 1.1;
}
.wcp-shop-newsletter p {
	font-size: 18px;
	color: rgba(249,247,244,.85);
	max-width: 560px;
	margin: 0 auto 28px;
}
.wcp-shop-newsletter-form {
	display: flex;
	gap: 10px;
	max-width: 520px;
	margin: 0 auto;
	flex-wrap: wrap;
	justify-content: center;
}
.wcp-shop-newsletter-form input {
	flex: 1;
	min-width: 240px;
	padding: 16px 20px;
	border: none;
	border-radius: 4px;
	font-family: 'Inter', sans-serif;
	font-size: 15px;
	background: #fff;
	color: var(--wcp-charcoal);
}
.wcp-shop-newsletter-form input:focus { outline: 2px solid var(--wcp-gold); outline-offset: 2px; }
.wcp-shop-newsletter-form button {
	background: var(--wcp-orange);
	color: #fff;
	border: none;
	padding: 16px 28px;
	border-radius: 4px;
	font-family: 'Inter', sans-serif;
	font-weight: 700;
	font-size: 15px;
	letter-spacing: 1px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .2s;
}
.wcp-shop-newsletter-form button:hover { background: var(--wcp-orange-dark); }
.wcp-shop-newsletter-note {
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	color: rgba(249,247,244,.6);
	margin-top: 18px !important;
}

/* ==========================================================================
   MOBILE NAV — hamburger + slide-in drawer (≤ 960px)
   ========================================================================== */
.wcp-nav-toggle {
	display: none;
	background: transparent;
	border: 0;
	padding: 8px;
	cursor: pointer;
	width: 44px;
	height: 44px;
	flex-direction: column;
	justify-content: space-between;
	align-items: stretch;
}
.wcp-nav-toggle__bar {
	display: block;
	height: 2px;
	background: var(--wcp-charcoal);
	border-radius: 2px;
	transition: transform 0.25s ease, opacity 0.2s ease;
}
.wcp-nav-close {
	display: none;
	background: transparent;
	border: 0;
	cursor: pointer;
	font-size: 32px;
	line-height: 1;
	color: var(--wcp-charcoal);
	padding: 4px 12px;
	position: absolute;
	top: 18px;
	right: 16px;
}

@media (max-width: 960px) {
	.wcp-nav-toggle { display: flex; }

	.wcp-nav {
		position: fixed;
		top: 0;
		right: 0;
		width: min(320px, 85vw);
		height: 100vh;
		background: var(--wcp-cream);
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		gap: 0;
		padding: 80px 28px 32px;
		transform: translateX(100%);
		transition: transform 0.3s ease;
		z-index: 100;
		box-shadow: -4px 0 24px rgba(0, 0, 0, 0.12);
		overflow-y: auto;
	}
	.wcp-nav.is-open { transform: translateX(0); }
	.wcp-nav a {
		display: block;
		font-size: 18px;
		padding: 14px 0;
		width: 100%;
		border-bottom: 1px solid rgba(43, 39, 37, 0.08);
	}
	.wcp-nav a:last-child { border-bottom: 0; }
	.wcp-nav-close { display: block; }

	body.wcp-nav-locked { overflow: hidden; }
	body.wcp-nav-locked::before {
		content: '';
		position: fixed;
		inset: 0;
		background: rgba(43, 39, 37, 0.45);
		z-index: 99;
	}

	.wcp-nav-toggle[aria-expanded="true"] .wcp-nav-toggle__bar:nth-child(1) {
		transform: translateY(8px) rotate(45deg);
	}
	.wcp-nav-toggle[aria-expanded="true"] .wcp-nav-toggle__bar:nth-child(2) {
		opacity: 0;
	}
	.wcp-nav-toggle[aria-expanded="true"] .wcp-nav-toggle__bar:nth-child(3) {
		transform: translateY(-8px) rotate(-45deg);
	}
}


/* ============================================================================
   WCP QA FIXES - 2026-04-28
   ============================================================================ */

/* Hero featured image: fill wrapper, crop portrait centered favoring faces */
.wcp-hero-wrapper figure.wp-block-post-featured-image,
.wcp-hero figure.wp-block-post-featured-image {
    width: 100%;
    aspect-ratio: 16 / 7;
    overflow: hidden;
    border-radius: 8px;
    margin: 0;
    background: var(--wcp-charcoal);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}
.wcp-hero-wrapper figure.wp-block-post-featured-image a,
.wcp-hero-wrapper figure.wp-block-post-featured-image img,
.wcp-hero figure.wp-block-post-featured-image a,
.wcp-hero figure.wp-block-post-featured-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center 30%;
    display: block;
    max-width: none;
}
@media (max-width: 768px) {
    .wcp-hero-wrapper figure.wp-block-post-featured-image,
    .wcp-hero figure.wp-block-post-featured-image {
        aspect-ratio: 4 / 3;
    }
}

/* Post grid collapse fix - LI was display:contents giving 0x0 grid items */
/* V6 2026-05-11: 3 columns at desktop (was 2) — balances homepage Latest section per Frank */
.wcp-posts-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 28px;
    margin-top: 8px;
}
/* V6.1 2026-05-11: posts grid inside a wp-block-columns layout (e.g., More to Read
   sitting beside Most Popular sidebar) stays 2-col since it has half the width. */
.wp-block-columns .wcp-posts-grid {
    grid-template-columns: repeat(2, 1fr) !important;
}
/* V6.2 2026-05-11: kitchen cards grow vertically to match right-rail height
   (Most Popular box + ad banner = ~706px). Meta row sticks to bottom for visual balance. */
.wp-block-columns .wcp-posts-grid .wcp-post-card {
    min-height: 600px;
}
.wp-block-columns .wcp-posts-grid .wcp-post-card__body {
    display: flex;
    flex-direction: column;
    flex: 1;
}
.wp-block-columns .wcp-posts-grid .wcp-post-card__meta {
    margin-top: auto;
}
/* V6.3 2026-05-11: tighten Most Popular list item padding for denser sidebar.
   Selector matches existing rule at line 1278 to override its padding shorthand. */
.wcp-sidebar-box .wp-block-post-template > li {
    padding-top: 5px;
    padding-bottom: 5px;
}
/* V6.4 2026-05-11: pull Most Popular list up tighter under the heading.
   The gap-causing element is the .wp-block-query wrapper (sibling of the heading),
   not the ul inside it. WordPress block gap injects 24px between block-level
   siblings inside .is-layout-flow; override the wrapper's margin specifically. */
.wcp-sidebar-box .wp-block-query {
    margin-top: 8px;
}
.wcp-posts-grid > .wp-block-post-template {
    display: contents !important;
    list-style: none;
    margin: 0;
    padding: 0;
}
.wcp-posts-grid > .wp-block-post-template > li.wp-block-post {
    display: block !important;
    margin: 0;
    padding: 0;
    list-style: none;
}
.wcp-posts-grid > .wp-block-post-template > li.wp-block-post > article {
    height: 100%;
}
@media (max-width: 700px) {
    .wcp-posts-grid { grid-template-columns: 1fr !important; }
}

.wcp-article-grid > ul.wp-block-post-template > li.wp-block-post {
    display: block !important;
    margin: 0;
    padding: 0;
}
.wcp-article-grid > ul.wp-block-post-template > li.wp-block-post > article {
    height: 100%;
}

/* 404 page styles moved to dedicated section at end of file */

/* Sticky header shadow on scroll */
.site-header.is-scrolled {
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    border-bottom: 1px solid var(--wcp-rule);
    transition: box-shadow 200ms ease, border-color 200ms ease;
}

/* Verticals band wrap at narrow desktop / mobile */
@media (max-width: 1100px) {
    .wcp-vt-grid,
    .wcp-verticals-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 700px) {
    .wcp-vt-grid,
    .wcp-verticals-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Hide archive KPI value when empty (Travel had "—") */
.wcp-archive-stat .wcp-archive-stat-value:empty,
.wcp-archive-kpi-row .wcp-kpi-value:empty {
    display: none;
}

/* End WCP QA fixes */


/* WCP-QA-FIXES-V2-2026-04-28 */

/* Hide the "Posts" stat tile on category archive when post count was scrubbed (Travel "—" cleanup) */
.wcp-vertical-hero__stat:has(.wcp-vh-stat-posts:empty) {
    display: none;
}
.wcp-vertical-hero__stat .wcp-vh-stat-posts:empty + * {
    display: none;
}

/* Search input pill style anywhere on site (not just 404) */
form[role="search"] input[type="search"],
.wp-block-search input.wp-block-search__input {
    border: 1px solid var(--wcp-rule);
    border-radius: 999px;
    padding: 12px 18px;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    background: #fff;
    color: var(--wcp-charcoal);
}
form[role="search"] input[type="search"]:focus,
.wp-block-search input.wp-block-search__input:focus {
    outline: 2px solid var(--wcp-orange);
    outline-offset: 2px;
}
form[role="search"] button[type="submit"],
.wp-block-search button.wp-block-search__button {
    background: var(--wcp-orange);
    color: #fff;
    border: none;
    border-radius: 999px;
    padding: 12px 24px;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    margin-left: 8px;
}
form[role="search"] button[type="submit"]:hover,
.wp-block-search button.wp-block-search__button:hover {
    background: var(--wcp-orange-dark);
}

/* Contact page social icons — round chips with brand color on hover */
.wcp-footer-socials a,
.wcp-contact-socials a,
.wcp-social-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background: var(--wcp-cream-2);
    color: var(--wcp-charcoal);
    transition: background 200ms ease, color 200ms ease, transform 200ms ease;
    text-decoration: none;
}
.wcp-footer-socials a:hover,
.wcp-contact-socials a:hover,
.wcp-social-chip:hover {
    background: var(--wcp-orange);
    color: #fff;
    transform: translateY(-2px);
}
.wcp-footer-socials a svg,
.wcp-contact-socials a svg,
.wcp-social-chip svg {
    width: 20px;
    height: 20px;
}

/* End WCP-QA-FIXES-V2 */

/* WCP-QA-FIX 2026-04-28: header search icon */
.wcp-header-search {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    color: var(--wcp-charcoal);
    background: transparent;
    text-decoration: none;
    transition: background 200ms ease, color 200ms ease;
    margin-right: 8px;
}
.wcp-header-search:hover {
    background: var(--wcp-cream-2);
    color: var(--wcp-orange);
}
.wcp-header-search svg {
    width: 20px;
    height: 20px;
    display: block;
}
@media (max-width: 960px) {
    .wcp-header-search {
        margin-right: 4px;
    }
}

/* End WCP header search */

/* ============================================================================
   WCP-QA-FIXES-V3 — 2026-04-28
   1. Footer social icons → outline style
   2. Related Reads cards → grid that fills the row
   3. Sticky header → admin-bar offset + breathing room
   ============================================================================ */

/* 1. Footer social icons: outline only (overrides the V2 cream chip just for footer) */
.wcp-footer-socials a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 50%;
    background: transparent;
    color: var(--wcp-cream);
    text-decoration: none;
    transition: border-color 200ms ease, color 200ms ease;
}
.wcp-footer-socials a:hover {
    border-color: var(--wcp-gold);
    color: var(--wcp-gold);
    background: transparent;
    transform: none;
}
.wcp-footer-socials a svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
}

/* 2. Related Reads grid — only the actual <ul> is the grid container.
   Wrapper .wcp-related-grid stays block so it gives the ul full container width. */
.wcp-related-grid {
    display: block !important;
    width: 100%;
}
.wcp-related-grid .wp-block-post-template {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 28px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
}
.wcp-related-grid .wp-block-post-template > li,
.wcp-related-grid li.wp-block-post {
    display: block !important;
    margin: 0;
    padding: 0;
    list-style: none;
    width: auto;
}
@media (max-width: 1024px) {
    .wcp-related-grid .wp-block-post-template {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}
@media (max-width: 600px) {
    .wcp-related-grid .wp-block-post-template {
        grid-template-columns: 1fr !important;
    }
}

/* 3. Sticky header — admin-bar offset is now applied to the OUTER
   template-part header (see .wp-site-blocks > header.wp-block-template-part
   rule earlier in this file). The legacy rules here are no-ops with sticky
   on the outer; left in place as inert no-ops to avoid surprising downstream
   selectors that may depend on the body.admin-bar context. */

/* End WCP-QA-FIXES-V3 */

/* ============================================================================
   WCP-QA-FIXES-V4 — 2026-04-28
   1. Logo cross-fade between default and sticky horizontal logo on scroll
   2. Sticky horizontal logo size: reduced
   3. Related Reads → 2 columns desktop (cards wider)
   ============================================================================ */

/* 1. Logo cross-fade.
   Both logos stay in DOM, stacked, opacity-toggled. Avoids display:none which
   can't transition. */
.wcp-logo-block {
    position: relative;
    min-width: 1px;
}
.wcp-logo-block .wcp-logo-default,
.wcp-logo-block .wcp-logo-sticky-slot {
    display: inline-flex !important;
    align-items: center;
    transition: opacity 280ms ease;
}
.wcp-logo-block .wcp-logo-sticky-slot {
    opacity: 0;
    pointer-events: none;
    position: absolute;
    inset: 0;
    justify-content: flex-start;
}
.site-header.is-scrolled .wcp-logo-block .wcp-logo-default {
    opacity: 0;
    pointer-events: none;
}
.site-header.is-scrolled .wcp-logo-block .wcp-logo-sticky-slot {
    opacity: 1;
    pointer-events: auto;
}

/* 2. Reduce sticky horizontal logo size */
.wcp-logo-block .wcp-logo-sticky-img {
    max-height: 32px !important;
    width: auto;
    height: auto;
    display: block;
}

/* 3. Related Reads → 2 columns at desktop so cards have more room */
.wcp-related-grid .wp-block-post-template {
    grid-template-columns: repeat(3, 1fr) !important;
}
@media (max-width: 600px) {
    .wcp-related-grid .wp-block-post-template {
        grid-template-columns: 1fr !important;
    }
}

/* End WCP-QA-FIXES-V4 */

/* ============================================================================
   WCP-QA-FIXES-V6 — 2026-04-28
   Sticky header: keep total height equal to unsticky, larger horizontal logo,
   nav vertically centered with breathing room top + bottom.
   ============================================================================ */

/* Header content slot — min-height + align live on the base .wcp-header-container
   rule at the top of this file. Sticky padding equals unsticky (no override). */

/* Bring sticky horizontal logo back up — 32px was too small. */
.wcp-logo-block .wcp-logo-sticky-img {
    max-height: 48px !important;
}

/* Make the nav itself center-align inside the flex row regardless of any
   per-item line-height variance. */
.wcp-nav,
.wcp-header-container > nav,
.wcp-header-container > .wcp-nav {
    display: flex;
    align-items: center;
    height: 100%;
}
.wcp-nav ul,
.wcp-nav .wp-block-navigation__container {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
}

/* End WCP-QA-FIXES-V6 */

/* ============================================================================
   WCP-QA-FIXES-V7 — 2026-04-28
   Fix sticky logo width constraint.
   The V4 absolute-positioning made the sticky <span> share the parent's width
   (which was sized to the small default logo), clamping the horizontal logo.
   Switch to CSS-grid stacking so both logos share the same cell and the
   container auto-sizes to the wider of the two.
   ============================================================================ */

.wcp-logo-block {
    display: grid !important;
    grid-template-columns: minmax(0, max-content);
    grid-template-areas: "logos";
    align-items: center;
    position: static;
}
.wcp-logo-block > .wcp-logo-default,
.wcp-logo-block > .wcp-logo-sticky-slot {
    grid-area: logos;
    position: relative !important;
    inset: auto !important;
    display: inline-flex !important;
    align-items: center;
    transition: opacity 280ms ease;
    justify-self: start;
}
.wcp-logo-block > .wcp-logo-sticky-slot {
    opacity: 0;
    pointer-events: none;
}
.site-header.is-scrolled .wcp-logo-block > .wcp-logo-default {
    opacity: 0;
    pointer-events: none;
}
.site-header.is-scrolled .wcp-logo-block > .wcp-logo-sticky-slot {
    opacity: 1;
    pointer-events: auto;
}

/* Image itself: don't clamp to a parent that's narrower than intrinsic */
.wcp-logo-block .wcp-logo-sticky-img {
    max-height: 48px !important;
    max-width: none !important;
    width: auto !important;
    height: auto !important;
    display: block;
}

/* End WCP-QA-FIXES-V7 */


/* ==========================================================================
   TRAVEL PLANNER + QUESTIONNAIRE — appended 2026-04-28
   Re-applied after style.css drift wiped earlier travel CSS.
   ========================================================================== */

   TRAVEL PLANNER (landing page)
   ========================================================================== */

/* Service-card icon override: round tinted square instead of orange-only */
.wcp-travel-services .wcp-why-icon {
	background: rgba(196, 165, 82, 0.12);
	color: var(--wcp-gold);
}

/* HOW IT WORKS — three numbered steps on charcoal panel */
.wcp-travel-steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	max-width: 1040px;
	margin: 0 auto;
	position: relative;
	padding-top: 8px;
}
.wcp-travel-steps::before {
	content: '';
	position: absolute;
	top: 36px;
	left: calc(16.6% + 24px);
	right: calc(16.6% + 24px);
	height: 1px;
	background: rgba(196, 165, 82, 0.25);
	z-index: 0;
}
.wcp-travel-step {
	text-align: center;
	position: relative;
	z-index: 1;
	padding: 0 16px;
}
.wcp-travel-step-number {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	/* Solid charcoal background masks the connector line that passes
	   horizontally behind the row of circles. Earlier transparent fill
	   let the line show through the #2 circle. */
	background: var(--wcp-charcoal);
	border: 2px solid rgba(196, 165, 82, 0.5);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 22px;
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 28px;
	color: var(--wcp-gold);
	font-weight: 700;
	position: relative;
	z-index: 2;
}
.wcp-travel-step h3 {
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 22px;
	color: var(--wcp-cream);
	margin: 0 0 12px;
	line-height: 1.25;
}
.wcp-travel-step p {
	font-size: 15px;
	color: rgba(249, 247, 244, 0.72);
	line-height: 1.65;
	margin: 0;
}

/* TRIP RECAP THUMBNAILS — gradient placeholders with overlaid label */
.wcp-recap-thumb {
	position: relative;
	aspect-ratio: 4 / 3;
}
.wcp-recap-mexico {
	background: linear-gradient(160deg, #0a3d2e 0%, #1a5c42 50%, #2d7a5c 100%) !important;
}
.wcp-recap-nc {
	background: linear-gradient(160deg, #1a2a1a 0%, #2d4a2d 50%, #3d6348 100%) !important;
}
.wcp-recap-miami {
	background: linear-gradient(160deg, #1A3A5C 0%, #1e5080 50%, #2C6FAA 100%) !important;
}
.wcp-recap-thumb-label {
	position: absolute;
	bottom: 16px;
	left: 16px;
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 18px;
	color: rgba(255, 255, 255, 0.95);
	letter-spacing: 0.3px;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45);
}

/* SAMPLE ITINERARIES — three cards with checkmark list */
.wcp-itin-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.wcp-itin-card {
	background: #fff;
	border-radius: 8px;
	border: 1px solid var(--wcp-gray-light);
	box-shadow: var(--wcp-shadow-card);
	padding: 32px 28px 28px;
	display: flex;
	flex-direction: column;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.wcp-itin-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--wcp-shadow-card-hover);
}
.wcp-itin-flag {
	font-size: 32px;
	margin-bottom: 14px;
	line-height: 1;
}
.wcp-itin-days {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--wcp-orange);
	margin-bottom: 8px;
}
.wcp-itin-card h3 {
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 22px;
	font-weight: 700;
	color: var(--wcp-charcoal);
	margin: 0 0 18px;
	line-height: 1.25;
}
.wcp-itin-list {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
	flex: 1;
}
.wcp-itin-list li {
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 15px;
	color: var(--wcp-body);
	padding: 8px 0 8px 24px;
	border-bottom: 1px solid var(--wcp-gray-light);
	position: relative;
	line-height: 1.45;
}
.wcp-itin-list li:last-child { border-bottom: none; }
.wcp-itin-list li::before {
	content: '✓';
	color: var(--wcp-gold);
	font-weight: 700;
	position: absolute;
	left: 0;
	top: 8px;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
}
.wcp-itin-link {
	display: inline-block;
	margin-top: auto;
	padding: 12px 24px;
	background: transparent;
	color: var(--wcp-gold);
	border: 1.5px solid var(--wcp-gold);
	border-radius: 6px;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	text-align: center;
	transition: background 0.2s ease, color 0.2s ease;
}
.wcp-itin-link:hover {
	background: var(--wcp-gold);
	color: #fff !important;
}

/* LET'S TALK CONTAINED CARD (replaces full-bleed CTA strip) */
.wcp-talk-card {
	/* Deep blue gradient — separates the questionnaire CTA from the
	   charcoal newsletter strip and primary-dark footer below it.
	   On-brand (matches the deep blue used on the Advertise hero) and
	   reads as travel/sky. */
	background: linear-gradient(135deg, var(--wcp-deep-blue-dark) 0%, var(--wcp-deep-blue) 100%);
	border-top: 3px solid var(--wcp-gold);
	border-radius: 12px;
	padding: 56px 40px;
	text-align: center;
	color: var(--wcp-cream);
	max-width: 880px;
	margin: 0 auto;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
}
.wcp-talk-card .wcp-section-subtitle {
	color: var(--wcp-gold);
	text-align: center;
	margin-bottom: 12px;
}
.wcp-talk-title {
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 32px;
	color: var(--wcp-cream);
	margin: 0 0 14px;
	font-weight: 700;
}
.wcp-talk-card p {
	color: rgba(249, 247, 244, 0.78);
	max-width: 540px;
	margin: 0 auto 24px;
	font-size: 16px;
	line-height: 1.7;
}
.wcp-talk-note {
	font-size: 13px !important;
	color: rgba(249, 247, 244, 0.45) !important;
	margin: 16px auto 0 !important;
}

/* ==========================================================================
   TRAVEL QUESTIONNAIRE WIZARD
   ========================================================================== */
.wcp-quiz-hero {
	padding: 64px 24px 56px;
}
.wcp-quiz-hero h1 { font-size: 44px; }

.wcp-quiz-section {
	max-width: 720px;
	margin: 56px auto 96px;
	padding: 0 24px 32px;
}

.wcp-quiz {
	background: #fff;
	border-radius: 12px;
	box-shadow: var(--wcp-shadow-lift);
	padding: 40px 40px 36px;
	border: 1px solid var(--wcp-gray-light);
}

.wcp-quiz-progress {
	margin-bottom: 32px;
}
.wcp-quiz-progress-track {
	width: 100%;
	height: 6px;
	background: var(--wcp-gray-light);
	border-radius: 999px;
	overflow: hidden;
}
.wcp-quiz-progress-bar {
	height: 100%;
	background: linear-gradient(90deg, var(--wcp-gold), var(--wcp-orange));
	border-radius: 999px;
	transition: width 0.35s ease;
}
.wcp-quiz-progress-text {
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--wcp-muted);
	text-align: right;
	margin-top: 10px;
}

.wcp-quiz-step {
	display: none;
	animation: wcpQuizFade 0.3s ease;
}
.wcp-quiz-step.is-active { display: block; }
@keyframes wcpQuizFade {
	from { opacity: 0; transform: translateY(8px); }
	to   { opacity: 1; transform: translateY(0); }
}

.wcp-quiz-eyebrow {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--wcp-orange);
	margin-bottom: 8px;
}
.wcp-quiz-question {
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 30px;
	font-weight: 700;
	color: var(--wcp-charcoal);
	margin: 0 0 8px;
	line-height: 1.2;
}
.wcp-quiz-help {
	font-size: 15px;
	color: var(--wcp-body);
	margin: 0 0 24px;
}

.wcp-quiz-input {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid var(--wcp-gray-light);
	border-radius: 6px;
	font-size: 16px;
	font-family: 'Inter', sans-serif;
	color: var(--wcp-charcoal);
	background: #fff;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.wcp-quiz-input:focus {
	outline: none;
	border-color: var(--wcp-orange);
	box-shadow: 0 0 0 3px rgba(232, 115, 60, 0.12);
}
textarea.wcp-quiz-input { resize: vertical; min-height: 120px; font-family: 'Crimson Text', Georgia, serif; font-size: 16px; }

/* Inline-validation error state */
.wcp-quiz-input.is-error,
.wcp-quiz-chips.is-error {
	border-color: #B43A2A;
	background: rgba(180, 58, 42, 0.05);
	box-shadow: 0 0 0 3px rgba(180, 58, 42, 0.10);
}
.wcp-quiz-error-msg {
	display: none;
	margin: 12px 0 0;
	padding: 10px 14px;
	background: rgba(180, 58, 42, 0.08);
	border-left: 3px solid #B43A2A;
	color: #8A2C1F;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	line-height: 1.45;
	border-radius: 4px;
}
.wcp-quiz-error-msg.is-shown { display: block; }

/* Required asterisk + optional tag */
.wcp-quiz-req {
	color: var(--wcp-orange);
	font-weight: 700;
	margin-left: 2px;
}
.wcp-quiz-optional {
	color: var(--wcp-muted);
	font-weight: 500;
	font-size: 11px;
	letter-spacing: 0.5px;
	text-transform: none;
	margin-left: 4px;
}
/* Required-field legend — sits at the top of the wizard card under
   the progress bar, reads as form chrome (small, muted, separated
   by a hairline rule). */
.wcp-quiz-req-key {
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 500;
	color: var(--wcp-muted);
	letter-spacing: 0.3px;
	margin: 0 0 24px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--wcp-gray-light);
}
.wcp-quiz-req-key .wcp-quiz-req { margin-right: 4px; }

/* Label for chip groups (where there is no <label> element) */
.wcp-quiz-group-label {
	display: block;
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--wcp-charcoal);
	margin-bottom: 10px;
}

/* Step 3 — kid ages dynamic block */
.wcp-quiz-kid-ages { margin: 16px 0 0; display: none; }
.wcp-quiz-kid-ages.is-shown { display: block; }
.wcp-quiz-kid-ages-label {
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--wcp-charcoal);
	margin-bottom: 10px;
}
.wcp-quiz-kid-ages-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
	gap: 12px;
}
.wcp-quiz-kid-age-cell label {
	display: block;
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: var(--wcp-muted);
	margin-bottom: 4px;
}
.wcp-quiz-kid-age-cell .wcp-quiz-input { padding: 10px 12px; font-size: 14px; }

.wcp-quiz-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.wcp-quiz-field { margin-bottom: 16px; }
.wcp-quiz-field label {
	display: block;
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--wcp-charcoal);
	margin-bottom: 6px;
}
.wcp-quiz-flex-toggle { margin-top: 8px; }
.wcp-quiz-checkbox {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	color: var(--wcp-body);
	cursor: pointer;
}
.wcp-quiz-checkbox input { accent-color: var(--wcp-orange); }

/* CHIPS */
.wcp-quiz-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 4px 0 8px;
}
.wcp-quiz-chip {
	padding: 10px 18px;
	border: 1.5px solid var(--wcp-gray-light);
	background: #fff;
	color: var(--wcp-charcoal);
	border-radius: 999px;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.5px;
	cursor: pointer;
	transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}
.wcp-quiz-chip:hover { border-color: var(--wcp-orange); color: var(--wcp-orange); }
.wcp-quiz-chip.is-selected {
	background: var(--wcp-charcoal);
	border-color: var(--wcp-charcoal);
	color: var(--wcp-cream);
}

/* ACTIONS row */
.wcp-quiz-actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 32px;
	gap: 12px;
}
.wcp-quiz-back {
	background: transparent;
	border: 1.5px solid var(--wcp-gray-light);
	color: var(--wcp-gray-dark);
	padding: 12px 24px;
	border-radius: 6px;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	cursor: pointer;
	transition: border-color 0.2s ease, color 0.2s ease;
}
.wcp-quiz-back:hover:not(:disabled) {
	border-color: var(--wcp-charcoal);
	color: var(--wcp-charcoal);
}
.wcp-quiz-back:disabled { opacity: 0.4; cursor: not-allowed; }

/* REVIEW screen */
.wcp-quiz-review {
	background: var(--wcp-cream);
	border-radius: 8px;
	padding: 24px 28px;
	margin: 8px 0 4px;
	border: 1px solid var(--wcp-gray-light);
	display: grid;
	grid-template-columns: 160px 1fr;
	gap: 12px 20px;
	font-size: 14px;
}
.wcp-quiz-review dt {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--wcp-muted);
	padding-top: 2px;
}
.wcp-quiz-review dd {
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 15px;
	color: var(--wcp-charcoal);
	margin: 0;
	line-height: 1.5;
	white-space: pre-wrap;
}

.wcp-quiz-status {
	margin-top: 16px;
	font-size: 14px;
	color: var(--wcp-body);
	text-align: center;
}
.wcp-quiz-status.is-error { color: #B43A2A; }

.wcp-quiz-success {
	text-align: center;
	padding: 24px 8px 8px;
}
.wcp-quiz-success-icon {
	font-size: 48px;
	margin-bottom: 16px;
}
.wcp-quiz-success h2 {
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 32px;
	color: var(--wcp-charcoal);
	margin: 0 0 12px;
}
.wcp-quiz-success p {
	font-size: 16px;
	color: var(--wcp-body);
	margin: 0 auto 24px;
	max-width: 460px;
	line-height: 1.65;
}

/* TRAVEL responsive overrides */
@media (max-width: 900px) {
	.wcp-itin-grid { grid-template-columns: 1fr; }
	.wcp-travel-steps { grid-template-columns: 1fr; gap: 28px; }
	.wcp-travel-steps::before { display: none; }
	.wcp-travel-recaps { grid-template-columns: 1fr; }
	.wcp-quiz { padding: 28px 22px; }
	.wcp-quiz-question { font-size: 24px; }
	.wcp-quiz-row { grid-template-columns: 1fr; }
	.wcp-quiz-review { grid-template-columns: 1fr; gap: 4px 0; }
	.wcp-quiz-review dt { padding-top: 12px; }
	.wcp-talk-card { padding: 40px 24px; }
}

/* ==========================================================================
   FORM LABEL REQUIRED ASTERISK
   Marks required fields visually so visitors know before submit.
   aria-hidden="true" on the span keeps screen-readers focused on the
   `required` attribute on the input itself.
   ========================================================================== */
.wcp-required {
	color: var(--wcp-orange);
	font-weight: 700;
	margin-left: 2px;
}

/* ==========================================================================
   404 PAGE
   Hero with charcoal-brown gradient + branded pill search bar, then
   "Pick a channel" + "Popular spots" card grids below.
   ========================================================================== */
.wcp-404-hero {
	background: linear-gradient(135deg, var(--wcp-primary-dark) 0%, var(--wcp-charcoal) 100%);
	color: var(--wcp-cream);
	padding: 96px 24px 88px;
	text-align: center;
}
.wcp-404-hero__inner {
	max-width: 720px;
	margin: 0 auto;
}
.wcp-404-hero__badge {
	display: inline-block;
	background: rgba(196, 165, 82, 0.15);
	color: var(--wcp-gold);
	border: 1px solid rgba(196, 165, 82, 0.4);
	border-radius: 999px;
	padding: 6px 18px;
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 2px;
	margin-bottom: 22px;
}
.wcp-404-hero__title {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 56px;
	font-weight: 700;
	line-height: 1.05;
	margin: 0 0 16px;
	color: var(--wcp-cream);
}
.wcp-404-hero__dek {
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 18px;
	line-height: 1.6;
	color: rgba(249, 247, 244, 0.78);
	margin: 0 auto 30px;
	max-width: 560px;
}
.wcp-404-search {
	display: flex;
	gap: 6px;
	max-width: 520px;
	margin: 0 auto;
	background: #fff;
	border-radius: 999px;
	padding: 4px;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
}
.wcp-404-search input[type="search"] {
	flex: 1;
	border: 0;
	background: transparent;
	padding: 10px 18px;
	font-family: 'Inter', sans-serif;
	font-size: 15px;
	color: var(--wcp-charcoal);
	outline: none;
	min-width: 0;
}
.wcp-404-search input[type="search"]::placeholder {
	color: var(--wcp-gray-mid);
}
.wcp-404-search button {
	background: var(--wcp-orange);
	color: #fff;
	border: 0;
	border-radius: 999px;
	padding: 10px 22px;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	cursor: pointer;
	transition: background 0.2s ease;
}
.wcp-404-search button:hover {
	background: var(--wcp-orange-dark);
}

/* Section heads (used by both "Pick a channel" and "Popular spots") */
.wcp-404-section-head {
	text-align: center;
	margin: 0 auto 36px;
	max-width: 640px;
}
.wcp-404-section-title {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 36px;
	font-weight: 700;
	color: var(--wcp-charcoal);
	margin: 8px 0 0;
	line-height: 1.15;
}

/* "Popular spots" core-pages grid */
.wcp-404-core {
	padding: 56px 24px 80px;
}
.wcp-404-core-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	max-width: var(--wcp-content);
	margin: 0 auto;
}
.wcp-404-core-card {
	display: block;
	background: #fff;
	border: 1px solid var(--wcp-rule);
	border-radius: 8px;
	padding: 28px 24px;
	text-decoration: none;
	color: inherit;
	box-shadow: var(--wcp-shadow-card);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.wcp-404-core-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--wcp-shadow-card-hover);
}
.wcp-404-core-card__label {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-size: 22px;
	font-weight: 700;
	color: var(--wcp-charcoal);
	margin-bottom: 10px;
	line-height: 1.2;
}
.wcp-404-core-card__dek {
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 15px;
	color: var(--wcp-body);
	line-height: 1.55;
	margin-bottom: 16px;
}
.wcp-404-core-card__cta {
	display: inline-block;
	color: var(--wcp-orange);
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	transition: color 0.2s ease;
}
.wcp-404-core-card:hover .wcp-404-core-card__cta {
	color: var(--wcp-orange-dark);
}

/* Verticals section spacing on the 404 page */
.wcp-404-verticals {
	padding: 56px 24px 0;
}

/* Responsive */
@media (max-width: 900px) {
	.wcp-404-core-grid { grid-template-columns: repeat(2, 1fr); }
	.wcp-404-hero__title { font-size: 40px; }
}
@media (max-width: 600px) {
	.wcp-404-core-grid { grid-template-columns: 1fr; }
	.wcp-404-hero { padding: 72px 20px 64px; }
	.wcp-404-hero__title { font-size: 32px; }
	.wcp-404-hero__dek { font-size: 16px; }
	.wcp-404-search { flex-direction: column; border-radius: 14px; padding: 8px; gap: 8px; }
	.wcp-404-search input[type="search"] { padding: 12px 14px; }
	.wcp-404-search button { width: 100%; }
}

/* === Path 2 page migration: restore margin-collapse for wp:post-content wrapper === */
/* Without this, the post-content wrapper (display:flow-root) traps the last section's */
/* margin-bottom inside the wrapper, adding ~64px before the newsletter section.       */
/* Scoped via the wcp-page-content class on wp:post-content blocks in migrated pages.  */
.wp-block-post-content.wcp-page-content { display: block; }

/* === Path 2 page migration: contact-form spacing parity === */
/* Pre-migration, wpautop ran on the [wcp_contact_form] shortcode output via the     */
/* wp:shortcode block, inserting <br /> tags between <label> and <input> AND wrapping */
/* the submit <button> in a <p>. After migration to post_content, the_content filter  */
/* expands the shortcode WITHOUT wpautop, so the form has no <br /> and no <p> wrap.  */
/* These rules restore the exact pre-migration vertical spacing (scoped to migrated   */
/* pages via .wcp-page-content so other forms are unaffected).                        */
.wcp-page-content .wcp-field > label { margin-bottom: 34px; }
.wcp-page-content .wcp-contact-form .wcp-submit-btn { margin-top: 22px; }

/* ============================================================== */
/* WCP PRODUCT GRID — frontend styles (baked into theme stylesheet
   so it always loads, regardless of block.json style auto-enqueue).
   Mirrors blocks/wcp-product-grid/style.css with explicit display:block
   on the wrapper to defeat any inherited grid-item layout. */
/* ============================================================== */

.wcp-product-grid {
	display: block;
	width: 100%;
	max-width: 1240px;
	margin: 32px auto;
	padding: 0 24px;
	box-sizing: border-box;
}

.wcp-product-grid__title {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-weight: 700;
	font-size: 32px;
	color: var(--wcp-charcoal);
	text-align: center;
	margin: 0 0 32px;
}

.wcp-product-grid__list {
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
	box-sizing: border-box;
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}
.wcp-product-grid--cols-2 .wcp-product-grid__list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.wcp-product-grid--cols-3 .wcp-product-grid__list { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.wcp-product-grid--cols-4 .wcp-product-grid__list { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.wcp-product-grid--cols-5 .wcp-product-grid__list { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }

@media (max-width: 1024px) {
	.wcp-product-grid--cols-4 .wcp-product-grid__list,
	.wcp-product-grid--cols-5 .wcp-product-grid__list {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}
@media (max-width: 768px) {
	.wcp-product-grid__list {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 18px;
	}
}
@media (max-width: 480px) {
	.wcp-product-grid__list {
		grid-template-columns: 1fr !important;
	}
}

.wcp-product-card {
	position: relative;
	background: #fff;
	border: 1px solid var(--wcp-rule, #E5DFD4);
	border-radius: 4px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
	margin: 0;
	list-style: none;
}
.wcp-product-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(0,0,0,0.08);
}

.wcp-product-card__ribbon {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	background: var(--wcp-orange, #E8733C);
	color: var(--wcp-cream, #F9F7F4);
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	padding: 5px 10px;
	border-radius: 2px;
}

.wcp-product-card__media {
	display: block;
	aspect-ratio: 4 / 3;
	background: #F4F1EA;
	overflow: hidden;
	position: relative;
}
.wcp-product-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}
.wcp-product-card:hover .wcp-product-card__media img {
	transform: scale(1.04);
}
.wcp-product-card__media.is-empty {
	background: linear-gradient(135deg, #F4F1EA 0%, #E8E2D4 100%);
}
.wcp-product-card__media-empty {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	color: #8B8174;
	padding: 16px;
}
.wcp-product-card__media-empty svg {
	width: 64px;
	height: 64px;
	color: #8B8174;
}
.wcp-product-card__media-empty-label {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #8B8174;
	text-align: center;
}

.wcp-product-card__body {
	padding: 16px 18px 18px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}

.wcp-product-card__retailer {
	display: inline-block;
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--wcp-charcoal, #2B2725);
	background: var(--wcp-cream-2, #F3F0EA);
	padding: 3px 8px;
	border-radius: 2px;
	align-self: flex-start;
}

.wcp-product-card__title {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-weight: 700;
	font-size: 17px;
	line-height: 1.3;
	color: var(--wcp-charcoal, #2B2725);
	margin: 4px 0 0;
}
.wcp-product-card__title a {
	color: inherit;
	text-decoration: none;
}
.wcp-product-card__title a:hover {
	color: var(--wcp-orange, #E8733C);
}

.wcp-product-card__excerpt {
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 16px;
	line-height: 1.55;
	color: var(--wcp-gray-dark);
	margin: 0;
}

.wcp-product-card__price-row {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin-top: auto;
	padding-top: 6px;
}
.wcp-product-card__price {
	font-family: 'Bodoni Moda', Georgia, serif;
	font-weight: 700;
	font-size: 22px;
	color: var(--wcp-charcoal, #2B2725);
}
.wcp-product-card__price--sale {
	color: var(--wcp-orange, #E8733C);
}
.wcp-product-card__price-was {
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	color: #998E80;
	text-decoration: line-through;
}

.wcp-product-card__cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: var(--wcp-charcoal, #2B2725);
	text-decoration: none;
	padding: 10px 0 0;
	border-top: 1px solid var(--wcp-rule, #EAE3D5);
	margin-top: 4px;
	transition: color 0.18s ease;
}
.wcp-product-card__cta span { transition: transform 0.18s ease; }
.wcp-product-card__cta:hover { color: var(--wcp-orange, #E8733C); }
.wcp-product-card__cta:hover span { transform: translateX(3px); }

.wcp-product-grid-empty {
	background: #FAF9F6;
	border: 2px dashed #C9C2B5;
	border-radius: 6px;
	padding: 24px;
	text-align: center;
	color: #6E665D;
	font-family: 'Crimson Text', Georgia, serif;
}

/* ============================================================== */
/* SHOP PAGE — section alignment overrides                        */
/* ============================================================== */

/* By Retailer: center the subtitle and title (matches the rest of the section's centered lead/tabs) */
#retailers .wcp-section-subtitle,
#retailers .wcp-section-title {
	text-align: center;
}

/* Pops Picks + Trending Now: lead paragraph left-aligned, full container width */
#picks .wcp-section-lead,
#trending .wcp-section-lead {
	text-align: left;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

/* WCP Product Grid — pagination (Show More) */
.wcp-product-card.is-hidden {
	display: none;
}
.wcp-product-grid--paginated:not(.is-collapsed) .wcp-product-card.is-hidden {
	display: flex;
}
.wcp-product-grid__more {
	margin-top: 32px;
	text-align: center;
}
.wcp-product-grid__more-btn {
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--wcp-charcoal, #2B2725);
	background: transparent;
	border: 2px solid var(--wcp-charcoal, #2B2725);
	border-radius: 4px;
	padding: 12px 24px;
	cursor: pointer;
	transition: all 0.18s ease;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.wcp-product-grid__more-btn:hover {
	background: var(--wcp-charcoal, #2B2725);
	color: var(--wcp-cream, #F9F7F4);
}
.wcp-product-grid__more-btn span {
	transition: transform 0.18s ease;
}
.wcp-product-grid__more-btn:hover span {
	transform: translateY(2px);
}
.wcp-product-grid__more-count {
	font-family: 'Crimson Text', Georgia, serif;
	font-style: italic;
	font-size: 13px;
	color: #6E665D;
	margin: 10px 0 0;
}
.wcp-product-grid--paginated:not(.is-collapsed) .wcp-product-grid__more {
	display: none;
}

/* Append the inline-script handler via a <script> in render.php since the JS is tiny.
   No external dependency. */

/* ============================================================================
   STATS BAR — 3-column variant for channel hubs (added 2026-05-06)
   Reuses .wcp-stats-wrapper + .wcp-stats-bar from advertise. The .is-3-col
   modifier sets the grid to three columns at desktop. Existing responsive
   rules at lines 2510/2544 still collapse to 2-col / 1-col on tablet/mobile.
   ============================================================================ */
.wcp-stats-bar.is-3-col { grid-template-columns: repeat(3, 1fr); }

/* ============================================================================
   SECTION SUBTITLE — gold variant (added 2026-05-06)
   For dark sections where the orange subtitle reads loud against charcoal.
   Used on the Travel Trip Planner module.
   ============================================================================ */
.wcp-section-subtitle.is-gold { color: var(--wcp-gold); }

/* ============================================================================
   GOLD-TINT BACKDROP for .wcp-ways-grid inside .wcp-section.is-dark
   (added 2026-05-06) — subtle gold wash behind the planner card pair.
   ============================================================================ */
/* Channel-page "Two Ways" treatment (Travel and other channel hubs +
   the dedicated Travel Planner landing page).
   - Section: deep-blue brand gradient (matches work-with-us .is-deep-blue)
   - Layout:  two cards side-by-side at desktop, stacked on mobile
   - Cards:   faded-opacity surfaces with hairline white border, flex column
   - CTAs:    full-width inside cards so buttons match the card width
   - Type:    white/cream with controlled opacity for hierarchy */
.wcp-section.is-dark {
	background: var(--wcp-deep-blue-gradient);
}
.wcp-section.is-dark .wcp-ways-grid,
.wcp-ways-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	align-items: stretch;
	background: transparent;
	padding: 0;
	margin-top: 16px;
}
.wcp-section.is-dark .wcp-way-card {
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 8px;
	transition: background 0.3s ease, border-color 0.3s ease;
	display: flex;
	flex-direction: column;
}
/* Buttons inside the way cards span full card width so the two cards line up */
.wcp-section.is-dark .wcp-way-card .wcp-cta {
	display: block;
	width: 100%;
	box-sizing: border-box;
	text-align: center;
	margin-top: auto;
}
.wcp-section.is-dark .wcp-way-card:hover {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(196, 165, 82, 0.4);
}
.wcp-section.is-dark .wcp-way-card .wcp-way-title { color: var(--wcp-cream); }
.wcp-section.is-dark .wcp-way-card .wcp-way-promise {
	color: rgba(249, 247, 244, 0.85);
	opacity: 1;
}
.wcp-section.is-dark .wcp-way-card .wcp-way-pill--cream {
	background: rgba(255, 255, 255, 0.1);
	color: var(--wcp-cream);
	border-color: rgba(255, 255, 255, 0.18);
}

/* ============================================================================
   GOLD-PILL DARK-SECTION OVERRIDES (added 2026-05-09).
   The base .wcp-way-pill--gold uses orange-dark text on a 15% orange tint.
   On the deep-blue gradient backdrop the contrast collapses to ~1.35:1 at
   the lighter end of the gradient (WCAG AA fail). These overrides bump
   opacity and switch text to cream so contrast clears AA across the
   gradient. Mirrors the cream-pill dark override directly above.
   ============================================================================ */
/* Solid bg with charcoal text. Translucent overlays drift toward equal
   luminance with cream at the lighter end of the gradient (~4.4:1, AA fail).
   Solid var(--wcp-gold) on charcoal hits ~6.25:1 and var(--wcp-orange) on
   charcoal hits ~4.89:1 across the whole gradient. Both clear AA. */
.wcp-section.is-dark .wcp-way-card .wcp-way-pill--gold {
	background: var(--wcp-gold);
	color: var(--wcp-charcoal);
	border-color: var(--wcp-gold);
}
.wcp-section.is-dark .wcp-way-card--featured .wcp-way-pill--gold {
	background: var(--wcp-orange);
	color: var(--wcp-charcoal);
	border-color: var(--wcp-orange-dark);
}
.wcp-section.is-dark .wcp-way-steps li,
.wcp-section.is-dark .wcp-way-list li {
	color: rgba(249, 247, 244, 0.92);
	border-bottom-color: rgba(255, 255, 255, 0.1);
}
.wcp-section.is-dark .wcp-way-steps li::before {
	background: rgba(196, 165, 82, 0.22);
	color: var(--wcp-gold);
}
.wcp-section.is-dark .wcp-way-card--featured .wcp-way-steps li::before {
	background: rgba(232, 115, 60, 0.28);
	color: #FFB89A;
}
.wcp-section.is-dark .wcp-section-lead {
	color: rgba(249, 247, 244, 0.85);
}

/* Channel-hero stats: smaller type matching the blog stats bar */
.wcp-stats-bar.is-3-col .wcp-stat-number {
	font-size: 28px;
}
.wcp-stats-bar.is-3-col .wcp-stat-label {
	font-size: 11px;
	letter-spacing: 0.14em;
}

/* Channel-hub spacing: more headroom between the stats card and the
   Featured query that follows it. Targets every channel hub page. */
.wcp-stats-wrapper + .wp-block-query {
	margin-top: 56px;
}

@media (max-width: 760px) {
	.wcp-section.is-dark .wcp-ways-grid,
	.wcp-ways-grid { grid-template-columns: 1fr; padding: 0; }
}

/* ============================================================================
   SECTION INNER WIDTH PARITY — match dark/sand sections to regular sections
   (added 2026-05-06)
   Regular .wcp-section: max-width 1240, padding 64 24 → content area 1192.
   Dark/sand sections were full-bleed with no inner cap, content went 1352.
   This pins the inner to the same 1192 visual content area.
   ============================================================================ */
.wcp-section.is-dark .wcp-section-inner,
.wcp-section.is-sand .wcp-section-inner {
	max-width: var(--wcp-content);
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
}

/* ============================================================================
   CHANNEL RAIL — 5-tile grid filling full container, SVG icons,
   readable typography (added 2026-05-06)
   Each hub renders the OTHER 5 channels, so columns = 5 (no empty trailing
   column). Tiles get an SVG icon, gold accent on hover, and brighter
   description text.
   ============================================================================ */
.wcp-section .wcp-vt-grid {
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	gap: 18px;
}
.wcp-section .wcp-vt-tile {
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	text-align: left;
	padding: 28px 24px;
	min-height: 200px;
	border-radius: 8px;
	gap: 0;
	position: relative;
	overflow: hidden;
}
.wcp-section .wcp-vt-tile::after {
	content: "→";
	position: absolute;
	bottom: 22px;
	right: 24px;
	font-family: 'Inter', sans-serif;
	font-size: 22px;
	color: var(--wcp-gold);
	opacity: 0.55;
	transition: opacity 200ms ease, transform 200ms ease;
}
.wcp-section .wcp-vt-tile:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
}
.wcp-section .wcp-vt-tile:hover::after {
	opacity: 1;
	transform: translateX(4px);
}
.wcp-section .wcp-vt-tile__icon {
	width: 44px;
	height: 44px;
	border-radius: 10px;
	background: rgba(196, 165, 82, 0.18);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wcp-gold);
	margin-bottom: 24px;
}
.wcp-section .wcp-vt-tile__icon svg {
	width: 22px;
	height: 22px;
	display: block;
}
.wcp-section .wcp-vt-tile h5 {
	font-family: 'Bodoni Moda', serif;
	font-size: 26px;
	font-weight: 600;
	color: #fff;
	margin: 0 0 6px;
	line-height: 1.05;
}
.wcp-section .wcp-vt-tile span:not(.wcp-vt-tile__icon) {
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.02em;
	text-transform: none;
	color: rgba(255, 255, 255, 0.95);
}

@media (max-width: 1100px) {
	.wcp-section .wcp-vt-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 700px) {
	.wcp-section .wcp-vt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* ============================================================================
   TRIP PLANNER WAY CARD — Advertise-style typography polish (added 2026-05-06)
   Bigger heading, higher-contrast pill, icon at top, brighter step rows.
   ============================================================================ */
.wcp-way-card {
	padding: 36px 32px 32px;
}
.wcp-way-card__icon {
	width: 52px;
	height: 52px;
	border-radius: 12px;
	background: rgba(196, 165, 82, 0.14);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wcp-gold);
	margin-bottom: 18px;
}
.wcp-way-card--featured .wcp-way-card__icon {
	background: rgba(232, 115, 60, 0.14);
	color: var(--wcp-orange);
}
.wcp-way-card__icon svg { width: 26px; height: 26px; }
/* ============================================================================
   WAY PILL: base + variants (added 2026-05-09).
   The base class previously had only font-size/letter-spacing, so the chip
   rendered as plain text with no padding, border, or radius. There was also
   no .wcp-way-pill--gold rule at all. This block restores the full design
   from mockup_channel-hubs.html, matching .wcp-pill conventions.
   ============================================================================ */
.wcp-way-pill {
	display: inline-block;
	padding: 5px 14px;
	border-radius: 100px;
	border: 1px solid transparent;
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	line-height: 1;
	margin-bottom: 16px;
	align-self: flex-start;
	width: fit-content;
}
.wcp-way-pill--gold {
	background: rgba(196, 165, 82, 0.15);
	color: #8B7338;
	border-color: rgba(196, 165, 82, 0.4);
}
.wcp-way-pill--cream {
	background: var(--wcp-cream-2);
	color: var(--wcp-charcoal);
	border-color: var(--wcp-rule);
}
/* Featured card swaps gold tint for orange tint (emphasizes chosen path) */
.wcp-way-card--featured .wcp-way-pill--gold {
	background: rgba(232, 115, 60, 0.15);
	color: var(--wcp-orange-dark);
	border-color: rgba(232, 115, 60, 0.4);
}
.wcp-way-card .wcp-way-title {
	font-size: 32px;
}
.wcp-way-card .wcp-way-promise {
	font-size: 18px;
	font-style: italic;
	color: var(--wcp-charcoal);
	opacity: 0.78;
}
.wcp-way-steps li,
.wcp-way-list li {
	font-size: 15px;
	color: var(--wcp-charcoal);
}

/* ============================================================================
   CTA SIZE PARITY + HERO ACTION SPACING (added 2026-05-06)
   Orange .wcp-cta has no border. Ghost adds 2px border on each side, which
   makes it 4px taller and wider than orange. Subtract 2px from padding so
   the two buttons match exactly. Plus add real breathing room between hero
   action buttons.
   ============================================================================ */
.wcp-cta.is-ghost {
	padding: 12px 26px;
}
.wcp-vertical-hero__actions {
	gap: 20px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

/* ============================================================================
   TRIP PLANNER — numbered steps inside .wcp-way-card (added 2026-05-06)
   Used in the Travel hub channel module to give the questionnaire flow a
   visual sequence. Replaces the bullet-checklist on the Free card.
   ============================================================================ */
.wcp-way-steps {
	list-style: none;
	padding: 0;
	margin: 0 0 28px;
	flex: 1;
	counter-reset: wcp-step;
}
.wcp-way-steps li {
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	color: var(--wcp-charcoal);
	padding: 14px 0;
	display: flex;
	align-items: center;
	gap: 16px;
	line-height: 1.5;
	counter-increment: wcp-step;
	border-bottom: 1px solid var(--wcp-rule);
}
.wcp-way-steps li:last-child {
	border-bottom: 0;
}
.wcp-way-steps li::before {
	content: counter(wcp-step);
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: rgba(196, 165, 82, 0.15);
	color: #8B7338;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Bodoni Moda', serif;
	font-weight: 600;
	font-size: 16px;
	flex-shrink: 0;
}
.wcp-way-card--featured .wcp-way-steps li::before {
	background: rgba(232, 115, 60, 0.15);
	color: var(--wcp-orange-dark);
}

/* ============================================================================
   POPS LIVE PROMO — dynamic session preview on channel hubs (added 2026-05-06)
   Renders the latest wcp_session in the current channel category as a
   YouTube-style preview card on the left + heading + lede + CTA on the right.
   Falls back to an empty-state if no session matches.
   ============================================================================ */
.wcp-live-promo {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 48px;
	align-items: center;
}
.wcp-live-player-wrap {
	position: relative;
	aspect-ratio: 16/9;
	border-radius: 8px;
	overflow: hidden;
	background: linear-gradient(135deg, #1A3A5C, #3D3B37);
	box-shadow: 0 14px 40px rgba(0, 0, 0, 0.4);
}
.wcp-live-player-wrap .wcp-live-badge {
	position: absolute;
	top: 16px;
	left: 16px;
	background: rgba(0, 0, 0, 0.72);
	color: var(--wcp-gold);
	padding: 6px 12px;
	border-radius: 4px;
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	z-index: 4;
}
.wcp-live-player-wrap::before {
	content: '';
	position: absolute;
	width: 96px;
	height: 96px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
	z-index: 2;
	pointer-events: none;
	transition: transform 0.25s ease, background 0.25s ease;
}
.wcp-live-player-wrap::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-30%, -50%);
	border-top: 18px solid transparent;
	border-bottom: 18px solid transparent;
	border-left: 28px solid var(--wcp-charcoal);
	z-index: 3;
	pointer-events: none;
}
.wcp-live-player-wrap:hover::before {
	background: var(--wcp-orange);
	transform: translate(-50%, -50%) scale(1.05);
}
.wcp-live-player-wrap:hover::after {
	border-left-color: #fff;
}
.wcp-live-player-wrap .wp-block-post-featured-image,
.wcp-live-player-wrap .wcp-live-featured {
	margin: 0 !important;
	width: 100%;
	height: 100%;
	display: block;
}
.wcp-live-player-wrap .wp-block-post-featured-image a {
	display: block;
	width: 100%;
	height: 100%;
}
.wcp-live-player-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.wcp-live-player-wrap--empty {
	background: linear-gradient(135deg, #2A1740 0%, #120626 100%);
}
.wcp-live-content .wcp-section-subtitle {
	text-align: left;
	color: var(--wcp-gold);
}
.wcp-live-content .wcp-section-title {
	text-align: left;
	color: #fff;
	margin-top: 0;
}
.wcp-live-content .wcp-section-hr {
	margin: 8px 0 22px;
}
.wcp-live-content .wcp-live-title a {
	color: #fff !important;
	text-decoration: none;
}
.wcp-live-content .wcp-live-title a:hover {
	color: var(--wcp-gold) !important;
}
.wcp-live-content .wcp-live-dek,
.wcp-live-content p {
	font-family: 'Crimson Text', serif;
	font-size: 18px;
	font-style: italic;
	color: rgba(255, 255, 255, 0.85);
	line-height: 1.6;
	margin-bottom: 24px;
}
.wcp-live-content .wcp-live-meta {
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.6);
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 18px;
}

@media (max-width: 880px) {
	.wcp-live-promo {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.wcp-way-steps li {
		padding: 12px 0;
	}
}

/* ============================================================================
   CHANNELS DROPDOWN — header nav (added 2026-05-05)
   Uses native <details>/<summary> for zero-JS disclosure.
   ============================================================================ */
.wcp-nav-group {
	position: relative;
	display: inline-block;
}
.wcp-nav-group > .wcp-nav-trigger {
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: var(--wcp-charcoal);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	cursor: pointer;
	list-style: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 0;
	transition: color 0.2s ease;
}
.wcp-nav-group > .wcp-nav-trigger::-webkit-details-marker { display: none; }
.wcp-nav-group > .wcp-nav-trigger::marker { content: ''; }
.wcp-nav-group:hover > .wcp-nav-trigger,
.wcp-nav-group[open] > .wcp-nav-trigger { color: var(--wcp-orange); }
.wcp-nav-chevron {
	font-size: 9px;
	transition: transform 0.2s ease;
	display: inline-block;
}
.wcp-nav-group[open] > .wcp-nav-trigger .wcp-nav-chevron,
.wcp-nav-group:hover > .wcp-nav-trigger .wcp-nav-chevron { transform: rotate(180deg); }
.wcp-nav-dropdown {
	position: absolute;
	top: calc(100% + 12px);
	left: 50%;
	transform: translateX(-50%);
	min-width: 180px;
	background: #fff;
	border: 1px solid var(--wcp-rule);
	border-radius: 6px;
	padding: 8px 0;
	box-shadow: var(--wcp-shadow-card);
	z-index: 100;
}
.wcp-nav-dropdown a {
	display: block !important;
	padding: 9px 20px !important;
	font-size: 13px !important;
	color: var(--wcp-charcoal);
	border-bottom: 0 !important;
	letter-spacing: 0.5px;
}
.wcp-nav-dropdown a:hover { color: var(--wcp-orange); background: var(--wcp-cream-2); }

/* Open on hover (desktop) without requiring click */
@media (hover: hover) {
	.wcp-nav-group:hover > .wcp-nav-dropdown { display: block !important; }
}

/* Mobile: dropdown becomes a flat indented list inside the slide-in drawer */
@media (max-width: 960px) {
	.wcp-nav-group {
		display: block;
		width: 100%;
		border-bottom: 1px solid rgba(43, 39, 37, 0.08);
	}
	.wcp-nav-group > .wcp-nav-trigger {
		display: flex;
		justify-content: space-between;
		font-size: 18px;
		padding: 14px 0;
		width: 100%;
	}
	.wcp-nav-dropdown {
		position: static;
		transform: none;
		min-width: auto;
		background: transparent;
		border: 0;
		box-shadow: none;
		padding: 0 0 8px 16px;
	}
	.wcp-nav-dropdown a {
		font-size: 16px !important;
		padding: 10px 0 !important;
		border-bottom: 1px solid rgba(43, 39, 37, 0.05) !important;
	}
	.wcp-nav-dropdown a:last-child { border-bottom: 0 !important; }
}


/* ============================================================================
   LEAD ALIGNMENT FOLLOWS TITLE (added 2026-05-09).
   When a section title is left-aligned (no .is-center modifier), the lead
   paragraph drops the default centering (set at line 5577) and aligns left
   to match. Centered titles keep the centered lead. Site-wide rule.
   ============================================================================ */
.wcp-section:has(.wcp-section-title:not(.is-center)) .wcp-section-lead,
.wcp-section-inner:has(.wcp-section-title:not(.is-center)) .wcp-section-lead {
	text-align: left;
	margin-left: 0;
	margin-right: 0;
	max-width: none;
}

/* ============================================================================
   CONTAINED DARK SECTION (added 2026-05-09).
   Small dark CTA blocks that should sit as a card inside the page container
   instead of a full-bleed band. Use on .wcp-section.is-dark to cap width
   and round corners.
   ============================================================================ */
.wcp-section.is-dark.is-contained {
	max-width: var(--wcp-content);
	margin: 64px auto;
	padding: 48px 40px;
	border-radius: 10px;
}


/* ============================================================================
   ABOUT: longform image block container (added 2026-05-09).
   The .wcp-longform-image container now hosts a wp:image block (file picker
   in the page editor) instead of a text placeholder. These rules make the
   rendered <figure> fill the 3:4 container so the picked image covers it.
   When no image is picked, the container's gradient backdrop shows through.
   ============================================================================ */
.wcp-longform-image .wp-block-image,
.wcp-longform-image figure {
	width: 100%;
	height: 100%;
	margin: 0;
	display: block;
}
.wcp-longform-image .wp-block-image img,
.wcp-longform-image figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 6px;
	display: block;
}


/* ============================================================================
   SINGLE POST: wider gap between article column and sidebar (added 2026-05-09).
   Default wp-block-columns gap is ~32px. Bumped to 64px for better breathing
   room between the long-form article and the sidebar widgets.
   ============================================================================ */
.wp-block-columns.wcp-single-columns {
	gap: 64px;
}
@media (max-width: 900px) {
	.wp-block-columns.wcp-single-columns { gap: 32px; }
}


/* ============================================================================
   FLUENT FORM IN .wcp-page-hero (added 2026-05-09).
   The newsletter landing page embeds [fluentform id="2"] inside the dark
   .wcp-page-hero. Brand fluent-form styling was previously scoped only to
   .wcp-newsletter-section, so on /newsletter/ the form rendered with
   Fluent Forms defaults (full-bleed, gray border, tiny text). These rules
   mirror the .wcp-newsletter-section block so the hero form matches the
   canonical newsletter band on every other page.
   ============================================================================ */
.wcp-page-hero .wp-block-shortcode { margin: 0 auto; max-width: 520px; }
.wcp-page-hero .fluentform { max-width: 520px; margin: 24px auto 0; }
.wcp-page-hero .fluentform form {
	display: flex !important;
	flex-wrap: wrap;
	gap: 12px;
	align-items: stretch;
	margin: 0;
}
.wcp-page-hero .fluentform fieldset {
	display: contents !important;
	border: 0;
	padding: 0;
	margin: 0;
}
.wcp-page-hero .fluentform .ff-el-group { margin: 0; }
.wcp-page-hero .fluentform .ff-el-group:not(.ff_submit_btn_wrapper) {
	flex: 1 1 240px;
	min-width: 200px;
}
.wcp-page-hero .fluentform .ff-el-input--label {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
	border: 0;
}
.wcp-page-hero .fluentform .ff-el-form-control {
	width: 100%;
	padding: 14px 16px;
	border: none;
	border-radius: 6px;
	background: var(--wcp-cream);
	color: var(--wcp-charcoal);
	font-size: 15px;
	font-family: 'Inter', sans-serif;
}
.wcp-page-hero .fluentform .ff-el-form-control:focus {
	outline: 2px solid var(--wcp-gold);
	outline-offset: 1px;
	background: #fff;
}
.wcp-page-hero .fluentform .ff-el-form-control::placeholder { color: var(--wcp-muted); }
.wcp-page-hero .fluentform .ff_submit_btn_wrapper { margin: 0; flex: 0 0 auto; }
.wcp-page-hero .fluentform .ff-btn-submit {
	background: var(--wcp-orange);
	color: #fff;
	border: none;
	padding: 14px 28px;
	border-radius: 6px;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	cursor: pointer;
	transition: background-color .2s ease;
}
.wcp-page-hero .fluentform .ff-btn-submit:hover { background: var(--wcp-orange-dark); }
.wcp-page-hero .fluentform .ff-message-success {
	color: var(--wcp-cream);
	background: rgba(196,165,82,0.15);
	border: 1px solid var(--wcp-gold);
	padding: 12px 16px;
	border-radius: 6px;
	margin-top: 12px;
	width: 100%;
	text-align: center;
}
.wcp-page-hero .ff-errors-in-stack,
.wcp-page-hero .fluentform .error,
.wcp-page-hero .fluentform .text-danger {
	color: #ffb4a2;
	width: 100%;
	font-size: 13px;
	margin-top: 6px;
}
.wcp-page-hero .fluentform .ff-el-input--label.ff-el-is-required.asterisk-right label::after { display: none; }
@media (max-width: 600px) {
	.wcp-page-hero .fluentform form { flex-direction: column; }
	.wcp-page-hero .fluentform .ff-el-group:not(.ff_submit_btn_wrapper),
	.wcp-page-hero .fluentform .ff_submit_btn_wrapper { flex: 1 1 100%; width: 100%; }
	.wcp-page-hero .fluentform .ff-btn-submit { width: 100%; }
}
