/* Map/listings mobile layout, mobile controls, rail, and detail sheet. */

@media (max-width: 767.98px) {
.map-header-top {
        gap: 0.75rem;
    }

.map-header-actions {
        gap: 0.5rem;
    }
}

@media (max-width: 991.98px) {
	.map-header-controls-row {
			align-items: flex-start;
			flex-direction: column;
		}

	.map-header-secondary-controls,
		.map-header-options-panel {
			justify-content: flex-start;
			width: 100%;
		}

	.map-header-active-filters {
			justify-content: flex-start;
		}

	.map-header-control-btn {
        min-height: 2.125rem;
        font-size: .8125rem;
    }
}

@media (max-width: 575.98px) {
.map-header-main-action-group {
        flex-wrap: wrap;
    }
}

@media (max-width: 767.98px) {
	.map-header-controls-bar {
        padding-left: .25rem;
        padding-right: .25rem;
    }

	.map-header-control-btn {
        min-height: 2.125rem;
        font-size: .8125rem;
    }
}

.mobile-attraction-rail {
		display: none;
	}

.mobile-attraction-detail-sheet {
		display: none;
	}

.mobile-explore-back-btn {
		display: none;
	}

@media (max-width: 991.98px) {
body.is-explore-page .content-wrapper {
			width: 100vw;
			max-width: 100vw;
			margin-right: calc(50% - 50vw);
			margin-left: calc(50% - 50vw);
			padding-right: 0 !important;
			padding-left: 0 !important;
			overflow-x: hidden;
		}

.split-layout {
			display: flex;
			flex-direction: column;
			position: relative;
			height: calc(100svh - var(--nav-h, 84px));
			min-height: 0;
			width: 100vw;
			margin-right: calc(50% - 50vw) !important;
			margin-left: calc(50% - 50vw) !important;
			overflow: visible;
		}

	#mapPane.map-pane {
		display: flex;
		flex-direction: column;
		flex: 1 1 auto;
		position: relative;
		top: auto;
		left: 0;
		height: calc(100svh - var(--nav-h, 84px) - 8.25rem);
		min-height: 300px;
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		padding-right: 0 !important;
		padding-left: 0 !important;
		overflow: hidden;
	}

.split-layout::after {
			left: 50%;
			right: auto;
			width: 100vw;
			transform: translateX(-50%);
		}

body.is-explore-page #mapPane .mapbox-map-shell {
			flex: 1 1 auto;
			width: 100%;
			max-width: 100%;
			height: auto;
			min-height: 0;
			border-radius: 0;
			overflow: hidden;
		}

body.is-explore-page #mapPane .mapbox-map-shell > #mapboxMap.mapboxgl-map {
			width: 100%;
			max-width: 100%;
			height: 100%;
			min-height: 0;
			margin-left: 0;
			border-radius: 0;
			clip-path: none;
			overflow: hidden !important;
		}

body.is-explore-page #mapPane .mapbox-map-shell > #mapboxMap .mapboxgl-canvas-container,
		body.is-explore-page #mapPane .mapbox-map-shell > #mapboxMap .mapboxgl-canvas {
			border-radius: 0;
		}

.mobile-explore-back-btn {
			position: absolute;
			top: .55rem;
			right: .55rem;
			z-index: 6;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			gap: .38rem;
			min-height: 2.25rem;
			max-width: calc(100% - 7.5rem);
			padding: .48rem .7rem;
			border: 1px solid rgba(15, 23, 42, .14);
			border-radius: 999px;
			background: rgba(255, 255, 255, .95);
			color: #111827;
			box-shadow: 0 10px 24px rgba(15, 23, 42, .18);
			font-size: .82rem;
			font-weight: 800;
			line-height: 1;
			white-space: nowrap;
		}

.mobile-explore-back-btn.d-none {
				display: none;
			}

.mobile-explore-back-btn span {
				overflow: hidden;
				text-overflow: ellipsis;
			}

.split-handle {
			display: none;
		}

.listings-pane {
			position: absolute;
			width: 1px;
			height: 1px;
			margin: -1px;
			padding: 0;
			overflow: hidden;
			clip: rect(0 0 0 0);
			clip-path: inset(50%);
			white-space: nowrap;
		}

.mobile-attraction-rail {
			flex: 0 0 auto;
			display: flex;
			gap: .75rem;
			width: 100%;
			margin: 0;
			padding: .75rem .875rem calc(.875rem + env(safe-area-inset-bottom));
			overflow-x: auto;
			overflow-y: hidden;
			-webkit-overflow-scrolling: touch;
			scroll-snap-type: x proximity;
			background: var(--bs-body-bg);
			border-bottom: 1px solid rgba(15, 23, 42, .08);
		}

.mobile-attraction-rail__card {
			flex: 0 0 min(82vw, 340px);
			display: grid;
			grid-template-columns: 72px minmax(0, 1fr);
			gap: .65rem;
			align-items: stretch;
			min-height: 98px;
			padding: .55rem;
			border: 1px solid rgba(15, 23, 42, .12);
			border-radius: .5rem;
			background: rgba(255, 255, 255, .96);
			color: #111827;
			box-shadow: 0 14px 36px rgba(15, 23, 42, .22);
			scroll-snap-align: start;
			text-align: left;
		}

.mobile-attraction-rail__card.is-selected {
				border-color: #2f80ed;
				box-shadow: 0 0 0 3px rgba(47, 128, 237, .28), 0 14px 36px rgba(15, 23, 42, .22);
			}

.mobile-attraction-rail__thumb-wrap {
			display: block;
			width: 72px;
			height: 84px;
			overflow: hidden;
			border-radius: .45rem;
			background: #e5e7eb;
		}

.mobile-attraction-rail__thumb {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}

.mobile-attraction-rail__body {
			display: flex;
			flex-direction: column;
			justify-content: center;
			min-width: 0;
			gap: .22rem;
		}

.mobile-attraction-rail__title,
		.mobile-attraction-rail__location,
		.mobile-attraction-rail__badge {
			display: block;
			overflow: hidden;
			text-overflow: ellipsis;
			white-space: nowrap;
		}

.mobile-attraction-rail__title {
			font-size: .95rem;
			font-weight: 800;
			line-height: 1.15;
		}

.mobile-attraction-rail__location {
			color: #475569;
			font-size: .78rem;
			line-height: 1.25;
		}

.mobile-attraction-rail__badge {
			width: fit-content;
			max-width: 100%;
			margin-top: .12rem;
			padding: .18rem .45rem;
			border-radius: 999px;
			background: rgba(20, 184, 166, .12);
			color: #0f766e;
			font-size: .72rem;
			font-weight: 800;
			line-height: 1.2;
		}

.mobile-attraction-rail__empty {
			flex: 0 0 auto;
			padding: .65rem .85rem;
			border-radius: .5rem;
			background: rgba(255, 255, 255, .96);
			color: #475569;
			box-shadow: 0 14px 36px rgba(15, 23, 42, .18);
			font-size: .875rem;
			font-weight: 700;
		}

[data-bs-theme="dark"] .mobile-attraction-rail__card,
		[data-bs-theme="dark"] .mobile-attraction-rail__empty {
			background: rgba(17, 24, 39, .96);
			color: #f8fafc;
			border-color: rgba(148, 163, 184, .28);
		}

[data-bs-theme="dark"] .mobile-attraction-rail__location {
			color: #cbd5e1;
		}

[data-bs-theme="dark"] .mobile-attraction-rail__badge {
			background: rgba(45, 212, 191, .16);
			color: #5eead4;
		}

.mobile-attraction-detail-sheet {
			position: fixed;
			inset: auto 0 0;
			z-index: 1050;
			display: block;
			pointer-events: none;
			transform: translateY(100%);
			transition: transform .22s ease;
		}

.mobile-attraction-detail-sheet.is-open {
				pointer-events: auto;
				transform: translateY(0);
			}

.mobile-attraction-detail-sheet__panel {
			max-height: min(72svh, 34rem);
			-webkit-overflow-scrolling: touch;
			border-radius: 1rem 1rem 0 0;
			background: #fff;
			box-shadow: 0 -20px 52px rgba(15, 23, 42, .32);
			overflow: hidden auto;
			isolation: isolate;
			transition: transform .16s ease;
			transform: translateY(calc(-1 * var(--mobile-preview-drag-offset, 0px)));
			will-change: transform;
		}

.mobile-attraction-detail-sheet__panel.is-preview-dragging {
			transition: none;
		}

.mobile-attraction-detail-sheet.is-detail .mobile-attraction-detail-sheet__panel {
			display: flex;
			flex-direction: column;
			overflow: hidden;
		}

.mobile-attraction-detail-sheet.is-preview .mobile-attraction-detail-sheet__panel {
			max-height: min(calc(46svh + var(--mobile-preview-expansion-height, 0px)), 31rem);
		}

.mobile-attraction-detail-sheet__content {
			display: grid;
			gap: .85rem;
			padding: .75rem .875rem calc(1rem + env(safe-area-inset-bottom));
			background: #fff;
			color: #111827;
		}

.mobile-attraction-detail-sheet.is-detail .mobile-attraction-detail-sheet__content {
			flex: 1 1 auto;
			min-height: 0;
			padding: 0;
			overflow: hidden;
		}

.mobile-attraction-detail-view {
			display: grid;
			gap: .95rem;
		}

.mobile-attraction-detail-sheet.is-detail .mobile-attraction-detail-view {
			display: flex;
			flex: 1 1 auto;
			flex-direction: column;
			min-height: 0;
			gap: 0;
			background: #fff;
		}

.mobile-attraction-preview-sheet {
			display: grid;
			gap: .7rem;
			padding: .2rem 0 0;
			background: #fff;
			touch-action: pan-y;
		}

.mobile-attraction-preview-sheet__grabber {
			width: 2.5rem;
			height: .24rem;
			margin: 0 auto .1rem;
			border-radius: 999px;
			background: rgba(100, 116, 139, .34);
			touch-action: none;
		}

.mobile-attraction-preview-sheet__top {
			display: grid;
			grid-template-columns: 74px minmax(0, 1fr) auto;
			gap: .65rem;
			align-items: center;
			touch-action: none;
			user-select: none;
		}

.mobile-attraction-preview-sheet__image-wrap {
			width: 74px;
			aspect-ratio: 1;
			overflow: hidden;
			border-radius: .6rem;
			background: #e5e7eb;
		}

.mobile-attraction-preview-sheet__image {
			display: block;
			width: 100%;
			height: 100%;
			object-fit: cover;
		}

.mobile-attraction-preview-sheet__summary {
			min-width: 0;
		}

.mobile-attraction-preview-sheet__eyebrow {
			margin-bottom: .12rem;
			color: #64748b;
			font-size: .68rem;
			font-weight: 800;
			line-height: 1.1;
			text-transform: uppercase;
		}

.mobile-attraction-preview-sheet__title {
			display: -webkit-box;
			-webkit-line-clamp: 2;
			-webkit-box-orient: vertical;
			overflow: hidden;
			margin: 0;
			color: #111827;
			font-size: .98rem;
			font-weight: 850;
			line-height: 1.15;
		}

.mobile-attraction-preview-sheet__meta {
			overflow: hidden;
			margin-top: .22rem;
			color: #64748b;
			font-size: .78rem;
			font-weight: 650;
			line-height: 1.2;
			text-overflow: ellipsis;
			white-space: nowrap;
		}

.mobile-attraction-preview-sheet__close {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 2rem;
			height: 2rem;
			border: 1px solid rgba(15, 23, 42, .12);
			border-radius: 999px;
			background: #fff;
			color: #111827;
		}

.mobile-attraction-preview-sheet__actions {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: .45rem;
		}

.mobile-attraction-preview-sheet__action,
		.mobile-attraction-preview-sheet__details,
		.mobile-attraction-preview-sheet__travel button {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			gap: .35rem;
			min-height: 2.25rem;
			border: 1px solid rgba(15, 23, 42, .12);
			border-radius: .55rem;
			background: #fff;
			color: #111827;
			padding: .45rem .55rem;
			font-size: .8rem;
			font-weight: 800;
			line-height: 1.1;
		}

.mobile-attraction-preview-sheet__action:first-child {
			grid-column: 1 / -1;
			justify-content: space-between;
		}

.mobile-attraction-preview-sheet__travel {
			display: none;
			grid-column: 1 / -1;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: .4rem;
		}

.mobile-attraction-preview-sheet__travel.is-open {
				display: grid;
			}

.mobile-attraction-preview-sheet__travel button {
				min-height: 2.1rem;
				background: #f8fafc;
				font-size: .76rem;
			}

.mobile-attraction-preview-sheet__travel button.is-selected {
				border-color: #111827;
				background: #111827;
				color: #fff;
			}

.mobile-attraction-preview-sheet__minutes {
			display: grid;
			grid-column: 1 / -1;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: .35rem;
		}

.mobile-attraction-preview-sheet__travel .mobile-attraction-preview-sheet__go {
			grid-column: 1 / -1;
			border-color: #0f766e;
			background: #0f766e;
			color: #fff;
			letter-spacing: 0;
		}

.mobile-attraction-preview-sheet__details {
			width: 100%;
			border-color: #111827;
			background: #111827;
			color: #fff;
		}

.mobile-attraction-preview-sheet__status {
			min-height: 0;
			margin-top: -.15rem;
		}

.mobile-attraction-preview-sheet__expansion {
			display: grid;
			gap: .5rem;
			height: var(--mobile-preview-expansion-height, 0);
			min-height: 0;
			overflow: hidden;
			opacity: var(--mobile-preview-expansion-progress, 0);
			filter: blur(calc((1 - var(--mobile-preview-expansion-progress, 0)) * 2px));
			transform: translateY(calc((1 - var(--mobile-preview-expansion-progress, 0)) * 12px));
			transition: height .16s ease, opacity .16s ease, filter .16s ease, transform .16s ease;
		}

.mobile-attraction-detail-sheet__panel.is-preview-dragging .mobile-attraction-preview-sheet__expansion {
			transition: none;
		}

.mobile-attraction-preview-sheet__skeleton,
		.mobile-attraction-preview-sheet__skeleton-row span {
			display: block;
			border-radius: .6rem;
			background: linear-gradient(90deg, #e5e7eb, #f8fafc, #e5e7eb);
			background-size: 180% 100%;
		}

.mobile-attraction-preview-sheet__skeleton--hero {
			height: 3.35rem;
		}

.mobile-attraction-preview-sheet__skeleton--wide {
			width: 92%;
			height: .72rem;
		}

.mobile-attraction-preview-sheet__skeleton--medium {
			width: 68%;
			height: .72rem;
		}

.mobile-attraction-preview-sheet__skeleton-row {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: .5rem;
		}

.mobile-attraction-preview-sheet__skeleton-row span {
				height: 2.1rem;
				border-radius: .55rem;
			}

.mobile-attraction-detail-sheet__top {
			display: grid;
			grid-template-columns: minmax(0, 1fr) auto;
			gap: .65rem;
			align-items: start;
			padding: .85rem .875rem .75rem;
			border-bottom: 1px solid rgba(15, 23, 42, .08);
			background: #fff;
			z-index: 2;
		}

.mobile-attraction-detail-sheet__heading {
			min-width: 0;
		}

.mobile-attraction-detail-sheet__eyebrow {
			margin-bottom: .18rem;
			color: #64748b;
			font-size: .74rem;
			font-weight: 800;
			line-height: 1.2;
			text-transform: uppercase;
		}

.mobile-attraction-detail-sheet__title-row {
			display: flex;
			align-items: flex-start;
			gap: .45rem;
			min-width: 0;
			width: 100%;
		}

.mobile-attraction-detail-sheet__title {
			flex: 0 1 auto;
			min-width: 0;
			max-width: 100%;
			margin: 0;
			color: #111827;
			font-size: 1.08rem;
			font-weight: 800;
			line-height: 1.18;
		}

.mobile-attraction-detail-sheet__translate {
			display: inline-flex;
			flex: 0 0 auto;
			align-items: center;
			justify-content: center;
			width: 1.8rem;
			height: 1.8rem;
			margin-top: -.12rem;
			border: 1px solid rgba(15, 23, 42, .1);
			border-radius: 999px;
			background: #f8fafc;
			color: #475569;
			font-size: .9rem;
		}

.mobile-attraction-detail-sheet__translate.is-active {
				background: #ecfdf5;
				border-color: rgba(15, 118, 110, .22);
				color: #0f766e;
			}

.mobile-attraction-detail-sheet__native-name {
			margin-top: .24rem;
			color: #64748b;
			font-size: .86rem;
			font-weight: 650;
			line-height: 1.25;
		}

.mobile-attraction-detail-sheet__type {
			margin-top: .32rem;
			color: #0f766e;
			font-size: .83rem;
			font-weight: 800;
			line-height: 1.25;
		}

.mobile-attraction-detail-sheet__close {
			position: relative;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 2.25rem;
			height: 2.25rem;
			border: 1px solid rgba(15, 23, 42, .12);
			border-radius: 999px;
			background: #f8fafc;
			color: #334155;
			font-size: 1.02rem;
			font-weight: 900;
		}

.mobile-attraction-detail-sheet__close-glyph {
			position: relative;
			display: block;
			width: .82rem;
			height: .82rem;
		}

.mobile-attraction-detail-sheet__close-glyph::before,
			.mobile-attraction-detail-sheet__close-glyph::after {
				content: "";
				position: absolute;
				top: 50%;
				left: 50%;
				width: .9rem;
				height: .12rem;
				border-radius: 999px;
				background: currentColor;
				transform-origin: center;
			}

.mobile-attraction-detail-sheet__close-glyph::before {
				transform: translate(-50%, -50%) rotate(45deg);
			}

.mobile-attraction-detail-sheet__close-glyph::after {
				transform: translate(-50%, -50%) rotate(-45deg);
			}

.mobile-attraction-detail-sheet__body {
			display: grid;
			gap: .95rem;
			min-height: 0;
			padding: .85rem .875rem calc(1rem + env(safe-area-inset-bottom));
		}

.mobile-attraction-detail-sheet.is-detail .mobile-attraction-detail-sheet__body {
			flex: 1 1 auto;
			overflow-y: auto;
			-webkit-overflow-scrolling: touch;
		}

.mobile-attraction-detail-sheet__media {
			flex: 0 0 auto;
			display: block;
			position: relative;
			width: 100%;
			min-height: clamp(11.5rem, 52vw, 15.5rem);
			background: #e5e7eb;
			border-radius: .75rem;
			overflow: hidden;
		}

.mobile-attraction-detail-sheet__media-bar {
			position: absolute;
			top: .55rem;
			left: .55rem;
			z-index: 2;
			display: inline-flex;
			align-items: center;
			min-height: 1.75rem;
			padding: .32rem .55rem;
			border-radius: 999px;
			background: rgba(15, 23, 42, .72);
			color: #fff;
			font-size: .72rem;
			font-weight: 850;
			line-height: 1;
		}

.mobile-attraction-detail-sheet__gallery {
			display: flex;
			gap: 0;
			width: 100%;
			min-height: clamp(11.5rem, 52vw, 15.5rem);
			overflow-x: auto;
			overflow-y: hidden;
			-webkit-overflow-scrolling: touch;
			scroll-snap-type: x mandatory;
			scrollbar-width: none;
			touch-action: pan-x;
		}

.mobile-attraction-detail-sheet__gallery::-webkit-scrollbar {
				display: none;
			}

.mobile-attraction-detail-sheet__gallery--single {
				overflow: hidden;
			}

.mobile-attraction-detail-sheet__gallery--carousel .mobile-attraction-detail-sheet__image-wrap {
				flex-basis: 88%;
				margin-right: .55rem;
			}

.mobile-attraction-detail-sheet__gallery--carousel .mobile-attraction-detail-sheet__image-wrap:last-child {
				margin-right: 0;
			}

.mobile-attraction-detail-sheet__image-wrap {
			flex: 0 0 100%;
			display: block;
			aspect-ratio: 16 / 9;
			height: clamp(11.5rem, 52vw, 15.5rem);
			margin: 0;
			overflow: hidden;
			border-radius: .75rem;
			background: #e5e7eb;
			scroll-snap-align: start;
		}

.mobile-attraction-detail-sheet__gallery-btn {
			position: absolute;
			top: 50%;
			z-index: 2;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 2rem;
			height: 2rem;
			border: 1px solid rgba(255, 255, 255, .5);
			border-radius: 999px;
			background: rgba(15, 23, 42, .58);
			color: #fff;
			transform: translateY(-50%);
		}

.mobile-attraction-detail-sheet__gallery-btn--prev {
				left: .55rem;
			}

.mobile-attraction-detail-sheet__gallery-btn--next {
				right: .55rem;
			}

.mobile-attraction-detail-sheet__gallery-dots {
			position: absolute;
			right: .65rem;
			bottom: .6rem;
			z-index: 2;
			display: flex;
			gap: .28rem;
			align-items: center;
			padding: .28rem .4rem;
			border-radius: 999px;
			background: rgba(15, 23, 42, .56);
		}

.mobile-attraction-detail-sheet__gallery-dots span {
				width: .32rem;
				height: .32rem;
				border-radius: 999px;
				background: rgba(255, 255, 255, .58);
			}

.mobile-attraction-detail-sheet__gallery-dots span.is-active {
				width: .85rem;
				background: #fff;
			}

.mobile-attraction-detail-sheet__image {
			display: block;
			width: 100%;
			height: 100%;
			object-fit: cover;
		}

.mobile-attraction-detail-sheet__meta {
			display: grid;
			gap: .45rem;
		}

.mobile-attraction-detail-sheet__section {
			display: grid;
			gap: .55rem;
		}

.mobile-attraction-detail-sheet__section h3 {
				margin: 0;
				color: #111827;
				font-size: .82rem;
				font-weight: 850;
				line-height: 1.2;
				text-transform: uppercase;
			}

.mobile-attraction-detail-sheet__description {
			margin: 0;
			color: #334155;
			font-size: .9rem;
			line-height: 1.48;
		}

.mobile-attraction-detail-sheet__meta-row {
			display: flex;
			align-items: flex-start;
			gap: .45rem;
			color: #475569;
			font-size: .86rem;
			line-height: 1.35;
		}

.mobile-attraction-detail-sheet__meta-row i {
				flex: 0 0 auto;
				margin-top: .08rem;
				color: #0f766e;
			}

.mobile-attraction-detail-sheet__facts {
			display: grid;
			gap: .5rem;
		}

.mobile-attraction-detail-sheet__fact {
			display: grid;
			gap: .18rem;
			padding: .6rem .7rem;
			border: 1px solid rgba(15, 23, 42, .08);
			border-radius: .6rem;
			background: #f8fafc;
		}

.mobile-attraction-detail-sheet__fact span {
				color: #64748b;
				font-size: .72rem;
				font-weight: 850;
				line-height: 1.2;
				text-transform: uppercase;
			}

.mobile-attraction-detail-sheet__fact strong {
				color: #111827;
				font-size: .86rem;
				font-weight: 650;
				line-height: 1.35;
			}

.mobile-attraction-detail-sheet__chips {
			display: flex;
			flex-wrap: wrap;
			gap: .4rem;
		}

.mobile-attraction-detail-sheet__chips span {
				display: inline-flex;
				align-items: center;
				min-height: 1.75rem;
				padding: .32rem .55rem;
				border-radius: 999px;
				background: #f1f5f9;
				color: #475569;
				font-size: .76rem;
				font-weight: 800;
			}
						
.mobile-attraction-detail-sheet__links {
			display: flex;
			flex-wrap: wrap;
			gap: .45rem;
		}

.mobile-attraction-detail-sheet__links a {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				min-height: 2rem;
				padding: .38rem .65rem;
				border: 1px solid rgba(15, 23, 42, .1);
				border-radius: 999px;
				background: #fff;
				color: #0f766e;
				font-size: .78rem;
				font-weight: 800;
				line-height: 1.2;
				text-decoration: none;
			}

.mobile-attraction-detail-sheet__section--tours {
			padding-top: .15rem;
		}

.mobile-attraction-detail-sheet__tours {
			display: block;
			border: 1px solid rgba(15, 23, 42, .1);
			border-radius: .75rem;
			background: #fff;
			overflow: hidden;
		}

.mobile-attraction-detail-sheet__tours summary {
				display: flex;
				align-items: center;
				justify-content: space-between;
				gap: .75rem;
				min-height: 2.75rem;
				padding: .72rem .8rem;
				color: #111827;
				font-size: .88rem;
				font-weight: 850;
				line-height: 1.2;
				list-style: none;
				cursor: pointer;
			}

.mobile-attraction-detail-sheet__tours summary::-webkit-details-marker {
				display: none;
			}

.mobile-attraction-detail-sheet__tours summary span:last-child {
				color: #64748b;
				font-size: .76rem;
				font-weight: 750;
			}

.mobile-attraction-detail-sheet__tour-list {
			display: grid;
			gap: .6rem;
			padding: 0 .7rem .75rem;
		}

.mobile-attraction-detail-sheet__tour-card {
			display: grid;
			grid-template-columns: 5rem minmax(0, 1fr);
			gap: .65rem;
			align-items: stretch;
			padding: .55rem;
			border: 1px solid rgba(15, 23, 42, .08);
			border-radius: .65rem;
			background: #f8fafc;
		}

.mobile-attraction-detail-sheet__tour-media {
			overflow: hidden;
			border-radius: .5rem;
			background: #e5e7eb;
		}

.mobile-attraction-detail-sheet__tour-media img {
				display: block;
				width: 100%;
				height: 100%;
				min-height: 5rem;
				object-fit: cover;
			}

.mobile-attraction-detail-sheet__tour-body {
			display: grid;
			gap: .38rem;
			min-width: 0;
			align-content: start;
		}

.mobile-attraction-detail-sheet__tour-body h4 {
				display: -webkit-box;
				-webkit-line-clamp: 2;
				-webkit-box-orient: vertical;
				overflow: hidden;
				margin: 0;
				color: #111827;
				font-size: .88rem;
				font-weight: 850;
				line-height: 1.22;
			}

.mobile-attraction-detail-sheet__tour-body a {
				justify-self: start;
				display: inline-flex;
				align-items: center;
				justify-content: center;
				min-height: 1.9rem;
				padding: .34rem .6rem;
				border-radius: 999px;
				background: #111827;
				color: #fff;
				font-size: .76rem;
				font-weight: 850;
				line-height: 1.1;
				text-decoration: none;
			}

.mobile-attraction-detail-sheet__tour-meta {
			display: flex;
			flex-wrap: wrap;
			gap: .28rem .45rem;
			color: #64748b;
			font-size: .74rem;
			font-weight: 700;
			line-height: 1.25;
		}

.mobile-attraction-detail-sheet__actions {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: .5rem;
		}

.mobile-attraction-detail-sheet__actions--primary {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}

.mobile-attraction-detail-sheet__section--nearby {
			padding-top: .2rem;
			border-top: 1px solid rgba(15, 23, 42, .08);
		}

.mobile-attraction-detail-sheet__action {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			gap: .4rem;
			min-height: 2.5rem;
			padding: .55rem .85rem;
			border: 0;
			border-radius: .5rem;
			background: #111827;
			color: #fff;
			font-size: .9rem;
			font-weight: 800;
		}

.mobile-attraction-detail-sheet__action--save {
				background: #fff;
				color: #111827;
				border: 1px solid rgba(15, 23, 42, .12);
			}

.mobile-attraction-detail-sheet__action[aria-pressed="true"] {
				background: #fff1f2;
				color: #be123c;
				border-color: rgba(244, 63, 94, .28);
			}

.mobile-attraction-detail-sheet__status {
			min-height: 0;
			margin-top: -.15rem;
		}

[data-bs-theme="dark"] .mobile-attraction-detail-sheet__panel {
			background: #111827;
			box-shadow: 0 -20px 48px rgba(0, 0, 0, .5);
		}

[data-bs-theme="dark"] .mobile-attraction-detail-sheet__content,
		[data-bs-theme="dark"] .mobile-attraction-preview-sheet {
			background: #111827;
			color: #f8fafc;
		}

[data-bs-theme="dark"] .mobile-attraction-preview-sheet__skeleton,
		[data-bs-theme="dark"] .mobile-attraction-preview-sheet__skeleton-row span {
			background: linear-gradient(90deg, #1f2937, #334155, #1f2937);
			background-size: 180% 100%;
		}

[data-bs-theme="dark"] .mobile-attraction-detail-sheet.is-detail .mobile-attraction-detail-view,
		[data-bs-theme="dark"] .mobile-attraction-detail-sheet__top {
			background: #111827;
		}

[data-bs-theme="dark"] .mobile-attraction-detail-sheet__top {
			border-bottom-color: rgba(148, 163, 184, .2);
		}

[data-bs-theme="dark"] .mobile-attraction-detail-sheet__title {
			color: #f8fafc;
		}

[data-bs-theme="dark"] .mobile-attraction-detail-sheet__translate {
			background: #1f2937;
			border-color: rgba(148, 163, 184, .28);
			color: #cbd5e1;
		}

[data-bs-theme="dark"] .mobile-attraction-detail-sheet__translate.is-active {
				background: rgba(20, 184, 166, .16);
				border-color: rgba(94, 234, 212, .28);
				color: #5eead4;
			}

[data-bs-theme="dark"] .mobile-attraction-detail-sheet__native-name {
			color: #94a3b8;
		}

[data-bs-theme="dark"] .mobile-attraction-detail-sheet__type {
			color: #5eead4;
		}

[data-bs-theme="dark"] .mobile-attraction-detail-sheet__close {
			background: #1f2937;
			border-color: rgba(148, 163, 184, .28);
			color: #f8fafc;
		}

[data-bs-theme="dark"] .mobile-attraction-detail-sheet__section h3 {
			color: #f8fafc;
		}

[data-bs-theme="dark"] .mobile-attraction-detail-sheet__description {
			color: #cbd5e1;
		}

[data-bs-theme="dark"] .mobile-attraction-detail-sheet__meta-row {
			color: #cbd5e1;
		}

[data-bs-theme="dark"] .mobile-attraction-detail-sheet__fact {
			background: #1f2937;
			border-color: rgba(148, 163, 184, .22);
		}

[data-bs-theme="dark"] .mobile-attraction-detail-sheet__fact span {
				color: #94a3b8;
			}

[data-bs-theme="dark"] .mobile-attraction-detail-sheet__fact strong {
				color: #f8fafc;
			}

[data-bs-theme="dark"] .mobile-attraction-detail-sheet__chips span {
			background: rgba(148, 163, 184, .16);
			color: #cbd5e1;
		}

[data-bs-theme="dark"] .mobile-attraction-detail-sheet__links a {
			background: #1f2937;
			border-color: rgba(148, 163, 184, .22);
			color: #5eead4;
		}

[data-bs-theme="dark"] .mobile-attraction-detail-sheet__tours {
			background: #111827;
			border-color: rgba(148, 163, 184, .22);
		}

[data-bs-theme="dark"] .mobile-attraction-detail-sheet__tours summary {
				color: #f8fafc;
			}

[data-bs-theme="dark"] .mobile-attraction-detail-sheet__tours summary span:last-child {
				color: #94a3b8;
			}

[data-bs-theme="dark"] .mobile-attraction-detail-sheet__tour-card {
			background: #1f2937;
			border-color: rgba(148, 163, 184, .22);
		}

[data-bs-theme="dark"] .mobile-attraction-detail-sheet__tour-body h4 {
				color: #f8fafc;
			}

[data-bs-theme="dark"] .mobile-attraction-detail-sheet__tour-meta {
			color: #94a3b8;
		}
}

@media (max-width: 991.98px) {
	body.is-explore-page .map-header-shell {
		position: relative;
		gap: .55rem;
	}

	body.is-explore-page .map-header-inline-nav,
	body.is-explore-page .map-header-controls-bar,
	body.is-explore-page #navbarNav {
		display: none !important;
	}

	body.is-explore-page .map-header-top {
		position: relative;
		z-index: 1060;
		align-items: center;
	}

	body.is-explore-page .map-header-actions {
		position: relative;
		z-index: 1061;
		margin-left: auto;
	}

		body.is-explore-page .map-header-actions .dropdown {
			position: relative;
			z-index: 1062;
		}

	body.is-explore-page #siteMenuBtn + .dropdown-menu {
		position: absolute !important;
		top: calc(100% + .42rem) !important;
		right: 0 !important;
		bottom: auto !important;
		left: auto !important;
		z-index: 1070;
		min-width: 12rem;
		margin: 0 !important;
		transform: none !important;
		border-radius: .75rem;
		box-shadow: 0 .9rem 2rem rgba(15, 23, 42, .18);
	}

	body.is-explore-page .map-header-actions .theme-switcher,
	body.is-explore-page .map-header-actions #pendingSavedPlacesAction {
		display: none !important;
	}

	body.is-explore-page header.navbar.navbar-sticky::after {
		content: none;
	}

	#mapPane > #mapboxMap.mapboxgl-map,
	body.is-explore-page #mapPane .mapbox-map-shell {
		border-top: 1px solid rgba(15, 23, 42, 0.12);
		border-bottom: 1px solid rgba(15, 23, 42, 0.12);
		border-left: 0;
		border-right: 0;
	}

		body.is-explore-page #mapPane > #mapboxMap.mapboxgl-map,
		body.is-explore-page #mapPane .mapbox-map-shell > #mapboxMap.mapboxgl-map {
			border: 0 !important;
			margin-top: 0 !important;
		}
}
