/**
 * Contact Form 7 styling — brought in line with the rest of the design
 * system (spacing, radius, color tokens) and WCAG touch-target sizing.
 * CF7 ships no visual styling of its own, so without this the form would
 * render as bare browser-default inputs. Loaded only on pages that
 * actually contain the shortcode (see inc/enqueue.php).
 */

.wpcf7-form label {
	display: block;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--wp--preset--color--text-primary);
	margin-bottom: 20px;
}

.cf7-required {
	color: var(--wp--preset--color--red, #dc4c4c);
}

.cf7-optional {
	font-weight: 400;
	color: var(--wp--preset--color--text-secondary);
}

.wpcf7-form-control {
	display: block;
	box-sizing: border-box;
	width: 100%;
	margin-top: 8px;
	min-height: 44px;
	padding: 10px 14px;
	font-size: 15px;
	font-family: inherit;
	color: var(--wp--preset--color--text-primary);
	background: var(--wp--preset--color--surface-2, #f7f8fa);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--control, 8px);
}

textarea.wpcf7-form-control {
	min-height: 120px;
	resize: vertical;
}

.wpcf7-form-control:hover {
	border-color: var(--wp--preset--color--border-strong);
}

.wpcf7-submit {
	min-height: 44px;
	padding: 12px 24px;
	font-size: 14.5px;
	font-weight: 600;
	color: #ffffff;
	background: var(--wp--preset--color--blue);
	border: 0;
	border-radius: var(--wp--custom--radius--control, 8px);
	cursor: pointer;
}

.wpcf7-submit:hover {
	background: var(--wp--preset--color--blue-hover);
}

/* Inline validation errors — CF7 adds this span next to the offending field. */
.wpcf7-not-valid-tip {
	display: block;
	margin-top: 6px;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--wp--preset--color--red, #dc4c4c);
}

.wpcf7-form-control.wpcf7-not-valid {
	border-color: var(--wp--preset--color--red, #dc4c4c);
}

/* Screen-reader-only status region CF7 injects on submit (success/error). */
.wpcf7-response-output {
	margin-top: 16px;
	padding: 12px 16px;
	border-radius: var(--wp--custom--radius--control, 8px);
	font-size: 13.5px;
	border: 1px solid var(--wp--preset--color--border);
}

.wpcf7-form.sent .wpcf7-response-output {
	border-color: var(--wp--preset--color--teal);
	background: var(--wp--preset--color--teal-tint);
	color: var(--wp--preset--color--teal-tint-text, var(--wp--preset--color--text-primary));
}

.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.unaccepted .wpcf7-response-output,
.wpcf7-form.failed .wpcf7-response-output {
	border-color: var(--wp--preset--color--red, #dc4c4c);
	background: #fbeaea;
	color: #9a2f2f;
}
