.levono-montage-box {
	margin: 0 0 24px;
	padding: 18px;
	border: 1px solid #d9d9d9;
	border-radius: 4px;
	background: #fff;
	box-sizing: border-box;
}

.levono-montage-heading {
	margin: 0 0 14px;
	font-size: 18px;
	line-height: 1.3;
}

.levono-montage-options {
	display: grid;
	gap: 10px;
}

.levono-montage-option {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	padding: 14px;
	border: 1px solid #d4d4d4;
	border-radius: 4px;
	background: #fff;
	cursor: pointer;
	box-sizing: border-box;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.levono-montage-option:hover {
	border-color: #888;
}

.levono-montage-option:has(input:checked) {
	border-color: #111;
	box-shadow: 0 0 0 1px #111;
}

.levono-montage-option input {
	flex: 0 0 auto;
	margin: 4px 0 0;
}

.levono-montage-option span {
	display: block;
	min-width: 0;
}

.levono-montage-option strong,
.levono-montage-option small,
.levono-montage-current {
	display: block;
}

.levono-montage-option small {
	margin-top: 3px;
	line-height: 1.45;
}

.levono-montage-current {
	margin-top: 7px;
	font-size: 13px;
	line-height: 1.45;
}

.levono-montage-status {
	min-height: 18px;
	margin-top: 8px;
	font-size: 13px;
}

.levono-montage-status.is-error {
	color: #b42318;
}

[data-levono-hidden-zero-price="1"] {
	display: none !important;
}

@media (max-width: 600px) {
	.levono-montage-box {
		padding: 14px;
	}

	.levono-montage-option {
		padding: 12px;
	}
}


/* Compact serviceblok rechterkolom */
.levono-montage-box {
	padding: 14px 16px;
}

.levono-montage-heading {
	margin-bottom: 8px;
	font-size: 17px;
}

.levono-montage-options {
	gap: 8px;
}

.levono-montage-option {
	padding: 10px 12px;
}

.levono-montage-option strong {
	line-height: 1.25;
}

.levono-montage-option small {
	margin-top: 2px;
	line-height: 1.35;
}

.levono-montage-current {
	margin-top: 9px;
	padding-top: 8px;
	border-top: 1px solid #e4e4e4;
	line-height: 1.25;
}

.levono-montage-current strong {
	display: block;
	margin-top: 1px;
	font-size: 16px;
	line-height: 1.15;
}


/* Productopties in winkelmand en checkout onder elkaar */
.levono-cart-option-line {
	display: block;
	margin: 1px 0;
	line-height: 1.35;
}

.wc-block-cart-items__row .wc-block-components-product-metadata,
.wc-block-components-order-summary-item__description .wc-block-components-product-metadata {
	margin-top: 5px;
}


/* Toon alleen titel en productopties in losse regels */
.levono-cart-options-list {
	display: block;
	margin-top: 7px;
	font-size: 13px;
	line-height: 1.35;
}

.levono-cart-option-line {
	display: block;
	margin: 2px 0;
}

.wc-block-cart-items__row[data-levono-formatted-options="1"] .wc-block-components-product-metadata,
.wc-block-cart-items__row[data-levono-formatted-options="1"] .wc-block-components-product-details,
.wc-block-cart-items__row[data-levono-formatted-options="1"] .wc-block-cart-item__prices,
.wc-block-cart-items__row[data-levono-formatted-options="1"] .wc-block-cart-item__product-metadata,
.wc-block-components-order-summary-item[data-levono-formatted-options="1"] .wc-block-components-order-summary-item__individual-prices,
.wc-block-components-order-summary-item[data-levono-formatted-options="1"] .wc-block-components-product-metadata,
.wc-block-components-order-summary-item[data-levono-formatted-options="1"] .wc-block-components-product-details {
	display: none !important;
}


/* Elementor mini cart prijsregel mag zichtbaar blijven wanneer deze gesynchroniseerd is */
.elementor-menu-cart__product-price.product-price {
	white-space: nowrap;
}


/* Elementor mini cart prijsregel zichtbaar tonen */
.elementor-menu-cart__container .elementor-menu-cart__product-price.product-price {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	color: #111827 !important;
	font-size: 13px;
	line-height: 1.35;
	font-weight: 600;
	white-space: nowrap;
}

.elementor-menu-cart__container .elementor-menu-cart__product-price.product-price .woocommerce-Price-amount.amount,
.elementor-menu-cart__container .elementor-menu-cart__product-price.product-price bdi {
	color: inherit !important;
	opacity: 1 !important;
}


/* Elementor mini cart breder en knoppen op één regel */
.elementor-menu-cart__main {
	width: 420px !important;
	max-width: calc(100vw - 24px) !important;
}

.elementor-menu-cart__footer-buttons {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.elementor-menu-cart__footer-buttons .elementor-button {
	white-space: nowrap;
	padding-left: 14px !important;
	padding-right: 14px !important;
}

.elementor-menu-cart__footer-buttons .elementor-button-text {
	white-space: nowrap;
	font-size: 14px;
	line-height: 1.2;
}

@media (max-width: 480px) {
	.elementor-menu-cart__main {
		width: calc(100vw - 16px) !important;
	}

	.elementor-menu-cart__footer-buttons {
		grid-template-columns: 1fr;
	}

	.elementor-menu-cart__footer-buttons .elementor-button {
		width: 100%;
	}
}


/* Mobiele correctie Elementor mini cart */
@media (max-width: 767px) {
	.elementor-menu-cart__main {
		width: 100vw !important;
		max-width: 100vw !important;
		left: 0 !important;
		right: 0 !important;
		top: 0 !important;
		padding: 18px 22px !important;
		box-sizing: border-box !important;
	}

	.elementor-menu-cart__products {
		margin-top: 18px;
	}

	.elementor-menu-cart__product {
		grid-template-columns: 72px 1fr 26px !important;
		column-gap: 12px !important;
		align-items: start !important;
	}

	.elementor-menu-cart__product-image img {
		width: 72px !important;
		height: 72px !important;
		object-fit: cover !important;
	}

	.elementor-menu-cart__product-name {
		font-size: 17px !important;
		line-height: 1.25 !important;
	}

	.elementor-menu-cart__product-price.product-price {
		font-size: 14px !important;
		line-height: 1.35 !important;
		margin-top: 4px !important;
	}

	.elementor-menu-cart__subtotal {
		margin-top: 18px !important;
		padding-top: 18px !important;
		font-size: 24px !important;
		line-height: 1.25 !important;
		text-align: center !important;
	}

	.elementor-menu-cart__footer-buttons {
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 10px !important;
		margin-top: 18px !important;
	}

	.elementor-menu-cart__footer-buttons .elementor-button {
		min-height: 52px !important;
		padding: 12px 10px !important;
		white-space: normal !important;
	}

	.elementor-menu-cart__footer-buttons .elementor-button-text {
		font-size: 16px !important;
		line-height: 1.15 !important;
		white-space: normal !important;
	}

	.elementor-menu-cart__close-button {
		top: 18px !important;
		right: 22px !important;
	}
}

@media (max-width: 380px) {
	.elementor-menu-cart__footer-buttons {
		grid-template-columns: 1fr !important;
	}
}


/* Mobiele mini cart als volledige lade */
@media (max-width: 767px) {
	.elementor-menu-cart__main {
		position: fixed !important;
		inset: 0 !important;
		width: 100vw !important;
		max-width: 100vw !important;
		height: 100vh !important;
		min-height: 100vh !important;
		max-height: 100vh !important;
		padding: 18px 20px 24px !important;
		overflow-y: auto !important;
		overscroll-behavior: contain !important;
		z-index: 999999 !important;
		box-sizing: border-box !important;
		background: #fff !important;
	}

	.elementor-menu-cart__container {
		z-index: 999998 !important;
	}

	.elementor-menu-cart__close-button {
		position: absolute !important;
		top: 18px !important;
		right: 20px !important;
		z-index: 2 !important;
	}

	.elementor-menu-cart__products {
		margin-top: 52px !important;
	}

	.elementor-menu-cart__product {
		display: grid !important;
		grid-template-columns: 70px 1fr 28px !important;
		grid-template-areas:
			"image name remove"
			"image price remove" !important;
		column-gap: 12px !important;
		row-gap: 4px !important;
		align-items: start !important;
		padding-bottom: 18px !important;
	}

	.elementor-menu-cart__product-image {
		grid-area: image !important;
	}

	.elementor-menu-cart__product-name {
		grid-area: name !important;
		padding-right: 6px !important;
		font-size: 17px !important;
		line-height: 1.25 !important;
	}

	.elementor-menu-cart__product-price.product-price {
		grid-area: price !important;
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		margin-top: 2px !important;
		color: #111827 !important;
		font-size: 14px !important;
		line-height: 1.35 !important;
	}

	.elementor-menu-cart__product-remove {
		grid-area: remove !important;
	}

	.elementor-menu-cart__product-image img {
		width: 70px !important;
		height: 70px !important;
		object-fit: cover !important;
	}

	.elementor-menu-cart__subtotal {
		margin-top: 12px !important;
		padding: 18px 0 !important;
		border-top: 1px solid #d7dce1 !important;
		border-bottom: 1px solid #d7dce1 !important;
		font-size: 24px !important;
		line-height: 1.25 !important;
		text-align: center !important;
	}

	.elementor-menu-cart__footer-buttons {
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 10px !important;
		margin-top: 18px !important;
		padding-bottom: 12px !important;
	}

	.elementor-menu-cart__footer-buttons .elementor-button {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		min-height: 50px !important;
		padding: 12px 10px !important;
		white-space: normal !important;
		text-align: center !important;
	}

	.elementor-menu-cart__footer-buttons .elementor-button-text {
		font-size: 16px !important;
		line-height: 1.15 !important;
		white-space: normal !important;
	}
}

@media (max-width: 380px) {
	.elementor-menu-cart__footer-buttons {
		grid-template-columns: 1fr !important;
	}
}


/* Sterke mobiele overlay fix Elementor mini cart */
@media (max-width: 767px) {
	html:has(.elementor-menu-cart--shown),
	body:has(.elementor-menu-cart--shown),
	html:has(.elementor-menu-cart__container[aria-hidden="false"]),
	body:has(.elementor-menu-cart__container[aria-hidden="false"]) {
		overflow: hidden !important;
	}

	.elementor-menu-cart__container {
		position: fixed !important;
		inset: 0 !important;
		width: 100vw !important;
		height: 100dvh !important;
		min-height: 100dvh !important;
		max-height: 100dvh !important;
		z-index: 2147483647 !important;
		background: #fff !important;
		overflow: hidden !important;
	}

	.elementor-menu-cart__main {
		position: fixed !important;
		inset: 0 !important;
		width: 100vw !important;
		max-width: 100vw !important;
		height: 100dvh !important;
		min-height: 100dvh !important;
		max-height: 100dvh !important;
		margin: 0 !important;
		padding: 18px 20px 24px !important;
		background: #fff !important;
		box-shadow: none !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important;
		overscroll-behavior: contain !important;
		transform: none !important;
		z-index: 2147483647 !important;
		box-sizing: border-box !important;
	}

	.elementor-menu-cart__close-button {
		position: sticky !important;
		top: 0 !important;
		margin-left: auto !important;
		width: 44px !important;
		height: 44px !important;
		z-index: 3 !important;
		background: #fff !important;
	}

	.elementor-menu-cart__products {
		margin-top: 8px !important;
	}

	.elementor-menu-cart__product {
		display: grid !important;
		grid-template-columns: 70px minmax(0, 1fr) 28px !important;
		grid-template-areas:
			"image name remove"
			"image price remove" !important;
		column-gap: 12px !important;
		row-gap: 4px !important;
		align-items: start !important;
		padding-bottom: 18px !important;
		background: #fff !important;
	}

	.elementor-menu-cart__product-image {
		grid-area: image !important;
	}

	.elementor-menu-cart__product-name {
		grid-area: name !important;
		padding-right: 6px !important;
		font-size: 17px !important;
		line-height: 1.25 !important;
	}

	.elementor-menu-cart__product-price.product-price {
		grid-area: price !important;
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		margin-top: 3px !important;
		color: #111827 !important;
		font-size: 14px !important;
		line-height: 1.35 !important;
		font-weight: 600 !important;
	}

	.elementor-menu-cart__product-remove {
		grid-area: remove !important;
	}

	.elementor-menu-cart__product-image img {
		width: 70px !important;
		height: 70px !important;
		object-fit: cover !important;
	}

	.elementor-menu-cart__subtotal {
		position: static !important;
		margin: 14px 0 0 !important;
		padding: 18px 0 !important;
		border-top: 1px solid #d7dce1 !important;
		border-bottom: 1px solid #d7dce1 !important;
		background: #fff !important;
		font-size: 24px !important;
		line-height: 1.25 !important;
		text-align: center !important;
	}

	.elementor-menu-cart__footer-buttons {
		position: static !important;
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 10px !important;
		margin-top: 18px !important;
		padding-bottom: 24px !important;
		background: #fff !important;
	}

	.elementor-menu-cart__footer-buttons .elementor-button {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		min-height: 50px !important;
		padding: 12px 10px !important;
		text-align: center !important;
		white-space: normal !important;
	}

	.elementor-menu-cart__footer-buttons .elementor-button-text {
		font-size: 16px !important;
		line-height: 1.15 !important;
		white-space: normal !important;
	}
}

@media (max-width: 380px) {
	.elementor-menu-cart__footer-buttons {
		grid-template-columns: 1fr !important;
	}
}

/* Info icoontjes bij Advanced Product Fields opties */
.levono-option-info {
	-webkit-appearance: none !important;
	appearance: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 18px !important;
	width: 18px !important;
	min-width: 18px !important;
	max-width: 18px !important;
	height: 18px !important;
	min-height: 18px !important;
	max-height: 18px !important;
	margin: 0 0 0 8px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #2f343d !important;
	color: #fff !important;
	box-shadow: none !important;
	text-decoration: none !important;
	text-align: center !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	cursor: pointer !important;
	position: relative !important;
	vertical-align: middle !important;
	transform: translateY(-1px) !important;
	z-index: 5 !important;
	outline: none !important;
}

.levono-option-info:hover,
.levono-option-info:focus {
	background: #1f2329 !important;
	color: #fff !important;
	border: 0 !important;
	box-shadow: none !important;
}

.levono-option-info::after {
	content: attr(data-info);
	position: absolute;
	left: 50%;
	bottom: calc(100% + 10px);
	transform: translateX(-50%);
	width: 270px;
	max-width: 82vw;
	padding: 10px 12px;
	border-radius: 6px;
	background: #111827;
	color: #fff;
	box-shadow: 0 8px 20px rgba(0, 0, 0, .18);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.4;
	text-align: left;
	white-space: normal;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	z-index: 999999;
}

.levono-option-info::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: calc(100% + 5px);
	transform: translateX(-50%);
	border: 5px solid transparent;
	border-top-color: #111827;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	z-index: 999999;
}

.levono-option-info:hover::after,
.levono-option-info:hover::before,
.levono-option-info.is-open::after,
.levono-option-info.is-open::before,
.levono-option-info:focus::after,
.levono-option-info:focus::before {
	opacity: 1;
	visibility: visible;
}

.wapf-field-container label .levono-option-info,
.wapf-field-input label .levono-option-info,
.wapf-radios label .levono-option-info,
.wapf-checkboxes label .levono-option-info,
.wapf-swatch-label .levono-option-info {
	flex-shrink: 0;
}

@media (max-width: 767px) {
	.levono-option-info {
		width: 18px !important;
		min-width: 18px !important;
		height: 18px !important;
		font-size: 11px !important;
	}

	.levono-option-info::after {
		left: auto;
		right: -10px;
		transform: none;
		width: 245px;
		max-width: calc(100vw - 40px);
	}

	.levono-option-info::before {
		left: auto;
		right: 0;
		transform: none;
	}
}


/* WAPF swatches: alleen kleur rond maken */
.levono-wapf-color-field .wapf-swatch,
.levono-wapf-color-field .wapf-image-swatch,
.levono-wapf-color-field .wapf-swatch-label,
.levono-wapf-color-field .wapf-swatch img,
.levono-wapf-color-field .wapf-image-swatch img,
.levono-wapf-color-field .wapf-swatch-label img {
	border-radius: 50% !important;
}

.levono-wapf-color-field .wapf-swatch,
.levono-wapf-color-field .wapf-image-swatch,
.levono-wapf-color-field .wapf-swatch-label {
	background: transparent !important;
	box-shadow: none !important;
}

.levono-wapf-color-field .wapf-swatch:not(.selected):not(.wapf-checked):not(.checked),
.levono-wapf-color-field .wapf-image-swatch:not(.selected):not(.wapf-checked):not(.checked),
.levono-wapf-color-field .wapf-swatch-label:not(.selected):not(.wapf-checked):not(.checked) {
	border-color: transparent !important;
	outline: none !important;
	box-shadow: none !important;
}

.levono-wapf-color-field .wapf-swatch.selected,
.levono-wapf-color-field .wapf-swatch.wapf-checked,
.levono-wapf-color-field .wapf-swatch.checked,
.levono-wapf-color-field .wapf-image-swatch.selected,
.levono-wapf-color-field .wapf-image-swatch.wapf-checked,
.levono-wapf-color-field .wapf-image-swatch.checked,
.levono-wapf-color-field input:checked + .wapf-swatch,
.levono-wapf-color-field input:checked + .wapf-image-swatch,
.levono-wapf-color-field input:checked + label .wapf-swatch,
.levono-wapf-color-field input:checked + label .wapf-image-swatch {
	border-color: #111827 !important;
	outline: none !important;
	box-shadow: 0 0 0 1px #111827 !important;
}

/* Niet-kleur image swatches blijven niet rond */
.wapf-field-container:not(.levono-wapf-color-field) .wapf-image-swatch img,
.wapf-field-container:not(.levono-wapf-color-field) .wapf-swatch-label img {
	border-radius: inherit !important;
}

/* Elektrische bediening is een text swatch en blijft als knop leesbaar */
.levono-wapf-text-swatch-field .wapf-swatch,
.levono-wapf-text-swatch-field .wapf-swatch-label,
.levono-wapf-text-swatch-field .wapf-image-swatch {
	border-radius: 4px !important;
}

.levono-wapf-text-swatch-field input:checked + .wapf-swatch,
.levono-wapf-text-swatch-field input:checked + .wapf-image-swatch,
.levono-wapf-text-swatch-field input:checked + label,
.levono-wapf-text-swatch-field .wapf-swatch.selected,
.levono-wapf-text-swatch-field .wapf-swatch.wapf-checked,
.levono-wapf-text-swatch-field .wapf-swatch.checked,
.levono-wapf-text-swatch-field .wapf-image-swatch.selected,
.levono-wapf-text-swatch-field .wapf-image-swatch.wapf-checked,
.levono-wapf-text-swatch-field .wapf-image-swatch.checked {
	background: #293044 !important;
	border-color: #293044 !important;
	color: #fff !important;
	box-shadow: none !important;
}

.levono-wapf-text-swatch-field input:checked + .wapf-swatch *,
.levono-wapf-text-swatch-field input:checked + .wapf-image-swatch *,
.levono-wapf-text-swatch-field input:checked + label *,
.levono-wapf-text-swatch-field .wapf-swatch.selected *,
.levono-wapf-text-swatch-field .wapf-swatch.wapf-checked *,
.levono-wapf-text-swatch-field .wapf-swatch.checked *,
.levono-wapf-text-swatch-field .wapf-image-swatch.selected *,
.levono-wapf-text-swatch-field .wapf-image-swatch.wapf-checked *,
.levono-wapf-text-swatch-field .wapf-image-swatch.checked * {
	color: #fff !important;
}


/* WAPF productopties normale hoofdletterweergave */
.wapf-field-container label,
.wapf-field-container label *,
.wapf-field-container .wapf-swatch,
.wapf-field-container .wapf-swatch *,
.wapf-field-container .wapf-swatch-label,
.wapf-field-container .wapf-swatch-label *,
.wapf-field-container .wapf-image-swatch,
.wapf-field-container .wapf-image-swatch * {
	text-transform: none !important;
	letter-spacing: normal !important;
}

/* Text swatches blijven leesbaar en niet automatisch uppercase */
.levono-wapf-text-swatch-field .wapf-swatch,
.levono-wapf-text-swatch-field .wapf-swatch-label,
.levono-wapf-text-swatch-field .wapf-image-swatch {
	text-transform: none !important;
	letter-spacing: normal !important;
}


/* Bestaande swatch grid/layout ongemoeid laten */
.wapf-swatch-wrapper,
.wapf-image-swatch,
.wapf-swatch {
	flex-direction: initial;
}


/* Info icoon binnen individuele image swatch */
label.levono-image-swatch-option {
	overflow: visible !important;
}

label.levono-image-swatch-option .levono-image-swatch-info-wrap {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	margin-top: 5px !important;
	line-height: 1 !important;
}

label.levono-image-swatch-option .levono-image-swatch-info-wrap .levono-option-info {
	margin: 0 !important;
	transform: none !important;
}

/* Laat de bestaande WAPF swatch layout volledig met rust */
.wapf-field-container .levono-image-swatch-option {
	flex-direction: initial !important;
}


/* Globale tooltip voor info icoontjes */
.levono-option-info::before,
.levono-option-info::after {
	display: none !important;
}

.levono-global-tooltip {
	position: absolute;
	z-index: 2147483647;
	width: 290px;
	max-width: calc(100vw - 24px);
	padding: 10px 12px;
	border-radius: 6px;
	background: #111827;
	color: #fff;
	box-shadow: 0 8px 20px rgba(0, 0, 0, .18);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.4;
	text-align: left;
	white-space: normal;
	overflow-wrap: break-word;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	box-sizing: border-box;
}

.levono-global-tooltip.is-visible {
	opacity: 1;
	visibility: visible;
}

@media (max-width: 767px) {
	.levono-global-tooltip {
		width: 260px;
		max-width: calc(100vw - 24px);
	}
}


/* Winkelwagen totaalprijs rechts zichtbaar houden */
.wc-block-cart-items__row[data-levono-formatted-options="1"] .wc-block-cart-item__total,
.wc-block-cart-items__row[data-levono-formatted-options="1"] .wc-block-cart-item__total .wc-block-components-product-price,
.wc-block-cart-items__row[data-levono-formatted-options="1"] td.wc-block-cart-item__total {
	display: revert !important;
	visibility: visible !important;
	opacity: 1 !important;
}


/* Iedere geformatteerde productoptie altijd op een eigen regel */
.wc-block-cart-items__row .levono-cart-option-line {
	display: block !important;
	width: 100% !important;
	clear: both !important;
	white-space: normal !important;
	overflow-wrap: anywhere !important;
}


/* Checkout rustig houden: foto, titel, aantal en prijs wel tonen; configuratie niet */
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__image,
.wc-block-checkout__sidebar .wc-block-components-order-summary-item__image {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-product-metadata,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-product-details,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__description p,
.wc-block-checkout__sidebar .wc-block-components-product-metadata,
.wc-block-checkout__sidebar .wc-block-components-product-details,
.wc-block-checkout__sidebar .wc-block-components-order-summary-item__description p,
.wp-block-woocommerce-checkout-order-summary-block .levono-cart-options-list,
.wc-block-checkout__sidebar .levono-cart-options-list {
	display: none !important;
}

/* Geen Levono breedte-aanpassing meer op checkout; WooCommerce bepaalt weer de layout */
.wc-block-checkout__main,
.wc-block-checkout__sidebar {
	box-sizing: border-box;
}


/* Mobiele WooCommerce winkelwagen: alles binnen viewport en onder elkaar */
@media (max-width: 767px) {
	html,
	body {
		max-width: 100%;
		overflow-x: hidden;
	}

	.wp-block-woocommerce-cart,
	.wc-block-cart,
	.wc-block-cart__main,
	.wc-block-cart__sidebar,
	.wp-block-woocommerce-cart-items-block,
	.wp-block-woocommerce-cart-totals-block,
	.wp-block-woocommerce-filled-cart-block,
	.wc-block-components-sidebar-layout,
	.wc-block-components-main,
	.wc-block-components-sidebar {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box !important;
	}

	.wc-block-components-sidebar-layout {
		display: block !important;
	}

	.wc-block-cart__main,
	.wc-block-cart__sidebar,
	.wc-block-components-main,
	.wc-block-components-sidebar {
		float: none !important;
		flex: none !important;
	}

	.wp-block-woocommerce-cart-totals-block,
	.wc-block-cart__sidebar,
	.wc-block-components-sidebar {
		margin-top: 24px !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.levono-montage-box {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 0 20px !important;
		padding: 14px !important;
		box-sizing: border-box !important;
		overflow: visible !important;
	}

	.levono-montage-options,
	.levono-montage-option,
	.levono-montage-option > span {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	.levono-montage-option {
		gap: 10px !important;
		padding: 12px !important;
	}

	.levono-montage-option > span {
		flex: 1 1 auto !important;
	}

	.levono-montage-option strong,
	.levono-montage-option small,
	.levono-montage-current {
		white-space: normal !important;
		overflow-wrap: anywhere !important;
		word-break: normal !important;
	}

	.levono-montage-option small {
		font-size: 14px !important;
		line-height: 1.4 !important;
	}

	.levono-montage-current {
		font-size: 14px !important;
		line-height: 1.4 !important;
	}

	/* Producttabel mag de pagina ook niet breder maken */
	.wc-block-cart-items,
	.wc-block-cart-items__row,
	.wc-block-cart-item__wrap,
	.wc-block-cart-item__product {
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	.wc-block-cart-item__wrap,
	.wc-block-cart-item__product {
		overflow-wrap: anywhere !important;
	}
}


/* Verplichte bevestiging maatwerkproduct in WooCommerce Blocks checkout */
.wc-block-checkout__additional-fields .wc-block-components-checkbox,
.wc-block-checkout__additional-fields .wc-block-components-checkbox label,
.wc-block-checkout__additional-fields .wc-block-components-checkbox__label {
	max-width: 100% !important;
}

.wc-block-checkout__additional-fields .wc-block-components-checkbox__label {
	white-space: normal !important;
	line-height: 1.5 !important;
	font-size: 14px !important;
}


/* Levono servicekeuze accenten */
.levono-montage-option input[type="radio"] {
	accent-color: #ff4f12 !important;
}

.levono-montage-option:has(input:checked) {
	border-color: #ff4f12 !important;
	box-shadow: 0 0 0 1px #ff4f12 !important;
}

.levono-montage-vat {
	display: block;
	margin-top: 1px;
}

.levono-montage-note {
	display: block;
	margin-top: 7px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.35;
}

.levono-shipping-progress {
	display: block;
	margin-top: 10px;
	padding-top: 9px;
	border-top: 1px solid #e4e4e4;
}

.levono-shipping-progress[hidden] {
	display: none !important;
}

.levono-shipping-progress__text {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
}

.levono-shipping-progress__bar {
	display: block;
	width: 100%;
	height: 6px;
	overflow: hidden;
	border-radius: 999px;
	background: #e7e7e7;
}

.levono-shipping-progress__fill {
	display: block;
	width: 0;
	height: 100%;
	border-radius: inherit;
	background: #ff4f12;
	transition: width .25s ease;
}

.levono-shipping-progress.is-complete .levono-shipping-progress__text {
	color: #2d6a36;
}

/* Doorgaan naar afrekenen */
.wc-block-cart__submit-button,
.wc-block-cart__submit-container .wc-block-components-button {
	background: #ff4f12 !important;
	border-color: #ff4f12 !important;
	color: #fff !important;
}

.wc-block-cart__submit-button:hover,
.wc-block-cart__submit-button:focus,
.wc-block-cart__submit-container .wc-block-components-button:hover,
.wc-block-cart__submit-container .wc-block-components-button:focus {
	background: #dc420d !important;
	border-color: #dc420d !important;
	color: #fff !important;
}

.wc-block-cart__submit-button .wc-block-components-button__text,
.wc-block-cart__submit-container .wc-block-components-button__text {
	color: #fff !important;
}


/* Nameting en adviesgesprek in winkelmand */
.levono-measurement-option {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: 12px;
	padding: 12px;
	border: 1px solid #d4d4d4;
	border-radius: 4px;
	background: #fff;
	box-sizing: border-box;
	cursor: pointer;
}

.levono-measurement-option input[type="checkbox"] {
	flex: 0 0 auto;
	margin: 3px 0 0;
	accent-color: #ff4f12 !important;
}

.levono-measurement-option span {
	display: block;
	min-width: 0;
	font-size: 14px;
	line-height: 1.4;
}

.levono-measurement-option:has(input:checked) {
	border-color: #ff4f12 !important;
	box-shadow: 0 0 0 1px #ff4f12 !important;
}
