/**
 * Global Styles — Eck-Schoe Theme
 * Bold, modern, feminine. WCAG 2.2 AA compliant.
 */

/* ── Web Fonts (self-declared with font-display swap) ── */
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('https://fonts.wp.com/s/inter/v13/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuFuYMZ1rib2Bg-4.woff2') format('woff2');
}

@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('https://fonts.wp.com/s/inter/v13/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuLyfMZ1rib2Bg-4.woff2') format('woff2');
}

@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('https://fonts.wp.com/s/inter/v13/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuGKYMZ1rib2Bg-4.woff2') format('woff2');
}

@font-face {
	font-family: 'Playfair Display';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('https://fonts.wp.com/s/playfairdisplay/v36/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKebukDVZNLo_U2r.woff2') format('woff2');
}

@font-face {
	font-family: 'Playfair Display';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('https://fonts.wp.com/s/playfairdisplay/v36/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKeiukDVZNLo_U2r.woff2') format('woff2');
}

:root {
	--wp--preset--color--primary-deep: #286b8e;
	--wp--preset--color--accent: #286b8e;
}

/* ── Skip Link ── */
.skip-link {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	word-wrap: normal !important;
}

.skip-link:focus {
	clip: auto !important;
	clip-path: none;
	display: block;
	height: auto;
	width: auto;
	padding: 1rem 1.5rem;
	position: fixed;
	top: 0.5rem;
	left: 0.5rem;
	z-index: 100000;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	font-size: 1rem;
	font-weight: 600;
	text-decoration: none;
	border-radius: 6px;
	outline: 2px solid var(--wp--preset--color--dark);
	outline-offset: 2px;
}

/* ── Focus Styles (WCAG 2.4.7 / 2.4.11) ── */
:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

/* ── Touch Targets (WCAG 2.5.8) ── */
a, button, input, select, textarea, [role="button"] {
	min-height: 44px;
	min-width: 44px;
}
p a, li a, td a, span a { min-height: unset; min-width: unset; }

/* ── Reduced Motion ── */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* ── Smooth Scroll ── */
@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
}

/* ── Screen Reader Text ── */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px; width: 1px; margin: -1px;
	overflow: hidden; padding: 0; position: absolute;
	word-wrap: normal !important;
}
.screen-reader-text:focus {
	clip: auto !important; clip-path: none;
	display: block; height: auto; width: auto;
	padding: 1rem; position: fixed; top: 5px; left: 5px;
	z-index: 100000; background: #fff; color: #000; font-size: 1rem;
}

/* ════════════════════════════════════════
   DESIGN SYSTEM — Bold & Feminine
   ════════════════════════════════════════ */

/* ── Global containment (desktop primary max width) ── */
.site-shell {
	max-width: 1300px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

/* Main structure: wrappers can be full width; content inside is constrained */
.wp-site-blocks,
.wp-site-blocks > main {
	max-width: none !important;
	width: 100%;
}

.wp-site-blocks > main > * {
	max-width: none;
	width: 100%;
}

/* Override WP constrained layout on top-level wrappers */
.wp-site-blocks > main > section.is-layout-constrained,
.wp-site-blocks > main > .wp-block-group.is-layout-constrained,
.wp-site-blocks > main > .wp-block-post-content.is-layout-constrained {
	max-width: none !important;
	width: 100% !important;
}

/* Constrain actual content containers */
.wp-site-blocks main .is-layout-constrained,
.wp-site-blocks main .alignwide,
.wp-site-blocks main .wp-block-query,
.wp-site-blocks main .wp-block-post-template,
.wp-site-blocks main .wp-block-post-content > *:not(.alignfull) {
	max-width: 1300px;
	margin-left: auto;
	margin-right: auto;
}

/* Keep full-bleed backgrounds truly full width */
.wp-site-blocks main .alignfull {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

/* ── Hero container only (background managed in WordPress block styles) ── */
.hero-section {
	position: relative;
	overflow: hidden;
}

/* ── Buttons — Presence, not afterthoughts ── */
.wp-block-button__link {
	transition: all 0.32s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	box-shadow: 0 2px 8px rgba(43, 110, 145, 0.15);
	font-family: var(--wp--preset--font-family--body);
}

/* Homepage class-based styling (editor-safe) */
.home-hero-title {
	color: var(--wp--preset--color--dark);
	font-size: clamp(3.25rem, 2rem + 6.25vw, 6rem);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1;
}

.home-hero-buttons {
	margin-top: var(--wp--preset--spacing--50);
	gap: var(--wp--preset--spacing--30);
}

.home-btn-primary .wp-block-button__link {
	background: var(--wp--preset--color--primary-deep);
	color: var(--wp--preset--color--background);
	border-radius: 6px;
	padding: 14px 30px;
	font-size: 1rem;
	font-weight: 600;
	white-space: nowrap;
	min-width: 96px;
	text-align: center;
}

.home-btn-outline .wp-block-button__link {
	background: transparent !important;
	color: var(--wp--preset--color--dark) !important;
	border: 2px solid var(--wp--preset--color--dark) !important;
	border-radius: 6px;
	padding: 14px 30px;
	font-size: 1rem;
	font-weight: 600;
}

.home-btn-outline .wp-block-button__link:hover,
.home-btn-outline .wp-block-button__link:focus-visible {
	background: var(--wp--preset--color--dark);
	color: var(--wp--preset--color--background) !important;
}

.home-book-title {
	color: var(--wp--preset--color--dark);
	margin-top: 8px;
	font-size: clamp(1.5rem, 1.25rem + 1.25vw, 2rem);
}

.home-card-kicker {
	color: var(--wp--preset--color--dark);
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.home-follow-btn .wp-block-button__link {
	color: var(--wp--preset--color--background);
	background-color: var(--wp--preset--color--primary-deep);
	padding: 12px 24px;
	font-size: 0.875rem;
}

/* Homepage featured ad rows */
.home-three-mediums-hidden {
	display: none !important;
}

.home-feature-row .wp-block-columns {
	min-height: clamp(360px, 34vw, 480px);
}

.home-feature-media img {
	width: 100%;
	height: clamp(320px, 32vw, 460px);
	object-fit: cover;
	border-radius: 14px;
	box-shadow: 0 12px 28px rgba(28, 42, 58, 0.14);
}

.home-feature-row--films .wp-block-columns {
	direction: ltr;
}

@media (max-width: 781px) {
	.home-feature-row .wp-block-columns {
		min-height: 0;
	}
	.home-feature-media img {
		height: auto;
	}
}

.wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(43, 110, 145, 0.25);
}

.wp-block-button.is-style-outline .wp-block-button__link {
	border-width: 2px;
	box-shadow: none;
	font-weight: 600;
	color: var(--wp--preset--color--primary-deep) !important;
	border-color: var(--wp--preset--color--primary-deep) !important;
}

/* Ensure outline buttons on light backgrounds keep dark-blue text/border */
.wp-block-button.is-style-outline .wp-block-button__link[style*="color:var(--wp--preset--color--dark)"],
.wp-block-button.is-style-outline .wp-block-button__link[style*="color:var(--wp--preset--color--primary-light)"],
.wp-block-button.is-style-outline .wp-block-button__link[style*="color:var(--wp--preset--color--primary-deep)"] {
	color: var(--wp--preset--color--primary-deep) !important;
	border-color: var(--wp--preset--color--primary-deep) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--primary-deep);
	color: var(--wp--preset--color--background);
	border-color: var(--wp--preset--color--primary-deep);
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(43, 110, 145, 0.25);
}

/* ── Accent Bar — Visual rhythm breaker ── */
.accent-bar,
.wp-block-separator.is-style-accent {
	width: 60px;
	height: 4px;
	border: none;
	background: var(--wp--preset--color--primary);
	margin: 0;
	opacity: 1;
}

.accent-bar--center {
	margin-left: auto;
	margin-right: auto;
}

.home-separator--mb40 { margin-bottom: var(--wp--preset--spacing--40); }
.home-separator--mt50 { margin-top: var(--wp--preset--spacing--50); }

/* ── Cards — Depth, not flat ── */
.card,
.wp-block-group.is-style-card,
.wp-block-column.is-style-card {
	background: var(--wp--preset--color--background);
	border-radius: 12px;
	box-shadow: 0 4px 24px rgba(28, 42, 58, 0.08);
	transition: all 0.32s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	overflow: hidden;
}

.card:hover,
.wp-block-group.is-style-card:hover,
.wp-block-column.is-style-card:hover {
	box-shadow: 0 12px 48px rgba(28, 42, 58, 0.14);
	transform: translateY(-4px);
}

/* Row-style cards (flex) — tighter hover */
.wp-block-group.is-style-card[class*="is-layout-flex"] {
	box-shadow: 0 2px 12px rgba(28, 42, 58, 0.06);
}

.wp-block-group.is-style-card[class*="is-layout-flex"]:hover {
	box-shadow: 0 6px 24px rgba(28, 42, 58, 0.10);
	transform: translateY(-2px);
}

/* ── Color Block Sections ── */
.color-block--primary {
	background: var(--wp--preset--color--primary) !important;
	color: var(--wp--preset--color--background) !important;
}

.color-block--primary h1,
.color-block--primary h2,
.color-block--primary h3,
.color-block--primary p {
	color: var(--wp--preset--color--background);
}

.color-block--dark {
	background: var(--wp--preset--color--dark) !important;
	color: var(--wp--preset--color--background) !important;
}

.color-block--dark h1,
.color-block--dark h2,
.color-block--dark h3 {
	color: var(--wp--preset--color--background);
}

.color-block--dark p {
	color: var(--wp--preset--color--primary-light);
}

/* ── Testimonial section — Dramatic presence ── */
.wp-block-group[class*="has-dark-background-color"] .accent-bar {
	background: var(--wp--preset--color--primary);
}

.home-testimonial-photo img {
	border-radius: 12px;
	width: 100%;
	max-width: 300px;
	height: auto;
	margin-left: auto;
	margin-right: auto;
}

.home-testimonial-byline {
	margin-top: var(--wp--preset--spacing--30);
	color: var(--wp--preset--color--dark) !important;
}

@media (max-width: 781px) {
	.home-testimonial-columns {
		gap: var(--wp--preset--spacing--40) !important;
	}
}

/* ── Pull Quotes — Oversized, dramatic ── */
.wp-block-pullquote {
	border: none;
	padding: 0;
}

.wp-block-pullquote blockquote {
	border: none;
}

.wp-block-pullquote blockquote p {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.75rem, 1.25rem + 2.5vw, 3rem);
	line-height: 1.2;
	font-weight: 700;
	color: var(--wp--preset--color--primary);
}

.wp-block-pullquote cite {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	font-style: normal;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--muted);
}

/* ── Eyebrow / Kicker Text ── */
.eyebrow {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--primary);
	margin-bottom: 0.5rem;
}

/* ── Section Divider — Subtle gradient ── */
.section-divider {
	height: 1px;
	background: linear-gradient(90deg,
		transparent,
		var(--wp--preset--color--border) 20%,
		var(--wp--preset--color--border) 80%,
		transparent
	);
	border: none;
	margin: 0;
}

/* ── Image Treatments ── */
.wp-block-image.is-style-rounded img {
	border-radius: 12px;
}

.wp-block-image.is-style-shadow img {
	box-shadow: 0 8px 40px rgba(28, 42, 58, 0.15);
	border-radius: 8px;
}

/* ── Subtle texture on pale sections ── */
.has-primary-pale-background-color {
	background-image: radial-gradient(circle at 80% 20%, rgba(74, 158, 197, 0.04) 0%, transparent 50%),
		radial-gradient(circle at 20% 80%, rgba(43, 110, 145, 0.03) 0%, transparent 50%);
}

/* ── Columns — Better gap on mobile ── */
@media (max-width: 781px) {
	.wp-block-columns {
		gap: var(--wp--preset--spacing--50) !important;
	}
}

/* Main navigation readability + active/hover indicators */
header .wp-block-navigation {
	--nav-item-gap: 1.6rem;
}

header .wp-block-navigation .wp-block-navigation__container {
	gap: var(--nav-item-gap);
}

header .wp-block-navigation .wp-block-navigation-item__content {
	position: relative;
	padding-bottom: 6px;
	text-decoration: none;
}

header .wp-block-navigation .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	background: transparent;
	border-radius: 2px;
	transition: background-color 0.2s ease;
}

header .wp-block-navigation .wp-block-navigation-item__content:hover::after,
header .wp-block-navigation .wp-block-navigation-item__content:focus-visible::after {
	background: var(--wp--preset--color--primary-deep);
}

header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content::after,
header .wp-block-navigation .current_page_item > .wp-block-navigation-item__content::after,
header .wp-block-navigation .current-menu-ancestor > .wp-block-navigation-item__content::after,
header .wp-block-navigation .current-page-ancestor > .wp-block-navigation-item__content::after {
	background: #c8f8ff;
}

/* Fallback active underline for Love Outside the Box page */
.page-id-3824 header .wp-block-navigation .wp-block-navigation-item__content[href="/love-outside-the-box"]::after,
.page-id-3824 header .wp-block-navigation .wp-block-navigation-item__content[href="/love-outside-the-box/"]::after {
	background: #c8f8ff;
}

/* Ensure outline button hover state always flips text to white */
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
	color: var(--wp--preset--color--background) !important;
}

/* Footer text sizing */
.wp-site-blocks > footer p:not(.faux-h3),
.wp-site-blocks > footer a {
	font-size: 1rem !important;
}

/* Faux heading styles (visual only, semantic-safe) */
.faux-h3 {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.25rem !important;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--background) !important;
	margin: 0 0 0.5rem 0;
}

/* Homepage typography consistency (minimum 16px) */
.home {
	--home-body-size: 1rem;
	--home-h2-size: clamp(2rem, 1.7rem + 1.2vw, 2.75rem);
	--home-h3-size: clamp(1.5rem, 1.35rem + 0.6vw, 1.9rem);
}

.home .wp-site-blocks main p,
.home .wp-site-blocks main li,
.home .wp-site-blocks main a {
	font-size: var(--home-body-size);
}

.home .wp-site-blocks main .wp-block-button__link {
	font-size: var(--home-body-size) !important;
}

.home .home-hero-subtitle {
	font-size: clamp(1.25rem, 1.1rem + 0.7vw, 1.625rem) !important;
	line-height: 1.6;
}

.home .home-quote-mark {
	font-size: clamp(4.75rem, 4rem + 2vw, 6rem) !important;
	line-height: 0.9;
	font-family: var(--wp--preset--font-family--display);
}

.wp-site-blocks main .type-display {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(2rem, 1.7rem + 1.2vw, 2.75rem) !important;
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--dark);
}

.wp-site-blocks main .type-title,
.wp-site-blocks main .home-book-title {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.5rem, 1.35rem + 0.6vw, 1.9rem) !important;
	font-weight: 600;
	line-height: 1.15;
	color: var(--wp--preset--color--dark);
}

.wp-site-blocks main .type-title--mt8 { margin-top: 8px; }

.home .wp-site-blocks main .home-card-kicker {
	font-size: var(--home-body-size) !important;
	letter-spacing: 0.06em;
}

.home .wp-site-blocks main p.has-text-align-center[style*="font-family:var(--wp--preset--font-family--display)"] {
	font-size: clamp(1.75rem, 1.25rem + 2.5vw, 3rem) !important;
}

.home .join-journey-columns {
	align-items: center;
}

/* Footer IA + icon rows */
.footer-contact-row {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.footer-icon-instagram {
	display: inline-flex;
	width: 1.05rem;
	height: 1.05rem;
	color: var(--wp--preset--color--primary-light);
	flex: 0 0 auto;
}

.footer-icon-instagram svg {
	width: 100%;
	height: 100%;
}

.contact-social-row {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 0;
	margin-bottom: 0.5rem;
}

.contact-social-row .footer-icon-instagram {
	color: var(--wp--preset--color--primary-deep);
}

.footer-explore-nav {
	gap: 0.4rem;
}

footer .footer-explore-nav .wp-block-navigation-item__content {
	color: var(--wp--preset--color--primary-light) !important;
	font-size: 1rem;
	padding: 0;
	min-height: auto;
	text-decoration: none;
}

footer .footer-explore-nav .wp-block-navigation-item__content:hover,
footer .footer-explore-nav .wp-block-navigation-item__content:focus-visible {
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Homepage link decoration consistency */
.home .wp-site-blocks main a:not(.wp-block-button__link) {
	text-decoration: none;
}

.home .wp-site-blocks main a:not(.wp-block-button__link):hover,
.home .wp-site-blocks main a:not(.wp-block-button__link):focus-visible {
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Footer logo styling */
.wp-site-blocks > footer .wp-block-site-logo img {
	border-radius: 12px;
	background: #fff;
	padding-left: 5px;
	padding-right: 5px;
}

/* Sitewide readability floor: no text below 16px */
.wp-site-blocks main .has-small-font-size,
.wp-site-blocks footer .has-small-font-size {
	font-size: 1rem !important;
}

.wp-site-blocks main p,
.wp-site-blocks main li,
.wp-site-blocks main a,
.wp-site-blocks footer p,
.wp-site-blocks footer a {
	font-size: max(1rem, 1em);
}

/* Ensure non-button links meet contrast on pastel section backgrounds */
.wp-site-blocks main a:not(.wp-block-button__link) {
	color: var(--wp--preset--color--dark);
	text-decoration-thickness: 2px;
	text-underline-offset: 2px;
}

/* Page-specific contrast guards for pastel sections */
.page-id-3828 .has-text-color.has-small-font-size {
	color: var(--wp--preset--color--dark) !important;
}

.page-id-3836 #main-content > div > section:nth-child(4) p {
	color: var(--wp--preset--color--dark) !important;
}

/* About page family placeholders */
.about-family-photo {
	margin: 0 auto var(--wp--preset--spacing--30);
	text-align: center;
}

.about-family-photo img {
	width: min(220px, 100%);
	aspect-ratio: 9 / 16;
	height: auto;
	object-fit: cover;
	border-radius: 12px;
	margin: 0 auto;
	display: block;
}

/* Films page reel cards (clean look, external play) */
.film-reel-card {
	position: relative;
	display: block;
	border-radius: 10px;
	overflow: hidden;
	text-decoration: none;
}

.film-reel-card img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform 0.28s ease;
}

.film-reel-play {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: rgba(255,255,255,0.9);
	color: var(--wp--preset--color--primary-deep);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.28s ease, background-color 0.28s ease, color 0.28s ease, box-shadow 0.28s ease;
	box-shadow: 0 4px 14px rgba(0,0,0,0.2);
}

.film-reel-play svg {
	width: 30px;
	height: 30px;
}

.film-reel-card:hover img,
.film-reel-card:focus-visible img {
	transform: scale(1.05);
}

.film-reel-card:hover .film-reel-play,
.film-reel-card:focus-visible .film-reel-play {
	transform: translate(-50%, -50%) scale(1.08);
	background: var(--wp--preset--color--background);
	color: var(--wp--preset--color--dark);
	box-shadow: 0 8px 20px rgba(0,0,0,0.28);
}

/* Films page poster placeholders */
.film-poster-cover {
	width: clamp(190px, 24vw, 280px);
}

.film-poster-cover img {
	width: 100%;
	height: auto;
	border-radius: 10px;
}

@media (max-width: 781px) {
	.film-poster-cover {
		width: min(220px, 70%);
		margin-left: auto;
		margin-right: auto;
	}
}

/* Books page featured cover + CTA sizing */
.books-featured-cover {
	width: clamp(220px, 26vw, 320px);
	margin-left: auto;
	margin-right: auto;
}

.books-featured-cover img {
	width: 100%;
	height: auto;
}

.books-buy-btn .wp-block-button__link {
	font-size: 1rem;
	padding: 10px 18px;
	min-height: 44px;
}

/* Love Outside the Box — book listing rows */
.series-book-row {
	overflow: auto;
}

.series-book-row > p:nth-of-type(1),
.series-book-row > p:nth-of-type(2) {
	font-size: 1rem;
	line-height: 1.5;
}

.series-book-row > p:nth-of-type(3) {
	font-size: 1.25rem;
	line-height: 1.55;
}

.series-book-cover {
	float: left;
	width: clamp(120px, 20vw, 170px);
	margin: 0 var(--wp--preset--spacing--40) var(--wp--preset--spacing--30) 0;
}

.series-book-cover img {
	border-radius: 8px;
	display: block;
	width: 100%;
	height: auto;
}

@media (max-width: 781px) {
	.series-book-cover {
		float: none;
		width: min(220px, 65%);
		margin: 0 auto var(--wp--preset--spacing--30);
	}
}

/* Single post layout consistency */
.single .single-post-main {
	max-width: none !important;
	width: 100%;
}

.single .single-post-inner {
	max-width: 1300px !important;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--wp--preset--spacing--30);
	padding-right: var(--wp--preset--spacing--30);
}

.single .single-post-meta {
	justify-content: flex-start;
	align-items: center;
}

.single .single-post-meta > * {
	font-size: 1rem;
}

.single .single-inline-share {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-left: 0.25rem;
}

.single .single-share-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border: 1px solid var(--wp--preset--color--accent, #2b6e91);
	border-radius: 999px;
	color: var(--wp--preset--color--accent, #2b6e91);
	text-decoration: none;
	transition: all 0.2s ease;
}

.single .single-share-btn svg {
	width: 1rem;
	height: 1rem;
}

.single .single-share-btn:hover,
.single .single-share-btn:focus-visible {
	background: var(--wp--preset--color--accent, #2b6e91);
	color: #fff;
}

/* Hide Jetpack/Sharedaddy share+like blocks on single posts; using inline icon buttons above. */
.single #jp-post-flair,
.single .sharedaddy,
.single .sd-sharing-enabled,
.single .sd-like,
.single .post-likes-widget,
.single #like-post-wrapper,
#likes-master,
#jp-carousel-container,
.jp-carousel-wrap {
	display: none !important;
}

.single .single-post-inner > .wp-block-post-title,
.single .single-post-inner > .single-post-meta,
.single .single-post-inner > .wp-block-post-content {
	max-width: 1300px;
	margin-left: auto;
	margin-right: auto;
}

.single .single-post-content {
	max-width: 1300px;
}

/* News listing mobile gutters */
@media (max-width: 781px) {
	.news-list-main {
		padding-left: var(--wp--preset--spacing--30);
		padding-right: var(--wp--preset--spacing--30);
	}
}

/* Utility margin classes (editor-safe, block-safe) */
.u-mt-0 { margin-top: 0 !important; margin-block-start: 0 !important; }

/* Footer seam guard (survives editor class drift) */
.wp-site-blocks > footer {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}
.u-mb-0 { margin-bottom: 0 !important; margin-block-end: 0 !important; }
.u-my-0 {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

/* ── Mobile Navigation Trigger (force standard 3-line hamburger) ── */
header .wp-block-navigation__responsive-container-open svg {
	display: none;
}

header .wp-block-navigation__responsive-container-open {
	position: relative;
	width: 44px;
	height: 44px;
	padding: 0;
	color: var(--wp--preset--color--dark, #1C2A3A);
}

header .wp-block-navigation__responsive-container-open::before {
	content: "";
	position: absolute;
	left: 11px;
	top: 13px;
	width: 22px;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
	box-shadow: 0 7px 0 currentColor, 0 14px 0 currentColor;
}

/* ── Mobile Navigation Overlay ── */
.wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--background, #fff);
	padding: 2rem 1.5rem;
}

.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__responsive-container-close {
	position: absolute;
	top: 1rem;
	right: 1rem;
	padding: 0.5rem;
	color: var(--wp--preset--color--dark, #1C2A3A);
}

.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__responsive-container-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	padding-top: 4.5rem;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	gap: 0;
	width: 100%;
}

.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item {
	width: 100%;
	margin: 0;
}

.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 1.2rem 0;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.125rem;
	font-weight: 500;
	color: var(--wp--preset--color--dark, #1C2A3A);
	text-decoration: none;
	border-bottom: 1px solid var(--wp--preset--color--primary-light, #D4EBF7);
	line-height: 1.55;
	outline: none;
	outline-offset: 0;
	-webkit-tap-highlight-color: transparent;
}

.wp-block-navigation__responsive-container.is-menu-open
	> .wp-block-navigation__responsive-container-content
	> .wp-block-navigation-item
	> .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.375rem;
	font-weight: 600;
}

.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--primary, #4A9EC5);
}

.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item__content:focus {
	outline: none;
	background: transparent;
}

.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item__content:focus-visible {
	color: var(--wp--preset--color--primary, #4A9EC5);
	outline: 2px solid var(--wp--preset--color--primary-light, #D4EBF7);
	outline-offset: 2px;
	border-radius: 6px;
	background: transparent;
}

.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__submenu-container {
	display: flex !important;
	flex-direction: column;
	width: 100%;
	padding: 0;
	margin: 0;
	background: transparent;
	border: none;
	box-shadow: none;
	position: static;
	opacity: 1;
	visibility: visible;
}

.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding-left: 1.5rem;
	padding-top: 0.95rem;
	padding-bottom: 0.95rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: var(--wp--preset--color--accent, #2B6E91);
	border-bottom-color: var(--wp--preset--color--primary-pale, #EDF6FB);
}

.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__submenu-icon {
	margin-left: 0.5rem;
}

.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation__responsive-container-content
	.wp-block-navigation__container {
	gap: 0;
	align-items: stretch;
}

.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-item:last-child
	> .wp-block-navigation-item__content {
	border-bottom: none;
}

.wp-block-navigation__responsive-container.is-menu-open
	.wp-block-navigation-submenu
	> .wp-block-navigation-item__content {
	color: var(--wp--preset--color--dark, #1C2A3A);
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	font-size: 1.25rem;
}
