/**
 * Montagemarkt product detail-pagina.
 * Knoppen volgen de stijl van de productkaarten (zie filter.css).
 */

.lts-product {
	max-width: 1200px;
	margin: 0 auto;
	padding: 24px 16px;
	color: var(--lts-text, #032548);
	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, #e50b23); }

/* INFO RIGHT */
.lts-product__info {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
/* Lege wrappers binnen het bestelblok mogen geen margin/padding hebben. */
.lts-product__info .single_variation_wrap { margin: 0 !important; padding: 0 !important; }
.lts-product__info .woocommerce-variation-add-to-cart.variations_button { margin: 0 !important; padding: 0 !important; }
.lts-product__brand {
	font-size: 12px;
	color: var(--lts-accent, #e50b23);
	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, #032548) !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, #4a5568);
}
.lts-product__sku,
.lts-product__model {
	white-space: nowrap;
}

.lts-product__short-desc {
	font-size: 14px;
	line-height: 1.5;
	color: var(--lts-text, #032548);
}
.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;
}
/* Prijs-stijling: zie assets/lts-price.css (single source of truth). */
.lts-product__price ins { text-decoration: none; }

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

/* ORDER FORM — stijl van product cards (zie .lts-card__cta in filter.css).
   Géén `gap` — die plaatst voor sommigen ook (visueel) ruimte aan de buitenste
   kanten. We gebruiken margin-left tussen items in zodat er ALLEEN ruimte
   tussen de items zit, niet vóór het eerste of ná het laatste item. */
.lts-product__order {
	display: flex;
	align-items: stretch;
	margin-top: 0;
}
.lts-product__order > * + * {
	margin-left: 8px;
}
.lts-product__qty {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--lts-border, #d1d5db);
	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, #032548);
	cursor: pointer;
	user-select: none;
	transition: background .15s ease;
}
.lts-product__qty-btn:hover { background: var(--lts-bg, #eff1f3); }
.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, #032548);
	-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, #d1d5db);
	border-radius: 4px;
	cursor: pointer;
	color: var(--lts-text-muted, #4a5568);
	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;
	min-width: 0;
	display: block;
	text-align: center;
	box-sizing: border-box;
	background: var(--lts-accent, #e50b23) !important;
	color: #fff !important;
	border: 1px solid var(--lts-accent, #e50b23) !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, #c4091e) !important;
	border-color: var(--lts-accent-dark, #c4091e) !important;
}

/* INKLAPBARE SECTIES (Specificaties / Documentatie) */
.lts-product__details {
	margin-top: 4px;
	padding: 6px 0;
	border-top: 1px solid var(--lts-border, #d1d5db);
}
/* 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: flex-start;
	font-weight: 700;
	font-size: 16px;
	color: var(--lts-text, #032548);
	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, #4a5568);
	margin-left: auto;
}
.lts-product__details-count {
	margin-left: 6px;
	font-weight: 500;
	color: var(--lts-text-muted, #4a5568);
}
.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, #4a5568) !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, #032548) !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, #e50b23);
	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: 0;
	border-top: 0;
}

/* 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, #032548);
}
.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, #032548) !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, #032548) !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: 0;
	padding-bottom: 16px;
	border-top: 0;
}
.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 .lts-product__related-head h2,
.lts-product__related-head h2 {
	font-size: 34px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--lts-text, #032548) !important;
	text-align: left !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}
@media (max-width: 768px) {
	.lts-product .lts-product__related-head h2,
	.lts-product__related-head h2 {
		font-size: 24px !important;
	}
}
.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, #d1d5db);
	border-radius: 999px;
	color: var(--lts-text, #032548);
	cursor: pointer;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
	padding: 0;
}
.lts-product__related-arrow:hover {
	background: var(--lts-accent, #e50b23);
	border-color: var(--lts-accent, #e50b23);
	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: 480px) {
	.lts-product__related-item {
		flex-basis: 80%;
		max-width: 80%;
	}
}
/* Mobiel: native horizontale scroll i.p.v. transform-navigatie zodat de
   slider netjes doorloopt naar rechts en je 'm kunt swipen of via de arrows
   kunt navigeren. */
@media (max-width: 768px) {
	.lts-product__related-slider {
		overflow-x: auto;
		overflow-y: visible;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
		/* Native scrollbalk verbergen — we tonen i.p.v. daarvan eigen blokjes
		   (.lts-product__related-dots) die het aantal stappen + positie weergeven. */
		scrollbar-width: none;
		-ms-overflow-style: none;
		/* LINKS: geen breakout — de slider houdt z'n natuurlijke positie, dus de
		   eerste card lijnt exact uit met de titel (content-inspring), los van
		   theme-marges.
		   RECHTS: width:auto + negatieve margin-right rekt de slider precies tot
		   de schermrand op (GEEN 100vw-overshoot). Daardoor klopt de scroll-
		   breedte exact: ook de laatste card komt volledig in beeld en er ontstaat
		   geen horizontale page-scroll. */
		width: auto !important;
		max-width: none !important;
		margin: 0 calc(50% - 50vw) 0 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box;
		position: relative;
		z-index: 1;
	}
	.lts-product__related-track {
		transform: none !important;
		transition: none !important;
	}
	/* Scroll-eind-ruimte: de LAATSTE card moet stoppen op de content-rand
	   (zelfde 36px-inspring als de eerste card links) i.p.v. tegen de schermrand.
	   LET OP: `padding-right` op de flex-track én `margin-right` op de laatste
	   card worden door browsers genegeerd in de scroll-overflow (bekende flexbox-
	   bug). Een echt spacer-element (::after) ís wél onderdeel van de scrollWidth.
	   De flex-`gap` (16px) telt vóór de spacer mee, dus spacer-breedte = inset − gap.
	   Standaard ≤768px: inset 16px → spacer 0px (de gap levert al 16px). */
	.lts-product__related-track::after {
		content: '';
		flex: 0 0 0px;
		align-self: stretch;
	}
	.lts-product__related-item {
		scroll-snap-align: start;
	}
}
/* ≤600px heeft .lts-product 36px side-padding → spacer 20px (16 gap + 20 = 36)
   zodat de laatste card net als de eerste 36px van de schermrand blijft. */
@media (max-width: 600px) {
	.lts-product__related-track::after {
		flex-basis: 20px;
	}
}

/* Eigen scroll-indicator (blokjes). Standaard verborgen — alleen op mobiel
   zichtbaar, als vervanging van de native scrollbalk. */
.lts-product__related-dots {
	display: none;
}
@media (max-width: 768px) {
	/* Webkit/Blink: native scrollbalk verbergen (Chrome, Safari, Edge). */
	.lts-product__related-slider::-webkit-scrollbar {
		display: none;
		width: 0;
		height: 0;
	}
	.lts-product__related-dots {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		flex-wrap: nowrap;
		gap: 4px;
		margin: 16px 0 0;
		padding: 0;
	}
	.lts-product__related-dot {
		width: 14px;
		height: 4px;
		padding: 0;
		border: 0;
		border-radius: 2px;
		background: rgba(3, 37, 72, 0.18);
		cursor: pointer;
		flex: 0 1 auto;
		min-width: 6px;
		transition: background-color .2s ease, width .2s ease;
		-webkit-appearance: none;
		appearance: none;
	}
	.lts-product__related-dot.is-active {
		width: 22px;
		background: var(--lts-text, #032548);
	}
}

/* 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, #032548);
	line-height: 1.4;
	margin: 0;
	padding: 0;
}
.lts-product__usp-icon {
	flex-shrink: 0;
	color: var(--lts-accent, #e50b23);
	margin-top: 2px;
}

/* ADVIES-BLOK */
.lts-product__advice {
	background: var(--lts-bg, #eff1f3);
	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, #032548) !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, #4a5568) !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, #e50b23);
	color: #fff !important;
	border: 1px solid var(--lts-accent, #e50b23);
}
.lts-product__advice-btn--phone:hover {
	background: var(--lts-accent-dark, #c4091e);
	border-color: var(--lts-accent-dark, #c4091e);
	color: #fff !important;
}
.lts-product__advice-btn--email {
	background: #fff;
	color: var(--lts-accent, #e50b23) !important;
	border: 1px solid var(--lts-accent, #e50b23);
}
.lts-product__advice-btn--email:hover {
	background: var(--lts-accent, #e50b23);
	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;
		margin-top: 0 !important;
		flex-wrap: nowrap !important;
	}
	.lts-product__order .lts-product__qty {
		margin-left: 0 !important;
		margin-right: auto !important;
	}
	.lts-product__order .lts-product__add-to-cart {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		margin-right: 0 !important;
	}
}
@media (max-width: 600px) {
	.lts-product { padding: 16px 36px; }
	/* Order-rij breekt uit de .lts-product padding (-36px aan beide kanten)
	   zodat qty plakt aan de linker schermrand en de "In winkelwagen" knop
	   aan de rechter schermrand. */
	.lts-product__order {
		display: flex !important;
		flex-wrap: nowrap !important;
		margin-left: -36px !important;
		margin-right: -36px !important;
		width: calc(100% + 72px) !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;
	}
}

/* ============================================================
   SKU + CATEGORIE meta-regel
   ============================================================ */
.lts-product__sku-line {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	font-size: 14px;
	color: #8e9398 !important;
	font-weight: 400 !important;
	margin: -10px 0 0 !important;
}
/* Direct na de titel: trek de sku-line dichter op de h1. */
.lts-product__title + .lts-product__sku-line {
	margin-top: -8px !important;
}
.lts-product__sku-line *,
.lts-product__sku-line strong,
.lts-product__sku-line a,
.lts-product__sku-line span {
	color: #8e9398 !important;
	font-weight: 400 !important;
}
.lts-product__sku-line strong { margin-right: 6px; }
.lts-product__sku-line a { text-decoration: none; border-bottom: 1px dotted #8e9398; }
.lts-product__sku-line a:hover { color: var(--lts-accent, #e50b23) !important; border-bottom-color: var(--lts-accent, #e50b23); }

/* Inline review-rating in SKU-regel — alleen zichtbaar als er reviews zijn */
.lts-product__rating-inline {
	display: inline-flex !important;
	align-items: center;
	gap: 4px;
}
.lts-product__rating-stars {
	display: inline-block;
	position: relative;
	font-size: 13px;
	line-height: 1;
	letter-spacing: 1px;
	color: #cfd3d8;
	font-family: Arial, sans-serif;
}
.lts-product__rating-stars::before {
	content: '\2605\2605\2605\2605\2605';
}
.lts-product__rating-stars-fill {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	white-space: nowrap;
	color: #f5a623 !important;
}
.lts-product__rating-stars-fill::before {
	content: '\2605\2605\2605\2605\2605';
}
.lts-product__sku-line .lts-product__rating-count {
	border-bottom: 0 !important;
	font-size: 13px;
}
.lts-product__sku-line .lts-product__rating-count:hover {
	color: var(--lts-accent, #e50b23) !important;
}

/* ============================================================
   VOORRAAD PER LOCATIE
   ============================================================ */
.lts-stock-locations {
	border: 1px solid var(--lts-border, #d1d5db);
	border-radius: 8px;
	padding: 4px 16px;
	background: #fff;
	margin: 4px 0;
}
.lts-stock-locations__row {
	display: grid;
	grid-template-columns: minmax(80px, 1fr) auto minmax(140px, 1.4fr);
	align-items: center;
	gap: 16px;
	padding: 14px 0;
	border-bottom: 1px solid var(--lts-border, #d1d5db);
}
.lts-stock-locations__row:last-child { border-bottom: 0; }
.lts-stock-locations__name {
	font-size: 14px;
	color: var(--lts-text, #032548);
	font-weight: 500;
}
.lts-stock-locations__status {
	display: flex;
	flex-direction: column;
	text-align: right;
	line-height: 1.3;
}
.lts-stock-locations__status-text {
	font-size: 14px;
	font-weight: 600;
}
.lts-stock-locations__count {
	font-size: 12px;
	color: var(--lts-text-muted, #4a5568);
	margin-top: 2px;
}
.lts-stock-locations__row.is-in .lts-stock-locations__status-text  { color: #2e8b3a; }
.lts-stock-locations__row.is-low .lts-stock-locations__status-text { color: #c47c00; }
.lts-stock-locations__row.is-out .lts-stock-locations__status-text { color: #d63638; }

/* Stoplicht-bolletjes */
.lts-stock-dots { display: inline-flex; gap: 4px; align-items: center; }
.lts-stock-dots__dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #d9dde2;
	display: inline-block;
}
.lts-stock-dots__dot.is-on { background: #2e8b3a; }
.lts-stock-locations__row.is-low .lts-stock-dots__dot.is-on { background: #c47c00; }
.lts-stock-locations__row.is-out .lts-stock-dots__dot.is-on { background: #d63638; }

@media (max-width: 600px) {
	.lts-stock-locations__row {
		grid-template-columns: 1fr auto;
		gap: 8px 12px;
	}
	.lts-stock-locations__status {
		grid-column: 1 / -1;
		text-align: left;
		flex-direction: row;
		align-items: baseline;
		gap: 8px;
	}
	.lts-stock-locations__count { margin-top: 0; }
}

/* ============================================================
   LEVERTIJD
   ============================================================ */
.lts-product__delivery {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--lts-bg, #eff1f3);
	color: var(--lts-text, #032548);
	border-radius: 6px;
	padding: 8px 14px;
	font-size: 14px;
	margin: 0;
	width: fit-content;
}
.lts-product__delivery svg { color: var(--lts-accent, #e50b23); flex-shrink: 0; }

/* ============================================================
   TABS (productomschrijving / specificaties / documenten)
   ============================================================ */
.lts-product__tabs {
	margin-top: 24px;
	padding-top: 0;
	border-top: 0;
}
.lts-product__tabs-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	border-bottom: 2px solid var(--lts-border, #d1d5db);
	margin-bottom: 20px;
}
.lts-product__tab {
	all: unset;
	cursor: pointer;
	padding: 12px 20px;
	font-size: 15px;
	font-weight: 600;
	color: var(--lts-text-muted, #4a5568);
	border-bottom: 2px solid transparent;
	margin-bottom: -2px;
	transition: color .15s ease, border-color .15s ease;
	user-select: none;
}
.lts-product__tab:hover { color: var(--lts-text, #032548); }
.lts-product__tab.is-active {
	color: var(--lts-accent, #e50b23);
	border-bottom-color: var(--lts-accent, #e50b23);
}

.lts-product__tab-panel {
	display: none;
	padding: 8px 0 16px;
}
.lts-product__tab-panel.is-active { display: block; }

@media (max-width: 600px) {
	.lts-product__tab { padding: 10px 14px; font-size: 14px; }
}

/* ============================================================
   VARIATIONS (dropdown-opties voor variabele producten)
   ============================================================ */
.lts-product__variation-fields {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	margin: 0 0 10px 0 !important;
	padding: 0 !important;
}
.lts-product__variation-field {
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
	margin: 0 !important;
	padding: 0 !important;
}
.lts-product .lts-product__variation-label,
.lts-product__variation-label {
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var(--lts-text, #032548) !important;
	margin: 0 0 4px 0 !important;
	padding: 0 !important;
	line-height: 1.3 !important;
	display: block !important;
}
.lts-product .lts-product__variation-select,
.lts-product__variation-select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
	height: 44px;
	padding: 0 40px 0 14px;
	border: 1px solid var(--lts-border, #d1d5db);
	border-radius: 6px;
	background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M0 0l6 8 6-8z' fill='%23032548'/></svg>") no-repeat right 14px center;
	background-size: 12px 8px;
	font-size: 14px;
	color: var(--lts-text, #032548);
	font-weight: 500;
	cursor: pointer;
	box-sizing: border-box;
}
.lts-product__variation-select:focus {
	outline: none;
	border-color: var(--lts-accent, #e50b23);
	box-shadow: 0 0 0 3px var(--lts-accent-soft, #fce4e7);
}

/* WC's reset-link en de variation-info */
.lts-product__variations .reset_variations {
	display: inline-block;
	font-size: 12px;
	color: var(--lts-text-muted, #4a5568);
	text-decoration: underline;
	margin-top: 4px;
}
.lts-product__variations .woocommerce-variation-price {
	font-size: 16px;
	font-weight: 700;
	color: var(--lts-text, #032548);
	margin: 8px 0;
}
.lts-product__variations .woocommerce-variation-availability {
	font-size: 13px;
	color: var(--lts-text-muted, #4a5568);
	margin: 4px 0 8px;
}

/* Prijs-stijling: zie assets/lts-price.css (single source of truth). */

/* Override theme/WC default margin onder de cart-form — hogere specificiteit
   met body. prefix om theme-CSS met !important te beat. */
body div.product form.cart:not(.dynamic-button),
body.single-product div.product form.cart,
body div.product form.cart {
	margin-top: 1px !important;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

/* Order form — links/rechts op 1 lijn met de blokken er omheen.
   WC's form.cart en thema's voegen vaak padding/width toe. Forceer 100% zonder padding. */
.lts-product .lts-product__order,
.lts-product form.lts-product__order,
.lts-product__variations .lts-product__order {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	display: flex !important;
	align-items: stretch !important;
	flex-wrap: nowrap !important;
}
.lts-product__order > * {
	margin: 0 !important;
}
.lts-product__order > * + * {
	margin-left: 8px !important;
}
.lts-product__order .lts-product__qty {
	margin-left: 0 !important;
}
.lts-product__order .lts-product__add-to-cart {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	margin-right: 0 !important;
}
/* Variations form (variable products) — zelfde behandeling. */
.lts-product__variations,
form.variations_form.lts-product__variations {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

/* Breadcrumbs op productpagina. */
.lts-product .lts-breadcrumbs,
.lts-breadcrumbs {
	font-size: 13px;
	color: #8e9398 !important;
	font-weight: 400 !important;
	margin: 0 0 16px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	line-height: 1.4;
}
.lts-breadcrumbs__link,
.lts-breadcrumbs__sep {
	color: #8e9398 !important;
	font-weight: 400 !important;
}
.lts-breadcrumbs__current {
	color: var(--lts-text, #032548) !important;
	font-weight: 600 !important;
}
.lts-breadcrumbs__link {
	text-decoration: none;
	transition: color .15s ease;
}
.lts-breadcrumbs__link:hover {
	color: var(--lts-accent, #e50b23) !important;
	text-decoration: underline;
}

/* Productfamilie-dropdown — switch tussen varianten (bv. lengte). */
.lts-product__family {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0 0 4px 0;
}
.lts-product__family-label {
	font-size: 14px;
	font-weight: 600;
	color: var(--lts-text, #032548);
}
.lts-product__family-select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
	height: 44px;
	padding: 0 40px 0 14px;
	border: 1px solid var(--lts-border, #d1d5db);
	border-radius: 6px;
	background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M0 0l6 8 6-8z' fill='%23032548'/></svg>") no-repeat right 14px center;
	background-size: 12px 8px;
	font-size: 14px;
	color: var(--lts-text, #032548);
	font-weight: 500;
	cursor: pointer;
	box-sizing: border-box;
}
.lts-product__family-select:focus {
	outline: none;
	border-color: var(--lts-accent, #e50b23);
	box-shadow: 0 0 0 3px var(--lts-accent-soft, #fce4e7);
}

/* Badges linksboven op detailpagina-foto (Montagemarkt keuze + Aanbieding). */
.lts-product__badges {
	position: absolute;
	top: 16px;
	left: 16px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	z-index: 3;
	max-width: calc(100% - 80px);
}
.lts-product__badge {
	display: inline-block;
	padding: 6px 12px;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	border-radius: 4px;
	letter-spacing: .3px;
	line-height: 1.2;
	text-transform: none;
	white-space: nowrap;
	box-shadow: 0 2px 6px rgba(0,0,0,.12);
}
.lts-product__badge--sale   { background: #e50b23; }
.lts-product__badge--choice { background: #009f3a; }

/* Hard reset voor variations_form en single_variation_wrap — die voegen vaak
   theme-padding toe waardoor qty/cart-knop niet flush links/rechts staan. */
.lts-product__variations,
.lts-product .lts-product__variations,
.lts-product__info form.variations_form,
.lts-product__info .single_variation_wrap,
.lts-product__info .woocommerce-variation-add-to-cart {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	display: block !important;
}
.lts-product__info .woocommerce-variation-add-to-cart.lts-product__order,
.lts-product__info .woocommerce-variation-add-to-cart {
	display: flex !important;
	flex-wrap: nowrap !important;
}
/* WC's single_variation div (de prijs/voorraad-update bij variant-keuze)
   moet géén ruimte innemen als die leeg is. */
.lts-product__info .single_variation:empty,
.lts-product__info .woocommerce-variation:empty,
.lts-product__info .woocommerce-variation.single_variation:empty {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Sale-prijzen op de DETAILPAGINA — alleen op .lts-product__price scope, niet op cards.
   We forceren ALLE text-decoration weg (UA <del> default + theme rules) en plakken
   onze eigen 3px gecentreerde streep via een pseudo-element. Tekstkleur blijft donkerblauw. */
.lts-product__price .lts-price__main .lts-price__regular,
.lts-product__price .lts-price__main del.lts-price__regular {
	color: var(--lts-text, #032548) !important;
	text-decoration: none !important;
	text-decoration-line: none !important;
	font-weight: 700 !important;
	position: relative;
	display: inline-block;
}
.lts-product__price .lts-price__main .lts-price__regular *,
.lts-product__price .lts-price__main .lts-price__regular .woocommerce-Price-amount,
.lts-product__price .lts-price__main .lts-price__regular .amount,
.lts-product__price .lts-price__main .lts-price__regular bdi,
.lts-product__price .lts-price__main .lts-price__regular span {
	color: var(--lts-text, #032548) !important;
	text-decoration: none !important;
	text-decoration-line: none !important;
	font-weight: 700 !important;
}
.lts-product__price .lts-price__main .lts-price__regular::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	height: 3px;
	background: var(--lts-text, #032548);
	transform: translateY(-50%);
	pointer-events: none;
	z-index: 1;
}

/* Voor de incl. BTW regel — laat de standaard line-through gewoon staan zoals het was. */
.lts-price__secondary .lts-price__regular,
.lts-card .lts-card__price .lts-price__regular {
	color: #8e9398 !important;
	text-decoration: line-through !important;
	font-weight: 400 !important;
}
.lts-price__sale,
.lts-price__sale .woocommerce-Price-amount,
.lts-price__sale bdi {
	text-decoration: none !important;
	color: #e50b23 !important;
}
.lts-price--on-sale .lts-price__main {
	color: #e50b23 !important;
}
/* Compact (cards): kleinere strikethrough. */
.lts-price--compact .lts-price__regular,
.lts-price--compact .lts-price__regular .woocommerce-Price-amount {
	font-size: 12px !important;
}

/* =========================================================
 * STICKY BESTELBALK (onderin)
 * Verschijnt zodra de hoofd-bestelvorm bovenin uit beeld is.
 * ========================================================= */
.lts-product__sticky {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	/* Footer heeft z-index: 10 → bar moet eronder verdwijnen. */
	z-index: 5;
	background: #ffffff;
	border-top: 1px solid #e6e8eb;
	box-shadow: 0 -4px 16px rgba(3, 37, 72, 0.08);
	transform: translateY(100%);
	transition: transform 220ms ease;
	pointer-events: none;
}
.lts-product__sticky.is-visible {
	transform: translateY(0);
	pointer-events: auto;
}
.lts-product__sticky-inner {
	max-width: 1280px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 10px 20px;
}
.lts-product__sticky-img {
	width: 56px;
	height: 56px;
	object-fit: contain;
	border-radius: 6px;
	background: #f6f7f8;
	flex: 0 0 auto;
}
.lts-product__sticky-info {
	flex: 1 1 auto;
	min-width: 0;
}
.lts-product__sticky-title {
	font-size: 15px;
	font-weight: 700;
	color: #032548;
	line-height: 1.25;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.lts-product__sticky-sku {
	font-size: 12px;
	color: #6b7177;
	margin-top: 2px;
}
.lts-product__sticky-price {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	white-space: nowrap;
}
.lts-product__sticky-cta {
	flex: 0 0 auto;
	background: #e50b23;
	color: #ffffff;
	border: 0;
	border-radius: 6px;
	padding: 12px 22px;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	transition: background 150ms ease, transform 80ms ease;
	white-space: nowrap;
}
.lts-product__sticky-cta:hover {
	background: #c4091e;
}
.lts-product__sticky-cta:active {
	transform: translateY(1px);
}

/* Mobiel: compactere balk, prijs naast titel onder elkaar. */
@media (max-width: 640px) {
	.lts-product__sticky-inner {
		gap: 10px;
		padding: 8px 12px;
	}
	.lts-product__sticky-img {
		width: 44px;
		height: 44px;
	}
	.lts-product__sticky-title {
		font-size: 13px;
	}
	.lts-product__sticky-sku {
		display: none;
	}
	/* Op zeer kleine schermen prijs verbergen om CTA-ruimte te garanderen. */
	.lts-product__sticky-price .lts-price__secondary,
	.lts-product__sticky-price .lts-price__label {
		display: none !important;
	}
	.lts-product__sticky-price .lts-price__main {
		font-size: 15px !important;
	}
	.lts-product__sticky-cta {
		padding: 10px 16px;
		font-size: 14px;
	}
}
@media (max-width: 420px) {
	.lts-product__sticky-price {
		display: none;
	}
}

/* =========================================================
 * STICKY-BAR POPOVER — variatiekeuze voor variabele producten
 * Opent boven de balk, anchored rechtsonder (waar de CTA staat).
 * ========================================================= */
.lts-product__sticky-popover {
	position: absolute;
	right: 20px;
	bottom: calc(100% + 8px);
	width: 320px;
	max-width: calc(100vw - 40px);
	background: #ffffff;
	border: 1px solid #e6e8eb;
	border-radius: 10px;
	box-shadow: 0 8px 28px rgba(3, 37, 72, 0.18);
	padding: 18px 18px 16px;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 180ms ease, transform 180ms ease;
	pointer-events: none;
}
.lts-product__sticky-popover.is-open {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}
.lts-product__sticky-popover[hidden] {
	display: none;
}
.lts-product__sticky-popover-close {
	position: absolute;
	top: 6px;
	right: 8px;
	width: 30px;
	height: 30px;
	border: 0;
	background: transparent;
	font-size: 22px;
	line-height: 1;
	color: #6b7177;
	cursor: pointer;
	border-radius: 6px;
}
.lts-product__sticky-popover-close:hover {
	background: #f6f7f8;
	color: #032548;
}
.lts-product__sticky-popover-title {
	font-size: 15px;
	font-weight: 700;
	color: #032548;
	margin: 0 0 12px;
	padding-right: 28px;
}
.lts-product__sticky-popover-fields {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 12px;
}
.lts-product__sticky-popover-field {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.lts-product__sticky-popover-label {
	font-size: 13px;
	font-weight: 600;
	color: #032548;
}
.lts-product__sticky-popover-select {
	width: 100%;
	background: #ffffff;
	border: 1px solid #cfd3d8;
	border-radius: 6px;
	padding: 9px 12px;
	font-size: 14px;
	color: #032548;
	font-family: inherit;
	cursor: pointer;
	box-sizing: border-box;
}
.lts-product__sticky-popover-select:focus {
	outline: none;
	border-color: #032548;
	box-shadow: 0 0 0 3px rgba(3, 37, 72, 0.12);
}
.lts-product__sticky-popover-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-top: 10px;
	border-top: 1px solid #f0f2f4;
}
.lts-product__sticky-popover-price {
	flex: 1 1 auto;
	font-size: 14px;
	color: #032548;
	min-height: 18px;
}
.lts-product__sticky-popover-price .price {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
}
.lts-product__sticky-popover-cta {
	flex: 0 0 auto;
	background: #e50b23;
	color: #ffffff;
	border: 0;
	border-radius: 6px;
	padding: 10px 18px;
	font-size: 14px;
	font-weight: 700;
	font-family: inherit;
	cursor: pointer;
	transition: background 150ms ease, transform 80ms ease, opacity 150ms ease;
	white-space: nowrap;
}
.lts-product__sticky-popover-cta:hover:not(:disabled) {
	background: #c4091e;
}
.lts-product__sticky-popover-cta:active:not(:disabled) {
	transform: translateY(1px);
}
.lts-product__sticky-popover-cta:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}
.lts-product__sticky-popover-hint {
	margin-top: 8px;
	font-size: 12px;
	color: #6b7177;
	line-height: 1.4;
}

/* Mobiel: popover full-width binnen viewport-marge */
@media (max-width: 640px) {
	.lts-product__sticky-popover {
		right: 10px;
		left: 10px;
		width: auto;
		max-width: none;
		padding: 14px 14px 12px;
	}
}

/* =========================================================
 * REVIEW-FORMULIER (WooCommerce comments_template)
 * Doel: duidelijk leesbare velden + zichtbare CTA-knop,
 * in stijl met de rest van het Montagemarkt-formulier-design.
 * ========================================================= */
.lts-product__reviews #reviews,
.lts-product__reviews #review_form_wrapper,
.lts-product__reviews #respond {
	margin: 0;
	padding: 0;
}

/* Bestaande reviews-lijst — compacte kaart met eigen markup (review.php override),
   zelfde grijstint als advies-blok. We sturen onze eigen .lts-review classes aan,
   dus geen gevecht meer met thema-selectors. */
.lts-product .lts-product__reviews .commentlist,
.lts-product__reviews .commentlist,
.lts-product__reviews ol.commentlist {
	list-style: none !important;
	margin: 0 0 20px !important;
	padding: 0 !important;
}
.lts-product__reviews .commentlist li.lts-review,
.lts-product__reviews ol.commentlist li.lts-review {
	background: #eff1f3 !important;
	border: 0 !important;
	border-radius: 8px !important;
	padding: 12px 16px !important;
	margin: 0 0 8px !important;
	list-style: none !important;
	box-shadow: none !important;
}
.lts-product__reviews .commentlist li.lts-review::before {
	display: none !important;
	content: none !important;
}
.lts-product__reviews .lts-review__container {
	display: block !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
}
/* Kop-regel: naam links, datum + sterren rechts */
.lts-product__reviews .lts-review__head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	margin: 0 0 4px !important;
}
.lts-product__reviews .lts-review__author {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #032548 !important;
	font-style: normal !important;
}
.lts-product__reviews .lts-review__right {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	flex-shrink: 0 !important;
}
.lts-product__reviews .lts-review__date {
	font-size: 12px !important;
	color: #6b7177 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
}
.lts-product__reviews .lts-review__right .star-rating {
	position: relative !important;
	overflow: hidden !important;
	float: none !important;
	font-size: 13px !important;
	width: 5.4em !important;
	height: 1.2em !important;
	line-height: 1.2 !important;
	margin: 0 !important;
}
.lts-product__reviews .lts-review__right .star-rating::before {
	color: #cfd3d8 !important;
}
.lts-product__reviews .lts-review__right .star-rating span::before {
	color: #f5a623 !important;
}
/* Reviewtekst onder de kop */
.lts-product__reviews .lts-review__text {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #032548 !important;
}
.lts-product__reviews .lts-review__text p {
	margin: 0 !important;
	color: #032548 !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
}
.lts-product__reviews .lts-review__pending {
	margin: 0 !important;
	font-size: 13px !important;
	color: #6b7177 !important;
}

/* Kop "Wees de eerste om ... te beoordelen" */
.lts-product__reviews #reply-title,
.lts-product__reviews .comment-reply-title {
	display: block;
	font-size: 18px;
	font-weight: 700;
	color: #032548;
	margin: 0 0 18px;
	line-height: 1.3;
}

/* Sterren-rating */
.lts-product__reviews .comment-form-rating {
	margin: 0 0 18px;
}
.lts-product__reviews .comment-form-rating label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: #032548;
	margin: 0 0 8px;
}
.lts-product__reviews p.stars {
	display: inline-flex !important;
	gap: 2px;
	margin: 0;
}
.lts-product__reviews p.stars a {
	font-size: 22px;
	color: #cfd3d8;
	text-decoration: none;
	width: 24px;
	height: 24px;
	display: inline-block;
	line-height: 1;
}
.lts-product__reviews p.stars a:hover,
.lts-product__reviews p.stars a.active,
.lts-product__reviews p.stars.selected a.active ~ a {
	color: #cfd3d8;
}
.lts-product__reviews p.stars a.active,
.lts-product__reviews p.stars:hover a,
.lts-product__reviews p.stars.selected a:not(.active) {
	color: #f5a623;
}
.lts-product__reviews p.stars.selected a.active ~ a,
.lts-product__reviews p.stars:hover a:hover ~ a {
	color: #cfd3d8;
}

/* Form layout: comment full-width, author/email naast elkaar */
.lts-product__reviews .comment-form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.lts-product__reviews .comment-form > p {
	margin: 0;
}
.lts-product__reviews .comment-form-rating,
.lts-product__reviews .comment-form-comment,
.lts-product__reviews .comment-notes,
.lts-product__reviews .form-submit,
.lts-product__reviews .comment-form-cookies-consent {
	grid-column: 1 / -1;
}

/* Labels */
.lts-product__reviews .comment-form label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: #032548;
	margin: 0 0 6px;
}
.lts-product__reviews .comment-form .required {
	color: #e50b23;
}

/* Inputs + textarea: zichtbare border, comfortabele padding */
.lts-product__reviews .comment-form input[type="text"],
.lts-product__reviews .comment-form input[type="email"],
.lts-product__reviews .comment-form input[type="url"],
.lts-product__reviews .comment-form textarea {
	width: 100%;
	background: #ffffff;
	border: 1px solid #cfd3d8;
	border-radius: 6px;
	padding: 12px 14px;
	font-size: 15px;
	color: #032548;
	font-family: inherit;
	line-height: 1.4;
	box-sizing: border-box;
	transition: border-color 150ms ease, box-shadow 150ms ease;
}
.lts-product__reviews .comment-form textarea {
	min-height: 120px;
	resize: vertical;
}
.lts-product__reviews .comment-form input:focus,
.lts-product__reviews .comment-form textarea:focus {
	outline: none;
	border-color: #032548;
	box-shadow: 0 0 0 3px rgba(3, 37, 72, 0.12);
}

/* Submit-knop — rood, zelfde hoeken en formaat als sticky-CTA */
.lts-product__reviews .form-submit {
	margin-top: 8px;
}
.lts-product__reviews .form-submit input[type="submit"],
.lts-product__reviews #submit {
	background: #e50b23 !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 6px !important;
	padding: 12px 22px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	font-family: inherit !important;
	cursor: pointer;
	transition: background 150ms ease, transform 80ms ease;
	text-transform: none !important;
	letter-spacing: 0 !important;
	line-height: 1.2 !important;
}
.lts-product__reviews .form-submit input[type="submit"]:hover,
.lts-product__reviews #submit:hover {
	background: #c4091e !important;
}
.lts-product__reviews .form-submit input[type="submit"]:active,
.lts-product__reviews #submit:active {
	transform: translateY(1px);
}

/* Cookies-consent regel */
.lts-product__reviews .comment-form-cookies-consent {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 13px;
	color: #6b7177;
}
.lts-product__reviews .comment-form-cookies-consent input[type="checkbox"] {
	margin-top: 3px;
}
.lts-product__reviews .comment-form-cookies-consent label {
	margin: 0;
	font-weight: 400;
	color: #6b7177;
}

/* Notes onder formulier */
.lts-product__reviews .comment-notes {
	font-size: 13px;
	color: #6b7177;
	margin: 0 0 4px;
}

/* Mobile: één kolom */
@media (max-width: 640px) {
	.lts-product__reviews .comment-form {
		grid-template-columns: 1fr;
	}
}
