/**
 * PPB Core — Visit us section (map + address panel).
 * Block: ppb-visit-us
 * Depends: ppb-core-tokens, ppb-core-object-interactions
 */

.ppb-visit-us {
	margin: 0;
	background: var(--ppb-color-surface-page);
}

/* Inner: `.ppb-wrap` from theme — default container (site-shell bumps inline padding on Contact like other section landings). */

/*
 * Single rounded shell for map + panel; iframe and panel honour the clip (--ppb-radius-card).
 */
.ppb-visit-us__grid {
	display: grid;
	grid-template-columns: 1fr;
	border-radius: var(--ppb-radius-card, 0.75rem);
	overflow: hidden;
	box-shadow: var(--ppb-shadow-lift);
}

@media (min-width: 48rem) {
	.ppb-visit-us__grid {
		grid-template-columns: 1.2fr 1fr;
	}
}

.ppb-visit-us--no-map .ppb-visit-us__grid {
	grid-template-columns: 1fr;
}

/* ----- Map ----- */

/* Map fills its cell; outer corners come from `.ppb-visit-us__grid` (avoid radii here so the map|panel seam stays square in 2-col). */
.ppb-visit-us__map {
	position: relative;
	aspect-ratio: 4 / 3;
	min-width: 0;
	background: color-mix(in srgb, var(--ppb-color-text-muted) 8%, var(--ppb-color-surface-page));
	overflow: hidden;
}

@media (min-width: 48rem) {
	.ppb-visit-us__map {
		aspect-ratio: auto;
		min-height: 24rem;
	}
}

.ppb-visit-us__map-iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

/* ----- Panel ----- */

.ppb-visit-us__panel {
	background: var(--color-primary, #917145);
	color: var(--ppb-btn-primary-text, #fff);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(2rem, 4vw, 3rem) clamp(1.5rem, 3vw, 2.5rem);
	min-height: 18rem;
}

.ppb-visit-us__panel-inner {
	text-align: center;
	max-width: 22rem;
}

.ppb-visit-us__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1rem;
	color: var(--ppb-btn-primary-text, #fff);
}

.ppb-visit-us__icon svg {
	display: block;
}

.ppb-visit-us__title {
	margin: 0 0 1rem;
	font-family: var(--font-display, inherit);
	font-size: var(--ppb-text-4xl, 2.5rem);
	font-weight: var(--ppb-font-weight-display-soft, 600);
	color: var(--ppb-btn-primary-text, #fff);
	line-height: var(--ppb-leading-tight, 1.3);
}

.ppb-visit-us__address {
	margin: 0 0 1.5rem;
	font-style: normal;
	font-size: var(--ppb-text-base, 1rem);
	line-height: var(--ppb-leading-normal, 1.5);
	color: var(--ppb-btn-primary-text, #fff);
	font-family: var(--font-body, inherit);
}

/* External-link affordance reuses footer markup; tint for primary panel. */
.ppb-visit-us__panel .ppb-site-footer__external-slot {
	color: var(--ppb-btn-primary-text, #fff);
}

