/**
 * Lokerse custom product detail-pagina — IKEA-achtige layout.
 * Knoppen volgen de stijl van de productkaarten (zie filter.css).
 */

.lts-product {
	/* Exact dezelfde container ALS de thema-content (Uncode .limit-width =
	   1296px + 36px horizontale padding op desktop) zodat de productpagina
	   links/rechts precies uitlijnt met de header/logo en de rest van de site. */
	max-width: 1296px;
	margin: 0 auto;
	padding: 24px 36px;
	color: var(--lts-text, #0a212c);
	font-family: inherit;
}

.lts-product__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: 48px;
	align-items: start;
}

.lts-product__gallery-col,
.lts-product__info-col {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
}

/* GALLERY */
.lts-product__gallery {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.lts-product__main-image {
	position: relative;
	background: #f5f5f5;
	border-radius: 12px;
	overflow: hidden;
	aspect-ratio: 1 / 1 !important;
	display: flex;
	align-items: center;
	justify-content: center;
}
/* Theme (Uncode) wil de img absoluut/100% positioneren — forceer onze
   contain-regels zodat de foto niet uitvergroot weergegeven wordt. */
.lts-product__main-image img,
.lts-product__main-img,
.lts-product .lts-product__main-image img {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
	padding: 32px !important;
	box-sizing: border-box !important;
	position: static !important;
	inset: auto !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	transform: none !important;
}
.lts-product__energy-badge {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 2;
}
.lts-product__energy-badge .lts-energy-label {
	transform: scale(1.4);
	transform-origin: top right;
}

.lts-product__thumbs {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
	gap: 8px;
}
.lts-product__thumb {
	all: unset;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f5f5f5;
	border: 2px solid transparent;
	border-radius: 8px;
	cursor: pointer;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	padding: 6px;
	box-sizing: border-box;
	transition: border-color .15s ease;
	pointer-events: auto;
}
.lts-product__thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	pointer-events: none;
}
.lts-product__thumb:hover { border-color: #d0d5dd; }
.lts-product__thumb.is-active { border-color: var(--lts-accent, #35a5de); }

/* INFO RIGHT */
.lts-product__info {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.lts-product__brand {
	font-size: 12px;
	color: var(--lts-accent, #35a5de);
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 600;
}
.lts-product .lts-product__title,
h1.lts-product__title {
	font-size: 32px !important;
	line-height: 1.2 !important;
	font-weight: 700 !important;
	color: var(--lts-text, #0a212c) !important;
	margin: 0 !important;
	padding: 0 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}
.lts-product__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	font-size: 12px;
	color: var(--lts-text-muted, #4a6470);
}
.lts-product__sku,
.lts-product__model {
	white-space: nowrap;
}

.lts-product__short-desc {
	font-size: 14px;
	line-height: 1.5;
	color: var(--lts-text, #0a212c);
}
.lts-product__short-desc p { margin: 0 0 6px 0; }

/* PRIJS-RIJ — prijs links, voorraad rechts op zelfde hoogte */
.lts-product__price-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 4px 0;
}
.lts-product__price {
	font-size: 26px;
	font-weight: 700;
	color: var(--lts-text, #0a212c);
	line-height: 1.1;
}
.lts-product__price .woocommerce-Price-amount { color: inherit; }
.lts-product__price del { color: var(--lts-text-muted, #4a6470); font-weight: 400; font-size: 16px; margin-right: 6px; }
.lts-product__price ins { text-decoration: none; }
.lts-product__price bdi { font-weight: inherit; }

.lts-product__stock {
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
}
.lts-product__stock--in    { color: #2e8b3a; }
.lts-product__stock--order { color: #c47c00; }
.lts-product__stock--out   { color: #d63638; }

/* ORDER FORM — stijl van product cards (zie .lts-card__cta in filter.css) */
.lts-product__order {
	display: flex !important;
	gap: 8px !important;
	align-items: stretch;
	margin-top: 8px;
	/* Flush links/rechts: geen buitenmarge, alleen de gap TUSSEN de items.
	   qty links, hartje, dan de knop die de resterende ruimte vult (flush rechts).
	   !important omdat de form de WooCommerce-class .cart heeft die het thema
	   met padding/marge overschrijft. */
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box !important;
}
.lts-product__order > * { margin-left: 0 !important; margin-right: 0 !important; }

/* ==== DE ECHTE OORZAAK van de "gap links/rechts" ====
   Het <form> heeft de WooCommerce-class .cart, en WooCommerce/het thema zet
   daarop een clearfix: `form.cart::before, form.cart::after { content:" "; display:table }`.
   In een flex-container met `gap` tellen die pseudo-elementen MEE als flex-items,
   waardoor er 8px (= de gap) vóór qty en ná de knop ontstaat → symmetrische
   inset links én rechts. Pseudo's uitschakelen lost het volledig op.
   (Live geverifieerd: qty en knop lijnen daarna exact uit met de prijs-rij.) */
.lts-product__order::before,
.lts-product__order::after,
.lts-product form.lts-product__order::before,
.lts-product form.lts-product__order::after {
	content: none !important;
	display: none !important;
}

/* KERN-FIX van de "gap links/rechts": het <form> heeft óók de WooCommerce-
   class .cart. De thema-regel `form.cart` (specificiteit 0,1,1) is specifieker
   dan `.lts-product__order` (0,1,0) en zet daar padding/marge (margin:0 auto of
   horizontale padding) op → de hele rij wordt symmetrisch naar binnen geduwd.
   Onderstaande selectors zijn specifieker (0,3,1 / 0,2,1) en winnen altijd. */
.lts-product .lts-product__order-wrap form.lts-product__order,
.lts-product form.lts-product__order.cart,
.lts-product .lts-product__info form.lts-product__order {
	width: 100% !important;
	max-width: none !important;
	margin: 8px 0 0 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	display: flex !important;
	gap: 8px !important;
}
.lts-product .lts-product__order-wrap form.lts-product__order > .lts-product__qty {
	flex: 0 0 auto !important;
	margin: 0 !important;
}
.lts-product .lts-product__order-wrap form.lts-product__order > .lts-product__favorite {
	flex: 0 0 38px !important;
	margin: 0 !important;
}
.lts-product .lts-product__order-wrap form.lts-product__order > .lts-product__add-to-cart {
	flex: 1 1 auto !important;
	max-width: none !important;
	width: auto !important;
	margin: 0 !important;
}
.lts-product__qty {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--lts-border, #d4e5ee);
	border-radius: 4px;
	overflow: hidden;
	height: 38px;
	background: #fff;
	flex: 0 0 auto;
}
.lts-product__qty-btn {
	all: unset;
	width: 32px;
	height: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	font-weight: 600;
	color: var(--lts-text, #0a212c);
	cursor: pointer;
	user-select: none;
	transition: background .15s ease;
}
.lts-product__qty-btn:hover { background: var(--lts-bg, #eaf6fb); }
.lts-product__qty-input {
	width: 44px;
	height: 100%;
	border: 0;
	outline: none;
	background: transparent;
	text-align: center;
	text-align-last: center;
	padding: 0;
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--lts-text, #0a212c);
	-moz-appearance: textfield;
	appearance: textfield;
	box-sizing: border-box;
}
.lts-product__qty-input::-webkit-outer-spin-button,
.lts-product__qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Locked stepper — alleen 1 te bestellen, +/- visueel uitgeschakeld. */
.lts-product__qty.is-locked {
	border-color: #e5edf2;
	background: #f6fafc;
}
.lts-product__qty.is-locked .lts-product__qty-btn {
	color: #b8c5cd !important;
	cursor: not-allowed !important;
	pointer-events: none;
	opacity: .55;
}
.lts-product__qty.is-locked .lts-product__qty-btn:hover {
	background: transparent !important;
}
.lts-product__qty.is-locked .lts-product__qty-input {
	color: #6b7d87 !important;
	cursor: default;
}

/* Favorieten — stijl identiek aan .lts-card__wishlist */
.lts-product__favorite {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	flex: 0 0 38px;
	background: #fff;
	border: 1px solid var(--lts-border, #d4e5ee);
	border-radius: 4px;
	cursor: pointer;
	color: var(--lts-text-muted, #4a6470);
	padding: 0;
	transition: color .15s ease, border-color .15s ease, background .15s ease;
}
.lts-product__favorite:hover {
	color: #d63638;
	border-color: #d63638;
}
.lts-product__favorite.is-active {
	color: #d63638;
	border-color: #d63638;
	background: #fff5f5;
}
.lts-product__favorite.is-active svg path { fill: currentColor; }

/* In winkelwagen — stijl identiek aan .lts-card__cta .button */
.lts-product__add-to-cart,
.lts-product .lts-product__add-to-cart {
	/* flex:1 + max-width:none zodat de knop ALTIJD de resterende ruimte tot
	   de rechterrand vult — anders begrenst de thema-knopstijl (.button.alt)
	   'm met een max-width en ontstaat er een gat rechts. */
	flex: 1 1 auto !important;
	max-width: none !important;
	width: auto !important;
	min-width: 0;
	display: block;
	text-align: center;
	box-sizing: border-box;
	background: var(--lts-accent, #35a5de) !important;
	color: #fff !important;
	border: 1px solid var(--lts-accent, #35a5de) !important;
	border-radius: 4px !important;
	height: 38px;
	padding: 8px 14px !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	cursor: pointer;
	transition: background .15s ease, border-color .15s ease;
}
.lts-product__add-to-cart:hover,
.lts-product .lts-product__add-to-cart:hover {
	background: var(--lts-accent-dark, #2188bd) !important;
	border-color: var(--lts-accent-dark, #2188bd) !important;
}

/* Directe klik-feedback: spinner "Bezig…" IN de knop, zonder layout-shift.
   Afmetingen worden in product-page.js vastgezet (min-width/min-height); hier
   centreren we de inhoud en blokkeren we een tweede klik tijdens het laden.
   Merkpalet (blauw): accent #35a5de, accent-dark #2891c8. */
.lts-product__add-to-cart.lts-atc-loading,
.lts-product .lts-product__add-to-cart.lts-atc-loading {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px;
	white-space: nowrap;
	overflow: hidden;
	pointer-events: none;
	cursor: default;
	opacity: .92;
}
.lts-product__add-to-cart .lts-atc-label {
	font-weight: 600;
	line-height: 1;
	color: inherit;
}
.lts-product__add-to-cart .lts-atc-spinner {
	display: inline-block;
	width: 14px;
	height: 14px;
	border: 2px solid currentColor;
	border-top-color: transparent;
	border-radius: 50%;
	box-sizing: border-box;
	animation: lts-atc-spin .6s linear infinite;
	flex: 0 0 auto;
}
@keyframes lts-atc-spin {
	to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
	.lts-product__add-to-cart .lts-atc-spinner {
		animation-duration: 1.4s;
	}
}

/* INKLAPBARE SECTIES (Specificaties / Documentatie) */
.lts-product__details {
	margin-top: 4px;
	padding: 6px 0;
	border-top: 1px solid var(--lts-border, #d4e5ee);
}
/* Eerste sectie geen eigen border — de .lts-product__below-gallery wrapper
   levert al een lijntje, anders krijg je een dubbele streep. */
.lts-product__below-gallery > .lts-product__details:first-of-type {
	border-top: 0;
	margin-top: 0;
}
.lts-product__details-summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-weight: 700;
	font-size: 16px;
	color: var(--lts-text, #0a212c);
	padding: 8px 0;
	user-select: none;
}
.lts-product__details-summary::-webkit-details-marker { display: none; }
.lts-product__details-summary::marker { display: none; content: ''; }
.lts-product__details-summary::after {
	content: '+';
	font-size: 22px;
	font-weight: 400;
	line-height: 1;
	color: var(--lts-text-muted, #4a6470);
	margin-left: 8px;
}
.lts-product__details[open] > .lts-product__details-summary::after {
	content: '−';
}
.lts-product__details-body {
	padding: 4px 0 8px;
}

/* SPECS — compact, dt links, dd rechts uitgelijnd */
.lts-product__specs {
	display: grid;
	grid-template-columns: minmax(140px, 40%) 1fr;
	gap: 4px 12px;
	margin: 0;
	font-size: 16px;
	line-height: 1.4;
}
.lts-product__specs dt,
.lts-product .lts-product__specs dt {
	color: var(--lts-text-muted, #4a6470) !important;
	font-weight: 500 !important;
	font-size: 16px !important;
	margin: 0 !important;
	padding: 2px 0 !important;
	line-height: 1.4 !important;
}
.lts-product__specs dd,
.lts-product .lts-product__specs dd {
	color: var(--lts-text, #0a212c) !important;
	margin: 0 !important;
	padding: 2px 0 !important;
	font-weight: 600 !important;
	font-size: 16px !important;
	line-height: 1.4 !important;
	word-break: break-word;
}

/* DOWNLOADS */
.lts-product__downloads {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.lts-product__downloads a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--lts-accent, #35a5de);
	text-decoration: none;
	font-size: 16px;
	font-weight: 600;
	padding: 4px 0;
}
.lts-product__downloads a:hover { text-decoration: underline; }

/* BELOW-GALLERY container */
.lts-product__below-gallery {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-top: 8px;
	padding-top: 24px;
	border-top: 1px solid var(--lts-border, #d4e5ee);
}

/* DESCRIPTION (nu onder de foto, breedte = gallery) */
.lts-product__description {
	margin: 0 0 8px 0;
	padding: 0;
	border-top: 0;
	max-width: 100%;
	font-size: 16px;
	line-height: 1.6;
	color: var(--lts-text, #0a212c);
}
.lts-product .lts-product__description h2,
.lts-product__description h2 {
	font-size: 16px !important;
	font-weight: 700 !important;
	margin: 0 0 8px 0 !important;
	padding: 0 !important;
	line-height: 1.3 !important;
	color: var(--lts-text, #0a212c) !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}
.lts-product .lts-product__description p,
.lts-product .lts-product__description ul,
.lts-product .lts-product__description ol,
.lts-product .lts-product__description li,
.lts-product__description p,
.lts-product__description ul,
.lts-product__description ol,
.lts-product__description li {
	font-size: 16px !important;
	line-height: 1.6 !important;
	color: var(--lts-text, #0a212c) !important;
	margin: 0 0 8px 0 !important;
}
.lts-product__description ul,
.lts-product__description ol {
	padding-left: 20px !important;
}

/* RELATED — eigen card-slider */
.lts-product__related {
	margin-top: 48px;
	margin-bottom: 32px;
	padding-top: 32px;
	padding-bottom: 16px;
	border-top: 1px solid var(--lts-border, #d4e5ee);
}
.lts-product-wrapper {
	padding-bottom: 16px;
}
.lts-product__related-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
	gap: 12px;
}
.lts-product__related-head h2 {
	font-size: 20px;
	font-weight: 700;
	margin: 0;
	color: var(--lts-text, #0a212c);
	text-align: left;
}
.lts-product__related-nav {
	display: inline-flex;
	gap: 6px;
}
.lts-product__related-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background: #fff;
	border: 1px solid var(--lts-border, #d4e5ee);
	border-radius: 999px;
	color: var(--lts-text, #0a212c);
	cursor: pointer;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
	padding: 0;
}
.lts-product__related-arrow:hover {
	background: var(--lts-accent, #35a5de);
	border-color: var(--lts-accent, #35a5de);
	color: #fff;
}
.lts-product__related-arrow:disabled {
	opacity: .35;
	cursor: not-allowed;
}
.lts-product__related-slider {
	overflow: hidden;
	width: 100%;
	position: relative;
	/* Extra ruimte zodat hover-lift en box-shadow van de cards niet worden afgeknipt. */
	padding: 12px 0 20px;
	margin: -12px 0 -20px;
}
.lts-product__related-track {
	display: flex;
	gap: 16px;
	transition: transform .35s ease;
	will-change: transform;
}
.lts-product__related-item {
	flex: 0 0 calc((100% - 48px) / 4);
	max-width: calc((100% - 48px) / 4);
	display: flex;
}
.lts-product__related-item > .lts-card {
	width: 100%;
}
@media (max-width: 1024px) {
	.lts-product__related-item {
		flex-basis: calc((100% - 32px) / 3);
		max-width: calc((100% - 32px) / 3);
	}
}
@media (max-width: 768px) {
	.lts-product__related-item {
		flex-basis: calc((100% - 16px) / 2);
		max-width: calc((100% - 16px) / 2);
	}
}
@media (max-width: 600px) {
	/* Full-bleed zoals de home-slider: breek uit de container naar volledige
	   schermbreedte zodat de peek netjes tot de schermrand loopt i.p.v. op een
	   ingesprongen rand te worden afgekapt. */
	.lts-product__related-slider {
		width: 100vw;
		max-width: 100vw;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
	}
	.lts-product__related-track {
		/* 16px gutter — gelijk aan de module-brede mobiele padding. */
		padding-left: 16px;
		padding-right: 16px;
	}
	.lts-product__related-item {
		flex-basis: calc(90% - 16px);
		max-width: calc(90% - 16px);
	}
	/* Minder witruimte onder de slider (≈ helft). */
	.lts-product__related {
		margin-top: 28px;
		margin-bottom: 12px;
		padding-bottom: 4px;
	}
}

/* USPs (rechter kolom, onder order) */
.lts-product__usps {
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
	border-top: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.lts-product__usps li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 15px;
	font-weight: 600;
	color: var(--lts-text, #0a212c);
	line-height: 1.4;
	margin: 0;
	padding: 0;
}
.lts-product__usp-icon {
	flex-shrink: 0;
	color: var(--lts-accent, #35a5de);
	margin-top: 2px;
}

/* ADVIES-BLOK */
.lts-product__advice {
	background: var(--lts-bg, #eaf6fb);
	border-radius: 8px;
	padding: 18px 20px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.lts-product__advice-text { display: flex; flex-direction: column; gap: 4px; }
.lts-product .lts-product__advice-heading,
.lts-product__advice-heading {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	color: var(--lts-text, #0a212c) !important;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}
.lts-product__advice-sub {
	margin: 0 !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
	color: var(--lts-text-muted, #4a6470) !important;
}
.lts-product__advice-actions {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}
.lts-product__advice-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex: 1 1 0;
	min-width: 140px;
	padding: 10px 14px;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none !important;
	cursor: pointer;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
	box-sizing: border-box;
	line-height: 1.2;
	white-space: nowrap;
}
.lts-product__advice-btn--phone {
	background: var(--lts-accent, #35a5de);
	color: #fff !important;
	border: 1px solid var(--lts-accent, #35a5de);
}
.lts-product__advice-btn--phone:hover {
	background: var(--lts-accent-dark, #2188bd);
	border-color: var(--lts-accent-dark, #2188bd);
	color: #fff !important;
}
.lts-product__advice-btn--email {
	background: #fff;
	color: var(--lts-accent, #35a5de) !important;
	border: 1px solid var(--lts-accent, #35a5de);
}
.lts-product__advice-btn--email:hover {
	background: var(--lts-accent, #35a5de);
	color: #fff !important;
}

/* MOBILE */
@media (max-width: 900px) {
	/* Op mobiel zetten we de layout om in een flex-column en laten we beide
	   kolommen 'doorkijken' (display: contents) zodat hun children direct
	   flex-items van .lts-product__layout worden. Zo kunnen we de volgorde
	   sturen: gallery -> info (incl. winkelwagen-knop) -> below-gallery
	   (omschrijving/specs/docs) -> usps -> advies. */
	.lts-product__layout {
		display: flex;
		flex-direction: column;
		gap: 10px;
	}
	.lts-product__info {
		gap: 8px !important;
	}
	.lts-product__order {
		margin-top: 0 !important;
	}
	.lts-product__price-row {
		margin: 0 !important;
	}
	.lts-product__gallery-col,
	.lts-product__info-col {
		display: contents;
	}
	.lts-product__gallery       { order: 1; width: 100%; min-width: 0; }
	.lts-product__info          { order: 2; width: 100%; min-width: 0; }
	.lts-product__below-gallery { order: 3; width: 100% !important; min-width: 0 !important; max-width: 100% !important; box-sizing: border-box !important; border-top: 0 !important; padding-top: 0 !important; margin-top: 0 !important; flex: 1 1 100% !important; }
	.lts-product__usps          { order: 4; width: 100%; min-width: 0; }
	.lts-product__advice        { order: 5; width: 100%; min-width: 0; box-sizing: border-box; }
	/* Accordions zelf ook 100% breed forceren. */
	.lts-product__below-gallery > .lts-product__details {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.lts-product .lts-product__title,
	.lts-product__title { font-size: 24px !important; }
	.lts-product__price { font-size: 22px; }
}
@media (max-width: 900px) {
	/* Zorg dat order-rij (qty + favoriet + in winkelwagen) exact dezelfde
	   breedte heeft als de prijs/voorraad-rij erboven. qty hugt links, button
	   hugt rechts. Heart zit ertussen. */
	.lts-product__price-row,
	.lts-product__order {
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box !important;
	}
	.lts-product__order {
		display: flex !important;
		align-items: stretch !important;
		gap: 8px !important;
		margin-top: 8px !important;
		flex-wrap: nowrap !important;
	}
	.lts-product__order .lts-product__qty {
		flex: 0 0 auto !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.lts-product__order .lts-product__favorite {
		flex: 0 0 38px !important;
		margin: 0 !important;
	}
	.lts-product__order .lts-product__add-to-cart {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		margin: 0 !important;
	}
}
@media (max-width: 600px) {
	.lts-product { padding: 16px 16px; }
	/* Order-rij blijft BINNEN de container zodat de "In winkelwagen" knop
	   altijd past en nooit buiten het scherm loopt. qty links, hartje, dan
	   de knop die de resterende ruimte vult (en mag krimpen). */
	.lts-product__order {
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: 8px !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}
	.lts-product__order .lts-product__qty {
		flex: 0 0 auto !important;
	}
	.lts-product__order .lts-product__favorite {
		flex: 0 0 38px !important;
	}
	.lts-product__order .lts-product__add-to-cart {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		white-space: nowrap !important;
	}
}

/* ===== Excl + incl. btw prijs-weergave (product detail) ===== */
.lts-product__price .lts-price-wrap { display: block; }
.lts-product__price .lts-price-excl { display: block; }
.lts-product__price .lts-price-incl {
	display: block;
	font-size: 13px;
	font-weight: 400;
	color: var(--lts-text-muted);
	line-height: 1.3;
	margin-top: 2px;
}
.lts-product__price .lts-price-incl .woocommerce-Price-amount,
.lts-product__price .lts-price-incl .woocommerce-Price-amount bdi,
.lts-product__price .lts-price-incl .woocommerce-Price-currencySymbol {
	font-size: inherit !important;
	font-weight: inherit !important;
	color: inherit !important;
}

/* ===== Kleur-indicatie boven de prijs ===== */
.lts-product__color {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	color: var(--lts-text);
	margin: 6px 0 2px;
	line-height: 1.4;
}
.lts-product__color-label {
	font-weight: 600;
	color: var(--lts-text-muted);
}
.lts-product__color-swatches {
	display: inline-flex;
	gap: 4px;
}
.lts-product__color-swatches .lts-color-swatch {
	width: 18px;
	height: 18px;
}
.lts-product__color-name {
	font-weight: 600;
}

/* Order-wrapper: bundelt knop-rij + levertijd tot ÉÉN flex-item van
   .lts-product__info, zodat de parent gap (14px) niet meer tussen knop
   en levertijd telt. Levertijd kleeft direct onder de knop; ruimte komt
   ONDER de levertijd (= boven de USPs). */
.lts-product .lts-product__order-wrap {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
}
.lts-product .lts-product__order-wrap > .lts-product__order {
	margin: 0 !important;
}
.lts-product .lts-product__order-wrap > .lts-product__delivery {
	display: block !important;
	margin: 4px 0 20px !important;
	padding: 0 !important;
	font-size: 12px !important;
	line-height: 1.3 !important;
	color: var(--lts-text-muted, #4a6470) !important;
}
.lts-product__delivery-label {
	font-weight: 500;
}
.lts-product__delivery-value {
	font-weight: 600;
	color: var(--lts-text, #0a212c);
}
