/* Productpagina ZW (F2, bd-nb6h.3). Alleen geladen op single product. Kleuren via zw.css-variabelen. */

/* ---------- Galerij: miniaturen als één scrollbare rij (zoals de carrousel op live) ---------- */
.woocommerce-product-gallery .flexy-pills[data-type="thumbs"] ol {
	display: flex;
	flex-wrap: nowrap;
	gap: 10px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	padding-bottom: 4px;
}
.woocommerce-product-gallery .flexy-pills[data-type="thumbs"] li {
	flex: 0 0 calc((100% - 40px) / 5);
	margin: 0;
	scroll-snap-align: start;
}
@media (max-width: 689.98px) {
	.woocommerce-product-gallery .flexy-pills[data-type="thumbs"] li {
		flex-basis: calc((100% - 30px) / 4);
	}
}

/* ---------- Samenvatting ---------- */
.single-product .product_title {
	font-family: "Exo 2", sans-serif;
	font-weight: 600;
}

/* Onder 1000 px staan foto's en samenvatting onder elkaar: daar komt de titel boven de foto's (bd-dmki.3).
   Eén H1 en geen JS: de samenvatting telt niet mee als blok, zodat de titel met order vóór de galerij komt. */
@media (max-width: 999.98px) {
	.single-product .product-entry-wrapper {
		display: flex;
		flex-direction: column;
	}
	.single-product .product-entry-wrapper > .entry-summary {
		display: contents;
	}
	.single-product .product-entry-wrapper > .entry-summary > .product_title {
		order: -1;
		margin-bottom: 16px;
	}
}

.single-product .entry-summary .woocommerce-product-details__short-description {
	margin-bottom: 18px;
}

.zw-uitgelicht {
	margin: 0 0 20px;
}
.zw-uitgelicht__titel {
	margin: 0 0 6px;
	font-family: "Exo 2", sans-serif;
	font-weight: 600;
	color: var(--zw-tekst, #0d1116);
}
.zw-uitgelicht dl {
	margin: 0;
}
.zw-uitgelicht__rij {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	padding: 9px 0;
	border-bottom: 1px solid #d5dcdd;
}
.zw-uitgelicht dt {
	color: #5d6b6d;
}
.zw-uitgelicht dd {
	margin: 0;
	font-weight: 600;
	color: var(--zw-tekst, #0d1116);
}

.single-product .entry-summary .price {
	margin-bottom: 6px;
	font-size: 26px;
}

/* Voorraad zoals live: groen vinkje / rood kruis. */
.single-product .entry-summary .stock {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0 0 14px;
	font-weight: 600;
}
.single-product .entry-summary .stock.in-stock::before,
.single-product .entry-summary .stock.available-on-backorder::before {
	content: "✓";
	color: var(--zw-petrol, #075056);
}
.single-product .entry-summary .stock.in-stock,
.single-product .entry-summary .stock.available-on-backorder {
	color: var(--zw-petrol, #075056);
}
.single-product .entry-summary .stock.out-of-stock {
	color: #c0141c;
}
.single-product .entry-summary .stock.out-of-stock::before {
	content: "✕";
	color: var(--zw-oranje, #ff5a06);
}
/* Op voorraad en nabestellen kan: grijze tweede regel onder de voorraadregel (bd-1h0h). */
.single-product .entry-summary .zw-voorraad-blok {
	margin: 0 0 14px;
}
.single-product .entry-summary .zw-voorraad-blok .stock {
	margin-bottom: 2px;
}
.single-product .entry-summary .zw-voorraad-meer {
	margin: 0;
	padding-left: 18px;
	font-size: 14px;
	color: #5d6b6d;
}
/* Niet in de zwevende koopbalk van Blocksy: daar past alleen "Op voorraad", anders loopt de balk op mobiel uit (bd-dmki.1). */
.ct-floating-bar .zw-voorraad-meer {
	display: none;
}

/* ---------- Zwevende koopbalk (Blocksy), onderaan sinds bd-dmki.3 ---------- */
/* Geen losse "/" tussen prijs en voorraad, en de voorraadtekst op één regel ("Levertijd 3-5 werkdagen" brak af).
   Een niveau specifieker dan Blocksy's ".ct-floating-bar .stock:before", dat later laadt. */
.ct-floating-bar .product-price .stock::before {
	content: none;
}
.ct-floating-bar .product-price .stock {
	white-space: nowrap;
}
/* De balk staat onderaan, dus de schaduw naar boven. */
.ct-drawer-canvas[data-location="end"] .ct-floating-bar {
	box-shadow: 0 -4px 16px rgba(13, 17, 22, 0.1);
}
/* Tabben: een element met focus valt niet onder de balk (WCAG 2.4.11). */
html:has(.ct-drawer-canvas[data-location="end"][data-floating-bar="yes"]) {
	scroll-padding-bottom: 80px;
}
/* Mobiel: prijs met de voorraad eronder en een brede knop, zoals besluitbeeld 02. Naam en foto staan hier uit
   (floatingBar*Visibility in product.php). */
@media (max-width: 689.98px) {
	.ct-floating-bar .ct-container {
		grid-template-columns: auto minmax(0, 1fr);
		gap: 16px;
	}
	.ct-floating-bar .ct-floating-bar-item-title .product-price {
		flex-direction: column;
		align-items: flex-start;
	}
	.ct-floating-bar .product-price .price {
		font-size: 20px;
		font-weight: 700;
		line-height: 1.2;
	}
	.ct-floating-bar .product-price .price del {
		font-size: 14px;
	}
	.ct-floating-bar .product-price .stock {
		line-height: 1.4;
	}
	.ct-floating-bar .ct-floating-bar-actions > .button {
		flex: 1 1 auto;
		min-height: 48px;
	}
	/* Blocksy maakt van de variabele knop op mobiel een "+"-icoon van 40 px; hier gewoon tekst, zoals de koopknop
	   (12px zoals alle knoppen in zw.css). */
	.ct-floating-bar .ct-floating-bar-actions > .button.product_type_variable {
		max-width: none;
		font-size: 12px !important;
		--theme-button-padding: 5px 20px;
	}
	.ct-floating-bar .ct-floating-bar-actions > .button.product_type_variable::after {
		content: none;
	}
}

/* Winkelwagenknop oranje, breed naast het aantal. */
.single-product .entry-summary .ct-product-add-to-cart .cart {
	margin-bottom: 0;
}
/* Afstanden zoals live (gemeten 27-10): 12px tot de offerteknop, 12px daaronder tot de USP's. */
.single-product .entry-summary .ct-product-add-to-cart {
	margin-bottom: 12px !important;
}
/* Aantalkiezer zoals live: 128 x 45, zwarte rand 1px, radius 12px, cijfer petrol, - en + zonder kader. */
.single-product .entry-summary .ct-cart-actions .quantity {
	width: 128px;
	height: 45px;
}
.single-product .entry-summary .ct-cart-actions .quantity input.qty {
	width: 100%;
	height: 45px;
	padding: 0 44px;
	border: 1px solid var(--zw-tekst, #0d1116) !important;
	border-radius: 12px !important;
	background: transparent;
	font-family: "IBM Plex Sans", sans-serif !important;
	font-size: 14px;
	font-weight: 400 !important;
	color: var(--zw-petrol, #075056);
	text-align: center;
}
.single-product .entry-summary .ct-cart-actions .quantity .ct-increase,
.single-product .entry-summary .ct-cart-actions .quantity .ct-decrease {
	top: 1px;
	width: 44px;
	height: 43px;
	border: 0 !important;
	border-radius: 12px;
	background: transparent !important;
	color: var(--zw-tekst, #0d1116) !important;
}
.single-product .entry-summary .ct-cart-actions {
	display: flex;
	flex-wrap: nowrap;
	gap: 10px;
	width: 100%;
}
.single-product .entry-summary .ct-cart-actions .quantity {
	flex: 0 0 auto;
	margin: 0;
}
.single-product .entry-summary .single_add_to_cart_button {
	flex: 1 1 auto;
	font-family: "Exo 2", sans-serif;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	min-height: 45px;
	border-color: var(--zw-oranje, #ff5a06);
	background: var(--zw-oranje, #ff5a06);
	color: var(--zw-op-oranje, #0d1116);
}
.single-product .entry-summary .single_add_to_cart_button:hover {
	border-color: var(--zw-oranje-hover, #e04e00);
	background: var(--zw-oranje-hover, #e04e00);
}

.zw-offerte {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0 0 12px;
}
.zw-offerte__knop.zw-knop {
	justify-content: center;
	width: 100%;
	min-height: 48px;
	font-size: 14px !important;
}
.zw-offerte__uitleg {
	font-size: 14px;
	color: #5d6b6d;
	text-align: center;
}
/* Uitverkocht: de offerteknop is dan de hoofdactie. */
.single-product .product.outofstock .zw-offerte__knop.zw-knop {
	border-color: var(--zw-oranje, #ff5a06);
	background: var(--zw-oranje, #ff5a06);
	color: var(--zw-op-oranje, #0d1116);
}

/* Uitverkocht: kader in plaats van aantal en knop (bd-dmki.3, besluitbeeld 03). */
.zw-uitverkocht {
	margin: 4px 0 12px;
	padding: 14px 16px;
	border: 1px solid #868f91;
	border-radius: 8px;
	background: #fff;
}
/* !important: de typografie onderaan zw.css zet elke p op 300 !important. */
.zw-uitverkocht__kop {
	margin: 0 0 6px;
	font-family: "Exo 2", sans-serif !important;
	font-size: 18px;
	font-weight: 600 !important;
	color: var(--zw-tekst, #0d1116);
}
.zw-uitverkocht__link {
	display: block;
	padding: 6px 0;
	font-weight: 500;
	color: var(--zw-petrol, #075056);
	text-decoration: underline;
}
.zw-anker {
	scroll-margin-top: 20px;
}
/* "Mail me als hij terug is" (woocommerce/single-product/back-in-stock-form.php): omlijnde knop, zodat hij niet
   concurreert met de oranje offerteknop eronder. */
.zw-melding {
	margin: 4px 0 10px;
}
.zw-melding__label {
	display: block;
	margin: 0 0 4px;
	font-size: 16px;
	color: var(--zw-tekst, #0d1116);
}
.zw-melding .wc_bis_form__input {
	width: 100%;
	min-height: 48px;
	margin: 0 0 10px;
}
/* Zwaarder dan ".woocommerce button.button" (0,2,1). Hover: de donkere knop uit zw.css, zoals overal. */
.zw-uitverkocht .wc_bis_form button.zw-melding__knop {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	min-height: 48px;
	border: 1.5px solid var(--zw-petrol, #075056);
	background: transparent;
	color: var(--zw-petrol, #075056);
}
.zw-melding__uitleg {
	margin: 6px 0 0;
	font-size: 14px;
	color: #5d6b6d;
}

.zw-usps {
	margin: 0;
	padding: 0;
	list-style: none;
}
.zw-usps li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 8px;
	font-family: "Exo 2", sans-serif;
	font-weight: 600;
	color: var(--zw-tekst, #0d1116);
}
.zw-usps strong {
	font-weight: 600;
	color: var(--zw-petrol-licht, #25777e);
}
.zw-usps__vink {
	flex: 0 0 18px;
	color: var(--zw-petrol, #075056);
}

/* ---------- Voordelen / nadelen ---------- */
.zw-voornadelen {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 20px 40px;
	margin-top: 50px;
	margin-bottom: 30px;
	padding: 26px 30px;
	border-radius: var(--zw-radius, 10px);
	background: #fff;
}
.zw-voornadelen__kop {
	margin: 0 0 12px;
	font-size: 18px;
	color: var(--zw-tekst, #0d1116); /* T1: was oranje, 3,13:1 */
}
.zw-voornadelen__blok--nadelen .zw-voornadelen__kop {
	color: var(--zw-petrol, #075056);
}
.zw-voornadelen ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.zw-voornadelen li {
	position: relative;
	margin: 0 0 10px;
	padding-left: 32px;
}
.zw-voornadelen li::before {
	content: "+";
	position: absolute;
	top: 2px;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--zw-oranje, #ff5a06);
	color: #fff;
	font-weight: 700;
	line-height: 1;
}
.zw-voornadelen__blok--nadelen li::before {
	content: "−";
	background: var(--zw-petrol, #075056);
}
.zw-voornadelen__blok--goed .zw-voornadelen__kop {
	color: var(--zw-petrol, #075056);
}
.zw-voornadelen__blok--goed li::before {
	content: "i";
	background: var(--zw-petrol, #075056);
	font-family: Georgia, serif;
	font-size: 14px;
}

/* ---------- ATEX en certificaten ---------- */
.zw-atex {
	margin-top: 0;
	margin-bottom: 30px;
	padding: 26px 30px;
	border-radius: var(--zw-radius, 10px);
	background: #fff;
}
.zw-atex__kop {
	display: flex;
	gap: 10px;
	align-items: center;
	margin: 0 0 14px;
	font-size: 18px;
	color: var(--zw-petrol, #075056);
}
.zw-atex__ex {
	flex: 0 0 auto;
	width: 34px;
	height: auto;
}
.zw-atex--documenten .zw-atex__docs {
	margin-top: 0;
}
.zw-atex__markering {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 10px 40px;
	margin: 0 0 14px;
}
.zw-atex__markering div {
	display: flex;
	gap: 12px;
	align-items: baseline;
}
.zw-atex__markering dt {
	flex: 0 0 40px;
	color: #5d6b6d;
}
.zw-atex__markering dd {
	margin: 0;
	padding: 4px 10px;
	border-radius: 6px;
	background: #f1f4f4;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 14px;
	font-weight: 600;
	color: var(--zw-tekst, #0d1116);
}
.zw-atex__zones p,
.zw-atex__wie {
	margin: 0 0 10px;
}
.zw-atex__wie {
	font-size: 14px;
	color: #5d6b6d;
}
.zw-atex__docs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}
.zw-atex__docs a {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	font-weight: 600;
	color: var(--zw-petrol, #075056);
}
.zw-atex__pdf {
	padding: 2px 5px;
	border-radius: 4px;
	background: var(--zw-oranje, #ff5a06);
	color: var(--zw-op-oranje, #0d1116);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.03em;
}
.zw-atex__grootte {
	font-size: 12px;
	color: #5d6b6d;
}

/* ---------- Accordeon ---------- */
.single-product .woocommerce-tabs[data-type*="type-3"] {
	margin-top: 10px;
}
.single-product .ct-accordion-heading {
	font-family: "Exo 2", sans-serif;
	font-size: 18px;
	font-weight: 600;
	text-transform: none;
}
/* T1: de open kop ("Beschrijving") donker; Blocksy kleurt hem oranje (3,02:1). Hover blijft oranje. */
.single-product .woocommerce-tabs .ct-accordion-heading:not(:hover) {
	color: var(--zw-tekst, #0d1116);
}

/* Beschrijving: ingekort tot de knop is geklikt. */
.zw-beschrijving.is-ingekort {
	position: relative;
	max-height: 520px;
	overflow: hidden;
}
.zw-beschrijving.is-ingekort::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 120px;
	background: linear-gradient(rgba(250, 251, 251, 0), #fafbfb);
}
/* Even breed als de tekstkolom (T6), met de tekst in het midden; op mobiel dus de volle breedte, zoals voorheen. */
.zw-beschrijving__meer {
	display: block;
	width: 100%;
	max-width: var(--zw-tekstkolom, 35rem);
	margin: 12px 0 0;
	padding: 6px 10px;
	border: 0;
	background: none;
	cursor: pointer;
	font-family: "Exo 2", sans-serif;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--zw-petrol, #075056);
}
.zw-beschrijving__meer::after {
	content: " ▾";
}
.zw-beschrijving__meer[aria-expanded="true"]::after {
	content: " ▴";
}
.zw-beschrijving__meer[hidden] {
	display: none;
}

/* Specificaties */
.zw-specs {
	column-width: 400px;
	column-gap: 48px;
}
.zw-specs__groep {
	break-inside: avoid;
	margin-bottom: 26px;
}
.zw-specs__kop {
	margin: 0 0 8px;
	font-size: 16px;
	color: var(--zw-petrol, #075056);
}
.zw-specs__tabel {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	border: 0;
}
.zw-specs__tabel th,
.zw-specs__tabel td {
	padding: 9px 12px;
	border: 0;
	border-bottom: 1px solid #e3e8e9;
	text-align: left;
	vertical-align: top;
	font-size: 16px;
}
.zw-specs__tabel th {
	width: 45%;
	font-weight: 400;
	color: #5d6b6d;
}
.zw-specs__tabel td {
	font-weight: 600;
	color: var(--zw-tekst, #0d1116);
}
.zw-specs__tabel tr:nth-child(odd) {
	background: #f1f4f4;
}

/* Brandduurtabel boven de specificaties */
.zw-brandduur {
	margin-bottom: 30px;
}
.zw-brandduur__scroll {
	overflow-x: auto;
}
.zw-brandduur__tabel thead th {
	width: auto;
	font-weight: 600;
	color: var(--zw-petrol, #075056);
	background: #fff;
}
.zw-brandduur__tabel tbody th {
	width: auto;
	font-weight: 600;
	color: var(--zw-tekst, #0d1116);
}
.zw-brandduur__tabel tbody tr:nth-child(odd) {
	background: #f1f4f4;
}
.zw-brandduur__tabel tbody tr:nth-child(even) {
	background: transparent;
}
.zw-brandduur__tabel td {
	font-weight: 400;
	white-space: nowrap;
}
.zw-brandduur__voetnoot p {
	margin: 10px 0 0;
	font-size: 12px;
	color: #5d6b6d;
}
@media (max-width: 689.98px) {
	.zw-brandduur__tabel th,
	.zw-brandduur__tabel td {
		padding: 8px 5px;
		font-size: 14px;
	}
}

/* Veelgestelde vragen */
.zw-faq__item {
	border-bottom: 1px solid #e3e8e9;
}
.zw-faq__item summary {
	position: relative;
	padding: 14px 32px 14px 0;
	cursor: pointer;
	font-weight: 600;
	list-style: none;
}
.zw-faq__item summary::-webkit-details-marker {
	display: none;
}
.zw-faq__item summary::after {
	content: "+";
	position: absolute;
	top: 12px;
	right: 4px;
	font-size: 20px;
	color: var(--zw-oranje, #ff5a06);
}
.zw-faq__item[open] summary::after {
	content: "−";
}
.zw-faq__antwoord {
	padding: 0 0 14px;
}
.zw-faq__antwoord p:last-child {
	margin-bottom: 0;
}

/* Over het merk */
.zw-merk {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: flex-start;
}
.zw-merk__logo img {
	width: 140px;
	height: auto;
}
.zw-merk__tekst {
	flex: 1 1 280px;
}
.zw-merk__tekst h3 {
	margin: 0 0 8px;
	font-size: 16px;
}

/* ---------- Accessoires / alternatieven ---------- */
.single-product .zw-accessoires .up-sells,
.single-product .up-sells,
.single-product .related {
	margin-top: 50px;
}

@media (max-width: 689.98px) {
	.zw-voornadelen {
		margin-top: 30px;
		padding: 20px;
	}
	.zw-specs__tabel th,
	.zw-specs__tabel td {
		padding: 8px;
		font-size: 14px;
	}
	.zw-specs__tabel th {
		width: 50%;
	}
}

/* Alternatieven, accessoires en gerelateerd op mobiel in 2 kolommen (besluit: 2 kolommen mobiel).
   De Blocksy-instelling woo_product_related_cards_columns (filter in product.php) komt niet in de
   gegenereerde Blocksy-CSS, dus hier vast. */
@media (max-width: 689.98px) {
	.single-product .related ul.products,
	.single-product .up-sells ul.products {
		--shop-columns: repeat(2, minmax(0, 1fr));
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Na toevoegen opent het mandpaneel (auto_open_cart in blocksy-thema-setup.php); de losse WC-link
   "Bekijk winkelwagen" naast de knop is dan dubbel en brak over twee regels. */
.single-product .entry-summary .added_to_cart.wc-forward {
	display: none;
}

/* ---------- Externe reviews, los van de klantreviews (bd-1h0h) ---------- */
.zw-extern {
	margin: 24px 0 30px;
}
.zw-extern__kop {
	margin: 0 0 12px;
	font-size: 18px;
	color: var(--zw-petrol, #075056);
}
.zw-extern__item {
	margin: 0 0 14px;
	padding: 18px 22px;
	border-left: 4px solid var(--zw-oranje, #ff5a06);
	border-radius: var(--zw-radius, 10px);
	background: #f1f4f4;
}
.zw-extern__item .star-rating {
	margin-bottom: 8px;
	--star-rating-inactive-color: #808a8c; /* #868f91 haalt op dit vlak (#f1f4f4) 2,99:1, deze 3,2:1 (T5) */
}
.zw-extern__citaat {
	margin: 0 0 10px;
	padding: 0;
	border: 0;
	font-size: inherit;
	font-style: italic;
}
.zw-extern__citaat::before,
.zw-extern__citaat::after {
	content: none;
}
.zw-extern__citaat p {
	margin: 0 0 8px;
}
.zw-extern__citaat p:last-child {
	margin-bottom: 0;
}
/* Specifieker dan Blocksy's ".entry-content figcaption" (gecentreerd). */
.zw-extern .zw-extern__bron {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;
	align-items: center;
	font-size: 14px;
	text-align: left;
	color: #5d6b6d;
}
.zw-extern__logo {
	box-sizing: content-box;
	width: auto;
	height: 24px;
	padding: 4px 8px;
	border-radius: 4px;
	background: #fff;
}
.zw-extern__label {
	padding: 1px 6px;
	border-radius: 4px;
	background: #fff;
	font-size: 12px;
	white-space: nowrap;
}

/* Beelden in de lange beschrijving (productpagina-skill, zoals op de Nitecore P20iX). */
.zw-beschrijving-beeld {
	margin: 16px 0 28px;
}
.zw-beschrijving-beeld img {
	border-radius: var(--zw-radius, 10px);
}

/* ---------- T6 (bd-dmki.7, B6): desktop-productpagina ---------- */
/* Lopende tekst in de tabs in een kolom, links gelijk aan de tabtitel: op desktop stonden er 150-177 tekens op een
   regel [Practical UI ch.5: 40-80]. Het plan noemde 70ch, maar met IBM Plex Sans 16px gaf dat 93 tekens per regel
   (gemeten 30-10, 98 op de volste regel); 35rem = 560px geeft er ±74. Rem in plaats van ch, zodat koppen dezelfde
   kolom houden. Een alinea met een beeld erin (oude beschrijvingen: <p><img>) valt erbuiten. Beelden, tabellen en de
   brandduurtabel mogen breder, tot 960 px. Op mobiel en tablet is de kolom breder dan het scherm: daar verandert niets. */
.single-product {
	--zw-tekstkolom: 35rem;
}
.single-product .woocommerce-tabs .entry-content :is(p, ul, ol, h2, h3):not(:has(img)),
.single-product .zw-atex p {
	max-width: var(--zw-tekstkolom);
}
/* Koppen in de smallere kolom niet laten eindigen op één los woord ("Fenix PD36R / V2.0"). */
.single-product .woocommerce-tabs .entry-content :is(h2, h3) {
	text-wrap: balance;
}
.single-product .zw-beschrijving :is(figure, table, .wp-block-image, .wp-block-table, .zw-beschrijving-beeld),
.single-product .zw-beschrijving img,
.single-product .zw-brandduur > * {
	max-width: min(100%, 960px);
}
.single-product .zw-beschrijving img {
	height: auto;
}

/* "Offerte aanvragen" in de zwevende balk, alleen op desktop (ct-hidden-sm/-md, zie inc/product.php). Een tekstlink
   links van het aantal: de oranje koopknop blijft de enige primaire actie in de balk [Practical UI ch.7]. */
.ct-floating-bar .zw-balk-offerte {
	order: -1;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin-right: 16px;
	font-family: "Exo 2", sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: var(--zw-petrol, #075056);
	text-decoration: underline;
	text-underline-offset: 3px;
	white-space: nowrap;
}
