.site-cart {
	margin-top: 0.5rem;
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path fill="%23FFF" d="M24 48C10.7 48 0 58.7 0 72C0 85.3 10.7 96 24 96L69.3 96C73.2 96 76.5 98.8 77.2 102.6L129.3 388.9C135.5 423.1 165.3 448 200.1 448L456 448C469.3 448 480 437.3 480 424C480 410.7 469.3 400 456 400L200.1 400C188.5 400 178.6 391.7 176.5 380.3L171.4 352L475 352C505.8 352 532.2 330.1 537.9 299.8L568.9 133.9C572.6 114.2 557.5 96 537.4 96L124.7 96L124.3 94C119.5 67.4 96.3 48 69.2 48L24 48zM208 576C234.5 576 256 554.5 256 528C256 501.5 234.5 480 208 480C181.5 480 160 501.5 160 528C160 554.5 181.5 576 208 576zM432 576C458.5 576 480 554.5 480 528C480 501.5 458.5 480 432 480C405.5 480 384 501.5 384 528C384 554.5 405.5 576 432 576z"/></svg>');
}

.ast-sticky-active .site-cart {
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path fill="%231f87aa" d="M24 48C10.7 48 0 58.7 0 72C0 85.3 10.7 96 24 96L69.3 96C73.2 96 76.5 98.8 77.2 102.6L129.3 388.9C135.5 423.1 165.3 448 200.1 448L456 448C469.3 448 480 437.3 480 424C480 410.7 469.3 400 456 400L200.1 400C188.5 400 178.6 391.7 176.5 380.3L171.4 352L475 352C505.8 352 532.2 330.1 537.9 299.8L568.9 133.9C572.6 114.2 557.5 96 537.4 96L124.7 96L124.3 94C119.5 67.4 96.3 48 69.2 48L24 48zM208 576C234.5 576 256 554.5 256 528C256 501.5 234.5 480 208 480C181.5 480 160 501.5 160 528C160 554.5 181.5 576 208 576zM432 576C458.5 576 480 554.5 480 528C480 501.5 458.5 480 432 480C405.5 480 384 501.5 384 528C384 554.5 405.5 576 432 576z"/></svg>');
}

.site-cart--mobile {
	display: block !important;
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path fill="%231f87aa" d="M24 48C10.7 48 0 58.7 0 72C0 85.3 10.7 96 24 96L69.3 96C73.2 96 76.5 98.8 77.2 102.6L129.3 388.9C135.5 423.1 165.3 448 200.1 448L456 448C469.3 448 480 437.3 480 424C480 410.7 469.3 400 456 400L200.1 400C188.5 400 178.6 391.7 176.5 380.3L171.4 352L475 352C505.8 352 532.2 330.1 537.9 299.8L568.9 133.9C572.6 114.2 557.5 96 537.4 96L124.7 96L124.3 94C119.5 67.4 96.3 48 69.2 48L24 48zM208 576C234.5 576 256 554.5 256 528C256 501.5 234.5 480 208 480C181.5 480 160 501.5 160 528C160 554.5 181.5 576 208 576zM432 576C458.5 576 480 554.5 480 528C480 501.5 458.5 480 432 480C405.5 480 384 501.5 384 528C384 554.5 405.5 576 432 576z"/></svg>') !important;
	margin-right: 1rem !important;
}

#ast-mobile-header .ast-button-wrap {
	display: flex !important;
	align-items: center !important;
}

/* KAART-STYLING */
.woocommerce ul.products.columns-4 li.product {
	background: #fff !important;
	padding: 20px !important;
	border: 1px solid #e5e5e5 !important;
	border-radius: 0 !important;
	box-sizing: border-box !important;
	margin-bottom: 30px !important;

	display: flex !important;
	flex-direction: column !important;
}

/* THUMBNAIL-CONTAINER: GELIJKE HOOGTE + CENTEREN */
.woocommerce ul.products.columns-4 li.product .astra-shop-thumbnail-wrap {
	height: 260px !important; /* desktop / tablet hoogte */
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-bottom: 15px !important;
	overflow: hidden !important;
}

/* AFBEELDING: CONTAIN, GEEN CROPPING */
.woocommerce ul.products.columns-4 li.product .astra-shop-thumbnail-wrap img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
}

/* SUMMARY VULT DE HOOGTE VAN DE CARD */
.woocommerce ul.products.columns-4 li.product .astra-shop-summary-wrap {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	padding: 0 !important;
}

/* PRIJS MET WAT LUCHT */
.woocommerce ul.products.columns-4 li.product .price {
	margin: 10px 0 15px 0 !important;
}

/* KNOP ALTIJD NAAR ONDER */
.woocommerce ul.products.columns-4 li.product .add_to_cart_button {
	margin-top: auto !important;
}

/* MOBIEL: THUMBNAIL NIET TE HOOG */
@media (max-width: 768px) {
	.woocommerce ul.products.columns-4 li.product .astra-shop-thumbnail-wrap {
		height: 220px !important;
	}
}

/* Basis: desktop gewoon tabel houden */
.wdp_pricing_table {
	width: 100%;
	border-collapse: collapse;
}

/* Mobiel: netjes onder elkaar, zonder rare randen */
@media (max-width: 600px) {
	.wdp_pricing_table {
		border-collapse: separate !important;
		border-spacing: 0 !important;
		border: 0 !important;
	}

	.wdp_pricing_table thead {
		display: none !important;
	}

	.wdp_pricing_table tbody {
		display: block !important;
	}

	.wdp_pricing_table tr {
		display: block !important;
		padding: 10px 0 !important;
		border-bottom: 1px solid #e5e5e5 !important;
		margin: 0 !important;
	}

	.wdp_pricing_table td {
		display: block !important;
		width: 100% !important;
		padding: 4px 0 !important;
		border: 0 !important;
		background: none !important;
	}

	/* Labels boven de waarde, zonder extra lijnen */
	.wdp_pricing_table td:nth-child(1)::before {
		content: "Hoeveelheid";
		font-weight: 600;
		display: block;
		margin-bottom: 2px;
	}

	.wdp_pricing_table td:nth-child(2)::before {
		content: "Korting";
		font-weight: 600;
		display: block;
		margin-bottom: 2px;
	}

	.wdp_pricing_table td:nth-child(3)::before {
		content: "Verlaagde prijs";
		font-weight: 600;
		display: block;
		margin-bottom: 2px;
	}
}

/* Alleen desktop / grotere schermen */
@media (min-width: 769px) {
	/* Algemeen: hou de tekstkolom wat smaller voor leesbaarheid */
	.single-product div.product .summary.entry-summary {
		max-width: 640px;
	}

	/* Breadcrumb: klein en subtiel */
	.single-product .summary .woocommerce-breadcrumb {
		font-size: 12px;
		color: #999;
		margin-bottom: 8px;
	}

	/* Categorie boven titel, kleiner */
	.single-product .summary .single-product-category {
		display: block;
		font-size: 13px;
		text-transform: uppercase;
		letter-spacing: 0.05em;
		color: #999;
		margin-bottom: 4px;
	}

	/* Hoofdtitel product */
	.single-product .summary .product_title.entry-title {
		font-size: 28px;
		line-height: 1.25;
		margin: 0 0 10px;
	}

	/* Prijs direct onder de titel, duidelijk maar niet huge */
	.single-product .summary p.price {
		font-size: 22px;
		font-weight: 700;
		color: #333;
		margin: 0 0 16px;
	}

	/* Korte beschrijving: normale bodytekst */
	.single-product .summary .woocommerce-product-details__short-description {
		font-size: 15px;
		line-height: 1.6;
		margin: 10px 0 20px;
	}

	/* Dubbele titel in korte beschrijving verbergen */
	.single-product
		.summary
		.woocommerce-product-details__short-description
		h3 {
		display: none;
	}

	/* Beschikbaarheid iets dichter tegen de tekst aan */
	.single-product .summary .ast-stock-detail {
		margin: 10px 0 16px;
		font-size: 14px;
	}

	/* Form (qty + knop) netjes uit elkaar */
	.single-product .summary form.cart {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		align-items: center;
		margin-bottom: 20px;
	}

	.single-product .summary form.cart .quantity {
		margin: 0;
	}

	.single-product .summary form.cart .single_add_to_cart_button {
		margin: 0;
	}

	/* Staffel-korting blok netjes onder de koopsectie */
	.single-product .summary .bulk_table {
		padding: 15px;
		margin: 10px 0 20px;
		font-size: 14px;
	}

	.single-product .summary .bulk_table .wdp_pricing_table_caption {
		font-weight: 600;
		margin-bottom: 8px;
	}

	.single-product .summary .bulk_table .wdp_pricing_table {
		width: 100%;
		border-collapse: collapse;
		font-size: 14px;
	}

	.single-product .summary .bulk_table .wdp_pricing_table td {
		padding: 6px 8px;
		border-bottom: 1px solid #eee;
	}

	.single-product .summary .bulk_table .wdp_pricing_table thead td {
		font-weight: 600;
		background: #fafafa;
	}

	/* Product meta kleiner en rustiger */
	.single-product .summary .product_meta {
		font-size: 12px !important;
		color: #777 !important;
		margin-top: 20px !important;
		line-height: 1.4 !important;
	}

	.single-product .summary .product_meta a {
		font-size: 12px !important;
		color: #5a8fa8 !important; /* subtiele blauwe tint */
		text-decoration: none !important;
	}

	.single-product .summary .product_meta a:hover {
		text-decoration: underline !important;
	}

	/* Labels (Categorie:, Tags:, Merk:) iets minder opvallend */
	.single-product .summary .product_meta .posted_in,
	.single-product .summary .product_meta .tagged_as {
		color: #666 !important;
		font-weight: 500 !important;
		display: block !important;
		margin-bottom: 4px !important;
	}
}

.product-type-simple .price {
	margin-top: 2rem !important;
	margin-bottom: 1rem !important;
}

@media (max-width: 480px) {
	.woocommerce ul.products.columns-4 li.product .astra-shop-thumbnail-wrap {
		height: 190px !important;
	}
	.woocommerce ul.products li.product .add_to_cart_button {
		padding: 8px 10px !important; /* dunner */
		font-size: 13px !important; /* kleiner, maar leesbaar */
		line-height: 1.2 !important;
		border-radius: 3px !important;
		width: 100% !important; /* full-width, maar strak */
		max-width: 240px !important; /* niet groter dan dit */
		margin: 12px auto 0 auto !important; /* centreren */
	}
}

/* WooCommerce success message clean-up */
.woocommerce-message {
	background: #f5f8fa !important;
	border-left: 4px solid #1b8aa5 !important; /* jouw blauw */
	padding: 12px 16px !important;
	margin: 20px 0 !important;
	font-size: 14px !important;
	color: #444 !important;
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
}

/* Icoon kleiner maken */
.woocommerce-message::before {
	font-size: 18px !important;
	margin-right: 6px !important;
}

/* “Bekijk winkelwagen” knop */
.woocommerce-message .button.wc-forward {
	display: none !important;
}

/* Hover subtiel */
.woocommerce-message .button.wc-forward:hover {
	background: #166f84 !important;
}

/* ============= CART ITEMS – MOBIEL ============= */
@media (max-width: 768px) {
	/* WooCommerce default responsive labels uitschakelen */
	.woocommerce-cart-form table.shop_table_responsive tr td::before,
	.cart_totals table.shop_table_responsive tr td::before {
		content: none !important;
	}

	/* Basis: table → blok, we maken zelf cards */
	.woocommerce-cart-form table.shop_table_responsive {
		border-collapse: separate !important;
		border-spacing: 0 !important;
		width: 100% !important;
	}

	.woocommerce-cart-form table.shop_table_responsive thead {
		display: none !important;
	}

	.woocommerce-cart-form table.shop_table_responsive tbody,
	.woocommerce-cart-form table.shop_table_responsive tr {
		display: block !important;
		width: 100% !important;
	}

	/* Elke cart-row als kaart */
	.woocommerce-cart-form__cart-item.cart_item {
		border: 1px solid #e5e5e5 !important;
		padding: 12px !important;
		margin-bottom: 16px !important;
		background: #fff !important;
	}

	.woocommerce-cart-form__cart-item.cart_item td {
		display: block !important;
		width: 100% !important;
		padding: 4px 0 !important;
		text-align: left !important;
		border: none !important;
		white-space: normal !important;
		word-break: normal !important;
	}

	/* Remove-knop naar bovenrechts */
	.woocommerce-cart-form__cart-item.cart_item .product-remove {
		text-align: right !important;
		padding-bottom: 8px !important;
	}

	/* Thumbnail gecentreerd met vaste hoogte */
	.woocommerce-cart-form__cart-item.cart_item .product-thumbnail {
		text-align: left !important;
		padding: 4px 0 8px !important;
	}

	.woocommerce-cart-form__cart-item.cart_item .product-thumbnail img {
		max-width: 80px !important;
		height: auto !important;
		display: block !important;
	}

	/* Labels erboven voor leesbaarheid */
	.woocommerce-cart-form__cart-item.cart_item .product-name::before {
		content: "Product:" !important;
		font-weight: 600;
		display: block;
		margin-bottom: 2px;
	}

	.woocommerce-cart-form__cart-item.cart_item .product-price::before {
		content: "Prijs:" !important;
		font-weight: 600;
		display: block;
		margin-bottom: 2px;
	}

	.woocommerce-cart-form__cart-item.cart_item .product-quantity::before {
		content: "Aantal:" !important;
		font-weight: 600;
		display: block;
		margin-bottom: 2px;
	}

	.woocommerce-cart-form__cart-item.cart_item .product-subtotal::before {
		content: "Subtotaal:" !important;
		font-weight: 600;
		display: block;
		margin-bottom: 2px;
	}

	/* Quantity netjes */
	.woocommerce-cart-form__cart-item.cart_item .quantity.buttons_added {
		margin-top: 4px !important;
	}

	/* Coupon / update-rij als blok onder de kaarten */
	.woocommerce-cart-form .actions {
		padding: 10px 0 0 !important;
		border: none !important;
	}

	.woocommerce-cart-form .actions .coupon {
		width: 100% !important;
		margin-bottom: 10px !important;
	}

	.woocommerce-cart-form .actions .button {
		width: 100% !important;
		margin-top: 6px !important;
	}
}

/* ============= CART TOTALS – MOBIEL ============= */
@media (max-width: 768px) {
	.cart_totals table.shop_table_responsive {
		width: 100% !important;
		border-collapse: separate !important;
		border-spacing: 0 !important;
	}

	.cart_totals table.shop_table_responsive thead {
		display: none !important;
	}

	.cart_totals table.shop_table_responsive tr {
		display: flex !important;
		justify-content: space-between !important;
		align-items: center !important;
		padding: 8px 0 !important;
		border-bottom: 1px solid #e5e5e5 !important;
	}

	.cart_totals table.shop_table_responsive th,
	.cart_totals table.shop_table_responsive td {
		display: block !important;
		width: auto !important;
		border: none !important;
		padding: 0 !important;
		text-align: left !important;
		white-space: normal !important;
		word-break: normal !important;
	}

	.cart_totals table.shop_table_responsive th {
		font-weight: 600 !important;
	}

	.cart_totals .order-total td strong {
		font-size: 16px !important;
	}
}

/* ============= CTA KNOPPEN MOBIEL (CHECKOUT, ETC.) ============= */
@media (max-width: 768px) {
	/* Doorgaan naar afrekenen */
	.wc-proceed-to-checkout .checkout-button {
		width: 100% !important;
		padding: 10px 14px !important;
		font-size: 15px !important;
		border-radius: 4px !important;
	}

	/* “Doorgaan naar afrekenen” of soortgelijke primary buttons in cart */
	.woocommerce a.button.alt,
	.woocommerce button.button.alt {
		padding: 10px 14px !important;
		font-size: 15px !important;
		border-radius: 4px !important;
	}

	/* Tekst breekt normaal, geen letter-per-regel meer */
	.woocommerce .shop_table_responsive td,
	.woocommerce .shop_table_responsive th,
	.woocommerce .shop_table_responsive td span,
	.woocommerce .shop_table_responsive td bdi {
		white-space: normal !important;
		word-break: normal !important;
	}
}

.woocommerce-message::before {
	display: none !important;
}

/* Alleen mobiel menu */
#ast-mobile-site-navigation {
	background: #f9f9f9;
}

/* Basis layout lijst */
#ast-mobile-site-navigation .main-navigation {
	padding: 0 15px 20px;
}

#ast-mobile-site-navigation .main-header-menu {
	flex-direction: column;
	align-items: stretch;
}

#ast-mobile-site-navigation .main-header-menu > li {
	width: 100%;
}

/* Pijltjes / toggles weg in mobiel menu */
#ast-mobile-site-navigation .ast-icon.icon-arrow,
#ast-mobile-site-navigation .ast-header-navigation-arrow,
#ast-mobile-site-navigation .ast-menu-toggle {
	display: none !important;
}

/* HOOFDKOP "DIENSTEN & PRIJZEN" */
#ast-mobile-site-navigation
	.main-header-menu
	> li.first-menu-item
	> a.menu-link {
	display: block;
	padding: 22px 20px 18px;
	font-size: 22px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: #1080a6; /* teal */
	background: #f9f9f9;
}

/* Grijze blok achter de diensten-lijst */
#ast-mobile-site-navigation .main-header-menu > li.first-menu-item > .sub-menu {
	display: block !important;
	margin: 0 0 18px;
	padding: 18px 0 20px;
	background: #ececec;
	border-radius: 0 0 8px 8px;
	box-shadow: none;
}

/* Items in diensten-lijst */
#ast-mobile-site-navigation
	.main-header-menu
	> li.first-menu-item
	> .sub-menu
	> li
	> a.menu-link {
	display: flex;
	align-items: center;
	padding: 6px 20px;
	font-size: 18px;
	line-height: 1.5;
	color: #1080a6;
	background: transparent;
}

/* Iconen in cirkel links */
#ast-mobile-site-navigation
	.main-header-menu
	> li.first-menu-item
	> .sub-menu
	> li
	> a.menu-link
	i.fas {
	width: 34px;
	height: 34px;
	margin-right: 10px;
	border-radius: 50%;
	border: 2px solid #1080a6;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
}

/* Tekst naast icoon */
#ast-mobile-site-navigation
	.main-header-menu
	> li.first-menu-item
	> .sub-menu
	> li
	> a.menu-link
	.menu-text {
	display: inline-block;
}

/* Tweede blok: DIRECT PRIJSOPGAVE / VOOR & NA / BLOG */
#ast-mobile-site-navigation
	.main-header-menu
	> li:not(.first-menu-item)
	> a.menu-link {
	display: block;
	padding: 16px 20px 0;
	font-size: 20px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.3;
	color: #1080a6;
	background: #f9f9f9;
}

/* Laatste grijze blok ("Fris Gedacht") */
#ast-mobile-site-navigation
	.main-header-menu
	> li.menu-item-has-children
	> .sub-menu {
	margin-top: 14px;
	padding: 16px 20px 18px;
	background: #ececec;
	border-radius: 8px 8px 0 0;
}

#ast-mobile-site-navigation
	.main-header-menu
	> li.menu-item-has-children
	> .sub-menu
	a.menu-link {
	padding: 0;
	font-size: 18px;
	font-weight: 400;
	text-transform: none;
	color: #1080a6;
}

/* Site cart in mobiel menu verbergen */
#ast-mobile-site-navigation #site-cart,
#ast-mobile-site-navigation .site-cart {
	display: none !important;
}

@media (min-width: 768px) {
	.sticky-menu--mobile {
		display: none;
	}
}

@media (max-width: 767px) {
	.sticky-menu--mobile {
		display: flex;
		align-items: center;
	}
}
