/*
 * Valor Maintenance — Let's Fix It (Contact)
 */

.vm-contact {
	background-color: var(--vm-bg-light);
}

.vm-contact__grid {
	display: grid;
	grid-template-columns: 1fr 1.8fr;
	gap: 3.5rem;
	align-items: start;
}

.vm-contact__intro > p {
	color: var(--vm-body-text);
	font-size: 0.95rem;
	line-height: 1.7;
	margin: 1rem 0 2rem;
}

.vm-contact__phone-card {
	display: flex;
	align-items: center;
	gap: 1rem;
	background-color: #e9eef5;
	border-radius: 8px;
	padding: 1.4rem 1.5rem;
}

.vm-contact__phone-icon {
	display: inline-flex;
	flex-shrink: 0;
	color: var(--vm-heading);
}

.vm-contact__phone-card p {
	color: var(--vm-body-text);
	font-size: 0.92rem;
	line-height: 1.6;
	margin: 0;
}

.vm-contact__phone-card a {
	color: var(--vm-heading);
	font-weight: 700;
	text-decoration: none;
}

.vm-contact__phone-card a:hover {
	color: var(--wp--preset--color--brand);
}

/* ---- Form ---- */

.vm-contact__fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.vm-contact__field--full {
	grid-column: 1 / -1;
}

.vm-contact__label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.vm-contact__form input,
.vm-contact__form select,
.vm-contact__form textarea {
	box-sizing: border-box;
	width: 100%;
	background-color: #ffffff;
	border: 1px solid var(--vm-border);
	border-radius: 6px;
	padding: 0.85rem 1rem;
	color: var(--vm-heading);
	font-family: inherit;
	font-size: 0.92rem;
	transition: border-color 0.15s ease;
}

.vm-contact__form select:invalid {
	color: var(--vm-muted);
}

.vm-contact__form input::placeholder,
.vm-contact__form textarea::placeholder {
	color: var(--vm-muted);
}

.vm-contact__form input:focus,
.vm-contact__form select:focus,
.vm-contact__form textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--brand);
}

.vm-contact__form textarea {
	resize: vertical;
}

.vm-contact__submit {
	display: block;
	margin: 1.5rem auto 0;
	min-width: 220px;
	font-family: inherit;
}

/* ---- Submission notices ---- */

.vm-contact__notice {
	grid-column: 1 / -1;
	border-radius: 6px;
	padding: 0.9rem 1.1rem;
	font-size: 0.92rem;
	font-weight: 500;
}

.vm-contact__notice--success {
	background-color: #e7f4ea;
	color: #1f6b34;
}

.vm-contact__notice--error {
	background-color: #fdecea;
	color: #a3352b;
}

@media (max-width: 1023px) {
	.vm-contact__grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}
}

@media (max-width: 599px) {
	.vm-contact__fields {
		grid-template-columns: 1fr;
	}
}
