.ans-contact-form-section {
	max-width: 720px;
	margin-inline: auto;
}

.ans-contact-form-wrap .wpcf7 {
	margin: 0;
}

.ans-cf7-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem 1.25rem;
}

.ans-cf7-field--full {
	grid-column: 1 / -1;
}

.ans-contact-form-wrap input[type="text"],
.ans-contact-form-wrap input[type="email"],
.ans-contact-form-wrap input[type="tel"],
.ans-contact-form-wrap select,
.ans-contact-form-wrap textarea {
	width: 100%;
	padding: 0.85rem 1rem;
	border: 1px solid var(--ans-border);
	border-radius: 10px;
	font: inherit;
	background: var(--ans-surface);
	color: var(--ans-text);
	transition: border-color 0.2s, box-shadow 0.2s;
}

.ans-contact-form-wrap input:focus,
.ans-contact-form-wrap select:focus,
.ans-contact-form-wrap textarea:focus {
	outline: none;
	border-color: var(--ans-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--ans-accent) 25%, transparent);
}

.ans-contact-form-wrap textarea {
	min-height: 140px;
	resize: vertical;
}

.ans-contact-form-wrap .wpcf7-submit {
	width: 100%;
	margin-top: 0.5rem;
	cursor: pointer;
	border: none;
	padding: 0.85rem 1.75rem;
	border-radius: 999px;
	font-family: var(--ans-font-heading);
	font-weight: 600;
	font-size: 0.95rem;
}

.ans-contact-form-wrap .wpcf7-response-output {
	margin: 1rem 0 0;
	padding: 0.85rem 1rem;
	border-radius: 10px;
	border: none;
	font-size: 0.95rem;
}

.ans-contact-form-wrap .wpcf7-mail-sent-ok {
	background: #d1fae5;
	color: #065f46;
}

.ans-contact-form-wrap .wpcf7-validation-errors,
.ans-contact-form-wrap .wpcf7-mail-sent-ng {
	background: #fee2e2;
	color: #991b1b;
}

@media (max-width: 600px) {
	.ans-cf7-grid {
		grid-template-columns: 1fr;
	}
}
