.momhop-page,
.momhop-results,
.momhop-detail,
.momhop-outing-detail,
.momhop-event-detail,
.momhop-place-detail,
.momhop-guides--detail,
.momhop-parent-decision {
	box-sizing: border-box;
	color: var(--mh-ink);
	font-family: var(--mh-ui-font);
}

.momhop-page *,
.momhop-results *,
.momhop-detail *,
.momhop-outing-detail *,
.momhop-event-detail *,
.momhop-place-detail *,
.momhop-guides--detail *,
.momhop-parent-decision * {
	box-sizing: border-box;
}

body.momhop-results-route,
body.momhop-app-route {
	margin: 0;
	background: var(--mh-cream);
	color: var(--mh-ink);
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-body);
	font-weight: 400;
	letter-spacing: normal;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

/*
 * Base layer (2026-10-03). MomHop documents load no theme CSS (see
 * momhop_platform_isolate_app_styles), so the app defines its own element
 * defaults here. :where() keeps specificity at zero: any component rule wins.
 */
:where(body.momhop-app-route) :where(h1, h2, h3, h4, h5, h6) {
	color: var(--mh-ink);
	font-family: var(--mh-display-font);
	font-weight: 600;
	letter-spacing: normal;
	line-height: 1.15;
	margin: 0;
	text-transform: none;
}

:where(body.momhop-app-route) :where(p) {
	margin: 0;
}

:where(body.momhop-app-route) :where(a) {
	color: inherit;
	text-decoration: none;
}

:where(body.momhop-app-route) :where(button, input, select, textarea) {
	color: inherit;
	font: inherit;
	letter-spacing: normal;
	text-transform: none;
}

:where(body.momhop-app-route) :where(button) {
	background: transparent;
	border: 0;
	cursor: pointer;
	padding: 0;
}

:where(body.momhop-app-route) :where(img, svg) {
	max-width: 100%;
}

/* Other plugins print markup (login modals, back-to-top, cart regions) into every
   page footer; their own CSS is not loaded on MomHop documents, so hide anything
   that is not part of the MomHop app. */
body.momhop-app-route > :not(.momhop-page):not([class*="momhop"]):not(#wpadminbar):not(script):not(style):not(link):not(template):not(noscript) {
	display: none !important;
}

.momhop-page {
	background: var(--mh-cream);
	min-height: 100vh;
	padding: 14px 14px var(--mh-nav-clearance);
}

.momhop-page__inner {
	margin: 0 auto;
	max-width: var(--mh-content-cap);
}

.momhop-appbar {
	align-items: center;
	background: var(--mh-cream);
	border: 0;
	border-radius: 0;
	display: flex;
	gap: 10px;
	justify-content: space-between;
	min-height: var(--mh-appbar-h);
	margin: 0 auto;
	max-width: var(--mh-content-cap);
	padding: 0 18px;
}

.momhop-appbar__brand {
	align-items: center;
	color: var(--mh-ink);
	display: inline-flex;
	gap: 10px;
	text-decoration: none;
}

.momhop-appbar__mark {
	display: block;
	flex: none;
	height: 38px;
	width: auto;
}

.momhop-appbar__name {
	display: inline-flex;
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-h2);
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1;
}

.momhop-appbar__name-hop {
	color: var(--mh-coral);
}

.momhop-appbar__spacer {
	flex: 1;
}

.momhop-appbar__avatar {
	align-items: center;
	background: var(--mh-sage-soft);
	border: 1px solid var(--mh-line);
	border-radius: 50%;
	color: var(--mh-sage);
	display: inline-flex;
	font-size: var(--mh-fs-lead);
	height: 33px;
	justify-content: center;
	width: 33px;
}

.momhop-appbar__section,
.momhop-appbar__loc {
	color: var(--mh-coral);
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-micro);
	font-weight: 800;
	letter-spacing: 0.12em;
	margin-top: var(--mh-space-1);
	text-transform: uppercase;
}

.momhop-nav {
	align-items: center;
	background: color-mix(in srgb, var(--mh-cream) 65%, transparent);
	background-color: color-mix(in srgb, var(--mh-cream) 65%, transparent);
	-webkit-backdrop-filter: blur(12px) saturate(150%);
	backdrop-filter: blur(12px) saturate(150%);
	border: 1px solid color-mix(in srgb, var(--mh-line) 72%, transparent);
	border-top-color: color-mix(in srgb, var(--mh-ink) 16%, transparent);
	border-radius: 22px;
	bottom: calc(var(--mh-nav-bottom) + env(safe-area-inset-bottom, 0px));
	box-shadow: 0 6px 24px color-mix(in srgb, var(--mh-ink) 16%, transparent), 0 2px 6px color-mix(in srgb, var(--mh-ink) 10%, transparent), inset 0 1px 0 rgba(255, 255, 255, .6);
	display: flex;
	gap: 0;
	height: var(--mh-nav-h);
	justify-content: space-between;
	left: var(--mh-nav-edge);
	margin: 0;
	padding: 0 6px;
	position: fixed;
	right: var(--mh-nav-edge);
	z-index: 1000;
}

body.admin-bar .momhop-nav {
	bottom: calc(var(--mh-nav-bottom) + env(safe-area-inset-bottom, 0px) + 46px);
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.momhop-nav,
	.momhop-nav__inner {
		background: color-mix(in srgb, var(--mh-cream) 80%, transparent);
		background-color: color-mix(in srgb, var(--mh-cream) 80%, transparent);
	}
}

.momhop-nav__link,
.momhop-nav__item {
	align-items: center;
	background: none;
	border: 0;
	border-radius: var(--mh-r-sm);
	color: var(--mh-ink-soft);
	display: inline-flex;
	flex: 1 1 0;
	flex-direction: column;
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-micro);
	font-weight: 600;
	gap: 3px;
	justify-content: center;
	min-height: 44px;
	padding: 4px 2px 0;
	position: relative;
	text-align: center;
	text-decoration: none;
}

.momhop-nav__link[aria-current="page"],
.momhop-nav__item[aria-current="page"] {
	color: var(--mh-coral);
}

.momhop-nav__link[aria-current="page"]::after,
.momhop-nav__item[aria-current="page"]::after {
	display: none;
}

.momhop-nav__icon {
	font-size: var(--mh-fs-h3);
	line-height: 1;
}

.momhop-nav__label {
	font-size: var(--mh-fs-micro);
	font-weight: 600;
}

.momhop-nav__item--soon {
	color: var(--mh-soon);
}

.momhop-nav__soon {
	background: var(--mh-cream);
	border: 1px solid var(--mh-line);
	border-radius: 6px;
	color: var(--mh-ink-soft);
	font-size: 6.5px;
	font-weight: 700;
	letter-spacing: .04em;
	padding: 1px 3px;
	position: absolute;
	right: 50%;
	top: 1px;
	transform: translateX(17px);
	text-transform: uppercase;
}

.momhop-content-region {
	background: var(--mh-cream);
	padding: 6px 18px var(--mh-nav-clearance);
}

.momhop-content-region__empty {
	align-items: center;
	background: var(--mh-sage-soft);
	border: 1.5px dashed var(--mh-sage);
	border-radius: var(--mh-r-sm);
	color: var(--mh-sage);
	display: flex;
	font-size: var(--mh-fs-micro);
	font-weight: 700;
	gap: 6px;
	justify-content: center;
	letter-spacing: .05em;
	margin: 6px 0 13px;
	padding: 6px 9px;
	text-align: center;
	text-transform: uppercase;
}

.momhop-btn,
.momhop-action,
.momhop-decision-button {
	align-items: center;
	appearance: none;
	border-radius: var(--mh-r);
	display: inline-flex;
	font-family: var(--mh-ui-font);
	font-weight: 700;
	justify-content: center;
	text-decoration: none;
}

.momhop-btn--primary,
.momhop-decision-button:not(.momhop-decision-button--secondary) {
	background: var(--mh-coral-deep);
	border: 1px solid var(--mh-coral-deep);
	box-shadow: 0 10px 18px -14px var(--mh-coral-deep);
	color: #fff;
}

.momhop-btn--ghost,
.momhop-btn--secondary {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	color: var(--mh-ink);
}

.momhop-btn--secondary {
	box-shadow: var(--mh-sh-1);
	color: var(--mh-coral-deep);
	padding: 11px 15px;
}

.momhop-btn--block {
	display: flex;
	width: 100%;
}

.momhop-engine-slot[hidden],
.momhop-engine-slots[hidden] {
	display: none;
}

@media (min-width: 760px) {
	.momhop-page {
		padding: 22px 22px var(--mh-space-8);
	}

	.momhop-appbar {
		border-bottom: 1px solid var(--mh-line);
		border-radius: 0;
		margin-bottom: 0;
		min-height: 60px;
		padding: 0 24px;
	}

	.momhop-nav {
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
		background: transparent;
		border: 0;
		box-shadow: none;
		flex: 0 1 auto;
		gap: 3px;
		height: auto;
		justify-content: flex-end;
		margin: 0 0 0 18px;
		max-width: none;
		padding: 0;
		position: static;
	}

	body.admin-bar .momhop-nav {
		bottom: auto;
	}

	.momhop-appbar__brand {
		flex: 0 0 auto;
	}

	.momhop-nav__link,
	.momhop-nav__item {
		background: transparent;
		border: 0;
		flex: 0 0 auto;
		font-size: var(--mh-fs-body);
		min-height: 36px;
		padding: 9px 15px;
	}
}

@media (min-width: 760px) {
	.momhop-nav__icon,
	.momhop-nav__soon {
		display: none;
	}

	.momhop-nav__link[aria-current="page"],
	.momhop-nav__item[aria-current="page"] {
		background: transparent;
	}

	.momhop-nav__link[aria-current="page"]::after,
	.momhop-nav__item[aria-current="page"]::after {
		display: none;
	}

	.momhop-nav__item--soon .momhop-nav__label::after {
		background: var(--mh-surface);
		border: 1px solid var(--mh-line);
		border-radius: 5px;
		color: var(--mh-ink-soft);
		content: "soon";
		font-size: 7.5px;
		font-weight: 700;
		margin-left: 5px;
		padding: 1px 4px;
		text-transform: uppercase;
		vertical-align: 2px;
	}

	.momhop-content-region {
		padding: 20px 24px var(--mh-space-8);
	}
}

.momhop-home,
.momhop-soon-panel {
	margin: 0 auto;
	max-width: var(--mh-content-cap);
}

.momhop-greet {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-small);
	margin: 6px 0 0;
}

.momhop-greet b {
	color: var(--mh-ink);
	font-weight: 600;
}

.momhop-hero {
	background: linear-gradient(150deg, var(--mh-sage-soft) 0%, var(--mh-cream-2) 55%, var(--mh-coral-soft) 100%);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r);
	margin-top: 7px;
	overflow: hidden;
	padding: 13px 16px;
	position: relative;
}

.momhop-hero__h {
	color: var(--mh-ink);
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-h2);
	font-weight: 600;
	line-height: 1.08;
	margin: 0;
	max-width: 250px;
}

.momhop-hero__sub {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-small);
	line-height: 1.34;
	margin: 4px 0 0;
	max-width: 244px;
}

.momhop-a2hs {
	margin-top: 12px;
}

.momhop-a2hs[hidden],
.momhop-a2hs__trigger[hidden],
.momhop-a2hs__overlay[hidden],
.momhop-a2hs__add[hidden],
.momhop-a2hs__line[hidden],
.momhop-a2hs__ios[hidden] {
	display: none !important;
}

.momhop-a2hs__trigger {
	align-items: center;
	background: color-mix(in srgb, var(--mh-surface) 62%, transparent);
	border: 1px solid color-mix(in srgb, var(--mh-sage) 28%, transparent);
	border-radius: 999px;
	box-shadow: 0 6px 18px color-mix(in srgb, var(--mh-ink) 6%, transparent);
	color: var(--mh-ink);
	cursor: pointer;
	display: inline-flex;
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-small);
	font-weight: 750;
	line-height: 1;
	padding: 8px 12px;
}

.momhop-a2hs__overlay {
	align-items: flex-end;
	background: color-mix(in srgb, var(--mh-ink) 16%, transparent);
	display: flex;
	inset: 0;
	justify-content: center;
	padding: 18px 16px calc(var(--mh-bottom-nav-h, 79px) + env(safe-area-inset-bottom, 0px) + 12px);
	position: fixed;
	z-index: 1200;
}

.momhop-a2hs__popup {
	align-items: center;
	background: color-mix(in srgb, var(--mh-surface) 94%, transparent);
	border: 1px solid color-mix(in srgb, var(--mh-line) 92%, transparent);
	border-radius: 22px;
	box-shadow: 0 18px 44px color-mix(in srgb, var(--mh-ink) 18%, transparent);
	color: var(--mh-ink);
	display: grid;
	gap: 10px;
	grid-template-columns: minmax(0, 1fr) auto;
	max-width: 340px;
	padding: 14px 14px 14px 16px;
	position: relative;
	width: min(100%, 340px);
}

.momhop-a2hs__line {
	align-items: center;
	display: inline-flex;
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-small);
	font-weight: 700;
	gap: 8px;
	line-height: 1.25;
	margin: 0;
}

.momhop-a2hs__ios {
	grid-column: 1 / -1;
}

.momhop-a2hs__title {
	color: var(--mh-ink);
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-body);
	font-weight: 800;
	line-height: 1.15;
	margin: 0 22px 8px 0;
}

.momhop-a2hs__steps {
	color: var(--mh-ink);
	display: grid;
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-small);
	font-weight: 650;
	gap: 6px;
	line-height: 1.32;
	margin: 0;
	padding-left: 18px;
}

.momhop-a2hs__steps li::marker {
	color: var(--mh-sage);
	font-weight: 850;
}

.momhop-a2hs__share-glyph {
	color: var(--mh-sage);
	display: inline-flex;
	height: 19px;
	margin: 0 2px;
	position: relative;
	top: 4px;
	width: 19px;
}

.momhop-a2hs__share-glyph svg {
	display: block;
	height: 19px;
	overflow: visible;
	width: 19px;
}

.momhop-a2hs__share-glyph path {
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.9;
}

.momhop-a2hs__glyph {
	align-items: center;
	background: var(--mh-sage-soft);
	border-radius: 999px;
	color: var(--mh-sage);
	display: inline-flex;
	flex: 0 0 24px;
	height: 24px;
	justify-content: center;
}

.momhop-a2hs__add {
	background: var(--mh-sage);
	border: 0;
	border-radius: 999px;
	color: #fff;
	cursor: pointer;
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-small);
	font-weight: 800;
	padding: 8px 13px;
}

.momhop-a2hs__close {
	align-items: center;
	background: color-mix(in srgb, var(--mh-cream) 90%, transparent);
	border: 1px solid color-mix(in srgb, var(--mh-line) 90%, transparent);
	border-radius: 999px;
	color: var(--mh-ink-soft);
	cursor: pointer;
	display: inline-flex;
	font-size: var(--mh-fs-lead);
	height: 25px;
	justify-content: center;
	line-height: 1;
	position: absolute;
	right: -7px;
	top: -9px;
	width: 25px;
}

.momhop-hubhead {
	color: var(--mh-ink);
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-body);
	font-weight: 600;
	margin: 11px 2px 8px;
}

.momhop-hub {
	display: grid;
	gap: 10px;
	grid-template-columns: 1fr 1fr;
}

.momhop-hubcard {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r);
	box-shadow: var(--mh-sh-card);
	color: var(--mh-ink);
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-height: 74px;
	padding: 11px 12px;
	position: relative;
	text-decoration: none;
}

.momhop-hubcard.is-soon {
	opacity: .72;
}

.momhop-hubcard__icon {
	align-items: center;
	border-radius: 9px;
	display: flex;
	font-size: var(--mh-fs-lead);
	height: 31px;
	justify-content: center;
	width: 31px;
}

.momhop-hubcard--outings .momhop-hubcard__icon { background: var(--mh-coral-soft); }
.momhop-hubcard--events .momhop-hubcard__icon { background: var(--mh-sage-soft); }
.momhop-hubcard--day-plans .momhop-hubcard__icon { background: var(--mh-sky-soft); }
.momhop-hubcard--guide .momhop-hubcard__icon { background: var(--mh-sun-soft); }

.momhop-hubcard__name {
	color: var(--mh-ink);
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-body);
	font-weight: 600;
}

.momhop-hubcard__desc {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-micro);
	line-height: 1.25;
}

.momhop-hubcard__soon {
	background: var(--mh-cream);
	border: 1px solid var(--mh-line);
	border-radius: 6px;
	color: var(--mh-ink-soft);
	font-size: 7.5px;
	font-weight: 700;
	letter-spacing: .05em;
	padding: 2px 5px;
	position: absolute;
	right: 11px;
	text-transform: uppercase;
	top: 11px;
}

.momhop-neyamsg {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-left: 3px solid var(--mh-sage);
	border-radius: var(--mh-r-sm);
	margin-top: 11px;
	padding: 10px 13px;
}

.momhop-neyamsg__label {
	color: var(--mh-sage);
	font-size: var(--mh-fs-micro);
	font-weight: 700;
	letter-spacing: .06em;
	margin: 0;
	text-transform: uppercase;
}

.momhop-neyamsg__text {
	color: var(--mh-ink);
	font-size: var(--mh-fs-small);
	line-height: 1.38;
	margin: 3px 0 0;
}

.momhop-soon-panel {
	background: linear-gradient(150deg, var(--mh-surface) 0%, var(--mh-sage-soft) 100%);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r-lg);
	box-shadow: var(--mh-sh-card);
	padding: 22px 18px;
}

.momhop-soon-panel__eyebrow {
	color: var(--mh-coral);
	font-size: var(--mh-fs-micro);
	font-weight: 800;
	letter-spacing: .11em;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.momhop-soon-panel__title {
	color: var(--mh-ink);
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-h1);
	line-height: 1.08;
	margin: 0;
}

.momhop-soon-panel__copy {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-body);
	line-height: 1.45;
	margin: 10px 0 0;
	max-width: 620px;
}

@media (min-width: 760px) {
	.momhop-home {
		max-width: 760px;
	}

	.momhop-greet {
		margin-top: 0;
	}

	.momhop-hero {
		margin-top: 9px;
		padding: 22px 24px;
	}

	.momhop-hero__h {
		font-size: var(--mh-fs-h2);
		max-width: 520px;
	}

	.momhop-hero__sub {
		max-width: 520px;
	}
}

/* Step 9 parent Guides reader — scoped to MomHop app shell. */
.momhop-content-region--guide { margin: 0 auto; max-width: 1180px; padding: var(--mh-space-2) var(--mh-space-3) 0; width: 100%; }
.momhop-guides { --momhop-guide-cat: var(--mh-sky); padding: 8px 0 112px; color: var(--momhop-ink, #2c2520); }
.momhop-guides__inner { padding-top: 8px; }
.momhop-guides--detail, .momhop-guides__inner--detail { background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.momhop-guides__eyebrow { margin: 0 0 3px; color: var(--mh-coral); font-size: var(--mh-fs-micro); font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.momhop-guides__title { margin: 0; font-family: var(--mh-display-font); font-size: clamp(1.9rem, 7vw, 2.8rem); font-weight: 800; letter-spacing: -.06em; line-height: .96; }
.momhop-guides__intro { margin: 7px 0 0; max-width: 38rem; color: var(--mh-ink-soft); font-size: var(--mh-fs-body); line-height: 1.42; }
.momhop-guides__hubhead { margin: 18px 0 10px; font-family: var(--mh-display-font); font-size: var(--mh-fs-h3); }
.momhop-guides__hub { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.momhop-guides__hubcard { --momhop-guide-cat: var(--mh-sky); display: grid; gap: 7px; min-height: 132px; padding: 15px; border: 1px solid var(--mh-line); border-radius: var(--mh-r); background: var(--mh-surface-2); color: inherit; text-decoration: none; box-shadow: var(--mh-card-shadow); }
/* Hover looks only where a mouse can hover: on a phone a touch while scrolling set them off and they stuck (owner 2026-10-17: an orange border popping between events). */
@media (hover: hover) {
	.momhop-guides__hubcard:hover { transform: translateY(-2px); box-shadow: var(--mh-card-shadow); }
}
.momhop-guides__hbar { width: 48px; height: 4px; border-radius: var(--mh-r-pill); background: var(--momhop-guide-cat); }
.momhop-guides__hn { font-family: var(--mh-display-font); font-size: var(--mh-fs-h2); font-weight: 800; line-height: 1; }
.momhop-guides__hd { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); line-height: 1.35; }
.momhop-guides__count { align-self: end; color: var(--mh-sage); font-size: var(--mh-fs-micro); font-weight: 800; }
.momhop-guides .momhop-guide-card--travel { --momhop-guide-cat: var(--mh-sky); }
.momhop-guides .momhop-guide-card--perks { --momhop-guide-cat: var(--mh-sun); }
.momhop-guides .momhop-guide-card--collection { --momhop-guide-cat: var(--mh-sage); }
.momhop-guides .momhop-guide-card--event { --momhop-guide-cat: var(--mh-coral); }
.momhop-guides .momhop-guide-card--seasonal { --momhop-guide-cat: var(--mh-plum); }
.momhop-guides .momhop-guide-card--tips { --momhop-guide-cat: var(--mh-sun-text); }
.momhop-guides__detail-header { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; align-items: center; gap: 8px; margin: -10px -6px 0; padding: 8px 0 12px; }
.momhop-guides__back, .momhop-guides__save { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--mh-line); border-radius: var(--mh-r-pill); background: var(--mh-surface-2); color: var(--mh-ink); font-size: var(--mh-fs-h3); text-decoration: none; box-shadow: var(--mh-sh-1); }
.momhop-guides__save { opacity: .55; cursor: default; }
.momhop-guides__header-title { overflow: hidden; text-align: center; text-overflow: ellipsis; white-space: nowrap; font-family: var(--mh-display-font); font-size: var(--mh-fs-lead); font-weight: 800; }
.momhop-guides__cards { display: grid; gap: 14px; margin-top: 16px; }
.momhop-guide-read-card { --momhop-guide-cat: var(--mh-sky); display: block; overflow: hidden; border: 1px solid var(--mh-line); border-radius: 16px; background: var(--mh-surface); color: inherit; text-decoration: none; box-shadow: var(--mh-card-shadow); transition: transform .18s, box-shadow .18s; }
@media (hover: hover) {
	.momhop-guide-read-card:hover { transform: translateY(-3px); box-shadow: var(--mh-card-shadow); }
}
.momhop-guide-read-card__cover { display: flex; flex-direction: column; min-height: 168px; padding: 16px; background: var(--mh-surface-2); }
.momhop-guide-read-card__catrow { display: flex; align-items: center; gap: 9px; margin: 10px 0 auto; }
.momhop-guide-read-card__label { color: var(--mh-ink); font-size: var(--mh-fs-micro); font-weight: 800; letter-spacing: .15em; line-height: 1; text-transform: uppercase; white-space: nowrap; }
.momhop-guide-read-card__tail { height: 4px; flex: 1; border-radius: 2px; background: var(--momhop-guide-cat); }
.momhop-guide-read-card__title { margin: 0; color: var(--mh-ink); font-family: var(--mh-display-font); font-size: var(--mh-fs-h1); font-weight: 900; letter-spacing: -.6px; line-height: .99; }
.momhop-guide-read-card__dek { margin: 8px 0 0; color: var(--mh-ink-soft); font-family: var(--mh-display-font); font-size: var(--mh-fs-small); font-style: italic; line-height: 1.3; }
.momhop-guide-read-card__meta { display: flex; padding: 9px 14px 11px; background: var(--mh-surface); color: var(--mh-ink-soft); font-size: var(--mh-fs-micro); font-weight: 600; }
.momhop-guide-read-card__read { margin-left: auto; color: var(--mh-sage); font-weight: 700; }
/* The shelf at the foot of a category for Guides whose dates have passed: same cards, a quieter cover, and the date they ran to. */
.momhop-guides__past { border-top: 1px dashed var(--mh-line); margin-top: 28px; padding-top: 18px; }
.momhop-guides__pasthead { color: var(--mh-ink); font-family: var(--mh-display-font); font-size: var(--mh-fs-h3); margin: 0; }
.momhop-guides__pastnote { color: var(--mh-ink-soft); font-size: var(--mh-fs-body); line-height: 1.4; margin: 4px 0 0; }
.momhop-guides__past .momhop-guide-read-card { box-shadow: none; }
.momhop-guides__past .momhop-guide-read-card__cover { min-height: 0; }
.momhop-guides__past .momhop-guide-read-card__catrow { margin-bottom: 12px; }
.momhop-guides__past .momhop-guide-read-card__title { font-size: var(--mh-fs-h3); }
.momhop-guides__past .momhop-guide-read-card__tail { opacity: .45; }
.momhop-guide-read-card__when { color: var(--mh-ink-soft); font-weight: 700; }
/* Events near a ZIP: the line above the list that says where "near" is, and the field in the filter sheet. */
.momhop-events-near { align-items: center; color: var(--mh-ink-soft); display: flex; flex-wrap: wrap; font-size: var(--mh-fs-small); gap: 0 5px; line-height: 1.4; margin: 8px 0 0; }
.momhop-events-near b { color: var(--mh-ink); font-weight: 700; }
.momhop-events-near__pin { color: var(--mh-coral-deep); display: inline-flex; }
.momhop-events-near__count[hidden] { display: none; }
.momhop-events-near__act { white-space: nowrap; }
/* Phone: a ZIP, a distance and a count on one line need every pixel. */
@media (max-width: 520px) { .momhop-events-near { font-size: var(--mh-fs-small); gap: 0 3px; } }
.momhop-events-near__change { background: none; border: 0; color: var(--mh-coral-deep); cursor: pointer; font: inherit; font-weight: 700; min-height: 32px; padding: 0; text-decoration: underline; text-underline-offset: 3px; }
.momhop-ev__signup-link { color: var(--mh-coral-deep); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.momhop-events-nearfield { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; }
/* "How far": the distance around the ZIP, under the ZIP field. */
.momhop-events-nearmiles { margin-top: 14px; }
.momhop-events-nearmiles[hidden] { display: none; }
.momhop-events-nearmiles__label { color: var(--mh-ink); font-size: var(--mh-fs-small); font-weight: 700; margin: 0 0 8px; }
.momhop-events-nearfield input { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r-pill); color: var(--mh-ink); font: inherit; font-size: var(--mh-fs-lead); min-height: 44px; padding: 8px 16px; width: 9.5em; }
.momhop-events-nearfield input:focus-visible { border-color: var(--mh-coral); outline: 2px solid var(--mh-coral-soft); }
.momhop-guides__inner--detail { padding-bottom: 20px; }
.momhop-guide-island { contain: layout paint style; isolation: isolate; overflow: visible; padding: 8px 0 12px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.momhop-guide-island :where(img, video, iframe) { max-width: 100%; height: auto; }
.momhop-guides__actionbar { position: static; display: flex; flex-wrap: wrap; gap: 8px; max-width: none; margin: 16px 0 0; padding: 8px; border: 1px solid var(--mh-line); border-radius: var(--mh-r); background: color-mix(in srgb, var(--mh-surface-2) 92%, transparent); box-shadow: var(--mh-card-shadow); backdrop-filter: none; transform: none; }
.momhop-guides__share { flex: 0 1 auto; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid var(--mh-line); border-radius: var(--mh-r-pill); padding: 9px 14px; background: var(--mh-surface-2); color: var(--mh-ink); font-size: var(--mh-fs-small); font-weight: 700; line-height: 1.15; cursor: pointer; }
@media (max-width: 380px) { .momhop-guide-island { padding: 6px 0 10px; } }
@media (min-width: 760px) { .momhop-content-region--guide { padding: 20px 24px var(--mh-space-8); } .momhop-guide-island { padding: 10px 0 14px; } .momhop-guides__actionbar { width: auto; } }
.momhop-guides__empty { margin-top: 12px; padding: 18px; border: 1px dashed var(--mh-line); border-radius: var(--mh-r); background: var(--mh-surface-2); color: var(--mh-ink-soft); }
.momhop-guides__empty h2 { margin: 0 0 6px; color: var(--mh-ink); font-family: var(--mh-display-font); font-size: var(--mh-fs-h2); }
.momhop-guides__empty p { margin: 0; font-size: var(--mh-fs-body); line-height: 1.45; }

.momhop-freecut {
	text-align: center;
}

.momhop-freecut__marker {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-micro);
	letter-spacing: .04em;
	margin: 16px 0 0;
	text-align: center;
}

.momhop-freecut__marker::before,
.momhop-freecut__marker::after {
	color: var(--mh-line);
	content: "·";
	margin: 0 7px;
}

.momhop-freecut__card {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r);
	margin-top: 11px;
	padding: 15px 16px;
	position: relative;
	text-align: center;
}

.momhop-freecut__card::after {
	color: var(--mh-sage);
	content: "\270E";
	font-size: var(--mh-fs-micro);
	opacity: .5;
	position: absolute;
	right: 9px;
	top: 7px;
}

.momhop-freecut__msg {
	color: var(--mh-ink);
	font-size: var(--mh-fs-small);
	line-height: 1.45;
}

.momhop-freecut__msg b {
	font-weight: 600;
}

.momhop-freecut__btn {
	align-items: center;
	background: none;
	border: 1.5px solid var(--mh-coral);
	border-radius: var(--mh-r-pill);
	color: var(--mh-coral-deep);
	display: inline-flex;
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-small);
	font-weight: 700;
	gap: 6px;
	margin-top: 12px;
	padding: 8px 17px;
	text-decoration: none;
}

.momhop-detail-join {
	margin: 14px 0 18px;
}

.momhop-detail-join__card {
	padding: 14px 16px;
	text-align: left;
}

.momhop-detail-join__card::after {
	content: none;
}

.momhop-detail-join__eyebrow {
	color: var(--mh-coral-deep);
	font-size: var(--mh-fs-micro);
	font-weight: 800;
	letter-spacing: .12em;
	margin: 0 0 5px;
	text-transform: uppercase;
}

.momhop-detail-join__msg {
	font-size: var(--mh-fs-body);
}

.momhop-appbar__avatar {
	text-decoration: none;
}

.momhop-appbar__avatar.is-active {
	background: var(--mh-coral-soft);
	border: 2px solid var(--mh-coral);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--mh-coral) 13%, transparent);
	color: var(--mh-coral-deep);
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-small);
	font-weight: 700;
}


.momhop-is-loading-page,
.momhop-is-loading-page * {
	cursor: progress;
}


.momhop-is-loading-page .momhop-appbar__avatar,
.momhop-is-loading-page .momhop-account-menu__row:active {
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--mh-coral) 13%, transparent);
}


.momhop-account {
	color: var(--mh-ink);
	font-family: var(--mh-ui-font);
	margin: 0 auto;
	max-width: 680px;
	padding: 11px 16px 20px;
}

.momhop-account-profile {
	align-items: center;
	display: flex;
	gap: 13px;
	padding: 4px 2px 2px;
}

.momhop-account-profile__pic {
	align-items: center;
	background: linear-gradient(140deg, var(--mh-sage-soft), var(--mh-coral-soft));
	border: 1px solid var(--mh-line);
	border-radius: 50%;
	display: flex;
	flex: none;
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-h2);
	font-weight: 600;
	height: 56px;
	justify-content: center;
	width: 56px;
}

.momhop-account-profile__txt {
	flex: 1;
	min-width: 0;
}

.momhop-account-profile__name {
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-h3);
	font-weight: 600;
	line-height: 1.05;
	margin: 0;
}

.momhop-account-profile__meta {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-micro);
	margin: 2px 0 0;
}

.momhop-account-plan {
	align-items: center;
	border-radius: 999px;
	display: inline-flex;
	font-size: var(--mh-fs-micro);
	font-weight: 700;
	gap: 5px;
	letter-spacing: .04em;
	margin-top: 6px;
	padding: 3px 9px;
	text-transform: uppercase;
}

.momhop-account-plan--free {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	color: var(--mh-ink-soft);
}

.momhop-account-plan--plus {
	background: linear-gradient(120deg, var(--mh-sun-soft), var(--mh-coral-soft));
	border: 1px solid var(--mh-sun);
	color: var(--mh-sun-text);
}

.momhop-account-upstrip {
	align-items: center;
	background: var(--mh-surface-2);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r);
	display: flex;
	gap: 11px;
	margin-top: 13px;
	padding: 11px 13px;
}

.momhop-account-upstrip div {
	flex: 1;
	min-width: 0;
}

.momhop-account-upstrip b {
	display: block;
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-small);
	font-weight: 600;
}

.momhop-account-upstrip span {
	color: var(--mh-ink-soft);
	display: block;
	font-size: var(--mh-fs-micro);
	margin-top: 2px;
}

.momhop-account-upstrip a,
.momhop-account__button {
	background: none;
	border: 1.5px solid var(--mh-coral);
	border-radius: 999px;
	color: var(--mh-coral-deep);
	display: inline-flex;
	font-size: var(--mh-fs-small);
	font-weight: 700;
	justify-content: center;
	padding: 8px 13px;
	text-decoration: none;
}

.momhop-account-block {
	margin-top: 16px;
}

.momhop-account-block__h {
	align-items: baseline;
	display: flex;
	justify-content: space-between;
	margin: 0 2px 9px;
}

.momhop-account-block__h span {
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-body);
	font-weight: 600;
}

.momhop-account-block__h em {
	color: var(--mh-coral-deep);
	font-size: var(--mh-fs-micro);
	font-style: normal;
	font-weight: 600;
}

.momhop-account-saved-stub,
.momhop-account-menu,
.momhop-account-panel,
.momhop-account__empty {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r);
	box-shadow: var(--mh-sh-card);
	overflow: hidden;
}

.momhop-account-saved-stub {
	padding: 13px;
}

.momhop-account-saved-stub strong {
	display: block;
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-small);
	font-weight: 600;
}

.momhop-account-saved-stub p {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-micro);
	margin: 2px 0 0;
}

.momhop-account-menu-label {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-micro);
	font-weight: 700;
	letter-spacing: .07em;
	margin: 18px 4px 7px;
	text-transform: uppercase;
}

.momhop-account-menu--signout {
	margin-top: 11px;
}

.momhop-account-menu__row {
	align-items: center;
	border-bottom: 1px solid var(--mh-line);
	color: var(--mh-ink);
	display: flex;
	gap: 12px;
	padding: 13px 14px;
	text-decoration: none;
}

.momhop-account-menu__row:last-child {
	border-bottom: 0;
}

.momhop-account-menu__icon {
	align-items: center;
	background: var(--mh-cream);
	border-radius: 8px;
	display: flex;
	flex: none;
	font-size: var(--mh-fs-body);
	height: 28px;
	justify-content: center;
	width: 28px;
}

.momhop-account-menu__body {
	flex: 1;
	min-width: 0;
}

.momhop-account-menu__label {
	display: block;
	font-size: var(--mh-fs-small);
	font-weight: 600;
}

.momhop-account-menu__sub {
	color: var(--mh-ink-soft);
	display: block;
	font-size: var(--mh-fs-micro);
	margin-top: 1px;
}

.momhop-account-menu__chev {
	color: var(--mh-ink-faint);
	font-size: var(--mh-fs-lead);
}

.momhop-account-menu__row.is-danger .momhop-account-menu__label {
	color: var(--mh-coral-deep);
}

.momhop-account-secure {
	align-items: flex-start;
	color: var(--mh-ink-soft);
	display: flex;
	font-size: var(--mh-fs-micro);
	gap: 8px;
	line-height: 1.45;
	margin-top: 14px;
	padding: 0 4px;
}

.momhop-account-secure p {
	margin: 0;
}

.momhop-account-secure b {
	color: var(--mh-ink);
}

.momhop-account-subhead {
	align-items: center;
	display: flex;
	gap: 10px;
	min-height: 43px;
}

.momhop-account-subhead__back {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-h2);
	line-height: 1;
	text-decoration: none;
}

.momhop-account-subhead h1 {
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-lead);
	font-weight: 600;
	margin: 0;
}

.momhop-account-subnote {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-micro);
	line-height: 1.4;
	margin: 2px 2px 12px;
}

.momhop-account-subnote--section {
	color: var(--mh-ink);
	font-weight: 600;
	margin-top: 18px;
}

.momhop-account-savednotice {
	background: var(--mh-sage-soft);
	border-radius: 999px;
	color: var(--mh-sage);
	display: inline-flex;
	font-size: var(--mh-fs-micro);
	font-weight: 700;
	margin: 0 0 10px;
	padding: 4px 10px;
}

.momhop-account-form label {
	border-bottom: 1px solid var(--mh-line);
	display: grid;
	gap: 6px;
	padding: 12px 13px;
}

.momhop-account-form label:last-child {
	border-bottom: 0;
}

.momhop-account-form label > span {
	font-size: var(--mh-fs-small);
	font-weight: 600;
}

.momhop-account-form input,
.momhop-account-form select {
	border: 1px solid var(--mh-line);
	border-radius: 10px;
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-small);
	padding: 8px 10px;
	width: 100%;
}

.momhop-account-form select {
	min-height: 104px;
}

.momhop-account-toggle {
	align-items: center;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.momhop-account-toggle small {
	color: var(--mh-ink-soft);
	display: block;
	font-size: var(--mh-fs-micro);
	font-weight: 400;
	margin-top: 2px;
}

.momhop-account-toggle input {
	accent-color: var(--mh-coral);
	width: auto;
}

.momhop-account-form .momhop-account__button {
	cursor: pointer;
	margin-top: 14px;
}

.momhop-account__empty {
	padding: 18px;
}

.momhop-account-saved,
.momhop-account-saved__panel {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r);
	box-shadow: var(--mh-sh-card);
	overflow: hidden;
}

.momhop-account-saved {
	background: transparent;
	border: 0;
	box-shadow: none;
}

.momhop-account-block__seeall {
	color: var(--mh-coral-deep);
	font-size: var(--mh-fs-small);
	font-weight: 700;
	text-decoration: none;
}

.momhop-account-saved__tabs {
	display: flex;
	gap: 6px;
	margin: 0 0 10px;
	overflow-x: auto;
}

.momhop-account-saved__tab {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: 999px;
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-micro);
	font-weight: 600;
	padding: 4px 11px;
	white-space: nowrap;
}

.momhop-account-saved__tab.is-on {
	background: var(--mh-ink);
	border-color: var(--mh-ink);
	color: #fff;
}

.momhop-account-saved__row {
	align-items: center;
	border-bottom: 1px solid var(--mh-line);
	color: var(--mh-ink);
	display: flex;
	gap: 11px;
	padding: 11px 13px;
}

.momhop-account-saved__link {
	align-items: center;
	color: inherit;
	display: flex;
	flex: 1;
	gap: 11px;
	min-width: 0;
	text-decoration: none;
}

.momhop-account-saved__row:last-child { border-bottom: 0; }
.momhop-account-saved__dot { border-radius: 50%; flex: none; height: 8px; width: 8px; }
.momhop-account-saved__body { flex: 1; min-width: 0; }
.momhop-account-saved__title { display: block; font-family: var(--mh-display-font); font-size: var(--mh-fs-small); font-weight: 600; line-height: 1.15; }
.momhop-account-saved__meta { color: var(--mh-ink-soft); display: block; font-size: var(--mh-fs-micro); margin-top: 2px; }
.momhop-account-saved__heart {
	align-items: center;
	aspect-ratio: 1;
	background: transparent;
	border: 0;
	color: var(--mh-coral);
	cursor: pointer;
	display: inline-flex;
	flex: none;
	font-size: var(--mh-fs-lead);
	height: 32px;
	justify-content: center;
	line-height: 1;
	padding: 0;
	width: 32px;
}

.momhop-account-saved__heart [data-momhop-favorite-icon] {
	display: block;
	font-family: "Apple Color Emoji", "Segoe UI Symbol", "Noto Color Emoji", var(--mh-ui-font);
	font-size: var(--mh-fs-lead);
	line-height: 1;
	transform: none;
}
.momhop-account-saved__tag { border-radius: 5px; font-size: 8.5px; font-weight: 700; letter-spacing: .04em; padding: 1px 6px; text-transform: uppercase; }
.momhop-account-saved__tag--guide { background: var(--mh-sky-soft); color: var(--mh-sky); }
.momhop-account-saved__tag--outing { background: var(--mh-coral-soft); color: var(--mh-coral-deep); }
.momhop-account-saved__tag--place { background: var(--mh-sun-soft); color: var(--mh-sun-text); }
.momhop-account-saved__tag--event { background: var(--mh-sage-soft); color: var(--mh-sage); }
.momhop-account-saved__empty { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r); color: var(--mh-ink-soft); font-size: var(--mh-fs-small); padding: 13px; }

/* PMPro pages inside the MomHop app shell. Scoped to shortcode-wrapped PMPro content only. */
.momhop-page--pmpro-shell,
.momhop-page--pmpro-shell * {
	box-sizing: border-box;
}

.momhop-page--pmpro-shell {
	background: var(--mh-cream);
	color: var(--mh-ink);
	font-family: var(--mh-ui-font);
	min-height: 100vh;
	padding: 14px 14px var(--mh-nav-clearance);
}

.momhop-page--pmpro-shell .momhop-appbar__avatar {
	background: var(--mh-coral-soft);
	border: 2px solid var(--mh-coral);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--mh-coral) 13%, transparent);
	color: var(--mh-coral-deep);
	font-family: var(--mh-display-font);
	font-weight: 700;
}

.momhop-page--pmpro-shell .momhop-content-region.momhop-pmpro-shell {
	background: var(--mh-cream);
	margin: 0 auto;
	max-width: none;
	padding: 18px;
}

.momhop-page--pmpro-shell .momhop-pmpro-shell__inner {
	margin: 0 auto;
	max-width: 680px;
	padding: 0 16px 20px;
	width: 100%;
}

.momhop-page--pmpro-shell .momhop-pmpro-shell__back {
	color: var(--mh-coral-deep);
	display: inline-flex;
	font-size: var(--mh-fs-small);
	font-weight: 700;
	margin: 0 2px 12px;
	text-decoration: none;
}

.momhop-page--pmpro-shell .momhop-pmpro-shell__eyebrow,
.momhop-page--pmpro-shell .momhop-pmpro-card-eyebrow {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-micro);
	font-weight: 700;
	letter-spacing: .07em;
	margin: 18px 4px 7px;
	text-transform: uppercase;
}

.momhop-page--pmpro-shell .momhop-pmpro-shell__eyebrow { margin-top: 0; }

.momhop-page--pmpro-shell .momhop-pmpro-shell__title {
	color: var(--mh-ink);
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-h1);
	font-weight: 600;
	letter-spacing: -.01em;
	line-height: 1.08;
	margin: 0 2px 16px;
}

.momhop-page--pmpro-shell .momhop-pmpro-shell__panel {
	background: transparent;
	border: 0;
	box-shadow: none;
	margin: 0;
	max-width: none;
	padding: 0;
	width: 100%;
}

.momhop-page--pmpro-shell .momhop-pmpro-card,
.momhop-page--pmpro-shell .pmpro_section,
.momhop-page--pmpro-shell .pmpro_card,
.momhop-page--pmpro-shell .pmpro_login_wrap,
.momhop-page--pmpro-shell .pmpro_invoice_wrap,
.momhop-page--pmpro-shell .pmpro_confirmation,
.momhop-page--pmpro-shell .pmpro_cancel,
.momhop-page--pmpro-shell .pmpro_levels,
.momhop-page--pmpro-shell .pmpro_billing {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r);
	box-shadow: var(--mh-sh-card);
	overflow: hidden;
}

.momhop-page--pmpro-shell .pmpro,
.momhop-page--pmpro-shell .pmpro_section_content,
.momhop-page--pmpro-shell .pmpro_form,
.momhop-page--pmpro-shell .pmpro_card_content {
	color: var(--mh-ink);
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-small);
	line-height: 1.4;
	max-width: 100%;
	min-width: 0;
	width: 100%;
}

.momhop-page--pmpro-shell .pmpro_section,
.momhop-page--pmpro-shell .pmpro_card,
.momhop-page--pmpro-shell .pmpro_login_wrap,
.momhop-page--pmpro-shell .pmpro_invoice_wrap,
.momhop-page--pmpro-shell .pmpro_confirmation,
.momhop-page--pmpro-shell .pmpro_cancel,
.momhop-page--pmpro-shell .pmpro_levels,
.momhop-page--pmpro-shell .pmpro_billing,
.momhop-page--pmpro-shell .momhop-pmpro-card {
	margin: 0 0 14px;
	padding: 13px 14px;
}

.momhop-page--pmpro-shell .momhop-pmpro-fieldset-section .momhop-pmpro-card,
.momhop-page--pmpro-shell .pmpro_card:has(.momhop-pmpro-fieldset-section) {
	padding: 0;
}

.momhop-page--pmpro-shell .pmpro_card:has(.momhop-pmpro-fieldset-section) {
	background: transparent;
	border: 0;
	box-shadow: none;
	overflow: visible;
}

.momhop-page--pmpro-shell .pmpro_form_fieldset,
.momhop-page--pmpro-shell .pmpro_form .pmpro_form_field-group,
.momhop-page--pmpro-shell .pmpro_form fieldset,
.momhop-page--pmpro-shell fieldset.pmpro_form_fieldset,
.momhop-page--pmpro-shell fieldset {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	margin: 0;
	min-inline-size: 0;
	padding: 13px 14px;
}

.momhop-page--pmpro-shell .momhop-pmpro-card fieldset.pmpro_form_fieldset {
	padding: 13px 14px;
}

.momhop-page--pmpro-shell .pmpro_card_content > .pmpro_spacer { display: none; }

.momhop-page--pmpro-shell .pmpro h1,
.momhop-page--pmpro-shell .pmpro h2,
.momhop-page--pmpro-shell .pmpro h3,
.momhop-page--pmpro-shell .pmpro .pmpro_card_title,
.momhop-page--pmpro-shell .pmpro_section h2,
.momhop-page--pmpro-shell .pmpro_section h3,
.momhop-page--pmpro-shell .pmpro_form_legend,
.momhop-page--pmpro-shell .pmpro_form legend,
.momhop-page--pmpro-shell fieldset > legend,
.momhop-page--pmpro-shell .pmpro_checkout h2,
.momhop-page--pmpro-shell .pmpro_checkout h3 {
	color: var(--mh-ink);
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-small);
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0 0 6px;
	text-transform: none;
}

.momhop-page--pmpro-shell .pmpro p,
.momhop-page--pmpro-shell .pmpro li,
.momhop-page--pmpro-shell .pmpro .pmpro_form_hint,
.momhop-page--pmpro-shell .pmpro .pmpro_form_field-description,
.momhop-page--pmpro-shell .pmpro .pmpro_form_hint-text,
.momhop-page--pmpro-shell .pmpro .lite {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-micro);
	line-height: 1.4;
}

.momhop-page--pmpro-shell .pmpro p { margin: 2px 0 0; }
.momhop-page--pmpro-shell .pmpro ul,
.momhop-page--pmpro-shell .pmpro ol { margin: 8px 0 14px 1.2rem; padding: 0; }
.momhop-page--pmpro-shell .pmpro a { color: var(--mh-coral-deep); font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 3px; }

.momhop-page--pmpro-shell .pmpro_form,
.momhop-page--pmpro-shell form.pmpro_form { display: grid; gap: 0; grid-template-columns: minmax(0, 1fr); max-width: 100%; width: 100%; }

.momhop-page--pmpro-shell .pmpro_form_field,
.momhop-page--pmpro-shell .pmpro_form_fieldset,
.momhop-page--pmpro-shell .pmpro_checkout-field,
.momhop-page--pmpro-shell .pmpro_checkout-fields,
.momhop-page--pmpro-shell .pmpro_member_profile_edit-field,
.momhop-page--pmpro-shell .pmpro_form .pmpro_form_field-group { margin: 0; max-width: 100%; }

.momhop-page--pmpro-shell .pmpro_form label,
.momhop-page--pmpro-shell .pmpro_form .pmpro_form_label,
.momhop-page--pmpro-shell .pmpro_checkout-field label { color: var(--mh-ink); display: inline-block; font-size: var(--mh-fs-small); font-weight: 600; margin: 0 0 6px; }

.momhop-page--pmpro-shell input[type="text"],
.momhop-page--pmpro-shell input[type="email"],
.momhop-page--pmpro-shell input[type="password"],
.momhop-page--pmpro-shell input[type="tel"],
.momhop-page--pmpro-shell input[type="number"],
.momhop-page--pmpro-shell input[type="url"],
.momhop-page--pmpro-shell input[type="search"],
.momhop-page--pmpro-shell select,
.momhop-page--pmpro-shell textarea,
.momhop-page--pmpro-shell .pmpro_form .input,
.momhop-page--pmpro-shell .pmpro_form .pmpro_form_input { border: 1px solid var(--mh-line); border-radius: 10px; box-shadow: none; color: var(--mh-ink); font-family: var(--mh-ui-font); font-size: var(--mh-fs-small); padding: 9px 11px; width: 100%; }

.momhop-page--pmpro-shell .pmpro_form select[multiple],
.momhop-page--pmpro-shell .pmpro_form select[size] { min-height: 104px; padding: 9px 11px; }
.momhop-page--pmpro-shell .pmpro_form textarea { min-height: 104px; resize: vertical; }
.momhop-page--pmpro-shell .pmpro_form input[type="checkbox"],
.momhop-page--pmpro-shell .pmpro_form input[type="radio"] { accent-color: var(--mh-coral); margin-right: 7px; }
.momhop-page--pmpro-shell .pmpro_form input:focus,
.momhop-page--pmpro-shell .pmpro_form select:focus,
.momhop-page--pmpro-shell .pmpro_form textarea:focus { border-color: var(--mh-coral); box-shadow: 0 0 0 3px color-mix(in srgb, var(--mh-coral) 13%, transparent); outline: none; }

.momhop-page--pmpro-shell .pmpro_btn,
.momhop-page--pmpro-shell a.pmpro_btn,
.momhop-page--pmpro-shell button.pmpro_btn,
.momhop-page--pmpro-shell input.pmpro_btn,
.momhop-page--pmpro-shell .pmpro_btn-submit,
.momhop-page--pmpro-shell .pmpro_btn-select,
.momhop-page--pmpro-shell .pmpro_btn-print,
.momhop-page--pmpro-shell .pmpro_form input[type="submit"],
.momhop-page--pmpro-shell .pmpro_form input[type="button"],
.momhop-page--pmpro-shell .pmpro_form button[type="submit"],
.momhop-page--pmpro-shell .login-submit input[type="submit"],
.momhop-page--pmpro-shell #wp-submit,
.momhop-page--pmpro-shell .button-primary,
.momhop-page--pmpro-shell .pmpro_actions_nav a,
.momhop-page--pmpro-shell .pmpro_actionlinks a,
.momhop-page--pmpro-shell .pmpro_card_actions a,
.momhop-page--pmpro-shell .pmpro_card_actions button,
.momhop-page--pmpro-shell .pmpro_level-select a { align-items: center; appearance: none; background: var(--mh-coral-deep); border: 1.5px solid var(--mh-coral-deep); border-radius: 999px; color: #fff; cursor: pointer; display: inline-flex; font-family: var(--mh-ui-font); font-size: var(--mh-fs-small); font-weight: 700; justify-content: center; line-height: 1.1; padding: 8px 13px; text-decoration: none; }

.momhop-page--pmpro-shell .pmpro_btn:hover,
.momhop-page--pmpro-shell .pmpro_form input[type="submit"]:hover,
.momhop-page--pmpro-shell .pmpro_form input[type="button"]:hover,
.momhop-page--pmpro-shell .pmpro_form button[type="submit"]:hover,
.momhop-page--pmpro-shell .login-submit input[type="submit"]:hover,
.momhop-page--pmpro-shell #wp-submit:hover,
.momhop-page--pmpro-shell .button-primary:hover,
.momhop-page--pmpro-shell .pmpro_actions_nav a:hover,
.momhop-page--pmpro-shell .pmpro_actionlinks a:hover,
.momhop-page--pmpro-shell .pmpro_card_actions a:hover,
.momhop-page--pmpro-shell .pmpro_card_actions button:hover,
.momhop-page--pmpro-shell .pmpro_level-select a:hover { background: color-mix(in srgb, var(--mh-coral-deep) 82%, var(--mh-ink)); border-color: color-mix(in srgb, var(--mh-coral-deep) 82%, var(--mh-ink)); color: #fff; }

.momhop-page--pmpro-shell .pmpro_btn-cancel,
.momhop-page--pmpro-shell .pmpro_btn-plain:not(.pmpro_btn-print),
.momhop-page--pmpro-shell .pmpro_actions_nav a:not(:first-child),
.momhop-page--pmpro-shell a.pmpro_btn-cancel,
.momhop-page--pmpro-shell .pmpro_form a.cancel,
.momhop-page--pmpro-shell .pmpro_actionlinks a:not(:first-child),
.momhop-page--pmpro-shell .pmpro_lost_password_wrap .pmpro_actions_nav a,
.momhop-page--pmpro-shell .pmpro_login_wrap .pmpro_card_actions a { background: transparent; border-color: var(--mh-coral); color: var(--mh-coral-deep); }

.momhop-page--pmpro-shell .pmpro_form .pmpro_submit,
.momhop-page--pmpro-shell .pmpro_form .pmpro_form_submit,
.momhop-page--pmpro-shell .pmpro_actions_nav,
.momhop-page--pmpro-shell .pmpro_actionlinks { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 14px; }

.momhop-page--pmpro-shell .pmpro_table,
.momhop-page--pmpro-shell .pmpro_table table,
.momhop-page--pmpro-shell table.pmpro_table,
.momhop-page--pmpro-shell .pmpro_invoice_wrap table,
.momhop-page--pmpro-shell .pmpro_account-membership-levellist,
.momhop-page--pmpro-shell .pmpro_account-invoices table,
.momhop-page--pmpro-shell .pmpro_levels_table { background: transparent; border: 0; border-collapse: collapse; border-radius: 0; border-spacing: 0; box-shadow: none; font-family: var(--mh-ui-font); overflow: visible; width: 100%; }

.momhop-page--pmpro-shell .pmpro_table th,
.momhop-page--pmpro-shell .pmpro_table td,
.momhop-page--pmpro-shell table.pmpro_table th,
.momhop-page--pmpro-shell table.pmpro_table td,
.momhop-page--pmpro-shell .pmpro_invoice_wrap th,
.momhop-page--pmpro-shell .pmpro_invoice_wrap td,
.momhop-page--pmpro-shell .pmpro_account-invoices th,
.momhop-page--pmpro-shell .pmpro_account-invoices td,
.momhop-page--pmpro-shell .pmpro_levels_table th,
.momhop-page--pmpro-shell .pmpro_levels_table td { border: 0; border-bottom: 1px solid var(--mh-line); color: var(--mh-ink); padding: 11px 13px; vertical-align: middle; }

.momhop-page--pmpro-shell .pmpro_table th,
.momhop-page--pmpro-shell table.pmpro_table th,
.momhop-page--pmpro-shell .pmpro_invoice_wrap th,
.momhop-page--pmpro-shell .pmpro_account-invoices th,
.momhop-page--pmpro-shell .pmpro_levels_table th { background: transparent; color: var(--mh-ink-soft); font-size: var(--mh-fs-micro); font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }

.momhop-page--pmpro-shell .pmpro_table tr:last-child td,
.momhop-page--pmpro-shell table.pmpro_table tr:last-child td,
.momhop-page--pmpro-shell .pmpro_invoice_wrap tr:last-child td,
.momhop-page--pmpro-shell .pmpro_account-invoices tr:last-child td,
.momhop-page--pmpro-shell .pmpro_levels_table tr:last-child td { border-bottom: 0; }
.momhop-page--pmpro-shell .pmpro_table td::before,
.momhop-page--pmpro-shell .pmpro_table th::before,
.momhop-page--pmpro-shell table.pmpro_table td::before,
.momhop-page--pmpro-shell table.pmpro_table th::before { content: none; display: none; }

.momhop-page--pmpro-shell .pmpro_list,
.momhop-page--pmpro-shell .pmpro_list-plain,
.momhop-page--pmpro-shell .pmpro_cols-2 { list-style: none; margin: 0; padding: 0; }
.momhop-page--pmpro-shell .pmpro_list_item { border-top: 1px solid var(--mh-line); display: flex; gap: 11px; justify-content: space-between; padding: 11px 13px; }
.momhop-page--pmpro-shell .pmpro_list_item:first-child { border-top: 0; }
.momhop-page--pmpro-shell .pmpro_list_item_label,
.momhop-page--pmpro-shell .pmpro_list_item strong { color: var(--mh-ink); font-size: var(--mh-fs-small); font-weight: 600; }
.momhop-page--pmpro-shell .pmpro_list_item_value { color: var(--mh-ink-soft); font-size: var(--mh-fs-micro); text-align: right; }

.momhop-page--pmpro-shell .pmpro_table tr,
.momhop-page--pmpro-shell table.pmpro_table tr,
.momhop-page--pmpro-shell .pmpro_invoice_wrap tr,
.momhop-page--pmpro-shell .pmpro_account-invoices tr,
.momhop-page--pmpro-shell .pmpro_levels_table tr,
.momhop-page--pmpro-shell .pmpro_table tr:nth-child(even),
.momhop-page--pmpro-shell table.pmpro_table tr:nth-child(even),
.momhop-page--pmpro-shell .pmpro_invoice_wrap tr:nth-child(even),
.momhop-page--pmpro-shell .pmpro_account-invoices tr:nth-child(even),
.momhop-page--pmpro-shell .pmpro_levels_table tr:nth-child(even) { background: transparent; }

.momhop-page--pmpro-shell .pmpro_level,
.momhop-page--pmpro-shell .pmpro_level-row { background: transparent; border: 0; border-top: 1px solid var(--mh-line); box-shadow: none; padding: 11px 13px; }
.momhop-page--pmpro-shell .pmpro_level + .pmpro_level,
.momhop-page--pmpro-shell .pmpro_level-row + .pmpro_level-row { margin-top: 0; }

.momhop-page--pmpro-shell .pmpro_message,
.momhop-page--pmpro-shell .pmpro_alert,
.momhop-page--pmpro-shell .pmpro_error,
.momhop-page--pmpro-shell .pmpro_success,
.momhop-page--pmpro-shell .pmpro_notice { background: var(--mh-coral-soft); border: 1px solid color-mix(in srgb, var(--mh-coral) 28%, transparent); border-radius: var(--mh-r-sm); box-shadow: none; color: var(--mh-coral-deep); font-size: var(--mh-fs-small); line-height: 1.45; margin: 0 0 14px; padding: 12px 14px; }
.momhop-page--pmpro-shell .pmpro_success,
.momhop-page--pmpro-shell .pmpro_message.pmpro_success { background: var(--mh-sage-soft); border-color: color-mix(in srgb, var(--mh-sage) 28%, transparent); color: var(--mh-sage); }

@media (max-width: 560px) {
	.momhop-page--pmpro-shell { padding-left: 0; padding-right: 0; }
	.momhop-page--pmpro-shell .momhop-content-region.momhop-pmpro-shell { padding-left: 16px; padding-right: 16px; }
	.momhop-page--pmpro-shell .momhop-pmpro-shell__panel { padding: 0; }
	.momhop-page--pmpro-shell .pmpro_table,
	.momhop-page--pmpro-shell .pmpro_table table,
	.momhop-page--pmpro-shell table.pmpro_table,
	.momhop-page--pmpro-shell .pmpro_invoice_wrap table,
	.momhop-page--pmpro-shell .pmpro_account-invoices table,
	.momhop-page--pmpro-shell .pmpro_levels_table { font-size: var(--mh-fs-small); }
	.momhop-page--pmpro-shell .pmpro_table th,
	.momhop-page--pmpro-shell .pmpro_table td,
	.momhop-page--pmpro-shell table.pmpro_table th,
	.momhop-page--pmpro-shell table.pmpro_table td,
	.momhop-page--pmpro-shell .pmpro_invoice_wrap th,
	.momhop-page--pmpro-shell .pmpro_invoice_wrap td,
	.momhop-page--pmpro-shell .pmpro_account-invoices th,
	.momhop-page--pmpro-shell .pmpro_account-invoices td,
	.momhop-page--pmpro-shell .pmpro_levels_table th,
	.momhop-page--pmpro-shell .pmpro_levels_table td { padding: 11px 13px; }
}

/* Neya detail-card note: scoped MomHop component, hidden unless PHP finds an active date-ranged term message. */
.momhop-neya-note { margin: 14px 0; border: 1px solid color-mix(in srgb, var(--mh-coral) 24%, transparent); border-radius: var(--mh-r-md); background: var(--mh-coral-soft); color: var(--mh-ink); padding: 13px 15px; box-shadow: 0 10px 24px color-mix(in srgb, var(--mh-ink) 8%, transparent); }
.momhop-neya-note__label { display:inline-flex; align-items:center; gap:6px; margin-bottom:5px; color: var(--mh-coral-deep); font-size: var(--mh-fs-micro); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.momhop-neya-note__label::before { content: none; }
.momhop-neya-note__body { font-family: var(--mh-font-display); font-size: var(--mh-fs-lead); line-height: 1.45; }
.momhop-neya-note__body p { margin: 0 0 8px; }
.momhop-neya-note__body p:last-child { margin-bottom: 0; }

.momhop-location-fields { border: 1px solid color-mix(in srgb, var(--mh-ink) 14%, transparent); border-radius: 22px; background: color-mix(in srgb, var(--mh-surface) 72%, transparent); padding: 16px; }
.momhop-location-fields__toggle { align-items: center; display: flex; gap: 10px; font-weight: 800; margin-bottom: 12px; }
.momhop-location-fields__toggle input { accent-color: var(--mh-coral); width: 18px; height: 18px; }
.momhop-location-fields__grid { display: grid; gap: 12px; }
.momhop-location-fields__note { color: var(--mh-muted); font-size: var(--mh-fs-small); line-height: 1.45; margin: 10px 0 0; }
.momhop-location-fields.is-visiting { background: color-mix(in srgb, var(--mh-coral-soft) 32%, transparent); }
.momhop-pmpro-newsletter h3 { color: var(--mh-ink); font-family: var(--mh-font-display); font-size: var(--mh-fs-h2); margin: 0 0 12px; }
.momhop-pmpro-newsletter .momhop-location-fields { margin-bottom: 14px; }
@media (min-width: 680px) { .momhop-location-fields__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Real shell bottom nav: fixed viewport layer with a centered app-column inner bar. */
.momhop-nav__inner {
	align-items: center;
	background: color-mix(in srgb, var(--mh-cream) 65%, transparent);
	background-color: color-mix(in srgb, var(--mh-cream) 65%, transparent);
	-webkit-backdrop-filter: blur(12px) saturate(150%);
	backdrop-filter: blur(12px) saturate(150%);
	border: 1px solid color-mix(in srgb, var(--mh-line) 72%, transparent);
	border-top-color: color-mix(in srgb, var(--mh-ink) 16%, transparent);
	border-radius: 22px;
	box-shadow: 0 6px 24px color-mix(in srgb, var(--mh-ink) 16%, transparent), 0 2px 6px color-mix(in srgb, var(--mh-ink) 10%, transparent), inset 0 1px 0 rgba(255, 255, 255, .6);
	display: flex;
	gap: 0;
	height: var(--mh-nav-h);
	justify-content: space-between;
	margin: 0 auto;
	max-width: var(--mh-app-column-w);
	padding: 0 6px;
	width: calc(100% - (var(--mh-nav-edge) * 2));
}

body.momhop-app-route .momhop-nav,
body.momhop-results-route .momhop-nav {
	align-items: flex-start;
	background: transparent;
	border: 0;
	border-radius: 0;
	bottom: 0;
	box-shadow: none;
	display: flex;
	height: calc(var(--mh-bottom-nav-h) + var(--mh-safe-bottom));
	left: 0;
	padding: 0 0 var(--mh-safe-bottom);
	right: 0;
	z-index: 1000;
}

body.admin-bar.momhop-app-route .momhop-nav,
body.admin-bar.momhop-results-route .momhop-nav {
	bottom: 0;
}

@media (min-width: 760px) {
	.momhop-nav__inner {
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
		background: transparent;
		border: 0;
		box-shadow: none;
		gap: 3px;
		height: auto;
		max-width: none;
		padding: 0;
		width: auto;
	}
}

@media (min-width: 760px) {
	body.momhop-app-route .momhop-nav,
	body.momhop-results-route .momhop-nav {
		align-items: center;
		display: flex;
		flex: 0 1 auto;
		height: auto;
		left: auto;
		margin: 0 0 0 18px;
		padding: 0;
		position: static;
		right: auto;
		z-index: auto;
	}
}

body.momhop-app-route .momhop-nav,
body.momhop-results-route .momhop-nav {
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

/* Desktop 3-zone parent app shell: mobile remains the existing header + bottom nav. */
.momhop-desktop-shell,
.momhop-shell-center {
	display: contents;
}

.momhop-shell-rail,
.momhop-shell-right {
	display: none;
}

@media (min-width: 1024px) {
	.momhop-page.momhop-page--app-shell {
		padding: 0;
	}

	.momhop-page--app-shell > .momhop-appbar {
		display: none;
	}

	.momhop-desktop-shell {
		display: grid;
		grid-template-columns: var(--mh-rail-w) minmax(0, 1fr) var(--mh-right-w);
		margin: 0 auto;
		max-width: var(--mh-desktop-shell-max);
		min-height: 100vh;
		width: 100%;
	}

	.momhop-shell-rail {
		align-self: start;
		background: var(--mh-cream);
		border-right: 1px solid var(--mh-line);
		display: flex;
		flex-direction: column;
		height: 100vh;
		padding: 22px 16px;
		position: sticky;
		top: 0;
	}

	body.admin-bar .momhop-shell-rail,
	body.admin-bar .momhop-shell-right {
		height: calc(100vh - 32px);
		top: 32px;
	}

	.momhop-shell-rail__logo {
		align-items: center;
		color: var(--mh-ink);
		display: inline-flex;
		font-family: var(--mh-display-font);
		font-size: var(--mh-fs-h2);
		font-weight: 700;
		gap: 9px;
		line-height: 1;
		margin: 4px 8px 28px;
		text-decoration: none;
	}

	.momhop-shell-rail__logo b {
		color: var(--mh-coral);
	}

	.momhop-shell-rail__mark {
		display: block;
		height: 30px;
		width: auto;
	}

	.momhop-shell-rail__nav {
		display: flex;
		flex-direction: column;
		gap: 4px;
	}

	.momhop-shell-rail__link.momhop-nav__link {
		align-items: center;
		background: transparent;
		border: 0;
		border-radius: 11px;
		color: var(--mh-ink-soft);
		display: flex;
		flex: 0 0 auto;
		flex-direction: row;
		font-family: var(--mh-ui-font);
		font-size: var(--mh-fs-body);
		font-weight: 600;
		gap: 12px;
		justify-content: flex-start;
		min-height: 0;
		padding: 11px 13px;
		text-align: left;
		text-decoration: none;
	}

	.momhop-shell-rail__link:hover {
		background: var(--mh-cream-2);
	}

	.momhop-shell-rail__link.momhop-nav__link[aria-current="page"] {
		background: var(--mh-coral-soft);
		color: var(--mh-coral-deep);
		font-weight: 700;
	}

	.momhop-shell-rail__icon {
		font-size: var(--mh-fs-lead);
		line-height: 1;
		text-align: center;
		width: 20px;
	}

	.momhop-shell-rail__label {
		font-size: inherit;
		font-weight: inherit;
	}

	.momhop-shell-rail__soon {
		border: 1px solid var(--mh-line);
		border-radius: 999px;
		color: var(--mh-ink-faint);
		font-size: var(--mh-fs-micro);
		font-weight: 700;
		letter-spacing: .05em;
		margin-left: auto;
		padding: 1px 7px;
		text-transform: uppercase;
	}

	.momhop-shell-rail__account {
		align-items: center;
		border-top: 1px solid var(--mh-line);
		color: var(--mh-ink-soft);
		display: flex;
		font-size: var(--mh-fs-body);
		gap: 11px;
		margin-top: auto;
		padding: 11px 9px;
		text-decoration: none;
	}

	.momhop-shell-rail__account.is-active {
		color: var(--mh-coral-deep);
		font-weight: 700;
	}

	.momhop-shell-rail__avatar {
		align-items: center;
		background: var(--mh-sage-soft);
		border-radius: 50%;
		color: var(--mh-sage);
		display: flex;
		font-size: var(--mh-fs-body);
		font-weight: 700;
		height: 34px;
		justify-content: center;
		width: 34px;
	}

	.momhop-shell-center {
		border-right: 1px solid var(--mh-line);
		display: block;
		min-width: 0;
		padding: 26px 28px 56px;
	}

	.momhop-shell-center > .momhop-content-region {
		margin: 0 auto;
		max-width: var(--mh-center-max);
		padding: 0;
		width: 100%;
	}

	.momhop-shell-center .momhop-home,
	.momhop-shell-center .momhop-soon-panel,
	.momhop-shell-center .momhop-content-region--guide,
	.momhop-shell-center .momhop-account {
		max-width: var(--mh-center-max);
	}

	.momhop-shell-right {
		align-self: start;
		display: block;
		height: 100vh;
		overflow: auto;
		padding: 26px 20px;
		position: sticky;
		top: 0;
	}

	.momhop-shell-right__head {
		color: var(--mh-ink-faint);
		font-size: var(--mh-fs-micro);
		font-weight: 700;
		letter-spacing: .08em;
		margin: 0 2px 12px;
		text-transform: uppercase;
	}

	.momhop-shell-card {
		background: var(--mh-surface);
		border: 1px solid var(--mh-line);
		border-radius: var(--mh-r-sm);
		margin-bottom: 13px;
		padding: 15px;
		position: relative;
	}

	.momhop-shell-card--weather {
		background: linear-gradient(135deg, var(--mh-sky-soft), var(--mh-surface));
		border-style: dashed;
	}

	.momhop-shell-card__label {
		color: var(--mh-ink-soft);
		font-size: var(--mh-fs-micro);
		font-weight: 700;
		letter-spacing: .08em;
		margin: 0 0 8px;
		text-transform: uppercase;
	}

	.momhop-shell-card__quiet,
	.momhop-shell-card__text {
		color: var(--mh-ink-soft);
		font-size: var(--mh-fs-body);
		line-height: 1.4;
		margin: 0;
	}

	.momhop-shell-card__quiet {
		color: var(--mh-ink-soft);
	}

	.momhop-shell-card__stub {
		border: 1px dashed var(--mh-line);
		border-radius: 999px;
		color: var(--mh-ink-faint);
		font-size: var(--mh-fs-micro);
		letter-spacing: .06em;
		padding: 2px 7px;
		position: absolute;
		right: 12px;
		text-transform: uppercase;
		top: 11px;
	}

	.momhop-shell-card__rowhead {
		align-items: baseline;
		display: flex;
		gap: 10px;
		justify-content: space-between;
	}

	.momhop-shell-card__rowhead a,
	.momhop-shell-card__prompt {
		color: var(--mh-sage);
		font-size: var(--mh-fs-small);
		font-weight: 700;
		text-decoration: none;
	}

	.momhop-shell-card__prompt {
		display: inline-flex;
		margin-top: 10px;
	}

	.momhop-shell-favorites {
		display: grid;
		gap: 0;
	}

	.momhop-shell-favorite {
		align-items: center;
		border-bottom: 1px solid var(--mh-line-soft);
		color: var(--mh-ink-soft);
		display: flex;
		gap: 10px;
		padding: 7px 0;
		text-decoration: none;
	}

	.momhop-shell-favorite:last-child {
		border-bottom: 0;
	}

	.momhop-shell-favorite__dot {
		border-radius: 8px;
		flex: 0 0 30px;
		height: 30px;
		opacity: .8;
		width: 30px;
	}

	.momhop-shell-favorite strong,
	.momhop-shell-favorite small {
		display: block;
	}

	.momhop-shell-favorite strong {
		color: var(--mh-ink);
		font-size: var(--mh-fs-body);
		font-weight: 700;
		line-height: 1.2;
	}

	.momhop-shell-favorite small {
		color: var(--mh-ink-soft);
		font-size: var(--mh-fs-micro);
		line-height: 1.25;
		margin-top: 2px;
	}
}


/* Desktop guide category card list: 2-up only inside the per-category guide list. */
@media (min-width: 1024px) {
	.momhop-shell-center .momhop-guides--category .momhop-guides__cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}
}

/* Desktop center-zone reflow PASS 1: guide detail only; landing/home/events keep their existing width behavior. */
@media (min-width: 1024px) {
	.momhop-shell-center .momhop-guides--detail,
	.momhop-shell-center .momhop-guides--detail .momhop-guides__inner--detail,
	.momhop-shell-center .momhop-guides--detail .momhop-guide-island {
		margin-left: auto;
		margin-right: auto;
		max-width: min(720px, 100%);
		width: 100%;
	}

	.momhop-shell-center .momhop-guides--detail .momhop-guides__detail-header {
		margin-left: auto;
		margin-right: auto;
		max-width: min(720px, 100%);
		width: 100%;
	}
}

/* Sign-up decision page: Free vs Plus. Scoped to .momhop-join only. */
.momhop-content-region--signup-decision { padding: 0; }

.momhop-join {
	color: var(--mh-ink);
	font-family: var(--mh-ui-font);
	margin: 0 auto;
	max-width: 760px;
}

.momhop-join-header {
	align-items: center;
	background: var(--mh-cream);
	border-bottom: 1px solid color-mix(in srgb, var(--mh-line) 60%, transparent);
	display: flex;
	gap: 10px;
	height: 54px;
	padding: 0 16px;
}

.momhop-join-header__back {
	background: none;
	border: 0;
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-h1);
	line-height: 1;
	text-decoration: none;
}

.momhop-join-header__word {
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-h2);
	font-weight: 600;
	letter-spacing: -.01em;
}

.momhop-join-header__word span { color: var(--mh-coral); }

.momhop-join__content { padding: 18px 17px 22px; }

.momhop-join-editable { position: relative; }

.momhop-join-editable::after {
	color: var(--mh-sage);
	content: "\270E";
	font-size: var(--mh-fs-micro);
	opacity: .55;
	pointer-events: none;
	position: absolute;
	right: 9px;
	top: 7px;
}

.momhop-join-eyebrow {
	color: var(--mh-sage);
	font-size: var(--mh-fs-micro);
	font-weight: 700;
	letter-spacing: .1em;
	margin: 0;
	text-transform: uppercase;
}

.momhop-join-hero { padding: 2px 2px 0; }

.momhop-join-hero__h {
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-h1);
	font-weight: 600;
	letter-spacing: -.01em;
	line-height: 1.08;
	margin: 7px 0 0;
}

.momhop-join-hero__sub {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-small);
	line-height: 1.5;
	margin: 8px 0 0;
}

.momhop-join-shared {
	align-items: flex-start;
	background: var(--mh-sage-soft);
	border: 1px solid color-mix(in srgb, var(--mh-sage) 24%, var(--mh-surface));
	border-radius: var(--mh-r);
	display: flex;
	gap: 9px;
	margin-top: 15px;
	padding: 11px 13px;
}

.momhop-join-shared__ic { flex: none; font-size: var(--mh-fs-body); line-height: 1.2; }
.momhop-join-shared__text { color: color-mix(in srgb, var(--mh-sage) 78%, var(--mh-ink)); font-size: var(--mh-fs-micro); line-height: 1.5; margin: 0; }
.momhop-join-shared__text b { color: color-mix(in srgb, var(--mh-sage) 45%, var(--mh-ink)); font-weight: 700; }

.momhop-join-tier {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r);
	box-shadow: var(--mh-sh-card);
	margin-top: 15px;
	padding: 15px 15px 16px;
	position: relative;
}

.momhop-join-tier--plus {
	background: linear-gradient(180deg, #fff 0%, var(--mh-coral-faint) 100%);
	border: 1.5px solid var(--mh-coral);
	box-shadow: 0 1px 2px color-mix(in srgb, var(--mh-coral-deep) 8%, transparent), 0 10px 28px color-mix(in srgb, var(--mh-coral-deep) 13%, transparent);
	margin-top: 18px;
}

.momhop-join-tier__badge {
	background: var(--mh-coral-deep);
	border-radius: 999px;
	box-shadow: 0 2px 6px color-mix(in srgb, var(--mh-coral-deep) 30%, transparent);
	color: #fff;
	font-size: var(--mh-fs-micro);
	font-weight: 700;
	left: 15px;
	letter-spacing: .07em;
	padding: 4px 10px;
	position: absolute;
	text-transform: uppercase;
	top: -10px;
}

.momhop-join-tier__head { align-items: baseline; display: flex; gap: 8px; justify-content: space-between; }
.momhop-join-tier__pill { border-radius: 999px; font-size: var(--mh-fs-micro); font-weight: 700; letter-spacing: .05em; padding: 3px 10px; text-transform: uppercase; }
.momhop-join-tier__pill--free { background: var(--mh-surface); border: 1px solid var(--mh-line-strong); color: var(--mh-ink-soft); }
.momhop-join-tier__pill--plus { background: linear-gradient(120deg, var(--mh-sun-soft), var(--mh-coral-soft)); border: 1px solid var(--mh-sun); color: var(--mh-sun-text); }
.momhop-join-tier__price { color: var(--mh-ink); font-family: var(--mh-display-font); font-size: var(--mh-fs-lead); font-weight: 600; }
.momhop-join-tier__price small { color: var(--mh-ink-soft); font-family: var(--mh-ui-font); font-size: var(--mh-fs-micro); font-weight: 500; }
.momhop-join-tier__name { font-family: var(--mh-display-font); font-size: var(--mh-fs-h3); font-weight: 600; line-height: 1.1; margin: 9px 0 0; }
.momhop-join-tier__tagline { color: var(--mh-coral-deep); font-family: var(--mh-display-font); font-size: var(--mh-fs-small); font-weight: 600; margin: 4px 0 0; }
.momhop-join-tier__lede { color: var(--mh-ink-soft); font-size: var(--mh-fs-micro); line-height: 1.45; margin: 5px 0 0; }

.momhop-join-feat { display: flex; flex-direction: column; gap: 8px; list-style: none; margin: 12px 0 0; padding: 0; }
.momhop-join-feat li { align-items: flex-start; color: var(--mh-ink); display: flex; font-size: var(--mh-fs-small); gap: 9px; line-height: 1.4; }
.momhop-join-feat li span { align-items: center; background: var(--mh-sage-soft); border-radius: 50%; color: var(--mh-sage); display: flex; flex: none; font-size: var(--mh-fs-micro); font-weight: 700; height: 17px; justify-content: center; margin-top: 1px; width: 17px; }
.momhop-join-tier--plus .momhop-join-feat li span { background: var(--mh-coral-soft); color: var(--mh-coral-deep); }
.momhop-join-feat li.is-muted { color: var(--mh-ink-soft); }
.momhop-join-feat li.is-muted span { background: var(--mh-cream-2); color: var(--mh-ink-faint); }

.momhop-join-cta {
	border: 1.5px solid transparent;
	border-radius: 999px;
	display: block;
	font-size: var(--mh-fs-body);
	font-weight: 700;
	margin-top: 14px;
	padding: 12px;
	text-align: center;
	text-decoration: none;
	width: 100%;
}

.momhop-join-cta--free { background: var(--mh-sage); border-color: var(--mh-sage); color: #fff; }
.momhop-join-cta--plus { background: var(--mh-coral-deep); border-color: var(--mh-coral-deep); box-shadow: 0 6px 16px color-mix(in srgb, var(--mh-coral-deep) 28%, transparent); color: #fff; }
.momhop-join-login { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); margin: 20px 0 0; text-align: center; }
.momhop-join-login a { color: var(--mh-coral-deep); font-weight: 700; text-decoration: none; }
.momhop-join-secure { align-items: flex-start; color: var(--mh-ink-soft); display: flex; font-size: var(--mh-fs-micro); gap: 8px; line-height: 1.45; margin-top: 16px; padding: 0 2px; }
.momhop-join-secure p { margin: 0; }
.momhop-join-secure b { color: var(--mh-ink); }

@media (min-width: 1024px) {
	.momhop-join { max-width: 760px; padding: 20px 18px 28px; }
	.momhop-join-header { border: 1px solid color-mix(in srgb, var(--mh-line) 60%, transparent); border-radius: var(--mh-r) var(--mh-r) 0 0; }
	.momhop-join__content { padding: 22px 20px 24px; }
	.momhop-join-tiers { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin-top: 15px; }
	.momhop-join-tier,
	.momhop-join-tier--plus { margin-top: 0; }
}

/* ==========================================================================
   PMPro shell — single card, MomHop button hierarchy (2026-10-03).
   Prefixed with body.momhop-app-route so these win over the rules above.
   ========================================================================== */

/* PMPro's own colour variables (its accent is navy by default) follow MomHop tokens. */
html:root {
	--pmpro--color--accent: var(--mh-coral);
	--pmpro--color--accent--variation: var(--mh-coral-deep);
	--pmpro--color--contrast: var(--mh-ink);
	--pmpro--color--base: var(--mh-surface);
	--pmpro--color--border--variation: var(--mh-line);
}

/* Same content width as every other MomHop page (page padding only). */
body.momhop-app-route .momhop-page--pmpro-shell .momhop-content-region.momhop-pmpro-shell {
	padding: 0;
}

body.momhop-app-route .momhop-page--pmpro-shell .momhop-pmpro-shell__inner {
	padding: 0 var(--mh-page-gutter) 20px;
}

/* One card per form: a section that only wraps a card is not itself a card. */
body.momhop-app-route .momhop-page--pmpro-shell .pmpro_section:has(> .pmpro_card) {
	background: transparent;
	border: 0;
	box-shadow: none;
	overflow: visible;
	padding: 0;
}

body.momhop-app-route .momhop-page--pmpro-shell .pmpro_card {
	padding: var(--mh-space-4);
}

/* Primary action: full width, 44px touch target. */
body.momhop-app-route .momhop-page--pmpro-shell #wp-submit,
body.momhop-app-route .momhop-page--pmpro-shell .login-submit input[type="submit"],
body.momhop-app-route .momhop-page--pmpro-shell .pmpro_btn-submit {
	font-size: var(--mh-fs-small);
	font-weight: var(--mh-fw-ui-strong);
	min-height: 44px;
	width: 100%;
}

/* "Show password" is a quiet inline control, not a second button. */
body.momhop-app-route .momhop-page--pmpro-shell .pmpro_btn-plain:not(.pmpro_btn-print) {
	background: transparent;
	border: 0;
	color: var(--mh-coral-deep);
	font-size: var(--mh-fs-small);
	font-weight: var(--mh-fw-ui-strong);
	gap: 6px;
	min-height: 0;
	padding: 6px 0;
}

body.momhop-app-route .momhop-page--pmpro-shell .pmpro_btn-plain:not(.pmpro_btn-print):hover {
	background: transparent;
	color: var(--mh-coral);
}

body.momhop-app-route .momhop-page--pmpro-shell .pmpro_icon,
body.momhop-app-route .momhop-page--pmpro-shell .pmpro_icon svg {
	color: currentColor;
	stroke: currentColor;
}

/* Secondary navigation inside a card ("Lost password?") is a text link. */
body.momhop-app-route .momhop-page--pmpro-shell .pmpro_card_actions a,
body.momhop-app-route .momhop-page--pmpro-shell .pmpro_actions_nav a {
	background: transparent;
	border: 0;
	color: var(--mh-coral-deep);
	font-size: var(--mh-fs-small);
	font-weight: var(--mh-fw-ui-strong);
	padding: 4px 0;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.momhop-app-route .momhop-page--pmpro-shell .pmpro_card_actions a:hover,
body.momhop-app-route .momhop-page--pmpro-shell .pmpro_actions_nav a:hover {
	background: transparent;
	color: var(--mh-coral);
}

body.momhop-app-route .momhop-page--pmpro-shell .pmpro_card_actions {
	border-top: 1px solid var(--mh-line);
	margin-top: var(--mh-space-3);
	padding-top: var(--mh-space-3);
}

/* ==========================================================================
   Page titles and eyebrows (2026-10-03) — master canonical "Eyebrow + Section
   Heading": eyebrow 11px/700/.13em/uppercase/coral; title Fraunces 600 26px ink.
   One rule for every section/page title so they can no longer drift apart.
   ========================================================================== */
body.momhop-app-route .momhop-page #momhop-results-heading,
body.momhop-app-route .momhop-page #momhop-events-heading,
body.momhop-app-route .momhop-page .momhop-guides__title,
body.momhop-app-route .momhop-page .momhop-join-hero__h,
body.momhop-app-route .momhop-page .momhop-pmpro-shell__title,
body.momhop-app-route .momhop-page .momhop-account h1:not(.momhop-account-profile__name),
body.momhop-app-route .momhop-page .momhop-account-profile__name,
body.momhop-app-route .momhop-page .momhop-hero__h,
body.momhop-app-route .momhop-page .momhop-hero--fresh .momhop-hero__h,
body.momhop-app-route .momhop-page .momhop-about2__title,
body.momhop-app-route .momhop-page .momhop-aboutpage__title,
body.momhop-app-route .momhop-page .momhop-empty__t,
body.momhop-app-route .momhop-page #momhop-pp-heading,
body.momhop-app-route .momhop-page .momhop-soon-panel__title,
body.momhop-app-route .momhop-page .momhop-guide-island .mh-hero h1 {
	/* 2026-10-17 review: Home, About, Contact, Account, Partners, Not found and Guide articles joined this rule. */
	color: var(--mh-ink);
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-h1);
	font-weight: var(--mh-fw-display);
	letter-spacing: -0.01em;
	line-height: 1.05;
}

body.momhop-app-route .momhop-page .momhop-empty__t {
	color: var(--mh-ink);
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-h1);
	font-weight: var(--mh-fw-display);
	line-height: 1.1;
}

body.momhop-app-route .momhop-page .momhop-results-eyebrow,
body.momhop-app-route .momhop-page .momhop-guides__eyebrow,
body.momhop-app-route .momhop-page .momhop-join-eyebrow,
body.momhop-app-route .momhop-page .momhop-pmpro-shell__eyebrow,
body.momhop-app-route .momhop-page .momhop-detail-join__eyebrow,
body.momhop-app-route .momhop-page .momhop-decision__eyebrow,
body.momhop-app-route .momhop-page .momhop-soon-panel__eyebrow {
	color: var(--mh-coral);
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-micro);
	font-weight: 700;
	letter-spacing: 0.13em;
	line-height: 1.2;
	text-transform: uppercase;
}

/* Account forms (2026-10-03): one input height, example text reads as an example, flat location
   block inside the panel, chip vibes, and a primary Save. Tokens only. */
.momhop-account-form input:not([type="checkbox"]):not([type="radio"]),
.momhop-account-form select:not([multiple]) {
	height: 40px;
	min-height: 0;
	padding: 0 12px;
	background: var(--mh-surface);
}
.momhop-account-form input::placeholder { color: var(--mh-ink-soft); opacity: .55; }
.momhop-account-form .momhop-location-fields {
	background: none;
	border: 0;
	border-bottom: 1px solid var(--mh-line);
	border-radius: 0;
	padding: 12px 13px;
}
.momhop-account-form .momhop-location-fields label { border-bottom: 0; padding: 0; }
.momhop-account-form .momhop-location-fields__toggle {
	display: flex;
	grid-template-columns: none;
	align-items: center;
	gap: 8px;
	font-size: var(--mh-fs-small);
	font-weight: 600;
	margin-bottom: 10px;
}
.momhop-account-form .momhop-location-fields__toggle input { width: 18px; height: 18px; }
.momhop-account-form .momhop-location-fields__note { font-size: var(--mh-fs-micro); }
.momhop-account-vibes { border: 0; border-bottom: 1px solid var(--mh-line); margin: 0; padding: 12px 13px; min-width: 0; }
.momhop-account-vibes legend { float: left; width: 100%; margin-bottom: 8px; font-size: var(--mh-fs-small); font-weight: 600; }
.momhop-account-vibes__chips { clear: both; display: flex; flex-wrap: wrap; gap: 6px; }
.momhop-account-form label.momhop-account-chip {
	position: relative;
	display: inline-flex;
	padding: 6px 11px;
	border: 1px solid var(--mh-line);
	border-radius: 999px;
	background: var(--mh-surface);
	cursor: pointer;
	font-size: var(--mh-fs-small);
	font-weight: 600;
	color: var(--mh-ink);
}
.momhop-account-form label.momhop-account-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.momhop-account-form label.momhop-account-chip:has(input:checked) { background: var(--mh-coral-deep); border-color: var(--mh-coral-deep); color: #fff; }
.momhop-account-form label.momhop-account-chip:has(input:focus-visible) { outline: 2px solid var(--mh-coral-deep); outline-offset: 2px; }
.momhop-account-form .momhop-account__button--primary {
	background: var(--mh-coral-deep);
	color: #fff;
	min-height: 40px;
	padding: 0 22px;
	font-size: var(--mh-fs-small);
}
.momhop-account-form .momhop-newsletter-inline { padding: 12px 13px; }
.momhop-account-form .momhop-newsletter-inline__state { margin: 0 0 4px; font-size: var(--mh-fs-small); font-weight: 600; }
.momhop-account-form .momhop-newsletter-inline label { padding: 6px 0; border-bottom: 0; }
.momhop-account-form .momhop-newsletter-inline__actions { display: flex; gap: 8px; margin-top: 6px; }
.momhop-account-form .momhop-account__button { align-items: center; }

/* Membership (PMPro) pages as Account sub-pages (2026-10-03): same width, header and single
   white panel as Your defaults; PMPro's own section/card boxes are flattened. Tokens only. */
.momhop-page--pmpro-shell .momhop-content-region.momhop-pmpro-shell { padding: 0; }
.momhop-page--pmpro-shell .momhop-account--pmpro.momhop-pmpro-shell__inner { max-width: none; margin: 0; padding: 0; width: auto; }
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel,
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel :is(.pmpro, .pmpro_section, .pmpro_section_content, .pmpro_card_content, .pmpro_form_fieldset, .momhop-pmpro-fieldset-section),
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel .pmpro_card:has(.momhop-pmpro-card),
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel .pmpro_card .pmpro_card {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
/* The one visible box per group. */
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel :is(.momhop-pmpro-card, .pmpro_card:not(:has(.momhop-pmpro-card)):not(.pmpro_card .pmpro_card):not(.momhop-pmpro-card .pmpro_card)) {
	background: var(--mh-surface) !important;
	border: 1px solid var(--mh-line) !important;
	border-radius: var(--mh-r) !important;
	box-shadow: var(--mh-sh-card) !important;
	margin: 0 0 14px !important;
	overflow: hidden;
	padding: 0 !important;
}
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel :is(.momhop-pmpro-card-eyebrow, .pmpro_section_title, .pmpro_card_title) {
	color: var(--mh-ink-soft);
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-micro);
	font-weight: 700;
	letter-spacing: .13em;
	margin: 14px 2px 7px !important;
	padding: 0 !important;
	text-transform: uppercase;
}
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel .pmpro_card > .pmpro_card_title { margin: 0 !important; padding: 12px 13px 0 !important; }
/* Fields as rows, like the Your defaults panel. */
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel .pmpro_form_fields { display: block !important; }
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel .pmpro_form_field {
	border-bottom: 1px solid var(--mh-line);
	display: grid;
	gap: 6px;
	margin: 0 !important;
	padding: 12px 13px !important;
}
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel .pmpro_form_field:last-child { border-bottom: 0; }
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel .pmpro_form_label { font-size: var(--mh-fs-small); font-weight: 600; margin: 0; }
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel :is(input.pmpro_form_input, select.pmpro_form_input):not([type="checkbox"]):not([type="radio"]):not([multiple]) {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: 10px;
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-small);
	height: 40px;
	padding: 0 12px;
	width: 100%;
}
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel .pmpro_form_hint { color: var(--mh-ink-soft); font-size: var(--mh-fs-micro); margin: 0; }
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel .pmpro_card_content > :is(p, ul, div:not([class])) { margin: 0; padding: 12px 13px; font-size: var(--mh-fs-small); }
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel .pmpro_spacer { display: none; }
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel :is(.pmpro_form_submit, .pmpro_card_actions, .pmpro_actions_nav) {
	align-items: center;
	background: transparent !important;
	border: 0 !important;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 4px 0 0 !important;
	padding: 0 !important;
}
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel .pmpro_card .pmpro_card_actions { padding: 10px 13px 12px !important; border-top: 1px solid var(--mh-line) !important; margin: 0 !important; }
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel :is(.pmpro_btn, input[type="submit"], button[type="submit"]) {
	align-items: center;
	background: var(--mh-coral-deep);
	border: 1.5px solid var(--mh-coral-deep);
	border-radius: 999px;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-small);
	font-weight: 700;
	justify-content: center;
	min-height: 40px;
	padding: 0 22px;
	text-decoration: none;
}
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel :is(.pmpro_btn-cancel, .pmpro_btn.pmpro_btn-cancel, .pmpro_btn-outline) {
	background: none;
	color: var(--mh-coral-deep);
}
.momhop-account-vibes__hint { clear: both; color: var(--mh-ink-soft); font-size: var(--mh-fs-micro); margin: 0 0 8px; }
.momhop-account-vibes__group + .momhop-account-vibes__group { margin-top: 12px; }
.momhop-account-vibes__group-label {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-micro);
	font-weight: 700;
	letter-spacing: .1em;
	margin: 0 0 6px;
	text-transform: uppercase;
}
/* Phone: comfortable tap targets for chips. */
@media (max-width: 680px) {
	.momhop-account-form label.momhop-account-chip { padding: 9px 13px; font-size: var(--mh-fs-small); }
	.momhop-account-vibes__chips { gap: 8px; }
	.momhop-account-form .momhop-account__button--primary { width: 100%; min-height: 46px; font-size: var(--mh-fs-body); }
}

/* Account on phones: one gutter. Page (14px) + region (12px) + account (16px) stacked to 42px a
   side, leaving 291px of a 375px phone; membership pages used 14px. Everything now sits on the
   page gutter with the same top spacing. */
@media (max-width: 1023px) {
	.momhop-page .momhop-content-region.momhop-content-region--account { padding-left: 0; padding-right: 0; }
	.momhop-page .momhop-content-region--account > .momhop-account { padding-left: 0; padding-right: 0; }
	.momhop-page--pmpro-shell { padding-left: var(--mh-page-gutter); padding-right: var(--mh-page-gutter); }
	body .momhop-page--pmpro-shell .momhop-content-region .momhop-account--pmpro.momhop-pmpro-shell__inner { padding: 17px 0 20px !important; }
}
/* Vibe groups: tap to expand (first group and any group with picks start open). */
details.momhop-account-vibes__group > summary {
	align-items: center;
	cursor: pointer;
	display: flex;
	gap: 8px;
	list-style: none;
	min-height: 36px;
}
details.momhop-account-vibes__group > summary::-webkit-details-marker { display: none; }
details.momhop-account-vibes__group > summary::after { content: "▾"; margin-left: auto; font-size: var(--mh-fs-small); }
details.momhop-account-vibes__group[open] > summary::after { content: "▴"; }
details.momhop-account-vibes__group > summary > span {
	background: var(--mh-coral-soft);
	border-radius: 999px;
	color: var(--mh-coral-deep);
	font-size: var(--mh-fs-micro);
	letter-spacing: 0;
	padding: 1px 8px;
}
details.momhop-account-vibes__group + details.momhop-account-vibes__group { border-top: 1px solid var(--mh-line); margin-top: 8px; padding-top: 4px; }
details.momhop-account-vibes__group .momhop-account-vibes__chips { padding: 4px 0 8px; }
/* Home hub: with an odd number of section cards the last one spans the row (no orphan half card). */
.momhop-hub > :last-child:nth-child(odd) { grid-column: 1 / -1; }

/* Sign-up page: no box inside the group box; no price/level card while the paid tier is off. */
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel .momhop-pmpro-card .pmpro_card {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
body.momhop-paid-tier-off .momhop-page--pmpro-shell #pmpro_pricing_fields { display: none !important; }
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel .pmpro_card_actions,
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel .momhop-pmpro-card .pmpro_card_actions { font-size: var(--mh-fs-small); }
@media (max-width: 680px) {
	.momhop-page--pmpro-shell .momhop-pmpro-shell__panel .pmpro_form_submit :is(.pmpro_btn, input[type="submit"], button[type="submit"]) { width: 100%; min-height: 46px; font-size: var(--mh-fs-body); }
}

/* Sign-up "Where should MomHop start?" block — same panel + rows as the rest of Account. */
.momhop-page--pmpro-shell .momhop-pmpro-newsletter {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r);
	box-shadow: var(--mh-sh-card);
	margin: 0 0 14px;
	overflow: hidden;
	padding: 12px 13px;
}
.momhop-page--pmpro-shell .momhop-pmpro-newsletter h3 {
	color: var(--mh-ink-soft);
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-micro);
	font-weight: 700;
	letter-spacing: .13em;
	margin: 0 0 10px;
	text-transform: uppercase;
}
.momhop-page--pmpro-shell .momhop-pmpro-newsletter .momhop-location-fields { background: none; border: 0; border-radius: 0; margin: 0 0 10px; padding: 0; }
.momhop-page--pmpro-shell .momhop-pmpro-newsletter .momhop-location-fields__grid label { display: grid; gap: 6px; font-size: var(--mh-fs-small); font-weight: 600; }
.momhop-page--pmpro-shell .momhop-pmpro-newsletter :is(input:not([type="checkbox"]), select) {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: 10px;
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-small);
	height: 40px;
	padding: 0 12px;
	width: 100%;
}
.momhop-page--pmpro-shell .momhop-pmpro-newsletter label:has(> input[type="checkbox"]) { align-items: center; display: flex; gap: 8px; font-size: var(--mh-fs-small); font-weight: 600; }
.momhop-page--pmpro-shell .momhop-pmpro-newsletter input[type="checkbox"] { accent-color: var(--mh-coral); height: 18px; width: 18px; flex: none; }
.momhop-page--pmpro-shell .momhop-pmpro-newsletter .momhop-location-fields__note { font-size: var(--mh-fs-micro); }
@media (max-width: 680px) {
	.momhop-page--pmpro-shell .momhop-pmpro-shell__panel .pmpro_form_submit > span { display: block; width: 100%; }
}

/* Guest entry points (2026-10-03): Home join strip, signed-out Account, Login "create account". */
.momhop-guest-join {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r);
	box-shadow: var(--mh-sh-card);
	margin: 14px 0 0;
	padding: 13px;
}
.momhop-guest-join__txt { color: var(--mh-ink); font-size: var(--mh-fs-small); line-height: 1.4; }
.momhop-guest-join__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.momhop-guest-join__btn {
	align-items: center;
	border: 1.5px solid var(--mh-coral);
	border-radius: 999px;
	color: var(--mh-coral-deep);
	display: inline-flex;
	flex: 1 1 auto;
	font-size: var(--mh-fs-small);
	font-weight: 700;
	justify-content: center;
	min-height: 44px;
	padding: 0 18px;
	text-decoration: none;
}
.momhop-guest-join__btn--primary { background: var(--mh-coral-deep); color: #fff; }
.momhop-account-switch { color: var(--mh-ink); font-size: var(--mh-fs-small); margin: 14px 2px 0; text-align: center; }
.momhop-account-switch a { color: var(--mh-coral-deep); font-weight: 700; }
/* Login form (wp_login_form markup): rows like every other Account panel. */
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel #loginform > p {
	border-bottom: 1px solid var(--mh-line);
	display: grid;
	gap: 6px;
	margin: 0;
	padding: 12px 13px;
}
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel #loginform > p.login-submit { border-bottom: 0; }
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel #loginform label { color: var(--mh-ink); font-size: var(--mh-fs-small); font-weight: 600; }
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel #loginform p.login-remember label { align-items: center; display: flex; gap: 8px; }
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel #loginform input:not([type="checkbox"]):not([type="submit"]):not([type="hidden"]) {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: 10px;
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-lead);
	height: 44px;
	padding: 0 12px;
	width: 100%;
}
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel #loginform input[type="submit"] { width: 100%; min-height: 46px; }
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel #loginform .wpsec_captcha_wrapper { padding: 0 13px; }
.momhop-page--pmpro-shell .momhop-pmpro-shell__panel .pmpro_login_wrap .pmpro_card_actions { padding: 12px 13px !important; }
/* Phone: 16px inputs stop iOS from zooming the page when a field is focused. */
@media (max-width: 680px) {
	.momhop-page--pmpro-shell .momhop-pmpro-shell__panel :is(input.pmpro_form_input, select.pmpro_form_input):not([type="checkbox"]):not([type="radio"]),
	.momhop-page--pmpro-shell .momhop-pmpro-newsletter :is(input:not([type="checkbox"]), select),
	.momhop-account-form input:not([type="checkbox"]):not([type="radio"]),
	.momhop-account-form select { font-size: var(--mh-fs-lead); height: 44px; }
}
@media (max-width: 680px) {
	body .momhop-page--pmpro-shell .momhop-pmpro-shell__panel :is(input.pmpro_form_input, select.pmpro_form_input):not([type="checkbox"]):not([type="radio"]):not([multiple]) { font-size: var(--mh-fs-lead); height: 44px; }
}

/* Partner portal (/partners/). Tokens only. */
.momhop-pp { max-width: 720px; margin: 0 auto; padding: var(--momhop-space-4); color: var(--momhop-ink); font-family: var(--momhop-ui-font); }
.momhop-pp h1 { margin: 0 0 var(--momhop-space-3); font-family: var(--momhop-display-font); }
.momhop-pp h2 { margin: var(--momhop-space-5) 0 var(--momhop-space-2); font-family: var(--momhop-display-font); font-size: var(--mh-fs-h3); }
.momhop-pp__lead { font-size: var(--mh-fs-lead); line-height: 1.5; }
.momhop-pp__plans { margin: var(--momhop-space-3) 0; padding: 0; list-style: none; display: grid; gap: var(--momhop-space-2); }
.momhop-pp__plans li { padding: var(--momhop-space-3); border: 1px solid var(--momhop-line); border-radius: var(--momhop-radius-md); background: var(--momhop-surface); }
.momhop-pp__notice, .momhop-pp__status { margin: var(--momhop-space-3) 0; padding: var(--momhop-space-3); border-radius: var(--momhop-radius-md); background: var(--momhop-sage-tint); border: 1px solid var(--momhop-line); line-height: 1.45; }
.momhop-pp__status--pending, .momhop-pp__status--paused { background: var(--momhop-coral-tint); }
.momhop-pp__form { display: grid; gap: var(--momhop-space-3); }
.momhop-pp__row { display: grid; gap: var(--momhop-space-3); grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.momhop-pp__field { display: grid; gap: 6px; font-size: var(--mh-fs-body); font-weight: 700; }
.momhop-pp__field input { width: 100%; box-sizing: border-box; min-height: 44px; padding: 10px 12px; border: 1px solid var(--momhop-line); border-radius: var(--momhop-radius-sm); background: var(--momhop-surface); color: var(--momhop-ink); font: inherit; font-weight: 400; }
.momhop-pp__set { margin: 0; padding: var(--momhop-space-3); border: 1px solid var(--momhop-line); border-radius: var(--momhop-radius-md); display: grid; gap: var(--momhop-space-2); }
.momhop-pp__set legend { padding: 0 6px; font-size: var(--mh-fs-body); font-weight: 700; }
.momhop-pp__check { display: flex; gap: 10px; align-items: flex-start; min-height: 32px; font-size: var(--mh-fs-body); line-height: 1.35; }
.momhop-pp__check input { margin-top: 3px; }
.momhop-pp__small { margin: 0; color: var(--momhop-muted); font-size: var(--mh-fs-small); line-height: 1.45; }
.momhop-pp .momhop-pp__submit { justify-self: start; display: inline-flex; align-items: center; justify-content: center; min-height: 48px; min-width: 160px; padding: 0 var(--momhop-space-5); border: 0; border-radius: 999px; background: var(--momhop-coral-deep); color: var(--momhop-surface); font-family: var(--momhop-ui-font); font-size: var(--mh-fs-lead); font-weight: 800; line-height: 1; cursor: pointer; box-shadow: var(--momhop-shadow-soft); }
.momhop-pp .momhop-pp__submit:hover, .momhop-pp .momhop-pp__submit:focus-visible { background: var(--momhop-coral); }
.momhop-pp .momhop-pp__submit:focus-visible { outline: 2px solid var(--momhop-ink); outline-offset: 2px; }
.momhop-pp__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.momhop-pp__stats { display: grid; gap: var(--momhop-space-2); grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
.momhop-pp__stats div { padding: var(--momhop-space-3); border: 1px solid var(--momhop-line); border-radius: var(--momhop-radius-md); background: var(--momhop-surface); display: grid; gap: 4px; }
.momhop-pp__stats strong { font-family: var(--momhop-display-font); font-size: var(--mh-fs-h1); }
.momhop-pp__stats span { color: var(--momhop-muted); font-size: var(--mh-fs-small); }
.momhop-pp__tablewrap { overflow-x: auto; }
.momhop-pp__table { width: 100%; border-collapse: collapse; font-size: var(--mh-fs-body); }
.momhop-pp__table th, .momhop-pp__table td { padding: 10px 8px; border-bottom: 1px solid var(--momhop-line-soft); text-align: left; }
.momhop-pp__link { border: 0; background: none; padding: 0; color: var(--momhop-coral-deep); font: inherit; text-decoration: underline; cursor: pointer; }

.momhop-pp__examples { display: grid; gap: var(--momhop-space-3); grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); margin: var(--momhop-space-3) 0 var(--momhop-space-2); }
.momhop-pp__example { margin: 0; padding: var(--momhop-space-3); border: 1px solid var(--momhop-line); border-radius: var(--momhop-radius-md); background: var(--momhop-surface); display: grid; gap: 6px; align-content: start; }
.momhop-pp__example-when { margin: 0; color: var(--momhop-muted); font-size: var(--mh-fs-small); font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
.momhop-pp__example-event { margin: 0; font-family: var(--momhop-display-font); font-size: var(--mh-fs-lead); line-height: 1.25; }
.momhop-pp__example-pair { margin-top: var(--momhop-space-2); padding: var(--momhop-space-2) var(--momhop-space-3); border-radius: var(--momhop-radius-sm); background: var(--momhop-cream); display: grid; gap: 3px; font-size: var(--mh-fs-body); line-height: 1.35; }
.momhop-pp__tag { color: var(--momhop-coral-deep); font-size: var(--mh-fs-micro); font-weight: 900; letter-spacing: 0.06em; text-transform: uppercase; }
.momhop-pp__example-near, .momhop-pp__example-line { color: var(--momhop-ink-soft); font-size: var(--mh-fs-small); }

/* Partner portal, second pass: clearer sections, payment call to action, profile folded away. */
.momhop-pp__notice { background: var(--momhop-sage-tint); }
.momhop-pp__status { background: var(--momhop-surface); box-shadow: var(--momhop-shadow-soft); }
.momhop-pp__status strong { font-family: var(--momhop-display-font); font-size: var(--mh-fs-h3); }
.momhop-pp__status--approved, .momhop-pp__status--pending, .momhop-pp__status--paused { background: var(--momhop-coral-tint); }
.momhop-pp__status--active { background: var(--momhop-sage-tint); }
.momhop-pp__stats { margin: var(--momhop-space-3) 0 var(--momhop-space-4); }
.momhop-pp__billing { margin: var(--momhop-space-4) 0; padding: var(--momhop-space-4); border: 1px solid var(--momhop-line); border-radius: var(--momhop-radius-lg); background: var(--momhop-surface); display: grid; gap: var(--momhop-space-2); }
.momhop-pp__billing h2 { margin: 0; }
.momhop-pp__billing p { margin: 0; line-height: 1.45; }
.momhop-pp__pay { margin-top: var(--momhop-space-2) !important; }
.momhop-pp a.momhop-pp__submit { text-decoration: none; }
.momhop-pp__profile { margin: var(--momhop-space-5) 0 var(--momhop-space-3); border: 1px solid var(--momhop-line); border-radius: var(--momhop-radius-lg); background: var(--momhop-surface); }
.momhop-pp__profile > summary { padding: var(--momhop-space-3) var(--momhop-space-4); cursor: pointer; font-weight: 800; font-size: var(--mh-fs-lead); list-style-position: inside; }
.momhop-pp__profile[open] > summary { border-bottom: 1px solid var(--momhop-line-soft); }
.momhop-pp__profile > form { padding: var(--momhop-space-4); }

/* Partner pages, third pass (2026-10-06): a business landing page, a dashboard, and its payment step. */
/* Keyed on what is on screen, not on the body's section class: the in-app navigation swaps the
   content without changing that class, so a rule tied to it followed the visitor to every other
   section and the right column stayed hidden (2026-10-06). */
@media (min-width: 1024px) {
	.momhop-desktop-shell:has(.momhop-partner-portal) .momhop-shell-right { visibility: hidden; } /* its space is kept so the page sits where every other page sits */
	.momhop-desktop-shell:has(.momhop-partner-portal) .momhop-shell-center { border-right: 0; }
}
.momhop-pp { max-width: 820px; }
.momhop-pp h2 { margin-top: var(--momhop-space-6); }
.momhop-pp__hero { display: grid; gap: var(--momhop-space-3); padding: var(--momhop-space-5); border: 1px solid var(--momhop-line); border-radius: var(--momhop-radius-xl); background: var(--momhop-coral-tint); }
.momhop-pp__hero h1 { margin: 0; font-size: clamp(26px, 4vw, 36px); line-height: 1.12; text-wrap: balance; }
.momhop-pp__hero .momhop-pp__lead { margin: 0; max-width: 60ch; color: var(--momhop-ink-soft); }
.momhop-pp__cta { margin: var(--momhop-space-2) 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: var(--momhop-space-4); }
.momhop-pp__login { color: var(--momhop-ink); font-weight: 700; }
.momhop-pp__steps { list-style: none; counter-reset: momhop-pp-step; margin: 0; padding: 0; display: grid; gap: var(--momhop-space-3); grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.momhop-pp__steps li { counter-increment: momhop-pp-step; display: grid; gap: 6px; align-content: start; padding: var(--momhop-space-4); border: 1px solid var(--momhop-line); border-radius: var(--momhop-radius-lg); background: var(--momhop-surface); color: var(--momhop-ink-soft); font-size: var(--mh-fs-body); line-height: 1.45; }
.momhop-pp__steps li::before { content: counter(momhop-pp-step); display: grid; place-items: center; width: 30px; height: 30px; border-radius: 999px; background: var(--momhop-sage-tint); color: var(--momhop-ink); font-size: var(--mh-fs-body); font-weight: 800; }
.momhop-pp__steps strong { color: var(--momhop-ink); font-family: var(--momhop-display-font); font-size: var(--mh-fs-h3); }
.momhop-pp__plancards { display: grid; gap: var(--momhop-space-3); grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.momhop-pp__plancard { display: grid; gap: var(--momhop-space-2); align-content: start; padding: var(--momhop-space-4); border: 1px solid var(--momhop-line); border-radius: var(--momhop-radius-lg); background: var(--momhop-surface); box-shadow: var(--momhop-shadow-soft); }
.momhop-pp__plancard h3 { margin: 0; color: var(--momhop-coral-deep); font-family: var(--momhop-ui-font); font-size: var(--mh-fs-small); font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.momhop-pp__price { margin: 0; color: var(--momhop-muted); font-size: var(--mh-fs-body); }
.momhop-pp__price strong { margin-right: 6px; color: var(--momhop-ink); font-family: var(--momhop-display-font); font-size: 34px; line-height: 1; }
.momhop-pp__plancard ul { margin: 0; padding: 0 0 0 18px; display: grid; gap: 4px; color: var(--momhop-ink-soft); font-size: var(--mh-fs-body); line-height: 1.45; }
.momhop-pp__card { margin-top: var(--momhop-space-6); padding: var(--momhop-space-5); border: 1px solid var(--momhop-line); border-radius: var(--momhop-radius-lg); background: var(--momhop-surface); box-shadow: var(--momhop-shadow-soft); scroll-margin-top: 88px; }
.momhop-pp__card .momhop-pp__form > h2 { margin-top: 0; }
.momhop-pp__card > .momhop-pp__notice { margin: 0; }
.momhop-pp__field input, .momhop-pp__set { background: var(--momhop-cream); }
/* Dashboard */
.momhop-pp__head { display: grid; gap: 6px; margin-bottom: var(--momhop-space-3); }
.momhop-pp__titlerow { display: flex; flex-wrap: wrap; align-items: center; gap: var(--momhop-space-3); }
.momhop-pp__titlerow h1 { margin: 0; }
.momhop-pp__chip { display: inline-flex; align-items: center; min-height: 28px; padding: 0 12px; border: 1px solid var(--momhop-line); border-radius: 999px; background: var(--momhop-coral-tint); color: var(--momhop-ink); font-size: var(--mh-fs-small); font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; }
.momhop-pp__chip--active { background: var(--momhop-sage-tint); }
.momhop-pp__statusline { margin: 0; font-size: var(--mh-fs-lead); line-height: 1.45; }
.momhop-pp--dash h2 { margin-top: var(--momhop-space-5); }
.momhop-pp__stats { margin: 0; }
.momhop-pp__stats div { border-radius: var(--momhop-radius-lg); padding: var(--momhop-space-4); }
.momhop-pp__empty { margin: 0; padding: var(--momhop-space-4); border: 1px dashed var(--momhop-line); border-radius: var(--momhop-radius-lg); color: var(--momhop-muted); font-size: var(--mh-fs-body); line-height: 1.45; }
.momhop-pp__billing { margin: var(--momhop-space-5) 0 0; }
.momhop-pp__billing--due { border-color: var(--momhop-coral); background: var(--momhop-coral-tint); }
.momhop-pp__profile > summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px var(--momhop-space-3); list-style: none; }
.momhop-pp__profile > summary::-webkit-details-marker { display: none; }
.momhop-pp__profile > summary::after { content: "Edit"; margin-left: auto; color: var(--momhop-coral-deep); font-size: var(--mh-fs-body); font-weight: 700; text-decoration: underline; }
.momhop-pp__profile[open] > summary::after { content: "Close"; }
.momhop-pp__profile > summary span { color: var(--momhop-muted); font-size: var(--mh-fs-small); font-weight: 400; }
.momhop-pp__foot { margin: var(--momhop-space-4) 0 0; font-size: var(--mh-fs-body); }
/* The payment step for a partner plan (the membership plugin's checkout page, in the MomHop shell). */
.momhop-partner-checkout__note { margin: 0 0 var(--mh-space-4); color: var(--mh-ink-soft); font-size: var(--mh-fs-body); line-height: 1.5; }
.momhop-partner-checkout__note a { color: var(--mh-coral-deep); font-weight: 700; white-space: nowrap; }
body.momhop-partner-checkout #pmpro_pricing_fields > .pmpro_card_title { padding: 16px 18px 0 !important; }
body.momhop-partner-checkout #pmpro_pricing_fields .pmpro_card_content { display: grid; gap: 8px; padding: 8px 18px 18px !important; }
body.momhop-partner-checkout #pmpro_pricing_fields .pmpro_card_content :is(p, div) { margin: 0 !important; padding: 0 !important; }
body.momhop-partner-checkout #pmpro_pricing_fields .pmpro_level_name_text { color: var(--mh-ink); font-family: var(--mh-display-font); font-size: var(--mh-fs-h2); line-height: 1.2; }
body.momhop-partner-checkout #pmpro_pricing_fields .pmpro_level_name_text strong { font-weight: inherit; }
body.momhop-partner-checkout #pmpro_pricing_fields .pmpro_level_description_text p { color: var(--mh-ink-soft); font-size: var(--mh-fs-body); line-height: 1.45; }
body.momhop-partner-checkout #pmpro_pricing_fields #pmpro_level_cost p { color: var(--mh-ink); font-size: var(--mh-fs-body); line-height: 1.45; }
body.momhop-partner-checkout #pmpro_form #pmpro_btn-submit { min-height: 48px; padding: 0 28px; font-size: var(--mh-fs-body); }

@media (max-width: 640px) {
	.momhop-pp { padding-left: 0; padding-right: 0; }
	.momhop-pp__hero, .momhop-pp__card { padding: var(--momhop-space-4); }
}

.momhop-pp__see { display: flex; flex-wrap: wrap; align-items: center; gap: 6px var(--momhop-space-3); margin: var(--momhop-space-3) 0 0; padding: var(--momhop-space-3) var(--momhop-space-4); border: 1px solid var(--momhop-line); border-radius: var(--momhop-radius-lg); background: var(--momhop-surface); font-size: var(--mh-fs-body); }
.momhop-pp__see span { color: var(--momhop-muted); }
.momhop-pp__see a, .momhop-pp__table a { color: var(--momhop-coral-deep); font-weight: 700; }

.momhop-pp__family { margin: var(--momhop-space-4) 0 0; padding: var(--momhop-space-3) var(--momhop-space-4); border: 1px dashed var(--momhop-line); border-radius: var(--momhop-radius-lg); display: grid; gap: 6px; font-size: var(--mh-fs-body); line-height: 1.45; }
.momhop-pp__family p { margin: 0; color: var(--momhop-ink-soft); }
.momhop-pp__family strong { color: var(--momhop-ink); }
.momhop-pp__family .momhop-pp__link { justify-self: start; font-weight: 700; }

.momhop-pp__notice--done { display: grid; gap: 6px; margin-top: 0; padding: var(--momhop-space-4); border-color: var(--momhop-sage); background: var(--momhop-sage-tint); }
.momhop-pp__notice--done strong { font-family: var(--momhop-display-font); font-size: var(--mh-fs-h3); line-height: 1.25; }
.momhop-pp__notice--done p { margin: 0; font-weight: 700; }
.momhop-pp__notice--done ol { margin: 0; padding-left: 20px; display: grid; gap: 4px; }
.momhop-pp--public > .momhop-pp__notice { margin-top: 0; }
.momhop-pp--public > .momhop-pp__notice { margin-bottom: var(--momhop-space-4); }

/* Kind of business: a cafe or restaurant ticks meal times; anything else says what it is. Without :has() both parts simply show. */
.momhop-pp__form:has(input[name="partner_kind"][value="other"]:checked) .momhop-pp__when { display: none; }
.momhop-pp__form:not(:has(input[name="partner_kind"][value="other"]:checked)) .momhop-pp__other { display: none; }

/* The loading card. It lives here, not in results-page.css, because account and membership pages
   show it too and only this file is loaded on all of them. */
/* Shared viewport loading modal. Mounted under <body> so fixed positioning escapes
   transformed, filtered, sticky, or contained app-shell ancestors. */
.momhop-swap-loading.spin-wrap {
	align-items: center;
	/* Nothing shows for the first fifth of a second: a page that arrives faster shows no loader. */
	animation: momhop-loader-fade .14s ease-out .2s both;
	background: color-mix(in srgb, var(--mh-ink) 35%, transparent);
	display: flex;
	inset: 0;
	justify-content: center;
	padding: max(18px, env(safe-area-inset-top, 0px)) max(18px, env(safe-area-inset-right, 0px)) max(18px, env(safe-area-inset-bottom, 0px)) max(18px, env(safe-area-inset-left, 0px));
	pointer-events: auto;
	position: fixed;
	z-index: 2147483000;
}

.momhop-swap-loading__card {
	align-items: center;
	-webkit-backdrop-filter: blur(10px) saturate(1.08);
	backdrop-filter: blur(10px) saturate(1.08);
	background: color-mix(in srgb, var(--mh-cream, #fbf6ef) 96%, transparent);
	border: 1px solid var(--mh-line, #ece0d1);
	border-radius: 22px;
	box-shadow: 0 24px 64px color-mix(in srgb, var(--mh-ink) 22%, transparent);
	color: var(--mh-ink, #2c2520);
	display: flex;
	flex-direction: column;
	gap: 12px;
	justify-content: center;
	min-height: 132px;
	padding: 24px 28px;
	width: min(196px, calc(100vw - 44px));
}

.momhop-swap-loading .spinner {
	animation: momhop-swap-spin .8s linear infinite;
	border: 4px solid var(--mh-sage-soft, #e3eee6);
	border-radius: 50%;
	border-top-color: var(--mh-coral, #d8694b);
	height: 38px;
	width: 38px;
}

.momhop-swap-loading .spin-label {
	color: var(--mh-ink, #2c2520);
	font-family: var(--mh-display, Fraunces, Georgia, serif);
	font-size: var(--mh-fs-body);
	font-weight: 750;
	letter-spacing: .01em;
}

@keyframes momhop-loader-fade {
	from { opacity: 0; }
	to { opacity: 1; }
}

/* Loader wordmark (owner 2026-10-06, concept C with a little more hop): the letters of "Hop" light
   up and hop one after another. Colors come from the palette in use. */
.momhop-swap-loading__word { align-items: flex-end; color: var(--mh-ink, #2c2520); display: flex; font-family: var(--mh-display-font, Fraunces, Georgia, serif); font-size: 30px; font-weight: 600; height: 44px; line-height: 1; }
.momhop-swap-loading__word b { animation: momhop-loader-hop 1.2s ease-in-out infinite; color: var(--mh-coral, #d8694b); display: inline-block; font-weight: inherit; opacity: .22; transform-origin: 50% 100%; }
.momhop-swap-loading__word b:nth-child(2) { animation-delay: .2s; }
.momhop-swap-loading__word b:nth-child(3) { animation-delay: .4s; }
.momhop-swap-loading .momhop-swap-loading__label { color: var(--mh-ink-soft, #7a6f64); font-family: var(--mh-ui-font, system-ui, sans-serif); font-size: var(--mh-fs-small); font-weight: 600; letter-spacing: 0; }
@keyframes momhop-loader-hop {
	0%, 100% { opacity: .22; transform: translateY(0) scaleY(1); }
	12% { opacity: .5; transform: translateY(0) scaleY(.97); }
	38% { opacity: 1; transform: translateY(-5px) scaleY(1.01); }
	60% { opacity: .8; transform: translateY(0) scaleY(.98); }
	72% { opacity: .5; transform: translateY(0) scaleY(1); }
}
@media (prefers-reduced-motion: reduce) {
	.momhop-swap-loading__word b { animation: none; opacity: 1; }
}

/* Loader looks (owner 2026-10-12). The look is chosen in Manage, Appearance. */
/* "word": the wordmark hops on a light veil. No box, no border, no label. */
.momhop-swap-loading--word.spin-wrap {
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
	background: color-mix(in srgb, var(--mh-surface-2, #fffcf7) 84%, transparent);
}
.momhop-swap-loading--word .momhop-swap-loading__card {
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	background: none;
	border: 0;
	box-shadow: none;
	min-height: 0;
	padding: 0;
	width: auto;
}
.momhop-swap-loading--word .momhop-swap-loading__word { font-size: 36px; height: 52px; }

/* "shapes": soft shapes where the content will land. The top layer only holds taps; the shapes sit
   under the tabs, from the top of the part of the page being replaced. */
.momhop-swap-loading--shapes.spin-wrap { background: transparent; }
.momhop-loading-shapes {
	animation: momhop-loader-fade .14s ease-out .2s both;
	background: var(--mh-cream, #fbf6ef);
	bottom: 0;
	left: 0;
	overflow: hidden;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 900;
}
.momhop-loading-shapes-on .momhop-actionbar { visibility: hidden; }
.momhop-shapes {
	box-sizing: border-box;
	margin: 0 auto;
	max-width: 760px;
	padding: 20px 26px 0;
}
.momhop-shape {
	animation: momhop-shape-shimmer 2.4s ease-in-out infinite; /* slow and quiet (Neya: minimal motion) */
	background: linear-gradient(90deg, var(--mh-cream-2, #f4eadd) 25%, var(--mh-surface-2, #fffcf7) 45%, var(--mh-cream-2, #f4eadd) 65%);
	background-size: 300% 100%;
	border-radius: var(--mh-r-xs, 9px);
	display: block;
}
.momhop-shape--kicker { height: 10px; margin-bottom: 10px; width: 22%; }
.momhop-shape--title { height: 24px; margin-bottom: 14px; }
.momhop-shape--pill { border-radius: var(--mh-r-pill, 999px); display: inline-block; height: 26px; margin: 0 6px 12px 0; width: 84px; }
.momhop-shape--line { height: 11px; margin-top: 10px; }
.momhop-shape--photo { border-radius: 0; height: 190px; }
.momhop-shape--hero { border-radius: var(--mh-r, 18px); height: 220px; margin-bottom: 16px; }
.momhop-shape-card {
	background: var(--mh-surface, #fff);
	border: 1px solid var(--mh-line, #ece0d1);
	border-radius: var(--mh-r, 18px);
	margin-bottom: 16px;
	overflow: hidden;
}
.momhop-shape-card__body { padding: 14px 16px 18px; }
@keyframes momhop-shape-shimmer {
	from { background-position: 100% 0; }
	to { background-position: 0 0; }
}
@media (prefers-reduced-motion: reduce) {
	.momhop-shape { animation: none; }
}

/* One content width on every page (owner 2026-10-06: "widths of all pages should be identical both
   on desktop and phone"). Measured before this: lists 760, detail pages 720, the wizard 640, the
   partner page 820, log-in and join 833; short pages sat 8px to the right for lack of a scrollbar;
   on a phone, detail pages ran wider than lists. Now: the 760px column on desktop, and the same
   side gutter on a phone. */
html:has(body.momhop-app-route) { scrollbar-gutter: stable; }
@media (min-width: 1024px) {
	body.momhop-app-route .momhop-shell-center > .momhop-content-region,
	body.momhop-app-route .momhop-shell-center > .momhop-content-region.momhop-content-region--detail { margin-left: auto; margin-right: auto; max-width: var(--mh-center-max); width: 100%; }
	body.momhop-app-route .momhop-shell-center .momhop-content-region--detail .momhop-detail { max-width: 100%; width: 100%; }
	body.momhop-app-route .momhop-shell-center .momhop-help { max-width: 100%; }
	body.momhop-app-route .momhop-shell-center .momhop-pp { max-width: 100%; padding-left: 0; padding-right: 0; }
	body.momhop-app-route .momhop-shell-center .momhop-account--pmpro.momhop-pmpro-shell__inner { padding-left: 0; padding-right: 0; }
}
@media (max-width: 1023px) {
	body.momhop-app-route .momhop-page .momhop-content-region--detail .momhop-detail { margin-left: 12px; margin-right: 12px; width: auto; }
}

/* Detail pages have no outer card (owner 2026-10-06: the Place page "shows a card for the entire
   place unlike other pages"; chosen: no outer card anywhere). An Outing, a Place and an Event keep
   the top bar, and their sections sit on the page as separate cards, edge to edge with the lists. */
body.momhop-app-route .momhop-content-region--detail { --mh-detail-inset: 0px; }
body.momhop-app-route .momhop-page--app-shell .momhop-content-region--detail .momhop-detail--outing,
body.momhop-app-route .momhop-page--app-shell .momhop-content-region--detail .momhop-detail--place,
body.momhop-app-route .momhop-page--app-shell .momhop-content-region--detail .momhop-detail--event { background: transparent; border: 0; border-radius: 0; box-shadow: none; overflow: visible; padding-left: 0; padding-right: 0; }
body.momhop-app-route .momhop-page--app-shell .momhop-content-region--detail .momhop-detail--outing > .momhop-detail-topbar,
body.momhop-app-route .momhop-page--app-shell .momhop-content-region--detail .momhop-detail--place > .momhop-detail-topbar,
body.momhop-app-route .momhop-page--app-shell .momhop-content-region--detail .momhop-detail--event > .momhop-detail-topbar { background: var(--mh-cream); border-bottom: 0; margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; }
/* The last two that were off: the Hours strip on a Place page, and membership pages on a phone. */
body.momhop-app-route .momhop-page .momhop-content-region--detail .momhop-detail .momhop-operational-strip { margin-left: 0; margin-right: 0; width: auto; }
@media (max-width: 1023px) {
	body.momhop-app-route .momhop-page--pmpro-shell .momhop-content-region .momhop-account--pmpro.momhop-pmpro-shell__inner { padding-left: 12px !important; padding-right: 12px !important; } /* an older phone rule sets this padding with !important */
}

/* Line icons (owner 2026-10-06, "Soft line"). An icon takes the colour of the text around it: quiet
   in the menu, coral on the page you are on, and whatever the palette in use makes of those. */
.momhop-icon { display: block; flex: 0 0 auto; }
.momhop-shell-rail__icon { align-items: center; display: inline-flex; height: 20px; justify-content: center; }
.momhop-nav__icon { align-items: center; display: inline-flex; height: 22px; justify-content: center; }
.momhop-hubcard__icon { color: var(--mh-ink); }
.momhop-home-pick__icon { color: var(--mh-coral-deep); }
.momhop-empty__suggestion .momhop-icon { color: var(--mh-coral-deep); }
.momhop-whyline .momhop-icon { color: var(--mh-coral-deep); display: inline-block; margin-right: 4px; vertical-align: -3px; }

/* The weather line on Home (MVP step 4b): one quiet row under the greeting, an icon, a sentence
   and a question that opens Help me choose. Hidden until there is something to say. */
.momhop-today { align-items: center; background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r); color: var(--mh-ink); display: flex; font-size: var(--mh-fs-body); gap: 12px; line-height: 1.45; margin: 8px 0 0; padding: 10px 14px; }
.momhop-today[hidden] { display: none; }
.momhop-today__icon { align-items: center; background: var(--mh-sun-soft); border-radius: 999px; color: var(--mh-ink); display: inline-flex; flex: 0 0 36px; height: 36px; justify-content: center; }
.momhop-today__body { min-width: 0; }
.momhop-today__ask { color: var(--mh-coral-deep); font-weight: 700; text-decoration: none; }
.momhop-today__ask:hover, .momhop-today__ask:focus-visible { text-decoration: underline; }
.momhop-today__set { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); margin-left: 4px; white-space: nowrap; }

/* Guide style kit (MVP step 6). Guide bodies are written by an AI from a brief
   (docs/GUIDE_HTML_BRIEF.md) using a fixed set of building blocks: mh-wrap, mh-hero, mh-kicker,
   mh-dek, mh-lead, mh-nav, mh-section, mh-card, mh-cardhead, mh-label, mh-cardbody, mh-facts,
   mh-fact, mh-grid, mh-mini, mh-list, mh-item, mh-ico, mh-link, mh-callout, mh-back, mh-note,
   mh-chiprow, mh-chip, mh-picks, mh-pick, mh-perk, mh-perk-price, mh-perk-terms, mh-where,
   mh-sechead, mh-links, mh-evhead, mh-datebadge, mh-pricebar, mh-btns, mh-stops, mh-stop. The look of every block lives here, in palette colors and the site's type
   sizes, so a body needs no styles of its own. The doubled class outranks the styles that the
   first twenty guides carry inside their bodies, so those follow the palette too.
   Facts are sage, tips are coral, as everywhere else. */
.momhop-guide-island.momhop-guide-island > [class^="mh-"] { background: transparent; color: var(--mh-ink); font-family: var(--mh-ui-font); padding: 0 0 8px; }
.momhop-guide-island.momhop-guide-island * { box-sizing: border-box; }
.momhop-guide-island.momhop-guide-island .mh-wrap { margin: 0 auto; max-width: 760px; }
.momhop-guide-island.momhop-guide-island .mh-hero { background: linear-gradient(150deg, var(--mh-sage-soft) 0%, var(--mh-cream-2) 55%, var(--mh-coral-soft) 100%); border: 1px solid var(--mh-line); border-radius: var(--mh-r-lg); box-shadow: none; padding: 20px 18px; }
.momhop-guide-island.momhop-guide-island .mh-kicker { align-items: center; color: var(--mh-coral-deep); display: flex; font-size: var(--mh-fs-micro); font-weight: 800; gap: 10px; letter-spacing: .1em; margin-bottom: 10px; text-transform: uppercase; }
.momhop-guide-island.momhop-guide-island .mh-kicker::after { background: var(--mh-coral-deep); content: ""; flex: 1; height: 1px; opacity: .35; }
.momhop-guide-island.momhop-guide-island :is(h1, h2, h3) { color: var(--mh-ink); font-family: var(--mh-display-font); font-weight: var(--mh-fw-display); letter-spacing: 0; margin: 0; }
.momhop-guide-island.momhop-guide-island h1 { font-size: clamp(26px, 6.4vw, 34px); line-height: 1.1; }
.momhop-guide-island.momhop-guide-island h2 { font-size: var(--mh-fs-h2); line-height: 1.15; }
.momhop-guide-island.momhop-guide-island h3 { font-size: var(--mh-fs-h3); line-height: 1.2; }
.momhop-guide-island.momhop-guide-island .mh-cardbody h3 { margin: 14px 0 6px; }
.momhop-guide-island.momhop-guide-island p { color: var(--mh-ink-soft); font-size: var(--mh-fs-body); line-height: 1.6; margin: 0 0 12px; }
.momhop-guide-island.momhop-guide-island :is(ul, ol) { color: var(--mh-ink-soft); font-size: var(--mh-fs-body); line-height: 1.6; margin: 0 0 12px; padding-left: 20px; }
.momhop-guide-island.momhop-guide-island .mh-dek { color: var(--mh-ink-soft); font-family: var(--mh-display-font); font-size: var(--mh-fs-lead); font-style: italic; line-height: 1.3; margin: 10px 0; }
.momhop-guide-island.momhop-guide-island .mh-lead { color: var(--mh-ink-soft); font-size: var(--mh-fs-lead); line-height: 1.6; margin: 0; }
.momhop-guide-island.momhop-guide-island .mh-lead::first-letter { color: inherit; float: none; font-family: inherit; font-size: inherit; line-height: inherit; padding: 0; }
.momhop-guide-island.momhop-guide-island .mh-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 20px; }
.momhop-guide-island.momhop-guide-island .mh-nav a { align-items: center; background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r-pill); color: var(--mh-ink); display: inline-flex; font-size: var(--mh-fs-body); font-weight: 600; min-height: 40px; padding: 8px 14px; text-decoration: none; }
.momhop-guide-island.momhop-guide-island .mh-nav a:hover, .momhop-guide-island.momhop-guide-island .mh-nav a:focus-visible { border-color: var(--mh-coral); color: var(--mh-coral-deep); }
.momhop-guide-island.momhop-guide-island .mh-section { margin-top: 20px; scroll-margin-top: 80px; }
.momhop-guide-island.momhop-guide-island .mh-card { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r); box-shadow: var(--mh-sh-card); margin: 14px 0; overflow: hidden; }
.momhop-guide-island.momhop-guide-island .mh-cardhead { background: var(--mh-surface-2); border-bottom: 1px solid var(--mh-line); padding: 16px 16px 14px; }
.momhop-guide-island.momhop-guide-island .mh-label { color: var(--mh-coral-deep); font-size: var(--mh-fs-micro); font-weight: 800; letter-spacing: .1em; margin-bottom: 6px; text-transform: uppercase; }
.momhop-guide-island.momhop-guide-island .mh-cardbody { padding: 16px; }
.momhop-guide-island.momhop-guide-island .mh-cardbody > :last-child, .momhop-guide-island.momhop-guide-island .mh-mini > :last-child, .momhop-guide-island.momhop-guide-island .mh-item p:last-child, .momhop-guide-island.momhop-guide-island .mh-note > :last-child { margin-bottom: 0; }
.momhop-guide-island.momhop-guide-island .mh-facts { display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 0 14px; }
.momhop-guide-island.momhop-guide-island .mh-fact { background: var(--mh-sage-tint); border: 1px solid color-mix(in srgb, var(--mh-sage) 18%, var(--mh-surface)); border-radius: var(--mh-r-sm); padding: 10px 12px; }
.momhop-guide-island.momhop-guide-island .mh-fact b { color: var(--mh-sage); display: block; font-size: var(--mh-fs-micro); letter-spacing: .08em; margin-bottom: 4px; text-transform: uppercase; }
.momhop-guide-island.momhop-guide-island .mh-fact span { color: var(--mh-ink); font-size: var(--mh-fs-body); }
.momhop-guide-island.momhop-guide-island .mh-grid { display: grid; gap: 10px; grid-template-columns: minmax(0, 1fr); }
.momhop-guide-island.momhop-guide-island .mh-mini { background: var(--mh-surface-2); border: 1px solid var(--mh-line); border-radius: var(--mh-r-sm); padding: 14px; }
.momhop-guide-island.momhop-guide-island .mh-mini b { color: var(--mh-ink); display: block; margin-bottom: 4px; }
.momhop-guide-island.momhop-guide-island .mh-list { display: grid; gap: 10px; margin-top: 10px; }
.momhop-guide-island.momhop-guide-island .mh-item { align-items: start; background: var(--mh-surface-2); border: 1px solid var(--mh-line); border-radius: var(--mh-r-sm); display: grid; gap: 12px; grid-template-columns: 40px minmax(0, 1fr); padding: 12px; }
.momhop-guide-island.momhop-guide-island .mh-ico { background: var(--mh-sage-soft); border-radius: 12px; display: grid; height: 40px; place-items: center; width: 40px; }
.momhop-guide-island.momhop-guide-island .mh-item b { color: var(--mh-ink); display: block; font-size: var(--mh-fs-micro); letter-spacing: .1em; margin-bottom: 3px; text-transform: uppercase; }
.momhop-guide-island.momhop-guide-island .mh-link { color: var(--mh-coral-deep); font-weight: 700; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.momhop-guide-island.momhop-guide-island .mh-callout { background: var(--mh-coral-tint); border: 1px solid color-mix(in srgb, var(--mh-coral) 22%, var(--mh-surface)); border-radius: var(--mh-r-sm); color: var(--mh-ink); font-weight: 600; margin-top: 12px; padding: 14px; }
.momhop-guide-island.momhop-guide-island .mh-jump > span { align-self: center; color: var(--mh-ink-soft); font-size: var(--mh-fs-small); font-weight: 700; margin-right: 2px; }
.momhop-guide-island.momhop-guide-island .mh-reviewed { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); margin: 14px 0 0; }
.momhop-guide-island.momhop-guide-island .mh-back { align-items: center; color: var(--mh-coral-deep); display: inline-flex; font-weight: 700; margin-top: 6px; min-height: 40px; text-decoration: none; }
.momhop-guide-island.momhop-guide-island .mh-note { background: var(--mh-surface); border: 1px dashed var(--mh-line); border-radius: var(--mh-r-sm); margin-top: 20px; padding: 14px; }
.momhop-guide-island.momhop-guide-island .mh-note b { color: var(--mh-ink); }
.momhop-guide-island.momhop-guide-island .mh-chiprow { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
.momhop-guide-island.momhop-guide-island .mh-chip { background: var(--mh-surface); border: 1px solid var(--mh-tag-border); border-radius: var(--mh-r-pill); color: var(--mh-ink); font-size: var(--mh-fs-small); font-weight: 600; padding: 6px 11px; }
.momhop-guide-island.momhop-guide-island img { border-radius: var(--mh-r-sm); display: block; height: auto; max-width: 100%; }
/* Added 2026-10-09 for the Guides brought over from the live site: a quick-picks box, a perk box
   with its price, an address row, and a heading above a group of place cards. Palette colors only. */
.momhop-guide-island.momhop-guide-island .mh-picks { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r); display: grid; gap: 8px; grid-template-columns: minmax(0, 1fr); margin: 14px 0; padding: 14px; }
.momhop-guide-island.momhop-guide-island .mh-picks > .mh-label { grid-column: 1 / -1; margin-bottom: 2px; }
.momhop-guide-island.momhop-guide-island .mh-pick { align-items: center; background: var(--mh-surface-2); border: 1px solid var(--mh-line); border-radius: var(--mh-r-sm); color: var(--mh-ink); display: flex; gap: 10px; min-height: 56px; padding: 8px 12px; text-decoration: none; }
.momhop-guide-island.momhop-guide-island a.mh-pick:hover, .momhop-guide-island.momhop-guide-island a.mh-pick:focus-visible { border-color: var(--mh-coral); }
.momhop-guide-island.momhop-guide-island .mh-pick .mh-ico { flex: 0 0 40px; }
.momhop-guide-island.momhop-guide-island .mh-pick strong { color: var(--mh-ink); display: block; font-size: var(--mh-fs-body); line-height: 1.25; }
.momhop-guide-island.momhop-guide-island .mh-pick small { color: var(--mh-ink-soft); display: block; font-size: var(--mh-fs-small); line-height: 1.35; margin-top: 2px; }
.momhop-guide-island.momhop-guide-island .mh-perk { background: var(--mh-surface); border: 1.5px solid color-mix(in srgb, var(--mh-coral) 45%, var(--mh-surface)); border-radius: var(--mh-r-sm); margin: 12px 0; padding: 14px; }
.momhop-guide-island.momhop-guide-island .mh-perk-price { color: var(--mh-coral-deep); font-family: var(--mh-display-font); font-size: var(--mh-fs-h3); font-weight: var(--mh-fw-display); line-height: 1.2; margin: 0 0 6px; }
.momhop-guide-island.momhop-guide-island .mh-perk-price small { color: var(--mh-ink-soft); font-family: var(--mh-ui-font); font-size: var(--mh-fs-small); font-weight: 600; white-space: nowrap; }
.momhop-guide-island.momhop-guide-island .mh-perk p { color: var(--mh-ink); font-size: var(--mh-fs-body); line-height: 1.5; margin: 8px 0 0; }
.momhop-guide-island.momhop-guide-island .mh-perk .mh-perk-terms { border-top: 1px dashed color-mix(in srgb, var(--mh-coral) 45%, var(--mh-surface)); color: var(--mh-ink-soft); font-size: var(--mh-fs-small); margin-top: 10px; padding-top: 8px; }
.momhop-guide-island.momhop-guide-island .mh-where { color: var(--mh-ink); font-size: var(--mh-fs-body); line-height: 1.45; margin: 0 0 12px; }
.momhop-guide-island.momhop-guide-island .mh-where b { color: var(--mh-sage); font-size: var(--mh-fs-micro); letter-spacing: .08em; margin-right: 6px; text-transform: uppercase; }
.momhop-guide-island.momhop-guide-island .mh-sechead { align-items: center; display: flex; gap: 12px; margin: 26px 0 12px; }
.momhop-guide-island.momhop-guide-island .mh-sechead .mh-ico { color: var(--mh-sage); flex: 0 0 40px; font-weight: 800; }
.momhop-guide-island.momhop-guide-island .mh-sechead small { color: var(--mh-ink-soft); display: block; font-size: var(--mh-fs-small); margin-top: 2px; }
.momhop-guide-island.momhop-guide-island .mh-grid > .mh-card { margin: 0; }
.momhop-guide-island.momhop-guide-island .mh-item h3 { margin: 0 0 4px; }
.momhop-guide-island.momhop-guide-island .mh-item .mh-where { margin: 6px 0; }
.momhop-guide-island.momhop-guide-island .mh-item .mh-where b { display: inline; margin-bottom: 0; }
.momhop-guide-island.momhop-guide-island .mh-cardbody > .mh-where + .mh-where { margin-top: -6px; }
.momhop-guide-island.momhop-guide-island .mh-callout + p, .momhop-guide-island.momhop-guide-island .mh-perk + p, .momhop-guide-island.momhop-guide-island .mh-mini + p { margin-top: 12px; }
/* A row of links at the foot of a card: each tall enough for a thumb (they were 20px). */
.momhop-guide-island.momhop-guide-island .mh-links { display: flex; flex-wrap: wrap; gap: 0 20px; margin: 6px 0 0; }
.momhop-guide-island.momhop-guide-island .mh-links .mh-link { align-items: center; display: inline-flex; min-height: 40px; }
.momhop-guide-island.momhop-guide-island .mh-item .mh-links { margin: 0; }
/* Event pieces (owner's pick B, 2026-10-25): a date badge beside the card's name, a price strip, link buttons and
   venue tiles, so a Guide of events reads at a glance instead of as running text. Markup in the Guide brief. */
.momhop-guide-island.momhop-guide-island .mh-evhead { align-items: center; display: grid; gap: 12px; grid-template-columns: 62px minmax(0, 1fr); }
.momhop-guide-island.momhop-guide-island .mh-evhead h3 { margin: 0; }
.momhop-guide-island.momhop-guide-island .mh-datebadge { background: var(--mh-coral-deep); border-radius: var(--mh-r-sm); color: #fff; font-family: var(--mh-ui-font); line-height: 1.05; padding: 8px 4px; text-align: center; }
.momhop-guide-island.momhop-guide-island .mh-datebadge b { display: block; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.momhop-guide-island.momhop-guide-island .mh-datebadge span { display: block; font-family: var(--mh-display-font); font-size: 24px; }
.momhop-guide-island.momhop-guide-island .mh-datebadge small { display: block; font-size: 10px; font-weight: 600; margin-top: 3px; opacity: .9; }
.momhop-guide-island.momhop-guide-island .mh-pricebar { align-items: baseline; background: var(--mh-sage-tint); border-radius: var(--mh-r-sm); display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 14px; padding: 10px 12px; }
.momhop-guide-island.momhop-guide-island .mh-pricebar b { color: inherit; display: inline; font-family: var(--mh-display-font); font-size: 18px; font-weight: 400; letter-spacing: 0; margin: 0; text-transform: none; } /* inline even inside a list item, whose titles are blocks */
.momhop-guide-island.momhop-guide-island .mh-btns { display: flex; flex-wrap: wrap; gap: 8px; }
.momhop-guide-island.momhop-guide-island .mh-btns a { align-items: center; background: var(--mh-ink); border: 1.5px solid var(--mh-ink); border-radius: 999px; color: #fff; display: inline-flex; flex: 1 1 auto; font-size: 14px; font-weight: 700; justify-content: center; min-height: 44px; overflow-wrap: anywhere; padding: 8px 16px; text-align: center; text-decoration: none; }
.momhop-guide-island.momhop-guide-island .mh-btns a + a { background: transparent; color: var(--mh-ink); }
.momhop-guide-island.momhop-guide-island .mh-stops { display: grid; gap: 8px; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
.momhop-guide-island.momhop-guide-island .mh-stop { background: var(--mh-surface-2); border: 1px solid var(--mh-line-soft); border-radius: var(--mh-r-sm); font-size: 13px; line-height: 1.35; min-width: 0; padding: 8px 10px; }
.momhop-guide-island.momhop-guide-island .mh-stop b { display: block; font-size: 14px; }
.momhop-guide-island.momhop-guide-island .mh-cardbody > :is(.mh-pricebar, .mh-btns, .mh-stops) { margin-top: 12px; }
.momhop-guide-island.momhop-guide-island .mh-cardbody > :is(.mh-pricebar, .mh-stops) + p { margin-top: 12px; }
/* Blocks that follow one another inside a card or the opening keep a gap (found when the rest of the Guides were set). */
.momhop-guide-island.momhop-guide-island .mh-cardbody > :is(.mh-mini, .mh-grid, .mh-list, .mh-callout, .mh-facts, .mh-chiprow), .momhop-guide-island.momhop-guide-island .mh-cardbody > :is(.mh-mini, .mh-grid, .mh-list) + p { margin-top: 12px; }
.momhop-guide-island.momhop-guide-island .mh-cardbody > :first-child { margin-top: 0; }
.momhop-guide-island.momhop-guide-island .mh-hero .mh-lead + p { margin-top: 10px; }
.momhop-guide-island.momhop-guide-island .mh-hero > p:last-child { margin-bottom: 0; }
.momhop-guide-island.momhop-guide-island .mh-hero img { margin-top: 12px; }
/* A web address used as a link's words may break anywhere, so it stays inside its box. */
.momhop-guide-island.momhop-guide-island .mh-link { overflow-wrap: anywhere; }
.momhop-guide-island.momhop-guide-island .mh-fact, .momhop-guide-island.momhop-guide-island .mh-mini, .momhop-guide-island.momhop-guide-island .mh-item > div { min-width: 0; }
/* A card that is a name and nothing more: no rule under the name. */
.momhop-guide-island.momhop-guide-island .mh-cardhead:last-child { border-bottom: 0; }
.momhop-guide-island.momhop-guide-island .mh-cardbody > .mh-label { margin: 14px 0 8px; }
.momhop-guide-island.momhop-guide-island .mh-item p { font-size: var(--mh-fs-body); margin: 0 0 6px; }
.momhop-guide-island.momhop-guide-island .mh-mini p, .momhop-guide-island.momhop-guide-island .mh-mini :is(ul, ol) { font-size: var(--mh-fs-body); margin-bottom: 0; }
.momhop-guide-island.momhop-guide-island .mh-draftbar { background: var(--mh-surface); border: 1px dashed var(--mh-coral); border-radius: var(--mh-r-sm); color: var(--mh-ink); font-size: var(--mh-fs-body); font-weight: 600; margin: 0 0 12px; padding: 10px 14px; }
@media (min-width: 760px) {
	.momhop-guide-island.momhop-guide-island .mh-hero { padding: 28px 30px; }
	.momhop-guide-island.momhop-guide-island .mh-cardhead { padding: 20px 22px 16px; }
	.momhop-guide-island.momhop-guide-island .mh-cardbody { padding: 20px 22px; }
	.momhop-guide-island.momhop-guide-island .mh-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.momhop-guide-island.momhop-guide-island .mh-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.momhop-guide-island.momhop-guide-island .mh-picks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Guide article: the same width as every other page (owner 2026-10-06: "widths of all pages should
   be identical both on desktop and phone"). It was 347 on a phone and 720 on desktop. */
body.momhop-app-route .momhop-page .momhop-content-region--detail .momhop-guides--detail { margin-left: 12px; margin-right: 12px; }
@media (min-width: 1024px) {
	body.momhop-app-route .momhop-shell-center .momhop-content-region--detail .momhop-guides--detail,
	body.momhop-app-route .momhop-shell-center .momhop-guides--detail .momhop-guides__inner--detail,
	body.momhop-app-route .momhop-shell-center .momhop-guides--detail .momhop-guide-island,
	body.momhop-app-route .momhop-shell-center .momhop-guides--detail .momhop-guides__detail-header { margin-left: 0; margin-right: 0; max-width: none; }
}

/* Small links at the foot of Home and of the desktop right column. */
.momhop-footlinks { color: var(--mh-ink-faint); font-size: var(--mh-fs-small); margin: 18px 0 0; text-align: center; }
.momhop-footlinks a { color: var(--mh-ink-soft); text-decoration: underline; text-underline-offset: 3px; }
.momhop-footlinks a:hover, .momhop-footlinks a:focus-visible { color: var(--mh-coral-deep); }
.momhop-shell-right .momhop-footlinks { text-align: left; }
@media (min-width: 1024px) { .momhop-home .momhop-footlinks { display: none; } }

/* Account pages: the same side gutter as every other page below desktop width. They had none of
   their own, so on a phone they sat 12px wider on each side than Home, Outings, Events and Guide
   (found by measuring the logged-in pages, checklist J17). */
@media (max-width: 1023px) {
	body.momhop-app-route .momhop-page .momhop-content-region--account { padding-left: var(--mh-space-3); padding-right: var(--mh-space-3); }
}
@media (min-width: 760px) and (max-width: 1023px) {
	body.momhop-app-route .momhop-page .momhop-content-region--account { padding-left: 24px; padding-right: 24px; }
}

/* Desktop side columns (owner 2026-10-16): the parent's own things on the left, things to do on the right.
   The columns stay put while the middle of the page changes, so a card that would repeat the page beside it
   is hidden here by the section the menu marks as current. */
@media (min-width: 1024px) {
	.momhop-shell-rail {
		overflow-y: auto;
	}

	.momhop-desktop-shell:has(.momhop-shell-rail__link--home[aria-current="page"]) [data-momhop-hide-on~="home"],
	.momhop-desktop-shell:has(.momhop-shell-rail__link--events[aria-current="page"]) [data-momhop-hide-on~="events"],
	.momhop-desktop-shell:has(.momhop-shell-rail__link--guide[aria-current="page"]) [data-momhop-hide-on~="guide"],
	.momhop-desktop-shell:has(.momhop-detail--outing) [data-momhop-hide-on~="outing-detail"],
	.momhop-desktop-shell:has(.momhop-help) [data-momhop-hide-on~="help"] {
		display: none;
	}

	/* On wide screens both side columns grow a little. */
	@media (min-width: 1360px) {
		:root {
			--mh-rail-w: 300px;
			--mh-right-w: 300px;
		}
	}

	.momhop-shell-mine {
		display: grid;
		gap: 12px;
		margin: 18px 0 12px;
	}

	/* A quiet outline, not a filled button (owner 2026-10-16: "a little subtle"). */
	.momhop-shell-mine__help {
		align-items: center;
		background: transparent;
		border: 1px solid color-mix(in srgb, var(--mh-coral) 40%, transparent);
		border-radius: var(--mh-r-pill);
		color: var(--mh-coral-deep);
		display: flex;
		font-size: var(--mh-fs-small);
		font-weight: 700;
		gap: 7px;
		justify-content: center;
		padding: 8px 12px;
		text-decoration: none;
	}

	.momhop-shell-mine__help:hover,
	.momhop-shell-mine__help:focus-visible {
		background: var(--mh-coral-soft);
		border-color: var(--mh-coral);
	}

	/* Owner, 2026-10-16: on a wide screen the weather sits under the left menu, Home included; Home's own line
	   stays for phones, which have no side column. */
	.momhop-desktop-shell .momhop-shell-center [data-momhop-today] {
		display: none;
	}

	/* Owner, 2026-10-23: the Home hero leads with the weather now, on a wide screen too; the left column's
	   copy steps aside while Home is showing so it is not said twice. */
	.momhop-desktop-shell .momhop-shell-center .momhop-hero [data-momhop-today]:not([hidden]) {
		display: flex;
	}

	.momhop-desktop-shell:has(.momhop-shell-center .momhop-hero--fresh) .momhop-shell-mine__weather {
		display: none;
	}

	/* One panel about the parent, its parts split by hairlines. */
	.momhop-shell-mine__panel {
		background: var(--mh-surface);
		border: 1px solid var(--mh-line);
		border-radius: var(--mh-r);
		box-shadow: var(--mh-sh-card);
		overflow: hidden;
	}

	.momhop-shell-mine__weather .momhop-today {
		align-items: flex-start;
		background: color-mix(in srgb, var(--mh-sun-soft) 55%, var(--mh-surface));
		border: 0;
		border-radius: 0;
		font-size: var(--mh-fs-small);
		gap: 10px;
		line-height: 1.45;
		margin: 0;
		padding: 13px 14px;
	}

	.momhop-shell-mine__weather .momhop-today__icon {
		background: var(--mh-surface);
		flex: 0 0 32px;
		height: 32px;
	}

	.momhop-shell-mine__weather .momhop-today__ask {
		display: block;
		margin-top: 3px;
	}

	.momhop-shell-mine__part {
		border-top: 1px solid var(--mh-line-soft);
		display: grid;
		gap: 6px;
		padding: 12px 14px 13px;
	}

	.momhop-shell-mine__weather:has(.momhop-today[hidden]) + .momhop-shell-mine__part,
	.momhop-shell-mine__part:first-child {
		border-top: 0;
	}

	.momhop-shell-mine__part--join .momhop-shell-mine__label {
		color: var(--mh-sage);
	}

	.momhop-shell-mine__head {
		align-items: baseline;
		display: flex;
		justify-content: space-between;
	}

	.momhop-shell-mine__head a {
		color: var(--mh-coral-deep);
		font-size: var(--mh-fs-small);
		font-weight: 700;
		text-decoration: none;
	}

	.momhop-shell-mine__label {
		color: var(--mh-ink-soft);
		font-size: var(--mh-fs-micro);
		font-weight: 800;
		letter-spacing: .08em;
		margin: 0;
		text-transform: uppercase;
	}

	.momhop-shell-mine__line {
		color: var(--mh-ink-soft);
		font-size: var(--mh-fs-small);
		line-height: 1.45;
		margin: 0;
	}

	.momhop-shell-mine__row {
		align-items: center;
		color: var(--mh-ink);
		display: flex;
		font-size: var(--mh-fs-small);
		gap: 8px;
		line-height: 1.35;
		margin: 0;
	}

	.momhop-shell-mine__row-icon {
		align-items: center;
		color: var(--mh-sage);
		display: inline-flex;
		flex: none;
	}

	.momhop-shell-mine__button {
		background: var(--mh-surface);
		border: 1px solid color-mix(in srgb, var(--mh-sage) 35%, var(--mh-surface));
		border-radius: var(--mh-r-pill);
		color: var(--mh-sage);
		font-size: var(--mh-fs-small);
		font-weight: 700;
		justify-self: start;
		padding: 6px 12px;
		text-decoration: none;
	}

	.momhop-shell-mine__save {
		align-items: baseline;
		color: var(--mh-ink);
		display: flex;
		font-size: var(--mh-fs-small);
		gap: 8px;
		line-height: 1.35;
		text-decoration: none;
	}

	.momhop-shell-mine__save:hover .momhop-shell-mine__save-title,
	.momhop-shell-mine__save:focus-visible .momhop-shell-mine__save-title {
		text-decoration: underline;
	}

	.momhop-shell-mine__dot {
		border-radius: 50%;
		flex: none;
		height: 8px;
		transform: translateY(-1px);
		width: 8px;
	}

	.momhop-shell-mine__save-title {
		flex: 1;
		min-width: 0;
	}

	.momhop-shell-mine__when {
		color: var(--mh-coral-deep);
		flex: none;
		font-size: var(--mh-fs-micro);
		font-weight: 700;
	}

	.momhop-shell-rail .momhop-footlinks {
		font-size: var(--mh-fs-micro);
		margin: auto 0 8px;
		text-align: left;
	}

	.momhop-shell-rail .momhop-footlinks + .momhop-shell-rail__account {
		margin-top: 0;
	}

	.momhop-shell-side {
		display: grid;
		gap: 2px;
	}

	a.momhop-shell-side {
		color: var(--mh-ink);
		text-decoration: none;
	}

	.momhop-shell-side__event {
		align-items: center;
		border-top: 1px solid var(--mh-line-soft);
		color: var(--mh-ink);
		display: flex;
		gap: 10px;
		padding: 8px 0;
		text-decoration: none;
	}

	.momhop-shell-card__rowhead + .momhop-shell-side__event {
		border-top: 0;
		padding-top: 2px;
	}

	.momhop-shell-side__date {
		align-items: center;
		background: var(--mh-coral-soft);
		border-radius: var(--mh-r-xs);
		color: var(--mh-coral-deep);
		display: flex;
		flex: 0 0 40px;
		flex-direction: column;
		height: 40px;
		justify-content: center;
		line-height: 1.05;
	}

	.momhop-shell-side__date small {
		font-size: var(--mh-fs-micro);
		font-weight: 700;
		text-transform: uppercase;
	}

	.momhop-shell-side__date b {
		font-size: var(--mh-fs-body);
	}

	.momhop-shell-side__text {
		display: grid;
		min-width: 0;
	}

	.momhop-shell-side__text strong {
		font-size: var(--mh-fs-small);
		line-height: 1.3;
	}

	.momhop-shell-side__text span,
	.momhop-shell-side__meta {
		color: var(--mh-ink-soft);
		font-size: var(--mh-fs-small);
		line-height: 1.35;
	}

	.momhop-shell-side__photo {
		aspect-ratio: 16 / 9;
		border-radius: var(--mh-r-xs);
		display: block;
		margin-bottom: 8px;
		max-width: 100%;
		object-fit: cover;
		width: 100%;
	}

	.momhop-shell-side__seal {
		color: var(--mh-coral-deep);
		font-size: var(--mh-fs-micro);
		font-weight: 800;
		letter-spacing: .08em;
		text-transform: uppercase;
	}

	.momhop-shell-side__title {
		font-family: var(--mh-display-font);
		font-size: var(--mh-fs-lead);
		line-height: 1.25;
	}

	.momhop-shell-card--note .momhop-shell-card__text {
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		display: -webkit-box;
		overflow: hidden;
	}
}

/* About MomHop and Contact (owner 2026-10-16): two buttons at the foot of Home, and their own pages. */
.momhop-homelinks {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 18px;
}

.momhop-homelinks__link,
.momhop-aboutpage__find,
.momhop-contact__way {
	align-items: center;
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r-sm);
	color: var(--mh-ink);
	display: flex;
	gap: 10px;
	min-width: 0;
	padding: 10px 12px;
	text-decoration: none;
}

@media (hover: hover) {
	.momhop-homelinks__link:hover,
	.momhop-homelinks__link:focus-visible,
	.momhop-aboutpage__find:hover,
	.momhop-aboutpage__find:focus-visible,
	.momhop-contact__way:hover,
	.momhop-contact__way:focus-visible {
		border-color: var(--mh-coral);
	}
}

.momhop-homelinks__photo {
	border-radius: 50%;
	flex: 0 0 36px;
	height: 36px;
	object-fit: cover;
	object-position: 50% 30%;
	width: 36px;
}

.momhop-homelinks__icon {
	align-items: center;
	background: var(--mh-coral-soft);
	border-radius: 50%;
	color: var(--mh-coral-deep);
	display: inline-flex;
	flex: 0 0 36px;
	height: 36px;
	justify-content: center;
}

.momhop-homelinks__words,
.momhop-aboutpage__find > span:last-child,
.momhop-contact__way > span:last-child {
	display: grid;
	font-size: var(--mh-fs-small);
	line-height: 1.3;
	min-width: 0;
	overflow-wrap: anywhere;
}

.momhop-homelinks__words small,
.momhop-aboutpage__find small {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-small);
	font-weight: 400;
}

.momhop-contact__way small {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-micro);
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.momhop-aboutpage,
.momhop-contactpage {
	display: grid;
	gap: 18px;
	padding: 6px 0 24px;
}

.momhop-aboutpage__head {
	display: grid;
	gap: 16px;
}

.momhop-aboutpage__photo {
	aspect-ratio: 4 / 3;
	border-radius: var(--mh-r);
	height: auto;
	max-width: 100%;
	object-fit: cover;
	object-position: 50% 25%;
	width: 100%;
}

.momhop-aboutpage__intro {
	display: grid;
	gap: 10px;
	min-width: 0;
}

.momhop-aboutpage__label {
	color: var(--mh-coral-deep);
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-micro);
	font-weight: 800;
	letter-spacing: .1em;
	margin: 0;
	text-transform: uppercase;
}

.momhop-aboutpage__title {
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-h1);
	line-height: 1.15;
	margin: 0;
	text-wrap: balance;
}

.momhop-aboutpage__h2 {
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-h3);
	line-height: 1.25;
	margin: 0 0 8px;
	text-wrap: balance;
}

.momhop-aboutpage__text {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-body);
	line-height: 1.6;
	margin: 0 0 8px;
	max-width: 62ch;
}

.momhop-aboutpage__pillars {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.momhop-aboutpage__pillar {
	background: var(--mh-sage-tint);
	border-radius: var(--mh-r-sm);
	display: grid;
	gap: 3px;
	padding: 12px 14px;
}

.momhop-aboutpage__pillar b {
	color: var(--mh-sage);
	font-size: var(--mh-fs-body);
}

.momhop-aboutpage__pillar span {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-small);
	line-height: 1.45;
}

.momhop-aboutpage__finds,
.momhop-contact__ways {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.momhop-aboutpage__find {
	align-items: flex-start;
}

.momhop-aboutpage__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.momhop-aboutpage__actions .momhop-btn {
	align-items: center;
	display: inline-flex;
	gap: 6px;
	text-decoration: none;
	white-space: nowrap;
}

.momhop-contactpage__about {
	background: var(--mh-cream);
	border-radius: var(--mh-r-sm, 10px);
	color: var(--mh-ink);
	font-size: var(--mh-fs-small);
	margin: 0;
	padding: 8px 12px;
}

.momhop-contactpage__notice {
	background: var(--mh-sun-soft);
	border-radius: var(--mh-r-sm);
	font-size: var(--mh-fs-body);
	margin: 0;
	padding: 10px 14px;
}

.momhop-contactpage__notice.is-done {
	background: var(--mh-sage-tint);
	color: var(--mh-sage);
	font-weight: 700;
}

.momhop-contactpage__form {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r);
	display: grid;
	gap: 12px;
	padding: 16px;
}

.momhop-contactpage__field {
	display: grid;
	gap: 5px;
	font-size: var(--mh-fs-small);
	font-weight: 700;
}

.momhop-contactpage__field input,
.momhop-contactpage__field select,
.momhop-contactpage__field textarea {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r-sm);
	color: var(--mh-ink);
	font: inherit;
	font-weight: 400;
	padding: 10px 12px;
	width: 100%;
}

.momhop-contactpage__field input:focus,
.momhop-contactpage__field select:focus,
.momhop-contactpage__field textarea:focus {
	border-color: var(--mh-coral);
	outline: none;
}

.momhop-contactpage__trap {
	height: 1px;
	left: -9999px;
	overflow: hidden;
	position: absolute;
	width: 1px;
}

.momhop-contactpage__form .momhop-btn {
	justify-self: start;
}

/* On a phone the two Home buttons are a name and a picture; the line under each joins at 700px. */
@media (max-width: 699px) {
	.momhop-homelinks__words small {
		display: none;
	}
}

@media (min-width: 700px) {
	.momhop-aboutpage__head {
		align-items: start;
		grid-template-columns: 220px minmax(0, 1fr);
	}

	.momhop-aboutpage__photo {
		aspect-ratio: 3 / 4;
	}
}

/* Home, condensed (owner 2026-10-17): the headline card carries the moods and Help me choose; Neya's
   note is a quote with her face; Outings, Events and Guide are one bar of thin icons. */
.momhop-hero__h {
	max-width: none;
}

.momhop-hero__sub {
	max-width: none;
}

.momhop-hero__moods {
	display: flex;
	gap: 6px;
	margin: 12px -16px 0;
	overflow-x: auto;
	padding: 0 16px 2px;
	scrollbar-width: none;
}

.momhop-hero__moods::-webkit-scrollbar {
	display: none;
}

.momhop-hero__mood {
	align-items: center;
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r-pill);
	color: var(--mh-ink);
	display: inline-flex;
	flex: none;
	font-size: var(--mh-fs-small);
	font-weight: 600;
	gap: 5px;
	padding: 7px 12px;
	text-decoration: none;
	white-space: nowrap;
}

.momhop-hero__mood:hover,
.momhop-hero__mood:focus-visible {
	border-color: var(--mh-coral);
}

.momhop-hero__go {
	margin: 10px 0 0;
	text-align: right;
}

.momhop-hero__go a {
	color: var(--mh-coral-deep);
	font-size: var(--mh-fs-body);
	font-weight: 800;
	text-decoration: none;
}

.momhop-neyaquote {
	align-items: flex-start;
	display: flex;
	gap: 10px;
	margin: 14px 2px 0;
}

.momhop-neyaquote__face {
	border-radius: 50%;
	flex: 0 0 34px;
	height: 34px;
	object-fit: cover;
	object-position: 50% 25%;
	width: 34px;
}

.momhop-neyaquote__text {
	margin: 0;
}

.momhop-neyaquote__text p {
	color: var(--mh-ink);
	font-size: var(--mh-fs-body);
	line-height: 1.45;
	margin: 0;
}

.momhop-neyaquote__who {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-small);
	margin-top: 2px;
}

.momhop-homebar__head {
	color: var(--mh-ink-soft);
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-micro);
	font-weight: 800;
	letter-spacing: .1em;
	margin: 20px 0 8px;
	text-transform: uppercase;
}

.momhop-homebar {
	border-bottom: 1px solid var(--mh-line);
	border-top: 1px solid var(--mh-line);
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.momhop-homebar__item {
	align-items: center;
	color: var(--mh-ink);
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	padding: 13px 4px 12px;
	text-align: center;
	text-decoration: none;
}

.momhop-homebar__item + .momhop-homebar__item {
	border-left: 1px solid var(--mh-line-soft);
}

.momhop-homebar__icon {
	color: var(--mh-ink);
	display: inline-flex;
	margin-bottom: 4px;
}

.momhop-homebar__icon svg {
	stroke-width: 1.75;
}

.momhop-homebar__item b {
	font-size: var(--mh-fs-body);
	font-weight: 700;
}

.momhop-homebar__item small {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-micro);
	line-height: 1.3;
}

@media (hover: hover) {
	.momhop-homebar__item:hover .momhop-homebar__icon,
	.momhop-homebar__item:focus-visible .momhop-homebar__icon {
		color: var(--mh-coral-deep);
	}
}

.momhop-homelinks {
	margin-top: 12px;
}

@media (min-width: 700px) {
	/* On a wide screen the moods and Help me choose share one row. */
	.momhop-hero__pick {
		align-items: center;
		display: flex;
		flex-wrap: wrap;
		gap: 8px 16px;
		margin-top: 14px;
	}

	.momhop-hero__moods {
		flex-wrap: wrap;
		margin: 0;
		overflow: visible;
		padding: 0;
	}

	.momhop-hero__go {
		margin: 0 0 0 auto;
	}

	.momhop-homebar__item {
		padding: 16px 8px 15px;
	}
}

/* Home, content first (owner 2026-10-17): one headline card, then real things to do, then Neya.
   Polish pass the same day: "still needs styling work, still a bit busy, the bottom scrolls weird". */

.momhop-hero--fresh {
	border: 0;
	padding: 18px 16px 16px;
}

.momhop-hero__eyebrow {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-small);
	margin: 0 0 4px;
}

.momhop-hero--fresh .momhop-hero__h {
	font-size: var(--mh-fs-h1);
	font-weight: 700;
	line-height: 1.12;
	text-wrap: balance;
}

.momhop-hero--fresh .momhop-hero__sub {
	font-size: var(--mh-fs-body);
	line-height: 1.45;
	margin-top: 6px;
}

/* Weather in one line: "Sunny tomorrow · 89°  Outdoor ideas". */
.momhop-today--short {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 0;
	display: flex;
	flex-wrap: wrap;
	font-size: var(--mh-fs-small);
	gap: 4px 6px;
	margin: 10px 0 0;
	padding: 0;
}

.momhop-today--short[hidden] {
	display: none;
}

.momhop-today--short .momhop-today__icon {
	background: transparent;
	color: var(--mh-coral-deep);
	flex: none;
	height: auto;
	width: auto;
}

.momhop-today--short .momhop-today__text {
	color: var(--mh-ink);
	font-weight: 600;
}

.momhop-today--short .momhop-today__ask {
	color: var(--mh-coral-deep);
	font-weight: 700;
	text-decoration: none;
}

.momhop-today--short .momhop-today__ask::before {
	color: var(--mh-ink-soft);
	content: "· ";
	font-weight: 400;
}

.momhop-hero--fresh .momhop-hero__pick {
	margin-top: 14px;
}

.momhop-hero--fresh .momhop-hero__moods {
	display: flex;
	gap: 6px;
	margin: 0 -16px;
	overflow-x: auto;
	padding: 0 16px 2px;
	scrollbar-width: none;
}

.momhop-hero--fresh .momhop-hero__mood {
	background: color-mix(in srgb, var(--mh-surface) 85%, transparent);
	border-color: color-mix(in srgb, var(--mh-line) 80%, transparent);
	font-size: var(--mh-fs-small);
	font-weight: 700;
	padding: 8px 13px;
}

.momhop-hero--fresh .momhop-hero__mood--go {
	background: var(--mh-coral-deep);
	border-color: var(--mh-coral-deep);
	color: var(--mh-surface);
	gap: 6px;
}

.momhop-hero--fresh .momhop-hero__mood--go:hover,
.momhop-hero--fresh .momhop-hero__mood--go:focus-visible {
	background: color-mix(in srgb, var(--mh-coral-deep) 82%, var(--mh-ink));
	border-color: color-mix(in srgb, var(--mh-coral-deep) 82%, var(--mh-ink));
}

.momhop-homefresh {
	margin-top: 28px;
}

.momhop-homefresh__head {
	align-items: baseline;
	display: flex;
	justify-content: space-between;
	margin-bottom: 12px;
}

.momhop-homefresh__head h2 {
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-h3);
	font-weight: 700;
	margin: 0;
}

.momhop-homefresh__head a {
	color: var(--mh-coral-deep);
	font-size: var(--mh-fs-small);
	font-weight: 700;
	text-decoration: none;
}

.momhop-homefresh__event,
.momhop-homefresh__guide {
	align-items: center;
	border-top: 1px solid var(--mh-line-soft);
	color: var(--mh-ink);
	display: flex;
	gap: 12px;
	padding: 11px 0;
	text-decoration: none;
}

.momhop-homefresh__event:first-of-type,
.momhop-homefresh__guide:first-child {
	border-top: 0;
	padding-top: 0;
}

.momhop-homefresh__date {
	align-items: center;
	background: var(--mh-coral-soft);
	border-radius: var(--mh-r-sm);
	color: var(--mh-coral-deep);
	display: flex;
	flex: 0 0 44px;
	flex-direction: column;
	height: 44px;
	justify-content: center;
	line-height: 1.05;
}

.momhop-homefresh__date small {
	font-size: var(--mh-fs-micro);
	font-weight: 700;
	text-transform: uppercase;
}

.momhop-homefresh__date b {
	font-size: var(--mh-fs-lead);
}

.momhop-homefresh__text {
	display: grid;
	gap: 1px;
	min-width: 0;
}

.momhop-homefresh__text strong {
	font-size: var(--mh-fs-body);
	font-weight: 700;
	line-height: 1.3;
}

.momhop-homefresh__text span {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-small);
	line-height: 1.35;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Outings: small photo cards, a row that slides sideways on a phone. */
.momhop-homefresh__outings {
	display: grid;
	gap: 12px;
	grid-auto-columns: 42%;
	grid-auto-flow: column;
	margin: 0 -26px;
	overflow-x: auto;
	overflow-y: hidden; /* sideways only: a downward pull that starts on the row refreshes the page (owner 2026-10-24, iPhone) */
	overscroll-behavior-x: contain;
	padding: 0 26px 4px;
	scroll-padding-inline: 26px;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.momhop-homefresh__outings::-webkit-scrollbar,
.momhop-hero--fresh .momhop-hero__moods::-webkit-scrollbar {
	display: none;
}

.momhop-homefresh__outing {
	color: var(--mh-ink);
	display: grid;
	gap: 2px;
	align-content: start;
	min-width: 0;
	scroll-snap-align: start;
	text-decoration: none;
}

.momhop-homefresh__outing[hidden],
.momhop-homefresh__guide[hidden] {
	display: none;
}

.momhop-homefresh__photo {
	aspect-ratio: 4 / 3;
	background: var(--mh-line-soft);
	border-radius: var(--mh-r);
	display: block;
	margin-bottom: 8px;
	overflow: hidden;
	position: relative;
}

.momhop-homefresh__photo img {
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform .3s ease;
	width: 100%;
}

@media (hover: hover) {
	.momhop-homefresh__outing:hover .momhop-homefresh__photo img {
		transform: scale(1.03);
	}
}

.momhop-homefresh__seal {
	background: var(--mh-surface);
	border-radius: var(--mh-r-pill);
	color: var(--mh-coral-deep);
	font-size: var(--mh-fs-micro);
	font-weight: 800;
	left: 8px;
	padding: 2px 8px;
	position: absolute;
	top: 8px;
}

.momhop-homefresh__outing strong {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	display: -webkit-box;
	font-size: var(--mh-fs-body);
	font-weight: 700;
	line-height: 1.3;
	overflow: hidden;
}

.momhop-homefresh__outing > span:last-child {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-small);
}

.momhop-homefresh__guide-icon {
	align-items: center;
	background: color-mix(in srgb, var(--mh-plum) 12%, var(--mh-surface));
	border-radius: var(--mh-r-sm);
	color: var(--mh-plum);
	display: inline-flex;
	flex: 0 0 44px;
	height: 44px;
	justify-content: center;
}

/* Sign-off: Neya's note and the one way to join, in one soft card; then the small links. */
.momhop-homefresh__sign {
	margin-top: 32px;
}

.momhop-homefresh__note {
	background: color-mix(in srgb, var(--mh-sage-tint) 70%, var(--mh-surface));
	border-radius: var(--mh-r);
	padding: 16px;
}

.momhop-homefresh__note .momhop-neyaquote {
	margin: 0;
}

.momhop-homefresh__join {
	align-items: center;
	border-top: 1px solid color-mix(in srgb, var(--mh-sage) 18%, transparent);
	color: var(--mh-ink-soft);
	display: flex;
	font-size: var(--mh-fs-small);
	gap: 10px;
	justify-content: space-between;
	margin: 14px 0 0;
	padding-top: 12px;
}

.momhop-homefresh__join a {
	background: var(--mh-coral-deep);
	border-radius: var(--mh-r-pill);
	color: var(--mh-surface);
	flex: none;
	font-weight: 700;
	padding: 8px 14px;
	text-decoration: none;
}

.momhop-homefresh__sign .momhop-footlinks {
	font-size: var(--mh-fs-small);
	margin: 16px 0 0;
}

.momhop-homefresh__sign .momhop-footlinks a {
	color: var(--mh-ink-soft);
	text-decoration: none;
}

/* Wide screens: the side columns already hold the weekend's events, Join, Help me choose and the
   foot links, so Home shows each of them once. */
@media (min-width: 1024px) {
	.momhop-desktop-shell .momhop-homefresh--events,
	.momhop-desktop-shell .momhop-homefresh__join,
	.momhop-desktop-shell .momhop-homefresh__sign .momhop-footlinks,
	.momhop-desktop-shell:has(.momhop-home--fresh) .momhop-shell-mine__help,
	.momhop-desktop-shell:has(.momhop-home--fresh) .momhop-shell-side--pick,
	.momhop-desktop-shell:has(.momhop-home--fresh) .momhop-shell-side--guide {
		display: none;
	}

	.momhop-homefresh__outings {
		grid-auto-columns: auto;
		grid-auto-flow: row;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		margin: 0;
		overflow: visible;
		padding: 0;
	}
}

@media (min-width: 700px) {
	.momhop-hero--fresh {
		padding: 24px 26px 22px;
	}

	.momhop-hero--fresh .momhop-hero__moods {
		flex-wrap: wrap;
		margin: 0;
		overflow: visible;
		padding: 0;
	}
}

/* Phones: the page already keeps room for the bottom menu; the content inside it kept the same room
   again, so every page ended in about 230px of blank (owner 2026-10-17: "bottom of the page scrolls
   weird"). The content keeps a small margin only. */
@media (max-width: 759px) {
	.momhop-page .momhop-content-region {
		padding-bottom: var(--mh-space-5);
	}
}

/* Home: Neya's two main buttons under the hero line (2026-10-19): Explore outings, Find events & classes. */
.momhop-hero__btns {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 14px;
}

.momhop-hero__btns .momhop-btn {
	flex: 1 1 150px;
	justify-content: center;
	max-width: 220px;
	text-align: center;
}

/* Home: Help me choose as one quiet row, like a search field (owner 2026-10-17: "a little subtle and
   modern"; the mood pills are gone). */
.momhop-hero__ask {
	align-items: center;
	background: color-mix(in srgb, var(--mh-surface) 88%, transparent);
	border: 1px solid color-mix(in srgb, var(--mh-line) 90%, transparent);
	border-radius: var(--mh-r-pill);
	box-shadow: 0 1px 2px color-mix(in srgb, var(--mh-ink) 5%, transparent);
	color: var(--mh-ink);
	display: flex;
	gap: 10px;
	margin-top: 16px;
	max-width: 360px;
	padding: 6px 6px 6px 8px;
	text-decoration: none;
	transition: border-color .2s ease, box-shadow .2s ease;
}

@media (hover: hover) {
	.momhop-hero__ask:hover,
	.momhop-hero__ask:focus-visible {
		border-color: color-mix(in srgb, var(--mh-coral) 45%, transparent);
		box-shadow: 0 4px 14px color-mix(in srgb, var(--mh-ink) 8%, transparent);
	}
}

.momhop-hero__ask-icon {
	align-items: center;
	background: var(--mh-coral-soft);
	border-radius: 50%;
	color: var(--mh-coral-deep);
	display: inline-flex;
	flex: 0 0 34px;
	height: 34px;
	justify-content: center;
}

.momhop-hero__ask-words {
	display: grid;
	flex: 1;
	line-height: 1.2;
	min-width: 0;
}

.momhop-hero__ask-words b {
	font-size: var(--mh-fs-body);
	font-weight: 700;
}

.momhop-hero__ask-words small {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-small);
}

.momhop-hero__ask-go {
	align-items: center;
	background: var(--mh-coral-deep);
	border-radius: 50%;
	color: var(--mh-surface);
	display: inline-flex;
	flex: 0 0 34px;
	font-weight: 700;
	height: 34px;
	justify-content: center;
}

/* About page, second look (owner 2026-10-23, a mix of docs/design/about_page_mockup.html: C's round photo in a
   hand-drawn ring, A's promises and notes from moms as message bubbles, B's numbered steps). */
.momhop-about2 {
	display: grid;
	gap: 28px;
	padding: 4px 0 8px;
}

.momhop-about2__hero {
	display: grid;
	gap: 0;
	justify-items: center;
	text-align: center;
}

.momhop-about2__figure {
	color: var(--mh-coral);
	height: 210px;
	margin: 4px 0 0;
	position: relative;
	width: 210px;
}

.momhop-about2__ring {
	height: calc(100% + 12px);
	inset: -6px;
	position: absolute;
	width: calc(100% + 12px);
}

.momhop-about2__photo {
	border-radius: 50%;
	display: block;
	height: calc(100% - 26px);
	inset: 13px;
	max-width: none;
	object-fit: cover;
	object-position: 50% 18%;
	position: absolute;
	width: calc(100% - 26px);
}

.momhop-about2__doodle { color: var(--mh-coral); font-size: 20px; line-height: 1; position: absolute; }
.momhop-about2__doodle--a { right: 4px; top: -6px; }
.momhop-about2__doodle--b { bottom: 24px; color: var(--mh-ink); font-size: 24px; left: -16px; }
.momhop-about2__doodle--c { bottom: -2px; font-size: 14px; right: 24px; }

.momhop-about2__tag {
	background: var(--mh-ink);
	border-radius: var(--mh-r-pill);
	color: var(--mh-surface);
	font-size: var(--mh-fs-small);
	font-weight: 700;
	margin: 12px 0 14px;
	padding: 5px 14px;
}

.momhop-about2__label {
	color: var(--mh-coral-deep);
	font-size: var(--mh-fs-micro);
	font-weight: 800;
	letter-spacing: .1em;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.momhop-about2__title {
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-h1);
	font-weight: 700;
	line-height: 1.1;
	margin: 0;
	text-wrap: balance;
}

body.momhop-app-route .momhop-page .momhop-about2__title { text-align: center; }

.momhop-about2__intro {
	display: grid;
	gap: 10px;
	min-width: 0;
}

.momhop-about2__lead {
	color: var(--mh-ink);
	font-size: var(--mh-fs-lead);
	font-weight: 500;
	line-height: 1.55;
	margin: 0;
}

.momhop-about2__text {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-body);
	line-height: 1.65;
	margin: 0;
	max-width: 62ch;
}

.momhop-about2__small { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); margin: 6px 0 0; }

.momhop-about2__promises {
	display: grid;
	gap: 14px;
	grid-template-columns: 1fr 1fr;
	list-style: none;
	margin: 0;
	padding: 0;
}

.momhop-about2__promises li {
	border-top: 3px solid var(--mh-coral);
	display: grid;
	padding-top: 8px;
}

.momhop-about2__promises b {
	color: var(--mh-ink);
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-h3);
	font-weight: 400;
	line-height: 1.1;
}

.momhop-about2__promises span {
	color: var(--mh-coral-deep);
	font-family: var(--mh-hand-font);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.1;
}

.momhop-about2__h2 {
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-h2, var(--mh-fs-h3));
	font-weight: 700;
	line-height: 1.15;
	margin: 0 0 12px;
	text-wrap: balance;
}

/* Notes from moms: message bubbles, tilted a little, left and right like a chat. */
.momhop-about2__love {
	background: linear-gradient(var(--mh-surface-2), var(--mh-bg, var(--mh-surface)));
	border-radius: var(--mh-r);
	padding: 22px 16px 14px;
	text-align: center;
}

.momhop-about2__love .momhop-about2__h2 { margin: 0; }

.momhop-about2__notes {
	display: flex;
	flex-direction: column;
	gap: 14px;
	list-style: none;
	margin: 18px 0 0;
	padding: 0;
	text-align: left;
}

.momhop-about2__note {
	border-radius: 20px;
	box-shadow: 0 3px 10px color-mix(in srgb, var(--mh-ink) 8%, transparent);
	color: var(--mh-ink);
	font-size: var(--mh-fs-small);
	line-height: 1.5;
	max-width: 86%;
	padding: 11px 15px;
	position: relative;
	transform: rotate(var(--note-tilt, 0deg));
}

.momhop-about2__note--left { align-self: flex-start; border-bottom-left-radius: 5px; }
.momhop-about2__note--right { align-self: flex-end; border-bottom-right-radius: 5px; }
.momhop-about2__note--sky { background: var(--mh-sage-soft); }
.momhop-about2__note--sage { background: var(--mh-coral-soft); }
.momhop-about2__note--sun { background: var(--mh-coral-tint); }
.momhop-about2__note--plain { background: var(--mh-surface); border: 1px solid var(--mh-line-soft); }

.momhop-about2__heart {
	background: var(--mh-surface);
	border-radius: var(--mh-r-pill);
	bottom: -9px;
	box-shadow: 0 1px 4px color-mix(in srgb, var(--mh-ink) 15%, transparent);
	font-size: 12px;
	line-height: 1;
	padding: 3px 5px;
	position: absolute;
}

.momhop-about2__note--left .momhop-about2__heart { right: 12px; }
.momhop-about2__note--right .momhop-about2__heart { left: 12px; }

.momhop-about2__more > summary {
	color: var(--mh-coral-deep);
	cursor: pointer;
	font-size: var(--mh-fs-small);
	font-weight: 800;
	list-style: none;
	margin-top: 18px;
}

.momhop-about2__more > summary::-webkit-details-marker { display: none; }
.momhop-about2__more > summary::after { content: " ↓"; }
.momhop-about2__more[open] > summary { display: none; }

/* How MomHop helps: three numbered points. */
.momhop-about2__steps {
	display: grid;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.momhop-about2__steps li {
	align-items: center;
	background: var(--mh-surface);
	border: 1px solid var(--mh-line-soft);
	border-radius: var(--mh-r);
	display: grid;
	gap: 12px;
	grid-template-columns: 48px minmax(0, 1fr);
	padding: 12px 14px;
}

.momhop-about2__steps b {
	color: var(--mh-coral);
	font-family: var(--mh-display-font);
	font-size: 30px;
	font-weight: 400;
	line-height: 1;
}

.momhop-about2__steps span { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); line-height: 1.4; }
.momhop-about2__steps strong { color: var(--mh-ink); display: block; font-size: var(--mh-fs-body); }

/* What you'll find: cards side by side. */
.momhop-about2__finds {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.momhop-about2__find {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line-soft);
	border-radius: var(--mh-r);
	color: var(--mh-ink);
	display: grid;
	gap: 4px;
	padding: 14px;
	text-decoration: none;
}

.momhop-about2__find { align-content: start; }
.momhop-about2__find-icon { color: var(--mh-coral); display: inline-flex; height: 24px; }
.momhop-about2__find-icon svg { height: 22px; stroke-width: 1.75; width: 22px; }
.momhop-about2__find b { font-family: var(--mh-display-font); font-size: var(--mh-fs-h3); font-weight: 400; line-height: 1.2; }
.momhop-about2__find > span:last-child { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); line-height: 1.4; }

@media (hover: hover) {
	.momhop-about2__find:hover,
	.momhop-about2__find:focus-visible {
		border-color: var(--mh-coral);
	}
}

.momhop-about2__later { background: var(--mh-coral-tint); border-radius: var(--mh-r); color: var(--mh-ink); font-size: var(--mh-fs-small); margin: 10px 0 0; padding: 11px 14px; }
.momhop-about2__later a { color: var(--mh-coral-deep); font-weight: 700; }

/* MomHop Plus page /plus/, three looks (owner 2026-10-20; mockup docs/design/plus_page_mockup.html).
   Palette tokens only, so it follows Manage, Appearance. */
.momhop-plus { display: grid; gap: 30px; grid-template-columns: minmax(0, 1fr); padding: 4px 0 12px; }
.momhop-plus > *, .momhop-plus__hero > *, .momhop-plus__peek > * { min-width: 0; }
.momhop-plus .screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; white-space: nowrap; }
.momhop-plus__eyebrow { color: var(--mh-coral-deep); font-size: var(--mh-fs-micro); font-weight: 800; letter-spacing: .12em; margin: 0; text-transform: uppercase; }
.momhop-plus__h2 { font-family: var(--mh-display-font); font-size: var(--mh-fs-h2); font-weight: 700; line-height: 1.15; margin: 0; text-wrap: balance; }
.momhop-plus__btn { align-items: center; background: var(--mh-coral-deep); border: 0; border-radius: var(--mh-r-pill); box-shadow: 0 12px 22px -14px var(--mh-coral-deep); color: var(--mh-surface); cursor: pointer; display: inline-flex; font-family: var(--mh-ui-font); font-size: var(--mh-fs-body); font-weight: 800; justify-content: center; padding: 14px 22px; text-decoration: none; transition: transform .15s ease; white-space: nowrap; }
.momhop-plus__btn:hover, .momhop-plus__btn:focus-visible { transform: translateY(-1px); }
.momhop-plus__btn--small { font-size: var(--mh-fs-small); justify-self: start; padding: 11px 18px; }
.momhop-plus__btn--wide { justify-self: stretch; }
.momhop-plus__btn--outline { background: var(--mh-surface); border: 2px solid var(--mh-coral-deep); box-shadow: none; color: var(--mh-coral-deep); }

/* Hero, light (A) */
.momhop-plus__hero { border-radius: var(--mh-r-xl); display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr); overflow: hidden; padding: 24px 18px 26px; position: relative; scroll-margin-top: 80px; }
.momhop-plus__hero > * { position: relative; }
.momhop-plus__hero--light { background:
	radial-gradient(circle at 88% 10%, color-mix(in srgb, var(--mh-sun) 55%, transparent) 0 64px, transparent 65px),
	radial-gradient(circle at 6% 92%, color-mix(in srgb, var(--mh-plum) 28%, transparent) 0 76px, transparent 77px),
	linear-gradient(160deg, var(--mh-coral-soft) 0%, var(--mh-sun-soft) 75%); }
.momhop-plus__kicker { align-items: center; background: var(--mh-surface); border-radius: var(--mh-r-pill); box-shadow: 0 6px 14px -10px var(--mh-ink); color: var(--mh-ink); display: inline-flex; font-size: var(--mh-fs-micro); font-weight: 800; gap: 8px; justify-self: start; letter-spacing: .08em; margin: 0; padding: 7px 12px; text-transform: uppercase; }
.momhop-plus__dot { animation: momhop-plus-pulse 2s ease-out infinite; background: var(--mh-coral); border-radius: 50%; height: 8px; width: 8px; }
@keyframes momhop-plus-pulse { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--mh-coral) 60%, transparent); } 70% { box-shadow: 0 0 0 9px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }
.momhop-plus__title { font-family: var(--mh-display-font); font-size: clamp(34px, 9vw, 48px); font-weight: 800; letter-spacing: -.01em; line-height: 1.04; margin: 0; text-wrap: balance; }
.momhop-plus .momhop-plus__hero--light .momhop-plus__title { color: var(--mh-ink); }
.momhop-plus__title em { background: linear-gradient(transparent 62%, color-mix(in srgb, var(--mh-sun) 60%, transparent) 62%); color: var(--mh-coral-deep); font-style: normal; }
.momhop-plus__lead { font-size: var(--mh-fs-lead); font-weight: 600; line-height: 1.45; margin: 0; }

/* Email in a pill, button inside */
.momhop-plus__form { display: grid; }
.momhop-plus__form > .momhop-plus__btn { justify-self: start; }
.momhop-plus__field { background: var(--mh-surface); border-radius: var(--mh-r-pill); box-shadow: 0 12px 26px -16px var(--mh-ink); display: flex; gap: 6px; padding: 5px; }
.momhop-plus__field { box-sizing: border-box; max-width: 100%; }
.momhop-plus .momhop-plus__field input { background: transparent; border: 0; box-shadow: none; color: var(--mh-ink); flex: 1 1 0; font: 500 var(--mh-fs-body) var(--mh-ui-font); height: auto; margin: 0; min-width: 0; outline: 0; padding: 0 12px; width: 0; }
.momhop-plus__field .momhop-plus__btn { padding: 12px 16px; }
.momhop-plus__proof { align-items: center; display: flex; font-size: var(--mh-fs-small); font-weight: 700; gap: 10px; margin: 0; }
.momhop-plus__proof.is-dark { color: color-mix(in srgb, var(--mh-surface) 85%, transparent); }
.momhop-plus__proof--quiet { color: var(--mh-ink-soft); font-weight: 700; }
.momhop-plus__hero--dark .momhop-plus__proof--quiet { color: color-mix(in srgb, var(--mh-surface) 75%, transparent); }
.momhop-plus__faces { display: inline-flex; }
.momhop-plus__faces i { border: 2px solid var(--mh-surface); border-radius: 50%; height: 26px; margin-left: -8px; width: 26px; }
.momhop-plus__faces i:first-child { background: var(--mh-coral); margin-left: 0; }
.momhop-plus__faces i:nth-child(2) { background: var(--mh-sage); }
.momhop-plus__faces i:nth-child(3) { background: var(--mh-plum); }
.momhop-plus__faces i:nth-child(4) { background: var(--mh-sun); }
.momhop-plus__note { background: var(--mh-surface); border-radius: var(--mh-r-sm); color: var(--mh-ink); font-size: var(--mh-fs-body); margin: 0; padding: 12px 14px; }
.momhop-plus__note.is-done { background: var(--mh-sage-tint); color: var(--mh-sage); font-weight: 700; }

/* Hero, dark (B and C) */
.momhop-plus__hero--dark { background:
	radial-gradient(circle at 18% 16%, color-mix(in srgb, var(--mh-coral) 60%, transparent), transparent 46%),
	radial-gradient(circle at 92% 70%, color-mix(in srgb, var(--mh-sun) 50%, transparent), transparent 46%),
	radial-gradient(circle at 50% 112%, color-mix(in srgb, var(--mh-sky) 45%, transparent), transparent 52%),
	var(--mh-ink);
	color: var(--mh-surface); }
.momhop-plus__dots { background-image: radial-gradient(color-mix(in srgb, var(--mh-surface) 20%, transparent) 1.5px, transparent 1.5px); background-size: 18px 18px; inset: 0; mask-image: linear-gradient(180deg, var(--mh-ink), transparent 70%); position: absolute !important; }
.momhop-plus__hero--dark .momhop-plus__kicker { background: color-mix(in srgb, var(--mh-surface) 14%, transparent); border: 1px solid color-mix(in srgb, var(--mh-surface) 30%, transparent); box-shadow: none; color: var(--mh-surface); }
.momhop-plus__hero--dark .momhop-plus__dot { background: var(--mh-sun); }
.momhop-plus .momhop-plus__hero--dark .momhop-plus__title { color: var(--mh-surface); }
.momhop-plus__hero--dark .momhop-plus__title em { background: none; color: var(--mh-sun); }
.momhop-plus__stickers { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.momhop-plus__stickers span { border-radius: var(--mh-r-pill); box-shadow: 0 8px 14px -10px var(--mh-ink); color: var(--mh-ink); font-size: var(--mh-fs-small); font-weight: 800; padding: 7px 12px; }
.momhop-plus__stickers span:nth-child(1) { background: var(--mh-sun); transform: rotate(-3deg); }
.momhop-plus__stickers span:nth-child(2) { background: var(--mh-surface); transform: rotate(2deg); }
.momhop-plus__stickers span:nth-child(3) { background: var(--mh-sage-soft); transform: rotate(-1deg); }
.momhop-plus__stickers span:nth-child(4) { background: var(--mh-coral-soft); transform: rotate(3deg); }
.momhop-plus__invite { align-items: start; background: var(--mh-surface); border-radius: var(--mh-r-lg); box-shadow: 0 20px 34px -20px var(--mh-ink); color: var(--mh-ink); display: grid; gap: 12px; grid-template-columns: 62px 1fr; margin: 0; padding: 14px; }
.momhop-plus__invite-photo { border: 3px solid var(--mh-sun); border-radius: 50%; height: 62px; object-fit: cover; width: 62px; }
.momhop-plus__invite blockquote { margin: 0; }
.momhop-plus__invite p { font-family: var(--mh-display-font); font-size: var(--mh-fs-lead); font-style: italic; line-height: 1.35; margin: 0; }
.momhop-plus__invite figcaption { color: var(--mh-coral-deep); font-size: var(--mh-fs-small); font-weight: 800; margin-top: 6px; }

/* Sneak peeks (A and C) */
.momhop-plus__peek { display: grid; gap: 12px; }
.momhop-plus__peek-head { align-items: baseline; display: flex; justify-content: space-between; }
.momhop-plus__peek-head small { color: var(--mh-ink-soft); font-size: var(--mh-fs-micro); font-weight: 700; }
.momhop-plus__coupons { display: flex; gap: 12px; overflow-x: auto; padding: 4px 2px 12px; scroll-snap-type: x mandatory; scrollbar-width: none; }
.momhop-plus__coupon { background: var(--mh-surface); border-radius: var(--mh-r); box-shadow: 0 12px 22px -16px var(--mh-ink); flex: 0 0 196px; overflow: hidden; scroll-snap-align: start; }
.momhop-plus__coupon-top { color: var(--mh-surface); padding: 14px 14px 12px; }
.momhop-plus__coupon-top b { display: block; font-family: var(--mh-display-font); font-size: 28px; line-height: 1; }
.momhop-plus__coupon-top span { font-size: var(--mh-fs-small); font-weight: 700; }
.momhop-plus__coupon--coral .momhop-plus__coupon-top { background: linear-gradient(135deg, var(--mh-coral), var(--mh-sun)); }
.momhop-plus__coupon--sage .momhop-plus__coupon-top { background: linear-gradient(135deg, var(--mh-sage), color-mix(in srgb, var(--mh-sage) 60%, var(--mh-surface))); }
.momhop-plus__coupon--plum .momhop-plus__coupon-top { background: linear-gradient(135deg, var(--mh-plum), var(--mh-sky)); }
.momhop-plus__coupon-bot { border-top: 2px dashed var(--mh-line); color: var(--mh-ink-soft); font-size: var(--mh-fs-small); font-weight: 600; padding: 10px 14px 12px; position: relative; }
.momhop-plus__coupon-bot::before, .momhop-plus__coupon-bot::after { background: var(--mh-cream); border-radius: 50%; content: ""; height: 16px; position: absolute; top: -9px; width: 16px; }
.momhop-plus__coupon-bot::before { left: -8px; }
.momhop-plus__coupon-bot::after { right: -8px; }
.momhop-plus__plan { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r-lg); box-shadow: 0 18px 30px -22px var(--mh-ink); display: grid; gap: 8px; padding: 14px; }
.momhop-plus__plan-head { align-items: center; display: flex; gap: 10px; }
.momhop-plus__plan-head i { align-items: center; background: var(--mh-sage); border-radius: var(--mh-r-sm); color: var(--mh-surface); display: inline-flex; flex: 0 0 36px; font-size: var(--mh-fs-small); font-style: normal; font-weight: 800; height: 36px; justify-content: center; }
.momhop-plus__plan-head small, .momhop-plus__plan-row small { color: var(--mh-ink-soft); display: block; font-size: var(--mh-fs-micro); }
.momhop-plus__plan-row { align-items: center; background: var(--mh-cream); border-radius: var(--mh-r-sm); display: grid; gap: 10px; grid-template-columns: 64px 1fr; padding: 9px 10px; }
.momhop-plus__plan-row > span { color: var(--mh-coral-deep); font-size: var(--mh-fs-micro); font-weight: 800; }
.momhop-plus__plan-row b { font-size: var(--mh-fs-small); }
.momhop-plus__toast { align-items: center; animation: momhop-plus-float 4s ease-in-out infinite; background: var(--mh-ink); border-radius: var(--mh-r); box-shadow: 0 18px 30px -18px var(--mh-ink); color: var(--mh-surface); display: flex; font-size: var(--mh-fs-small); gap: 10px; padding: 12px 14px; }
.momhop-plus__toast i { align-items: center; background: var(--mh-sun); border-radius: 50%; color: var(--mh-ink); display: inline-flex; flex: 0 0 30px; height: 30px; justify-content: center; }
@keyframes momhop-plus-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }

/* The offer: a seal and the spots meter */
.momhop-plus__offer { align-items: center; background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r-lg); display: grid; gap: 14px; grid-template-columns: 86px 1fr; padding: 16px; }
.momhop-plus__offer p { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); line-height: 1.45; margin: 6px 0 0; }
.momhop-plus__seal { align-items: center; background: conic-gradient(var(--mh-coral), var(--mh-sun), var(--mh-coral)); border-radius: 50%; display: grid; height: 86px; justify-items: center; position: relative; width: 86px; }
.momhop-plus__seal::after { background: var(--mh-cream); border: 2px dashed var(--mh-coral-deep); border-radius: 50%; content: ""; inset: 6px; position: absolute; }
.momhop-plus__seal span { color: var(--mh-coral-deep); font-family: var(--mh-display-font); font-size: 12px; font-weight: 800; line-height: 1.05; position: relative; text-align: center; text-transform: uppercase; z-index: 1; }
.momhop-plus__meter { background: var(--mh-line); border-radius: var(--mh-r-pill); grid-column: 1 / -1; height: 10px; overflow: hidden; }
.momhop-plus__meter i { background: linear-gradient(90deg, var(--mh-coral), var(--mh-sun)); border-radius: var(--mh-r-pill); display: block; height: 100%; }
.momhop-plus__meter-label { color: var(--mh-ink-soft); display: flex; font-size: var(--mh-fs-small); font-weight: 700; grid-column: 1 / -1; justify-content: space-between; margin: -6px 0 0 !important; }

/* Big colour cards (B) */
.momhop-plus__cards { display: flex; gap: 12px; overflow-x: auto; padding: 4px 2px 12px; scroll-snap-type: x mandatory; scrollbar-width: none; }
.momhop-plus__bigcard { --plus-tone: var(--mh-coral); border-radius: var(--mh-r-lg); color: var(--mh-surface); display: grid; flex: 0 0 230px; gap: 8px; min-height: 200px; overflow: hidden; padding: 18px; position: relative; scroll-snap-align: start; background: linear-gradient(150deg, color-mix(in srgb, var(--plus-tone) 75%, var(--mh-ink)), var(--plus-tone)); align-content: start; }
.momhop-plus__bigcard::after { background: color-mix(in srgb, var(--mh-surface) 14%, transparent); border-radius: 50%; bottom: -34px; content: ""; height: 120px; position: absolute; right: -34px; width: 120px; }
.momhop-plus__bigcard--sage { --plus-tone: var(--mh-sage); }
.momhop-plus__bigcard--sun { --plus-tone: var(--mh-sun); }
.momhop-plus__bigcard--sky { --plus-tone: var(--mh-sky); }
.momhop-plus__bigcard-icon { align-items: center; background: color-mix(in srgb, var(--mh-surface) 22%, transparent); border-radius: var(--mh-r); display: inline-flex; height: 48px; justify-content: center; width: 48px; }
.momhop-plus__bigcard b { font-family: var(--mh-display-font); font-size: 22px; line-height: 1.1; }
.momhop-plus__bigcard > span:last-child { font-size: var(--mh-fs-small); line-height: 1.45; opacity: .95; }

/* Founding member ticket (B) */
.momhop-plus__ticket { background: var(--mh-surface); border-radius: var(--mh-r-lg); box-shadow: 0 18px 30px -22px var(--mh-ink); display: grid; grid-template-columns: 1fr 96px; overflow: hidden; }
.momhop-plus__ticket-l { display: grid; gap: 8px; padding: 16px; }
.momhop-plus__ticket-l p { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); line-height: 1.45; margin: 0; }
.momhop-plus__ticket-r { align-items: center; background: linear-gradient(180deg, var(--mh-coral), var(--mh-sun)); border-left: 3px dashed var(--mh-cream); color: var(--mh-surface); display: grid; justify-items: center; text-align: center; }
.momhop-plus__ticket-r big { display: block; font-family: var(--mh-display-font); font-size: 32px; font-weight: 800; line-height: 1; }
.momhop-plus__ticket-r small { font-size: var(--mh-fs-micro); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

/* Questions */
.momhop-plus__faq { display: grid; gap: 8px; }
.momhop-plus__faq details { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r); padding: 12px 14px; }
.momhop-plus__faq summary { cursor: pointer; font-weight: 800; }
.momhop-plus__faq details p { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); line-height: 1.45; margin: 8px 0 0; }
.momhop-plus__fine { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); margin: 0; text-align: center; }

/* You're in */
.momhop-plus__done { background: linear-gradient(180deg, var(--mh-sun-soft), var(--mh-cream) 70%); border-radius: var(--mh-r-xl); display: grid; gap: 10px; justify-items: center; overflow: hidden; padding: 26px 18px 24px; position: relative; text-align: center; }
.momhop-plus__done p { color: var(--mh-ink-soft); margin: 0; max-width: 32ch; }
.momhop-plus__number { color: var(--mh-coral-deep) !important; font-family: var(--mh-display-font); font-size: 64px; font-weight: 800; line-height: 1; }
.momhop-plus__share-q { color: var(--mh-ink) !important; font-weight: 800; margin-top: 6px !important; }
.momhop-plus__share { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.momhop-plus__share a, .momhop-plus__share button { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r-pill); color: var(--mh-ink); cursor: pointer; font: 800 var(--mh-fs-small) var(--mh-ui-font); padding: 10px 14px; text-decoration: none; }
.momhop-plus__confetti i { animation: momhop-plus-fall 3.6s linear infinite; border-radius: 2px; height: 14px; position: absolute; top: -20px; width: 8px; }
.momhop-plus__confetti i:nth-child(1) { animation-delay: 0s; background: var(--mh-coral); left: 8%; }
.momhop-plus__confetti i:nth-child(2) { animation-delay: .5s; background: var(--mh-sun); left: 22%; }
.momhop-plus__confetti i:nth-child(3) { animation-delay: 1.1s; background: var(--mh-sage); left: 36%; }
.momhop-plus__confetti i:nth-child(4) { animation-delay: .2s; background: var(--mh-sky); left: 50%; }
.momhop-plus__confetti i:nth-child(5) { animation-delay: .8s; background: var(--mh-plum); left: 64%; }
.momhop-plus__confetti i:nth-child(6) { animation-delay: 1.4s; background: var(--mh-coral); left: 78%; }
.momhop-plus__confetti i:nth-child(7) { animation-delay: .3s; background: var(--mh-sun); left: 90%; }
.momhop-plus__confetti i:nth-child(8) { animation-delay: 1.7s; background: var(--mh-sage); left: 15%; }
@keyframes momhop-plus-fall { 0% { transform: translateY(0) rotate(0); } 100% { transform: translateY(420px) rotate(540deg); } }

/* Free account */
.momhop-plus-free { display: grid; gap: 14px; justify-items: start; }
.momhop-plus-free__list { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
.momhop-plus-free__list li { align-items: center; display: flex; gap: 10px; }
.momhop-plus-free__icon { align-items: center; background: var(--mh-sage-tint); border-radius: 50%; color: var(--mh-sage); display: inline-flex; flex: 0 0 30px; height: 30px; justify-content: center; }

/* The banner for free members */
.momhop-plus-banner { align-items: center; background: linear-gradient(90deg, var(--mh-coral-soft), var(--mh-sun-soft)); border: 1px solid color-mix(in srgb, var(--mh-coral) 30%, var(--mh-line)); border-radius: var(--mh-r); display: flex; gap: 10px; margin: 0 0 12px; padding: 10px 12px; }
.momhop-plus-banner__icon { align-items: center; background: var(--mh-coral-deep); border-radius: 50%; color: var(--mh-surface); display: inline-flex; flex: 0 0 28px; height: 28px; justify-content: center; }
.momhop-plus-banner__text { color: var(--mh-ink); flex: 1; font-size: var(--mh-fs-small); line-height: 1.35; min-width: 0; text-decoration: none; }
.momhop-plus-banner__text u { color: var(--mh-coral-deep); font-weight: 800; text-decoration: none; white-space: nowrap; }
.momhop-plus-banner__close { background: none; border: 0; color: var(--mh-ink-soft); cursor: pointer; font-size: 20px; line-height: 1; padding: 4px 6px; }

@container momhop-plus (min-width: 540px) {
	.momhop-plus__hero { padding: 34px 30px; }
	.momhop-plus__coupons, .momhop-plus__cards { overflow: visible; }
	.momhop-plus__coupon, .momhop-plus__bigcard { flex: 1 1 0; }
	.momhop-plus__cards { display: grid; grid-template-columns: 1fr 1fr; }
	.momhop-plus-free__list { grid-template-columns: 1fr 1fr; }
}
.momhop-plus { container: momhop-plus / inline-size; }
@media (prefers-reduced-motion: reduce) {
	.momhop-plus__dot, .momhop-plus__toast, .momhop-plus__confetti i { animation: none; }
	.momhop-plus__confetti { display: none; }
	.momhop-plus__btn { transition: none; }
}

.momhop-plus-free--signup { background: var(--mh-sage-tint); border-radius: var(--mh-r); display: grid; gap: 10px; margin: 0 0 16px; padding: 14px 16px; }
.momhop-plus-free--signup h3 { font-size: var(--mh-fs-body); margin: 0; }
.momhop-about2__end {
	display: grid;
	gap: 14px;
	justify-items: center;
}

.momhop-about2__join {
	background: var(--mh-coral-deep);
	border-radius: var(--mh-r-pill);
	color: var(--mh-surface);
	font-size: var(--mh-fs-body);
	font-weight: 700;
	padding: 12px 22px;
	text-align: center;
	text-decoration: none;
	width: 100%;
}

.momhop-about2__links {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	justify-content: center;
	margin: 0;
}

.momhop-about2__links a {
	align-items: center;
	color: var(--mh-ink-soft);
	display: inline-flex;
	font-size: var(--mh-fs-small);
	font-weight: 700;
	gap: 6px;
	text-decoration: none;
}

.momhop-about2__links a:hover,
.momhop-about2__links a:focus-visible {
	color: var(--mh-coral-deep);
}

@media (min-width: 760px) {
	.momhop-about2__notes { margin-inline: auto; max-width: 560px; }

	.momhop-about2__join {
		width: auto;
	}
}

/* Styling pass 1 (owner 2026-10-17 review, docs/design/STAGING_STYLE_REVIEW_2026-10-17.md). */

/* C: the event's name on its page; Outing and Event names share one look. */
html body.momhop-app-route .momhop-page .momhop-content-region .momhop-outing-glance__title,
html body.momhop-app-route .momhop-page .momhop-content-region .momhop-ev__title {
	color: var(--mh-ink);
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-h2);
	font-weight: var(--mh-fw-display);
	line-height: 1.2;
	text-wrap: balance;
}

html body.momhop-app-route .momhop-page .momhop-content-region .momhop-ev__title {
	margin: 2px 0 4px;
}

.momhop-ev__head .momhop-ev__when {
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-body);
	font-weight: 700;
}

/* Home: each list in one card, like the side column's cards. */
.momhop-homefresh__box {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r);
	box-shadow: var(--mh-sh-card);
	padding: 2px 14px;
}

.momhop-homefresh__box .momhop-homefresh__event,
.momhop-homefresh__box .momhop-homefresh__guide {
	padding: 12px 0;
}

.momhop-homefresh__box .momhop-homefresh__event:first-of-type,
.momhop-homefresh__box .momhop-homefresh__guide:first-child {
	padding-top: 12px;
}

/* Styling pass 2 (owner 2026-10-17 review). */

/* F: one tag size everywhere: kind of place, facts, event kinds, sign-up, place tags. */
body.momhop-app-route .momhop-page :is(.momhop-kpill, .momhop-tag, .momhop-vchip, .momhop-event-chip, .momhop-event-reg, .momhop-pcard__chips .c, .momhop-card__tag) {
	border-radius: var(--mh-r-pill);
	font-size: var(--mh-fs-small);
	font-weight: 700;
	line-height: 1.3;
	min-height: 26px;
	padding: 4px 10px;
}

body.momhop-app-route .momhop-page :is(.momhop-event-chip, .momhop-event-reg) {
	align-items: center;
	display: inline-flex;
}

/* G: Help me choose answers carry line icons, like Home and the menus. */
.momhop-help .momhop-help-card__icon {
	color: var(--mh-coral-deep);
}

.momhop-help .momhop-help-card__icon svg {
	stroke-width: 1.75;
}

.momhop-help .momhop-help-card__icon:empty {
	display: none;
}

.momhop-help .momhop-help-card:has(.momhop-help-card__icon:empty) {
	grid-template-columns: 1fr;
}

/* Privacy and Terms in the app look (2026-10-17 review): the WordPress page's own text, set like an article. */
.momhop-textpage {
	display: grid;
	gap: 10px;
	padding: 4px 0 16px;
}

.momhop-textpage__updated {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-small);
	margin: 0 0 6px;
}

.momhop-prose {
	color: var(--mh-ink);
	font-size: var(--mh-fs-body);
	line-height: 1.65;
	max-width: 62ch;
}

.momhop-prose h2,
.momhop-prose h3 {
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-h3);
	font-weight: var(--mh-fw-display);
	line-height: 1.25;
	margin: 22px 0 6px;
}

.momhop-prose h3 {
	font-size: var(--mh-fs-lead);
}

.momhop-prose p,
.momhop-prose ul,
.momhop-prose ol {
	margin: 0 0 12px;
}

.momhop-prose ul,
.momhop-prose ol {
	padding-left: 20px;
}

.momhop-prose li {
	margin: 4px 0;
}

.momhop-prose a {
	color: var(--mh-coral-deep);
	font-weight: 700;
}

/* Home's right column holds the weekend's events; on the rare moment the list is being rebuilt, it shows
   Neya's note and the week's Pick instead of standing empty (owner 2026-10-18). */
@media (min-width: 1024px) {
	.momhop-desktop-shell:has(.momhop-home--fresh) .momhop-shell-right:not(:has(.momhop-shell-side--events)) .momhop-shell-side--pick,
	.momhop-desktop-shell:has(.momhop-home--fresh) .momhop-shell-right:not(:has(.momhop-shell-side--events)) .momhop-shell-card--note {
		display: grid;
	}
}

/* Media kit for businesses (2026-10-18). */
.momhop-mediakit {
	display: grid;
	gap: 26px;
	padding: 4px 0 12px;
}

.momhop-mediakit__draft {
	background: var(--mh-sun-soft);
	border-radius: var(--mh-r-sm);
	font-size: var(--mh-fs-small);
	margin: 0;
	padding: 10px 14px;
}

.momhop-mediakit__hero {
	display: grid;
	gap: 18px;
}

.momhop-mediakit__intro {
	display: grid;
	gap: 10px;
}

.momhop-mediakit__lead {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-lead);
	line-height: 1.55;
	margin: 0;
	max-width: 58ch;
}

.momhop-mediakit__figure {
	margin: 0;
	position: relative;
}

.momhop-mediakit__photo {
	aspect-ratio: 4 / 3;
	border-radius: var(--mh-r);
	display: block;
	height: auto;
	max-width: 100%;
	object-fit: cover;
	object-position: 50% 25%;
	width: 100%;
}

.momhop-mediakit__figure figcaption {
	background: color-mix(in srgb, var(--mh-surface) 92%, transparent);
	border-radius: var(--mh-r-pill);
	bottom: 10px;
	font-size: var(--mh-fs-small);
	left: 10px;
	padding: 5px 12px;
	position: absolute;
}

.momhop-mediakit__stats {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.momhop-mediakit__stat {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r);
	box-shadow: var(--mh-sh-card);
	display: grid;
	gap: 2px;
	padding: 14px;
}

.momhop-mediakit__stat b {
	color: var(--mh-coral-deep);
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-h1);
	font-variant-numeric: tabular-nums;
	font-weight: var(--mh-fw-display);
	line-height: 1.1;
}

.momhop-mediakit__stat span {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-small);
	line-height: 1.35;
}

.momhop-mediakit__asof {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-micro);
	margin: -16px 0 0;
}

.momhop-mediakit__panel {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r);
	box-shadow: var(--mh-sh-card);
	padding: 16px;
}

.momhop-mediakit__who {
	display: grid;
	gap: 18px;
}

.momhop-mediakit__stats.momhop-mediakit__stats--pair {
	grid-template-columns: 1fr 1fr;
}

.momhop-mediakit__sub {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-micro);
	font-weight: 800;
	letter-spacing: .08em;
	margin: 0 0 6px;
	text-transform: uppercase;
}

.momhop-mediakit__list,
.momhop-mediakit__bars {
	display: grid;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.momhop-mediakit__list li {
	display: flex;
	font-size: var(--mh-fs-body);
	justify-content: space-between;
}

.momhop-mediakit__list b,
.momhop-mediakit__bars b {
	font-variant-numeric: tabular-nums;
}

.momhop-mediakit__bars li {
	align-items: center;
	display: grid;
	font-size: var(--mh-fs-small);
	gap: 8px;
	grid-template-columns: 48px minmax(0, 1fr) 40px;
}

.momhop-mediakit__bars i {
	background: linear-gradient(90deg, var(--mh-coral) var(--w), var(--mh-line-soft) var(--w));
	border-radius: var(--mh-r-pill);
	display: block;
	height: 8px;
}

.momhop-mediakit__reels {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.momhop-mediakit__reel {
	border-radius: var(--mh-r-sm);
	color: var(--mh-surface);
	display: block;
	overflow: hidden;
	position: relative;
}

.momhop-mediakit__reel img {
	aspect-ratio: 9 / 16;
	display: block;
	max-width: 100%;
	object-fit: cover;
	width: 100%;
}

.momhop-mediakit__reel span {
	background: color-mix(in srgb, var(--mh-ink) 72%, transparent);
	border-radius: var(--mh-r-pill);
	bottom: 8px;
	font-size: var(--mh-fs-micro);
	font-weight: 700;
	left: 8px;
	padding: 2px 8px;
	position: absolute;
}

.momhop-mediakit__plans {
	display: grid;
	gap: 10px;
	margin-bottom: 12px;
}

.momhop-mediakit__plan {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r);
	box-shadow: var(--mh-sh-card);
	padding: 16px;
}

.momhop-mediakit__plan.is-featured {
	border-color: color-mix(in srgb, var(--mh-coral) 50%, var(--mh-line));
}

.momhop-mediakit__plan-name {
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-h3);
	font-weight: var(--mh-fw-display);
	margin: 0;
}

.momhop-mediakit__plan-price {
	color: var(--mh-coral-deep);
	font-size: var(--mh-fs-lead);
	font-weight: 800;
	margin: 2px 0 8px;
}

.momhop-mediakit__plan ul {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-small);
	line-height: 1.5;
	margin: 0;
	padding-left: 18px;
}

.momhop-mediakit__campaigns p {
	border-top: 1px solid var(--mh-line-soft);
	display: flex;
	font-size: var(--mh-fs-body);
	gap: 10px;
	justify-content: space-between;
	margin: 0;
	padding: 11px 0;
}

.momhop-mediakit__campaigns p:first-child {
	border-top: 0;
}

.momhop-mediakit__campaigns b {
	color: var(--mh-coral-deep);
	flex: none;
}

.momhop-mediakit__cta {
	display: grid;
	gap: 12px;
	justify-items: center;
}

@media (min-width: 760px) {
	.momhop-mediakit__hero {
		align-items: center;
		grid-template-columns: minmax(0, 1fr) 240px;
	}

	.momhop-mediakit__stats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.momhop-mediakit__who {
		grid-template-columns: 1fr 1fr;
	}

	.momhop-mediakit__plans {
		grid-template-columns: 1fr 1fr;
	}

	.momhop-mediakit__cta .momhop-about2__join {
		width: auto;
	}
}

/* Media kit, round 2: what businesses want to see (2026-10-18). */
.momhop-mediakit__stat em {
	color: var(--mh-sage);
	font-size: var(--mh-fs-micro);
	font-style: normal;
	font-weight: 700;
	margin-top: 2px;
}

.momhop-mediakit__stats--small .momhop-mediakit__stat b {
	font-size: var(--mh-fs-h2);
}

.momhop-mediakit__text {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-body);
	line-height: 1.55;
	margin: 0 0 12px;
	max-width: 62ch;
}

.momhop-mediakit__callout {
	align-items: center;
	background: linear-gradient(135deg, var(--mh-coral-soft), color-mix(in srgb, var(--mh-sun-soft) 70%, var(--mh-surface)));
	border-radius: var(--mh-r);
	display: grid;
	gap: 6px 18px;
	padding: 18px;
}

.momhop-mediakit__callout .momhop-mediakit__text {
	color: var(--mh-ink);
	margin: 0;
}

.momhop-mediakit__big {
	color: var(--mh-coral-deep);
	font-family: var(--mh-display-font);
	font-size: 56px;
	font-weight: var(--mh-fw-display);
	line-height: 1;
	margin: 0;
}

.momhop-mediakit__facts {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
}

.momhop-mediakit__facts > div {
	background: var(--mh-surface-2);
	border-radius: var(--mh-r-sm);
	display: grid;
	gap: 2px;
	padding: 12px;
}

.momhop-mediakit__facts dt {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-micro);
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.momhop-mediakit__facts dd {
	color: var(--mh-ink);
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-h2);
	font-variant-numeric: tabular-nums;
	font-weight: var(--mh-fw-display);
	margin: 0;
}

.momhop-mediakit__facts small,
.momhop-mediakit__fine {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-micro);
	line-height: 1.4;
}

.momhop-mediakit__fine {
	margin: 12px 0 0;
}

.momhop-mediakit__reel small {
	background: color-mix(in srgb, var(--mh-ink) 72%, transparent);
	border-radius: var(--mh-r-pill);
	bottom: 34px;
	font-size: var(--mh-fs-micro);
	left: 8px;
	padding: 2px 8px;
	position: absolute;
}

.momhop-mediakit__campaigns span small {
	color: var(--mh-ink-soft);
	display: block;
	font-size: var(--mh-fs-small);
}

.momhop-mediakit__chart {
	color: var(--mh-coral);
	margin: 0 0 12px;
}

.momhop-mediakit__chart svg {
	display: block;
	height: 80px;
	width: 100%;
}

.momhop-mediakit__chart figcaption {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-small);
}

@media (min-width: 760px) {
	.momhop-mediakit__callout {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.momhop-mediakit__facts {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.momhop-mediakit__stats--small {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.momhop-mediakit__who {
		align-items: center;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
	}
}


/* MomHop for Business at /partners/ (owner 2026-10-20: kept apart from the family app). Palette tokens only. */
.momhop-biz { background: var(--mh-cream); color: var(--mh-ink); display: grid; font-family: var(--mh-ui-font); grid-template-rows: auto auto 1fr auto; min-height: 100vh; }
.momhop-biz__top { align-items: center; background: var(--mh-ink); color: var(--mh-surface); display: flex; justify-content: space-between; padding: 14px var(--mh-page-gutter, 20px); }
.momhop-biz__brand { color: var(--mh-surface); font-family: var(--mh-display-font); font-size: var(--mh-fs-h2); font-weight: 700; text-decoration: none; }
.momhop-biz__brand b { color: var(--mh-coral); }
.momhop-biz__brand span { color: var(--mh-sun); font-family: var(--mh-ui-font); font-size: var(--mh-fs-small); font-weight: 800; letter-spacing: .08em; margin-left: 6px; text-transform: uppercase; }
.momhop-biz__acct a { color: var(--mh-surface); font-weight: 700; text-decoration: none; }
.momhop-biz__tabs { background: var(--mh-surface); border-bottom: 1px solid var(--mh-line); display: flex; gap: 4px; overflow-x: auto; padding: 0 var(--mh-page-gutter, 20px); scrollbar-width: none; }
.momhop-biz__tabs a { border-bottom: 3px solid transparent; color: var(--mh-ink-soft); font-weight: 700; padding: 12px 10px; text-decoration: none; white-space: nowrap; }
.momhop-biz__tabs a.is-on { border-bottom-color: var(--mh-coral-deep); color: var(--mh-ink); }
.momhop-biz__main { box-sizing: border-box; display: grid; gap: 22px; margin: 0 auto; max-width: 980px; padding: 24px var(--mh-page-gutter, 20px) 40px; width: 100%; align-content: start; }
.momhop-biz__main > * { min-width: 0; }
.momhop-biz__foot { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); padding: 18px var(--mh-page-gutter, 20px); text-align: center; }
.momhop-biz__foot a { color: var(--mh-ink-soft); }
.momhop-biz__h1 { color: var(--mh-ink); font-family: var(--mh-display-font); font-size: clamp(26px, 6vw, 36px); font-weight: 700; line-height: 1.1; margin: 0 0 8px; text-wrap: balance; }
.momhop-biz__h2 { font-family: var(--mh-display-font); font-size: var(--mh-fs-h2); margin: 0 0 12px; }
.momhop-biz__eyebrow { color: var(--mh-coral-deep); font-size: var(--mh-fs-micro); font-weight: 800; letter-spacing: .12em; margin: 0 0 6px; text-transform: uppercase; }
.momhop-biz__lead { font-size: var(--mh-fs-lead); line-height: 1.5; margin: 0; max-width: 60ch; }
.momhop-biz__fine { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); margin: 8px 0 0; }
.momhop-biz__note { background: var(--mh-sun-soft); border-radius: var(--mh-r-sm); margin: 0; padding: 12px 14px; }
.momhop-biz__note.is-good { background: var(--mh-sage-tint); color: var(--mh-sage); font-weight: 700; }
.momhop-biz__hero { background: linear-gradient(150deg, var(--mh-surface), var(--mh-sun-soft)); border: 1px solid var(--mh-line); border-radius: var(--mh-r-xl); display: grid; gap: 12px; padding: 28px 22px; }
.momhop-biz__ctas { align-items: center; display: flex; flex-wrap: wrap; gap: 12px 18px; margin: 6px 0 0; }
.momhop-biz__btn { align-items: center; background: var(--mh-coral-deep); border: 0; border-radius: var(--mh-r-pill); color: var(--mh-surface); cursor: pointer; display: inline-flex; font: 800 var(--mh-fs-body) var(--mh-ui-font); justify-content: center; padding: 13px 22px; text-decoration: none; }
.momhop-biz__btn--small { font-size: var(--mh-fs-small); padding: 9px 16px; }
.momhop-biz__link { background: none; border: 0; color: var(--mh-coral-deep); cursor: pointer; font: 800 var(--mh-fs-body) var(--mh-ui-font); padding: 0; text-decoration: underline; }
.momhop-biz__steps { display: grid; gap: 10px; }
.momhop-biz__steps div { align-items: center; background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r); display: flex; gap: 12px; padding: 12px 14px; }
.momhop-biz__steps b { align-items: center; background: var(--mh-ink); border-radius: 50%; color: var(--mh-surface); display: inline-flex; flex: 0 0 30px; height: 30px; justify-content: center; }
.momhop-biz__grid { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.momhop-biz__product { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r-lg); display: grid; gap: 6px; padding: 16px; align-content: start; }
.momhop-biz__product > span:not(.momhop-biz__kind) { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); line-height: 1.45; }
.momhop-biz__product--promo { background: linear-gradient(150deg, var(--mh-coral-soft), var(--mh-surface)); }
.momhop-biz__kind { color: var(--mh-sage); font-size: var(--mh-fs-micro); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.momhop-biz__price { color: var(--mh-coral-deep); font-size: var(--mh-fs-lead); }
.momhop-biz__state { color: var(--mh-sage); font-size: var(--mh-fs-small); font-style: normal; font-weight: 700; }
.momhop-biz__card { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r-lg); padding: 22px; }
.momhop-biz__card--narrow { justify-self: center; max-width: 440px; width: 100%; box-sizing: border-box; }
.momhop-biz__form { display: grid; gap: 12px; margin-top: 12px; }
.momhop-biz__form label { display: grid; font-size: var(--mh-fs-small); font-weight: 700; gap: 6px; }
.momhop-biz__form input[type="text"], .momhop-biz__form input[type="email"], .momhop-biz__form input[type="password"], .momhop-biz__form input[type="tel"], .momhop-biz__form input[type="url"], .momhop-biz__form textarea { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r-sm); box-sizing: border-box; color: var(--mh-ink); font: 400 var(--mh-fs-body) var(--mh-ui-font); padding: 11px 12px; width: 100%; }
.momhop-biz__row { display: grid; gap: 12px; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
.momhop-biz__picks { border: 0; display: grid; gap: 8px; margin: 4px 0 0; padding: 0; }
.momhop-biz__picks legend { font-size: var(--mh-fs-small); font-weight: 800; margin-bottom: 6px; }
.momhop-biz__pick { align-items: flex-start; background: var(--mh-cream); border: 1px solid var(--mh-line); border-radius: var(--mh-r); display: flex !important; gap: 10px !important; padding: 10px 12px; }
.momhop-biz__pick span { display: grid; gap: 2px; }
.momhop-biz__pick small { color: var(--mh-ink-soft); font-weight: 400; }
.momhop-biz__check { align-items: flex-start; display: flex !important; gap: 8px !important; font-weight: 400 !important; }
.momhop-biz__progress { counter-reset: none; display: grid; gap: 8px; list-style: none; margin: 12px 0; padding: 0; }
.momhop-biz__progress li { align-items: center; color: var(--mh-ink-soft); display: flex; gap: 10px; }
.momhop-biz__progress li::before { border: 2px solid var(--mh-line); border-radius: 50%; content: ""; height: 14px; width: 14px; }
.momhop-biz__progress li.is-done { color: var(--mh-ink); font-weight: 700; }
.momhop-biz__progress li.is-done::before { background: var(--mh-sage); border-color: var(--mh-sage); }
.momhop-biz__tiles { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); }
.momhop-biz__tiles a { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r-lg); color: var(--mh-ink); display: grid; gap: 4px; padding: 16px; text-decoration: none; }
.momhop-biz__tiles span { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); }
.momhop-biz__list { display: grid; gap: 10px; }
.momhop-biz__line { align-items: center; background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r); display: flex; flex-wrap: wrap; gap: 10px 16px; justify-content: space-between; padding: 12px 14px; }
.momhop-biz__line small { color: var(--mh-ink-soft); display: block; font-size: var(--mh-fs-small); }
.momhop-biz__metric { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r); display: grid; gap: 4px; padding: 14px; }
.momhop-biz__metric span { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); }
.momhop-biz__metric b { font-family: var(--mh-display-font); font-size: 28px; }
.momhop-biz__empty { color: var(--mh-ink-soft); }
@media (max-width: 520px) { .momhop-biz__row { grid-template-columns: 1fr; } }

/* MomHop for Business: the business's place and photos (Profile tab, v0.1.195) */
.momhop-biz__search { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.momhop-biz__search input[type="search"] { border: 1px solid var(--mh-line); border-radius: var(--mh-r-pill); flex: 1 1 200px; font: inherit; min-width: 0; padding: 10px 16px; }
.momhop-biz__places { display: grid; gap: 8px; list-style: none; margin: 14px 0 0; padding: 0; }
.momhop-biz__places li { align-items: center; border: 1px solid var(--mh-line); border-radius: var(--mh-r-sm); display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; padding: 10px 12px; }
.momhop-biz__places li > span { display: grid; gap: 2px; min-width: 0; }
.momhop-biz__places small { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); }
.momhop-biz__places em { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); }
.momhop-biz__form--inline { display: inline-block; margin: 0; }
.momhop-biz__add { margin-top: 16px; }
.momhop-biz__add summary { color: var(--mh-coral-deep); cursor: pointer; font-weight: 800; }
.momhop-biz__photos { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 150px), 1fr)); list-style: none; margin: 14px 0 0; padding: 0; }
.momhop-biz__photos li { display: grid; gap: 4px; min-width: 0; }
.momhop-biz__photos img { aspect-ratio: 4 / 3; border-radius: var(--mh-r-sm); height: auto; max-width: 100%; object-fit: cover; width: 100%; }
.momhop-biz__form input[type="file"] { font: inherit; max-width: 100%; }

/* MomHop for Business, Phase 1 (v0.1.196): perks, the Perks page, the partner label, stats */
.momhop-biz__metric small { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); }
.momhop-biz__chart { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r-lg); margin: 0; padding: 16px; }
.momhop-biz__chart figcaption { font-weight: 800; margin-bottom: 10px; }
.momhop-biz__chart ol { align-items: end; display: grid; gap: 6px; grid-template-columns: repeat(8, minmax(0, 1fr)); height: 160px; list-style: none; margin: 0; padding: 0; }
.momhop-biz__chart li { align-items: center; display: grid; gap: 2px; grid-template-rows: 1fr auto auto; height: 100%; min-width: 0; text-align: center; }
.momhop-biz__bar { align-self: end; background: var(--mh-coral); border-radius: 6px 6px 0 0; display: block; min-height: 2px; width: 100%; }
.momhop-biz__chart b { font-size: var(--mh-fs-small); font-variant-numeric: tabular-nums; }
.momhop-biz__chart small { color: var(--mh-ink-soft); font-size: var(--mh-fs-micro); white-space: nowrap; }
.momhop-biz__perks { display: grid; gap: 8px; list-style: none; margin: 14px 0; padding: 0; }
.momhop-biz__perks li { align-items: center; background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r-sm); display: flex; flex-wrap: wrap; gap: 8px 14px; padding: 10px 12px; }
.momhop-biz__perks li > span { display: grid; flex: 1 1 220px; gap: 2px; min-width: 0; }
.momhop-biz__perks small { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); }
.momhop-biz__days, .momhop-biz__pick { border: 0; display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 0; padding: 0; }
.momhop-biz__days legend, .momhop-biz__pick legend { font-size: var(--mh-fs-small); font-weight: 700; margin-bottom: 6px; }
.momhop-biz__days label, .momhop-biz__pick label { align-items: center; display: inline-flex; font-weight: 600; gap: 6px; }
.momhop-biz__pick img { border-radius: var(--mh-r-sm); height: 56px; object-fit: cover; width: 56px; }
.momhop-biz__form select, .momhop-biz__form input[type="date"], .momhop-biz__form input[type="time"], .momhop-biz__form input[type="number"] { border: 1px solid var(--mh-line); border-radius: var(--mh-r-sm); font: inherit; min-width: 0; padding: 10px 12px; }
.momhop-perks { box-sizing: border-box; display: grid; gap: 18px; margin: 0 auto; max-width: 760px; padding: 18px var(--mh-page-gutter, 26px) 40px; }
.momhop-perks__kicker, .momhop-perk__kicker { color: var(--mh-coral-deep); font-size: var(--mh-fs-micro); font-weight: 800; letter-spacing: .08em; margin: 0; text-transform: uppercase; }
.momhop-perks__title { font-family: var(--mh-display-font); font-size: clamp(28px, 7vw, 40px); line-height: 1.1; margin: 4px 0 6px; text-wrap: balance; }
.momhop-perks__lead { color: var(--mh-ink-soft); margin: 0; }
.momhop-perks__empty, .momhop-perks__team { background: var(--mh-sun-soft); border-radius: var(--mh-r-sm); margin: 0; padding: 12px 14px; }
.momhop-perks__list { display: grid; gap: 14px; }
.momhop-perk { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r-lg); display: grid; overflow: hidden; }
.momhop-perk__photo img { aspect-ratio: 16 / 9; display: block; height: auto; max-width: 100%; object-fit: cover; width: 100%; }
.momhop-perk__body { display: grid; gap: 6px; padding: 14px 16px 16px; }
.momhop-perk__title { font-family: var(--mh-display-font); font-size: var(--mh-fs-h2); line-height: 1.2; margin: 0; }
.momhop-perk__place { font-weight: 700; margin: 0; }
.momhop-perk__place a { color: var(--mh-ink); }
.momhop-perk__details { margin: 0; }
.momhop-perk__when, .momhop-perk__fine { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); margin: 0; }
.momhop-perk__how { background: var(--mh-sage-tint); border-radius: var(--mh-r-sm); color: var(--mh-sage); font-weight: 700; margin: 4px 0 0; padding: 8px 12px; }
.momhop-perk__how a { color: var(--mh-sage); }
.momhop-place-partner { display: grid; gap: 10px; margin: 6px 0; }
.momhop-partner-label { background: var(--mh-ink); border-radius: var(--mh-r-pill); color: var(--mh-surface); font-size: var(--mh-fs-micro); font-weight: 800; justify-self: start; letter-spacing: .06em; margin: 0; padding: 5px 12px; text-transform: uppercase; }
.momhop-place-partner__about { border-left: 3px solid var(--mh-coral); margin: 0; padding: 2px 0 2px 12px; }
.momhop-place-partner__about p { margin: 0; }
.momhop-place-partner__about footer { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); margin-top: 4px; }

/* Redeeming a perk at the counter (v0.1.197) */
.momhop-perk__use { align-items: center; display: flex; flex-wrap: wrap; gap: 8px 12px; margin: 4px 0 0; }
.momhop-perk__use span { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); }
.momhop-perk__btn, .momhop-pass__btn { background: var(--mh-coral-deep); border: 0; border-radius: var(--mh-r-pill); color: var(--mh-surface); cursor: pointer; display: inline-block; font: 800 var(--mh-fs-body, 15px) var(--mh-ui-font); padding: 12px 22px; text-decoration: none; }
.momhop-pass { box-sizing: border-box; display: grid; gap: 14px; margin: 0 auto; max-width: 520px; min-height: 70vh; padding: 18px var(--mh-page-gutter, 26px) 40px; }
.momhop-pass__card { background: var(--mh-surface); border: 2px solid var(--mh-ink); border-radius: var(--mh-r-lg); display: grid; gap: 10px; padding: 22px 20px; text-align: center; }
.momhop-pass__card.is-done { background: var(--mh-sage-tint); border-color: var(--mh-sage); }
.momhop-pass__biz { color: var(--mh-coral-deep); font-size: var(--mh-fs-small); font-weight: 800; letter-spacing: .06em; margin: 0; text-transform: uppercase; }
.momhop-pass__title { font-family: var(--mh-display-font); font-size: clamp(26px, 7vw, 34px); line-height: 1.15; margin: 0; text-wrap: balance; }
.momhop-pass__details { margin: 0; }
.momhop-pass__who { font-size: var(--mh-fs-lead); font-weight: 800; margin: 0; }
.momhop-pass__clock { font-variant-numeric: tabular-nums; }
.momhop-pass__done { color: var(--mh-sage); font-family: var(--mh-display-font); font-size: 34px; font-weight: 800; margin: 6px 0 0; }
.momhop-pass__done span { display: block; font-family: var(--mh-ui-font); font-size: var(--mh-fs-small); }
.momhop-pass__stop { background: var(--mh-sun-soft); border-radius: var(--mh-r-sm); font-weight: 700; margin: 0; padding: 12px 14px; }
.momhop-pass__note { background: var(--mh-coral-soft); border-radius: var(--mh-r-sm); font-weight: 700; margin: 0; padding: 10px 12px; }
.momhop-pass__form { display: grid; gap: 8px; justify-items: center; margin-top: 6px; }
.momhop-pass__form label { font-weight: 700; }
.momhop-pass__form input { border: 2px solid var(--mh-line); border-radius: var(--mh-r-sm); font: 800 28px var(--mh-ui-font); letter-spacing: .4em; max-width: 100%; padding: 10px 0 10px .4em; text-align: center; width: 8ch; }
.momhop-pass__hand { color: var(--mh-ink-soft); margin: 0; }
.momhop-pass__fine { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); margin: 0; }
.momhop-biz__how { display: grid; gap: 8px; margin: 0; padding-left: 20px; }
.momhop-biz__deposit { color: var(--mh-sage); display: block; font-weight: 700; margin-top: 4px; }
.momhop-perk__plus { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); margin: 2px 0 0; }
.momhop-perk__plus a { color: var(--mh-coral-deep); font-weight: 700; }
/* Perk quantity in words (v0.1.204) */
.momhop-perk__stock { border-radius: var(--mh-r-pill); display: inline-block; font-size: var(--mh-fs-small); font-weight: 800; justify-self: start; margin: 2px 0 0; padding: 3px 10px; }
.momhop-perk__stock.is-plenty, .momhop-perk__stock.is-ok { background: var(--mh-sage-tint); color: var(--mh-sage); }
.momhop-perk__stock.is-few { background: var(--mh-sun-soft); color: var(--mh-ink); }
.momhop-perk__stock.is-low { background: var(--mh-coral-soft); color: var(--mh-coral-deep); }
.momhop-perk__stock.is-out { background: var(--mh-line); color: var(--mh-ink-soft); }

/* The Perks page for families (v0.1.206, mockup docs/design/perks_parent_mockup.html) */
.momhop-perkspage { box-sizing: border-box; display: grid; gap: 12px; margin: 0 auto; max-width: 760px; padding: 16px var(--mh-page-gutter, 26px) 40px; }
.momhop-perkspage__head { display: grid; gap: 2px; }
.momhop-perkspage__title { font-family: var(--mh-display-font); font-size: var(--mh-fs-h1); font-weight: var(--mh-fw-display); line-height: 1.1; margin: 0; }
.momhop-perkspage__lead { color: var(--mh-ink-soft); margin: 0; }
.momhop-perkspage__near { align-items: center; color: var(--mh-ink-soft); display: flex; font-size: var(--mh-fs-small); gap: 4px; margin: 4px 0 0; }
.momhop-perkspage__team, .momhop-perkspage__empty { background: var(--mh-sun-soft); border-radius: var(--mh-r-sm); margin: 0; padding: 10px 14px; }
.momhop-perkspage__ribbon { background: var(--mh-sun-soft); border-radius: var(--mh-r-sm); font-size: var(--mh-fs-small); margin: 0; padding: 9px 12px; }
.momhop-perkspage__ribbon a { color: var(--mh-coral-deep); font-weight: 700; }
.momhop-perkspage__join { background: var(--mh-ink); border-radius: var(--mh-r); color: var(--mh-surface); display: grid; gap: 6px; padding: 14px 16px; }
.momhop-perkspage__join b { font-family: var(--mh-display-font); font-size: var(--mh-fs-lead); }
.momhop-perkspage__join-links { align-items: center; display: flex; gap: 14px; }
.momhop-perkspage__join-links a { color: var(--mh-surface); font-weight: 700; }
.momhop-perkspage__join-btn { background: var(--mh-coral); border-radius: var(--mh-r-pill); padding: 8px 16px; text-decoration: none; }
.momhop-perkspage__chips { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 2px; scrollbar-width: none; }
.momhop-perkspage__chip { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r-pill); color: var(--mh-ink); flex: 0 0 auto; font-size: var(--mh-fs-small); font-weight: 700; padding: 6px 12px; text-decoration: none; white-space: nowrap; }
.momhop-perkspage__chip.is-on { background: var(--mh-ink); border-color: var(--mh-ink); color: var(--mh-surface); }
.momhop-perkspage__list { display: grid; gap: 12px; }
.momhop-perkcard { background: var(--mh-surface); border-radius: var(--mh-r); box-shadow: var(--mh-sh-card); overflow: hidden; }
.momhop-perkcard__top { align-items: start; cursor: pointer; display: grid; gap: 12px; grid-template-columns: 64px minmax(0, 1fr) auto; list-style: none; padding: 12px; }
.momhop-perkcard__top::-webkit-details-marker { display: none; }
article.momhop-perkcard .momhop-perkcard__top { cursor: default; grid-template-columns: 64px minmax(0, 1fr); }
.momhop-perkcard__pic { display: block; height: 64px; width: 64px; }
.momhop-perkcard__pic .momhop-outpic__tile { --tile: 64px; border-radius: 16px; box-shadow: none; position: static; transform: none; }
.momhop-perkcard__pic .momhop-outpic__tile svg { transform: none; }
.momhop-perkcard__main { display: grid; gap: 2px; min-width: 0; }
.momhop-perkcard__kicker { color: var(--mh-coral-deep); font-size: var(--mh-fs-micro); font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.momhop-perkcard__title { font-family: var(--mh-display-font); font-size: var(--mh-fs-lead); font-weight: var(--mh-fw-display); line-height: 1.25; }
.momhop-perkcard__place { font-size: var(--mh-fs-small); font-weight: 700; }
.momhop-perkcard__pills { align-items: center; display: flex; flex-wrap: wrap; gap: 5px; margin-top: 4px; }
.momhop-perkcard__pill { border: 1px solid var(--mh-line); border-radius: var(--mh-r-pill); color: var(--mh-ink-soft); font-size: var(--mh-fs-micro); font-weight: 800; padding: 2px 8px; }
.momhop-perkcard__pill.is-today { background: var(--mh-ink); border-color: var(--mh-ink); color: var(--mh-surface); }
.momhop-perkcard__pills .momhop-perk__stock { font-size: var(--mh-fs-micro); margin: 0; padding: 2px 8px; }
.momhop-perkcard__chev { border-bottom: 2px solid var(--mh-ink-soft); border-right: 2px solid var(--mh-ink-soft); height: 8px; margin: 8px 4px 0 0; transform: rotate(45deg); transition: transform .15s; width: 8px; }
.momhop-perkcard[open] .momhop-perkcard__chev { transform: rotate(-135deg); }
.momhop-perkcard__more { border-top: 1px dashed var(--mh-line); display: grid; gap: 8px; padding: 12px; }
.momhop-perkcard__more p { margin: 0; }
.momhop-perkcard__when, .momhop-perkcard__fine { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); }
.momhop-perkcard__pair { background: var(--mh-sage-tint); border-radius: var(--mh-r-sm); color: var(--mh-ink); display: grid; gap: 2px; padding: 10px 12px; text-decoration: none; }
.momhop-perkcard__pair span { color: var(--mh-sage); font-size: var(--mh-fs-micro); font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.momhop-perkcard__use { background: var(--mh-coral-deep); border-radius: var(--mh-r-pill); color: var(--mh-surface); display: block; font-weight: 800; padding: 13px; text-align: center; text-decoration: none; }
.momhop-perkcard__placelink { color: var(--mh-coral-deep); font-size: var(--mh-fs-small); font-weight: 700; }

/* The redeemed moment (v0.1.209; owner: "it should appear a little more exciting") */
.momhop-pass__card.momhop-yay { background: radial-gradient(120% 80% at 50% 0%, var(--mh-sun-soft), var(--mh-sage-tint) 55%, var(--mh-surface)); border-color: var(--mh-sage); overflow: hidden; position: relative; animation: momhop-yay-pop .45s cubic-bezier(.2, 1.4, .4, 1) both; }
.momhop-yay__confetti { height: 0; left: 50%; pointer-events: none; position: absolute; top: 70px; width: 0; }
.momhop-yay__confetti i { animation: momhop-yay-burst 2.2s cubic-bezier(.15, .7, .3, 1) var(--d) both; border-radius: 2px; height: 12px; left: -4px; opacity: 0; position: absolute; top: -6px; width: 8px; }
.momhop-yay__confetti i:nth-child(3n) { border-radius: 50%; height: 9px; width: 9px; }
.momhop-yay__confetti .is-coral { background: var(--mh-coral); }
.momhop-yay__confetti .is-sun { background: var(--mh-sun); }
.momhop-yay__confetti .is-sage { background: var(--mh-sage); }
.momhop-yay__confetti .is-plum { background: var(--mh-plum); }
.momhop-yay__confetti .is-sky { background: var(--mh-sky); }
.momhop-yay__check { height: 92px; justify-self: center; margin: 4px auto 2px; width: 92px; }
.momhop-yay__check svg { display: block; height: 100%; width: 100%; }
.momhop-yay__check circle { animation: momhop-yay-draw .6s ease-out .1s forwards; fill: var(--mh-sage); stroke: var(--mh-sage); stroke-dasharray: 151; stroke-dashoffset: 151; stroke-width: 2; }
.momhop-yay__check path { animation: momhop-yay-draw .35s ease-out .55s forwards; fill: none; stroke: var(--mh-surface); stroke-dasharray: 40; stroke-dashoffset: 40; stroke-linecap: round; stroke-linejoin: round; stroke-width: 5; }
.momhop-yay__hello { color: var(--mh-sage); font-family: var(--mh-display-font); font-size: clamp(28px, 8vw, 38px); font-weight: var(--mh-fw-display); line-height: 1.1; margin: 0; }
.momhop-yay .momhop-pass__title { font-size: clamp(20px, 5.5vw, 26px); }
.momhop-yay__at { color: var(--mh-coral-deep); font-weight: 800; margin: -4px 0 0; }
.momhop-yay__stamp { background: var(--mh-surface); border: 1px dashed var(--mh-sage); border-radius: var(--mh-r-pill); font-weight: 800; justify-self: center; margin: 6px 0 0; padding: 6px 14px; }
.momhop-yay__live { align-items: center; color: var(--mh-ink); display: flex; font-size: var(--mh-fs-lead); font-weight: 800; gap: 8px; justify-content: center; margin: 0; }
.momhop-yay__dot { animation: momhop-yay-pulse 1.4s ease-out infinite; background: var(--mh-sage); border-radius: 50%; height: 10px; width: 10px; }
.momhop-yay__next { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); margin: 0; }
.momhop-pass__links { margin: 0; text-align: center; }
.momhop-pass__more { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r-pill); color: var(--mh-ink); display: inline-block; font-weight: 800; padding: 11px 20px; text-decoration: none; }
@keyframes momhop-yay-pop { from { opacity: 0; transform: scale(.92); } to { opacity: 1; transform: none; } }
@keyframes momhop-yay-draw { to { stroke-dashoffset: 0; } }
@keyframes momhop-yay-burst { 0% { opacity: 1; transform: translate(0, 0) rotate(0); } 80% { opacity: 1; } 100% { opacity: 0; transform: translate(var(--x), calc(var(--y) + 60px)) rotate(var(--r)); } }
@keyframes momhop-yay-pulse { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--mh-sage) 55%, transparent); } 100% { box-shadow: 0 0 0 12px transparent; } }
@media (prefers-reduced-motion: reduce) {
	.momhop-pass__card.momhop-yay, .momhop-yay__confetti i, .momhop-yay__dot { animation: none; }
	.momhop-yay__confetti { display: none; }
	.momhop-yay__check circle, .momhop-yay__check path { animation: none; stroke-dashoffset: 0; }
}

/* Partner test round 1 (v0.1.212): the partner label keeps its padding inside Place pages; perks there use the Perks page card */
.momhop-detail .momhop-place-partner .momhop-partner-label, .momhop-place-partner .momhop-partner-label { display: inline-block; justify-self: start; line-height: 1.4; padding: 4px 12px; white-space: nowrap; }
.momhop-place-partner__join, .momhop-place-partner__note { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); margin: 0; }
.momhop-place-partner__join a { color: var(--mh-coral-deep); font-weight: 800; }
/* Inside Place pages the detail typography rule (.momhop-page--app-shell .momhop-content-region--detail .momhop-detail p, span ...) wins; these win back (v0.1.213) */
.momhop-page--app-shell .momhop-content-region--detail .momhop-place-partner .momhop-partner-label { padding: 4px 12px; }
.momhop-page--app-shell .momhop-content-region--detail .momhop-perkcard .momhop-perkcard__title { font-family: var(--mh-display-font); font-size: var(--mh-fs-lead); }
.momhop-page--app-shell .momhop-content-region--detail .momhop-place-partner__about footer { font-family: var(--mh-ui-font); }

/* Partner test round 2 (v0.1.215) */
.momhop-biz__confirm { display: inline-block; }
.momhop-biz__confirm > summary { cursor: pointer; list-style: none; }
.momhop-biz__confirm > summary::-webkit-details-marker { display: none; }
.momhop-biz__confirm[open] { display: inline-flex; flex-wrap: wrap; gap: 8px; }
.momhop-biz__link--danger { color: var(--mh-coral-deep); }

/* Partner test round D (v0.1.223): a perk this member already used */
.momhop-perkcard__pill.is-used { background: var(--mh-sage-soft); border-color: var(--mh-sage-soft); color: var(--mh-ink); }

/* Business pages, signed in with a family or team account (v0.1.225) */
.momhop-biz__card--notice { box-sizing: border-box; display: grid; gap: 10px; justify-self: center; margin-top: 12px; max-width: 620px; padding: 28px; width: 100%; }
.momhop-biz__card--notice > * { margin: 0; }
.momhop-biz__card--notice .momhop-biz__h1 { margin-bottom: 2px; }
.momhop-biz__card--notice > p:not([class]) { color: var(--mh-ink-soft); line-height: 1.55; }
.momhop-biz__card--notice .momhop-biz__ctas { margin-top: 8px; }
.momhop-biz__card--notice .momhop-biz__fine a { color: var(--mh-ink-soft); }

/* Perks beside Outings and Events (v0.1.227) */
.momhop-kpill--perk, .momhop-event-chip--perk { align-items: center; background: var(--mh-coral-soft); border-color: var(--mh-coral-soft); color: var(--mh-coral-deep); display: inline-flex; font-weight: 800; gap: 4px; }
.momhop-kpill--perk svg, .momhop-event-chip--perk svg, .momhop-card__limited-perk svg { flex: none; }
.momhop-card__limited-perk { align-items: center; color: var(--mh-coral-deep); display: inline-flex; font-weight: 800; gap: 4px; }
.momhop-perkstrip { align-items: center; background: var(--mh-coral-soft); border-radius: var(--mh-r-md); display: flex; gap: 12px; margin: 8px 0 4px; padding: 12px 14px; }
.momhop-perkstrip__icon { color: var(--mh-coral-deep); display: inline-flex; flex: none; }
.momhop-perkstrip__body { display: grid; flex: 1; gap: 1px; min-width: 0; }
.momhop-perkstrip__tag { color: var(--mh-coral-deep); font-size: var(--mh-fs-micro); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.momhop-perkstrip__title { color: var(--mh-ink); font-family: var(--mh-display-font); font-size: var(--mh-fs-body); line-height: 1.25; }
.momhop-perkstrip__when { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); }
.momhop-perkstrip__go { background: var(--mh-coral-deep); border-radius: var(--mh-r-pill); color: var(--mh-surface); flex: none; font-size: var(--mh-fs-small); font-weight: 800; padding: 8px 14px; text-decoration: none; white-space: nowrap; }
@media (max-width: 480px) { .momhop-perkstrip { flex-wrap: wrap; } .momhop-perkstrip__go { margin-left: 30px; } }

/* Business sign-up, rebuilt (v0.1.229): the path first, then a form in three parts */
.momhop-bizjoin { display: grid; gap: 18px; justify-self: center; max-width: 760px; width: 100%; }
.momhop-bizjoin > * { margin: 0; min-width: 0; }
.momhop-bizjoin__head { display: grid; gap: 4px; }
.momhop-bizjoin__head > * { margin: 0; }
.momhop-bizjoin__lead { color: var(--mh-ink-soft); font-size: var(--mh-fs-body); line-height: 1.55; }
.momhop-bizjoin__steps { counter-reset: none; display: grid; gap: 10px; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.momhop-bizjoin__steps li { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r-md); display: grid; gap: 8px; align-content: start; padding: 14px; position: relative; }
.momhop-bizjoin__steps li.is-now { border-color: var(--mh-coral-deep); box-shadow: 0 0 0 1px var(--mh-coral-deep); }
.momhop-bizjoin__steps b { align-items: center; background: var(--mh-cream-2); border-radius: 50%; color: var(--mh-ink); display: inline-flex; font-weight: 800; height: 28px; justify-content: center; width: 28px; }
.momhop-bizjoin__steps li.is-now b { background: var(--mh-coral-deep); color: var(--mh-surface); }
.momhop-bizjoin__steps span { display: grid; gap: 3px; }
.momhop-bizjoin__steps strong { color: var(--mh-ink); font-size: var(--mh-fs-body); line-height: 1.25; }
.momhop-bizjoin__steps small { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); line-height: 1.45; }
.momhop-bizjoin__steps em { color: var(--mh-coral-deep); font-size: var(--mh-fs-micro); font-style: normal; font-weight: 800; letter-spacing: .08em; position: absolute; right: 12px; text-transform: uppercase; top: 16px; }
.momhop-bizjoin__form { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r-lg); display: grid; gap: 0; padding: 6px 24px 22px; }
.momhop-bizjoin__part { border: 0; border-bottom: 1px solid var(--mh-line); display: grid; gap: 12px; margin: 0; min-width: 0; padding: 18px 0; }
.momhop-bizjoin__part legend { align-items: center; color: var(--mh-ink); display: flex; float: left; font-family: var(--mh-display-font); font-size: var(--mh-fs-h3, var(--mh-fs-body)); font-weight: 700; gap: 10px; margin-bottom: 4px; padding: 0; width: 100%; }
.momhop-bizjoin__part legend + * { clear: both; }
.momhop-bizjoin__part legend span { align-items: center; background: var(--mh-ink); border-radius: 50%; color: var(--mh-surface); display: inline-flex; font-family: var(--mh-ui-font); font-size: var(--mh-fs-small); height: 24px; justify-content: center; width: 24px; }
.momhop-bizjoin__part > p { margin: 0; }
.momhop-bizjoin__hint { color: var(--mh-ink-soft); display: block; font-size: var(--mh-fs-small); font-weight: 400; margin-top: 4px; }
.momhop-bizjoin__group { display: grid; gap: 8px; }
.momhop-bizjoin__grouphead { margin: 6px 0 0; }
.momhop-bizjoin__grouphead b { color: var(--mh-ink); }
.momhop-bizjoin__grouphead span { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); }
.momhop-bizjoin__picks { display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.momhop-bizjoin__send { display: grid; gap: 12px; justify-items: start; padding-top: 18px; }
.momhop-bizjoin__send > p { margin: 0; }
.momhop-bizjoin__signin { text-align: center; }
@media (max-width: 760px) { .momhop-bizjoin__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .momhop-bizjoin__steps, .momhop-bizjoin__picks { grid-template-columns: 1fr; } .momhop-bizjoin__form { padding: 4px 16px 18px; } .momhop-bizjoin__send .momhop-biz__btn { width: 100%; } }

/* Business Products, shorter (v0.1.229): plans side by side, free and one-time as rows */
.momhop-bizprod__group { display: grid; gap: 10px; margin-top: 18px; }
.momhop-bizprod__h { color: var(--mh-ink); font-family: var(--mh-display-font); font-size: var(--mh-fs-lead); margin: 0; }
.momhop-bizprod__h span { color: var(--mh-ink-soft); display: block; font-family: var(--mh-ui-font); font-size: var(--mh-fs-small); font-weight: 400; margin-top: 2px; }
.momhop-bizprod__tip { background: var(--mh-cream-2); border-radius: var(--mh-r-md); color: var(--mh-ink); font-size: var(--mh-fs-small); margin: 0; padding: 10px 12px; }
.momhop-bizprod__items { display: grid; gap: 10px; }
.momhop-bizprod__group--plan .momhop-bizprod__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.momhop-bizprod__group--once .momhop-bizprod__items { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r-lg); gap: 0; }
.momhop-bizprod { gap: 10px; }
.momhop-bizprod__text { display: grid; gap: 3px; min-width: 0; }
.momhop-bizprod__text b { color: var(--mh-ink); font-size: var(--mh-fs-body); }
.momhop-bizprod__text span { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); line-height: 1.45; }
.momhop-bizprod__act { align-items: center; display: flex; flex-wrap: wrap; gap: 8px 12px; }
.momhop-bizprod__act form { margin: 0; }
.momhop-bizprod--plan { align-content: space-between; grid-template-rows: 1fr auto; padding: 18px; }
.momhop-bizprod--plan .momhop-biz__price { flex-basis: 100%; font-family: var(--mh-display-font); font-size: var(--mh-fs-h2); }
.momhop-bizprod--plan.is-mine { border-color: var(--mh-sage); box-shadow: 0 0 0 1px var(--mh-sage); }
.momhop-bizprod--free, .momhop-bizprod--once { align-items: center; grid-template-columns: minmax(0, 1fr) auto; }
.momhop-bizprod--once { background: transparent; border: 0; border-bottom: 1px solid var(--mh-line); border-radius: 0; padding: 14px 16px; }
.momhop-bizprod--once:last-child { border-bottom: 0; }
.momhop-bizprod--free .momhop-bizprod__act, .momhop-bizprod--once .momhop-bizprod__act { justify-content: flex-end; text-align: right; }
.momhop-bizprod--free .momhop-biz__price, .momhop-bizprod--once .momhop-biz__price { font-size: var(--mh-fs-body); white-space: nowrap; }
.momhop-biz__state.is-wait { color: var(--mh-ink-soft); }
@media (max-width: 600px) {
  .momhop-bizprod__group--plan .momhop-bizprod__items { grid-template-columns: 1fr; }
  .momhop-bizprod--free, .momhop-bizprod--once { grid-template-columns: 1fr; }
  .momhop-bizprod--free .momhop-bizprod__act, .momhop-bizprod--once .momhop-bizprod__act { justify-content: flex-start; text-align: left; }
}
/* Sign-up product picks: checkbox beside the words, as cards */
.momhop-bizjoin__picks .momhop-biz__pick { align-items: start; background: var(--mh-cream); border: 1px solid var(--mh-line); border-radius: var(--mh-r-md); cursor: pointer; display: grid !important; flex-wrap: nowrap; gap: 10px !important; grid-template-columns: auto minmax(0, 1fr); padding: 12px; }
.momhop-bizjoin__picks .momhop-biz__pick input { margin: 3px 0 0; }
.momhop-bizjoin__picks .momhop-biz__pick span { display: grid; gap: 3px; }
.momhop-bizjoin__picks .momhop-biz__pick b { color: var(--mh-ink); font-size: var(--mh-fs-small); }
.momhop-bizjoin__picks .momhop-biz__pick small { color: var(--mh-ink-soft); font-size: var(--mh-fs-micro); font-weight: 400; line-height: 1.45; }
.momhop-bizjoin__picks .momhop-biz__pick:has(input:checked) { background: var(--mh-coral-soft); border-color: var(--mh-coral-deep); }

.momhop-kpills .momhop-kpill.momhop-kpill--perk { background: var(--mh-coral-soft); border-color: var(--mh-coral-soft); color: var(--mh-coral-deep); }

/* What each plan includes (v0.1.232) */
.momhop-bizprod__features { display: grid; gap: 6px; list-style: none; margin: 6px 0 0; padding: 0; }
.momhop-bizprod__features li { color: var(--mh-ink); font-size: var(--mh-fs-small); line-height: 1.4; padding-left: 22px; position: relative; }
.momhop-bizprod__features li::before { color: var(--mh-sage); content: "✓"; font-weight: 800; left: 2px; position: absolute; top: 0; }

/* Partner pages pass (v0.1.235) */
.momhop-biz__intro { color: var(--mh-ink-soft); font-size: var(--mh-fs-body); line-height: 1.55; margin: 4px 0 0; max-width: 70ch; }
.momhop-biz__h1 + .momhop-biz__intro { margin-top: 0; }
@media (min-width: 1024px) { .momhop-biz__tabs { padding-inline: max(var(--mh-page-gutter, 20px), calc((100% - 940px) / 2)); } }
@media (max-width: 760px) { .momhop-biz__tabs { -webkit-mask-image: linear-gradient(90deg, var(--mh-ink) 85%, transparent); mask-image: linear-gradient(90deg, var(--mh-ink) 85%, transparent); } }
.momhop-biz__how { margin-bottom: 18px; }
.momhop-biz__main .momhop-biz__card:not(.momhop-biz__card--narrow) .momhop-biz__form > .momhop-biz__btn { justify-self: start; min-width: 200px; }
.momhop-biz__form input[type="file"]::file-selector-button { background: var(--mh-surface); border: 1px solid var(--mh-coral-deep); border-radius: var(--mh-r-pill); color: var(--mh-coral-deep); cursor: pointer; font: 800 var(--mh-fs-small) var(--mh-ui-font); margin-right: 10px; padding: 8px 14px; }
.momhop-biz__grid--metrics { grid-template-columns: repeat(auto-fill, minmax(min(100%, 150px), 1fr)); }
.momhop-biz__empty { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; }
.momhop-biz__empty p { margin: 0; }
.momhop-biz__grid + p { margin-top: 14px; }
@media (max-width: 520px) { .momhop-biz__main .momhop-biz__card .momhop-biz__form > .momhop-biz__btn { justify-self: stretch; } }
/* Phones: 16 px in every box, so iPhones do not zoom in while someone types (owner 2026-10-22) */
@media (max-width: 760px), (pointer: coarse) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="submit"]):not([type="button"]), select, textarea { font-size: var(--mh-fs-lead) !important; }
}

/* Event listing: the business's event form on My purchases (v0.1.239) */
.momhop-bizevent { background: var(--mh-cream-2); border-radius: var(--mh-r-md); margin: -4px 0 6px; padding: 12px 14px; }
.momhop-bizevent > summary { color: var(--mh-coral-deep); cursor: pointer; font-weight: 800; }
.momhop-bizevent[open] > summary { margin-bottom: 4px; }
.momhop-bizevent__when { grid-template-columns: 2fr 1fr 1fr; }
@media (max-width: 520px) { .momhop-bizevent__when { grid-template-columns: 1fr 1fr; } .momhop-bizevent__when label:first-child { grid-column: 1 / -1; } }
.momhop-bizevent .momhop-biz__form > .momhop-biz__btn { justify-self: start; }
@media (max-width: 520px) { .momhop-bizevent .momhop-biz__form > .momhop-biz__btn { justify-self: stretch; } }

/* Partner pages, second style pass (v0.1.241) */
.momhop-biz { background: var(--mh-cream); }
@media (min-width: 1024px) { .momhop-biz__top { padding-inline: max(var(--mh-page-gutter, 20px), calc((100% - 940px) / 2)); } }
.momhop-biz__acct { align-items: center; display: flex; gap: 14px; }
.momhop-biz__who { color: var(--mh-cream-2); font-size: var(--mh-fs-small); max-width: 32ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 520px) { .momhop-biz__who { display: none; } }
.momhop-biz__progress li::before { align-items: center; color: var(--mh-surface); display: inline-flex; flex: none; font-size: var(--mh-fs-micro); font-weight: 800; height: 20px; justify-content: center; width: 20px; box-sizing: border-box; }
.momhop-biz__progress li.is-done::before { content: "✓"; }
.momhop-biz__alldone { color: var(--mh-sage); font-weight: 700; margin: 6px 0 0; }
.momhop-biz__snap { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.momhop-biz__snap a, .momhop-biz__tiles a { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r-lg); color: var(--mh-ink); display: grid; gap: 3px; align-content: start; padding: 16px; text-decoration: none; transition: border-color .15s ease, transform .15s ease; }
.momhop-biz__snap a:hover, .momhop-biz__tiles a:hover { border-color: var(--mh-coral-deep); transform: translateY(-1px); }
.momhop-biz__snap i, .momhop-biz__tiles i { align-items: center; background: var(--mh-coral-soft); border-radius: 50%; color: var(--mh-coral-deep); display: inline-flex; font-style: normal; height: 36px; justify-content: center; margin-bottom: 6px; width: 36px; }
.momhop-biz__snap span { color: var(--mh-ink-soft); font-size: var(--mh-fs-micro); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.momhop-biz__snap b { font-family: var(--mh-display-font); font-size: var(--mh-fs-h3); line-height: 1.2; overflow-wrap: anywhere; }
.momhop-biz__snap small { color: var(--mh-coral-deep); font-size: var(--mh-fs-small); font-weight: 700; }
.momhop-biz__tiles b { font-size: var(--mh-fs-body); }
@media (max-width: 860px) { .momhop-biz__snap { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 420px) { .momhop-biz__snap { grid-template-columns: 1fr; } }
.momhop-biz__btn--quiet { background: var(--mh-surface); border: 1px solid var(--mh-coral-deep); color: var(--mh-coral-deep); }
.momhop-biz__list { gap: 12px; }
.momhop-biz__line { border-radius: var(--mh-r-lg); padding: 14px 16px; }
.momhop-biz__line b { font-size: var(--mh-fs-body); }
.momhop-biz__line:has(+ .momhop-bizevent) { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.momhop-biz__line + .momhop-bizevent { background: var(--mh-surface-2); border: 1px solid var(--mh-line); border-radius: 0 0 var(--mh-r-lg) var(--mh-r-lg); border-top: 0; margin: -12px 0 0; padding: 12px 16px; }
/* Perk strip on phones: the words get the width, the button sits below (v0.1.244) */
@media (max-width: 520px) {
  .momhop-perkstrip { display: grid; grid-template-columns: auto minmax(0, 1fr); }
  .momhop-perkstrip__go { grid-column: 2; justify-self: start; margin-left: 0; }
}

/* Seasonal and holiday events (v0.1.247) */
.momhop-events-season { background: var(--mh-sun-soft); border-radius: var(--mh-r-lg); display: grid; gap: 10px; margin: 6px 0 14px; padding: 14px; }
.momhop-events-season__head { align-items: baseline; display: flex; flex-wrap: wrap; gap: 4px 10px; }
.momhop-events-season__head h2 { color: var(--mh-ink); font-family: var(--mh-display-font); font-size: var(--mh-fs-h3); margin: 0; }
.momhop-events-season__head span { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); }
.momhop-events-season__head a { color: var(--mh-coral-deep); font-size: var(--mh-fs-small); font-weight: 800; margin-left: auto; }
.momhop-events-season__list { display: grid; gap: 10px; grid-auto-columns: minmax(180px, 220px); grid-auto-flow: column; overflow-x: auto; padding-bottom: 4px; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.momhop-events-season__item { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r-md); color: var(--mh-ink); display: grid; gap: 3px; align-content: start; padding: 12px; scroll-snap-align: start; text-decoration: none; }
.momhop-events-season__item em { color: var(--mh-sun-text); font-size: var(--mh-fs-micro); font-style: normal; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.momhop-events-season__item strong { font-size: var(--mh-fs-body); line-height: 1.3; }
.momhop-events-season__item span { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); }
.momhop-events-seasonline { background: var(--mh-cream-2); border-radius: var(--mh-r-md); color: var(--mh-ink-soft); font-size: var(--mh-fs-small); margin: 6px 0 12px; padding: 10px 12px; }
.momhop-events-seasonline a { color: var(--mh-coral-deep); font-weight: 800; }

/* Family test 2026-10-23 (v0.1.252) */
.momhop-detail--missing { align-items: center; display: grid; gap: 10px; justify-items: center; padding: 48px 20px; text-align: center; }
.momhop-detail--missing .momhop-empty__t { font-family: var(--mh-display-font); font-size: var(--mh-fs-h2); margin: 0; }
.momhop-detail--missing .momhop-empty__d { color: var(--mh-ink-soft); margin: 0; max-width: 40ch; }
.momhop-preview-note { background: var(--mh-sun-soft); border-radius: var(--mh-r-md); color: var(--mh-ink); font-size: var(--mh-fs-small); font-weight: 700; margin: 0 0 12px; padding: 10px 12px; }
h1.momhop-help__eyebrow { line-height: 1.4; }
.momhop-page .momhop-detail.momhop-detail--missing.momhop-empty { gap: 12px; padding: 40px 22px 32px; }
.momhop-page .momhop-detail.momhop-detail--missing .momhop-btn { display: inline-flex; padding: 11px 20px; }

/* Seasonal Home hero (owner 2026-10-23; includes-home-seasons.php, mockup docs/design/home_hero_seasonal_mockup.html).
   The season sets --season-a/b/c (a soft tint) and --season-label; drawings sit in the corners, never under the words. */
.momhop-hero--season {
	background: linear-gradient(150deg, var(--season-a) 0%, var(--season-b) 55%, var(--season-c) 100%);
	padding-top: 22px;
}

.momhop-hero__deco {
	height: 100%;
	inset: 0;
	pointer-events: none;
	position: absolute;
	width: 100%;
}

.momhop-hero--season > :not(.momhop-hero__deco) {
	position: relative;
	z-index: 1;
}

/* Phone (owner 2026-10-23: "use more of the space on the right side ... in the middle part where there is no
   graphics"): the drawings keep to the top-right and bottom-right corners, so the headline leaves only the top
   corner free, the line and the weather use the full width, and only the pills stay clear of the bottom corner. */
.momhop-hero--season .momhop-hero__h {
	max-width: 86%;
}

.momhop-hero--season .momhop-hero__pills {
	margin-bottom: 4px;
	max-width: 100%;
}

.momhop-hero--season .momhop-today {
	max-width: 80%;
}

/* Halloween's pumpkins are bigger (owner 2026-10-23), so the weather keeps a little further left of them. */
.momhop-hero--halloween .momhop-today {
	max-width: 62%;
}

@media (min-width: 640px) {
	.momhop-hero--season .momhop-hero__h,
	.momhop-hero--season .momhop-hero__sub,
	.momhop-hero--season .momhop-today,
	.momhop-hero--season .momhop-hero__pills { max-width: 62%; }
	.momhop-hero__deco { left: auto; width: 46%; }
}

.momhop-hero__pills {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 10px;
	max-width: 72%;
}

.momhop-hero__pill {
	display: inline-block;
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r-pill);
	color: var(--mh-ink);
	font-size: var(--mh-fs-small);
	font-weight: 700;
	max-width: 100%;
	overflow: hidden;
	padding: 5px 10px;
	text-decoration: none;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.momhop-hero__pill:first-child {
	background: var(--mh-coral-deep);
	border-color: var(--mh-coral-deep);
	color: #fff;
}

/* Home Guides as a cover rail like Outings (owner 2026-10-23, option A of docs/design/home_guides_mockup.html).
   The cover is the Guide's category color, its emoji and the category on a label. */
.momhop-homefresh__guidecover.momhop-guide-card--travel { --momhop-guide-cat: var(--mh-sky); }
.momhop-homefresh__guidecover.momhop-guide-card--perks { --momhop-guide-cat: var(--mh-sun-text); }
.momhop-homefresh__guidecover.momhop-guide-card--collection { --momhop-guide-cat: var(--mh-sage); }
.momhop-homefresh__guidecover.momhop-guide-card--event { --momhop-guide-cat: var(--mh-coral-deep); }
.momhop-homefresh__guidecover.momhop-guide-card--seasonal { --momhop-guide-cat: var(--mh-plum); }
.momhop-homefresh__guidecover.momhop-guide-card--tips { --momhop-guide-cat: var(--mh-sun-text); }

/* Owner 2026-10-23: "The icon is too big... text can get inside the box with banner staying the same and icon
   being smaller inside the top left corner". */
.momhop-homefresh__outing > .momhop-homefresh__guidecover,
.momhop-homefresh__guidecover {
	align-items: flex-start;
	background: radial-gradient(circle at 78% 18%, var(--mh-surface) 0%, color-mix(in srgb, var(--momhop-guide-cat, var(--mh-plum)) 20%, var(--mh-surface)) 78%);
	color: var(--mh-ink);
	display: flex;
	flex-direction: column;
	font-size: var(--mh-fs-body);
	gap: 4px;
	justify-content: flex-start;
	margin-bottom: 0;
	padding: 10px 12px 34px;
}

/* The box grows to fit three lines of title instead of keeping the photo's shape. */
.momhop-homefresh__outing > .momhop-homefresh__guidecover {
	aspect-ratio: auto;
	min-height: 150px;
}

.momhop-homefresh__gemo {
	font-size: 22px;
	line-height: 1;
	transition: transform .3s ease;
}

.momhop-homefresh__gtitle {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	color: var(--mh-ink);
	display: -webkit-box;
	font-family: var(--mh-display-font);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.15;
	overflow: hidden;
}

.momhop-homefresh__gread {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-micro);
	font-weight: 600;
}

@media (hover: hover) {
	.momhop-homefresh__guidecard:hover .momhop-homefresh__gemo { transform: scale(1.15); }
}

.momhop-homefresh__gcat {
	background: var(--momhop-guide-cat, var(--mh-plum));
	border-radius: var(--mh-r-pill);
	bottom: 8px;
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	left: 8px;
	letter-spacing: .1em;
	padding: 3px 9px;
	position: absolute;
	text-transform: uppercase;
}
