/**
 * "Contact Section" Content Blocks block -- self-contained two-column
 * layout (contact info left, shortcode/form right) plus Contact Form 7
 * field styling for whatever's dropped in the shortcode field. Adapted
 * from the old page-contact.php-only contact.css, generalized so it works
 * wherever this block is placed, not just on one retired page template.
 */

.contact-section-block {
	padding: 56px 0 72px;
}

.contact-section-columns {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 40px;
	align-items: start;
}

/* Single-column contact-info list regardless of viewport -- the block's
   own left column is narrower than a full-width section, so the global
   .contact-details-grid's own auto-fit multi-column default (used when the
   old standalone "Contact Details" block spans a full section) would wrap
   too early here. */
.contact-section-info .contact-details-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}

.contact-form-card {
	background: #fff;
	border: 1px solid var(--border);
	border-radius: 8px;
	padding: 32px;
}

@media (max-width: 991px) {
	.contact-section-columns {
		grid-template-columns: 1fr;
	}

	.contact-form-card {
		padding: 24px;
	}
}

/* ---- Contact Form 7 output ---- */

.contact-form-card .wpcf7-form label {
	display: block;
	font-weight: 500;
	font-size: 0.9375rem;
	color: var(--lable);
	margin-bottom: 16px;
}

.contact-form-card .wpcf7-form-control {
	width: 100%;
	margin-top: 8px;
	padding: 10px 13px;
	border: 0.8px solid var(--border-light);
	border-radius: var(--radius);
	font-size: 0.875rem;
	font-family: inherit;
	transition: var(--transition);
}

.contact-form-card input.wpcf7-form-control {
	height: 44px;
}

.contact-form-card textarea.wpcf7-form-control {
	min-height: 140px;
	resize: vertical;
}

.contact-form-card .wpcf7-form-control:focus {
	border-color: var(--btn-blue);
	outline: none;
	box-shadow: 0 0 0 3px rgba(111, 168, 196, 0.2);
}

.contact-form-card .wpcf7-form-control.wpcf7-not-valid {
	border-color: var(--brand-red);
}

.contact-form-card .wpcf7-not-valid-tip {
	display: block;
	color: var(--brand-red);
	font-size: 0.8125rem;
	margin-top: 6px;
	font-weight: 400;
}

.contact-form-card .wpcf7-response-output {
	margin-top: 20px;
	padding: 12px 16px;
	border-radius: var(--radius);
	font-size: 0.875rem;
}

.contact-form-card .wpcf7-form.sent .wpcf7-response-output {
	background: #edf7ed;
	border: 1px solid #bfe3bf;
	color: #2e7d32;
}

.contact-form-card .wpcf7-form.invalid .wpcf7-response-output,
.contact-form-card .wpcf7-form.failed .wpcf7-response-output,
.contact-form-card .wpcf7-form.spam .wpcf7-response-output,
.contact-form-card .wpcf7-form.aborted .wpcf7-response-output {
	background: #fdecea;
	border: 1px solid #f3b6b2;
	color: #7a2018;
}

.contact-form-card .wpcf7-submit {
	margin-top: 8px;
	height: 44px;
	padding: 0 32px;
	border: 1px solid var(--btn-blue);
	border-radius: var(--radius);
	background: var(--btn-blue);
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	cursor: pointer;
	transition: var(--transition);
}

.contact-form-card .wpcf7-submit:hover {
	background: var(--btn-blue-hover);
}

.contact-form-card .wpcf7-submit:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.contact-form-card .wpcf7-spinner {
	margin-left: 10px;
}
