/* ==========================================================================
   Página de Contacto — Sección de datos + formulario.
   Dos columnas en desktop: datos (Options Page) a la izquierda, formulario
   CF7 a la derecha. Una sola columna en móvil.
   ========================================================================== */

.page-contact {
	padding: var(--space-9) 0;
	background: var(--color-cream);
}

@media (min-width: 960px) {
	.page-contact {
		padding: var(--space-10) 0;
	}
}

.page-contact__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-7);
	align-items: start;
}

@media (min-width: 880px) {
	.page-contact__grid {
		grid-template-columns: 1fr 1.1fr;
		gap: var(--space-9);
	}
}

.page-contact__intro {
	font-size: var(--fz-lead);
	line-height: var(--lh-long);
	color: var(--color-graphite-soft);
	margin-bottom: var(--space-6);
}

.page-contact__intro p {
	margin: 0;
	color: inherit;
}

.page-contact__details {
	margin: 0;
	display: grid;
	gap: var(--space-5);
}

.page-contact__detail dt {
	font-family: var(--font-sans);
	font-size: var(--fz-eyebrow);
	font-weight: 600;
	letter-spacing: var(--ls-eyebrow);
	text-transform: uppercase;
	color: var(--color-gold);
	margin-bottom: 6px;
}

.page-contact__detail dd {
	margin: 0;
	font-size: var(--fz-body);
	line-height: var(--lh-long);
	color: var(--color-graphite);
}

.page-contact__detail a {
	color: var(--color-navy);
	border-bottom: 1px solid var(--color-line);
	transition: border-color var(--transition-fast), color var(--transition-fast);
}

.page-contact__detail a:hover,
.page-contact__detail a:focus-visible {
	color: var(--color-gold);
	border-bottom-color: var(--color-gold);
}

.page-contact__map {
	margin-top: var(--space-6);
	border: 1px solid var(--color-line);
}

.page-contact__map iframe {
	display: block;
	width: 100%;
	height: 280px;
	border: 0;
}

.page-contact__form {
	background: #ffffff;
	border: 1px solid var(--color-line);
	padding: var(--space-7) var(--space-6);
}

.page-contact__form-title {
	font-family: var(--font-serif);
	font-weight: 500;
	font-size: var(--fz-h3-card);
	color: var(--color-navy);
	letter-spacing: var(--ls-heading);
	margin: 0 0 var(--space-5);
}

.page-contact__form-empty {
	font-size: var(--fz-card);
	line-height: var(--lh-long);
	color: var(--color-text-muted);
	margin: 0;
}
