:root {
	--color-cream: #fff8ed;
	--color-warm: #f5e8d5;
	--color-card: #fffcf4;
	--color-green: #5e7f68;
	--color-green-dark: #2f5140;
	--color-green-soft: #dce9d5;
	--color-peach: #e7a78f;
	--color-peach-soft: #f7d7c8;
	--color-ink: #24352c;
	--color-muted: #62756a;
	--color-focus: #1f4b3a;
	--focus-ring: 0 0 0 6px var( --color-cream );
	--shadow-soft: 0 18px 44px rgba( 47, 81, 64, 0.12 );
	--radius-large: 28px;
	--radius-medium: 18px;
	--radius-small: 12px;
	--space-tight: clamp( 0.7rem, 1.4vw, 1rem );
	--space-stack: clamp( 1.1rem, 2.2vw, 1.6rem );
	--space-section: clamp( 1.5rem, 3vw, 2.25rem );
}

* {
	box-sizing: border-box;
}

html {
	min-height: 100%;
}

body {
	margin: 0;
	background: var( --color-cream );
	color: var( --color-ink );
	display: flex;
	flex-direction: column;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.6;
	min-height: 100vh;
	min-height: 100dvh;
}

a {
	color: var( --color-green-dark );
	text-decoration: none;
}

a:hover,
a:focus {
	text-decoration: underline;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	box-shadow: var( --focus-ring );
	outline: 3px solid var( --color-focus );
	outline-offset: 3px;
}

img {
	height: auto;
	max-width: 100%;
}

.screen-reader-text,
.skip-link {
	clip: rect( 1px, 1px, 1px, 1px );
	height: 1px;
	overflow: hidden;
	position: absolute;
	width: 1px;
}

.skip-link:focus {
	background: var( --color-card );
	border-radius: var( --radius-small );
	box-shadow: var( --shadow-soft );
	clip: auto;
	height: auto;
	left: 1rem;
	padding: 0.75rem 1rem;
	top: 1rem;
	width: auto;
	z-index: 10;
}

.site-header {
	background: rgba( 255, 248, 237, 0.94 );
	border-bottom: 1px solid rgba( 94, 127, 104, 0.16 );
	flex: 0 0 auto;
	position: sticky;
	top: 0;
	z-index: 5;
}

.site-header__inner,
.site-footer__inner,
.hero-section,
.map-section,
.featured-section,
.cta-section,
.page-shell {
	margin: 0 auto;
	max-width: 1180px;
	padding: 1rem;
	width: 100%;
}

.site-header__inner {
	align-items: center;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
}

.site-brand {
	align-items: center;
	display: inline-flex;
	flex: 0 0 auto;
	gap: 0.75rem;
	text-decoration: none;
}

.site-brand__mark {
	align-items: center;
	background: var( --color-green-dark );
	border-radius: 999px;
	color: var( --color-cream );
	display: inline-flex;
	font-weight: 800;
	height: 2.75rem;
	justify-content: center;
	width: 2.75rem;
}

.site-brand__text {
	display: grid;
	line-height: 1.1;
}

.site-brand__name {
	color: var( --color-green-dark );
	font-size: 1.1rem;
	font-weight: 800;
}

.site-brand__tagline {
	color: var( --color-muted );
	font-size: 0.78rem;
}

.nav-toggle {
	align-items: center;
	background: var( --color-green-soft );
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	display: inline-flex;
	height: 2.75rem;
	justify-content: center;
	width: 2.75rem;
}

.nav-toggle__bar,
.nav-toggle__bar::before,
.nav-toggle__bar::after {
	background: var( --color-green-dark );
	border-radius: 999px;
	content: "";
	display: block;
	height: 2px;
	position: relative;
	width: 1.25rem;
}

.nav-toggle__bar::before {
	position: absolute;
	top: -6px;
}

.nav-toggle__bar::after {
	position: absolute;
	top: 6px;
}

.primary-nav {
	background: var( --color-card );
	border: 1px solid rgba( 94, 127, 104, 0.14 );
	border-radius: var( --radius-medium );
	box-shadow: var( --shadow-soft );
	display: none;
	left: 1rem;
	padding: 0.5rem;
	position: absolute;
	right: 1rem;
	top: 4.5rem;
}

.site-main {
	flex: 1 0 auto;
	width: 100%;
}

.primary-nav.is-open {
	display: block;
}

.primary-nav ul {
	display: grid;
	gap: 0.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.primary-nav a {
	border-radius: var( --radius-small );
	color: var( --color-green-dark );
	display: block;
	font-weight: 700;
	padding: 0.75rem 0.9rem;
	text-decoration: none;
}

.primary-nav a:hover,
.primary-nav a:focus {
	background: var( --color-green-soft );
}

.hero-section {
	display: grid;
	gap: 1.5rem;
	min-height: 70vh;
	padding-bottom: 2rem;
	padding-top: 3rem;
}

.hero-section__content {
	background: linear-gradient( 145deg, var( --color-card ), var( --color-warm ) );
	border: 1px solid rgba( 94, 127, 104, 0.16 );
	border-radius: var( --radius-large );
	box-shadow: var( --shadow-soft );
	padding: 1.4rem;
}

.eyebrow {
	color: var( --color-green );
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0;
	margin: 0 0 0.65rem;
	text-transform: uppercase;
}

h1,
h2,
h3 {
	color: var( --color-green-dark );
	line-height: 1.12;
	margin: 0;
}

h1 {
	font-size: clamp( 2.3rem, 10vw, 4.8rem );
	max-width: 12ch;
}

h2 {
	font-size: clamp( 1.8rem, 6vw, 3rem );
}

h3 {
	font-size: 1.2rem;
}

.stack,
.section-stack,
.card-grid {
	display: grid;
}

.stack {
	gap: var( --space-stack );
}

.section-stack {
	gap: var( --space-section );
}

.card-grid {
	gap: var( --space-stack );
	grid-template-columns: repeat( auto-fit, minmax( min( 100%, 18rem ), 1fr ) );
}

.hero-section__lede {
	color: var( --color-muted );
	font-size: 1.05rem;
	margin: 1rem 0 1.5rem;
	max-width: 42rem;
}

.search-panel {
	background: var( --color-card );
	border: 1px solid rgba( 94, 127, 104, 0.14 );
	border-radius: 999px;
	display: flex;
	gap: 0.4rem;
	padding: 0.35rem;
}

.search-panel input,
.form-placeholder input,
.form-placeholder textarea,
.little-stops-form input,
.little-stops-form textarea,
.little-stops-form select {
	background: #fff;
	border: 1px solid rgba( 94, 127, 104, 0.18 );
	border-radius: 999px;
	color: var( --color-ink );
	font: inherit;
	min-width: 0;
	padding: 0.85rem 1rem;
	width: 100%;
}

.search-panel button,
.button,
.form-placeholder button,
.little-stops-form button {
	background: var( --color-green-dark );
	border: 0;
	border-radius: 999px;
	color: var( --color-cream );
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-weight: 800;
	justify-content: center;
	padding: 0.85rem 1.15rem;
	text-decoration: none;
	white-space: nowrap;
}

.section-heading {
	margin-bottom: 0;
	max-width: 42rem;
}

.section-heading p:not( .eyebrow ) {
	color: var( --color-muted );
	margin-bottom: 0;
}

.map-placeholder {
	align-items: center;
	background:
		linear-gradient( 90deg, rgba( 255, 255, 255, 0.56 ) 1px, transparent 1px ),
		linear-gradient( rgba( 255, 255, 255, 0.56 ) 1px, transparent 1px ),
		linear-gradient( 145deg, var( --color-green-soft ), var( --color-peach-soft ) );
	background-size: 46px 46px, 46px 46px, auto;
	border: 1px solid rgba( 94, 127, 104, 0.18 );
	border-radius: var( --radius-large );
	color: var( --color-green-dark );
	display: grid;
	font-weight: 800;
	justify-items: center;
	min-height: 20rem;
	overflow: hidden;
	padding: 2rem;
	position: relative;
	text-align: center;
}

.map-placeholder--large {
	min-height: 32rem;
}

.map-placeholder__pin {
	background: var( --color-peach );
	border: 6px solid var( --color-card );
	border-radius: 999px 999px 999px 0;
	box-shadow: 0 12px 26px rgba( 47, 81, 64, 0.2 );
	height: 4rem;
	position: relative;
	transform: rotate( -45deg );
	width: 4rem;
}

.map-placeholder__pin::after {
	background: var( --color-card );
	border-radius: 999px;
	content: "";
	height: 1.1rem;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate( -50%, -50% );
	width: 1.1rem;
}

.little-stops-map {
	background: var( --color-card );
	border: 1px solid rgba( 94, 127, 104, 0.18 );
	border-radius: var( --radius-large );
	box-shadow: var( --shadow-soft );
	display: grid;
	gap: var( --space-stack );
	overflow: hidden;
	padding: 0.75rem;
}

.little-stops-map__controls {
	display: grid;
	gap: 0.55rem;
}

.little-stops-map__control-row {
	align-items: stretch;
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.little-stops-map__search {
	align-items: center;
	background: #fff;
	border: 1px solid rgba( 94, 127, 104, 0.18 );
	border-radius: 999px;
	display: flex;
	flex: 1 1 18rem;
	gap: 0.35rem;
	min-height: 2.75rem;
	min-width: min( 100%, 18rem );
	overflow: hidden;
	padding: 0 0.35rem;
}

.little-stops-map__search input {
	background: transparent;
	border: 0;
	border-radius: 0;
	color: var( --color-ink );
	flex: 1 1 auto;
	font: inherit;
	min-height: 2.75rem;
	min-width: 7rem;
	padding: 0.75rem 0.35rem;
	width: auto;
}

.little-stops-map__search input:focus-visible {
	box-shadow: none;
	outline-offset: -3px;
}

.little-stops-map__filter-toggle {
	background: var( --color-green-dark );
	border: 0;
	border-radius: 999px;
	color: var( --color-cream );
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-weight: 800;
	justify-content: center;
	min-height: 2.75rem;
	padding: 0.85rem 1.05rem;
	white-space: nowrap;
}

.little-stops-map__icon-button {
	align-items: center;
	border: 0;
	cursor: pointer;
	display: inline-flex;
	flex: 0 0 auto;
	height: 2.75rem;
	justify-content: center;
	padding: 0;
	width: 2.75rem;
}

.little-stops-map__icon-button svg {
	display: block;
	height: 1.25rem;
	width: 1.25rem;
}

.little-stops-map__near-me {
	background: var( --color-green-soft );
	border-radius: 999px;
	color: var( --color-green-dark );
}

.little-stops-map__search-submit {
	background: var( --color-green-dark );
	border-radius: 999px;
	color: var( --color-cream );
}

.little-stops-map__filter-toggle {
	align-items: center;
	background: var( --color-green-soft );
	color: var( --color-green-dark );
	display: inline-flex;
	flex: 0 0 auto;
	width: auto;
}

.little-stops-map__filter-toggle::after {
	content: "\25B4";
	font-size: 0.85rem;
	margin-left: 0.4rem;
}

.little-stops-map__filter-toggle[aria-expanded="true"]::after {
	content: "\25BE";
}

.little-stops-map__filter-toggle.has-active-filters {
	box-shadow: inset 0 0 0 2px rgba( 47, 81, 64, 0.28 );
}

.little-stops-map__filter-summary {
	align-items: center;
	background: var( --color-peach-soft );
	border-radius: 999px;
	color: var( --color-green-dark );
	display: inline-flex;
	font-size: 0.86rem;
	font-weight: 900;
	justify-self: start;
	min-height: 2.25rem;
	padding: 0.4rem 0.8rem;
}

.little-stops-map__filter-summary[hidden] {
	display: none;
}

.little-stops-map__filters {
	border: 1px solid rgba( 94, 127, 104, 0.16 );
	border-radius: var( --radius-medium );
	display: grid;
	gap: 0.9rem;
	padding: 0.85rem;
}

.little-stops-map__filters[hidden] {
	display: none;
}

.little-stops-map__filter-group {
	align-content: start;
	display: grid;
	gap: 0.5rem;
}

.little-stops-map__filter-group > p,
.little-stops-map__filter-group > label:not( .little-stops-map__filter-option ) {
	color: var( --color-green-dark );
	font-weight: 800;
	margin: 0;
}

.little-stops-map__filter-option {
	align-items: center;
	color: var( --color-ink );
	display: flex;
	font-size: 0.95rem;
	font-weight: 700;
	gap: 0.45rem;
	min-height: 2.75rem;
	line-height: 1.3;
}

.little-stops-map__filter-option input {
	accent-color: var( --color-green-dark );
	flex: 0 0 auto;
	height: 1.25rem;
	width: 1.25rem;
}

.little-stops-map__filter-group select {
	appearance: none;
	background:
		linear-gradient( 45deg, transparent 50%, var( --color-green-dark ) 50% ),
		linear-gradient( 135deg, var( --color-green-dark ) 50%, transparent 50% ),
		#fff;
	background-position: calc( 100% - 18px ) 50%, calc( 100% - 12px ) 50%, 0 0;
	background-repeat: no-repeat;
	background-size: 6px 6px, 6px 6px, auto;
	border: 1px solid rgba( 94, 127, 104, 0.18 );
	border-radius: 999px;
	color: var( --color-ink );
	font: inherit;
	min-height: 2.75rem;
	min-width: 0;
	padding: 0.75rem 2.4rem 0.75rem 0.9rem;
	width: 100%;
}

.little-stops-map__status {
	color: var( --color-muted );
	font-size: 0.9rem;
	min-height: 1.4rem;
	padding: 0 0.35rem;
}

.little-stops-map__canvas {
	background:
		linear-gradient( 90deg, rgba( 255, 255, 255, 0.56 ) 1px, transparent 1px ),
		linear-gradient( rgba( 255, 255, 255, 0.56 ) 1px, transparent 1px ),
		linear-gradient( 145deg, var( --color-green-soft ), var( --color-peach-soft ) );
	background-size: 46px 46px, 46px 46px, auto;
	border-radius: calc( var( --radius-large ) - 8px );
	min-height: 22rem;
	overflow: hidden;
	touch-action: pan-x pan-y;
	width: 100%;
}

.little-stops-map--large .little-stops-map__canvas {
	min-height: 34rem;
}

.little-stops-map__results {
	display: grid;
	gap: 0.75rem;
}

.little-stops-map__results h2 {
	font-size: 1.25rem;
}

.little-stops-map__results-list {
	display: grid;
	gap: 0.6rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.little-stops-map__result {
	background: #fff;
	border: 1px solid rgba( 94, 127, 104, 0.14 );
	border-radius: var( --radius-small );
	display: grid;
	gap: 0.45rem;
	padding: 1rem;
}

.little-stops-map__result-title {
	color: var( --color-green-dark );
	font-weight: 900;
}

.little-stops-map__result-title,
.little-stops-map__result-preview {
	align-items: center;
	display: inline-flex;
	min-height: 2.75rem;
}

.little-stops-map__result p {
	color: var( --color-muted );
	margin: 0;
}

.little-stops-map__result-rating {
	color: #9b641f !important;
	font-weight: 900;
}

.little-stops-verification-signal {
	align-items: center;
	border-radius: 999px;
	display: inline-flex;
	font-size: 0.86rem;
	font-weight: 900;
	justify-self: start;
	line-height: 1.3;
	padding: 0.35rem 0.65rem;
}

.little-stops-verification-signal--recent {
	background: var( --color-green-soft );
	color: var( --color-green-dark );
}

.little-stops-verification-signal--stale,
.little-stops-verification-signal--unverified {
	background: rgba( 244, 171, 129, 0.2 );
	color: #6f2d1b;
}

.little-stops-map__result-practical {
	color: var( --color-green-dark ) !important;
	font-weight: 800;
}

.little-stops-map__result-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.little-stops-map__result-preview {
	background: var( --color-green-soft );
	border: 0;
	border-radius: 999px;
	color: var( --color-green-dark );
	cursor: pointer;
	font: inherit;
	font-weight: 800;
	justify-content: center;
	justify-self: start;
	padding: 0.55rem 0.9rem;
}

.little-stops-map__result-details {
	align-items: center;
	display: inline-flex;
	font-weight: 800;
	min-height: 2.75rem;
}

.little-stops-map__results-empty {
	color: var( --color-muted );
	font-weight: 800;
	margin: 0;
}

.map-section__results-link {
	margin: 1rem 0 0;
}

.little-stops-map__sheet {
	background: var( --color-card );
	border: 1px solid rgba( 94, 127, 104, 0.18 );
	border-radius: var( --radius-large ) var( --radius-large ) 0 0;
	bottom: 0;
	box-shadow: 0 -18px 44px rgba( 47, 81, 64, 0.2 );
	display: grid;
	gap: 0.4rem;
	left: 0;
	max-height: min( 72vh, 34rem );
	overflow: auto;
	overscroll-behavior: contain;
	padding: 0.65rem 1rem calc( 1rem + env( safe-area-inset-bottom ) );
	position: fixed;
	right: 0;
	transform: translateY( 0 );
	z-index: 20;
}

.little-stops-map__sheet[hidden] {
	display: none;
}

.little-stops-map__sheet-handle {
	background: rgba( 94, 127, 104, 0.26 );
	border-radius: 999px;
	height: 0.3rem;
	justify-self: center;
	width: 3.5rem;
}

.little-stops-map__sheet-close {
	align-items: center;
	background: var( --color-green-soft );
	border: 0;
	border-radius: 999px;
	color: var( --color-green-dark );
	cursor: pointer;
	display: inline-flex;
	font-size: 1.4rem;
	font-weight: 900;
	height: 2.75rem;
	justify-content: center;
	justify-self: end;
	line-height: 1;
	width: 2.75rem;
}

.little-stops-map__sheet-content {
	-webkit-overflow-scrolling: touch;
	overflow: auto;
}

.little-stops-map__canvas--empty {
	align-items: center;
	display: grid;
	justify-items: center;
}

.little-stops-info-window {
	color: var( --color-ink );
	display: grid;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	gap: 0.35rem;
	max-width: 16rem;
}

.little-stops-info-window h3 {
	font-size: 1.05rem;
	margin: 0;
}

.little-stops-info-window__image {
	aspect-ratio: 4 / 3;
	border-radius: var( --radius-small );
	display: block;
	object-fit: cover;
	width: 100%;
}

.little-stops-info-window p,
.little-stops-info-window ul {
	margin: 0;
}

.little-stops-info-window ul {
	display: grid;
	gap: 0.25rem;
	list-style: none;
	padding-left: 0;
}

.little-stops-info-window__label {
	color: var( --color-green-dark );
	font-weight: 800;
	margin-top: 0.25rem;
}

.little-stops-info-window li {
	align-items: center;
	display: flex;
	gap: 0.35rem;
}

.little-stops-info-window__restrictions {
	background: var( --color-peach-soft );
	border-radius: var( --radius-small );
	color: #6f2d1b;
	display: grid;
	gap: 0.25rem;
	margin: 0.25rem 0;
	padding: 0.55rem 0.65rem;
}

.little-stops-info-window__practical {
	background: rgba( 94, 127, 104, 0.12 );
	border-radius: var( --radius-small );
	color: var( --color-green-dark );
	display: grid;
	gap: 0.25rem;
	margin: 0.25rem 0;
	padding: 0.55rem 0.65rem;
}

.little-stops-info-window__notice {
	background: #fff2d8;
	border: 1px solid rgba( 155, 100, 31, 0.22 );
	border-radius: var( --radius-small );
	color: #6f2d1b;
	display: grid;
	gap: 0.25rem;
	margin: 0.25rem 0;
	padding: 0.55rem 0.65rem;
}

.little-stops-info-window__notice .little-stops-info-window__label,
.little-stops-info-window__notice-message {
	color: #6f2d1b;
}

.little-stops-info-window__restrictions .little-stops-info-window__label,
.little-stops-info-window__restrictions li {
	color: #6f2d1b;
}

.little-stops-info-window__practical .little-stops-info-window__label,
.little-stops-info-window__practical li {
	color: var( --color-green-dark );
}

.little-stops-info-window__rating {
	color: var( --color-muted );
	font-weight: 700;
}

.little-stops-info-window__directions {
	display: grid;
	gap: 0.3rem;
}

.little-stops-info-window__direction-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
}

.little-stops-info-window__direction-links a {
	background: var( --color-green-soft );
	border-radius: 999px;
	color: var( --color-green-dark );
	font-size: 0.85rem;
	font-weight: 800;
	padding: 0.35rem 0.55rem;
}

.little-stops-info-window > a {
	font-weight: 800;
	margin-top: 0.2rem;
}

.location-grid {
	display: grid;
	gap: var( --space-stack );
}

.location-card,
.content-card,
.cta-section__content {
	background: var( --color-card );
	border: 1px solid rgba( 94, 127, 104, 0.14 );
	border-radius: var( --radius-medium );
	box-shadow: var( --shadow-soft );
	padding: 1.2rem;
}

.content-card {
	align-content: start;
	display: grid;
	gap: var( --space-tight );
}

.content-card > :where( p, ul, ol, dl, form, figure ) {
	margin-bottom: 0;
	margin-top: 0;
}

.location-card__badge {
	background: var( --color-peach-soft );
	border-radius: 999px;
	color: var( --color-green-dark );
	display: inline-flex;
	font-size: 0.78rem;
	font-weight: 800;
	margin-bottom: 0.9rem;
	padding: 0.28rem 0.7rem;
}

.location-card p,
.content-card p,
.cta-section p {
	color: var( --color-muted );
}

.cta-section__content {
	background: linear-gradient( 145deg, var( --color-green-dark ), var( --color-green ) );
	color: var( --color-cream );
}

.cta-section__content h2,
.cta-section__content p,
.cta-section__content .eyebrow {
	color: var( --color-cream );
}

.button--primary {
	background: var( --color-cream );
	color: var( --color-green-dark );
}

.button--secondary {
	background: var( --color-green-soft );
	color: var( --color-green-dark );
}

.page-shell {
	display: grid;
	gap: var( --space-section );
	padding-bottom: 3rem;
	padding-top: 2rem;
}

.page-shell > * {
	min-width: 0;
}

.page-shell--narrow {
	max-width: 780px;
}

.little-stops-breadcrumbs ol {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.55rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.little-stops-breadcrumbs li {
	align-items: center;
	color: var( --color-muted );
	display: inline-flex;
	font-size: 0.9rem;
	font-weight: 800;
	gap: 0.55rem;
}

.little-stops-breadcrumbs li + li::before {
	color: rgba( 47, 81, 64, 0.5 );
	content: "/";
}

.little-stops-breadcrumbs a {
	color: var( --color-green-dark );
	text-decoration-thickness: 0.12rem;
}

.location-archive__heading {
	display: grid;
	gap: var( --space-tight );
}

.location-archive__heading h1 {
	max-width: 16ch;
}

.location-archive__grid {
	align-items: stretch;
}

.location-archive-card {
	display: flex;
	flex-direction: column;
	gap: var( --space-stack );
	justify-content: space-between;
}

.location-archive-card__body {
	display: grid;
	gap: var( --space-tight );
}

.location-archive-card h2 {
	font-size: clamp( 1.45rem, 4vw, 2rem );
	max-width: none;
}

.location-archive-card h2 a {
	color: var( --color-green-dark );
}

.location-archive-card__address {
	color: var( --color-green-dark ) !important;
	font-weight: 800;
}

.location-archive-card__amenities {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.location-archive-card__amenities li {
	background: var( --color-green-soft );
	border-radius: 999px;
	color: var( --color-green-dark );
	font-size: 0.82rem;
	font-weight: 800;
	padding: 0.3rem 0.7rem;
}

.location-archive-card__categories {
	margin-top: 0;
}

.location-archive__term-description p {
	color: var( --color-muted );
	margin: 0;
}

.nav-links {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: center;
}

.nav-links .page-numbers {
	background: var( --color-card );
	border: 1px solid rgba( 94, 127, 104, 0.16 );
	border-radius: 999px;
	color: var( --color-green-dark );
	font-weight: 800;
	padding: 0.45rem 0.75rem;
}

.nav-links .current {
	background: var( --color-green-dark );
	color: var( --color-cream );
}

.location-detail,
.location-detail__content,
.location-reviews,
.review-list {
	display: grid;
	gap: var( --space-section );
}

.location-detail__header h1 {
	max-width: 18ch;
}

.location-detail__address {
	font-size: 1.05rem;
	margin-bottom: 0;
}

.location-community,
.favorites-list {
	display: grid;
	gap: var( --space-stack );
}

.community-panel,
.community-header,
.favorites-header {
	display: grid;
	gap: var( --space-tight );
}

.community-panel h2,
.favorite-card h2,
.favorites-header h1 {
	font-size: clamp( 1.45rem, 4vw, 2rem );
	max-width: none;
}

.community-panel__actions,
.community-inline-form {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.community-inline-form {
	align-items: center;
}

.favorite-card h2 a {
	align-items: center;
	display: inline-flex;
	min-height: 2.75rem;
}

.community-panel__note {
	margin: 0;
}

.verification-trust {
	border-left: 0.25rem solid var( --color-green );
	display: grid;
	gap: 0.45rem;
	padding-left: 0.85rem;
}

.verification-trust--stale,
.verification-trust--unverified {
	border-left-color: var( --color-peach );
}

.verification-trust__description {
	color: var( --color-muted );
	font-weight: 800;
	margin: 0;
}

.verification-summary {
	display: grid;
	gap: 0.65rem;
	margin: 0;
}

.verification-summary > div {
	background: rgba( 255, 255, 255, 0.72 );
	border: 1px solid rgba( 94, 127, 104, 0.12 );
	border-radius: var( --radius-small );
	display: grid;
	gap: 0.2rem;
	padding: 0.75rem 0.85rem;
}

.verification-summary dt {
	color: var( --color-green-dark );
	font-weight: 900;
}

.verification-summary dd {
	color: var( --color-muted );
	font-weight: 800;
	margin: 0;
}

.report-form button,
.community-inline-form button {
	justify-self: start;
}

.favorite-card {
	align-items: start;
	display: grid;
	gap: var( --space-stack );
}

.favorite-card__body,
.favorite-card__directions,
.favorites-empty {
	display: grid;
	gap: 0.75rem;
}

.favorite-card__category {
	align-self: start;
	background: rgba( 244, 171, 129, 0.18 );
	border-radius: 999px;
	color: var( --color-green-dark );
	display: inline-flex;
	font-size: 0.78rem;
	font-weight: 900;
	justify-self: start;
	padding: 0.28rem 0.7rem;
}

.favorite-card h2 {
	margin-bottom: 0;
}

.favorite-card p {
	margin: 0;
}

.favorite-card__address,
.favorite-card__verified {
	color: var( --color-muted );
}

.favorite-card__verified,
.favorite-card__directions-label {
	font-size: 0.9rem;
	font-weight: 800;
}

.favorite-card__amenities {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.favorite-card__amenity {
	align-items: center;
	background: rgba( 255, 255, 255, 0.72 );
	border: 1px solid rgba( 94, 127, 104, 0.14 );
	border-radius: 999px;
	color: var( --color-green-dark );
	display: inline-flex;
	font-size: 0.86rem;
	font-weight: 800;
	gap: 0.42rem;
	min-height: 2.35rem;
	padding: 0.35rem 0.7rem 0.35rem 0.5rem;
}

.favorite-card__directions .button {
	min-height: 2.5rem;
	padding: 0.65rem 0.9rem;
}

.contributor-profile,
.community-leaderboards {
	display: grid;
	gap: var( --space-stack );
}

.contributor-profile__header {
	align-items: center;
	display: grid;
	gap: 1rem;
}

.contributor-profile__avatar img,
.leaderboard-list img {
	border-radius: 999px;
	display: block;
}

.contributor-profile__stats h2,
.contributor-profile__badges h2,
.contributor-profile__recent h2,
.leaderboard-card h2 {
	font-size: clamp( 1.45rem, 4vw, 2rem );
	margin-bottom: 0.8rem;
}

.contributor-stats-grid {
	display: grid;
	gap: 0.65rem;
	margin: 0;
}

.contributor-stats-grid > div {
	background: rgba( 255, 255, 255, 0.72 );
	border: 1px solid rgba( 94, 127, 104, 0.12 );
	border-radius: var( --radius-small );
	display: grid;
	gap: 0.2rem;
	padding: 0.75rem 0.85rem;
}

.contributor-stats-grid dt {
	color: var( --color-green-dark );
	font-weight: 900;
}

.contributor-stats-grid dd {
	color: var( --color-muted );
	font-size: 1.4rem;
	font-weight: 900;
	margin: 0;
}

.contributor-badges,
.recent-contributions,
.leaderboard-list {
	display: grid;
	gap: 0.7rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.contributor-badges li,
.recent-contributions li,
.leaderboard-list li {
	background: #fff;
	border: 1px solid rgba( 94, 127, 104, 0.14 );
	border-radius: var( --radius-small );
	padding: 0.8rem;
}

.contributor-badges li {
	display: grid;
	gap: 0.25rem;
}

.contributor-badges strong {
	color: var( --color-green-dark );
}

.contributor-badges span,
.recent-contributions time,
.leaderboard-list strong {
	color: var( --color-muted );
}

.recent-contributions li {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.leaderboard-list li {
	align-items: center;
	display: grid;
	gap: 0.6rem;
}

.leaderboard-list a {
	align-items: center;
	display: flex;
	font-weight: 900;
	gap: 0.65rem;
	min-height: 2.75rem;
}

.leaderboard-list strong {
	font-size: 0.9rem;
}

.recent-contributions a {
	align-items: center;
	display: inline-flex;
	min-height: 2.75rem;
}

.location-detail__categories {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 1rem;
}

.location-detail__categories span,
.location-detail__categories a {
	background: var( --color-peach-soft );
	border-radius: 999px;
	color: var( --color-green-dark );
	font-size: 0.82rem;
	font-weight: 800;
	padding: 0.3rem 0.75rem;
	text-decoration: none;
}

.location-detail__categories a:hover,
.location-detail__categories a:focus {
	background: var( --color-green-soft );
	text-decoration: underline;
}

.location-detail__image img {
	border-radius: var( --radius-large );
	box-shadow: var( --shadow-soft );
	display: block;
	max-height: 34rem;
	object-fit: cover;
	width: 100%;
}

.location-temporary-notice {
	background: #fff2d8;
	border-color: rgba( 155, 100, 31, 0.28 );
	color: #6f2d1b;
}

.location-temporary-notice h2 {
	color: #6f2d1b;
	font-size: clamp( 1.45rem, 4vw, 2rem );
	margin-bottom: 0.6rem;
}

.location-temporary-notice p {
	color: #6f2d1b;
}

.location-temporary-notice__expires {
	font-weight: 900;
}

.location-practical-tools {
	display: grid;
	gap: var( --space-stack );
}

.location-practical-tools h2 {
	font-size: clamp( 1.45rem, 4vw, 2rem );
	margin: 0;
}

.location-practical-tools h3 {
	color: var( --color-green-dark );
	font-size: 1rem;
	margin: 0 0 0.5rem;
}

.location-practical-tools__group {
	display: grid;
	gap: 0.35rem;
}

.location-practical-tools__status {
	color: var( --color-muted );
	font-weight: 800;
	min-height: 1.3rem;
}

.location-gallery {
	display: grid;
	gap: var( --space-stack );
}

.location-gallery h2 {
	font-size: clamp( 1.45rem, 4vw, 2rem );
	margin: 0;
}

.location-gallery__grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat( auto-fit, minmax( 12rem, 1fr ) );
}

.location-gallery__item {
	margin: 0;
}

.location-gallery__item button {
	aspect-ratio: 4 / 3;
	background: none;
	border: 0;
	border-radius: var( --radius-medium );
	box-shadow: var( --shadow-soft );
	cursor: zoom-in;
	display: block;
	overflow: hidden;
	padding: 0;
	width: 100%;
}

.location-gallery__item button:focus-visible {
	box-shadow: var( --shadow-soft ), var( --focus-ring );
	outline: 3px solid var( --color-focus );
	outline-offset: 3px;
}

.location-gallery__item img {
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform 160ms ease;
	width: 100%;
}

.location-gallery__item button:hover img,
.location-gallery__item button:focus-visible img {
	transform: scale( 1.03 );
}

.location-gallery__item figcaption {
	color: var( --color-muted );
	display: flex;
	flex-wrap: wrap;
	font-size: 0.88rem;
	gap: 0.35rem 0.75rem;
	justify-content: space-between;
	margin-top: 0.45rem;
}

.location-gallery__upload {
	border-top: 1px solid rgba( 43, 77, 64, 0.14 );
	display: grid;
	gap: 0.9rem;
	padding-top: 1rem;
}

.location-gallery__upload h3 {
	font-size: 1.15rem;
	margin: 0;
}

.location-gallery-lightbox {
	align-items: center;
	background: rgba( 15, 31, 25, 0.88 );
	display: grid;
	grid-template-columns: minmax( 2.75rem, 1fr ) minmax( 0, 58rem ) minmax( 2.75rem, 1fr );
	inset: 0;
	padding: 1rem;
	position: fixed;
	z-index: 10000;
}

.location-gallery-lightbox[hidden] {
	display: none;
}

.location-gallery-lightbox img {
	border-radius: var( --radius-medium );
	box-shadow: var( --shadow-soft );
	grid-column: 2;
	justify-self: center;
	max-height: min( 78vh, 42rem );
	max-width: 100%;
	object-fit: contain;
}

.location-gallery-lightbox__caption {
	color: #fff;
	grid-column: 2;
	margin: 0.85rem 0 0;
	text-align: center;
}

.location-gallery-lightbox button {
	background: #fff;
	border: 0;
	border-radius: 999px;
	color: var( --color-green-dark );
	cursor: pointer;
	font-weight: 900;
	min-height: 2.75rem;
	padding: 0.7rem 1rem;
}

.location-gallery-lightbox button:focus-visible {
	box-shadow: var( --focus-ring );
	outline: 3px solid var( --color-focus );
	outline-offset: 3px;
}

.location-gallery-lightbox__close {
	position: absolute;
	right: 1rem;
	top: 1rem;
}

.location-gallery-lightbox__previous {
	grid-column: 1;
	justify-self: center;
}

.location-gallery-lightbox__next {
	grid-column: 3;
	justify-self: center;
}

.has-gallery-lightbox {
	overflow: hidden;
}

.location-detail__practical-details {
	background: rgba( 94, 127, 104, 0.08 );
	border-color: rgba( 94, 127, 104, 0.18 );
}

.location-detail__practical-details h2 {
	font-size: clamp( 1.45rem, 4vw, 2rem );
	margin-bottom: 0.8rem;
}

.location-detail__practical-details dl {
	display: grid;
	gap: 0.85rem;
	margin: 0;
}

.location-detail__practical-details div {
	display: grid;
	gap: 0.25rem;
}

.location-detail__practical-details dt {
	color: var( --color-green-dark );
	font-weight: 900;
}

.location-detail__practical-details dd {
	color: var( --color-muted );
	margin: 0;
}

.location-detail__restrictions {
	background: linear-gradient( 145deg, var( --color-peach-soft ), var( --color-card ) );
	border-color: rgba( 111, 45, 27, 0.18 );
}

.location-detail__restrictions h2 {
	font-size: clamp( 1.45rem, 4vw, 2rem );
	margin-bottom: 0.8rem;
}

.location-detail__restrictions ul {
	display: grid;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.location-detail__restrictions li {
	align-items: start;
	color: #6f2d1b;
	display: flex;
	font-weight: 800;
	gap: 0.5rem;
}

.location-detail__restrictions li::before {
	background: #fff;
	border-radius: 999px;
	color: #6f2d1b;
	content: "!";
	display: inline-grid;
	flex: 0 0 auto;
	font-size: 0.8rem;
	font-weight: 900;
	height: 1.45rem;
	place-items: center;
	width: 1.45rem;
}

.location-detail__grid {
	display: grid;
	gap: var( --space-stack );
}

.recently-viewed {
	display: grid;
	gap: 0.75rem;
}

.recently-viewed[hidden] {
	display: none;
}

.recently-viewed h2 {
	font-size: 1.25rem;
}

.recently-viewed__list {
	display: grid;
	gap: 0.55rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.recently-viewed__list li {
	background: #fff;
	border: 1px solid rgba( 94, 127, 104, 0.14 );
	border-radius: var( --radius-small );
	display: grid;
	gap: 0.2rem;
	padding: 0.75rem;
}

.recently-viewed__list a {
	color: var( --color-green-dark );
	font-weight: 900;
}

.recently-viewed__list span {
	color: var( --color-muted );
	font-size: 0.9rem;
}

.location-detail__grid h2,
.recent-reviews h2,
.review-form-panel h2 {
	font-size: clamp( 1.45rem, 4vw, 2rem );
	margin-bottom: 0.8rem;
}

.location-detail__amenities {
	display: grid;
	gap: 0.55rem;
	list-style: none;
	margin: 1rem 0 0;
	padding: 0;
}

.location-detail__amenities li {
	align-items: center;
	display: flex;
	gap: 0.55rem;
}

.amenity-icon {
	background: var( --color-green-soft );
	border-radius: 999px;
	color: var( --color-green-dark );
	display: inline-grid;
	flex: 0 0 auto;
	font-size: 0.8rem;
	font-weight: 900;
	height: 1.45rem;
	place-items: center;
	width: 1.45rem;
}

.amenity-icon::before {
	content: "\2713";
}

.amenity-icon--changing-table::before,
.amenity-icon--nursing-room::before,
.amenity-icon--family::before,
.amenity-icon--stroller::before {
	content: "\1F6BC";
}

.amenity-icon--chair::before,
.amenity-icon--seating::before {
	content: "\1FA91";
}

.amenity-icon--toilet::before {
	content: "\1F6BD";
}

.amenity-icon--accessible::before {
	content: "\267F";
}

.amenity-icon--diaper-disposal::before,
.amenity-icon--trash::before {
	content: "\1F5D1";
}

.amenity-icon--sink::before {
	content: "\1F6B0";
}

.amenity-icon--soap::before {
	content: "\1F9FC";
}

.amenity-icon--hand-dryer::before {
	content: "\1F4A8";
}

.amenity-icon--paper-towels::before {
	content: "\1F9FB";
}

.amenity-icon--bottle::before {
	content: "\1F37C";
}

.amenity-icon--microwave::before {
	content: "\25FB";
}

.amenity-icon--hooks::before {
	content: "\25CC";
}

.amenity-icon--air::before {
	content: "\2744";
}

.rating-summary {
	background: linear-gradient( 145deg, var( --color-card ), var( --color-green-soft ) );
}

.rating-summary__overall {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin: 1rem 0;
}

.rating-summary__score {
	color: var( --color-green-dark );
	font-size: 2.8rem;
	font-weight: 900;
	line-height: 1;
}

.rating-summary__overall > span:nth-child( 2 ) {
	color: #bd7a24;
	font-size: 1.8rem;
}

.rating-summary__overall > span:last-child {
	color: var( --color-muted );
	font-weight: 700;
}

.rating-breakdown {
	display: grid;
	gap: 0.65rem;
	margin: 0;
}

.rating-breakdown > div {
	align-items: center;
	background: rgba( 255, 255, 255, 0.7 );
	border-radius: var( --radius-small );
	display: flex;
	justify-content: space-between;
	padding: 0.65rem 0.8rem;
}

.rating-breakdown dt {
	font-weight: 800;
}

.rating-breakdown dd {
	color: var( --color-green-dark );
	font-weight: 900;
	margin: 0;
}

.review-card {
	border-top: 1px solid rgba( 94, 127, 104, 0.16 );
	padding-top: 1rem;
}

.review-card:first-child {
	border-top: 0;
	padding-top: 0;
}

.review-card__header {
	display: grid;
	gap: 0.25rem;
}

.review-card__header > div {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.review-card__header span {
	color: #9b641f;
	font-weight: 900;
}

.review-card__header time {
	color: var( --color-muted );
	font-size: 0.9rem;
}

.review-card__scores {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	list-style: none;
	margin: 0.75rem 0 0;
	padding: 0;
}

.review-card__scores li {
	background: var( --color-green-soft );
	border-radius: 999px;
	color: var( --color-green-dark );
	font-size: 0.8rem;
	font-weight: 800;
	padding: 0.25rem 0.65rem;
}

.review-form button {
	justify-self: start;
}

.form-placeholder {
	display: grid;
	gap: 1rem;
	margin-top: 1.5rem;
}

.form-placeholder label {
	color: var( --color-green-dark );
	display: grid;
	font-weight: 800;
	gap: 0.4rem;
}

.form-placeholder textarea {
	border-radius: var( --radius-medium );
	min-height: 8rem;
	resize: vertical;
}

.form-placeholder button:disabled,
.form-placeholder input:disabled,
.form-placeholder textarea:disabled {
	cursor: not-allowed;
	opacity: 0.7;
}

.auth-panel,
.submission-panel,
.pending-submissions,
.little-stops-form {
	display: grid;
	gap: var( --space-stack );
}

.auth-panel {
	margin-inline: auto;
	max-width: 42rem;
	width: 100%;
}

.auth-links {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	justify-content: space-between;
}

.auth-links a {
	color: var( --color-green-dark );
	font-weight: 800;
	text-decoration-thickness: 0.12rem;
}

.auth-links a + a {
	margin-left: auto;
	text-align: right;
}

.account-summary {
	display: grid;
	gap: 1rem;
}

.button-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 0.85rem;
}

.little-stops-form label {
	color: var( --color-green-dark );
	display: grid;
	font-weight: 800;
	gap: 0.5rem;
}

.little-stops-form textarea {
	border-radius: var( --radius-medium );
	min-height: 9rem;
	resize: vertical;
}

.little-stops-form select {
	appearance: none;
	background-image: linear-gradient( 45deg, transparent 50%, var( --color-green-dark ) 50% ), linear-gradient( 135deg, var( --color-green-dark ) 50%, transparent 50% );
	background-position: calc( 100% - 18px ) 50%, calc( 100% - 12px ) 50%;
	background-repeat: no-repeat;
	background-size: 6px 6px, 6px 6px;
	padding-right: 2.4rem;
}

.little-stops-form input[type="file"] {
	border-radius: var( --radius-medium );
}

.little-stops-form [aria-invalid="true"] {
	border-color: #9f321f;
	box-shadow: inset 0 0 0 1px #9f321f;
}

.field-error {
	color: #6f2d1b;
	font-size: 0.9rem;
	font-weight: 800;
	margin: -0.25rem 0 0;
}

.form-hint {
	color: var( --color-muted );
	font-size: 0.92rem;
	font-weight: 700;
	margin: -0.2rem 0 0;
}

.checkbox-label {
	align-items: center;
	display: flex !important;
	font-weight: 700 !important;
	gap: 0.55rem !important;
	min-height: 2.75rem;
	padding: 0.25rem 0;
}

.checkbox-label input {
	accent-color: var( --color-green-dark );
	flex: 0 0 auto;
	height: 1.25rem;
	width: 1.25rem;
}

.contribution-form__amenities {
	border: 1px solid rgba( 94, 127, 104, 0.18 );
	border-radius: var( --radius-medium );
	display: grid;
	gap: 0.55rem;
	margin: 0;
	padding: 1rem;
}

.contribution-form__amenities legend {
	color: var( --color-green-dark );
	font-weight: 800;
	padding: 0 0.35rem;
}

.form-grid {
	display: grid;
	gap: var( --space-stack );
}

.little-stops-notices {
	display: grid;
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.little-stops-notice {
	border-radius: var( --radius-small );
	font-weight: 800;
	padding: 0.85rem 1rem;
}

.form-notice {
	border-radius: var( --radius-small );
	font-weight: 800;
	margin: 0;
	padding: 0.85rem 1rem;
}

.little-stops-notice--success {
	background: var( --color-green-soft );
	color: var( --color-green-dark );
}

.form-notice--success {
	background: var( --color-green-soft );
	color: var( --color-green-dark );
}

.little-stops-notice--error {
	background: var( --color-peach-soft );
	color: #6f2d1b;
}

.form-notice--error {
	background: var( --color-peach-soft );
	color: #6f2d1b;
}

.submission-photos {
	display: grid;
	gap: 0.55rem;
}

.submission-photos p {
	color: var( --color-green-dark );
	font-weight: 800;
	margin: 0;
}

.submission-photos__grid {
	display: grid;
	gap: 0.65rem;
	grid-template-columns: repeat( auto-fit, minmax( 5rem, 1fr ) );
}

.submission-photos__grid img {
	aspect-ratio: 1;
	border-radius: var( --radius-small );
	object-fit: cover;
	width: 100%;
}

.pending-submissions {
	margin-top: 1.25rem;
}

.pending-submissions__list {
	display: grid;
	gap: 0.75rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.pending-submissions__list li {
	align-items: center;
	background: #fff;
	border: 1px solid rgba( 94, 127, 104, 0.14 );
	border-radius: var( --radius-small );
	display: grid;
	gap: 0.75rem;
	padding: 0.85rem;
}

.pending-submissions__list span {
	color: var( --color-muted );
	display: block;
	font-size: 0.9rem;
}

.status-pill {
	background: var( --color-peach-soft );
	border-radius: 999px;
	color: var( --color-green-dark ) !important;
	display: inline-flex !important;
	font-size: 0.78rem !important;
	font-weight: 800;
	justify-content: center;
	padding: 0.3rem 0.7rem;
}

.site-footer {
	background: var( --color-green-dark );
	color: var( --color-cream );
	flex: 0 0 auto;
	margin-top: 2rem;
}

.site-footer__inner {
	display: grid;
	gap: 0.4rem;
	padding-bottom: 2rem;
	padding-top: 2rem;
}

.site-footer p {
	margin: 0;
}

.site-footer__meta {
	opacity: 0.78;
}

@media ( max-width: 759px ) {
	.site-header {
		z-index: 12;
	}

	.site-brand__tagline {
		display: none;
	}

	.primary-nav a {
		align-items: center;
		display: flex;
		min-height: 2.75rem;
	}

	.page-shell {
		padding-bottom: 2rem;
		padding-top: 1.25rem;
	}

	.little-stops-map {
		border-radius: var( --radius-medium );
		gap: 0.65rem;
		margin-left: -0.25rem;
		margin-right: -0.25rem;
		overflow: visible;
		padding: 0.55rem;
	}

	.little-stops-map__controls {
		background: rgba( 255, 252, 244, 0.96 );
		border: 1px solid rgba( 94, 127, 104, 0.14 );
		border-radius: var( --radius-medium );
		box-shadow: var( --shadow-soft );
		padding: 0.5rem;
		position: sticky;
		top: calc( 4.75rem + env( safe-area-inset-top ) );
		z-index: 8;
	}

	.little-stops-map__filter-toggle {
		display: inline-flex;
	}

	.little-stops-map__filters {
		background: var( --color-card );
		max-height: min( 58vh, 28rem );
		overflow: auto;
		overscroll-behavior: contain;
	}

	.little-stops-map__filters:not( .is-open ) {
		display: none;
	}

	.little-stops-map__filter-option {
		background: rgba( 255, 255, 255, 0.72 );
		border: 1px solid rgba( 94, 127, 104, 0.1 );
		border-radius: var( --radius-small );
		padding: 0.55rem 0.65rem;
	}

	.little-stops-map__canvas {
		min-height: clamp( 24rem, 62vh, 36rem );
	}

	.little-stops-map--large .little-stops-map__canvas {
		min-height: clamp( 27rem, 66vh, 38rem );
	}

	.little-stops-map__results h2 {
		font-size: 1.1rem;
	}

	.little-stops-map__result {
		padding: 0.85rem;
	}

	.little-stops-info-window {
		max-width: none;
	}

	.location-detail__header h1 {
		font-size: clamp( 2rem, 12vw, 3rem );
		max-width: 100%;
	}

	.location-detail__categories span,
	.review-card__scores li {
		align-items: center;
		display: inline-flex;
		min-height: 2.2rem;
	}

	.location-detail__amenities li {
		min-height: 2.75rem;
	}

	.rating-summary__overall {
		align-items: center;
	}

	.rating-breakdown > div,
	.review-card {
		padding: 0.85rem;
	}

	.review-form button,
	.button,
	.form-placeholder button,
	.little-stops-form button {
		min-height: 2.75rem;
		width: 100%;
	}

	.community-inline-form {
		width: 100%;
	}
}

@media ( max-width: 520px ) {
	.auth-links {
		display: grid;
		justify-content: stretch;
	}

	.auth-links a + a {
		margin-left: 0;
		text-align: left;
	}

	.little-stops-map__control-row {
		display: grid;
		grid-template-columns: 1fr;
	}

	.little-stops-map__filter-toggle {
		width: 100%;
	}

	.search-panel {
		border-radius: var( --radius-medium );
		display: grid;
	}

	.search-panel button {
		width: 100%;
	}
}

@media ( min-width: 760px ) {
	.site-header__inner,
	.site-footer__inner,
	.hero-section,
	.map-section,
	.featured-section,
	.cta-section,
	.page-shell {
		padding-left: 2rem;
		padding-right: 2rem;
	}

	.hero-section {
		align-items: center;
		padding-top: 4rem;
	}

	.hero-section__content {
		padding: 2.5rem;
	}

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

	.form-grid--two {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.little-stops-map__filters {
		grid-template-columns: minmax( 0, 1.2fr ) minmax( 0, 1fr ) minmax( 12rem, 0.8fr );
	}

	.little-stops-map__sheet {
		display: none;
	}

	.little-stops-map__results-list {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.location-detail__grid {
		grid-template-columns: minmax( 0, 1.5fr ) minmax( 16rem, 0.8fr );
	}

	.verification-summary {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.favorite-card {
		grid-template-columns: 1fr auto;
	}

	.contributor-profile__header {
		grid-template-columns: auto 1fr;
	}

	.contributor-stats-grid {
		grid-template-columns: repeat( auto-fit, minmax( 8.5rem, 1fr ) );
	}

	.community-leaderboards {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.leaderboard-list li {
		grid-template-columns: 1fr;
	}

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

	.rating-breakdown > div {
		display: grid;
		gap: 0.2rem;
	}

	.review-card__header {
		align-items: center;
		grid-template-columns: 1fr auto;
	}

	.little-stops-form--inline {
		align-items: end;
		grid-template-columns: 1fr auto;
	}

	.pending-submissions__list li {
		grid-template-columns: 1fr auto;
	}

	.cta-section__content {
		align-items: center;
		display: grid;
		gap: 1.5rem;
		grid-template-columns: 1fr auto;
	}

	.cta-section__content .eyebrow,
	.cta-section__content h2,
	.cta-section__content p {
		grid-column: 1;
	}

	.cta-section__content .button {
		grid-column: 2;
		grid-row: 1 / span 3;
	}
}

@media ( min-width: 1000px ) {
	.nav-toggle {
		display: none;
	}

	.primary-nav {
		background: transparent;
		border: 0;
		box-shadow: none;
		display: block;
		flex: 1 1 auto;
		min-width: 0;
		padding: 0;
		position: static;
	}

	.primary-nav ul {
		align-items: center;
		display: flex;
		flex-wrap: nowrap;
		gap: 0.1rem;
		justify-content: flex-end;
	}

	.primary-nav a {
		font-size: 0.94rem;
		padding: 0.55rem 0.48rem;
	}
}

@media ( min-width: 1024px ) {
	.community-leaderboards {
		grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	}
}

@media ( prefers-reduced-motion: reduce ) {
	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.001ms !important;
	}

	.map-placeholder__pin,
	.map-placeholder__ring,
	.little-stops-map__filter-toggle::after,
	.location-gallery__item img,
	.location-gallery__item button:hover img,
	.location-gallery__item button:focus-visible img {
		transform: none !important;
	}
}
