/**
 * Dram Verdict — Contact Form 7 minimal styling
 * Scoped to .wpcf7 only. Reuses tokens from tokens.css; no new design system.
 */

.wpcf7-form {
	max-width: var(--dv-max-content);
	margin-top: var(--dv-space-6);
}

.wpcf7-form p {
	margin: 0 0 var(--dv-space-5);
}

.wpcf7-form label {
	display: block;
	font-family: var(--dv-font-body);
	font-size: var(--dv-fs-small);
	font-weight: 600;
	color: var(--dv-ink);
}

.wpcf7-form .wpcf7-form-control-wrap {
	display: block;
	margin-top: var(--dv-space-2);
}

.wpcf7-form-control.wpcf7-text,
.wpcf7-form-control.wpcf7-email,
.wpcf7-form-control.wpcf7-textarea {
	width: 100%;
	max-width: 100%;
	font-family: var(--dv-font-body);
	font-size: var(--dv-fs-body);
	color: var(--dv-ink);
	background: var(--dv-surface);
	border: 1px solid var(--dv-border-strong);
	border-radius: var(--dv-radius-md);
	padding: var(--dv-space-3) var(--dv-space-4);
	line-height: var(--dv-lh-body);
}

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

.wpcf7-form-control:focus {
	outline: 2px solid var(--dv-focus);
	outline-offset: 1px;
	border-color: var(--dv-focus);
}

.wpcf7-form-control.wpcf7-not-valid {
	border-color: var(--dv-cons);
}

.wpcf7-not-valid-tip {
	display: block;
	margin-top: var(--dv-space-1);
	font-size: var(--dv-fs-caption);
	color: var(--dv-cons);
}

.wpcf7-form .wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 var(--dv-space-6);
	border-radius: var(--dv-radius-md);
	font-family: var(--dv-font-body);
	font-size: var(--dv-fs-small);
	font-weight: 600;
	background: var(--dv-ink);
	border: 1px solid var(--dv-ink);
	color: var(--dv-bg);
	cursor: pointer;
}

.wpcf7-form .wpcf7-submit:hover,
.wpcf7-form .wpcf7-submit:focus {
	background: var(--dv-ink-hover);
	border-color: var(--dv-gold);
}

.wpcf7-form .wpcf7-submit:disabled {
	opacity: 0.6;
	cursor: default;
}

.wpcf7-form .wpcf7-spinner {
	margin-left: var(--dv-space-3);
}

.wpcf7-response-output {
	margin-top: var(--dv-space-5);
	padding: var(--dv-space-3) var(--dv-space-4);
	border-radius: var(--dv-radius-md);
	font-size: var(--dv-fs-small);
	border: 1px solid var(--dv-border-strong);
}

.wpcf7-form.sent .wpcf7-response-output {
	border-color: var(--dv-pros);
	color: var(--dv-pros);
	background: color-mix(in srgb, var(--dv-pros) 8%, var(--dv-surface));
}

.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.failed .wpcf7-response-output,
.wpcf7-form.spam .wpcf7-response-output,
.wpcf7-form.aborted .wpcf7-response-output {
	border-color: var(--dv-cons);
	color: var(--dv-cons);
	background: color-mix(in srgb, var(--dv-cons) 8%, var(--dv-surface));
}

@media (max-width: 767px) {
	.wpcf7-form-control.wpcf7-text,
	.wpcf7-form-control.wpcf7-email,
	.wpcf7-form-control.wpcf7-textarea {
		font-size: 16px; /* iOS: prevents input-focus zoom */
	}
}
