/*
 * Fork in the Road Trip - Front-end Styles
 * Handles classic editor fallbacks, subtle paper textures, and publication aesthetics.
 */

/* Strengthened Pure CSS Parchment Paper Background */
body {
	background-color: var(--wp--preset--color--parchment);
	background-image:
		/* Visible warm paper vignette */
		radial-gradient(ellipse at 50% 50%, rgba(247, 240, 229, 0.6) 0%, rgba(206, 185, 155, 0.45) 100%),
		/* Discernible paper mottling & warm tonal variations */
		radial-gradient(circle at 18% 22%, rgba(255, 255, 255, 0.55) 0%, transparent 38%),
		radial-gradient(circle at 82% 26%, rgba(165, 132, 102, 0.18) 0%, transparent 46%),
		radial-gradient(circle at 26% 74%, rgba(170, 138, 108, 0.16) 0%, transparent 42%),
		radial-gradient(circle at 74% 84%, rgba(255, 255, 255, 0.5) 0%, transparent 38%),
		/* Directional paper grain/tone gradient */
		linear-gradient(135deg, rgba(238, 227, 210, 0.35) 0%, transparent 45%, rgba(195, 166, 135, 0.22) 100%);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	background-attachment: fixed;
}

/* Ensure images have sensible constraints */
img {
	max-width: 100%;
	height: auto;
	border-radius: 4px;
}

/* Scoped single-post article baseline */
.fitrt-single-post {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
	box-sizing: border-box;
}

.fitrt-single-masthead {
	width: min(calc(100% - 2rem), 1100px);
	margin: 0 auto;
	padding: 4rem 0 2.5rem;
	box-sizing: border-box;
	text-align: center;
}

.fitrt-single-eyebrow {
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--forest-green);
	margin: 0 0 0.9rem;
}

.fitrt-single-title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(3rem, 5vw, 5.25rem) !important;
	line-height: 1.02;
	margin: 0;
	color: var(--wp--preset--color--espresso);
}

.fitrt-single-meta {
	justify-content: center;
	gap: 0.75rem 1.25rem;
	margin-top: 1rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.95rem;
	font-style: italic;
	color: var(--wp--preset--color--muted-text);
}

.fitrt-single-deck {
	max-width: 760px;
	margin: 1.25rem auto 0;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.15rem;
	font-style: italic;
	line-height: 1.65;
	color: var(--wp--preset--color--deep-brown);
}

.fitrt-single-featured-image {
	width: min(calc(100% - 3rem), 1320px) !important;
	max-width: 1320px !important;
	margin: 0 auto 3rem !important;
}

.fitrt-single-featured-image img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	object-fit: contain;
}

.fitrt-single-article {
	width: min(calc(100% - 2rem), 780px);
	max-width: 780px;
	min-width: 0;
	margin-inline: auto;
	box-sizing: border-box;
}

.fitrt-single-article .entry-content {
	min-width: 0;
	width: 100%;
	margin: 0;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.15rem;
	line-height: 1.78;
	color: var(--wp--preset--color--espresso);
}

.fitrt-single-article .entry-content > * {
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.fitrt-single-article .entry-content p {
	margin: 0 0 1.35em;
}

.fitrt-single-article .entry-content h2,
.fitrt-single-article .entry-content h3,
.fitrt-single-article .entry-content h4 {
	font-family: var(--wp--preset--font-family--heading);
	color: var(--wp--preset--color--espresso);
	line-height: 1.2;
	break-after: avoid;
}

.fitrt-single-article .entry-content h2 { font-size: clamp(2rem, 3vw, 3rem); margin: 2.2em 0 0.5em; }
.fitrt-single-article .entry-content h3 { font-size: clamp(1.6rem, 2.4vw, 2.25rem); margin: 1.8em 0 0.45em; }
.fitrt-single-article .entry-content h4 { font-size: clamp(1.3rem, 2vw, 1.75rem); margin: 1.5em 0 0.4em; }

.fitrt-single-article .entry-content ul,
.fitrt-single-article .entry-content ol {
	margin: 0 0 1.35em;
	padding-left: 1.5em;
}

.fitrt-single-article .entry-content li { margin: 0 0 0.45em; }

.fitrt-single-article .entry-content img,
.fitrt-single-article .entry-content video,
.fitrt-single-article .entry-content iframe,
.fitrt-single-article .entry-content embed {
	max-width: 100%;
	height: auto;
}

.fitrt-single-article .entry-content img { display: block; margin: 1.5rem auto; }
.fitrt-single-article .entry-content .alignleft { float: left; margin: 0.5rem 1.5rem 1rem 0; }
.fitrt-single-article .entry-content .alignright { float: right; margin: 0.5rem 0 1rem 1.5rem; }
.fitrt-single-article .entry-content .aligncenter { display: block; margin: 1.5rem auto; }
.fitrt-single-article .entry-content::after { content: ""; display: table; clear: both; }

.fitrt-single-article .entry-content figure,
.fitrt-single-article .entry-content .wp-caption {
	max-width: 100%;
	margin: 1.75rem auto;
	text-align: center;
}

.fitrt-single-article .entry-content figure img,
.fitrt-single-article .entry-content .wp-caption img { margin: 0 auto 0.5rem; }
.fitrt-single-article .entry-content figcaption,
.fitrt-single-article .entry-content .wp-caption-text {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--wp--preset--color--muted-text);
}

.fitrt-single-article .entry-content blockquote {
	margin: 2rem 0;
	padding: 0.25rem 0 0.25rem 1.5rem;
	border-left: 3px solid var(--wp--preset--color--mustard-gold);
	font-style: italic;
	color: var(--wp--preset--color--deep-brown);
}

.fitrt-single-article .entry-content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin: 2rem 0; }
.fitrt-single-article .entry-content th,
.fitrt-single-article .entry-content td { padding: 0.6rem 0.75rem; border: 1px solid var(--wp--preset--color--warm-taupe); }
.fitrt-single-article .entry-content pre { max-width: 100%; overflow-x: auto; padding: 1rem; background: var(--wp--preset--color--cream); box-sizing: border-box; }
.fitrt-single-article .entry-content hr { margin: 2.25rem 0; border: 0; border-top: 1px solid var(--wp--preset--color--warm-taupe); }
.fitrt-single-article .entry-content iframe { width: 100%; }

.fitrt-single-post-end,
.fitrt-single-comments {
	width: min(calc(100% - 2rem), 780px);
	max-width: 780px;
	margin: 3rem auto 0;
	box-sizing: border-box;
}

.fitrt-single-tags { font-size: 0.9rem; color: var(--wp--preset--color--muted-text); }
.fitrt-single-rule { margin: 1.5rem 0; border-color: var(--wp--preset--color--warm-taupe); }
.fitrt-single-pagination { gap: 1.5rem; }
.fitrt-single-comments { margin-top: 4rem; margin-bottom: 4rem; }

@media (max-width: 700px) {
	.fitrt-single-masthead,
	.fitrt-single-article,
	.fitrt-single-post-end,
	.fitrt-single-comments { width: calc(100% - 2rem); }
	.fitrt-single-masthead { padding: 3rem 0 2rem; }
	.fitrt-single-title { font-size: clamp(2.1rem, 10vw, 3.2rem) !important; }
	.fitrt-single-featured-image { width: calc(100% - 2rem) !important; margin-bottom: 2rem !important; }
	.fitrt-single-article .entry-content { font-size: 1.05rem; line-height: 1.75; }
	.fitrt-single-article .entry-content .alignleft,
	.fitrt-single-article .entry-content .alignright { float: none; display: block; margin: 1.5rem auto; }
	.fitrt-single-pagination { flex-direction: column; align-items: stretch; gap: 1rem; }
}
/* Keyboard focus visibility */
:focus-visible {
	outline: 2px solid var(--wp--preset--color--forest-green);
	outline-offset: 2px;
}

/* Respect prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
	* {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* ==========================================================================
   Homepage & Editorial Presentation Refinements
   ========================================================================== */

/* Header Logo Branding */
.fitrt-header-branding {
	display: flex;
	align-items: center;
}

.fitrt-logo-link {
	display: inline-block;
	text-decoration: none;
}

.fitrt-header-logo {
	max-height: 48px;
	width: auto;
	height: auto;
	display: block;
}

/* Hero & Brand Statement */
.fitrt-hero {
	border-bottom: 1px solid rgba(168, 135, 109, 0.22);
}

.fitrt-brand-statement {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.2rem;
	line-height: 1.6;
	color: var(--wp--preset--color--deep-brown);
	max-width: 660px;
	margin: 0.85rem auto 0 auto;
	font-weight: 500;
	letter-spacing: -0.01em;
}

/* CSS Road / Fork Motif */
.fitrt-road-motif {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 140px;
	height: 14px;
	margin: 1.25rem auto 0 auto;
	position: relative;
}

.fitrt-road-motif::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(to right, transparent, var(--wp--preset--color--mustard-gold) 30%, var(--wp--preset--color--mustard-gold) 70%, transparent);
	opacity: 0.65;
}

.fitrt-road-motif::after {
	content: "◆";
	font-size: 8px;
	color: var(--wp--preset--color--forest-green);
	background-color: var(--wp--preset--color--parchment);
	padding: 0 8px;
	position: relative;
	z-index: 1;
}

/* Homepage Magazine-style Intro Content */
.fitrt-homepage-content {
	margin-top: 1.75rem;
	margin-bottom: 1.75rem;
	max-width: 720px;
}

.fitrt-homepage-content .entry-content > p {
	font-size: 1.125rem;
	line-height: 1.8;
	color: var(--wp--preset--color--espresso);
}

.fitrt-homepage-content .entry-content > p:first-of-type {
	font-size: 1.2rem;
	color: var(--wp--preset--color--deep-brown);
}

/* Hide empty intro content area cleanly */
.fitrt-homepage-content .entry-content:empty {
	display: none;
}

.fitrt-homepage-content:has(.entry-content:empty) {
	margin-top: 0;
	margin-bottom: 0;
}

/* Featured Story Hierarchy */
.fitrt-featured-story-wrapper {
	margin-top: 0.5rem;
}

.fitrt-featured-card {
	background-color: var(--wp--preset--color--cream);
	border: 1px solid rgba(168, 135, 109, 0.32);
	border-radius: 6px;
	padding: 1.5rem;
	box-shadow: 0 4px 14px rgba(36, 24, 18, 0.04);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.fitrt-featured-card:hover {
	border-color: rgba(217, 157, 36, 0.55);
	box-shadow: 0 6px 18px rgba(36, 24, 18, 0.07);
}

.fitrt-badge {
	display: inline-block;
	font-size: 0.725rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.09em;
	color: var(--wp--preset--color--forest-green);
	margin-bottom: 0.5rem;
	border-bottom: 1px solid var(--wp--preset--color--mustard-gold);
	padding-bottom: 2px;
}

.fitrt-featured-card h2 a {
	color: var(--wp--preset--color--espresso);
	text-decoration: none;
	transition: color 0.15s ease;
}

.fitrt-featured-card h2 a:hover {
	color: var(--wp--preset--color--mustard-gold);
}

/* Recent Dispatches Cards */
.fitrt-recent-dispatches .fitrt-section-heading {
	font-family: var(--wp--preset--font-family--heading);
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--espresso);
	margin-bottom: 0.75rem;
}

.fitrt-story-card {
	background-color: var(--wp--preset--color--cream);
	border: 1px solid rgba(168, 135, 109, 0.22);
	border-radius: 4px;
	transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.fitrt-story-card:hover {
	border-color: var(--wp--preset--color--warm-taupe);
	box-shadow: 0 4px 10px rgba(36, 24, 18, 0.05);
}

.fitrt-story-card h4 a {
	color: var(--wp--preset--color--espresso);
	text-decoration: none;
	transition: color 0.15s ease;
}

.fitrt-story-card h4 a:hover {
	color: var(--wp--preset--color--mustard-gold);
}

/* Global Overflow Prevention & Safe Box Sizing */
html {
	overflow-x: hidden !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
}

body {
	overflow-x: hidden !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
}

body:not(.admin-bar) {
	padding-top: 0 !important;
}

.wp-site-blocks,
.wp-site-blocks > *,
.wp-site-blocks > * + *,
.wp-site-blocks > header,
.wp-site-blocks > .fitrt-cover-package,
.wp-site-blocks > .wp-block-shortcode,
header.fitrt-minimal-header,
.fitrt-cover-package,
.fitrt-lead-hero {
	margin-top: 0 !important;
	padding-top: 0 !important;
	margin-block-start: 0 !important;
}

/* ==========================================================================
   Editorial Cover Package Styles (`[fitrt_home_cover]`)
   ========================================================================== */

/* All-viewport Hamburger Navigation Overlay (Zero Height Flow Footprint) */
.fitrt-minimal-header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 0;
	z-index: 50;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	box-shadow: none !important;
	pointer-events: none;
}

.fitrt-minimal-header .fitrt-navigation-wrapper {
	position: absolute;
	top: 2rem; /* 2rem from top edge logged-out */
	right: 2rem;
	pointer-events: auto;
}

body.admin-bar .fitrt-minimal-header .fitrt-navigation-wrapper {
	top: calc(32px + 2rem);
}

.fitrt-minimal-header .fitrt-menu-toggle {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 46px !important;
	min-height: 46px !important;
	background: #f7f0e5 !important;
	color: #241812 !important;
	border: 1.5px solid rgba(36, 24, 18, 0.25) !important;
	border-radius: 6px !important;
	padding: 0.5rem 0.75rem !important;
	font-weight: 700 !important;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35) !important;
	transition: background 0.15s ease, border-color 0.15s ease !important;
	pointer-events: auto !important;
}

.fitrt-minimal-header .fitrt-menu-toggle svg {
	fill: #241812 !important;
	stroke: #241812 !important;
}

.fitrt-minimal-header .fitrt-menu-toggle:hover,
.fitrt-minimal-header .fitrt-menu-toggle:focus {
	background: #ffffff !important;
	color: var(--wp--preset--color--mustard-gold) !important;
	border-color: var(--wp--preset--color--mustard-gold) !important;
}

.fitrt-minimal-header .fitrt-main-navigation-overlay:not(.is-open) {
	display: none !important;
}

/* ==========================================================================
   Full-Screen Editorial Navigation Overlay — Corrected
   
   WordPress Navigation block DOM (overlayMenu:"always"):
     div.fitrt-main-navigation-overlay.is-open   ← fullscreen backdrop
       div.fitrt-main-navigation-inner      ← inner panel wrapper
         button.fitrt-menu-close   ← close button (INSIDE content)
         ul.fitrt-primary-menu                        ← all menu items
           li.menu-item …                          ← each link
   ========================================================================== */

/* ── 1. Fullscreen solid espresso backdrop ─────────────────────────────── */
.fitrt-main-navigation-overlay.is-open {
	position: fixed !important;
	inset: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	height: 100dvh !important;
	background-color: #1b120d !important;  /* solid espresso – no transparency */
	background-image: none !important;
	color: var(--wp--preset--color--cream) !important;
	padding: 9rem 1.5rem 3rem !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start !important;
	align-items: center !important;
	z-index: 99999 !important;
	pointer-events: auto !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch !important;
	box-sizing: border-box !important;
}

body.admin-bar .fitrt-main-navigation-overlay.is-open {
	top: 32px !important;
	height: calc(100vh - 32px) !important;
	height: calc(100dvh - 32px) !important;
}

/* Hide the hamburger button and hero logo only while overlay is open */
body:has(.fitrt-main-navigation-overlay.is-open) .fitrt-masthead-container,
body.has-modal-open .fitrt-masthead-container {
	visibility: hidden !important;
}

body:has(.fitrt-main-navigation-overlay.is-open) .fitrt-menu-toggle {
	visibility: hidden !important;
	pointer-events: none !important;
}

/* ── 2. Centered native navigation content ─────────────────────────────── */
.fitrt-main-navigation-overlay.is-open
.fitrt-main-navigation-inner {
	width: 100% !important;
	max-width: 600px !important;
	margin: 0 auto !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-start !important;
	text-align: center !important;
	box-sizing: border-box !important;
}
/* ── 4. Menu list — vertical stack, centered ───────────────────────────── */
/* WordPress core renders ul.fitrt-primary-menu as display:flex
   in row direction. Override to column so all links stack vertically. */
.fitrt-main-navigation-overlay.is-open
ul.fitrt-primary-menu {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-start !important;
	flex-wrap: nowrap !important;
	gap: 0.2rem !important;
	list-style: none !important;
	width: 100% !important;
	margin: 0 auto !important;
	padding: 0 !important;
	text-align: center !important;
	overflow: visible !important;
}

/* ── 5. Individual menu items ──────────────────────────────────────────── */
.fitrt-main-navigation-overlay.is-open
.menu-item {
	display: block !important;
	width: 100% !important;
	text-align: center !important;
	margin: 0 !important;
	padding: 0 !important;
	flex-shrink: 0 !important;
}

/* ── 6. Link typography ────────────────────────────────────────────────── */
.fitrt-main-navigation-overlay.is-open
.menu-item a {
	display: inline-block !important;
	font-family: var(--wp--preset--font-family--heading) !important;
	font-size: clamp(1.8rem, 3vw, 2.9rem) !important;
	line-height: 1.18 !important;
	color: var(--wp--preset--color--cream) !important;
	text-decoration: none !important;
	letter-spacing: 0.025em !important;
	padding: 0.45rem 1rem !important;
	transition: color 0.14s ease, transform 0.14s ease !important;
	border-bottom: 2px solid transparent !important;
	white-space: nowrap !important;
}

.fitrt-main-navigation-overlay.is-open
.menu-item a:hover {
	color: var(--wp--preset--color--mustard-gold) !important;
	transform: scale(1.04) !important;
}

.fitrt-main-navigation-overlay.is-open
.menu-item a:focus-visible {
	outline: 2px solid var(--wp--preset--color--mustard-gold) !important;
	outline-offset: 4px !important;
	color: var(--wp--preset--color--mustard-gold) !important;
	border-bottom-color: var(--wp--preset--color--mustard-gold) !important;
}

/* ── 7. Current-page / active-item accent ──────────────────────────────── */
.fitrt-main-navigation-overlay.is-open
.menu-item.current-menu-item a,
.fitrt-main-navigation-overlay.is-open
.menu-item.current-post-ancestor a,
.fitrt-main-navigation-overlay.is-open
.menu-item.is-active a,
.fitrt-main-navigation-overlay.is-open
.menu-item a[aria-current="page"] {
	color: var(--wp--preset--color--mustard-gold) !important;
	border-bottom-color: var(--wp--preset--color--mustard-gold) !important;
}

/* Clean Full-Width Cover Package */
.fitrt-cover-package {
	position: relative;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	overflow: hidden;
	margin-bottom: 2.5rem;
}

/* Lead Hero Banner (Opening Viewport ~88vh, min 680px, max 980px) */
.fitrt-lead-hero {
	position: relative;
	width: 100%;
	min-height: max(680px, 88vh);
	max-height: 980px;
	height: 88vh;
	display: flex;
	align-items: flex-end;
	background-color: var(--wp--preset--color--espresso);
	overflow: hidden;
}

.fitrt-lead-hero.no-thumb {
	min-height: 48vh;
	height: auto;
	background-color: var(--wp--preset--color--parchment);
	border-bottom: 2px solid var(--wp--preset--color--warm-taupe);
}

.fitrt-lead-image-wrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.fitrt-lead-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
}

.fitrt-lead-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(
		to top,
		rgba(36, 24, 18, 0.92) 0%,
		rgba(36, 24, 18, 0.5) 45%,
		rgba(36, 24, 18, 0.15) 75%,
		rgba(36, 24, 18, 0.3) 100%
	);
	z-index: 2;
}

/* Masthead White Logo Overlay (Upper-Left of Lead Image) */
.fitrt-masthead-container {
	position: absolute;
	top: 2rem;
	left: 2.5rem;
	z-index: 15;
	width: 100%;
	max-width: clamp(300px, 25vw, 430px);
}

.fitrt-masthead-link {
	display: inline-block;
	text-decoration: none;
}

.fitrt-masthead-logo {
	width: 100%;
	height: auto;
	display: block;
	filter: drop-shadow(0 3px 12px rgba(0, 0, 0, 0.65));
}

/* ==========================================================================
   Continuous Magazine Cover Canvas & Hero Composition
   ========================================================================== */
.fitrt-cover-package {
	position: relative;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	overflow: hidden;
	margin-bottom: 0;
	background-color: var(--wp--preset--color--espresso);
}

.fitrt-lead-hero {
	position: relative;
	width: 100%;
	min-height: max(720px, 90vh);
	max-height: 1000px;
	height: 90vh;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	background-color: var(--wp--preset--color--espresso);
	overflow: hidden;
}

.fitrt-lead-hero.no-thumb {
	min-height: 50vh;
	height: auto;
	background-color: var(--wp--preset--color--parchment);
	border-bottom: 2px solid var(--wp--preset--color--warm-taupe);
}

.fitrt-lead-image-wrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.fitrt-lead-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
}

.fitrt-lead-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(
		to top,
		rgba(16, 10, 6, 0.95) 0%,
		rgba(16, 10, 6, 0.55) 45%,
		rgba(16, 10, 6, 0.2) 75%,
		rgba(16, 10, 6, 0.45) 100%
	);
	z-index: 2;
}

/* Masthead White Logo Overlay (Upper-Left of Lead Cover Canvas) */
.fitrt-masthead-container {
	position: absolute;
	top: clamp(2.8rem, 4vh, 3.4rem);
	left: clamp(3rem, 3.5vw, 3.6rem);
	z-index: 15;
	width: 100%;
	max-width: clamp(280px, 22vw, 380px);
}

.fitrt-masthead-link {
	display: inline-block;
	text-decoration: none;
}

.fitrt-masthead-logo {
	width: 100%;
	height: auto;
	display: block;
	filter: drop-shadow(0 3px 14px rgba(0, 0, 0, 0.75));
}

/* Lead Headline: Simple Absolute Desktop Layout (balanced center-right composition) */
.fitrt-lead-title-area {
	position: absolute;
	top: clamp(8.5rem, 16vh, 11rem);
	left: 35%;
	right: 9%;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	box-sizing: border-box;
	z-index: 10;
}

.fitrt-lead-title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(3.1rem, 4.5vw, 5.2rem);
	line-height: 0.98;
	margin: 0;
	width: 100%;
	text-align: left;
	color: var(--wp--preset--color--cream);
	text-shadow: 0 3px 12px rgba(0, 0, 0, 0.75);
	background: none !important;
}

.fitrt-lead-title a {
	color: var(--wp--preset--color--cream);
	text-decoration: none;
	transition: color 0.15s ease;
}

.fitrt-lead-hero.no-thumb .fitrt-lead-title a {
	color: var(--wp--preset--color--espresso);
}

.fitrt-lead-title a:hover {
	color: var(--wp--preset--color--mustard-gold);
}

.fitrt-lead-date {
	display: block;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.925rem;
	font-style: italic;
	color: rgba(247, 240, 229, 0.92);
	text-align: left;
	width: 100%;
	margin-top: 0.5rem;
	text-shadow: 0 2px 6px rgba(0, 0, 0, 0.85);
}

.fitrt-lead-hero.no-thumb .fitrt-lead-date {
	color: var(--wp--preset--color--muted-text);
}

/* Lower Hero Excerpt & CTA: Positioned explicitly in Lower Hero Region */
.fitrt-lead-bottom-area {
	position: absolute;
	bottom: clamp(7.8rem, 15vh, 10.8rem); /* Shifted upward by ~24px to tighten story package */
	left: 22%;
	right: 20%;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	z-index: 10;
	background: transparent !important;
}

.fitrt-lead-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 2rem;
	align-items: end;
	width: 100%;
	background: transparent !important;
}

.fitrt-lead-excerpt-col {
	width: 100%;
	max-width: 740px;
}

.fitrt-lead-excerpt {
	font-family: var(--wp--preset--font-family--body);
	font-size: clamp(1.25rem, 1.8vw, 1.45rem);
	line-height: 1.65;
	color: var(--wp--preset--color--cream);
	margin: 0;
	text-align: left;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.9);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.fitrt-lead-hero.no-thumb .fitrt-lead-excerpt {
	color: var(--wp--preset--color--espresso);
}

.fitrt-lead-action-col {
	flex: 0 0 auto;
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
}

.fitrt-lead-cta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--wp--preset--font-family--body);
	font-weight: 700;
	font-size: 1.15rem;
	color: #241812 !important;
	background-color: var(--wp--preset--color--mustard-gold) !important;
	padding: 0.95rem 2.2rem;
	border-radius: 5px;
	text-decoration: none !important;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);
	border: 1px solid rgba(255, 255, 255, 0.35);
	transition: background-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
	min-height: 50px;
	white-space: nowrap;
}

.fitrt-lead-cta-btn:hover {
	background-color: var(--wp--preset--color--cream) !important;
	color: #241812 !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 22px rgba(0, 0, 0, 0.6);
}

.fitrt-lead-cta-btn:focus-visible {
	outline: 3px solid var(--wp--preset--color--cream) !important;
	outline-offset: 3px !important;
}

/* ==========================================================================
   Supporting Image Teasers & Overlap (PLUS / AND Emerging from Cover)
   ========================================================================== */
.fitrt-cover-strip-wrap {
	position: relative;
	z-index: 20;
	width: 100%;
	max-width: 1200px;
	margin: -80px auto 0 auto; /* Intentional 80px desktop overlap onto hero cover */
	padding: 0 2.5rem 0 2.5rem;
	box-sizing: border-box;
}

.fitrt-cover-strip-grid {
	display: grid;
	gap: 2rem;
	width: 100%;
}

.fitrt-cover-strip-grid.fitrt-cols-3 {
	grid-template-columns: repeat(3, 1fr);
}

.fitrt-cover-strip-grid.fitrt-cols-2 {
	grid-template-columns: repeat(2, 1fr);
}

.fitrt-cover-strip-grid.fitrt-cols-1 {
	grid-template-columns: 1fr;
}

/* Supporting Teasers: Pure Image Teaser Panel (No Card Chrome, No Body, No Footer) */
.fitrt-strip-card {
	background-color: transparent;
	border: none;
	border-radius: 6px;
	overflow: hidden;
	position: relative;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.fitrt-strip-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.4);
}

.fitrt-strip-card-link {
	display: block;
	text-decoration: none;
	color: inherit;
	width: 100%;
	height: 100%;
	position: relative;
}

/* 1:1 Square Image Teaser Container - Image Begins at Top Edge */
.fitrt-strip-image-panel {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 6px;
	border: 1px solid rgba(247, 240, 229, 0.18);
	background-color: var(--wp--preset--color--espresso);
	margin: 0;
	padding: 0;
}

.fitrt-strip-image {
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	display: block;
	border-radius: 0;
	transition: transform 0.35s ease;
}

.fitrt-strip-card:hover .fitrt-strip-image {
	transform: scale(1.05);
}

.fitrt-strip-image-fallback {
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1;
	background-color: var(--wp--preset--color--warm-taupe);
	background-image: radial-gradient(circle, var(--wp--preset--color--parchment) 10%, transparent 11%);
	background-size: 12px 12px;
}

/* Printed Editorial Sticker Callouts (Mustard Paper Tab with Personality) */
.fitrt-editorial-badge {
	position: absolute;
	top: 1rem;
	left: 1rem;
	z-index: 15;
	display: inline-block;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.06em;
	color: #241812;
	background-color: var(--wp--preset--color--mustard-gold);
	padding: 0.5rem 1.2rem 0.45rem 1.2rem;
	border-radius: 3px 3px 4px 4px;
	border: 1px solid rgba(0, 0, 0, 0.2);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.45);
	transition: transform 0.2s ease;
}

.fitrt-cover-strip-grid > .fitrt-strip-card:nth-child(1) .fitrt-editorial-badge {
	transform: rotate(-2deg);
}

.fitrt-cover-strip-grid > .fitrt-strip-card:nth-child(2) .fitrt-editorial-badge {
	transform: rotate(2deg);
}

.fitrt-cover-strip-grid > .fitrt-strip-card:nth-child(1):hover .fitrt-editorial-badge {
	transform: rotate(-2deg) scale(1.06);
}

.fitrt-cover-strip-grid > .fitrt-strip-card:nth-child(2):hover .fitrt-editorial-badge {
	transform: rotate(2deg) scale(1.06);
}

.fitrt-card-type-photo .fitrt-editorial-badge {
	font-size: 1.3rem;
	padding: 0.45rem 1rem;
}

/* Lower Image Overlay: Dark Localized Gradient Only (Title, Date, Read More Button) */
.fitrt-strip-bottom-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 10;
	padding: 3.5rem 1.35rem 1.35rem 1.35rem;
	background: linear-gradient(
		to top,
		rgba(16, 8, 4, 0.96) 0%,
		rgba(16, 8, 4, 0.7) 55%,
		rgba(16, 8, 4, 0) 100%
	);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-align: left;
	box-sizing: border-box;
}

.fitrt-strip-title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(1.55rem, 2.3vw, 2.05rem);
	line-height: 1.15;
	color: var(--wp--preset--color--cream);
	margin: 0 0 0.25rem 0;
	text-shadow: 0 2px 6px rgba(0, 0, 0, 0.9);
	transition: color 0.15s ease;
}

.fitrt-strip-card:hover .fitrt-strip-title {
	color: var(--wp--preset--color--mustard-gold);
}

.fitrt-strip-caption {
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.9rem;
	font-style: italic;
	color: var(--wp--preset--color--cream);
	margin: 0 0 0.35rem 0;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.9);
}

.fitrt-strip-date {
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.875rem;
	font-style: italic;
	color: rgba(247, 240, 229, 0.88);
	margin: 0 0 0.75rem 0;
	display: block;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.9);
}

.fitrt-strip-secondary-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--wp--preset--font-family--body);
	font-weight: 700;
	font-size: 0.85rem;
	color: #241812 !important;
	background-color: var(--wp--preset--color--mustard-gold) !important;
	padding: 0.45rem 1.05rem;
	border-radius: 4px;
	align-self: flex-start;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
	border: 1px solid rgba(255, 255, 255, 0.25);
	transition: background-color 0.15s ease, transform 0.15s ease;
}

.fitrt-strip-card:hover .fitrt-strip-secondary-cta {
	background-color: var(--wp--preset--color--cream) !important;
	color: #241812 !important;
}

.fitrt-strip-secondary-cta:focus-visible {
	outline: 2px solid var(--wp--preset--color--cream) !important;
	outline-offset: 2px !important;
}

/* ==========================================================================
   First Page Spread: Elegant About Introduction (Whitespace, Parchment & Thin Rule)
   ========================================================================== */
.fitrt-homepage-about-section {
	background-color: var(--wp--preset--color--parchment) !important;
	background-image:
		radial-gradient(ellipse at 50% 50%, rgba(247, 240, 229, 0.6) 0%, rgba(206, 185, 155, 0.35) 100%),
		linear-gradient(135deg, rgba(238, 227, 210, 0.3) 0%, transparent 50%, rgba(195, 166, 135, 0.2) 100%) !important;
	border-top: 1.5px solid var(--wp--preset--color--mustard-gold) !important;
	border-bottom: 1.5px solid var(--wp--preset--color--mustard-gold) !important;
	padding: 3.5rem 1.5rem 4.5rem 1.5rem !important;
	margin: 0 0 3rem 0 !important;
	position: relative;
	width: 100% !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}

.fitrt-homepage-about-section .entry-content > *:first-child {
	margin-top: 0 !important;
}


.fitrt-homepage-about-section .fitrt-homepage-content {
	max-width: 740px !important; /* Elegant readable inner spread width */
	margin: 0 auto !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	border: none !important;
}

.fitrt-homepage-about-section h1,
.fitrt-homepage-about-section h2,
.fitrt-homepage-about-section h3 {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 2.25rem;
	color: #241812 !important;
	margin-bottom: 1.5rem;
	letter-spacing: 0.02em;
}

.fitrt-homepage-about-section p,
.fitrt-homepage-about-section li,
.fitrt-homepage-about-section .entry-content > p {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.2rem;
	line-height: 1.8;
	color: #241812 !important;
	margin-bottom: 1.75rem;
}

/* ==========================================================================
   Magazine Table of Contents: Explore by Category Section
   ========================================================================== */
.fitrt-category-section {
	padding: 3.5rem 1.5rem 4.5rem 1.5rem;
	margin: 0 auto;
	max-width: 1240px; /* Aligned wide grid width */
}

.fitrt-category-header {
	margin-bottom: 2.25rem;
}

.fitrt-category-section-title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 2.35rem;
	color: var(--wp--preset--color--espresso);
	margin: 0 0 0.6rem 0;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.fitrt-category-divider {
	border: 0;
	border-top: 2px solid var(--wp--preset--color--mustard-gold);
	margin: 0;
	opacity: 0.75;
}

.fitrt-category-grid {
	display: grid;
	gap: 2rem;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

.fitrt-cat-card {
	background-color: var(--wp--preset--color--cream);
	border: 1px solid rgba(168, 135, 109, 0.35);
	border-radius: 6px;
	padding: 1.35rem;
	box-shadow: 0 6px 20px rgba(36, 24, 18, 0.08);
	display: flex;
	flex-direction: column;
	transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.fitrt-cat-card:hover {
	border-color: var(--wp--preset--color--mustard-gold);
	box-shadow: 0 10px 26px rgba(36, 24, 18, 0.14);
}

.fitrt-cat-badge {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--wp--preset--color--forest-green);
	text-decoration: none;
	border-bottom: 1.5px solid var(--wp--preset--color--mustard-gold);
	padding-bottom: 2px;
	margin-bottom: 0.85rem;
}

.fitrt-cat-image-wrap {
	width: 100%;
	height: 200px;
	overflow: hidden;
	border-radius: 4px;
	margin-bottom: 1rem;
}

.fitrt-cat-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

.fitrt-cat-card:hover .fitrt-cat-image {
	transform: scale(1.04);
}

.fitrt-cat-card-body {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.fitrt-cat-post-title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.45rem;
	line-height: 1.22;
	margin: 0.25rem 0 0.5rem 0;
}

.fitrt-cat-post-title a {
	color: var(--wp--preset--color--espresso);
	text-decoration: none;
	transition: color 0.15s ease;
}

.fitrt-cat-post-title a:hover {
	color: var(--wp--preset--color--mustard-gold);
}

.fitrt-cat-post-date {
	font-size: 0.825rem;
	font-style: italic;
	color: var(--wp--preset--color--muted-text);
	margin-bottom: 0.5rem;
}

.fitrt-cat-post-excerpt {
	font-size: 0.95rem;
	line-height: 1.55;
	color: var(--wp--preset--color--espresso);
	margin-bottom: 1.25rem;
}

.fitrt-more-cat-link {
	display: inline-block;
	font-weight: 700;
	font-size: 0.875rem;
	color: var(--wp--preset--color--mustard-gold);
	text-decoration: none;
	border-bottom: 1.5px solid var(--wp--preset--color--mustard-gold);
	margin-top: auto;
	align-self: flex-start;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.fitrt-more-cat-link:hover {
	color: var(--wp--preset--color--forest-green);
	border-color: var(--wp--preset--color--forest-green);
}

/* ==========================================================================
   Deep Invitation Spread: Dedicated Newsletter Signup Section
   ========================================================================== */
/* ==========================================================================
   Deep Invitation Spread: Dedicated Newsletter Signup Section
   ========================================================================== */
.fitrt-newsletter-section {
	background-color: #1b3320 !important; /* Deep forest green invitation spread */
	background-image:
		radial-gradient(ellipse 700px 350px at 20% 30%, rgba(255, 255, 255, 0.08) 0%, transparent 70%),
		radial-gradient(ellipse 800px 450px at 80% 70%, rgba(0, 0, 0, 0.3) 0%, transparent 70%) !important;
	border-top: 2px solid var(--wp--preset--color--mustard-gold) !important;
	border-bottom: 1px solid rgba(217, 157, 36, 0.3) !important;
	padding: 5.5rem 1.5rem !important;
	text-align: center !important;
	position: relative;
	width: 100% !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
}

.fitrt-newsletter-inner {
	width: min(100% - 2rem, 680px) !important;
	margin-inline: auto !important;
	padding-inline: 0 !important;
	text-align: center !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
}

.fitrt-newsletter-title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(2.2rem, 3.8vw, 3rem);
	color: var(--wp--preset--color--cream) !important;
	margin: 0 0 0.6rem 0 !important;
	text-align: center !important;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

.fitrt-newsletter-subtitle {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.15rem;
	font-style: italic;
	color: rgba(247, 240, 229, 0.9) !important;
	margin: 0 0 2rem 0 !important;
	line-height: 1.55;
	text-align: center !important;
}

.fitrt-newsletter-form-wrap {
	width: 100% !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	text-align: center !important;
}

/* Scoped MailPoet Form Styling */
.fitrt-newsletter-section .mailpoet_form {
	width: 100% !important;
	max-width: 580px !important;
	margin-inline: auto !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 1rem !important;
}

.fitrt-newsletter-section .mailpoet_form .mailpoet_paragraph,
.fitrt-newsletter-section .mailpoet_form p {
	width: 100% !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
}

.fitrt-newsletter-section .mailpoet_form label,
.fitrt-newsletter-section .mailpoet_form .mailpoet_text_label {
	color: var(--wp--preset--color--cream) !important;
	font-family: var(--wp--preset--font-family--body) !important;
	font-size: 0.95rem !important;
	margin-bottom: 0.4rem !important;
	text-align: center !important;
}

.fitrt-newsletter-section .mailpoet_form input[type="text"],
.fitrt-newsletter-section .mailpoet_form input[type="email"],
.fitrt-newsletter-section .mailpoet_form .mailpoet_text {
	width: 100% !important;
	max-width: 480px !important;
	height: 48px !important;
	padding: 0.75rem 1.25rem !important;
	font-family: var(--wp--preset--font-family--body) !important;
	font-size: 1.05rem !important;
	color: #241812 !important;
	background-color: var(--wp--preset--color--cream) !important;
	border: 1.5px solid var(--wp--preset--color--warm-taupe) !important;
	border-radius: 6px !important;
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.08) !important;
	box-sizing: border-box !important;
	text-align: center !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.fitrt-newsletter-section .mailpoet_form input[type="text"]:focus,
.fitrt-newsletter-section .mailpoet_form input[type="email"]:focus,
.fitrt-newsletter-section .mailpoet_form .mailpoet_text:focus {
	outline: none !important;
	border-color: var(--wp--preset--color--mustard-gold) !important;
	box-shadow: 0 0 0 3px rgba(217, 157, 36, 0.35) !important;
}

.fitrt-newsletter-section .mailpoet_form input[type="submit"],
.fitrt-newsletter-section .mailpoet_form .mailpoet_submit {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	min-width: 200px !important;
	height: 48px !important;
	margin-top: 0.5rem !important;
	padding: 0.75rem 2rem !important;
	font-family: var(--wp--preset--font-family--body) !important;
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	color: #241812 !important;
	background-color: var(--wp--preset--color--mustard-gold) !important;
	border: 1px solid rgba(255, 255, 255, 0.35) !important;
	border-radius: 6px !important;
	cursor: pointer !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35) !important;
	transition: background-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease !important;
}

.fitrt-newsletter-section .mailpoet_form input[type="submit"]:hover,
.fitrt-newsletter-section .mailpoet_form .mailpoet_submit:hover {
	background-color: var(--wp--preset--color--cream) !important;
	color: #241812 !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45) !important;
}

.fitrt-newsletter-section .mailpoet_form input[type="submit"]:focus-visible,
.fitrt-newsletter-section .mailpoet_form .mailpoet_submit:focus-visible {
	outline: 3px solid var(--wp--preset--color--cream) !important;
	outline-offset: 2px !important;
}

.fitrt-newsletter-section .mailpoet_message {
	width: 100% !important;
	max-width: 480px !important;
	margin: 1rem auto 0 auto !important;
	padding: 0.85rem 1.25rem !important;
	border-radius: 6px !important;
	font-family: var(--wp--preset--font-family--body) !important;
	font-size: 1rem !important;
	text-align: center !important;
}

.fitrt-newsletter-section .mailpoet_validate_success {
	background-color: rgba(247, 240, 229, 0.95) !important;
	color: #1b3320 !important;
	border: 1.5px solid var(--wp--preset--color--mustard-gold) !important;
}

.fitrt-newsletter-section .mailpoet_validate_error {
	background-color: rgba(255, 235, 235, 0.95) !important;
	color: #8b0000 !important;
	border: 1.5px solid #d9534f !important;
}

/* ==========================================================================
   Support the Journey Section Centering & Adjacency
   ========================================================================== */
.fitrt-fund-section {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
	padding: 5.5rem 1.5rem !important;
	text-align: center !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	width: 100% !important;
}

.fitrt-fund-section .fitrt-fund-inner,
.fitrt-fund-section > .wp-block-group {
	width: min(100% - 2rem, 680px) !important;
	margin-inline: auto !important;
	padding-inline: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
}

.fitrt-fund-section h2 {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(2.2rem, 3.8vw, 3rem);
	color: var(--wp--preset--color--cream) !important;
	text-align: center !important;
	margin: 0 0 0.6rem 0 !important;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

.fitrt-fund-section p {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.15rem;
	font-style: italic;
	color: rgba(247, 240, 229, 0.9) !important;
	text-align: center !important;
	margin: 0 0 2rem 0 !important;
	line-height: 1.55;
}

.fitrt-fund-section .wp-block-buttons {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	width: 100% !important;
	margin: 0 !important;
}

.fitrt-fund-section .wp-block-button {
	margin-inline: auto !important;
}

/* Ad Slots */
.fitrt-ad-slot-wrapper {
	width: 100%;
	max-width: 1200px;
	margin: 2.5rem auto;
	text-align: center;
}

/* Tablet & Mobile Breakpoints */
@media (max-width: 992px) {
	.fitrt-masthead-container {
		max-width: 260px;
		top: 1.5rem;
		left: 1.5rem;
	}

	.fitrt-lead-hero {
		min-height: 58vh;
		height: 58vh;
	}

	.fitrt-lead-title-area {
		position: absolute;
		top: clamp(6.5rem, 14vh, 9.5rem);
		left: 34%;
		right: 5%;
		width: auto;
		max-width: none;
		margin: 0;
		padding: 0;
		align-items: flex-start;
	}

	.fitrt-lead-title {
		font-size: clamp(2.6rem, 5vw, 3.8rem);
		line-height: 1.02;
		width: 100%;
		text-align: left;
	}

	.fitrt-lead-date {
		margin-top: 0.35rem;
		text-align: left;
	}

	.fitrt-lead-bottom-area {
		position: absolute;
		bottom: clamp(5.5rem, 10vh, 7.5rem);
		left: 6%;
		right: 6%;
		width: auto;
		max-width: none;
		margin: 0;
		padding: 0;
	}

	.fitrt-lead-row {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 1.5rem;
		align-items: end;
	}

	.fitrt-editorial-badge {
		font-size: 1.4rem;
		padding: 0.4rem 0.9rem;
	}
}

@media (max-width: 767px) {
	/* Override FSE/Block theme alignwide & alignfull 100vw calculations on mobile */
	.alignwide,
	.alignfull,
	.wp-block-group.alignfull,
	.wp-block-group.alignwide {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box !important;
	}

	/* 1. Header & Navigation Overlay Alignment */
	.fitrt-minimal-header .fitrt-navigation-wrapper {
		top: 1.45rem !important; /* Lowered by ~10px to visually align vertical center with logo */
		right: 1.15rem !important;
		z-index: 50 !important;
	}

	body.admin-bar .fitrt-minimal-header .fitrt-navigation-wrapper {
		top: calc(46px + 1.45rem) !important;
	}

	.fitrt-main-navigation-overlay.is-open {
		padding: 6.5rem 1rem 2rem !important;
		justify-content: flex-start !important;
		align-items: center !important;
	}

	body.admin-bar .fitrt-main-navigation-overlay.is-open {
		top: 46px !important;
		height: calc(100vh - 46px) !important;
		height: calc(100dvh - 46px) !important;
	}

	.fitrt-main-navigation-overlay.is-open
	.fitrt-main-navigation-inner {
		width: min(calc(100% - 2rem), 460px) !important;
		max-width: 460px !important;
		padding: 0 1.75rem 2.5rem !important;
	}

	.fitrt-main-navigation-overlay.is-open
	.menu-item a {
		font-size: clamp(1.55rem, 7vw, 2.1rem) !important;
		white-space: nowrap !important;
	}

	.fitrt-main-navigation-overlay.is-open
	ul.fitrt-primary-menu {
		gap: 0.15rem !important;
	}

	.fitrt-menu-close {
		top: max(1rem, env(safe-area-inset-top)) !important;
		right: max(1rem, env(safe-area-inset-right)) !important;
		width: 46px !important;
		height: 46px !important;
		min-width: 46px !important;
		min-height: 46px !important;
	}

	body.admin-bar .fitrt-menu-close {
		top: max(1rem, env(safe-area-inset-top)) !important;
	}

	/* 2. Compact Mobile Masthead Logo */
	.fitrt-masthead-container {
		top: 1.15rem !important;
		left: 1.15rem !important;
		width: clamp(88px, 28vw, 118px) !important;
		max-width: clamp(88px, 28vw, 118px) !important;
		z-index: 15 !important;
	}

	body.admin-bar .fitrt-masthead-container {
		top: calc(46px + 1.15rem) !important;
	}

	.fitrt-masthead-logo {
		width: 100% !important;
		height: auto !important;
	}

	/* 3. Hero Container & Height */
	.fitrt-lead-hero {
		height: 75svh !important;
		min-height: 560px !important;
		max-height: 720px !important;
		position: relative !important;
		overflow: hidden !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: space-between !important;
	}

	/* 4. Hide Lead Excerpt on Mobile Only */
	.fitrt-lead-excerpt-col,
	.fitrt-lead-excerpt {
		display: none !important;
		margin: 0 !important;
		padding: 0 !important;
		height: 0 !important;
		overflow: hidden !important;
	}

	/* 5. Lead Title & Date Group (Anchored above CTA) */
	.fitrt-lead-title-area {
		position: absolute !important;
		top: auto !important;
		bottom: calc(1.15rem + 54px + 1rem) !important;
		left: 1.15rem !important;
		right: 1.15rem !important;
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		z-index: 10 !important;
	}

	.fitrt-lead-title {
		font-family: var(--wp--preset--font-family--heading) !important;
		font-size: clamp(2rem, 8.5vw, 3rem) !important;
		line-height: 1.02 !important;
		width: 100% !important;
		text-align: left !important;
		color: var(--wp--preset--color--cream) !important;
		text-shadow: 0 2px 8px rgba(0, 0, 0, 0.85) !important;
		margin: 0 !important;
	}

	.fitrt-lead-date {
		font-family: var(--wp--preset--font-family--body) !important;
		font-size: 0.9rem !important;
		font-style: italic !important;
		color: rgba(247, 240, 229, 0.92) !important;
		text-align: left !important;
		width: 100% !important;
		margin-top: 0.35rem !important;
	}

	/* 6. Lead CTA Button (Full-width mustard button at hero bottom) */
	.fitrt-lead-bottom-area {
		position: absolute !important;
		bottom: 1.15rem !important;
		left: 1.15rem !important;
		right: 1.15rem !important;
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		z-index: 10 !important;
		background: transparent !important;
	}

	.fitrt-lead-row {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.fitrt-lead-action-col {
		width: 100% !important;
		display: block !important;
	}

	.fitrt-lead-cta-btn {
		width: 100% !important;
		min-height: 52px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
		font-size: 1.1rem !important;
		padding: 0.85rem 1.5rem !important;
		box-sizing: border-box !important;
	}

	/* 7. Secondary Story Strip Cards (Stacked 1-column) */
	.fitrt-cover-strip-wrap {
		margin-top: 0 !important;
		padding: 1.5rem 1.25rem 2rem 1.25rem !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	.fitrt-cover-strip-grid.fitrt-cols-3,
	.fitrt-cover-strip-grid.fitrt-cols-2,
	.fitrt-cover-strip-grid.fitrt-cols-1 {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 1.5rem !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	.fitrt-strip-card {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.fitrt-strip-image-panel {
		aspect-ratio: 1 / 1 !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	.fitrt-editorial-badge {
		top: 0.75rem !important;
		left: 0.75rem !important;
		font-size: clamp(1.1rem, 4.5vw, 1.4rem) !important;
		padding: 0.35rem 0.85rem !important;
		max-width: 80% !important;
		white-space: normal !important;
		word-break: break-word !important;
		border-radius: 3px 3px 4px 4px !important;
	}

	.fitrt-strip-bottom-overlay {
		padding: 2.5rem 1.15rem 1.15rem 1.15rem !important;
		box-sizing: border-box !important;
	}

	.fitrt-strip-title {
		font-size: clamp(1.45rem, 6.5vw, 1.9rem) !important;
		line-height: 1.15 !important;
		margin-bottom: 0.25rem !important;
		display: -webkit-box !important;
		-webkit-line-clamp: 3 !important;
		-webkit-box-orient: vertical !important;
		overflow: hidden !important;
	}

	/* 8. Shared Mobile Editorial Gutters & Section Overflow Prevention */
	.fitrt-homepage-about-section {
		margin-top: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 2.5rem 1.25rem 3rem 1.25rem !important;
		box-sizing: border-box !important;
	}

	.fitrt-category-section {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding: 2.5rem 1.25rem 3.5rem 1.25rem !important;
		box-sizing: border-box !important;
	}

	.fitrt-category-grid {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 1.5rem !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.fitrt-cat-card {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
		margin: 0 !important;
	}

	.fitrt-cat-image-wrap {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.fitrt-cat-image {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		object-fit: cover !important;
	}

	.fitrt-newsletter-section {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding: 4rem 1.25rem !important;
		box-sizing: border-box !important;
	}

	.fitrt-newsletter-inner {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		padding-inline: 0 !important;
		margin-inline: 0 !important;
		box-sizing: border-box !important;
	}

	.fitrt-newsletter-form-wrap,
	.fitrt-newsletter-section .mailpoet_form {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
		margin-inline: 0 !important;
	}

	.fitrt-newsletter-section .mailpoet_form .mailpoet_paragraph,
	.fitrt-newsletter-section .mailpoet_form p,
	.fitrt-newsletter-section .mailpoet_form input[type="text"],
	.fitrt-newsletter-section .mailpoet_form input[type="email"],
	.fitrt-newsletter-section .mailpoet_form .mailpoet_text,
	.fitrt-newsletter-section .mailpoet_form input[type="submit"],
	.fitrt-newsletter-section .mailpoet_form .mailpoet_submit {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	.fitrt-fund-section {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding: 4rem 1.25rem !important;
		box-sizing: border-box !important;
	}

	.fitrt-fund-inner,
	.fitrt-fund-section > .wp-block-group {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		padding-inline: 0 !important;
		margin-inline: 0 !important;
		box-sizing: border-box !important;
	}

	.fitrt-fund-section .wp-block-buttons,
	.fitrt-fund-section .wp-block-button,
	.fitrt-fund-section .wp-block-button__link {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
		display: block !important;
		text-align: center !important;
	}

	.fitrt-footer {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding: 3rem 1.25rem !important;
		box-sizing: border-box !important;
	}

	.fitrt-footer-inner {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-inline: 0 !important;
		padding-inline: 0 !important;
		box-sizing: border-box !important;
	}

	.fitrt-footer-quote {
		width: 100% !important;
		max-width: 100% !important;
		white-space: normal !important;
		word-wrap: break-word !important;
		box-sizing: border-box !important;
	}

	.fitrt-footer-meta {
		flex-direction: column !important;
		gap: 0.75rem !important;
		width: 100% !important;
		text-align: center !important;
		box-sizing: border-box !important;
	}
}

/* Fullscreen navigation close control */
.fitrt-menu-close {
	position: absolute !important;
	top: 1.75rem !important;
	right: 1.75rem !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 46px !important;
	min-height: 46px !important;
	padding: 0.5rem 0.75rem !important;
	color: #241812 !important;
	background: #f7f0e5 !important;
	border: 1.5px solid rgba(36, 24, 18, 0.25) !important;
	border-radius: 6px !important;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35) !important;
	transition: background 0.15s ease, border-color 0.15s ease !important;
}

.fitrt-menu-close svg {
	fill: #241812 !important;
	stroke: #241812 !important;
}

.fitrt-menu-close:hover,
.fitrt-menu-close:focus {
	background: #ffffff !important;
	color: #241812 !important;
	border-color: var(--wp--preset--color--mustard-gold) !important;
}

@media (max-width: 768px) {
	.fitrt-menu-close {
		top: max(1rem, env(safe-area-inset-top)) !important;
		right: max(1rem, env(safe-area-inset-right)) !important;
	}
}
/* Footer logo scale */
.fitrt-footer-logo {
	width: 80px !important;
	height: auto !important;
	max-height: none !important;
}

@media (max-width: 768px) {
	.fitrt-footer-logo {
		width: 64px !important;
	}
}
/* Floating interior-page navigation controls */
body:not(.home) .fitrt-minimal-header {
	position: static !important;
	height: 0;
	z-index: 1000;
}

body.home .fitrt-interior-brand,
body:not(.home):has(.fitrt-main-navigation-overlay.is-open) .fitrt-interior-brand {
	visibility: hidden !important;
	pointer-events: none !important;
}

body:not(.home) .fitrt-interior-brand {
	position: fixed;
	top: 1.5rem;
	left: 1.5rem;
	z-index: 1001;
	display: block;
	width: 140px;
	pointer-events: auto;
}

body:not(.home) .fitrt-interior-logo {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
}

body:not(.home) .fitrt-minimal-header .fitrt-menu-toggle {
	position: fixed !important;
	top: 1.5rem !important;
	right: 1.5rem !important;
	z-index: 1001 !important;
}

body.admin-bar:not(.home) .fitrt-minimal-header .fitrt-menu-toggle {
	top: calc(32px + 1.5rem) !important;
}

@media (max-width: 768px) {
	body:not(.home) .fitrt-interior-brand {
		top: 1rem;
		left: 1rem;
		width: 112px;
	}

	body:not(.home) .fitrt-minimal-header .fitrt-menu-toggle {
		top: 1rem !important;
		right: 1rem !important;
	}

	body.admin-bar:not(.home) .fitrt-minimal-header .fitrt-menu-toggle {
		top: calc(46px + 1rem) !important;
	}
}
/* Ordinary-post image hierarchy */
.fitrt-single-article .entry-content .alignwide {
	width: min(calc(100% + 330px), 1120px);
	max-width: 1120px;
	margin-left: 50%;
	transform: translateX(-50%);
}

.fitrt-single-article .entry-content .alignfull {
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	transform: none;
}

.fitrt-single-article .entry-content .alignwide img,
.fitrt-single-article .entry-content .alignfull img {
	width: 100%;
	max-width: 100%;
	height: auto;
}

.fitrt-single-article .entry-content .wp-caption,
.fitrt-single-article .entry-content figure {
	width: fit-content;
	max-width: 100%;
}

.fitrt-single-post-end {
	margin-top: 4rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--wp--preset--color--warm-taupe);
}

@media (max-width: 900px) {
	.fitrt-single-article .entry-content .alignwide {
		width: 100%;
		margin-left: 0;
		transform: none;
	}
}

@media (max-width: 768px) {
	.fitrt-single-post-end { margin-top: 2.5rem; }
}
/* Explore by Category image-led cards */
.fitrt-cat-card {
	background: transparent;
	border: 0;
	padding: 0;
	box-shadow: none;
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.fitrt-cat-image-wrap {
	position: relative;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	margin: 0;
	overflow: hidden;
	border-radius: 6px;
	background: var(--wp--preset--color--warm-taupe);
}

.fitrt-cat-article-link {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.fitrt-cat-image,
.fitrt-cat-image-fallback {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fitrt-cat-image-fallback {
	background-color: var(--wp--preset--color--warm-taupe);
	background-image: radial-gradient(circle, var(--wp--preset--color--parchment) 10%, transparent 11%);
	background-size: 12px 12px;
}

.fitrt-cat-image-overlay {
	position: absolute;
	inset: auto 0 0;
	z-index: 2;
	padding: 4rem 1rem 1rem;
	background: linear-gradient(to top, rgba(16, 8, 4, 0.94), rgba(16, 8, 4, 0));
}

.fitrt-cat-post-title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(1.35rem, 2vw, 1.85rem);
	line-height: 1.12;
	color: var(--wp--preset--color--cream);
	text-align: left;
	text-shadow: 0 2px 6px rgba(0, 0, 0, 0.85);
}

.fitrt-cat-badge {
	position: absolute;
	top: 0.8rem;
	left: 0.8rem;
	z-index: 3;
	display: inline-block;
	max-width: calc(100% - 1.6rem);
	padding: 0.35rem 0.7rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1rem;
	line-height: 1.05;
	color: #241812;
	background: var(--wp--preset--color--mustard-gold);
	border: 1px solid rgba(36, 24, 18, 0.2);
	border-radius: 3px;
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.35);
	white-space: normal;
}

.fitrt-cat-article-link:focus-visible {
	outline: 3px solid var(--wp--preset--color--mustard-gold);
	outline-offset: 3px;
}

.fitrt-more-cat-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 42px;
	box-sizing: border-box;
	margin-top: 0.75rem;
	padding: 0.6rem 0.85rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	color: #241812;
	background: var(--wp--preset--color--mustard-gold);
	border: 1px solid var(--wp--preset--color--mustard-gold);
	border-radius: 4px;
	text-decoration: none;
}

.fitrt-more-cat-link:hover {
	color: #241812;
	background: var(--wp--preset--color--cream);
}

.fitrt-more-cat-link:focus-visible {
	outline: 3px solid var(--wp--preset--color--forest-green);
	outline-offset: 2px;
}

@media (max-width: 768px) {
	.fitrt-cat-post-title { font-size: 1.45rem; }
	.fitrt-cat-badge { font-size: 0.95rem; }
}
/* From the Road photography post template */
.fitrt-road-post {
	padding: 5rem 1rem 4rem;
}

.fitrt-road-masthead {
	width: min(100%, 1040px);
	margin: 0 auto 2rem;
}

.fitrt-road-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(2.2rem, 5vw, 4.5rem);
	line-height: 1.05;
	text-align: center;
}

.fitrt-road-meta {
	margin-top: 0.8rem;
	gap: 0.55rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.95rem;
	line-height: 1.35;
	color: var(--wp--preset--color--warm-taupe);
}

.fitrt-road-category {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.95rem;
	letter-spacing: 0.05em;
	color: var(--wp--preset--color--mustard-gold);
}

.fitrt-road-lead-image {
	width: min(100%, 1540px);
	margin: 0 auto 3.5rem;
}

.fitrt-road-lead-image img {
	display: block;
	width: 100%;
	height: auto;
	max-height: none;
	object-fit: contain;
	border-radius: 6px;
}

.fitrt-road-lead-image figcaption,
.fitrt-road-body figcaption,
.fitrt-road-body .wp-caption-text {
	max-width: 100%;
	margin: 0.65rem auto 0;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.9rem;
	line-height: 1.45;
	font-style: italic;
	color: var(--wp--preset--color--warm-taupe);
	text-align: center;
}

.fitrt-road-body {
	width: min(100%, 1280px);
	margin: 0 auto;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.1rem;
	line-height: 1.7;
}

.fitrt-road-body > p,
.fitrt-road-body > h2,
.fitrt-road-body > h3,
.fitrt-road-body > h4,
.fitrt-road-body > ul,
.fitrt-road-body > ol,
.fitrt-road-body > blockquote {
	width: min(100%, 760px);
	margin-right: auto;
	margin-left: auto;
}

.fitrt-road-body > * + * {
	margin-top: 2.5rem;
}

.fitrt-road-body h2,
.fitrt-road-body h3,
.fitrt-road-body h4 {
	font-family: var(--wp--preset--font-family--heading);
	line-height: 1.15;
}

.fitrt-road-body figure,
.fitrt-road-body .wp-caption,
.fitrt-road-body .wp-block-image {
	width: auto;
	max-width: 100%;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
	float: none;
	clear: both;
}

.fitrt-road-body .alignleft,
.fitrt-road-body .alignright {
	float: none;
	margin-right: auto;
	margin-left: auto;
}

.fitrt-road-body img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	margin-right: auto;
	margin-left: auto;
}

.fitrt-road-body .alignwide img,
.fitrt-road-body .alignwide,
.fitrt-road-body .alignfull img,
.fitrt-road-body .alignfull {
	width: 100%;
	max-width: 1540px;
}

.fitrt-road-post-end {
	width: min(100%, 760px);
	margin: 3rem auto 2rem;
}

.fitrt-road-tags {
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.95rem;
	color: var(--wp--preset--color--warm-taupe);
}

.fitrt-road-share {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.55rem;
	width: min(100%, 760px);
	margin: 2.5rem auto 1rem;
}

.fitrt-road-share a,
.fitrt-road-share-copy {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0.45rem 0.75rem;
	border: 1px solid var(--wp--preset--color--warm-taupe);
	border-radius: 4px;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.85rem;
	text-decoration: none;
	color: var(--wp--preset--color--espresso);
}

.fitrt-road-share a:hover {
	background: var(--wp--preset--color--mustard-gold);
}

.fitrt-road-share a:focus-visible {
	outline: 3px solid var(--wp--preset--color--mustard-gold);
	outline-offset: 2px;
}

.fitrt-road-share-copy {
	opacity: 0.55;
}

.fitrt-road-related {
	width: min(100%, 1280px);
	margin: 3rem auto 0;
}

.fitrt-road-related-title {
	margin: 0 0 1.25rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	text-align: center;
}

.fitrt-road-related-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}

.fitrt-road-related-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	color: inherit;
	text-decoration: none;
}

.fitrt-road-related-image,
.fitrt-road-related-fallback {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 5px;
}

.fitrt-road-related-fallback {
	background: var(--wp--preset--color--warm-taupe);
}

.fitrt-road-related-card-title {
	margin-top: 0.65rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.25rem;
	line-height: 1.15;
}

.fitrt-road-related-card time {
	margin-top: 0.3rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.85rem;
	color: var(--wp--preset--color--warm-taupe);
}

.fitrt-road-related-card:focus-visible {
	outline: 3px solid var(--wp--preset--color--mustard-gold);
	outline-offset: 4px;
}

@media (max-width: 900px) {
	.fitrt-road-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
	.fitrt-road-post { padding: 4rem 1rem 3rem; }
	.fitrt-road-masthead { margin-bottom: 1.5rem; }
	.fitrt-road-title { font-size: clamp(2rem, 10vw, 3rem); }
	.fitrt-road-meta { font-size: 0.9rem; }
	.fitrt-road-lead-image { margin-bottom: 2.5rem; }
	.fitrt-road-body { font-size: 1.05rem; }
	.fitrt-road-related-grid { grid-template-columns: 1fr; }
}
/* From the Road dark photography canvas */
body:has(.fitrt-road-post) {
	background: #1b1714;
	color: #f4ead8;
}

body:has(.fitrt-road-post) .fitrt-minimal-header {
	background: transparent;
}

body:has(.fitrt-road-post) .fitrt-interior-logo {
	filter: brightness(0) invert(1);
}

body:has(.fitrt-road-post) .fitrt-road-post {
	background: #1b1714;
	color: #f4ead8;
}

body:has(.fitrt-road-post) .fitrt-road-title,
body:has(.fitrt-road-post) .fitrt-road-body h2,
body:has(.fitrt-road-post) .fitrt-road-body h3,
body:has(.fitrt-road-post) .fitrt-road-body h4,
body:has(.fitrt-road-post) .fitrt-road-related-title {
	color: #f4ead8;
}

body:has(.fitrt-road-post) .fitrt-road-body a,
body:has(.fitrt-road-post) .fitrt-road-tags a {
	color: var(--wp--preset--color--mustard-gold);
}

body:has(.fitrt-road-post) .fitrt-road-body blockquote,
body:has(.fitrt-road-post) .fitrt-road-body table,
body:has(.fitrt-road-post) .fitrt-road-body hr {
	color: #f4ead8;
	border-color: rgba(199, 169, 104, 0.45);
}

body:has(.fitrt-road-post) .fitrt-road-lead-image img,
body:has(.fitrt-road-post) .fitrt-road-body figure img,
body:has(.fitrt-road-post) .fitrt-road-body .wp-caption img,
body:has(.fitrt-road-post) .fitrt-road-related-image,
body:has(.fitrt-road-post) .fitrt-road-related-fallback {
	border: 1px solid rgba(216, 197, 164, 0.28);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
}

body:has(.fitrt-road-post) .fitrt-road-lead-image {
	margin-bottom: 3rem;
}

body:has(.fitrt-road-post) .fitrt-road-body > * + * {
	margin-top: 3.5rem;
}

body:has(.fitrt-road-post) .fitrt-road-lead-image figcaption,
body:has(.fitrt-road-post) .fitrt-road-body figcaption,
body:has(.fitrt-road-post) .fitrt-road-body .wp-caption-text,
body:has(.fitrt-road-post) .fitrt-road-meta,
body:has(.fitrt-road-post) .fitrt-road-related-card time {
	color: #b8aa96;
}

body:has(.fitrt-road-post) .fitrt-road-share a,
body:has(.fitrt-road-post) .fitrt-road-share-copy {
	color: #f4ead8;
	border-color: rgba(216, 197, 164, 0.45);
}

body:has(.fitrt-road-post) .fitrt-road-share a:hover,
body:has(.fitrt-road-post) .fitrt-road-share a:focus-visible {
	color: #241812;
	background: var(--wp--preset--color--mustard-gold);
}

body:has(.fitrt-road-post) .fitrt-road-related {
	padding-top: 2.5rem;
	border-top: 1px solid rgba(199, 169, 104, 0.45);
}

body:has(.fitrt-road-post) .fitrt-road-related-card {
	padding: 0.65rem;
	border: 1px solid rgba(216, 197, 164, 0.2);
	background: rgba(0, 0, 0, 0.12);
}

body:has(.fitrt-road-post) footer {
	border-top: 1px solid rgba(199, 169, 104, 0.45);
}
body:has(.fitrt-road-post) .fitrt-road-masthead {
	padding-top: 4rem !important;
}
body:has(.fitrt-road-post) .fitrt-road-post > .fitrt-road-masthead {
	margin-top: 0rem !important;
}

@media (max-width: 600px) {
	body:has(.fitrt-road-post) .fitrt-road-post > .fitrt-road-masthead {
		margin-top: 0rem !important;
	}
}
/* Shared post footer and editorial share controls */
.fitrt-post-footer {
	width: min(100%, 760px);
	margin: 3rem auto 2rem;
	padding-top: 1.75rem;
	border-top: 1px solid rgba(111, 91, 72, 0.35);
}

.fitrt-post-footer-title {
	margin: 0 0 0.9rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.5rem;
	line-height: 1.1;
	color: var(--wp--preset--color--espresso);
}

.fitrt-post-share-controls {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}

.fitrt-share-control {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	min-height: 42px;
	padding: 0.45rem 0.7rem;
	border: 1px solid rgba(111, 91, 72, 0.45);
	border-radius: 999px;
	background: transparent;
	font: inherit;
	font-size: 0.82rem;
	line-height: 1;
	color: var(--wp--preset--color--espresso);
	text-decoration: none;
	cursor: pointer;
}

.fitrt-share-control:hover,
.fitrt-share-control:focus-visible {
	border-color: var(--wp--preset--color--mustard-gold);
	background: var(--wp--preset--color--mustard-gold);
	color: #241812;
}

.fitrt-share-control:focus-visible {
	outline: 3px solid var(--wp--preset--color--mustard-gold);
	outline-offset: 2px;
}

.fitrt-copy-status {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.fitrt-post-tags {
	margin-top: 1.25rem;
	font-size: 0.95rem;
	line-height: 1.6;
	color: var(--wp--preset--color--warm-taupe);
}

.fitrt-post-tags a {
	color: var(--wp--preset--color--espresso);
	text-decoration: underline;
	text-underline-offset: 2px;
}

body:has(.fitrt-road-post) .fitrt-post-footer {
	border-color: rgba(216, 197, 164, 0.35);
}

body:has(.fitrt-road-post) .fitrt-post-footer-title,
body:has(.fitrt-road-post) .fitrt-post-tags {
	color: #f4ead8;
}

body:has(.fitrt-road-post) .fitrt-share-control {
	border-color: rgba(216, 197, 164, 0.4);
	color: #f4ead8;
}

body:has(.fitrt-road-post) .fitrt-post-tags a {
	color: var(--wp--preset--color--mustard-gold);
}

@media (max-width: 600px) {
	.fitrt-post-footer { margin-top: 2.5rem; }
	.fitrt-post-share-controls { gap: 0.45rem; }
}
/* Icon-led share pills */
.fitrt-share-control {
	gap: 0.45rem;
	border: 0;
	background: #eee4d2;
	box-shadow: 0 2px 8px rgba(36, 24, 18, 0.12);
	transition: background-color 180ms ease, color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.fitrt-share-control svg {
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
}

.fitrt-share-control:hover,
.fitrt-share-control:focus-visible {
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(36, 24, 18, 0.18);
}

.fitrt-share-facebook:hover,
.fitrt-share-facebook:focus-visible { background: #1877f2; color: #fff; }
.fitrt-share-bluesky:hover,
.fitrt-share-bluesky:focus-visible { background: #1185fe; color: #fff; }
.fitrt-share-reddit:hover,
.fitrt-share-reddit:focus-visible { background: #ff4500; color: #fff; }
.fitrt-share-linkedin:hover,
.fitrt-share-linkedin:focus-visible { background: #0a66c2; color: #fff; }
.fitrt-share-email:hover,
.fitrt-share-email:focus-visible { background: var(--wp--preset--color--mustard-gold); color: #241812; }
.fitrt-share-copy:hover,
.fitrt-share-copy:focus-visible,
.fitrt-share-copy.is-copied { background: var(--wp--preset--color--forest-green); color: #fff; }

body:has(.fitrt-road-post) .fitrt-share-control {
	background: #2a2420;
	color: #f4ead8;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

body:has(.fitrt-road-post) .fitrt-share-facebook:hover,
body:has(.fitrt-road-post) .fitrt-share-facebook:focus-visible { background: #1877f2; color: #fff; }
body:has(.fitrt-road-post) .fitrt-share-bluesky:hover,
body:has(.fitrt-road-post) .fitrt-share-bluesky:focus-visible { background: #1185fe; color: #fff; }
body:has(.fitrt-road-post) .fitrt-share-reddit:hover,
body:has(.fitrt-road-post) .fitrt-share-reddit:focus-visible { background: #ff4500; color: #fff; }
body:has(.fitrt-road-post) .fitrt-share-linkedin:hover,
body:has(.fitrt-road-post) .fitrt-share-linkedin:focus-visible { background: #0a66c2; color: #fff; }
body:has(.fitrt-road-post) .fitrt-share-email:hover,
body:has(.fitrt-road-post) .fitrt-share-email:focus-visible { background: var(--wp--preset--color--mustard-gold); color: #241812; }
body:has(.fitrt-road-post) .fitrt-share-copy:hover,
body:has(.fitrt-road-post) .fitrt-share-copy:focus-visible,
body:has(.fitrt-road-post) .fitrt-share-copy.is-copied { background: var(--wp--preset--color--forest-green); color: #fff; }
/* Compact, normalized share-control sizing */
.fitrt-share-control {
	box-sizing: border-box;
	height: 40px;
	min-height: 40px;
	padding: 0.45rem 0.85rem;
	border-radius: 12px;
	line-height: 1;
	font: inherit;
	-webkit-appearance: none;
	appearance: none;
}

.fitrt-share-control svg {
	width: 18px;
	height: 18px;
}
/* Shared floating Back to Top control */
.fitrt-back-to-top {
	position: fixed;
	right: calc(1.5rem + env(safe-area-inset-right));
	bottom: calc(1.5rem + env(safe-area-inset-bottom));
	z-index: 900;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 1px solid rgba(111, 91, 72, 0.45);
	border-radius: 12px;
	background: var(--wp--preset--color--cream);
	color: var(--wp--preset--color--espresso);
	box-shadow: 0 4px 14px rgba(36, 24, 18, 0.22);
	opacity: 0;
	transform: translateY(10px);
	pointer-events: none;
	visibility: hidden;
	transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
}

.fitrt-back-to-top svg {
	width: 20px;
	height: 20px;
}

.fitrt-back-to-top.is-eligible.is-visible {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
	visibility: visible;
}

.fitrt-back-to-top:hover,
.fitrt-back-to-top:focus-visible {
	background: var(--wp--preset--color--mustard-gold);
	color: #241812;
}

.fitrt-back-to-top:focus-visible {
	outline: 3px solid var(--wp--preset--color--mustard-gold);
	outline-offset: 3px;
}

.has-modal-open .fitrt-back-to-top {
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}

@media (max-width: 600px) {
	.fitrt-back-to-top {
		right: calc(1rem + env(safe-area-inset-right));
		bottom: calc(1rem + env(safe-area-inset-bottom));
		width: 44px;
		height: 44px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fitrt-back-to-top { transition: none; }
}
/* Keep ordinary featured images within the editorial column */
.fitrt-single-featured-image {
	width: min(calc(100% - 3rem), 1120px) !important;
	max-width: 1120px !important;
	margin-right: auto !important;
	margin-left: auto !important;
}
body.page .wp-block-post-featured-image {
	width: min(calc(100% - 3rem), 1120px) !important;
	max-width: 1120px !important;
	margin-right: auto !important;
	margin-left: auto !important;
}
/* Optical alignment for the interior closed-state hamburger */
body:not(.home) .fitrt-minimal-header .fitrt-menu-toggle {
	transform: translateY(12px);
}

@media (max-width: 768px) {
	body:not(.home) .fitrt-minimal-header .fitrt-menu-toggle {
		transform: translateY(6px);
	}
}
.fitrt-single-meta-category {
	font-weight: 700;
	color: var(--wp--preset--color--forest-green);
}
/* Native Stories blog archive */
.fitrt-stories-archive { width: min(calc(100% - 2rem), 1200px); margin: 0 auto; padding: 7rem 0 4rem; }
.fitrt-stories-masthead { max-width: 1040px; margin: 0 auto 2rem; text-align: center; }
.fitrt-stories-masthead h1 { margin: 0; font-family: var(--wp--preset--font-family--heading); font-size: clamp(3.5rem, 6vw, 6rem); line-height: 1; color: var(--wp--preset--color--espresso); }
.fitrt-stories-masthead p { margin: 1rem auto 0; font-family: var(--wp--preset--font-family--body); font-size: 1.15rem; color: var(--wp--preset--color--deep-brown); }
.fitrt-stories-search { width: min(100%, 740px); margin: 0 auto 3rem; }
.fitrt-stories-search .wp-block-search__inside-wrapper { border: 1px solid var(--wp--preset--color--warm-taupe); border-radius: 6px; background: var(--wp--preset--color--cream); }
.fitrt-stories-search .wp-block-search__input { min-height: 44px; border: 0; background: transparent; color: var(--wp--preset--color--espresso); }
.fitrt-stories-search .wp-block-search__button { min-height: 44px; margin: 0; border: 0; background: var(--wp--preset--color--mustard-gold); color: #241812; }
.fitrt-stories-lead { display: grid; grid-template-columns: 1.55fr 1fr; gap: 2.5rem; align-items: center; margin-bottom: 3.5rem; }
.fitrt-stories-lead-image-link, .fitrt-stories-card-link { position: relative; display: block; overflow: hidden; border-radius: 6px; text-decoration: none; }
.fitrt-stories-lead-image, .fitrt-stories-image-fallback { display: block; width: 100%; height: auto; object-fit: cover; }
.fitrt-stories-image-fallback { aspect-ratio: 4 / 3; background: var(--wp--preset--color--warm-taupe); }
.fitrt-stories-lead-copy h2 { margin: .6rem 0; font-family: var(--wp--preset--font-family--heading); font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.05; }
.fitrt-stories-lead-copy h2 a { color: var(--wp--preset--color--espresso); text-decoration: none; }
.fitrt-stories-lead-copy time, .fitrt-stories-card-overlay time { display: block; font-size: .9rem; color: var(--wp--preset--color--warm-taupe); }
.fitrt-stories-lead-copy p { font-size: 1.05rem; line-height: 1.65; }
.fitrt-stories-category { display: inline-block; padding: .3rem .6rem; border-radius: 3px; background: var(--wp--preset--color--mustard-gold); color: #241812; font-family: var(--wp--preset--font-family--heading); font-size: .9rem; }
.fitrt-stories-read-more { display: inline-block; margin-top: .8rem; padding: .65rem .9rem; border-radius: 5px; background: var(--wp--preset--color--mustard-gold); color: #241812; font-weight: 700; text-decoration: none; }
.fitrt-stories-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.fitrt-stories-card-link { aspect-ratio: 4 / 3; background: var(--wp--preset--color--warm-taupe); }
.fitrt-stories-card-image { display: block; width: 100%; height: 100%; object-fit: cover; }
.fitrt-stories-card-link > .fitrt-stories-category { position: absolute; top: .75rem; left: .75rem; z-index: 2; }
.fitrt-stories-card-overlay { position: absolute; inset: auto 0 0; padding: 3.5rem 1rem .9rem; background: linear-gradient(to top, rgba(16,8,4,.9), transparent); color: var(--wp--preset--color--cream); }
.fitrt-stories-card-title { display: block; font-family: var(--wp--preset--font-family--heading); font-size: 1.6rem; line-height: 1.1; }
.fitrt-stories-pagination { margin: 3rem 0; text-align: center; }
.fitrt-stories-pagination ul { display: flex; justify-content: center; flex-wrap: wrap; gap: .45rem; padding: 0; list-style: none; }
.fitrt-stories-pagination a, .fitrt-stories-pagination span { display: inline-flex; min-width: 42px; min-height: 42px; align-items: center; justify-content: center; padding: .4rem .7rem; border-radius: 5px; background: var(--wp--preset--color--cream); color: var(--wp--preset--color--espresso); text-decoration: none; }
.fitrt-stories-topics { margin-top: 3.5rem; padding-top: 2rem; border-top: 1px solid var(--wp--preset--color--warm-taupe); }
.fitrt-stories-topics h2 { font-family: var(--wp--preset--font-family--heading); text-align: center; }
.fitrt-stories-topics > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.fitrt-stories-topics a { padding: .75rem; border: 1px solid var(--wp--preset--color--warm-taupe); border-radius: 5px; color: var(--wp--preset--color--forest-green); font-family: var(--wp--preset--font-family--heading); text-align: center; text-decoration: none; }
.fitrt-stories-empty { padding: 4rem 0; text-align: center; font-family: var(--wp--preset--font-family--heading); font-size: 1.8rem; }
@media (max-width: 900px) { .fitrt-stories-lead { grid-template-columns: 1fr 1fr; gap: 1.5rem; } .fitrt-stories-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .fitrt-stories-topics > div { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { .fitrt-stories-archive { padding-top: 5rem; } .fitrt-stories-lead { grid-template-columns: 1fr; } .fitrt-stories-grid { grid-template-columns: 1fr; } .fitrt-stories-topics > div { grid-template-columns: repeat(2, minmax(0, 1fr)); } .fitrt-stories-masthead h1 { font-size: clamp(2.6rem, 12vw, 4rem); } }
.fitrt-category-description {
	width: min(100%, 800px);
	margin: 1rem auto 0;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.1rem;
	line-height: 1.7;
	color: var(--wp--preset--color--deep-brown);
}

.fitrt-category-stories-archive .fitrt-category-description p { margin: 0 0 .8rem; }
.fitrt-category-stories-archive .fitrt-category-stories-grid-heading { margin: 0 0 1.25rem; font-family: var(--wp--preset--font-family--heading); font-size: 2rem; color: var(--wp--preset--color--espresso); }
.fitrt-child-category-section { margin: 0 0 3.5rem; }
.fitrt-child-category-section h2 { margin: 0 0 1.25rem; font-family: var(--wp--preset--font-family--heading); font-size: 2rem; color: var(--wp--preset--color--espresso); }
.fitrt-child-category-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.fitrt-child-category-card { min-width: 0; }
.fitrt-child-category-image-wrap { aspect-ratio: 4 / 3; overflow: hidden; border-radius: 6px; background: var(--wp--preset--color--warm-taupe); }
.fitrt-child-category-image-link { position: relative; display: block; width: 100%; height: 100%; text-decoration: none; }
.fitrt-child-category-image { display: block; width: 100%; height: 100%; object-fit: cover; }
.fitrt-child-category-title { position: absolute; inset: auto 0 0; padding: 2.75rem 1rem .85rem; background: linear-gradient(to top, rgba(16,8,4,.9), transparent); color: var(--wp--preset--color--cream); font-family: var(--wp--preset--font-family--heading); font-size: 1.6rem; line-height: 1.1; }
.fitrt-child-category-button { display: block; margin-top: .7rem; padding: .65rem .8rem; border-radius: 5px; background: var(--wp--preset--color--mustard-gold); color: #241812; font-weight: 700; text-align: center; text-decoration: none; }
.fitrt-child-category-button:hover, .fitrt-child-category-button:focus-visible { background: var(--wp--preset--color--forest-green); color: var(--wp--preset--color--cream); }
@media (max-width: 900px) { .fitrt-child-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .fitrt-child-category-grid { grid-template-columns: 1fr; } }
.fitrt-tag-eyebrow { display: block; margin-bottom: .35rem; font-family: var(--wp--preset--font-family--body); font-size: .9rem; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--forest-green); }
.fitrt-tag-archive .fitrt-stories-lead-copy > .fitrt-stories-category:empty { display: none; }
/* Generic category archive contained editorial layout */
.fitrt-generic-category-archive {
	width: min(calc(100% - 3rem), 1280px);
	padding-bottom: 5rem;
}

.fitrt-generic-category-archive .fitrt-stories-masthead {
	margin-bottom: 1.5rem;
}

.fitrt-generic-category-archive .fitrt-category-description {
	margin-bottom: 2.5rem;
}

.fitrt-generic-category-archive .fitrt-child-category-section {
	margin-bottom: 3rem;
}

.fitrt-generic-category-archive .fitrt-stories-lead {
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
	min-height: 360px;
	margin-bottom: 3.5rem;
	overflow: hidden;
	border-radius: 8px;
	background: var(--wp--preset--color--cream);
	box-shadow: 0 8px 24px rgba(36, 24, 18, 0.12);
}

.fitrt-generic-category-archive .fitrt-stories-lead-image-link {
	height: 100%;
	min-height: 360px;
	border-radius: 0;
}

.fitrt-generic-category-archive .fitrt-stories-lead-image,
.fitrt-generic-category-archive .fitrt-stories-lead-image-link .fitrt-stories-image-fallback {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fitrt-generic-category-archive .fitrt-stories-lead-copy {
	padding: 2rem;
	align-self: center;
}

.fitrt-generic-category-archive .fitrt-stories-grid {
	gap: 1.75rem;
}

.fitrt-generic-category-archive .fitrt-stories-card-link {
	box-shadow: 0 5px 16px rgba(36, 24, 18, 0.12);
}

.fitrt-generic-category-archive .fitrt-stories-pagination {
	margin-bottom: 0;
}

@media (max-width: 600px) {
	.fitrt-generic-category-archive {
		width: calc(100% - 2rem);
		padding-bottom: 3.5rem;
	}
	.fitrt-generic-category-archive .fitrt-stories-lead {
		grid-template-columns: 1fr;
		min-height: 0;
	}
	.fitrt-generic-category-archive .fitrt-stories-lead-image-link {
		min-height: 0;
	}
	.fitrt-generic-category-archive .fitrt-stories-lead-image,
	.fitrt-generic-category-archive .fitrt-stories-lead-image-link .fitrt-stories-image-fallback {
		height: auto;
		aspect-ratio: 4 / 3;
	}
	.fitrt-generic-category-archive .fitrt-stories-lead-copy { padding: 1.35rem; }
	.fitrt-generic-category-archive .fitrt-stories-grid { gap: 1.1rem; }
}
.fitrt-generic-category-archive { width: min(100%, 1240px); box-sizing: border-box; padding-inline: 1.75rem; }
.fitrt-generic-category-archive .fitrt-category-stories-grid-heading { margin: 2.5rem 0 1.25rem; text-align: left; }
.fitrt-generic-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.75rem; }
.fitrt-generic-post-card { min-width: 0; }
.fitrt-generic-post-card-link { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 6px; background: var(--wp--preset--color--warm-taupe); box-shadow: 0 5px 16px rgba(36,24,18,.12); text-decoration: none; }
.fitrt-generic-post-card-image, .fitrt-generic-post-card-link > .fitrt-stories-image-fallback { display: block; width: 100%; height: 100%; object-fit: cover; }
.fitrt-generic-post-card-link > .fitrt-stories-category { position: absolute; top: .75rem; left: .75rem; z-index: 2; }
.fitrt-generic-post-card-overlay { position: absolute; inset: auto 0 0; padding: 3.5rem 1rem .9rem; background: linear-gradient(to top, rgba(16,8,4,.92), transparent); color: var(--wp--preset--color--cream); }
.fitrt-generic-post-card-title { display: block; font-family: var(--wp--preset--font-family--heading); font-size: 1.55rem; line-height: 1.1; }
.fitrt-generic-post-card-overlay time { display: block; margin-top: .35rem; font-family: var(--wp--preset--font-family--body); font-size: .85rem; color: var(--wp--preset--color--cream); }
@media (max-width: 900px) { .fitrt-generic-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .fitrt-generic-category-archive { width: 100%; padding-inline: 1rem; } .fitrt-generic-post-grid { grid-template-columns: 1fr; gap: 1.1rem; } }
body:not(.home) .fitrt-interior-brand {
	position: fixed;
}

body:not(.home) .fitrt-interior-brand .fitrt-interior-logo {
	position: absolute;
	top: 0;
	left: 0;
	transition: opacity 180ms ease, visibility 180ms ease;
}

body:not(.home) .fitrt-interior-logo--color { opacity: 1; visibility: visible; filter: none !important; }
body:not(.home) .fitrt-interior-logo--white { opacity: 0; visibility: hidden; filter: none !important; }
body:not(.home) .fitrt-interior-brand.is-over-dark-zone .fitrt-interior-logo--color { opacity: 0; visibility: hidden; }
body:not(.home) .fitrt-interior-brand.is-over-dark-zone .fitrt-interior-logo--white { opacity: 1; visibility: visible; }
body:has(.fitrt-road-post) .fitrt-interior-brand .fitrt-interior-logo--color { opacity: 0; visibility: hidden; }
body:has(.fitrt-road-post) .fitrt-interior-brand .fitrt-interior-logo--white { opacity: 1; visibility: visible; }

@media (prefers-reduced-motion: reduce) {
	body:not(.home) .fitrt-interior-brand .fitrt-interior-logo { transition: none; }
}

body:not(.home) .fitrt-interior-brand { height: 140px; }
@media (max-width: 768px) { body:not(.home) .fitrt-interior-brand { height: 112px; } }
/* Generic category archive top positioning */
.fitrt-generic-category-frame {
	--fitrt-generic-archive-top-space: 6.5rem;
	padding-top: var(--fitrt-generic-archive-top-space);
}

.wp-site-blocks > .fitrt-generic-category-frame {
	padding-top: var(--fitrt-generic-archive-top-space) !important;
}

.fitrt-generic-category-frame .fitrt-generic-category-archive {
	padding-top: 0;
}

@media (max-width: 1024px) {
	.fitrt-generic-category-frame {
		--fitrt-generic-archive-top-space: 6rem;
	}
}

@media (max-width: 600px) {
	.fitrt-generic-category-frame {
		--fitrt-generic-archive-top-space: 5.5rem;
	}
}
/* Reading time metadata */
.fitrt-archive-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	align-items: center;
	margin-top: 0.35rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.9rem;
	line-height: 1.35;
	color: var(--wp--preset--color--warm-taupe);
}

.fitrt-stories-lead-copy .fitrt-archive-meta {
	color: var(--wp--preset--color--deep-brown);
}

.fitrt-stories-card-overlay .fitrt-archive-meta,
.fitrt-generic-post-card-overlay .fitrt-archive-meta {
	color: var(--wp--preset--color--cream);
}

.fitrt-single-meta {
	gap: 0.45rem;
}

body:has(.fitrt-road-post) .fitrt-single-meta,
body:has(.fitrt-road-post) .fitrt-single-meta-category,
body:has(.fitrt-road-post) .fitrt-single-reading-time {
	color: var(--wp--preset--color--cream);
}

/* VRPP related posts */
.fitrt-single-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container),
.fitrt-road-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) {
	width: min(calc(100% - 2rem), 1120px);
	margin: 3rem auto 0;
}

.fitrt-single-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container):empty,
.fitrt-road-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container):empty {
	display: none;
}

.fitrt-single-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) > :is(h2, h3),
.fitrt-road-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) > :is(h2, h3) {
	margin: 0 0 1.25rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1;
	text-align: center;
}

.fitrt-single-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) :is(ul, .vrpp-list, .vrpp-items, .vrpp-post-list, .vrpp-posts-list),
.fitrt-road-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) :is(ul, .vrpp-list, .vrpp-items, .vrpp-post-list, .vrpp-posts-list) {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fitrt-single-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) :is(li, .vrpp-item, .vrpp-post, .vrpp-related-post),
.fitrt-road-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) :is(li, .vrpp-item, .vrpp-post, .vrpp-related-post) {
	min-width: 0;
	overflow: hidden;
	border-radius: 6px;
	background: var(--wp--preset--color--cream);
	box-shadow: 0 5px 16px rgba(36, 24, 18, 0.12);
}

.fitrt-single-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) a,
.fitrt-road-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) a {
	color: var(--wp--preset--color--espresso);
	text-decoration: none;
}

.fitrt-single-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) img,
.fitrt-road-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	height: auto;
	object-fit: cover;
}

.fitrt-single-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) :is(.vrpp-title, .vrpp-post-title, .entry-title),
.fitrt-road-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) :is(.vrpp-title, .vrpp-post-title, .entry-title) {
	display: block;
	padding: 1rem 1rem 0.35rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.45rem;
	line-height: 1.1;
}

.fitrt-single-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) :is(.vrpp-meta, time),
.fitrt-road-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) :is(.vrpp-meta, time) {
	display: block;
	padding: 0 1rem 1rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.9rem;
	color: var(--wp--preset--color--deep-brown);
}

.fitrt-single-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) :is(.vrpp-excerpt, .vrpp-summary, .excerpt),
.fitrt-road-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) :is(.vrpp-excerpt, .vrpp-summary, .excerpt) {
	display: none;
}
body:has(.fitrt-road-post) .fitrt-road-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) :is(h2, h3),
body:has(.fitrt-road-post) .fitrt-road-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) a,
body:has(.fitrt-road-post) .fitrt-road-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) :is(.vrpp-meta, time) {
	color: var(--wp--preset--color--cream);
}

body:has(.fitrt-road-post) .fitrt-road-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) :is(li, .vrpp-item, .vrpp-post, .vrpp-related-post) {
	border: 1px solid rgba(244, 235, 218, 0.18);
	background: rgba(244, 235, 218, 0.04);
	box-shadow: none;
}

.fitrt-single-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) a:hover,
.fitrt-single-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) a:focus-visible,
.fitrt-road-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) a:hover,
.fitrt-road-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) a:focus-visible {
	color: var(--wp--preset--color--mustard-gold);
}

@media (max-width: 900px) {
	.fitrt-single-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) :is(ul, .vrpp-list, .vrpp-items, .vrpp-post-list, .vrpp-posts-list),
	.fitrt-road-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) :is(ul, .vrpp-list, .vrpp-items, .vrpp-post-list, .vrpp-posts-list) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.fitrt-single-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container),
	.fitrt-road-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) {
		width: 100%;
	}

	.fitrt-single-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) :is(ul, .vrpp-list, .vrpp-items, .vrpp-post-list, .vrpp-posts-list),
	.fitrt-road-post :is(.vrpp-related, .vrpp-related-posts, .vrpp-posts, .vrpp-container) :is(ul, .vrpp-list, .vrpp-items, .vrpp-post-list, .vrpp-posts-list) {
		grid-template-columns: 1fr;
	}
}

/* Footer AI transparency note */
.fitrt-footer-ai {
    width: min(100%, 720px);
    margin: 1.6rem auto 1.5rem;
    padding: 0 1rem;
    box-sizing: border-box;
    color: var(--wp--preset--color--warm-taupe);
    font-size: var(--wp--preset--typography--small);
    line-height: 1.6;
    text-align: center;
}
.fitrt-footer-ai a {
    color: var(--wp--preset--color--mustard-gold);
    text-decoration: underline;
}


.fitrt-footer-nav { width: min(100%, 1180px); margin: 0 auto 2.5rem; }
.fitrt-footer-nav-group { flex: 1 1 0; }
.fitrt-footer-nav-group h2 { margin: 0 0 .75rem; color: var(--wp--preset--color--cream); font-family: var(--wp--preset--font-family--heading); font-size: 1.6rem; }
.fitrt-footer-nav-menu { margin: 0; padding: 0; list-style: none; }
.fitrt-footer-nav-menu a { color: var(--wp--preset--color--cream); text-decoration: none; line-height: 1.7; }
.fitrt-footer-nav-menu a:hover, .fitrt-footer-nav-menu a:focus-visible { color: var(--wp--preset--color--mustard-gold); text-decoration: underline; }
@media (max-width: 900px) { .fitrt-footer-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; } }
@media (max-width: 600px) { .fitrt-footer-nav { grid-template-columns: 1fr; text-align: left; } }

.fitrt-single-meta-items { display: inline-flex; align-items: center; justify-content: center; flex-wrap: wrap; column-gap: 0.65rem; row-gap: 0.4rem; }
.fitrt-single-meta-items > p { display: inline; margin: 0; }
.fitrt-single-meta-separator { display: inline-block; }

.fitrt-newsletter-section .mailpoet_form p:has(input[type=submit]),
.fitrt-newsletter-section .mailpoet_form .mailpoet_paragraph:has(.mailpoet_submit) {
    justify-content: center !important;
}
.fitrt-newsletter-section .mailpoet_form input[type=submit],
.fitrt-newsletter-section .mailpoet_form .mailpoet_submit {
    margin-inline: auto !important;
}

.fitrt-footer-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem; align-items: start; }
.fitrt-page-main .fitrt-page-title { width: min(calc(100% - 2rem), 1100px); margin: 0 auto; text-align: center; font-family: var(--wp--preset--font-family--heading); font-size: clamp(3.5rem, 6vw, 6rem) !important; line-height: 1; color: var(--wp--preset--color--espresso); }
@media (max-width: 900px) { .fitrt-footer-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .fitrt-footer-nav { grid-template-columns: 1fr; gap: 2rem; } .fitrt-page-main .fitrt-page-title { font-size: clamp(2.5rem, 11vw, 4rem) !important; } }

.fitrt-newsletter-section .mailpoet_form .mailpoet_paragraph:has(input.mailpoet_submit),
.fitrt-newsletter-section .mailpoet_form p:has(input.mailpoet_submit) { display: flex !important; justify-content: center !important; align-items: center !important; text-align: center !important; }
.fitrt-newsletter-section .mailpoet_form .mailpoet_paragraph:has(input.mailpoet_submit) input.mailpoet_submit { float: none !important; margin-left: auto !important; margin-right: auto !important; }