/**
 * Contact Form 7 — themed to match Realify Pro.
 *
 * Scoped to .wpcf7 so it only affects CF7 forms. Colours pull from the theme
 * tokens (--realify-*) set in Realify Settings, so forms follow your palette.
 */

.wpcf7 {
	font-family: 'Inter', system-ui, -apple-system, sans-serif;
	color: var(--realify-text, #1B1B17);
}
.wpcf7 form { max-width: 640px; }
.wpcf7 p { margin: 0 0 16px; }

.wpcf7 label {
	display: block;
	font-weight: 600;
	font-size: 14px;
	margin-bottom: 6px;
	color: var(--realify-primary, #11341F);
}

/* ---- fields ---- */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 input[type="date"],
.wpcf7 input[type="search"],
.wpcf7 textarea,
.wpcf7 select {
	width: 100%;
	box-sizing: border-box;
	font: inherit;
	font-size: 15px;
	padding: 12px 14px;
	background: #fff;
	color: var(--realify-text, #1B1B17);
	border: 1px solid rgba(17, 52, 31, .18);
	border-radius: 12px;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.wpcf7 textarea { min-height: 140px; resize: vertical; }

.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
	outline: none;
	border-color: var(--realify-primary, #11341F);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--realify-accent, #CBDE6E) 55%, transparent);
}
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder { color: rgba(27, 27, 23, .45); }

/* ---- checkboxes / radios ---- */
.wpcf7 .wpcf7-list-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0 14px 6px 0;
}
.wpcf7 input[type="checkbox"],
.wpcf7 input[type="radio"] {
	width: auto;
	accent-color: var(--realify-primary, #11341F);
}

/* ---- submit button (matches the theme's rounded buttons) ---- */
.wpcf7 input[type="submit"],
.wpcf7 button[type="submit"] {
	display: inline-block;
	cursor: pointer;
	font: inherit;
	font-weight: 600;
	font-size: 15px;
	padding: 12px 28px;
	background: var(--realify-primary, #11341F);
	color: var(--realify-bg, #F4F1E6);
	border: none;
	border-radius: 999px;
	transition: transform .2s ease, background-color .2s ease, color .2s ease;
}
.wpcf7 input[type="submit"]:hover,
.wpcf7 button[type="submit"]:hover {
	background: var(--realify-secondary, #ECB099);
	color: var(--realify-primary, #11341F);
	transform: translateY(-2px);
}

/* ---- validation + response messages ---- */
.wpcf7 .wpcf7-not-valid { border-color: #c0392b !important; }
.wpcf7 .wpcf7-not-valid-tip { color: #c0392b; font-size: 13px; margin-top: 4px; }

.wpcf7 .wpcf7-response-output {
	margin: 16px 0 0;
	padding: 12px 16px;
	border-radius: 12px;
	font-size: 14px;
	border: 1px solid transparent;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output {
	background: #fdecea;
	border-color: #f5c6c2;
	color: #a93226;
}
.wpcf7 form.sent .wpcf7-response-output {
	background: color-mix(in srgb, var(--realify-accent, #CBDE6E) 22%, #fff);
	border-color: var(--realify-accent, #CBDE6E);
	color: var(--realify-primary, #11341F);
}

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

/* On dark (forest) backgrounds, drop a .realify-form-dark class on the wrapper. */
.realify-form-dark.wpcf7 label { color: var(--realify-bg, #F4F1E6); }
.realify-form-dark.wpcf7 input[type="text"],
.realify-form-dark.wpcf7 input[type="email"],
.realify-form-dark.wpcf7 input[type="tel"],
.realify-form-dark.wpcf7 input[type="url"],
.realify-form-dark.wpcf7 textarea,
.realify-form-dark.wpcf7 select {
	background: rgba(255, 255, 255, .06);
	color: #fff;
	border-color: rgba(255, 255, 255, .25);
}
.realify-form-dark.wpcf7 input::placeholder,
.realify-form-dark.wpcf7 textarea::placeholder { color: rgba(255, 255, 255, .5); }
