.travel-busy-overlay {
	position: fixed;
	inset: 0;
	z-index: 3000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	background: rgba(248, 250, 252, 0.28);
	backdrop-filter: blur(6px) saturate(0.85);
	-webkit-backdrop-filter: blur(6px) saturate(0.85);
	pointer-events: auto;
	cursor: wait;
}

.travel-busy-overlay[hidden] {
	display: none;
}

.travel-busy-overlay__panel {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.65rem;
	pointer-events: none;
}

.travel-busy-overlay__globe {
	width: 58px;
	height: 58px;
	filter: drop-shadow(0 8px 18px rgba(15, 23, 42, 0.24));
	animation: travel-globe-spin 1s linear infinite;
	transform-origin: center center;
}

.travel-busy-overlay__message {
	max-width: min(380px, calc(100vw - 2rem));
	padding: 0.65rem 1rem;
	border-radius: 999px;
	background: rgba(17, 24, 39, 0.88);
	color: #fff;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.25;
	text-align: center;
	box-shadow: 0 12px 30px rgba(15, 23, 42, 0.28);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

body.travel-busy-active {
	cursor: wait;
}

@keyframes travel-globe-spin {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.travel-busy-overlay__globe,
	.marker-preview__status-spinner {
		animation: none;
	}
}
