.momhop-results-app {
	margin: 0 auto;
}

.momhop-results {
	display: grid;
	gap: var(--mh-space-4);
}

.momhop-results-header,
.momhop-results-section,
.momhop-empty,
.momhop-outing-detail {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line-soft);
	border-radius: var(--mh-r-lg);
	box-shadow: var(--mh-sh-1);
}

.momhop-results-header,
.momhop-results-section,
.momhop-empty {
	padding: var(--mh-space-5);
}

.momhop-results-kicker,
.momhop-results-empty__eyebrow,
.momhop-results-fallback-label,
.momhop-card__category,
.momhop-card__not-exact,
.momhop-place-card__label,
.momhop-outing-detail__category {
	color: var(--mh-coral);
	font-size: var(--mh-fs-micro);
	font-weight: 800;
	letter-spacing: 0.14em;
	margin: 0 0 var(--mh-space-2);
	text-transform: uppercase;
}

.momhop-results-header h1,
.momhop-results-section h2,
.momhop-empty__t,
.momhop-outing-detail h1,
.momhop-outing-detail h2,
.momhop-card__title {
	font-family: var(--mh-display-font);
	font-weight: 650;
	letter-spacing: -0.015em;
	line-height: 1.1;
	margin-top: 0;
}

.momhop-results-header h1 {
	font-size: clamp(26px, 8vw, 42px);
	margin-bottom: var(--mh-space-4);
}

.momhop-results-section h2,
.momhop-empty__t,
.momhop-outing-detail h2 {
	font-size: clamp(20px, 5vw, 27px);
}

.momhop-results-section__header p,
.momhop-results-contract,
.momhop-card__place,
.momhop-card__note,
.momhop-empty__d,
.momhop-outing-detail__place,
.momhop-outing-detail__section p,
.momhop-share-status {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-small);
	line-height: 1.48;
}

.momhop-results-contract {
	margin: var(--mh-space-3) 0 0;
}

.momhop-sectionbar,
.momhop-results-selection {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mh-space-2);
	list-style: none;
	margin: 0 0 var(--mh-space-4);
	padding: 0;
}

.momhop-fpill {
	align-items: center;
	background: var(--mh-coral-soft);
	border: 1px solid color-mix(in srgb, var(--mh-coral) 18%, transparent);
	border-radius: var(--mh-r-pill);
	color: var(--mh-coral-deep);
	display: inline-flex;
	font-size: var(--mh-fs-small);
	font-weight: 800;
	gap: var(--mh-space-1);
	padding: 7px 10px;
}

.momhop-fpill--ghost {
	background: var(--mh-surface);
	border-color: var(--mh-line);
	color: var(--mh-ink-soft);
}

.momhop-results-actions {
	display: block;
	margin-top: var(--mh-space-4);
}

.momhop-helpchoose {
	align-items: center;
	appearance: none;
	background: var(--mh-surface);
	border: 1px dashed var(--mh-coral);
	border-radius: var(--mh-r-pill);
	color: var(--mh-coral-deep);
	cursor: pointer;
	display: inline-flex;
	flex: 0 0 auto;
	font: inherit;
	font-size: var(--mh-fs-small);
	font-weight: 800;
	gap: var(--mh-space-1);
	min-height: 30px;
	padding: 6px 9px;
	text-align: left;
	text-decoration: none;
	white-space: nowrap;
	width: auto;
}

.momhop-helpchoose__ic {
	align-items: center;
	background: var(--mh-coral-soft);
	border-radius: 999px;
	color: var(--mh-coral-deep);
	display: inline-flex;
	flex: 0 0 20px;
	height: 20px;
	justify-content: center;
	width: 20px;
}

.momhop-helpchoose__t {
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-small);
	font-weight: 800;
}


.momhop-results-list {
	display: grid;
	gap: var(--mh-space-4);
	grid-template-columns: 1fr;
}

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

.momhop-card--fallback {
	background: var(--mh-surface-2);
}

.momhop-card__media-link {
	display: block;
	text-decoration: none;
}

.momhop-card__body {
	display: grid;
	gap: var(--mh-space-3);
	padding: var(--mh-space-4);
}

.momhop-card__title {
	font-size: var(--mh-fs-h3);
	margin-bottom: 0;
}

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

.momhop-card__place {
	color: var(--mh-coral);
	font-size: var(--mh-fs-micro);
	font-weight: 800;
	margin: 0;
}

.momhop-card__place::before {
	content: "";
}

.momhop-card__note {
	font-family: var(--mh-display-font);
	font-style: italic;
	margin: 0;
}

.momhop-outing-photo {
	background: linear-gradient(135deg, var(--mh-cream-2), var(--mh-sun-soft));
	margin: 0;
	overflow: hidden;
	position: relative;
}


.momhop-outing-photo img {
	height: 100%;
	inset: 0;
	object-fit: cover;
	object-position: top center;
	position: absolute;
	transform: scale(var(--momhop-media-scale, 1));
	width: 100%;
}

.momhop-outing-facts {
	display: grid;
	gap: var(--mh-space-2);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0;
}

.momhop-outing-fact {
	background: var(--mh-cream-2);
	border-radius: var(--mh-r-sm);
	padding: var(--mh-space-2);
}

.momhop-outing-fact dt,
.momhop-meta__k {
	color: var(--mh-ink-faint);
	font-size: var(--mh-fs-micro);
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.momhop-outing-fact dd,
.momhop-meta__v {
	color: var(--mh-ink);
	font-size: var(--mh-fs-small);
	font-weight: 800;
	margin: var(--mh-space-1) 0 0;
}

.momhop-tag-sections {
	display: grid;
	gap: var(--mh-space-3);
}

.momhop-tag-section,
.momhop-section {
	border-radius: var(--mh-r);
	padding: var(--mh-space-3);
}

.momhop-tag-section h4,
.momhop-section__h {
	font-size: var(--mh-fs-micro);
	font-weight: 800;
	letter-spacing: 0.12em;
	margin: 0 0 var(--mh-space-2);
	text-transform: uppercase;
}

.momhop-section--fact,
.momhop-tag-section--features {
	background: var(--mh-sage-soft);
	color: var(--mh-sage);
}

.momhop-section--rec,
.momhop-tag-section--recommendations {
	background: var(--mh-coral-soft);
	color: var(--mh-coral-deep);
}

.momhop-tag-list,
.momhop-tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mh-space-2);
}

.momhop-tag,
.momhop-chip {
	align-items: center;
	border-radius: var(--mh-r-pill);
	display: inline-flex;
	font-size: var(--mh-fs-small);
	font-weight: 800;
	padding: 7px 10px;
}

.momhop-tag--fact {
	background: var(--mh-sage-soft);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--mh-sage) 18%, transparent);
	color: var(--mh-sage);
}

.momhop-tag--rec,
.momhop-tag--recommendation {
	background: var(--mh-coral-soft);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--mh-coral) 20%, transparent);
	color: var(--mh-coral-deep);
}

.momhop-tag--meta {
	background: var(--mh-cream-2);
	color: var(--mh-ink-soft);
}

.momhop-card__save,
.momhop-save-dormant {
	background: var(--mh-cream-2);
	border: 1px dashed var(--mh-line);
	border-radius: var(--mh-r-pill);
	color: var(--mh-ink-faint);
	font: inherit;
	font-weight: 800;
	margin-top: var(--mh-space-1);
	padding: 9px 12px;
}

.momhop-empty {
	align-items: center;
	display: grid;
	gap: var(--mh-space-3);
	justify-items: center;
	padding: 38px var(--mh-space-5);
	text-align: center;
}

.momhop-empty__ic {
	align-items: center;
	background: var(--mh-sun-soft);
	border-radius: 50%;
	display: inline-flex;
	font-size: var(--mh-fs-h2);
	height: 58px;
	justify-content: center;
	width: 58px;
}

.momhop-empty__t,
.momhop-empty__d {
	margin: 0;
}

.momhop-empty__actions {
	display: grid;
	gap: var(--mh-space-2);
	width: min(100%, 320px);
}

.momhop-outing-detail {
	display: grid;
	gap: var(--mh-space-4);
	padding: var(--mh-space-4);
}

.momhop-outing-detail__back {
	color: var(--mh-coral-deep);
	display: inline-flex;
	font-weight: 800;
	text-decoration: none;
}

.momhop-detail__hero,
.momhop-outing-detail__hero {
	background: linear-gradient(135deg, var(--mh-coral-soft), var(--mh-cream-2));
	border-radius: var(--mh-r-xl);
	min-height: 300px;
	overflow: hidden;
	position: relative;
}

.momhop-outing-detail__media,
.momhop-detail__media {
	min-height: 300px;
}

.momhop-detail__scrim,
.momhop-outing-detail__hero::after {
	background: linear-gradient(180deg, transparent 22%, color-mix(in srgb, var(--mh-ink) 74%, transparent));
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.momhop-outing-detail__intro {
	bottom: 0;
	color: #fff;
	left: 0;
	padding: var(--mh-space-5);
	position: absolute;
	right: 0;
	z-index: 1;
}

.momhop-outing-detail__intro .momhop-outing-detail__category,
.momhop-outing-detail__intro .momhop-outing-detail__place {
	color: rgba(255, 255, 255, 0.88);
}

.momhop-detail__title {
	font-size: clamp(24px, 8vw, 46px);
	margin-bottom: var(--mh-space-2);
}

.momhop-meta {
	display: grid;
	gap: var(--mh-space-2);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.momhop-meta__item {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line-soft);
	border-radius: var(--mh-r);
	padding: var(--mh-space-3);
}

.momhop-outing-detail__section,
.momhop-note,
.momhop-pairing {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line-soft);
	border-radius: var(--mh-r-lg);
	padding: var(--mh-space-4);
}

.momhop-note {
	background: linear-gradient(135deg, var(--mh-coral-soft), var(--mh-surface-2));
}

.momhop-note__who {
	align-items: center;
	display: flex;
	gap: 6px;
	margin-top: 3px;
	margin-bottom: var(--mh-space-3);
}

.momhop-note__pic {
	align-items: center;
	background: var(--mh-coral-deep);
	border-radius: 50%;
	color: #fff;
	display: inline-flex;
	font-family: var(--mh-display-font);
	height: 34px;
	justify-content: center;
	width: 34px;
}

.momhop-note__name,
.momhop-note__role {
	display: block;
}

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

.momhop-note__p {
	color: color-mix(in srgb, var(--mh-coral-deep) 45%, var(--mh-ink));
	font-family: var(--mh-display-font);
	font-style: italic;
	margin: 0;
}

.momhop-place-list {
	display: grid;
	gap: var(--mh-space-3);
}

.momhop-place-card,
.momhop-pairing {
	background: var(--mh-surface-2);
}

.momhop-place-card {
	border: 1px solid var(--mh-line-soft);
	border-radius: var(--mh-r);
	padding: var(--mh-space-3);
}

.momhop-place-card h3,
.momhop-pairing__t {
	font-family: var(--mh-display-font);
	margin: 0 0 var(--mh-space-2);
}

.momhop-actionbar,
.momhop-outing-detail__actions {
	align-items: center;
	backdrop-filter: blur(16px);
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r-pill);
	bottom: 76px;
	box-shadow: var(--mh-sh-float);
	display: flex;
	gap: var(--mh-space-2);
	justify-content: center;
	padding: var(--mh-space-2);
	position: sticky;
	z-index: 10;
}

.momhop-action {
	background: var(--mh-coral-deep);
	border: 1px solid var(--mh-coral-deep);
	color: #fff;
	cursor: pointer;
	font-size: var(--mh-fs-small);
	min-height: 40px;
	padding: 10px 13px;
}

.momhop-action--copy,
.momhop-action--share {
	background: var(--mh-surface);
	color: var(--mh-coral-deep);
}

.momhop-action--save {
	background: var(--mh-coral-soft);
	border-style: dashed;
	color: var(--mh-coral-deep);
	margin-top: 0;
}

.momhop-engine-slots {
	background: var(--mh-cream-2);
	border-radius: var(--mh-r);
	display: grid;
	gap: var(--mh-space-2);
	padding: var(--mh-space-3);
}

.momhop-engine-slot {
	margin: 0;
}

.momhop-engine-slot span {
	font-weight: 800;
	margin-right: var(--mh-space-2);
}


@media (min-width: 720px) {
	.momhop-results-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.momhop-outing-detail {
		padding: var(--mh-space-6);
	}

	.momhop-place-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.momhop-actionbar,
	.momhop-outing-detail__actions {
		bottom: var(--mh-space-5);
	}
}

@media (min-width: 980px) {
	.momhop-results-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Results Scaffold 6.5 — reusable MomHop parent-facing results surface. */
.momhop-page--results {
	display: flex;
	flex-direction: column;
	height: 100dvh;
	min-height: 100dvh;
	overflow: visible;
	padding-bottom: 0;
}

.momhop-content-region--results {
	flex: 1 1 auto;
	margin: 0 auto;
	max-width: 1180px;
	min-height: 0;
	padding: var(--mh-space-2) var(--mh-space-3) 0;
	width: 100%;
}

.momhop-results {
	display: flex;
	flex-direction: column;
	gap: var(--mh-space-2);
	height: 100%;
	min-height: 0;
}

.momhop-results-bar {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	display: grid;
	flex: 0 0 auto;
	gap: 5px;
	padding: 8px 0 6px;
	z-index: 8;
}

.momhop-results-bar__title { min-width: 0; }

.momhop-results-eyebrow,
.momhop-results-fallback-kicker,
.momhop-card__eyebrow--fallback {
	color: var(--mh-coral);
	font-size: var(--mh-fs-micro);
	font-weight: 800;
	letter-spacing: .13em;
	margin: 0;
	text-transform: uppercase;
}

.momhop-results-bar h1 {
	font-family: var(--mh-display-font);
	font-size: clamp(21px, 5.6vw, 28px);
	line-height: 1;
	margin: 2px 0 0;
}

.momhop-results-bar__controls,
.momhop-results-active,
.momhop-results-viewtoggle {
	align-items: center;
	display: flex;
	gap: 5px;
}

.momhop-results-bar__controls {
	flex-wrap: nowrap;
	min-width: 0;
	overflow: hidden;
	width: 100%;
}

.momhop-results-bar__spacer {
	flex: 1 1 auto;
	min-width: 0;
}

.momhop-results-filter-trigger,
.momhop-results-viewtoggle,
.momhop-results-active-chip,
.momhop-results-clear-all {
	border-radius: var(--mh-r-pill);
	font-family: var(--mh-ui-font);
	font-weight: 800;
}

.momhop-results-filter-trigger {
	align-items: center;
	background: var(--mh-coral-deep);
	border: 0;
	color: #fff;
	display: inline-flex;
	flex: 0 0 auto;
	font-size: var(--mh-fs-micro);
	gap: 4px;
	min-height: 30px;
	padding: 7px 8px;
}

.momhop-results-filter-count {
	align-items: center;
	background: #fff;
	border-radius: var(--mh-r-pill);
	color: var(--mh-coral-deep);
	display: inline-flex;
	font-size: var(--mh-fs-micro);
	height: 20px;
	justify-content: center;
	min-width: 20px;
	padding: 0 6px;
}

.momhop-results-viewtoggle {
	background: var(--mh-cream);
	border: 1px solid var(--mh-line);
	flex: 0 0 auto;
	gap: 2px;
	padding: 3px;
}

.momhop-results-viewtoggle__btn {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: var(--mh-r-pill);
	color: var(--mh-ink-soft);
	cursor: pointer;
	display: inline-flex;
	font-size: var(--mh-fs-body);
	font-weight: 800;
	height: 28px;
	justify-content: center;
	line-height: 1;
	padding: 0;
	width: 30px;
}

.momhop-results-viewtoggle__btn[aria-pressed="true"] {
	background: var(--mh-coral-soft);
	box-shadow: none;
	color: var(--mh-coral-deep);
}

.momhop-results-viewtoggle--labeled .momhop-results-viewtoggle__btn {
	gap: 3px;
	height: 28px;
	padding: 0 7px;
	width: auto;
}

.momhop-results-viewtoggle__icon {
	display: inline-flex;
	font-size: var(--mh-fs-small);
	line-height: 1;
}

.momhop-results-viewtoggle__icon:empty { display: none; }

.momhop-results-viewtoggle__label {
	font-size: var(--mh-fs-micro);
	line-height: 1;
}


.momhop-results-active {
	flex-wrap: nowrap;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	padding-bottom: 1px;
	scrollbar-width: none;
	white-space: nowrap;
}

.momhop-results-active::-webkit-scrollbar { display: none; }

.momhop-results-active-chip,
.momhop-results-clear-all {
	background: var(--mh-coral-soft);
	border: 1px solid color-mix(in srgb, var(--mh-coral) 18%, transparent);
	color: var(--mh-coral-deep);
	flex: 0 0 auto;
	font-size: var(--mh-fs-micro);
	padding: 6px 9px;
}

.momhop-results-clear-all {
	background: var(--mh-surface);
	border-color: var(--mh-line);
	color: var(--mh-ink-soft);
}

.momhop-results-count {
	color: var(--mh-ink-soft);
	flex: 0 1 auto;
	font-size: var(--mh-fs-micro);
	margin: 0;
	min-width: 0;
	white-space: nowrap;
}

.momhop-results-count strong { color: var(--mh-ink); }

.momhop-filter-overlay[hidden],
.momhop-results-spinner[hidden],
.momhop-results-active[hidden],
.momhop-results-filter-count[hidden],
.momhop-results-count[hidden] {
	display: none;
}

.momhop-filter-overlay {
	inset: 0;
	position: fixed;
	z-index: 1000;
}

.momhop-filter-scrim {
	background: color-mix(in srgb, var(--mh-ink) 28%, transparent);
	border: 0;
	inset: 0;
	position: absolute;
}

.momhop-filter-sheet {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r-xl) var(--mh-r-xl) 0 0;
	bottom: 0;
	box-shadow: var(--mh-sh-float);
	display: grid;
	/* handle, head, scrolling body, foot — four children, four rows. With three rows the
	   head landed in the shrinkable row and the body overlapped it (covering the × button). */
	grid-template-rows: auto auto minmax(0, 1fr) auto;
	left: 50%;
	max-height: min(84vh, 760px);
	max-width: 680px;
	position: absolute;
	transform: translateX(-50%);
	width: min(100%, 680px);
}

.momhop-filter-sheet__handle {
	background: var(--mh-line);
	border-radius: var(--mh-r-pill);
	height: 4px;
	justify-self: center;
	margin-top: var(--mh-space-3);
	width: 46px;
}

.momhop-filter-sheet__head,
.momhop-filter-sheet__foot {
	align-items: center;
	display: flex;
	gap: var(--mh-space-3);
	justify-content: space-between;
	padding: var(--mh-space-4);
}

.momhop-filter-sheet__head h2,
.momhop-filter-group__head h3,
.momhop-results-fallback-msg h2,
.momhop-results-fallback-title,
.momhop-card__title {
	font-family: var(--mh-display-font);
	line-height: 1.1;
	margin: 0;
}

.momhop-filter-sheet__close {
	background: var(--mh-cream);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r-pill);
	color: var(--mh-ink);
	height: 32px;
	width: 36px;
}

.momhop-filter-sheet__body {
	display: grid;
	gap: var(--mh-space-4);
	overflow: auto;
	padding: 0 var(--mh-space-4) var(--mh-space-4);
}

.momhop-filter-group {
	border-top: 1px solid var(--mh-line-soft);
	display: grid;
	gap: var(--mh-space-3);
	padding-top: var(--mh-space-4);
}

.momhop-filter-group:first-child { border-top: 0; padding-top: 0; }
.momhop-filter-group__head p { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); margin: 4px 0 0; }

.momhop-filter-pillset {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mh-space-2);
}

.momhop-filter-pill {
	background: var(--mh-cream);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r-pill);
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-small);
	font-weight: 800;
	padding: 9px 11px;
}

.momhop-filter-pill[aria-pressed="true"] {
	background: var(--mh-coral-soft);
	border-color: color-mix(in srgb, var(--mh-coral) 36%, transparent);
	color: var(--mh-coral-deep);
}

.momhop-filter-toggle {
	align-items: center;
	background: var(--mh-cream);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r-pill);
	color: var(--mh-ink);
	display: inline-flex;
	font-weight: 800;
	gap: var(--mh-space-2);
	justify-self: start;
	padding: 8px 12px 8px 8px;
}

.momhop-filter-toggle__knob {
	background: var(--mh-ink-faint);
	border-radius: var(--mh-r-pill);
	height: 18px;
	width: 32px;
}

.momhop-filter-toggle[aria-pressed="true"] .momhop-filter-toggle__knob { background: var(--mh-sage); }

.momhop-filter-clear,
.momhop-filter-apply {
	border-radius: var(--mh-r-pill);
	font-weight: 800;
	padding: 11px 16px;
}

.momhop-filter-clear { background: var(--mh-surface); border: 1px solid var(--mh-line); color: var(--mh-ink-soft); }
.momhop-filter-apply { background: var(--mh-coral-deep); border: 1px solid var(--mh-coral-deep); color: #fff; }

.momhop-results-grid {
	display: grid;
	flex: 1 1 auto;
	gap: var(--mh-space-3);
	grid-auto-rows: max-content;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	min-height: 0;
	overflow: auto;
	padding-bottom: calc(var(--mh-nav-h) + var(--mh-nav-bottom) + env(safe-area-inset-bottom, 0px) + var(--mh-space-4));
	padding-top: 1px;
	scroll-padding-bottom: calc(var(--mh-nav-h) + var(--mh-nav-bottom) + env(safe-area-inset-bottom, 0px) + var(--mh-space-4));
}

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

@media (min-width: 1040px) {
	.momhop-results-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.momhop-results-grid--list { grid-template-columns: 1fr; }
/* Canonical browse card — outing browse surface only. */
.momhop-results-grid {
	gap: 13px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.momhop-card {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: 18px;
	box-shadow: var(--mh-card-shadow, var(--mh-sh-card));
	display: flex;
	flex-direction: column;
	overflow: hidden;
	position: relative;
}

.momhop-card--fallback { background: var(--mh-surface); }

.momhop-card__link { color: inherit; display: flex; flex: 1; flex-direction: column; text-decoration: none; }

.momhop-card--outing .momhop-card__media { aspect-ratio: 4 / 3; background: linear-gradient(135deg, var(--mh-coral-soft), var(--mh-sage-soft)); display: flex; height: auto; min-height: 0; padding-bottom: 0; position: relative; }
.momhop-card--outing .momhop-card__media::before { align-items: center; color: color-mix(in srgb, var(--mh-ink) 32%, transparent); content: "MomHop photo coming soon"; display: flex; font-family: var(--mh-ui-font); font-size: var(--mh-fs-micro); inset: 0; justify-content: center; pointer-events: none; position: absolute; }
.momhop-card--outing .momhop-card__img { aspect-ratio: inherit; background: transparent; height: 100%; margin: 0; min-height: 0; width: 100%; z-index: 1; }
.momhop-card--outing .momhop-card__img img { height: 100%; object-fit: cover; object-position: top center; width: 100%; }
.momhop-card__save, .momhop-card__exp { position: absolute; z-index: 2; }
.momhop-card__exp { -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); background: color-mix(in srgb, var(--mh-ink) 55%, transparent); border-radius: 999px; bottom: 8px; color: #fff; font-size: var(--mh-fs-micro); font-weight: 700; left: 8px; line-height: 1; padding: 4px 10px; }
.momhop-card__save { align-items: center; background: rgba(255,255,255,.88); border: 1px solid var(--mh-line); border-radius: 50%; box-shadow: none; color: var(--mh-coral, #d8694b); cursor: pointer; display: flex; font: inherit; font-size: var(--mh-fs-small); height: 26px; justify-content: center; line-height: 1; margin: 0; padding: 0; right: 7px; top: 7px; width: 26px; }
.momhop-card__save.is-saved, .momhop-card__save[aria-pressed="true"] { background: var(--mh-coral-soft); border-color: var(--mh-coral); color: var(--mh-coral-deep); }
.momhop-card__save.momhop-save-dormant { border-style: solid; margin-top: 0; }
.momhop-card__body { display: flex; flex-direction: column; gap: 7px; padding: 13px; }
.momhop-card--outing .momhop-card__body { gap: 6px; padding: 11px 12px 12px; }
.momhop-card__pickchip { align-items: center; background: var(--mh-coral-soft); border-radius: 999px; color: var(--mh-coral-deep); display: inline-flex; font-size: var(--mh-fs-micro); font-weight: 700; gap: 4px; letter-spacing: .04em; padding: 3px 9px; text-transform: uppercase; width: max-content; }
.momhop-card__eyebrow--fallback { background: transparent; border-radius: 0; color: var(--mh-coral); font-size: var(--mh-fs-micro); letter-spacing: .13em; margin: 0; padding: 0; position: static; text-transform: uppercase; }
.momhop-card__title { color: var(--mh-ink); font-family: var(--mh-display-font); font-size: var(--mh-fs-h3); font-weight: 600; line-height: 1.15; margin: 0; }
.momhop-card__listmeta { display: none; }
.momhop-results-grid--list .momhop-card__title { font-size: var(--mh-fs-h3); }
.momhop-card__neya { align-items: flex-start; border-left: 2px solid var(--mh-coral-soft); color: var(--mh-ink-soft); display: flex; font-family: var(--mh-ui-font); font-size: var(--mh-fs-micro); font-style: italic; gap: 5px; line-height: 1.3; margin: 0; padding-left: 7px; }
.momhop-card__neya .q { color: var(--mh-coral); flex: none; font-size: var(--mh-fs-small); font-style: normal; font-weight: 700; line-height: 1; }
.momhop-card__places { display: flex; flex-wrap: wrap; gap: 6px; }
.momhop-pt { align-items: center; background: var(--mh-cream); border: 1px solid var(--mh-line); border-radius: 8px; display: flex; flex: 1 1 112px; gap: 4px; max-width: 100%; min-width: 0; padding: 3px 4px; }
.momhop-pt__img { background: linear-gradient(135deg, var(--mh-sage-soft), var(--mh-coral-soft)); border-radius: 6px; flex: 0 0 22px; height: 22px; width: 22px; }
.momhop-pt__name { color: var(--mh-ink); flex: 1 1 auto; font-size: var(--mh-fs-micro); font-weight: 600; max-width: 18ch; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.momhop-card__tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 0; }
.momhop-card__tag { background: var(--mh-cream); border: 1px solid var(--mh-line); border-radius: 999px; color: var(--mh-ink-soft); font-size: var(--mh-fs-micro); line-height: 1.2; padding: 3px 9px; }
.momhop-card__tag--energy { border-color: var(--mh-sun); color: var(--mh-sun-text); font-weight: 600; }

/* Canonical Outing list view (master Section 19). */
.momhop-results-grid--list { display: block; overflow: visible; }
.momhop-results-grid--list .momhop-card--outing { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r); box-shadow: var(--mh-card-shadow); display: grid; gap: 12px; grid-template-columns: 60px minmax(0, 1fr) 26px; margin-bottom: 8px; padding: 8px; }
.momhop-results-grid--list .momhop-card--outing .momhop-card__link { display: contents; }
.momhop-results-grid--list .momhop-card--outing .momhop-card__media { align-self: stretch; aspect-ratio: 1 / 1; border-radius: var(--mh-r-sm); grid-column: 1; height: auto; min-height: 60px; overflow: hidden; width: 60px; }
.momhop-results-grid--list .momhop-card--outing .momhop-card__media::before { content: ""; }
.momhop-results-grid--list .momhop-card--outing .momhop-card__img,
.momhop-results-grid--list .momhop-card--outing .momhop-card__img img { height: 100%; object-fit: cover; object-position: top center; width: 100%; }
.momhop-results-grid--list .momhop-card--outing .momhop-card__body { align-self: center; gap: 6px; grid-column: 2; min-width: 0; padding: 0; }
.momhop-results-grid--list .momhop-card--outing .momhop-card__pickchip,
.momhop-results-grid--list .momhop-card--outing .momhop-card__neya,
.momhop-results-grid--list .momhop-card--outing .momhop-card__places,
.momhop-results-grid--list .momhop-card--outing .momhop-card__exp { display: none; }
.momhop-results-grid--list .momhop-card--outing .momhop-card__listmeta--list { color: var(--mh-ink-soft); display: block; font-family: var(--mh-ui-font); font-size: var(--mh-fs-micro); line-height: 1.25; margin: 0; }
.momhop-results-grid--list .momhop-card--outing .momhop-card__tags { display: flex; flex-wrap: wrap; gap: 5px; }
.momhop-results-grid--list .momhop-card--outing .momhop-card__save { align-self: start; grid-column: 3; position: static; }

.momhop-card--event,
.momhop-card--guide {
	/* Events/Guides are intentionally outside this build. */
}

.momhop-results-fallback-msg {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r-lg);
	box-shadow: var(--mh-sh-1);
	padding: var(--mh-space-5);
}

.momhop-results-fallback-msg p:last-child { color: var(--mh-ink-soft); margin-bottom: 0; }
/* "Loosen one thing" — each chip drops exactly one asked-for group and shows what that gives. */
.momhop-results-loosen { display: flex; flex-wrap: wrap; gap: 8px; margin-top: var(--mh-space-3); }
.momhop-results-loosen__chip { align-items: center; background: var(--mh-surface); border: 1.5px solid var(--mh-coral); border-radius: var(--mh-r-pill, 999px); color: var(--mh-coral-deep, var(--mh-coral)); display: inline-flex; font-size: var(--mh-fs-body); font-weight: 700; gap: 6px; min-height: 40px; padding: 8px 14px; text-decoration: none; }
.momhop-results-loosen__chip:hover { background: var(--mh-coral-soft, var(--mh-cream)); }
.momhop-results-loosen__n { background: var(--mh-coral-soft, var(--mh-cream)); border-radius: 999px; font-size: var(--mh-fs-small); padding: 2px 7px; }
.momhop-results-fallback-title { font-size: var(--mh-fs-h3); margin: var(--mh-space-4) 0 var(--mh-space-3); }

.momhop-results-spinner {
	align-items: center;
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r-pill);
	box-shadow: var(--mh-sh-1);
	color: var(--mh-ink-soft);
	display: inline-flex;
	font-weight: 800;
	gap: var(--mh-space-2);
	justify-self: center;
	padding: 10px 14px;
}

.momhop-results-spinner__dot {
	animation: momhop-results-spin 900ms linear infinite;
	border: 2px solid var(--mh-coral-soft);
	border-top-color: var(--mh-coral);
	border-radius: 50%;
	height: 16px;
	width: 16px;
}

@keyframes momhop-results-spin { to { transform: rotate(360deg); } }

@media (min-width: 760px) {
	.momhop-page--results {
		height: auto;
		min-height: 100vh;
		padding-bottom: var(--mh-space-8);
	}

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

	.momhop-results {
		height: auto;
		min-height: calc(100vh - 60px - var(--mh-space-8));
	}

	.momhop-results-grid {
		overflow: visible;
		padding-bottom: 0;
	}
}

/* Step 6.8 — routed Outing + Place detail mockup binding. */
.momhop-content-region--detail {
	margin: 0 auto;
	max-width: 760px;
	padding: var(--mh-space-2) var(--mh-space-3) 96px;
	width: 100%;
}

@media (min-width: 760px) {
	.momhop-content-region--detail {
		padding: 20px 24px 96px;
	}
}

.momhop-detail {
	display: grid;
	gap: var(--mh-space-4);
	padding: var(--mh-space-3) 0 var(--mh-space-6);
}

.momhop-backbtn.backbtn {
	align-items: center;
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r-pill);
	box-shadow: var(--mh-sh-1);
	color: var(--mh-ink);
	display: inline-flex;
	font-weight: 800;
	justify-content: center;
	min-height: 38px;
	padding: 0 15px;
	text-decoration: none;
	width: max-content;
}

.momhop-detail__hero.photo {
	background: linear-gradient(135deg, var(--mh-coral-soft), var(--mh-sage-soft, #e3eee6));
	border-radius: var(--mh-r-xl);
	min-height: 220px;
	overflow: hidden;
	position: relative;
}

.momhop-detail__media,
.momhop-detail__media.momhop-outing-photo,
.momhop-detail__media.momhop-place-photo {
	background: linear-gradient(135deg, var(--mh-coral-soft), var(--mh-sage-soft));
	inset: 0;
	min-height: 220px;
	position: absolute;
}

.momhop-detail__media img {
	height: 100%;
	object-fit: cover;
	object-position: var(--momhop-media-position-x, 50%) var(--momhop-media-position-y, 0%);
	transform: scale(var(--momhop-media-scale, 1));
	width: 100%;
}

.momhop-detail__pick {
	background: var(--mh-coral-deep);
	border-radius: var(--mh-r-pill);
	box-shadow: var(--mh-sh-1);
	color: #fff;
	font-size: var(--mh-fs-micro);
	font-weight: 900;
	left: var(--mh-space-3);
	letter-spacing: 0.06em;
	padding: 6px 12px;
	position: absolute;
	text-transform: uppercase;
	top: var(--mh-space-3);
	z-index: 2;
}

.momhop-vocab.vocab,
.momhop-vrow.vrow,
.momhop-operational-strip,
.momhop-from-place__items {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.momhop-vchip.vchip,
.momhop-spec.spec {
	align-items: center;
	border-radius: var(--mh-r-pill);
	display: inline-flex;
	font-size: var(--mh-fs-small);
	font-weight: 800;
	gap: 5px;
	padding: 6px 12px;
}

.momhop-vchip.category {
	background: var(--mh-sage, #3c7e60);
	border: 1px solid var(--mh-sage, #3c7e60);
	color: #fff;
}

.momhop-vchip.chip {
	background: var(--mh-sky-soft);
	border: 1px solid color-mix(in srgb, var(--mh-sky) 30%, var(--mh-surface));
	color: color-mix(in srgb, var(--mh-sky) 70%, var(--mh-ink));
}

.momhop-vchip.tag,
.momhop-spec.spec {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	color: var(--mh-ink-soft);
}

.momhop-note.note,
.momhop-take.take,
.momhop-from-place,
.momhop-sec.sec,
.momhop-map-section,
.momhop-place-events,
.momhop-operational-strip,
.momhop-tag-section {
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r-lg);
	padding: var(--mh-space-4);
}

.momhop-note.note {
	background: var(--mh-surface);
	border-left: 4px solid var(--mh-coral);
}

.momhop-note__label.nlabel,
.momhop-take__heading.th {
	color: var(--mh-coral-deep);
	font-size: var(--mh-fs-micro);
	font-weight: 900;
	letter-spacing: 0.07em;
	margin: 0 0 var(--mh-space-2);
	text-transform: uppercase;
}

.momhop-take.take {
	background: var(--mh-coral-soft);
}

.momhop-from-place,
.momhop-operational-strip,
.momhop-tag-section--features {
	background: var(--mh-sage-tint);
}

.momhop-tag-section--recommendations {
	background: var(--mh-coral-soft);
}

.momhop-pcard.pcard {
	align-items: center;
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r-lg);
	box-shadow: var(--mh-sh-1);
	color: inherit;
	display: flex;
	gap: 11px;
	margin-top: var(--mh-space-2);
	padding: 12px;
	text-decoration: none;
}

.momhop-pcard__img.pcard__img {
	background: linear-gradient(135deg, var(--mh-sage-soft), var(--mh-coral-soft));
	border-radius: var(--mh-r);
	flex: 0 0 60px;
	height: 60px;
}

.momhop-pcard__b.pcard__b,
.momhop-pcard__chips.pcard__chips,
.momhop-pcard__info.pcard__info {
	display: grid;
	gap: 4px;
}

.momhop-pcard__role.pcard__role {
	color: var(--mh-sage, #3c7e60);
	font-size: var(--mh-fs-micro);
	font-weight: 900;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.momhop-pcard__role.companion {
	color: var(--mh-sky);
}

.momhop-pcard__name.pcard__name {
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-lead);
}

.momhop-pcard__loc.pcard__loc,
.momhop-pcard__info.pcard__info {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-small);
}

.momhop-pcard__chips .c {
	background: var(--mh-cream-2);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r-pill);
	font-size: var(--mh-fs-micro);
	padding: 3px 8px;
}

.momhop-map.map {
	background: linear-gradient(135deg, var(--mh-coral-soft), var(--mh-sage-soft) 55%, var(--mh-sky-soft));
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r-lg);
	height: 190px;
	overflow: hidden;
}

.momhop-map__frame {
	border: 0;
	height: 100%;
	width: 100%;
}

.momhop-map__placeholder {
	align-items: center;
	display: grid;
	height: 100%;
	justify-items: center;
	padding: var(--mh-space-4);
	text-align: center;
}

.momhop-map__expand.map__expand {
	color: var(--mh-coral-deep);
	display: inline-flex;
	font-weight: 800;
	margin-top: var(--mh-space-2);
}

.momhop-evt-row.evt-row {
	align-items: center;
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r);
	display: flex;
	justify-content: space-between;
	margin-top: var(--mh-space-2);
	padding: 10px 12px;
}

/* Each row opens its Event (owner 2026-10-12). The date stays on one line; a long title wraps instead. */
a.momhop-evt-row.evt-row {
	color: inherit;
	gap: 12px;
	min-height: 44px;
	text-decoration: none;
}
/* 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). */
a.momhop-evt-row.evt-row:focus-visible {
	border-color: var(--mh-coral);
}
@media (hover: hover) {
	a.momhop-evt-row.evt-row:hover {
		border-color: var(--mh-coral);
	}
}
a.momhop-evt-row.evt-row span {
	flex: none;
	white-space: nowrap;
}

/* Place page, "Good to know": Google's practical facts (owner 2026-10-12). */
.momhop-place-goodtoknow__head {
	align-items: baseline;
	display: flex;
	gap: 12px;
	justify-content: space-between;
}
/* Google's own rules for its name here: these words, one line, 12 to 16 px, regular weight, this grey. */
.momhop-place-goodtoknow__credit {
	color: var(--mh-google-credit);
	flex: none;
	font-family: Roboto, var(--mh-ui-font);
	font-size: var(--mh-fs-small);
	font-style: normal;
	font-weight: 400;
	letter-spacing: normal;
	white-space: nowrap;
}
.momhop-place-goodtoknow__list {
	margin: 0;
}
.momhop-place-goodtoknow__row {
	border-top: 1px solid var(--mh-line-soft);
	display: flex;
	font-size: var(--mh-fs-body);
	gap: 8px;
	padding: 8px 0;
}
.momhop-place-goodtoknow__row:first-child {
	border-top: 0;
	padding-top: 2px;
}
.momhop-place-goodtoknow__row:last-child {
	padding-bottom: 0;
}
.momhop-place-goodtoknow__row dt {
	color: var(--mh-ink-soft);
	flex: 0 0 106px;
	font-size: var(--mh-fs-small);
	font-weight: var(--mh-fw-ui);
	line-height: 1.6;
	margin: 0;
}
.momhop-place-goodtoknow__row dd {
	color: var(--mh-ink);
	flex: 1;
	margin: 0;
	min-width: 0;
}

.momhop-eslot.eslot {
	border: 1px dashed var(--mh-line);
	border-radius: var(--mh-r-lg);
	padding: var(--mh-space-4);
}

.momhop-dsheet.dsheet {
	background: color-mix(in srgb, var(--mh-ink) 32%, transparent);
	inset: 0;
	position: fixed;
	z-index: 50;
}

.momhop-dsheet__card {
	background: var(--mh-surface);
	border-radius: var(--mh-r-xl) var(--mh-r-xl) 0 0;
	bottom: 0;
	display: grid;
	gap: var(--mh-space-2);
	left: 50%;
	max-width: 520px;
	padding: var(--mh-space-4);
	position: absolute;
	transform: translateX(-50%);
	width: min(100%, 520px);
}

.momhop-dopt.dopt,
.momhop-dsheet__close {
	background: var(--mh-surface-2);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r);
	color: var(--mh-ink);
	cursor: pointer;
	display: grid;
	gap: 3px;
	padding: 12px;
	text-align: left;
}

/* Step 6.10 parent Events surface: scoped MomHop-only selectors. */
.momhop-events { box-sizing: border-box; min-height: 100%; max-width: 100%; overflow-x: hidden; padding-bottom: 112px; background: var(--momhop-cream, #fbf6ef); color: var(--momhop-ink, #2c2520); }
.momhop-events *, .momhop-events *::before, .momhop-events *::after { box-sizing: border-box; }
.momhop-events-bar { position: sticky; top: 0; z-index: 8; max-width: 100%; overflow: hidden; padding: 8px 16px 8px; background: var(--momhop-cream, #fbf6ef); border-bottom: 1px solid var(--momhop-line, #ece0d1); }
.momhop-events-bar__title h1 { margin: 2px 0 0; font-family: var(--momhop-display, Fraunces, Georgia, serif); font-size: var(--mh-fs-h2); line-height: 1.05; }
/* When the middle column is too narrow for the row (a window about 1,000 px wide), the view switch drops to a second row. It used to be cut off there. */
.momhop-events-bar__controls { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 6px; max-width: 100%; min-width: 0; margin-top: 7px; }
.momhop-events-bar__spacer { flex: 1 1 24px; min-width: 0; }
.momhop-events-views { max-width: 100%; overflow-x: hidden; padding: 0 14px 18px; }

.momhop-events-bar .momhop-results-filter-trigger,
.momhop-events-bar .momhop-helpchoose,
.momhop-events-bar .momhop-results-viewtoggle {
	max-width: 100%;
}

.momhop-events-bar .momhop-helpchoose__t {
	overflow: hidden;
	text-overflow: ellipsis;
}

.momhop-events-filter .momhop-filter-sheet {
	overflow: hidden;
}

.momhop-events-filter .momhop-filter-sheet__head {
	background: var(--mh-surface);
	border-bottom: 1px solid var(--mh-line-soft);
	flex: 0 0 auto;
	position: relative;
	z-index: 2;
}

.momhop-events-filter .momhop-filter-sheet__body {
	position: relative;
	z-index: 1;
}
.momhop-events-axis { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 2px 8px; }
.momhop-events-axis__btn { width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--momhop-line, #ece0d1); border-radius: var(--mh-r-pill); background: var(--mh-surface); color: var(--momhop-ink, #2c2520); text-decoration: none; box-shadow: var(--momhop-card-shadow, 0 8px 24px rgba(44,37,32,.06)); }
.momhop-events-axis__label { flex: 1; text-align: center; font-family: var(--momhop-display, Fraunces, Georgia, serif); }
.momhop-events-axis__label span { display: block; font-family: var(--momhop-ui, system-ui, sans-serif); font-size: var(--mh-fs-small); color: var(--momhop-ink-soft, #7a6f64); }
.momhop-events-today { display: inline-flex; margin: 0 0 8px 2px; padding: 6px 12px; border-radius: var(--mh-r-pill); background: var(--momhop-coral-soft, #fbe7dd); color: var(--momhop-coral-deep, #bf563b); font-size: var(--mh-fs-small); font-weight: 700; text-decoration: none; }
.momhop-events-daybox { margin: 0 0 12px; padding: 10px; border: 1px solid var(--momhop-line, #ece0d1); border-radius: var(--mh-r); background: color-mix(in srgb, var(--mh-surface) 78%, transparent); box-shadow: var(--momhop-card-shadow, 0 8px 24px rgba(44,37,32,.06)); }
.momhop-events-daybox.is-today { border-color: color-mix(in srgb, var(--mh-coral) 42%, transparent); }
.momhop-events-daybox__head { display: flex; align-items: baseline; gap: 8px; margin-bottom: 8px; }
.momhop-events-daybox__head .daybox__dow { font-family: var(--momhop-display, Fraunces, Georgia, serif); font-size: var(--mh-fs-lead); }
.momhop-events-daybox__head .daybox__date { color: var(--momhop-ink-soft, #7a6f64); font-size: var(--mh-fs-small); }
.momhop-events-daybox__head .daybox__today { margin-left: auto; font-size: var(--mh-fs-micro); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--momhop-coral-deep, #bf563b); }
.momhop-event-row { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 9px; align-items: center; max-width: 100%; min-width: 0; margin-top: 8px; overflow: hidden; padding: 10px; border: 1px solid color-mix(in srgb, var(--mh-line) 82%, transparent); border-radius: var(--mh-r-sm); background: var(--mh-surface); color: inherit; text-decoration: none; }
.momhop-event-row__thumb { align-self: start; display: block; height: 46px; min-width: 0; overflow: hidden; width: 46px; }
.momhop-event-row__photo { border-radius: var(--mh-r-sm); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--mh-surface) 58%, transparent); }
.momhop-event-row__photo::after { font-size: var(--mh-fs-micro); }
.momhop-event-row__body { display: grid; gap: 4px; min-width: 0; }
.momhop-event-row__time { color: var(--momhop-coral-deep, #bf563b); font-size: var(--mh-fs-small); font-weight: 800; }
.momhop-event-row__title { font-size: var(--mh-fs-body); line-height: 1.18; min-width: 0; overflow-wrap: anywhere; }
.momhop-event-row__meta { align-items: center; display: flex; flex-wrap: wrap; gap: 4px 6px; min-width: 0; }
.momhop-event-chip,
.momhop-event-reg,
.momhop-event-recurs { display: inline-flex; max-width: 100%; width: fit-content; padding: 3px 8px; border-radius: var(--mh-r-pill); background: var(--momhop-sage-soft, #e3eee6); color: var(--momhop-sage, #3c7e60); font-size: var(--mh-fs-micro); font-weight: 700; }
.momhop-event-reg--required { background: var(--mh-coral-soft); color: var(--mh-coral-deep); }
.momhop-ev__status { background: var(--mh-cream-2); border-radius: var(--mh-r-sm); color: var(--mh-ink); font-weight: 700; margin: 12px 0; padding: 10px 12px; }
.momhop-ev__status.is-cancelled { background: var(--mh-coral-soft); color: var(--mh-coral-deep); }
/* Card list in two parts (Neya, 2026-10-19): Ongoing runs once with their dates, then one card per program. */
.momhop-events-cards > .momhop-events-ongoing, .momhop-events-cards > .momhop-events-part { grid-column: 1 / -1; }
/* Line icons sit on the same line as the words they mark. */
.momhop-event-card__place, .momhop-pcard__loc, .momhop-event-venue .momhop-pcard__loc { align-items: center; display: inline-flex; gap: 4px; }
.momhop-event-card__place svg, .momhop-pcard__loc svg { flex: none; }
.momhop-events-part { color: var(--mh-ink); font-family: var(--mh-font-display); font-size: var(--mh-fs-h3); margin: 14px 0 8px; }
.momhop-events-ongoing__list { display: grid; gap: 8px; margin-bottom: 6px; }
.momhop-events-ongoing__item { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r-md); color: var(--mh-ink); display: grid; gap: 2px; padding: 10px 12px; text-decoration: none; }
.momhop-events-ongoing__item span { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); }
.momhop-events-ongoing__item em { color: var(--mh-coral-deep); font-size: var(--mh-fs-small); font-style: normal; font-weight: 700; }
.momhop-event-card__more { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); }
.momhop-event-reg--closed { background: var(--mh-cream-2); color: var(--mh-ink-soft); text-decoration: none; }
.momhop-event-reg--unknown { background: transparent; border: 1px solid var(--mh-line); color: var(--mh-ink-soft); }
.momhop-event-cost { background: var(--mh-cream); color: var(--mh-ink); }
.momhop-event-place { color: var(--momhop-ink-soft, #7a6f64); font-size: var(--mh-fs-small); min-width: 0; overflow-wrap: anywhere; }
.momhop-events-empty { margin: 8px 0 0; padding: 10px; border: 1px dashed var(--momhop-line, #ece0d1); border-radius: var(--mh-r-sm); color: var(--momhop-ink-soft, #7a6f64); }
.momhop-events-month-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; margin: 8px 0 14px; }
.momhop-events-month-dow { text-align: center; color: var(--momhop-ink-soft, #7a6f64); font-size: var(--mh-fs-micro); font-weight: 800; }
.momhop-events-month-day { min-height: 42px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border: 1px solid var(--momhop-line, #ece0d1); border-radius: var(--mh-r-sm); background: var(--mh-surface); color: inherit; text-decoration: none; }
.momhop-events-month-day.is-muted { opacity: .35; background: repeating-linear-gradient(45deg, var(--mh-surface), var(--mh-surface) 5px, var(--mh-cream) 5px, var(--mh-cream) 10px); }
.momhop-events-month-day.has-events i { width: 6px; height: 6px; border-radius: var(--mh-r-pill); background: var(--momhop-coral, #d8694b); }
.momhop-events-month-day.is-selected { border-color: var(--momhop-coral, #d8694b); box-shadow: inset 0 0 0 1px var(--momhop-coral, #d8694b); }
.momhop-events-month-list { padding: 12px; border-radius: var(--mh-r); background: color-mix(in srgb, var(--mh-surface) 72%, transparent); border: 1px solid var(--momhop-line, #ece0d1); }
.momhop-events-month-list h2 { margin: 0 0 8px; font-family: var(--momhop-display, Fraunces, Georgia, serif); font-size: var(--mh-fs-h3); }
.momhop-events-cards { display: grid; gap: 12px; max-width: 100%; min-width: 0; padding-top: 14px; }
.momhop-event-card { box-sizing: border-box; position: relative; display: grid; gap: 0; width: 100%; max-width: 100%; min-width: 0; overflow: hidden; border: 1px solid var(--momhop-line, #ece0d1); border-radius: var(--mh-r); background: var(--mh-surface); color: inherit; text-decoration: none; box-shadow: var(--momhop-card-shadow, 0 8px 24px rgba(44,37,32,.06)); }
.momhop-event-card__media { aspect-ratio: 16 / 9; display: block; margin: 0; min-width: 0; overflow: hidden; position: relative; width: 100%; }
.momhop-event-photo { background: linear-gradient(135deg, var(--momhop-coral-soft, #fbe7dd), var(--momhop-sage-soft, #e3eee6)); display: block; height: 100%; overflow: hidden; position: relative; width: 100%; }
.momhop-event-photo::after { color: var(--mh-ink-40); content: "MomHop"; font-family: var(--momhop-display, Fraunces, Georgia, serif); font-size: var(--mh-fs-body); font-weight: 700; left: 50%; letter-spacing: .04em; position: absolute; top: 50%; transform: translate(-50%, -50%); }
.momhop-event-photo.has-image::after { content: none; }
.momhop-event-photo img { height: 100%; inset: 0; object-fit: cover; object-position: var(--momhop-media-position-x, 50%) var(--momhop-media-position-y, 0%); position: absolute; transform: scale(var(--momhop-media-scale, 1)); width: 100%; }
.momhop-event-card .datechip { position: absolute; left: 12px; top: 12px; z-index: 2; width: 48px; min-height: 48px; display: flex; align-items: center; justify-content: center; text-align: center; border-radius: var(--mh-r-sm); background: color-mix(in srgb, var(--mh-coral-soft) 94%, transparent); color: var(--momhop-coral-deep, #bf563b); font-weight: 800; font-size: var(--mh-fs-small); box-shadow: var(--mh-sh-1); }
.momhop-event-card__body { box-sizing: border-box; display: grid; gap: 6px; min-width: 0; padding: 12px 14px 14px; width: 100%; }
.momhop-event-card__title,
.momhop-event-card__when,
.momhop-event-card__place { min-width: 0; overflow-wrap: anywhere; }
.momhop-event-card__title { font-size: var(--mh-fs-lead); line-height: 1.18; }
.momhop-event-card__when,
.momhop-event-card__place { color: var(--momhop-ink-soft, #7a6f64); font-size: var(--mh-fs-small); }
.momhop-event-typebadge { width: fit-content; max-width: 100%; padding: 3px 8px; border-radius: var(--mh-r-pill); background: var(--momhop-sky-soft, #e2edf2); color: var(--momhop-sky, #5c93b0); font-size: var(--mh-fs-micro); font-weight: 800; }
.momhop-events-custom-dates { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
.momhop-events-custom-dates label { display: grid; gap: 5px; color: var(--momhop-ink-soft, #7a6f64); font-size: var(--mh-fs-small); font-weight: 700; }
.momhop-events-custom-dates input { width: 100%; border: 1px solid var(--momhop-line, #ece0d1); border-radius: var(--mh-r-sm); padding: 9px; }
.momhop-event-detail__media { background: linear-gradient(135deg, var(--momhop-coral-soft, #fbe7dd), var(--momhop-sage-soft, #e3eee6)); }
.momhop-event-recurrence-line { margin: 5px 0 0; color: rgba(255,255,255,.88); font-size: var(--mh-fs-small); font-weight: 700; }
.momhop-event-registration { margin: 12px 16px; }
.momhop-event-venue { margin-bottom: 12px; }
.momhop-actionbar .momhop-action--calendar { text-decoration: none; }


.momhop-events.is-loading .momhop-events-views {
	opacity: .38;
	transition: opacity .16s ease;
}

@keyframes momhop-swap-spin { to { transform: rotate(360deg); } }
@keyframes momhop-loading-pulse { from { opacity: .45; transform: scaleX(.96); } to { opacity: 1; transform: scaleX(1); } }

/* Responsive filter sheet guardrails for Step 6.10.1. */
.momhop-filter-sheet {
	max-height: min(82dvh, 760px);
	width: min(calc(100% - 24px), 680px);
}

.momhop-filter-sheet__foot {
	flex-wrap: wrap;
}

@media (max-width: 420px) {
	.momhop-filter-sheet__foot .momhop-filter-clear,
	.momhop-filter-sheet__foot .momhop-filter-apply {
		flex: 1 1 100%;
	}

	.momhop-events-custom-dates {
		grid-template-columns: 1fr;
	}
}


@media (max-width: 480px) {
	/* Neya, 2026-10-19: keep the words "Help me choose" visible on phones; smaller, not hidden. */
	.momhop-results-bar .momhop-helpchoose__t,
	.momhop-events-bar .momhop-helpchoose__t {
		font-size: var(--mh-fs-small);
		white-space: nowrap;
	}

	.momhop-results-bar .momhop-helpchoose,
	.momhop-events-bar .momhop-helpchoose {
		padding-inline: 8px;
	}

	.momhop-results-bar .momhop-results-viewtoggle--labeled .momhop-results-viewtoggle__btn,
	.momhop-events-bar .momhop-results-viewtoggle--labeled .momhop-results-viewtoggle__btn {
		padding-inline: 5px;
	}

	.momhop-results-bar .momhop-results-viewtoggle__label,
	.momhop-events-bar .momhop-results-viewtoggle__label {
		font-size: var(--mh-fs-micro);
	}

	/* Room for the words: the arrow goes, and the view switch keeps its icons only (names stay as labels). */
	.momhop-results-bar .momhop-helpchoose__arrow,
	.momhop-events-bar .momhop-helpchoose__arrow {
		display: none;
	}

	.momhop-results-bar .momhop-results-viewtoggle__label,
	.momhop-events-bar .momhop-results-viewtoggle__label {
		display: none;
	}
}

.momhop-favorite-toggle.is-saved,
.momhop-favorite-toggle[aria-pressed="true"] {
	background: var(--mh-coral-soft, #fbe7dd);
	border-color: var(--mh-coral, #d8694b);
	color: var(--mh-coral-deep, #bf563b);
}

.momhop-favwrap {
	position: relative;
}

.momhop-favwrap__heart {
	align-items: center;
	background: rgba(255, 255, 255, .9);
	border: 1px solid var(--mh-line);
	border-radius: 50%;
	color: var(--mh-coral-deep);
	display: flex;
	font-family: "Apple Color Emoji", "Segoe UI Symbol", "Noto Color Emoji", var(--mh-ui-font);
	font-size: var(--mh-fs-h3);
	height: 34px;
	justify-content: center;
	line-height: 1;
	margin: 0;
	padding: 0;
	position: absolute;
	right: 10px;
	top: 10px;
	width: 34px;
	z-index: 5;
}

.momhop-favwrap__heart [data-momhop-favorite-icon] {
	display: block;
	font-size: var(--mh-fs-h3);
	line-height: 1;
	transform: none;
}

.momhop-favorite-loginprompt {
	background: var(--mh-surface, #fff);
	border: 1px solid var(--mh-line, #ece0d1);
	border-radius: 12px;
	box-shadow: var(--mh-sh-card, 0 8px 24px rgba(44,37,32,.08));
	color: var(--mh-ink, #2c2520);
	display: grid;
	font-size: var(--mh-fs-small);
	gap: 4px;
	max-width: 190px;
	padding: 10px;
	position: absolute;
	right: 8px;
	top: 44px;
	z-index: 10;
}

.momhop-favorite-loginprompt a {
	color: var(--mh-coral-deep, #bf563b);
	font-weight: 700;
}

.momhop-newsletter-inline { display: grid; gap: 10px; }
.momhop-newsletter-inline label { display: grid; gap: 6px; font-weight: 700; }
.momhop-newsletter-inline input { border: 1px solid color-mix(in srgb, var(--mh-ink) 18%, transparent); border-radius: 14px; padding: 12px 14px; font: inherit; }
.momhop-newsletter-inline__button { justify-self: start; }
.momhop-newsletter-inline__status { margin: 0; color: var(--momhop-muted, #6f6258); font-size: 0.92rem; }
.momhop-newsletter-confirm { display: grid; gap: 8px; border: 1px solid color-mix(in srgb, var(--mh-coral) 25%, transparent); background: color-mix(in srgb, var(--mh-coral) 8%, transparent); border-radius: 16px; padding: 12px; }
.momhop-newsletter-confirm[hidden] { display: none; }
.momhop-newsletter-confirm p { margin: 0; }
.momhop-newsletter-confirm button { border: 0; border-radius: 999px; padding: 9px 12px; background: var(--mh-sage); color: #fff; font-weight: 800; }
.momhop-pmpro-newsletter { margin: 18px 0; padding: 14px; border: 1px solid color-mix(in srgb, var(--mh-ink) 12%, transparent); border-radius: 16px; background: rgba(255, 255, 255, 0.7); }
.momhop-newsletter-inline__state { margin: 0; font-weight: 800; color: var(--mh-ink); }
.momhop-newsletter-inline__actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.momhop-newsletter-inline__button[hidden] { display: none; }
.momhop-newsletter-inline__button--secondary { background: transparent; color: var(--mh-ink); border: 1px solid color-mix(in srgb, var(--mh-ink) 22%, transparent); }
.momhop-newsletter-inline[data-subscribed="1"] [data-momhop-newsletter-submit] { display: none; }
.momhop-newsletter-inline[data-subscribed="0"] [data-momhop-newsletter-unsubscribe] { display: none; }

/* Detail layout regression guard: titles live above media; empty media stays compact. */
.momhop-detail > .momhop-detail__intro.head {
	color: var(--mh-ink);
	display: grid;
	gap: 6px;
	padding: 0 2px;
	position: static;
	z-index: auto;
}

.momhop-detail > .momhop-detail__intro.head .momhop-detail__title {
	color: var(--mh-ink);
	font-family: var(--mh-display-font);
	font-size: clamp(24px, 7vw, 32px);
	line-height: 1.06;
	margin: 0;
}

.momhop-detail > .momhop-detail__intro.head .momhop-detail__place,
.momhop-detail > .momhop-detail__intro.head .momhop-event-recurrence-line {
	color: var(--mh-ink-soft);
	margin: 0;
}

.momhop-detail__hero.photo {
	min-height: 180px;
}

.momhop-detail__hero.photo.is-empty {
	min-height: 104px;
}

.momhop-detail__hero.photo.is-empty .momhop-detail__media {
	min-height: 104px;
}

.momhop-detail__hero.photo.is-empty .momhop-detail__scrim {
	display: none;
}

.momhop-detail__hero.photo.is-empty .momhop-detail__media::after {
	color: color-mix(in srgb, var(--mh-ink) 38%, transparent);
	content: "MomHop photo coming soon";
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-body);
	font-weight: 700;
	left: 50%;
	letter-spacing: 0.02em;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	white-space: nowrap;
}

.momhop-detail__hero.photo.has-image,
.momhop-detail__hero.photo.has-image .momhop-detail__media {
	min-height: 220px;
}

.momhop-detail .momhop-actionbar {
	box-sizing: border-box;
	flex-wrap: wrap;
	max-width: 100%;
	min-width: 0;
}

.momhop-detail .momhop-actionbar .momhop-action {
	align-items: center;
	border-radius: var(--mh-r-pill);
	display: inline-flex;
	flex: 1 1 96px;
	justify-content: center;
	min-width: 0;
	text-align: center;
	white-space: normal;
}

.momhop-detail--event .momhop-actionbar {
	border-radius: 24px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.momhop-detail--event .momhop-actionbar .momhop-action {
	width: 100%;
}

.momhop-detail--event .momhop-actionbar .momhop-share-status {
	grid-column: 1 / -1;
}


/* Detail action bars are inline: normal-flow last elements above the persistent nav. */
.momhop-content-region--detail {
	padding-bottom: calc(var(--mh-bottom-nav-h) + var(--mh-safe-bottom) + 24px);
	scroll-padding-bottom: calc(var(--mh-bottom-nav-h) + var(--mh-safe-bottom) + 24px);
}

.momhop-detail-actionbar,
.momhop-detail--outing .momhop-actionbar,
.momhop-detail--place .momhop-actionbar,
.momhop-detail--event .momhop-actionbar {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: 24px;
	box-shadow: var(--mh-sh-card);
	display: block;
	margin: 18px 0 0;
	min-height: 0;
	padding: var(--mh-space-2);
	position: static;
	width: 100%;
}

.momhop-detail-actionbar__inner,
.momhop-actionbar__inner {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	display: flex;
	gap: var(--mh-space-2);
	justify-content: center;
	margin: 0;
	max-width: none;
	min-height: 0;
	padding: 0;
	width: 100%;
}

.momhop-detail--event .momhop-actionbar__inner,
.momhop-detail--event .momhop-detail-actionbar__inner {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.momhop-detail-actionbar__inner .momhop-action,
.momhop-actionbar__inner .momhop-action {
	min-width: 0;
}

.momhop-detail-actionbar__inner .momhop-share-status,
.momhop-actionbar__inner .momhop-share-status {
	flex-basis: 100%;
}

.momhop-detail--event .momhop-actionbar__inner .momhop-share-status,
.momhop-detail--event .momhop-detail-actionbar__inner .momhop-share-status {
	grid-column: 1 / -1;
}

/* Detail cascade firewall — keep Kava and legacy Additional CSS out of MomHop app detail routes. */
.momhop-page--app-shell .momhop-content-region--detail {
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-body);
	line-height: 1.45;
	max-width: var(--mh-app-column-w);
	padding: 8px 0 calc(var(--mh-bottom-nav-h) + var(--mh-safe-bottom) + 24px);
}

.momhop-page--app-shell .momhop-content-region--detail *,
.momhop-page--app-shell .momhop-content-region--detail *::before,
.momhop-page--app-shell .momhop-content-region--detail *::after {
	box-sizing: border-box;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-detail,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail * {
	font-family: var(--mh-ui-font);
	line-height: 1.45;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-detail {
	background: var(--mh-cream);
	color: var(--mh-ink);
	display: grid;
	gap: 0;
	margin: 0;
	max-width: var(--mh-app-column-w);
	padding: 0 0 14px;
	width: 100%;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-detail h1,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail h2,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail h3,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail h4,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail p,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail figure {
	margin: 0;
	padding: 0;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-detail > .momhop-backbtn.backbtn {
	margin: 0 var(--mh-detail-inset) 10px;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-detail > .momhop-detail__intro.head {
	gap: 5px;
	padding: 15px 18px 0;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-detail > .momhop-detail__intro.head .momhop-detail__title {
	color: var(--mh-ink);
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-h2);
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.12;
	margin: 0;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-detail > .momhop-detail__intro.head .momhop-detail__place,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail > .momhop-detail__intro.head .momhop-event-recurrence-line {
	color: var(--mh-ink-soft);
	font-size: var(--mh-fs-small);
	line-height: 1.35;
	margin: 0;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-detail__hero.photo,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail__hero.photo.has-image,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail__hero.photo.has-image .momhop-detail__media {
	height: 190px;
	min-height: 190px;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-detail__hero.photo {
	border-radius: 0;
	margin: 0;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-detail__hero.photo.is-empty,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail__hero.photo.is-empty .momhop-detail__media {
	height: 104px;
	min-height: 104px;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-vocab.vocab {
	margin: 11px var(--mh-detail-inset) 0;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-specs.specs,
.momhop-page--app-shell .momhop-content-region--detail .momhop-operational-strip {
	margin: 10px 18px 0;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-vrow.vrow,
.momhop-page--app-shell .momhop-content-region--detail .momhop-operational-strip {
	gap: 7px;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-vchip.vchip,
.momhop-page--app-shell .momhop-content-region--detail .momhop-spec.spec {
	font-size: var(--mh-fs-small);
	line-height: 1.2;
	padding: 5px 12px;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-vchip.category {
	color: #fff;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-sec.sec,
.momhop-page--app-shell .momhop-content-region--detail .momhop-map-section,
.momhop-page--app-shell .momhop-content-region--detail .momhop-place-events {
	margin: 18px var(--mh-detail-inset) 0;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-sec__h.sec__h,
.momhop-page--app-shell .momhop-content-region--detail .momhop-map-section .momhop-sec__h,
.momhop-page--app-shell .momhop-content-region--detail .momhop-place-events h2,
.momhop-page--app-shell .momhop-content-region--detail .momhop-tag-section h4 {
	color: var(--mh-ink);
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-lead);
	font-weight: 600;
	line-height: 1.2;
	margin: 0 0 9px;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-note.note,
.momhop-page--app-shell .momhop-content-region--detail .momhop-take.take,
.momhop-page--app-shell .momhop-content-region--detail .momhop-tag-section {
	margin: 15px var(--mh-detail-inset) 0;
	padding: 13px 15px;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-note__label.nlabel,
.momhop-page--app-shell .momhop-content-region--detail .momhop-take__heading.th {
	font-size: var(--mh-fs-micro);
	line-height: 1.2;
	margin: 0 0 4px;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-note__p.ntext,
.momhop-page--app-shell .momhop-content-region--detail .momhop-take__row.row,
.momhop-page--app-shell .momhop-content-region--detail .momhop-take__row .rt {
	font-size: var(--mh-fs-small);
	line-height: 1.45;
	margin: 0;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-pcard.pcard {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r);
	box-shadow: var(--mh-sh-card);
	display: flex;
	gap: 11px;
	margin: 0 0 9px;
	padding: 11px 12px;
	text-decoration: none;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-pcard__img.pcard__img {
	height: 60px;
	width: 60px;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-pcard__name.pcard__name {
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-body);
	font-weight: 600;
	line-height: 1.12;
	margin: 2px 0;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-pcard__role.pcard__role {
	font-size: var(--mh-fs-micro);
	line-height: 1.2;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-pcard__loc.pcard__loc,
.momhop-page--app-shell .momhop-content-region--detail .momhop-pcard__info.pcard__info {
	font-size: var(--mh-fs-micro);
	line-height: 1.25;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-map.map {
	height: 138px;
	min-height: 138px;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-detail-actionbar,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail .momhop-actionbar.actionbar {
	background: color-mix(in srgb, var(--mh-surface) 92%, transparent);
	border: 1px solid var(--mh-line);
	border-radius: 18px;
	box-shadow: var(--mh-sh-card);
	margin: 16px 0 0;
	padding: 8px;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-detail-actionbar__inner .momhop-action,
.momhop-page--app-shell .momhop-content-region--detail .momhop-actionbar__inner .momhop-action {
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-small);
	font-weight: 700;
	line-height: 1.15;
	min-height: 44px;
	padding: 9px 14px;
}

/* Detail cleanup: specs are rectangular rows, take rows stay inline, and inline action bars never clip. */
.momhop-page--app-shell .momhop-content-region--detail .momhop-specs.specs {
	align-items: stretch;
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	max-width: none;
	min-width: 0;
	width: calc(100% - 36px);
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-spec.spec {
	align-items: start;
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: 12px;
	box-shadow: none;
	color: var(--mh-ink);
	display: grid;
	flex: 1 1 100%;
	font-size: var(--mh-fs-small);
	font-weight: 400;
	gap: 3px 6px;
	grid-template-columns: max-content minmax(0, 1fr);
	line-height: 1.35;
	max-width: 100%;
	min-width: 0;
	overflow: visible;
	padding: 7px 11px;
	white-space: normal;
	word-break: normal;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-spec.spec b {
	color: var(--mh-ink);
	font-weight: 700;
	min-width: 0;
	white-space: nowrap;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-take.take {
	overflow: hidden;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-take__row.row {
	align-items: flex-start;
	display: flex;
	gap: 9px;
	margin: 0;
	padding: 4px 0;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-take__row.row:empty {
	display: none;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-take__row.row .ri {
	align-items: flex-start;
	color: var(--mh-coral);
	display: inline-flex;
	flex: 0 0 14px;
	font-size: var(--mh-fs-body);
	justify-content: center;
	line-height: 1.45;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-take__row.row .rt {
	display: block;
	flex: 1 1 auto;
	min-width: 0;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-detail-actionbar,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail .momhop-actionbar.actionbar {
	box-sizing: border-box;
	margin: 16px var(--mh-detail-inset) 0;
	max-width: none;
	overflow: visible;
	padding: 8px;
	width: calc(100% - 2 * var(--mh-detail-inset));
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-detail-actionbar__inner,
.momhop-page--app-shell .momhop-content-region--detail .momhop-actionbar__inner {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-start;
	max-width: 100%;
	overflow: visible;
	width: 100%;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-detail-actionbar__inner .momhop-action,
.momhop-page--app-shell .momhop-content-region--detail .momhop-actionbar__inner .momhop-action {
	box-sizing: border-box;
	flex: 0 1 auto;
	font-size: var(--mh-fs-small);
	justify-content: center;
	min-width: 0;
	overflow: visible;
	padding: 9px 14px;
	text-align: center;
	white-space: nowrap;
	width: auto;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--event .momhop-actionbar__inner,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--event .momhop-detail-actionbar__inner {
	display: flex;
	flex-wrap: wrap;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-detail-actionbar__inner .momhop-share-status,
.momhop-page--app-shell .momhop-content-region--detail .momhop-actionbar__inner .momhop-share-status {
	grid-column: 1 / -1;
	min-height: 0;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-detail-actionbar__inner .momhop-share-status:empty,
.momhop-page--app-shell .momhop-content-region--detail .momhop-actionbar__inner .momhop-share-status:empty {
	display: none;
}


/* Desktop center-zone reflow PASS 1: keep mobile untouched, but center/widen detail and outing list content inside the 3-zone shell center. */
@media (min-width: 1024px) {
	.momhop-shell-center > .momhop-content-region--detail,
	.momhop-page--app-shell .momhop-shell-center > .momhop-content-region--detail {
		max-width: min(720px, 100%);
		padding-left: 0;
		padding-right: 0;
	}

	.momhop-page--app-shell .momhop-shell-center > .momhop-content-region--detail .momhop-detail {
		margin-left: auto;
		margin-right: auto;
		max-width: min(720px, 100%);
	}

	.momhop-shell-center > .momhop-content-region--results {
		max-width: 100%;
		padding-left: 0;
		padding-right: 0;
	}

	.momhop-shell-center .momhop-results-grid {
		grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
		justify-content: center;
		margin-left: auto;
		margin-right: auto;
		width: 100%;
	}

	.momhop-shell-center .momhop-results-grid--list {
		grid-template-columns: 1fr;
	}

	.momhop-shell-center .momhop-results-grid + .momhop-freecut,
	.momhop-shell-center .momhop-results .momhop-freecut {
		margin-left: auto;
		margin-right: auto;
		max-width: 100%;
		width: 100%;
	}
}

/* Bundle 2 — Outings detail/filter/list canonical finish. */
.momhop-results-bar__controls { align-items: center; display: flex; gap: 8px; }
.momhop-results-filter-trigger { align-items: center; background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: 999px; color: var(--mh-ink); display: inline-flex; font-size: var(--mh-fs-small); font-weight: 600; gap: 7px; padding: 8px 14px; }
.momhop-results-filter-trigger::before { content: "☰"; font-size: var(--mh-fs-small); line-height: 1; }
.momhop-results-filter-count { align-items: center; background: var(--mh-coral-deep); border-radius: 999px; color: #fff; display: inline-flex; font-size: var(--mh-fs-micro); height: 17px; justify-content: center; min-width: 17px; padding: 0 5px; }
.momhop-results-viewtoggle { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: 999px; display: inline-flex; gap: 2px; padding: 3px; }
.momhop-results-viewtoggle__btn { align-items: center; background: transparent; border: 0; border-radius: 999px; color: var(--mh-ink-soft); display: inline-flex; font-size: var(--mh-fs-small); font-weight: 700; gap: 4px; padding: 6px 10px; }
.momhop-results-viewtoggle__btn[aria-pressed="true"] { background: var(--mh-coral-soft); color: var(--mh-coral-deep); }
.momhop-filter-sheet__close { align-items: center; border-radius: 50%; display: inline-flex; height: 34px; justify-content: center; padding: 0; width: 34px; }
.momhop-filter-pill { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: 999px; color: var(--mh-ink); font-size: var(--mh-fs-small); font-weight: 500; padding: 8px 12px; text-transform: none; }
.momhop-filter-pill[aria-pressed="true"] { background: var(--mh-coral-deep); border-color: var(--mh-coral-deep); color: #fff; }
.momhop-filter-clear { background: transparent; border: 0; color: var(--mh-coral-deep); padding: 9px 0; }
.momhop-filter-apply { background: var(--mh-coral-deep); border-color: var(--mh-coral-deep); color: #fff; }
.momhop-card__tag, .momhop-vchip.vchip, .momhop-pcard__chips .c { background: var(--momhop-pill-bg, var(--mh-cream)); border-color: var(--momhop-pill-border, var(--mh-line)); color: var(--momhop-pill-color, var(--mh-ink-soft)); }
.momhop-card--outing .momhop-card__title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.momhop-results-grid--list .momhop-card--outing .momhop-card__media { height: 60px; min-height: 0; }
.momhop-results-grid--list .momhop-card--outing .momhop-card__tags { display: none; }

.momhop-detail { background: var(--mh-cream); gap: 12px; padding: 0 0 var(--mh-space-6); }
.momhop-detail-topbar { align-items: center; background: var(--mh-cream); border-bottom: 1px solid color-mix(in srgb, var(--mh-line) 70%, transparent); display: grid; gap: 10px; grid-template-columns: 34px minmax(0, 1fr) 34px; height: 54px; padding: 0 14px; position: sticky; top: 0; z-index: 4; }
.momhop-detail-topbar__icon { align-items: center; background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: 50%; color: var(--mh-ink); display: inline-flex; font-size: var(--mh-fs-h2); height: 34px; justify-content: center; line-height: 1; padding: 0; text-decoration: none; width: 34px; }
.momhop-detail-topbar__save { color: var(--mh-coral); font-size: var(--mh-fs-body); }
.momhop-detail-topbar__save.is-saved, .momhop-detail-topbar__save[aria-pressed="true"] { background: var(--mh-coral-soft); border-color: var(--mh-coral); color: var(--mh-coral-deep); }
.momhop-detail-topbar__title { color: var(--mh-ink-soft); font-family: var(--mh-display-font); font-size: var(--mh-fs-body); font-weight: 600; line-height: 1.1; margin: 0; overflow: hidden; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.momhop-detail__hero.photo { aspect-ratio: 16 / 10; border: 1px solid var(--mh-line); border-radius: var(--mh-r); min-height: 0; }
.momhop-detail__media, .momhop-detail__media.momhop-outing-photo, .momhop-detail__media.momhop-place-photo { height: 100%; inset: 0; min-height: 0; position: absolute; width: 100%; }
.momhop-detail__pick { background: var(--mh-coral-soft); color: var(--mh-coral-deep); }
.momhop-detail .momhop-note.note, .momhop-detail .momhop-take.take, .momhop-detail .momhop-sec.sec, .momhop-detail .momhop-map-section, .momhop-detail .momhop-place-events, .momhop-detail .momhop-operational-strip, .momhop-detail .momhop-tag-section { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r); box-shadow: var(--mh-card-shadow); padding: 14px; }
.momhop-tag-sections { display: grid; gap: 12px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .momhop-tag-sections { grid-template-columns: 1fr 1fr; } }
.momhop-tag-section--features { background: var(--mh-sage-soft); }
.momhop-tag-section--recommendations, .momhop-take.take { background: var(--mh-coral-soft); }
.momhop-tag-section h4 { font-family: var(--mh-display-font); font-size: var(--mh-fs-lead); margin: 0 0 9px; }
.momhop-tag-section--features h4 { color: var(--mh-sage); }
.momhop-tag-section--recommendations h4 { color: var(--mh-coral-deep); }
.momhop-tag-list { display: flex; flex-wrap: wrap; gap: 7px; }
.momhop-tag { background: var(--momhop-pill-bg, var(--mh-surface)); border: 1px solid var(--momhop-pill-border, var(--mh-line)); border-radius: 999px; color: var(--momhop-pill-color, var(--mh-ink-soft)); display: inline-flex; font-size: var(--mh-fs-small); font-weight: 700; padding: 5px 10px; }
.momhop-tag--fact { background: var(--momhop-pill-bg, var(--mh-sage-soft)); border-color: var(--momhop-pill-border, color-mix(in srgb, var(--mh-sage) 24%, white)); }
.momhop-tag--rec { background: var(--momhop-pill-bg, var(--mh-coral-soft)); border-color: var(--momhop-pill-border, color-mix(in srgb, var(--mh-coral) 24%, white)); color: var(--momhop-pill-color, var(--mh-coral-deep)); }
.momhop-actionbar.momhop-detail-actionbar { background: transparent; bottom: auto; box-shadow: none; padding: 0; position: static; }
.momhop-actionbar__inner.momhop-detail-actionbar__inner { display: flex; gap: 8px; width: 100%; }
.momhop-action { align-items: center; border: 1px solid var(--mh-line); border-radius: 999px; display: inline-flex; flex: 1 1 0; font-size: var(--mh-fs-small); font-weight: 600; justify-content: center; min-height: 36px; padding: 9px 6px; }
.momhop-action.primary, .momhop-action--directions { background: var(--mh-coral-deep); border-color: var(--mh-coral-deep); color: #fff; }
.momhop-action.ghost { background: var(--mh-surface); color: var(--mh-ink); }
.momhop-action.is-saved, .momhop-action[aria-pressed="true"] { background: var(--mh-coral-soft); border-color: var(--mh-coral); color: var(--mh-coral-deep); }
.momhop-share-status { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.momhop-pcard.pcard { border-radius: var(--mh-r); box-shadow: var(--mh-card-shadow); }
.momhop-pcard__loc.pcard__loc::before { content: "Address · "; font-weight: 700; }
.momhop-map.map { border-radius: var(--mh-r); height: 170px; }

/* Detail/list/404 fix pass — shared MomHop content column and Section 16 composition. */
.momhop-content-region,
.momhop-content-region--results,
.momhop-content-region--detail,
.momhop-content-region--not-found,
.momhop-appbar {
	max-width: var(--mh-content-cap);
	padding-left: var(--mh-space-3);
	padding-right: var(--mh-space-3);
	width: 100%;
}

@media (min-width: 760px) {
	.momhop-content-region,
	.momhop-content-region--results,
	.momhop-content-region--detail,
	.momhop-content-region--not-found,
	.momhop-appbar {
		padding-left: 24px;
		padding-right: 24px;
	}
}

.momhop-content-region--detail { max-width: var(--mh-content-cap); }
.momhop-detail { gap: 12px; max-width: 760px; margin: 0 auto; padding-top: 0; }
.momhop-detail-topbar { align-items: center; display: grid; grid-template-columns: 40px minmax(0, 1fr) 40px; height: 54px; gap: 8px; }
.momhop-detail-topbar__title { font-family: var(--mh-display-font); font-size: var(--mh-fs-lead); font-weight: 800; line-height: 1.1; margin: 0; overflow: hidden; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.momhop-detail-topbar__icon { align-items: center; background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: 999px; color: var(--mh-ink); display: inline-flex; height: 34px; justify-content: center; margin: 0; min-width: 0; padding: 0; text-decoration: none; width: 34px; }
.momhop-detail__hero.photo { aspect-ratio: 16 / 10; border-radius: var(--mh-r-lg); min-height: 0; }
.momhop-detail__hero.photo.is-empty::after { align-items: center; color: color-mix(in srgb, var(--mh-ink) 45%, transparent); content: "MomHop photo coming soon"; display: flex; font-size: var(--mh-fs-small); font-weight: 700; inset: 0; justify-content: center; letter-spacing: .01em; position: absolute; text-align: center; z-index: 1; }
.momhop-detail__hero.photo.is-empty .momhop-detail__scrim { display: none; }
.momhop-detail__media,
.momhop-detail__media.momhop-outing-photo,
.momhop-detail__media.momhop-place-photo { aspect-ratio: 16 / 10; height: 100%; min-height: 0; width: 100%; }
.momhop-outing-photo.is-empty,
.momhop-place-photo.is-empty { background: linear-gradient(135deg, var(--mh-coral-soft), var(--mh-sage-soft)); }
.momhop-outing-photo.has-image + .momhop-detail__scrim,
.momhop-place-photo.has-image + .momhop-detail__scrim { display: block; }
.momhop-note.note { padding: 13px 14px; }
.momhop-note__label.nlabel { color: var(--mh-ink-soft); letter-spacing: .08em; }
.momhop-tag-sections { gap: 10px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .momhop-tag-sections { grid-template-columns: 1fr 1fr; } }
.momhop-tag-section, .momhop-section { padding: 12px; }
.momhop-sec__h.sec__h { color: var(--mh-ink); font-family: var(--mh-display-font); font-size: var(--mh-fs-h3); font-weight: 700; letter-spacing: 0; text-transform: none; }
.momhop-sec__h .verified { color: var(--mh-sage); font-family: var(--mh-ui-font); font-size: var(--mh-fs-micro); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.momhop-pcard.pcard { box-shadow: var(--mh-card-shadow); margin-top: 8px; padding: 11px; }
.momhop-pcard__img.pcard__img { flex-basis: 52px; height: 52px; }
.momhop-pcard__go.pcard__go { color: var(--mh-ink-soft); font-size: var(--mh-fs-h2); margin-left: auto; }
.momhop-map.map { height: 150px; }
.momhop-actionbar, .momhop-detail-actionbar.actionbar { backdrop-filter: none; background: transparent; border: 0; border-radius: 0; bottom: auto; box-shadow: none; padding: 0; position: static; }
.momhop-actionbar__inner, .momhop-detail-actionbar__inner { display: flex; gap: 8px; width: 100%; }
.momhop-actionbar .momhop-action { border-radius: var(--mh-r-pill); flex: 1 1 0; font-size: var(--mh-fs-small); min-height: 38px; min-width: 0; padding: 9px 4px; white-space: nowrap; }
.momhop-actionbar .momhop-share-status { display: none; }
.momhop-action--directions.primary { background: var(--mh-coral-deep); border-color: var(--mh-coral-deep); color: #fff; }
.momhop-action.ghost, .momhop-action--share, .momhop-action--map { background: var(--mh-surface); border: 1px solid var(--mh-line); color: var(--mh-coral-deep); }
.momhop-detail-join { margin: 6px 0 0; }
.momhop-detail-join__card { margin-top: 0; }

.momhop-results-grid--list .momhop-card--outing { grid-template-columns: 60px minmax(0, 1fr) 26px; gap: 9px; margin-bottom: 8px; padding: 8px; }
.momhop-results-grid--list .momhop-card--outing .momhop-card__media { min-height: 60px; width: 60px; }
.momhop-results-grid--list .momhop-card--outing .momhop-card__title { font-size: var(--mh-fs-lead); }
.momhop-results-grid--list .momhop-card--outing .momhop-card__body { gap: 4px; }
.momhop-results-grid--list .momhop-card--outing .momhop-card__tags { display: none; }
.momhop-results-grid--list .momhop-card--outing .momhop-card__save { height: 24px; width: 24px; }

.momhop-empty--404 { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r-lg); box-shadow: var(--mh-card-shadow); margin: 16px auto 0; max-width: 760px; }
.momhop-empty__suggestions { display: grid; gap: 9px; grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(100%, 420px); }
.momhop-empty__suggestion { align-items: center; background: var(--mh-cream); border: 1px solid var(--mh-line); border-radius: var(--mh-r); color: var(--mh-ink); display: flex; font-weight: 800; gap: 8px; justify-content: center; padding: 11px; text-decoration: none; }

/* Detail proof fix — kill legacy wrap/placeholder overrides with scoped final selectors. */
.momhop-detail--outing .momhop-actionbar__inner.momhop-detail-actionbar__inner,
.momhop-detail--place .momhop-actionbar__inner.momhop-detail-actionbar__inner,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--outing .momhop-actionbar__inner,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--place .momhop-actionbar__inner {
	display: flex;
	flex-wrap: nowrap;
	gap: 8px;
	width: 100%;
}

.momhop-detail--outing .momhop-actionbar__inner.momhop-detail-actionbar__inner .momhop-action,
.momhop-detail--place .momhop-actionbar__inner.momhop-detail-actionbar__inner .momhop-action,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--outing .momhop-actionbar__inner .momhop-action,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--place .momhop-actionbar__inner .momhop-action {
	box-sizing: border-box;
	flex: 1 1 0;
	font-size: var(--mh-fs-small);
	min-height: 36px;
	min-width: 0;
	padding: 9px 4px;
	white-space: nowrap;
	width: auto;
}

.momhop-detail__hero.photo.is-empty .momhop-detail__media::after {
	content: none;
	display: none;
}

.momhop-detail__hero.photo.is-empty::after {
	align-items: center;
	content: "MomHop photo coming soon";
	display: flex;
	inset: 0;
	justify-content: center;
	position: absolute;
	text-align: center;
}

.momhop-detail .momhop-tag-section h4,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail .momhop-tag-section h4 {
	letter-spacing: 0;
	text-transform: none;
}

.momhop-content-region--detail .momhop-detail--outing,
.momhop-content-region--detail .momhop-detail--place {
	width: 100%;
}

.momhop-content-region--detail .momhop-detail--outing .momhop-detail__hero.photo,
.momhop-content-region--detail .momhop-detail--place .momhop-detail__hero.photo {
	width: 100%;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--outing .momhop-detail__hero.photo.is-empty,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--place .momhop-detail__hero.photo.is-empty,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--outing .momhop-detail__hero.photo.is-empty .momhop-detail__media,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--place .momhop-detail__hero.photo.is-empty .momhop-detail__media {
	aspect-ratio: 16 / 10;
	height: auto;
	min-height: 0;
}

/* Detail polish pass — shared outer card, Fraunces headers, constrained join prompt, unclipped one-row actions. */
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--outing,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--place {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r-lg);
	box-shadow: var(--mh-card-shadow);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
	padding: 0 8px 14px;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--outing > .momhop-detail-topbar,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--place > .momhop-detail-topbar {
	margin-left: -8px;
	margin-right: -8px;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--outing .momhop-sec__h.sec__h,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--place .momhop-sec__h.sec__h,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--outing .momhop-map-section .momhop-sec__h,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--place .momhop-map-section .momhop-sec__h,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--outing .momhop-place-events h2,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--place .momhop-place-events h2,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--outing .momhop-tag-section h4,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--place .momhop-tag-section h4 {
	font-family: var(--mh-display-font);
	font-weight: 600;
	letter-spacing: -.01em;
	text-transform: none;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-detail-join {
	box-sizing: border-box;
	margin: 6px 0 0;
	max-width: 100%;
	padding: 0;
	width: 100%;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-detail-join__card {
	box-sizing: border-box;
	max-width: 100%;
	width: 100%;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--outing .momhop-actionbar__inner.momhop-detail-actionbar__inner,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--place .momhop-actionbar__inner.momhop-detail-actionbar__inner {
	display: flex;
	flex-wrap: nowrap;
	gap: 8px;
	width: 100%;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--outing .momhop-actionbar__inner.momhop-detail-actionbar__inner .momhop-action,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--place .momhop-actionbar__inner.momhop-detail-actionbar__inner .momhop-action {
	box-sizing: border-box;
	flex: 1 1 0;
	font-size: var(--mh-fs-action);
	justify-content: center;
	line-height: 1.1;
	min-height: 36px;
	min-width: 0;
	overflow: visible;
	padding: 9px 8px;
	text-align: center;
	text-overflow: clip;
	white-space: nowrap;
}


/* Detail inset alignment (2026-10-03): every boxed block on Outing/Place detail
   (sections, verified note, action bar, join card) shares one inset; only the hero
   photo runs full width. */
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail-join {
	margin-left: var(--mh-detail-inset);
	margin-right: var(--mh-detail-inset);
	max-width: none;
	width: auto;
}

/* Detail top-bar title matches the detail section headings ("Where to go"):
   Fraunces 600, lead size, ink (MVP nit #1, 2026-10-03). Specific enough to beat the
   detail-wide UI-font rule. */
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail .momhop-detail-topbar__title,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail-topbar__title {
	color: var(--mh-ink);
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-lead);
	font-weight: var(--mh-fw-display);
}

/* Detail hero (2026-10-03): one rule replaces five competing radius/margin rules.
   Inset like every other detail block, rounded like the cards, no border; when there
   is no photo the hero is not shown (adaptive display: empty hides). */
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail__hero.photo {
	border: 0;
	border-radius: var(--mh-r);
	margin: var(--mh-space-3) var(--mh-detail-inset) 0;
	overflow: hidden;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-detail__hero.photo.is-empty {
	display: none;
}

/* Place teaser thumbnail: real photo, rounded; absent when the Place has no photo. */
.momhop-pcard__img.has-image {
	background: none;
	border-radius: var(--mh-r-sm);
	overflow: hidden;
}

.momhop-pcard__img.has-image img {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	width: 100%;
}

/* ==========================================================================
   Shared controls (2026-10-03). One look per control type across Outings,
   Places and Guides; hearts use the UI font (an emoji font turned ♡ into a
   colour emoji on iOS).
   ========================================================================== */

/* Round icon buttons: back, save (detail top bars, Guide reader). */
body.momhop-app-route .momhop-page .momhop-detail-topbar__back,
body.momhop-app-route .momhop-page .momhop-detail-topbar__icon,
body.momhop-app-route .momhop-page .momhop-guides__back,
body.momhop-app-route .momhop-page .momhop-guides__save {
	align-items: center;
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: 50%;
	box-shadow: none;
	color: var(--mh-ink);
	display: inline-flex;
	flex: none;
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-body);
	font-weight: 400;
	height: 34px;
	justify-content: center;
	padding: 0;
	width: 34px;
}

/* Hearts overlaid on cards. */
body.momhop-app-route .momhop-page .momhop-card__save,
body.momhop-app-route .momhop-page .momhop-favwrap__heart,
body.momhop-app-route .momhop-page .momhop-account-saved__heart,
body.momhop-app-route .momhop-page .momhop-favwrap__heart [data-momhop-favorite-icon],
body.momhop-app-route .momhop-page .momhop-account-saved__heart [data-momhop-favorite-icon] {
	font-family: var(--mh-ui-font);
	font-weight: 400;
}

body.momhop-app-route .momhop-page .momhop-card__save,
body.momhop-app-route .momhop-page .momhop-favwrap__heart {
	align-items: center;
	background: rgba(255, 255, 255, .9);
	border: 1px solid var(--mh-line);
	border-radius: 50%;
	color: var(--mh-coral);
	display: inline-flex;
	font-size: var(--mh-fs-body);
	height: 30px;
	justify-content: center;
	padding: 0;
	width: 30px;
}

/* Action buttons (detail action bar, Guide share): canonical .mh-btn type. */
body.momhop-app-route .momhop-page .momhop-detail-actionbar .momhop-action,
body.momhop-app-route .momhop-page .momhop-guides__share {
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-action);
	font-weight: var(--mh-fw-ui-strong);
	letter-spacing: normal;
	min-height: 36px;
	text-transform: none;
}

body.momhop-app-route .momhop-page .momhop-guides__share {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: var(--mh-r-pill);
	color: var(--mh-coral-deep);
	padding: 8px 14px;
}

/* ==========================================================================
   Width rails (2026-10-03). List pages: everything on the same rail as the
   results bar. Detail pages (Outing, Place, Event): one outer card, every
   boxed block on --mh-detail-inset. Guide reader: blocks align with the article.
   ========================================================================== */

/* Detail hero must not add its margin on top of a 100% width. */
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail__hero.photo {
	max-width: none;
	width: auto;
}

/* Detail action buttons use --mh-fs-action (four labels must fit one row at 360px). */
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail .momhop-detail-actionbar .momhop-action {
	font-size: var(--mh-fs-action);
	font-weight: var(--mh-fw-ui-strong);
}

/* Events list: cards and day boxes on the same rail as the filter bar. */
body.momhop-app-route .momhop-page .momhop-events-views {
	padding-left: 0;
	padding-right: 0;
}

/* Event detail: same outer-card padding as Outing/Place detail so blocks land on the inset. */
body.momhop-app-route .momhop-page .momhop-detail--event {
	padding-left: 8px;
	padding-right: 8px;
}

/* Guide reader: header and join card align with the article column. */
body.momhop-app-route .momhop-page .momhop-guides__detail-header {
	margin-left: 0;
	margin-right: 0;
}

body.momhop-app-route .momhop-page .momhop-guides--detail .momhop-detail-join {
	margin-left: 0;
	margin-right: 0;
	width: auto;
}

/* Event detail (Events re-added to the MVP 2026-10-03): intro and registration
   blocks on the same inset as every other detail block. */
body.momhop-app-route .momhop-page .momhop-detail--event > .momhop-detail__intro,
body.momhop-app-route .momhop-page .momhop-detail--event > .momhop-event-registration {
	box-sizing: border-box;
	margin-left: var(--mh-detail-inset);
	margin-right: var(--mh-detail-inset);
	max-width: none;
	width: auto;
}

/* Limited-time outings: a partner place beside an event. Always labeled; tokens only. */
.momhop-partner-card .momhop-partner-card__tag.pcard__role {
	color: var(--momhop-coral-deep);
}

.momhop-partner-block .momhop-partner-card + .momhop-partner-card {
	margin-top: var(--momhop-space-2);
}

.momhop-partner-block__note {
	margin: var(--momhop-space-2) 0 0;
	color: var(--momhop-muted);
	font-family: var(--momhop-ui-font);
	font-size: var(--mh-fs-small);
	line-height: 1.4;
}

.momhop-partner-strip__row {
	display: grid;
	gap: var(--momhop-space-2);
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}

/* Events pages, 2026-10-06 review. */
/* A view that is switched off stays off, whatever its own display rule says (the cards were showing under the week list). */
.momhop-events-view[hidden] { display: none !important; }
/* Phone, 2026-10-11 (owner): Week / Month / Cards sit on the Filters row again. The bar drops its own side
   padding so the row has the page's full content width, which is what makes the three words fit. */
@media (max-width: 520px) {
	.momhop-events-bar { padding-inline: 0; }
	.momhop-events-bar .momhop-events-bar__controls { flex-wrap: nowrap; overflow: visible; }
	.momhop-events-bar .momhop-events-bar__spacer { display: none; }
	.momhop-events-bar .momhop-results-filter-trigger,
	.momhop-events-bar .momhop-helpchoose { flex: 0 0 auto; }
	.momhop-events-bar .momhop-results-viewtoggle--labeled { display: inline-flex; flex: 0 0 auto; margin-left: auto; }
	.momhop-events-bar .momhop-results-viewtoggle--labeled .momhop-results-viewtoggle__btn { flex: 0 0 auto; padding-inline: 6px; white-space: nowrap; }
}
/* Too narrow for one row (older small phones): the switch takes a row of its own, as it did before. */
@media (max-width: 349px) {
	.momhop-events-bar .momhop-events-bar__controls { flex-wrap: wrap; row-gap: 8px; }
	.momhop-events-bar .momhop-results-viewtoggle--labeled { display: flex; flex: 1 1 100%; margin-left: 0; }
	.momhop-events-bar .momhop-results-viewtoggle--labeled .momhop-results-viewtoggle__btn { flex: 1 1 0; justify-content: center; }
}
/* The week arrows: "Today" beside the dates on other weeks; under the days, the ones that are over and the next week. */
.momhop-events-axis__today { color: var(--mh-coral-deep); font-family: var(--momhop-ui, system-ui, sans-serif); font-size: var(--mh-fs-small); font-weight: 700; margin-left: 6px; text-decoration: underline; text-underline-offset: 3px; }
.momhop-events-pastdays { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); margin: 2px 0 12px; text-align: center; }
.momhop-events-nextweek { align-items: center; background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r-pill); color: var(--mh-coral-deep); display: flex; font-size: var(--mh-fs-body); font-weight: 700; gap: 6px; justify-content: center; margin: 0 0 12px; min-height: 44px; padding: 8px 14px; text-decoration: none; }
/* "Today" on today's box: a small tag beside the date. */
.momhop-events-daybox__head .daybox__today { background: var(--mh-coral-soft); border-radius: var(--mh-r-pill); font-size: var(--mh-fs-micro); font-weight: 700; letter-spacing: 0; margin-left: 0; padding: 2px 9px; text-transform: none; }
/* A card without a photo is a short tinted band, not an empty picture. */
.momhop-event-card__media:has(.momhop-event-photo.is-empty) { aspect-ratio: auto; height: 96px; }

/* Single event page: the same shell as an Outing or a Place page (one outer card, top bar, serif
   section headings, one row of buttons at the bottom). Only the date header is its own. */
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--event { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r-lg); box-shadow: var(--mh-card-shadow); box-sizing: border-box; display: flex; flex-direction: column; gap: 12px; margin-left: auto; margin-right: auto; overflow: hidden; padding-bottom: 14px; padding-top: 0; width: 100%; }
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--event > .momhop-detail-topbar { height: auto; margin-left: -8px; margin-right: -8px; min-height: 54px; padding-bottom: 8px; padding-top: 8px; }
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--event > .momhop-detail-topbar .momhop-detail-topbar__title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; white-space: normal; }
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--event .momhop-sec__h.sec__h,
.momhop-page--app-shell .momhop-content-region--detail .momhop-detail--event .momhop-map-section .momhop-sec__h { font-family: var(--mh-display-font); font-weight: 600; letter-spacing: -.01em; text-transform: none; }
body.momhop-app-route .momhop-page .momhop-ev > .momhop-ev__photo,
body.momhop-app-route .momhop-page .momhop-ev > .momhop-ev__head,
body.momhop-app-route .momhop-page .momhop-ev > .momhop-ev__actions,
body.momhop-app-route .momhop-page .momhop-ev > .momhop-ev__block { box-sizing: border-box; margin: 6px var(--mh-detail-inset) 0; max-width: none; width: auto; }
body.momhop-app-route .momhop-page .momhop-ev__photo { aspect-ratio: 16 / 10; border-radius: var(--mh-r-lg); overflow: hidden; }
body.momhop-app-route .momhop-page .momhop-ev__head { align-items: center; display: grid; gap: 14px; grid-template-columns: auto minmax(0, 1fr); }
.momhop-ev__datebox { background: var(--mh-coral-tint); border: 1px solid var(--mh-line); border-radius: 14px; display: grid; justify-items: center; line-height: 1; min-width: 58px; padding: 9px 8px 8px; row-gap: 3px; }
.momhop-ev__datebox span { color: var(--mh-coral-deep); font-size: var(--mh-fs-micro); font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.momhop-ev__datebox strong { color: var(--mh-ink); font-family: var(--mh-display-font); font-size: var(--mh-fs-h1); font-weight: 600; }
.momhop-ev__headtext { display: grid; gap: 4px; min-width: 0; }
.momhop-ev__headtext p { margin: 0; }
.momhop-ev__type { color: var(--mh-coral-deep); font-size: var(--mh-fs-micro); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.momhop-ev__when { color: var(--mh-ink); font-family: var(--mh-display-font); font-size: var(--mh-fs-h3); font-weight: 600; line-height: 1.2; }
.momhop-ev__where { color: var(--mh-ink-soft); font-size: var(--mh-fs-body); }
.momhop-ev__also { color: var(--mh-coral-deep); font-size: var(--mh-fs-small); font-weight: 700; }
body.momhop-app-route .momhop-page .momhop-ev__block { background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r); box-shadow: var(--mh-card-shadow); display: grid; gap: 6px; padding: 14px; }
body.momhop-app-route .momhop-page .momhop-ev__block > h2 { color: var(--mh-ink); font-family: var(--mh-display-font); font-size: var(--mh-fs-lead); font-weight: 600; letter-spacing: -.01em; margin: 0; text-transform: none; }
body.momhop-app-route .momhop-page .momhop-ev__block > p { color: var(--mh-ink); font-size: var(--mh-fs-body); line-height: 1.5; margin: 0; }
body.momhop-app-route .momhop-page .momhop-ev__block .momhop-vocab { margin: 2px 0 0; padding: 0; }
/* Buttons: one row of four, as on Outing and Place pages. */
body.momhop-app-route .momhop-page .momhop-ev .momhop-ev__actions .momhop-detail-actionbar__inner { display: flex; flex-wrap: nowrap; gap: 8px; width: 100%; }
body.momhop-app-route .momhop-page .momhop-ev .momhop-ev__actions .momhop-action { box-sizing: border-box; flex: 1 1 0; font-size: var(--mh-fs-action); justify-content: center; line-height: 1.1; margin: 0; min-height: 36px; min-width: 0; padding: 9px 8px; text-align: center; white-space: nowrap; width: auto; }
body.momhop-app-route .momhop-page .momhop-ev .momhop-ev__actions .momhop-action--calendar { flex: 1.5 1 0; }
body.momhop-app-route .momhop-page .momhop-ev .momhop-ev__actions .momhop-share-status:empty { display: none; }
.momhop-ev__short { display: none; }
@media (max-width: 520px) {
	.momhop-ev__long { display: none; }
	.momhop-ev__short { display: inline; }
}
/* Place cards everywhere (an Outing's "Where to go", an event's venue): tags are the same small
   pills as the rest of the site, side by side, not full-width bars. */
.momhop-pcard__chips.pcard__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.momhop-pcard__chips .c { flex: 0 0 auto; font-size: var(--mh-fs-small); font-weight: 700; padding: 4px 10px; width: auto; }
/* A map tall enough to read, on every detail page. */
body.momhop-app-route .momhop-page .momhop-content-region--detail .momhop-map.map { height: 240px; }

/* Events list, owner 2026-10-06: cards in two columns, and a cleaner event row inside a day. */
.momhop-events-cards { align-items: stretch; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.momhop-events-cards > .momhop-events-empty { grid-column: 1 / -1; }
/* "Show more events" under the cards shown so far. */
.momhop-events-more { background: var(--mh-coral-soft); border-radius: var(--mh-r-pill); color: var(--mh-coral-deep); display: inline-flex; font-size: var(--mh-fs-body); font-weight: 700; grid-column: 1 / -1; justify-self: center; margin: 6px 0 4px; padding: 10px 18px; text-decoration: none; }
.momhop-events-more[aria-busy="true"] { opacity: .6; pointer-events: none; }
.momhop-events-cards .momhop-favwrap--event { height: 100%; min-width: 0; }
.momhop-events-cards .momhop-event-card { align-content: start; height: 100%; }
@media (max-width: 520px) {
	.momhop-events-cards { gap: 10px; }
	.momhop-events-cards .momhop-event-card__body { gap: 4px; padding: 10px; }
	.momhop-events-cards .momhop-event-card__title { font-size: var(--mh-fs-body); }
	.momhop-events-cards .momhop-event-card__when,
	.momhop-events-cards .momhop-event-card__place { font-size: var(--mh-fs-small); }
	.momhop-events-cards .momhop-event-card__media:has(.momhop-event-photo.is-empty) { height: 72px; }
	.momhop-events-cards .momhop-event-card .datechip { left: 8px; min-height: 40px; top: 8px; width: 42px; }
	.momhop-events-cards .momhop-event-photo.is-empty::after { content: none; } /* the watermark ran into the date chip at this width */
}
/* A day's events: each is a small card with a thumbnail, a title line, a time-and-place line and
   its tags (owner 2026-10-06: "inside a card with a thumbnail, just organized better"). */
.momhop-events-daybox { padding: 12px 14px; }
.momhop-event-row { align-items: center; background: var(--mh-surface); border: 1px solid var(--mh-line); border-radius: var(--mh-r-sm); color: inherit; display: grid; gap: 12px; grid-template-columns: 56px minmax(0, 1fr) auto; margin-top: 8px; overflow: hidden; padding: 10px 12px; text-decoration: none; }
.momhop-event-row:focus-visible { border-color: color-mix(in srgb, var(--mh-coral) 45%, var(--mh-line)); }
@media (hover: hover) { .momhop-event-row:hover { border-color: color-mix(in srgb, var(--mh-coral) 45%, var(--mh-line)); } }
.momhop-event-row__thumb { align-self: center; border-radius: 12px; display: block; height: 56px; overflow: hidden; width: 56px; }
.momhop-event-row__photo { border-radius: 12px; height: 100%; }
.momhop-event-row__tile { align-content: center; background: var(--mh-coral-tint); border: 1px solid var(--mh-line); border-radius: 12px; box-sizing: border-box; display: grid; height: 100%; justify-items: center; line-height: 1; row-gap: 3px; width: 100%; }
.momhop-event-row__tile b { color: var(--mh-ink); font-family: var(--mh-display-font); font-size: var(--mh-fs-lead); font-weight: 600; }
.momhop-event-row__tile i { color: var(--mh-coral-deep); font-size: var(--mh-fs-micro); font-style: normal; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.momhop-event-row__body { display: grid; gap: 3px; min-width: 0; }
.momhop-event-row__title { font-size: var(--mh-fs-body); font-weight: 700; line-height: 1.25; }
.momhop-event-row__when { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); min-width: 0; overflow-wrap: anywhere; }
.momhop-event-row__meta { align-items: center; display: flex; flex-wrap: wrap; gap: 4px 6px; margin-top: 2px; }
.momhop-event-row__go { color: var(--mh-ink-faint); font-size: var(--mh-fs-h3); line-height: 1; }
/* The kind of event reads as a neutral tag; only the sign-up tag is green. */
.momhop-event-row .momhop-event-chip.type { background: var(--mh-cream-2); color: var(--mh-ink-soft); }
.momhop-events-seeall { background: none; border: 0; color: var(--mh-coral-deep); cursor: pointer; font: inherit; font-weight: 700; margin-left: 6px; padding: 0; text-decoration: underline; }
.momhop-events-bar .momhop-results-viewtoggle__icon:empty { display: none; } /* the view switch is words only */
/* Month grid: today stands out, past days step back, and a day carries one dot per event up to three. */
.momhop-events-month-dots { display: inline-flex; gap: 3px; }
.momhop-events-month-day.is-today { background: var(--mh-coral-tint); }
.momhop-events-month-day.is-today span { color: var(--mh-coral-deep); font-weight: 800; }
.momhop-events-month-day.is-past { background: transparent; color: var(--mh-ink-faint); }
/* Month view, a chosen day with nothing on: no "free preview" card under it (there is no list to cut short). */
.momhop-events[data-momhop-events-view-now="month"][data-momhop-events-day-empty="1"] .momhop-freecut { display: none; }
/* A partner's perk for MomHop families: one coral line on its card (a recommendation, so coral). */
.momhop-partner-card__perk { align-items: center; color: var(--mh-coral-deep); display: flex; font-size: var(--mh-fs-small); font-weight: 700; gap: 6px; line-height: 1.35; margin-top: 3px; }

/* 2026-10-08 (owner): what a parent wants at a glance, on the Outing page, the Place page and the cards. Tokens only. */

/* Outing page: the full title and one line of facts under the photo. The top bar cuts a long title short. */
.momhop-outing-glance {
	display: grid;
	gap: 4px;
	margin: var(--mh-space-3) 0 0;
}

.momhop-page--app-shell .momhop-content-region--detail .momhop-outing-glance {
	margin: 12px var(--mh-detail-inset) 0;
}

.momhop-outing-glance__title {
	color: var(--mh-ink);
	font-family: var(--mh-display-font);
	font-size: var(--mh-fs-h2);
	line-height: 1.2;
	margin: 0;
	text-wrap: balance;
}

.momhop-outing-glance__facts {
	color: var(--mh-ink-soft);
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-small);
	font-weight: 700;
	line-height: 1.35;
	margin: 0;
}

/* The link to the Instagram post sits inside Neya's note: it is her post. */
.momhop-outing-instagram {
	margin: 0;
}

.momhop-note .momhop-outing-instagram {
	margin-top: var(--mh-space-2);
}

.momhop-outing-instagram__link {
	align-items: center;
	color: var(--mh-coral-deep);
	display: inline-flex;
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-small);
	font-style: normal;
	font-weight: 700;
	gap: 6px;
	min-height: 32px;
	text-decoration: none;
}

.momhop-outing-instagram__link:hover,
.momhop-outing-instagram__link:focus-visible {
	text-decoration: underline;
}

/* Place cards on an Outing: Google's rating beside the hours. */
.momhop-pcard__rating {
	color: var(--mh-ink);
	font-weight: 700;
}

.momhop-pcard__rating-by {
	color: var(--mh-ink-soft);
	font-weight: 400;
}

/* Place page: links in the fact rows and in the Good to know box. */
.momhop-place-facts .momhop-spec a,
.momhop-place-goodtoknow a {
	color: var(--mh-coral-deep);
	font-weight: 700;
	text-decoration: none;
}

.momhop-place-facts .momhop-spec a:hover,
.momhop-place-facts .momhop-spec a:focus-visible,
.momhop-place-goodtoknow a:hover,
.momhop-place-goodtoknow a:focus-visible {
	text-decoration: underline;
}

/* The review summary sits in the same box as the rest of Google's content, under its own small heading. */
.momhop-place-goodtoknow__summary {
	border-top: 1px solid var(--mh-line);
	margin-top: 10px;
	padding-top: 11px;
}
.momhop-place-goodtoknow__head + .momhop-place-goodtoknow__summary {
	border-top: 0;
	margin-top: 0;
	padding-top: 0;
}
.momhop-place-goodtoknow .momhop-place-goodtoknow__sub {
	color: var(--mh-ink);
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-small);
	font-weight: 700;
	letter-spacing: normal;
	line-height: 1.2;
	margin: 0 0 5px;
	text-transform: none;
}
.momhop-place-goodtoknow__text {
	color: var(--mh-ink);
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-body);
	line-height: 1.45;
	margin: 0;
}
.momhop-place-goodtoknow__disclosure,
.momhop-place-goodtoknow__links {
	color: var(--mh-ink-soft);
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-small);
	line-height: 1.5;
	margin: 6px 0 0;
}

/* Outing card in the list: where it is and how many places, a note of three lines at most, "+N more places". */
.momhop-card__glance {
	color: var(--mh-ink-soft);
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-micro);
	font-weight: 700;
	line-height: 1.25;
	margin: 0;
}

.momhop-results-grid--list .momhop-card--outing .momhop-card__glance {
	display: none;
}

.momhop-card__neya-text {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	display: -webkit-box;
	line-clamp: 3;
	overflow: hidden;
}

.momhop-pt--more .momhop-pt__name {
	color: var(--mh-ink-soft);
	max-width: none;
}

/* A category pill had white text on a cream ground: a later rule replaced its sage background and
   left the white text, so it could not be read. Sage again, unless the category has a colour of its own. */
.momhop-vchip.vchip.category,
.momhop-page--app-shell .momhop-content-region--detail .momhop-vchip.vchip.category {
	background: var(--momhop-pill-bg, var(--mh-sage));
	border-color: var(--momhop-pill-border, var(--mh-sage));
	color: var(--momhop-pill-color, var(--mh-surface));
}

/* 2026-10-08 (owner): "it might be better in a single column on the phone, and two columns on the pc.
   I don't find the card right now informative, it has a lot truncated." Card view only; list view is as it was. */
.momhop-results-grid:not(.momhop-results-grid--list),
.momhop-shell-center .momhop-results-grid:not(.momhop-results-grid--list) {
	grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 700px) {
	.momhop-results-grid:not(.momhop-results-grid--list),
	.momhop-shell-center .momhop-results-grid:not(.momhop-results-grid--list) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* A wider card has room: a wide photo framed where the Outing's photo is framed, the whole title, text at a size to read. */
.momhop-results-grid:not(.momhop-results-grid--list) .momhop-card--outing .momhop-card__media {
	aspect-ratio: 16 / 9;
}

.momhop-results-grid:not(.momhop-results-grid--list) .momhop-card--outing .momhop-card__img img {
	object-position: var(--momhop-media-position-x, 50%) var(--momhop-media-position-y, 0%);
}

.momhop-results-grid:not(.momhop-results-grid--list) .momhop-card--outing .momhop-card__body {
	gap: 8px;
	padding: 14px 16px 16px;
}

.momhop-results-grid:not(.momhop-results-grid--list) .momhop-card--outing .momhop-card__title {
	-webkit-line-clamp: 3;
	font-size: var(--mh-fs-h3);
	line-height: 1.2;
}

.momhop-results-grid:not(.momhop-results-grid--list) .momhop-card--outing .momhop-card__glance {
	font-size: var(--mh-fs-small);
}

.momhop-results-grid:not(.momhop-results-grid--list) .momhop-card--outing .momhop-card__neya {
	font-size: var(--mh-fs-body);
	line-height: 1.4;
}

.momhop-results-grid:not(.momhop-results-grid--list) .momhop-card--outing .momhop-pt {
	flex: 0 1 auto;
	padding: 4px 10px 4px 4px;
}

.momhop-results-grid:not(.momhop-results-grid--list) .momhop-card--outing .momhop-pt--more {
	padding-left: 10px;
}

.momhop-results-grid:not(.momhop-results-grid--list) .momhop-card--outing .momhop-pt__name {
	font-size: var(--mh-fs-small);
	max-width: 30ch;
}

.momhop-results-grid:not(.momhop-results-grid--list) .momhop-card--outing .momhop-card__tag {
	font-size: var(--mh-fs-small);
	padding: 4px 10px;
}

/* 2026-10-08 (owner): the vocabulary's colours back, from the palette only. "Sage" is the palette's second colour
   and "coral" its main colour, so every pill follows whichever palette is in use. A term with a colour of its own keeps it. */
.momhop-kpills {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.momhop-kpill {
	align-items: center;
	background: var(--momhop-pill-bg, var(--mh-sage-soft));
	border: 1px solid var(--momhop-pill-border, transparent);
	border-radius: var(--mh-r-pill, 999px);
	color: var(--momhop-pill-color, var(--mh-sage));
	display: inline-flex;
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-small);
	font-weight: 700;
	line-height: 1.2;
	padding: 5px 11px;
	white-space: nowrap;
}

.momhop-kpill--category {
	background: var(--momhop-pill-bg, var(--mh-sage));
	color: var(--momhop-pill-color, var(--mh-surface));
}

.momhop-kpill--chip {
	background: var(--momhop-pill-bg, var(--mh-surface));
	border-color: var(--momhop-pill-border, color-mix(in srgb, var(--mh-sage) 45%, var(--mh-surface)));
}

.momhop-kpill--rec {
	background: var(--momhop-pill-bg, var(--mh-coral-soft));
	color: var(--momhop-pill-color, var(--mh-coral-deep));
}

.momhop-kpill--rec::before {
	content: "★";
	margin-right: 4px;
}

/* Place cards on an Outing: the same pills, a little smaller. The older rule for ".c" gave every pill the cream ground. */
.momhop-pcard__chips .c.momhop-kpill {
	background: var(--momhop-pill-bg, var(--mh-sage-soft));
	border-color: var(--momhop-pill-border, transparent);
	color: var(--momhop-pill-color, var(--mh-sage));
	font-size: var(--mh-fs-micro);
	padding: 4px 10px;
}

.momhop-pcard__chips .c.momhop-kpill--category {
	background: var(--momhop-pill-bg, var(--mh-sage));
	color: var(--momhop-pill-color, var(--mh-surface));
}

.momhop-pcard__chips .c.momhop-kpill--chip {
	background: var(--momhop-pill-bg, var(--mh-surface));
	border-color: var(--momhop-pill-border, color-mix(in srgb, var(--mh-sage) 45%, var(--mh-surface)));
}

/* Outing page, at a glance: categories, then Features and MomHop recommends as two rows. */
.momhop-outing-glance .momhop-kpills {
	margin-top: 6px;
}

/* The seal above an Outing's title, "Verified" in its line of facts, and the one row of tags (owner 2026-10-13). */
.momhop-outing-glance__pick {
	color: var(--mh-coral-deep);
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-micro);
	font-weight: 800;
	letter-spacing: 0.09em;
	line-height: 1.3;
	margin: 0;
	text-transform: uppercase;
}

/* Ages on an Outing card (Neya, 2026-10-19): guidance is quiet; a real restriction is said plainly in a
   contrasting colour (the words carry the meaning, the colour supports it). */
/* A Place's approved theme (Neya, 2026-10-19): a short, quiet secondary line with a line icon. */
.momhop-place-theme {
	align-items: center;
	color: var(--mh-sage);
	display: flex;
	font-size: var(--mh-fs-small);
	font-weight: 600;
	gap: 6px;
	margin: 2px 0 8px;
}
.momhop-place-theme svg { flex: 0 0 auto; }
.momhop-detail--place .momhop-place-theme { margin: 6px var(--mh-detail-inset, 18px) 10px; }

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

.momhop-card__rule {
	background: var(--mh-coral-soft);
	border: 1px solid var(--mh-coral);
	border-radius: var(--mh-r-pill);
	color: var(--mh-coral-deep);
	display: inline-block;
	font-size: var(--mh-fs-small);
	font-weight: 700;
	padding: 2px 10px;
}

.momhop-outing-glance__rule {
	margin: 4px 0 0;
}

.momhop-place-intro {
	color: var(--mh-ink);
	font-size: var(--mh-fs-body);
	line-height: 1.5;
	margin: 12px var(--mh-detail-inset, 18px) 0;
}

/* The foot of a detail page: details can change, official pages, report a wrong detail (Neya, 2026-10-19). */
.momhop-detail-footnote {
	border-top: 1px solid var(--mh-line);
	color: var(--mh-ink-soft);
	display: grid;
	font-size: var(--mh-fs-small);
	gap: 4px;
	margin: 18px var(--mh-detail-inset, 18px) 8px;
	padding-top: 12px;
}

.momhop-detail-footnote p {
	margin: 0;
}

.momhop-detail-footnote a {
	color: var(--mh-coral-deep);
	font-weight: 600;
}

/* The same seal on a Place page, above its kind pills (Neya, 2026-10-19). */
.momhop-place-detail__pick {
	margin: 14px var(--mh-detail-inset, 18px) 0;
}

.momhop-outing-glance__verified {
	color: var(--mh-sage);
	white-space: nowrap;
}

.momhop-outing-glance .momhop-kpills {
	margin-top: 4px;
}

/* The Outing card (the one marked A): where, title, pills, note, the Places, hours and rating. */
.momhop-card__where {
	color: var(--mh-ink-soft);
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-small);
	font-weight: 700;
	line-height: 1.25;
	margin: 0;
}

.momhop-card--outing .momhop-card__neya-text {
	-webkit-line-clamp: 2;
	line-clamp: 2;
}

/* The Places block. A label sits on the same line as its Places; a group (word, Place, count) wraps as one piece.
   2026-10-08 (owner, from his phone): "a lot of unused space, the bottom part could be more compact". */
.momhop-card__stops {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.momhop-card__stops-line {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 8px;
	min-width: 0;
}

.momhop-card__stops-label {
	color: var(--mh-sage);
	flex: none;
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-micro);
	font-weight: 900;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.momhop-card__stops-group {
	align-items: center;
	display: inline-flex;
	gap: 5px;
	max-width: 100%;
	min-width: 0;
}

.momhop-card__stops-word {
	color: var(--mh-ink-soft);
	flex: none;
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-small);
}

.momhop-stop {
	align-items: center;
	background: var(--mh-cream);
	border: 1px solid var(--mh-line);
	border-radius: 8px;
	color: var(--mh-ink);
	display: inline-flex;
	flex: 0 1 auto;
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-small);
	font-weight: 600;
	gap: 6px;
	line-height: 1.25;
	max-width: 100%;
	min-width: 0;
	padding: 3px 9px;
}

.momhop-stop.has-thumb {
	padding: 3px 9px 3px 3px;
}

.momhop-stop__img {
	border-radius: 5px;
	display: block;
	flex: none;
	height: 22px;
	object-fit: cover;
	width: 22px;
}

.momhop-stop__name {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.momhop-card__stops-more {
	color: var(--mh-ink-soft);
	flex: none;
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-small);
	font-weight: 700;
}

.momhop-card__foot {
	border-top: 1px solid var(--mh-line);
	color: var(--mh-ink-soft);
	display: flex;
	flex-wrap: wrap;
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-small);
	gap: 2px 12px;
	line-height: 1.35;
	margin: 0;
	padding-top: 7px;
}

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

.momhop-results-grid:not(.momhop-results-grid--list) .momhop-card--outing .momhop-card__body {
	gap: 7px;
	padding: 12px 16px 13px;
}

/* List view keeps its short rows: title, its own line of facts, the pills. */
.momhop-results-grid--list .momhop-card--outing .momhop-card__where,
.momhop-results-grid--list .momhop-card--outing .momhop-card__stops,
.momhop-results-grid--list .momhop-card--outing .momhop-card__events,
.momhop-results-grid--list .momhop-card--outing .momhop-card__foot {
	display: none;
}

/* Events at an Outing's Places (owner, 2026-10-11). On the card: one line. On the Outing page: a strip
   joined to the bottom of the Place's card. Coral, the Events colour, from the palette. */
.momhop-card__events {
	align-items: center;
	background: var(--mh-coral-soft);
	border-radius: var(--mh-r-sm);
	color: var(--mh-coral-deep);
	display: flex;
	flex-wrap: wrap;
	font-family: var(--mh-ui-font);
	font-size: var(--mh-fs-small);
	gap: 2px 6px;
	line-height: 1.3;
	margin: 0;
	padding: 7px 10px;
}
.momhop-card__events b { font-weight: 700; }
.momhop-card__events .momhop-icon { flex: 0 0 auto; }

/* As specific as the detail page's own card rule, so the card and its strip read as one box. */
.momhop-pcard.pcard.has-events,
.momhop-page--app-shell .momhop-content-region--detail .momhop-pcard.pcard.has-events { border-bottom-left-radius: 0; border-bottom-right-radius: 0; border-bottom-style: dashed; margin-bottom: 0; }
.momhop-pcard-events {
	background: var(--mh-surface);
	border: 1px solid var(--mh-line);
	border-radius: 0 0 var(--mh-r) var(--mh-r);
	border-top: 0;
	box-shadow: var(--mh-card-shadow);
	margin: 0 0 9px;
	padding: 9px 12px 5px;
}
.momhop-pcard-events__h {
	align-items: center;
	color: var(--mh-coral-deep);
	display: flex;
	font-size: var(--mh-fs-micro);
	font-weight: 700;
	justify-content: space-between;
	letter-spacing: .1em;
	margin: 0 0 3px;
	text-transform: uppercase;
}
.momhop-pcard-events__h a { color: var(--mh-coral-deep); font-size: var(--mh-fs-small); letter-spacing: 0; text-decoration: underline; text-transform: none; text-underline-offset: 3px; }
.momhop-pcard-events__row { align-items: center; color: inherit; display: flex; gap: 10px; min-height: 44px; padding: 5px 0; text-decoration: none; }
.momhop-pcard-events__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 42px;
	flex-direction: column;
	height: 42px;
	justify-content: center;
	line-height: 1.1;
}
.momhop-pcard-events__date i { font-size: var(--mh-fs-micro); font-style: normal; font-weight: 700; text-transform: uppercase; }
.momhop-pcard-events__date b { font-family: var(--momhop-display, Fraunces, Georgia, serif); font-size: var(--mh-fs-body); }
.momhop-pcard-events__body { display: flex; flex-direction: column; min-width: 0; }
.momhop-pcard-events__body strong { font-size: var(--mh-fs-body); line-height: 1.25; }
.momhop-pcard-events__body span { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); }
.momhop-pcard-events__go { color: var(--mh-ink-soft); font-size: var(--mh-fs-h3); margin-left: auto; }

.momhop-results-grid--list .momhop-card--outing .momhop-kpill {
	font-size: var(--mh-fs-micro);
	padding: 3px 8px;
}

/* Event Outings (includes-event-outings.php): the date line on the card and the block on an Event's page. */
.momhop-card__limited { align-items: center; color: var(--mh-ink); display: flex; flex-wrap: wrap; font-size: var(--mh-fs-small); font-weight: 700; gap: 6px; margin: 4px 0 2px; }
.momhop-card__limited-tag { background: var(--mh-coral-tint); border-radius: var(--mh-r-pill); color: var(--mh-coral-deep); font-size: var(--mh-fs-micro); font-weight: 800; letter-spacing: .04em; padding: 3px 8px; text-transform: uppercase; }
.momhop-ev__evout-link { align-items: center; border: 1px solid var(--mh-line); border-radius: var(--mh-r); color: var(--mh-ink); display: grid; gap: 12px; grid-template-columns: 120px minmax(0, 1fr); margin-top: 8px; overflow: hidden; padding: 0 12px 0 0; text-decoration: none; }
.momhop-ev__evout-pic { aspect-ratio: 4 / 3; display: block; }
.momhop-ev__evout-text { display: grid; gap: 3px; min-width: 0; }
.momhop-ev__evout-text b { font-family: var(--mh-display-font); font-size: var(--mh-fs-body); }
.momhop-ev__evout-text small { color: var(--mh-ink-soft); font-size: var(--mh-fs-small); line-height: 1.35; }
.momhop-card__limited--detail { margin: 10px var(--mh-detail-inset, 0) 0; }

/* Family test 2026-10-23: the Events switch is words only (no icons), so its words must stay on phones (owner 2026-10-11 layout). */
@media (max-width: 520px) {
	.momhop-events-bar .momhop-results-viewtoggle__label { display: inline; font-size: var(--mh-fs-small); }
	.momhop-events-bar .momhop-helpchoose { padding-inline: 8px; }
}
@media (max-width: 420px) {
	.momhop-events-bar .momhop-helpchoose__t { display: none; } /* the link keeps its name (aria-label); the target icon stays */
	.momhop-events-bar .momhop-helpchoose { padding-inline: 9px; }
}

/* Small phones (360 px) with the wider flyer text font: the Outings Filters row keeps its view switch whole (2026-10-23). */
@media (max-width: 380px) { .momhop-results-bar__controls { gap: 5px; } }
