/* contact.css — contact page: one fullscreen no-scroll view, info left, map
   right. footer + header bar hidden in components.css. */

.page-template-template-contact {
	height: 100dvh;
	overflow: hidden;
}
.page-template-template-contact #content {
	height: calc(100dvh - var(--header-h));
	display: grid;
	overflow-y: auto;   /* safety valve for short viewports */
}

.contact-page {
	display: grid;
	align-content: center;
	padding-block: 1.5rem;
}

.contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
}

.contact-info .lead { max-width: 46ch; margin-top: 1.2rem; }

.contact-list {
	display: grid;
	gap: .95rem;
	margin-top: 1.8rem;
}
.contact-list li {
	display: flex;
	align-items: flex-start;
	gap: .85rem;
	color: var(--sand);
	font-size: 1rem;
	line-height: 1.55;
}
.contact-list li i {
	flex: 0 0 22px;
	width: 22px;
	text-align: center;
	margin-top: .3rem;
	color: var(--yellow);
}
.contact-list strong { color: var(--cream); }
.contact-list a { color: var(--cream); font-weight: 500; }
.contact-list a:hover { color: var(--yellow); }

.contact-info .socials { margin-top: 1.6rem; }

/* gold offset frame behind the map, same treatment as .split__media::before */
.contact-map {
	position: relative;
	height: min(64vh, 560px);
}
.contact-map::before {
	content: "";
	position: absolute;
	inset: 1.2rem -1.2rem -1.2rem 1.2rem;
	border: 1px solid var(--gold);
	border-radius: var(--radius);
	z-index: 0;
}
.contact-map__frame {
	position: relative;
	z-index: 1;
	height: 100%;
	border-radius: var(--radius);
	overflow: hidden;
	border: 1px solid var(--line);
	box-shadow: var(--shadow-soft);
}
.contact-map iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

@media (max-width: 860px) {
	/* small screens: normal scrolling column so everything stays reachable */
	.page-template-template-contact { height: auto; overflow: auto; }
	.page-template-template-contact #content { height: auto; }
	.contact-layout { grid-template-columns: 1fr; }
	.contact-map { height: 320px; }
}
