.mzi-camp-card {
	--mzi-red: #980102;
	--mzi-red-dark: #6f0001;
	--mzi-red-soft: #fff3f3;
	--mzi-ink: #202124;
	--mzi-muted: #65686d;
	--mzi-soft: #f7f4f2;
	--mzi-border: #ded8d5;
	--mzi-success: #19713a;
	color: var(--mzi-ink);
	box-sizing: border-box;
	margin-bottom: 28px;
	max-width: 1080px;
	min-width: 0;
	width: 100%;
}

/* De WooCommerce-tabel blijft technisch aanwezig, maar een kamp gebruikt één brede cel. */
body.mzi-only-registration-cart .woocommerce-cart-form .shop_table.cart tr.mzi-registration-row > td:not(.product-name) { display: none !important; }
body.mzi-only-registration-cart .woocommerce-cart-form .shop_table.cart tr.mzi-registration-row > td.product-name {
	background: transparent !important;
	border: 0 !important;
	box-sizing: border-box;
	padding: 0 !important;
	text-align: left !important;
	width: 100% !important;
}
body.mzi-only-registration-cart .woocommerce-cart-form .shop_table.cart tr.mzi-registration-row > td.product-name::before { content: none !important; display: none !important; }
body.mzi-only-registration-cart .woocommerce-cart-form .shop_table.cart tr.mzi-registration-row > td.product-name > a:empty { display: none !important; }
body.mzi-only-registration-cart .woocommerce-cart-form .shop_table.cart tr.mzi-registration-row { background: transparent !important; border: 0 !important; }
body.mzi-only-registration-cart .woocommerce-cart-form .shop_table.cart thead { display: none !important; }
body.mzi-only-registration-cart .woocommerce-cart-form .shop_table.cart,
body.mzi-only-registration-cart .woocommerce-cart-form .shop_table.cart tbody,
body.mzi-only-registration-cart .woocommerce-cart-form .shop_table.cart tr.mzi-registration-row { display: block; width: 100%; }
body.mzi-only-registration-cart .woocommerce-cart-form .shop_table.cart tr.mzi-registration-row > td.product-name {
	display: block !important;
	width: 100% !important;
}
body.mzi-only-registration-cart .woocommerce-cart-form .shop_table.cart { background: transparent !important; border: 0 !important; }
/* Houd de volledige inschrijvingsstap op dezelfde as als de kampkaarten. */
body.mzi-only-registration-cart .woocommerce {
	box-sizing: border-box;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 1080px !important;
	width: 100% !important;
}
body.mzi-only-registration-cart .woocommerce-cart-form {
	box-sizing: border-box;
	flex: 0 1 1080px !important;
	max-width: 1080px !important;
	min-width: 0 !important;
	width: 100% !important;
}
body.mzi-only-registration-cart .woocommerce-cart-form .shop_table.cart {
	max-width: 1080px !important;
	table-layout: fixed !important;
}
body.mzi-only-registration-cart .woocommerce-cart-form .shop_table.cart tbody,
body.mzi-only-registration-cart .woocommerce-cart-form .shop_table.cart tr.mzi-registration-row,
body.mzi-only-registration-cart .woocommerce-cart-form .shop_table.cart td.product-name {
	box-sizing: border-box;
	max-width: 1080px !important;
	min-width: 0 !important;
}
body.mzi-only-registration-cart .woocommerce-cart-form .shop_table.cart td.actions {
	display: none !important;
}
body.mzi-only-registration-cart .cart-collaterals {
	display: none !important;
}

.mzi-kicker {
	color: var(--mzi-red);
	display: block;
	font-size: .74rem;
	font-weight: 750;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.mzi-camp-header {
	align-items: center;
	background: linear-gradient(135deg, #fff 0%, var(--mzi-red-soft) 100%);
	border: 1px solid #ead5d5;
	border-radius: 16px;
	display: grid;
	gap: 18px;
	grid-template-columns: auto minmax(220px, 1fr) minmax(110px, auto) auto;
	margin-bottom: 18px;
	padding: 22px;
}
.mzi-camp-icon,
.mzi-participant-icon {
	align-items: center;
	background: var(--mzi-red);
	border-radius: 14px;
	color: #fff;
	display: flex;
	font-size: 1.35rem;
	font-weight: 800;
	height: 56px;
	justify-content: center;
	width: 56px;
}
.mzi-camp-main h2 {
	color: var(--mzi-ink);
	font-size: clamp(1.45rem, 2.6vw, 2rem);
	line-height: 1.1;
	margin: 4px 0 8px;
}
.mzi-camp-meta { color: var(--mzi-muted); display: flex; flex-wrap: wrap; font-size: .88rem; gap: 6px 18px; }
.mzi-camp-surcharge { color: var(--mzi-red); font-weight: 650; }
.mzi-camp-surcharge strong { color: inherit; }
.mzi-camp-total { display: grid; gap: 2px; text-align: right; }
.mzi-camp-total span { color: var(--mzi-muted); font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.mzi-camp-total strong { color: var(--mzi-red); font-size: 1.35rem; white-space: nowrap; }
.mzi-camp-actions { align-items: stretch; display: flex; flex-direction: column; gap: 7px; }
.mzi-camp-actions .mzi-add-participant,
.woocommerce-cart .cart_totals .checkout-button {
	background: var(--mzi-red, #980102) !important;
	border: 1.5px solid var(--mzi-red, #980102) !important;
	border-radius: 7px !important;
	box-shadow: none !important;
	color: #fff !important;
	font-weight: 700 !important;
	min-height: 44px;
	padding: 10px 15px !important;
	text-transform: none !important;
}
.mzi-camp-actions .mzi-add-participant:hover,
.mzi-camp-actions .mzi-add-participant:focus,
.woocommerce-cart .cart_totals .checkout-button:hover,
.woocommerce-cart .cart_totals .checkout-button:focus { background: var(--mzi-red-dark, #6f0001) !important; border-color: var(--mzi-red-dark, #6f0001) !important; }
.mzi-remove-camp { color: var(--mzi-red); font-size: .77rem; font-weight: 650; text-align: center; text-decoration: none; }
.mzi-remove-camp:hover { color: var(--mzi-red-dark); text-decoration: underline; }

.mzi-participants { display: grid; gap: 14px; max-width: 1080px; min-width: 0; width: 100%; }
.mzi-participant-card { background: #fff; border: 1px solid var(--mzi-border); border-radius: 14px; box-sizing: border-box; max-width: 1080px; min-width: 0; overflow: visible; position: relative; width: 100%; }
.mzi-card-toggle {
	all: unset;
	align-items: center;
	background: #fff;
	box-sizing: border-box;
	cursor: pointer;
	display: grid;
	gap: 14px;
	grid-template-columns: auto minmax(0, 1fr) minmax(120px, 165px) auto;
	padding: 16px 18px;
	width: 100%;
}
.mzi-card-toggle:hover { background: var(--mzi-soft); }
.mzi-card-toggle:focus-visible { outline: 3px solid rgba(152, 1, 2, .28); outline-offset: -3px; }
.mzi-participant-icon { border-radius: 11px; font-size: 1.1rem; height: 46px; width: 46px; }
.mzi-participant-main { display: grid; gap: 3px; min-width: 0; }
.mzi-card-title { color: var(--mzi-ink); font-size: 1.05rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mzi-participant-surcharge { color: var(--mzi-red); font-size: .76rem; font-weight: 700; }
.mzi-participant-error-status { color: #9a5200; font-size: .72rem; font-weight: 800; }
.mzi-participant-card.has-errors { border-color: #e4a44e; box-shadow: 0 0 0 2px rgba(196, 105, 0, .08); }
.mzi-completion { align-items: flex-end; display: flex; flex-direction: column; }
.mzi-completion > strong { color: var(--mzi-red); font-size: 1.15rem; line-height: 1; }
.mzi-completion > small { color: var(--mzi-muted); font-size: .66rem; letter-spacing: .04em; margin-top: 2px; text-transform: uppercase; }
.mzi-completion > i { background: #eadfdf; border-radius: 999px; display: block; height: 6px; margin-top: 7px; overflow: hidden; width: 100%; }
.mzi-completion > i b { background: var(--mzi-red); border-radius: inherit; display: block; height: 100%; transition: width .2s ease; }
.mzi-chevron { color: var(--mzi-red); font-size: 1.4rem; transition: transform .18s ease; }
.mzi-card-toggle[aria-expanded="true"] .mzi-chevron { transform: rotate(180deg); }
.mzi-card-body { border-top: 1px solid #eee8e5; padding: 18px; }
.mzi-card-body,
.mzi-tabs,
.mzi-tab-panel,
.mzi-fields,
.mzi-form-row { box-sizing: border-box; max-width: 100%; min-width: 0; }
.mzi-card-body[hidden] { display: none !important; }
.mzi-card-footer { align-items: center; display: flex; gap: 16px; justify-content: space-between; margin-top: 16px; min-height: 22px; }
.mzi-save-state { color: var(--mzi-muted); font-size: .72rem; margin-left: auto; min-height: 18px; text-align: right; }

.mzi-copy-contact {
	background: #fff !important;
	border: 1.5px solid var(--mzi-red) !important;
	border-radius: 7px !important;
	box-shadow: none !important;
	color: var(--mzi-red) !important;
	font-weight: 700 !important;
	margin: 0 0 12px !important;
	min-height: 42px;
	padding: 9px 13px !important;
	text-transform: none !important;
}
.mzi-copy-contact:hover { background: var(--mzi-red) !important; color: #fff !important; }

.mzi-previous-copy { background: var(--mzi-soft); border: 1px solid var(--mzi-border); border-radius: 12px; display: grid; gap: 12px; margin: 0 0 14px; padding: 14px; }
.mzi-previous-copy-intro { align-items: center; display: grid; gap: 11px; grid-template-columns: auto minmax(0,1fr); }
.mzi-previous-copy-intro > div { display: grid; gap: 3px; }
.mzi-previous-copy-intro strong { color: var(--mzi-ink); font-size: .9rem; }
.mzi-previous-copy-intro small { color: var(--mzi-muted); font-size: .73rem; line-height: 1.4; }
.mzi-previous-copy-icon { align-items: center; background: var(--mzi-red); border-radius: 8px; color: #fff; display: flex; font-size: 1.1rem; font-weight: 800; height: 38px; justify-content: center; width: 38px; }
.mzi-previous-copy-actions { align-items: center; display: grid; gap: 10px; grid-template-columns: minmax(0,1fr) minmax(180px, auto); }
.mzi-previous-copy-actions label { display: block; margin: 0 !important; min-width: 0; }
.mzi-previous-copy-actions .mzi-custom-select { margin: 0; }
.mzi-previous-copy-actions .mzi-select-trigger { font-size: .86rem !important; min-height: 44px !important; padding: 9px 12px !important; }
.mzi-previous-copy-actions select { background-color: #fff; border: 1px solid var(--mzi-border); border-radius: 7px; box-sizing: border-box; font-size: .82rem; height: 42px; margin: 0; max-width: 100%; width: 100%; }
.mzi-previous-copy-actions .button { align-items: center !important; background: #fff !important; border: 1.5px solid var(--mzi-red) !important; border-radius: 7px !important; box-shadow: none !important; box-sizing: border-box !important; color: var(--mzi-red) !important; display: inline-flex !important; font-weight: 700 !important; height: 44px !important; justify-content: center !important; margin: 0 !important; min-height: 44px !important; padding: 8px 15px !important; text-transform: none !important; white-space: nowrap; }
.mzi-previous-copy-actions .button:hover:not(:disabled) { background: var(--mzi-red) !important; color: #fff !important; }
.mzi-previous-copy-actions .button:disabled { border-color: #c8bebc !important; color: #918987 !important; opacity: .75; }
.mzi-previous-copy-status { color: var(--mzi-muted); font-size: .74rem; min-height: 1em; }
.mzi-previous-copy-status.is-success { color: #176b34; }
.mzi-previous-copy-status.is-error { color: #a41515; }

.mzi-tabs {
	background: #fff;
	border: 1px solid var(--mzi-border);
	border-radius: 14px;
	display: flex;
	gap: 2px;
	margin: 0 0 16px;
	overflow-x: auto;
	padding: 7px;
	scrollbar-width: thin;
}
.mzi-tab {
	all: unset;
	align-items: center;
	background: transparent;
	border-radius: 9px;
	box-sizing: border-box;
	color: var(--mzi-ink);
	cursor: pointer;
	display: flex;
	flex: 1 0 145px;
	font: inherit;
	gap: 9px;
	min-height: 58px;
	padding: 8px 10px;
	text-align: left;
}
.mzi-tab:hover { background: var(--mzi-soft); }
.mzi-tab:focus-visible { outline: 3px solid rgba(152, 1, 2, .28); outline-offset: 1px; }
.mzi-tab.is-active { background: var(--mzi-red); color: #fff; }
.mzi-tab-number { align-items: center; background: #f0e7e5; border-radius: 999px; color: var(--mzi-ink); display: flex; flex: 0 0 28px; font-size: .78rem; font-weight: 800; height: 28px; justify-content: center; }
.mzi-tab.is-complete:not(.is-active) .mzi-tab-number { background: #def2e4; color: var(--mzi-success); }
.mzi-tab.is-incomplete:not(.is-active) { background: #fff7ea; box-shadow: inset 0 0 0 1px #edbd79; color: #74410d; }
.mzi-tab.is-incomplete:not(.is-active) .mzi-tab-number { background: #f6d49d; color: #78420b; }
.mzi-tab.is-incomplete:not(.is-active) .mzi-tab-copy small { color: #985708; }
.mzi-tab.is-active .mzi-tab-number { background: #fff; color: var(--mzi-red); }
.mzi-tab-copy { display: grid; line-height: 1.15; }
.mzi-tab-copy strong { font-size: .82rem; }
.mzi-tab-copy small { color: var(--mzi-muted); font-size: .66rem; margin-top: 4px; }
.mzi-tab.is-active .mzi-tab-copy small { color: rgba(255, 255, 255, .8); }

.mzi-validation-summary {
	background: #fff8ec;
	border: 1px solid #efbd70;
	border-left: 5px solid #b76400;
	border-radius: 11px;
	box-sizing: border-box;
	color: #663b0d;
	margin: 0 0 16px;
	padding: 15px 17px;
}
.mzi-validation-summary:focus { outline: 3px solid rgba(183, 100, 0, .22); outline-offset: 2px; }
.mzi-validation-summary > strong { display: block; font-size: .95rem; margin-bottom: 3px; }
.mzi-validation-summary > p { color: #7b4a17; font-size: .8rem; margin: 0 0 8px; }
.mzi-validation-summary ul { display: grid; gap: 4px; list-style: none; margin: 0; padding: 0; }
.mzi-validation-jump {
	appearance: none;
	background: transparent;
	border: 0;
	color: #8a4700;
	cursor: pointer;
	font: inherit;
	font-size: .8rem;
	font-weight: 700;
	line-height: 1.4;
	padding: 2px 0;
	text-align: left;
	text-decoration: underline;
}
.mzi-validation-jump:hover,
.mzi-validation-jump:focus { color: #5f3000; }

.mzi-tab-panel { display: none; }
.mzi-tab-panel.is-active { background: #fff; border: 1px solid var(--mzi-border); border-radius: 14px; display: block; padding: clamp(18px, 3vw, 28px); }
.mzi-address-mode { background: var(--mzi-soft); border: 1px solid var(--mzi-border); border-radius: 11px; margin: 0 0 22px; padding: 13px 15px; }
.mzi-address-mode label { align-items: flex-start; cursor: pointer; display: flex; gap: 11px; margin: 0; }
.mzi-address-mode input { accent-color: var(--mzi-red); flex: 0 0 auto; height: 18px; margin: 2px 0 0; width: 18px; }
.mzi-address-mode span { display: grid; gap: 3px; }
.mzi-address-mode strong { color: var(--mzi-ink); font-size: .86rem; line-height: 1.35; }
.mzi-address-mode small { color: var(--mzi-muted); font-size: .75rem; line-height: 1.4; }
.mzi-address-mode.is-different { background: #fff8f7; border-color: rgba(152, 1, 2, .24); }
.mzi-participant-card[data-different-address="0"] .mzi-address-field { display: none !important; }
.mzi-form-row.mzi-address-row-hidden { display: none; }
.mzi-form-row.is-two-columns.mzi-address-row-single { grid-template-columns: minmax(0, 1fr); }
.mzi-fields { display: grid; gap: 22px; }
.mzi-form-row { display: grid; gap: 22px 24px; grid-template-columns: 1fr; }
.mzi-form-row.is-two-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mzi-field { display: flex; flex-direction: column; gap: 0; min-width: 0; transition: outline-color .16s ease; }
.mzi-width-full { grid-column: 1 / -1; }
.mzi-field > label { color: var(--mzi-ink); display: block; font-size: .92rem; font-weight: 700; line-height: 1.35; margin-bottom: 8px; }
.mzi-field .required { color: var(--mzi-red); }
.mzi-field input[type="text"],
.mzi-field input[type="email"],
.mzi-field input[type="tel"],
.mzi-field input[type="number"],
.mzi-field input[type="date"],
.mzi-field select,
.mzi-field textarea {
	background: #fff !important;
	border: 1px solid #cfc9c6 !important;
	border-radius: 9px !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	color: var(--mzi-ink) !important;
	font-size: 16px !important;
	height: auto !important;
	line-height: 1.4 !important;
	margin: 0 !important;
	min-height: 48px !important;
	padding: 11px 13px !important;
	width: 100% !important;
}
.mzi-field textarea { min-height: 112px !important; resize: vertical; }
.mzi-field input:focus,
.mzi-field select:focus,
.mzi-field textarea:focus { border-color: var(--mzi-red) !important; box-shadow: 0 0 0 3px rgba(152, 1, 2, .11) !important; outline: 0; }
.mzi-field input:disabled,
.mzi-field select:disabled,
.mzi-field textarea:disabled { background: #f1efee !important; color: #6e6e6e !important; }
.mzi-field > small { color: var(--mzi-muted); display: block; font-size: .78rem; line-height: 1.35; margin-top: 6px; }
.mzi-field input[type="date"] { max-width: 360px; }
.mzi-date-hint { max-width: 520px; }

.mzi-field select.mzi-native-select,
.mzi-previous-copy select.mzi-native-select {
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	height: 1px !important;
	min-height: 1px !important;
	overflow: hidden !important;
	position: absolute !important;
	white-space: nowrap !important;
	width: 1px !important;
}
.mzi-custom-select { min-width: 0; position: relative; width: 100%; }
/* Salient activeert Select2 ook op onze verborgen bronselect. Alleen onze eigen lijst mag zichtbaar zijn. */
body.mzi-only-registration-cart .mzi-custom-select > .fancy-select-wrap,
body.mzi-only-registration-cart .mzi-custom-select > .select2-container { display: none !important; }
.mzi-select-trigger {
	align-items: center !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	background: #fff !important;
	border: 1px solid #cfc9c6 !important;
	border-radius: 9px !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	color: var(--mzi-ink) !important;
	cursor: pointer !important;
	display: flex !important;
	font: inherit !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	justify-content: space-between !important;
	line-height: 1.4 !important;
	margin: 0 !important;
	min-height: 48px !important;
	padding: 11px 13px !important;
	text-align: left !important;
	text-transform: none !important;
	width: 100% !important;
}
.mzi-select-trigger:hover { border-color: #a9a09c !important; }
.mzi-select-trigger:focus { border-color: var(--mzi-red) !important; box-shadow: 0 0 0 3px rgba(152,1,2,.11) !important; outline: 0 !important; }
.mzi-select-trigger:disabled { background: #f1efee !important; color: #6e6e6e !important; cursor: not-allowed !important; }
.mzi-select-arrow { color: var(--mzi-red); font-size: 1.25rem; line-height: 1; transition: transform .16s ease; }
.mzi-custom-select.is-open .mzi-select-arrow { transform: rotate(180deg); }
.mzi-select-menu {
	background: #fff;
	border: 1px solid var(--mzi-border);
	border-radius: 9px;
	box-shadow: 0 10px 28px rgba(32,33,36,.16);
	display: none;
	left: 0;
	margin-top: 6px;
	max-height: min(320px, 48vh);
	overflow-y: auto;
	padding: 6px;
	position: absolute;
	top: 100%;
	width: 100%;
	z-index: 1000;
}
.mzi-custom-select.is-open .mzi-select-menu { display: block; }
.mzi-instrument-select.is-open .mzi-select-menu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mzi-instrument-select .mzi-select-group-label { grid-column: 1 / -1; padding: 8px 9px 3px; }
.mzi-instrument-select .mzi-select-option { padding: 7px 9px !important; }
.mzi-instrument-select .mzi-select-option[data-value=""] { grid-column: 1 / -1; }
.mzi-select-option {
	appearance: none !important;
	-webkit-appearance: none !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 6px !important;
	box-shadow: none !important;
	color: var(--mzi-ink) !important;
	cursor: pointer !important;
	display: block !important;
	font: inherit !important;
	font-size: .94rem !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	margin: 0 !important;
	min-height: 0 !important;
	padding: 10px 11px !important;
	text-align: left !important;
	text-transform: none !important;
	width: 100% !important;
}
.mzi-select-option:hover,
.mzi-select-option:focus { background: var(--mzi-soft) !important; outline: 0 !important; }
.mzi-select-option.is-selected { background: var(--mzi-red-soft) !important; color: var(--mzi-red-dark) !important; font-weight: 700 !important; }
.mzi-select-group-label { color: var(--mzi-red); font-size: .7rem; font-weight: 800; letter-spacing: .06em; padding: 10px 11px 4px; text-transform: uppercase; }

.mzi-options { display: grid; gap: 9px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mzi-options.mzi-options-count-1 { grid-template-columns: minmax(0, 1fr); max-width: 360px; }
.mzi-options.mzi-options-count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 560px; }
.mzi-options label { align-items: center; background: #fff; border: 1px solid #d4cecb; border-radius: 9px; box-sizing: border-box; cursor: pointer; display: flex !important; font-weight: 500 !important; gap: 8px; height: 100%; line-height: 1.25; margin: 0 !important; min-height: 48px; padding: 9px 13px; }
.mzi-options label:hover { border-color: #a9a09c; }
.mzi-options label:has(input:checked) { background: var(--mzi-red-soft); border-color: var(--mzi-red); color: var(--mzi-red-dark); }
.mzi-options input { accent-color: var(--mzi-red); flex: 0 0 auto; height: 18px !important; margin: 0 !important; min-height: 0 !important; width: 18px !important; }

.mzi-date-selects { display: grid; gap: 10px; grid-template-columns: minmax(0, .75fr) minmax(0, 1.35fr) minmax(0, 1fr); max-width: 520px; min-width: 0; width: 100%; }
.mzi-date-selects label { display: block; margin: 0 !important; min-width: 0; width: 100%; }
.mzi-date-selects label > span { color: var(--mzi-muted); display: block; font-size: .72rem; font-weight: 700; letter-spacing: .02em; margin-bottom: 5px; text-transform: uppercase; }
.mzi-date-selects .fancy-select-wrap,
.mzi-date-selects .select2-container { box-sizing: border-box !important; max-width: 100% !important; min-width: 0 !important; width: 100% !important; }
.mzi-date-selects select.select2-hidden-accessible {
	border: 0 !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	height: 1px !important;
	margin: -1px !important;
	min-height: 1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	white-space: nowrap !important;
	width: 1px !important;
}

.mzi-field.is-missing { border-radius: 9px; outline: 4px solid #fff0f0; outline-offset: 4px; }
.mzi-field.is-missing > label { color: #941b1b; }
.mzi-field.is-missing input[type="text"],
.mzi-field.is-missing input[type="email"],
.mzi-field.is-missing input[type="tel"],
.mzi-field.is-missing input[type="number"],
.mzi-field.is-missing select,
.mzi-field.is-missing textarea,
.mzi-field.is-missing .mzi-options label { border-color: #d98b8b !important; }
.mzi-field-error { color: #a00000; display: block; font-size: .78rem; font-weight: 700; margin-top: 6px; }
.mzi-field-error[hidden] { display: none !important; }

.mzi-age-warning,
.mzi-care-warning,
.mzi-choice-review { background: #fff4d7; border-left: 3px solid #d99b00; border-radius: 0 7px 7px 0; font-size: .86rem; margin-top: 16px; padding: 9px 11px; }
.mzi-choice-review { display: grid; gap: 2px; }
.mzi-remove-participant {
	appearance: none !important;
	-webkit-appearance: none !important;
	background: transparent !important;
	background-color: transparent !important;
	border: 0 !important;
	border-color: transparent !important;
	border-style: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--mzi-red) !important;
	cursor: pointer !important;
	display: inline-block !important;
	font: inherit !important;
	font-size: .78rem !important;
	font-weight: 650 !important;
	line-height: 1.4 !important;
	height: auto !important;
	margin: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	text-decoration: none !important;
	text-transform: none !important;
	width: auto !important;
}
.mzi-remove-participant:hover,
.mzi-remove-participant:focus { background: transparent !important; color: var(--mzi-red-dark) !important; text-decoration: underline !important; }
.mzi-remove-participant:focus-visible { outline: 2px solid rgba(152, 1, 2, .35) !important; outline-offset: 3px !important; }

/* De standaard WooCommerce-samenvatting blijft herkenbaar, maar sluit visueel aan. */
.woocommerce-cart .cart_totals {
	--mzi-red: #980102;
	--mzi-red-dark: #6f0001;
}
.woocommerce-cart .cart_totals > h2,
.woocommerce-cart .cart_totals .shop_table { border-color: #ded8d5 !important; }
.woocommerce-cart .cart_totals .shop_table { border-radius: 12px !important; overflow: hidden; }

/* De afrekening vormt visueel de laatste stap van dezelfde inschrijving. */
body.mzi-registration-checkout {
	--mzi-red: #980102;
	--mzi-red-dark: #6f0001;
	--mzi-red-soft: #fff3f3;
	--mzi-ink: #202124;
	--mzi-muted: #65686d;
	--mzi-soft: #f7f4f2;
	--mzi-border: #ded8d5;
}
.mzi-inline-checkout {
	box-sizing: border-box;
	margin: 30px 0 0;
	max-width: 1080px;
	width: 100%;
}
.mzi-inline-checkout-head {
	background: linear-gradient(135deg, #fff 0%, var(--mzi-red-soft) 100%);
	border: 1px solid #ead5d5;
	border-radius: 16px;
	box-sizing: border-box;
	margin-bottom: 18px;
	padding: 22px 26px;
}
.mzi-inline-checkout-head h2 { color: var(--mzi-ink); font-size: clamp(1.45rem, 2.4vw, 1.9rem); line-height: 1.15; margin: 5px 0 7px; }
.mzi-inline-checkout-head p { color: var(--mzi-muted); font-size: .88rem; line-height: 1.5; margin: 0; }
.mzi-inline-checkout > .woocommerce { max-width: none !important; width: 100% !important; }
.mzi-checkout-overview { box-sizing: border-box; color: var(--mzi-ink); margin: 0 0 28px; width: 100%; }
.mzi-checkout-overview-head {
	align-items: center;
	background: linear-gradient(135deg, #fff 0%, var(--mzi-red-soft) 100%);
	border: 1px solid #ead5d5;
	border-radius: 16px;
	display: grid;
	gap: 22px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: 26px 28px;
}
.mzi-checkout-overview-head h2 { color: var(--mzi-ink); font-size: clamp(1.55rem, 2.5vw, 2.05rem); line-height: 1.15; margin: 5px 0 7px; }
.mzi-checkout-overview-head p { color: var(--mzi-muted); font-size: .9rem; line-height: 1.55; margin: 0; max-width: 720px; }
.mzi-checkout-edit {
	background: var(--mzi-red) !important;
	border: 1.5px solid var(--mzi-red) !important;
	border-radius: 8px !important;
	color: #fff !important;
	display: inline-flex;
	font-size: .84rem;
	font-weight: 750;
	justify-content: center;
	line-height: 1.25;
	padding: 12px 16px;
	text-align: center;
	text-decoration: none !important;
}
.mzi-checkout-edit:hover,
.mzi-checkout-edit:focus { background: var(--mzi-red-dark) !important; border-color: var(--mzi-red-dark) !important; }
.mzi-checkout-camps { display: grid; gap: 14px; margin-top: 14px; }
.mzi-checkout-camp {
	align-items: center;
	background: #fff;
	border: 1px solid var(--mzi-border);
	border-radius: 14px;
	box-sizing: border-box;
	display: grid;
	gap: 18px;
	grid-template-columns: auto minmax(190px, .7fr) minmax(0, 1.3fr);
	padding: 18px 20px;
}
.mzi-checkout-camp-icon {
	align-items: center;
	background: var(--mzi-red);
	border-radius: 11px;
	color: #fff;
	display: flex;
	font-size: 1.1rem;
	font-weight: 800;
	height: 48px;
	justify-content: center;
	width: 48px;
}
.mzi-checkout-camp-main { min-width: 0; }
.mzi-checkout-camp-main h3 { color: var(--mzi-ink); font-size: 1.12rem; line-height: 1.2; margin: 3px 0 4px; }
.mzi-checkout-camp-main p { color: var(--mzi-muted); font-size: .8rem; margin: 0; }
.mzi-checkout-participants { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; list-style: none !important; margin: 0 !important; padding: 0 !important; }
.mzi-checkout-participants li {
	align-items: center;
	background: var(--mzi-soft);
	border: 1px solid #e8e1de;
	border-radius: 10px;
	display: grid;
	gap: 0 9px;
	grid-template-columns: auto minmax(0, 1fr);
	min-width: 180px;
	padding: 8px 10px;
}
.mzi-checkout-participants li > span { align-items: center; background: var(--mzi-red); border-radius: 8px; color: #fff; display: flex; font-size: .78rem; font-weight: 800; grid-row: 1 / 3; height: 32px; justify-content: center; width: 32px; }
.mzi-checkout-participants strong { color: var(--mzi-ink); font-size: .82rem; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mzi-checkout-participants small { color: #19713a; font-size: .66rem; line-height: 1.2; }

body.mzi-registration-checkout form.checkout #customer_details {
	align-items: start;
	display: grid !important;
	gap: 28px;
	grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr);
	width: 100% !important;
}
body.mzi-registration-checkout form.checkout #customer_details::before,
body.mzi-registration-checkout form.checkout #customer_details::after {
	content: none !important;
	display: none !important;
}
body.mzi-registration-checkout form.checkout #customer_details > .col-1,
body.mzi-registration-checkout form.checkout #customer_details > .col-2 {
	background: #fff;
	border: 1px solid var(--mzi-border);
	border-radius: 16px;
	box-sizing: border-box;
	float: none !important;
	margin: 0 !important;
	padding: 26px !important;
	width: 100% !important;
}
body.mzi-registration-checkout form.checkout #customer_details > .col-2 { position: sticky; top: 24px; }
body.mzi-registration-checkout .woocommerce-billing-fields,
body.mzi-registration-checkout .woocommerce-additional-fields { padding: 0 !important; }
body.mzi-registration-checkout .woocommerce-additional-fields { border-top: 1px solid #eee8e5; margin-top: 26px; padding-top: 24px !important; }
body.mzi-registration-checkout #customer_details h3,
body.mzi-registration-checkout #order_review_heading { color: var(--mzi-ink); font-size: 1.35rem; line-height: 1.2; margin: 0 0 20px; }
body.mzi-registration-checkout #order_review { margin-top: 0 !important; width: 100% !important; }
body.mzi-registration-checkout #order_review .woocommerce-checkout-review-order-table,
body.mzi-registration-checkout #order_review .woocommerce-checkout-review-order-table > .product-container {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	max-width: 100% !important;
	padding: 0 !important;
	width: 100% !important;
}
body.mzi-registration-checkout #order_review table.shop_table {
	background: transparent !important;
	border: 0 !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	width: 100% !important;
}
body.mzi-registration-checkout #order_review table.shop_table tbody,
body.mzi-registration-checkout #order_review table.shop_table tr.cart_item,
body.mzi-registration-checkout #order_review table.shop_table tr.cart_item > td {
	box-sizing: border-box !important;
	max-width: 100% !important;
	width: 100% !important;
}
body.mzi-registration-checkout #customer_details .form-row { margin-bottom: 15px !important; padding: 0 !important; }
body.mzi-registration-checkout #customer_details .form-row label { color: var(--mzi-ink); font-size: .82rem; font-weight: 700; margin-bottom: 6px; }
body.mzi-registration-checkout #customer_details input.input-text,
body.mzi-registration-checkout #customer_details textarea {
	background: #fff !important;
	border: 1px solid #cfc9c6 !important;
	border-radius: 9px !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	font-size: 16px !important;
	min-height: 48px !important;
	padding: 11px 13px !important;
}
body.mzi-registration-checkout #customer_details input.input-text:focus,
body.mzi-registration-checkout #customer_details textarea:focus,
body.mzi-registration-checkout #customer_details .select2-selection:focus { border-color: var(--mzi-red) !important; box-shadow: 0 0 0 3px rgba(152,1,2,.11) !important; outline: 0 !important; }
body.mzi-registration-checkout #customer_details .select2-container .select2-selection--single { border: 1px solid #cfc9c6 !important; border-radius: 9px !important; min-height: 48px !important; }
body.mzi-registration-checkout #customer_details .select2-selection__rendered { line-height: 46px !important; padding-left: 13px !important; }
body.mzi-registration-checkout #customer_details .select2-selection__arrow { height: 46px !important; }
body.mzi-registration-checkout #order_review .cart_item.mzi-registration-row,
body.mzi-registration-checkout #order_review .cart_item.mzi-registration-row > td,
body.mzi-registration-checkout #order_review .cart_item.mzi-registration-row .product-container {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}
body.mzi-registration-checkout #order_review .cart_item.mzi-registration-row { padding: 0 !important; }
body.mzi-registration-checkout #order_review .product-container > .cart_item.mzi-registration-row {
	box-sizing: border-box !important;
	margin: 0 0 12px !important;
	max-width: 100% !important;
	width: 100% !important;
}
body.mzi-registration-checkout #order_review .cart_item.mzi-registration-row > td { padding: 0 !important; }
body.mzi-registration-checkout #order_review .cart_item.mzi-registration-row .product-container { padding: 0 !important; }
body.mzi-registration-checkout #order_review .cart_item.mzi-registration-row .product-image { display: none !important; }
body.mzi-registration-checkout #order_review .cart_item.mzi-registration-row .product-info {
	align-items: center !important;
	background: var(--mzi-soft) !important;
	border: 1px solid #e8e1de !important;
	border-radius: 12px !important;
	box-sizing: border-box !important;
	display: grid !important;
	float: none !important;
	gap: 6px 16px !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	padding: 14px !important;
	width: 100% !important;
}
body.mzi-registration-checkout #order_review .cart_item.mzi-registration-row .product-info > .inner {
	grid-column: 1;
	grid-row: 1 / span 2;
	min-width: 0;
}
body.mzi-registration-checkout #order_review .cart_item.mzi-registration-row .product-info h4 { line-height: 1.25 !important; margin: 0 !important; }
body.mzi-registration-checkout #order_review .cart_item.mzi-registration-row .product-info .product-quantity { display: block; font-size: .82rem; font-weight: 500; margin-top: 3px; }
body.mzi-registration-checkout #order_review .cart_item.mzi-registration-row .product-info > .amount {
	align-self: start;
	display: block !important;
	grid-column: 2;
	grid-row: 1;
	justify-self: end;
	text-align: right !important;
	white-space: nowrap;
}
body.mzi-registration-checkout #order_review .cart_item.mzi-registration-row .product-info > .amount bdi,
body.mzi-registration-checkout #order_review .cart_item.mzi-registration-row .product-info > .amount .woocommerce-Price-currencySymbol,
body.mzi-registration-checkout #order_review .mzi-checkout-price-row .woocommerce-Price-amount,
body.mzi-registration-checkout #order_review .mzi-checkout-price-row bdi,
body.mzi-registration-checkout #order_review .mzi-checkout-price-row .woocommerce-Price-currencySymbol {
	display: inline !important;
	white-space: nowrap !important;
}
body.mzi-registration-checkout #order_review .mzi-checkout-price-breakdown {
	display: grid;
	gap: 5px;
	grid-column: 2;
	grid-row: 1;
	min-width: 190px;
	width: 100%;
}
body.mzi-registration-checkout #order_review .mzi-checkout-price-row {
	align-items: baseline;
	display: flex;
	gap: 12px;
	justify-content: space-between;
}
body.mzi-registration-checkout #order_review .mzi-checkout-price-row small { color: var(--mzi-muted); font-size: .69rem; line-height: 1.25; text-align: left; }
body.mzi-registration-checkout #order_review .mzi-checkout-price-row small em { color: var(--mzi-muted); display: block; font-size: .62rem; font-style: normal; margin-top: 2px; }
body.mzi-registration-checkout #order_review .mzi-checkout-price-row strong { color: var(--mzi-ink); font-size: .86rem; font-weight: 700; white-space: nowrap; }
body.mzi-registration-checkout #order_review .mzi-checkout-price-row.is-surcharge strong { color: var(--mzi-red); }
body.mzi-registration-checkout #order_review .cart_item.mzi-registration-row .product-info > br { display: none !important; }
body.mzi-registration-checkout #order_review .cart_item.mzi-registration-row .product-info > small {
	align-items: baseline;
	border-top: 1px solid var(--mzi-border);
	color: var(--mzi-muted);
	display: flex !important;
	gap: 4px 7px;
	grid-column: 2;
	grid-row: 2;
	justify-content: flex-end;
	margin-top: 4px;
	padding-top: 7px;
	text-align: right;
	white-space: nowrap;
}
body.mzi-registration-checkout #order_review .cart-subtotal.mzi-hidden-matching-subtotal { display: none !important; }
body.mzi-registration-checkout #order_review .order-review { border-bottom: 1px solid var(--mzi-border) !important; border-top: 1px solid var(--mzi-border) !important; margin: 18px 0 !important; }
body.mzi-registration-checkout #order_review .order-total th,
body.mzi-registration-checkout #order_review .order-total td { color: var(--mzi-ink) !important; font-size: 1.15rem !important; }
body.mzi-registration-checkout .mzkb-payment-choice { background: var(--mzi-soft); border: 1px solid var(--mzi-border); border-radius: 12px; margin: 0 0 18px; padding: 16px; }
body.mzi-registration-checkout .mzkb-payment-choice,
body.mzi-registration-checkout .mzkb-payment-options,
body.mzi-registration-checkout .mzkb-payment-option { box-sizing: border-box !important; max-width: 100% !important; width: 100% !important; }
body.mzi-registration-checkout #payment .payment_methods { margin: 0 !important; }
body.mzi-registration-checkout #payment .wc_payment_method { border: 1px solid var(--mzi-border) !important; border-radius: 10px; margin-bottom: 10px !important; padding: 13px !important; }
body.mzi-registration-checkout #payment .payment_box { background: var(--mzi-soft) !important; border-radius: 8px !important; color: var(--mzi-muted) !important; font-size: .78rem !important; line-height: 1.5 !important; margin: 10px 0 0 !important; padding: 12px !important; }
body.mzi-registration-checkout #place_order {
	background: var(--mzi-red) !important;
	border: 1.5px solid var(--mzi-red) !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	color: #fff !important;
	font-size: .92rem !important;
	font-weight: 750 !important;
	min-height: 50px !important;
	padding: 12px 18px !important;
	text-transform: none !important;
	width: 100% !important;
}
body.mzi-registration-checkout #place_order:hover,
body.mzi-registration-checkout #place_order:focus { background: var(--mzi-red-dark) !important; border-color: var(--mzi-red-dark) !important; }

@media (max-width: 960px) {
	.mzi-camp-header { grid-template-columns: auto minmax(0, 1fr) auto; }
	.mzi-camp-actions { align-items: flex-end; grid-column: 2 / -1; justify-self: end; }
	body.mzi-registration-checkout form.checkout #customer_details { grid-template-columns: 1fr; }
	body.mzi-registration-checkout form.checkout #customer_details > .col-2 { position: static; }
	.mzi-checkout-camp { align-items: start; grid-template-columns: auto minmax(0, 1fr); }
	.mzi-checkout-participants { grid-column: 1 / -1; justify-content: flex-start; }
	.mzi-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
	.mzi-camp-header { gap: 13px; grid-template-columns: auto minmax(0, 1fr); padding: 16px; }
	.mzi-camp-icon { border-radius: 11px; height: 48px; width: 48px; }
	.mzi-camp-total { grid-column: 1 / -1; text-align: left; }
	.mzi-camp-actions { align-items: stretch; grid-column: 1 / -1; justify-self: stretch; }
	.mzi-card-toggle { grid-template-columns: auto minmax(0, 1fr) auto; padding: 14px; }
	.mzi-completion { align-items: stretch; grid-column: 1 / -1; }
	.mzi-card-body { padding: 14px; }
	.mzi-fields { grid-template-columns: 1fr; }
	.mzi-form-row.is-two-columns { grid-template-columns: 1fr; }
	.mzi-width-half { grid-column: 1; }
	.mzi-tab-panel.is-active { padding: 18px 14px; }
	.mzi-checkout-overview-head { grid-template-columns: 1fr; padding: 21px; }
	.mzi-checkout-edit { justify-self: start; }
	body.mzi-registration-checkout form.checkout #customer_details > .col-1,
	body.mzi-registration-checkout form.checkout #customer_details > .col-2 { padding: 20px !important; }
}

@media (max-width: 560px) {
	.mzi-camp-main h2 { font-size: 1.4rem; }
	.mzi-previous-copy-actions { grid-template-columns: 1fr; }
	.mzi-tabs { border-radius: 11px; display: grid; grid-template-columns: 1fr; margin-left: -3px; margin-right: -3px; overflow: visible; }
	.mzi-tab { flex-basis: auto; min-height: 52px; width: 100%; }
	.mzi-options,
	.mzi-options.mzi-options-count-2 { grid-template-columns: 1fr; max-width: none; }
	.mzi-instrument-select.is-open .mzi-select-menu { grid-template-columns: 1fr; }
	.mzi-instrument-select .mzi-select-group-label,
	.mzi-instrument-select .mzi-select-option[data-value=""] { grid-column: 1; }
	.mzi-date-selects { gap: 8px; grid-template-columns: minmax(72px, .7fr) minmax(120px, 1.3fr); }
	.mzi-date-selects label:last-of-type { grid-column: 1 / -1; }
	.mzi-card-title { font-size: .98rem; }
	.mzi-checkout-participants li { min-width: 0; width: 100%; }
	body.mzi-registration-checkout #order_review .cart_item.mzi-registration-row .product-info { grid-template-columns: minmax(0, 1fr) !important; }
	body.mzi-registration-checkout #order_review .cart_item.mzi-registration-row .product-info > .inner,
	body.mzi-registration-checkout #order_review .mzi-checkout-price-breakdown,
	body.mzi-registration-checkout #order_review .cart_item.mzi-registration-row .product-info > small { grid-column: 1; grid-row: auto; }
	body.mzi-registration-checkout #order_review .mzi-checkout-price-breakdown { border-top: 1px solid var(--mzi-border); margin-top: 7px; min-width: 0; padding-top: 9px; }
	body.mzi-registration-checkout #order_review .cart_item.mzi-registration-row .product-info > small { justify-content: flex-start; text-align: left; }
}
