/**
 * Meals on Wheels LaPorte County — Front-end Styles
 *
 * Maps WordPress block markup to the approved mockup4.html design.
 * Every section below corresponds to a mockup section.
 *
 * @package mow-laporte
 */

/* ═══════════════════════════════════════════════════════
   GLOBAL
   ═══════════════════════════════════════════════════════ */

:root {
	--mow-muted: #5A6E7A;
}

html { scroll-behavior: smooth; }

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.wp-site-blocks {
	overflow-x: hidden;
}

/* Heading overrides: enforce brand ALL-CAPS */
h1, h2, h3, h4, h5, h6,
.wp-block-heading {
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
h1 em, h2 em, h3 em, h4 em,
.wp-block-heading em {
	font-style: normal;
	font-weight: inherit;
}

/* Quotes excluded from uppercase */
blockquote, .wp-block-quote, .wp-block-pullquote {
	text-transform: none;
	letter-spacing: 0;
	font-style: italic;
}

/* ═══════════════════════════════════════════════════════
   BUTTONS
   ═══════════════════════════════════════════════════════ */

.wp-block-button__link,
.wp-element-button {
	transition: background-color .2s, color .2s, transform .15s, box-shadow .15s;
	border-radius: 999px;
	padding: 12px 22px;
	font-family: var(--wp--preset--font-family--mada);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
}
.wp-block-button__link:hover,
.wp-element-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(0,57,82,0.18);
}
.wp-block-button.is-style-outline .wp-block-button__link {
	border: 2px solid currentColor;
	background: transparent;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--navy);
	color: #fff;
	border-color: var(--wp--preset--color--navy);
}

/* ═══════════════════════════════════════════════════════
   STICKY PILL HEADER
   ═══════════════════════════════════════════════════════ */

.site-header {
	position: sticky;
	top: 16px;
	z-index: 50;
	padding: 0 16px;
}
.header-inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: nowrap;
}
.header-inner > * {
	flex-shrink: 0;
}
.header-inner .wp-block-site-logo {
	flex-shrink: 0;
}
.header-inner .wp-block-site-logo img {
	height: 36px;
	width: auto;
}

/* Nav takes available space, stays on one line */
.header-inner .wp-block-navigation,
.header-inner .primary-nav {
	flex: 1 1 auto;
	min-width: 0;
}

/* Nav pill links — compact, single line */
.primary-nav .wp-block-navigation__container {
	gap: 2px;
	flex-wrap: nowrap;
	justify-content: center;
}
.primary-nav .wp-block-navigation-item a {
	color: var(--wp--preset--color--navy);
	font-weight: 700;
	font-size: 12px;
	padding: 7px 10px;
	border-radius: 999px;
	transition: background .15s, color .15s;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	text-decoration: none;
	white-space: nowrap;
	line-height: 1;
}
.primary-nav .wp-block-navigation-item a:hover {
	background: var(--wp--preset--color--navy);
	color: #fff;
}
.primary-nav .wp-block-navigation-item.current-menu-item a,
.primary-nav .wp-block-navigation-item.current_page_item a {
	background: var(--wp--preset--color--lime);
	color: var(--wp--preset--color--navy);
}

/* Header CTA buttons — compact, single line */
.donate-cta,
.pay-cta {
	flex-shrink: 0;
}
.donate-cta .wp-block-button__link,
.pay-cta .wp-block-button__link {
	padding: 10px 14px;
	white-space: nowrap;
	line-height: 1;
	font-size: 11px;
}
.donate-cta .wp-block-button__link:hover {
	background: var(--wp--preset--color--lime-dark) !important;
}
.pay-cta .wp-block-button__link:hover {
	background: #009DA8 !important;
}

/* Buttons wrapper in header */
.header-inner .wp-block-buttons {
	flex-shrink: 0;
	gap: 8px;
}
.header-inner .wp-block-buttons .wp-block-button {
	margin: 0;
}

/* ── Dropdown / Submenu Styles ── */

.primary-nav .wp-block-navigation-submenu {
	position: relative;
}

/* Link + chevron sit flush so they read as one pill */
.primary-nav .wp-block-navigation-submenu > .wp-block-navigation-item__content {
	padding-right: 2px !important;
	border-radius: 999px 0 0 999px;
}
.primary-nav .wp-block-navigation-submenu > .wp-block-navigation-submenu__toggle,
.primary-nav .wp-block-navigation-submenu > .wp-block-navigation__submenu-icon {
	background: none;
	border: none;
	cursor: pointer;
	padding: 7px 8px 7px 2px;
	margin: 0;
	color: var(--wp--preset--color--navy);
	display: inline-flex;
	align-items: center;
	border-radius: 0 999px 999px 0;
	transition: background .15s, color .15s;
	line-height: 1;
}
.primary-nav .wp-block-navigation-submenu > .wp-block-navigation-submenu__toggle svg,
.primary-nav .wp-block-navigation-submenu > .wp-block-navigation__submenu-icon svg {
	width: 10px;
	height: 10px;
	stroke: currentColor;
	fill: none;
}

/* Hover: both link + chevron get navy bg as one pill */
.primary-nav .wp-block-navigation-submenu:hover > .wp-block-navigation-item__content,
.primary-nav .wp-block-navigation-submenu:hover > .wp-block-navigation-submenu__toggle,
.primary-nav .wp-block-navigation-submenu:hover > .wp-block-navigation__submenu-icon {
	background: var(--wp--preset--color--navy);
	color: #fff;
}

/* Bridge: invisible 8px pad below parent keeps hover alive
   while the cursor travels to the dropdown panel. */
.primary-nav .wp-block-navigation-submenu::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	height: 12px;
	background: transparent;
}

/* Dropdown panel */
.primary-nav .wp-block-navigation__submenu-container {
	background: #fff;
	border: 1px solid var(--wp--preset--color--gray-2);
	border-radius: 14px;
	box-shadow: 0 12px 32px rgba(0,57,82,0.12);
	padding: 8px 0;
	min-width: 200px;
	margin-top: 6px;
	z-index: 100;
	list-style: none;
}
.primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item {
	list-style: none;
}
.primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item a {
	display: block;
	padding: 10px 20px;
	font-size: 12px;
	font-weight: 700;
	color: var(--wp--preset--color--navy);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border-radius: 0;
	white-space: nowrap;
	transition: background .15s, color .15s;
}
.primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item a:hover {
	background: var(--wp--preset--color--gray-1);
	color: var(--wp--preset--color--teal);
	border-radius: 0;
}

/* ═══════════════════════════════════════════════════════
   HERO — NAVY CARD  (.hero-section > .hero-card)
   ═══════════════════════════════════════════════════════ */

.hero-section {
	padding-top: 32px !important;
	padding-bottom: 60px !important;
}

/* Navy card: decorative blobs */
.hero-card {
	position: relative;
	overflow: hidden;
}
.hero-card::before {
	content: "";
	position: absolute;
	top: -120px;
	right: -120px;
	width: 380px;
	height: 380px;
	border-radius: 50%;
	background: var(--wp--preset--color--teal);
	opacity: 0.18;
	pointer-events: none;
}
.hero-card::after {
	content: "";
	position: absolute;
	bottom: -100px;
	left: 22%;
	width: 220px;
	height: 220px;
	border-radius: 50%;
	background: var(--wp--preset--color--lime);
	opacity: 0.20;
	pointer-events: none;
}
/* Content above blobs */
.hero-card > * {
	position: relative;
	z-index: 1;
}

/* Hero lede paragraph: not uppercase */
.hero-lede {
	color: rgba(255,255,255,0.85);
	text-transform: none;
	font-family: var(--wp--preset--font-family--barlow-semi-condensed);
	letter-spacing: 0;
}

/* Hero photo wrap: standalone rounded photo */
.hero-photo-col {
	position: relative;
	max-width: 440px;
	margin-left: auto;
}
.hero-photo-col .wp-block-image,
.hero-photo-col .wp-block-image figure {
	margin: 0;
}
.hero-photo-col .wp-block-image img {
	object-fit: cover;
	width: 100%;
	display: block;
	aspect-ratio: 4 / 5;
	border-radius: 28px;
	border: 6px solid white;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
}

/* Light hero photo variant: softer shadow, slightly larger radius */
.hero-light-page .hero-photo-col .wp-block-image img {
	border-radius: 32px;
	box-shadow: 0 24px 60px rgba(31, 58, 95, 0.18);
}

/* Hero stat overlay card (bottom-left of photo) */
.hero-stat-card {
	position: absolute;
	bottom: -24px;
	left: -24px;
	background: white;
	padding: 18px 22px;
	border-radius: 20px;
	box-shadow: 0 18px 40px rgba(0, 57, 82, 0.25);
	border-left: 6px solid var(--wp--preset--color--lime);
	z-index: 3;
}
.hero-stat-card .stat-num {
	font-size: 36px;
	font-weight: 900;
	color: var(--wp--preset--color--navy);
	line-height: 1;
}
.hero-stat-card .stat-label {
	font-size: 12px;
	font-weight: 700;
	color: var(--wp--preset--color--navy);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

/* Hero badge (Candid Platinum — top-center of photo) */
.hero-badge {
	position: absolute;
	top: 20px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--wp--preset--color--teal);
	color: white;
	padding: 8px 16px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	box-shadow: 0 8px 20px rgba(0, 183, 196, 0.4);
	z-index: 3;
	white-space: nowrap;
}

/* Hero bubble (lime heart — top-right of photo) */
.hero-bubble {
	position: absolute;
	top: -16px;
	right: -16px;
	width: 76px;
	height: 76px;
	border-radius: 50%;
	background: var(--wp--preset--color--lime);
	color: var(--wp--preset--color--navy);
	box-shadow: 0 12px 30px rgba(171, 208, 55, 0.5);
	border: 4px solid white;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 3;
}
.hero-bubble svg {
	width: 28px;
	height: 28px;
}

/* Sub-page hero bubble variant (teal) */
.hero-bubble--teal {
	background: var(--wp--preset--color--teal);
	color: white;
	box-shadow: 0 12px 30px rgba(46, 189, 200, 0.4);
}

/* Light hero card styling (gray-1 pages) */
.hero-light-page.hero-light-card {
	border: 1px solid var(--wp--preset--color--gray-2) !important;
	border-radius: 36px !important;
	position: relative;
	overflow: hidden;
}
.hero-light-page .mow-hero-light__decorative {
	display: none;
}
.hero-light-card::before {
	content: "";
	position: absolute;
	top: -120px;
	right: -120px;
	width: 380px;
	height: 380px;
	border-radius: 50%;
	background: var(--wp--preset--color--teal);
	opacity: 0.10;
	pointer-events: none;
}
.hero-light-card::after {
	content: "";
	position: absolute;
	bottom: -100px;
	left: 28%;
	width: 220px;
	height: 220px;
	border-radius: 50%;
	background: var(--wp--preset--color--lime);
	opacity: 0.16;
	pointer-events: none;
}
.hero-light-card > * {
	position: relative;
	z-index: 1;
}

/* Veterans hero orange blob variant */
.hero-card--veterans::before {
	background: var(--wp--preset--color--orange);
}
.hero-card--veterans::after {
	bottom: -140px;
	left: 30%;
	width: 280px;
	height: 280px;
}

/* Menu hero blob variant */
.hero-card--menu::after {
	bottom: -140px;
	left: 30%;
	width: 280px;
	height: 280px;
}

/* Events hero blob variant (magenta + teal) */
.hero-card--events::before {
	background: var(--wp--preset--color--magenta);
}
.hero-card--events::after {
	background: var(--wp--preset--color--teal);
	bottom: -140px;
	left: 30%;
	width: 280px;
	height: 280px;
}

/* Hero info card (Menu Quick Facts, right column) */
.hero-info-card {
	background: white;
	color: var(--wp--preset--color--navy);
	border-radius: 24px;
	padding: 28px;
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.25);
	border-left: 8px solid var(--wp--preset--color--lime);
}

/* Veterans stat badge */
.vet-badge-card {
	background: white;
	color: var(--wp--preset--color--navy);
	border-radius: 28px;
	padding: 36px;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
	border: 6px solid var(--wp--preset--color--lime);
	text-align: center;
}

/* ═══════════════════════════════════════════════════════
   STATS ROW — overlapping hero  (.stats-overlap)
   ═══════════════════════════════════════════════════════ */

.stats-overlap {
	margin-top: -50px !important;
	position: relative;
	z-index: 5;
	padding-top: 0 !important;
}

/* ═══════════════════════════════════════════════════════
   STAT CARDS  (.mow-stat-card)
   ═══════════════════════════════════════════════════════ */

.mow-stat-card {
	background: #fff;
	border-radius: 20px;
	padding: 24px;
	box-shadow: 0 10px 30px rgba(0,57,82,0.10);
	border-top: 4px solid;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	text-align: left;
}
.mow-stat-card__icon {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	margin-bottom: 0;
}
.mow-stat-card__icon svg { width: 24px; height: 24px; }
.mow-stat-card__number {
	font-family: var(--wp--preset--font-family--mada);
	font-size: 28px;
	font-weight: 900;
	color: var(--wp--preset--color--navy);
	line-height: 1.05;
}
.mow-stat-card__label {
	font-size: 12px;
	color: var(--mow-muted);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* ═══════════════════════════════════════════════════════
   MISSION SECTION (gray-1 bg, 2-col with quote card)
   ═══════════════════════════════════════════════════════ */

/* Quote card border-left accent */
.has-gray-1-background-color .has-white-background-color[style*="border-radius"] {
	border-left: 8px solid var(--wp--preset--color--lime);
}

/* ═══════════════════════════════════════════════════════
   PILL EYEBROW  (.mow-pill-eyebrow)
   ═══════════════════════════════════════════════════════ */

.mow-pill-eyebrow {
	display: inline-block;
	margin-bottom: 16px;
}
.mow-pill-eyebrow span {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 6px 14px;
	border-radius: 999px;
	font-family: var(--wp--preset--font-family--mada);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	line-height: 1.4;
}
.mow-pill-eyebrow--lime span   { background: var(--wp--preset--color--lime); color: var(--wp--preset--color--navy); font-size: 11px; letter-spacing: 0.12em; }
.mow-pill-eyebrow--teal span   { background: var(--wp--preset--color--teal); color: #fff; font-size: 11px; letter-spacing: 0.12em; }
.mow-pill-eyebrow--orange span { background: var(--wp--preset--color--orange); color: #fff; }
.mow-pill-eyebrow--magenta span{ background: var(--wp--preset--color--magenta); color: #fff; }
.mow-pill-eyebrow--yellow span { background: var(--wp--preset--color--yellow); color: var(--wp--preset--color--navy); }
.mow-pill-eyebrow--navy span {
	background: rgba(255,255,255,0.12);
	color: #fff;
	border: 1px solid rgba(255,255,255,0.18);
}
.mow-pill-eyebrow--white span {
	background: rgba(255,255,255,0.12);
	color: #fff;
	border: 1px solid rgba(255,255,255,0.18);
}

/* ═══════════════════════════════════════════════════════
   SERVICE CARDS  (.mow-service-card)
   ═══════════════════════════════════════════════════════ */

.mow-service-card {
	background: #fff;
	border-radius: 24px;
	padding: 36px 32px;
	border: 1px solid var(--wp--preset--color--gray-2);
	transition: transform .2s, box-shadow .2s, border-color .2s;
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
}
.mow-service-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 40px rgba(0,57,82,0.12);
	border-color: transparent;
}
.mow-service-card__icon {
	width: 64px;
	height: 64px;
	border-radius: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
	margin-bottom: 22px;
	color: #fff;
}
.mow-service-card__icon svg { width: 30px; height: 30px; }
.mow-service-card__icon span { width: 30px; height: 30px; }
/* Variant colors match mockup exactly: a=lime, b=teal, c=orange */
.mow-service-card--a .mow-service-card__icon { background: var(--wp--preset--color--lime) !important; color: var(--wp--preset--color--navy) !important; }
.mow-service-card--b .mow-service-card__icon { background: var(--wp--preset--color--teal) !important; color: #fff !important; }
.mow-service-card--c .mow-service-card__icon { background: var(--wp--preset--color--orange) !important; color: #fff !important; }

.mow-service-card__title {
	font-family: var(--wp--preset--font-family--mada);
	font-size: 22px;
	font-weight: 800;
	margin-bottom: 10px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.mow-service-card__body {
	color: var(--mow-muted);
	margin-bottom: 22px;
	font-size: 15px;
	flex: 1;
	text-transform: none;
	letter-spacing: 0;
	font-family: var(--wp--preset--font-family--barlow-semi-condensed);
}
.mow-service-card__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--wp--preset--color--navy);
	font-weight: 800;
	text-decoration: none;
	font-size: 12px;
	padding: 10px 16px;
	border-radius: 999px;
	font-family: var(--wp--preset--font-family--mada);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	transition: transform .15s, box-shadow .15s;
}
.mow-service-card__link:hover {
	transform: translateY(-2px);
}
.mow-service-card--a .mow-service-card__link { background: var(--wp--preset--color--lime) !important; color: var(--wp--preset--color--navy) !important; }
.mow-service-card--b .mow-service-card__link { background: var(--wp--preset--color--teal) !important; color: #fff !important; }
.mow-service-card--c .mow-service-card__link { background: var(--wp--preset--color--navy) !important; color: #fff !important; }

/* ═══════════════════════════════════════════════════════
   HOW IT WORKS  (.how-wrap > .how-inner)
   ═══════════════════════════════════════════════════════ */

/* Wrapper provides side padding so navy block floats */
.how-wrap {
	padding-top: 0 !important;
}

/* Navy card: decorative blobs */
.how-inner {
	position: relative;
	overflow: hidden;
}
.how-inner::before {
	content: "";
	position: absolute;
	top: -100px;
	right: -80px;
	width: 320px;
	height: 320px;
	border-radius: 50%;
	background: var(--wp--preset--color--teal);
	opacity: 0.15;
	pointer-events: none;
}
.how-inner::after {
	content: "";
	position: absolute;
	bottom: -100px;
	left: -80px;
	width: 280px;
	height: 280px;
	border-radius: 50%;
	background: var(--wp--preset--color--lime);
	opacity: 0.18;
	pointer-events: none;
}
.how-inner > * {
	position: relative;
	z-index: 1;
}

/* Dotted connector line between step circles */
.how-inner .wp-block-columns {
	position: relative;
}
.how-inner .wp-block-columns::before {
	content: "";
	position: absolute;
	top: 38px;
	left: 16%;
	right: 16%;
	height: 3px;
	background: repeating-linear-gradient(to right, var(--wp--preset--color--lime) 0 8px, transparent 8px 16px);
	z-index: 0;
}

/* ═══════════════════════════════════════════════════════
   STEP CARDS  (.mow-step-card)
   ═══════════════════════════════════════════════════════ */

.mow-step-card {
	text-align: center;
	position: relative;
	z-index: 1;
}
.mow-step-card__circle {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: #fff;
	margin: 0 auto 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--wp--preset--font-family--mada);
	font-size: 32px;
	font-weight: 900;
	color: var(--wp--preset--color--navy);
	border-width: 4px;
	border-style: solid;
}
/* Override block SCSS number element */
.mow-step-card__number {
	font-family: var(--wp--preset--font-family--mada);
	font-size: 32px;
	font-weight: 900;
	color: var(--wp--preset--color--navy);
	line-height: 1;
}
.mow-step-card__title {
	font-family: var(--wp--preset--font-family--mada);
	font-size: 20px;
	font-weight: 800;
	color: #fff;
	margin-bottom: 8px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.mow-step-card__body {
	color: rgba(255,255,255,0.8);
	font-size: 15px;
	max-width: 280px;
	margin: 0 auto;
	text-transform: none;
	letter-spacing: 0;
	font-family: var(--wp--preset--font-family--barlow-semi-condensed);
}

/* ═══════════════════════════════════════════════════════
   BIG TESTIMONIAL  (.test-card)
   ═══════════════════════════════════════════════════════ */

.test-card {
	position: relative;
	overflow: hidden;
}
/* Decorative blobs */
.test-card::before {
	content: "";
	position: absolute;
	bottom: -140px;
	right: -120px;
	width: 380px;
	height: 380px;
	border-radius: 50%;
	background: var(--wp--preset--color--lime);
	opacity: 0.10;
	pointer-events: none;
}
.test-card::after {
	content: "";
	position: absolute;
	top: -100px;
	left: -80px;
	width: 280px;
	height: 280px;
	border-radius: 50%;
	background: var(--wp--preset--color--teal);
	opacity: 0.10;
	pointer-events: none;
}
.test-card > * {
	position: relative;
	z-index: 1;
}

/* Testimonial photo: fill left column */
.test-card .wp-block-column:first-child .wp-block-image,
.test-card .wp-block-column:first-child .wp-block-image figure {
	height: 100%;
	margin: 0;
}
.test-card .wp-block-column:first-child .wp-block-image img {
	object-fit: cover;
	height: 100%;
	width: 100%;
	aspect-ratio: 4 / 5;
	display: block;
}

/* ═══════════════════════════════════════════════════════
   NAVY TESTIMONIAL SECTION  (.testimonial-section-navy)
   ═══════════════════════════════════════════════════════ */

.testimonial-section-navy {
	position: relative;
	overflow: hidden;
}

/* Decorative lime blob — bottom-right */
.testimonial-section-navy::before {
	content: "";
	position: absolute;
	bottom: -120px;
	right: -100px;
	width: 380px;
	height: 380px;
	border-radius: 50%;
	background: var(--wp--preset--color--lime);
	opacity: 0.12;
	pointer-events: none;
}

/* Decorative orange blob — top-left */
.testimonial-section-navy::after {
	content: "";
	position: absolute;
	top: -100px;
	left: -80px;
	width: 280px;
	height: 280px;
	border-radius: 50%;
	background: var(--wp--preset--color--orange);
	opacity: 0.10;
	pointer-events: none;
}

/* Content above blobs */
.testimonial-section-navy > * {
	position: relative;
	z-index: 1;
}

/* Photo in navy testimonial — standalone with shadow */
.testimonial-section-navy .wp-block-image img {
	object-fit: cover;
	display: block;
}

/* ═══════════════════════════════════════════════════════
   CTA — LIME BLOCK  (.cta-card)
   ═══════════════════════════════════════════════════════ */

.cta-card {
	position: relative;
	overflow: hidden;
}
.cta-card::before {
	content: "";
	position: absolute;
	top: -100px;
	right: -60px;
	width: 280px;
	height: 280px;
	border-radius: 50%;
	background: var(--wp--preset--color--teal);
	opacity: 0.25;
	pointer-events: none;
}
.cta-card::after {
	content: "";
	position: absolute;
	bottom: -100px;
	left: -80px;
	width: 280px;
	height: 280px;
	border-radius: 50%;
	background: var(--wp--preset--color--navy);
	opacity: 0.10;
	pointer-events: none;
}
.cta-card > * {
	position: relative;
	z-index: 1;
}

/* CTA paragraph: not uppercase */
.cta-card p:not(.has-mada-font-family) {
	text-transform: none;
	font-family: var(--wp--preset--font-family--barlow-semi-condensed);
	letter-spacing: 0;
}

/* Tier cards */
.cta-tiers {
	max-width: 560px;
	margin-left: auto !important;
	margin-right: auto !important;
}
.cta-tier-card {
	text-align: center;
	transition: border-color .15s, transform .15s;
	cursor: pointer;
}
.cta-tier-card:hover {
	border-color: var(--wp--preset--color--navy) !important;
	transform: translateY(-2px);
}
.cta-tier-card p {
	text-transform: none !important;
	margin: 0 !important;
}
.cta-tier-card p.has-text-align-center {
	width: 100%;
}

/* ═══════════════════════════════════════════════════════
   TAGLINE STRIP  (.tagline-strip)
   ═══════════════════════════════════════════════════════ */

.tagline-strip {
	text-align: center;
}

/* ═══════════════════════════════════════════════════════
   FOOTER  (.site-footer)
   ═══════════════════════════════════════════════════════ */

.site-footer a {
	color: rgba(255,255,255,0.85);
	text-decoration: none;
	transition: color .15s;
}
.site-footer a:hover {
	color: var(--wp--preset--color--lime);
}

.footer-links {
	list-style: none;
	padding: 0;
	margin: 0;
}
.footer-links li {
	margin-bottom: 8px;
}
.footer-links a {
	font-size: 14px;
}

/* Footer logo: invert to white */
.footer-logo img {
	filter: brightness(0) invert(1);
}

/* ═══════════════════════════════════════════════════════
   ELIGIBILITY CHECK  (.mow-eligibility-check)
   ═══════════════════════════════════════════════════════ */

.mow-eligibility-check {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	padding: 16px 0;
}
.mow-eligibility-check__icon {
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--wp--preset--color--lime);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--navy);
}
.mow-eligibility-check__icon svg { width: 18px; height: 18px; }
.mow-eligibility-check__title {
	font-family: var(--wp--preset--font-family--mada);
	font-weight: 700;
	font-size: 16px;
	color: #fff;
	margin-bottom: 4px;
}
.mow-eligibility-check__body {
	font-size: 14px;
	color: rgba(255,255,255,0.7);
	line-height: 1.5;
}

/* ═══════════════════════════════════════════════════════
   PARTNER CARD  (.mow-partner-card)
   ═══════════════════════════════════════════════════════ */

.mow-partner-card {
	background: #fff;
	border-radius: 20px;
	padding: 28px;
	text-align: center;
	box-shadow: 0 2px 8px rgba(0,57,82,0.06);
	border: 1px solid var(--wp--preset--color--gray-2);
	height: 100%;
}
.mow-partner-card__name {
	font-family: var(--wp--preset--font-family--mada);
	font-size: 16px;
	font-weight: 800;
	color: var(--wp--preset--color--navy);
	margin-bottom: 8px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.mow-partner-card__description {
	font-size: 14px;
	color: var(--mow-muted);
	line-height: 1.5;
}

/* ═══════════════════════════════════════════════════════
   EQUAL-HEIGHT CARD COLUMNS (site-wide)
   ═══════════════════════════════════════════════════════ */

.wp-block-columns {
	align-items: stretch;
}
.wp-block-columns > .wp-block-column {
	display: flex;
	flex-direction: column;
}
.wp-block-columns > .wp-block-column > .wp-block-group,
.wp-block-columns > .wp-block-column > .mow-partner-card,
.wp-block-columns > .wp-block-column > .mow-service-card,
.wp-block-columns > .wp-block-column > .wp-block-mow-partner-card,
.wp-block-columns > .wp-block-column > .wp-block-mow-service-card,
.wp-block-columns > .wp-block-column > .wp-block-mow-stat-card,
.wp-block-columns > .wp-block-column > .mow-stat-card {
	flex: 1;
	display: flex;
	flex-direction: column;
}

/* Push buttons/CTAs to bottom of flex cards */
.wp-block-columns > .wp-block-column > .wp-block-group .wp-block-buttons:last-child {
	margin-top: auto;
}

/* ═══════════════════════════════════════════════════════
   EVENT CARDS — equal height + button alignment
   ═══════════════════════════════════════════════════════ */

/* Event card inner content: flex column so buttons pin to bottom */
.wp-block-group[style*="box-shadow"][style*="border-radius:24px"][style*="overflow:hidden"] {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.wp-block-group[style*="box-shadow"][style*="border-radius:24px"][style*="overflow:hidden"] > .wp-block-group[style*="padding-top:28px"] {
	flex: 1;
	display: flex;
	flex-direction: column;
}
.wp-block-group[style*="box-shadow"][style*="border-radius:24px"][style*="overflow:hidden"] > .wp-block-group[style*="padding-top:28px"] > .wp-block-buttons {
	margin-top: auto;
}

/* ═══════════════════════════════════════════════════════
   LAYOUT UTILITIES & SPACING
   ═══════════════════════════════════════════════════════ */

/* WP columns gap — generous spacing between grid items */
.wp-block-columns {
	gap: var(--wp--style--block-gap, 24px);
}

/* Vertical spacing between top-level sections */
.wp-site-blocks > .wp-block-group.alignfull + .wp-block-group.alignfull,
.wp-site-blocks > .wp-block-cover + .wp-block-group,
.wp-site-blocks > .wp-block-group + .wp-block-cover,
.entry-content > .wp-block-group.alignfull + .wp-block-group.alignfull {
	margin-top: 0;
}

/* Spacing between blocks inside sections */
.wp-block-group > .wp-block-group + .wp-block-group,
.wp-block-group > .wp-block-columns + .wp-block-columns,
.wp-block-group > .wp-block-heading + .wp-block-columns,
.wp-block-group > .wp-block-paragraph + .wp-block-columns {
	margin-top: 32px;
}

/* Card rows need breathing room */
.wp-block-columns > .wp-block-column {
	margin-bottom: 20px;
}

/* Spacing between stacked cards inside columns */
.wp-block-column > .wp-block-group + .wp-block-group,
.wp-block-column > .wp-block-mow-service-card + .wp-block-mow-service-card,
.wp-block-column > .wp-block-mow-stat-card + .wp-block-mow-stat-card,
.wp-block-column > .wp-block-mow-program-card + .wp-block-mow-program-card,
.wp-block-column > .wp-block-mow-step-card + .wp-block-mow-step-card,
.wp-block-column > .wp-block-mow-eligibility-check + .wp-block-mow-eligibility-check {
	margin-top: 20px;
}

/* Service cards, program cards, FAQ cards — spacing between items */
.mow-service-card + .mow-service-card,
.mow-program-card + .mow-program-card,
.mow-partner-card + .mow-partner-card {
	margin-top: 20px;
}

/* Headings inside sections need gap below */
.wp-block-group > .wp-block-heading {
	margin-bottom: 16px;
}

/* Paragraphs following headings */
.wp-block-group > .wp-block-heading + .wp-block-paragraph {
	margin-top: 8px;
}

/* Buttons after paragraphs need breathing room */
.wp-block-group > .wp-block-paragraph + .wp-block-buttons,
.wp-block-group > .wp-block-paragraph + .wp-block-button {
	margin-top: 24px;
}

/* Section internal padding — ensure sections with constrained content breathe */
.wp-block-group[class*="has-"][class*="background-color"] > .wp-block-group {
	margin-top: 0;
}

/* Pill eyebrow + heading combo */
.wp-block-mow-pill-eyebrow + .wp-block-heading,
.mow-pill-eyebrow + .wp-block-heading {
	margin-top: 16px;
}

/* Between major pattern sections on pages */
.entry-content > * + * {
	margin-top: 0;
}

/* Ensure column inner blocks have gap */
.wp-block-column > * + * {
	margin-top: 16px;
}
.wp-block-column > *:first-child {
	margin-top: 0;
}

/* Images in columns */
.wp-block-column .wp-block-image img {
	width: 100%;
	height: auto;
}

/* Separator */
.wp-block-separator {
	border: none;
	height: 1px;
	opacity: 1;
	margin-top: 24px;
	margin-bottom: 24px;
}

/* Section heading text helper */
.section-head {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 56px;
}

/* FAQ card grid spacing */
.wp-block-group[style*="box-shadow"] + .wp-block-group[style*="box-shadow"] {
	margin-top: 20px;
}

/* Event cards spacing */
.mow-event-card + .mow-event-card {
	margin-top: 20px;
}

/* Story cards spacing */
.mow-story-card + .mow-story-card {
	margin-top: 20px;
}

/* Tier cards spacing */
.mow-tier-card + .mow-tier-card {
	margin-top: 16px;
}

/* Role cards spacing */
.mow-role-card + .mow-role-card {
	margin-top: 20px;
}

/* List items in blocks */
.wp-block-list li + li {
	margin-top: 8px;
}

/* ═══════════════════════════════════════════════════════
   ACCESSIBILITY
   ═══════════════════════════════════════════════════════ */

:focus-visible {
	outline: 3px solid var(--wp--preset--color--teal);
	outline-offset: 2px;
}

.skip-to-content {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 10000;
	padding: 12px 24px;
	background: var(--wp--preset--color--navy);
	color: #fff;
	font-family: var(--wp--preset--font-family--mada);
	font-weight: 700;
	text-decoration: none;
	border-radius: 0 0 8px 0;
}
.skip-to-content:focus {
	left: 0;
}

/* ═══════════════════════════════════════════════════════
   INTERNAL PAGES — Sub-page hero
   ═══════════════════════════════════════════════════════ */

.hero-light-page {
	position: relative;
	overflow: hidden;
}

/* ═══════════════════════════════════════════════════════
   INTERNAL PAGES — Eligibility cards
   ═══════════════════════════════════════════════════════ */

.mow-eligibility-grid .wp-block-mow-eligibility-check {
	background: rgba(255,255,255,0.08);
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: 20px;
	padding: 28px 24px;
	margin-bottom: 16px;
}

/* ═══════════════════════════════════════════════════════
   INTERNAL PAGES — Step cards connector line
   ═══════════════════════════════════════════════════════ */

.mow-steps-row {
	position: relative;
}

.mow-steps-row::before {
	content: "";
	position: absolute;
	top: 32px;
	left: 15%;
	right: 15%;
	height: 2px;
	background: repeating-linear-gradient(
		90deg,
		var(--wp--preset--color--teal) 0,
		var(--wp--preset--color--teal) 8px,
		transparent 8px,
		transparent 16px
	);
	z-index: 0;
}

.mow-steps-row .wp-block-mow-step-card {
	position: relative;
	z-index: 1;
}

/* ═══════════════════════════════════════════════════════
   INTERNAL PAGES — Form field visual styling
   ═══════════════════════════════════════════════════════ */

.mow-form-field {
	background: #fff;
	border: 1px solid var(--wp--preset--color--gray-2);
	border-radius: 14px;
	padding: 14px 18px;
	transition: border-color 0.2s;
}

.mow-form-field:hover {
	border-color: var(--wp--preset--color--teal);
}

/* ═══════════════════════════════════════════════════════
   INTERNAL PAGES — Transparency bars (Donate page)
   ═══════════════════════════════════════════════════════ */

.mow-bar-track {
	background: var(--wp--preset--color--gray-2);
	border-radius: 8px;
	height: 12px;
	overflow: hidden;
}

.mow-bar-fill {
	height: 100%;
	border-radius: 8px;
	transition: width 0.6s ease-out;
}

/* ═══════════════════════════════════════════════════════
   INTERNAL PAGES — Timeline v2 (About page)
   Self-contained HTML — no WP layout interference.
   ═══════════════════════════════════════════════════════ */

.mow-timeline-v2 {
	background: #fff;
	border-radius: 28px;
	box-shadow: 0 8px 24px rgba(31,58,95,0.06);
	padding: 40px 32px 32px;
}
.mow-tl-track {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}
.mow-tl-line {
	position: absolute;
	top: 18px;
	left: 12%;
	right: 12%;
	height: 3px;
	background: repeating-linear-gradient(
		to right,
		#00B7C4 0 8px,
		transparent 8px 16px
	);
	z-index: 0;
}
.mow-tl-item {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.mow-tl-item .mow-tl-dot {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #fff;
	border: 4px solid;
	box-shadow: 0 0 0 4px #fff;
	flex-shrink: 0;
}
.mow-tl-year {
	font-family: var(--wp--preset--font-family--mada, 'Mada', sans-serif);
	font-size: 20px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	line-height: 1.1;
	color: var(--wp--preset--color--navy, #003952);
	margin: 8px 0 4px;
}
.mow-tl-desc {
	font-size: 12px;
	line-height: 1.4;
	color: var(--wp--preset--color--navy, #003952);
	margin: 0;
}
@media (max-width: 900px) {
	.mow-tl-track {
		grid-template-columns: repeat(2, 1fr);
	}
	.mow-tl-line {
		display: none;
	}
}

/* ═══════════════════════════════════════════════════════
   INTERNAL PAGES — Team member avatar
   ═══════════════════════════════════════════════════════ */

.mow-avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	font-family: var(--wp--preset--font-family--mada);
	letter-spacing: 0.04em;
}

.mow-avatar-img img {
	border-radius: 999px;
	object-fit: cover;
	width: 110px;
	height: 110px;
}

/* ═══════════════════════════════════════════════════════
   INTERNAL PAGES — Event cards
   ═══════════════════════════════════════════════════════ */

.mow-event-card {
	transition: transform 0.2s, box-shadow 0.2s;
}

.mow-event-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(0,57,82,0.14) !important;
}

/* ═══════════════════════════════════════════════════════
   INTERNAL PAGES — Story cards
   ═══════════════════════════════════════════════════════ */

.mow-story-card {
	transition: transform 0.2s, box-shadow 0.2s;
}

.mow-story-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(0,57,82,0.14) !important;
}

/* ═══════════════════════════════════════════════════════
   INTERNAL PAGES — Role cards (Volunteer page)
   ═══════════════════════════════════════════════════════ */

.mow-role-card {
	transition: transform 0.2s, box-shadow 0.2s;
}

.mow-role-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(0,57,82,0.14) !important;
}

/* ═══════════════════════════════════════════════════════
   INTERNAL PAGES — Tier cards (Donate page)
   ═══════════════════════════════════════════════════════ */

.mow-tier-card {
	transition: transform 0.2s, box-shadow 0.2s;
	cursor: pointer;
}

.mow-tier-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(0,57,82,0.14) !important;
}

/* ═══════════════════════════════════════════════════════
   INTERNAL PAGES — Donation form active states
   ═══════════════════════════════════════════════════════ */

.mow-amount-pill {
	transition: background-color 0.2s, color 0.2s;
}

/* ═══════════════════════════════════════════════════════
   INTERNAL PAGES — Partner chips hover
   ═══════════════════════════════════════════════════════ */

.mow-partner-chip:hover {
	box-shadow: 0 8px 20px rgba(0,57,82,0.12) !important;
	transform: translateY(-2px);
}

/* ═══════════════════════════════════════════════════════
   INTERNAL PAGES — Menu day cards
   ═══════════════════════════════════════════════════════ */

.mow-menu-day-card {
	transition: transform 0.2s;
}

.mow-menu-day-card:hover {
	transform: translateY(-2px);
}

/* Menu day cells: stretch to equal height within each week row */
.wp-block-group[style*="min-height:220px"][style*="border-top-width:4px"] {
	height: 100%;
	display: flex;
	flex-direction: column;
}

/* Menu weekday header: force inner 5-column labels to fill full width
   so they align with the 5-column calendar grid below */
.menu-weekday-header > .wp-block-column > .wp-block-group > .wp-block-columns {
	width: 100%;
	flex: 1;
}
/* Remove the margin-bottom that card-columns inherit on the header wrapper */
.menu-weekday-header > .wp-block-column {
	margin-bottom: 0;
}
/* Prevent the weekday labels from stacking on tablet/mobile */
.menu-weekday-header > .wp-block-column > .wp-block-group > .wp-block-columns {
	flex-direction: row !important;
	flex-wrap: nowrap !important;
}
/* Override flex-direction:column on the weekday header navy group
   so it behaves as a horizontal flex container */
.menu-weekday-header > .wp-block-column > .wp-block-group {
	flex-direction: row !important;
}

/* ═══════════════════════════════════════════════════════
   MENU PDF TABS  (.menu-pdf-tabs)
   ═══════════════════════════════════════════════════════ */

.menu-pdf-tabs {
	display: flex;
	gap: 12px;
	justify-content: center;
	margin-bottom: 32px;
}

.menu-pdf-tab {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 28px;
	border-radius: 999px;
	font-family: var(--wp--preset--font-family--mada);
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s, transform 0.15s, box-shadow 0.15s;
	border: 2px solid var(--wp--preset--color--gray-2);
	background: #fff;
	color: var(--wp--preset--color--navy);
}

.menu-pdf-tab:hover {
	border-color: var(--wp--preset--color--navy);
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(0,57,82,0.10);
}

.menu-pdf-tab--active {
	background: var(--wp--preset--color--navy);
	color: #fff;
	border-color: var(--wp--preset--color--navy);
}

.menu-pdf-tab--active:hover {
	background: var(--wp--preset--color--navy-deep, #00263A);
	border-color: var(--wp--preset--color--navy-deep, #00263A);
}

.menu-pdf-tab-content {
	display: none;
}

.menu-pdf-tab-content--active {
	display: block;
}

.menu-pdf-download-card {
	background: #fff;
	border-radius: 24px;
	padding: 32px;
	box-shadow: 0 8px 24px rgba(0,57,82,0.06);
	border: 1px solid var(--wp--preset--color--gray-2);
	text-align: center;
	transition: transform 0.2s, box-shadow 0.2s;
}

.menu-pdf-download-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 36px rgba(0,57,82,0.12);
}

.menu-pdf-download-card__icon {
	width: 56px;
	height: 56px;
	border-radius: 16px;
	background: var(--wp--preset--color--navy);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
	font-size: 24px;
}

.menu-pdf-download-card__month {
	font-family: var(--wp--preset--font-family--mada);
	font-size: 18px;
	font-weight: 800;
	color: var(--wp--preset--color--navy);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 4px;
}

.menu-pdf-download-card__label {
	font-size: 13px;
	color: var(--mow-muted, #5A6E7A);
	margin-bottom: 20px;
}

.menu-pdf-download-card .wp-block-button__link {
	font-size: 12px;
	padding: 10px 22px;
}

@media (max-width: 600px) {
	.menu-pdf-tabs {
		flex-direction: column;
		align-items: center;
	}
	.menu-pdf-tab {
		width: 100%;
		max-width: 280px;
		justify-content: center;
	}
}

/* ═══════════════════════════════════════════════════════
   RESPONSIVE  (≤ 900px)
   ═══════════════════════════════════════════════════════ */

@media (max-width: 900px) {
	/* Columns stack */
	.wp-block-columns {
		flex-direction: column;
	}

	/* Stats: 2-col grid on tablet */
	.stats-overlap .wp-block-columns {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 16px;
	}
	.stats-overlap {
		margin-top: -30px !important;
	}

	/* Hide desktop nav */
	.primary-nav {
		display: none;
	}

	/* Dotted line: hide */
	.how-inner .wp-block-columns::before {
		display: none;
	}

	/* Reduce card padding */
	.hero-card .wp-block-column,
	.hero-light-card .wp-block-column {
		padding: 40px 28px !important;
	}
	.hero-photo-col {
		display: none;
	}
	.test-card {
		padding: 40px 28px;
	}
	.cta-card {
		padding: 40px 28px !important;
	}
	.cta-tiers {
		max-width: none;
	}

	/* Steps connector hide on mobile */
	.mow-steps-row::before {
		display: none;
	}
	.mow-steps-row {
		flex-direction: column !important;
		align-items: center;
		gap: 24px;
	}

	/* Timeline: handled in its own media query block above */
}

@media (max-width: 600px) {
	.stats-overlap .wp-block-columns {
		grid-template-columns: 1fr;
	}
}

/* ═══════════════════════════════════════════════════════
   PRINT
   ═══════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════
   CONTACT PAGE — Decorative Map Card
   ═══════════════════════════════════════════════════════ */

.contact-map-card {
	background:
		linear-gradient(rgba(255,255,255,0.4), rgba(255,255,255,0.4)),
		repeating-linear-gradient(0deg, rgba(0,183,196,0.15) 0 1px, transparent 1px 60px),
		repeating-linear-gradient(90deg, rgba(0,183,196,0.15) 0 1px, transparent 1px 60px),
		#FFFFFF !important;
	position: relative;
	overflow: hidden;
}
.contact-map-card::before {
	content: "";
	position: absolute;
	top: 35%;
	left: 18%;
	width: 64%;
	height: 6px;
	background: rgba(240,73,37,0.12);
	border-radius: 3px;
	transform: rotate(-3deg);
	pointer-events: none;
}
.contact-map-card::after {
	content: "";
	position: absolute;
	top: 60%;
	left: 8%;
	width: 50%;
	height: 5px;
	background: #F7F8F9;
	border-radius: 3px;
	transform: rotate(2deg);
	pointer-events: none;
}
.contact-map-card > * {
	position: relative;
	z-index: 1;
}

/* Contact info card icon backgrounds */
.contact-icon-lime {
	background: rgba(171,208,55,0.18) !important;
}

/* Contact info card: white row padding */
.contact-info-card .wp-block-group.has-white-background-color {
	padding: 16px 18px;
	border-left: 0 !important;
}

/* Social links in contact info card — ensure white bg with navy icons */
.contact-info-card .wp-block-social-links.has-icon-background-color .wp-block-social-link {
	transition: transform 0.15s, background-color 0.15s;
}
.contact-info-card .wp-block-social-links.has-icon-background-color .wp-block-social-link:hover {
	transform: translateY(-2px);
	background-color: var(--wp--preset--color--lime) !important;
}

/* ═══════════════════════════════════════════════════════
   CONTACT PAGE — FAQ Card Hover
   ═══════════════════════════════════════════════════════ */

.wp-block-group[style*="box-shadow: 0 8px 24px"] {
	transition: transform 0.2s, box-shadow 0.2s;
}
.wp-block-group[style*="box-shadow: 0 8px 24px"]:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 36px rgba(31,58,95,0.1) !important;
}

/* ═══════════════════════════════════════════════════════
   CONTACT PAGE — Newsletter card peach decorative blob
   ═══════════════════════════════════════════════════════ */

.wp-block-group[style*="background-color:rgba(240,73,37,0.12)"] {
	position: relative;
	overflow: hidden;
}
.wp-block-group[style*="background-color:rgba(240,73,37,0.12)"]::before {
	content: "";
	position: absolute;
	top: -80px;
	right: -80px;
	width: 240px;
	height: 240px;
	border-radius: 50%;
	background: #F7F8F9;
	opacity: 0.7;
	pointer-events: none;
}
.wp-block-group[style*="background-color:rgba(240,73,37,0.12)"] > * {
	position: relative;
	z-index: 1;
}

/* ═══════════════════════════════════════════════════════
   WPFORMS — Brand-matched button & field styling
   ═══════════════════════════════════════════════════════ */

/* Form container: fill available card space */
.wpforms-container {
	width: 100%;
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
}
.wpforms-container .wpforms-form {
	width: 100%;
}

/* Fields: full-width, generous padding, 16px font to prevent mobile zoom */
.wpforms-container .wpforms-field input[type="text"],
.wpforms-container .wpforms-field input[type="email"],
.wpforms-container .wpforms-field input[type="tel"],
.wpforms-container .wpforms-field input[type="url"],
.wpforms-container .wpforms-field input[type="number"],
.wpforms-container .wpforms-field input[type="date"],
.wpforms-container .wpforms-field input[type="password"] {
	width: 100% !important;
	box-sizing: border-box !important;
	border: 2px solid var(--wp--preset--color--gray-2) !important;
	border-radius: 14px !important;
	padding: 14px 18px !important;
	font-family: var(--wp--preset--font-family--barlow-semi-condensed) !important;
	font-size: 16px !important;
	line-height: 1.4 !important;
	color: var(--wp--preset--color--navy) !important;
	background: #fff !important;
	transition: border-color 0.2s, box-shadow 0.2s !important;
}
.wpforms-container .wpforms-field textarea {
	width: 100% !important;
	box-sizing: border-box !important;
	border: 2px solid var(--wp--preset--color--gray-2) !important;
	border-radius: 14px !important;
	padding: 14px 18px !important;
	font-family: var(--wp--preset--font-family--barlow-semi-condensed) !important;
	font-size: 16px !important;
	line-height: 1.5 !important;
	color: var(--wp--preset--color--navy) !important;
	background: #fff !important;
	transition: border-color 0.2s, box-shadow 0.2s !important;
	min-height: 140px !important;
	resize: vertical !important;
}
.wpforms-container .wpforms-field select {
	width: 100% !important;
	box-sizing: border-box !important;
	border: 2px solid var(--wp--preset--color--gray-2) !important;
	border-radius: 14px !important;
	padding: 14px 18px !important;
	font-family: var(--wp--preset--font-family--barlow-semi-condensed) !important;
	font-size: 16px !important;
	line-height: 1.4 !important;
	color: var(--wp--preset--color--navy) !important;
	background: #fff !important;
	transition: border-color 0.2s, box-shadow 0.2s !important;
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23003952' stroke-width='2' fill='none'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 18px center !important;
	padding-right: 44px !important;
}

/* Focus state: navy border with subtle glow */
.wpforms-container .wpforms-field input[type="text"]:focus,
.wpforms-container .wpforms-field input[type="email"]:focus,
.wpforms-container .wpforms-field input[type="tel"]:focus,
.wpforms-container .wpforms-field input[type="url"]:focus,
.wpforms-container .wpforms-field input[type="number"]:focus,
.wpforms-container .wpforms-field input[type="date"]:focus,
.wpforms-container .wpforms-field input[type="password"]:focus,
.wpforms-container .wpforms-field textarea:focus,
.wpforms-container .wpforms-field select:focus {
	border-color: var(--wp--preset--color--navy) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(0,57,82,0.12) !important;
}

/* Placeholder text */
.wpforms-container .wpforms-field input::placeholder,
.wpforms-container .wpforms-field textarea::placeholder {
	color: var(--wp--preset--color--gray-3) !important;
	opacity: 1 !important;
}

/* Labels */
.wpforms-container .wpforms-field-label {
	font-family: var(--wp--preset--font-family--mada) !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	color: var(--wp--preset--color--navy) !important;
	margin-bottom: 8px !important;
}

/* Sub-labels and descriptions */
.wpforms-container .wpforms-field-sublabel,
.wpforms-container .wpforms-field-description {
	font-family: var(--wp--preset--font-family--barlow-semi-condensed) !important;
	font-size: 13px !important;
	color: var(--mow-muted) !important;
}

/* Field spacing */
.wpforms-container .wpforms-field {
	margin-bottom: 20px !important;
}

/* Submit button: full-width, navy, pill-shaped, bold uppercase */
.wpforms-container .wpforms-submit-container {
	width: 100% !important;
	padding-top: 8px !important;
}
.wpforms-container button[type="submit"],
.wpforms-container .wpforms-submit {
	width: 100% !important;
	display: block !important;
	background-color: var(--wp--preset--color--navy) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 16px 28px !important;
	font-family: var(--wp--preset--font-family--mada) !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	cursor: pointer;
	transition: background-color .2s, transform .15s, box-shadow .15s !important;
	line-height: 1.2 !important;
	text-align: center !important;
}
.wpforms-container button[type="submit"]:hover,
.wpforms-container .wpforms-submit:hover {
	background-color: var(--wp--preset--color--navy-deep, #00263A) !important;
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(0,57,82,0.22) !important;
}

/* Required asterisk color */
.wpforms-container .wpforms-required-label {
	color: var(--wp--preset--color--orange) !important;
}

/* Error states */
.wpforms-container .wpforms-field.wpforms-has-error input,
.wpforms-container .wpforms-field.wpforms-has-error textarea,
.wpforms-container .wpforms-field.wpforms-has-error select {
	border-color: var(--wp--preset--color--orange) !important;
}
.wpforms-container .wpforms-error {
	font-family: var(--wp--preset--font-family--barlow-semi-condensed) !important;
	font-size: 13px !important;
	color: var(--wp--preset--color--orange) !important;
}

/* ═══════════════════════════════════════════════════════
   DONATE PAGE — Form card & percentage bar fixes
   ═══════════════════════════════════════════════════════ */

/* --- Percentage bars (Where Your Dollars Go) ---
   WordPress global constrained layout centers bar fills
   with margin-left/right: auto !important.
   Override to left-align the colored fill within each track. */
.donate-bars .has-gray-2-background-color > .wp-block-group[style*="min-height:14px"] {
	margin-left: 0 !important;
	margin-right: auto !important;
	max-width: none !important;
}

/* Bar row spacing: global group+group rule forces 32px;
   restore intended 20px between bar rows. */
.donate-bars.wp-block-group > .wp-block-group + .wp-block-group {
	margin-top: 20px;
}

/* Bar label-to-track gap: global group+group forces 32px;
   restore intended 12px between the label flex-row and
   its bar track below. */
.donate-bars .wp-block-group.is-layout-constrained > .wp-block-group.is-layout-flex + .wp-block-group.has-gray-2-background-color {
	margin-top: 12px;
}

/* --- Donation form card (.donate-form-card) --- */

/* Frequency toggle: children must stretch to fill the
   toggle track; justify-content:stretch alone does not
   grow flex items. */
.donate-form-card .is-content-justification-stretch.is-nowrap.is-layout-flex > .wp-block-group {
	flex: 1 1 0%;
}

/* Group-to-group spacing: the global .wp-block-group >
   .wp-block-group + .wp-block-group rule forces 32px;
   restore the form card's intended 24px block gap. */
.donate-form-card.wp-block-group > .wp-block-group + .wp-block-group {
	margin-top: 24px;
}

/* Heading-to-columns spacing inside form card */
.donate-form-card.wp-block-group > .wp-block-heading + .wp-block-columns {
	margin-top: 16px;
}

/* Inner columns: remove global card-row bottom margin
   that pushes form field rows apart. */
.donate-form-card .wp-block-columns > .wp-block-column {
	margin-bottom: 0;
}

/* Form field groups: prevent vertical stretch from
   the equal-height card rule. */
.donate-form-card .wp-block-columns > .wp-block-column > .wp-block-group[style*="border-width:1px"] {
	flex: 0 0 auto;
}

/* Amount pills: consistent minimum width so all pills
   look uniform regardless of content length. */
.donate-form-card .is-layout-flex:not(.is-nowrap) > .wp-block-group[style*="border-radius:999px"][style*="border-width:2px"] {
	min-width: 100px;
}

/* Center pill eyebrows in section header groups.
   The pill is display:inline-block, so we need to either make it block+margin:auto
   or have the parent center it. Making it block with centered margin is safest. */
.wp-block-group.is-layout-constrained > .wp-block-mow-pill-eyebrow {
	display: flex;
	justify-content: center;
}

/* Override constrained layout centering inside donate form card.
   WP adds margin-left/right:auto to children of is-layout-constrained,
   which misaligns form fields and their inner text.
   First rule: direct children of the form card itself.
   Second rule: children of nested constrained groups (field boxes). */
.donate-form-card.is-layout-constrained > *,
.donate-form-card .is-layout-constrained > * {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* --- Tier cards (5-column row above form) ---
   On tablet, switch from stacking to a 2-col grid so
   the cards read like a compact grid instead of a
   long vertical list. */
@media (max-width: 900px) {
	.wp-block-columns:has(> .wp-block-column:nth-child(5)) {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
		flex-direction: unset;
	}
	.wp-block-columns:has(> .wp-block-column:nth-child(5)) > .wp-block-column:nth-child(5) {
		grid-column: 1 / -1;
		max-width: 50%;
		margin: 0 auto;
	}
}

@media print {
	.site-header,
	.site-footer,
	.tagline-strip,
	.wp-block-navigation,
	.wp-block-template-part,
	.mow-month-nav__pager,
	.wp-block-button {
		display: none !important;
	}
	body {
		background: white !important;
		font-size: 11pt;
	}
	.mow-menu-calendar { break-inside: avoid; }
	.mow-menu-day { break-inside: avoid; box-shadow: none !important; border: 1px solid #ccc !important; }
	.mow-menu-week { break-inside: avoid; }
	a[href]::after { content: none; }
}

/* ═══════════════════════════════════════════════════════
   SINGLE EVENT PAGE
   ═══════════════════════════════════════════════════════ */

.single-event .event-hero__card {
	overflow: hidden;
}
.single-event .event-hero__image-col {
	align-self: stretch;
}
.single-event .event-hero__image-col figure {
	margin: 0;
	height: 100%;
	max-height: none !important;
}
.single-event .event-hero__image-col figure img {
	width: 100%;
	height: 100%;
	min-height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 0 36px 36px 0 !important;
}
.single-event .wp-block-post-terms a {
	color: var(--wp--preset--color--lime) !important;
	text-decoration: none;
}

/* Event detail bar */
.mow-event-detail {
	background: #fff;
	border: 1px solid var(--wp--preset--color--gray-2);
	border-radius: 28px;
	padding: 36px 40px;
	margin-top: -32px;
	position: relative;
	z-index: 2;
	box-shadow: 0 12px 40px rgba(0, 57, 82, 0.08);
}
.mow-event-detail__category {
	display: inline-block;
	font-family: var(--wp--preset--font-family--mada);
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 6px 16px;
	border-radius: 999px;
	margin-bottom: 24px;
}
.mow-event-detail__category--orange {
	background: rgba(240, 73, 37, 0.12);
	color: var(--wp--preset--color--navy);
}
.mow-event-detail__category--lime {
	background: rgba(171, 208, 55, 0.18);
	color: var(--wp--preset--color--navy);
}
.mow-event-detail__category--teal {
	background: rgba(0, 183, 196, 0.15);
	color: var(--wp--preset--color--navy);
}
.mow-event-detail__category--magenta {
	background: rgba(186, 55, 124, 0.12);
	color: var(--wp--preset--color--navy);
}
.mow-event-detail__cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 24px;
}
.mow-event-detail__card {
	display: flex;
	gap: 16px;
	align-items: flex-start;
}
.mow-event-detail__icon {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	background: var(--wp--preset--color--gray-1);
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--teal);
}
.mow-event-detail__info {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.mow-event-detail__label {
	font-family: var(--wp--preset--font-family--mada);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--mow-muted);
}
.mow-event-detail__value {
	font-family: var(--wp--preset--font-family--mada);
	font-size: 17px;
	font-weight: 800;
	color: var(--wp--preset--color--navy);
}
.mow-event-detail__sub {
	font-size: 14px;
	color: var(--mow-muted);
	line-height: 1.4;
}
.mow-event-detail__cta {
	margin-top: 28px;
}
.mow-event-detail__btn {
	display: inline-block;
	background: var(--wp--preset--color--lime);
	color: var(--wp--preset--color--navy);
	font-family: var(--wp--preset--font-family--mada);
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 14px 32px;
	border-radius: 999px;
	text-decoration: none;
	transition: background 0.15s, transform 0.15s;
}
.mow-event-detail__btn:hover {
	background: var(--wp--preset--color--lime-dark);
	transform: translateY(-1px);
}
.mow-event-detail__map {
	margin-top: 16px;
}
.mow-event-detail__map-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 600;
	color: var(--wp--preset--color--teal);
	text-decoration: none;
	transition: color 0.15s;
}
.mow-event-detail__map-link:hover {
	color: var(--wp--preset--color--navy);
}

@media (max-width: 782px) {
	.single-event .event-hero__card .wp-block-columns {
		flex-direction: column !important;
	}
	.single-event .event-hero__image-col {
		order: -1;
	}
	.single-event .event-hero__image-col img {
		border-radius: 36px 36px 0 0 !important;
		max-height: 260px;
	}
	.single-event .event-hero__card .wp-block-column:first-child {
		padding: 32px 24px !important;
	}
	.mow-event-detail {
		padding: 24px 20px;
		margin-top: -16px;
	}
	.mow-event-detail__cards {
		grid-template-columns: 1fr;
	}
}
