html.has-map-fullscreen,
html.has-map-fullscreen body {
	overflow: hidden;
	overscroll-behavior: none;
}

.find-camp-map {
	background-color: var(--color-white);
}

.find-camp-map__section-header {
	margin-bottom: var(--space-7);
}

.find-camp-map__section-header .breadcrumbs {
	color: var(--color-brand-accent);
}

.find-camp-map__section-header > .find-camp-map__description {
	max-width: none;
}

.find-camp-map__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.75fr) minmax(18rem, 0.75fr);
	height: clamp(38rem, 72vh, 46rem);
	min-height: 38rem;
	overflow: hidden;
	border: 1px solid var(--color-border-subtle);
	border-radius: var(--radius-lg);
	background-color: var(--color-background-section-muted);
	box-shadow: var(--shadow-card);
}

.find-camp-map__canvas {
	position: relative;
	isolation: isolate;
	min-height: 0;
	height: 100%;
	aspect-ratio: auto;
	overflow: hidden;
	-webkit-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
	background:
		radial-gradient(circle at 1px 1px, var(--color-off-black-alpha-10) 1px, transparent 0) 0 0 / 1.5rem 1.5rem,
		linear-gradient(145deg, var(--color-white), var(--color-background-section-muted));
}

.find-camp-map__close,
.find-camp-map__mobile-open,
.find-camp-map__tray-toggle {
	display: none;
}

.find-camp-map__stage {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	touch-action: none;
}

.find-camp-map__stage,
.find-camp-map__stage * {
	-webkit-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
}

.find-camp-map__stage .maplibregl-canvas {
	outline: none;
}

.find-camp-map__stage .maplibregl-canvas:focus-visible {
	outline: var(--focus-ring-width) solid var(--color-focus);
	outline-offset: calc(-1 * var(--focus-ring-offset));
}

.find-camp-map__stage .maplibregl-ctrl-attrib {
	padding: var(--space-1) var(--space-2);
	color: var(--color-muted);
	font-family: var(--font-family-body);
	font-size: 0.625rem;
	line-height: var(--line-height-snug);
	text-align: center;
	background-color: var(--color-white);
	border: 1px solid var(--color-border-subtle);
	border-radius: var(--radius-pill);
	box-shadow: var(--shadow-popover);
}

.find-camp-map__stage .maplibregl-ctrl-attrib.maplibregl-compact {
	min-height: 1.75rem;
	margin: 0;
	padding: 0 1.75rem 0 0;
	background-color: var(--color-white);
	border-radius: var(--radius-pill);
}

.find-camp-map__stage .maplibregl-ctrl-attrib.maplibregl-compact-show {
	display: flex;
	align-items: center;
	max-width: min(24rem, calc(100vw - (2 * var(--space-3))));
	min-height: 1.75rem;
	padding: var(--space-2) calc(1.75rem + var(--space-3)) var(--space-2) var(--space-3);
	color: var(--color-white);
	background-color: var(--color-off-black);
	border-color: var(--color-off-black);
}

.find-camp-map__stage .maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button {
	display: grid;
	width: 1.75rem;
	height: 1.75rem;
	color: var(--color-off-black);
	place-items: center;
	background-color: var(--color-white);
	background-image: none;
	border: 0;
	border-radius: var(--radius-circle);
}

.find-camp-map__stage .maplibregl-ctrl-attrib-button .tabler-icon {
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	stroke-width: 3;
}

.find-camp-map__stage .maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button {
	top: 50%;
	right: var(--space-1);
	color: var(--color-white);
	background-color: var(--color-off-black);
	transform: translateY(-50%);
}

.find-camp-map__stage .maplibregl-ctrl-attrib-inner {
	display: flex;
	align-items: center;
	min-height: 1.75rem;
	text-align: center;
}

.find-camp-map__stage .maplibregl-ctrl-attrib-button:focus {
	box-shadow: none;
}

.find-camp-map__stage .maplibregl-ctrl-attrib-button:focus-visible {
	outline: var(--focus-ring-width) solid var(--color-focus);
	outline-offset: var(--focus-ring-offset);
	box-shadow: 0 0 0 var(--focus-halo-width) var(--color-focus-halo);
}

.find-camp-map__stage .maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button:focus-visible {
	outline-color: var(--color-white);
	box-shadow: 0 0 0 var(--focus-halo-width) var(--color-white-alpha-24);
}

.find-camp-map__stage .maplibregl-ctrl-attrib a {
	color: inherit;
}

.find-camp-map__stage .maplibregl-ctrl-attrib.maplibregl-compact-show a {
	color: var(--color-white);
}

.find-camp-map__stage .maplibregl-ctrl-bottom-right {
	right: var(--space-2);
	bottom: var(--space-2);
}

.find-camp-map__stage .maplibregl-canvas-container.maplibregl-interactive,
.find-camp-map__stage .maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer {
	cursor: grab;
}

.find-camp-map__stage .maplibregl-canvas-container.maplibregl-interactive:active {
	cursor: grabbing;
}

.find-camp-map__fallback {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 3;
	width: min(80%, var(--content-max-width-xs));
	margin: 0;
	padding: var(--space-4);
	color: var(--color-muted);
	text-align: center;
	background-color: var(--color-white-alpha-76);
	border: 1px solid var(--color-border-subtle);
	border-radius: var(--radius-md);
	transform: translate(-50%, -50%);
}

.find-camp-map__map-label,
.find-camp-map__interaction-note {
	position: absolute;
	z-index: 4;
	margin: 0;
	color: var(--color-muted);
	pointer-events: none;
}

.find-camp-map__map-label {
	top: var(--space-4);
	left: var(--space-5);
	font-size: var(--font-size-body-xs);
}

.find-camp-map__interaction-note {
	top: var(--space-3);
	right: var(--space-3);
	display: flex;
	align-items: center;
	gap: var(--space-1);
	padding: var(--space-1) var(--space-2);
	font-size: var(--font-size-body-xs);
	background-color: var(--color-white-alpha-76);
}

.find-camp-map__interaction-note kbd {
	font: inherit;
	font-weight: var(--font-weight-bold);
}

.find-camp-map__interaction-note--mobile {
	display: none;
}

.find-camp-map__scroll-hint {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 5;
	margin: 0;
	padding: var(--space-3) var(--space-4);
	color: var(--color-white);
	font-size: var(--font-size-body-sm);
	font-weight: var(--font-weight-bold);
	pointer-events: none;
	background-color: var(--color-off-black);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-popover);
	opacity: 0;
	transform: translate(-50%, -50%);
	transition: opacity var(--transition-fast);
}

.find-camp-map__scroll-hint.is-visible {
	opacity: 1;
}

.find-camp-map__scroll-hint kbd {
	font: inherit;
}

.find-camp-map__zoom-controls {
	position: absolute;
	bottom: var(--space-3);
	left: var(--space-3);
	z-index: 4;
	display: grid;
	overflow: hidden;
	background-color: var(--color-white);
	border: 1px solid var(--color-border-subtle);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-popover);
}

.find-camp-map__zoom-controls button {
	display: grid;
	width: 2.75rem;
	height: 2.75rem;
	min-height: 0;
	padding: 0;
	color: var(--color-off-black);
	place-items: center;
	background-color: var(--color-white);
	border: 0;
	border-radius: 0;
}

.find-camp-map__zoom-controls button + button {
	border-top: 1px solid var(--color-border-subtle);
}

.find-camp-map__zoom-controls .tabler-icon {
	width: 1.25rem;
	height: 1.25rem;
}

html.has-hover-input .find-camp-map__zoom-controls button:hover {
	color: var(--color-off-black);
	background-color: var(--color-background-section-muted);
	border-color: var(--color-border-subtle);
	box-shadow: none;
	transform: none;
}

.find-camp-map__search {
	display: none;
}

.find-camp-pin {
	position: absolute;
	z-index: 2;
	min-height: 0;
	transform-origin: center;
	transition: none;
}

.find-camp-pin__shape {
	position: absolute;
	top: 50%;
	left: 50%;
	display: grid;
	place-items: center;
	transform: translate(-50%, -50%);
	transform-origin: center;
}

.find-camp-pin--joined,
.find-camp-pin--general {
	display: block;
	width: 0.8rem;
	height: 0.8rem;
	min-height: 0.8rem;
	padding: 0;
	border: 0;
	border-radius: var(--radius-circle);
	cursor: pointer;
	background: transparent;
}

.find-camp-pin--joined .find-camp-pin__shape,
.find-camp-pin--general .find-camp-pin__shape {
	width: 0.8rem;
	height: 0.8rem;
	border: 2px solid var(--color-white);
	border-radius: var(--radius-circle);
	outline: 1px solid var(--color-off-black-alpha-18);
	transition: background-color var(--transition-fast), box-shadow var(--transition-fast);
}

.find-camp-pin--joined .find-camp-pin__shape {
	background-color: var(--color-brand-accent);
}

.find-camp-pin--general .find-camp-pin__shape {
	background-color: var(--color-muted);
}

html.has-hover-input .find-camp-pin:hover {
	color: inherit;
	background: transparent;
	border-color: transparent;
}

html.has-hover-input .find-camp-pin--joined:hover .find-camp-pin__shape {
	background-color: var(--color-brand-accent-active);
	box-shadow:
		0 0 0 0.16rem var(--color-white),
		0 0 0 0.26rem var(--color-brand-accent-alpha-38);
}

html.has-hover-input .find-camp-pin--general:hover .find-camp-pin__shape {
	background-color: var(--color-off-black);
	box-shadow:
		0 0 0 0.16rem var(--color-white),
		0 0 0 0.26rem var(--color-off-black-alpha-18);
}

.find-camp-pin--joined.is-previewed .find-camp-pin__shape,
.find-camp-pin--general.is-previewed .find-camp-pin__shape {
	--find-camp-live-ring-size: 0.14rem;
	--find-camp-live-spread: 0.65rem;

	box-shadow:
		0 0 0 var(--find-camp-live-ring-size) var(--color-white),
		0 0 0 0.28rem var(--find-camp-live-color);
	animation: find-camp-live-pulse 1.8s ease-in-out infinite;
}

.find-camp-pin--joined.is-previewed .find-camp-pin__shape {
	--find-camp-live-color: var(--color-brand-accent-alpha-38);

	background-color: var(--color-brand-accent-active);
}

.find-camp-pin--general.is-previewed .find-camp-pin__shape {
	--find-camp-live-color: var(--color-off-black-alpha-18);

	background-color: var(--color-off-black);
}

.find-camp-pin--joined:focus-visible .find-camp-pin__shape,
.find-camp-pin--general:focus-visible .find-camp-pin__shape,
.find-camp-pin--shop:focus-visible .find-camp-pin__shape {
	outline: var(--focus-ring-width) solid var(--color-focus);
	outline-offset: var(--focus-ring-offset);
}

.find-camp-pin--joined:active .find-camp-pin__shape {
	background-color: var(--color-brand-accent-active);
	box-shadow: 0 0 0 0.18rem var(--color-brand-accent-alpha-24);
}

.find-camp-pin--general:focus-visible .find-camp-pin__shape,
.find-camp-pin--general:active .find-camp-pin__shape {
	background-color: var(--color-off-black);
	box-shadow: 0 0 0 0.18rem var(--color-off-black-alpha-18);
}

.find-camp-pin:active {
	color: inherit;
	background: transparent;
	border-color: transparent;
}

.find-camp-pin--shop {
	z-index: 3;
	display: block;
	width: 1.75rem;
	height: 1.75rem;
	min-height: 1.75rem;
	padding: 0;
	border: 0;
	border-radius: var(--radius-circle);
	background: transparent;
	cursor: pointer;
}

.find-camp-pin--shop .find-camp-pin__shape {
	width: 1.75rem;
	height: 1.75rem;
	padding: 0;
	overflow: hidden;
	color: var(--color-white);
	background-color: var(--color-off-black);
	border: 2px solid var(--color-white);
	border-radius: var(--radius-circle);
	box-shadow: var(--shadow-popover);
	cursor: pointer;
	transition: background-color var(--transition-fast), box-shadow var(--transition-fast);
}

html.has-hover-input .find-camp-pin--shop:hover .find-camp-pin__shape {
	border-color: var(--color-muted);
	box-shadow: 0 0 0 0.22rem var(--color-off-black-alpha-18);
}

.find-camp-pin--shop.is-previewed .find-camp-pin__shape {
	border-color: var(--color-brand-accent);
	box-shadow: 0 0 0 0.18rem var(--color-brand-accent-alpha-24);
}

.find-camp-pin--shop:active .find-camp-pin__shape {
	border-color: var(--color-brand-accent-active);
}

.find-camp-pin__emblem {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.find-camp-pin__emblem-fallback {
	font-family: var(--font-family-heading);
	font-size: var(--font-size-body-sm);
	font-weight: var(--font-weight-bold);
	line-height: 1;
	text-transform: uppercase;
}

.find-camp-map__empty {
	position: absolute;
	top: 50%;
	left: 50%;
	width: min(80%, var(--content-max-width-xs));
	margin: 0;
	padding: var(--space-4);
	text-align: center;
	background: var(--color-white-alpha-76);
	transform: translate(-50%, -50%);
}

.find-camp-map__panel {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	gap: var(--space-7);
	min-width: 0;
	min-height: 0;
	padding: var(--space-inset-card);
	overflow-y: auto;
	overscroll-behavior: contain;
	border: 0;
	border-inline-start: 1px solid var(--color-border-subtle);
	border-radius: 0;
	box-shadow: none;
}

.find-camp-map__tray-content {
	display: flex;
	flex-direction: column;
	gap: var(--space-7);
	min-width: 0;
}

.find-camp-map__legend {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3) var(--space-5);
	padding-bottom: var(--space-5);
	border-bottom: 1px solid var(--color-border-subtle);
	color: var(--color-muted);
	font-size: var(--font-size-body-sm);
}

.find-camp-map__legend span {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
}

.find-camp-map__legend-pin {
	display: inline-block;
	width: 0.75rem;
	height: 0.75rem;
	border-radius: var(--radius-circle);
	background-color: var(--color-muted);
}

.find-camp-map__legend-pin--joined {
	background-color: var(--color-brand-accent);
}

.find-camp-homebase {
	background: transparent;
}

.find-camp-homebase__meta,
.find-camp-homebase__count,
.find-camp-homebase > p {
	margin: 0;
}

.find-camp-homebase__meta {
	margin-top: 0;
	font-weight: var(--font-weight-bold);
}

.find-camp-homebase--shop > p:last-of-type {
	margin-top: var(--space-5);
	color: var(--color-muted);
}

.find-camp-homebase__count {
	margin-top: var(--space-2);
	color: var(--color-muted);
	font-size: var(--font-size-body-sm);
	font-weight: var(--font-weight-bold);
}

.find-camp-homebase__camp-list {
	display: grid;
	gap: var(--space-6);
	margin-top: 0;
}

.find-camp-homebase__camp {
	padding-top: var(--space-5);
	border-top: 1px solid var(--color-border-subtle);
}

.find-camp-homebase__camp-status {
	margin-bottom: var(--space-2);
	color: var(--color-brand-accent);
}

.find-camp-homebase__camp--general .find-camp-homebase__camp-status {
	color: var(--color-muted);
}

.find-camp-homebase__camp-title {
	margin: 0;
	font-family: var(--font-family-heading);
	font-size: var(--font-size-title-compact);
	line-height: var(--line-height-heading);
	text-transform: uppercase;
}

.find-camp-homebase__camp-meta {
	margin-top: var(--space-2);
	font-weight: var(--font-weight-bold);
}

.find-camp-homebase .find-camp-homebase__camp-note {
	margin-top: var(--space-5);
	color: var(--color-muted);
}

.find-camp-homebase__camp .find-camp-homebase__actions {
	margin-top: var(--space-5);
}

.find-camp-homebase__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	margin-top: var(--space-6);
}

.find-camp-process {
	border-top: 1px solid var(--color-border-subtle);
	background-color: var(--color-background-section);
}

.find-camp-process__steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-7);
	margin: 0;
	padding: 0;
	list-style: none;
}

.find-camp-process__steps li {
	padding-top: var(--space-5);
	border-top: 1px solid var(--color-border-subtle);
}

.find-camp-process__steps span {
	color: var(--color-brand-accent);
	font-family: var(--font-family-heading);
	font-weight: var(--font-weight-bold);
}

.find-camp-process__steps h3 {
	margin: var(--space-4) 0 0;
}

.find-camp-process__steps p {
	margin: var(--space-3) 0 0;
	color: var(--color-muted);
}

.find-camp-referral {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	border-top: 1px solid var(--color-border-subtle);
	color: var(--color-white);
	background-color: var(--color-off-black);
}

.find-camp-referral::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		radial-gradient(circle at 1px 1px, var(--color-white-alpha-10) 1px, transparent 0) 0 0 / 1.5rem 1.5rem,
		linear-gradient(115deg, transparent 42%, var(--color-white-alpha-08));
	content: "";
	mask-image: linear-gradient(to right, black, transparent 88%);
}

.find-camp-referral__inner {
	display: block;
}

.find-camp-page .contact-form {
	border-top: 1px solid var(--color-border-subtle);
}

@media (max-width: 62rem) {
	.find-camp-map__layout {
		grid-template-columns: 1fr;
		height: auto;
		min-height: 0;
	}

	.find-camp-map__canvas {
		min-height: auto;
		height: auto;
		aspect-ratio: 1000 / 760;
	}

	.find-camp-map__panel {
		border-top: 1px solid var(--color-border-subtle);
		border-inline-start: 0;
	}
}

@media (max-width: 48rem) {
	.find-camp-process__steps {
		grid-template-columns: 1fr;
		gap: var(--space-5);
	}

	.find-camp-map__map-label {
		display: none;
	}

	.find-camp-map__canvas {
		height: auto;
		aspect-ratio: 4 / 3;
	}

	.find-camp-map__layout:not(.is-map-fullscreen) .find-camp-map__stage {
		pointer-events: none;
	}

	.find-camp-map__layout:not(.is-map-fullscreen) .find-camp-map__panel {
		display: none;
	}

	.find-camp-map__mobile-open {
		position: absolute;
		inset: 0;
		z-index: 5;
		display: block;
		width: 100%;
		height: 100%;
		min-height: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		cursor: pointer;
		touch-action: manipulation;
	}

	.find-camp-map__mobile-open:focus-visible {
		outline: var(--focus-ring-width) solid var(--color-focus);
		outline-offset: calc(-1 * var(--focus-ring-offset));
	}

	html.has-hover-input .find-camp-map__mobile-open:hover,
	.find-camp-map__mobile-open:active {
		color: inherit;
		background: transparent;
		border-color: transparent;
		box-shadow: none;
		transform: none;
	}

	.find-camp-map__interaction-note--desktop {
		display: none;
	}

	.find-camp-map__interaction-note--mobile-inline {
		top: auto;
		right: auto;
		bottom: var(--space-3);
		left: 50%;
		display: inline-flex;
		width: max-content;
		max-width: calc(100% - (2 * var(--space-3)));
		padding: var(--space-2) var(--space-4);
		color: var(--color-white);
		font-weight: var(--font-weight-bold);
		line-height: 1;
		justify-content: center;
		text-align: center;
		white-space: nowrap;
		background-color: var(--color-off-black);
		border: 0;
		border-radius: var(--radius-pill);
		box-shadow: var(--shadow-popover);
		transform: translateX(-50%);
	}

	.find-camp-map__interaction-note--mobile-fullscreen {
		display: none;
	}

	.find-camp-map__layout:not(.is-map-fullscreen) .maplibregl-ctrl-bottom-right {
		top: var(--space-2);
		right: var(--space-2);
		bottom: auto;
		z-index: 6;
	}

	.find-camp-map__layout.is-map-fullscreen {
		position: fixed;
		inset: 0;
		z-index: 2000;
		display: block;
		width: 100vw;
		height: 100vh;
		height: 100dvh;
		min-height: 0;
		overflow: hidden;
		border: 0;
		border-radius: 0;
		background-color: var(--color-background-section-muted);
		box-shadow: none;
		-webkit-user-select: none;
		user-select: none;
		-webkit-touch-callout: none;
	}

	.find-camp-map__layout.is-map-fullscreen:focus {
		outline: 0;
	}

	.find-camp-map__layout.is-map-fullscreen * {
		-webkit-user-select: none;
		user-select: none;
		-webkit-touch-callout: none;
	}

	.find-camp-map__layout.is-map-fullscreen .find-camp-map__canvas {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		min-height: 100%;
		aspect-ratio: auto;
	}

	.find-camp-map__layout.is-map-fullscreen .find-camp-map__mobile-open {
		display: none;
	}

	.find-camp-map__layout.is-map-fullscreen .find-camp-map__interaction-note--mobile-inline {
		display: none;
	}

	.find-camp-map__layout.is-map-fullscreen .find-camp-map__interaction-note--mobile-fullscreen {
		top: max(var(--space-3), env(safe-area-inset-top));
		right: auto;
		bottom: auto;
		left: max(var(--space-3), env(safe-area-inset-left));
		display: flex;
		max-width: calc(100% - 9rem);
		gap: var(--space-2);
		padding: var(--space-2) var(--space-3);
		color: var(--color-off-black);
		font-size: var(--font-size-body-xs);
		font-weight: var(--font-weight-regular);
		line-height: var(--line-height-snug);
		background-color: var(--color-white-alpha-76);
		border: 0;
		border-radius: var(--radius-md);
		box-shadow: none;
	}

	.find-camp-map__layout.is-map-fullscreen .find-camp-map__interaction-note--mobile-fullscreen span {
		display: inline-flex;
		align-items: center;
		min-height: 0;
		padding: 0;
		white-space: nowrap;
	}

	.find-camp-map__layout.is-map-fullscreen .find-camp-map__interaction-note--mobile-fullscreen span + span {
		border-inline-start: 0;
	}

	.find-camp-map__layout.is-map-fullscreen .find-camp-map__interaction-note--mobile-fullscreen span + span::before {
		margin-inline-end: var(--space-2);
		content: "·";
	}

	.find-camp-map__layout.is-map-fullscreen .maplibregl-ctrl-bottom-right {
		top: max(5.5rem, calc(env(safe-area-inset-top) + 5rem));
		right: max(var(--space-2), env(safe-area-inset-right));
		bottom: auto;
	}

	.find-camp-map__layout.is-map-fullscreen .find-camp-map__close {
		position: absolute;
		top: max(var(--space-3), env(safe-area-inset-top));
		right: max(var(--space-3), env(safe-area-inset-right));
		z-index: 7;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 2.75rem;
		padding: var(--space-2) var(--space-4);
		color: var(--color-white);
		font-family: var(--font-family-body);
		font-size: var(--font-size-body-sm);
		font-weight: var(--font-weight-bold);
		line-height: 1;
		background-color: var(--color-off-black);
		border: 0;
		border-radius: var(--radius-pill);
		box-shadow: var(--shadow-popover);
		touch-action: manipulation;
	}

	.find-camp-map__layout.is-map-fullscreen .find-camp-map__close:focus-visible {
		outline: var(--focus-ring-width) solid var(--color-focus);
		outline-offset: var(--focus-ring-offset);
	}

	html.has-hover-input .find-camp-map__layout.is-map-fullscreen .find-camp-map__close:hover,
	.find-camp-map__layout.is-map-fullscreen .find-camp-map__close:active {
		color: var(--color-white);
		background-color: var(--color-off-black);
		border-color: transparent;
		box-shadow: var(--shadow-popover);
		transform: none;
	}

	.find-camp-map__layout.is-map-fullscreen .find-camp-map__panel {
		--find-camp-tray-collapsed-height: 6.25rem;
		--find-camp-tray-height: min(44dvh, 24rem);

		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 6;
		display: block;
		height: 100dvh;
		max-height: none;
		padding: 6.75rem var(--space-inset-card) max(var(--space-inset-card), calc(var(--space-5) + env(safe-area-inset-bottom)));
		overflow-y: auto;
		overscroll-behavior: contain;
		border: 1px solid var(--color-border-subtle);
		border-width: 1px 0 0;
		border-radius: var(--radius-lg) var(--radius-lg) 0 0;
		background-color: var(--color-white);
		box-shadow: 0 -0.75rem 2rem var(--color-off-black-alpha-16);
		transform: translateY(calc(100% - var(--find-camp-tray-height)));
		transition:
			transform var(--transition-medium),
			border-radius var(--transition-medium);
	}

	.find-camp-map__layout.is-map-fullscreen.is-tray-dragging .find-camp-map__panel {
		transition: none;
	}

	.find-camp-map__layout.is-map-fullscreen.is-tray-collapsed .find-camp-map__panel {
		transform: translateY(calc(100% - var(--find-camp-tray-collapsed-height)));
	}

	.find-camp-map__layout.is-map-fullscreen.is-tray-expanded .find-camp-map__panel {
		padding-top: max(9rem, calc(env(safe-area-inset-top) + 8.5rem));
		border-radius: 0;
		transform: translateY(0);
	}

	.find-camp-map__layout.is-map-fullscreen .find-camp-map__tray-toggle {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2;
		display: block;
		width: 100%;
		height: 2rem;
		min-height: 0;
		padding: 0;
		border: 0;
		border-radius: var(--radius-lg) var(--radius-lg) 0 0;
		background: transparent;
		cursor: ns-resize;
		transform: none;
		touch-action: none;
		-webkit-user-select: none;
		user-select: none;
	}

	.find-camp-map__layout.is-map-fullscreen .find-camp-map__tray-toggle::before {
		position: absolute;
		top: 0.75rem;
		left: 50%;
		width: 2.75rem;
		height: 0.25rem;
		border-radius: var(--radius-pill);
		background-color: var(--color-muted);
		content: "";
		transform: translateX(-50%);
	}

	html.has-hover-input .find-camp-map__layout.is-map-fullscreen .find-camp-map__tray-toggle:hover,
	.find-camp-map__layout.is-map-fullscreen .find-camp-map__tray-toggle:active {
		background: transparent;
		border-color: transparent;
		box-shadow: none;
		transform: none;
	}

	html.has-hover-input .find-camp-map__layout.is-map-fullscreen .find-camp-map__tray-toggle:hover::before,
	.find-camp-map__layout.is-map-fullscreen.is-tray-dragging .find-camp-map__tray-toggle::before {
		background-color: var(--color-off-black);
	}

	.find-camp-map__layout.is-map-fullscreen .find-camp-map__tray-toggle:focus-visible {
		outline: 0;
	}

	.find-camp-map__layout.is-map-fullscreen .find-camp-map__tray-toggle:focus-visible::before {
		outline: var(--focus-ring-width) solid var(--color-focus);
		outline-offset: var(--focus-ring-offset);
	}

	.find-camp-map__layout.is-map-fullscreen .find-camp-map__search {
		position: absolute;
		top: 2rem;
		right: var(--space-4);
		left: var(--space-4);
		z-index: 3;
		display: flex;
		align-items: center;
		gap: var(--space-2);
		min-height: 3.25rem;
		padding: 0 var(--space-3);
		color: var(--color-off-black);
		background-color: var(--color-background-section-muted);
		border: 1px solid var(--color-border-subtle);
		border-radius: var(--radius-pill);
	}

	.find-camp-map__layout.is-map-fullscreen.is-tray-expanded .find-camp-map__search {
		top: max(4.75rem, calc(env(safe-area-inset-top) + 4.25rem));
	}

	.find-camp-map__search-icon {
		display: grid;
		flex: 0 0 auto;
		place-items: center;
	}

	.find-camp-map__search-icon .tabler-icon {
		width: 1.25rem;
		height: 1.25rem;
	}

	.find-camp-map__search input[type="search"] {
		flex: 1 1 auto;
		width: 100%;
		min-width: 0;
		min-height: 3rem;
		padding: 0;
		color: var(--color-off-black);
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.find-camp-map__search input[type="search"]:focus {
		outline: 0;
		box-shadow: none;
	}

	.find-camp-map__search:focus-within {
		outline: var(--focus-ring-width) solid var(--color-focus);
		outline-offset: var(--focus-ring-offset);
	}

	.find-camp-map__tray-content {
		transition: opacity var(--transition-fast);
	}

	.find-camp-map__layout.is-map-fullscreen.is-tray-collapsed .find-camp-map__tray-content {
		visibility: hidden;
		pointer-events: none;
		opacity: 0;
	}

	.find-camp-map__layout.is-map-fullscreen.is-tray-dragging .find-camp-map__tray-content {
		visibility: visible;
		opacity: 1;
	}

	.find-camp-map__layout.is-map-fullscreen .find-camp-map__legend {
		display: none;
	}

	.find-camp-map__zoom-controls,
	.find-camp-map__scroll-hint {
		display: none;
	}

	.find-camp-pin--shop .find-camp-pin__shape {
		width: 1.75rem;
		height: 1.75rem;
	}

	.find-camp-pin--joined,
	.find-camp-pin--general,
	.find-camp-pin--shop {
		width: 2.75rem;
		height: 2.75rem;
		min-height: 2.75rem;
	}

	.find-camp-pin--joined .find-camp-pin__shape,
	.find-camp-pin--general .find-camp-pin__shape {
		width: 0.65rem;
		height: 0.65rem;
	}
}

@media (max-width: 36rem) {
	.find-camp-homebase__actions .btn {
		width: 100%;
	}

	.find-camp-map__legend {
		flex-direction: column;
	}
}

@keyframes find-camp-live-pulse {
	0% {
		box-shadow:
			0 0 0 var(--find-camp-live-ring-size) var(--color-white),
			0 0 0 0 var(--find-camp-live-color);
	}

	70% {
		box-shadow:
			0 0 0 var(--find-camp-live-ring-size) var(--color-white),
			0 0 0 var(--find-camp-live-spread) transparent;
	}

	100% {
		box-shadow:
			0 0 0 var(--find-camp-live-ring-size) var(--color-white),
			0 0 0 0 transparent;
	}
}

@media (prefers-reduced-motion: reduce) {
	.find-camp-pin--joined .find-camp-pin__shape {
		transition: none;
	}

	.find-camp-pin--joined.is-previewed .find-camp-pin__shape,
	.find-camp-pin--general.is-previewed .find-camp-pin__shape {
		animation: none;
	}

	.find-camp-map__layout.is-map-fullscreen .find-camp-map__panel,
	.find-camp-map__tray-content {
		transition: none;
	}
}
