/* Voltedge quote form. Uses theme colour presets when available. */
.ve-form-wrap {
	--ve-red: var(--wp--preset--color--accent-1, #c2291c);
	--ve-ink: var(--wp--preset--color--contrast, #000);
	--ve-line: color-mix(in srgb, currentColor 28%, transparent);
	--ve-field-bg: var(--wp--preset--color--base, #fff);
}
.ve-form { margin: 0; }
.ve-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.1rem 1.25rem;
}
.ve-field { margin: 0; display: flex; flex-direction: column; gap: 0.4rem; }
.ve-field--full { grid-column: 1 / -1; }
.ve-field label { font-weight: 600; font-size: 0.9375rem; }
.ve-field input,
.ve-field select,
.ve-field textarea {
	font: inherit;
	font-size: 1rem;
	color: var(--ve-ink);
	background: var(--ve-field-bg);
	border: 2px solid var(--ve-line);
	border-radius: 0;
	padding: 0.75rem 0.85rem;
	min-height: 3rem;
	width: 100%;
	box-sizing: border-box;
}
.ve-field textarea { min-height: 7rem; resize: vertical; }
.ve-field input:focus,
.ve-field select:focus,
.ve-field textarea:focus {
	outline: 3px solid var(--ve-red);
	outline-offset: 1px;
	border-color: var(--ve-ink);
}
.ve-consent {
	display: flex;
	gap: 0.65rem;
	align-items: flex-start;
	margin: 1.25rem 0 0;
	font-size: 0.9375rem;
	line-height: 1.5;
}
.ve-consent input { width: 1.2rem; height: 1.2rem; margin-top: 0.15rem; accent-color: var(--ve-red); flex: none; }
.ve-consent a { color: inherit; text-decoration: underline; }
.ve-submit { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin: 1.5rem 0 0; }
.ve-submit .wp-element-button { cursor: pointer; border: 0; }
.ve-form-alt { font-size: 0.9375rem; opacity: 0.8; }
.ve-form-notice {
	padding: 1rem 1.25rem;
	margin: 0 0 1.5rem;
	border-left: 6px solid var(--ve-red);
	background: color-mix(in srgb, var(--ve-red) 8%, var(--ve-field-bg));
	color: var(--ve-ink);
	font-weight: 500;
}
.ve-form-notice--success { border-left-color: #1e7a3c; background: color-mix(in srgb, #1e7a3c 9%, var(--ve-field-bg)); }
.ve-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 640px) {
	.ve-form-grid { grid-template-columns: 1fr; }
}
