/* =============================================================================
   Maui FitPro — Main Stylesheet
   Matches mauiathletics.com design exactly.
   ============================================================================= */

/* ── Variables ─────────────────────────────────────────────────────────────── */
:root {
	--maui-teal:     #0ab6f5;
	--maui-red:      #E80107;
	--maui-dark:     #353535;
	--maui-grey:     #ededed;
	--maui-white:    #ffffff;
	--maui-text:     #353535;
	--maui-muted:    #666666;
	--maui-font-heading: 'Titillium Web', Arial, sans-serif;
	--maui-font-body:    'Lato', Arial, sans-serif;
	--maui-container:    1170px;
	--maui-header-h:     90px;
	--maui-topbar-h:     36px;
	--maui-transition:   0.2s ease;
}

/* ── Reset / Base ──────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	padding: 0;
	font-family: var(--maui-font-body);
	font-size: 16px;
	line-height: 1.6;
	color: var(--maui-text);
	background: #fff;
	overflow-x: hidden;
}
html {
	overflow-x: hidden;
}

img { max-width: 100%; height: auto; display: block; }
a { color: var(--maui-teal); text-decoration: none; transition: color var(--maui-transition); }
a:hover { color: var(--maui-dark); }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--maui-font-heading);
	font-weight: 400;
	line-height: 1.2;
	margin: 0 0 0.5em;
}

p { margin: 0 0 1em; }
ul, ol { margin: 0; padding: 0; list-style: none; }

/* ── Accessibility ─────────────────────────────────────────────────────────── */
.maui-sr-only {
	position: absolute;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
	border: 0;
}

/* ── Container ─────────────────────────────────────────────────────────────── */
.maui-container {
	max-width: var(--maui-container);
	margin: 0 auto;
	padding: 0 20px;
}
.maui-container--flush {
	padding: 0;
}

/* ── Buttons ───────────────────────────────────────────────────────────────── */
.maui-btn {
	display: inline-block;
	padding: 0.65em 1.6em;
	font-family: var(--maui-font-heading);
	font-size: 0.9rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	border: none;
	cursor: pointer;
	transition: background var(--maui-transition), color var(--maui-transition);
}
.maui-btn--teal {
	background-color: rgb(27, 228, 222);
	background-image: none;
	color: rgb(0, 0, 0);
	display: inline-block;
	font-family: 'Titillium Web', sans-serif;
	font-size: 15px;
	font-weight: 600; /* 500 not available in Titillium, use 600 */
	font-style: normal;
	letter-spacing: 0.375px;
	line-height: 20px;
	padding: 18px 22.5px;
	border-radius: 4px;
	border: none;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;
	text-rendering: optimizeLegibility;
	transition: all 0.3s ease;
	cursor: pointer;
}
.maui-btn--teal:hover {
	background-color: rgb(10, 182, 245);
	color: rgb(0, 0, 0);
}

/* ── Eyebrow labels ────────────────────────────────────────────────────────── */
.maui-eyebrow {
	font-family: 'Titillium Web', sans-serif;
	font-size: 1.247rem; /* ~19.95px */
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--maui-text);
	margin-bottom: 0.32em;
}
.maui-eyebrow--white { color: #fff; }

/* ── Section utility ───────────────────────────────────────────────────────── */
.maui-section {
	padding: 4em 0;
}
.maui-section--grey {
	background: var(--maui-grey);
}
.maui-section__heading {
	font-size: clamp(1.8rem, 3vw, 2.5rem);
	font-weight: 400;
	margin-bottom: 0.48em;
}
.maui-section__heading b,
.maui-section__heading strong {
	font-weight: 700;
}

/* =============================================================================
   TOP BAR
   ============================================================================= */
.maui-top-bar {
	background: var(--maui-dark);
	color: rgba(255,255,255,0.75);
	font-size: 0.8rem;
	min-height: var(--maui-topbar-h);
	display: flex;
	align-items: center;
}
.maui-top-bar__inner {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding: 0 1.5rem;
	max-width: var(--maui-container);
	margin: 0 auto;
}
.maui-top-bar__text {
	letter-spacing: 0.02em;
	color: rgba(255,255,255,0.75);
	font-size: 0.8rem;
}

/* =============================================================================
   HEADER — Split teal/white layout, always visible, no transparency
   ============================================================================= */
.maui-header {
	position: sticky;
	top: 0;
	z-index: 100;
	height: var(--maui-header-h);
	box-shadow: 0 2px 8px rgba(0,0,0,0.15);
	/* White bg for right side — brand teal comes from child element */
	background: #ffffff;
}

/* Constrained inner — max-width matches container */
.maui-header__inner {
	display: flex;
	align-items: stretch;
	height: 100%;
	max-width: var(--maui-container);
	margin: 0 auto;
	/* Allow brand teal to bleed left — padding handled by brand itself */
}

/* Teal left side — logo */
.maui-header__brand {
	background: var(--maui-teal);
	display: flex;
	align-items: center;
	padding: 0 2rem;
	flex-shrink: 0;
	position: relative;
}
/* Bleed teal colour to the left viewport edge at any screen width — no calc tricks */
.maui-header__brand::before {
	content: '';
	position: absolute;
	right: 100%;
	top: 0;
	bottom: 0;
	width: 100vw;
	background: var(--maui-teal);
	pointer-events: none;
}
.maui-header__brand img,
.maui-header__brand .custom-logo-link img {
	height: 52px;
	width: auto;
	display: block;
}
.maui-header__brand .custom-logo-link {
	display: block;
}
.maui-header__site-title {
	font-family: var(--maui-font-heading);
	font-size: 1.4rem;
	font-weight: 700;
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* White right side — nav */
.maui-header__nav-wrap {
	background: #ffffff;
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding: 0 20px;
}

/* Nav list */
.maui-nav__list {
	display: flex;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
}
.maui-nav__list li a {
	display: block;
	padding: 0 0.85rem;
	font-family: var(--maui-font-heading);
	font-size: 0.98rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--maui-dark);
	line-height: var(--maui-header-h);
	white-space: nowrap;
	transition: color var(--maui-transition);
}
.maui-nav__list li a:hover,
.maui-nav__list li.current-menu-item > a {
	color: var(--maui-teal);
}

/* Client Portal button — add CSS class "portal-btn" to menu item in WP menu editor */
.maui-nav__list li a.portal-btn,
.maui-nav__list .portal-btn > a {
	background: var(--maui-alt-blue);
	color: #fff !important;
	line-height: 1;
	padding: 0.55em 1.2em;
	margin-left: 0.75rem;
	border-radius: 2px;
	font-weight: 600;
	align-self: center;
}
.maui-nav__list li a.portal-btn:hover,
.maui-nav__list .portal-btn > a:hover {
	background: var(--maui-alt-blue-hover);
	color: #fff !important;
}

/* Hamburger (mobile only) */
.maui-header__hamburger {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	background: var(--maui-teal);
	border: none;
	cursor: pointer;
	padding: 0 1.2rem;
	align-self: stretch;
	flex-shrink: 0;
	position: relative;
}
/* Bleed teal to the right viewport edge */
.maui-header__hamburger::after {
	content: '';
	position: absolute;
	left: 100%;
	top: 0;
	bottom: 0;
	width: 100vw;
	background: var(--maui-teal);
	pointer-events: none;
	z-index: -1;
}
.maui-header__hamburger span {
	display: block;
	width: 24px;
	height: 2px;
	background: #fff;
	position: relative;
	z-index: 1;
}

/* =============================================================================
   MOBILE NAV
   ============================================================================= */
.maui-mobile-nav {
	position: fixed;
	top: 0;
	left: 0;
	width: 280px;
	height: 100%;
	background: var(--maui-dark);
	z-index: 9999;
	padding: 2rem 1.5rem;
	overflow-y: auto;
	transform: translateX(-100%);
	transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.maui-mobile-nav.is-open {
	transform: translateX(0);
}
.maui-mobile-nav__close {
	background: none;
	border: none;
	color: rgba(255,255,255,0.7);
	font-family: var(--maui-font-heading);
	font-size: 0.9rem;
	text-transform: uppercase;
	cursor: pointer;
	padding: 0;
	margin-bottom: 1.5rem;
	display: block;
}
.maui-mobile-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.maui-mobile-nav__list li a {
	display: block;
	padding: 0.75rem 0;
	color: #fff;
	font-family: var(--maui-font-heading);
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border-bottom: 1px solid rgba(255,255,255,0.1);
}
.maui-mobile-nav__portal {
	display: block;
	margin-top: 1.5rem;
	color: var(--maui-teal);
	font-family: var(--maui-font-heading);
	font-size: 0.9rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.maui-mobile-nav__mask {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.5);
	z-index: 9998;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.maui-mobile-nav__mask.is-visible {
	opacity: 1;
	pointer-events: auto;
}

/* =============================================================================
   HERO
   ============================================================================= */
.maui-hero {
	position: relative;
	min-height: var(--maui-hero-min-height, 90vh);
	display: flex;
	align-items: center;
	justify-content: flex-end;
	overflow: hidden;
	background: var(--maui-dark);
}
.maui-hero__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center top;
	z-index: 0;
}
.maui-hero__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
}
.maui-hero__content {
	position: relative;
	z-index: 2;
	text-align: right;
	padding: 2rem 380px 2rem 0;
}
.maui-hero__headline {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
}
/* Hero text lines */
.maui-hero__line {
	display: block;
	font-family: var(--maui-font-heading);
	color: #fff;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	line-height: 1.05;
	/* Start hidden for animation */
	opacity: 0;
	transform: translateX(60px);
	transition: opacity 0.7s ease, transform 0.7s ease;
}
.maui-hero__line--1 { font-size: clamp(2rem, 5vw, 4.375rem); }
.maui-hero__line--2 { font-size: clamp(1.2rem, 3vw, 3.125rem); }
.maui-hero__line--3 { font-size: clamp(2rem, 5vw, 4.375rem); }

/* Red bold words in hero */
.maui-hero__line strong {
	color: var(--maui-red);
	font-weight: 900;
	font-size: 120%;
}

/* Animation — lines slide in on load */
.hero-loaded .maui-hero__line--1 {
	opacity: 1;
	transform: translateX(0);
	transition-delay: 0.1s;
}
.hero-loaded .maui-hero__line--2 {
	opacity: 1;
	transform: translateX(0);
	transition-delay: 0.35s;
}
.hero-loaded .maui-hero__line--3 {
	opacity: 1;
	transform: translateX(0);
	transition-delay: 0.2s;
}

/* =============================================================================
   INTRO SECTION
   ============================================================================= */
.maui-intro {
	background: #fff;
	padding: 2em 0;
}
.maui-intro__btn-wrap {
	margin-bottom: 4.6em;
}
/* Eyebrow */
.maui-intro .maui-eyebrow {
	font-size: 1.247rem;
	color: var(--maui-dark);
	margin-bottom: 0.32em;
}
/* Homepage h1 — exact same style as global h2 standard, scoped to intro */
.maui-intro__heading {
	font-family: 'Titillium Web', sans-serif;
	font-size: clamp(1.8rem, 5vw, 4.06rem);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	line-height: 1.1;
	margin-bottom: 0.48em;
	color: var(--maui-dark);
}
.maui-intro__heading b,
.maui-intro__heading strong {
	font-weight: 900;
	color: #E80107;
}
.maui-intro__body {
	font-size: 0.92em;
	line-height: 1.7;
	margin-bottom: 2.9em;
	max-width: none;
}
.maui-intro__body strong {
	font-weight: 700;
}

/* Service boxes */
.maui-services {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}
.maui-services__item {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}
.maui-services__numb {
	flex-shrink: 0;
}
.maui-services__numb span {
	font-family: 'Titillium Web', sans-serif;
	font-size: 120px;
	font-weight: 700;
	color: rgb(27, 228, 222);
	line-height: 1;
}
.maui-services__title {
	font-family: 'Titillium Web', sans-serif;
	font-size: 30px;
	font-weight: 600;
	font-style: normal;
	letter-spacing: 0.75px;
	margin-bottom: 0.4em;
	text-transform: none;
	color: rgb(53, 53, 53);
}
.maui-services__desc {
	font-size: 0.9rem;
	color: var(--maui-muted);
	line-height: 1.6;
	margin: 0;
}

/* =============================================================================
   RESULTS SECTION
   ============================================================================= */
.maui-results {
	text-align: left;
	padding-bottom: 5rem; /* extra room for slick dots */
}
.maui-results .maui-eyebrow { margin-bottom: 0.32em; }
.maui-results .maui-section__heading { margin-bottom: 1em; }
.maui-results__btn-wrap {
	margin-top: 4.5em;
}

/* Slick slider */
.maui-results-slider {
	margin: 0 -10px;
}
.maui-results-slider .slick-slide {
	padding: 0 10px;
}
/* Uniform image height — all slides same size */
.maui-results-slider__item {
	height: 500px;
	max-height: 500px;
	overflow: hidden;
	display: flex !important;
	align-items: center;
	justify-content: center;
	background: #f5f5f5;
}
.maui-results-slider__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
/* Teal square dot buttons matching old site */
.maui-results-slider .slick-dots {
	bottom: -40px;
	display: flex !important;
	flex-wrap: wrap;
	justify-content: flex-start;
	padding: 0;
	margin: 0;
	list-style: none;
	gap: 4px;
}
.maui-results-slider .slick-dots li {
	width: 20px;
	height: 20px;
	margin: 0 3px;
}
.maui-results-slider .slick-dots li button {
	width: 20px !important;
	height: 20px !important;
	padding: 5px !important;
	background-color: rgb(27, 228, 222) !important;
	border-radius: 4px !important;
	border: none !important;
	cursor: pointer;
	display: block !important;
	transition: all 0.3s ease;
}
.maui-results-slider .slick-dots li button::before {
	display: none !important;
}
.maui-results-slider .slick-dots li.slick-active button {
	background-color: rgb(10, 160, 200) !important;
}

/* =============================================================================
   BLOG SECTION
   ============================================================================= */
.maui-blog-section {
	margin: 0;
	padding: 0;
}

/* Dark banner — 280px fixed height, content vertically centered */
.maui-blog-section__banner {
	background-color: var(--maui-dark);
	background-size: cover;
	background-position: center;
	min-height: 280px;
	display: flex;
	align-items: center;
}
.maui-blog-section__heading {
	color: #fff;
	font-family: var(--maui-font-heading);
	font-size: clamp(2rem, 4vw, 3.8rem);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	line-height: 1.1;
	margin: 0;
}
/* Bold part = red accent */
.maui-blog-section__heading b,
.maui-blog-section__heading strong {
	font-weight: 700;
	color: var(--maui-red);
}

/* Cards — full bleed, no container padding */
.maui-blog-section__cards {
	background: transparent;
}
.maui-blog-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	/* No gap — cards are flush */
}

/* Each card is a square with image bg and permanent dark overlay */
.maui-blog-card {
	position: relative;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Image sits as position:absolute background */
.maui-blog-card__img {
	position: absolute;
	inset: 0;
	z-index: 0;
}
.maui-blog-card__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}
.maui-blog-card:hover .maui-blog-card__img img {
	transform: scale(1.04);
}

/* Permanent dark overlay — uses CSS var so Customizer can control opacity */
.maui-blog-card::before {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, var(--blog-overlay-opacity, 0.72));
	z-index: 1;
	transition: background 0.3s ease;
}
/* Darker on hover */
.maui-blog-card:hover::before {
	background: rgba(200, 30, 0, 0.82);
}

/* Info block — centered in card */
.maui-blog-card .info {
	position: relative;
	z-index: 2;
	padding: 1.5rem;
	width: 100%;
	text-align: center;
}
.info-back {
	text-align: center;
	color: #fff;
}
.maui-blog-card__title {
	font-family: var(--maui-font-heading);
	font-size: clamp(1.1rem, 1.8vw, 1.5rem);
	font-weight: 700;
	margin-bottom: 0.6rem;
	line-height: 1.3;
	text-align: center;
}
.maui-blog-card__title a {
	color: #fff;
	text-decoration: none;
}
.maui-blog-card__excerpt {
	font-size: 0.82rem;
	color: rgba(255,255,255,0.9);
	line-height: 1.55;
	text-align: center;
}
.maui-blog-card__excerpt p { margin: 0 0 0.75em; }
.maui-readmore {
	display: inline-block;
	font-family: var(--maui-font-heading);
	font-size: 0.82rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #fff;
	text-decoration: none;
	transition: color var(--maui-transition);
	margin-top: 0.25em;
}
.maui-readmore span::after {
	content: ' →';
}
.maui-readmore:hover {
	color: rgba(255,255,255,0.7);
}

/* =============================================================================
   OHANA SECTION
   ============================================================================= */
.maui-ohana {
	background: #fff;
	text-align: left;
	padding: 4em 0;
}
.maui-ohana__heading {
	font-family: var(--maui-font-heading);
	font-size: clamp(2rem, 4vw, 3.2rem);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	line-height: 1.1;
	margin-bottom: 0.52em;
	color: var(--maui-dark);
}
.maui-ohana__heading b,
.maui-ohana__heading strong {
	font-weight: 700;
	color: var(--maui-red);
}
.maui-ohana__heading a {
	color: inherit;
	text-decoration: none;
}
.maui-ohana__heading a:hover {
	text-decoration: underline;
}
.maui-ohana__body {
	font-size: 1rem;
	line-height: 1.7;
	max-width: none;
	color: var(--maui-text);
}

/* =============================================================================
   NEWSLETTER SECTION
   ============================================================================= */
.maui-newsletter {
	background-color: var(--maui-dark);
	background-size: cover;
	background-position: center;
	padding: 8.3em 0;
}
.maui-newsletter__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
	align-items: center;
}
.maui-newsletter__heading {
	color: #fff;
	font-family: 'Titillium Web', sans-serif;
	font-size: clamp(1.8rem, 5vw, 4.06rem);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	line-height: 1.1;
	margin-bottom: 0.5rem;
}
.maui-newsletter__heading b,
.maui-newsletter__heading strong {
	font-weight: 900;
	color: #E80107;
	display: block; /* forces line break after plain text */
}
.maui-newsletter__subline {
	color: rgba(255,255,255,0.9);
	font-size: 1rem;
	margin-bottom: 0.75rem;
}
.maui-newsletter__body {
	color: rgba(255,255,255,0.8);
	font-size: 0.95rem;
	line-height: 1.7;
}
/* WPForms label overrides in dark context */
.maui-newsletter #wpforms-9942 .wpforms-field-label,
.maui-newsletter .wpforms-field-label {
	color: #fff !important;
}
.maui-newsletter .wpforms-submit {
	width: 100%;
	background-color: rgb(27, 228, 222) !important;
}

/* =============================================================================
   FOOTER
   ============================================================================= */
.maui-footer {
	background-color: var(--maui-dark);
	background-image: url('/wp-content/uploads/2026/03/footer_bg.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	color: #fff;
	padding: 5rem 0 3rem;
}
.maui-footer__columns {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
}
.maui-footer__col--brand .custom-logo-link img,
.maui-footer__col--brand .maui-footer__logo-img,
.maui-footer__col--brand img {
	height: 52px;
	width: auto;
	margin-bottom: 1rem;
	filter: brightness(0) invert(1);
	display: block;
}
.maui-footer__logo-link {
	display: inline-block;
}
.maui-footer__logo-text {
	font-family: var(--maui-font-heading);
	font-size: 1.2rem;
	color: #fff;
	font-weight: 700;
	text-transform: uppercase;
}
.maui-footer__tagline {
	font-size: 0.85rem;
	color: rgba(255,255,255,0.7);
	line-height: 1.5;
	margin-bottom: 1rem;
}
.maui-footer__socials {
	display: flex;
	gap: 0.75rem;
	margin-top: 0.5rem;
}
.maui-social-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px; height: 42px;
	border-radius: 50%;
	background: var(--maui-teal);
	color: #000;
	font-size: 1.1rem;
	transition: background var(--maui-transition), transform 0.2s ease;
	flex-shrink: 0;
	text-decoration: none;
}
.maui-social-icon:hover {
	background: var(--maui-teal-hover);
	color: #000;
	transform: scale(1.08);
}
.maui-social-icon i { line-height: 1; }

.maui-footer__col-title {
	font-family: var(--maui-font-heading);
	font-size: 2rem;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0.02em;
	color: #fff;
	margin-bottom: 1rem;
}
.maui-footer__links {
	list-style: none;
	margin: 0; padding: 0;
}
.maui-footer__links li {
	border-bottom: 0.7px solid rgb(53, 53, 53);
}
.maui-footer__links li:first-child {
	border-top: 0.7px solid rgb(53, 53, 53);
}
.maui-footer__links li a {
	display: block;
	color: rgba(255,255,255,0.65);
	font-size: 0.9rem;
	padding: 0.4rem 0;
	transition: color var(--maui-transition);
}
.maui-footer__links li a:hover {
	color: var(--maui-teal);
}
/* Widget area styles in footer */
.maui-footer .footer-widget h5,
.maui-footer .footer-widget-title,
.maui-footer .widget_title {
	font-family: var(--maui-font-heading);
	font-size: 1rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #fff;
	margin-bottom: 1rem;
}
.maui-footer .footer-widget p,
.maui-footer .footer-widget li,
.maui-footer .footer-widget a {
	color: rgba(255,255,255,0.65);
	font-size: 0.9rem;
	line-height: 1.7;
}
.maui-footer .footer-widget a:hover {
	color: var(--maui-teal);
}
.maui-footer .wp-block-list,
.maui-footer .sc_list {
	list-style: none;
	padding: 0; margin: 0;
}
.maui-footer .wp-block-list li,
.maui-footer .sc_list li {
	padding: 0.25rem 0;
	color: rgba(255,255,255,0.65);
	font-size: 0.9rem;
}

/* Copyright bar */
.maui-copyright-bar {
	background: #222;
	padding: 0.75rem 0;
}
.maui-copyright-bar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.maui-copyright-bar__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	list-style: none;
	margin: 0; padding: 0;
}
.maui-copyright-bar__nav li a {
	color: rgba(255,255,255,0.5);
	font-size: 0.78rem;
	padding: 0 0.6rem;
	border-right: 1px solid rgba(255,255,255,0.2);
	transition: color var(--maui-transition);
}
.maui-copyright-bar__nav li:last-child a { border-right: none; }
.maui-copyright-bar__nav li a:hover { color: var(--maui-teal); }
.maui-copyright-bar__text {
	color: rgba(255,255,255,0.4);
	font-size: 0.78rem;
	margin: 0;
}

/* =============================================================================
   GENERIC INNER PAGES (page.php, single.php etc)
   ============================================================================= */
.maui-main {
	padding: 3rem 0;
	min-height: 60vh;
}
.maui-page-header {
	background: var(--maui-dark);
	padding: 3rem 0;
	margin-bottom: 2rem;
}
.maui-page-header__title {
	color: #fff;
	font-size: clamp(1.5rem, 3vw, 2.5rem);
	margin: 0;
}
.maui-content { max-width: 820px; overflow-x: hidden; }
.maui-content p,
.maui-content li { line-height: 1.75; }
.maui-content h2,
.maui-content h3,
.maui-content h4 { margin-top: 1.5em; }

/* =============================================================================
   GLOBAL H2 TITLE STANDARD
   Applies to all h2 headings in inner page content (not in .maui-page-banner).
   Bold/strong children = red #E80107 weight 900.
   Plain text = dark #353535 weight 400.
   Font size matches original computed style: ~65px at full width.
   ============================================================================= */
.maui-main h2,
.maui-coaching-intro__heading,
.maui-about-intro__heading,
.maui-results-page__heading,
.maui-gc-features__heading,
.maui-gc-equipment__heading,
.maui-gc-goals__heading,
.maui-packages-section__heading,
.maui-ohana__heading,
.maui-blog-section__heading,
.maui-section__heading {
	font-family: 'Titillium Web', sans-serif;
	font-size: clamp(1.8rem, 5vw, 4.06rem);
	font-weight: 400;
	color: var(--maui-dark);
	line-height: 1.1;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}
/* Bold/strong inside any of those headings = red + weight 900 */
.maui-main h2 b,
.maui-main h2 strong,
.maui-coaching-intro__heading b,
.maui-coaching-intro__heading strong,
.maui-about-intro__heading b,
.maui-about-intro__heading strong,
.maui-results-page__heading b,
.maui-results-page__heading strong,
.maui-ohana__heading b,
.maui-ohana__heading strong,
.maui-blog-section__heading b,
.maui-blog-section__heading strong,
.maui-section__heading b,
.maui-section__heading strong {
	font-weight: 900;
	color: #E80107;
}

/* ─── White headings on dark backgrounds ────────────────────────────────── */
.maui-newsletter__heading,
.maui-blog-section__heading,
.maui-gc-goals__heading {
	color: #fff;
}
.maui-newsletter__heading b,
.maui-newsletter__heading strong,
.maui-gc-goals__heading b,
.maui-gc-goals__heading strong {
	color: #E80107;
}

/* ─── Page banner title ─────────────────────────────────────────────────── */
.maui-page-banner__title,
.maui-shop-banner__title {
	font-size: clamp(2rem, 4vw, 3.5rem);
	font-weight: 700;
	color: #fff;
	text-transform: uppercase;
}

/* =============================================================================
   PAGE BANNER — shared header banner (shop, coaching, etc.)
   ============================================================================= */
.maui-page-banner,
.maui-shop-banner {
	position: relative;
	height: 320px;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: var(--maui-dark);
	width: 100%;
}
.maui-page-banner__bg,
.maui-shop-banner__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
}
.maui-page-banner::after,
.maui-shop-banner::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.15);
}
/* Inner — constrained to container width, centered, full background spans 100% */
.maui-page-banner__inner {
	position: relative;
	z-index: 1;
	padding: 0 20px;
	max-width: var(--maui-container);
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
}
.maui-page-banner__inner--split {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
}
.maui-page-banner__title,
.maui-shop-banner__title {
	position: relative;
	z-index: 1;
	color: #fff;
	font-family: var(--maui-font-heading);
	font-size: clamp(2rem, 4vw, 3.5rem);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin: 0;
	text-align: left;
}
/* Breadcrumb — right-aligned */
.maui-page-banner__breadcrumb {
	position: relative;
	z-index: 1;
	margin: 0;
	font-size: 0.78rem;
	color: rgba(255,255,255,0.65);
	text-align: right;
	white-space: nowrap;
	flex-shrink: 0;
}
.maui-page-banner__breadcrumb a {
	color: rgba(255,255,255,0.65);
	text-decoration: none;
}
.maui-page-banner__breadcrumb a:hover {
	color: #fff;
}

/* Shop page layout */
.maui-shop-page {
	padding: 3rem 0 4rem;
}

/* =============================================================================
   COACHING PAGE — two panel blocks
   ============================================================================= */
.maui-coaching-page {
	padding: 3rem 0 4rem;
}
.maui-coaching-select-label {
	font-family: 'Titillium Web', sans-serif;
	font-size: clamp(2rem, 4vw, 3.5rem);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--maui-dark);
	text-align: center;
	padding: 1.5rem 0 1rem;
}
.maui-coaching-panels {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}
.maui-coaching-panel {
	position: relative;
	overflow: hidden;
	aspect-ratio: 3 / 4;
	display: block;
	text-decoration: none;
}
.maui-coaching-panel__img {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transition: transform 0.4s ease;
}
.maui-coaching-panel:hover .maui-coaching-panel__img {
	transform: scale(1.04);
}
/* Permanent dark overlay */
.maui-coaching-panel::before {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.45);
	z-index: 1;
	transition: background 0.3s ease;
}
.maui-coaching-panel:hover::before {
	background: rgba(0,0,0,0.6);
}
/* Centered text label */
.maui-coaching-panel__label {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
}
.maui-coaching-panel__text {
	font-family: var(--maui-font-heading);
	font-size: clamp(1.2rem, 2.5vw, 1.8rem);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--maui-teal);
	text-align: center;
	line-height: 1.2;
}

@media (max-width: 600px) {
	.maui-coaching-panels {
		grid-template-columns: 1fr;
	}
}

/* =============================================================================
   WOOCOMMERCE — Product grid
   ============================================================================= */

/* =============================================================================
   WOOCOMMERCE — Product grid
   ============================================================================= */

/* Kill the float clearfix pseudo-elements that become rogue grid items */
.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none !important;
	content: none !important;
}

/* Grid */
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(var(--maui-shop-columns, 3), 1fr) !important;
	gap: 2rem !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Each product li */
.woocommerce ul.products li.product {
	margin: 0 !important;
	float: none !important;
	width: auto !important;
	display: flex !important;
	flex-direction: column !important;
	background: #fff;
	border: none !important;
	transition: box-shadow 0.2s ease;
	position: relative !important;
	padding-bottom: 32px !important; /* half button height — space for overhang */
}
.woocommerce ul.products li.product:hover {
	box-shadow: 0 6px 24px rgba(0,0,0,0.10);
}

/* Product link wraps image + title + price — fills all available height */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 !important;
	text-decoration: none !important;
	color: inherit !important;
	position: relative !important;
}

/* Image */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link img {
	width: 100% !important;
	height: auto !important;
	display: block !important;
	transition: transform 0.4s ease !important;
	position: relative;
	z-index: 0;
}
/* Teal hover overlay */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link::before {
	content: '' !important;
	position: absolute !important;
	top: 0; left: 0; right: 0;
	padding-top: 119% !important;
	background: var(--maui-teal) !important;
	opacity: 0 !important;
	transition: opacity 0.3s ease !important;
	z-index: 1 !important;
	pointer-events: none !important;
}
.woocommerce ul.products li.product:hover a.woocommerce-LoopProduct-link::before {
	opacity: 0.75 !important;
}
.woocommerce ul.products li.product:hover a.woocommerce-LoopProduct-link img {
	transform: scale(1.04) !important;
}

/* Title — dark bg, fills flex */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	background: var(--maui-dark) !important;
	color: #fff !important;
	font-family: var(--maui-font-heading) !important;
	font-size: 0.9rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	padding: 1rem 1rem 0.4rem !important;
	margin: 0 !important;
	line-height: 1.3 !important;
	text-align: center !important;
	flex: 1 !important;
}

/* Price — dark bg, sits below title */
.woocommerce ul.products li.product .price {
	display: block !important;
	background: var(--maui-dark) !important;
	font-family: var(--maui-font-heading) !important;
	font-size: 1.6rem !important;
	font-weight: 700 !important;
	color: #fff !important;
	padding: 0.2rem 1rem 1.5rem !important;
	margin: 0 !important;
	text-align: center !important;
}
.woocommerce ul.products li.product .price .woocommerce-Price-amount {
	color: #fff !important;
}

/* Button — absolute, centered, overhangs bottom of dark area */
.woocommerce ul.products li.product a.button {
	position: absolute !important;
	bottom: 0 !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	width: 70% !important;
	display: block !important;
	background: var(--maui-teal) !important;
	color: #fff !important;
	font-family: var(--maui-font-heading) !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
	padding: 0.9em 1em !important;
	border: none !important;
	border-radius: 2px !important;
	text-decoration: none !important;
	text-align: center !important;
	transition: background 0.2s !important;
	white-space: nowrap !important;
	z-index: 2 !important;
}
.woocommerce ul.products li.product a.button:hover {
	background: var(--maui-teal-hover) !important;
	color: #fff !important;
}

/* WooCommerce general button fallback */
.woocommerce .button,
.woocommerce button.button {
	background: var(--maui-teal) !important;
	color: #fff !important;
	font-family: var(--maui-font-heading) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	border-radius: 2px !important;
}
.woocommerce .button:hover {
	background: var(--maui-teal-hover) !important;
}

/* Hide WooCommerce's default page title on shop — we have our own banner */
.woocommerce-shop .woocommerce > h1.woocommerce-products-header__title,
.woocommerce-page .woocommerce-products-header,
.maui-shop-page .woocommerce-products-header {
	display: none !important;
}

/* =============================================================================
   RESPONSIVE
   ============================================================================= */
@media (max-width: 1024px) {
	.maui-blog-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.maui-newsletter__inner {
		grid-template-columns: 1fr;
	}
	.woocommerce ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 900px) {
	.maui-footer__columns {
		grid-template-columns: repeat(2, 1fr);
	}
	.maui-services {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	/* Hide desktop nav, show hamburger */
	.maui-header__nav-wrap {
		display: none;
	}
	.maui-header__hamburger {
		display: flex;
		min-width: 56px;
	}
	/* Brand side fills remaining space */
	.maui-header__brand {
		flex: 1;
		padding: 0 1rem;
	}
	/* Smaller logo on mobile */
	.maui-header__brand img,
	.maui-header__brand .custom-logo-link img {
		height: 40px;
	}

	.maui-blog-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	/* Hero — center text, bg position to show person */
	.maui-hero {
		justify-content: center;
		text-align: center;
	}
	.maui-hero__bg {
		background-position: left top;
	}
	.maui-hero__content {
		text-align: center;
		padding: 2rem 20px;
	}
	.maui-hero__line--1,
	.maui-hero__line--2,
	.maui-hero__line--3 {
		text-align: center;
	}

	/* Top bar hidden on very small screens to save space */
	.maui-top-bar {
		display: none;
	}

	.maui-copyright-bar__inner {
		flex-direction: column;
		text-align: center;
	}

	/* Services single column */
	.maui-services {
		grid-template-columns: 1fr;
	}

	/* Newsletter single column */
	.maui-newsletter__inner {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 480px) {
	.maui-blog-grid {
		grid-template-columns: 1fr;
	}
	.maui-footer__columns {
		grid-template-columns: 1fr;
	}
	.maui-newsletter {
		padding: 3rem 0;
	}
	.maui-hero {
		min-height: 70vh;
	}
}

/* ── Footer contact list ───────────────────────────────────────────────────── */
.maui-footer__contact-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.maui-footer__contact-list li {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	padding: 0.35rem 0;
	font-size: 0.9rem;
	color: rgba(255,255,255,0.65);
	line-height: 1.5;
}
.maui-footer__contact-icon {
	flex-shrink: 0;
	color: rgba(255,255,255,0.5);
	margin-top: 2px;
}
.maui-footer__contact-icon svg {
	display: block;
}
.maui-footer__contact-list a {
	color: rgba(255,255,255,0.65);
	text-decoration: none;
	transition: color var(--maui-transition);
}
.maui-footer__contact-list a:hover {
	color: var(--maui-teal);
}

/* =============================================================================
   INNER COACHING PAGES (Personal Coaching, Group Fitness etc.)
   ============================================================================= */
.maui-coaching-inner {
	padding: 0 0 4rem;
}

/* Intro text section */
.maui-coaching-intro {
	padding: 3.5rem 0 3rem;
	background: #fff;
}
.maui-coaching-intro__heading {
	font-family: var(--maui-font-heading);
	font-size: clamp(1.5rem, 3vw, 2.2rem);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	text-align: center;
	margin-bottom: 2rem;
	color: var(--maui-dark);
}
.maui-coaching-intro__heading b {
	font-weight: 700;
	color: var(--maui-red);
}
.maui-coaching-intro__body {
	max-width: 860px;
	margin: 0 auto;
}
.maui-coaching-intro__body h6,
.maui-coaching-intro__body p {
	font-size: 1rem;
	line-height: 1.75;
	color: var(--maui-text);
	margin-bottom: 1em;
	font-weight: 400;
	font-family: var(--maui-font-body);
}
.maui-coaching-intro__body h6 { font-size: inherit; }
.maui-coaching-intro__body strong,
.maui-coaching-intro__body b {
	font-weight: 700;
}
.maui-coaching-intro__body em strong,
.maui-coaching-intro__body strong em {
	font-style: italic;
	font-weight: 700;
}

/* Packages section */
.maui-packages-section {
	background: var(--maui-grey);
	padding: 3.5rem 0 4rem;
}
.maui-packages-section__heading {
	font-family: var(--maui-font-heading);
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	text-align: center;
	color: var(--maui-dark);
	margin-bottom: 2rem;
}

/* maui-stripe [maui_packages] output styling */
.maui-packages-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}
.maui-package-card {
	background: var(--maui-dark);
	color: #fff;
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
}
.maui-package-card__price {
	font-family: var(--maui-font-heading);
	font-size: 2.2rem;
	font-weight: 700;
	color: var(--maui-teal);
	line-height: 1;
	margin-bottom: 0.15em;
}
.maui-package-card__price-note {
	font-size: 0.75rem;
	color: rgba(255,255,255,0.55);
	margin-bottom: 0.5rem;
}
.maui-package-card__name {
	font-family: var(--maui-font-heading);
	font-size: 0.95rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #fff;
	margin-bottom: 1rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid rgba(255,255,255,0.15);
}
.maui-package-card__features {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
	flex: 1;
}
.maui-package-card__features li {
	font-size: 0.85rem;
	color: rgba(255,255,255,0.8);
	padding: 0.35rem 0 0.35rem 1.2rem;
	position: relative;
	line-height: 1.4;
}
.maui-package-card__features li::before {
	content: '•';
	position: absolute;
	left: 0;
	color: var(--maui-teal);
}
.maui-package-card__btn {
	display: block;
	background: var(--maui-teal);
	color: #fff !important;
	font-family: var(--maui-font-heading);
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	padding: 0.75em 1em;
	text-align: center;
	text-decoration: none;
	transition: background 0.2s;
	margin-top: auto;
}
.maui-package-card__btn:hover {
	background: var(--maui-teal-hover);
	color: #fff !important;
}

/* Packages footnote */
.maui-packages-footnote {
	max-width: 860px;
	margin: 2rem auto 0;
	font-size: 0.82rem;
	color: var(--maui-muted);
	line-height: 1.6;
}
.maui-packages-footnote p { margin-bottom: 0.5em; }

@media (max-width: 900px) {
	.maui-packages-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 600px) {
	.maui-packages-grid {
		grid-template-columns: 1fr;
	}
	.maui-page-banner__inner--split {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.3rem;
	}
	.maui-page-banner__breadcrumb {
		text-align: left;
	}
}

/* =============================================================================
   GROUP COACHING PAGE
   ============================================================================= */
.maui-gc-page {
	padding: 0 0 4rem;
}

/* Intro body — larger text matching live site */
.maui-gc-intro-body p {
	font-size: 1.1rem;
}

/* ── Program Details ─────────────────────────────────────────────────────── */
.maui-gc-details {
	padding: 3rem 0;
	background: #fff;
}
.maui-gc-details__inner {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 3rem;
	align-items: start;
}
.maui-gc-details__heading {
	font-family: var(--maui-font-heading);
	font-size: 1.2rem;
	font-weight: 700;
	text-transform: uppercase;
	border-bottom: 2px solid var(--maui-dark);
	display: inline-block;
	padding-bottom: 3px;
	margin-bottom: 1rem;
}
.maui-gc-details__list ul {
	list-style: disc;
	padding-left: 1.4rem;
	margin: 0;
}
.maui-gc-details__list ul li {
	font-size: 1.05rem;
	padding: 0.25rem 0;
	line-height: 1.5;
}
.maui-gc-details__photo img {
	max-width: 280px;
	width: 100%;
	height: auto;
	box-shadow: 0 4px 16px rgba(0,0,0,0.15);
}

/* ── Sign Up Banner ──────────────────────────────────────────────────────── */
.maui-gc-signup-banner {
	background-color: var(--maui-dark);
	background-size: cover;
	background-position: center;
	min-height: 575px;
	display: flex;
	align-items: center;
	text-align: center;
	position: relative;
}
.maui-gc-signup-banner::before {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.55);
}
.maui-gc-signup-banner .maui-container {
	position: relative;
	z-index: 1;
	width: 100%;
}
.maui-gc-signup-banner__heading {
	font-family: var(--maui-font-heading);
	font-size: clamp(1.5rem, 3vw, 2.5rem);
	font-weight: 700;
	text-transform: uppercase;
	color: #fff;
	margin-bottom: 0.5rem;
}
.maui-gc-signup-banner__subtext {
	color: rgba(255,255,255,0.8);
	font-size: 1rem;
	margin-bottom: 1.5rem;
}
.maui-gc-signup-banner__btn {
	color: #fff !important;
	display: inline-flex !important;
	align-items: center;
	gap: 0.5em;
}
.maui-gc-signup-banner__btn i {
	font-size: 1em;
}

/* ── How It Works (steps) ────────────────────────────────────────────────── */
.maui-gc-steps {
	padding: 3.5rem 0;
	background: #fff;
}
.maui-gc-steps__heading {
	font-family: var(--maui-font-heading);
	font-size: 1rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	text-align: center;
	color: var(--maui-muted);
	margin-bottom: 2rem;
}
.maui-gc-steps__grid {
	display: flex;
	gap: 0;
	border: 2px solid var(--maui-teal);
	max-width: 860px;
	margin: 0 auto;
}
.maui-gc-step {
	flex: 1;
	padding: 1.5rem;
	text-align: center;
	background: #f9f9f9;
	border-right: 1px solid var(--maui-teal);
}
.maui-gc-step:last-child {
	border-right: none;
}
.maui-gc-step__icon {
	font-size: 2rem;
	color: var(--maui-teal);
	display: block;
	margin-bottom: 0.75rem;
}
.maui-gc-step__title {
	font-family: var(--maui-font-heading);
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--maui-teal);
	text-align: center;
	margin-bottom: 0.5rem;
}
.maui-gc-step__desc {
	font-size: 0.9rem;
	color: var(--maui-text);
	line-height: 1.6;
	text-align: left;
}

/* ── Goals Block ─────────────────────────────────────────────────────────── */
.maui-gc-goals {
	display: flex;
	align-items: stretch;
	background: #000;
	color: #fff;
}
.maui-gc-goals__img {
	flex-shrink: 0;
	width: 40%;
	max-width: 550px;
	background-size: cover;
	background-position: center;
	min-height: 380px;
}
.maui-gc-goals__text {
	flex: 1;
	padding: 3rem 2.5rem;
}
.maui-gc-goals__heading {
	font-family: var(--maui-font-heading);
	font-size: clamp(1.3rem, 2.5vw, 2rem);
	font-weight: 700;
	color: #fff;
	margin-bottom: 1.25rem;
}
.maui-gc-goals__list {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
}
.maui-gc-goals__list li {
	font-size: 1.05rem;
	padding: 0.3rem 0 0.3rem 1.6rem;
	position: relative;
	color: rgba(255,255,255,0.9);
}
.maui-gc-goals__list li::before {
	content: '\279C';
	position: absolute;
	left: 0;
	color: var(--maui-teal);
}

/* ── Features ────────────────────────────────────────────────────────────── */
.maui-gc-features {
	padding: 3.5rem 0;
	background: #fff;
}
.maui-gc-features__heading {
	font-family: var(--maui-font-heading);
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 700;
	text-transform: uppercase;
	color: var(--maui-dark);
	margin-bottom: 2rem;
}
.maui-gc-features__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem 3rem;
}
.maui-gc-feature {
	display: grid;
	grid-template-columns: 2rem 1fr;
	grid-template-rows: auto auto;
	column-gap: 0.75rem;
	align-items: start;
}
.maui-gc-feature__icon {
	font-size: 1.3rem;
	color: var(--maui-teal);
	grid-row: 1 / 3;
	padding-top: 2px;
}
.maui-gc-feature__title {
	font-family: var(--maui-font-heading);
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--maui-dark);
	margin: 0 0 0.3rem;
}
.maui-gc-feature__desc {
	font-size: 0.88rem;
	color: var(--maui-muted);
	line-height: 1.55;
	margin: 0;
}

/* ── Equipment ───────────────────────────────────────────────────────────── */
.maui-gc-equipment {
	padding: 3rem 0;
	background: #fff;
	border-top: 1px solid #e0e0e0;
}
.maui-gc-equipment__heading {
	font-family: var(--maui-font-heading);
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 700;
	text-transform: uppercase;
	color: var(--maui-dark);
	margin-bottom: 1.5rem;
}
.maui-gc-equipment__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
}
.maui-gc-equip-block {
	display: grid;
	grid-template-columns: 1.5rem 1fr;
	grid-template-rows: auto auto;
	column-gap: 0.75rem;
	align-items: start;
}
.maui-gc-equip-block__icon {
	font-size: 1.2rem;
	grid-row: 1 / 3;
	padding-top: 2px;
}
.maui-gc-equip-block__icon--required    { color: #e74c3c; }
.maui-gc-equip-block__icon--recommended { color: var(--maui-teal); }
.maui-gc-equip-block__title {
	font-family: var(--maui-font-heading);
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--maui-dark);
	margin: 0 0 0.3rem;
}
.maui-gc-equip-block__desc {
	font-size: 0.9rem;
	color: var(--maui-muted);
	line-height: 1.6;
	margin: 0;
}

/* ── Group coaching responsive ───────────────────────────────────────────── */
@media (max-width: 768px) {
	.maui-gc-details__inner {
		grid-template-columns: 1fr;
	}
	.maui-gc-details__photo {
		text-align: center;
	}
	.maui-gc-steps__grid {
		flex-direction: column;
	}
	.maui-gc-step {
		border-right: none;
		border-bottom: 1px solid var(--maui-teal);
	}
	.maui-gc-step:last-child { border-bottom: none; }
	.maui-gc-goals {
		flex-direction: column;
	}
	.maui-gc-goals__img {
		width: 100%;
		max-width: none;
		min-height: 260px;
	}
	.maui-gc-features__grid,
	.maui-gc-equipment__grid {
		grid-template-columns: 1fr;
	}
}

/* =============================================================================
   RESULTS PAGE
   ============================================================================= */
.maui-results-page {
	padding: 3.5rem 0 5rem;
}

/* Intro block */
.maui-results-page__intro {
	margin-bottom: 2rem;
}
.maui-results-page__eyebrow {
	font-family: var(--maui-font-heading);
	font-size: 0.8rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--maui-muted);
	margin-bottom: 0.25rem;
}
.maui-results-page__heading {
	font-family: var(--maui-font-heading);
	font-size: clamp(2.2rem, 5vw, 4rem);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	line-height: 1.1;
	color: var(--maui-dark);
	margin: 0;
}
.maui-results-page__heading b {
	font-weight: 900;
	color: var(--maui-red);
}

/* CTA button */
.maui-results-page__cta {
	margin-bottom: 3rem;
}

/* Testimonial rows */
.maui-testimonials-list {
	display: flex;
	flex-direction: column;
	gap: 3.5rem;
}
.maui-testimonial-row {
	display: grid;
	grid-template-columns: 340px 1fr;
	gap: 3rem;
	align-items: start;
	padding-bottom: 3.5rem;
	border-bottom: 1px solid #e0e0e0;
}
.maui-testimonial-row:last-child {
	border-bottom: none;
	padding-bottom: 0;
}
.maui-testimonial-row__img img {
	width: 100%;
	height: auto;
	display: block;
}
/* Name — teal, right-aligned */
.maui-testimonial-row__name {
	font-family: var(--maui-font-heading);
	font-size: clamp(1.3rem, 2.5vw, 1.8rem);
	font-weight: 700;
	color: var(--maui-teal);
	text-align: right;
	margin-bottom: 0.75rem;
}
.maui-testimonial-row__text {
	font-size: 0.95rem;
	line-height: 1.75;
	color: var(--maui-text);
}
.maui-testimonial-row__text p {
	margin-bottom: 0.75em;
}

@media (max-width: 768px) {
	.maui-testimonial-row {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
	.maui-testimonial-row__name {
		text-align: left;
	}
}

/* =============================================================================
   BLOG PAGE (archive/listing)
   ============================================================================= */
.maui-blog-page {
	padding: 3.5rem 0 5rem;
}

.maui-blog-page__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem;
}

/* Card */
.maui-blog-page__card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #e8e8e8;
	transition: box-shadow 0.2s ease;
}
.maui-blog-page__card:hover {
	box-shadow: 0 6px 24px rgba(0,0,0,0.09);
}

/* Thumbnail — fixed height */
.maui-blog-page__card-img {
	display: block;
	overflow: hidden;
	height: 200px;
}
.maui-blog-page__card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}
.maui-blog-page__card:hover .maui-blog-page__card-img img {
	transform: scale(1.04);
}

/* Card body */
.maui-blog-page__card-body {
	padding: 1.25rem;
	display: flex;
	flex-direction: column;
	flex: 1;
}

/* Override global h2 rule — blog card titles must be small */
h2.maui-blog-page__card-title {
	font-family: var(--maui-font-heading) !important;
	font-size: 1.1rem !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: var(--maui-dark) !important;
	margin-bottom: 0.5rem !important;
}
h2.maui-blog-page__card-title a {
	color: var(--maui-dark);
	text-decoration: none;
	transition: color 0.2s;
}
h2.maui-blog-page__card-title a:hover {
	color: var(--maui-teal);
}
	font-size: 0.78rem;
	color: var(--maui-muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 0.5rem;
}
.maui-blog-page__card-meta a {
	color: var(--maui-teal);
	text-decoration: none;
}
.maui-blog-page__card-meta a:hover {
	text-decoration: underline;
}

/* Title */
.maui-blog-page__card-title {
	font-family: var(--maui-font-heading);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 0.6rem;
	text-transform: none;
}
.maui-blog-page__card-title a {
	color: var(--maui-dark);
	text-decoration: none;
	transition: color 0.2s;
}
.maui-blog-page__card-title a:hover {
	color: var(--maui-teal);
}

/* Excerpt */
.maui-blog-page__card-excerpt {
	font-size: 0.88rem;
	color: var(--maui-muted);
	line-height: 1.6;
	flex: 1;
	margin-bottom: 1rem;
}

/* Read more */
.maui-blog-page__read-more {
	font-family: var(--maui-font-heading);
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--maui-teal);
	text-decoration: none;
	align-self: flex-start;
	transition: color 0.2s;
}
.maui-blog-page__read-more:hover {
	color: var(--maui-teal-hover);
}

/* Pagination */
.maui-pagination {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.4rem;
	margin-top: 3rem;
}
.maui-pagination a,
.maui-pagination span.page-numbers {
	display: inline-flex;
	align-items: center;
	padding: 0.4em 0.9em;
	font-family: var(--maui-font-heading);
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--maui-dark);
	border: 1px solid #ddd;
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
	white-space: nowrap;
}
.maui-pagination a:hover,
.maui-pagination span.current {
	background: var(--maui-teal);
	color: #fff;
	border-color: var(--maui-teal);
}
.maui-pagination span.dots {
	border: none;
	color: var(--maui-muted);
}

@media (max-width: 900px) {
	.maui-blog-page__grid {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 560px) {
	.maui-blog-page__grid {
		grid-template-columns: 1fr;
	}
}

/* =============================================================================
   BLOG PAGE BANNER — taller with subtitle
   ============================================================================= */
.maui-blog-page-banner {
	height: 360px !important;
}
.maui-blog-page-banner__inner {
	display: flex !important;
	align-items: flex-end !important;
	justify-content: space-between !important;
	gap: 1rem !important;
	padding-bottom: 2rem !important;
}
.maui-blog-page-banner__left {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.maui-blog-page-banner__title {
	font-family: var(--maui-font-heading);
	font-size: clamp(2rem, 4vw, 3.5rem);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #fff;
	margin: 0;
	line-height: 1.1;
}
.maui-blog-page-banner__subtitle {
	font-family: var(--maui-font-heading);
	font-size: clamp(0.9rem, 1.8vw, 1.2rem);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #fff;
	margin: 0;
}
.maui-blog-page-banner__subtitle-bold {
	color: var(--maui-red);
}

/* =============================================================================
   ABOUT / COACHES PAGE
   ============================================================================= */
.maui-about-page {
	padding: 3.5rem 0 5rem;
}

/* Intro */
.maui-about-intro {
	margin-bottom: 3.5rem;
}
.maui-about-intro__eyebrow {
	font-family: 'Titillium Web', sans-serif;
	font-size: 1.247rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--maui-muted);
	margin-bottom: 0.2rem;
}
.maui-about-intro__heading {
	font-family: var(--maui-font-heading);
	font-size: clamp(2.2rem, 5vw, 4rem);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	line-height: 1.1;
	color: var(--maui-dark);
	margin: 0 0 1.25rem;
}
.maui-about-intro__heading b {
	font-weight: 900;
	color: var(--maui-red);
}
.maui-about-intro__body {
	font-size: 1rem;
	line-height: 1.75;
	color: var(--maui-text);
	max-width: 860px;
}

/* Coach grid — 2 equal-height columns */
.maui-coaches-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem;
	align-items: start; /* cards align to top, equal within row handled by flex */
}

/* Coach card — flex column so body always fills remaining height */
.maui-coach-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: none;
}

/* Image — 540/640 aspect ratio matching old site */
.maui-coach-card__img {
	overflow: hidden;
	aspect-ratio: 540 / 640;
}
.maui-coach-card__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}
.maui-coach-card:hover .maui-coach-card__img img {
	transform: scale(1.03);
}

/* Dark info area — fills remaining card height */
.maui-coach-card__body {
	background: var(--maui-dark);
	padding: 1.5rem 1.5rem 0;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	flex: 1;
}

/* Name */
.maui-coach-card__name {
	font-family: var(--maui-font-heading);
	font-size: 1rem;
	font-weight: 400;
	color: #fff;
	margin: 0 0 0.75rem;
	line-height: 1.3;
}

/* Excerpt */
.maui-coach-card__excerpt {
	font-size: 0.88rem;
	color: rgba(255,255,255,0.8);
	line-height: 1.65;
	text-align: center;
	flex: 1;
}

/* Button — inside dark area with overhang matching old site */
.maui-coach-card__btn {
	margin-top: 1.55em !important;
	margin-bottom: -0.6em !important;
	font-size: 0.8rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em !important;
	padding: 0.75em 2em !important;
	color: #000 !important;
	position: relative;
	z-index: 1;
}

@media (max-width: 600px) {
	.maui-coaches-grid {
		grid-template-columns: 1fr;
	}
}

/* =============================================================================
   SINGLE COACH PAGE
   ============================================================================= */
.maui-single-coach {
	padding: 3.5rem 0 5rem;
}
.maui-single-coach__inner {
	display: grid;
	grid-template-columns: 400px 1fr;
	gap: 3.5rem;
	align-items: start;
}
.maui-single-coach__img img {
	width: 100%;
	height: auto;
	aspect-ratio: 770 / 770;
	object-fit: cover;
	display: block;
}
/* Lightbox trigger */
.maui-lightbox-trigger {
	display: block;
	position: relative;
	cursor: zoom-in;
}
.maui-lightbox-trigger__hint {
	position: absolute;
	bottom: 0.75rem;
	right: 0.75rem;
	width: 36px;
	height: 36px;
	background: rgba(0,0,0,0.55);
	color: #fff;
	border-radius: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.9rem;
	opacity: 0;
	transition: opacity 0.2s ease;
}
.maui-lightbox-trigger:hover .maui-lightbox-trigger__hint {
	opacity: 1;
}

/* Lightbox overlay */
.maui-lightbox {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}
.maui-lightbox.is-open {
	opacity: 1;
	pointer-events: auto;
}
.maui-lightbox__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.92);
	cursor: zoom-out;
}
.maui-lightbox__content {
	position: relative;
	z-index: 1;
	max-width: 90vw;
	max-height: 90vh;
}
.maui-lightbox__img {
	display: block;
	max-width: 90vw;
	max-height: 90vh;
	width: auto;
	height: auto;
	object-fit: contain;
	box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}
.maui-lightbox__close {
	position: absolute;
	top: -2.5rem;
	right: 0;
	background: none;
	border: none;
	color: #fff;
	font-size: 1.4rem;
	cursor: pointer;
	padding: 0.25rem 0.5rem;
	line-height: 1;
	transition: color 0.2s;
}
.maui-lightbox__close:hover {
	color: var(--maui-teal);
}
.maui-single-coach__name {
	font-family: var(--maui-font-heading);
	font-size: clamp(1.2rem, 2.5vw, 1.6rem);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--maui-dark);
	margin-bottom: 1.25rem;
}
.maui-single-coach__body p,
.maui-single-coach__body li {
	font-size: 0.95rem;
	line-height: 1.75;
	color: var(--maui-text);
	margin-bottom: 0.75em;
}
.maui-single-coach__body a {
	color: var(--maui-teal);
}

@media (max-width: 800px) {
	.maui-single-coach__inner {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.maui-single-coach__img {
		max-width: 420px;
	}
}

/* =============================================================================
   CONTACT PAGE
   ============================================================================= */
.maui-contact-page {
	padding: 3.5rem 0 5rem;
}

/* Email + phone icon blocks */
.maui-contact-icons {
	display: flex;
	justify-content: center;
	gap: 6rem;
	margin-bottom: 3rem;
}
.maui-contact-icon-block__link {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.6rem;
	text-decoration: none;
	color: var(--maui-teal);
	transition: color var(--maui-transition);
}
.maui-contact-icon-block__link:hover {
	color: var(--maui-teal-hover);
}
.maui-contact-icon-block__icon svg {
	display: block;
	stroke: currentColor;
}
.maui-contact-icon-block__label {
	font-family: var(--maui-font-heading);
	font-size: 0.9rem;
	font-weight: 600;
	letter-spacing: 0.02em;
}

/* WPForms contact form styling */
.maui-contact-form {
	max-width: 600px;
	margin: 0 auto;
}
.maui-contact-form .wpforms-field input,
.maui-contact-form .wpforms-field textarea {
	background: var(--maui-dark) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0.85em 1rem !important;
	width: 100% !important;
	font-family: var(--maui-font-body) !important;
	font-size: 0.95rem !important;
}
.maui-contact-form .wpforms-field input::placeholder,
.maui-contact-form .wpforms-field textarea::placeholder {
	color: rgba(255,255,255,0.5) !important;
}
.maui-contact-form .wpforms-field textarea {
	min-height: 140px !important;
	resize: vertical !important;
}
.maui-contact-form .wpforms-field-label {
	display: none !important;
}
.maui-contact-form .wpforms-submit {
	display: block !important;
	margin: 0 auto !important;
	background: var(--maui-teal) !important;
	color: #fff !important;
	font-family: var(--maui-font-heading) !important;
	font-size: 0.85rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.1em !important;
	padding: 0.75em 2.5em !important;
	border: none !important;
	border-radius: 0 !important;
	cursor: pointer !important;
	transition: background 0.2s !important;
}
.maui-contact-form .wpforms-submit:hover {
	background: var(--maui-teal-hover) !important;
}

@media (max-width: 600px) {
	.maui-contact-icons {
		gap: 2.5rem;
	}
}

/* ── Header cart icon ────────────────────────────────────────────────────── */
.maui-header__cart {
	display: flex;
	align-items: center;
	position: relative;
	margin-left: 1rem;
	color: var(--maui-dark);
	text-decoration: none;
	transition: color var(--maui-transition);
	flex-shrink: 0;
}
.maui-header__cart:hover {
	color: var(--maui-teal);
}
.maui-header__cart svg {
	display: block;
}
.maui-header__cart-count {
	position: absolute;
	top: -6px;
	right: -8px;
	background: var(--maui-red);
	color: #fff;
	font-family: var(--maui-font-heading);
	font-size: 0.65rem;
	font-weight: 700;
	min-width: 16px;
	height: 16px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 2px;
	line-height: 1;
}

/* Global WPForms submit button — teal */
.wpforms-submit {
	background-color: rgb(27, 228, 222) !important;
}

/* =============================================================================
   BLOG PAGE SIDEBAR LAYOUT
   ============================================================================= */
.maui-blog-page__layout {
	display: grid;
	grid-template-columns: 300px 1fr;
	gap: 3rem;
	align-items: start;
	min-width: 0;
}

/* When no sidebar is active, content takes full width */
.maui-blog-page__content {
	min-width: 0; /* prevent grid blowout */
	overflow: hidden;
}

/* Sidebar */
.maui-sidebar {
	position: sticky;
	top: calc( var(--maui-header-h) + 1.5rem );
}
.maui-sidebar__widget {
	margin-bottom: 2rem;
	padding-bottom: 2rem;
	border-bottom: 1px solid #e8e8e8;
}
.maui-sidebar__widget:last-child {
	border-bottom: none;
	margin-bottom: 0;
}
.maui-sidebar__widget-title {
	font-family: var(--maui-font-heading);
	font-size: 1rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--maui-dark);
	margin-bottom: 1rem;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid var(--maui-teal);
}

/* Common widget styles */
.maui-sidebar .widget_search .search-form {
	display: flex;
	gap: 0;
}
.maui-sidebar .widget_search .search-field {
	flex: 1;
	padding: 0.6em 0.8em;
	border: 1px solid #ddd;
	border-right: none;
	font-family: var(--maui-font-body);
	font-size: 0.9rem;
}
.maui-sidebar .widget_search .search-submit {
	background: var(--maui-teal);
	color: #000;
	border: none;
	padding: 0.6em 1em;
	font-family: var(--maui-font-heading);
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.2s;
}
.maui-sidebar .widget_search .search-submit:hover {
	background: var(--maui-teal-hover);
}
.maui-sidebar ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.maui-sidebar ul li {
	padding: 0.4rem 0;
	border-bottom: 1px solid #f0f0f0;
	font-size: 0.9rem;
}
.maui-sidebar ul li:last-child { border-bottom: none; }
.maui-sidebar ul li a {
	color: var(--maui-dark);
	text-decoration: none;
	transition: color 0.2s;
}
.maui-sidebar ul li a:hover { color: var(--maui-teal); }

/* Recent posts widget */
.maui-sidebar .widget_recent_entries ul li {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}
.maui-sidebar .widget_recent_entries .post-date {
	font-size: 0.75rem;
	color: var(--maui-muted);
}

/* Responsive — sidebar drops below content on mobile */
@media (max-width: 900px) {
	.maui-blog-page__layout {
		grid-template-columns: 1fr;
	}
	.maui-sidebar {
		position: static;
	}
}

/* Packages note — below buy buttons on personal coaching page */
.maui-packages-note {
	margin-top: 2.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid #e0e0e0;
	max-width: 860px;
}
.maui-packages-note p {
	font-size: 0.88rem;
	line-height: 1.75;
	color: var(--maui-text);
	margin-bottom: 0.75em;
}
.maui-packages-note p:last-child { margin-bottom: 0; }

/* =============================================================================
   SEARCH RESULTS PAGE
   ============================================================================= */
.maui-search-page {
	padding: 3.5rem 0 5rem;
}
.maui-search-results {
	display: flex;
	flex-direction: column;
	gap: 3rem;
}
.maui-search-result {
	display: grid;
	grid-template-columns: 300px 1fr;
	gap: 2rem;
	align-items: start;
	padding-bottom: 3rem;
	border-bottom: 1px solid #e8e8e8;
}
.maui-search-result:last-child {
	border-bottom: none;
	padding-bottom: 0;
}
.maui-search-result__img {
	display: block;
	overflow: hidden;
}
.maui-search-result__img img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}
.maui-search-result:hover .maui-search-result__img img {
	transform: scale(1.03);
}
.maui-search-result__body {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.maui-search-result__meta {
	font-size: 0.78rem;
	color: var(--maui-muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.maui-search-result__meta a {
	color: var(--maui-teal);
	text-decoration: none;
}
h2.maui-search-result__title {
	font-family: var(--maui-font-heading) !important;
	font-size: 1.4rem !important;
	font-weight: 700 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: var(--maui-dark) !important;
	margin: 0 !important;
}
h2.maui-search-result__title a {
	color: var(--maui-dark);
	text-decoration: none;
	transition: color 0.2s;
}
h2.maui-search-result__title a:hover {
	color: var(--maui-teal);
}
.maui-search-result__excerpt {
	font-size: 0.92rem;
	line-height: 1.7;
	color: var(--maui-muted);
}
.maui-search-result__excerpt p { margin: 0; }
.maui-search-result__readmore {
	font-family: var(--maui-font-heading);
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--maui-teal);
	text-decoration: none;
	align-self: flex-start;
	transition: color 0.2s;
}
.maui-search-result__readmore:hover { color: var(--maui-teal-hover); }
.maui-search-none {
	font-size: 1rem;
	color: var(--maui-muted);
	padding: 2rem 0;
}
@media (max-width: 600px) {
	.maui-search-result {
		grid-template-columns: 1fr;
	}
	.maui-search-result__img img { height: 220px; }
}

/* =============================================================================
   MOBILE FIXES
   ============================================================================= */

/* Smaller teal dots on mobile */
@media (max-width: 768px) {
	.maui-results-slider .slick-dots li {
		width: 14px;
		height: 14px;
	}
	.maui-results-slider .slick-dots li button {
		width: 14px !important;
		height: 14px !important;
		padding: 3px !important;
	}
}

/* WordPress figure/wp-caption inline width override */
.wp-caption,
figure.wp-caption,
.maui-content figure,
.maui-single-post__content figure {
	max-width: 100% !important;
	width: auto !important;
	height: auto !important;
}
.wp-caption img,
figure.wp-caption img,
.maui-content figure img {
	max-width: 100% !important;
	width: auto !important;
	height: auto !important;
}
.wp-caption-text {
	font-size: 0.8rem;
	color: var(--maui-muted);
	text-align: center;
	margin-top: 0.4rem;
}
