/* Formulieren (contact/offerte) — gebruikt de thema-tokens; valt terug op
   neutrale waarden als het thema ze niet definieert. */

.mv-formulier { max-width: 640px; }
.mv-formulier__intro { margin-bottom: 1.25em; }
.mv-formulier__form { display: grid; gap: 1em; }
.mv-formulier__veld { display: grid; gap: 0.35em; }
.mv-formulier__veld label { font-weight: var(--mv-gewicht-medium, 600); font-size: 0.9375rem; }
.mv-formulier__veld input,
.mv-formulier__veld textarea,
.mv-formulier__veld select {
	width: 100%;
	padding: 0.7em 0.9em;
	font: inherit;
	color: var(--mv-tekst, #222);
	background: var(--mv-bg-zacht, #f5f6f8);
	border: 1px solid var(--mv-rand, #d9dce1);
	border-radius: var(--mv-radius-knop, 6px);
}
.mv-formulier__veld input:focus,
.mv-formulier__veld textarea:focus,
.mv-formulier__veld select:focus { outline: 2px solid var(--mv-accent, #a61a45); outline-offset: 1px; }
.mv-formulier__veld--akkoord label { display: flex; gap: 0.6em; align-items: flex-start; font-weight: 400; font-size: 0.875rem; }
.mv-formulier__veld--akkoord input { margin-top: 0.25em; }
.mv-formulier__verplicht { font-size: 0.8125rem; color: var(--mv-tekst-zacht, #666); margin: 0; }
.mv-formulier__knop {
	justify-self: start;
	background: var(--mv-accent, #a61a45);
	color: #fff;
	border: 1px solid var(--mv-accent, #a61a45);
	border-radius: var(--mv-radius-knop, 6px);
	padding: 0.8em 1.6em;
	font-family: var(--mv-font-kop, inherit);
	font-weight: var(--mv-gewicht-kop, 700);
	cursor: pointer;
}
.mv-formulier__knop:hover { filter: brightness(0.92); }
.mv-formulier__melding { padding: 0.9em 1.1em; border-radius: var(--mv-radius-knop, 6px); border: 1px solid; }
.mv-formulier__melding--ok { background: #eef9f0; border-color: #9fd7ab; color: #1e5b2a; }
.mv-formulier__melding--fout { background: #fdf0f0; border-color: #e6a2a2; color: #7a1f1f; }

/* Honeypot: buiten beeld, niet display:none (sommige bots slaan verborgen velden over). */
.mv-formulier__hp { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* Raster: twee kolommen op brede schermen, brede velden over de volle breedte. */
.mv-formulier { max-width: 760px; }
.mv-formulier__raster { display: grid; grid-template-columns: 1fr 1fr; gap: 1em 1.25em; }
.mv-formulier__veld--breed { grid-column: 1 / -1; }
@media (max-width: 640px) { .mv-formulier__raster { grid-template-columns: 1fr; } }
.mv-formulier__veld fieldset { border: 0; padding: 0; margin: 0; }
.mv-formulier__veld legend { font-weight: var(--mv-gewicht-medium, 600); font-size: 0.9375rem; margin-bottom: 0.4em; }
.mv-formulier__keuzes { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 0.4em 1em; }
.mv-formulier__keuzes label { display: flex; gap: 0.5em; align-items: flex-start; font-weight: 400; font-size: 0.9375rem; }
.mv-formulier__keuzes input { margin-top: 0.3em; }
.mv-formulier__hulp { margin: 0; font-size: 0.8125rem; color: var(--mv-tekst-zacht, #666); }
.mv-formulier__pow-status { margin: 0; font-size: 0.8125rem; color: var(--mv-tekst-zacht, #666); min-height: 1.2em; }
.mv-formulier__knop:disabled { opacity: 0.6; cursor: wait; }
