/* eqx/contact-block */

.eqx-contact-block__grid {
	display: grid;
	gap: var(--spacing-xl);
	grid-template-columns: 1fr 1fr;
}
@media (max-width: 900px) { .eqx-contact-block__grid { grid-template-columns: 1fr; gap: var(--spacing-lg); } }

.eqx-contact-block__intro { color: var(--eqx-text-muted); margin-bottom: var(--spacing-md); }

.eqx-contact-block__lines {
	list-style: none;
	margin: 0 0 var(--spacing-md);
	padding: 0;
}
.eqx-contact-block__lines li {
	display: flex;
	gap: var(--spacing-sm);
	align-items: flex-start;
	padding: var(--spacing-xs) 0;
}
.eqx-contact-block__lines address { font-style: normal; line-height: 1.5; margin: 0; }
.eqx-contact-block__icon {
	flex: 0 0 auto;
	width: 28px;
	color: var(--eqx-brand-accent);
	display: inline-flex;
	align-items: center;
}

.eqx-contact-block__map {
	margin-top: var(--spacing-md);
	border-radius: var(--radius-card);
	overflow: hidden;
	aspect-ratio: 16 / 9;
}
.eqx-contact-block__map iframe { width: 100%; height: 100%; border: 0; }

.eqx-contact-block__form {
	background: var(--eqx-brand-dark);
	padding: var(--spacing-lg);
	border-radius: var(--radius-card);
}

/* The form is Contact Form 7's default markup, which ships unstyled. On the
   dark card the labels need lifting off the navy and the submit button needs
   to look like the rest of the site's buttons rather than a browser default. */
.eqx-contact-block__form label {
	display: block;
	margin-bottom: var(--spacing-sm);
	color: var(--eqx-warm-white);
	font-weight: 600;
}
.eqx-contact-block__form input[type="text"],
.eqx-contact-block__form input[type="email"],
.eqx-contact-block__form input[type="tel"],
.eqx-contact-block__form textarea {
	display: block;
	width: 100%;
	margin-top: var(--spacing-xs);
	padding: 0.75em 1em;
	border: 1px solid transparent;
	border-radius: var(--radius-button);
	background: var(--eqx-warm-white);
	color: var(--eqx-text-primary);
	font-family: var(--ff-body);
	font-size: var(--font-body);
	font-weight: 400;
}
.eqx-contact-block__form textarea { min-height: 160px; resize: vertical; }
.eqx-contact-block__form input:focus,
.eqx-contact-block__form textarea:focus {
	outline: none;
	border-color: var(--eqx-brand-accent);
	box-shadow: 0 0 0 3px rgba(var(--eqx-brand-accent-rgb), 0.45);
}

.eqx-contact-block__form input[type="submit"] {
	display: inline-flex;
	padding: 0.95em 1.75em;
	border: 2px solid var(--eqx-brand-accent);
	border-radius: var(--radius-button);
	background: var(--eqx-brand-accent);
	color: var(--eqx-warm-white);
	font-family: var(--ff-body);
	font-size: var(--font-body);
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1;
	cursor: pointer;
	transition: background var(--transition-base), border-color var(--transition-base);
}
.eqx-contact-block__form input[type="submit"]:hover,
.eqx-contact-block__form input[type="submit"]:focus {
	background: var(--eqx-brand-accent-dk);
	border-color: var(--eqx-brand-accent-dk);
}

/* CF7's own status/validation messages, which default to dark text. */
.eqx-contact-block__form .wpcf7-not-valid-tip { color: #ffb4b4; font-weight: 400; }
.eqx-contact-block__form .wpcf7-response-output { color: var(--eqx-warm-white); border-color: currentColor; }
