/* ==========================================================
   LOCATION CLOUD-INVERSION PAGES
   Layout glue only: visual language comes from the existing
   specialist landing page and inversion heatmap systems.
   ========================================================== */

/* Breadcrumb trail: shared site-wide (site-breadcrumbs.php + breadcrumbs.css). */

.wd-inv-location-landing .wd-specialist-hero__grid {
	grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
	align-items: start;
}

.wd-inv-location-status {
	display: grid;
	grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
	gap: var(--wd-space-lg) var(--wd-space-xl);
	padding: var(--wd-space-lg);
	border: thin solid var(--wd-chrome-border);
	border-radius: var(--wd-radius-sm);
	background: var(--wd-chrome-raised);
	color: var(--wd-text-on-green);
}

.wd-inv-location-map-card > .wd-inv-location-status {
	border: 0;
	border-top: thin solid var(--wd-chrome-border);
	border-radius: 0;
}

.wd-inv-location-status > div {
	display: grid;
	gap: var(--wd-space-xs);
}

.wd-inv-location-status strong {
	font-size: var(--wd-font-size-sm);
	line-height: 1.35;
}

.wd-inv-location-status__eyebrow {
	font-size: var(--wd-font-size-xs);
	font-weight: 800;
	letter-spacing: var(--wd-letter-spacing-kicker);
	text-transform: uppercase;
	color: var(--wd-text-on-dark-subtle);
}

.wd-inv-location-status__signal {
	justify-self: start;
	padding: var(--wd-space-sm) var(--wd-space-md);
	border-radius: var(--wd-radius-sm);
	background: var(--wd-score-past);
	color: var(--wd-text-primary);
}

.wd-inv-location-status[data-tier="possible"] .wd-inv-location-status__signal {
	background: var(--wd-score-fair);
	color: var(--wd-score-fair-text);
}

.wd-inv-location-status[data-tier="likely"] .wd-inv-location-status__signal {
	background: var(--wd-score-good);
	color: var(--wd-score-good-text);
}

.wd-inv-location-status[data-tier="very-likely"] .wd-inv-location-status__signal {
	background: var(--wd-score-excellent);
	color: var(--wd-score-excellent-text);
}

.wd-inv-location-status small {
	grid-column: 1 / -1;
	padding-top: var(--wd-space-md);
	border-top: thin solid var(--wd-chrome-border);
	font-size: var(--wd-font-size-xs);
	line-height: 1.5;
	color: var(--wd-text-on-dark-subtle);
}

.wd-inv-location-extended__actions .wd-specialist-button {
	min-height: var(--wd-control-h);
}

.wd-inv-location-map-card {
	min-width: 0;
	overflow: hidden;
	border: thin solid var(--wd-chrome-border);
	border-radius: var(--wd-radius-md);
	background: var(--wd-bg-card);
	box-shadow: var(--wd-shadow-lg);
	color: var(--wd-text-primary);
}

.wd-inv-location-map-card__head {
	display: flex;
	gap: var(--wd-space-lg);
	align-items: flex-start;
	justify-content: space-between;
	padding: var(--wd-space-lg) var(--wd-space-xl);
	border-bottom: thin solid var(--wd-border);
	background: var(--wd-bg-card);
}

.wd-inv-location-map-card__head .wd-specialist-kicker {
	margin-bottom: var(--wd-space-xs);
	color: var(--wd-green);
}

.wd-inv-location-map-card__head h2 {
	margin: 0;
	font-size: var(--wd-font-size-lg);
	font-weight: 800;
	line-height: 1.25;
	color: var(--wd-text-primary);
}

.wd-inv-location-map-meta {
	display: grid;
	flex: 0 0 auto;
	gap: var(--wd-space-xs);
	font-size: var(--wd-font-size-xs);
	font-weight: 700;
	line-height: 1.3;
	text-align: right;
	color: var(--wd-text-muted);
}

.wd-inv-location-map-card .wd-inv-heatmap-map {
	min-height: calc(var(--wd-space-3xl) * 7);
	border-radius: 0;
	aspect-ratio: auto;
}

.wd-inv-location-map-card .wd-inv-shared-slider {
	padding: var(--wd-space-md) var(--wd-space-xl);
	border: 0;
	border-top: thin solid var(--wd-border);
	border-radius: 0;
}

.wd-inv-location-map-card .wd-inv-slider-track-wrap {
	min-width: 0;
}

.wd-inv-location-map-key {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wd-space-sm) var(--wd-space-lg);
	align-items: center;
	justify-content: center;
	padding: var(--wd-space-md) var(--wd-space-xl);
	border-top: thin solid var(--wd-border);
	font-size: var(--wd-font-size-xs);
	font-weight: 700;
	line-height: 1.4;
	color: var(--wd-text-secondary);
}

.wd-inv-location-map-key > span {
	display: inline-flex;
	gap: var(--wd-space-xs);
	align-items: center;
}

.wd-inv-location-map-key__place {
	color: var(--wd-green);
}

.wd-inv-location-extended__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wd-space-lg);
	align-items: center;
	justify-content: flex-end;
}

.wd-inv-location-extended__actions .wd-specialist-text-link {
	margin-top: 0;
}

/* A distinct low-cloud band separates the forecast product from the local guide. */
.wd-inv-location-landing .wd-specialist-section.wd-inv-location-guide {
	background: var(--wd-green-light);
}

.wd-inv-location-landing .wd-inv-location-guide__answer {
	max-width: var(--wd-copy-max);
	padding-left: var(--wd-space-lg);
	border-left: var(--wd-space-xs) solid var(--wd-green);
	font-size: var(--wd-font-size-lg);
	font-weight: 700;
	line-height: 1.6;
	color: var(--wd-text-primary);
}

.wd-inv-location-landing .wd-specialist-use-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wd-inv-location-landing .wd-specialist-use-grid article > span {
	font-size: var(--wd-font-size-xl);
}

/* === Featured outlooks (hub page): region rows + mountain cards === */

.wd-inv-featured-eyebrow {
	margin: 0 0 var(--wd-space-xs);
	font-size: var(--wd-font-size-xs);
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wd-green);
}

.wd-inv-featured-region h4,
.wd-inv-featured-card h4 {
	margin: 0;
	font-size: var(--wd-font-size-xl);
	line-height: 1.2;
	color: var(--wd-text-primary);
}

.wd-inv-featured-region__desc,
.wd-inv-featured-card__desc {
	margin: 0;
	font-size: var(--wd-font-size-md);
	line-height: 1.65;
	color: var(--wd-text-secondary);
}

/* Regions: one bulletin-style container of clickable rows. */
.wd-inv-featured-regions {
	overflow: hidden;
	border: 1px solid var(--wd-border-strong);
	border-radius: var(--wd-radius-md);
	background: var(--wd-bg-card);
	box-shadow: var(--wd-shadow-sm);
}

.wd-inv-featured-region {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr) minmax(0, .7fr);
	gap: var(--wd-space-sm) var(--wd-space-2xl);
	align-items: center;
	padding: var(--wd-space-xl) var(--wd-card-padding);
	transition: background-color .15s ease;
}

.wd-inv-featured-region > .wd-specialist-text-link {
	justify-self: end;
	text-align: right;
}

.wd-inv-featured-region + .wd-inv-featured-region {
	border-top: 1px solid var(--wd-border);
}

.wd-inv-featured-region:hover {
	background: var(--wd-bg-subtle);
}

.wd-inv-featured-region:focus-within {
	outline: 3px solid var(--wd-green);
	outline-offset: -3px;
}

/* Mountains: compact clickable cards, three across. */
.wd-inv-featured-mountains {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wd-space-lg);
}

.wd-inv-featured-card {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: var(--wd-card-padding);
	border: 1px solid var(--wd-border-strong);
	border-radius: var(--wd-radius-md);
	background: var(--wd-bg-card);
	box-shadow: var(--wd-shadow-sm);
	transition: transform .15s ease, box-shadow .15s ease;
}

.wd-inv-featured-card:hover {
	transform: translateY(calc(var(--wd-space-xs) * -1));
	box-shadow: var(--wd-shadow-md);
}

.wd-inv-featured-card:focus-within {
	outline: 3px solid var(--wd-green);
	outline-offset: var(--wd-space-xs);
}

.wd-inv-featured-card__title-row {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wd-space-sm);
	align-items: center;
	margin-bottom: var(--wd-space-md);
}

.wd-inv-featured-card__alt {
	padding: 0 var(--wd-space-sm);
	border: 1px solid var(--wd-border);
	border-radius: var(--wd-radius-pill);
	background: var(--wd-bg-subtle);
	font-size: var(--wd-font-size-xs);
	font-weight: 700;
	line-height: 1.8;
	color: var(--wd-text-secondary);
	white-space: nowrap;
}

.wd-inv-featured-card__desc {
	margin-bottom: var(--wd-space-lg);
}

.wd-inv-featured-card .wd-specialist-text-link {
	margin-top: auto;
}

/* The visible arrow link stretches over the whole row/card. */
.wd-inv-featured-region .wd-specialist-text-link::after,
.wd-inv-featured-card .wd-specialist-text-link::after {
	content: '';
	position: absolute;
	inset: 0;
}

.wd-inv-featured-region .wd-specialist-text-link:focus-visible,
.wd-inv-featured-card .wd-specialist-text-link:focus-visible {
	outline: none;
}

@media (max-width: 1024px) {
	.wd-inv-featured-mountains {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wd-inv-featured-region {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.wd-inv-featured-region__desc {
		grid-column: 1 / -1;
	}
}

.wd-inv-featured-group + .wd-inv-featured-group {
	margin-top: var(--wd-space-3xl);
	padding-top: var(--wd-space-3xl);
	border-top: 1px solid var(--wd-border);
}

.wd-inv-featured-group__title {
	margin: 0 0 var(--wd-space-sm);
	font-size: var(--wd-font-size-xl);
	font-weight: 800;
	color: var(--wd-text-primary);
}

.wd-inv-featured-group__intro {
	margin: 0 0 var(--wd-space-xl);
	color: var(--wd-text-secondary);
}

.wd-inv-location-landing .wd-inv-location-history__grid {
	grid-template-columns: minmax(0, 1fr);
}

@media (max-width: 1024px) {
	.wd-inv-location-landing .wd-specialist-hero__grid {
		grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
		gap: var(--wd-space-2xl);
	}

	.wd-inv-location-map-card__head {
		display: grid;
	}

	.wd-inv-location-map-meta {
		text-align: left;
	}
}

@media (max-width: 768px) {
	.wd-inv-location-landing .wd-specialist-hero__grid,
	.wd-inv-location-landing .wd-specialist-use-grid,
	.wd-inv-featured-mountains,
	.wd-inv-featured-region {
		grid-template-columns: 1fr;
	}

	.wd-inv-featured-region {
		gap: var(--wd-space-sm);
		padding: var(--wd-space-xl) var(--wd-card-padding-mobile);
	}

	.wd-inv-featured-region > .wd-specialist-text-link {
		justify-self: start;
		text-align: left;
	}

	.wd-inv-featured-card {
		padding: var(--wd-card-padding-mobile);
	}

	.wd-inv-location-status {
		grid-template-columns: 1fr;
	}

	.wd-inv-location-status small {
		grid-column: auto;
	}

	.wd-inv-location-map-card .wd-inv-heatmap-map {
		min-height: calc(var(--wd-space-3xl) * 6);
	}

	.wd-inv-location-extended__actions {
		justify-content: flex-start;
	}
}

@media (max-width: 480px) {
	.wd-inv-location-extended__actions {
		display: grid;
	}

	.wd-inv-location-extended__actions .wd-specialist-button {
		width: 100%;
	}

	.wd-inv-location-map-card__head,
	.wd-inv-location-map-card .wd-inv-shared-slider,
	.wd-inv-location-map-key {
		padding-inline: var(--wd-space-lg);
	}
}
