/**
 * Location — split / centered families + place chrome + width tokens.
 * Iframe-only maps. No Maps JS.
 */
.tw-location-split,
.tw-location-split__copy,
.tw-location-split__panel,
.tw-location-centered,
.tw-location-centered__panel,
.tw-location-stack-details,
.tw-location-map {
	min-width: 0;
}

.tw-location-split,
.tw-location-centered {
	display: flex;
	flex-direction: column;
	gap: var(--tw-intro-panel-gap, calc(var(--tw-content-gap, 1rem) * 2));
}

.tw-location-split__copy,
.tw-location-split__panel,
.tw-location-centered__panel,
.tw-location-details,
.tw-location-stack-details {
	display: flex;
	flex-direction: column;
	gap: var(--tw-content-gap, 1rem);
}

.tw-location-split .tw-section-intro,
.tw-location-centered .tw-section-intro {
	display: flex;
	flex-direction: column;
	gap: var(--tw-content-gap, 1rem);
}

.tw-location-centered__panel {
	width: 100%;
	margin-inline: auto;
}

.tw-location-centered[data-tw-location-width="theme"] .tw-location-centered__panel {
	max-width: var(--tw-container-max-width, 80rem);
}

.tw-location-centered[data-tw-location-width="sm"] .tw-location-centered__panel {
	max-width: 32rem;
}

.tw-location-centered[data-tw-location-width="md"] .tw-location-centered__panel {
	max-width: 36rem;
}

.tw-location-centered[data-tw-location-width="lg"] .tw-location-centered__panel {
	max-width: 48rem;
}

.tw-location-centered[data-tw-location-width="full"] .tw-location-centered__panel {
	max-width: none;
}

.tw-location-centered[data-tw-location-map-lead="1"] .tw-location-centered__panel {
	display: flex;
	flex-direction: column;
}

.tw-location-centered[data-tw-location-map-lead="1"] .tw-location-map {
	order: -1;
}

@media (max-width: 1023.98px) {
	[data-tw-location-mobile-stack="above"] .tw-location-split__panel {
		order: -1;
	}
}

@media (min-width: 1024px) {
	.tw-location-split {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: start;
	}

	.tw-location-split[data-tw-location-stretch="1"] {
		align-items: stretch;
	}

	.tw-location-split[data-tw-location-split-ratio="60_40"] {
		grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
	}

	.tw-location-split[data-tw-location-split-ratio="75_25"] {
		grid-template-columns: minmax(0, 3fr) minmax(0, 1fr);
	}

	.tw-location-split[data-tw-location-panel-side="start"][data-tw-location-split-ratio="60_40"] {
		grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
	}

	.tw-location-split[data-tw-location-panel-side="start"][data-tw-location-split-ratio="75_25"] {
		grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
	}

	.tw-location-split[data-tw-location-panel-side="start"] .tw-location-split__panel {
		order: -1;
	}

	/* Pin intro + address/hours together. Sticky on .tw-section-intro alone
	   slides over .tw-location-details when the copy track stretches to the map. */
	.tw-location-split .tw-location-split__copy {
		align-self: start;
		position: sticky;
		top: 6rem;
	}

	.tw-location-split .tw-location-split__copy .tw-section-intro {
		position: static;
	}
}
