/**
 * Contact 1 + Contact Form 7
 * Styles bare CF7 tags (no HTML wrappers) to match .contact-1 form chrome.
 *
 * Expected form body:
 *   [text* your-name placeholder "Your name"]
 *   [email* email placeholder "Email address"]
 *   [textarea* message placeholder] Message [/textarea*]
 *   [submit "Submit"]
 */

.contact-1__card .wpcf7 {
	display: block;
	width: 100%;
	margin: 0;
}

.contact-1__card .wpcf7-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--layout-contact1-card-gap, 3rem);
	width: 100%;
	margin: 0;
}

@media (min-width: 768px) {
	.contact-1__card .wpcf7-form {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: var(--space-3, 1.5rem);
		row-gap: var(--layout-contact1-card-gap, 3rem);
	}

	.contact-1__card .wpcf7-form > p:has(textarea),
	.contact-1__card .wpcf7-form > p:has(.wpcf7-submit),
	.contact-1__card .wpcf7-form > .wpcf7-response-output {
		grid-column: 1 / -1;
	}
}

.contact-1__card .wpcf7-form > p {
	display: flex;
	flex-direction: column;
	gap: var(--layout-contact1-field-gap, 1rem);
	width: 100%;
	min-width: 0;
	margin: 0;
	padding-bottom: var(--layout-contact1-field-pad, 0.5rem);
}

.contact-1__card .wpcf7-form > p:has(textarea) {
	padding-bottom: var(--space-2, 0.5rem);
}

.contact-1__card .wpcf7-form > p:has(.wpcf7-submit) {
	padding-bottom: 0;
}

.contact-1__card .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

.contact-1__card .wpcf7-form br {
	display: none;
}

/* Underline fields — same as .contact-1__control */
.contact-1__card .wpcf7-form input.wpcf7-text,
.contact-1__card .wpcf7-form input.wpcf7-email,
.contact-1__card .wpcf7-form input.wpcf7-tel,
.contact-1__card .wpcf7-form input.wpcf7-url,
.contact-1__card .wpcf7-form input.wpcf7-number,
.contact-1__card .wpcf7-form input.wpcf7-date,
.contact-1__card .wpcf7-form textarea.wpcf7-textarea {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 15px 0;
	border: 0;
	border-bottom: 1px solid var(--color-neutral-200, #d1d1d1);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	appearance: none;
	font-family: inherit;
	font-size: var(--font-size-compact, 14px);
	line-height: var(--font-leading-compact, 1.4);
	font-weight: var(--font-weight-medium, 500);
	color: inherit;
	resize: none;
	transition: border-bottom-color var(--motion-duration-instant, 150ms)
		var(--motion-easing-standard, ease);
}

.contact-1__card .wpcf7-form textarea.wpcf7-textarea {
	min-height: var(--layout-contact1-message-min-height, 80px);
}

.contact-1__card .wpcf7-form input.wpcf7-text:focus,
.contact-1__card .wpcf7-form input.wpcf7-email:focus,
.contact-1__card .wpcf7-form input.wpcf7-tel:focus,
.contact-1__card .wpcf7-form input.wpcf7-url:focus,
.contact-1__card .wpcf7-form input.wpcf7-number:focus,
.contact-1__card .wpcf7-form input.wpcf7-date:focus,
.contact-1__card .wpcf7-form textarea.wpcf7-textarea:focus {
	outline: none;
	border-bottom-color: var(--color-neutral-950, #0a0a0a);
	border-bottom-width: 2px;
}

.contact-1__card .wpcf7-form input.wpcf7-text:focus-visible,
.contact-1__card .wpcf7-form input.wpcf7-email:focus-visible,
.contact-1__card .wpcf7-form input.wpcf7-tel:focus-visible,
.contact-1__card .wpcf7-form input.wpcf7-url:focus-visible,
.contact-1__card .wpcf7-form input.wpcf7-number:focus-visible,
.contact-1__card .wpcf7-form input.wpcf7-date:focus-visible,
.contact-1__card .wpcf7-form textarea.wpcf7-textarea:focus-visible {
	outline: none;
	border-bottom-color: var(--color-neutral-950, #0a0a0a);
	border-bottom-width: 2px;
}

/* Placeholders stand in for former .contact-1__label */
.contact-1__card .wpcf7-form input.wpcf7-text::placeholder,
.contact-1__card .wpcf7-form input.wpcf7-email::placeholder,
.contact-1__card .wpcf7-form input.wpcf7-tel::placeholder,
.contact-1__card .wpcf7-form input.wpcf7-url::placeholder,
.contact-1__card .wpcf7-form input.wpcf7-number::placeholder,
.contact-1__card .wpcf7-form input.wpcf7-date::placeholder,
.contact-1__card .wpcf7-form textarea.wpcf7-textarea::placeholder {
	opacity: 1;
	color: var(--color-text-secondary, #737373);
	font-weight: var(--font-weight-medium, 500);
}

/* Submit ≈ .btn-1.btn-1--block (no icon markup from CF7 input) */
.contact-1__card .wpcf7-form input.wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 0;
	padding: var(--layout-btn1-padding-block, 0.75rem) var(--layout-btn1-padding-inline, 1.25rem);
	border: 0;
	border-radius: var(--radius-xs, 2px);
	background-color: var(--color-neutral-950, #0a0a0a);
	box-shadow: none;
	appearance: none;
	cursor: pointer;
	font-family: inherit;
	font-size: var(--font-size-compact, 14px);
	line-height: var(--font-leading-compact, 1.4);
	font-weight: var(--font-weight-medium, 500);
	color: var(--color-text-on-inverse, #fff);
	transition: opacity var(--motion-duration-instant, 150ms) var(--motion-easing-standard, ease);
}

.contact-1__card .wpcf7-form input.wpcf7-submit:hover,
.contact-1__card .wpcf7-form input.wpcf7-submit:focus-visible {
	opacity: 0.92;
}

.contact-1__card .wpcf7-form input.wpcf7-submit:focus-visible {
	outline: 2px solid var(--color-text-tertiary, currentColor);
	outline-offset: 2px;
}

.contact-1__card .wpcf7-spinner {
	margin-left: 0.5rem;
	vertical-align: middle;
}

.contact-1__card .wpcf7-not-valid-tip {
	margin-top: 0.35rem;
	font-size: var(--font-size-xs, 12px);
	line-height: 1.3;
	color: #b32d2e;
}

.contact-1__card .wpcf7-response-output {
	margin: 0;
	padding: 0.75rem 0 0;
	border: 0;
	font-size: var(--font-size-compact, 14px);
	line-height: var(--font-leading-compact, 1.4);
}

.contact-1__cf7-missing {
	margin: 0;
	font-size: 0.875rem;
	color: #b32d2e;
}
