.maattabel .table-label {
	min-width: 150px;
}
.woocommerce .mfn-variations-wrapper {
	margin-bottom: 10px;
	margin-top: 5px;
}
.woocommerce-variation.single_variation {
	margin-bottom: 30px;
}
.woocommerce .mfn-variations-wrapper .mfn-reset-variations {
	display: none !important;
}
.woocommerce .mfn-variations-wrapper .mfn-vr {
	border-bottom: none;
	padding: 0;
}
.woocommerce .product .single_variation .price {
	font-weight: 500 !important;
	color: #101010;
}
.woocommerce .mfn-variations-wrapper .mfn-vr:first-child {
	margin-bottom: 10px;
}
.woocommerce .mfn-variations-wrapper .mfn-vr ul.mfn-vr-options.attribute_pa_maat li a {
	border: 1px #000 solid;
    min-width: 70px;
    text-align: center;
    margin: 2px 5px;
}
.woocommerce .mfn-variations-wrapper .mfn-vr ul.mfn-vr-options.mfn-vr-color li a {
	width: 78px;
    height: 100px;
    border-radius: 3px;
    margin: 2px 5px;
    border: 1px transparent solid;
    padding: 0;
    background-color: #efefef;
}
.woocommerce .mfn-variations-wrapper .mfn-vr ul.mfn-vr-options.mfn-vr-color li a img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.woocommerce .mfn-variations-wrapper .mfn-vr ul.mfn-vr-options.mfn-vr-color li.active a {
	border: 1px #000 solid;
}
.woocommerce .mfn-variations-wrapper .mfn-vr ul.mfn-vr-options.attribute_pa_maat li:first-child a,
.woocommerce .mfn-variations-wrapper .mfn-vr ul.mfn-vr-options.mfn-vr-color li:first-child a {
	margin-left: 0;
}
.woocommerce .mfn-variations-wrapper .mfn-vr ul.mfn-vr-options.attribute_pa_maat li:last-child a,
.woocommerce .mfn-variations-wrapper .mfn-vr ul.mfn-vr-options.mfn-vr-color li:last-child a {
	margin-right: 0;
}
.woocommerce .mfn-variations-wrapper .mfn-vr ul.mfn-vr-options.attribute_pa_maat li a:hover,
.woocommerce .mfn-variations-wrapper .mfn-vr ul.mfn-vr-options.attribute_pa_maat li.active a {
	border: 1px #000 solid;
	background-color: #000;
	color: #fff;
}

/* --------------------------------------------------------------------------
   Out-of-stock size styling
   -------------------------------------------------------------------------- */
/*
	Maten die uitverkocht zijn (voor de geselecteerde kleur) worden
	lichtgrijs met een rode streep erdoor en een belletje-icoon.
	De class 'is-out-of-stock' wordt dynamisch toegevoegd via JavaScript.
*/

/* Base styling for out-of-stock sizes */
.woocommerce .mfn-variations-wrapper .mfn-vr ul.mfn-vr-options.attribute_pa_maat li.is-out-of-stock a {
	background-color: #f5f5f5 !important;
	color: #aaa !important;
	border-color: #ddd !important;
	position: relative;
	cursor: pointer;
}

/* Red strike-through line */
.woocommerce .mfn-variations-wrapper .mfn-vr ul.mfn-vr-options.attribute_pa_maat li.is-out-of-stock a::after {
	content: '';
	position: absolute;
	left: 8px;
	right: 8px;
	top: 50%;
	transform: translateY(-50%) rotate(-5deg);
	border-top: 2px solid #e53935;
	pointer-events: none;
}

/* Bell icon for out-of-stock sizes */
.woocommerce .mfn-variations-wrapper .mfn-vr ul.mfn-vr-options.attribute_pa_maat li.is-out-of-stock a::before {
	content: '';
	position: absolute;
	top: -6px;
	right: -6px;
	width: 14px;
	height: 14px;
	background-color: #76AAD2;
	border-radius: 50%;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8a6 6 0 0 0-12 0c0 7-3 9-3 9h18s-3-2-3-9'/%3E%3Cpath d='M13.73 21a2 2 0 0 1-3.46 0'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 8px 8px;
	z-index: 2;
}

/* Override hover state for out-of-stock */
.woocommerce .mfn-variations-wrapper .mfn-vr ul.mfn-vr-options.attribute_pa_maat li.is-out-of-stock a:hover {
	background-color: #eee !important;
	color: #999 !important;
	border-color: #ccc !important;
}

/* Override active state for out-of-stock */
.woocommerce .mfn-variations-wrapper .mfn-vr ul.mfn-vr-options.attribute_pa_maat li.is-out-of-stock.active a {
	background-color: #e8e8e8 !important;
	color: #888 !important;
	border-color: #bbb !important;
}
.woocommerce .mfn-variations-wrapper .mfn-vr ul.mfn-vr-options.mfn-vr-color li a span {
	border-radius: 3px;
}
.woocommerce .mfn-variations-wrapper .mfn-vr ul.mfn-vr-options.mfn-vr-color.no-images li a {
	width: 34px;
	height: 34px;
	border-radius: 40px;
}
.woocommerce .mfn-variations-wrapper .mfn-vr ul.mfn-vr-options.mfn-vr-color.no-images li a span {
	border-radius: 40px;
}
.woocommerce .mfn-variations-wrapper .mfn-vr label {
	font-weight: 400 !important;
	margin-bottom: 5px;
}
.woocommerce .mfn-variations-wrapper .mfn-vr label span {
	font-weight: 600;
}
#single-product-add-to-cart-section-styling .woocommerce-variation-add-to-cart {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 15px;
}
#single-product-add-to-cart-section-styling .woocommerce-variation-add-to-cart .quantity {
	margin-right: 0;
}
.single_variation_wrap {
	width: 100%;
}
.wps_wgm_added_wrapper {
	width: 100%;
}
#vaak-samen-gekocht-met .mfn-upsells h3.title.heading {
	font-size: 0;
	color: transparent;
	position: relative;
}
#vaak-samen-gekocht-met .mfn-upsells h3.title.heading:before {
	content: "Vaak samen gekocht met";
	font-size: 30px;
    font-weight: 400;
    color: #101010;
}

/* --------------------------------------------------------------------------
   Product tag links (bottom of product page)
   -------------------------------------------------------------------------- */
.single-product .product-tag-links {
	margin: 60px auto 40px auto;
	text-align: center;
	font-size: 15px;
	line-height: 1.5;
	color: #1a1a1a;
	border-top: 1px solid #f0f0f0;
	padding-top: 24px;
	max-width: 900px;
}

.single-product .product-tag-links__label {
	font-weight: 600;
	margin-right: 6px;
	color: #101010;
}

.single-product .product-tag-links a {
	color: #76aad2;
	text-decoration: none;
	transition: color 0.2s ease;
}

.single-product .product-tag-links a:hover {
	color: #2c5a7c;
	text-decoration: underline;
}

/* Hide the quantity input wrapper when the product is out of stock */
.single-product .product .stock.out-of-stock + form.cart .quantity {
    display: none !important;
}

/* Alternatively, if the above doesn't work, this targets the quantity div within the cart form on single product pages */
.single-product p.stock.out-of-stock + form.cart .quantity {
    display: none !important;
}

/* --------------------------------------------------------------------------
   Back in stock button ("Houd mij op de hoogte")
   -------------------------------------------------------------------------- */
/*
	Stijl de popup-knop van Back In Stock Notifier en voeg een bel-icoon toe
	zonder de plugin-template te hoeven wijzigen.
*/
.single-product .woocommerce-variation-availability .cwg_popup_submit {
	position: relative;
	padding-left: 40px; /* ruimte voor belletje */
	background-color: #76AAD2;
	color: #fff;
	border-radius: 6px;
	border: none;
	font-weight: 600;
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8a6 6 0 0 0-12 0c0 7-3 9-3 9h18s-3-2-3-9'/%3E%3Cpath d='M13.73 21a2 2 0 0 1-3.46 0'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: 14px 50%;
	background-size: 18px 18px;
}

.single-product .woocommerce-variation-availability .cwg_popup_submit:hover {
	background-color: #5a94c2;
}

/* Compact layout adjustments */
.woocommerce div.product .product_title {
    margin-bottom: 0px;
}

.woocommerce div.product p.price {
    margin-bottom: 0px;
}

.woocommerce div.product .stock {
    margin-bottom: 0px;
}

/* --------------------------------------------------------------------------
   Sale price styling - show regular price struck through + sale price in red
   -------------------------------------------------------------------------- */

/* Price in the product title section (column_product_price) */
.mcb-item-product_price-inner .price {
    font-size: 20px;
    font-weight: 600;
    color: #101010;
}

.mcb-item-product_price-inner .price del {
    color: #999;
    opacity: 0.7;
    margin-right: 8px;
}

.mcb-item-product_price-inner .price del .woocommerce-Price-amount {
    color: #999;
}

.mcb-item-product_price-inner .price ins {
    background: none;
    text-decoration: none;
}

.mcb-item-product_price-inner .price ins .woocommerce-Price-amount {
    color: #CF2020;
    font-weight: 700;
}

/* Hide the variation price display (duplicate price shown under sizes) */
.woocommerce .woocommerce-variation-price {
    display: none !important;
}

/* --------------------------------------------------------------------------
   Sale badge styling - make it larger and more prominent
   -------------------------------------------------------------------------- */
.single-product .mfn-product-badges span.onsale {
    font-size: 18px;
    padding: 8px 12px;
    font-weight: 700;
    min-width: 50px;
    text-align: center;
}

/* Hide notification bar (USP carousel) on mobile for product/cart/checkout pages */
@media screen and (max-width: 767px) {
	body.single-product .elvita-notification-bar,
	body.woocommerce-cart .elvita-notification-bar,
	body.woocommerce-checkout .elvita-notification-bar {
		display: none !important;
	}
}

/* Hide search bar on mobile for product/cart/checkout pages */
@media screen and (max-width: 767px) {
	body.single-product .column_header_search,
	body.woocommerce-cart .column_header_search,
	body.woocommerce-checkout .column_header_search {
		display: none !important;
	}
}

@media screen and (max-width: 767px) {
	/* Sale badge on mobile */
	.single-product .mfn-product-badges span.onsale {
		font-size: 16px;
		padding: 6px 10px;
	}

	/* Fix whitespace above title on mobile */
	.woocommerce .product .product_wrapper .product_image_wrapper {
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}
	.woocommerce .product .product_wrapper .product_image_wrapper .mcb-column-inner {
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}
	.woocommerce div.product div.entry-summary {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}
	.woocommerce div.product div.entry-summary .mcb-column-inner {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}
	.woocommerce div.product div.entry-summary h1.product_title {
		padding-top: 0 !important;
		margin-top: 0 !important;
	}
	
	/* Fix Swiper gallery wrapper excessive height */
	.woocommerce-product-gallery .swiper-wrapper {
		height: auto !important;
	}
	.woocommerce-product-gallery .swiper-slide {
		height: auto !important;
	}
	.woocommerce .mfn-product-gallery {
		margin-bottom: 0 !important;
	}
	.woocommerce div.product div.images {
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}

	#single-product-add-to-cart-section-styling .woocommerce-variation-add-to-cart {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}

	#single-product-add-to-cart-section-styling .woocommerce-variation-add-to-cart .quantity {
		width: 100%;
	}

	#single-product-add-to-cart-section-styling .woocommerce-variation-add-to-cart .single_add_to_cart_button,
	#single-product-add-to-cart-section-styling .woocommerce-variation-add-to-cart .single_add_to_cart_button.button {
		width: 100%;
	}

	/* Mobile gallery improvements */
	.mfn-product-gallery {
		position: relative;
	}

	/* Main image larger on mobile */
	.mfn-product-gallery .images {
		margin-bottom: 15px;
	}

	.mfn-product-gallery .woocommerce-product-gallery__image {
		min-height: 400px;
	}

	.mfn-product-gallery .woocommerce-product-gallery__image img {
		height: auto;
		max-height: 450px;
		object-fit: contain;
	}

	/* Mobile gallery - Thumbnails wrapper horizontal below main image */
	.mfn-product-gallery .mfn-flex-control-thumbs-wrapper {
		height: auto !important;
		width: 100% !important;
		margin-top: 10px;
		display: flex !important;
		justify-content: center !important;
	}

	/* Thumbnails in horizontal row */
	.mfn-product-gallery .flex-control-thumbs {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		justify-content: center !important;
		align-items: center !important;
		gap: 8px;
		height: auto !important;
		width: auto !important;
		margin: 0 auto !important;
	}

	.mfn-product-gallery .flex-control-thumbs li,
	.mfn-product-gallery .flex-control-thumbs .swiper-slide {
		width: 50px !important;
		height: 65px !important;
		flex: 0 0 50px !important;
		margin: 0 !important;
		margin-bottom: 0 !important;
		border: 2px solid #ddd;
		border-radius: 3px;
		overflow: hidden;
	}

	.mfn-product-gallery .flex-control-thumbs li img,
	.mfn-product-gallery .flex-control-thumbs .swiper-slide img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
	}

	.mfn-product-gallery .flex-control-thumbs li:has(.flex-active),
	.mfn-product-gallery .flex-control-thumbs .swiper-slide-active {
		border-color: #333 !important;
	}

	/* Navigation arrow on main image */
	.mfn-product-gallery .flex-viewport {
		position: relative;
	}

	/* Gallery navigation buttons */
	.mfn-gallery-nav {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		width: 36px;
		height: 36px;
		background-color: rgba(255, 255, 255, 0.9);
		border-radius: 50%;
		box-shadow: 0 2px 6px rgba(0,0,0,0.15);
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 20px;
		color: #333;
		z-index: 10;
		cursor: pointer;
		border: none;
		padding: 0;
	}

	.mfn-gallery-nav.mfn-gallery-next {
		right: 10px;
	}

	.mfn-gallery-nav.mfn-gallery-prev {
		left: 10px;
	}

	.mfn-gallery-nav:hover {
		background-color: rgba(255, 255, 255, 1);
	}

	.woocommerce .mfn-product-gallery.mfn-thumbnails-left .flex-control-thumbs {
		flex-direction: row;
		
	}
	.woocommerce div.product div.images.woocommerce-product-gallery {
		flex-direction: column-reverse;
	}
	.woocommerce .mfn-product-gallery.mfn-thumbnails-left .mfn-flex-control-thumbs-wrapper {
		flex: 0 0 100%;
    	max-width: 100%;
    	margin-right: 0;
    	margin-top: 15px;
	}
	.woocommerce .mfn-product-gallery.mfn-thumbnails-left .mfn-scroller-active .flex-control-thumbs li {
		height: 117px !important;
    	width: 100px !important;
	}
	.woocommerce div.product div.images .mfn-scroller-active .flex-control-thumbs {
		gap: 10px;
	}

	/* Prevent internal vertical scrolling in thumbnail strip on mobile */
	.woocommerce div.product div.images .mfn-scroller-active,
	.woocommerce div.product div.images .mfn-scroller-active .flex-control-thumbs,
	.mfn-product-gallery .mfn-flex-control-thumbs-wrapper {
		height: auto !important;
		max-height: none !important;
		overflow-y: visible !important;
	}
}