/* ── DJM Single Map Location — theme-agnostic component styles ──────────────
   Deliberately no max-width / margin:auto / padding on the outer wrapper —
   the active theme's content container handles page-level layout.
   All selectors are scoped to .djm-* to avoid collisions.
   ───────────────────────────────────────────────────────────────────────── */

/* Hero image */
.djm-location-hero {
	width: 100%;
	max-height: 420px;
	overflow: hidden;
	border-radius: 4px;
	margin-bottom: 1.25em;
}

.djm-location-hero-img {
	display: block;
	width: 100%;
	height: 420px;
	object-fit: cover;
}

/* Header row: title + back link */
.djm-location-header {
	margin-bottom: 1.5em;
}

.djm-location-header-inner {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 1em;
}

/* Let the theme style the h1; just tidy the margin */
.djm-location-title {
	margin: 0;
	flex: 1 1 auto;
}

.djm-back-link {
	display: inline-block;
	flex-shrink: 0;
	font-size: 0.875em;
	color: #e53935;
	text-decoration: none;
	white-space: nowrap;
	border-bottom: 1px solid transparent;
	transition: border-color 0.15s, color 0.15s;
}

.djm-back-link:hover,
.djm-back-link:focus {
	color: #b71c1c;
	border-color: currentColor;
	text-decoration: none;
}

/* Body: content + map preview side by side on wider screens */
.djm-location-body {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2em;
}

@media ( min-width: 700px ) {
	.djm-location-body {
		grid-template-columns: 1fr 1fr;
		align-items: start;
	}
}

/* Map aside */
.djm-location-map-title {
	margin: 0 0 0.5em;
	font-size: 1.1em;
}

/* Preview map container reuses .djm-map-container from map.css */
.djm-location-map-aside .djm-map-container {
	height: 320px;
	min-height: 0;
	flex: none;
}
