/**
 * Unified calm transitions — localized skeletons, content settle, map chrome.
 */

/* No full-section blocking spinner (skeleton zones + top line only). */
.destination-listing-section__busy {
	display: none !important;
}

.destination-listing-section.destination-listing-section--busy-full .destination-listing-section__busy-backdrop,
.destination-listing-section.destination-listing-section--busy-full .destination-listing-section__busy-content {
	display: none !important;
}

/* In-place skeleton swaps — subtle fade, no layout jump */
.destination-listing-card--skeleton-swap,
.destination-filters__group--skeleton-swap,
.destination-topbar__count--skeleton-swap,
.destination-topbar__controls--skeleton-swap {
	transition: opacity 0.2s ease;
}

.destination-listing-results-main[aria-busy='true'] {
	transition: min-height 0.2s ease;
	/* Reserve space during card-only skeleton swaps to limit layout shift */
	min-height: clamp(12rem, 42vh, 28rem);
}

/* Map view: never shrink below split-pane height while loading */
.destination-layout--map .destination-listing-results-main[aria-busy='true'] {
	min-height: var(--db-map-pane-height, 43.75rem);
}

.destination-listing-results-main--revealing > .destination-grid,
.destination-listing-results-main--revealing > .destination-list,
.destination-listing-results-main--revealing > .destination-map-view,
.destination-listing-results-main--revealing > .destination-pagination {
	animation: db-platform-content-reveal 0.24s ease-out both;
}

@keyframes db-platform-content-reveal {
	from {
		opacity: 0.88;
	}
	to {
		opacity: 1;
	}
}

/* Map column — localized shimmer while results fetch */
.destination-map-view__map--loading {
	position: relative;
}

.destination-map-view__map--loading::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 5;
	pointer-events: none;
	border-radius: inherit;
	background: color-mix(in srgb, var(--db-color-surface, #fff) 55%, transparent);
	animation: db-map-chrome-pulse 1.4s ease-in-out infinite;
}

@keyframes db-map-chrome-pulse {
	0%,
	100% {
		opacity: 0.35;
	}
	50% {
		opacity: 0.55;
	}
}

@media (prefers-reduced-motion: reduce) {
	.destination-listing-card--skeleton-swap,
	.destination-filters__group--skeleton-swap,
	.destination-topbar__count--skeleton-swap,
	.destination-topbar__controls--skeleton-swap {
		transition: none;
	}

	.destination-listing-results-main--revealing > .destination-grid,
	.destination-listing-results-main--revealing > .destination-list,
	.destination-listing-results-main--revealing > .destination-map-view,
	.destination-listing-results-main--revealing > .destination-pagination {
		animation: none;
	}

	.destination-map-view__map--loading::after {
		animation: none;
		opacity: 0.4;
	}
}
