.mv-knop,
.wp-block-button__link,
.ast-button,
.ast-custom-button,
button.wp-element-button,
input[type="submit"],
button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--mv-ruimte-2);
	font-family: var(--mv-font-kop);
	font-size: var(--mv-fs-klein);
	font-weight: var(--mv-gewicht-sterk);
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: var(--mv-ls-knop);
	text-decoration: none;
	color: var(--mv-accent-contrast);
	background-color: var(--mv-accent);
	border: 2px solid var(--mv-accent);
	border-radius: var(--mv-radius-knop);
	padding: 1.1em 2em;
	cursor: pointer;
	transition: background-color var(--mv-overgang), border-color var(--mv-overgang), transform var(--mv-overgang);

	min-height: 48px;
}

.mv-knop:hover,
.wp-block-button__link:hover,
.ast-button:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
	background-color: var(--mv-accent-hover);
	border-color: var(--mv-accent-hover);
	color: var(--mv-accent-contrast);
}

.mv-knop:active { transform: translateY(1px); }

.mv-knop--lijn,
.is-style-outline .wp-block-button__link {
	background-color: transparent;
	color: var(--mv-accent);
	border-color: var(--mv-accent);
}

.mv-knop--lijn:hover,
.is-style-outline .wp-block-button__link:hover {
	background-color: var(--mv-accent);
	color: var(--mv-accent-contrast);
}

.mv-knop--stil {
	background-color: transparent;
	color: var(--mv-kop-kleur);
	border-color: var(--mv-rand-sterk);
}

.mv-knop--stil:hover {
	background-color: var(--mv-bg-zacht);
	border-color: var(--mv-kop-kleur);
	color: var(--mv-kop-kleur);
}

@media (max-width: 480px) {
	.mv-knop--breed-mobiel { width: 100%; }
}

.mv-do-knop {
	display: inline-flex;
	align-items: stretch;
	gap: 0;
	font-family: var(--mv-font-kop);
	font-size: var(--mv-fs-klein);
	font-weight: var(--mv-gewicht-sterk);
	text-transform: uppercase;
	letter-spacing: 0.09em;
	text-decoration: none;
	border-radius: 999px;
	overflow: hidden;
	min-height: 48px;
	transition: background-color var(--mv-overgang), color var(--mv-overgang), border-color var(--mv-overgang);
}

.mv-do-knop__label {
	display: inline-flex;
	align-items: center;
	padding: 0 0 0 1.8em;
}

.mv-do-knop__label { line-height: 1.3; padding-block: 0.6em; text-align: left; }

.mv-do-knop__label:last-child { padding-right: 1.8em; }

@media (min-width: 782px) {
	.mv-do-knop__label { white-space: nowrap; }
}

@media (max-width: 599px) {
	.mv-do .mv-do-knop:not(.mv-do-knop--klein) { letter-spacing: 0.06em; }
}

.mv-do-knop__icoon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding-inline: 1.1em;
	margin-left: 1.2em;
	border-left: 1px solid var(--mv-knop-lijn, rgba(0, 0, 0, 0.1));
}

.mv-do-knop__icoon .mv-do-icoon { width: 1.65em; height: 1.65em; }

.mv-do-knop--wit {
	background: #ffffff;
	color: var(--mv-kop);
	border: 2px solid #ffffff;
}

.mv-do-knop--wit .mv-do-knop__icoon {
	--mv-knop-lijn: rgba(0, 0, 0, 0.1);
	color: var(--mv-accent);
}

.mv-do-knop--wit:hover {
	background: var(--mv-accent);
	border-color: var(--mv-accent);
	color: #ffffff;
}

.mv-do-knop--wit:hover .mv-do-knop__icoon {
	--mv-knop-lijn: rgba(255, 255, 255, 0.15);
	color: #ffffff;
}

.mv-do-knop--grijs {
	background: var(--mv-knop-grijs);
	color: #ffffff;
	border: 2px solid var(--mv-knop-grijs);
}

.mv-do-knop--grijs .mv-do-knop__icoon { --mv-knop-lijn: rgba(255, 255, 255, 0.22); color: #ffffff; }

.mv-do-knop--grijs:hover,
.mv-do-knop--grijs:focus {
	background: var(--mv-knop-grijs-hover);
	border-color: var(--mv-knop-grijs-hover);
	color: #ffffff;
}
.mv-do-knop--grijs:hover .mv-do-knop__icoon { color: #ffffff; }

.mv-do-knop--cta {
	background: #ffffff;
	color: var(--mv-accent);
	border: 3px solid #ffffff;
}

.mv-do-knop--cta .mv-do-knop__label { padding-left: 2em; }
.mv-do-knop--cta .mv-do-knop__label:last-child { padding-right: 2em; }
.mv-do-knop--cta .mv-do-knop__icoon { --mv-knop-lijn: rgba(0, 0, 0, 0.1); color: var(--mv-accent); }

.mv-do-knop--cta:hover {
	background: var(--mv-accent);
	border-color: var(--mv-accent);
	color: #ffffff;
}

.mv-do-knop--cta:hover .mv-do-knop__icoon { --mv-knop-lijn: rgba(255, 255, 255, 0.15); color: #ffffff; }

.mv-do-knop--bordeaux {
	background: var(--mv-accent);
	color: #ffffff;
	border: 2px solid var(--mv-accent);
}

.mv-do-knop--bordeaux .mv-do-knop__icoon { --mv-knop-lijn: rgba(255, 255, 255, 0.22); color: #ffffff; }

.mv-do-knop--bordeaux:hover,
.mv-do-knop--bordeaux:focus {
	background: var(--mv-accent-hover);
	border-color: var(--mv-accent-hover);
	color: #ffffff;
}

.mv-do-knop--klein {
	font-size: 11px;
	letter-spacing: 0.06em;
	min-height: 38px;
	white-space: nowrap;
}

.mv-do-knop--klein .mv-do-knop__label { padding-left: 1.25em; }
.mv-do-knop--klein .mv-do-knop__label:last-child { padding-right: 1.25em; }
.mv-do-knop--klein .mv-do-knop__icoon { padding-inline: 0.9em; margin-left: 0.8em; }
.mv-do-knop--klein .mv-do-knop__icoon .mv-do-icoon,
.mv-do-knop--klein .mv-do-knop__icoon .mv-icoon { width: 1em; height: 1em; }

.mv-do-knoppen {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mv-ruimte-4);
	justify-content: var(--mv-knoppen-uitlijning, flex-start);
}

.mv-kaart {
	background: var(--mv-kaart-bg);
	border: 1px solid var(--mv-kaart-rand);
	border-radius: var(--mv-radius-vlak);
	padding: var(--mv-ruimte-5);
	transition: box-shadow var(--mv-overgang), border-color var(--mv-overgang);
}

.mv-kaart--klikbaar:hover {
	box-shadow: var(--mv-schaduw);
	border-color: var(--mv-rand-sterk);
}

.mv-kaart__titel {
	font-size: var(--mv-fs-h4);
	margin: 0 0 var(--mv-ruimte-2);
}

.mv-kaart__tekst { margin: 0; }

.mv-usp {
	list-style: none;
	margin: 0 0 var(--mv-ruimte-5);
	padding: 0;
}

.mv-usp li {
	position: relative;
	padding-left: 1.75rem;
	margin-bottom: var(--mv-ruimte-3);
}

.mv-usp li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 50%;
	background: var(--mv-accent);
}

.mv-label {
	display: inline-block;
	font-family: var(--mv-font-kop);
	font-size: var(--mv-fs-klein);
	font-weight: var(--mv-gewicht-kop);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--mv-accent);
	background: var(--mv-accent-zacht);
	padding: 0.3em 0.85em;
	border-radius: var(--mv-radius-knop);
}

.mv-sidebar { display: flex; flex-direction: column; gap: var(--mv-ruimte-5); }

.mv-sidebar-blok {
	background: var(--mv-kaart-bg);
	border: 1px solid var(--mv-kaart-rand);
	border-radius: var(--mv-radius-vlak);
	padding: var(--mv-ruimte-5);
}

.mv-sidebar-blok__titel {
	font-size: var(--mv-fs-h4);
	margin: 0 0 var(--mv-ruimte-3);
	padding-bottom: var(--mv-ruimte-3);
	border-bottom: 1px solid var(--mv-rand);
}

.mv-sidebar-blok--cta {
	background: var(--mv-accent);
	border-color: var(--mv-accent);
	color: var(--mv-accent-contrast);
}

.mv-sidebar-blok--cta .mv-sidebar-blok__titel {
	color: var(--mv-accent-contrast);
	border-bottom-color: rgba(255, 255, 255, 0.25);
}

.mv-sidebar-blok--cta .mv-knop {
	background: var(--mv-accent-contrast);
	border-color: var(--mv-accent-contrast);
	color: var(--mv-accent);
}

.mv-sidebar-blok--cta .mv-knop:hover {
	background: var(--mv-donker);
	border-color: var(--mv-donker);
	color: var(--mv-accent-contrast);
}

label {
	display: block;
	font-family: var(--mv-font-kop);
	font-size: var(--mv-fs-klein);
	font-weight: var(--mv-gewicht-kop);
	color: var(--mv-kop-kleur);
	margin-bottom: var(--mv-ruimte-2);
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="search"],
input[type="date"],
select,
textarea {
	width: 100%;
	font-family: var(--mv-font-tekst);
	font-size: 1rem;
	line-height: 1.5;
	color: var(--mv-kop-kleur);
	background: var(--mv-bg);
	border: 1px solid var(--mv-rand-sterk);
	border-radius: var(--mv-radius-klein);
	padding: 0.75rem 1rem;
	min-height: 48px;
	transition: border-color var(--mv-overgang), box-shadow var(--mv-overgang);
}

textarea { min-height: 9rem; resize: vertical; }

input:focus,
select:focus,
textarea:focus {
	border-color: var(--mv-accent);
	box-shadow: 0 0 0 3px var(--mv-accent-zacht);
	outline: none;
}

input::placeholder,
textarea::placeholder { color: var(--mv-tekst-zacht); }

.mv-veld { margin-bottom: var(--mv-ruimte-4); }

.mv-veld__hulp {
	font-size: var(--mv-fs-klein);
	color: var(--mv-tekst-zacht);
	margin-top: var(--mv-ruimte-2);
}

.mv-veld--fout input,
.mv-veld--fout textarea { border-color: var(--mv-accent); }

.mv-veld__fout {
	font-size: var(--mv-fs-klein);
	color: var(--mv-accent);
	margin-top: var(--mv-ruimte-2);
}

.mv-akkoord {
	display: flex;
	align-items: flex-start;
	gap: var(--mv-ruimte-3);
	font-family: var(--mv-font-tekst);
	font-size: var(--mv-fs-klein);
	font-weight: var(--mv-gewicht-tekst);
	color: var(--mv-body-kleur);
	line-height: 1.5;
}

.mv-akkoord input[type="checkbox"] {
	flex: 0 0 auto;
	width: 1.15rem;
	height: 1.15rem;
	margin-top: 0.15rem;
	accent-color: var(--mv-accent);
}

.mv-honeypot {
	position: absolute !important;
	left: -9999px !important;
	opacity: 0;
	height: 0;
	overflow: hidden;
}

.mv-melding {
	border-radius: var(--mv-radius-vlak);
	padding: var(--mv-ruimte-4) var(--mv-ruimte-5);
	margin-bottom: var(--mv-ruimte-5);
	border-left: 3px solid var(--mv-accent);
	background: var(--mv-bg-zacht);
	color: var(--mv-kop-kleur);
}

.mv-faq {
	border-top: 1px solid var(--mv-rand);
}

.mv-faq details {
	border-bottom: 1px solid var(--mv-rand);
}

.mv-faq summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--mv-ruimte-4);
	cursor: pointer;
	list-style: none;
	font-family: var(--mv-font-kop);
	font-size: var(--mv-fs-h4);
	font-weight: var(--mv-gewicht-kop);
	color: var(--mv-kop-kleur);
	padding: var(--mv-ruimte-4) 0;
	min-height: 48px;
}

.mv-faq summary::-webkit-details-marker { display: none; }

.mv-faq summary::after {
	content: "+";
	font-size: 1.5em;
	line-height: 1;
	color: var(--mv-accent);
	transition: transform var(--mv-overgang);
	flex: 0 0 auto;
}

.mv-faq details[open] summary::after { transform: rotate(45deg); }

.mv-faq details > *:not(summary) {
	padding-bottom: var(--mv-ruimte-4);
}

.mv-cta {
	background: var(--mv-donker);
	color: #ffffff;
	border-radius: var(--mv-radius-vlak);
	padding: var(--mv-ruimte-6);
	text-align: center;
}

.mv-cta h2, .mv-cta h3 { color: #ffffff; }
.mv-cta p { color: rgba(255, 255, 255, 0.82); }

.mv-logostrip {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--mv-ruimte-6);
}

.mv-logostrip img {
	max-height: 34px;
	width: auto;
	opacity: 0.65;
	filter: grayscale(1);
	transition: opacity var(--mv-overgang), filter var(--mv-overgang);
}

.mv-logostrip img:hover {
	opacity: 1;
	filter: grayscale(0);
}

.mv-zoekformulier__veld {
	display: flex;
	max-width: 32rem;
}

.mv-zoekformulier__veld input[type="search"] {
	flex: 1 1 auto;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	border-right: 0;
}

.mv-zoekformulier__knop {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	min-height: 48px;
	padding: 0;
	border: 1px solid var(--mv-accent);
	border-radius: var(--mv-radius-klein);
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	background: var(--mv-accent);
	color: var(--mv-accent-contrast);
	cursor: pointer;
}

.mv-zoekformulier__knop:hover { background: var(--mv-accent-hover); border-color: var(--mv-accent-hover); }

.mv-zoekformulier__knop .mv-icoon { width: 1.1em; height: 1.1em; flex: 0 0 1.1em; min-width: 1.1em; display: block; }

.mv-zoekformulier__spraak {
	display: none;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 44px;
	min-height: 48px;
	padding: 0;
	border: 1px solid var(--mv-rand-sterk);
	border-right: 0;
	background: var(--mv-bg);
	color: var(--mv-tekst-zacht);
	cursor: pointer;
}
.mv-zoekformulier--spraak .mv-zoekformulier__spraak { display: inline-flex; }
.mv-zoekformulier__spraak:hover { color: var(--mv-accent); }
.mv-zoekformulier__spraak[aria-pressed="true"] { color: #ffffff; background: var(--mv-accent); border-color: var(--mv-accent); animation: mv-puls 1s ease-in-out infinite; }
.mv-zoekformulier__spraak .mv-icoon { width: 1.1em; height: 1.1em; flex: 0 0 1.1em; min-width: 1.1em; display: block; }
.mv-zoekformulier__hint { display: block; margin: 0.5em 0 0; font-size: var(--mv-fs-klein); color: var(--mv-tekst-zacht); }
@keyframes mv-puls { 50% { opacity: 0.7; } }
@media (prefers-reduced-motion: reduce) { .mv-zoekformulier__spraak[aria-pressed="true"] { animation: none; } }
