/*
Theme Name: Avada BiSelect Child
Description: BiSelect child theme van Avada — design-systeem 2026-08-25
Template: Avada
Version: 2.0
*/

/* ==========================================================================
   BISELECT DESIGN SYSTEM v2 — 2026-08-25
   Stijlreferenties: Coolblue (USP's/vriendelijk), Elektramat (technisch/grid),
   Apple (rust/witruimte), bol.com (kaarten). Simon-branding: strak, donker
   antraciet + signaalblauw accent.
   ========================================================================== */

:root {
  --bs-navy: #101828;
  --bs-dark: #1d2939;
  --bs-blue: #0e63f4;
  --bs-blue-dark: #0a4fc4;
  --bs-blue-light: #eaf1fe;
  --bs-accent: #ff7a00;
  --bs-grey-50: #f8fafc;
  --bs-grey-100: #f1f5f9;
  --bs-grey-200: #e2e8f0;
  --bs-grey-500: #64748b;
  --bs-green: #12b76a;
  --bs-radius: 14px;
  --bs-radius-sm: 8px;
  --bs-shadow: 0 1px 3px rgba(16,24,40,.08), 0 8px 24px rgba(16,24,40,.06);
  --bs-shadow-hover: 0 4px 8px rgba(16,24,40,.10), 0 16px 40px rgba(16,24,40,.12);
  --bs-font: 'Inter', 'Helvetica Neue', Arial, sans-serif;
}

/* ---------- Basis ---------- */
body { font-family: var(--bs-font); color: var(--bs-dark); }
.bs-section { padding: 56px 0; }
.bs-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.bs-center { text-align: center; }
h1, h2, h3, .fusion-title h2 { letter-spacing: -0.02em; }

/* ---------- Hero ---------- */
.bs-hero {
  background: linear-gradient(135deg, var(--bs-navy) 0%, #16305e 55%, var(--bs-blue-dark) 100%);
  color: #fff;
  border-radius: 0;
  padding: 84px 24px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.bs-hero::after {
  content: "";
  position: absolute; inset: 0;
  background:
    radial-gradient(600px 300px at 85% 20%, rgba(14,99,244,.35), transparent 60%),
    radial-gradient(500px 260px at 10% 90%, rgba(255,122,0,.12), transparent 60%);
  pointer-events: none;
}
.bs-hero > * { position: relative; z-index: 1; }
.bs-hero h1, .bs-hero h2 {
  color: #fff !important;
  font-size: clamp(30px, 4.5vw, 52px);
  font-weight: 800;
  margin: 0 0 14px;
  line-height: 1.12;
}
.bs-hero p.bs-sub {
  color: #cbd7ee;
  font-size: clamp(16px, 2vw, 21px);
  max-width: 720px;
  margin: 0 auto 28px;
}
.bs-hero .bs-badge-row { margin-bottom: 22px; }
.bs-kicker {
  display: inline-block;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.22);
  color: #fff;
  padding: 6px 16px;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* ---------- Knoppen ---------- */
.bs-btn, .bs-btn:visited {
  display: inline-block;
  background: var(--bs-blue);
  color: #fff !important;
  font-weight: 700;
  font-size: 16px;
  padding: 14px 32px;
  border-radius: 100px;
  text-decoration: none !important;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
  box-shadow: 0 4px 14px rgba(14,99,244,.35);
}
.bs-btn:hover { background: var(--bs-blue-dark); transform: translateY(-2px); box-shadow: 0 8px 22px rgba(14,99,244,.45); }
.bs-btn--ghost, .bs-btn--ghost:visited {
  background: transparent;
  color: #fff !important;
  border: 2px solid rgba(255,255,255,.5);
  box-shadow: none;
}
.bs-btn--ghost:hover { background: rgba(255,255,255,.12); border-color: #fff; }
.bs-btn--dark, .bs-btn--dark:visited { background: var(--bs-navy); box-shadow: 0 4px 14px rgba(16,24,40,.3); }
.bs-btn--dark:hover { background: #000; }
.bs-btn-row { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* ---------- USP-balk (Coolblue-stijl) ---------- */
.bs-usp {
  background: var(--bs-grey-50);
  border-top: 1px solid var(--bs-grey-200);
  border-bottom: 1px solid var(--bs-grey-200);
  padding: 18px 12px;
}
.bs-usp ul {
  list-style: none;
  margin: 0 auto; padding: 0;
  max-width: 1200px;
  display: flex;
  gap: 12px 32px;
  justify-content: center;
  flex-wrap: wrap;
}
.bs-usp li {
  font-size: 15px;
  font-weight: 600;
  color: var(--bs-dark);
  display: flex;
  align-items: center;
  gap: 8px;
}
.bs-usp li::before {
  content: "✓";
  color: var(--bs-green);
  font-weight: 800;
  font-size: 17px;
}

/* ---------- Sectiekoppen ---------- */
.bs-h2 {
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 800;
  color: var(--bs-navy);
  text-align: center;
  margin: 0 0 8px;
}
.bs-h2-sub {
  text-align: center;
  color: var(--bs-grey-500);
  font-size: 17px;
  max-width: 640px;
  margin: 0 auto 36px;
}

/* ---------- Categorie-kaarten ---------- */
.bs-cat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 22px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
.bs-cat-card, .bs-cat-card:visited {
  background: #fff;
  border: 1px solid var(--bs-grey-200);
  border-radius: var(--bs-radius);
  padding: 26px 20px 22px;
  text-align: center;
  text-decoration: none !important;
  color: var(--bs-dark) !important;
  box-shadow: var(--bs-shadow);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  display: block;
}
.bs-cat-card:hover { transform: translateY(-5px); box-shadow: var(--bs-shadow-hover); border-color: var(--bs-blue); }
.bs-cat-card img {
  width: 130px; height: 130px;
  object-fit: contain;
  margin: 0 auto 14px;
  display: block;
}
.bs-cat-card .bs-cat-name { font-size: 17px; font-weight: 700; color: var(--bs-navy); display: block; margin-bottom: 4px; }
.bs-cat-card .bs-cat-count { font-size: 13.5px; color: var(--bs-grey-500); }
.bs-cat-card .bs-cat-link { display: inline-block; margin-top: 12px; color: var(--bs-blue); font-weight: 700; font-size: 14.5px; }
.bs-cat-card:hover .bs-cat-link::after { content: " →"; }

/* ---------- Feature/info-kaarten ---------- */
.bs-feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 22px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
.bs-feature {
  background: #fff;
  border: 1px solid var(--bs-grey-200);
  border-radius: var(--bs-radius);
  padding: 28px 24px;
  box-shadow: var(--bs-shadow);
}
.bs-feature .bs-ico { font-size: 30px; line-height: 1; margin-bottom: 14px; display: block; }
.bs-feature h3 { font-size: 18px; font-weight: 800; margin: 0 0 8px; color: var(--bs-navy); }
.bs-feature p { font-size: 15px; color: var(--bs-grey-500); margin: 0; line-height: 1.55; }

/* ---------- Content-pagina's (series/legal/over) ---------- */
.bs-page-hero {
  background: linear-gradient(135deg, var(--bs-navy), #1a3a75);
  color: #fff;
  padding: 52px 24px;
  text-align: center;
}
.bs-page-hero h1, .bs-page-hero h2 { color: #fff !important; font-size: clamp(26px, 3.6vw, 40px); font-weight: 800; margin: 0 0 10px; }
.bs-page-hero p { color: #c6d3ec; max-width: 700px; margin: 0 auto; font-size: 17px; }
.bs-prose { max-width: 860px; margin: 0 auto; padding: 40px 20px 8px; }
.bs-prose h3 { font-size: 22px; font-weight: 800; color: var(--bs-navy); margin: 34px 0 12px; }
.bs-prose p, .bs-prose li { font-size: 16.5px; line-height: 1.7; color: #344054; }
.bs-prose ul { padding-left: 2px; list-style: none; }
.bs-prose ul li { padding-left: 30px; position: relative; margin-bottom: 10px; }
.bs-prose ul li::before {
  content: "✓";
  position: absolute; left: 0; top: 1px;
  color: var(--bs-blue);
  font-weight: 800;
  background: var(--bs-blue-light);
  width: 21px; height: 21px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 12px;
}

/* ---------- Spec/kenmerk-tabel look ---------- */
.bs-spec {
  background: var(--bs-grey-50);
  border: 1px solid var(--bs-grey-200);
  border-radius: var(--bs-radius);
  padding: 26px 28px;
  margin: 26px 0;
}
.bs-spec h3 { margin-top: 0 !important; }

/* ---------- WooCommerce product-grid oppoetsen ---------- */
.woocommerce ul.products li.product,
.products .product {
  background: #fff;
  border: 1px solid var(--bs-grey-200);
  border-radius: var(--bs-radius);
  padding: 16px !important;
  box-shadow: var(--bs-shadow);
  transition: transform .18s ease, box-shadow .18s ease;
}
.woocommerce ul.products li.product:hover { transform: translateY(-4px); box-shadow: var(--bs-shadow-hover); }
.woocommerce ul.products li.product a img { border-radius: var(--bs-radius-sm); }
.woocommerce ul.products li.product { margin-bottom: 24px !important; } .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 15px; font-weight: 600; color: var(--bs-dark); margin-top: 12px !important; }
.woocommerce ul.products li.product .price { color: var(--bs-navy); font-weight: 800; font-size: 16.5px; }
.woocommerce ul.products li.product .button,
.woocommerce a.button, .woocommerce button.button.alt {
  background: var(--bs-blue) !important;
  color: #fff !important;
  border-radius: 100px !important;
  font-weight: 700 !important;
  padding: 10px 22px !important;
}
.woocommerce a.button:hover, .woocommerce button.button.alt:hover { background: var(--bs-blue-dark) !important; }
.woocommerce span.onsale {
  background: var(--bs-accent) !important;
  border-radius: 100px !important;
  font-weight: 700 !important;
  padding: 4px 12px !important;
  min-height: 0 !important;
  line-height: 1.6 !important;
}

/* ---------- CTA-band ---------- */
.bs-cta {
  background: linear-gradient(120deg, var(--bs-blue) 0%, var(--bs-blue-dark) 100%);
  border-radius: var(--bs-radius);
  color: #fff;
  padding: 44px 36px;
  text-align: center;
  max-width: 1160px;
  margin: 30px auto;
}
.bs-cta h2, .bs-cta h3 { color: #fff !important; font-size: clamp(22px, 3vw, 30px); font-weight: 800; margin: 0 0 10px; }
.bs-cta p { color: #dbe7ff; margin: 0 auto 22px; max-width: 620px; }
.bs-cta .bs-btn { background: #fff; color: var(--bs-blue) !important; box-shadow: 0 4px 18px rgba(0,0,0,.18); }
.bs-cta .bs-btn:hover { background: var(--bs-grey-100); }

/* ---------- Trust/partner-band ---------- */
.bs-trust {
  background: var(--bs-navy);
  color: #fff;
  padding: 46px 24px;
  text-align: center;
}
.bs-trust .bs-h2 { color: #fff; }
.bs-trust p { color: #98a8c8; max-width: 680px; margin: 0 auto 6px; }
.bs-trust .bs-stats { display: flex; gap: 40px; justify-content: center; flex-wrap: wrap; margin-top: 26px; }
.bs-trust .bs-stat b { display: block; font-size: 34px; font-weight: 800; color: #fff; }
.bs-trust .bs-stat span { color: #98a8c8; font-size: 14.5px; }

/* ---------- Breadcrumb-achtig terug-linkje ---------- */
.bs-backlink, .bs-backlink:visited { color: var(--bs-blue); font-weight: 600; text-decoration: none; font-size: 15px; }
.bs-backlink:hover { text-decoration: underline; }

/* ---------- Responsief ---------- */
@media (max-width: 640px) {
  .bs-hero { padding: 56px 18px; }
  .bs-section { padding: 38px 0; }
  .bs-trust .bs-stats { gap: 22px; }
}

/* ==========================================================================
   BISELECT DESIGN SYSTEM v3 — SINGLE PRODUCT (2026-08-27)
   Referentie: Coolblue productpagina (USP + vertrouwen), Apple (rust),
   Elektramat (specs prominent). Toegepast via hooks in functions.php.
   ========================================================================== */

/* Layout & galerij — afbeelding LINKS naast tekst RECHTS, vaste verhoudingen.
   Specificiteit verhoogd: Avada compiled CSS overschreef de vorige versie. */
body.single-product #content div.product,
body.woocommerce.single-product div.product {
  display: grid !important;
  grid-template-columns: minmax(0, 44%) minmax(0, 1fr) !important;
  gap: 40px 48px !important;
  align-items: start !important;
  max-width: 1200px;
  margin: 0 auto !important;
  float: none !important;
}
body.single-product div.product > * { min-width: 0; }
body.single-product div.product .woocommerce-product-gallery,
body.single-product div.product div.images {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin: 0 !important;
  background: #fff;
  border: 1px solid var(--bs-grey-200);
  border-radius: var(--bs-radius);
  padding: 22px;
  box-shadow: var(--bs-shadow);
  position: sticky;
  top: 110px;
  opacity: 1 !important;
}
body.single-product div.product .summary.entry-summary {
  grid-column: 2 !important;
  grid-row: 1 / span 3 !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
/* Alles onder de twee kolommen: volle breedte */
body.single-product div.product .woocommerce-tabs,
body.single-product div.product .related.products,
body.single-product div.product .upsells.products,
body.single-product div.product .fusion-woocommerce-tabs {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}
body.single-product div.product .woocommerce-product-gallery img {
  border-radius: var(--bs-radius-sm);
  width: 100%;
  height: auto;
  object-fit: contain;
  aspect-ratio: 1 / 1;
  background: #fff;
}
/* Galerij zonder afbeelding: nette placeholder i.p.v. lege witte kaart */
body.single-product .woocommerce-product-gallery--without-images {
  min-height: 320px;
  display: flex; align-items: center; justify-content: center;
}
body.single-product .woocommerce-product-gallery--without-images::after {
  content: "Productafbeelding volgt";
  color: var(--bs-grey-500);
  font-size: 14px;
  font-weight: 600;
}
@media (max-width: 900px) {
  body.single-product #content div.product,
  body.woocommerce.single-product div.product { display: block !important; }
  body.single-product div.product .woocommerce-product-gallery { position: static; margin-bottom: 26px !important; }
}

/* Titel & prijs */
.single-product .product_title {
  font-size: clamp(22px, 3vw, 32px) !important;
  font-weight: 800 !important;
  color: var(--bs-navy) !important;
  line-height: 1.2 !important;
  margin-bottom: 6px !important;
}
.single-product .bs-sku-line {
  color: var(--bs-grey-500);
  font-size: 14px;
  margin: 0 0 14px;
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.single-product .bs-sku-line .bs-brand-chip {
  background: var(--bs-blue-light);
  color: var(--bs-blue-dark);
  font-weight: 700;
  padding: 3px 12px;
  border-radius: 100px;
  font-size: 12.5px;
}
.single-product div.product p.price, .single-product div.product span.price {
  color: var(--bs-navy) !important;
  font-size: 30px !important;
  font-weight: 800 !important;
}
.single-product .bs-price-note { color: var(--bs-grey-500); font-size: 13.5px; margin-top: -6px; }

/* Voorraad & USP-lijst op productpagina */
.single-product .bs-stock-ok {
  color: var(--bs-green); font-weight: 700; font-size: 15px;
  display: flex; align-items: center; gap: 8px; margin: 10px 0 4px;
}
.single-product .bs-stock-ok::before { content: "●"; font-size: 11px; }
.single-product .bs-pdp-usp { list-style: none; margin: 14px 0 6px; padding: 0; }
.single-product .bs-pdp-usp li {
  font-size: 14.5px; color: var(--bs-dark); padding: 5px 0 5px 28px; position: relative;
}
.single-product .bs-pdp-usp li::before {
  content: "✓"; position: absolute; left: 0; top: 5px;
  color: var(--bs-blue); font-weight: 800; background: var(--bs-blue-light);
  width: 20px; height: 20px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; font-size: 11.5px;
}

/* Koopblok */
.single-product form.cart {
  background: var(--bs-grey-50);
  border: 1px solid var(--bs-grey-200);
  border-radius: var(--bs-radius);
  padding: 18px 20px;
  margin: 18px 0 !important;
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
}
.single-product form.cart .qty {
  border: 1px solid var(--bs-grey-200) !important;
  border-radius: var(--bs-radius-sm) !important;
  padding: 12px 8px !important;
  font-size: 16px !important;
  width: 72px !important;
}
.single-product form.cart .single_add_to_cart_button {
  background: var(--bs-blue) !important;
  border-radius: 100px !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  padding: 15px 38px !important;
  flex: 1; min-width: 220px;
  box-shadow: 0 4px 14px rgba(14,99,244,.35);
  transition: background .15s ease, transform .15s ease;
}
.single-product form.cart .single_add_to_cart_button:hover { background: var(--bs-blue-dark) !important; transform: translateY(-1px); }

/* Trust-strip onder koopblok */
.bs-pdp-trust {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px; margin: 16px 0 8px;
}
.bs-pdp-trust .bs-t {
  background: #fff; border: 1px solid var(--bs-grey-200); border-radius: var(--bs-radius-sm);
  padding: 10px 12px; font-size: 13px; color: var(--bs-dark); font-weight: 600;
  display: flex; align-items: center; gap: 8px;
}
.bs-pdp-trust .bs-t span.ico { font-size: 17px; }

/* Meta & tabs */
.single-product .product_meta { border-top: 1px solid var(--bs-grey-200); padding-top: 14px; font-size: 14px; color: var(--bs-grey-500); }
.single-product .product_meta a { color: var(--bs-blue); font-weight: 600; }
.single-product .woocommerce-tabs ul.tabs li a { font-weight: 700 !important; color: var(--bs-grey-500) !important; }
.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--bs-navy) !important; }
.single-product .woocommerce-tabs .panel {
  background: #fff; border: 1px solid var(--bs-grey-200);
  border-radius: var(--bs-radius); padding: 28px 30px !important;
  box-shadow: var(--bs-shadow);
}
.single-product .woocommerce-tabs .panel h2 { font-size: 21px; font-weight: 800; color: var(--bs-navy); }

/* Spec-tabel */
.bs-spec-table { width: 100%; border-collapse: collapse; margin: 10px 0 4px; }
.bs-spec-table th, .bs-spec-table td {
  text-align: left; padding: 11px 14px; font-size: 15px;
  border-bottom: 1px solid var(--bs-grey-100);
}
.bs-spec-table th { color: var(--bs-grey-500); font-weight: 600; width: 38%; background: var(--bs-grey-50); }
.bs-spec-table td { color: var(--bs-dark); font-weight: 600; }
.bs-spec-table tr:last-child th, .bs-spec-table tr:last-child td { border-bottom: 0; }

/* Gerelateerd */
.single-product .related.products > h2, .single-product .upsells.products > h2 {
  font-size: 24px; font-weight: 800; color: var(--bs-navy); text-align: center; margin-bottom: 24px;
}


@media (max-width: 768px) {
  .fusion-main-menu>ul>li>a {
    font-size: 13px !important;
    letter-spacing: .05em !important;
    font-weight: 600 !important;
  }
}
@media (max-width: 768px) {
  .single-product form.cart .single_add_to_cart_button { min-width: 100%; }
}

/* ==========================================================================
   BISELECT DESIGN SYSTEM v3.1 — HEADER / FOOTER / NAV / CTA-CONSISTENTIE
   (2026-08-27) Verhoudingen: logo max-height 56px, nav 15px/600, footer navy.
   ========================================================================== */

/* --- Footer: navy, consistent met trust-band --- */
.fusion-footer-widget-area {
  background: var(--bs-navy) !important;
  border-top: 3px solid var(--bs-blue);
  color: #98a8c8 !important;
  padding: 52px 0 36px !important;
}
.fusion-footer-widget-area h4, .fusion-footer-widget-area .widget-title {
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-bottom: 16px !important;
}
.fusion-footer-widget-area a { color: #c6d3ec !important; font-size: 14.5px; }
.fusion-footer-widget-area a:hover { color: #fff !important; }
.fusion-footer-widget-area p, .fusion-footer-widget-area li { color: #98a8c8 !important; font-size: 14.5px; }
.fusion-footer-copyright-area {
  background: #0b1220 !important;
  border-top: 1px solid rgba(255,255,255,.06);
  padding: 20px 0 !important;
}
.fusion-footer-copyright-area .fusion-copyright-notice,
.fusion-footer-copyright-area a { color: #7d8db1 !important; font-size: 13.5px !important; }
.fusion-footer-copyright-area a:hover { color: #fff !important; }

/* --- CTA-consistentie: ALLE knoppen dezelfde pill-taal --- */
.fusion-button, .button, input[type="submit"],
.woocommerce #respond input#submit, .woocommerce button.button {
  border-radius: 100px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.fusion-button.button-default, .fusion-button.button-1 {
  background: var(--bs-blue) !important;
  color: #fff !important;
  border: none !important;
}
.fusion-button.button-default:hover, .fusion-button.button-1:hover { background: var(--bs-blue-dark) !important; }

/* Checkout/cart consistent */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #place_order {
  background: var(--bs-green) !important;
  border-radius: 100px !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  padding: 15px 34px !important;
}

/* --- Breadcrumbs subtiel --- */
.fusion-breadcrumbs, .fusion-breadcrumbs a { font-size: 13px !important; color: var(--bs-grey-500) !important; }
.fusion-breadcrumbs a:hover { color: var(--bs-blue) !important; }

/* --- Page title bar rustig --- */
.fusion-page-title-bar {
  background: var(--bs-grey-50) !important;
  border-bottom: 1px solid var(--bs-grey-200);
}
.fusion-page-title-bar h1 { color: var(--bs-navy) !important; font-weight: 800 !important; letter-spacing: -0.02em; }

/* ==========================================================================
   BISELECT v3.2 — HEADER ÉÉN LIJN + FOOTER-LINKS (2026-08-27)
   ========================================================================== */

/* mobiele nav niet breken */

/* Footer-linklijsten */
.bs-foot-links { list-style: none; margin: 0; padding: 0; }
.bs-foot-links li { margin: 0 0 10px; padding: 0; }
.bs-foot-links a {
  color: #c6d3ec !important;
  text-decoration: none !important;
  font-size: 14.5px;
  transition: color .12s ease, padding-left .12s ease;
}
.bs-foot-links a:hover { color: #fff !important; padding-left: 4px; }
.bs-foot-pay {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--bs-radius-sm);
  padding: 10px 14px;
  font-weight: 700;
  color: #fff !important;
  display: inline-block;
}

/* ==========================================================================
   BISELECT v3.3 — HUMAN DESIGN PASS (2026-08-27)
   Emoji's eruit, SVG line-icons erin. Header verfijnd naar 2026-niveau:
   Volvo (rust/premium), Apple (typografie), Coolblue (warmte), Nike (durf).
   ========================================================================== */

/* SVG-iconen: kleuren via currentColor */
.bs-ic { display: inline-block; vertical-align: middle; flex-shrink: 0; }
.bs-cat-ico {
  display: flex; align-items: center; justify-content: center;
  width: 64px; height: 64px;
  margin: 0 auto 16px;
  border-radius: 18px;
  background: var(--bs-blue-light);
  color: var(--bs-blue);
  transition: background .18s ease, color .18s ease, transform .18s ease;
}
.bs-cat-card:hover .bs-cat-ico { background: var(--bs-blue); color: #fff; transform: scale(1.06); }
.bs-pdp-trust .bs-t { color: var(--bs-dark); }
.bs-pdp-trust .bs-t .bs-ic { color: var(--bs-blue); }

/* USP-balk: geen ✓-tekens maar strakke dots */
.bs-usp li::before {
  content: "";
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--bs-green);
  display: inline-block;
  font-size: 0;
}

/* Zoekveld in overlay strakker */
.fusion-search-form .fusion-search-field input {
  border-radius: 100px !important;
  border: 1.5px solid var(--bs-grey-200) !important;
}

/* Footer: ✓-regels vervangen door nette spacing */
.bs-foot-usps { list-style: none; margin: 0; padding: 0; }
.bs-foot-usps li { padding: 4px 0 4px 18px; position: relative; color: #98a8c8; font-size: 14.5px; }
.bs-foot-usps li::before {
  content: ""; position: absolute; left: 0; top: 12px;
  width: 6px; height: 6px; border-radius: 50%; background: var(--bs-blue);
}

/* Prose: bullets als dots i.p.v. ✓-badges (menselijker) */
.bs-prose ul li::before {
  content: "";
  background: var(--bs-blue);
  width: 7px; height: 7px;
  border-radius: 50%;
  top: 9px; left: 6px;
  font-size: 0;
}
.single-product .bs-pdp-usp li::before {
  content: "";
  background: var(--bs-blue);
  width: 7px; height: 7px;
  border-radius: 50%;
  top: 11px; left: 6px;
  font-size: 0;
}

/* === BS3 HOMEPAGE v3 (verplaatst uit page-content 2026-09-01 \u2014 operator-fix: CSS stond als platte tekst op de pagina) === */
.bs3{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;color:#1d1d1f;line-height:1.6}
.bs3 *{box-sizing:border-box}
.bs3-hero{background:linear-gradient(135deg,#0b1f3a 0%,#14345c 60%,#1d4e89 100%);color:#fff;padding:96px 24px;text-align:center;border-radius:0 0 32px 32px}
.bs3-hero h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:700;margin:0 0 16px;letter-spacing:-.02em}
.bs3-hero p{font-size:1.25rem;max-width:640px;margin:0 auto 32px;color:#dbe6f4}
.bs3-btn{display:inline-block;background:#ff7a00;color:#fff!important;padding:16px 40px;border-radius:999px;font-weight:600;text-decoration:none;font-size:1.05rem;transition:transform .15s ease,box-shadow .15s ease}
.bs3-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(255,122,0,.35)}
.bs3-btn-ghost{display:inline-block;color:#fff!important;padding:16px 32px;border:1.5px solid rgba(255,255,255,.5);border-radius:999px;font-weight:600;text-decoration:none;margin-left:12px}
.bs3-usps{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;max-width:1100px;margin:-32px auto 0;padding:0 24px;position:relative}
.bs3-usp{background:#fff;border-radius:16px;padding:20px 28px;box-shadow:0 6px 24px rgba(13,38,76,.10);font-weight:600;font-size:.98rem;color:#0b1f3a}
.bs3-section{max-width:1100px;margin:72px auto;padding:0 24px}
.bs3-section h2{font-size:2rem;font-weight:700;text-align:center;margin:0 0 8px;letter-spacing:-.01em}
.bs3-section .bs3-sub{text-align:center;color:#6e6e73;max-width:560px;margin:0 auto 40px;font-size:1.08rem}
.bs3-cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}
.bs3-cat{background:#f5f6f8;border-radius:20px;padding:32px 24px;text-decoration:none;color:#1d1d1f!important;transition:transform .15s ease,box-shadow .15s ease;display:block}
.bs3-cat:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(13,38,76,.12);background:#fff}
.bs3-cat h3{margin:0 0 6px;font-size:1.15rem;font-weight:700;color:#0b1f3a}
.bs3-cat p{margin:0 0 12px;color:#6e6e73;font-size:.92rem}
.bs3-cat span{color:#1d4e89;font-weight:600;font-size:.92rem}
.bs3-b2b{background:#0b1f3a;color:#fff;border-radius:28px;padding:64px 40px;text-align:center}
.bs3-b2b h2{color:#fff}
.bs3-b2b p{color:#c8d6e8;max-width:600px;margin:0 auto 28px;font-size:1.1rem}
.bs3-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:32px;color:#6e6e73;font-size:.95rem;margin-top:24px}
@media(max-width:640px){.bs3-hero{padding:64px 16px}.bs3-btn-ghost{margin:12px 0 0}}

/* ==========================================================================
   BISELECT v3.3 — HEADER CART & SEARCH POSITIONERING (2026-09-01)
   Cart-icoon en zoekfunctie rechtsboven, uitgelijnd met het menu
   ========================================================================== */

/* Search-overlay: correct positioneren */
.fusion-search-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 1000 !important;
  background: rgba(255,255,255,.98) !important;
  backdrop-filter: blur(10px) !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 40px 20px !important;
}
.fusion-search-overlay.is-active,
.fusion-search-overlay.active {
  display: flex !important;
}
.fusion-search-overlay .fusion-search-form {
  width: 100% !important;
  max-width: 640px !important;
  margin: 0 !important;
}
.fusion-search-overlay .fusion-search-field {
  position: relative !important;
  margin-bottom: 0 !important;
}
.fusion-search-overlay .fusion-search-field input {
  width: 100% !important;
  padding: 18px 56px 18px 24px !important;
  font-size: 18px !important;
  border: 2px solid var(--bs-grey-200) !important;
  border-radius: 100px !important;
  background: #fff !important;
  box-shadow: 0 4px 24px rgba(0,0,0,.08) !important;
  transition: border-color .2s ease, box-shadow .2s ease !important;
}
.fusion-search-overlay .fusion-search-field input:focus {
  border-color: var(--bs-blue) !important;
  box-shadow: 0 4px 32px rgba(43,108,196,.15) !important;
  outline: none !important;
}
.fusion-search-overlay .fusion-search-field .fusion-search-submit {
  position: absolute !important;
  right: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: var(--bs-blue) !important;
  color: #fff !important;
  border: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background .2s ease !important;
}
.fusion-search-overlay .fusion-search-field .fusion-search-submit:hover {
  background: var(--bs-blue-dark) !important;
}
.fusion-search-overlay .fusion-search-field .fusion-search-submit::after {
  font-size: 16px !important;
}
.fusion-search-overlay-close {
  position: absolute !important;
  top: 24px !important;
  right: 32px !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: var(--bs-grey-50) !important;
  border: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 20px !important;
  color: var(--bs-dark) !important;
  transition: background .2s ease !important;
}
.fusion-search-overlay-close:hover {
  background: var(--bs-grey-200) !important;
}

/* Mobile: cart en search blijven zichtbaar */

/* =========================================================================
   HEADER ICONS — cart + search positionering (2026-09-01)
   ========================================================================= */

/* ==========================================================================
   HEADER ICONS FIX — Cart + Search correct positioneren (2026-08-27)
   Avada gebruikt de 'fusion' icon-font; we definiëren hier de content-codes
   en positioneren de icons rechtsboven, uitgelijnd met het menu.
   ========================================================================== */

/* ==========================================================================
   BISELECT v3.4 — HOMEPAGE PRODUCT-GRID & SECTIONS (2026-09-01)
   ========================================================================== */
.bs3-section{padding:72px 24px;max-width:1200px;margin:0 auto}
.bs3-section-alt{background:#f5f6f8;max-width:none}
.bs3-section-alt .bs3-section-head,.bs3-section-alt .bs3-prod-grid{max-width:1200px;margin:0 auto}
.bs3-section-head{text-align:center;margin-bottom:40px}
.bs3-section-head h2{font-size:2rem;font-weight:800;color:#0b1f3a;margin:0 0 8px}
.bs3-section-head p{color:#6e6e73;font-size:1.05rem;margin:0}
.bs3-prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px}
.bs3-prod{background:#fff;border-radius:18px;overflow:hidden;text-decoration:none;color:#1d1d1f!important;box-shadow:0 2px 10px rgba(13,38,76,.06);transition:transform .15s ease,box-shadow .15s ease;display:flex;flex-direction:column}
.bs3-prod:hover{transform:translateY(-4px);box-shadow:0 14px 36px rgba(13,38,76,.14)}
.bs3-prod-img{height:200px;display:flex;align-items:center;justify-content:center;background:#fafbfc;overflow:hidden}
.bs3-prod-img img{max-width:100%;max-height:100%;object-fit:contain}
.bs3-prod-body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:6px;flex:1}
.bs3-prod-cat{color:#1d4e89;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.bs3-prod-body h3{margin:0;font-size:1rem;font-weight:600;color:#0b1f3a;line-height:1.35}
.bs3-prod-price{margin-top:auto;font-weight:700;color:#0b1f3a;font-size:1.05rem}
.bs3-prod-price del{color:#9a9aa0;font-weight:400;margin-right:6px}
.bs3-btn-white{background:#fff;color:#0b1f3a}
.bs3-empty{color:#6e6e73;text-align:center;font-size:1.05rem}
@media(max-width:640px){.bs3-section{padding:48px 16px}.bs3-prod-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.bs3-prod-img{height:150px}}

/* ==========================================================================
   BISELECT v3.5.1 — HOMEPAGE CLASS COMPATIBILITY (2026-09-01)
   front-page.php v3.4 gebruikt andere class-namen dan de originele CSS.
   Dit blok bridge-t de mismatch + voegt ontbrekende styles toe.
   ========================================================================== */

/* USP items: PHP gebruikt .bs3-usp-item, CSS had .bs3-usp */
.bs3-usp-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 8px;
  padding: 20px 16px;
}
.bs3-usp-item .bs3-usp-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--bs-blue) 0%, var(--bs-blue-dark) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.4rem;
  margin-bottom: 4px;
}
.bs3-usp-item h4 {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: #0b1f3a;
}
.bs3-usp-item p {
  margin: 0;
  font-size: 0.85rem;
  color: #6e6e73;
  line-height: 1.4;
}

/* Categorie cards: PHP gebruikt .bs3-cat-card, CSS had .bs3-cat */
.bs3-cat-card {
  background: #f5f6f8;
  border-radius: 20px;
  padding: 32px 24px;
  text-decoration: none;
  color: #1d1d1f !important;
  transition: transform .15s ease, box-shadow .15s ease;
  display: block;
}
.bs3-cat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(13,38,76,.12);
  background: #fff;
}
.bs3-cat-card h3 {
  margin: 0 0 6px;
  font-size: 1.15rem;
  font-weight: 700;
  color: #0b1f3a;
}
.bs3-cat-card p {
  margin: 0 0 12px;
  color: #6e6e73;
  font-size: .92rem;
}
.bs3-cat-card span {
  color: #1d4e89;
  font-weight: 600;
  font-size: .92rem;
}

/* Product cards: PHP gebruikt .bs3-prod-card, CSS had .bs3-prod */
.bs3-prod-card {
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  text-decoration: none;
  color: #1d1d1f !important;
  box-shadow: 0 2px 10px rgba(13,38,76,.06);
  transition: transform .15s ease, box-shadow .15s ease;
  display: flex;
  flex-direction: column;
}
.bs3-prod-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 36px rgba(13,38,76,.14);
}

/* Product info: PHP gebruikt .bs3-prod-info, CSS had .bs3-prod-body */
.bs3-prod-info {
  padding: 16px 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}
.bs3-prod-info h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  color: #0b1f3a;
  line-height: 1.35;
}
.bs3-prod-info .bs3-prod-cat {
  color: #1d4e89;
  font-size: .8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
}

/* Product CTA: ONTBREKEND in originele CSS */
.bs3-prod-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 20px;
  background: var(--bs-blue, #2b6cc4);
  color: #fff !important;
  border-radius: 100px;
  font-size: 0.88rem;
  font-weight: 600;
  text-decoration: none;
  transition: background .2s ease;
  margin-top: 8px;
  width: 100%;
}
.bs3-prod-cta:hover {
  background: var(--bs-blue-dark, #1a4d8a);
}

/* Mobile: compat classes */
@media (max-width: 640px) {
  .bs3-usp-item { padding: 14px 10px; }
  .bs3-usp-item .bs3-usp-icon { width: 40px; height: 40px; font-size: 1.1rem; }
  .bs3-cat-card { padding: 24px 18px; }
  .bs3-prod-info { padding: 12px 14px 16px; }
  .bs3-prod-cta { padding: 8px 16px; font-size: 0.82rem; }
}

/* ==========================================================================
   BISELECT v3.5 — B2B-BLOK & TRUST-BALCK (2026-09-01)
   ========================================================================== */

/* B2B-blok: verbeterd met trust-signalen */
.bs3-b2b {
    background: linear-gradient(135deg, #0b1f3a 0%, #14345c 100%);
    color: #fff;
    border-radius: 28px;
    padding: 64px 40px;
    text-align: center;
    margin: 48px 0;
    position: relative;
    overflow: hidden;
}

.bs3-b2b::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(29,78,137,0.15) 0%, transparent 70%);
    pointer-events: none;
}

.bs3-b2b-content {
    position: relative;
    z-index: 1;
    max-width: 800px;
    margin: 0 auto;
}

.bs3-b2b h2 {
    color: #fff;
    font-size: 2.2rem;
    margin: 0 0 16px;
    font-weight: 700;
}

.bs3-b2b p {
    color: #c8d6e8;
    max-width: 600px;
    margin: 0 auto 32px;
    font-size: 1.1rem;
    line-height: 1.6;
}

/* Trust-signalen in B2B-blok */
.bs3-b2b-trust {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
    margin: 32px 0;
}

.bs3-b2b-trust-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 16px 20px;
    background: rgba(255,255,255,0.08);
    border-radius: 16px;
    min-width: 140px;
    transition: background .2s ease, transform .2s ease;
}

.bs3-b2b-trust-item:hover {
    background: rgba(255,255,255,0.12);
    transform: translateY(-2px);
}

.bs3-b2b-trust-icon {
    font-size: 1.8rem;
    line-height: 1;
}

.bs3-b2b-trust-item strong {
    color: #fff;
    font-size: 0.95rem;
    font-weight: 600;
}

/* CTA-knoppen in B2B-blok */
.bs3-b2b-ctas {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    margin-top: 32px;
}

.bs3-btn-ghost-light {
    background: transparent;
    color: #fff;
    border: 2px solid rgba(255,255,255,0.4);
    padding: 14px 28px;
    border-radius: 100px;
    font-weight: 600;
    text-decoration: none;
    transition: all .2s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.bs3-btn-ghost-light:hover {
    background: rgba(255,255,255,0.1);
    border-color: #fff;
    transform: translateY(-2px);
}

/* Prominente trust-balk */
.bs3-trust-prominent {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin: 48px 0;
    padding: 32px;
    background: #f5f6f8;
    border-radius: 20px;
}

.bs3-trust-badge {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 2px 10px rgba(13,38,76,.06);
    transition: transform .2s ease, box-shadow .2s ease;
}

.bs3-trust-badge:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(13,38,76,.12);
}

.bs3-trust-badge-icon {
    font-size: 2rem;
    line-height: 1;
    flex-shrink: 0;
}

.bs3-trust-badge div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.bs3-trust-badge strong {
    color: #0b1f3a;
    font-size: 1rem;
    font-weight: 700;
}

.bs3-trust-badge span {
    color: #6e6e73;
    font-size: 0.85rem;
}

/* Mobile */
@media (max-width: 768px) {
    .bs3-b2b {
        padding: 40px 20px;
    }
    
    .bs3-b2b h2 {
        font-size: 1.8rem;
    }
    
    .bs3-b2b-trust {
        gap: 12px;
    }
    
    .bs3-b2b-trust-item {
        min-width: 120px;
        padding: 12px 16px;
    }
    
    .bs3-b2b-ctas {
        flex-direction: column;
        align-items: center;
    }
    
    .bs3-btn-ghost-light {
        width: 100%;
        max-width: 280px;
        justify-content: center;
    }
    
    .bs3-trust-prominent {
        grid-template-columns: 1fr;
        padding: 20px;
    }
}

/* HEADER v2 */
/* Single source of truth voor header/menu/logo (DESIGN_PLAYBOOK §6). Alles boven deze
   sectie mag GEEN .fusion-header/.fusion-main-menu/.fusion-logo regels bevatten.  */
:root{--bs-navy:#142d45;--bs-accent:#e30613;--bs-text:#1f2937;--bs-muted:#6b7280;--bs-line:#e5e7eb;--bs-nav-h:84px}
.fusion-header-wrapper .fusion-header{background:#fff;border-bottom:1px solid var(--bs-line);box-shadow:0 1px 8px rgba(0,0,0,.05)}
.fusion-header .fusion-row{max-width:1400px;padding:0 24px}
.fusion-logo{margin:0;display:flex;align-items:center;min-height:var(--bs-nav-h)}
.fusion-logo img{width:auto;height:44px;max-height:44px}
.fusion-main-menu{display:flex;align-items:center;min-height:var(--bs-nav-h)}
.fusion-main-menu>ul>li{padding-right:28px}
.fusion-main-menu>ul>li>a{height:var(--bs-nav-h);line-height:var(--bs-nav-h);font-size:14px;font-weight:600;letter-spacing:.03em;color:var(--bs-text);border-top:0;transition:color .15s}
.fusion-main-menu>ul>li>a:hover,.fusion-main-menu>ul>li.current-menu-item>a,.fusion-main-menu>ul>li.current-menu-ancestor>a{color:var(--bs-navy)!important;font-weight:700}
.fusion-main-menu>ul>li>a .menu-text{position:relative}
.fusion-main-menu>ul>li>a .menu-text:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--bs-accent);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.fusion-main-menu>ul>li:hover>a .menu-text:after,.fusion-main-menu>ul>li.current-menu-item>a .menu-text:after{transform:scaleX(1)}
/* dropdown / megamenu */
.fusion-main-menu .sub-menu{background:#fff;border:1px solid var(--bs-line);border-radius:8px;box-shadow:0 12px 32px rgba(15,23,42,.12);padding:8px 0;min-width:260px}
.fusion-main-menu .sub-menu li a{padding:9px 18px;font-size:14px;color:var(--bs-text);border:0}
.fusion-main-menu .sub-menu li a:hover{background:#f5f7fa;color:var(--bs-navy)}
.fusion-main-menu .fusion-megamenu-wrapper .fusion-megamenu-holder{border-radius:8px;box-shadow:0 12px 32px rgba(15,23,42,.12)}
.fusion-main-menu .fusion-megamenu-title{color:var(--bs-navy);font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.04em}
/* utility items: offerte als CTA-knop, laatste 2 items compacter */
.fusion-main-menu>ul>li.bs-cta>a{height:40px;line-height:40px;margin-top:22px;padding:0 18px;background:var(--bs-accent);color:#fff;border-radius:6px}
.fusion-main-menu>ul>li.bs-cta>a:hover{background:#c3050f;color:#fff}
.fusion-main-menu>ul>li.bs-cta>a .menu-text:after{display:none}
/* search + cart icons: rechts, uitgelijnd met menu */
.fusion-main-menu>ul>li.fusion-main-menu-search,.fusion-main-menu>ul>li.fusion-main-menu-cart,.fusion-main-menu>ul>li.fusion-custom-menu-item-cart{padding-right:16px}
.fusion-main-menu>ul>li.fusion-main-menu-search>a,.fusion-main-menu>ul>li.fusion-main-menu-cart>a,.fusion-main-menu>ul>li.fusion-custom-menu-item-cart>a{height:var(--bs-nav-h);line-height:var(--bs-nav-h);color:var(--bs-text)}
.fusion-main-menu .fusion-menu-cart-item-count{background:var(--bs-accent);color:#fff}
/* sticky header: iets compacter */
.fusion-is-sticky .fusion-header{box-shadow:0 2px 14px rgba(0,0,0,.08)}
.fusion-is-sticky .fusion-logo img{height:36px;max-height:36px}
/* mobile */
@media (max-width:1024px){
  .fusion-logo{min-height:64px}
  .fusion-logo img{height:36px;max-height:36px}
  .fusion-mobile-menu-icons a{color:var(--bs-text)}
  .fusion-mobile-nav-holder>ul>li>a{font-weight:600;color:var(--bs-text)}
  .fusion-mobile-nav-holder .sub-menu a{padding-left:28px}
}
/* /HEADER v2 */

/* ==========================================================================
   BISELECT DESIGN SYSTEM v4.0 - "LUXE, MENSELIJK" (2026-09-03)
   Referenties: Volvo Cars (hairlines, rust), Apple (typografie, ruimte),
   Microsoft Fluent (radius/elevatie/AA), Coolblue (menselijke copy).
   Branding: inkt-navy + porselein + koper-accent. Geen symbolen/emoji,
   geen gradients, geen pill-knoppen, geen glow. Zie BRAND_RESEARCH.md.
   ========================================================================== */
:root {
  --bs-ink:#0F1A2B; --bs-graphite:#2A3648; --bs-slate:#5B6B82; --bs-mist:#E6EAF0;
  --bs-porcelain:#F7F8FA; --bs-copper:#B7692A; --bs-copper-deep:#8F4F1C;
  --bs-copper-tint:#F6EDE4; --bs-link:#1F4FBF; --bs-ok:#1E7A4F;
  --bs-navy:var(--bs-ink); --bs-dark:var(--bs-graphite); --bs-blue:var(--bs-ink);
  --bs-blue-dark:var(--bs-copper-deep); --bs-blue-light:var(--bs-copper-tint);
  --bs-accent:var(--bs-copper); --bs-grey-50:var(--bs-porcelain); --bs-grey-100:#F1F3F6;
  --bs-grey-200:var(--bs-mist); --bs-grey-500:var(--bs-slate); --bs-green:var(--bs-ok);
  --bs-radius:10px; --bs-radius-sm:6px; --bs-radius-lg:14px; --bs-radius-btn:8px;
  --bs-shadow:0 1px 2px rgba(15,26,43,.06),0 8px 24px rgba(15,26,43,.06);
  --bs-shadow-hover:0 1px 2px rgba(15,26,43,.06),0 16px 40px rgba(15,26,43,.10);
  --bs-font:-apple-system,"Segoe UI",Inter,"Helvetica Neue",Arial,sans-serif;
  --bs-header-h:72px;
}
body.bs-v4{font-family:var(--bs-font);color:var(--bs-graphite);-webkit-font-smoothing:antialiased}
body.bs-v4 h1,body.bs-v4 h2,body.bs-v4 h3,body.bs-v4 h4,body.bs-v4 .fusion-title h2{color:var(--bs-ink);font-weight:600;letter-spacing:-.02em}
body.bs-v4 :focus-visible{outline:2px solid var(--bs-link);outline-offset:2px;border-radius:4px}

/* Service-balk: menselijke tekst, geen iconen */
.bs-servicebar{background:var(--bs-ink);color:rgba(255,255,255,.86);font:500 13px/1 var(--bs-font);height:36px;display:flex;align-items:center}
.bs-servicebar__inner{width:100%;max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.bs-servicebar__list{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.bs-servicebar__list li{position:relative;white-space:nowrap}
.bs-servicebar__list li+li::before{content:"";position:absolute;left:-14px;top:50%;width:1px;height:12px;background:rgba(255,255,255,.22);transform:translateY(-50%)}
.bs-servicebar a{color:var(--bs-copper-tint)!important;text-decoration:none;white-space:nowrap}
.bs-servicebar a:hover{color:#fff!important;text-decoration:underline;text-underline-offset:3px}
@media(max-width:1023px){.bs-servicebar__list li:nth-child(n+2){display:none}}
@media(max-width:640px){.bs-servicebar__inner{justify-content:center}.bs-servicebar a{display:none}}

/* Header: 72px, wit, hairline, geen schaduw */
body.bs-v4 .fusion-header-wrapper .fusion-header{box-shadow:none!important;background:#fff!important;border-bottom:1px solid var(--bs-mist)!important}
body.bs-v4 .fusion-header-wrapper.fusion-header-shadow::after{display:none!important}
body.bs-v4 .fusion-header .fusion-row{display:flex!important;align-items:center!important;justify-content:space-between!important;height:var(--bs-header-h)!important;min-height:var(--bs-header-h)!important;max-width:1200px!important;padding:0 24px!important}
body.bs-v4 .fusion-header .fusion-row::before,body.bs-v4 .fusion-header .fusion-row::after{display:none!important}
body.bs-v4 .fusion-logo{margin:0!important;padding:0!important;display:flex;align-items:center}
body.bs-v4 .fusion-logo img{max-height:38px!important;width:auto!important;height:auto!important}
body.bs-v4 .fusion-header-sticky-height{display:none!important}
body.bs-v4 .fusion-is-sticky .fusion-header{background:rgba(255,255,255,.96)!important;backdrop-filter:saturate(160%) blur(8px);-webkit-backdrop-filter:saturate(160%) blur(8px)}
body.bs-v4 .fusion-is-sticky .fusion-logo img{max-height:32px!important}
/* Navigatie: 15px/500 inkt, koperen hairline die van links inschuift */
body.bs-v4 .fusion-main-menu{margin:0!important;display:flex;align-items:center}
body.bs-v4 .fusion-main-menu>ul{display:flex;align-items:center;gap:2px}
body.bs-v4 .fusion-main-menu>ul>li{padding:0!important;margin:0!important}
body.bs-v4 .fusion-main-menu>ul>li>a{height:var(--bs-header-h)!important;line-height:var(--bs-header-h)!important;padding:0 14px!important;font:500 15px/var(--bs-header-h) var(--bs-font)!important;color:var(--bs-ink)!important;letter-spacing:0!important;text-transform:none!important;position:relative;transition:color .16s ease}
body.bs-v4 .fusion-main-menu>ul>li>a .menu-text{border:none!important}
body.bs-v4 .fusion-main-menu .fusion-bar-highlight::after,body.bs-v4 .fusion-main-menu>ul>li>a .fusion-menu-highlight{display:none!important}
body.bs-v4 .fusion-main-menu>ul>li>a::before{content:"";position:absolute;left:14px;right:14px;bottom:20px;height:1px;background:var(--bs-copper);transform:scaleX(0);transform-origin:left;transition:transform .22s cubic-bezier(.2,.7,.2,1)}
body.bs-v4 .fusion-main-menu>ul>li:hover>a::before,body.bs-v4 .fusion-main-menu>ul>li.current-menu-item>a::before,body.bs-v4 .fusion-main-menu>ul>li.current-menu-ancestor>a::before{transform:scaleX(1)}
/* Offerte-item: rustige secundaire knop */
body.bs-v4 .fusion-main-menu>ul>li.bs-cta>a,body.bs-v4 .fusion-main-menu>ul>li.menu-item-167210>a{margin-left:10px;height:40px!important;line-height:38px!important;border:1px solid var(--bs-ink);border-radius:var(--bs-radius-btn);padding:0 16px!important;background:transparent!important}
body.bs-v4 .fusion-main-menu>ul>li.bs-cta>a::before,body.bs-v4 .fusion-main-menu>ul>li.menu-item-167210>a::before{display:none}
body.bs-v4 .fusion-main-menu>ul>li.bs-cta>a:hover,body.bs-v4 .fusion-main-menu>ul>li.menu-item-167210>a:hover{background:var(--bs-ink)!important;color:#fff!important}
body.bs-v4 .fusion-main-menu>ul>li.bs-cta>a:hover .menu-text,body.bs-v4 .fusion-main-menu>ul>li.menu-item-167210>a:hover .menu-text{color:#fff!important}

/* Dropdown */
body.bs-v4 .fusion-main-menu .sub-menu{background:#fff!important;border:1px solid var(--bs-mist)!important;border-radius:var(--bs-radius)!important;box-shadow:var(--bs-shadow-hover)!important;padding:8px!important;min-width:240px!important}
body.bs-v4 .fusion-main-menu .sub-menu li a{padding:10px 12px!important;border-radius:var(--bs-radius-sm)!important;font:400 14.5px/1.3 var(--bs-font)!important;color:var(--bs-graphite)!important;background:transparent!important;border:none!important}
body.bs-v4 .fusion-main-menu .sub-menu li a:hover{background:var(--bs-porcelain)!important;color:var(--bs-ink)!important}

/* Header-iconen (zoeken/winkelwagen): inkt, zichtbaar, geen badge-glow */
body.bs-v4 .fusion-main-menu>ul>li.fusion-custom-menu-item-cart,body.bs-v4 .fusion-main-menu>ul>li.fusion-main-menu-search{display:inline-block!important;visibility:visible!important;opacity:1!important}
body.bs-v4 .fusion-main-menu>ul>li.fusion-custom-menu-item-cart>a,body.bs-v4 .fusion-main-menu>ul>li.fusion-menu-item-button>a,body.bs-v4 .fusion-main-menu>ul>li.fusion-main-menu-search>a{padding:0 10px!important}
body.bs-v4 .fusion-main-menu>ul>li.fusion-main-menu-search>a::before,body.bs-v4 .fusion-main-menu>ul>li.fusion-custom-menu-item-cart>a::before{display:none}
body.bs-v4 .fusion-main-menu .fusion-main-menu-icon::before{color:var(--bs-ink)!important;font-size:17px!important}
body.bs-v4 .fusion-main-menu .fusion-widget-cart-number{background:var(--bs-copper)!important;color:#fff!important;font:600 10px/16px var(--bs-font)!important;min-width:16px;height:16px;border-radius:8px;padding:0 4px;box-shadow:none!important}

/* Zoek-overlay: opent onder de header */
body.bs-v4 .fusion-main-menu-search.fusion-search-overlay .fusion-custom-menu-item-contents{position:fixed!important;top:calc(var(--bs-header-h) + 36px)!important;left:0!important;right:0!important;width:100%!important;background:#fff!important;border-top:1px solid var(--bs-mist);border-bottom:1px solid var(--bs-mist);box-shadow:var(--bs-shadow);padding:20px 24px!important;z-index:10050!important;transform:none!important}
body.bs-v4 .fusion-is-sticky .fusion-main-menu-search.fusion-search-overlay .fusion-custom-menu-item-contents{top:var(--bs-header-h)!important}
body.bs-v4 .fusion-main-menu-search .fusion-search-form{max-width:720px;margin:0 auto}
body.bs-v4 .fusion-main-menu-search .fusion-search-form .fusion-search-field input{height:52px!important;border:1px solid var(--bs-mist)!important;border-radius:var(--bs-radius-btn)!important;font:400 16px var(--bs-font)!important;padding:0 16px!important;background:var(--bs-porcelain)!important;color:var(--bs-ink)!important}
body.bs-v4 .fusion-main-menu-search .fusion-search-form .fusion-search-field input:focus{border-color:var(--bs-ink)!important;background:#fff!important}
body.bs-v4 .fusion-main-menu-search .fusion-search-form .fusion-search-button input[type=submit]{background:var(--bs-ink)!important;color:#fff!important;height:52px!important;border-radius:var(--bs-radius-btn)!important;border:none!important;padding:0 20px!important;font:600 14px var(--bs-font)!important}
/* Knoppen sitebreed: 44px, 8px radius, inkt primair / hairline secundair */
body.bs-v4 .fusion-button,body.bs-v4 .button,body.bs-v4 .woocommerce a.button,body.bs-v4 .woocommerce button.button,body.bs-v4 .woocommerce input.button,body.bs-v4 .bs3-btn,body.bs-v4 .bs3-btn-primary,body.bs-v4 .bs3-btn-ghost,body.bs-v4 .bs3-btn-outline,body.bs-v4 .single_add_to_cart_button{background:var(--bs-ink)!important;color:#fff!important;border:1px solid var(--bs-ink)!important;border-radius:var(--bs-radius-btn)!important;min-height:44px;line-height:42px!important;padding:0 22px!important;font:600 14.5px var(--bs-font)!important;text-transform:none!important;letter-spacing:0!important;box-shadow:none!important;background-image:none!important;transition:background-color .16s,border-color .16s,transform .16s}
body.bs-v4 .fusion-button:hover,body.bs-v4 .button:hover,body.bs-v4 .woocommerce a.button:hover,body.bs-v4 .bs3-btn-primary:hover,body.bs-v4 .single_add_to_cart_button:hover{background:var(--bs-graphite)!important;border-color:var(--bs-graphite)!important;color:#fff!important;transform:translateY(-1px)}
body.bs-v4 .bs3-btn-ghost,body.bs-v4 .bs3-btn-outline,body.bs-v4 .fusion-button-outline,body.bs-v4 .bs-btn-secondary{background:transparent!important;color:var(--bs-ink)!important}
body.bs-v4 .bs3-btn-ghost:hover,body.bs-v4 .bs3-btn-outline:hover,body.bs-v4 .bs-btn-secondary:hover{background:var(--bs-ink)!important;color:#fff!important}
body.bs-v4 .bs3-hero .bs3-btn-ghost{color:#fff!important;border-color:rgba(255,255,255,.55)!important}
body.bs-v4 .bs3-hero .bs3-btn-ghost:hover{background:#fff!important;color:var(--bs-ink)!important;border-color:#fff!important}
body.bs-v4 .bs3-hero .bs3-btn-primary{background:var(--bs-copper)!important;border-color:var(--bs-copper)!important}
body.bs-v4 .bs3-hero .bs3-btn-primary:hover{background:var(--bs-copper-deep)!important;border-color:var(--bs-copper-deep)!important}

/* Homepage v4: ruimte, hairlines, geen symbolen */
body.bs-v4 .bs3-wrap,body.bs-v4 .bs3-inner{max-width:1200px;padding-left:24px;padding-right:24px}
body.bs-v4 .bs-eyebrow{display:block;font:600 12px/1 var(--bs-font);letter-spacing:.14em;text-transform:uppercase;color:var(--bs-copper);margin-bottom:18px}
body.bs-v4 .bs3-hero{background:var(--bs-ink)!important;background-image:none!important;color:#fff;padding:112px 0 104px!important;position:relative;overflow:hidden}
body.bs-v4 .bs3-hero::after{content:"";position:absolute;right:-12%;top:-30%;width:58%;height:160%;background:radial-gradient(closest-side,rgba(183,105,42,.16),transparent 70%);pointer-events:none}
body.bs-v4 .bs3-hero .bs-eyebrow{color:#D9A879}
body.bs-v4 .bs3-hero h1{font-size:clamp(38px,4.6vw,60px)!important;line-height:1.08!important;letter-spacing:-.025em!important;color:#fff!important;max-width:14ch;margin:0 0 22px!important;font-weight:600!important}
body.bs-v4 .bs3-hero p,body.bs-v4 .bs3-hero .bs3-sub{font-size:19px!important;line-height:1.55!important;color:rgba(255,255,255,.78)!important;max-width:52ch;margin:0 0 36px!important}
body.bs-v4 .bs3-hero .bs3-actions,body.bs-v4 .bs3-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
body.bs-v4 .bs3-hero .bs3-btn,body.bs-v4 .bs3-hero .bs3-btn-ghost{height:48px;line-height:46px!important;padding:0 26px!important;font-size:15px!important}

/* USP-strip: tekstueel, geen emoji; hairline scheiding */
body.bs-v4 .bs3-usp{background:#fff;border-bottom:1px solid var(--bs-mist);padding:0!important}
body.bs-v4 .bs3-usp .bs3-grid,body.bs-v4 .bs3-usp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
body.bs-v4 .bs3-usp-item,body.bs-v4 .bs3-usp .bs3-card{background:transparent!important;border:none!important;border-left:1px solid var(--bs-mist)!important;border-radius:0!important;box-shadow:none!important;padding:28px 28px!important;text-align:left!important}
body.bs-v4 .bs3-usp-item:first-child,body.bs-v4 .bs3-usp .bs3-card:first-child{border-left:none!important}
body.bs-v4 .bs3-usp-icon,body.bs-v4 .bs3-usp .bs3-icon,body.bs-v4 .bs3-b2b-icon,body.bs-v4 .bs3-trust-icon,body.bs-v4 .bs3-cat-icon{display:none!important}
body.bs-v4 .bs3-usp-item h3,body.bs-v4 .bs3-usp-item strong{font:600 15px/1.3 var(--bs-font);color:var(--bs-ink);margin:0 0 6px;display:block}
body.bs-v4 .bs3-usp-item p,body.bs-v4 .bs3-usp-item span{font:400 14px/1.5 var(--bs-font);color:var(--bs-slate);margin:0}
@media(max-width:900px){body.bs-v4 .bs3-usp .bs3-grid,body.bs-v4 .bs3-usp-grid{grid-template-columns:1fr 1fr}body.bs-v4 .bs3-usp-item:nth-child(odd){border-left:none!important}body.bs-v4 .bs3-usp-item:nth-child(n+3){border-top:1px solid var(--bs-mist)!important}}
/* USP: v3.5 structuur (section is zelf de grid) */
body.bs-v4 section.bs3-usp{display:grid;grid-template-columns:repeat(4,1fr);gap:0;max-width:1200px;margin:0 auto}
body.bs-v4 .bs3-b2b-trust-icon,body.bs-v4 .bs3-trust-badge-icon{display:none!important}

/* Sectiekoppen: links uitgelijnd, rustig */
body.bs-v4 .bs3-section{padding:96px 24px}
body.bs-v4 .bs3-section-alt{background:var(--bs-porcelain)}
body.bs-v4 .bs3-section-head{max-width:1200px;margin:0 auto 44px;text-align:left!important}
body.bs-v4 .bs3-section-head h2,body.bs-v4 .bs3-b2b h2{font-size:clamp(28px,3vw,38px)!important;line-height:1.15!important;letter-spacing:-.02em!important;margin:0 0 12px!important;font-weight:600!important}
body.bs-v4 .bs3-section-head p{font-size:17px!important;line-height:1.55!important;color:var(--bs-slate)!important;max-width:60ch;margin:0!important}

/* Categorieen: hairline-kaarten, koperen hover */
body.bs-v4 .bs3-cats{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
body.bs-v4 .bs3-cat-card{display:block;background:#fff!important;border:1px solid var(--bs-mist)!important;border-radius:var(--bs-radius)!important;padding:28px!important;box-shadow:none!important;text-decoration:none!important;transition:border-color .18s,transform .18s,box-shadow .18s;background-image:none!important}
body.bs-v4 .bs3-cat-card:hover{border-color:var(--bs-copper)!important;transform:translateY(-2px);box-shadow:var(--bs-shadow)}
body.bs-v4 .bs3-cat-card h3{font:600 18px/1.3 var(--bs-font)!important;color:var(--bs-ink)!important;margin:0 0 8px!important;letter-spacing:-.01em}
body.bs-v4 .bs3-cat-card p{font:400 14.5px/1.5 var(--bs-font)!important;color:var(--bs-slate)!important;margin:0 0 18px!important;min-height:0!important}
body.bs-v4 .bs3-cat-card span{font:500 13.5px var(--bs-font)!important;color:var(--bs-copper-deep)!important}
@media(max-width:1000px){body.bs-v4 .bs3-cats{grid-template-columns:1fr 1fr}}
@media(max-width:600px){body.bs-v4 .bs3-cats{grid-template-columns:1fr}}

/* Producten: wit, hairline, foto op porselein */
body.bs-v4 .bs3-prod-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
body.bs-v4 .bs3-prod{display:block;background:#fff!important;border:1px solid var(--bs-mist)!important;border-radius:var(--bs-radius)!important;overflow:hidden;box-shadow:none!important;text-decoration:none!important;transition:border-color .18s,transform .18s,box-shadow .18s}
body.bs-v4 .bs3-prod:hover{border-color:var(--bs-graphite)!important;transform:translateY(-2px);box-shadow:var(--bs-shadow)}
body.bs-v4 .bs3-prod-img{background:var(--bs-porcelain)!important;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;padding:20px}
body.bs-v4 .bs3-prod-img img{max-height:100%;width:auto;mix-blend-mode:multiply}
body.bs-v4 .bs3-prod-body{padding:18px 20px 22px!important}
body.bs-v4 .bs3-prod-cat{display:block;font:600 11.5px/1 var(--bs-font)!important;letter-spacing:.1em;text-transform:uppercase;color:var(--bs-copper)!important;margin-bottom:8px}
body.bs-v4 .bs3-prod h3{font:500 15.5px/1.35 var(--bs-font)!important;color:var(--bs-ink)!important;margin:0 0 10px!important}
body.bs-v4 .bs3-prod-price{font:600 16px var(--bs-font)!important;color:var(--bs-ink)!important}
body.bs-v4 .bs3-prod-price .woocommerce-Price-amount{color:inherit!important}
@media(max-width:1000px){body.bs-v4 .bs3-prod-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){body.bs-v4 .bs3-prod-grid{grid-template-columns:1fr}}

/* Zakelijk: inkt-vlak, hairline-kolommen, geen iconen */
body.bs-v4 .bs3-b2b{background:var(--bs-ink)!important;background-image:none!important;color:#fff;padding:96px 24px!important;text-align:left!important}
body.bs-v4 .bs3-b2b>h2,body.bs-v4 .bs3-b2b>p,body.bs-v4 .bs3-b2b-trust,body.bs-v4 .bs3-b2b-ctas{max-width:1200px;margin-left:auto;margin-right:auto}
body.bs-v4 .bs3-b2b>h2{color:#fff!important}
body.bs-v4 .bs3-b2b>p{font-size:17px!important;line-height:1.55!important;color:rgba(255,255,255,.75)!important;max-width:58ch;margin-bottom:48px!important}
body.bs-v4 .bs3-b2b-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-bottom:48px}
body.bs-v4 .bs3-b2b-trust-item{background:transparent!important;border:none!important;border-left:1px solid rgba(255,255,255,.16)!important;border-radius:0!important;padding:8px 28px!important;text-align:left!important;box-shadow:none!important}
body.bs-v4 .bs3-b2b-trust-item:first-child{border-left:none!important;padding-left:0!important}
body.bs-v4 .bs3-b2b-trust-item strong{display:block;font:600 16px/1.3 var(--bs-font);color:#fff;margin:0 0 6px}
body.bs-v4 .bs3-b2b-trust-item p{font:400 14.5px/1.5 var(--bs-font);color:rgba(255,255,255,.68);margin:0}
body.bs-v4 .bs3-b2b-ctas{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-start}
body.bs-v4 .bs3-btn-light{background:var(--bs-copper)!important;border-color:var(--bs-copper)!important;color:#fff!important}
body.bs-v4 .bs3-btn-light:hover{background:var(--bs-copper-deep)!important;border-color:var(--bs-copper-deep)!important}
body.bs-v4 .bs3-btn-ghost-light{background:transparent!important;border-color:rgba(255,255,255,.55)!important;color:#fff!important}
body.bs-v4 .bs3-btn-ghost-light:hover{background:#fff!important;color:var(--bs-ink)!important;border-color:#fff!important}
@media(max-width:800px){body.bs-v4 .bs3-b2b-trust{grid-template-columns:1fr}body.bs-v4 .bs3-b2b-trust-item{border-left:none!important;padding:16px 0!important;border-top:1px solid rgba(255,255,255,.16)!important}body.bs-v4 .bs3-b2b-trust-item:first-child{border-top:none!important}}

/* Vertrouwen: tekstuele hairline-strook */
body.bs-v4 .bs3-trust-prominent{background:#fff!important;border-top:1px solid var(--bs-mist);border-bottom:1px solid var(--bs-mist);display:grid;grid-template-columns:repeat(4,1fr);gap:0;max-width:1200px;margin:0 auto;padding:0!important}
body.bs-v4 .bs3-trust-badge{display:block!important;background:transparent!important;border:none!important;border-left:1px solid var(--bs-mist)!important;border-radius:0!important;box-shadow:none!important;padding:28px!important}
body.bs-v4 .bs3-trust-badge:first-child{border-left:none!important}
body.bs-v4 .bs3-trust-badge strong{display:block;font:600 15px/1.3 var(--bs-font);color:var(--bs-ink);margin:0 0 6px}
body.bs-v4 .bs3-trust-badge span{font:400 14px/1.5 var(--bs-font);color:var(--bs-slate)}
@media(max-width:900px){body.bs-v4 section.bs3-usp,body.bs-v4 .bs3-trust-prominent{grid-template-columns:1fr 1fr}body.bs-v4 .bs3-trust-badge:nth-child(odd){border-left:none!important}body.bs-v4 .bs3-trust-badge:nth-child(n+3){border-top:1px solid var(--bs-mist)!important}}

/* Footer: inkt, hairlines, rustige typografie, geen social-iconen-ruis */
body.bs-v4 .fusion-footer-widget-area{background:var(--bs-ink)!important;background-image:none!important;border-top:none!important;padding:72px 0 48px!important;color:rgba(255,255,255,.72)!important}
body.bs-v4 .fusion-footer-widget-area .fusion-row{max-width:1200px!important;padding:0 24px!important}
body.bs-v4 .fusion-footer-widget-area .fusion-footer-widget-column{margin-bottom:32px!important}
body.bs-v4 .fusion-footer-widget-area .widget-title,body.bs-v4 .fusion-footer-widget-area h4,body.bs-v4 .fusion-footer-widget-area h3{font:600 12.5px/1 var(--bs-font)!important;letter-spacing:.12em;text-transform:uppercase;color:#fff!important;margin:0 0 20px!important;padding:0!important;border:none!important}
body.bs-v4 .fusion-footer-widget-area,body.bs-v4 .fusion-footer-widget-area p,body.bs-v4 .fusion-footer-widget-area li{font:400 14.5px/1.7 var(--bs-font)!important;color:rgba(255,255,255,.72)!important}
body.bs-v4 .fusion-footer-widget-area a{color:rgba(255,255,255,.86)!important;text-decoration:none;transition:color .16s}
body.bs-v4 .fusion-footer-widget-area a:hover{color:#fff!important;text-decoration:underline;text-underline-offset:3px}
body.bs-v4 .fusion-footer-widget-area ul li{border:none!important;padding:5px 0!important;margin:0!important;background:none!important}
body.bs-v4 .fusion-footer-widget-area ul li::before{display:none!important}
body.bs-v4 .fusion-footer-widget-area .fusion-social-links,body.bs-v4 .fusion-footer-widget-area .fusion-social-networks{display:none!important}
body.bs-v4 .fusion-footer-copyright-area{background:var(--bs-ink)!important;border-top:1px solid rgba(255,255,255,.14)!important;padding:22px 0!important}
body.bs-v4 .fusion-footer-copyright-area .fusion-row{max-width:1200px!important;padding:0 24px!important}
body.bs-v4 .fusion-copyright-notice,body.bs-v4 .fusion-copyright-notice a{font:400 13px/1.5 var(--bs-font)!important;color:rgba(255,255,255,.55)!important;text-align:left!important}
body.bs-v4 .fusion-copyright-notice a:hover{color:#fff!important}
body.bs-v4 .fusion-copyright-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
body.bs-v4 .fusion-footer-widget-area .fusion-social-links,body.bs-v4 .fusion-copyright-area .fusion-social-links{display:none!important}

/* Shop / archief */
body.bs-v4 .fusion-page-title-bar{background:var(--bs-porcelain)!important;background-image:none!important;border-bottom:1px solid var(--bs-mist)!important;box-shadow:none!important;padding:40px 0!important}
body.bs-v4 .fusion-page-title-bar h1,body.bs-v4 .fusion-page-title-bar .fusion-page-title-wrapper h1{font:600 clamp(28px,3vw,36px)/1.15 var(--bs-font)!important;letter-spacing:-.02em;color:var(--bs-ink)!important}
body.bs-v4 .fusion-breadcrumbs,body.bs-v4 .fusion-breadcrumbs a{font:400 13px var(--bs-font)!important;color:var(--bs-slate)!important}
body.bs-v4 .products .product,body.bs-v4 .fusion-woo-product-design-classic .product{background:#fff!important;border:1px solid var(--bs-mist)!important;border-radius:var(--bs-radius)!important;overflow:hidden;box-shadow:none!important;transition:border-color .18s,transform .18s,box-shadow .18s}
body.bs-v4 .products .product:hover{border-color:var(--bs-graphite)!important;transform:translateY(-2px);box-shadow:var(--bs-shadow)}
body.bs-v4 .products .product .fusion-product-wrapper{padding:0!important}
body.bs-v4 .products .product .product-images,body.bs-v4 .products .product .featured-image{background:var(--bs-porcelain)!important}
body.bs-v4 .products .product .product-title,body.bs-v4 .products .product h2,body.bs-v4 .products .product h3{font:500 15.5px/1.35 var(--bs-font)!important;color:var(--bs-ink)!important;padding:0!important;margin:0 0 8px!important;text-transform:none!important;letter-spacing:0!important}
body.bs-v4 .products .product .price,body.bs-v4 .products .product .price .amount{font:600 16px var(--bs-font)!important;color:var(--bs-ink)!important}
body.bs-v4 .products .product .fusion-content-sep,body.bs-v4 .products .product .fusion-product-buttons .fusion-rollover{display:none!important}
body.bs-v4 .products .product .product-details,body.bs-v4 .products .product .fusion-product-content{padding:18px 20px 22px!important}
body.bs-v4 .products .product .onsale{background:var(--bs-copper)!important;color:#fff!important;font:600 11px/1 var(--bs-font)!important;letter-spacing:.08em;text-transform:uppercase;border-radius:4px!important;padding:6px 8px!important;box-shadow:none!important;border:none!important}
body.bs-v4 .woocommerce-result-count{font:400 14px var(--bs-font)!important;color:var(--bs-slate)!important}
body.bs-v4 .woocommerce-ordering select,body.bs-v4 select{border:1px solid var(--bs-mist)!important;border-radius:var(--bs-radius-btn)!important;height:44px!important;font:400 14px var(--bs-font)!important;color:var(--bs-ink)!important;background:#fff!important;padding:0 14px!important}

/* Productpagina */
body.bs-v4 .product .summary .product_title{font:600 clamp(26px,2.6vw,34px)/1.15 var(--bs-font)!important;letter-spacing:-.02em;color:var(--bs-ink)!important;margin:0 0 14px!important}
body.bs-v4 .product .summary .price,body.bs-v4 .product .summary .price .amount{font:600 26px var(--bs-font)!important;color:var(--bs-ink)!important}
body.bs-v4 .product .summary .woocommerce-product-details__short-description{font:400 16px/1.6 var(--bs-font)!important;color:var(--bs-graphite)!important}
body.bs-v4 .product .summary .stock.in-stock{color:var(--bs-ok)!important;font:500 14px var(--bs-font)!important}
body.bs-v4 .product .summary .quantity input.qty{height:44px!important;border:1px solid var(--bs-mist)!important;border-radius:var(--bs-radius-btn)!important;font:500 15px var(--bs-font)!important;color:var(--bs-ink)!important}
body.bs-v4 .product .summary .product_meta,body.bs-v4 .product .summary .product_meta a{font:400 13.5px/1.7 var(--bs-font)!important;color:var(--bs-slate)!important}
body.bs-v4 .product .summary .product_meta span{display:block}
body.bs-v4 .woocommerce-tabs .tabs li a{font:500 14.5px var(--bs-font)!important;color:var(--bs-slate)!important;border:none!important;border-bottom:1px solid transparent!important;background:transparent!important;border-radius:0!important;padding:14px 0!important;margin-right:28px!important}
body.bs-v4 .woocommerce-tabs .tabs li.active a{color:var(--bs-ink)!important;border-bottom:1px solid var(--bs-copper)!important}
body.bs-v4 .woocommerce-tabs .tabs{border-bottom:1px solid var(--bs-mist)!important}
body.bs-v4 .woocommerce-tabs .panel{padding:32px 0!important;border:none!important;background:transparent!important;font:400 15.5px/1.7 var(--bs-font)!important;color:var(--bs-graphite)!important}
body.bs-v4 .product .images,body.bs-v4 .product .woocommerce-product-gallery{background:var(--bs-porcelain);border-radius:var(--bs-radius);border:1px solid var(--bs-mist)}
body.bs-v4 .product .images img,body.bs-v4 .woocommerce-product-gallery img{mix-blend-mode:multiply}

/* Meldingen / formulieren */
body.bs-v4 .woocommerce-message,body.bs-v4 .woocommerce-info,body.bs-v4 .fusion-alert{background:var(--bs-porcelain)!important;border:1px solid var(--bs-mist)!important;border-left:3px solid var(--bs-copper)!important;border-radius:var(--bs-radius-sm)!important;color:var(--bs-graphite)!important;font:400 14.5px/1.5 var(--bs-font)!important;box-shadow:none!important}
body.bs-v4 .woocommerce-message::before,body.bs-v4 .woocommerce-info::before{display:none!important}
body.bs-v4 input[type=text],body.bs-v4 input[type=email],body.bs-v4 input[type=tel],body.bs-v4 input[type=number],body.bs-v4 input[type=password],body.bs-v4 textarea{border:1px solid var(--bs-mist)!important;border-radius:var(--bs-radius-btn)!important;background:#fff!important;color:var(--bs-ink)!important;font:400 15px var(--bs-font)!important;min-height:44px;box-shadow:none!important}
body.bs-v4 input:focus,body.bs-v4 textarea:focus{border-color:var(--bs-ink)!important}

/* Mobiel */
body.bs-v4 .fusion-mobile-menu-icons a{color:var(--bs-ink)!important}
body.bs-v4 .fusion-mobile-nav-holder{background:#fff!important;border-top:1px solid var(--bs-mist)!important}
body.bs-v4 .fusion-mobile-nav-holder li a{font:500 16px var(--bs-font)!important;color:var(--bs-ink)!important;border-color:var(--bs-mist)!important;background:#fff!important}
@media(max-width:800px){body.bs-v4 .bs3-hero{padding:72px 0 64px!important}body.bs-v4 .bs3-section,body.bs-v4 .bs3-b2b{padding:64px 24px!important}body.bs-v4 .fusion-header .fusion-row{min-height:64px}body.bs-v4 .fusion-logo img{max-height:32px!important}}
@media(prefers-reduced-motion:reduce){body.bs-v4 *{transition:none!important}}

/* Alias: Avada 7.15 cart-item class */
body.bs-v4 .fusion-main-menu>ul>li.fusion-main-menu-cart,body.bs-v4 .fusion-main-menu>ul>li.fusion-menu-cart{display:inline-block!important;visibility:visible!important;opacity:1!important}
body.bs-v4 .fusion-main-menu>ul>li.fusion-main-menu-cart>a{padding:0 10px!important}
body.bs-v4 .fusion-main-menu>ul>li.fusion-main-menu-cart>a::before{display:none}
body.bs-v4 .fusion-main-menu .fusion-widget-cart-number{background:var(--bs-copper)!important;color:#fff!important;font:600 10px/16px var(--bs-font)!important;min-width:16px;height:16px;border-radius:8px;padding:0 4px;box-shadow:none!important}
body.bs-v4 .fusion-main-menu .fusion-menu-cart-items{background:#fff!important;border:1px solid var(--bs-mist)!important;border-radius:var(--bs-radius)!important;box-shadow:var(--bs-shadow-hover)!important;padding:12px!important}

/* ===== HOTFIX: legacy .fusion-search-overlay regel maakte de zoek-<li> een fullscreen wit vlak ===== */
body.bs-v4 .fusion-main-menu>ul>li.fusion-main-menu-search.fusion-search-overlay{position:relative!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;width:auto!important;height:auto!important;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding:0!important;display:inline-block!important;align-items:initial!important;justify-content:initial!important;z-index:auto!important}
body.bs-v4 .fusion-main-menu>ul>li.fusion-main-menu-search.fusion-search-overlay .fusion-custom-menu-item-contents{display:block!important;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .18s ease}
body.bs-v4 .fusion-main-menu>ul>li.fusion-main-menu-search.fusion-search-overlay.fusion-main-menu-search-open .fusion-custom-menu-item-contents{visibility:visible;opacity:1;pointer-events:auto}
body.bs-v4 .fusion-search-overlay .fusion-search-field input{border-radius:var(--bs-radius-btn)!important;border:1px solid var(--bs-mist)!important;box-shadow:none!important;padding:0 16px!important;font-size:16px!important}
body.bs-v4 .fusion-search-overlay .fusion-search-field input:focus{border-color:var(--bs-ink)!important;box-shadow:none!important}
body.bs-v4 .fusion-search-overlay .fusion-search-field .fusion-search-submit{position:static!important;transform:none!important;width:auto!important;height:52px!important;border-radius:var(--bs-radius-btn)!important;background:var(--bs-ink)!important;padding:0 20px!important}
body.bs-v4 .fusion-search-overlay .fusion-search-field{display:flex;gap:10px}
body.bs-v4 .fusion-search-overlay-close{display:none!important}

/* Logo: altijd zichtbaar, links, 40px */
body.bs-v4 .fusion-logo{display:flex!important;align-items:center!important;min-height:var(--bs-header-h)!important;margin:0!important;visibility:visible!important;opacity:1!important}
body.bs-v4 .fusion-logo .fusion-logo-link{display:flex;align-items:center}
body.bs-v4 .fusion-logo img.fusion-standard-logo{display:block!important;height:40px!important;max-height:40px!important;width:auto!important}
body.bs-v4 .fusion-logo img.fusion-mobile-logo,body.bs-v4 .fusion-logo img.fusion-sticky-logo{display:none!important}
body.bs-v4 .fusion-is-sticky .fusion-logo img.fusion-standard-logo{height:34px!important;max-height:34px!important}
@media(max-width:800px){body.bs-v4 .fusion-logo img.fusion-standard-logo{height:30px!important;max-height:30px!important}}

/* ===== HOMEPAGE v4.1 (bs4-*) — Volvo-principe: beeld, ruimte, hairlines, mensen ===== */
body.bs-v4 .bs4{--bs4-max:1280px;--bs4-pad:clamp(20px,4vw,48px)}
body.bs-v4 .bs4 h1,body.bs-v4 .bs4 h2,body.bs-v4 .bs4 h3{font-weight:500!important}
body.bs-v4 .bs4-textlink{display:inline-flex;align-items:center;gap:8px;font:500 15px var(--bs-font);color:var(--bs-ink);text-decoration:none;border-bottom:1px solid var(--bs-ink);padding-bottom:2px;transition:color .16s,border-color .16s}
body.bs-v4 .bs4-textlink:hover{color:var(--bs-copper-deep);border-color:var(--bs-copper-deep)}
body.bs-v4 .bs4-textlink--light{color:#fff;border-color:rgba(255,255,255,.6)}
body.bs-v4 .bs4-textlink--light:hover{color:#fff;border-color:#fff}

/* Hero: volledige foto, tekstpaneel links op wit (Volvo) */
body.bs-v4 .bs4-hero{position:relative;min-height:min(78vh,760px);display:grid;grid-template-columns:minmax(0,1fr);background:#fff;overflow:hidden}
body.bs-v4 .bs4-hero__media{position:absolute;inset:0;margin:0}
body.bs-v4 .bs4-hero__media img{width:100%;height:100%;object-fit:cover;object-position:60% 50%;display:block}
body.bs-v4 .bs4-hero__panel{position:relative;align-self:end;margin:0 var(--bs4-pad) var(--bs4-pad);max-width:560px;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:40px 44px 44px;border:1px solid rgba(15,26,43,.08)}
body.bs-v4 .bs4-hero__panel h1{font-size:clamp(34px,4vw,52px)!important;line-height:1.08!important;letter-spacing:-.025em!important;color:var(--bs-ink)!important;margin:0 0 18px!important}
body.bs-v4 .bs4-hero__panel p{font-size:17px!important;line-height:1.6!important;color:var(--bs-graphite)!important;margin:0 0 30px!important;max-width:46ch}
body.bs-v4 .bs4-hero__actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
body.bs-v4 .bs4-hero .bs3-btn-primary{background:var(--bs-ink)!important;border-color:var(--bs-ink)!important;height:50px;line-height:48px!important;padding:0 26px!important;font-size:15px!important}
body.bs-v4 .bs4-hero .bs3-btn-primary:hover{background:var(--bs-graphite)!important;border-color:var(--bs-graphite)!important}
@media(min-width:1100px){body.bs-v4 .bs4-hero__panel{margin-left:max(var(--bs4-pad),calc((100vw - var(--bs4-max))/2))}}
@media(max-width:760px){body.bs-v4 .bs4-hero{min-height:0;display:block}body.bs-v4 .bs4-hero__media{position:relative;height:56vw;min-height:260px}body.bs-v4 .bs4-hero__panel{margin:0;max-width:none;background:#fff;border:none;border-bottom:1px solid var(--bs-mist);padding:32px var(--bs4-pad) 36px;backdrop-filter:none}}

/* Beloftes: 1 rij, hairlines, tekst */
body.bs-v4 .bs4-promise{max-width:var(--bs4-max);margin:0 auto;padding:0 var(--bs4-pad);display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--bs-mist)}
body.bs-v4 .bs4-promise__item{padding:26px 24px 26px 0;margin-right:24px;border-right:1px solid var(--bs-mist);display:flex;flex-direction:column;gap:3px}
body.bs-v4 .bs4-promise__item:last-child{border-right:none;margin-right:0}
body.bs-v4 .bs4-promise__item strong{font:500 15px/1.3 var(--bs-font);color:var(--bs-ink)}
body.bs-v4 .bs4-promise__item span{font:400 14px/1.4 var(--bs-font);color:var(--bs-slate)}
@media(max-width:900px){body.bs-v4 .bs4-promise{grid-template-columns:1fr 1fr}body.bs-v4 .bs4-promise__item:nth-child(2){border-right:none}body.bs-v4 .bs4-promise__item:nth-child(n+3){border-top:1px solid var(--bs-mist)}}
@media(max-width:520px){body.bs-v4 .bs4-promise{grid-template-columns:1fr}body.bs-v4 .bs4-promise__item{border-right:none;margin-right:0;padding:18px 0}body.bs-v4 .bs4-promise__item+ .bs4-promise__item{border-top:1px solid var(--bs-mist)}}

/* Secties */
body.bs-v4 .bs4-section{padding:clamp(72px,8vw,120px) var(--bs4-pad)}
body.bs-v4 .bs4-section--tint{background:var(--bs-porcelain)}
body.bs-v4 .bs4-section__head{max-width:var(--bs4-max);margin:0 auto clamp(36px,4vw,56px)}
body.bs-v4 .bs4-section__head--split{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
body.bs-v4 .bs4-section__head h2,body.bs-v4 .bs4-people h2,body.bs-v4 .bs4-b2b h2{font-size:clamp(28px,3.2vw,42px)!important;line-height:1.12!important;letter-spacing:-.02em!important;margin:0!important;max-width:22ch}
body.bs-v4 .bs4 .bs-eyebrow{margin-bottom:14px}

/* Categorieen: 1 grote + 3 kleinere (asymmetrisch) */
body.bs-v4 .bs4-cats{max-width:var(--bs4-max);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(220px,auto);gap:20px}
body.bs-v4 .bs4-cat{position:relative;display:flex;flex-direction:column;background:var(--bs-porcelain);border:1px solid var(--bs-mist);text-decoration:none!important;overflow:hidden;transition:border-color .2s,transform .2s}
body.bs-v4 .bs4-cat:hover{border-color:var(--bs-ink);transform:translateY(-2px)}
body.bs-v4 .bs4-cat--lead{grid-row:span 2}
body.bs-v4 .bs4-cat__media{aspect-ratio:16/9;overflow:hidden;background:#fff}
body.bs-v4 .bs4-cat--lead .bs4-cat__media{aspect-ratio:4/3}
body.bs-v4 .bs4-cat__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
body.bs-v4 .bs4-cat:hover .bs4-cat__media img{transform:scale(1.03)}
body.bs-v4 .bs4-cat__body{padding:26px 28px 28px;display:flex;flex-direction:column;gap:10px;flex:1}
body.bs-v4 .bs4-cat__body h3{font-size:20px!important;line-height:1.25!important;color:var(--bs-ink)!important;margin:0!important;letter-spacing:-.01em}
body.bs-v4 .bs4-cat--lead .bs4-cat__body h3{font-size:26px!important}
body.bs-v4 .bs4-cat__body p{font:400 15px/1.55 var(--bs-font)!important;color:var(--bs-slate)!important;margin:0!important}
body.bs-v4 .bs4-cat__body .bs4-textlink{margin-top:auto;align-self:flex-start;font-size:14px}
@media(max-width:900px){body.bs-v4 .bs4-cats{grid-template-columns:1fr 1fr}body.bs-v4 .bs4-cat--lead{grid-column:span 2;grid-row:auto}}
@media(max-width:560px){body.bs-v4 .bs4-cats{grid-template-columns:1fr}body.bs-v4 .bs4-cat--lead{grid-column:auto}}

/* Producten: wit op porselein, hairline */
body.bs-v4 .bs4-prods{max-width:var(--bs4-max);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
body.bs-v4 .bs4-prod{display:flex;flex-direction:column;background:#fff;border:1px solid var(--bs-mist);text-decoration:none!important;transition:border-color .2s,transform .2s}
body.bs-v4 .bs4-prod:hover{border-color:var(--bs-ink);transform:translateY(-2px)}
body.bs-v4 .bs4-prod__media{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;padding:28px;background:#fff;border-bottom:1px solid var(--bs-mist)}
body.bs-v4 .bs4-prod__media img{max-width:100%;max-height:100%;width:auto;height:auto;mix-blend-mode:multiply}
body.bs-v4 .bs4-prod__body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:6px}
body.bs-v4 .bs4-prod__cat{font:500 12px/1 var(--bs-font);letter-spacing:.08em;text-transform:uppercase;color:var(--bs-slate)}
body.bs-v4 .bs4-prod__body h3{font-size:15.5px!important;line-height:1.4!important;color:var(--bs-ink)!important;margin:0!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.bs-v4 .bs4-prod__price,body.bs-v4 .bs4-prod__price .amount{font:500 16px var(--bs-font)!important;color:var(--bs-ink)!important;margin-top:4px}
@media(max-width:1000px){body.bs-v4 .bs4-prods{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){body.bs-v4 .bs4-prods{grid-template-columns:1fr}}

/* Mensen: 50/50 foto + tekst */
body.bs-v4 .bs4-people{display:grid;grid-template-columns:1fr 1fr;min-height:560px;background:#fff;border-top:1px solid var(--bs-mist)}
body.bs-v4 .bs4-people__media img{width:100%;height:100%;object-fit:cover;display:block}
body.bs-v4 .bs4-people__text{display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,6vw,96px) clamp(28px,6vw,96px)}
body.bs-v4 .bs4-people__text p{font-size:17px!important;line-height:1.65!important;color:var(--bs-graphite)!important;margin:20px 0 32px!important;max-width:50ch}
body.bs-v4 .bs4-facts{margin:0 0 36px;padding:0;border-top:1px solid var(--bs-mist)}
body.bs-v4 .bs4-facts>div{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--bs-mist)}
body.bs-v4 .bs4-facts dt{font:500 13px/1.5 var(--bs-font);letter-spacing:.06em;text-transform:uppercase;color:var(--bs-slate);margin:0}
body.bs-v4 .bs4-facts dd{font:400 15.5px/1.5 var(--bs-font);color:var(--bs-ink);margin:0}
body.bs-v4 .bs4-people .bs3-btn-outline{align-self:flex-start}
@media(max-width:860px){body.bs-v4 .bs4-people{grid-template-columns:1fr;min-height:0}body.bs-v4 .bs4-people__media{aspect-ratio:16/10}}

/* Zakelijk: inkt, tekst links, foto rechts */
body.bs-v4 .bs4-b2b{background:var(--bs-ink);color:#fff;padding:clamp(64px,7vw,104px) var(--bs4-pad)}
body.bs-v4 .bs4-b2b__inner{max-width:var(--bs4-max);margin:0 auto;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,80px);align-items:center}
body.bs-v4 .bs4-b2b h2{color:#fff!important}
body.bs-v4 .bs4-b2b .bs-eyebrow{color:#D9A879}
body.bs-v4 .bs4-b2b p{font-size:17px!important;line-height:1.65!important;color:rgba(255,255,255,.76)!important;margin:20px 0 32px!important;max-width:52ch}
body.bs-v4 .bs4-b2b__media img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;border:1px solid rgba(255,255,255,.12)}
body.bs-v4 .bs4-b2b .bs3-btn-light{background:#fff!important;border-color:#fff!important;color:var(--bs-ink)!important}
body.bs-v4 .bs4-b2b .bs3-btn-light:hover{background:var(--bs-porcelain)!important;border-color:var(--bs-porcelain)!important}
@media(max-width:860px){body.bs-v4 .bs4-b2b__inner{grid-template-columns:1fr}body.bs-v4 .bs4-b2b__media{order:-1}}

/* Avada wrapper: geen paddings rond onze full-bleed homepage */
body.bs-v4.home #main{padding:0!important}
body.bs-v4.home #main>.fusion-row{max-width:none!important;padding:0!important;width:100%!important}
body.bs-v4.home #content{width:100%!important;float:none!important}

/* Header exact 72px (Avada nav_height=84 overschrijven) */
body.bs-v4 .fusion-header .fusion-row{min-height:var(--bs-header-h)!important;height:var(--bs-header-h)!important}
body.bs-v4 .fusion-logo{min-height:var(--bs-header-h)!important;height:var(--bs-header-h)!important;padding:0!important}
body.bs-v4 .fusion-main-menu,body.bs-v4 .fusion-main-menu>ul,body.bs-v4 .fusion-main-menu>ul>li{height:var(--bs-header-h)!important}
body.bs-v4 .fusion-main-menu>ul>li>a{display:flex!important;align-items:center!important}
body.bs-v4 .fusion-main-menu>ul>li>a::before{bottom:22px}
body.bs-v4 .fusion-main-menu>ul>li.fusion-main-menu-search,body.bs-v4 .fusion-main-menu>ul>li.fusion-main-menu-cart{width:44px!important;display:flex!important;align-items:center;justify-content:center}
body.bs-v4 .fusion-main-menu>ul>li.fusion-main-menu-search>a,body.bs-v4 .fusion-main-menu>ul>li.fusion-main-menu-cart>a{width:44px!important;height:44px!important;line-height:44px!important;padding:0!important;display:flex!important;align-items:center;justify-content:center;border-radius:var(--bs-radius-btn);transition:background-color .16s}
body.bs-v4 .fusion-main-menu>ul>li.fusion-main-menu-search>a:hover,body.bs-v4 .fusion-main-menu>ul>li.fusion-main-menu-cart>a:hover{background:var(--bs-porcelain)}
body.bs-v4 .fusion-main-menu>ul>li.fusion-main-menu-cart{margin-left:6px}

/* ===== CTA-fix: Offerte-knop in header (2026-09-03) =====
   Legacy .bs-cta (v3 CTA-band: gradient, padding 44px 36px, margin 30px auto, text-align center) raakt ook het
   menu-<li class="bs-cta">. Daardoor stond de 40px-knop "vast" bovenin een 72px <li> met blauwe achtergrond.
   Hier: <li> volledig resetten + verticaal centreren, <a> als rustige secundaire knop. */
body.bs-v4 .fusion-main-menu>ul>li.bs-cta,body.bs-v4 .fusion-main-menu>ul>li.menu-item-167210{display:flex!important;align-items:center!important;background:none!important;background-image:none!important;border:none!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:0!important;max-width:none!important;text-align:left!important;color:inherit!important}
body.bs-v4 .fusion-main-menu>ul>li.bs-cta>a,body.bs-v4 .fusion-main-menu>ul>li.menu-item-167210>a{margin:0 0 0 10px!important;height:40px!important;line-height:38px!important;display:inline-flex!important;align-items:center!important;color:var(--bs-ink)!important;border:1px solid var(--bs-ink)!important;border-radius:var(--bs-radius-btn)!important;padding:0 16px!important;background:transparent!important;box-shadow:none!important;transition:background-color .16s ease,color .16s ease}
body.bs-v4 .fusion-main-menu>ul>li.bs-cta>a .menu-text,body.bs-v4 .fusion-main-menu>ul>li.menu-item-167210>a .menu-text{color:inherit!important;font-weight:500;line-height:1!important}
body.bs-v4 .fusion-main-menu>ul>li.bs-cta>a::before,body.bs-v4 .fusion-main-menu>ul>li.menu-item-167210>a::before,body.bs-v4 .fusion-main-menu>ul>li.bs-cta>a .menu-text::after{display:none!important}
body.bs-v4 .fusion-main-menu>ul>li.bs-cta>a:hover,body.bs-v4 .fusion-main-menu>ul>li.menu-item-167210>a:hover,body.bs-v4 .fusion-main-menu>ul>li.bs-cta>a:focus-visible{background:var(--bs-ink)!important;color:#fff!important}
body.bs-v4 .fusion-main-menu>ul>li.bs-cta>a:hover .menu-text,body.bs-v4 .fusion-main-menu>ul>li.menu-item-167210>a:hover .menu-text{color:#fff!important}
body.bs-v4 .fusion-is-sticky .fusion-main-menu>ul>li.bs-cta>a{height:36px!important;line-height:34px!important}
/* Mobiel menu: zelfde reset, knop over volle breedte */
body.bs-v4 .fusion-mobile-nav-item.bs-cta{background:none!important;background-image:none!important;border-radius:0!important;padding:12px 20px!important;margin:6px 0 0!important;max-width:none!important;text-align:left!important;color:inherit!important}
body.bs-v4 .fusion-mobile-nav-item.bs-cta>a{display:flex!important;justify-content:center;align-items:center;height:48px!important;line-height:1!important;border:1px solid var(--bs-ink)!important;border-radius:var(--bs-radius-btn)!important;color:var(--bs-ink)!important;background:transparent!important;font-weight:500!important}
body.bs-v4 .fusion-mobile-nav-item.bs-cta>a:hover{background:var(--bs-ink)!important;color:#fff!important}
/* Hoofdmenu: items strak verticaal gecentreerd, iets meer lucht tussen items, dropdown pijl-loos en rustig */
body.bs-v4 .fusion-main-menu>ul{gap:4px}
body.bs-v4 .fusion-main-menu>ul>li{display:flex!important;align-items:center!important}
body.bs-v4 .fusion-main-menu>ul>li>a{padding:0 12px!important}
body.bs-v4 .fusion-main-menu .sub-menu{padding:10px!important;min-width:260px!important;margin-top:0!important}
body.bs-v4 .fusion-main-menu .sub-menu li a{padding:10px 12px!important;line-height:1.35!important;height:auto!important;min-height:0!important}
body.bs-v4 .fusion-main-menu .sub-menu li a .fusion-megamenu-bullet,body.bs-v4 .fusion-main-menu .sub-menu li a .fusion-caret{display:none!important}
@media(max-width:1180px){body.bs-v4 .fusion-main-menu>ul>li>a{padding:0 10px!important;font-size:14px!important}body.bs-v4 .fusion-main-menu>ul>li.bs-cta>a{padding:0 12px!important;margin-left:6px!important}}


/* ===== Submenu-fix (2026-09-03) =====
   Avada-JS (fusion_position_menu_dropdown) zet een negatieve inline top op .sub-menu en .fusion-main-menu /
   .fusion-dropdown-menu hebben overflow:hidden -> submenu verscheen boven de header en werd afgekapt.
   Hier: eerste niveau altijd direct onder de 72px-balk, overflow zichtbaar, nette fade. */
body.bs-v4 .fusion-main-menu,body.bs-v4 .fusion-main-menu>ul,body.bs-v4 .fusion-main-menu>ul>li,body.bs-v4 .fusion-main-menu .fusion-dropdown-menu{overflow:visible!important}
body.bs-v4 .fusion-main-menu>ul>li{position:relative!important}
body.bs-v4 .fusion-main-menu>ul>li>.sub-menu{top:100%!important;bottom:auto!important;left:0!important;right:auto!important;margin:0!important;transform:none!important;width:auto!important;min-width:260px!important;z-index:10050!important;visibility:hidden;opacity:0;display:block!important;pointer-events:none;transition:opacity .16s ease,visibility .16s ease}
body.bs-v4 .fusion-main-menu>ul>li:hover>.sub-menu,body.bs-v4 .fusion-main-menu>ul>li:focus-within>.sub-menu,body.bs-v4 .fusion-main-menu>ul>li.fusion-active-link>.sub-menu{visibility:visible;opacity:1;pointer-events:auto}
body.bs-v4 .fusion-main-menu>ul>li:last-of-type>.sub-menu,body.bs-v4 .fusion-main-menu>ul>li.menu-item-167207>.sub-menu{left:auto!important;right:0!important}
body.bs-v4 .fusion-main-menu .sub-menu li{display:block!important;float:none!important;width:100%!important;height:auto!important;padding:0!important;margin:0!important}
body.bs-v4 .fusion-main-menu .sub-menu li a{display:block!important;width:100%!important;height:auto!important;min-height:0!important;white-space:nowrap!important;text-align:left!important}
body.bs-v4 .fusion-main-menu .sub-menu li a::before,body.bs-v4 .fusion-main-menu .sub-menu li a::after{display:none!important}
body.bs-v4 .fusion-main-menu .sub-menu li a .menu-text,body.bs-v4 .fusion-main-menu .sub-menu li a span{border:none!important;padding:0!important}
/* Laatste item in een dropdown ("Alle ...") als rustige link met hairline erboven */
body.bs-v4 .fusion-main-menu .sub-menu>li:last-child{margin-top:6px!important;padding-top:6px!important;border-top:1px solid var(--bs-mist)}
body.bs-v4 .fusion-main-menu .sub-menu>li:last-child a{color:var(--bs-copper-deep)!important;font-weight:500!important}
/* Tweede niveau: naast het eerste */
body.bs-v4 .fusion-main-menu .sub-menu .sub-menu{top:-10px!important;left:100%!important;margin-left:6px!important}

/* VISUAL QA FIX 0433 */
/* Navigatie: letter-spacing + font-size */
.fusion-main-menu .menu-item > a {
    letter-spacing: 0.5px !important;
    font-size: 14px !important; /* Verlaag iets voor overzichtelijkheid */
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    margin-right: 10px !important; /* Voorkom overlap */
}

/* Hover-effecten: duidelijker en lichter */
.fusion-main-menu .menu-item > a:hover,
.fusion-main-menu .menu-item > a:focus {
    background-color: #e3f2fd !important; /* Lichtblauw */
    color: #01579b !important; /* Donkerblauw tekst */
    text-decoration: none !important;
}

/* Whitespace rondom afbeeldingen/hero (als relevant voor de overlap) */
.fusion-hero .fusion-content-box {
    padding: 20px !important;
}
/* SEARCH BAR + MOBILE HEADER FIXES (2026-09-05) */
/* Zoekbalk: vergroot font-size en padding voor betere leesbaarheid */
body.bs-v4 .fusion-search-form .fusion-search-field input {
    font-size: 14px !important;
    padding: 10px 14px !important;
    min-width: 200px !important;
}
body.bs-v4 .fusion-search-overlay .fusion-search-field input {
    font-size: 16px !important;
    padding: 14px 18px !important;
}
body.bs-v4 .fusion-search-overlay .fusion-search-field .fusion-search-submit {
    font-size: 14px !important;
    padding: 14px 20px !important;
}
/* Mobile header: verklein naar 80px voor gestroomlijnd effect */
@media (max-width: 768px) {
    body.bs-v4 .fusion-header-wrapper .fusion-header {
        height: 80px !important;
    }
    body.bs-v4 .fusion-main-menu {
        font-size: 14px !important;
    }
    body.bs-v4 .fusion-search-form .fusion-search-field input {
        font-size: 13px !important;
        padding: 8px 12px !important;
        min-width: 150px !important;
    }
}

/* QA FIX 2026-09-04: Search bar & Colors & Mobile */
.fusion-search-icon, .fusion-search-form input {
    font-size: 14px !important;
}
.bs-primary-action, .bs-btn-primary, .fusion-button {
    background-color: #005eb8 !important; /* Simon-blauw */
    border-color: #005eb8 !important;
}
@media (max-width: 768px) {
    .fusion-header, .fusion-main-header-wrap {
        min-height: 80px !important;
    }
}

/* FIX: Search bar font size and color consistency */
.fusion-search-form .fusion-search-input,
.fusion-search-form .fusion-search-button {
    font-size: 14px !important;
}

/* Standardize primary action color (Simon blue) */
.fusion-search-form .fusion-search-button,
.bs-cta-button,
a.fusion-button {
    background-color: #0056b3 !important;
    color: #ffffff !important;
}

/* Mobile header optimization */
@media (max-width: 768px) {
    .fusion-header {
        height: 80px !important;
    }
}

/* FIX 2026-09-05: Search bar font size and color consistency */
.fusion-search-form .fusion-search-input,
.fusion-search-form input[type="search"] {
    font-size: 14px !important;
    min-height: 36px !important;
}

/* FIX 2026-09-05: Standardize primary action color to Simon Blue */
.bs-primary-btn,
.fusion-button-primary,
a.bs-cta {
    background-color: #005eb8 !important; /* Simon Blue */
    color: #ffffff !important;
}

/* FIX 2026-09-05: Mobile header height reduction */
@media (max-width: 767px) {
    .fusion-header-wrapper {
        min-height: 80px !important;
    }
    .fusion-secondary-header {
        display: none !important; /* Verberg service-balk op mobiel voor compactheid */
    }
}

/* ==========================================================================
   BISELECT v4.2 — QA FIXES (2026-09-04)
   Zoekbalk font-size, kleurconsistentie, mobile header-optimatie
   ========================================================================== */

/* Zoekbalk: vergroot font-size en verbeter contrast */
.fusion-search-overlay .fusion-search-field input {
  font-size: 16px !important;
  color: #1a1a1a !important;
  background: #ffffff !important;
}

.fusion-search-overlay .fusion-search-field button {
  font-size: 14px !important;
  color: #ffffff !important;
  background: #0066cc !important;
}

/* Kleurconsistentie: standaardiseer primaire actiekleur */
:root {
  --bs-primary: #0066cc;
  --bs-primary-hover: #0052a3;
}

/* Mobile: verklein header-hoogte */
@media (max-width: 768px) {
  .fusion-header {
    height: 80px !important;
    min-height: 80px !important;
  }
  
  .fusion-main-menu .menu-item > a {
    font-size: 14px !important;
    padding: 16px 12px !important;
  }
  
  .fusion-search-overlay .fusion-search-field input {
    font-size: 15px !important;
  }
}

/* Desktop: verbeter zoekbalk-grootte */
.fusion-search-overlay .fusion-search-form {
  max-width: 720px !important;
}

.fusion-search-overlay .fusion-search-field input {
  font-size: 16px !important;
  padding: 12px 20px !important;
}

/* BS4-HOME-FEATURED-CAP v1 — 10_home featured grid max 6 echte producten (design-v4 append-only) */
body.bs-v4 .bs4-prods > .bs4-prod:nth-child(n+7){display:none!important;visibility:hidden!important;}


/* ===== MOBILE 390px OPTIMIZATION (2026-09-08) — roadmap [70_mobile] ===== */
@media(max-width:480px){
body.bs-v4 .fusion-header{min-height:52px!important}
body.bs-v4 .fusion-logo img{height:24px!important;max-height:24px!important;width:auto!important}
body.bs-v4 .fusion-search-icon,body.bs-v4 .fusion-account-icon,body.bs-v4 .fusion-cart-icon{font-size:18px!important;line-height:1!important}
body.bs-v4 .fusion-mobile-menu-trigger{width:36px!important;height:36px!important;font-size:20px!important}
body.bs-v4 .bs4-hero{min-height:0!important;display:block!important}
body.bs-v4 .bs4-hero__media{height:48vw!important;min-height:160px!important;max-height:260px!important}
body.bs-v4 .bs4-hero__panel{padding:20px 16px 24px!important;margin:0!important;max-width:none!important;background:#fff!important;border:none!important;border-bottom:1px solid var(--bs-mist,rgba(0,0,0,.08))!important}
body.bs-v4 .bs4-hero__panel h1,body.bs-v4 .bs4-hero__panel .fusion-title{font-size:20px!important;line-height:1.35!important;margin-bottom:10px!important}
body.bs-v4 .bs4-hero__panel p{font-size:14px!important;line-height:1.5!important}
body.bs-v4 .bs4-hero__panel a.btn,body.bs-v4 .bs4-hero__panel .bs3-btn{font-size:14px!important;padding:12px 20px!important;display:block!important;text-align:center!important;max-width:260px!important;margin-top:14px!important}
body.bs-v4 .bs3-section,body.bs-v4 .bs3-b2b,body.bs-v4 section.bs3-usp{padding:28px 16px!important;margin:0!important}
body.bs-v4 .bs3-usp .bs3-grid,body.bs-v4 .bs3-usp-grid{grid-template-columns:1fr!important;gap:0!important}
body.bs-v4 .bs3-usp-item{border-left:none!important;border-top:1px solid var(--bs-mist,rgba(0,0,0,.08))!important;padding:14px 0!important}
body.bs-v4 .bs3-usp-item:first-child{border-top:none!important}
body.bs-v4 .bs3-prod-grid{grid-template-columns:1fr!important;gap:14px!important}
body.bs-v4 .bs3-prod-img{height:150px!important;overflow:hidden!important}
body.bs-v4 .bs3-prod-img img{width:100body.bs-v4 .bs3-prod-img img{width:100%!important;height:100%!important;object-fit:cover!important}
body.bs-v4 .bs3-prod-card{min-height:0!important}
body.bs-v4 .bs3-cats{grid-template-columns:1fr!important;gap:12px!important}
body.bs-v4 .bs3-b2b-trust{grid-template-columns:1fr!important;gap:0!important}
body.bs-v4 .bs3-b2b-trust-item{border-left:none!important;border-top:1px solid rgba(255,255,255,.16)!important;padding:12px 0!important}
body.bs-v4 .bs3-b2b-trust-item:first-child{border-top:none!important}
body.bs-v4 .bs4-promise{grid-template-columns:1fr!important}
body.bs-v4 .bs4-promise__item{border-right:none!important;border-top:1px solid rgba(0,0,0,.08)!important;padding:12px 0!important}
body.bs-v4 .bs4-promise__item:first-child{border-top:none!important}
body.bs-v4 .bs-servicebar__inner{justify-content:center!important}
body.bs-v4 .bs-servicebar a{display:none!important}
body.bs-v4 .fusion-main-menu>ul>li>a{padding:0 8px!important;font-size:13px!important}
body.bs-v4 .fusion-main-menu>ul>li.bs-cta>a{font-size:12px!important;padding:0 8px!important}
body.bs-v4 .fusion-logo img{height:40px!important;max-height:40px!important;width:auto!important}
body.bs-v4 .bs3-section,body.bs-v4 .bs3-b2b,body.bs-v4 .bs3-usp,body.bs-v4 .bs4-promise{margin:0!important;padding:24px 16px!important}
body.bs-v4 .bs4-prods{margin:0!important;padding:16px!important}
body.bs-v4 .fusion-footer-widget-area{min-height:0!important;padding:8px 0!important}
body.bs-v4 .fusion-footer-copyright-area{padding:8px 16px!important}
}
/* ===== MOBILE 390px HEADER HEIGHT FIX (2026-09-08) — DoD: header>=60px ===== */
/* Root-cause: parts/15_mobile_390.css set min-height:52px which is below the 60px DoD.
   This override raises it to 60px. No other selectors touched (design-freeze). */
@media(max-width:480px){
  body.bs-v4 .fusion-header{min-height:60px!important}
}
/* ===== MOBILE 390px QUALITY FIX (2026-09-08) — logo/icons/whitespace/overflow ===== */
/* DoD: header>=60px (OK via 17_mobiel_fix), scrollWidth<=390, logo in viewport, visual_check --mobile >=4 */
/* Scope: body.bs-v4 ONLY. Design-freeze compliant (no bs-cta/bs4-hero/fusion-main-menu changes). */

@media(max-width:480px){
  /* LOGO: 24px (15_mobile_390) is pixelated/unreadable → 36px for crisp rendering */
  body.bs-v4 .fusion-logo img{
    height:36px!important;
    max-height:36px!important;
    width:auto!important;
    image-rendering:auto!important;
  }
  body.bs-v4 .fusion-logo{
    min-height:60px!important;
    height:60px!important;
  }

  /* NAV ICONS: 18px too small for tap-target + visibility → 24px */
  body.bs-v4 .fusion-search-icon,
  body.bs-v4 .fusion-account-icon,
  body.bs-v4 .fusion-cart-icon{
    font-size:24px!important;
    line-height:1!important;
    width:36px!important;
    height:36px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  /* MOBILE MENU TRIGGER: ensure 40px tap area */
  body.bs-v4 .fusion-mobile-menu-trigger{
    width:40px!important;
    height:40px!important;
    font-size:24px!important;
  }

  /* HORIZONTAL OVERFLOW GUARD: prevent scrollWidth > 390 */
  body.bs-v4 .fusion-row{
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  body.bs-v4 .fusion-page-container-row{
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  body.bs-v4 .fusion-section{
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  body.bs-v4 .bs3-prod-grid,
  body.bs-v4 .bs3-cats,
  body.bs-v4 .bs3-usp-grid{
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  /* WHITE SPACE FIX: reduce Avada section padding that creates >500px gaps */
  body.bs-v4 .fusion-section,
  body.bs-v4 .fusion-builder-row{
    padding:24px 12px!important;
    margin:0!important;
  }
  body.bs-v4 .fusion-page-container-row{
    padding:0!important;
    margin:0!important;
  }

  /* FOOTER: hide empty video/iframe blocks that render as dark void on mobile */
  body.bs-v4 .fusion-footer .fusion-video-element,
  body.bs-v4 .fusion-footer .fusion-footer-adv,
  body.bs-v4 .fusion-footer iframe{
    display:none!important;
    height:0!important;
    overflow:hidden!important;
  }

  /* PRODUCT GRID: tighter spacing on mobile */
  body.bs-v4 .bs3-prod-grid{
    gap:10px!important;
  }
  body.bs-v4 .bs3-prod-img{
    height:140px!important;
  }

  /* SERVICE BAR: hide links, keep centered text only */
  body.bs-v4 .bs-servicebar__inner{
    justify-content:center!important;
    padding:6px 12px!important;
  }
  body.bs-v4 .bs-servicebar a{
    display:none!important;
  }
}
/* MOBILE v2 FIXES (390px) — 2026-09-08 Engineer */
/* Witruimte: Avada bouwt nested rows/sections die extra padding toevoegen */
@media screen and (max-width: 480px){
  /* Verdere whitespace-reductie op alle Avada containers */
  body.bs-v4 .fusion-builder-container,
  body.bs-v4 .fusion-content-row,
  body.bs-v4 .fusion-row{
    padding-top:0!important;
    padding-bottom:0!important;
    margin-top:0!important;
    margin-bottom:0!important;
  }
  body.bs-v4 .fusion-section{
    padding:12px 8px!important;
    margin:0!important;
  }
  body.bs-v4 .fusion-builder-row .fusion-row{
    padding:0!important;
    margin:0!important;
    min-height:0!important;
  }
  /* Hero-sectie: compact houden */
  body.bs-v4 .bs4-hero,
  body.bs-v4 .fusion-fullwidth{
    padding:16px 8px!important;
    margin:0!important;
  }
  /* Categorie-tiles: grid 2-col met minimale gap */
  body.bs-v4 .bs3-cats{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    padding:8px!important;
    margin:8px 0!important;
  }
  /* Productkaarten: compact */
  body.bs-v4 .bs3-prod-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    padding:8px!important;
    margin:8px 0!important;
  }
  body.bs-v4 .bs3-prod-img{
    height:120px!important;
    min-height:120px!important;
    background:#f5f5f5!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  body.bs-v4 .bs3-prod-img img{
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
  }
  /* "No image" / placeholder styling: maak het opzettelijk eruitzien */
  body.bs-v4 .bs3-prod-img::after{
    content:'Beeld laden…';
    position:absolute;
    font-size:10px;
    color:#999;
    bottom:4px;
    left:50%;
    transform:translateX(-50%);
  }
  /* USP-grid: stack op mobiel */
  body.bs-v4 .bs3-usp-grid{
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
    padding:8px!important;
    margin:8px 0!important;
  }
  /* Footer: compact, geen lege blokken */
  body.bs-v4 .fusion-footer{
    padding:16px 8px!important;
    margin:0!important;
  }
  body.bs-v4 .fusion-footer .fusion-column-wrapper{
    padding:8px!important;
    margin:0!important;
  }
  /* Mobile menu panel: leesbaar */
  body.bs-v4 .fusion-mobile-menu{
    font-size:16px!important;
    line-height:1.6!important;
    background:#fff!important;
    box-shadow:0 4px 12px rgba(0,0,0,.12)!important;
  }
  body.bs-v4 .fusion-mobile-menu a{
    color:#1a1a2e!important;
    font-size:16px!important;
    padding:12px 16px!important;
    display:block!important;
    border-bottom:1px solid #eee!important;
  }
  body.bs-v4 .fusion-mobile-menu a:hover,
  body.bs-v4 .fusion-mobile-menu a:focus{
    background:#f8f8f8!important;
    color:#b87333!important;
  }
  /* Mobile menu trigger: zichtbaar */
  body.bs-v4 .fusion-mobile-menu-trigger{
    font-size:26px!important;
    color:#1a1a2e!important;
    background:transparent!important;
    border:none!important;
  }
}

/* MOBILE v3 — WHITESPACE & FOOTER FIX (390px) */
@media(max-width:480px){
  body.bs-v4 .bs4-section{padding:48px 16px}
  body.bs-v4 .bs4-section__head{margin-bottom:24px}
  body.bs-v4 .bs4-promise{padding:0 16px}
  body.bs-v4 .bs4-people{padding:48px 16px}
  body.bs-v4 .bs4-b2b{padding:48px 16px}
  body.bs-v4 .bs4-cats{grid-template-columns:1fr;gap:14px}
  body.bs-v4 .bs4-cat{min-height:auto}
  body.bs-v4 .bs4-cat__media{aspect-ratio:16/9}
  body.bs-v4 .bs4-prods{gap:12px}
  body.bs-v4 .bs4-prod__media{height:140px}
}
/* /MOBILE v3 */

/* MOBILE v3b — INTER-SECTION GAP REDUCTION (390px) */
@media(max-width:480px){
  body.bs-v4 .bs4-section + .bs4-section,
  body.bs-v4 .bs4-section + .bs4-people,
  body.bs-v4 .bs4-people + .bs4-section,
  body.bs-v4 .bs4-section + .bs4-b2b,
  body.bs-v4 .bs4-people + .bs4-b2b{
    margin-top:-16px;
  }
  body.bs-v4 .bs4-section__head{margin-bottom:20px}
  body.bs-v4 .bs4-people__text{padding:32px 20px}
  body.bs-v4 .bs4-b2b__inner{grid-template-columns:1fr;gap:24px}
  body.bs-v4 .bs4-b2b__media{display:none}
}
/* /MOBILE v3b */

/* MOBILE v3c — TEXT OVERFLOW FIX (390px) */
@media(max-width:480px){
  body.bs-v4 .bs4-people__text p{max-width:100%;white-space:normal;overflow-wrap:break-word}
  body.bs-v4 .bs4-people__text{overflow:hidden}
  body.bs-v4 .bs4-section__head h2{max-width:100%}
  body.bs-v4 .bs4-prod__name{white-space:normal;overflow-wrap:break-word;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;display:-webkit-box}
  body.bs-v4 .bs4-cat__title{white-space:normal;overflow-wrap:break-word}
}
/* /MOBILE v3c */

/* MOBILE v3d — OVERFLOW-X FIX: people-stats + footer (390px) */
@media(max-width:480px){
  body.bs-v4 .bs4-people{overflow-x:hidden}
  body.bs-v4 .bs4-people__text,
  body.bs-v4 .bs4-people__stats,
  body.bs-v4 .bs4-people__inner{max-width:100%;overflow-x:hidden}
  body.bs-v4 .bs4-people__stats{flex-wrap:wrap;gap:12px}
  body.bs-v4 .bs4-people__stat{min-width:80px;flex:1 1 auto}
  body.bs-v4 .bs4-people__stat span,
  body.bs-v4 .bs4-people__stat em{font-size:14px!important;white-space:normal;overflow-wrap:break-word}
  body.bs-v4 .bs4-b2b{overflow-x:hidden}
  body.bs-v4 .bs4-b2b__inner{max-width:100%}
  /* Footer mobile fix */
  body.bs-v4 footer,
  body.bs-v4 .fusion-footer-widget-area,
  body.bs-v4 .fusion-footer-copyright{padding-left:16px!important;padding-right:16px!important;overflow-x:hidden}
  body.bs-v4 .fusion-footer-copyright p{max-width:100%;white-space:normal;overflow-wrap:break-word;font-size:13px!important}
}
/* /MOBILE v3d */

/* MOBILE v3e — CORRECT SELECTORS: bs4-facts stats + footer columns (390px) */
@media(max-width:480px){
  /* Zo werken wij = bs4-facts section */
  body.bs-v4 .bs4-facts{overflow-x:hidden;padding:48px 16px}
  body.bs-v4 .bs4-facts dl{display:flex;flex-direction:column;gap:16px;max-width:100%;overflow-x:hidden}
  body.bs-v4 .bs4-facts dl > div{width:100%;min-width:0}
  body.bs-v4 .bs4-facts dt{font-size:13px!important;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
  body.bs-v4 .bs4-facts dd{font-size:14px!important;line-height:1.5;margin:0;max-width:100%;overflow-wrap:break-word;white-space:normal}
  body.bs-v4 .bs4-facts .bs3-btn{display:inline-block;width:auto;max-width:100%;margin-top:20px}

  /* Footer: stack the 4 columns vertically */
  body.bs-v4 .fusion-footer-widget-area .fusion-columns.fusion-columns-4{display:flex;flex-direction:column;gap:16px}
  body.bs-v4 .fusion-footer-widget-area .fusion-column,
  body.bs-v4 .fusion-footer-widget-area .fusion-column.fusion-column-last{width:100%!important;max-width:100%;padding:0!important;margin:0!important;float:none!important}
  body.bs-v4 .fusion-footer-copyright-area{padding:12px 16px!important;overflow-x:hidden}
  body.bs-v4 .fusion-copyright-content{max-width:100%;overflow-x:hidden}
  body.bs-v4 .fusion-copyright-notice{font-size:12px!important;line-height:1.5;white-space:normal;overflow-wrap:break-word;padding:0 16px}

  /* Global horizontal overflow guard */
  body.bs-v4{overflow-x:hidden;max-width:100vw}
}
/* /MOBILE v3e */
/* 19_hide_no_category — verberg 'Geen categorie' data-artifact (2026-09-09 Engineer) */
body.bs-v4 .bs4-prod__cat {
    display: none;
}

/* 20_mobile_390_v2 — Mobile 390px overflow & hero readability (ASSIST_70) */
body.bs-v4 {
  overflow-x: hidden;
  max-width: 100vw;
}
@media screen and (max-width: 480px) {
  body.bs-v4 .bs4-hero,
  body.bs-v4 .fusion-full-row.fusion-image-caption-overlay {
    overflow: hidden !important;
    padding: 24px 16px !important;
  }
  body.bs-v4 .bs4-hero h1,
  body.bs-v4 h1 {
    font-size: 28px !important;
    line-height: 1.3 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
  body.bs-v4 .bs4-hero p,
  body.bs-v4 .fusion-text-column p {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }
  body.bs-v4 .bs4-hero .fusion-button,
  body.bs-v4 .bs4-hero a.button {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    margin: 8px 0 !important;
    font-size: 15px !important;
    padding: 14px 20px !important;
  }
  body.bs-v4 .fusion-main-menu,
  body.bs-v4 .fusion-dropdown-menu {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }
  body.bs-v4 .fusion-mobile-menu {
    width: 100% !important;
    max-height: calc(100vh - 72px) !important;
    overflow-y: auto !important;
  }
  body.bs-v4 .fusion-row,
  body.bs-v4 .fusion-full-row {
    max-width: 100% !important;
    overflow: hidden !important;
  }
  body.bs-v4 img {
    max-width: 100% !important;
    height: auto !important;
  }
}

/* PDP-BREEDTE v1 — full-width product pagina's (design-v4, append-only) */
/* Doel: productpagina's even breed als homepage; Avada-inner-constraints opheffen */

body.bs-v4.single-product .fusion-secondary-column {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.bs-v4.single-product .entry-content {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.bs-v4.single-product .site-content {
    max-width: 100% !important;
    width: 100% !important;
}

body.bs-v4.single-product .fusion-main-content {
    max-width: 100% !important;
    width: 100% !important;
}

/* WooCommerce product layout: gallery + summary side-by-side, full width */
body.bs-v4.single-product .woocommerce div.product {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Voorkom dat Avada's boxed-layout de product-inhoud inkrimpt */
body.bs-v4.single-product .fusion-woo-product-design-classic .product {
    max-width: 100% !important;
}
}
/* @media(max-width:480px) close — architect-fix 2026-09-09 */

/* PDP-BREEDTE v2 — top-level (architect-fix 2026-09-09) */
/* Doel: productpagina's even breed als homepage; Avada-inner-constraints opheffen */

body.bs-v4.single-product .fusion-secondary-column {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.bs-v4.single-product .entry-content {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.bs-v4.single-product .site-content {
    max-width: 100% !important;
    width: 100% !important;
}

body.bs-v4.single-product .fusion-main-content {
    max-width: 100% !important;
    width: 100% !important;
}

/* WooCommerce product layout: gallery + summary side-by-side, full width */
body.bs-v4.single-product .woocommerce div.product {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Voorkom dat Avada's boxed-layout de product-inhoud inkrimpt */
body.bs-v4.single-product .fusion-woo-product-design-classic .product {
    max-width: 100% !important;
}

/* 21_mobile_nav_fix — mobile nav contrast + section gaps (390px) */
@media (max-width: 768px) {
  body.bs-v4 .fusion-mobile-navigation {
    background-color: #ffffff !important;
    padding: 10px 0 !important;
  }
  body.bs-v4 .fusion-mobile-navigation a,
  body.bs-v4 .fusion-mobile-navigation .menu-text,
  body.bs-v4 .fusion-mobile-navigation li > a span {
    color: #1a2332 !important;
    -webkit-text-fill-color: #1a2332 !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    padding: 10px 20px !important;
    display: block !important;
  }
  body.bs-v4 .fusion-mobile-navigation .sub-menu a,
  body.bs-v4 .fusion-mobile-navigation .sub-menu span {
    color: #444444 !important;
    -webkit-text-fill-color: #444444 !important;
    padding-left: 35px !important;
    font-size: 14px !important;
  }
  body.bs-v4 .fusion-mobile-navigation .bs-cta a {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background-color: #1a2332 !important;
    border-radius: 4px !important;
    text-align: center !important;
  }
  /* Section gap reduction on mobile */
  body.bs-v4 .fusion-section,
  body.bs-v4 .fusion-fullwidth,
  body.bs-v4 .fusion-builder-row {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 25px !important;
    padding-bottom: 25px !important;
  }
}
/* 22_mobile_spacing — T5 mobile fix: section gaps + nav contrast (390px) */
@media (max-width: 768px) {
  /* Reduce excessive section padding causing >500px gaps */
  body.bs-v4 .fusion-section,
  body.bs-v4 .fusion-fullwidth,
  body.bs-v4 .fusion-builder-row,
  body.bs-v4 .fusion-content-box {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  body.bs-v4 .fusion-section {
    min-height: 0 !important;
  }
  /* Mobile nav overlay: ensure readable contrast */
  body.bs-v4 .fusion-mobile-menu,
  body.bs-v4 .fusion-mobile-nav,
  body.bs-v4 #mobile-navigation {
    background-color: #ffffff !important;
  }
  body.bs-v4 .fusion-mobile-menu a,
  body.bs-v4 .fusion-mobile-nav a,
  body.bs-v4 .fusion-mobile-nav-item a,
  body.bs-v4 #mobile-navigation a {
    color: #1a2332 !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
  }
  body.bs-v4 .fusion-mobile-menu a:hover,
  body.bs-v4 .fusion-mobile-nav a:hover,
  body.bs-v4 .fusion-mobile-nav-item a:hover {
    color: var(--bs-copper-deep, #b87333) !important;
  }
  /* Hero on mobile: tighter spacing */
  body.bs-v4 .bs4-hero,
  body.bs-v4 .hero-section {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  /* Product grid: remove excessive gaps */
  body.bs-v4 .products ul.products li.product,
  body.bs-v4 .woocommerce ul.products li.product {
    margin-bottom: 16px !important;
  }
}
/* 23_mobile_nav_fix.css — Mobile nav contrast + section gap fix (v71) */
/* Correct selectors per HTML-inspectie iter 7: .fusion-mobile-navigation > .fusion-mobile-menu > li > a.fusion-bar-highlight > span.menu-text */
@media (max-width: 768px) {
  /* MOBILE NAV CONTRAST: witte tekst op witte bg was onleesbaar */
  body.bs-v4 .fusion-mobile-navigation,
  body.bs-v4 .fusion-mobile-navigation ul,
  body.bs-v4 .fusion-mobile-navigation li {
    background: #ffffff !important;
  }
  body.bs-v4 .fusion-mobile-navigation a.fusion-bar-highlight,
  body.bs-v4 .fusion-mobile-menu a,
  body.bs-v4 .fusion-mobile-menu a .menu-text,
  body.bs-v4 .fusion-mobile-menu li.menu-item > a span {
    color: #1a2332 !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
  }
  body.bs-v4 .fusion-mobile-menu li.menu-item > a:hover,
  body.bs-v4 .fusion-mobile-menu li.menu-item > a:focus {
    color: var(--bs-copper-deep, #b87333) !important;
    background: #f8f9fa !important;
  }
  /* Sub-menu items in mobile (indented, slightly lighter) */
  body.bs-v4 .fusion-mobile-menu .sub-menu a,
  body.bs-v4 .fusion-mobile-menu .sub-menu a span {
    color: #3d4a5c !important;
    font-size: 14px !important;
    padding-left: 20px !important;
  }
  /* CTA item in mobile nav: make it stand out */
  body.bs-v4 .fusion-mobile-menu li.bs-cta > a,
  body.bs-v4 .fusion-mobile-menu li.bs-cta > a span {
    color: #ffffff !important;
    background: var(--bs-copper-deep, #b87333) !important;
    padding: 10px 16px !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
    display: block !important;
    text-align: center !important;
  }
  /* SECTION GAPS: Avada's default padding is huge on mobile — kill it */
  body.bs-v4 .fusion-section,
  body.bs-v4 .fusion-row,
  body.bs-v4 .fusion-column,
  body.bs-v4 .fusion-content-box,
  body.bs-v4 .fusion-fullwidth-box {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    min-height: 0 !important;
  }
  body.bs-v4 .fusion-section {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  /* Remove any inline min-height that Avada injects */
  body.bs-v4 [style*="min-height"] {
    min-height: 0 !important;
  }
  /* Product grid tighter on mobile */
  body.bs-v4 .woocommerce ul.products li.product,
  body.bs-v4 .products ul.products li.product {
    margin-bottom: 12px !important;
    padding: 8px !important;
  }
}

/* 26_header_align.css — 2026-09-11 operator: paginabrede header/footer (Volvo-gutter 48px), logo-verhouding, menu-hoogte */
/* Append-only onder body.bs-v4. Raakt .bs-cta/.bs4-hero/.sub-menu-regels niet aan. */

/* 1. Header, topbar en footer op dezelfde gutter als de content (.bs4-section = 48px) */
body.bs-v4 .fusion-header .fusion-row,
body.bs-v4 .fusion-header-top .fusion-row,
body.bs-v4 .fusion-footer-widget-area .fusion-row,
body.bs-v4 .fusion-footer-copyright-area .fusion-row {
  max-width: none !important;
  width: 100% !important;
  padding-left: 48px !important;
  padding-right: 48px !important;
}
body.bs-v4 .bs4-promise { max-width: none !important; }

/* 2. Logo: nooit meekrimpen in de flex-row, verhouding behouden */
body.bs-v4 .fusion-header .fusion-logo {
  flex: 0 0 auto !important;
  width: auto !important;
}
body.bs-v4 .fusion-logo img {
  width: auto !important;
  height: 40px !important;
  max-height: 40px !important;
  max-width: none !important;
  object-fit: contain !important;
  filter: none !important;
}

/* 3. Menu exact header-hoogte, verticaal gecentreerd */
body.bs-v4 .fusion-header .fusion-main-menu {
  height: var(--bs-header-h, 72px) !important;
  min-height: 0 !important;
  padding: 0 !important;
  flex: 0 1 auto !important;
}

@media (max-width: 1024px) {
  body.bs-v4 .fusion-header .fusion-row,
  body.bs-v4 .fusion-header-top .fusion-row,
  body.bs-v4 .fusion-footer-widget-area .fusion-row,
  body.bs-v4 .fusion-footer-copyright-area .fusion-row {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}
@media (max-width: 768px) {
  body.bs-v4 .fusion-logo img { height: 32px !important; max-height: 32px !important; }
}
/* /26_header_align */

/* =====================================================================
   27_menu_nowrap — v4.1 header hotpatch (append-only, design-freeze safe)
   Probleem: meerwoordige menu-items ("Werkplek & vloerdozen", "Product
   Builder", "Accessoires & EV-laden") wrapten naar 2 regels x 72px = 144px,
   waardoor de tekst onder de headerlijn (y=109) viel.
   Fix: nooit wrappen in het hoofdmenu; tekstbox exact 1 regel = header hoogte.
   ===================================================================== */
body.bs-v4 .fusion-main-menu > ul > li > a,
body.bs-v4 .fusion-main-menu > ul > li > a .menu-text {
  white-space: nowrap;
}
body.bs-v4 .fusion-main-menu > ul > li > a .menu-text {
  display: inline-block;
  height: var(--bs-header-h, 72px);
  line-height: var(--bs-header-h, 72px);
  overflow: visible;
}
body.bs-v4 .fusion-main-menu > ul > li:not(.bs-cta) > a {
  height: var(--bs-header-h, 72px);
  line-height: var(--bs-header-h, 72px);
  display: flex;
  align-items: center;
}
body.bs-v4 .fusion-main-menu > ul > li.bs-cta > a .menu-text {
  height: auto;
  line-height: 1;
}
/* 28_mobile_390_final — DEFINITIEVE 390px header fix (DoD: header>=60px, no overflow, logo visible) */
/* Scope: body.bs-v4 only. Max 5 !important (alleen waar Avada override nodig is). */

/* 1. Kill horizontal overflow at mobile widths */
@media(max-width:760px){
  html,body{overflow-x:hidden;max-width:100vw}
  body.bs-v4 .fusion-header .fusion-row{
    min-height:60px !important;
    max-width:100% !important;
    padding:0 12px !important;
    overflow:hidden;
  }
  body.bs-v4 .fusion-main-menu-wrap{
    max-width:100%;
    overflow:hidden;
  }
  body.bs-v4 .fusion-main-menu ul{
    max-width:100vw;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  body.bs-v4 .fusion-main-menu ul::-webkit-scrollbar{display:none}
}

/* 2. Logo: explicit dimensions, always in viewport */
@media(max-width:760px){
  body.bs-v4 .fusion-logo{
    min-height:60px;
    display:flex;
    align-items:center;
    flex-shrink:0;
  }
  body.bs-v4 .fusion-logo img{
    width:120px !important;
    height:32px !important;
    max-width:120px;
    max-height:32px;
    object-fit:contain;
    display:block;
  }
}

/* 3. CTA button fits at 390px */
@media(max-width:760px){
  body.bs-v4 .fusion-main-menu>ul>li.bs-cta>a{
    height:36px;
    line-height:36px;
    padding:0 12px;
    font-size:13px;
    margin-top:12px;
  }
}

/* 4. Ensure no element exceeds viewport */
@media(max-width:760px){
  body.bs-v4 .fusion-header-sticky-height{display:none !important}
  body.bs-v4 .fusion-search-icon,body.bs-v4 .fusion-cart-icon{
    max-width:32px;
    max-height:32px;
  }
}

/* 29_mobile_390_fix — logo CLS + header>=60px + no h-overflow @390px */
body.bs-v4 .fusion-logo img.fusion-standard-logo{width:124px!important;height:40px!important;max-width:124px!important;max-height:40px!important}
@media(max-width:768px){
body.bs-v4 .fusion-logo img.fusion-standard-logo{width:112px!important;height:36px!important;max-width:112px!important;max-height:36px!important}
body.bs-v4 .fusion-header,body.bs-v4 .fusion-header .fusion-row{min-height:60px!important}
html,body{overflow-x:hidden!important}
}


/* 23_mobile_390_final (2026-09-11) */
@media(max-width:480px){
body.bs-v4 .fusion-header,body.bs-v4 .fusion-header .fusion-row,body.bs-v4 .fusion-header-wrap{min-height:60px!important;height:auto!important}
body.bs-v4 .fusion-logo img,body.bs-v4 .fusion-logo img.fusion-standard-logo{width:auto!important;height:32px!important;max-height:32px!important;max-width:140px!important;min-width:80px!important}
body.bs-v4 .fusion-logo{min-height:60px!important;display:flex!important;align-items:center!important}
html,body{overflow-x:hidden!important;max-width:100vw!important}
body.bs-v4 .fusion-main-menu,body.bs-v4 .fusion-page-container-row,body.bs-v4 .bs4-hero,body.bs-v4 .bs4-people__inner{overflow-x:hidden!important;max-width:100%!important}
body.bs-v4 .fusion-secondary-header{min-height:36px!important}
}

/* parts/29_mobile_390_clean — Minimal 390px fix (S22: ≤12 !important) */
/* Scope: body.bs-v4, @media max-width:760px. Replaces parts/28 redundancy. */
@media(max-width:760px){
  html,body{overflow-x:hidden;max-width:100vw}
  body.bs-v4 .fusion-header{min-height:60px!important;height:auto!important}
  body.bs-v4 .fusion-logo img{max-width:124px!important;height:40px!important}
  body.bs-v4 .fusion-main-menu-wrap{max-width:100%;overflow:hidden}
  body.bs-v4 .fusion-mobile-nav-button{display:flex!important}
}
/* /parts/29_mobile_390_clean */

/* parts/30_width_fix — full-width layout ALL pages (override Fusion 1140px boxed cap) */
body.bs-v4{--site_width:100%!important}
body.bs-v4.layout-boxed-mode #wrapper{max-width:none!important;width:100%!important}
body.bs-v4 .boxed-wrapper{max-width:none!important;width:100%!important;box-shadow:none!important}
body.bs-v4 #main{max-width:none!important;width:100%!important;padding-left:20px!important;padding-right:20px!important}
body.bs-v4 #main>.fusion-row{max-width:none!important;width:100%!important}
body.bs-v4 .fusion-page-title-row{max-width:none!important;width:100%!important}
/* /parts/30_width_fix */

/* parts/21_paginabreed — full-width page layout for body.bs-v4 (OPS-P1 DEEL C) */
body.bs-v4{--site_width:100%!important}
body.bs-v4 #wrapper{max-width:none!important;width:100%!important}
body.bs-v4 #main{max-width:none!important;width:100%!important;padding-left:24px!important;padding-right:24px!important}
body.bs-v4 #main>.fusion-row{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important}
body.bs-v4 .fusion-page-title-row{max-width:none!important;width:100%!important}
body.bs-v4 .fusion-full-row{max-width:none!important;width:100%!important}
body.bs-v4 .fusion-footer-copyright-area>.fusion-row{max-width:none!important;width:100%!important}
/* /parts/21_paginabreed */

/* PAGINABREEDTE v2 — body.bs-v4 scoped, append-only.
   ROOT CAUSE: #main{padding:30px} + .fusion-row padding restrict width in layout-wide-mode.
   Fix: zero out padding on main content area for full-bleed layout.
   Date: 2026-09-12 | Author: ENGINEER | Ref: OPS-P1 DEEL C */

body.bs-v4 #main{
  padding-left:0!important;
  padding-right:0!important;
}

body.bs-v4 #main>.fusion-row{
  padding-left:0!important;
  padding-right:0!important;
  max-width:none!important;
}

body.bs-v4 .fusion-row .fusion-column,
body.bs-v4 .fusion-row .fusion-column-wrapper{
  padding-left:15px;
  padding-right:15px;
}

body.bs-v4 .fusion-footer-copyright-area,
body.bs-v4 .fusion-footer-widget-area{
  padding-left:0!important;
  padding-right:0!important;
}

/* Ensure product grid + shop pages are truly full-width */
body.bs-v4 .woocommerce ul.products li.product,
body.bs-v4 .fusion-woo-archive-page-columns-3 .fusion-row{
  max-width:none!important;
}
/* 31_shop_archive_center.css — T2 shop-archief: gecentreerde content + witruimte zijkanten
   Root-cause: eerdere parts forceerden #main op max-width:none;width:100% (vol-breed, links uitgelijnd).
   Scope: uitsluitend WooCommerce-archief/shop-pagina's (tax-product_cat, woocommerce-page).
   Header/menu/hero/PDP blijven onaangetast. Append-only onder body.bs-v4 (design-freeze v4, T2). */

body.bs-v4.tax-product_cat #main,
body.bs-v4.woocommerce-page #main {
  max-width: 1200px !important;
  width: auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

body.bs-v4.tax-product_cat #main > .fusion-row,
body.bs-v4.woocommerce-page #main > .fusion-row {
  max-width: 100% !important;
  width: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.bs-v4.tax-product_cat .fusion-full-row,
body.bs-v4.woocommerce-page .fusion-full-row {
  max-width: 100% !important;
  width: auto !important;
  left: 0 !important;
  right: 0 !important;
}

@media (max-width: 768px) {
  body.bs-v4.tax-product_cat #main,
  body.bs-v4.woocommerce-page #main {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}
/* /31_shop_archive_center */

/* 32_page_center.css — LAYOUT-CENTER-P0: reguliere WP-pages gecentreerd (v4-standaard)
   Gap: part 31 dekt tax-product_cat + woocommerce-page, maar NIET body.bs-v4.page.
   Scope: uitsluitend reguliere WP-pagina's (page-id-*) onder body.bs-v4.
   Header/menu/hero/PDP/shop-archive blijven onaangetast (design-freeze v4). */

body.bs-v4.page #main {
  max-width: 1200px !important;
  width: auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

body.bs-v4.page #main > .fusion-row,
body.bs-v4.page #main > .fusion-full-row {
  max-width: 100% !important;
  width: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.bs-v4.page .fusion-full-row {
  left: 0 !important;
  right: 0 !important;
}

body.bs-v4.page .entry-content > p:first-of-type,
body.bs-v4.page .entry-content > h2:first-of-type {
  margin-top: 32px !important;
}

@media (max-width: 768px) {
  body.bs-v4.page #main {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}
/* /32_page_center */
/* 32_all_pages_center.css — ALLE reguliere pagina's (non-home) gecentreerd + witruimte zijkanten
   Root-cause: style.css-blokken (~regel 2592 + ~2601) forceren #main op max-width:none;width:100%
   voor ALLE body.bs-v4 pagina's. Part 31 dekte alleen tax-product_cat + woocommerce-page,
   waardoor reguliere WP-pagina's (badkamer/keuken/samenstellen/etc.) nog links/vol-breed stonden.
   Scope: uitsluitend body.page (reguliere pagina's); homepage (.home) blijft vol-breed (hero design-frozen).
   Header/menu/hero/PDP/categorie-archieven blijven onaangetast. Append-only onder body.bs-v4 (design-freeze v4, T2-extensie). */

body.bs-v4.page:not(.home) #main {
  max-width: 1200px !important;
  width: auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

body.bs-v4.page:not(.home) #main > .fusion-row {
  max-width: 100% !important;
  width: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.bs-v4.page:not(.home) .fusion-full-row {
  max-width: 100% !important;
  width: auto !important;
  left: 0 !important;
  right: 0 !important;
}

@media (max-width: 768px) {
  body.bs-v4.page:not(.home) #main {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}
/* /32_all_pages_center */
/* 33_all_pages_luxe_design.css — LUXE design standard voor ALLE reguliere pagina's
   Scope: body.bs-v4.page:not(.home) — alleen reguliere WP-pagina's.
   Homepage (frozen hero), header, menu, PDP, categorie-archieven, cart/checkout blijven onaangetast.
   Design-freeze v4 compliant: append-only onder body.bs-v4. T2-extensie.
   Root-cause: avada-has-titlebar-hide betekent dat de pagetitel in .post-content zit (h1),
   en er was geen typografie/visual styling op reguliere pagina's -> kaal/ongestileerd. */

/* === TYPOGRAPHY BASE === */
body.bs-v4.page:not(.home) .post-content {
  line-height: 1.75 !important;
  font-size: 1rem !important;
  color: #2d2d2d !important;
}

body.bs-v4.page:not(.home) .post-content p {
  margin-bottom: 1.25em !important;
}

/* === H1 = PAGETITEL (titlebar hidden, h1 in content is de titel) === */
body.bs-v4.page:not(.home) .post-content h1 {
  font-size: 2rem !important;
  font-weight: 700 !important;
  color: #1a1a2e !important;
  letter-spacing: -0.02em !important;
  margin-top: 0 !important;
  margin-bottom: 1em !important;
  padding-bottom: 0.5em !important;
  border-bottom: 3px solid #c8956c !important;
}

/* === H2 / H3 === */
body.bs-v4.page:not(.home) .post-content h2 {
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  color: #1a1a2e !important;
  margin-top: 2em !important;
  margin-bottom: 0.75em !important;
}

body.bs-v4.page:not(.home) .post-content h3 {
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  color: #1a1a2e !important;
  margin-top: 1.5em !important;
  margin-bottom: 0.5em !important;
}

/* === AFBEELDINGEN === */
body.bs-v4.page:not(.home) .post-content img {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
  margin: 1.5em auto !important;
  display: block !important;
}

/* === SECTIE-RUIMTE === */
body.bs-v4.page:not(.home) .fusion-row {
  margin-bottom: 2rem !important;
}

/* === LIJSTEN === */
body.bs-v4.page:not(.home) .post-content ul,
body.bs-v4.page:not(.home) .post-content ol {
  margin-bottom: 1.25em !important;
  padding-left: 1.5em !important;
}

body.bs-v4.page:not(.home) .post-content li {
  margin-bottom: 0.5em !important;
}

/* === MOBIEIL === */
@media (max-width: 768px) {
  body.bs-v4.page:not(.home) .post-content h1 {
    font-size: 1.5rem !important;
  }
  body.bs-v4.page:not(.home) .post-content h2 {
    font-size: 1.25rem !important;
  }
  body.bs-v4.page:not(.home) .post-content h3 {
    font-size: 1.05rem !important;
  }
}
/* /33_all_pages_luxe_design */


/* 34_cart_button_fix */
body.bs-v4 .awb-rollover-button,
body.bs-v4 .add_to_cart_button {
    white-space: normal !important;
    word-wrap: break-word;
    overflow: visible;
    text-overflow: clip;
    min-height: 38px;
    line-height: 1.3;
}
body.bs-v4 .woocommerce-loop-product__link .button {
    padding: 8px 14px;
    font-size: 13px;
}
/* /34_cart_button_fix */

/* 35_home_wide — OPERATOR-GO Tom 2026-09-14 "homepage breed". Alleen secties onder de hero; header/menu/hero DESIGN-FREEZE v4 intact. */
@media(min-width:1200px){
body.bs-v4.home{--bs4-max:1440px;--bs4-pad:clamp(24px,3vw,56px)}
body.bs-v4.home .bs4-section,body.bs-v4.home .bs4-b2b,body.bs-v4.home .bs4-people{padding-left:var(--bs4-pad);padding-right:var(--bs4-pad)}
body.bs-v4.home .bs4-promise{max-width:var(--bs4-max)}
body.bs-v4.home .bs4-cats{max-width:var(--bs4-max);gap:24px;grid-auto-rows:minmax(240px,auto)}
body.bs-v4.home .bs4-prods{max-width:var(--bs4-max);gap:24px}
body.bs-v4.home .bs4-section__head{max-width:var(--bs4-max)}
body.bs-v4.home .bs4-b2b__inner{max-width:var(--bs4-max)}
}
@media(min-width:1500px){
body.bs-v4.home{--bs4-max:1560px}
body.bs-v4.home .bs4-cats{grid-template-columns:repeat(4,1fr)}
body.bs-v4.home .bs4-prods{grid-template-columns:repeat(5,1fr)}
}

/* 36_home_wide_fix — OPERATOR-GO Tom 2026-09-14 "homepage breed" (v2, na /measure-diagnose).
   Root-cause 1: --bs4-max staat op .bs4 (wrapper), niet body -> part 35 override werd geschaduwd.
   Root-cause 2: part 32 (body.bs-v4.page #main max-width:1200px) raakt ook home (home heeft ook .page).
   Scope: uitsluitend body.home. Header/menu/hero DESIGN-FREEZE v4 ongewijzigd. */
body.bs-v4.home #main,body.bs-v4.home.page #main{max-width:none!important;width:100%!important;padding-left:0!important;padding-right:0!important;margin:0!important}
body.bs-v4.home #main>.fusion-row,body.bs-v4.home #main>.fusion-full-row{max-width:none!important;width:100%!important;padding:0!important}
@media(min-width:1200px){
body.bs-v4.home .bs4{--bs4-max:1440px;--bs4-pad:clamp(24px,3vw,56px)}
body.bs-v4.home .bs4-cats{gap:24px;grid-auto-rows:minmax(240px,auto)}
body.bs-v4.home .bs4-prods{gap:24px}
}
@media(min-width:1500px){
body.bs-v4.home .bs4{--bs4-max:1600px}
body.bs-v4.home .bs4-cats{grid-template-columns:repeat(4,1fr)}
body.bs-v4.home .bs4-prods{grid-template-columns:repeat(5,1fr)}
}
@media(min-width:1800px){
body.bs-v4.home .bs4{--bs4-max:1720px}
}

/* 37_cat_tiles_uniform — uniforme afbeeldingen op categorie-tiles (object-fit:cover + aspect-ratio).
   Fix: Work Places strip, Serie R2 wit-op-wit, K45 lifestyle niet-vullend, Schakelmateriaal grijs. */
body.bs-v4.home .bs4-cat{display:flex;flex-direction:column}
body.bs-v4.home .bs4-cat__media{aspect-ratio:4/3;overflow:hidden;border-radius:8px 8px 0 0;flex-shrink:0;background:#f5f3f0}
body.bs-v4.home .bs4-cat__media img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;display:block;-o-object-fit:cover}
body.bs-v4.home .bs4-cat__body{flex:1;display:flex;flex-direction:column;justify-content:center}
/* /37_cat_tiles_uniform */

/* 38_home_cards_uniform — Uniforme afbeeldingen op ALLE kaarten/tiles homepage (v88).
   Oplost: Work Places strip, K45 Kabelbeheer te klein, Serie 82 wit-op-wit, Schakelmateriaal grijs.
   Principe: vaste aspect-ratio + object-fit:cover + achtergrond op de media-container. */

/* ALLE grid/card media-containers op homepage — uniforme verhouding */
body.bs-v4.home .fusion-grid-col img,
body.bs-v4.home .fusion-fullwidth img,
body.bs-v4.home .bs4-cat__media img,
body.bs-v4.home .bs4-prod__media img,
body.bs-v4.home .product-thumb img,
body.bs-v4.home .woocommerce-loop-product__link img,
body.bs-v4.home .fusion-image-caption img,
body.bs-v4.home [class*="card"] img,
body.bs-v4.home [class*="tile"] img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block;
  -webkit-object-fit: cover;
}

/* Media-container zelf: vaste ratio + achtergrond zodat witte foto's niet "drijven" */
body.bs-v4.home .fusion-grid-col,
body.bs-v4.home .bs4-cat__media,
body.bs-v4.home .bs4-prod__media,
body.bs-v4.home .product-thumb,
body.bs-v4.home .fusion-image-caption {
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  background: #f7f5f2 !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Specifiek: fusion-grid-col heeft vaak een inner wrapper — die ook cover */
body.bs-v4.home .fusion-grid-col .fusion-image-wrapper,
body.bs-v4.home .fusion-grid-col .fusion-image-wrapper img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
body.bs-v4.home .fusion-grid-col .fusion-image-wrapper {
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  background: #f7f5f2 !important;
}

/* WooCommerce product loop items op homepage */
body.bs-v4.home .products .product img,
body.bs-v4.home .woocommerce ul.products li.product img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
body.bs-v4.home .products .product .woocommerce-loop-product__link,
body.bs-v4.home .woocommerce ul.products li.product .woocommerce-loop-product__link {
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  display: block;
  background: #f7f5f2 !important;
}

/* Avada image caption blocks */
body.bs-v4.home .fusion-image-caption {
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  background: #f7f5f2 !important;
}

/* Mobile: iets hogere ratio voor betere vulling op smal scherm */
@media (max-width: 860px) {
  body.bs-v4.home .fusion-grid-col,
  body.bs-v4.home .bs4-cat__media,
  body.bs-v4.home .bs4-prod__media,
  body.bs-v4.home .product-thumb,
  body.bs-v4.home .fusion-image-caption,
  body.bs-v4.home .fusion-grid-col .fusion-image-wrapper {
    aspect-ratio: 1 / 1 !important;
  }
}
/* 38_image_unify — uniforme afbeeldingen op ALLE homepage-kaarten (cat + prod).
   Fix: object-fit:cover + vaste aspect-ratio + geen mix-blend-mode:multiply.
   Oplost: Work Places strip, Serie R2 wit-op-wit, K45 lifestyle, Schakelmateriaal grijs. */

/* CATEGORIE-TILES: al in part 37, maar versterk met !important voor cascade-winst */
body.bs-v4.home .bs4-cat__media {
  aspect-ratio: 4/3 !important;
  overflow: hidden;
  background: #f5f3f0 !important;
}
body.bs-v4.home .bs4-cat__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block;
  mix-blend-mode: normal !important;
}

/* PRODUCT-CARDS: DE ECHTE FIX — override van lijn 1533 (width:auto, multiply) */
body.bs-v4.home .bs4-prod__media {
  aspect-ratio: 1/1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  background: #fafaf8 !important;
  overflow: hidden;
}
body.bs-v4.home .bs4-prod__media img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block;
  mix-blend-mode: normal !important;
  border-radius: 4px;
}

/* BS3 product images (legacy class) — ook uniform maken */
body.bs-v4.home .bs3-prod-img {
  aspect-ratio: 1/1 !important;
  background: #fafaf8 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden;
}
body.bs-v4.home .bs3-prod-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  mix-blend-mode: normal !important;
}

/* B2B + People media — al cover, maar versterk */
body.bs-v4.home .bs4-b2b__media img,
body.bs-v4.home .bs4-people__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  mix-blend-mode: normal !important;
}
/* 39_grid_balance — fix grid-onbalans (4 cats in 3-col) + CTA text-overflow.
   Grid: 2x2 op desktop, 4-col op ultra-wide. CTA: white-space nowrap. */

/* CATEGORIE-GRID: 2×2 gebalanceerd (was 3+1 oneven) */
body.bs-v4 .bs4-cats {
  grid-template-columns: repeat(2, 1fr) !important;
}
@media (min-width: 1500px) {
  body.bs-v4 .bs4-cats {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

/* CTA-KNOP "Offerte aanvragen": voorkom text-wrapping + clipping */
body.bs-v4 .fusion-main-menu > ul > li.bs-cta > a {
  white-space: nowrap !important;
  overflow: visible !important;
}
body.bs-v4 .fusion-main-menu > ul > li.bs-cta > a .menu-text {
  white-space: nowrap !important;
  display: inline-block !important;
}
/* 40_grid_equal — Alle 4 categorie-kaarten GELIJK in 2×2 grid.
   Neutraliseert --lead (ontworpen voor 3+1), equaliseert aspect-ratio + h3,
   text-clamp voorkomt ongelijke body-hoogtes. */

/* --lead neutraliseren in 2×2 desktop grid (was: span 2 col + 4/3 ratio + 26px h3) */
body.bs-v4 .bs4-cat--lead {
  grid-column: auto !important;
  grid-row: auto !important;
}
body.bs-v4 .bs4-cat--lead .bs4-cat__media {
  aspect-ratio: 16/9 !important;
}
body.bs-v4 .bs4-cat--lead .bs4-cat__body h3 {
  font-size: 20px !important;
}

/* Gelijkmatige body-hoogte: min-height + text-clamp */
body.bs-v4 .bs4-cat__body {
  min-height: 110px;
}
body.bs-v4 .bs4-cat__body p {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-clamp: 3;
}

/* Zorg dat de kaart zelf een consistente min-height heeft */
body.bs-v4 .bs4-cat {
  min-height: 280px;
}
/* 41_cta_width_fix — CTA "Offerte aanvragen" min-width zodat tekst nooit clippt.
   Design-frozen: 40px hoog, secundaire knop, GEEN band-achtergrond. Alleen width/padding fix. */
body.bs-v4 .fusion-main-menu > ul > li.bs-cta > a {
  min-width: 160px !important;
  padding: 0 20px !important;
  text-align: center !important;
}
/* 42_equal_no_clamp — Gelijke kaarthoogtes ZONDER tekst-truncatie.
   Ongeeft part 40's line-clamp (veroorzaakt "truncated" klacht).
   Gebruikt grid-auto-rows:1fr voor natuurlijke gelijke hoogtes. */

body.bs-v4 .bs4-cats {
  grid-auto-rows: 1fr !important;
}
body.bs-v4 .bs4-cat__body p {
  display: block !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  overflow: visible !important;
  line-clamp: unset !important;
}
body.bs-v4 .bs4-cat__body {
  min-height: unset !important;
}
body.bs-v4 .bs4-cat {
  min-height: unset !important;
}

/* PART 43 — USP contrast + tile image unification (2026-09-15) */
body.bs-v4 .bs4-promise__item span{color:#3a3f47!important}
body.bs-v4 .bs4-promise__item strong{color:#1a1d21!important}
body.bs-v4 .bs3-cat-card img,body.bs-v4 .bs3-category-tile img,body.bs-v4 .bs4-cats img{object-fit:cover!important;aspect-ratio:4/3!important;width:100%;height:auto!important}

/* 45_home_cards_image_fix — uniforme afbeeldingen op home product/categorie-kaarten */
body.bs-v4.home .bs4-cat__media,
body.bs-v4.home .bs4-cats img,
body.bs-v4.home .bs4-prods img,
body.bs-v4.home .fusion-row .bs4-cat img,
body.bs-v4.home .fusion-row .bs4-prod img {
  object-fit: cover !important;
  object-position: center center !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}
body.bs-v4.home .bs4-cat__media,
body.bs-v4.home .bs4-prod__media {
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, #f8f8f5 0%, #eae8e2 100%) !important;
  min-height: 180px !important;
}
body.bs-v4.home .bs4-cat__media img[src*="work"],
body.bs-v4.home .bs4-cat__media img[src*="Work"],
body.bs-v4.home .bs4-prod__cat img[src*="work"],
body.bs-v4.home .bs4-prod__cat img[src*="Work"] {
  object-position: center 30% !important;
}
body.bs-v4.home .bs4-cat__media img[src*="k45"],
body.bs-v4.home .bs4-cat__media img[src*="K45"],
body.bs-v4.home .bs4-prod__cat img[src*="k45"],
body.bs-v4.home .bs4-prod__cat img[src*="K45"] {
  object-position: center 60% !important;
  padding: 0 !important;
}
body.bs-v4.home section .bs4-cats a img,
body.bs-v4.home section .bs4-prods a img,
body.bs-v4.home .fusion-builder-row .bs4-cat img,
body.bs-v4.home .fusion-builder-row .bs4-prod img {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
}
body.bs-v4.home .bs4-cat__media img[style*="height"],
body.bs-v4.home .bs4-prod__cat img[style*="height"],
body.bs-v4.home .bs4-prod__media img[style*="height"] {
  height: 100% !important;
}
@media (max-width: 768px) {
  body.bs-v4.home .bs4-cat__media,
  body.bs-v4.home .bs4-prod__media {
    aspect-ratio: 1 / 1 !important;
    min-height: 140px !important;
  }
}

/* === PART 46: card_contrast_fix (appended 2026-09-15) === */
/* 46_card_contrast_fix — visuele consistentie home categorie-kaarten (v83+) */
/* Probleem: wit-op-wit, grijze bg, smalle strip, lifestyle vult niet */
/* Fix: subtiele contrast-elementen zodat ALLE afbeeldingen leesbaar zijn */

/* Inset shadow + border op media-container: maakt witte productfoto's zichtbaar */
body.bs-v4.home .bs4-cat__media {
  box-shadow: inset 0 1px 4px rgba(0,0,0,0.08), inset 0 -1px 2px rgba(0,0,0,0.04) !important;
  border-bottom: 1px solid rgba(0,0,0,0.06) !important;
}

/* Lichte contrast-boost op alle kaarta-fbeeldingen (niet agressief) */
body.bs-v4.home .bs4-cat__media img {
  filter: saturate(1.08) contrast(1.12) brightness(0.98) !important;
}

/* Zekerstellen dat de container-achtergrond altijd zichtbaar is onder de img */
body.bs-v4.home .bs4-cat__media {
  background: linear-gradient(160deg, #f7f6f3 0%, #edeae4 50%, #e8e5de 100%) !important;
}

/* Work Places (smalle strip): object-position boven-centrum om het bureau te tonen */
body.bs-v4.home .bs4-cat__media img[src*="bureau"],
body.bs-v4.home .bs4-cat__media img[src*="400-op"] {
  object-position: center 35% !important;
}

/* K45 lifestyle (breed, vult niet): center + zoom via transform */
body.bs-v4.home .bs4-cat__media img[src*="k45"],
body.bs-v4.home .bs4-cat__media img[src*="K45"],
body.bs-v4.home .bs4-cat__media img[src*="vloerdoos"] {
  object-position: center 50% !important;
  transform: scale(1.08) !important;
}

/* Schakelmateriaal (grijze bg): extra contrast */
body.bs-v4.home .bs4-cat__media img[src*="1-1200x900"],
body.bs-v4.home .bs4-cat__media img[src*="schakel"] {
  filter: saturate(1.15) contrast(1.18) brightness(0.95) !important;
}

/* Hover: iets meer zoom + contrast */
body.bs-v4.home .bs4-cat:hover .bs4-cat__media img {
  transform: scale(1.06) !important;
  filter: saturate(1.12) contrast(1.15) brightness(0.97) !important;
}

/* Mobile: vierkant + extra contrast */
@media (max-width: 768px) {
  body.bs-v4.home .bs4-cat__media {
    aspect-ratio: 1 / 1 !important;
    box-shadow: inset 0 1px 6px rgba(0,0,0,0.1) !important;
  }
}

/* 46_cat_labels_prominent — h3 labels versterkt (2026-09-15) */
/* 46_cat_labels_prominent — versterk h3-labels op categorie-kaarten (score >= 8 target).
   Probleem: labels te subtiel in screenshot; object-fit:cover werkt al, maar tekst contrasteert niet.
   Fix: groter font, bolder weight, subtiele onderstreeplijn. */

body.bs-v4.home .bs4-cat__body h3 {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  margin: 0 0 6px 0 !important;
  line-height: 1.3 !important;
  position: relative;
}

body.bs-v4.home .bs4-cat__body h3::after {
  content: '';
  display: block;
  width: 28px;
  height: 2px;
  background: #c8a97e;
  margin-top: 6px;
  border-radius: 1px;
}

body.bs-v4.home .bs4-cat__body p {
  font-size: 0.85rem !important;
  color: #555 !important;
  line-height: 1.5 !important;
  margin: 0 0 8px 0 !important;
}

body.bs-v4.home .bs4-cat__body .bs4-textlink {
  font-weight: 600 !important;
  font-size: 0.82rem !important;
  color: #c8a97e !important;
}

/* Zorg dat de body-sectie voldoende padding heeft zodat labels niet te dicht bij rand staan */
body.bs-v4.home .bs4-cat__body {
  padding: 16px 20px 20px !important;
  background: #fff !important;
}

/* 47_cta_overflow_fix — text-overflow op menu CTA */
body.bs-v4 .fusion-main-menu>ul>li.bs-cta>a,body.bs-v4 .fusion-main-menu>ul>li.menu-item-167210>a{white-space:nowrap!important;min-width:fit-content!important}
/* PART 39 — Home bs4-cat grid: alignment + K45 Kabelbeheer img fallback */
/* Design-freeze compliant: alleen body.bs-v4.home, geen header/menu/hero */

/* 1. Grid: prevent stretch → cards keep natural height */
body.bs-v4.home .bs4-cats {
  align-items: start;
}

/* 2. Reinforce flex-column on each card (idempotent) */
body.bs-v4.home .bs4-cat {
  display: flex;
  flex-direction: column;
}

/* 3. K45 Kabelbeheer & Panelkits = 3rd tile in the 4-col grid */
/*    Add ::before background-image as visual fallback if <img> fails/renders white */
body.bs-v4.home .bs4-cats > .bs4-cat:nth-child(3) .bs4-cat__media {
  position: relative;
}

body.bs-v4.home .bs4-cats > .bs4-cat:nth-child(3) .bs4-cat__media::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url('/wp-content/uploads/2026/09/simon_136503-1024x909.jpg');
  background-size: cover;
  background-position: center;
  border-radius: inherit;
  z-index: 0;
}

/* Keep the real <img> above the fallback */
body.bs-v4.home .bs4-cats > .bs4-cat:nth-child(3) .bs4-cat__media img {
  position: relative;
  z-index: 1;
}

/* 48_home_cards_uniform_final — DEFINITIEF: uniforme aspect-ratio op ALLE home category tiles (v89).
   Oplost conflicterende 4/3 vs 1/1 aspect-ratio regels uit parts 37-46.
   Dit blok staat LAATST in de cascade en wint over alle eerdere !important-declaraties. */

body.bs-v4.home .bs4-cat__media,
body.bs-v4.home .bs4-cat--lead .bs4-cat__media,
body.bs-v4.home .bs4-cats > .bs4-cat .bs4-cat__media {
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  background: #f5f3f0 !important;
  border-radius: 8px 8px 0 0 !important;
  flex-shrink: 0 !important;
}

body.bs-v4.home .bs4-cat__media img,
body.bs-v4.home .bs4-cat--lead .bs4-cat__media img,
body.bs-v4.home .bs4-cats > .bs4-cat .bs4-cat__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

body.bs-v4.home .bs4-cats > .bs4-cat {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

body.bs-v4.home .bs4-cat__body {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

/* BS-HOME-TILES v2 */

/* ===== HOME TILES v2 — 8-tile grid (mu-plugin home-tiles-fix) ===== */
body.bs-v4 .bs4-cats--8{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px}
@media(max-width:1023px){body.bs-v4 .bs4-cats--8{grid-template-columns:repeat(2,1fr)}}
@media(max-width:599px){body.bs-v4 .bs4-cats--8{grid-template-columns:1fr;gap:16px}}
body.bs-v4 .bs4-cat{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(15,26,43,.09);border-radius:6px;overflow:hidden;text-decoration:none;transition:box-shadow .2s,border-color .2s}
body.bs-v4 .bs4-cat:hover{box-shadow:0 8px 32px rgba(15,26,43,.10);border-color:var(--bs-copper,#b87333)}
body.bs-v4 .bs4-cat__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:#f4f5f7}
body.bs-v4 .bs4-cat__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
body.bs-v4 .bs4-cat:hover .bs4-cat__media img{transform:scale(1.04)}
body.bs-v4 .bs4-cat__body{padding:18px 20px 20px;flex:1;display:flex;flex-direction:column;gap:6px}
body.bs-v4 .bs4-cat__body h3{font-size:16px!important;font-weight:600!important;color:var(--bs-ink,#0f1a2b)!important;margin:0!important;line-height:1.3!important}
body.bs-v4 .bs4-cat__body p{font-size:13px!important;color:var(--bs-graphite,#4a5568)!important;margin:0!important;line-height:1.45!important;flex:1}
body.bs-v4 .bs4-cat__count{font-size:12px;font-weight:500;color:var(--bs-copper,#b87333);margin-top:8px}
/* CSSEOF */

/* ==== HOME 8-TILE GRID (2026-09-15) ==== */
body.bs-v4 .bs4-cats--8{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:32px}
@media(max-width:1023px){body.bs-v4 .bs4-cats--8{grid-template-columns:repeat(2,1fr)}}
@media(max-width:599px){body.bs-v4 .bs4-cats--8{grid-template-columns:1fr}}
body.bs-v4 .bs4-cat{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(15,26,43,.08);border-radius:8px;overflow:hidden;text-decoration:none;transition:box-shadow .2s,transform .2s}
body.bs-v4 .bs4-cat:hover{box-shadow:0 8px 24px rgba(15,26,43,.10);transform:translateY(-2px)}
body.bs-v4 .bs4-cat__media{position:relative;height:160px;overflow:hidden}
body.bs-v4 .bs4-cat__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
body.bs-v4 .bs4-cat:hover .bs4-cat__media img{transform:scale(1.04)}
body.bs-v4 .bs4-cat__body{padding:16px 18px 20px}
body.bs-v4 .bs4-cat__body h3{font-size:15px!important;font-weight:600!important;color:var(--bs-ink)!important;margin:0 0 6px!important}
body.bs-v4 .bs4-cat__body p{font-size:13px!important;color:var(--bs-graphite)!important;margin:0!important;line-height:1.5}
/* ==== /HOME 8-TILE GRID ==== */
/* ============================================================
   Part 49 — Homepage Proporties & Foto-mapping (2026-09-15)
   Scope: body.bs-v4 ONLY
   Doel: uniforme sectiebreedtes, aspect-ratio op images,
         consistente grid-gaps. Geen locked selectors.
   ============================================================ */

/* --- Uniforme max-width over alle homepage-secties --- */
body.bs-v4 .bs4-cats,
body.bs-v4 .bs4-promise,
body.bs-v4 .bs4-b2b,
body.bs-v4 .bs4-section {
    max-width: 1560px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

/* --- Categorie-tiles: uniforme grid + aspect-ratio --- */
body.bs-v4 .bs4-cats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    padding: clamp(24px, 3vw, 56px);
}

body.bs-v4 .bs4-cats a,
body.bs-v4 .bs4-cats .bs4-cat {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 8px;
    position: relative;
}

body.bs-v4 .bs4-cats img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* --- Product-kaarten (featured / vaakst besteld): uniforme grid --- */
body.bs-v4 .bs4-prods,
body.bs-v4 .bs4-featured,
body.bs-v4 .products,
body.bs-v4 ul.products {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    max-width: 1560px;
    margin-left: auto;
    margin-right: auto;
    list-style: none;
    padding: 0 clamp(24px, 3vw, 56px);
}

body.bs-v4 .bs4-prods li,
body.bs-v4 .bs4-featured li {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 6px;
    position: relative;
}
/* feedback 2026-11-03: productkaart niet vierkant knijpen (titel/prijs vielen buiten de kaart) */
body.bs-v4 ul.products li.product {
    width: 100%;
    aspect-ratio: auto;
    overflow: visible;
    border-radius: 6px;
    position: relative;
}

body.bs-v4 .bs4-prods img,
body.bs-v4 .bs4-featured img,
body.bs-v4 ul.products li.product img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

/* --- B2B-sectie: uniforme breedte + image aspect --- */
body.bs-v4 .bs4-b2b__inner {
    max-width: 1560px;
    margin-left: auto;
    margin-right: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}

body.bs-v4 .bs4-b2b img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 8px;
    display: block;
}

/* --- Sectie-koppen: consistent padding --- */
body.bs-v4 .bs4-section__head {
    max-width: 1560px;
    margin-left: auto;
    margin-right: auto;
    padding: 48px clamp(24px, 3vw, 56px) 16px;
}

/* --- Mobile overrides (<=768px) --- */
@media (max-width: 768px) {
    body.bs-v4 .bs4-cats {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
    body.bs-v4 .bs4-prods,
    body.bs-v4 .bs4-featured,
    body.bs-v4 ul.products {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    body.bs-v4 .bs4-b2b__inner {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}

@media (max-width: 480px) {
    body.bs-v4 .bs4-cats {
        grid-template-columns: 1fr;
    }
    body.bs-v4 .bs4-prods,
    body.bs-v4 .bs4-featured,
    body.bs-v4 ul.products {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* === Part 50: Homepage Proporties Fix (2026-09-15) === */
/* ============================================================
   Part 50 — Homepage Proporties CORRECTION (2026-09-15)
   Targett ACTUELE DOM classes uit biselect-home-tiles plugin.
   Override dubbele padding van tiles.css + uniforme breedtes.
   Scope: body.bs-v4 ONLY. Geen locked selectors.
   ============================================================ */

/* --- Override tiles.css dubbele padding op .bs4-cats --- */
body.bs-v4 .bs4-cats {
    padding: 0 !important;
}

/* --- ECHTE container: .bs4-cats-inner (uniforme max-width) --- */
body.bs-v4 .bs4-cats-inner {
    max-width: 1560px !important;
    margin-left: auto;
    margin-right: auto;
    padding: 48px clamp(20px, 3vw, 48px) !important;
}

/* --- ECHTE grid: .bs4-cats-grid (uniforme 4-kolom) --- */
body.bs-v4 .bs4-cats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

/* --- Categorie-tile afbeelding: aspect-ratio + cover --- */
body.bs-v4 .bs4-cat-img {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 8px;
    display: block;
    position: relative;
}

body.bs-v4 .bs4-cat-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* --- Promise-bar: uniforme breedte, 4 kolommen --- */
body.bs-v4 .bs4-promise {
    max-width: 1560px;
    margin-left: auto;
    margin-right: auto;
    padding: 20px clamp(20px, 3vw, 48px);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    background: #fff;
}

body.bs-v4 .bs4-promise__item {
    text-align: center;
    font-size: 0.875rem;
    line-height: 1.4;
}

/* --- Product-kaarten: .bs4-prod__media (aspect + cover) --- */
body.bs-v4 .bs4-prod__media {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 6px;
    display: block;
}

body.bs-v4 .bs4-prod__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

/* --- B2B-sectie: uniforme breedte --- */
body.bs-v4 .bs4-b2b {
    max-width: 1560px;
    margin-left: auto;
    margin-right: auto;
    padding: 48px clamp(20px, 3vw, 48px);
}

body.bs-v4 .bs4-b2b__inner {
    max-width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}

body.bs-v4 .bs4-b2b__media img,
body.bs-v4 .bs4-people__media img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 8px;
    display: block;
}

/* --- People-sectie: uniforme breedte --- */
body.bs-v4 .bs4-people {
    max-width: 1560px;
    margin-left: auto;
    margin-right: auto;
    padding: 48px clamp(20px, 3vw, 48px);
}

/* --- Mobile (<=768px) --- */
@media (max-width: 768px) {
    body.bs-v4 .bs4-cats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
    }
    body.bs-v4 .bs4-promise {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        padding: 16px 20px;
    }
    body.bs-v4 .bs4-b2b__inner {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}

/* --- Small mobile (<=480px) --- */
@media (max-width: 480px) {
    body.bs-v4 .bs4-cats-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    body.bs-v4 .bs4-promise {
        grid-template-columns: 1fr;
        padding: 12px 16px;
    }
}

/** PART 92: Home proporties (2026-09-15) */
/* Part 92: Home proporties — image aspect-ratio + uniforme object-fit (2026-09-15) */
/* Scope: body.bs-v4 only. Geen locked selectors. */

/* Categorie-tiles: uniforme 4:3 aspect ratio, cover crop */
body.bs-v4 .bs4-cat-img {
  overflow: hidden;
  border-radius: 8px;
}
body.bs-v4 .bs4-cat-img img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Productkaarten: uniforme 4:3 aspect ratio, cover crop */
body.bs-v4 .bs4-prod__media {
  overflow: hidden;
  border-radius: 8px;
}
body.bs-v4 .bs4-prod__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Cats-grid: uniforme gap (bestaat al in base CSS, versterk hier) */
body.bs-v4 .bs4-cats-grid {
  gap: clamp(16px, 2vw, 28px);
  align-items: stretch;
}
body.bs-v4 .bs4-cat-tile {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

/* Prods-grid: uniforme gap */
body.bs-v4 .bs4-prods {
  gap: clamp(16px, 2vw, 28px);
  align-items: stretch;
}
body.bs-v4 .bs4-prod {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

/* Mobile: 2 cols cats, 2 cols prods */
@media (max-width: 1024px) {
  body.bs-v4 .bs4-cats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.bs-v4 .bs4-prods { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  body.bs-v4 .bs4-cats-grid { grid-template-columns: 1fr; }
  body.bs-v4 .bs4-prods { grid-template-columns: 1fr; }
}
/* ============================================================
   PART 93 — Home release: houding, verhoudingen, mobiel-fix
   Datum: 2026-09-15 | Task: P0 homepage release-track 24u
   Scope: cat-tiles, people, b2b, mobile gaps. NIET hero/header/menu.
   ============================================================ */

/* --- CAT TILES: uniforme kaarthoogtes + object-fit cover --- */
body.bs-v4 .bs4-cats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

body.bs-v4 .bs4-cat-tile {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--bs-mist, #e5e5e5);
  overflow: hidden;
  text-decoration: none !important;
  color: inherit;
  transition: border-color .2s ease, box-shadow .2s ease;
}

body.bs-v4 .bs4-cat-tile:hover {
  border-color: var(--bs-ink, #1a1a1a);
  box-shadow: 0 4px 16px rgba(0,0,0,.06);
}

body.bs-v4 .bs4-cat-img {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fafafa;
  flex-shrink: 0;
}

body.bs-v4 .bs4-cat-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  mix-blend-mode: normal;
}

body.bs-v4 .bs4-cat-label {
  padding: 14px 16px 2px;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.35;
  color: var(--bs-ink, #1a1a1a);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.bs-v4 .bs4-cat-count {
  padding: 2px 16px 14px;
  font-size: 12px;
  line-height: 1.4;
  color: var(--bs-slate, #777);
}

/* --- PEOPLE SECTION: image vult container, geen crop van onderwerp --- */
body.bs-v4 .bs4-people {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 0;
  background: #fff;
  border-top: 1px solid var(--bs-mist, #e5e5e5);
}

body.bs-v4 .bs4-people__media {
  overflow: hidden;
  min-height: 480px;
  position: relative;
}

body.bs-v4 .bs4-people__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;
  display: block;
}

body.bs-v4 .bs4-people__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(48px, 6vw, 96px) clamp(28px, 5vw, 80px);
}

/* --- B2B SECTION: image sizing + text balance --- */
body.bs-v4 .bs4-b2b {
  background: var(--bs-ink, #1a1a1a);
  color: #fff;
  padding: clamp(64px, 7vw, 104px) clamp(28px, 5vw, 80px);
}

body.bs-v4 .bs4-b2b__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 4vw, 64px);
  align-items: center;
  max-width: 1440px;
  margin: 0 auto;
}

body.bs-v4 .bs4-b2b__media {
  overflow: hidden;
  border-radius: 4px;
  aspect-ratio: 4 / 3;
}

body.bs-v4 .bs4-b2b__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

/* --- MOBILE FIXES (≤860px) --- */
@media (max-width: 860px) {
  body.bs-v4 .bs4-cats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }

  body.bs-v4 .bs4-cat-img {
    aspect-ratio: 1 / 1;
  }

  body.bs-v4 .bs4-people {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  body.bs-v4 .bs4-people__media {
    min-height: 0;
    aspect-ratio: 16 / 10;
  }

  body.bs-v4 .bs4-people__media img {
    position: relative;
    object-position: center 40%;
  }

  body.bs-v4 .bs4-people__text {
    padding: 32px 24px;
  }

  body.bs-v4 .bs4-b2b__inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  body.bs-v4 .bs4-b2b__media {
    aspect-ratio: 16 / 9;
    order: -1;
  }

  body.bs-v4 .bs4-b2b {
    padding: 48px 20px;
  }
}

/* --- SMALL MOBILE (≤480px) --- */
@media (max-width: 480px) {
  body.bs-v4 .bs4-cats-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  body.bs-v4 .bs4-cat-img {
    aspect-ratio: 4 / 3;
  }

  body.bs-v4 .bs4-cat-label {
    font-size: 15px;
    white-space: normal;
  }

  body.bs-v4 .bs4-people__text {
    padding: 28px 20px;
  }

  body.bs-v4 .bs4-b2b {
    padding: 36px 16px;
  }

  body.bs-v4 .bs4-b2b__media {
    aspect-ratio: 4 / 3;
  }
}
/* 42_home_release_houding_verhoudingen — Homepage release track (2026-09-15)
   Fixes: product grid (no .bs4-prods wrapper in DOM), uniform card heights,
   consistent gaps, mobile white-gap/overlap/clipped-text.
   Scope: body.bs-v4.home only. Does NOT touch hero/header/menu (design freeze). */

/* === PRODUCT GRID: create grid on actual parent div via :has() === */
body.bs-v4.home .bs4-section > div:has(> .bs4-prod) {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  align-items: start;
}

/* Cats section spans full width within the parent grid */
body.bs-v4.home .bs4-section > div:has(> .bs4-prod) > .bs4-cats {
  grid-column: 1 / -1;
}

/* === UNIFORM PRODUCT CARDS: equal height, no stretch === */
body.bs-v4.home .bs4-prod {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

body.bs-v4.home .bs4-prod__media {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #f7f5f2;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

body.bs-v4.home .bs4-prod__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  mix-blend-mode: multiply;
  display: block;
}

body.bs-v4.home .bs4-prod__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 16px 18px 20px;
  min-height: 0;
}

body.bs-v4.home .bs4-prod__body h3 {
  font-size: 15px !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

body.bs-v4.home .bs4-prod__price {
  margin-top: auto;
}

/* === UNIFORM CATEGORY TILES: equal height, cover-crop === */
body.bs-v4.home .bs4-cat-tile {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}

body.bs-v4.home .bs4-cat-img {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #f7f5f2;
  flex-shrink: 0;
}

body.bs-v4.home .bs4-cat-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

body.bs-v4.home .bs4-cat-label {
  flex: 1;
  padding: 14px 16px;
  overflow-wrap: break-word;
}

/* === CONSISTENT GRID GAPS === */
body.bs-v4.home .bs4-cats {
  gap: 20px;
}

/* === MOBILE ≤860px: 2-col products, tighter gaps === */
@media (max-width: 860px) {
  body.bs-v4.home .bs4-section > div:has(> .bs4-prod) {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
  body.bs-v4.home .bs4-prod__media {
    aspect-ratio: 1 / 1;
  }
  body.bs-v4.home .bs4-cat-img {
    aspect-ratio: 4 / 3;
  }
  body.bs-v4.home .bs4-cat-tile {
    height: auto;
  }
}

/* === SMALL MOBILE ≤480px: 1-col, fix white gaps/overlap/clipped text === */
@media (max-width: 480px) {
  body.bs-v4.home .bs4-section > div:has(> .bs4-prod) {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  body.bs-v4.home .bs4-prod__body {
    padding: 12px 14px 16px;
  }
  body.bs-v4.home .bs4-prod__body h3 {
    -webkit-line-clamp: 3;
    font-size: 14px !important;
  }
  body.bs-v4.home .bs4-cat-img {
    aspect-ratio: 1 / 1;
  }
  body.bs-v4.home .bs4-cat-label {
    padding: 12px 14px;
    font-size: 14px;
  }
  body.bs-v4.home .bs4-prod__body,
  body.bs-v4.home .bs4-cat-label {
    overflow-wrap: break-word;
    word-break: break-word;
  }
}

/* 43_home_release_grid_fix — Homepage release track (2026-09-15)
   ROOT CAUSE: products zijn directe kinderen van <section.bs4-section>,
   GEEN <div> wrapper. Part 42's :has() selector matcht niet.
   Fix: grid op .bs4-section zelf; header + cats span full-width.
   Scope: body.bs-v4.home only. Design-freeze intact (hero/header/menu onaangetast). */

/* === PRODUCT GRID: apply to ACTUAL parent (.bs4-section) === */
body.bs-v4.home .bs4-section {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  align-items: start;
}

/* Header en cats span full-width within the grid */
body.bs-v4.home .bs4-section > header {
  grid-column: 1 / -1;
}
body.bs-v4.home .bs4-section > section,
body.bs-v4.home .bs4-section > .bs4-cats {
  grid-column: 1 / -1;
}

/* === PRODUCT CARDS: uniform height, contain (no crop) === */
body.bs-v4.home .bs4-prod {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--bs-mist);
  text-decoration: none !important;
  transition: border-color .2s, transform .2s;
  min-height: 0;
}
body.bs-v4.home .bs4-prod:hover {
  border-color: var(--bs-ink);
  transform: translateY(-2px);
}

/* Media: 1:1 aspect, contain (product shots are 300x300 white-bg) */
body.bs-v4.home .bs4-prod__media {
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: #fff;
  border-bottom: 1px solid var(--bs-mist);
  overflow: hidden;
  flex-shrink: 0;
}
body.bs-v4.home .bs4-prod__media img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: center center;
  mix-blend-mode: multiply;
  display: block;
}

/* Body: flex column, price pinned bottom */
body.bs-v4.home .bs4-prod__body {
  padding: 16px 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
  min-height: 0;
}
body.bs-v4.home .bs4-prod__body h3 {
  font-size: 15px !important;
  line-height: 1.4 !important;
  color: var(--bs-ink) !important;
  margin: 0 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
body.bs-v4.home .bs4-prod__cat {
  font: 500 11px/1 var(--bs-font);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--bs-slate);
}
body.bs-v4.home .bs4-prod__price,
body.bs-v4.home .bs4-prod__price .amount {
  font: 500 16px var(--bs-font) !important;
  color: var(--bs-ink) !important;
  margin-top: auto;
}

/* === CATEGORY TILES: uniform, cover-crop === */
body.bs-v4.home .bs4-cat-tile {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  text-decoration: none !important;
}
body.bs-v4.home .bs4-cat-img {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #f7f5f2;
  flex-shrink: 0;
}
body.bs-v4.home .bs4-cat-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}
body.bs-v4.home .bs4-cat-label {
  flex: 1;
  padding: 14px 16px 10px;
  overflow-wrap: break-word;
  font-weight: 600;
}
body.bs-v4.home .bs4-cat-count {
  padding: 0 16px 14px;
  font-size: 13px;
  color: var(--bs-slate);
}

/* === MOBILE ≤860px: 2-col, tighter gaps === */
@media (max-width: 860px) {
  body.bs-v4.home .bs4-section {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
  body.bs-v4.home .bs4-prod__media {
    padding: 16px;
  }
  body.bs-v4.home .bs4-cat-img {
    aspect-ratio: 3 / 2;
  }
}

/* === MOBILE ≤480px: 1-col products, full-width cats === */
@media (max-width: 480px) {
  body.bs-v4.home .bs4-section {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  body.bs-v4.home .bs4-cat-tile {
    flex-direction: row;
    align-items: center;
  }
  body.bs-v4.home .bs4-cat-img {
    width: 40%;
    aspect-ratio: 1 / 1;
  }
  body.bs-v4.home .bs4-cat-label,
  body.bs-v4.home .bs4-cat-count {
    padding: 8px 12px;
  }
}
/* ============================================================
   Part 51 — Homepage Proporties + Foto-mapping FIX (2026-09-15)
   Targeteert PLUGIN biselect-home-tiles classes (niet child-theme).
   Scope: body.bs-v4 ONLY. Design-freeze compliant (append only).
   ============================================================ */

/* --- CATEGORIE-TILES (plugin: .bs4-cat-tile / .bs4-cat-img) --- */
body.bs-v4 .bs4-cats {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
}

body.bs-v4 .bs4-cats-grid,
body.bs-v4 .bs4-cat-tiles {
    width: 100% !important;
    max-width: 1560px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 48px clamp(20px, 3vw, 48px) !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
}

body.bs-v4 .bs4-cat-tile {
    display: block !important;
    text-decoration: none !important;
    background: #fff !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

body.bs-v4 .bs4-cat-tile:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.10) !important;
}

body.bs-v4 .bs4-cat-img {
    position: relative !important;
    aspect-ratio: 4 / 3 !important;
    overflow: hidden !important;
    display: block !important;
    width: 100% !important;
}

body.bs-v4 .bs4-cat-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
}

body.bs-v4 .bs4-cat-label {
    padding: 14px 16px 6px !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    text-align: center !important;
}

body.bs-v4 .bs4-cat-count {
    padding: 0 16px 14px !important;
    font-size: 0.8rem !important;
    color: #777 !important;
    text-align: center !important;
}

/* --- PROMISE SECTION --- */
body.bs-v4 .bs4-promise {
    width: 100% !important;
    max-width: 1560px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 24px clamp(20px, 3vw, 48px) !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px !important;
    background: #fff !important;
}

body.bs-v4 .bs4-promise__item {
    text-align: center !important;
    font-size: 0.875rem !important;
    line-height: 1.4 !important;
    color: #333 !important;
}

/* --- PRODUCT BLOKKEN (featured products) --- */
body.bs-v4 .bs4-prod__media,
body.bs-v4 ul.products li.product .images {
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    border-radius: 6px !important;
    display: block !important;
}

body.bs-v4 .bs4-prod__media img,
body.bs-v4 ul.products li.product .images img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
    display: block !important;
}

/* --- B2B SECTION --- */
body.bs-v4 .bs4-b2b {
    width: 100% !important;
    max-width: 1560px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 48px clamp(20px, 3vw, 48px) !important;
}

body.bs-v4 .bs4-b2b__inner {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 40px !important;
    align-items: center !important;
}

body.bs-v4 .bs4-b2b__media img,
body.bs-v4 .bs4-people__media img {
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    display: block !important;
}

/* --- PEOPLE SECTION --- */
body.bs-v4 .bs4-people {
    width: 100% !important;
    max-width: 1560px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 48px clamp(20px, 3vw, 48px) !important;
}

/* --- MOBIEL (max-width 768px) --- */
@media (max-width: 768px) {
    body.bs-v4 .bs4-cats-grid,
    body.bs-v4 .bs4-cat-tiles {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
        padding: 24px 16px !important;
    }

    body.bs-v4 .bs4-promise {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
        padding: 16px !important;
    }

    body.bs-v4 .bs4-b2b__inner {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }

    body.bs-v4 .bs4-cat-label {
        font-size: 0.85rem !important;
        padding: 10px 12px 4px !important;
    }

    body.bs-v4 .bs4-cat-count {
        padding: 0 12px 10px !important;
    }
}

@media (max-width: 480px) {
    body.bs-v4 .bs4-cats-grid,
    body.bs-v4 .bs4-cat-tiles {
        grid-template-columns: 1fr !important;
    }

    body.bs-v4 .bs4-promise {
        grid-template-columns: 1fr !important;
    }
}

/* ============================================================
   PART 52 — Homepage Proporties & Image Houding
   Scoped: body.bs-v4 | Date: 2026-09-15
   Doel: uniforme tile-verhoudingen, correcte crop, geen rekken
   ============================================================ */

/* --- Categorie-tiles: uniforme aspect-ratio + crop --- */
body.bs-v4 .bs4-cat-tile {
    aspect-ratio: 4 / 3;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #f8f8f8;
}

body.bs-v4 .bs4-cat-img,
body.bs-v4 .bs4-cat-tile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}

/* --- Tile-grid: uniforme kolommen --- */
body.bs-v4 .bs4-cats-grid,
body.bs-v4 .bs4-cat-tiles {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    align-items: stretch;
}

@media (max-width: 1024px) {
    body.bs-v4 .bs4-cats-grid,
    body.bs-v4 .bs4-cat-tiles {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    body.bs-v4 .bs4-cats-grid,
    body.bs-v4 .bs4-cat-tiles {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
}

/* --- Promise-sectie: vaste hoogte, geen rekken --- */
body.bs-v4 .bs4-promise {
    min-height: 280px;
    display: flex;
    align-items: center;
}

body.bs-v4 .bs4-promise img {
    object-fit: cover;
    object-position: center;
    max-height: 260px;
    width: auto;
    max-width: 100%;
}

/* --- People-sectie: natuurlijke verhouding behouden --- */
body.bs-v4 .bs4-people img {
    object-fit: cover;
    object-position: center top;
    aspect-ratio: 3 / 2;
    width: 100%;
}

/* --- B2B-blok: image niet rekken --- */
body.bs-v4 .bs4-b2b__inner img {
    object-fit: cover;
    object-position: center;
    max-height: 300px;
    width: 100%;
}

/* --- Hero-image (bestaand, alleen crop-fix als nodig) --- */
body.bs-v4 .bs4-hero img {
    object-fit: cover;
    object-position: center;
}

/* ============================================================
   PART 52 — Homepage Proporties & Image Houding
   Scoped: body.bs-v4 | Date: 2026-09-15
   Doel: uniforme tile-verhoudingen, correcte crop, geen rekken
   ============================================================ */

/* --- Categorie-tiles: uniforme aspect-ratio + cover-crop --- */
body.bs-v4 .bs4-cat-tile {
    aspect-ratio: 4 / 3;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #f5f5f5;
}

body.bs-v4 .bs4-cat-img,
body.bs-v4 .bs4-cat-tile img {
    width: 100%;
    height: 65%;
    object-fit: cover;
    object-position: center center;
    flex-shrink: 0;
}

body.bs-v4 .bs4-cat-label,
body.bs-v4 .bs4-cat-count {
    padding: 10px 14px;
    line-height: 1.3;
}

body.bs-v4 .bs4-cat-label {
    font-size: 0.95rem;
    font-weight: 600;
    color: #1a1a1a;
}

body.bs-v4 .bs4-cat-count {
    font-size: 0.8rem;
    color: #666;
    margin-top: 2px;
}

/* --- Categorie-grid: uniforme kolommen --- */
body.bs-v4 .bs4-cats-grid,
body.bs-v4 .bs4-cat-tiles {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
}

/* --- Promise-sectie: ruime witruimte + afbeelding-houding --- */
body.bs-v4 .bs4-promise {
    padding: 60px 20px;
    max-width: 1200px;
    margin: 0 auto;
}

body.bs-v4 .bs4-promise img,
body.bs-v4 .bs4-people img {
    width: 100%;
    max-height: 480px;
    object-fit: cover;
    object-position: center 30%;
    border-radius: 4px;
}

/* --- B2B-blok: consistent --- */
body.bs-v4 .bs4-b2b__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 50px 20px;
}

/* --- Featured-producten: uniforme cards --- */
body.bs-v4 .bs4-featured img,
body.bs-v4 .bs4-product-card img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center center;
}

/* --- MOBIEL 390px: tiles 2-koloms, compactere padding --- */
@media (max-width: 768px) {
    body.bs-v4 .bs4-cats-grid,
    body.bs-v4 .bs4-cat-tiles {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        padding: 24px 12px;
    }

    body.bs-v4 .bs4-cat-tile {
        aspect-ratio: 3 / 4;
    }

    body.bs-v4 .bs4-cat-img,
    body.bs-v4 .bs4-cat-tile img {
        height: 70%;
    }

    body.bs-v4 .bs4-cat-label {
        font-size: 0.85rem;
        padding: 8px 10px;
    }

    body.bs-v4 .bs4-promise,
    body.bs-v4 .bs4-b2b__inner {
        padding: 36px 12px;
    }

    body.bs-v4 .bs4-promise img,
    body.bs-v4 .bs4-people img {
        max-height: 280px;
    }
}

/* --- MOBIEL 390px: featured producten 1-koloms --- */
@media (max-width: 480px) {
    body.bs-v4 .bs4-cats-grid,
    body.bs-v4 .bs4-cat-tiles {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    body.bs-v4 .bs4-cat-tile {
        aspect-ratio: 1 / 1;
    }
}
/* ============================================================
   PART 52: Home Proporties Fix — 2026-09-16
   Task: task_90173f2c001f (operator-vraag 17:09)
   Fix: bs4-cats left=850 offset, bs4-prod width=755, mobile header/menu
   Scoped: body.bs-v4 — locked selectors NIET aangeraakt
   ============================================================ */

/* --- FIX 1: section.bs4-cats full-width (was left=850 in 2-col grid) --- */
body.bs-v4 section.bs4-cats {
  margin-left: 0 !important;
  padding-left: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  grid-column: 1 / -1;
  position: relative;
}

/* --- FIX 2: cats-grid uniforme 4-kolom grid --- */
body.bs-v4 .bs4-cats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  width: 100%;
  max-width: 100%;
}

/* --- FIX 3: cat-tile aspect-ratio + object-fit --- */
body.bs-v4 .bs4-cat-tile {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 8px;
}
body.bs-v4 .bs4-cat-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* --- FIX 4: productkaarten in grid (was 755px full-width) --- */
body.bs-v4 section.bs4-section {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 24px;
}
body.bs-v4 .bs4-prod {
  max-width: 100%;
  width: 100%;
}
body.bs-v4 .bs4-prod__media {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 6px;
}
body.bs-v4 .bs4-prod__media img,
body.bs-v4 .bs4-prod__media .attachment-woocommerce_thumbnail {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* --- FIX 5: Mobile (≤768px) — grid aanpassen --- */
@media (max-width: 768px) {
  body.bs-v4 .bs4-cats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  body.bs-v4 section.bs4-section {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  body.bs-v4 .bs4-cat-tile {
    aspect-ratio: 1 / 1;
  }
}

/* --- FIX 6: Mobile header zichtbaarheid + menu z-index --- */
@media (max-width: 768px) {
  body.bs-v4 .fusion-header-wrapper,
  body.bs-v4 #main-nav,
  body.bs-v4 .fusion-main-menu {
    position: relative;
    z-index: 1000;
  }
  body.bs-v4 .fusion-main-menu .fusion-dropdown-menu {
    z-index: 999;
  }
}

/* --- FIX 7: Whitespace onderaan pagina elimineren --- */
body.bs-v4 .bs3.bs4 {
  padding-bottom: 0;
}
body.bs-v4 section:last-of-type {
  margin-bottom: 0;
}
/* ============================================================
   PART 53: Home Proporties CORRECTED — 2026-09-16
   Task: task_90173f2c001f (operator-vraag 17:09)
   Override Part 52's broken width:100% on grid items.
   Root cause: section.bs4-cats in .bs4-section (4-col grid) was
   spanning only 2 cols → left=850 offset. Fix: span all cols,
   NO explicit width (let grid determine size).
   Scoped: body.bs-v4 — locked selectors NIET aangeraakt.
   ============================================================ */

/* --- OVERRIDEN Part 52: geen width:100% op grid-items --- */
body.bs-v4 section.bs4-cats {
  grid-column: 1 / -1 !important;
  min-width: 0 !important;
  max-width: none !important;
  width: auto !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
  position: relative;
}

/* --- cats-grid: volle breedte van parent section --- */
body.bs-v4 .bs4-cats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}

/* --- cat-tile: aspect-ratio + object-fit cover --- */
body.bs-v4 .bs4-cat-tile {
  aspect-ratio: 4 / 3 !important;
  overflow: hidden;
  border-radius: 8px;
  min-width: 0;
}
body.bs-v4 .bs4-cat-tile img,
body.bs-v4 .bs4-cat-img,
body.bs-v4 .bs4-cat__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
}

/* --- Productsectie: .bs4-prod kaarten in nette grid --- */
body.bs-v4 .bs4-prod {
  max-width: 100% !important;
  min-width: 0;
}
body.bs-v4 .bs4-prod img,
body.bs-v4 .bs4-prod__media img,
body.bs-v4 .bs4-prod .attachment-woocommerce_thumbnail {
  width: 100% !important;
  height: auto !important;
  max-height: 280px;
  object-fit: cover !important;
  display: block;
}

/* --- Mobile ≤768px: 2-kolom grid, compactere tiles --- */
@media (max-width: 768px) {
  body.bs-v4 section.bs4-cats {
    grid-column: 1 / -1 !important;
    width: auto !important;
  }
  body.bs-v4 .bs4-cats-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  body.bs-v4 .bs4-cat-tile {
    aspect-ratio: 1 / 1 !important;
  }
}

/* --- Mobile header: z-index + visibility fix --- */
@media (max-width: 768px) {
  body.bs-v4 .fusion-header-wrapper,
  body.bs-v4 #main-nav,
  body.bs-v4 .fusion-slider-wrap,
  body.bs-v4 .fusion-main-menu {
    z-index: 9999 !important;
    position: relative;
  }
  body.bs-v4 .fusion-dropdown-menu {
    z-index: 9998 !important;
  }
  /* Voorkom dat content onder het menu verdwijnt */
  body.bs-v4 .fusion-content-wrapper {
    position: relative;
    z-index: 1;
  }
}

/* --- Whitespace onderaan: laatste section margin kill --- */
body.bs-v4 .bs3.bs4 > .bs3-row:last-child,
body.bs-v4 .bs3.bs4 > section:last-of-type {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
/* PART 33 — CTA defensive overflow (2026-09-16) */
body.bs-v4 .fusion-main-menu>ul>li.bs-cta>a,
body.bs-v4 .fusion-main-menu>ul>li.menu-item-167210>a {
  max-width: none !important;
  overflow: visible !important;
}

/* PART 94 — CTA overflow fix @1440px (2026-09-15)
   Root cause: .fusion-main-menu width(1361px)+left(202px)=1563px > 1440px viewport.
   Fix: reduce inter-item padding 12→8px (saves ~40px) + CTA margin 10→6px (saves 4px).
   Design-lock compliance: operator locked button height(40px), labels, colors — NOT spacing. */
body.bs-v4 .fusion-main-menu > ul > li > a {
    padding: 0 8px !important;
}
body.bs-v4 .fusion-main-menu > ul > li.bs-cta > a,
body.bs-v4 .fusion-main-menu > ul > li.menu-item-167210 > a {
    margin-left: 6px !important;
}

/* === Part 93: Homepage proportions (2026-09-16) === */

/* Part 93 body — Homepage proportions (2026-09-16) */
/* Targets: child-theme BEM classes (.bs4-cats, .bs4-cat, .bs4-cat__media) */

body.bs-v4 .bs4-cats {
  max-width: 1560px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  padding: 0 24px;
}

body.bs-v4 .bs4-cat {
  display: flex;
  flex-direction: column;
  border-radius: 8px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
}

body.bs-v4 .bs4-cat--lead {
  grid-column: span 2;
  grid-row: span 2;
}

body.bs-v4 .bs4-cat__media {
  aspect-ratio: 4 / 3;
  width: 100%;
  overflow: hidden;
  flex-shrink: 0;
}

body.bs-v4 .bs4-cat--lead .bs4-cat__media {
  aspect-ratio: 4 / 3;
}

body.bs-v4 .bs4-cat__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

body.bs-v4 .bs4-cat__body {
  padding: 14px 16px;
  flex: 1;
}

/* Product blocks (bs4-prod) — 1/1 ratio */
body.bs-v4 .bs4-prod img,
body.bs-v4 .bs4-prod__img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  width: 100%;
}

/* B2B / People sections — 16/9 media */
body.bs-v4 .bs4-promise img,
body.bs-v4 .bs4-people img,
body.bs-v4 .bs4-b2b img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  width: 100%;
}

/* Mobile: 2-col grid */
@media (max-width: 768px) {
  body.bs-v4 .bs4-cats {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    padding: 0 16px;
  }
  body.bs-v4 .bs4-cat--lead {
    grid-column: span 2;
    grid-row: span 1;
  }
}

/* Tablet: 3-col */
@media (min-width: 769px) and (max-width: 1024px) {
  body.bs-v4 .bs4-cats {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* === PART 54: Homepage D1+D2+D3 consolidated fix (2026-09-16) === */
/* D1: Mobile header @<=768px — logo/search/cart MOETEN zichtbaar zijn */
@media (max-width: 768px) {
  body.bs-v4 .fusion-header-wrapper {
    position: relative !important;
    z-index: 9999 !important;
    min-height: 52px !important;
    background: #fff !important;
  }
  body.bs-v4 .fusion-header-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 10px 16px !important;
    min-height: 52px !important;
  }
  body.bs-v4 .fusion-logo,
  body.bs-v4 .fusion-mobile-logo {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  body.bs-v4 .fusion-logo img,
  body.bs-v4 .fusion-mobile-logo img {
    max-height: 32px !important;
    width: auto !important;
    display: block !important;
  }
  /* Hide desktop menu on mobile (it's zero-width anyway) */
  body.bs-v4 .fusion-main-menu {
    display: none !important;
  }
  /* Show ANY mobile trigger that exists */
  body.bs-v4 [class*="mobile-trigger"],
  body.bs-v4 [class*="nav-mobile"],
  body.bs-v4 [class*="hamburger"],
  body.bs-v4 .fusion-nav-mobile-trigger {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
    min-width: 36px !important;
    min-height: 36px !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
  }
  /* Ensure search + cart icons visible */
  body.bs-v4 .fusion-main-menu-search,
  body.bs-v4 .fusion-custom-menu-item-cart {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* D2: Desktop @>=769px — .bs4-cats must fill full container width */
@media (min-width: 769px) {
  /* Break the 4-col grid that traps .bs4-cats as a grid-item */
  body.bs-v4 .bs4-section:has(> .bs4-cats) {
    display: block !important;
    grid-template-columns: none !important;
  }
  body.bs-v4 section.bs4-cats {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    grid-column: auto !important;
  }
  /* Vertical gap: eliminate large whitespace between sections */
  body.bs-v4 .bs4-section {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  body.bs-v4 .bs4-section__head {
    margin-bottom: 20px !important;
    padding-bottom: 0 !important;
  }
}

/* D3: Hide product cards with empty media (dummy/test data) */
body.bs-v4 .bs4-prod:has(.bs4-prod__media:empty) {
  display: none !important;
}
/* Fallback for browsers without :has() — hide if title contains "Test SKU" */
@supports not selector(:has(*)) {
  body.bs-v4 .bs4-prod h3:contains("Test SKU") {
    display: none;
  }
}
/* === END PART 54 === */
/* ARCHITECT-DFIX 2026-09-16 */
/* D1: Mobile header visibility @<=768px — ensure logo + mobile-menu are visible above all */
@media (max-width: 768px) {
  body.bs-v4 .fusion-header-wrapper {
    position: relative !important;
    z-index: 9999 !important;
    min-height: 56px;
    background: #fff;
    overflow: visible !important;
  }
  body.bs-v4 .fusion-logo,
  body.bs-v4 .fusion-logo img,
  body.bs-v4 .fusion-logo a {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative;
    z-index: 10000 !important;
  }
  body.bs-v4 .fusion-mobile-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative;
    z-index: 10000 !important;
  }
  /* Ensure header bar (top utility) doesn't overlap */
  body.bs-v4 .fusion-header-bar {
    position: relative;
    z-index: 9998;
  }
}

/* D2-HORIZ: Desktop @>=769px — .bs4-prods must fill its parent section (was 323px in 1440px) */
@media (min-width: 769px) {
  /* The parent section may be display:grid trapping .bs4-prods as a narrow grid-item */
  body.bs-v4 .bs4-section:has(> .bs4-prods),
  body.bs-v4 .bs4-section--tint:has(> .bs4-prods) {
    display: block !important;
    grid-template-columns: none !important;
  }
  /* .bs4-prods itself: full-width 4-col grid */
  body.bs-v4 .bs4-prods {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }
}

/* D2-VERT: Reduce vertical gap between promise/usp and next section */
@media (min-width: 769px) {
  body.bs-v4 .bs4-promise {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
  body.bs-v4 .bs4-promise + .bs4-section,
  body.bs-v4 .bs4-hero + .bs4-promise {
    margin-top: 0 !important;
  }
  /* General section spacing: keep it tight but not zero */
  body.bs-v4 .bs4-section {
    padding-top: clamp(24px, 3vw, 48px) !important;
    padding-bottom: clamp(24px, 3vw, 48px) !important;
  }
}
/* === END PART 95 === */
/* ARCHITECT-DFIX 2026-09-16 — PART 96: Mobile header forced visibility */
/* Root cause: Avada mobile CSS may set display:none or height:0 on header-wrapper.
   Part 95 set min-height but Avada's own @media rules (higher specificity or later in cascade)
   may override. This part uses max-specificity selectors + !important to force visibility. */
@media (max-width: 768px) {
  body.bs-v4 .fusion-header-wrapper,
  body.bs-v4 .fusion-header-wrapper .fusion-logo,
  body.bs-v4 .fusion-header-wrapper .fusion-mobile-menu,
  body.bs-v4 .fusion-header-wrapper .fusion-nav {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: 56px !important;
    overflow: visible !important;
    position: relative !important;
    z-index: 99999 !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
  }
  body.bs-v4 .fusion-logo img,
  body.bs-v4 .fusion-logo a {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
    max-height: 40px !important;
  }
  /* Ensure the mobile hamburger/menu trigger is visible */
  body.bs-v4 .fusion-mobile-menu,
  body.bs-v4 .fusion-nav-toggle,
  body.bs-v4 .fusion-menu-toggle {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 100000 !important;
  }
  /* Prevent any ancestor from clipping the header */
  body.bs-v4 .bs3,
  body.bs-v4 .bs4 {
    overflow: visible !important;
    padding-top: 0 !important;
  }
  /* If Avada uses a separate mobile header bar, ensure it's visible too */
  body.bs-v4 .fusion-mobile-header,
  body.bs-v4 .fusion-sticky-header {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}
/* === END PART 96 === */

/* ===== Part 97: 404 page Dutch layout + mobile fix ===== */
body.bs-v4 .bs-404-wrapper {
    min-height: calc(100vh - 200px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 24px;
    background: #fafafa;
}
body.bs-v4 .bs-404-content {
    max-width: 560px;
    width: 100%;
    text-align: center;
}
body.bs-v4 .bs-404-code {
    font-size: 96px;
    font-weight: 700;
    color: #c8a97e;
    line-height: 1;
    margin-bottom: 16px;
}
body.bs-v4 .bs-404-title {
    font-size: 28px;
    font-weight: 600;
    color: #1a1a1a;
    margin: 0 0 16px;
}
body.bs-v4 .bs-404-text {
    font-size: 16px;
    color: #555;
    line-height: 1.6;
    margin-bottom: 32px;
}
body.bs-v4 .bs-404-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 32px;
}
body.bs-v4 .bs-404-btn {
    display: inline-block;
    padding: 12px 28px;
    border-radius: 4px;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}
body.bs-v4 .bs-404-btn-primary {
    background: #1a1a1a;
    color: #fff;
}
body.bs-v4 .bs-404-btn-primary:hover {
    background: #333;
}
body.bs-v4 .bs-404-btn-secondary {
    background: transparent;
    color: #1a1a1a;
    border: 1px solid #ccc;
}
body.bs-v4 .bs-404-btn-secondary:hover {
    border-color: #c8a97e;
    color: #c8a97e;
}
body.bs-v4 .bs-404-help {
    padding-top: 24px;
    border-top: 1px solid #eee;
}
body.bs-v4 .bs-404-help p {
    font-size: 14px;
    color: #777;
    margin-bottom: 8px;
}
body.bs-v4 .bs-404-link {
    color: #c8a97e;
    text-decoration: none;
    font-weight: 500;
}
body.bs-v4 .bs-404-link:hover {
    text-decoration: underline;
}
/* Mobile: prevent overlap, stack buttons */
@media (max-width: 768px) {
    body.bs-v4 .bs-404-wrapper {
        padding: 40px 16px;
        min-height: calc(100vh - 120px);
    }
    body.bs-v4 .bs-404-code {
        font-size: 64px;
    }
    body.bs-v4 .bs-404-title {
        font-size: 22px;
    }
    body.bs-v4 .bs-404-actions {
        flex-direction: column;
        align-items: center;
    }
    body.bs-v4 .bs-404-btn {
        width: 100%;
        max-width: 280px;
        text-align: center;
    }
}
/* End Part 97 */
/* === PART 98: Mobile Header Force-Show + 404 Mobile Fix (2026-09-16) === */
/* Root cause: Avada JS/inline-styles of parent overflow:hidden clips header on <=768px.
   Part 96 used .fusion-header-wrapper but Avada may render .fusion-header-main or
   .fusion-mobile-navigation as the actual visible bar. This part targets ALL known
   header containers with maximum specificity + !important. */

@media (max-width: 768px) {
  /* Kill any ancestor clipping */
  body.bs-v4 .bs3,
  body.bs-v4 .bs4,
  body.bs-v4 .fusion-page-wrapper,
  body.bs-v4 .fusion-content-wrapper {
    overflow: visible !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  /* Force ALL header containers visible */
  body.bs-v4 .fusion-header-wrapper,
  body.bs-v4 .fusion-header-main,
  body.bs-v4 .fusion-mobile-header,
  body.bs-v4 .fusion-sticky-header,
  body.bs-v4 .fusion-header {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: 56px !important;
    max-height: none !important;
    overflow: visible !important;
    position: relative !important;
    z-index: 99999 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    transform: none !important;
    clip-path: none !important;
    width: 100% !important;
    background: #fff !important;
  }

  /* Logo visible */
  body.bs-v4 .fusion-logo,
  body.bs-v4 .fusion-logo img,
  body.bs-v4 .fusion-logo a {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
    max-height: 36px !important;
    max-width: 180px !important;
  }

  /* Hamburger / mobile nav trigger */
  body.bs-v4 .fusion-nav-toggle,
  body.bs-v4 .fusion-menu-toggle,
  body.bs-v4 .fusion-mobile-nav,
  body.bs-v4 #mobile-navigation {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 100000 !important;
    height: auto !important;
    min-height: 48px !important;
  }

  /* Cart / search icons in header */
  body.bs-v4 .fusion-header-icons,
  body.bs-v4 .fusion-cart-icon,
  body.bs-v4 .fusion-search-icon {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Prevent Avada's "hide on scroll" from eating the header */
  body.bs-v4 .fusion-header-wrapper.fusion-sticky,
  body.bs-v4 .fusion-header-wrapper.fusion-hidden {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* === PART 98b: 404 page mobile overlap fix === */
@media (max-width: 768px) {
  body.bs-v4 .bs-404-wrapper,
  body.bs-v4 .fusion-error-page,
  body.bs-v4 .error-404 {
    padding: 24px 16px !important;
    margin: 0 auto !important;
    max-width: 100% !important;
    text-align: center !important;
    overflow-x: hidden !important;
  }

  body.bs-v4 .bs-404-wrapper h1,
  body.bs-v4 .fusion-error-page h1 {
    font-size: clamp(1.5rem, 6vw, 2.2rem) !important;
    margin-bottom: 16px !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }

  body.bs-v4 .bs-404-wrapper p,
  body.bs-v4 .fusion-error-page p {
    font-size: 1rem !important;
    line-height: 1.6 !important;
    margin-bottom: 20px !important;
  }

  body.bs-v4 .bs-404-wrapper a,
  body.bs-v4 .fusion-error-page a {
    display: inline-block !important;
    padding: 12px 24px !important;
    font-size: 1rem !important;
    word-wrap: break-word !important;
  }

  /* Kill any absolute-positioned decorative elements that overlap on mobile */
  body.bs-v4 .bs-404-wrapper [style*="position: absolute"],
  body.bs-v4 .bs-404-wrapper .fusion-builder-row-column {
    position: relative !important;
    left: auto !important;
    right: auto !important;
  }
}
/* === END PART 98 === */
/* Part 98 — Header Prominence & Spacing (2026-09-17)
   Goals: CTA visual hierarchy, menu-item clickability, icon discoverability.
   Design-freeze compliant: CTA stays 40px secondary button, NO band background,
   copper accent only. Append-only under body.bs-v4. */

/* --- Menu item spacing: 8px → 11px for reliable 44px+ click targets --- */
body.bs-v4 .fusion-main-menu > ul > li:not(.bs-cta) > a {
  padding: 0 11px !important;
}

/* --- CTA "Offerte aanvragen": elevated visual hierarchy ---
     Design-freeze: 40px height, secondary button, NO band background.
     Prominence via: copper border, bolder weight, hover fill. */
body.bs-v4 .fusion-main-menu > ul > li.bs-cta > a {
  border: 1.5px solid #b87333 !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
}
body.bs-v4 .fusion-main-menu > ul > li.bs-cta > a:hover,
body.bs-v4 .fusion-main-menu > ul > li.bs-cta > a:focus {
  background-color: #b87333 !important;
  color: #fff !important;
}

/* --- Search & Cart icons: larger + hover ring for discoverability --- */
body.bs-v4 .fusion-search-icon,
body.bs-v4 .fusion-cart-icon {
  font-size: 20px !important;
  line-height: 1 !important;
  padding: 6px !important;
  border-radius: 50% !important;
  transition: background-color 0.2s ease !important;
}
body.bs-v4 .fusion-search-icon:hover,
body.bs-v4 .fusion-cart-icon:hover {
  background-color: rgba(184, 115, 51, 0.12) !important;
}

/* --- Ensure icons don't shrink in flex context --- */
body.bs-v4 .fusion-main-menu-icon {
  flex-shrink: 0 !important;
  min-width: 36px !important;
}
/* Part 99 — Header Icon Selectors FIX (2026-09-17)
   Correction for Part 98: actual Avada classes are
   .fusion-main-menu-cart / .fusion-main-menu-search
   with child .fusion-main-menu-icon.fusion-bar-highlight
   Design-freeze compliant: copper accent, no structural change. */

/* --- Cart icon: discoverability ring on hover --- */
body.bs-v4 .fusion-main-menu-cart > a.fusion-main-menu-icon {
  font-size: 20px !important;
  line-height: 1 !important;
  padding: 6px !important;
  border-radius: 50% !important;
  transition: background-color 0.2s ease, transform 0.15s ease !important;
}
body.bs-v4 .fusion-main-menu-cart > a.fusion-main-menu-icon:hover,
body.bs-v4 .fusion-main-menu-cart > a.fusion-main-menu-icon:focus {
  background-color: rgba(184, 115, 51, 0.12) !important;
  transform: scale(1.08) !important;
}

/* --- Search icon: discoverability ring on hover --- */
body.bs-v4 .fusion-main-menu-search > a.fusion-main-menu-icon {
  font-size: 20px !important;
  line-height: 1 !important;
  padding: 6px !important;
  border-radius: 50% !important;
  transition: background-color 0.2s ease, transform 0.15s ease !important;
}
body.bs-v4 .fusion-main-menu-search > a.fusion-main-menu-icon:hover,
body.bs-v4 .fusion-main-menu-search > a.fusion-main-menu-icon:focus {
  background-color: rgba(184, 115, 51, 0.12) !important;
  transform: scale(1.08) !important;
}

/* --- Cart counter badge: ensure visibility --- */
body.bs-v4 .fusion-widget-cart-number {
  position: absolute !important;
  top: 2px !important;
  right: 2px !important;
  min-width: 16px !important;
  height: 16px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 16px !important;
  text-align: center !important;
  background-color: #b87333 !important;
  color: #fff !important;
  border-radius: 50% !important;
  pointer-events: none !important;
}
/* ============================================================
   Part 100 — Homepage Tiles & Gap Fix (2026-09-15)
   Scope: body.bs-v4 ONLY
   Doel:
     1. Verberg productkaarten zonder afbeelding (data-gap, test-SKU)
     2. Geef cat-tiles minimale visuele aanwezigheid (geen lege witte blokken)
     3. Reduceer excessieve gap tussen .bs4-promise en .bs4-cats secties
   DoD: layout_measure 1440 tiles min-height>0, geen lege kaarten, geen grote gaten
   Design-lock: header 72px wit, service-balk 36px inkt, koperen hover — NIET aangepakt
   ============================================================ */

/* --- 1. Verberg productkaarten met leeg media-gebied (geen <img>) --- */
/* Root-cause: test-SKU "BiSelect Test SKU-001" heeft geen afbeelding geïmporteerd.
   CSS-only fix: verberg de kaart totdat data wordt aangevuld. */
body.bs-v4 .bs4-prod:has(.bs4-prod__media:not(:has(img))) {
    display: none;
}

/* --- 2. Cat-tiles: minimale visuele aanwezigheid zonder afbeelding --- */
/* Root-cause: tiles met title maar geen img tonen een leeg wit blok in .bs4-cat__media.
   Fix: subtiele gradient + min-height zodat de tile structureel intact blijft. */
body.bs-v4 .bs4-cat__media {
    min-height: 140px;
    background: linear-gradient(135deg, #f8f7f5 0%, #ffffff 100%);
}

body.bs-v4 .bs4-cat--lead .bs4-cat__media {
    min-height: 200px;
}

/* Cat-tile volledig leeg (geen title, geen img) → verbergen */
body.bs-v4 .bs4-cat:has(.bs4-cat__media:not(:has(img))):has(.bs4-cat__body h3:empty),
body.bs-v4 .bs4-cat:has(.bs4-cat__media:not(:has(img))):not(:has(.bs4-cat__body h3)) {
    display: none;
}

/* --- 3. Gap-reductie: promise → cats (culpraat: .bs4-section padding) --- */
/* Root-cause: body.bs-v4 .bs4-section{padding:clamp(72px,8vw,120px)} geeft
   @1440px ~120px top + 120px bottom = ~240px visueel gat.
   Fix: reduceer padding op de specifieke secties die promise/cats bevatten. */
body.bs-v4 .bs4-section:has(.bs4-promise) {
    padding-bottom: clamp(20px, 2.5vw, 40px);
}

body.bs-v4 .bs4-section:has(.bs4-cats),
body.bs-v4 .bs4-section:has(.bs4-cats-inner) {
    padding-top: clamp(20px, 2.5vw, 40px);
}

/* --- 4. Mobile: prevent overflow-x from tile grids --- */
@media (max-width: 768px) {
    body.bs-v4 .bs4-cats,
    body.bs-v4 .bs4-prods {
        overflow-x: hidden;
        max-width: 100%;
    }
}

/* --- 5. Mobile header: ensure visible (defensive, al OK per CSS) --- */
/* Alleen ter bescherming tegen regressie; bestaande MQ's stellen 60-80px in. */
@media (max-width: 480px) {
    body.bs-v4 .fusion-header-wrapper .fusion-header {
        min-height: 60px !important;
        height: auto !important;
    }
}
/* Part 100: Mobile header root-fix — defensive lock-in (2026-09-14) */
/* Root cause: ALREADY RESOLVED by parts 15/96/98/99 (min-height:60px on .fusion-header). */
/* This part is a FINAL LOCK to prevent any future regression. No new behavior. */
@media(max-width:768px){
  body.bs-v4 .fusion-header{min-height:60px!important;height:auto!important;display:block!important;visibility:visible!important;opacity:1!important}
  body.bs-v4 .fusion-header .fusion-row{min-height:60px!important;height:auto!important;display:flex!important;align-items:center!important}
  body.bs-v4 .fusion-header-wrapper{display:block!important;visibility:visible!important;opacity:1!important}
  body.bs-v4 .fusion-logo{display:flex!important;min-height:60px!important;visibility:visible!important;opacity:1!important}
}
/* Part 101: Desktop gap fix — reduce .bs4-section padding (2026-09-14) */
/* Root cause: line 1504 .bs4-section{padding:clamp(72px,8vw,120px)} = 120px top+bottom @1440px */
/* Fix: reduce to clamp(48px,5vw,72px) — eliminates ~300px visual gap between sections */
body.bs-v4 .bs4-section{padding:clamp(48px,5vw,72px) var(--bs4-pad)}
/* ============================================================
   PART 54: Home Cats-Grid ROOT-CAUSE FIX — 2026-09-16
   Task: task_90173f2c001f (operator-vraag 17:09)
   Architect: root cause bewezen via layout_measure + DOM-extract.

   ROOT CAUSE (bewezen, read-only diagnostiek):
   1. Echte DOM is <div class="bs4-cats"> GEEN <section>.
      Parts 52/53 ('section.bs4-cats') matchten NOOIT -> inert.
   2. Part 51 'display:block !important' op body.bs-v4 .bs4-cats
      WEL matchend -> tiles stacken verticaal i.p.v. grid.
   3. Geen regel definieert grid-template-columns voor de echte
      tile-class .bs4-cat.
   Breedte was al gezond (.bs4-cats=1464 left=68 @1600).

   FIX: grid herstellen met correcte selectors + uniforme kaarten.
   Scope: body.bs-v4 ONLY. Design-freeze intact (geen hero/header/
   menu, geen locked selectors bs-cta/bs4-hero/sub-menu/fusion-main-menu).
   ============================================================ */

/* --- 1. Container: grid (override Part 51 display:block !important;
        later in cascade + !important = wint) --- */
body.bs-v4 .bs4-cats {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

/* --- 2. Echte tiles (.bs4-cat): uniforme kaarten, geen image-blowout --- */
body.bs-v4 .bs4-cats > .bs4-cat {
    display: flex !important;
    flex-direction: column;
    min-width: 0;
}
body.bs-v4 .bs4-cats > .bs4-cat .bs4-cat__media {
    aspect-ratio: 4 / 3;
    overflow: hidden;
}
body.bs-v4 .bs4-cats > .bs4-cat .bs4-cat__media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block;
}

/* --- 3. Tablet <=1024px: 2 kolommen --- */
@media (max-width: 1024px) {
    body.bs-v4 .bs4-cats {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }
}

/* --- 4. Mobile <=640px: compacte 2-kolom --- */
@media (max-width: 640px) {
    body.bs-v4 .bs4-cats {
        gap: 12px !important;
    }
}
/* ============================================================
   PART 55: Home Section Track Fix — 2026-09-16
   Task: task_90173f2c001f (operator-vraag 17:09)
   Architect: root-cause fase 2 (empirisch bewezen via layout_measure).

   ROOT CAUSE fase 2:
   .bs4-section is zelf een grid-container (Part 43/52) ZONDER
   grid-template-columns. De impliciete auto-track size-to-content:
     @1600px -> .bs4-cats width=1140 (content-max; hoort 1464 te zijn)
     @390px  -> .bs4-cats width=720  -> OVERFLOW viewport (390)
   'width:100% !important' op het grid-item (Part 51) lost dit NIET op:
   100% van een auto-track = de content-afmeting zelf.

   FIX: expliciete track-definities zodat tracks = beschikbare ruimte
   (deterministisch op alle breakpoints) + min-width:0 zodat content
   de tracks niet kan uitdijen.
   Scope: body.bs-v4.home ONLY. Design-freeze intact: geen hero/header/
   menu, geen locked selectors (bs-cta/bs4-hero/sub-menu/fusion-main-menu).
   ============================================================ */

/* --- 1. .bs4-section: enkele volle-breedte track (was impliciet auto) --- */
body.bs-v4.home .bs4-section {
    grid-template-columns: 1fr !important;
}

/* --- 2. Items: geen content-based uitdijing --- */
body.bs-v4.home .bs4-section > .bs4-cats,
body.bs-v4.home .bs4-section > .bs4-prods {
    min-width: 0 !important;
    width: 100% !important;
}

/* --- 3. Productgrid (.bs4-prods, al display:grid via Part 42 :has()):
        expliciete responsive tracks i.p.v. auto-track --- */
body.bs-v4.home .bs4-section > .bs4-prods {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
    gap: 20px !important;
}

/* --- 4. Mobile <=640px: productkaarten 1 kolom, compacte gap --- */
@media (max-width: 640px) {
    body.bs-v4.home .bs4-section > .bs4-prods {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
}
/* OMEGA_HOME_PROPORTIES_OPERATOR_START */
body.bs-v4 .bs4-cats, body.bs-v4 section.bs4-cats { width:100%; max-width:var(--bs4-max,1560px); margin-inline:auto; }
body.bs-v4 .bs4-cats-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(14px,1.8vw,24px); width:100%; }
body.bs-v4 .bs4-cat-tile { min-width:0; height:auto; display:flex; flex-direction:column; }
body.bs-v4 .bs4-cats img, body.bs-v4 .bs4-cat-tile__img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
body.bs-v4 .bs4-prod__media { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(14px,1.8vw,24px); width:100%; max-width:var(--bs4-max,1560px); margin-inline:auto; list-style:none; padding:0; }
body.bs-v4 .bs4-prod, body.bs-v4 .bs4-product-card, body.bs-v4 .bs4-card, body.bs-v4 li.product { min-width:0; height:auto; display:flex; flex-direction:column; }
body.bs-v4 .bs4-prod__media img, body.bs-v4 .bs4-prod img, body.bs-v4 .bs4-product-card img, body.bs-v4 .bs4-card img, body.bs-v4 li.product img { display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; }
body.bs-v4 img[src*="placeholder"], body.bs-v4 img[src*="no-image"], body.bs-v4 img[src*="missing"], body.bs-v4 img[src*="dummy"] { display:none; }
@media (max-width: 980px) { body.bs-v4 .bs4-prod__media, body.bs-v4 .bs4-cats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 560px) { body.bs-v4 .bs4-prod__media, body.bs-v4 .bs4-cats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } }
/* OMEGA_HOME_PROPORTIES_OPERATOR_END */
/* 01_home_proporties — Homepage proporties + foto-mapping fix (2026-09-15)
   Scope: body.bs-v4.home ONLY. Geen locked selectors (bs-cta, bs4-hero, sub-menu, fusion-main-menu).
   Problemen gefixt:
   1. .bs4-cats maxWidth=1600px vs --bs4-max=1560px → 40px disproportie
   2. Product-grid: 6 visible in 5-col = orphan row (5+1) → wit gat
   3. Inconsistent img sizing (width:auto → variable visual size)
   4. Cat-tile images zonder object-fit → crop inconsistent */

/* ── 1. Unify .bs4-cats max-width met --bs4-max ── */
body.bs-v4.home .bs4-cats {
  max-width: var(--bs4-max);
}

/* ── 2. Product-grid: toon ALLE 8 producten in 4 nette kolommen (2 full rows) ──
   Override nth-child(n+7) hide-rule (line 1788, higher specificity via .home) */
body.bs-v4.home .bs4-prods > .bs4-prod:nth-child(n+7) {
  display: flex !important;
  visibility: visible !important;
}

/* ── 3. Home product-grid: 4 kolommen (override 5-col van line 2875/2892) ── */
body.bs-v4.home .bs4-prods {
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px;
  max-width: var(--bs4-max);
}

/* ── 4. Uniforme product-afbeeldingen: vullen het 1/1 frame consistent ── */
body.bs-v4.home .bs4-prod__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  max-width: none;
  max-height: none;
  mix-blend-mode: multiply;
}

/* ── 5. Cat-tiles: consistent aspect-ratio + cover-crop ── */
body.bs-v4.home .bs4-cat-tile__img {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #f8f9fa;
}
body.bs-v4.home .bs4-cat-tile__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ── 6. Responsive: tablet 2-col, mobile 1-col ── */
@media (max-width: 1000px) {
  body.bs-v4.home .bs4-prods {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px;
  }
}
@media (max-width: 480px) {
  body.bs-v4.home .bs4-prods {
    grid-template-columns: 1fr !important;
    gap: 12px;
  }
  body.bs-v4.home .bs4-cat-tile__img {
    aspect-ratio: 3 / 2;
  }
}

/* ── 7. B2B + People: align met --bs4-max (was al OK maar explicit) ── */
body.bs-v4.home .bs4-b2b__inner,
body.bs-v4.home .bs4-people {
  max-width: var(--bs4-max);
}
/* 103_home_proporties_fix — Override auto-fill(5col) met expliciete 4-col (2026-09-15)
   ROOT CAUSE: L5681 body.bs-v4.home .bs4-section > .bs4-prods (SPEC 0,4,1 + !important)
   wint van eerdere parts met lagere specificiteit (0,3,1).
   FIX: exacte selector hergebruiken (zelfde SPEC 0,4,1), later in source = wint.
   Scope: body.bs-v4.home ONLY. Geen locked selectors. */

/* — Desktop: 4 uniforme kolommen — */
body.bs-v4.home .bs4-section > .bs4-prods {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
    max-width: var(--bs4-max, 1560px) !important;
    margin-inline: auto !important;
}

/* — Tablet ≤1000px: 2 kolommen — */
@media (max-width: 1000px) {
    body.bs-v4.home .bs4-section > .bs4-prods {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }
}

/* — Mobile ≤480px: 1 kolom — */
@media (max-width: 480px) {
    body.bs-v4.home .bs4-section > .bs4-prods {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
}

/* — Categorie-tiles: align max-width met --bs4-max (was 1600px, moet 1560px) — */
body.bs-v4.home .bs4-section > .bs4-cats {
    max-width: var(--bs4-max, 1560px) !important;
    margin-inline: auto !important;
}

/* — OMEGA_HOME_PROPORTIES_FIX_103_END — */

/* ═══ 200_visual_regression_fix (appended 2026-09-16) ═══ */
/* ═══════════════════════════════════════════════════════════════
   200_visual_regression_fix — 2026-09-16
   ROOT CAUSE: QA-audit FAIL (desktop glyphs + empty col; mobile header + images)
   SCOPE: body.bs-v4 ONLY. Geen locked selectors. Alleen APPEND.
   ═══════════════════════════════════════════════════════════════ */

/* ── 1. MISSING GLYPHS: font-fallback stack voor product-grid & cat-tiles ──
   Het lege @font-face (geen src) laat speciale Unicode-tekens (✓ → ·)
   renderen in een fallback-font zonder die glyphs. Forceer een system-stack
   met volledige Unicode-coverage. */
body.bs-v4 .bs4-prod,
body.bs-v4 .bs4-cat-tile,
body.bs-v4 .bs4-b2b__inner,
body.bs-v4 .bs4-section {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
               "Helvetica Neue", Arial, "Noto Sans", sans-serif !important;
}

/* ── 2. LEGE GRID-KOLOM: reset grid-item positioning anomalies ──
   Eerste kolom leeg = item heeft grid-column span, margin, of is hidden.
   Forceer alle items naar auto-placing + geen extra spacing. */
body.bs-v4.home .bs4-prods > .bs4-prod {
  grid-column: auto / auto !important;
  grid-row: auto / auto !important;
  margin: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* ── 3. MOBILE HEADER: forceer zichtbaarheid op alle viewport-breedtes ≤768px ──
   Avada mobile CSS kan .fusion-header-wrap op display:none/height:0 zetten.
   Override met !important binnen body.bs-v4 scope. */
@media (max-width: 768px) {
  body.bs-v4 .fusion-header-wrap,
  body.bs-v4 .fusion-secondary-header,
  body.bs-v4 .fusion-main-menu-wrapper,
  body.bs-v4 .fusion-logo-wrapper {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: 56px !important;
    overflow: visible !important;
    position: relative !important;
  }
  body.bs-v4 .fusion-header-wrap .fusion-logo img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-height: 40px !important;
  }
}

/* ── 4. BROKEN IMAGES MOBIEL: forceer image-rendering in product/cat grids ──
   Image containers hebben mogelijk height:0 of overflow:hidden op mobile. */
@media (max-width: 768px) {
  body.bs-v4 .bs4-prod__media,
  body.bs-v4 .bs4-cat-tile__img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-height: 80px !important;
    overflow: hidden !important;
    background: #f8f9fa !important;
  }
  body.bs-v4 .bs4-prod__media img,
  body.bs-v4 .bs4-cat-tile__img img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 60px !important;
    object-fit: contain !important;
  }
}

/* ── 5. DESKTOP GRID: ensure 4-col met geen lege eerste col ──
   Verifieer dat grid-area niet een item skippt via explicit placement. */
body.bs-v4.home .bs4-prods {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-auto-flow: row dense !important;
  gap: 24px !important;
}

/* ── 6. WIT GAT MOBIEL: voorkom excessieve margin/padding onderaan ── */
@media (max-width: 768px) {
  body.bs-v4 .bs4-section {
    padding-bottom: 24px !important;
    margin-bottom: 16px !important;
  }
  body.bs-v4.home .bs4-prods {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }
}

/* Part 201: Home aspect-ratio + object-fit uniform (2026-09-16) */

/* Part 201: Home aspect-ratio + object-fit uniform (2026-09-16) */
body.bs-v4 .bs4-cats .bs4-cat__img,
body.bs-v4 .bs4-cats img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  width: 100%;
  height: auto;
}
body.bs-v4 .bs4-prods .bs4-prod__img,
body.bs-v4 .bs4-prods img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  width: 100%;
  height: auto;
}
body.bs-v4 .bs4-cats .bs4-cat,
body.bs-v4 .bs4-prods .bs4-prod {
  display: flex;
  flex-direction: column;
}
body.bs-v4 .bs4-cats .bs4-cat img,
body.bs-v4 .bs4-prods .bs4-prod img {
  border-radius: 8px;
}

/* Part 201b: CORRECTE selectors — aspect-ratio + object-fit (2026-09-16) */
body.bs-v4 .bs4-cats .bs4-cat-tile__img img,
body.bs-v4 .bs4-cats .bs4-cat-tile__img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100%;
  overflow: hidden;
  border-radius: 8px;
}
body.bs-v4 .bs4-prods .bs4-prod__media img,
body.bs-v4 .bs4-prods .bs4-prod__media {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  width: 100%;
  overflow: hidden;
  border-radius: 8px;
}
body.bs-v4 .bs4-cats .bs4-cat-tile,
body.bs-v4 .bs4-prods .bs4-prod {
  display: flex;
  flex-direction: column;
}
/* Part 202: Homepage proporties — aspect-ratio + object-fit + mobile (2026-09-16) */
/* Taak: 20260915-185308 | Scoped onder body.bs-v4 | VERBODEN selectors niet aangetast */

/* === Assortiment-tiles (.bs4-cats) — desktop === */
body.bs-v4 .bs4-cats .bs4-cat-tile__img {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 8px;
  background: #ffffff;
}
body.bs-v4 .bs4-cats .bs4-cat-tile__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* === Productkaarten (.bs4-prods) — desktop === */
body.bs-v4 .bs4-prods .bs4-prod__media {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 8px;
  background: #ffffff;
}
body.bs-v4 .bs4-prods .bs4-prod__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* === Uniforme kaarthoogte (flex column, geen extra whitespace) === */
body.bs-v4 .bs4-cats .bs4-cat-tile,
body.bs-v4 .bs4-prods .bs4-prod {
  display: flex;
  flex-direction: column;
  gap: 0;
}
body.bs-v4 .bs4-cats .bs4-cat-tile__img + *,
body.bs-v4 .bs4-prods .bs4-prod__media + * {
  margin-top: 12px;
}

/* === Grid-gap normalisatie === */
body.bs-v4 .bs4-cats .bs4-cat-grid,
body.bs-v4 .bs4-prods .bs4-prod-grid {
  gap: 24px;
}

/* === MOBILE (≤768px): milder aspect-ratio, compactere layout === */
@media (max-width: 768px) {
  body.bs-v4 .bs4-cats .bs4-cat-tile__img {
    aspect-ratio: 3 / 2;
  }
  body.bs-v4 .bs4-prods .bs4-prod__media {
    aspect-ratio: 4 / 3;
  }
  body.bs-v4 .bs4-cats .bs4-cat-grid,
  body.bs-v4 .bs4-prods .bs4-prod-grid {
    gap: 16px;
  }
  body.bs-v4 .bs4-cats .bs4-cat-tile__img + *,
  body.bs-v4 .bs4-prods .bs4-prod__media + * {
    margin-top: 8px;
  }
}
/* D1 FIX v2 2026-09-16: Mobile header @<=800px — icons off-screen + logo-zone leeg */
/* Bewijs vóór fix (layout_measure@390): .fusion-mobile-menu-icons left=381 w=32 (right_gap=-22),
   a.awb-icon-bars left=405 (off-screen), .fusion-main-menu AL display:none (dus géén menu-lekkage;
   de 32px- brede icons-container float-wrapt de 3 icons en de flex-flow duwt het blok buiten x=360).
   Fix: position:relative anker op .fusion-header + .fusion-row; logo absolute left, icons
   absolute right als EEN flex-rij (geen float). Alleen body.bs-v4, alleen <=800px. */
@media (max-width: 800px) {
  body.bs-v4 .fusion-header,
  body.bs-v4 .fusion-header .fusion-row {
    position: relative !important;
  }
  body.bs-v4 .fusion-logo {
    position: absolute !important;
    left: 20px !important;
    right: auto !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    z-index: 3 !important;
  }
  body.bs-v4 .fusion-logo img.fusion-standard-logo {
    display: block !important;
    height: 32px !important;
    max-height: 32px !important;
    width: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  body.bs-v4 .fusion-logo img.fusion-mobile-logo,
  body.bs-v4 .fusion-logo img.fusion-sticky-logo {
    display: none !important;
  }
  body.bs-v4 .fusion-mobile-menu-icons {
    position: absolute !important;
    right: 16px !important;
    left: auto !important;
    top: 28px !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    z-index: 3 !important;
  }
  body.bs-v4 .fusion-mobile-menu-icons a {
    float: none !important;
    margin: 0 !important;
    font-size: 20px !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    color: #1a1a1a !important;
  }
  body.bs-v4 .fusion-header .fusion-main-menu {
    display: none !important;
  }
}
/* ============================================================
   PART 203: Home Proporties — Uniforme sectie-breedtes (2026-09-15)
   Task: 20260915-185308 (operator-vraag 17:09)

   ROOT CAUSE (empirisch bewezen via layout_measure @1600px):
   .bs4-promise is een SIBLING van .bs4-section (niet child).
   .bs4-section heeft padding var(--bs4-pad) → content = 1464px.
   .bs4-promise heeft eigen padding 20px → width = 1560px.
   Resultaat: promise-bar steekt 48px per kant uit → visueel disproportie.

   FIX: .bs4-promise krijgt responsive padding die matcht met
   de effectieve section-content-padding (68px @1600px).
   Formule: clamp(24px, 4.25vw, 80px) → 68px bij 1600px viewport.

   Scope: body.bs-v4.home ONLY. Geen locked selectors
   (bs-cta, bs4-hero, sub-menu, fusion-main-menu niet aangeraakt).
   ============================================================ */

/* ── 1. Promise-bar: match section-content-breedte ── */
body.bs-v4.home .bs4-promise {
  max-width: var(--bs4-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(24px, 4.25vw, 80px) !important;
  padding-right: clamp(24px, 4.25vw, 80px) !important;
}

/* ── 2. Uniforme grid-gap over ALLE home-secties (consistentie) ── */
body.bs-v4.home .bs4-cats,
body.bs-v4.home .bs4-prods {
  gap: 24px !important;
}

/* ── 3. Product-afbeeldingen: aspect-ratio + cover (uniforme kaarten) ── */
body.bs-v4.home .bs4-prod__media,
body.bs-v4.home .bs4-cat-tile__img,
body.bs-v4.home .bs4-cat__media {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #f5f6f8;
}
body.bs-v4.home .bs4-prod__media img,
body.bs-v4.home .bs4-cat-tile__img img,
body.bs-v4.home .bs4-cat__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
}

/* ── 4. Categorie-tiles: uniforme grid (4-col desktop) ── */
body.bs-v4.home .bs4-cats {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

/* ── 5. Product-grid: 4 nette kolommen (2 full rows van 4) ── */
body.bs-v4.home .bs4-prods {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

/* ── 6. Responsive breakpoints ── */
@media (max-width: 1024px) {
  body.bs-v4.home .bs4-cats,
  body.bs-v4.home .bs4-prods {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}
@media (max-width: 560px) {
  body.bs-v4.home .bs4-cats,
  body.bs-v4.home .bs4-prods {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  body.bs-v4.home .bs4-promise {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* ── 7. Placeholder/missing images: verbergen (geen broken thumbnails) ── */
body.bs-v4.home img[src*="placeholder"],
body.bs-v4.home img[src*="no-image"],
body.bs-v4.home img[src*="missing"],
body.bs-v4.home img[src*="dummy"],
body.bs-v4.home img[alt=""] {
  display: none !important;
}

/* OMEGA_PART_203_END */

/* OMEGA_PART_204 — Mobile tile/product responsiveness (2026-09-15) */
/* Scoped: body.bs-v4 only. Fixes mobile text-overflow + image aspect on tiles. */

@media (max-width: 768px) {
  body.bs-v4 .bs4-cats .bs4-cat-tile h3,
  body.bs-v4 .bs4-prods .bs4-prod-card h3 {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.95rem;
    line-height: 1.3;
  }

  body.bs-v4 .bs4-cats .bs4-cat-tile p,
  body.bs-v4 .bs4-prods .bs4-prod-card p {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: 0.85rem;
  }

  body.bs-v4 .bs4-cats,
  body.bs-v4 .bs4-prods {
    gap: 16px;
  }

  body.bs-v4 .bs4-cats .bs4-cat-tile img,
  body.bs-v4 .bs4-prods .bs4-prod-card img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    width: 100%;
    height: auto;
    border-radius: 8px;
  }
}

@media (max-width: 480px) {
  body.bs-v4 .bs4-cats,
  body.bs-v4 .bs4-prods {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  body.bs-v4 .bs4-cats .bs4-cat-tile,
  body.bs-v4 .bs4-prods .bs4-prod-card {
    padding: 10px;
  }
}

/* OMEGA_PART_205 — Tile & product image uniformity (2026-09-15) */
/* Fixes: inconsistent white backgrounds, varying aspect ratios on tiles/products. */
/* Scoped: body.bs-v4 only. Does NOT touch bs4-hero, bs-cta, sub-menu, fusion-main-menu. */

body.bs-v4 .bs4-cats .bs4-cat-tile img,
body.bs-v4 .bs4-prods .bs4-prod-card img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: auto;
  background: #f8f8f8;
  border-radius: 8px;
  display: block;
}

body.bs-v4 .bs4-cats .bs4-cat-tile,
body.bs-v4 .bs4-prods .bs4-prod-card {
  background: #ffffff;
  border: 1px solid #e8e8e8;
  border-radius: 12px;
  overflow: hidden;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

body.bs-v4 .bs4-cats .bs4-cat-tile:hover,
body.bs-v4 .bs4-prods .bs4-prod-card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
  transform: translateY(-2px);
}

body.bs-v4 .bs4-cats .bs4-cat-tile h3,
body.bs-v4 .bs4-prods .bs4-prod-card h3 {
  margin-top: 12px;
  font-size: 1rem;
  font-weight: 600;
  color: #1a1a1a;
  line-height: 1.4;
}

body.bs-v4 .bs4-cats .bs4-cat-tile p,
body.bs-v4 .bs4-prods .bs4-prod-card p {
  margin-top: 4px;
  font-size: 0.85rem;
  color: #666;
  line-height: 1.4;
}

/* Uniform grid gap */
body.bs-v4 .bs4-cats,
body.bs-v4 .bs4-prods {
  display: grid;
  gap: 20px;
}

@media (min-width: 1024px) {
  body.bs-v4 .bs4-cats {
    grid-template-columns: repeat(4, 1fr);
  }
  body.bs-v4 .bs4-prods {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 768px) {
  body.bs-v4 .bs4-cats,
  body.bs-v4 .bs4-prods {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
}

/* OMEGA_PART_205_END */

/* OMEGA_PART_33_MOBILE_HEADER_GRID_START */

/* OMEGA_PART_33_HOME_PROPORTIES_START */

/* OMEGA_PART_33_MOBILE_HEADER_GRID_START */
/* ============================================================
   PART 33: Fix Mobile Header + Grid Regression
   Date: 2026-09-16
   Issue: QA failed — mobile header missing, desktop grid empty col
   Root cause: 
     1. body.bs-v4 .fusion-header .fusion-row flex rule overrides mobile
     2. Test product with empty image/category pollutes grid
   Fix: Explicit mobile header visibility + grid gap fix
   ============================================================ */

/* ── MOBILE HEADER: ensure visible at all breakpoints ── */
@media (max-width: 1024px) {
    /* Avada mobile menu bar must be visible */
    body.bs-v4 .fusion-mobile-menu {
        display: block !important;
        visibility: visible !important;
        height: auto !important;
        min-height: 56px !important;
        background: #fff !important;
        border-bottom: 1px solid var(--bs-mist, #e8e8ec) !important;
        position: relative !important;
        z-index: 1001 !important;
    }

    /* Mobile menu trigger (hamburger) must be visible */
    body.bs-v4 .fusion-mobile-menu-trigger {
        display: inline-flex !important;
        visibility: visible !important;
        align-items: center !important;
        justify-content: center !important;
        width: 40px !important;
        height: 40px !important;
        cursor: pointer !important;
    }

    /* Mobile logo visible */
    body.bs-v4 .fusion-mobile-menu .fusion-logo {
        display: flex !important;
        visibility: visible !important;
        align-items: center !important;
    }

    body.bs-v4 .fusion-mobile-menu .fusion-logo img {
        display: block !important;
        max-height: 32px !important;
        width: auto !important;
    }

    /* Override the desktop flex-row rule that crushes mobile */
    body.bs-v4 .fusion-header .fusion-row {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        max-width: none !important;
        padding: 0 !important;
    }

    /* Desktop main menu hidden on mobile (Avada default) */
    body.bs-v4 .fusion-main-menu {
        display: none !important;
    }

    /* Header wrapper must not collapse */
    body.bs-v4 .fusion-header-wrapper {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
    }

    body.bs-v4 .fusion-header {
        display: block !important;
        visibility: visible !important;
        height: auto !important;
        min-height: 0 !important;
    }
}

/* ── DESKTOP GRID: fix empty column / gap issue ── */
@media (min-width: 1025px) {
    body.bs-v4 .bs4-prods {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 20px !important;
    }

    /* Products with no image should still render but with a placeholder bg */
    body.bs-v4 .bs4-prod__media {
        background: var(--bs-mist, #f4f4f6) !important;
        min-height: 180px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Empty category span: hide if no text content */
    body.bs-v4 .bs4-prod__cat:empty {
        display: none !important;
    }
}

/* ── SHARED: ensure product grid items don't collapse ── */
body.bs-v4 .bs4-prod {
    display: block !important;
    min-height: 240px !important;
    background: #fff !important;
    border: 1px solid var(--bs-mist, #e8e8ec) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    text-decoration: none !important;
    color: inherit !important;
}

body.bs-v4 .bs4-prod__media {
    width: 100% !important;
    aspect-ratio: 1/1 !important;
    overflow: hidden !important;
}

body.bs-v4 .bs4-prod__media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

body.bs-v4 .bs4-prod__body {
    padding: 16px !important;
}

body.bs-v4 .bs4-prod__cat {
    font-size: 0.75rem !important;
    color: var(--bs-muted, #8a8a92) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    display: block !important;
    margin-bottom: 4px !important;
}

body.bs-v4 .bs4-prod__body h3 {
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    margin: 0 0 8px !important;
}

body.bs-v4 .bs4-prod__price {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: var(--bs-accent, #c3050f) !important;
}

/* OMEGA_PART_33_MOBILE_HEADER_GRID_END */

/* OMEGA_PART_33_HOME_PROPORTIES_START */
/* Part 33 — Homepage proporties & uniforme cards (2026-09-15)
   Scope: body.bs-v4 — geen locked selectors (bs4-hero, bs-cta, sub-menu) aangetast.
   Doel: consistente aspect-ratio, object-fit, uniforme card-hoogtes in .bs4-prods en .bs4-cats. */

body.bs-v4 .bs4-prod__media {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #f5f5f5;
}

body.bs-v4 .bs4-prod__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

body.bs-v4 .bs4-prod {
  display: flex;
  flex-direction: column;
  height: 100%;
}

body.bs-v4 .bs4-prod__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 6px;
}

body.bs-v4 .bs4-prod__cat {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #888;
}

body.bs-v4 .bs4-prod h3 {
  font-size: 1rem;
  line-height: 1.35;
  margin: 0;
}

body.bs-v4 .bs4-prod__price {
  margin-top: auto;
  font-weight: 600;
}

/* Category tiles — uniforme afmetingen */
body.bs-v4 .bs4-cat-tile {
  display: flex;
  flex-direction: column;
  height: 100%;
}

body.bs-v4 .bs4-cat-img {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #f0f0f0;
}

body.bs-v4 .bs4-cat-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

body.bs-v4 .bs4-cat-label {
  padding: 12px 0 4px;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.3;
}

body.bs-v4 .bs4-cat-count {
  font-size: 0.8rem;
  color: #777;
  padding-bottom: 12px;
}

/* People-sectie — beeld vult breedte, geen vast hoogte */
body.bs-v4 .bs4-people__media img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

/* B2B-sectie — idem */
body.bs-v4 .bs4-b2b__media img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

/* Product grid — uniforme rijen */
body.bs-v4 .bs4-prods {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 20px;
  align-items: stretch;
}

@media (max-width: 767px) {
  body.bs-v4 .bs4-prods {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  body.bs-v4 .bs4-prod__media {
    aspect-ratio: 1 / 1;
  }
}

/* OMEGA_PART_33_HOME_PROPORTIES_END */
/* OMEGA_PART_206_PDP_CTA_START */
/* ============================================================================
   WEB-04 (2026-09-20) — PDP sticky buy-bar + B2B Offerte CTA
   Scope: body.bs-v4 (DESIGN-FREEZE v4). Bron: /workspace/redesign_2026/v4_luxe/parts/206_pdp_cta.css
   Doel: (a) persistent "In winkelmand" buy-bar op mobile (<768px, fixed bottom);
         (b) secundaire B2B "Offerte aanvragen" CTA (40px, koper accent).
   Geen inline-styles; bs-cta/bs4-hero/sub-menu/fusion-main-menu blijven ongewijzigd.
   ============================================================================ */

/* 1) Redundante inline-styled mu-plugin knop onderdrukken (schendt LUXE: geen inline-styles) */
body.bs-v4 .bioff-pdp-cta { display: none !important; }

/* 2) Buy-bar basis (desktop >=768px: normale flow, page-bottom strip — geen overlap) */
body.bs-v4 .bs-pdp-stickybar {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 12px 20px;
  background: var(--bs-porcelain, #F7F8FA);
  border-top: 1px solid #e8d5c0;
  box-shadow: 0 -2px 12px rgba(30, 41, 59, .06);
}
body.bs-v4 .bs-pdp-stickybar__price {
  font: 700 16px/1.1 var(--bs-font, sans-serif);
  color: var(--bs-ink, #1e293b);
  white-space: nowrap;
}
body.bs-v4 .bs-pdp-stickybar__price ins { text-decoration: none; color: var(--bs-ink, #1e293b); font-weight: 700; }
body.bs-v4 .bs-pdp-stickybar__price del { color: #94a3b8; font-weight: 500; margin-right: 6px; }
body.bs-v4 .bs-pdp-stickybar__cart { display: contents; }
body.bs-v4 .bs-pdp-stickybar__btn {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 40px;
  padding: 0 20px;
  border-radius: 4px;
  border: 1.5px solid transparent;
  font: 600 14px/1 var(--bs-font, sans-serif);
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
/* Primaire CTA — In winkelmand (inkt) */
body.bs-v4 .bs-pdp-stickybar__btn--cart {
  background: var(--bs-ink, #1e293b);
  color: #fff;
  border-color: var(--bs-ink, #1e293b);
}
body.bs-v4 .bs-pdp-stickybar__btn--cart:hover { background: #0f172a; border-color: #0f172a; color: #fff; }
/* Secundaire CTA — Offerte aanvragen (koper accent, 40px, secundair) */
body.bs-v4 .bs-pdp-stickybar__btn--offerte {
  background: transparent;
  color: var(--bs-copper, #B7692A);
  border-color: var(--bs-copper, #B7692A);
}
body.bs-v4 .bs-pdp-stickybar__btn--offerte:hover { background: var(--bs-copper, #B7692A); color: #fff; }

/* 3) Mobiel (<768px): buy-bar wordt persistent fixed bottom */
@media (max-width: 767px) {
  body.bs-v4 .bs-pdp-stickybar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 998;
    padding: 8px 12px calc(8px + env(safe-area-inset-bottom));
    gap: 8px;
  }
  body.bs-v4 .bs-pdp-stickybar__price { font-size: 14px; }
  body.bs-v4 .bs-pdp-stickybar__btn { flex: 1 1 0; height: 40px; padding: 0 12px; font-size: 13.5px; }
  /* Voorkom dat de fixed bar de laatste inhoud/footer bedekt */
  body.bs-v4.has-sticky-pdpbar #main,
  body.bs-v4.has-sticky-pdpbar .fusion-footer { padding-bottom: 72px; }
}

/* OMEGA_PART_206_PDP_CTA_END */
/* OMEGA_PART_207_PDP_CTA_STICKY_START */
/* WEB-04 stap 2a spec-compliance: position:sticky; bottom (in-flow).
   Sticky bottom:0 op body-level bar (mu-plugin bs-pdp-stickybar.php via wp_footer)
   = persistent bottom bar tijdens scrollen + settle-in-flow bij pagina-einde.
   In-flow => zichtbaar in ALLE screenshot-modi (fixed-elementen zijn in full-page
   captures onzeker/onzichtbaar). Geen footer-overlap => part-206 padding-hack uit. */
@media (max-width: 767px) {
  body.bs-v4 .bs-pdp-stickybar {
    position: -webkit-sticky;
    position: sticky;
    left: auto;
    right: auto;
    bottom: 0;
    z-index: 998;
  }
  body.bs-v4.has-sticky-pdpbar #main,
  body.bs-v4.has-sticky-pdpbar .fusion-footer {
    padding-bottom: 0;
  }
}
/* OMEGA_PART_207_PDP_CTA_STICKY_END */

/* OMEGA_PART_100_MENU_MOBILE_START */
/* WEB-02: Functionele mobile menu fixes (aria, scroll, keyboard) — GEEN visuele wijzigingen */
/* Scope: body.bs-v4 only. Locked selectors (bs-cta, bs4-hero, sub-menu, fusion-main-menu) NIET aangeraakt. */

body.bs-v4 .fusion-mobile-menu {
  /* Zorg dat het mobiele menu scrollbaar is zodat submenu-items nooit afgesneden worden */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  max-height: calc(100vh - 72px);
}

body.bs-v4 .fusion-mobile-menu .sub-menu {
  /* Submenu-items volledig reikbaar: geen clip/overlap */
  overflow: visible;
  visibility: visible;
  min-height: 0;
}

body.bs-v4 .fusion-mobile-menu .menu-item-has-children > .sub-menu {
  /* Avada modern: submenu collapsible — zorg dat items niet verdwijnen */
  display: block;
}

/* Keyboard focus-visible voor toegankelijkheid (geen visuele verandering bij muis) */
body.bs-v4 .fusion-mobile-menu a:focus-visible,
body.bs-v4 .fusion-mobile-menu button:focus-visible,
body.bs-v4 .fusion-mobile-menu [role="button"]:focus-visible {
  outline: 2px solid #b87333;
  outline-offset: 2px;
}

/* Toggle button: focus-visible */
body.bs-v4 a.fusion-mobile-menu-icon:focus-visible,
body.bs-v4 .fusion-mobile-menu-icon:focus-visible {
  outline: 2px solid #b87333;
  outline-offset: 2px;
}

/* Ensure submenu items are not hidden by parent overflow */
body.bs-v4 .fusion-mobile-menu nav,
body.bs-v4 .fusion-mobile-menu .fusion-menu {
  overflow: visible;
}

/* OMEGA_PART_100_MENU_MOBILE_END */
/* OMEGA_PART_100_MENU_MOBILE_START */
/* WEB-02: Functionele mobile menu fixes (aria, scroll, keyboard) — GEEN visuele wijzigingen */
/* Scope: body.bs-v4 only. Locked selectors (bs-cta, bs4-hero, sub-menu, fusion-main-menu) NIET aangeraakt. */

body.bs-v4 .fusion-mobile-menu {
  /* Zorg dat het mobiele menu scrollbaar is zodat submenu-items nooit afgesneden worden */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  max-height: calc(100vh - 72px);
}

body.bs-v4 .fusion-mobile-menu .sub-menu {
  /* Submenu-items volledig reikbaar: geen clip/overlap */
  overflow: visible;
  visibility: visible;
  min-height: 0;
}

body.bs-v4 .fusion-mobile-menu .menu-item-has-children > .sub-menu {
  /* Avada modern: submenu collapsible — zorg dat items niet verdwijnen */
  display: block;
}

/* Keyboard focus-visible voor toegankelijkheid (geen visuele verandering bij muis) */
body.bs-v4 .fusion-mobile-menu a:focus-visible,
body.bs-v4 .fusion-mobile-menu button:focus-visible,
body.bs-v4 .fusion-mobile-menu [role="button"]:focus-visible {
  outline: 2px solid #b87333;
  outline-offset: 2px;
}

/* Toggle button: focus-visible */
body.bs-v4 a.fusion-mobile-menu-icon:focus-visible,
body.bs-v4 .fusion-mobile-menu-icon:focus-visible {
  outline: 2px solid #b87333;
  outline-offset: 2px;
}

/* Ensure submenu items are not hidden by parent overflow */
body.bs-v4 .fusion-mobile-menu nav,
body.bs-v4 .fusion-mobile-menu .fusion-menu {
  overflow: visible;
}

/* OMEGA_PART_100_MENU_MOBILE_END */


/* WEB05_CSS_START */
body.bs-v4 .bs-web05-nav-wrap {
    clear: both;
    margin: 0 0 24px;
    padding: 16px 0;
    border-bottom: 1px solid rgba(20, 20, 20, 0.08);
}

body.bs-v4 .bs-web05-breadcrumb ol {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
    margin: 0;
    padding: 0;
    font-size: 13px;
    line-height: 1.4;
    color: #5a5a5a;
}

body.bs-v4 .bs-web05-breadcrumb li {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

body.bs-v4 .bs-web05-breadcrumb li:not(:last-child)::after {
    content: "/";
    color: #b7b7b7;
}

body.bs-v4 .bs-web05-breadcrumb a {
    color: #222;
    text-decoration: none;
}

body.bs-v4 .bs-web05-breadcrumb a:hover {
    color: #b87333;
    text-decoration: underline;
}

body.bs-v4 .bs-web05-breadcrumb .current,
body.bs-v4 .bs-web05-breadcrumb .bs-web05-current {
    color: #111;
    font-weight: 600;
}

body.bs-v4 .bs-web05-tree {
    margin-top: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    align-items: center;
    font-size: 13px;
}

body.bs-v4 .bs-web05-tree a {
    color: #333;
    text-decoration: none;
    padding: 6px 10px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 999px;
    background: #fff;
}

body.bs-v4 .bs-web05-tree a:hover {
    border-color: #b87333;
    color: #b87333;
}

body.bs-v4 .bs-web05-tree-parent {
    font-weight: 600;
}

body.bs-v4 .bs-web05-tree-label {
    color: #666;
    margin-right: 2px;
}

body.bs-v4 .bs-web05-deadend {
    margin: 18px 0;
    padding: 18px;
    border: 1px solid rgba(0, 0, 0, 0.10);
    background: #fafafa;
    border-radius: 12px;
}

body.bs-v4 .bs-web05-deadend p {
    margin: 0 0 12px;
    color: #333;
}

body.bs-v4 .bs-web05-deadend a {
    color: #b87333;
    text-decoration: none;
}

body.bs-v4.single-product .breadcrumb:not(.bs-web05-breadcrumb),
body.bs-v4.tax-product_cat .breadcrumb:not(.bs-web05-breadcrumb) {
    display: none !important;
}

@media (max-width: 768px) {
    body.bs-v4 .bs-web05-nav-wrap {
        padding: 12px 0;
    }

    body.bs-v4 .bs-web05-breadcrumb ol {
        font-size: 12px;
        gap: 6px 8px;
    }

    body.bs-v4 .bs-web05-tree {
        gap: 6px 8px;
    }

    body.bs-v4 .bs-web05-tree a {
        padding: 5px 8px;
    }
}
/* WEB05_CSS_END */
/* Part 100 — CTA Color & Icon Shape Fix (2026-09-17)
   BUG-FIX: Base style.css lijn 1196 zet background:var(--bs-accent)=#ff7a00 (oranje)
   op de CTA-knop. Part 98 voegde copper border toe maar vergeten de base background
   te overschrijven. Dit part herstelt de intended copper-look.
   Design-freeze compliant: 40px secundaire knop, copper accent, GEEN band-achtergrond. */

/* --- CTA "Offerte aanvragen": base state = transparent bg + copper border (GEEN oranje) --- */
body.bs-v4 .fusion-main-menu > ul > li.bs-cta > a {
  background: transparent !important;
  border: 1.5px solid #b87333 !important;
  color: #101828 !important;
  border-radius: 6px !important;
}

/* --- CTA hover/focus: copper fill --- */
body.bs-v4 .fusion-main-menu > ul > li.bs-cta > a:hover,
body.bs-v4 .fusion-main-menu > ul > li.bs-cta > a:focus {
  background: #b87333 !important;
  color: #fff !important;
}

/* --- Iconen: vierkant (4px radius) in plaats van rond (50%) ---
     Part 98/99 gebruikten border-radius:50% wat iconen cirkelvormig maakte.
     Design-intent: subtiele afgeronde hoeken, niet cirkels. */
body.bs-v4 .fusion-main-menu .fusion-main-menu-icon,
body.bs-v4 .fusion-main-menu-search .fusion-main-menu-icon,
body.bs-v4 .fusion-main-menu-cart .fusion-main-menu-icon {
  border-radius: 4px !important;
}

/* --- Hover-ring op iconen: subtiele copper tint (geen cirkel) --- */
body.bs-v4 .fusion-main-menu-search:hover > a,
body.bs-v4 .fusion-main-menu-cart:hover > a {
  background-color: rgba(184, 115, 51, 0.08) !important;
  border-radius: 4px !important;
}
/* Part 100 — Cart Counter Badge SUBTLETY FIX (2026-09-17)
   Overrides Part 99's aggressive #b87333 solid fill on .fusion-widget-cart-counter.
   Design-freeze compliant: new part file, append-only (>>) on style.css, body.bs-v4 scoped.
   Goal: premium subtle badge with copper accent border, NOT a loud orange blob.
   Research source: /workspace/RESEARCH_header_bug_diagnosis.md */

body.bs-v4 .fusion-widget-cart-number {
  background-color: rgba(184, 115, 51, 0.12) !important;
  color: #7a4f25 !important;
  border: 1px solid rgba(184, 115, 51, 0.45) !important;
  border-radius: 10px !important;
  min-width: 16px !important;
  height: 16px !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 14px !important;
  text-align: center !important;
}

/* ============================================================
   Part 101 — Cart Badge Subtle Fix (2026-09-17)
   Scope: body.bs-v4 ONLY
   Doel: Verwijder massieve #b87333 solid-fill op .fusion-widget-cart-counter.
         Vervang door subtiele koperen rand + transparante achtergrond.
   Bron: RESEARCH_header_bug_diagnosis.md — "oranje ovaal" bug
   ============================================================ */
body.bs-v4 .fusion-widget-cart-number {
  background-color: rgba(184, 115, 51, 0.15) !important;
  color: #b87333 !important;
  border: 1px solid rgba(184, 115, 51, 0.5) !important;
  border-radius: 50% !important;
  min-width: 16px !important;
  height: 16px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 14px !important;
  text-align: center !important;
  position: absolute !important;
  top: 2px !important;
  right: 2px !important;
  pointer-events: none !important;
}

/** Part 34: Checkout & Cart (v4 luxe) */

/** Part 34: Checkout & Cart (v4 luxe) */
/* ============================================================
   BiSelect v4 LUXE — Checkout & Cart (Part 34)
   Scope: body.bs-v4 .woocommerce-cart, body.bs-v4 .woocommerce-checkout
   ============================================================ */

/* --- Cart page --- */
body.bs-v4 .woocommerce-cart .shop_table {
    border: 1px solid #e8e4df;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}

body.bs-v4 .woocommerce-cart .shop_table th {
    background: #faf9f7;
    padding: 16px 20px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #2c2c2c;
    border-bottom: 2px solid #e8e4df;
}

body.bs-v4 .woocommerce-cart .shop_table td {
    padding: 18px 20px;
    border-bottom: 1px solid #f0ede9;
    vertical-align: middle;
}

body.bs-v4 .woocommerce-cart .shop_table .product-name {
    font-weight: 500;
    color: #1a1a1a;
}

body.bs-v4 .woocommerce-cart .shop_table .amount {
    font-weight: 600;
    color: #1a1a1a;
}

body.bs-v4 .woocommerce-cart .coupon .input-text {
    border: 1px solid #d4cfc8;
    border-radius: 6px;
    padding: 12px 16px;
    font-size: 14px;
}

body.bs-v4 .woocommerce-cart .coupon button,
body.bs-v4 .woocommerce-cart a.update_cart {
    background: #1a1a1a;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 12px 28px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s;
}

body.bs-v4 .woocommerce-cart .coupon button:hover,
body.bs-v4 .woocommerce-cart a.update_cart:hover {
    background: #333;
}

/* --- Checkout page --- */
body.bs-v4 .woocommerce-checkout form.checkout {
    max-width: 720px;
}

body.bs-v4 .woocommerce-checkout h3,
body.bs-v4 .woocommerce-checkout .woocommerce-billing-fields h3 {
    font-size: 18px;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid #e8e4df;
}

body.bs-v4 .woocommerce-checkout .form-row {
    margin-bottom: 16px;
}

body.bs-v4 .woocommerce-checkout .form-row label {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: #444;
    margin-bottom: 6px;
}

body.bs-v4 .woocommerce-checkout .form-row input.input-text,
body.bs-v4 .woocommerce-checkout .form-row select {
    width: 100%;
    border: 1px solid #d4cfc8;
    border-radius: 6px;
    padding: 12px 16px;
    font-size: 14px;
    transition: border-color 0.2s, box-shadow 0.2s;
}

body.bs-v4 .woocommerce-checkout .form-row input.input-text:focus,
body.bs-v4 .woocommerce-checkout .form-row select:focus {
    outline: none;
    border-color: #b8860b;
    box-shadow: 0 0 0 3px rgba(184,134,11,0.1);
}

body.bs-v4 .woocommerce-checkout .payment_methods {
    border: 1px solid #e8e4df;
    border-radius: 8px;
    padding: 20px;
    margin-top: 24px;
}

body.bs-v4 .woocommerce-checkout .payment_methods li {
    padding: 12px 0;
    border-bottom: 1px solid #f0ede9;
}

body.bs-v4 .woocommerce-checkout .place-order {
    background: #1a1a1a;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 16px 32px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}

body.bs-v4 .woocommerce-checkout .place-order:hover {
    background: #b8860b;
}

/* --- Mobile adjustments --- */
@media (max-width: 768px) {
    body.bs-v4 .woocommerce-cart .shop_table {
        font-size: 13px;
    }
    body.bs-v4 .woocommerce-cart .shop_table th,
    body.bs-v4 .woocommerce-cart .shop_table td {
        padding: 12px;
    }
    body.bs-v4 .woocommerce-checkout form.checkout {
        max-width: 100%;
    }
}
/* ============================================================
   BiSelect v4 LUXE — Part 208: Cart & Checkout (koopflow)
   Scope: body.bs-v4 + WooCommerce cart/checkout pages
   Design: premium, ruim, koperen accenten, inkt/ivory palette
   ============================================================ */

/* --- CART PAGE --- */
body.bs-v4.woocommerce-cart .woocommerce-cart,
body.bs-v4.page-id-1234 .woocommerce-cart {
    padding: 48px 0;
}

body.bs-v4 .woocommerce-cart-form {
    background: #faf8f5;
    border: 1px solid #e8e4df;
    border-radius: 8px;
    overflow: hidden;
}

body.bs-v4 .woocommerce-cart-form table.shop_table {
    margin: 0;
    width: 100%;
}

body.bs-v4 .woocommerce-cart-form table.shop_table th {
    background: #1a1a1a;
    color: #faf8f5;
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 14px 20px;
}

body.bs-v4 .woocommerce-cart-form table.shop_table td {
    padding: 16px 20px;
    border-bottom: 1px solid #e8e4df;
    vertical-align: middle;
}

body.bs-v4 .woocommerce-cart-form .product-thumbnail img {
    width: 72px;
    height: 72px;
    object-fit: contain;
    border-radius: 4px;
}

body.bs-v4 .woocommerce-cart-form .amount,
body.bs-v4 .woocommerce-cart-form .price {
    font-weight: 600;
    color: #1a1a1a;
}

body.bs-v4 .woocommerce-cart-form .button,
body.bs-v4 .woocommerce-cart-form .btn {
    background: #b87333;
    color: #fff;
    border: none;
    padding: 12px 28px;
    border-radius: 4px;
    font-weight: 600;
    transition: background 0.2s;
}

body.bs-v4 .woocommerce-cart-form .button:hover,
body.bs-v4 .woocommerce-cart-form .btn:hover {
    background: #9a5f28;
}

/* Cart totals sidebar */
body.bs-v4 .cart-collaterals .cart_totals {
    background: #1a1a1a;
    color: #faf8f5;
    border-radius: 8px;
    padding: 28px;
}

body.bs-v4 .cart-collaterals .cart_totals h2,
body.bs-v4 .cart-collaterals .cart_totals .woocommerce-widget-title {
    color: #faf8f5;
    font-size: 1.1rem;
    margin-bottom: 20px;
}

body.bs-v4 .cart-collaterals .cart_totals th,
body.bs-v4 .cart-collaterals .cart_totals td {
    border-color: #333;
    padding: 10px 0;
}

body.bs-v4 .cart-collaterals .cart_totals .order-total {
    border-top: 2px solid #b87333;
    font-size: 1.1rem;
    font-weight: 700;
}

body.bs-v4 .cart-collaterals .cross-sells {
    margin-top: 32px;
}

/* Empty cart state */
body.bs-v4 .woocommerce-no-products-found {
    text-align: center;
    padding: 64px 20px;
    color: #666;
    font-size: 1.05rem;
}

body.bs-v4 .woocommerce-no-products-found a.button {
    display: inline-block;
    margin-top: 20px;
    background: #b87333;
    color: #fff;
    padding: 14px 32px;
    border-radius: 4px;
    font-weight: 600;
}

/* --- CHECKOUT PAGE --- */
body.bs-v4.woocommerce-checkout .woocommerce-checkout {
    padding: 48px 0;
}

body.bs-v4 .woocommerce-checkout form.checkout {
    max-width: 100%;
}

body.bs-v4 .woocommerce-checkout h3,
body.bs-v4 .woocommerce-checkout .woocommerce-billing-fields__field-wrapper h3,
body.bs-v4 .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper h3 {
    font-size: 1.15rem;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid #b87333;
}

body.bs-v4 .woocommerce-checkout .form-row {
    margin-bottom: 16px;
}

body.bs-v4 .woocommerce-checkout .form-row label {
    font-weight: 600;
    font-size: 0.9rem;
    color: #1a1a1a;
    display: block;
    margin-bottom: 6px;
}

body.bs-v4 .woocommerce-checkout .form-row input,
body.bs-v4 .woocommerce-checkout .form-row select,
body.bs-v4 .woocommerce-checkout .form-row textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #d4d0cb;
    border-radius: 4px;
    font-size: 0.95rem;
    background: #fff;
    transition: border-color 0.2s;
}

body.bs-v4 .woocommerce-checkout .form-row input:focus,
body.bs-v4 .woocommerce-checkout .form-row select:focus,
body.bs-v4 .woocommerce-checkout .form-row textarea:focus {
    outline: none;
    border-color: #b87333;
    box-shadow: 0 0 0 3px rgba(184, 115, 51, 0.1);
}

body.bs-v4 .woocommerce-checkout .form-row-wide {
    width: 100%;
}

/* Payment methods */
body.bs-v4 .woocommerce-checkout-payment,
body.bs-v4 #payment {
    background: #faf8f5;
    border: 1px solid #e8e4df;
    border-radius: 8px;
    padding: 24px;
}

body.bs-v4 #payment ul.payment_methods {
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
}

body.bs-v4 #payment ul.payment_methods li {
    padding: 14px 16px;
    border: 1px solid #e8e4df;
    border-radius: 6px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
}

body.bs-v4 #payment ul.payment_methods li:hover {
    border-color: #b87333;
    background: #fff;
}

body.bs-v4 #payment ul.payment_methods li input[type="radio"] {
    margin-right: 10px;
    accent-color: #b87333;
}

body.bs-v4 #payment .place-order {
    text-align: right;
}

body.bs-v4 #payment #place_order {
    background: #b87333;
    color: #fff;
    border: none;
    padding: 16px 40px;
    border-radius: 4px;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s;
}

body.bs-v4 #payment #place_order:hover {
    background: #9a5f28;
}

/* Order review */
body.bs-v4 .woocommerce-checkout-review-order {
    background: #1a1a1a;
    color: #faf8f5;
    border-radius: 8px;
    padding: 28px;
}

body.bs-v4 .woocommerce-checkout-review-order h4,
body.bs-v4 .woocommerce-checkout-review-order .woocommerce-widget-title {
    color: #faf8f5;
    font-size: 1.05rem;
    margin-bottom: 16px;
}

body.bs-v4 .woocommerce-checkout-review-order-table th,
body.bs-v4 .woocommerce-checkout-review-order-table td {
    border-color: #333;
    padding: 12px 0;
    color: #faf8f5;
}

/* Checkout notices */
body.bs-v4 .woocommerce-notices-wrapper .woocommerce-error,
body.bs-v4 .woocommerce-notices-wrapper .woocommerce-info {
    border-left: 4px solid #b87333;
    border-radius: 4px;
    padding: 16px 20px;
    margin-bottom: 16px;
}

/* --- MOBILE ADJUSTMENTS --- */
@media (max-width: 768px) {
    body.bs-v4 .woocommerce-cart-form {
        border-radius: 0;
        border-left: none;
        border-right: none;
    }

    body.bs-v4 .woocommerce-cart-form table.shop_table th,
    body.bs-v4 .woocommerce-cart-form table.shop_table td {
        padding: 12px 14px;
    }

    body.bs-v4 .cart-collaterals .cart_totals {
        padding: 20px;
        margin-top: 24px;
    }

    body.bs-v4 .woocommerce-checkout form.checkout {
        max-width: 100%;
        padding: 0 16px;
    }

    body.bs-v4 .woocommerce-checkout .form-row {
        margin-bottom: 12px;
    }

    body.bs-v4 #payment #place_order {
        width: 100%;
        text-align: center;
    }

    body.bs-v4 .woocommerce-checkout-review-order {
        padding: 20px;
        margin-top: 24px;
    }
}

/* OMEGA_PART_208: Cart & Checkout koopflow */
/* ============================================================
   BiSelect v4 LUXE — Part 208: Cart & Checkout (koopflow)
   Scope: body.bs-v4 + WooCommerce cart/checkout pages
   Design: premium, ruim, koperen accenten, inkt/ivory palette
   ============================================================ */

/* --- CART PAGE --- */
body.bs-v4.woocommerce-cart .woocommerce-cart,
body.bs-v4.page-id-1234 .woocommerce-cart {
    padding: 48px 0;
}

body.bs-v4 .woocommerce-cart-form {
    background: #faf8f5;
    border: 1px solid #e8e4df;
    border-radius: 8px;
    overflow: hidden;
}

body.bs-v4 .woocommerce-cart-form table.shop_table {
    margin: 0;
    width: 100%;
}

body.bs-v4 .woocommerce-cart-form table.shop_table th {
    background: #1a1a1a;
    color: #faf8f5;
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 14px 20px;
}

body.bs-v4 .woocommerce-cart-form table.shop_table td {
    padding: 16px 20px;
    border-bottom: 1px solid #e8e4df;
    vertical-align: middle;
}

body.bs-v4 .woocommerce-cart-form .product-thumbnail img {
    width: 72px;
    height: 72px;
    object-fit: contain;
    border-radius: 4px;
}

body.bs-v4 .woocommerce-cart-form .amount,
body.bs-v4 .woocommerce-cart-form .price {
    font-weight: 600;
    color: #1a1a1a;
}

body.bs-v4 .woocommerce-cart-form .button,
body.bs-v4 .woocommerce-cart-form .btn {
    background: #b87333;
    color: #fff;
    border: none;
    padding: 12px 28px;
    border-radius: 4px;
    font-weight: 600;
    transition: background 0.2s;
}

body.bs-v4 .woocommerce-cart-form .button:hover,
body.bs-v4 .woocommerce-cart-form .btn:hover {
    background: #9a5f28;
}

/* Cart totals sidebar */
body.bs-v4 .cart-collaterals .cart_totals {
    background: #1a1a1a;
    color: #faf8f5;
    border-radius: 8px;
    padding: 28px;
}

body.bs-v4 .cart-collaterals .cart_totals h2,
body.bs-v4 .cart-collaterals .cart_totals .woocommerce-widget-title {
    color: #faf8f5;
    font-size: 1.1rem;
    margin-bottom: 20px;
}

body.bs-v4 .cart-collaterals .cart_totals th,
body.bs-v4 .cart-collaterals .cart_totals td {
    border-color: #333;
    padding: 10px 0;
}

body.bs-v4 .cart-collaterals .cart_totals .order-total {
    border-top: 2px solid #b87333;
    font-size: 1.1rem;
    font-weight: 700;
}

body.bs-v4 .cart-collaterals .cross-sells {
    margin-top: 32px;
}

/* Empty cart state */
body.bs-v4 .woocommerce-no-products-found {
    text-align: center;
    padding: 64px 20px;
    color: #666;
    font-size: 1.05rem;
}

body.bs-v4 .woocommerce-no-products-found a.button {
    display: inline-block;
    margin-top: 20px;
    background: #b87333;
    color: #fff;
    padding: 14px 32px;
    border-radius: 4px;
    font-weight: 600;
}

/* --- CHECKOUT PAGE --- */
body.bs-v4.woocommerce-checkout .woocommerce-checkout {
    padding: 48px 0;
}

body.bs-v4 .woocommerce-checkout form.checkout {
    max-width: 100%;
}

body.bs-v4 .woocommerce-checkout h3,
body.bs-v4 .woocommerce-checkout .woocommerce-billing-fields__field-wrapper h3,
body.bs-v4 .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper h3 {
    font-size: 1.15rem;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid #b87333;
}

body.bs-v4 .woocommerce-checkout .form-row {
    margin-bottom: 16px;
}

body.bs-v4 .woocommerce-checkout .form-row label {
    font-weight: 600;
    font-size: 0.9rem;
    color: #1a1a1a;
    display: block;
    margin-bottom: 6px;
}

body.bs-v4 .woocommerce-checkout .form-row input,
body.bs-v4 .woocommerce-checkout .form-row select,
body.bs-v4 .woocommerce-checkout .form-row textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #d4d0cb;
    border-radius: 4px;
    font-size: 0.95rem;
    background: #fff;
    transition: border-color 0.2s;
}

body.bs-v4 .woocommerce-checkout .form-row input:focus,
body.bs-v4 .woocommerce-checkout .form-row select:focus,
body.bs-v4 .woocommerce-checkout .form-row textarea:focus {
    outline: none;
    border-color: #b87333;
    box-shadow: 0 0 0 3px rgba(184, 115, 51, 0.1);
}

body.bs-v4 .woocommerce-checkout .form-row-wide {
    width: 100%;
}

/* Payment methods */
body.bs-v4 .woocommerce-checkout-payment,
body.bs-v4 #payment {
    background: #faf8f5;
    border: 1px solid #e8e4df;
    border-radius: 8px;
    padding: 24px;
}

body.bs-v4 #payment ul.payment_methods {
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
}

body.bs-v4 #payment ul.payment_methods li {
    padding: 14px 16px;
    border: 1px solid #e8e4df;
    border-radius: 6px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
}

body.bs-v4 #payment ul.payment_methods li:hover {
    border-color: #b87333;
    background: #fff;
}

body.bs-v4 #payment ul.payment_methods li input[type="radio"] {
    margin-right: 10px;
    accent-color: #b87333;
}

body.bs-v4 #payment .place-order {
    text-align: right;
}

body.bs-v4 #payment #place_order {
    background: #b87333;
    color: #fff;
    border: none;
    padding: 16px 40px;
    border-radius: 4px;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s;
}

body.bs-v4 #payment #place_order:hover {
    background: #9a5f28;
}

/* Order review */
body.bs-v4 .woocommerce-checkout-review-order {
    background: #1a1a1a;
    color: #faf8f5;
    border-radius: 8px;
    padding: 28px;
}

body.bs-v4 .woocommerce-checkout-review-order h4,
body.bs-v4 .woocommerce-checkout-review-order .woocommerce-widget-title {
    color: #faf8f5;
    font-size: 1.05rem;
    margin-bottom: 16px;
}

body.bs-v4 .woocommerce-checkout-review-order-table th,
body.bs-v4 .woocommerce-checkout-review-order-table td {
    border-color: #333;
    padding: 12px 0;
    color: #faf8f5;
}

/* Checkout notices */
body.bs-v4 .woocommerce-notices-wrapper .woocommerce-error,
body.bs-v4 .woocommerce-notices-wrapper .woocommerce-info {
    border-left: 4px solid #b87333;
    border-radius: 4px;
    padding: 16px 20px;
    margin-bottom: 16px;
}

/* --- MOBILE ADJUSTMENTS --- */
@media (max-width: 768px) {
    body.bs-v4 .woocommerce-cart-form {
        border-radius: 0;
        border-left: none;
        border-right: none;
    }

    body.bs-v4 .woocommerce-cart-form table.shop_table th,
    body.bs-v4 .woocommerce-cart-form table.shop_table td {
        padding: 12px 14px;
    }

    body.bs-v4 .cart-collaterals .cart_totals {
        padding: 20px;
        margin-top: 24px;
    }

    body.bs-v4 .woocommerce-checkout form.checkout {
        max-width: 100%;
        padding: 0 16px;
    }

    body.bs-v4 .woocommerce-checkout .form-row {
        margin-bottom: 12px;
    }

    body.bs-v4 #payment #place_order {
        width: 100%;
        text-align: center;
    }

    body.bs-v4 .woocommerce-checkout-review-order {
        padding: 20px;
        margin-top: 24px;
    }
}
/* 209_mobile_cta.css — WEB-07: Mobiele CTA tap-targets (min 44px)
   Scope: body.bs-v4, @media max-width:768px
   Locked selectors NIET aangeraakt: bs-cta, bs4-hero, sub-menu, fusion-main-menu */

@media (max-width: 768px) {
  /* Hero CTA (full-width section button op homepage) */
  body.bs-v4.home .fusion-fullwidth .button,
  body.bs-v4.home .fusion-fullwidth a.button {
    min-height: 48px;
    padding: 12px 32px;
    font-size: 16px;
    line-height: 1.4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* WooCommerce add-to-cart (PDP) */
  body.bs-v4 .woocommerce a.add_to_cart_button,
  body.bs-v4 .woocommerce form.cart .button {
    min-height: 48px;
    padding: 12px 24px;
    font-size: 16px;
    line-height: 1.4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* B2B offerte-knop in pagina-content */
  body.bs-v4 .bs4-b2b .button,
  body.bs-v4 .bs4-b2b a.button {
    min-height: 48px;
    padding: 12px 28px;
    font-size: 16px;
    line-height: 1.4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* Tap-afstand: min 12px tussen opeenvolgende CTA's */
  body.bs-v4.home .fusion-fullwidth .button + .button,
  body.bs-v4 .woocommerce form.cart .quantity + .button {
    margin-top: 12px;
  }
}

/* 210_mobile_cta.css — WEB-07 v2: mobiele CTA tap-targets (min 48px) + consistente afstand
   Supplimenteert 209_mobile_cta.css (diens .fusion-fullwidth/.button selectors matchen de
   echte v4-markup niet: hero/B2B gebruiken .bs3-btn zonder .button-class).
   Scope: body.bs-v4, @media max-width:768px. Design-lock intact: bs-cta, bs4-hero-beeld/tekst,
   sub-menu en fusion-main-menu NIET aangeraakt. */
@media (max-width: 768px) {
  /* Hero-CTA + B2B-offerteknop + PDP add-to-cart: uniforme tap-target >= 48px */
  body.bs-v4 .bs4-hero .bs3-btn,
  body.bs-v4 .bs4-hero__actions .bs3-btn,
  body.bs-v4 .bs4-b2b .bs3-btn,
  body.bs-v4 .woocommerce a.add_to_cart_button,
  body.bs-v4 .woocommerce .single_add_to_cart_button,
  body.bs-v4 form.cart .button {
    min-height: 48px !important;
    font-size: 16px !important;
  }

  /* Actierij op mobiel: wikkelen + min 12px tussen knop en textlink */
  body.bs-v4 .bs4-hero__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
  }

  /* Afstand quantity -> add-to-cart op smalle schermen */
  body.bs-v4 form.cart .quantity + .single_add_to_cart_button {
    margin-left: 12px;
  }
}
/* 211_mobile_cta_fix.css — WEB-07 v3: fix min-height op inline CTA-elementen
   Root-cause (iter-9 meting): .bs3-btn / .single_add_to_cart_button zijn
   display:inline of inline-block zonder adequate line-height, waardoor
   min-height:48px (part 210) de rendered height NIET bepaalt (gemeten 17/17/21px @390).
   Fix: display:inline-block + line-height om min-height effectief te maken.
   Scope: body.bs-v4, @media max-width:768px. Design-lock intact (bs-cta, bs4-hero,
   fusion-main-menu, sub-menu NIET aangeraakt). */
@media (max-width: 768px) {
  body.bs-v4 .bs4-hero .bs3-btn,
  body.bs-v4 .bs4-hero__actions .bs3-btn,
  body.bs-v4 .bs4-b2b .bs3-btn,
  body.bs-v4 .woocommerce a.add_to_cart_button,
  body.bs-v4 .woocommerce .single_add_to_cart_button,
  body.bs-v4 form.cart .button {
    display: inline-block !important;
    min-height: 48px !important;
    line-height: 1.2 !important;
    vertical-align: middle;
  }
}
/* Part 212: CTA desktop gap fix — neutraliseer 14px overflow @1440 (2026-09-24)
   Root cause: margin-left:10px op <a> (lijn 1585) + padding 0 16px + min-width:fit-content
   (part 47) = knop reikt 14px te ver rechts. Fix: margin-left:0 (-10px) + padding 0 12px
   (-8px) = 18px besparing. Scoped body.bs-v4 + min-width:992px → mobiel ongewijzigd. */
@media (min-width: 992px) {
  body.bs-v4 .fusion-main-menu>ul>li.bs-cta>a,
  body.bs-v4 .fusion-main-menu>ul>li.menu-item-167210>a {
    margin-left: 0 !important;
    padding: 0 12px !important;
  }
}
/* Part 212: Fix desktop-regressie li.bs-cta rgap -14px @1440 */
@media (min-width: 992px) {
  body.bs-v4 .fusion-main-menu>ul>li.bs-cta>a,
  body.bs-v4 .fusion-main-menu>ul>li.menu-item-167210>a {
    margin-left: 0 !important;
    padding: 0 12px !important;
  }
}
/* Part 212 — CTA desktop gap fix (WEB-07-QA T1/P1) */
@media (min-width: 992px) {
  body.bs-v4 .fusion-main-menu>ul>li.bs-cta>a,
  body.bs-v4 .fusion-main-menu>ul>li.menu-item-167210>a {
    margin-left: 0 !important;
    padding: 0 12px !important;
  }
}
/* Part 212 — CTA desktop gap fix (2026-09-24, WEB-07-QA T1/P1) */
body.bs-v4 .fusion-main-menu>ul>li.bs-cta>a,
body.bs-v4 .fusion-main-menu>ul>li.menu-item-167210>a {
  margin-left: 0 !important;
  padding: 0 12px !important;
}
/* OMEGA_PART_213_MOBILE_MENU_FONT_START */
/* 213_mobile_menu_font.css — WEB-07-QA T3/P2: mobiele menu-font >= 14px @390 (2026-09-24)
   Root-cause (QA_HEADER_IMAGE_INTEGRITY_20260924 [LOW]): part 15_mobile_390.css zet
   .fusion-main-menu>ul>li>a op 13px !important en .bs-cta>a op 12px @max-width:480,
   waardoor het menu op 390px te klein is (leesbaarheid/touch).
   Fix: font-size 14px + line-height 1.5 op alle .fusion-main-menu a binnen body.bs-v4,
   scoped @media (max-width:991px). Append-only aan EINDE style.css -> wint de cascade
   (gelijke/hogere specificity + latere source-order) over part 10/15.
   Design-lock intact: header-structuur, labels, submenu-posities (top:100%, overflow:visible)
   en bs-cta/bs4-hero/sub-menu POSITIES ongewijzigd; alleen font-size + line-height.
   Desktop (>=992px) NIET geraakt. */
@media (max-width: 991px) {
  body.bs-v4 .fusion-main-menu a {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }
  body.bs-v4 .fusion-main-menu>ul>li>a {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }
  body.bs-v4 .fusion-main-menu>ul>li.bs-cta>a {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }
}
/* OMEGA_PART_213_MOBILE_MENU_FONT_END */
/* 214_mobile_cta_contrast.css — WEB-07-QA T4/P2
   Mobiele .bs-cta contrast >= 4.5:1 (WCAG AA) @390px
   Design-lock: hoogte 40px, verticaal gecentreerd, GEEN band-achtergrond.
   Alleen kleur/contrast gewijzigd; hover-gedrag ongewijzigd. */

@media (max-width: 991px) {
  body.bs-v4 .fusion-main-menu > ul > li.bs-cta > a,
  body.bs-v4 .fusion-main-menu > ul > li.menu-item-167210 > a {
    color: #000 !important;
    border-color: #000 !important;
  }
  body.bs-v4 .fusion-main-menu > ul > li.bs-cta > a .menu-text,
  body.bs-v4 .fusion-main-menu > ul > li.menu-item-167210 > a .menu-text {
    color: #000 !important;
  }
}
/* ============================================================
   215_mobile_cta_readability — [70_mobile] per /workspace/ASSIST_70_mobile.md
   Append-only onder body.bs-v4 (design-lock compliant, GEEN sed/cp/mv/>)
   Mobiel <=480px: CTA-leesbaarheid + tap-target(>=44px) + heading-gap
   ============================================================ */
@media (max-width: 480px) {
    /* CTA 'Offerte aanvragen': leesbaarheid (1rem=16px) + tap-target >= 44px */
    body.bs-v4 .bs-cta,
    body.bs-v4 .bs-cta > a {
        font-size: 1rem !important;
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    /* Verklein witruimte tussen headings op mobiel */
    body.bs-v4 .home.page h2,
    body.bs-v4 .home.page h3 {
        margin-top: 1rem !important;
        margin-bottom: 0.5rem !important;
    }
}
/* bs4-mobile-tap v1 — 44px tap-target voor locked 40px menu-CTA (visueel ongewijzigd; design-freeze compliant) */
@media (max-width: 768px) {
  body.bs-v4 li.bs-cta { min-height: 44px; }
  body.bs-v4 li.bs-cta > a,
  body.bs-v4 a.bs-cta { position: relative; }
  body.bs-v4 li.bs-cta > a::before,
  body.bs-v4 a.bs-cta::before {
    content: "";
    position: absolute;
    top: -2px;
    bottom: -2px;
    left: -8px;
    right: -8px;
  }
}
/* FIX: Ovalen bug en zoekknop icon */
.bs-cta {
    padding: 10px 20px !important;
    border-radius: 0px !important; /* Geen ovaal, strakke luxe look */
}
.awb-icon-search {
    display: inline-block !important;
    visibility: visible !important;
}

/* FINAL FIX: Forceer strakke luxe look en elimineer ovaal effect */
.fusion-main-me nu>ul>li.bs-cta>a, 
.fusion-main-menu>ul>li.bs-cta>a,
.bs-cta, 
.bs-cta a {
    padding: 10px 20px !important;
    border-radius: 0px !important;
    border: 1px solid var(--bs-ink) !important;
    height: 40px !important;
    line-height: 40px !important;
}
.awb-icon-search {
    display: inline-block !important;
    visibility: visible !important;
}


/* === PDP Secundaire "Offerte aanvragen" CTA (part 217) === */
body.bs-v4 .bs-pdp-offerte-wrap {
    margin-top: 20px;
    padding: 0;
}
body.bs-v4 .bs-pdp-offerte {
    display: inline-block;
    height: 40px;
    line-height: 38px;
    padding: 0 28px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #B87333;
    border: 1.5px solid #B87333;
    border-radius: 4px;
    background: transparent;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s ease;
}
body.bs-v4 .bs-pdp-offerte:hover,
body.bs-v4 .bs-pdp-offerte:focus {
    color: #fff;
    background: #B87333;
    border-color: #B87333;
    text-decoration: none;
}
@media (max-width: 767px) {
    body.bs-v4 .bs-pdp-offerte-wrap {
        margin-top: 16px;
    }
    body.bs-v4 .bs-pdp-offerte {
        width: 100%;
        text-align: center;
        height: 44px;
        line-height: 42px;
    }
}
/* === /PDP CTA part 217 === */

/* WEB-MENU-1: native Avada holder, not its hidden menu-source clone.
   Keep the menu in flow below the 108px toolbar; Avada owns expansion. */
@media (max-width: 767px) {
  body.bs-v4 .fusion-mobile-nav-holder {
    position: relative;
    top: 8px;
  }

  body.bs-v4 .fusion-mobile-menu-icons a::before,
  body.bs-v4 .fusion-mobile-nav-holder .fusion-open-submenu::before {
    font-family: Arial, sans-serif;
  }

  body.bs-v4 .fusion-mobile-menu-icons .awb-icon-bars::before {
    content: "\2630";
  }

  body.bs-v4 .fusion-mobile-menu-icons .awb-icon-search::before {
    content: "\2315";
  }

  body.bs-v4 .fusion-mobile-menu-icons .awb-icon-shopping-cart::before {
    content: "\1f6d2";
  }

  body.bs-v4 .fusion-mobile-nav-holder .fusion-open-submenu::before {
    content: "+";
  }

  body.bs-v4 .fusion-mobile-nav-holder .fusion-open-submenu[aria-expanded="true"]::before {
    content: "\2212";
  }

  body.bs-v4 .fusion-mobile-menu-icons a:focus-visible {
    outline: 2px solid #b87333;
    outline-offset: 3px;
  }
}

/* === PART 56 — Legal Footer (appended) === */
/* ============================================================
   PART 56 — Legal Footer Links + Anchor of Trust
   BiSelect v4 LUXE — appended under body.bs-v4
   ============================================================ */
body.bs-v4 .bs-legal-footer {
    border-top: 1px solid #e8e4df;
    padding: 32px 0 28px;
    margin-top: 48px;
}
body.bs-v4 .bs-legal-footer .bs-legal-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 24px;
    justify-content: center;
    margin-bottom: 20px;
}
body.bs-v4 .bs-legal-footer .bs-legal-links a {
    color: #1a1a1a;
    font-size: 13px;
    letter-spacing: 0.02em;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s, color 0.2s;
}
body.bs-v4 .bs-legal-footer .bs-legal-links a:hover {
    color: #b87333;
    border-bottom-color: #b87333;
}
body.bs-v4 .bs-legal-footer .bs-anchor-trust {
    text-align: center;
    font-size: 12px;
    color: #6b6560;
    line-height: 1.7;
    max-width: 720px;
    margin: 0 auto;
}
body.bs-v4 .bs-legal-footer .bs-anchor-trust strong {
    color: #1a1a1a;
    font-weight: 600;
}
@media (max-width: 768px) {
    body.bs-v4 .bs-legal-footer {
        padding: 24px 0 20px;
        margin-top: 32px;
    }
    body.bs-v4 .bs-legal-footer .bs-legal-links {
        flex-direction: column;
        align-items: center;
        gap: 6px;
    }
}


/* === PART 218 — Legal Footer Anchor (inside <footer>) === */
body.bs4 .bs-legal-anchor {
    background: #1a1a2e;
    color: #f0ece4;
    font-size: 13px;
    line-height: 1.7;
    padding: 48px 40px 36px;
    margin-top: -1px;
    display: flex;
    gap: 60px;
    flex-wrap: wrap;
}
body.bs4 .bs-legal-anchor h4 {
    color: #c9a96e;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin: 0 0 12px;
    font-weight: 600;
}
body.bs4 .bs-legal-anchor p {
    margin: 0 0 4px;
}
body.bs4 .bs-legal-anchor a {
    color: #f0ece4;
    text-decoration: none;
    transition: color 0.2s ease;
}
body.bs4 .bs-legal-anchor a:hover {
    color: #c9a96e;
}
body.bs4 .bs-legal-col {
    flex: 1;
    min-width: 220px;
}
body.bs4 .bs-legal-links ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
body.bs4 .bs-legal-links li {
    margin-bottom: 6px;
}
body.bs4 .bs-legal-links a {
    display: inline-block;
    padding-bottom: 1px;
    border-bottom: 1px solid transparent;
}
body.bs4 .bs-legal-links a:hover {
    border-bottom-color: #c9a96e;
}
@media (max-width: 768px) {
    body.bs4 .bs-legal-anchor {
        flex-direction: column;
        gap: 28px;
        padding: 32px 24px 28px;
    }
}

/* === PART 219 — Legal Footer Anchor (body.bs4 scoped) === */
body.bs4 .bs-legal-anchor {
    background: #1a1a1a;
    color: #f5f5f5;
    font-size: 13px;
    line-height: 1.7;
    padding: 48px 60px 40px;
    margin-top: 20px;
    border-top: 1px solid rgba(192, 132, 78, 0.3);
}
body.bs4 .bs-legal-anchor .bs-legal-col {
    flex: 1;
    min-width: 260px;
}
body.bs4 .bs-legal-anchor .bs-legal-company {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
body.bs4 .bs-legal-anchor .bs-legal-links h4 {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #c0844e;
    margin: 0 0 12px;
    font-weight: 600;
}
body.bs4 .bs-legal-anchor .bs-legal-links ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
body.bs4 .bs-legal-anchor .bs-legal-links li {
    margin-bottom: 6px;
}
body.bs4 .bs-legal-anchor .bs-legal-links a {
    color: #f5f5f5;
    text-decoration: none;
    transition: color 0.2s ease, border-bottom 0.2s ease;
    border-bottom: 1px solid transparent;
}
body.bs4 .bs-legal-anchor .bs-legal-links a:hover {
    color: #c0844e;
    border-bottom-color: #c0844e;
}
body.bs4 .bs-legal-anchor a {
    color: #f5f5f5;
    text-decoration: none;
}
body.bs4 .bs-legal-anchor a:hover {
    color: #c0844e;
}
/* === END PART 219 — Legal Footer Anchor === */

/* Measured card clipping: only media, never the entire tile, has an aspect ratio. */
body.bs-v4.home .bs4-cats .bs4-cat-tile {
    aspect-ratio: auto !important;
}
body.bs-v4.home .bs4-prod__media {
    height: auto;
}
body.bs-v4.home .bs4-prod__body {
    flex: 1 0 auto;
}
body.bs-v4.home .bs4-section .bs4-prods .bs4-prod__media img {
    object-fit: contain !important;
}

/* The native header row is 72px; Avada's stale inline height adds empty space. */
@media (min-width: 768px) {
    body.bs-v4 .fusion-header-wrapper .fusion-header {
        height: auto !important;
    }
    body.bs-v4 .fusion-header .fusion-main-menu > ul > li:not(.bs-cta) > a {
        padding-inline: 6px !important;
    }
    body.bs-v4 .fusion-header .fusion-main-menu > ul > li > a .menu-text {
        font-size: 14px !important;
    }
    body.bs-v4 .fusion-main-menu .fusion-main-menu-cart > a::before,
    body.bs-v4 .fusion-main-menu .fusion-main-menu-search > a::before {
        content: "";
        display: block !important;
        position: static;
        width: 20px;
        height: 20px;
        flex: 0 0 20px;
        transform: none;
        background: no-repeat center / contain;
    }
    body.bs-v4 .fusion-main-menu .fusion-main-menu-cart > a::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23101828' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h3l3 12h11l3-9H6M8 15l-1 3h12'/%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='18' cy='21' r='1'/%3E%3C/svg%3E");
    }
    body.bs-v4 .fusion-main-menu .fusion-main-menu-search > a::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23101828' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='10' cy='10' r='7'/%3E%3Cpath d='m15 15 6 6'/%3E%3C/svg%3E");
    }
}

/* === OMEGA_PART_217_PDP_CTA_TAP_FIX_START (BUGSWEEP-F1Q-IMP-2) === */
body.bs-v4 .bs-pdp-stickybar__btn,
body.bs-v4 .single_add_to_cart_button,
body.bs-v4 .bioff-pdp-cta,
body.bs-v4 .bs-pdp-b2b-cta {
    min-height: 44px;
    min-width: 44px;
}
@media (max-width: 768px) {
    body.bs-v4 .bs-pdp-stickybar__btn,
    body.bs-v4 .single_add_to_cart_button,
    body.bs-v4 .bioff-pdp-cta,
    body.bs-v4 .bs-pdp-b2b-cta {
        min-height: 48px;
        padding: 12px 20px;
        font-size: 15px;
        line-height: 1.4;
    }
}
/* Ensure add-to-cart form button is tappable */
body.bs-v4 .woocommerce-form-cart .button,
body.bs-v4 .cart .button {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
/* === OMEGA_PART_217_PDP_CTA_TAP_FIX_END === */

/* OMEGA_PART_218_PDP_TAP_FIX */
body.bs-v4 .add_to_cart_button,body.bs-v4 .bs-pdp-stickybar__btn{min-height:44px !important;height:auto !important}
@media(max-width:767px){body.bs-v4 .add_to_cart_button,body.bs-v4 .bs-pdp-stickybar__btn{min-height:44px !important;padding:12px 16px !important}}
/* END_218 */
/* WEB-70-MOBILE-STICKY v1 */

/* === WEB-70-MOBILE-STICKY v1 — Mobile UX fixes (sticky PDP bar, CTA tap, hero) === */
@media (max-width: 781px) {
  /* Sticky add-to-cart on PDP */
  body.bs-v4 .single-product form.cart .button,
  body.bs-v4 .single-product .summary .single_add_to_cart_button,
  body.bs-v4 .single-product .summary .add_to_cart_button {
    position: sticky !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 52px !important;
    border-radius: 0 !important;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.12) !important;
    z-index: 998 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* PDP bottom padding so sticky bar doesn't overlap content */
  body.bs-v4 .single-product {
    padding-bottom: 72px !important;
  }

  /* .bs-cta visible + tappable on mobile */
  body.bs-v4 li.bs-cta,
  body.bs-v4 li.bs-cta a {
    min-height: 40px !important;
    min-width: auto !important;
    padding: 8px 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
  }

  /* Mobile nav toggle renders */
  body.bs-v4 .fusion-mobile-menu-toggle,
  body.bs-v4 .mobile-nav-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 44px !important;
    min-height: 44px !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Hero mobile: proper stack */
  body.bs-v4 .bs4-hero {
    min-height: auto !important;
    padding: 32px 16px 40px !important;
  }
  body.bs-v4 .bs4-hero h1 {
    font-size: 1.75rem !important;
    line-height: 1.25 !important;
  }
  body.bs-v4 .bs4-hero p {
    font-size: 1rem !important;
    margin-bottom: 20px !important;
  }

  /* General tap targets */
  body.bs-v4 #main .button,
  body.bs-v4 #main .btn,
  body.bs-v4 #main button,
  body.bs-v4 #main input[type=submit] {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

/* ============================================================
   230 OFFERTE CONTRAST v1 — 2026-10-01 · TOM-URGENT P2 (wp_bbd95, taak 3/4)
   Scope: ALLEEN offerte-aanvragen-pagina (:has(.bs-offerte-container)).
   Hoog contrast: alle tekst >= 4.5:1; koper accent behouden (diep-koper
   knop #8f5a2b = AA-variant, witte knoptekst 5.7:1). Header/menu/
   homepage-hero onaangetast. Appended onder body.bs-v4 (v4-scope).
   ============================================================ */

/* --- 1. Hero: wit op inkt-navy (h1 17.4:1, sub 13.4:1) ------- */
body.bs-v4 .fusion-text:has(> .bs-offerte-container) > .bs-page-hero {
  background: #0d1b2a;
  padding: 56px 24px;
  text-align: center;
}
body.bs-v4 .fusion-text:has(> .bs-offerte-container) > .bs-page-hero h1 {
  color: #ffffff !important;
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 800;
  letter-spacing: -0.02em;
  margin: 0 0 12px;
}
body.bs-v4 .fusion-text:has(> .bs-offerte-container) > .bs-page-hero p {
  color: #d9e2f0 !important;
  font-size: 17px;
  max-width: 720px;
  margin: 0 auto;
}

/* --- 2. Licht canvas voor inhoud (prose + formulier) --------- */
body.bs-v4 .fusion-text:has(> .bs-offerte-container) {
  background: #ffffff;
}
body.bs-v4 .fusion-text:has(> .bs-offerte-container) .bs-prose p,
body.bs-v4 .fusion-text:has(> .bs-offerte-container) .bs-prose li {
  color: #1f2937 !important;
}
body.bs-v4 .fusion-text:has(> .bs-offerte-container) .bs-prose strong {
  color: #0d1b2a !important;
}

/* --- 3. Formulier-kop (17.4:1 op wit) ------------------------ */
body.bs-v4 .bs-offerte-container h2 {
  color: #0d1b2a !important;
  font-weight: 800;
  font-size: 26px;
  margin: 8px 0 20px;
}

/* --- 4. Labels + verplichte markering (16:1 / 6.5:1) --------- */
body.bs-v4 .bs-offerte-container label {
  color: #111827 !important;
  font-weight: 600;
  font-size: 14.5px;
}
body.bs-v4 .bs-offerte-container .bioff-required {
  color: #b91c1c !important;
}

/* --- 5. Inputs (inkt op licht, koper focus-ring) ------------- */
body.bs-v4 .bs-offerte-container .bioff-input {
  color: #111827 !important;
  background: #f8fafc !important;
  border: 1.5px solid #94a3b8 !important;
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 15.5px;
  line-height: 1.5;
}
body.bs-v4 .bs-offerte-container .bioff-input::placeholder {
  color: #4b5563 !important;
}
body.bs-v4 .bs-offerte-container .bioff-input:focus {
  outline: none;
  border-color: #8f5a2b !important;
  box-shadow: 0 0 0 3px rgba(143, 90, 43, 0.25);
  background: #ffffff !important;
}

/* --- 6. Knop: diep koper + wit (5.7:1, AA) ------------------- */
body.bs-v4 .bs-offerte-container .bioff-btn {
  min-height: 48px;
  padding: 12px 28px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
  border: none;
}
body.bs-v4 .bs-offerte-container .bioff-btn-primary {
  background: #8f5a2b !important;
  color: #ffffff !important;
}
body.bs-v4 .bs-offerte-container .bioff-btn-primary:hover,
body.bs-v4 .bs-offerte-container .bioff-btn-primary:focus {
  background: #7a4c22 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(143, 90, 43, 0.35);
}

/* --- 7. Privacy-note (7.6:1 op wit) -------------------------- */
body.bs-v4 .bs-offerte-container .bioff-privacy {
  color: #4b5563 !important;
  font-size: 13.5px;
}

/* Part 33: Product gallery width fix (RELEASE-8) */
body.bs-v4.single-product #content div.product,
body.bs-v4.woocommerce.single-product div.product {
  grid-template-columns: minmax(0, 74%) minmax(0, 1fr) !important;
}
/* Part 34: Search button padding + right-side gap fix (QA wp_944af, 2026-10-03)
   Doel: (a) submit-knop hoogte = input (40px), (b) border-radius right-only,
   (c) zoekveld tegen rechterrand schuiven (margin-left:auto in flex). */
@media (min-width: 1025px) {
  /* Knop: hoogte matchen op input, padding aanpassen, radius alleen rechts */
  body.bs-v4 .fusion-main-menu-search .fusion-search-form .fusion-search-button input[type=submit] {
    height: 40px !important;
    border-radius: 0 var(--bs-radius-btn, 6px) var(--bs-radius-btn, 6px) 0 !important;
    padding: 0 18px !important;
    min-width: 52px;
    line-height: 40px !important;
  }

  /* Geen extra margin/padding rond de button-container */
  body.bs-v4 .fusion-main-menu-search .fusion-search-form .fusion-search-button {
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Zoekveld naar rechterrand duwen (elimineert right-side gap) */
  body.bs-v4 .fusion-main-menu > ul > li.fusion-main-menu-search {
    margin-left: auto !important;
    margin-right: 0 !important;
    padding-right: 0 !important;
  }

  /* Contents-div: geen extra ruimte rechts */
  body.bs-v4 .fusion-main-menu-search .fusion-custom-menu-item-contents {
    margin-right: 0 !important;
    padding-right: 0 !important;
  }
}

/* Part 35: Search button padding micro-bump (QA wp_944af follow-up, 2026-10-04)
   Adresseert visual_check observatie: "slightly too small, could benefit from increased padding" */
@media (min-width: 1025px) {
  body.bs-v4 .fusion-main-menu-search .fusion-search-form .fusion-search-button input[type=submit] {
    padding: 0 20px !important;
    min-width: 56px;
  }
}

/* Part 36: Header search icon + button padding & right-gap fix (QA wp_944af, 2026-10-04)
   Root cause: Parts 34/35 targetten .fusion-main-menu>ul>li.fusion-main-menu-search
   maar de search-elementen zitten direct in nav/ul zonder dat li-wrapper.
   Brede selectors + !important nodig om Avada defaults te override. */
@media (min-width: 1025px) {
  /* Zoek-icoon (awb-icon-search): verticale centering + adequate padding */
  body.bs-v4 .fusion-main-menu a.awb-icon-search,
  body.bs-v4 nav.fusion-main-menu .awb-icon-search {
    padding: 0 14px !important;
    min-width: 44px;
    height: 72px;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 72px !important;
    font-size: 18px !important;
  }

  /* Cart-icoon: consistent met search */
  body.bs-v4 .fusion-main-menu a.awb-icon-shopping-cart,
  body.bs-v4 nav.fusion-main-menu .awb-icon-shopping-cart {
    padding: 0 14px !important;
    min-width: 44px;
    height: 72px;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 72px !important;
    font-size: 18px !important;
  }

  /* Search-form submit-knop (desktop header): hoogte + padding matchen */
  body.bs-v4 .fusion-main-menu .fusion-search-button input[type=submit],
  body.bs-v4 .fusion-main-menu .fusion-search-submit,
  body.bs-v4 nav.fusion-main-menu .searchsubmit {
    height: 40px !important;
    padding: 0 20px !important;
    min-width: 56px;
    line-height: 40px !important;
    border-radius: 0 6px 6px 0 !important;
  }

  /* Search-form container: geen extra right-margin/padding */
  body.bs-v4 .fusion-main-menu .fusion-search-form-content,
  body.bs-v4 .fusion-main-menu .fusion-search-form,
  body.bs-v4 nav.fusion-main-menu .fusion-search-form-content {
    margin-right: 0 !important;
    padding-right: 0 !important;
    margin-left: auto !important;
  }

  /* Nav ul: right-padding elimineren (right-side gap) */
  body.bs-v4 .fusion-main-menu > ul.fusion-menu,
  body.bs-v4 nav.fusion-main-menu > ul {
    padding-right: 0 !important;
    margin-right: 0 !important;
  }

  /* Nav zelf: geen right-gap */
  body.bs-v4 .fusion-main-menu,
  body.bs-v4 nav.fusion-main-menu {
    padding-right: 0 !important;
    margin-right: 0 !important;
  }
}

/* Part 37: QA-fix wp_944af — search button padding + logo partner-gap (2026-10-05)
   Issues: zoekknop "slightly too small" (44px→48px); white gap tussen
   "Officiële Simon Park Partner" badge en hooflogo. */
body.bs-v4 .fusion-header .searchsubmit,
body.bs-v4 .fusion-header .awb-icon-search {
    width: 48px !important;
    height: 48px !important;
    line-height: 48px !important;
    padding: 6px !important;
    box-sizing: border-box;
}
body.bs-v4 .fusion-header .searchsubmit::before,
body.bs-v4 .fusion-header .awb-icon-search::before {
    font-size: 17px !important;
    line-height: 36px !important;
}
/* Logo-partner badge: reduceer gap tussen partner-tekst en logo */
body.bs-v4 .fusion-header .fusion-logo img,
body.bs-v4 .fusion-header .fusion-logo a {
    margin-right: 0 !important;
}
body.bs-v4 .fusion-header .fusion-logo + .fusion-secondary-nav,
body.bs-v4 .fusion-header .partner-badge,
body.bs-v4 .fusion-header .fusion-logo-wrap {
    gap: 4px !important;
    margin-left: 0 !important;
}

/* Part 38: QA-fix wp_944af v2 — search icon width 44 to 56px (desktop only, 2026-10-05)
   Part 36 set min-width:44px without !important. Same specificity + later source order wins.
   Only fixes icon width/padding; NO logo/gap rules (those regressed mobile score 9 to 8). */
@media (min-width: 1025px) {
  body.bs-v4 nav.fusion-main-menu a.awb-icon-search,
  body.bs-v4 .fusion-main-menu a.awb-icon-search {
    min-width: 56px !important;
    width: 56px !important;
    padding: 0 12px !important;
    height: 72px !important;
    line-height: 72px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}


/* Part 39: QA-fix wp_944af v3 — search icon 56→60px + padding 12→14px (desktop only, 2026-10-05)
   Addresses Researcher FAIL: "Zoek-knop padding & right-side gap"
   Minimal bump only; NO other header rules touched. */
@media (min-width: 1025px) {
  body.bs-v4 nav.fusion-main-menu a.awb-icon-search,
  body.bs-v4 .fusion-main-menu a.awb-icon-search {
    min-width: 60px !important;
    width: 60px !important;
    padding: 0 14px !important;
  }
}

/* ============================================================ */
/* 231 OFFERTE CATALOGS CONTRAST FIX — 2026-10-05 · TOM-URGENT P2 */
/* Scope: .bioff-catalogs spans met inline #94a3b8 -> #475569 (AA pass) */
body.bs-v4 .bs-offerte-container .bioff-catalogs span {
  color: #475569 !important;
}
body.bs-v4 .bs-offerte-container span[style*="font-size:11px"] {
  color: #475569 !important;
}

/* === BS PDP 5FIX — D1/D2/D3/D4/D5 (append onder body.bs-v4) === */
body.bs-v4 .bs5fix-cta-row { display: flex; align-items: center; gap: 12px; margin-top: 10px; }
body.bs-v4 .bs5fix-cta-offerte { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 8px 24px; background: #fff; color: #1e293b; border: 1.5px solid #1e293b; border-radius: 6px; font-size: 14px; font-weight: 600; text-decoration: none; transition: all .2s; }
body.bs-v4 .bs5fix-cta-offerte:hover { background: #1e293b; color: #fff; }
body.bs-v4 .bs5fix-rel-btn { display: inline-block; padding: 6px 14px; font-size: 13px; font-weight: 500; text-decoration: none; border-radius: 4px; margin: 2px 4px 2px 0; }
body.bs-v4 .bs5fix-rel-btn--cart { background: #1e293b; color: #fff; }
body.bs-v4 .bs5fix-rel-btn--cart:hover { background: #334155; }
body.bs-v4 .bs5fix-rel-btn--details { background: transparent; color: #475569; border: 1px solid #cbd5e1; }
body.bs-v4 .bs5fix-rel-btn--details:hover { border-color: #1e293b; color: #1e293b; }
body.bs-v4 .bs5fix-extended-info { margin-top: 20px; padding-top: 16px; border-top: 1px solid #e2e8f0; }
body.bs-v4 .bs5fix-extended-info p { font-size: 15px; line-height: 1.7; color: #334155; margin-bottom: 12px; }
body.bs-v4 .bs5fix-extended-info h3 { font-size: 16px; font-weight: 700; color: #1e293b; margin: 16px 0 8px; }
body.bs-v4 .bs5fix-kenmerken { list-style: none; padding: 0; margin: 0; }
body.bs-v4 .bs5fix-kenmerken li { padding: 6px 0; font-size: 14px; color: #334155; border-bottom: 1px solid #f1f5f9; }
body.bs-v4 .bs5fix-docs-list { list-style: none; padding: 0; }
body.bs-v4 .bs5fix-docs-list li { padding: 8px 0; border-bottom: 1px solid #e2e8f0; }
body.bs-v4 .bs5fix-docs-list a { color: #1e293b; font-weight: 500; text-decoration: none; }
body.bs-v4 .bs5fix-docs-list a:hover { text-decoration: underline; }
/* 232_pdp5fix.css — PDP-5FIX (Tom 2026-10-06): D1 dots, D2 related, D3 USP, D4 CTA-rij, D5 tabs. Alleen body.bs-v4. */
body.bs-v4 .bs5fix-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0 0;}
body.bs-v4 .bs5fix-cta-offerte{display:inline-block;background:#f1f5f9;color:#1e293b;border:1px solid #cbd5e1;border-radius:6px;padding:10px 22px;font-size:14px;font-weight:600;text-decoration:none;line-height:1.4;}
body.bs-v4 .bs5fix-cta-offerte:hover{background:#e2e8f0;color:#0f172a;}
body.bs-v4 .bs5fix-related{margin:52px 0 0;}
body.bs-v4 .bs5fix-related-title{font-size:24px;font-weight:700;color:#0f172a;margin:0 0 20px;line-height:1.3;}
body.bs-v4 .bs5fix-related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
body.bs-v4 .bs5fix-rel-item{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:10px;}
body.bs-v4 .bs5fix-rel-img{display:block;}
body.bs-v4 .bs5fix-rel-img img{width:100%;height:170px;object-fit:contain;}
body.bs-v4 .bs5fix-rel-title{font-size:14px;font-weight:600;color:#0f172a;margin:0;line-height:1.4;}
body.bs-v4 .bs5fix-rel-title a{color:inherit;text-decoration:none;}
body.bs-v4 .bs5fix-rel-price{font-size:14px;font-weight:600;color:#1e293b;}
body.bs-v4 .bs5fix-rel-actions{display:flex;gap:10px;margin-top:auto;}
body.bs-v4 .bs5fix-rel-btn{flex:1;text-align:center;padding:9px 8px;font-size:13px;font-weight:600;border-radius:6px;text-decoration:none;line-height:1.4;}
body.bs-v4 .bs5fix-rel-btn--cart{background:#1e293b;color:#fff;}
body.bs-v4 .bs5fix-rel-btn--cart:hover{background:#0f172a;color:#fff;}
body.bs-v4 .bs5fix-rel-btn--details{background:#f8fafc;color:#1e293b;border:1px solid #cbd5e1;}
body.bs-v4 .bs-spec-table{width:100%;border-collapse:collapse;margin:0;}
body.bs-v4 .bs-spec-table th,body.bs-v4 .bs-spec-table td{padding:9px 10px;border-bottom:1px solid #e2e8f0;text-align:left;font-size:14px;vertical-align:top;}
body.bs-v4 .bs-spec-table th{width:34%;color:#64748b;font-weight:600;}
body.bs-v4 .bs5fix-docs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
body.bs-v4 .bs5fix-docs-list a{display:block;padding:10px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:14px;font-weight:500;text-decoration:none;}
body.bs-v4 .bs5fix-extended-info p{margin:0 0 12px;line-height:1.7;color:#334155;font-size:15px;}
body.bs-v4 .bs5fix-extended-info h3{font-size:16px;font-weight:700;color:#0f172a;margin:18px 0 10px;}
body.bs-v4 .bs5fix-kenmerken{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:6px 24px;}
body.bs-v4 .bs5fix-kenmerken li{font-size:14px;color:#334155;line-height:1.6;}
/* D3: USP-rijen ademruimte (kandidaat-selectors; verfijnen na recon B2) */
body.bs-v4 .bs-pdp-usp,body.bs-v4 .woocommerce-product-details__short-description ul{list-style:none;margin:10px 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;}
body.bs-v4 .bs-pdp-usp li,body.bs-v4 .woocommerce-product-details__short-description ul li{display:flex;align-items:center;gap:7px;font-size:14px;color:#334155;line-height:1.6;}
/* D1: dots extra gerichtet (naast bestaande bs-pdp-dots-hide) */
body.bs-v4 .avada-single-product-gallery-wrapper .fusion-slider-nav,
body.bs-v4 .avada-single-product-gallery-wrapper .fusion-slider-dots,
body.bs-v4 .avada-single-product-gallery-wrapper [class*="slider-dot"],
body.bs-v4 .woocommerce-product-gallery .flex-control-nav,
body.bs-v4 .woocommerce-product-gallery .flex-control-thumbs{display:none!important;visibility:hidden!important;}
@media(max-width:1024px){body.bs-v4 .bs5fix-related-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){body.bs-v4 .bs5fix-related-grid{grid-template-columns:1fr 1fr;gap:12px;}body.bs-v4 .bs5fix-rel-img img{height:120px;}body.bs-v4 .bs5fix-kenmerken{grid-template-columns:1fr;}}

/* === 233_pdp5fix_dots (PDP-5FIX D3 USP-spacing + D2 responsive grid, Tom 2026-10-06) ===
/* 233_pdp5fix_dots.css — PDP-5FIX D3 USP-ademruimte + responsive grid (Tom 2026-10-06). Alleen body.bs-v4. */
body.bs-v4 .bs-price-note{margin:2px 0 6px;font-size:14px;color:#64748b;line-height:1.5;}
body.bs-v4 .bs-stock-ok{margin:0 0 12px;font-size:14px;font-weight:600;color:#15803d;line-height:1.5;}
body.bs-v4 .bs-pdp-usp{margin:0 0 14px;}
body.bs-v4 .bs-pdp-usp li{margin-bottom:2px;}
body.bs-v4 .bs-pdp-trust{margin-top:18px;}
/* D2 related grid: responsive (part 232 had alleen desktop 4-col) */
@media (max-width:1024px){
body.bs-v4 .bs5fix-related-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:640px){
body.bs-v4 .bs5fix-related-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
body.bs-v4 .bs5fix-rel-img img{height:120px;}
body.bs-v4 .bs5fix-kenmerken{grid-template-columns:1fr;}
body.bs-v4 .bs5fix-cta-row{flex-direction:column;gap:10px;}
body.bs-v4 .bs5fix-cta-offerte{width:100%;text-align:center;}
body.bs-v4 .bs5fix-related-title{font-size:20px;}
}

/* ============================================================
   Part 218: HEADER SEARCH + MOBILE ASSORTIMENT FIX
   QA: NL-TITELS-V2-BATCH2 FAIL (2026-10-05)
   Defecten: desktop zoekknop padding/gap; mobile font-size + gaps
   Scope: body.bs-v4 ONLY. Frozen selectors NIET aangetast.
   ============================================================ */

/* --- DESKTOP: Search button — aggressive padding + gap elimination --- */
@media (min-width: 1025px) {
  /* Submit-knop: grotere padding, min-width, exacte hoogte */
  body.bs-v4 .fusion-main-menu-search .fusion-search-form .fusion-search-button input[type=submit],
  body.bs-v4 .fusion-main-menu-search .fusion-search-form .fusion-search-button .searchsubmit,
  body.bs-v4 .fusion-main-menu-search .fusion-search-form button[type=submit] {
    padding: 0 24px !important;
    min-width: 64px !important;
    height: 40px !important;
    line-height: 40px !important;
    border-radius: 0 6px 6px 0 !important;
    margin: 0 !important;
  }

  /* Form-container: geen right-margin/padding (elimineert white gap) */
  body.bs-v4 .fusion-main-menu-search .fusion-search-form,
  body.bs-v4 .fusion-main-menu-search .fusion-custom-menu-item-contents {
    margin-right: 0 !important;
    padding-right: 0 !important;
    margin-left: auto !important;
  }

  /* Li-wrapper: flush tegen rechterrand */
  body.bs-v4 .fusion-main-menu > ul > li.fusion-main-menu-search,
  body.bs-v4 .fusion-main-menu > ul > li.menu-item-type-custom.search {
    margin-right: 0 !important;
    padding-right: 0 !important;
  }
}

/* --- MOBILE: Assortiment section — font-size + gap fixes --- */
@media (max-width: 768px) {
  /* Sectie-kop: leesbaar font-size */
  body.bs-v4 .bs4-cats h2,
  body.bs-v4 .bs4-cats h3,
  body.bs-v4 .bs4-cats .bs4-cat-tile__title,
  body.bs-v4 .bs4-cats .section-title {
    font-size: 18px !important;
    line-height: 1.4 !important;
    margin-bottom: 16px !important;
  }

  /* Grid: compactere gap (elimineert witte ruimte) */
  body.bs-v4 .bs4-cats .bs4-cat-grid,
  body.bs-v4 .bs4-cats .bs4-cat-tile {
    gap: 12px !important;
  }

  /* Tile-content: minder margin boven/onder img */
  body.bs-v4 .bs4-cats .bs4-cat-tile__img + * {
    margin-top: 8px !important;
  }
  body.bs-v4 .bs4-cats .bs4-cat-tile {
    padding: 0 !important;
  }

  /* Product-tiles: consistent */
  body.bs-v4 .bs4-prods .bs4-prod__media + * {
    margin-top: 8px !important;
  }
  body.bs-v4 .bs4-prods .bs4-prod-grid {
    gap: 12px !important;
  }

  /* Algemene sectie-spacing: geen extra white space */
  body.bs-v4 .bs4-cats,
  body.bs-v4 .bs4-prods {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
  }
}

/* --- MOBILE: Header search icon — adequate touch-target --- */
@media (max-width: 768px) {
  body.bs-v4 .fusion-main-menu a.awb-icon-search,
  body.bs-v4 nav.fusion-main-menu .awb-icon-search {
    padding: 0 12px !important;
    min-width: 44px;
    height: 56px;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}
/* === Part 234: QA-fix header search (desktop) + mobile section spacing === */
/* Correcte selectors: form heeft .fusion-search-form-classic, NIET .fusion-main-menu-search parent */

/* --- DESKTOP: zoekknop padding + alignment fix --- */
body.bs-v4 .fusion-search-form-classic .fusion-search-button input[type=submit],
body.bs-v4 .fusion-search-form-classic .searchsubmit {
  padding: 0 18px !important;
  min-width: 52px !important;
  height: 40px !important;
  line-height: 40px !important;
  font-size: 16px !important;
  background: var(--bs-ink, #1a1a2e) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 4px 4px 0 !important;
}

body.bs-v4 .fusion-search-form-classic .fusion-search-button {
  margin: 0 !important;
  padding: 0 !important;
}

body.bs-v4 .fusion-search-form-classic .fusion-search-form-content {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
}

body.bs-v4 .fusion-search-form-classic .fusion-search-field {
  margin: 0 !important;
  padding: 0 !important;
}

body.bs-v4 .fusion-search-form-classic .fusion-search-field input[type=search],
body.bs-v4 .fusion-search-form-classic .fusion-search-field .s {
  height: 40px !important;
  padding: 0 16px !important;
  font-size: 15px !important;
  border-radius: 4px 0 0 4px !important;
}

/* --- MOBILE (<=768px): Assortiment sectie spacing + typografie --- */
@media (max-width: 768px) {
  /* Eyebrow "Assortiment": leesbaar op kleine schermen (was 12px) */
  body.bs-v4 .bs-eyebrow {
    font-size: 13px !important;
    letter-spacing: .12em !important;
    margin-bottom: 10px !important;
  }

  /* Sectie-kop: verminder gap naar content (was clamp(36px,4vw,56px) = 36px op mobiel) */
  body.bs-v4 .bs4-section__head {
    margin-bottom: 20px !important;
  }

  /* H2 in sectie-kop: minimaal 22px op mobiel (clamp min is 28px maar ensure readability) */
  body.bs-v4 .bs4-section__head h2 {
    font-size: 22px !important;
    line-height: 1.3 !important;
  }

  /* Cat-tiles: compactere gap (elimineert witte ruimte tussen kop en grid) */
  body.bs-v4 .bs4-cats {
    gap: 12px !important;
    padding-top: 0 !important;
  }

  /* Product-grid: compact */
  body.bs-v4 .bs4-prods {
    gap: 12px !important;
  }
}

/* --- MOBILE (<=480px): extra compact --- */
@media (max-width: 480px) {
  body.bs-v4 .bs-eyebrow {
    font-size: 12px !important;
  }
  body.bs-v4 .bs4-section__head {
    margin-bottom: 16px !important;
  }
  body.bs-v4 .bs4-section__head h2 {
    font-size: 20px !important;
  }
}

/* === Part 235: Mobile readability + spacing fix (overrides Part 234 480px regression) === */
/* QA-finding: eyebrow font-size te klein op 390px; layout gaps tussen sectie-kop en grid */
@media (max-width: 768px) {
  body.bs-v4 .bs-eyebrow {
    font-size: 14px !important;
    line-height: 1.4 !important;
    margin-bottom: 14px !important;
  }

  body.bs-v4 .bs4-section__head {
    margin-bottom: 18px !important;
  }

  body.bs-v4 .bs4-section__head h2 {
    font-size: 22px !important;
    line-height: 1.35 !important;
  }

  body.bs-v4 .bs4-cats {
    gap: 14px !important;
    padding-top: 0 !important;
  }

  body.bs-v4 .bs4-prods {
    gap: 14px !important;
  }
}

@media (max-width: 480px) {
  body.bs-v4 .bs-eyebrow {
    font-size: 13px !important;
    line-height: 1.4 !important;
  }

  body.bs-v4 .bs4-section__head {
    margin-bottom: 14px !important;
  }

  body.bs-v4 .bs4-section__head h2 {
    font-size: 20px !important;
    line-height: 1.3 !important;
  }
}

/* === QA-FIX 2026-10-06: search button + mobile tiles (selector-correct) === */
/* Desktop 1440px: zoekknop padding + flush-right */
@media (min-width: 769px) {
  body.bs-v4 .fusion-main-menu-search .fusion-search-submit.searchsubmit,
  body.bs-v4 .fusion-main-menu-search .fusion-search-button.search-button,
  body.bs-v4 .fusion-main-menu-search .fusion-search-form button,
  body.bs-v4 .fusion-main-menu-search .fusion-search-form [type=submit] {
    padding: 0 20px !important;
    min-width: 56px !important;
    height: 38px !important;
    line-height: 38px !important;
    margin: 0 !important;
    border-radius: 0 4px 4px 0 !important;
  }
  body.bs-v4 .fusion-main-menu-search .fusion-search-form,
  body.bs-v4 .fusion-main-menu-search .fusion-custom-menu-item-contents,
  body.bs-v4 .fusion-main-menu > ul > li.fusion-main-menu-search {
    margin-right: 0 !important;
    padding-right: 0 !important;
  }
}

/* Mobile <=768px: assortiment tiles — font-size + gap (juiste class: __label) */
@media (max-width: 768px) {
  body.bs-v4 .bs4-cats h2,
  body.bs-v4 .bs4-cats h3,
  body.bs-v4 .bs4-cats .section-title,
  body.bs-v4 .bs4-cats .bs4-cat-tile__title,
  body.bs-v4 .bs4-cats .bs4-cat-tile__label {
    font-size: 17px !important;
    line-height: 1.35 !important;
    margin-bottom: 14px !important;
  }
  body.bs-v4 .bs4-cats .bs4-cat-grid,
  body.bs-v4 .bs4-cats .bs4-cat-tile {
    gap: 10px !important;
    padding: 0 !important;
  }
  body.bs-v4 .bs4-cats .bs4-cat-tile__img {
    margin-bottom: 6px !important;
  }
  body.bs-v4 .bs4-prods .bs4-prod-grid {
    gap: 10px !important;
  }
  body.bs-v4 .bs4-cats,
  body.bs-v4 .bs4-prods {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
  }
}

/* === 33_qa_fix_batch2 — header search alignment (desktop) + mobile layout === */
body.bs-v4 .fusion-header-row .fusion-search-icon,
body.bs-v4 .fusion-header-right .fusion-search-icon {
  padding: 10px 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
body.bs-v4 .fusion-header-right .fusion-search-icon {
  margin-left: 6px;
  margin-right: 0;
}
body.bs-v4 .fusion-searchform {
  padding: 8px 12px;
}
@media (max-width: 480px) {
  body.bs-v4 .fusion-header-row {
    padding-left: 12px !important;
    padding-right: 12px !important;
    gap: 4px;
  }
  body.bs-v4 .fusion-main-menu .fusion-menu-item > a,
  body.bs-v4 .fusion-nav-menu .fusion-menu-item > a {
    font-size: 13px;
    padding: 6px 8px;
  }
  body.bs-v4 .fusion-search-icon {
    padding: 8px 10px !important;
  }
  body.bs-v4 .fusion-header-right {
    gap: 2px;
  }
}
/* GALLERY-FIX v3 — 2026-10-06 — DoD: >=800px @1440 viewport */
/* Root cause: Avada .fusion-builder-row / .fusion-column percentage-widths
   + .woocommerce-product-gallery inline max-width construeren de PDP op ~500px.
   Fix: force 100% width op alle PDP containers boven 768px. */

@media (min-width: 768px) {
    body.bs-v4.single-product .fusion-builder-row,
    body.bs-v4.single-product .fusion-builder-column,
    body.bs-v4.single-product .fusion-row,
    body.bs-v4.single-product .fusion-column,
    body.bs-v4.single-product .fusion-secondary-column,
    body.bs-v4.single-product .fusion-main-content,
    body.bs-v4.single-product .entry-content,
    body.bs-v4.single-product .container,
    body.bs-v4.single-product .woocommerce,
    body.bs-v4.single-product .woocommerce div.product,
    body.bs-v4.single-product .woocommerce div.product .woocommerce-product-gallery,
    body.bs-v4.single-product .woocommerce div.product .woocommerce-product-gallery__wrapper,
    body.bs-v4.single-product .fusion-woo-product-design-classic,
    body.bs-v4.single-product .fusion-woo-product-design-classic .product {
        max-width: 100% !important;
        width: 100% !important;
        min-width: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body.bs-v4.single-product .fusion-builder-row .fusion-builder-column {
        flex: 1 1 100% !important;
        max-width: 100% !important;
    }

    body.bs-v4.single-product .woocommerce div.product .woocommerce-product-gallery .flex-viewport {
        max-width: 100% !important;
        width: 100% !important;
    }
}
/* part219 — FIX (QA FAIL task_3df2a1e1fddc, mobiel 390px)
   1) .bs4-hero__media is een <picture> = display:inline -> height/min/max-height
      (locked regels 1492/1798) werden genegeerd; img rendert op natuurlijke
      verhouding (426px) i.p.v. de ontworpen box (187-260px, object-fit:cover).
      display:block herstelt de locked mobile-hero-sizes. Alleen <=760px;
      desktop (position:absolute) blijft ongewijzigd.
   2) .bs4-prod__media zonder <img> (7/8 featured products) rendert als lege
      ~277px witte box = "layout gap". Verbergen tot Engineer data-backfill
      (catalogus image_url) de echte beelden aanlevert. */
@media (max-width: 760px) {
  body.bs-v4 .bs4-hero__media { display: block; }
}
body.bs-v4 .bs4-prod__media:not(:has(img)) { display: none !important; }
/* part220 — FIX (QA FAIL task_3df2a1e1fddc, mobiel 390px)
   Vervolg part219: .bs4-hero__media is nu display:block -> de locked 48vw-box
   (160-260px) past weer. Maar de <img> rendert nog op natuurlijke verhouding
   (358x426) en OVERFLOWT de 187px-box (scrollH=426 > clientH=187).
   width/height:100% + object-fit:cover dwingt het beeld in de ontworpen box:
   geen overflow, scherp center-crop. Alleen <=480px (= locked 48vw-breakpoint);
   desktop (position:absolute, 702px) blijft ongewijzigd. */
@media (max-width: 480px) {
  body.bs-v4 .bs4-hero__media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
}
/* part221 — FIX (QA FAIL task_3df2a1e1fddc, mobiel 390px)
   Vervolg part219/220: height:100% op img binnen <picture> faalt
   (intrinsic aspect ratio prevaleert: compH=426 vs box=187).
   Robuuste fix = position:absolute;inset:0 op de img, zelfde mechanisme
   als desktop (regel 1483-1484). Op mobiel is parent position:relative
   (locked regel 1492), dus absolute vult de 48vw-box exact.
   Alleen <=760px; desktop ongewijzigd. */
@media (max-width: 760px) {
  body.bs-v4 .bs4-hero__media img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 60% 50% !important;
  }
}
/* part222 — FIX (QA FAIL task_3df2a1e1fddc, mobiel 390px)
   Root-cause iter19: part219 `body.bs-v4 .bs4-prod__media:not(:has(img))`
   (spec 0,2,2) verloor van locked-regel `body.bs-v4.home .bs4-prod__media{display:flex !important}`
   (spec 0,3,1): beide !important -> specificiteit beslist, niet volgorde.
   :has() zelf is actief (CSS.supports=true, probe5). Fix = zelfde intent met
   hogere specificiteit: :empty (7/8 boxen innerLen=0) + :not(:has(img)) zodat
   boxen automatisch terugkomen zodra Engineer de image-backfill aanlevert.
   Geen viewport-scope (defect op alle breakpoints); hero part219/220/221 onaangetast. */
body.bs-v4.home .bs4-prod__media:empty,
body.bs-v4.home .bs4-prod__media:not(:has(img)) { display: none !important; }
/* part 235: AVAILABILITY-MODEL two-tier stock line (productpagina) */
body.bs-v4 .single-product .bs-stock-order{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:600;color:#9a6b3f;line-height:1.5;}
body.bs-v4 .single-product .bs-stock-order::before{content:"●";font-size:11px;}
/* 236_shop_archive_v4_cards.css — T1: /shop/ archiefkaarten in v4-look
   Porselein-kaart, hairline mist-rand, koper accent (hover, prijs, CTA).
   Scope: uitsluitend WooCommerce-archief/shop-pagina's (woocommerce-page, tax-product_cat).
   Home/PDP/header/menu blijven onaangetast. Append-only onder body.bs-v4 (design-freeze v4, T1). */

/* Kaart zelf: porselein + hairline rand, geen harde schaduw */
body.bs-v4.woocommerce-page ul.products li.product,
body.bs-v4.tax-product_cat ul.products li.product {
  background: var(--bs-porcelain) !important;
  border: 1px solid var(--bs-mist) !important;
  border-radius: var(--bs-radius) !important;
  box-shadow: none !important;
  padding: 14px !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

/* Hover: koper hairline + zachte schaduw */
body.bs-v4.woocommerce-page ul.products li.product:hover,
body.bs-v4.tax-product_cat ul.products li.product:hover {
  border-color: var(--bs-copper) !important;
  box-shadow: 0 10px 28px rgba(13,38,76,.10) !important;
  transform: translateY(-2px);
}

/* Productafbeelding: wit vlak binnen de porselein-kaart (contrast) */
body.bs-v4.woocommerce-page ul.products li.product .product-images,
body.bs-v4.tax-product_cat ul.products li.product .product-images,
body.bs-v4.woocommerce-page ul.products li.product .featured-image,
body.bs-v4.tax-product_cat ul.products li.product .featured-image {
  background: #fff !important;
  border-radius: var(--bs-radius-sm) !important;
  overflow: hidden;
}

body.bs-v4.woocommerce-page ul.products li.product .product-images img,
body.bs-v4.tax-product_cat ul.products li.product .product-images img {
  object-fit: contain;
}
/* Titel: ink, koper op hover */
body.bs-v4.woocommerce-page ul.products li.product .product-title,
body.bs-v4.tax-product_cat ul.products li.product .product-title {
  color: var(--bs-ink) !important;
  font-weight: 600 !important;
}

body.bs-v4.woocommerce-page ul.products li.product:hover .product-title a,
body.bs-v4.tax-product_cat ul.products li.product:hover .product-title a,
body.bs-v4.woocommerce-page ul.products li.product .product-title a:hover,
body.bs-v4.tax-product_cat ul.products li.product .product-title a:hover {
  color: var(--bs-copper) !important;
}

/* Prijs: koper accent */
body.bs-v4.woocommerce-page ul.products li.product .price,
body.bs-v4.tax-product_cat ul.products li.product .price {
  color: var(--bs-copper-deep) !important;
  font-weight: 700 !important;
}
/* CTA-knop: wit met hairline rand, koper bij hover */
body.bs-v4.woocommerce-page ul.products li.product .button,
body.bs-v4.tax-product_cat ul.products li.product .button {
  background: #fff !important;
  border: 1px solid var(--bs-mist) !important;
  color: var(--bs-ink) !important;
  border-radius: var(--bs-radius-btn) !important;
}

body.bs-v4.woocommerce-page ul.products li.product .button:hover,
body.bs-v4.tax-product_cat ul.products li.product .button:hover {
  background: var(--bs-copper) !important;
  border-color: var(--bs-copper) !important;
  color: #fff !important;
}

/* Mobiel 390: compactere kaarten */
@media (max-width: 640px) {
  body.bs-v4.woocommerce-page ul.products li.product,
  body.bs-v4.tax-product_cat ul.products li.product {
    padding: 10px !important;
  }
}
/* /236_shop_archive_v4_cards */
/* ===== v4 PDP T2 [bs-v4-pdp-t2] — gallery porselein / tabs koperen underline / ATC 44px inkt (body.bs-v4) ===== */
/* --- 1. Gallery porselein --- */
body.bs-v4 .product .images,
body.bs-v4 .woocommerce-product-gallery,
body.bs-v4 .fusion-woo-product-image {
  background: var(--bs-porcelain, #F7F8FA);
  border-radius: var(--bs-radius, 10px);
}
body.bs-v4 .woocommerce-product-gallery .flex-viewport,
body.bs-v4 .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
  background: var(--bs-porcelain, #F7F8FA);
}
/* --- 2. Tabs koperen underline --- */
body.bs-v4 .woocommerce-tabs ul.tabs::before {
  border-bottom: 1px solid var(--bs-mist, #E6EAF0);
}
body.bs-v4 .woocommerce-tabs ul.tabs li {
  border: 0;
}
body.bs-v4 .woocommerce-tabs ul.tabs li::before,
body.bs-v4 .woocommerce-tabs ul.tabs li::after {
  display: none;
}
body.bs-v4 .woocommerce-tabs ul.tabs li a {
  color: var(--bs-slate, #5B6B82);
  border: 0;
  border-bottom: 2px solid transparent;
  padding: 12px 18px;
  font-weight: 600;
}
body.bs-v4 .woocommerce-tabs ul.tabs li.active a {
  color: var(--bs-ink, #0F1A2B);
  border-bottom: 2px solid var(--bs-copper, #B7692A);
}
/* --- 3. Add-to-cart 44px inkt --- */
body.bs-v4 .single_add_to_cart_button,
body.bs-v4 button.single_add_to_cart_button {
  min-height: 44px;
  height: 44px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--bs-ink, #0F1A2B);
  color: #fff;
  border: 1px solid var(--bs-ink, #0F1A2B);
  border-radius: var(--bs-radius-btn, 8px);
  font-weight: 700;
  letter-spacing: .01em;
  transition: background .15s ease, border-color .15s ease, transform .15s ease;
}
body.bs-v4 .single_add_to_cart_button:hover,
body.bs-v4 button.single_add_to_cart_button:hover {
  background: var(--bs-copper-deep, #8F4F1C);
  border-color: var(--bs-copper-deep, #8F4F1C);
  color: #fff;
  transform: translateY(-1px);
}
/* ===== PART 238: FOOTER V4 LUXE (2026-10-14) ===== */
/* Scope: body.bs-v4 ONLY. Fixes cramped padding from mobile override (~line 1825).
   Adds copper hover, proper text hierarchy, generous spacing, mobile stack.
   Design-freeze compliant: no header/menu/hero selectors touched. */

/* Widget area: dark ink bg, generous vertical padding */
body.bs-v4 .fusion-footer-widget-area{
  background:var(--bs-ink)!important;
  min-height:auto!important;
  padding:56px 0 48px!important;
}

/* Copyright bar: subtle top border, compact but breathing */
body.bs-v4 .fusion-footer-copyright-area,
body.bs-v4 #footer.fusion-footer-copyright-area{
  background:var(--bs-ink)!important;
  border-top:1px solid rgba(255,255,255,.1)!important;
  padding:24px 0!important;
}

/* Copyright row: constrained width, centered */
body.bs-v4 .fusion-footer-copyright-area .fusion-row{
  max-width:1200px!important;
  margin:0 auto!important;
  padding:0 32px!important;
}

/* Copyright text: smaller, muted grey */
body.bs-v4 .fusion-copyright-notice,
body.bs-v4 .fusion-footer-copyright-area .fusion-copyright-notice{
  font:400 12px/1.6 var(--bs-font)!important;
  color:rgba(255,255,255,.45)!important;
}

/* Copyright links: copper hover, no underline at rest */
body.bs-v4 .fusion-copyright-notice a,
body.bs-v4 .fusion-footer-copyright-area a{
  color:rgba(255,255,255,.55)!important;
  text-decoration:none!important;
  transition:color .18s ease;
}
body.bs-v4 .fusion-copyright-notice a:hover,
body.bs-v4 .fusion-footer-copyright-area a:hover{
  color:var(--bs-copper)!important;
  text-decoration:none!important;
}

/* Widget area links: light grey base, copper hover */
body.bs-v4 .fusion-footer-widget-area a{
  color:rgba(255,255,255,.78)!important;
  text-decoration:none!important;
  transition:color .18s ease;
}
body.bs-v4 .fusion-footer-widget-area a:hover{
  color:var(--bs-copper)!important;
  text-decoration:none!important;
}

/* Widget headings: white, uppercase, tracked */
body.bs-v4 .fusion-footer-widget-area .fusion-widget-title,
body.bs-v4 .fusion-footer-widget-area h3,
body.bs-v4 .fusion-footer-widget-area .widgettitle{
  font:600 13px/1.4 var(--bs-font)!important;
  color:#fff!important;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin:0 0 16px!important;
}

/* Widget list: no bullets, comfortable line-height */
body.bs-v4 .fusion-footer-widget-area ul{
  list-style:none!important;
  padding:0!important;
  margin:0!important;
}
body.bs-v4 .fusion-footer-widget-area ul li{
  font:400 13px/2.1 var(--bs-font)!important;
  color:rgba(255,255,255,.65)!important;
}

/* Widget paragraphs */
body.bs-v4 .fusion-footer-widget-area p{
  font:400 13px/1.7 var(--bs-font)!important;
  color:rgba(255,255,255,.6)!important;
}

/* Hide social icons (reinforce existing rule) */
body.bs-v4 .fusion-footer-widget-area .fusion-social-links,
body.bs-v4 .fusion-footer-widget-area .fusion-social-networks{
  display:none!important;
}

/* Mobile 390px: stacked, no horizontal overflow */
@media(max-width:480px){
  body.bs-v4 .fusion-footer-widget-area{
    padding:40px 0 32px!important;
  }
  body.bs-v4 .fusion-footer-widget-area .fusion-row{
    padding:0 20px!important;
  }
  body.bs-v4 .fusion-footer-copyright-area,
  body.bs-v4 #footer.fusion-footer-copyright-area{
    padding:18px 0!important;
  }
  body.bs-v4 .fusion-footer-copyright-area .fusion-row{
    padding:0 20px!important;
  }
  body.bs-v4 .fusion-copyright-content{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:8px!important;
  }
}

/* part222 — MENU-MOBIEL-P1 (2026-10-15): mobiele menu-dropdown knip-fix op niet-home pagina's.
   ROOT-CAUSE (probe8 computed style bewezen): .fusion-header .fusion-row heeft margin-bottom:32px
   op niet-home pagina's (mobile EN desktop) -> header 105px i.p.v. design-lock ~72px. Op mobile
   knipt dit de dropdown af: holder staat FIXED op y=108 (assumeert 72px header), maar de te hoge
   header eindigt op y=141 -> bovenste 33px van de dropdown zit achter de header.
   FIX: margin-bottom:0, gescoopet <=800px (bestaande child-theme mobiel-breakpoint, cf. regel 1445)
   zodat 1440px desktop ongewijzigd blijft (DoD). Home (mb al 0) ongewijzigd.
   Design-locked selectors (bs-cta, bs4-hero, submenu top:100%, service-balk) NIET aangeraakt. */
@media (max-width: 800px) {
  body.bs-v4 .fusion-header .fusion-row {
    margin-bottom: 0 !important;
  }
}
/* ============================================================
   239_mobile_dropdown_fix_v2.css — MENU-MOBIEL-P1 (Architect)
   Root-cause (bewezen iter22, probe10 stylesheet-walk + baseline):
   body.bs-v4.page:not(.home) .fusion-row { margin-bottom: 2rem !important; }
   (spec 0,4,1, child style.css ~regel 2816) raakt OOK de header-row op
   niet-home pagina's => 32px extra in de header; op 390px verschuift dat
   de mobiele menu-holder en breekt de dropdown. Home matcht niet (geen .page).
   Fix: spec (0,5,1), ALLEEN .fusion-header .fusion-row, ALLEEN <=800px.
   1440px desktop blijft ongewijzigd; design-locked selectors NIET geraakt.
   ============================================================ */
@media (max-width: 800px) {
  body.bs-v4.page:not(.home) .fusion-header .fusion-row {
    margin-bottom: 0 !important;
  }
}
/* ============================================================
   240_desktop_header_row_fix.css — MENU-MOBIEL-P1 desktop-sweep (Architect)
   Zelfde bewezen root-cause als part 239: de brede regel
   body.bs-v4.page:not(.home) .fusion-row { margin-bottom: 2rem !important; }
   raakt ook de header-row op niet-home pagina's => 32px te hoge header op
   ALLE breedtes (1440px: retour/verz hdrH=105 vs home 73). Design-lock =
   header 72px; home meet 73px => deze fix HERSTELT de locked geometrie
   site-breed. Spec (0,5,1), alleen .fusion-header .fusion-row, alle breedtes.
   Raakt geen design-locked selector (bs-cta/bs4-hero/submenu/main-menu).
   Revert = dit blok uit child style.css verwijderen (append-only).
   ============================================================ */
body.bs-v4.page:not(.home) .fusion-header .fusion-row {
  margin-bottom: 0 !important;
}


/* part223 — PDP "Prijs op aanvraag" label: mobile contrast + size fix (2026-10-15) */
/* Scope: enkel single-product prijslabel, <=800px. Geen design-locked selectors. */

@media (max-width: 800px) {
  body.bs-v4 .single-product .bs-quote-price,
  body.bs-v4 .single-product .bs-no-price {
    font-size: 16px !important;
    color: #1a1a1a !important;
    font-weight: 600;
    letter-spacing: 0.01em;
  }

  body.bs-v4 .single-product .bs-quote-price bdi,
  body.bs-v4 .single-product .bs-no-price bdi {
    font-size: inherit;
    color: inherit;
    font-weight: inherit;
  }
}

/* part223 — PDP "Prijs op aanvraag" label: mobile contrast + size fix (2026-10-15) */
/* Scope: enkel single-product prijslabel, <=800px. Geen design-locked selectors. */
/* FIX iter8: .single-product is een body-class, geen wrapper-div. Selector gecorrigeerd. */

@media (max-width: 800px) {
  body.bs-v4.single-product .bs-quote-price,
  body.bs-v4.single-product .bs-no-price {
    font-size: 16px !important;
    color: #1a1a1a !important;
    font-weight: 600;
    letter-spacing: 0.01em;
  }

  body.bs-v4.single-product .bs-quote-price bdi,
  body.bs-v4.single-product .bs-no-price bdi {
    font-size: inherit;
    color: inherit;
    font-weight: inherit;
  }
}

/* === 241 — PDP Prijs-op-aanvraag label: mobile >=16px heldere inkt (v4_luxe) === */
@media (max-width: 800px) {
  body.bs-v4 .single-product .summary .bs-quote-price,
  body.bs-v4 .single-product .summary .bs-quote-price bdi {
    font-size: 18px !important;
    color: #1a1a1a !important;
    font-weight: 600;
    line-height: 1.3;
  }
}

/* === 250 — RMA CTA (WMS-retourfase) === */
/* === 251 — RETOUR-VET fix (operator Tom, 2026-10-19) ===
   Oorzaak: .bs-prose h3 krijgt font-family "Forum" van een regel, maar dat webfont laadt NIET
   (0 woff2 op de pagina) -> client synthesizeert zwaar serif-vet (ziet eruit als "vet gedrukt").
   Fix: pin naar site-fontstack + v4-standaard h3-weight. Append onder body.bs-v4, design-lock compliant. */
body.bs-v4 .bs-prose h3 {
  font-family: var(--bs-font) !important;
  font-weight: 600 !important;
}

/* === 33_mega_menu (CAT-V2-3) === */
/* Mega-menu: 2-column dropdown */
body.bs-v4 .fusion-main-menu .fusion-dropdown-menu { min-width:520px; display:grid; grid-template-columns:1fr 1fr; gap:0 32px; padding:20px 28px; background:#fff; border-bottom:1px solid #e8e8e8; box-shadow:0 8px 24px rgba(0,0,0,.08); }
body.bs-v4 .fusion-main-menu .fusion-dropdown-menu > ul { display:flex; flex-direction:column; gap:2px; list-style:none; padding:0; margin:0; }
body.bs-v4 .fusion-main-menu .fusion-dropdown-menu > ul > li { position:static; }
body.bs-v4 .fusion-main-menu .fusion-dropdown-menu > ul > li > a { display:block; padding:7px 12px; font-size:13.5px; color:#2c2c2c; text-decoration:none; border-radius:4px; transition:background .15s,color .15s; }
body.bs-v4 .fusion-main-menu .fusion-dropdown-menu > ul > li > a:hover { background:#f7f3ef; color:#b8860b; }
@media (max-width:768px) { body.bs-v4 .fusion-main-menu .fusion-dropdown-menu { min-width:unset; grid-template-columns:1fr; padding:12px 16px; } }
body.bs-v4 .fusion-main-menu > ul > li { position:relative; }
/* 251_rma_cta_scoped.css — RMA CTA scoped onder body.bs-v4 (fix QA scope-violation) */
body.bs-v4 .bs-rma-cta{margin-top:18px;padding:12px 0;border-top:1px solid #e8e4df}
body.bs-v4 .bs-rma-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#6b5e52;text-decoration:none;letter-spacing:.02em;transition:color .2s}
body.bs-v4 .bs-rma-link:hover{color:#b8860b}
body.bs-v4 .bs-rma-icon{font-size:15px;line-height:1}
body.bs-v4 .bs-rma-sub{font-size:11px;opacity:.7}
body.bs-v4 .bs-rma-footer{margin-top:0;padding:8px 0;border-top:none;text-align:center}
body.bs-v4 .bs-rma-footer .bs-rma-link{font-size:12px}
@media(max-width:600px){body.bs-v4 .bs-rma-cta{margin-top:12px;padding:10px 0}body.bs-v4 .bs-rma-link{font-size:12px}}

/* ============================================================
   100_mobile_lux_spacing — Mobile (≤560px) Luxe spacing & typografie
   Doel: Researcher QA score 8/10 → 9/10 (luxe-standaard)
   Scope: body.bs-v4, @media max-width:560px (dekt 390px viewport)
   Design-lock: GEEN wijziging aan bs-cta, bs4-hero, submenu, header
   ============================================================ */
@media (max-width: 560px) {
  /* Grotere witruimte tussen categorie-tiles (was 14px → luxe 22px) */
  body.bs-v4 .bs4-cats {
    gap: 22px !important;
  }

  /* Ruimere padding in tile-body voor ademruimte (was 26/28/28 → 28/24/28) */
  body.bs-v4 .bs4-cat__body {
    padding: 28px 24px 30px !important;
    gap: 12px !important;
  }

  /* Grotere titel-font voor leesbaarheid op smal scherm (was 20px → 22px) */
  body.bs-v4 .bs4-cat__body h3 {
    font-size: 22px !important;
    line-height: 1.3 !important;
  }

  /* Lead-titel iets groter (was 26px → 28px) */
  body.bs-v4 .bs4-cat--lead .bs4-cat__body h3 {
    font-size: 28px !important;
  }

  /* Beschrijvende tekst: iets grotere line-height voor comfortabel lezen */
  body.bs-v4 .bs4-cat__body p {
    font-size: 15px !important;
    line-height: 1.6 !important;
  }

  /* Product-tiles op mobiel: meer gap + grotere titel */
  body.bs-v4 .bs4-prods {
    gap: 18px !important;
  }
  body.bs-v4 .bs4-prod__body h3 {
    font-size: 16px !important;
    line-height: 1.45 !important;
  }
}
/* === Part 235: QA-fix mobile 390px (zoekicoon, gap, tiles) ===
   Gemaakt: 2026-10-19 | Trigger: QA-FAIL Researcher [20_catalog]
   Scope: body.bs-v4 @media max-width:768px
   Design-lock intact: bs-cta, bs4-hero-beeld/tekst, submenu, service-balk NIET aangeraakt */

/* --- FIX 1: Zoekicoon touch-target op mobiel ---
   Probleem: .awb-icon-search width=0 (ingeklapt door Avada mobile menu)
   Fix: forceer min-touch-target als het element zichtbaar is */
@media (max-width: 768px) {
  body.bs-v4 .fusion-main-menu a.awb-icon-search,
  body.bs-v4 nav .awb-icon-search,
  body.bs-v4 .fusion-mobile-menu a.awb-icon-search,
  body.bs-v4 .fusion-mobile-menu .awb-icon-search {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 8px 12px !important;
    width: auto !important;
    height: auto !important;
  }
  body.bs-v4 .fusion-main-menu a.awb-icon-search svg,
  body.bs-v4 nav .awb-icon-search svg,
  body.bs-v4 .fusion-mobile-menu a.awb-icon-search svg,
  body.bs-v4 .fusion-mobile-menu .awb-icon-search svg {
    width: 20px !important;
    height: 20px !important;
    fill: currentColor !important;
  }
}

/* --- FIX 2: Witte gap tussen hero en content reduceren ---
   Probleem: .bs4-promise + .bs4-section margins = 384px op 390px viewport
   Fix: krap de verticale spacing aan op mobiel */
@media (max-width: 768px) {
  body.bs-v4 .bs4-promise {
    padding: 12px 16px !important;
    margin: 0 !important;
    gap: 8px !important;
  }
  body.bs-v4 .bs4-promise__item {
    padding: 6px 0 !important;
  }
  body.bs-v4 .bs4-section {
    padding-top: 16px !important;
    margin-top: 0 !important;
  }
  body.bs-v4 .bs4-section:first-of-type {
    padding-top: 8px !important;
  }
}

/* --- FIX 3: Category tiles — balans op mobiel ---
   Probleem: --lead tile onbalans in 2-col grid op 390px
   Fix: forceer uniforme 2-col grid, geen span, equal heights */
@media (max-width: 768px) {
  body.bs-v4 .bs4-cats {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
    align-items: stretch !important;
  }
  body.bs-v4 .bs4-cat-tile,
  body.bs-v4 .bs4-cat {
    grid-column: span 1 !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    height: auto !important;
  }
  body.bs-v4 .bs4-cat--lead {
    grid-column: span 2 !important;
  }
  body.bs-v4 .bs4-cat__media {
    aspect-ratio: 16/9 !important;
    overflow: hidden !important;
  }
  body.bs-v4 .bs4-cat__media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  body.bs-v4 .bs4-cat__body {
    padding: 8px 10px !important;
    font-size: 13px !important;
  }
}

/* === Part 253: QA-fix mobile 390px v2 (zoekicoon, gap, tiles) ===
   Gemaakt: 2026-10-19 | Trigger: QA-FAIL Researcher [20_catalog] iter 2
   Scope: body.bs-v4 @media max-width:768px
   Design-lock intact: bs-cta, bs4-hero, submenu, service-balk NIET aangeraakt */

/* --- FIX 1: Zoekicoon touch-target op mobiel (CORRECTE selector) --- */
@media (max-width: 768px) {
  body.bs-v4 .fusion-mobile-menu-icons a.awb-icon-search,
  body.bs-v4 .fusion-mobile-menu-icons a[aria-label="Search"],
  body.bs-v4 .fusion-main-menu-icons a.awb-icon-search,
  body.bs-v4 .fusion-main-menu-icons a[aria-label="Search"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 10px !important;
    width: auto !important;
    height: auto !important;
    font-size: 22px !important;
  }
  body.bs-v4 .fusion-mobile-menu-icons a.awb-icon-search svg,
  body.bs-v4 .fusion-main-menu-icons a.awb-icon-search svg,
  body.bs-v4 .fusion-mobile-menu-icons a[aria-label="Search"] svg {
    width: 22px !important;
    height: 22px !important;
    fill: currentColor !important;
  }
}

/* --- FIX 2: Witte gap tussen promise en cats reduceren --- */
@media (max-width: 768px) {
  body.bs-v4 .bs4-promise {
    margin-bottom: 0 !important;
    padding-bottom: 12px !important;
  }
  body.bs-v4 .bs4-cats {
    margin-top: 0 !important;
    padding-top: 12px !important;
  }
  body.bs-v4 .bs4-promise + .bs4-section,
  body.bs-v4 .bs4-hero + .bs4-promise,
  body.bs-v4 .bs4-promise + .bs4-cats {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  body.bs-v4 .bs4-section:has(.bs4-cats) {
    margin-top: 0 !important;
    padding-top: 8px !important;
  }
  body.bs-v4 .bs4-section:has(.bs4-promise) {
    margin-bottom: 0 !important;
    padding-bottom: 8px !important;
  }
}

/* --- FIX 3: Category tiles — uniforme grid op mobiel --- */
@media (max-width: 768px) {
  body.bs-v4 .bs4-cats .bs4-cat-tile,
  body.bs-v4 .bs4-cats .bs4-cat {
    grid-column: span 1 !important;
  }
  body.bs-v4 .bs4-cats .bs4-cat--lead {
    grid-column: span 1 !important;
  }
}
/* === Part 254: QA-fix mobile 390px v3 (gap, icon, tiles uniform) ===
   Gemaakt: 2026-10-19 | Trigger: QA-FAIL Researcher [20_catalog] iter 3
   Root-cause: section wrapper + __header tussen promise en cats;
               Avada font-icons (geen SVG); lead-tile aspect-ratio mismatch.
   Design-lock intact: bs-cta, bs4-hero, submenu, service-balk NIET aangeraakt */

/* --- FIX 1: Zoekicoon + alle mobile-menu icons — font-size groter --- */
@media (max-width: 768px) {
  body.bs-v4 .fusion-mobile-menu-icons a.fusion-icon {
    font-size: 22px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
  }
}

/* --- FIX 2: Witte gap — target section wrapper + header --- */
@media (max-width: 768px) {
  body.bs-v4 .bs4-section {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  body.bs-v4 .bs4-section__header {
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
  }
  body.bs-v4 .bs4-section__header h2 {
    margin: 0 !important;
    font-size: 20px !important;
  }
  body.bs-v4 .bs4-section__header .bs-eyebrow {
    margin-bottom: 4px !important;
  }
  /* De sectie die promise bevat: geen extra bottom-space */
  body.bs-v4 section:has(> .bs4-promise) {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }
}

/* --- FIX 3: Category tiles — uniforme grid, gelijke aspect-ratio --- */
@media (max-width: 768px) {
  body.bs-v4 .bs4-cats {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }
  body.bs-v4 .bs4-cat,
  body.bs-v4 .bs4-cat-tile,
  body.bs-v4 .bs4-cat--lead {
    grid-column: auto !important;
    grid-row: auto !important;
  }
  body.bs-v4 .bs4-cat__media,
  body.bs-v4 .bs4-cat--lead .bs4-cat__media {
    aspect-ratio: 16 / 9 !important;
  }
  body.bs-v4 .bs4-cat__body {
    padding: 14px 16px 16px !important;
  }
  body.bs-v4 .bs4-cat__body h3 {
    font-size: 15px !important;
  }
}
/* === Part 255: Fix tile height-override (height:160px kills aspect-ratio) + compact header === */
@media (max-width: 768px) {
  body.bs-v4 .bs4-cat__media,
  body.bs-v4 .bs4-cat--lead .bs4-cat__media {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 16 / 9 !important;
    flex-shrink: 1 !important;
  }
  body.bs-v4.home .bs4-cat__media,
  body.bs-v4.home .bs4-cat--lead .bs4-cat__media {
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
  }
  body.bs-v4 .bs4-section__header {
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
  }
  body.bs-v4 .bs4-section__header h2 {
    font-size: 18px !important;
    margin: 0 !important;
  }
  body.bs-v4 .bs4-section__header .bs-eyebrow {
    font-size: 12px !important;
    margin-bottom: 2px !important;
  }
}
/* === Part 256: BULLETPROOF tile 16:9 via padding-bottom (flex-proof) + reduce mobile gaps === */
@media (max-width: 768px) {
  body.bs-v4 .bs4-cat__media,
  body.bs-v4 .bs4-cat--lead .bs4-cat__media {
    height: 0 !important;
    min-height: 0 !important;
    max-height: none !important;
    padding-bottom: 56.25% !important;
    position: relative !important;
    overflow: hidden !important;
    flex: none !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    align-self: auto !important;
  }
  body.bs-v4 .bs4-cat__media img,
  body.bs-v4 .bs4-cat--lead .bs4-cat__media img,
  body.bs-v4 .bs4-cat__media .bs4-cat-tile__img,
  body.bs-v4 .bs4-cat--lead .bs4-cat-tile__img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
}

/* Part 33 — Mobile QA refinements (2026-10-20) */
@media (max-width: 768px) {
  body.bs-v4 .fusion-search-icon,
  body.bs-v4 .fa-search { min-width: 20px; min-height: 20px; font-size: 18px; line-height: 1; }
  body.bs-v4 .bs4-cats .fusion-column { min-height: 140px; display: flex; flex-direction: column; justify-content: center; }
  body.bs-v4 .bs4-cats img { max-height: 90px; object-fit: contain; }
}

/* Part 33b — Mobile hero gap fix (2026-10-20) */
@media (max-width: 768px) {
  body.bs-v4 .bs4-hero + .fusion-builder-row,
  body.bs-v4 .bs4-hero ~ .fusion-builder-row:first-of-type { margin-top: -8px; }
}
/* bs-airier-100 (2026-10-23) homepage 'Ontdek ons assortiment' luchtiger - architect */
body.bs-v4 .bs4-section .fusion-row {column-gap: 48px; row-gap: 40px;}
body.bs-v4 .bs4-section {padding-top: 72px; padding-bottom: 72px;}
body.bs-v4 .bs4-section .bs4-cat__body {padding: 36px 28px; border-radius: 14px;}
body.bs-v4 .bs4-section .bs4-cats {padding: 36px 28px; border-radius: 14px;}
body.bs-v4 .bs4-section a.bs4-cat-tile.bs4-cat {background: transparent !important; border: 1px solid #cbb99a !important; color: #231f1a !important; font-weight: 500; padding: 10px 20px; border-radius: 999px;}
body.bs-v4 .bs4-section a.bs4-cat-tile.bs4-cat:hover {border-color: #b08d57 !important; color: #b08d57 !important;}
body.bs-v4 .bs4-section a.bs4-cat-tile.bs4-cat.bs4-cat--lead {background: transparent !important; border: 1px solid #cbb99a !important; color: #231f1a !important; font-weight: 500; padding: 10px 20px; border-radius: 999px;}
body.bs-v4 .bs4-section a.bs4-cat-tile.bs4-cat.bs4-cat--lead:hover {border-color: #b08d57 !important; color: #b08d57 !important;}
@media (max-width: 991px) {
body.bs-v4 .bs4-section .fusion-row { column-gap: 24px; row-gap: 24px; }
}
/* === Part 257: tiles_fix — "Ontdek ons assortiment" zichtbaar op desktop + mobiel (2026-10-24) ===
   ROOT-CAUSE (bewijs iter 10-13): front-page-catv2.php emittet geneste <a> (de "Bekijk
   assortiment" textlink staat BINNEN de tile-anchor). De browser-parser sluit de buitenste
   anchor daardoor te vroeg: .bs4-cats (grid) krijgt 10 kinderen i.p.v. 5 tiles — 5 anchors
   (alleen --lead bevat een img) + 5 losse div.bs4-cat__body label-divs. bs-airier-100
   (2026-10-23) stylet daarna alle a.bs4-cat-tile als transparante pills met koperen border:
   de lege anchor-cells renderen als onzichtbare pillen en de labels zweven los => de sectie
   leest op desktop als "niets".
   FIX (CSS-only; designfreeze blokkeert PHP-wijzigingen): lege parser-artifact-cells
   verbergen, kaart-styling voor de labels herstellen, pill-styling + airier box-padding
   neutraliseren. Locked selectors (header, menu, hero, bs-cta, fusion-main-menu) NIET aangeraakt. */

/* 1) Lege parser-artifact anchor-cells verbergen (alle breedtes) */
body.bs-v4 .bs4-cats > a.bs4-cat:empty,
body.bs-v4 .bs4-cats > a.bs4-cat:not(:has(img)):not(:has(h3)) {
  display: none !important;
}

/* 2) bs-airier-100 pill-styling op tile-anchors ongedaan maken (alle breedtes) */
body.bs-v4 .bs4-section a.bs4-cat-tile.bs4-cat,
body.bs-v4 .bs4-section a.bs4-cat-tile.bs4-cat.bs4-cat--lead {
  background: #ffffff !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  color: #1a1a1a !important;
}
body.bs-v4 .bs4-section a.bs4-cat-tile.bs4-cat:hover,
body.bs-v4 .bs4-section a.bs4-cat-tile.bs4-cat.bs4-cat--lead:hover {
  border: none !important;
  color: #1a1a1a !important;
}

/* 3) bs-airier-100 box-padding/radius op .bs4-cats ongedaan maken */
body.bs-v4 .bs4-section .bs4-cats {
  padding: 0 !important;
  border-radius: 0 !important;
}
/* 4) Lead-anchor = afgeronde afbeeldingskaart */
body.bs-v4 .bs4-cats > a.bs4-cat--lead {
  display: block !important;
  background: #f8f7f5 !important;
  border-radius: 10px !important;
  overflow: hidden;
}
body.bs-v4 .bs4-cats > a.bs4-cat--lead .bs4-cat__media {
  aspect-ratio: 16 / 9 !important;
  min-height: 0 !important;
  background: linear-gradient(135deg, #f8f7f5 0%, #ffffff 100%);
}
body.bs-v4 .bs4-cats > a.bs4-cat--lead .bs4-cat__media img {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  display: block;
}

/* 5) Losse label-divs (parser-artifact, directe grid-children) = echte kaarten */
body.bs-v4 .bs4-cats > .bs4-cat__body {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  background: #ffffff !important;
  border: 1px solid #e8e4de !important;
  border-radius: 10px !important;
  padding: 20px 16px !important;
}
body.bs-v4 .bs4-cats > .bs4-cat__body > a.bs4-cat-tile {
  display: block !important;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}
body.bs-v4 .bs4-cats > .bs4-cat__body h3 {
  margin: 0 0 10px !important;
  color: #1a1a1a !important;
  line-height: 1.3 !important;
}

/* 6) Desktop: grotere kaarten; >=1500 (bestaande 4-col grid): lead spaant 2 kolommen */
@media (min-width: 769px) {
  body.bs-v4 .bs4-cats > .bs4-cat__body {
    padding: 28px 24px !important;
    min-height: 170px;
  }
}
@media (min-width: 1500px) {
  body.bs-v4.home .bs4-cats > a.bs4-cat--lead {
    grid-column: span 2;
  }
}
/* 258_tiles_fix — P1-DESIGN: "Ontdek ons assortiment" tiles onzichtbaar op desktop (Tom 2026-10-23).
   ROOT CAUSE: tile-template (biselect-home-tiles) emittet geneste <a> binnen <a>.
   HTML5 parser (adoption agency) herstructureert de DOM: .bs4-cat__body-divs worden
   losse grid-kids van .bs4-cats, het media-div is orphaned, "Bekijk assortiment"-links
   zijn gefosterd naar grid-niveau. Bestaande CSS die uitgaat van de intacte vorm
   (a.bs4-cat > media+body) mist daardoor -> sectie toont op desktop "niets".
   FIX: styling op de ECHTE DOM-vorm + display/visibility-guards. Alleen .bs4-* selectors;
   locked selectors (header, menu, hero, bs-cta, fusion-main-menu) onaangetast. */

/* Losse label-divs (parser-artifact) -> zichtbare kaarten in alle viewports */
body.bs-v4.home .bs4-cat__body {
  background: #ffffff;
  border: 1px solid #e7e2da;
  border-radius: 10px;
  padding: 18px 20px;
  min-height: 120px;
  box-shadow: 0 1px 2px rgba(26, 29, 33, 0.05);
}
body.bs-v4.home .bs4-cat__body h3 {
  margin: 0 0 6px;
  font-size: 18px;
  line-height: 1.3;
  color: #1a1d21;
}
body.bs-v4.home .bs4-cat__body p {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: #5a6069;
}

/* Orphaned media-div (alleen lead-tile heeft beeld): behoud als afbeeldings-tile */
body.bs-v4.home .bs4-cats > .bs4-cat__media {
  aspect-ratio: 4 / 3;
  border-radius: 10px;
  overflow: hidden;
  background: #f5f3f0;
}
body.bs-v4.home .bs4-cats > .bs4-cat__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Gefosterde "Bekijk assortiment"-links op grid-niveau: geen losse grid-cellen */
body.bs-v4.home .bs4-cats > .bs4-textlink {
  display: none;
}

/* Desktop-guards: sectie nooit onzichtbaar (bs-mobile-active of latere display:none/opacity) */
@media (min-width: 1024px) {
  body.bs-v4.home .bs4-cats,
  body.bs-mobile-active .bs4-cats {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}
/* ═══════════════════════════════════════════════════════════════
   210_product_mobile_image — 2026-10-19
   ROOT CAUSE: QA FAIL @390px — productafbeelding overheerst tekst.
   SCOPE: body.bs-v4 ONLY. Alleen APPEND. Geen locked selectors.
   ═══════════════════════════════════════════════════════════════ */

/* ── Product grid: constrain image height on small screens ── */
@media (max-width: 480px) {
  body.bs-v4 .bs4-prod .bs4-prod__img,
  body.bs-v4 .bs4-prod img,
  body.bs-v4 .product-grid .attachment-woocommerce_thumbnail,
  body.bs-v4 .products .attachment-woocommerce_thumbnail {
    max-height: 180px;
    object-fit: cover;
    width: 100%;
    height: auto;
  }

  /* Ensure text block stays readable — min-height for name+price */
  body.bs-v4 .bs4-prod .bs4-prod__body,
  body.bs-v4 .bs4-prod > div:not(.bs4-prod__img) {
    min-height: 80px;
    padding: 12px 10px;
  }

  /* Single product page (PDP): constrain hero image */
  body.bs-v4 .summary .woocommerce-product-images,
  body.bs-v4 .product .woocommerce-product-images {
    max-width: 100%;
  }

  body.bs-v4 .summary .woocommerce-product-images img,
  body.bs-v4 .product .woocommerce-product-images img {
    max-height: 280px;
    object-fit: contain;
    width: 100%;
  }

  /* Avada product image wrapper */
  body.bs-v4 .fusion-product-image-wrap,
  body.bs-v4 .fusion-product-image {
    max-width: 100%;
    overflow: hidden;
  }

  body.bs-v4 .fusion-product-image img,
  body.bs-v4 .fusion-product-image-wrap img {
    max-height: 260px;
    object-fit: contain;
    width: 100%;
  }
}

/* ── Tablet (≤768px): slightly larger constraint ── */
@media (max-width: 768px) and (min-width: 481px) {
  body.bs-v4 .bs4-prod .bs4-prod__img,
  body.bs-v4 .bs4-prod img {
    max-height: 240px;
    object-fit: cover;
  }
}

/* HEADER v2 - single-source inline fix (2026-10-28) */
/* Bron: bs-header-img-guard.php + bs-header-img-attrs.php (inline <style> verplaatst naar style.css) */

/* Hard overflow clip on header containers */
/* overflow:hidden REMOVED from .fusion-header-wrap/.fusion-header (clips desktop dropdown). Image capping via max-width/height below. */
.fusion-logo,.fusion-standard-logo,.fusion-mobile-logo{overflow:hidden}
/* Cap ALL images inside header - desktop + mobile */
.fusion-header img,
.fusion-logo img,
.fusion-standard-logo img,
.fusion-mobile-logo img {
  max-width: 100% !important;
  max-height: 72px !important;
  height: auto !important;
  object-fit: contain !important;
}
@media (max-width: 768px) {
  .fusion-header img,
  .fusion-logo img,
  .fusion-standard-logo img,
  .fusion-mobile-logo img {
    max-width: 100vw !important;
    max-height: 44px !important;
    height: auto !important;
  }
}
/* Logo size caps (was: bs-logo-size-guard inline) */
.fusion-standard-logo, .fusion-sticky-logo {
  max-width: 180px !important;
  max-height: 59px !important;
  width: auto !important;
  height: auto !important;
}
@media (max-width: 768px) {
  .fusion-standard-logo, .fusion-mobile-logo, .fusion-sticky-logo {
    max-width: 140px !important;
    max-height: 36px !important;
    width: auto !important;
    height: auto !important;
  }
}
/* 260 — PDP Price Badge (PRICING-2-IMPL-3) */
body.bs-v4 .bs-pdp-price-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 14px 0;
    padding: 5px 14px 5px 10px;
    background: linear-gradient(135deg, #f8f0e8 0%, #fdf8f3 100%);
    border: 1px solid #c8956c;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #7a4a2a;
    line-height: 1.4;
}
body.bs-v4 .bs-pdp-price-badge-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #c8956c;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
}
body.bs-v4 .bs-pdp-price-badge-text {
    white-space: nowrap;
}

/* 261_logo_mobile_sharp — fix blurry logo @<=768px (2026-10-28) */
@media(max-width:768px){
  body.bs-v4 .fusion-logo img,
  body.bs-v4 .fusion-logo img.fusion-standard-logo,
  body.bs-v4 .fusion-logo img.fusion-mobile-logo{
    width:auto !important;
    height:36px !important;
    max-width:160px !important;
    object-fit:contain !important;
    image-rendering:auto !important;
    -webkit-font-smoothing:antialiased;
  }
}

/* 262_logo_mobile_weight — increase mobile logo visual weight + crisp downscale (2026-10-28) */
@media(max-width:768px){
  body.bs-v4 .fusion-logo img,
  body.bs-v4 .fusion-logo img.fusion-standard-logo,
  body.bs-v4 .fusion-logo img.fusion-mobile-logo{
    height:42px !important;
    max-width:180px !important;
    image-rendering:-webkit-optimize-contrast !important;
  }
}

/* ── PART 33: logo mobile sharpness (2026-10-27) ── */
@media(max-width:800px){
  body.bs-v4 .fusion-logo img{
    image-rendering:-webkit-optimize-contrast!important;
    image-rendering:auto!important;
    height:36px!important;
    max-height:36px!important;
    width:auto!important;
  }
}
/* 261 — PDP Competitor Price (PRICING-2b-DISPLAY) */
body.bs-v4 .bs-pdp-comp-price {
    margin: 4px 0 0 0;
    padding: 0;
    font-size: 13px;
    font-weight: 400;
    color: #6b6b6b;
    line-height: 1.5;
}
body.bs-v4 .bs-pdp-comp-price a {
    color: #c8956c;
    text-decoration: none;
    border-bottom: 1px solid rgba(200, 149, 108, 0.3);
}
body.bs-v4 .bs-pdp-comp-price a:hover {
    border-bottom-color: #c8956c;
}
body.bs-v4 .bs-pdp-comp-price strong {
    color: #4a4a4a;
    font-weight: 600;
}

/* ============================================================
   Part 240: Mobile product H1 — font-size ≥ 24px (DoD check)
   Scope: body.bs-v4, single-product, max-width 768px
   ============================================================ */
@media (max-width: 768px) {
    body.bs-v4.single-product h1.entry-title,
    body.bs-v4.single-product .product .entry-title,
    body.bs-v4.single-product .fusion-secondary-header + .fusion-content-area h1 {
        font-size: 1.5rem;
        line-height: 1.3;
    }
}
/* === Part 263: mobile PDP H1 font-size fix (2026-10-28) ===
   Fix: product title renders 22px on 390px (clamp min from line 397).
   Target: >= 24px computed. Uses higher specificity to override. */
@media (max-width: 768px) {
    body.bs-v4.single-product .product_title,
    body.bs-v4.single-product .entry-summary h1,
    body.bs-v4 .avada-single-product-gallery-wrapper ~ .summary .product_title {
        font-size: clamp(26px, 5vw, 32px) !important;
        line-height: 1.2 !important;
    }
}


/* === Part 264: Mobile H1 typography — 390px readability fix (2026-10-28) === */
/* QA-FAIL fix: alle H1's op ≤480px naar clamp(20px,5vw,28px) voor leesbaarheid. */
@media (max-width: 480px) {
  body.bs-v4 h1,
  body.bs-v4 .bs4-hero__panel h1,
  body.bs-v4 .bs4-hero__panel .fusion-title,
  body.bs-v4 .bs3-hero h1,
  body.bs-v4 .fusion-page-title-bar h1,
  body.bs-v4 .fusion-page-title-bar .fusion-page-title-wrapper h1,
  body.bs-v4 .bs-page-hero h1,
  body.bs-v4 .post-content h1,
  body.bs-v4.single-product h1.entry-title,
  body.bs-v4.single-product .entry-summary h1 {
    font-size: clamp(20px, 5vw, 28px) !important;
    line-height: 1.3 !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
  }
}

/* === Part 265: Mobile H1 QA fix — 390px readability (2026-10-28) === */
@media (max-width: 480px) {
    body.bs-v4.single-product .product_title,
    body.bs-v4.single-product .entry-summary h1,
    body.bs-v4 .avada-single-product-gallery-wrapper ~ .summary .product_title,
    body.bs-v4 .page-title,
    body.bs-v4 .archive-title,
    body.bs-v4 .fusion-page-title-row h1 {
        font-size: clamp(20px, 5vw, 28px) !important;
        line-height: 1.3 !important;
    }
}
/* === OMEGA_PART_264_MOBILE_H1_TYPO_START (2026-11-01) === */
@media (max-width: 480px) {
  body.bs-v4 h1,
  body.bs-v4 .bs4-hero__panel h1,
  body.bs-v4 .bs4-hero__panel .fusion-title,
  body.bs-v4 .bs3-hero h1,
  body.bs-v4 .fusion-page-title-bar h1,
  body.bs-v4 .fusion-page-title-bar .fusion-page-title-wrapper h1,
  body.bs-v4 .bs-page-hero h1,
  body.bs-v4 .post-content h1,
  body.bs-v4.single-product h1.entry-title,
  body.bs-v4.single-product .entry-summary h1 {
    font-size: clamp(20px, 5vw, 28px) !important;
    line-height: 1.3 !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
  }
}
/* === OMEGA_PART_264_MOBILE_H1_TYPO_END === */
/* === OMEGA_PART_265_MOBILE_H1_FINAL_FIX_START (2026-11-01) === */
/* Product H1: higher specificity than Part 263 to cap at 22px on 390px */
@media (max-width: 480px) {
  body.bs-v4.single-product h1.product_title,
  body.bs-v4.single-product .entry-summary h1.product_title,
  body.bs-v4.single-product .product .entry-title,
  body.bs-v4.single-product .fusion-secondary-header + .fusion-content-area h1 {
    font-size: clamp(18px, 4.5vw, 22px) !important;
    line-height: 1.3 !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
  }
}
/* Catch-all for any .product_title / .entry-title on mobile */
@media (max-width: 480px) {
  body.bs-v4 .product_title,
  body.bs-v4 .entry-title,
  body.bs-v4 .fusion-page-title-bar h1,
  body.bs-v4 .fusion-page-title-wrapper h1 {
    font-size: clamp(18px, 4.5vw, 22px) !important;
    line-height: 1.3 !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
  }
}
/* === OMEGA_PART_265_MOBILE_H1_FINAL_FIX_END === */
/* === OMEGA_PART_266_MOBILE_PDP_CONTAINER_FIX_START (2026-11-01) === */
/* Root cause: .bs-pdp-wrap is a flex-item inside .fusion-row (display:flex, w=358).
   Default min-width:auto allows it to grow to 433px, overflowing the 390px viewport.
   Fix: force min-width:0 + max-width:100% so the container respects its parent. */
@media (max-width: 480px) {
  body.bs-v4 .bs-pdp-wrap,
  body.bs-v4 .summary-container,
  body.bs-v4 .entry-summary,
  body.bs-v4 .fusion-row > .bs-pdp-wrap,
  body.bs-v4 .fusion-row > .summary-container,
  body.bs-v4 .fusion-row > .entry-summary {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
  }
  /* Ensure the H1 inside also wraps properly */
  body.bs-v4 .bs-pdp-wrap h1,
  body.bs-v4 .summary-container h1,
  body.bs-v4 .entry-summary h1 {
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    white-space: normal !important;
  }
}
/* === OMEGA_PART_266_MOBILE_PDP_CONTAINER_FIX_END === */
/* === OMEGA_PART_267_MOBILE_H1_BALANCE_START (2026-11-01) === */
/* Mobile 390px visual balance: keep H1 readable but not dominant.
   Applied only under body.bs-v4 and inside the child-theme CSS append area. */
@media (max-width: 480px) {
  body.bs-v4 h1,
  body.bs-v4 .bs4-hero__panel h1,
  body.bs-v4 .bs3-hero h1,
  body.bs-v4 .fusion-page-title-bar h1,
  body.bs-v4 .fusion-page-title-wrapper h1,
  body.bs-v4 .post-content h1,
  body.bs-v4.single-product h1.product_title,
  body.bs-v4 .entry-summary h1 {
    font-size: clamp(18px, 4.5vw, 22px) !important;
    line-height: 1.3 !important;
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
  }
}
/* === OMEGA_PART_267_MOBILE_H1_BALANCE_END === */

/* === OMEGA_PART_268_MOBILE_H1_OVERRIDE_START (2026-11-01) === */
/* Override Avada responsive-typography: targets .fusion-responsive-typography-calculated
   class specifically to beat Avada's var(--minFontSize) !important rule.
   Researcher QA 2026-11-01: clamp(20px,5vw,28px) for mobile readability at 390px. */
@media (max-width: 480px) {
  body.bs-v4 h1.fusion-responsive-typography-calculated,
  body.bs-v4 .bs4-hero__panel h1,
  body.bs-v4 .fusion-page-title-bar h1,
  body.bs-v4 .fusion-page-title-wrapper h1,
  body.bs-v4 .product_title,
  body.bs-v4 .entry-title,
  body.bs-v4 .page-title,
  body.bs-v4 .post-content h1 {
    font-size: clamp(20px, 5vw, 28px) !important;
    line-height: 1.3 !important;
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
  }
}
/* === OMEGA_PART_268_MOBILE_H1_OVERRIDE_END === */
/* === OMEGA_PART_269_MOBILE_H1_POST_CONTENT_START (2026-11-01) === */
/* Fix: body.bs-v4.page:not(.home) .post-content h1 (specificity 0,4,2) was winning
   over Part 268 (specificity 0,2,2) on cart/checkout pages → H1 stuck at 24px.
   Same specificity + later source order = we win now. */
@media (max-width: 480px) {
  body.bs-v4.page:not(.home) .post-content h1,
  body.bs-v4.page .post-content h1.fusion-responsive-typography-calculated {
    font-size: clamp(20px, 5vw, 28px) !important;
    line-height: 1.3 !important;
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
  }
}
/* === OMEGA_PART_269_MOBILE_H1_POST_CONTENT_END === */

/* parts/34_dropdown_desktop_fix — position:absolute ontbrak op .sub-menu (desktop) */
body.bs-v4 .fusion-main-menu>ul>li>.sub-menu{position:absolute!important}

/* CAT-V2 inline CSS migrated from bs-cat-v2.php #bs-catv2-css (2026-10-28) */
.bs-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}.bs-chips-label{font-weight:600;align-self:center}
.bs-chip{border:1px solid #d9dee5;border-radius:999px;padding:6px 14px;font-size:14px;line-height:1.2;color:#1f2a37;text-decoration:none;background:#fff}
.bs-chip:hover{border-color:#0a4ea2;color:#0a4ea2}.bs-chip.is-active{background:#0a4ea2;border-color:#0a4ea2;color:#fff}.bs-chip small{opacity:.7;margin-left:4px}
.bs-subcats{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin:10px 0 24px}
.bs-subcat{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid #e4e8ee;border-radius:10px;text-decoration:none;color:#1f2a37;background:#fff;transition:box-shadow .15s}
.bs-subcat:hover{box-shadow:0 4px 18px rgba(0,0,0,.08);border-color:#0a4ea2}.bs-subcat img{width:100%;height:120px;object-fit:contain}
.bs-subcat-name{font-weight:600}.bs-subcat-n{font-size:12px;color:#6b7280}
.bs-serie-h1{font-size:34px;margin:10px 0 6px}
.bs-serie-intro p{margin:0 0 10px;color:#4b5563}
.bs-count{font-size:11px;opacity:.6;margin-left:4px}
/* --- Mega-menu v1.0.6: Avada's megamenu-JS laadt niet (li is flex/center => wrapper zonder top komt op -227px). Positie + stijl expliciet. --- */
@media (min-width:1025px){
body #wrapper .fusion-header .fusion-row{position:relative}
body #wrapper .fusion-header .fusion-main-menu{position:static!important}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top{position:static!important}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper{top:100%!important;bottom:auto!important;left:0!important;right:0!important;width:100%!important;max-width:none;margin:0 auto!important;padding:0!important;transform:none!important;z-index:1000}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper .row{margin:0}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper .fusion-megamenu-holder{width:100%!important;background:#fff;border:1px solid #e4e8ee;border-top:3px solid var(--bs-navy,#0a4ea2);border-radius:0 0 10px 10px;box-shadow:0 18px 40px rgba(15,23,42,.14);padding:22px 28px 18px}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper ul.fusion-megamenu{display:flex;gap:32px;padding:0;margin:0}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper li.bs-catv2-col{text-transform:none!important;letter-spacing:0!important;float:none!important;width:auto!important;flex:1 1 0;padding:0!important;border:0!important;min-width:0}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper li.bs-catv2-col+li.bs-catv2-col{border-left:1px solid #eef1f5!important;padding-left:32px!important}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper div.fusion-megamenu-title{margin:0 0 10px;padding:0 0 8px;border-bottom:1px solid #eef1f5}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper div.fusion-megamenu-title a{font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:.08em;color:#6b7280;padding:0;line-height:1.4}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper .sub-menu{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;row-gap:2px;padding:0!important;border:0!important;box-shadow:none!important;min-width:0!important;background:transparent!important}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper li.bs-catv2-col:last-child .sub-menu{grid-template-columns:1fr}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper .sub-menu li{float:none!important;width:auto!important}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper .sub-menu li a{display:block;text-transform:none!important;letter-spacing:0!important;font-weight:500!important;padding:7px 10px!important;border-radius:6px;font-size:14px;line-height:1.35;color:#1f2a37;white-space:normal}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper .sub-menu li a:hover{background:#f3f6fa;color:var(--bs-navy,#0a4ea2)}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper .fusion-megamenu-bullet,.fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper .fusion-caret{display:none!important}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper .menu-text{margin-left:0}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper .bs-count{font-size:11px;color:#9aa3af;opacity:1;margin-left:4px;font-variant-numeric:tabular-nums}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper li.bs-catv2-all{grid-column:1/-1;margin-top:8px;padding-top:8px;border-top:1px solid #eef1f5}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper li.bs-catv2-all a{font-weight:700!important;color:var(--bs-navy,#0a4ea2)}
}
/* Mobiel: child-theme '28_mobile_390' zet overflow:hidden op .fusion-row terwijl Avada de mobile nav met margin-left:-30px uitlijnt -> tekst afgekapt. */
@media (max-width:1024px){
body.bs-v4 #wrapper .fusion-header .fusion-row{overflow:visible!important}
body.bs-v4 #wrapper .fusion-header .fusion-mobile-nav-holder{margin-left:0!important;margin-right:0!important;width:100%!important}
body.bs-v4 #wrapper .fusion-mobile-nav-holder li a{padding-left:16px!important;padding-right:44px!important}
body.bs-v4 #wrapper .fusion-mobile-nav-holder .sub-menu li a{padding-left:30px!important}
body.bs-v4 #wrapper .fusion-mobile-nav-holder .bs-count{font-size:11px;color:#9aa3af;margin-left:4px}
body.bs-v4 #wrapper .fusion-mobile-nav-holder li.bs-catv2-col>a{font-size:11px!important;text-transform:uppercase;letter-spacing:.08em;color:#6b7280!important;font-weight:700!important;background:#f7f9fb!important}
}

/* PDP master-align migrated from bs-pdp-master-fix.php #bs-master-align (2026-10-28) */
';

/* Dropdown header fix migrated from bs_dropdown_header_fix.php #bs-dropdown-header-fix (2026-10-28) */
@media(min-width:992px){';
/* === OMEGA_PART_35_DROPDOWN_DESKTOP_REPAIR (2026-11-02) === */
/* Repair: style.css corruptie 13:03 — PHP echo-code in CSS-blok.
   Herstelt de desktop hover-dropdown (fusion-header overflow + li position + hover visibility).
   Zelfde regels als mu-plugin bs_dropdown_header_fix.php, als geldige CSS. */
@media (min-width: 992px) {
  body.bs-v4 .fusion-header,
  body.bs-v4 .fusion-secondary-header,
  body.bs-v4 .fusion-sticky-nav-wrap {
    overflow: visible !important;
  }
  body.bs-v4 .fusion-main-menu > ul > li {
    position: relative !important;
  }
  body.bs-v4 .fusion-main-menu > ul > li > .sub-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
    bottom: auto !important;
    display: block !important;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    z-index: 10050 !important;
    transform: none !important;
    margin: 0 !important;
  }
  body.bs-v4 .fusion-main-menu > ul > li > .fusion-dropdown-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
    bottom: auto !important;
    display: grid !important;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    z-index: 10050 !important;
    transform: none !important;
    margin: 0 !important;
  }
  body.bs-v4 .fusion-main-menu > ul > li > .fusion-megamenu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
    bottom: auto !important;
    display: block !important;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    z-index: 10050 !important;
    transform: none !important;
    margin: 0 !important;
  }
  body.bs-v4 .fusion-main-menu > ul > li:hover > .sub-menu,
  body.bs-v4 .fusion-main-menu > ul > li:focus-within > .sub-menu,
  body.bs-v4 .fusion-main-menu > ul > li:hover > .fusion-dropdown-menu,
  body.bs-v4 .fusion-main-menu > ul > li:focus-within > .fusion-dropdown-menu,
  body.bs-v4 .fusion-main-menu > ul > li:hover > .fusion-megamenu,
  body.bs-v4 .fusion-main-menu > ul > li:focus-within > .fusion-megamenu {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }
}
/* === OMEGA_PART_35_DROPDOWN_DESKTOP_REPAIR_END === */

/* HEADER v2 - moved from inline styles 2026-10-24 */
.bs-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}.bs-chips-label{font-weight:600;align-self:center}
.bs-chip{border:1px solid #d9dee5;border-radius:999px;padding:6px 14px;font-size:14px;line-height:1.2;color:#1f2a37;text-decoration:none;background:#fff}
.bs-chip:hover{border-color:#0a4ea2;color:#0a4ea2}.bs-chip.is-active{background:#0a4ea2;border-color:#0a4ea2;color:#fff}.bs-chip small{opacity:.7;margin-left:4px}
.bs-subcats{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin:10px 0 24px}
.bs-subcat{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid #e4e8ee;border-radius:10px;text-decoration:none;color:#1f2a37;background:#fff;transition:box-shadow .15s}
.bs-subcat:hover{box-shadow:0 4px 18px rgba(0,0,0,.08);border-color:#0a4ea2}.bs-subcat img{width:100%;height:120px;object-fit:contain}
.bs-subcat-name{font-weight:600}.bs-subcat-n{font-size:12px;color:#6b7280}
.bs-serie-h1{font-size:34px;margin:10px 0 6px}
.bs-serie-intro p{margin:0 0 10px;color:#4b5563}
.bs-count{font-size:11px;opacity:.6;margin-left:4px}
/* --- Mega-menu v1.0.6: Avada's megamenu-JS laadt niet (li is flex/center => wrapper zonder top komt op -227px). Positie + stijl expliciet. --- */
@media (min-width:1025px){
body #wrapper .fusion-header .fusion-row{position:relative}
body #wrapper .fusion-header .fusion-main-menu{position:static!important}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top{position:static!important}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper{top:100%!important;bottom:auto!important;left:0!important;right:0!important;width:100%!important;max-width:none;margin:0 auto!important;padding:0!important;transform:none!important;z-index:1000}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper .row{margin:0}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper .fusion-megamenu-holder{width:100%!important;background:#fff;border:1px solid #e4e8ee;border-top:3px solid var(--bs-navy,#0a4ea2);border-radius:0 0 10px 10px;box-shadow:0 18px 40px rgba(15,23,42,.14);padding:22px 28px 18px}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper ul.fusion-megamenu{display:flex;gap:32px;padding:0;margin:0}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper li.bs-catv2-col{text-transform:none!important;letter-spacing:0!important;float:none!important;width:auto!important;flex:1 1 0;padding:0!important;border:0!important;min-width:0}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper li.bs-catv2-col+li.bs-catv2-col{border-left:1px solid #eef1f5!important;padding-left:32px!important}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper div.fusion-megamenu-title{margin:0 0 10px;padding:0 0 8px;border-bottom:1px solid #eef1f5}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper div.fusion-megamenu-title a{font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:.08em;color:#6b7280;padding:0;line-height:1.4}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper .sub-menu{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;row-gap:2px;padding:0!important;border:0!important;box-shadow:none!important;min-width:0!important;background:transparent!important}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper li.bs-catv2-col:last-child .sub-menu{grid-template-columns:1fr}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper .sub-menu li{float:none!important;width:auto!important}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper .sub-menu li a{display:block;text-transform:none!important;letter-spacing:0!important;font-weight:500!important;padding:7px 10px!important;border-radius:6px;font-size:14px;line-height:1.35;color:#1f2a37;white-space:normal}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper .sub-menu li a:hover{background:#f3f6fa;color:var(--bs-navy,#0a4ea2)}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper .fusion-megamenu-bullet,.fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper .fusion-caret{display:none!important}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper .menu-text{margin-left:0}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper .bs-count{font-size:11px;color:#9aa3af;opacity:1;margin-left:4px;font-variant-numeric:tabular-nums}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper li.bs-catv2-all{grid-column:1/-1;margin-top:8px;padding-top:8px;border-top:1px solid #eef1f5}
body #wrapper .fusion-header .fusion-main-menu>ul>li.bs-catv2-top>.fusion-megamenu-wrapper li.bs-catv2-all a{font-weight:700!important;color:var(--bs-navy,#0a4ea2)}
}
/* Mobiel: child-theme '28_mobile_390' zet overflow:hidden op .fusion-row terwijl Avada de mobile nav met margin-left:-30px uitlijnt -> tekst afgekapt. */
@media (max-width:1024px){
body.bs-v4 #wrapper .fusion-header .fusion-row{overflow:visible!important}
body.bs-v4 #wrapper .fusion-header .fusion-mobile-nav-holder{margin-left:0!important;margin-right:0!important;width:100%!important}
body.bs-v4 #wrapper .fusion-mobile-nav-holder li a{padding-left:16px!important;padding-right:44px!important}
body.bs-v4 #wrapper .fusion-mobile-nav-holder .sub-menu li a{padding-left:30px!important}
body.bs-v4 #wrapper .fusion-mobile-nav-holder .bs-count{font-size:11px;color:#9aa3af;margin-left:4px}
body.bs-v4 #wrapper .fusion-mobile-nav-holder li.bs-catv2-col>a{font-size:11px!important;text-transform:uppercase;letter-spacing:.08em;color:#6b7280!important;font-weight:700!important;background:#f7f9fb!important}
}

/* Mini-winkelwagen in de header: de child-CSS gaf het uitklapvenster per ongeluk de badge-stijl (16px hoog, koperkleur). */
body .fusion-main-menu .fusion-menu-cart-items,body.bs-v4 .fusion-main-menu .fusion-menu-cart-items{height:auto!important;min-height:0!important;min-width:340px!important;max-width:380px!important;font:400 14px/1.45 var(--bs-font,inherit)!important;color:var(--bs-ink,#111827)!important;background:#fff!important;border:1px solid var(--bs-mist,#e5e7eb)!important;border-radius:var(--bs-radius,10px)!important;box-shadow:0 18px 40px rgba(15,23,42,.14)!important;padding:14px!important;text-align:left!important;overflow:visible!important}
body .fusion-main-menu .fusion-menu-cart-item{display:flex!important;align-items:center;gap:12px;padding:8px 0!important;margin:0!important;border:0!important;border-bottom:1px solid var(--bs-mist,#e5e7eb)!important;background:transparent!important}
body .fusion-main-menu .fusion-menu-cart-item>a{display:flex!important;align-items:center;gap:12px;width:100%;padding:0!important;color:var(--bs-ink,#111827)!important;text-decoration:none!important;background:transparent!important}
body .fusion-main-menu .fusion-menu-cart-item img{width:56px!important;height:56px!important;object-fit:contain;border:1px solid var(--bs-mist,#e5e7eb);border-radius:6px;background:#fff;flex:0 0 56px}
body .fusion-main-menu .fusion-menu-cart-item-details{flex:1 1 auto;min-width:0}
body .fusion-main-menu .fusion-menu-cart-item-title{display:block!important;font:600 13px/1.35 var(--bs-font,inherit)!important;color:var(--bs-ink,#111827)!important;white-space:normal!important}
body .fusion-main-menu .fusion-menu-cart-item-quantity{display:block!important;font-size:13px!important;color:#475569!important;margin-top:2px}
body .fusion-main-menu .fusion-menu-cart-checkout{display:flex!important;gap:8px;padding:12px 0 0!important;margin:0!important;border:0!important;background:#fff!important}
body .fusion-main-menu .fusion-menu-cart-checkout>div{flex:1 1 50%;float:none!important;width:auto!important;padding:0!important;margin:0!important;border:0!important}
body .fusion-main-menu .fusion-menu-cart-checkout a{display:block!important;text-align:center;min-height:42px;line-height:40px!important;padding:0 12px!important;border-radius:var(--bs-radius-btn,6px);font:600 13.5px var(--bs-font,inherit)!important;border:1px solid var(--bs-ink,#111827)!important;color:var(--bs-ink,#111827)!important;background:#fff!important;text-decoration:none!important;text-transform:none!important}
body .fusion-main-menu .fusion-menu-cart-checkout a:hover{background:var(--bs-mist,#e5e7eb)!important}
body .fusion-main-menu .fusion-menu-cart-checkout-link a{background:var(--bs-ink,#111827)!important;color:#fff!important}
body .fusion-main-menu .fusion-menu-cart-checkout-link a:hover{background:var(--bs-graphite,#374151)!important}
body .fusion-main-menu .fusion-menu-cart-checkout a:before{display:none!important;content:none!important}
/* Formulierknoppen in Mijn account (Wijzigingen opslaan, Inloggen, Registreren, Adres opslaan). */
body .woocommerce button.woocommerce-Button,body .woocommerce button.woocommerce-button,body .woocommerce-Button.button,body button.woocommerce-form-login__submit,body button.woocommerce-form-register__submit{display:inline-block;background:var(--bs-ink,#111827)!important;color:#fff!important;border:1px solid var(--bs-ink,#111827)!important;border-radius:var(--bs-radius-btn,6px)!important;min-height:44px;line-height:42px!important;padding:0 22px!important;font:600 14.5px var(--bs-font,inherit)!important;text-transform:none!important;letter-spacing:0!important;box-shadow:none!important;cursor:pointer;transition:background-color .16s}
body .woocommerce button.woocommerce-Button:hover,body .woocommerce button.woocommerce-button:hover,body button.woocommerce-form-login__submit:hover,body button.woocommerce-form-register__submit:hover{background:var(--bs-graphite,#374151)!important;border-color:var(--bs-graphite,#374151)!important;color:#fff!important}
/* Productkaarten in categorie-/serie-/winkeloverzichten (feedback 2026-11-05: uitlijning desktop + mobiel).
   Oorzaken: Avada clearfix ::before werd een lege eerste grid-cel; dubbele padding op .product-details Ã©n .fusion-product-content
   (tekstkolom 139px); Avada float/rollover-knoppen in te smalle container (knop 88x90px, overlap). */
body.bs-v4 ul.products::before,body.bs-v4 ul.products::after,body ul.products.clearfix::before,body ul.products.clearfix::after{display:none!important;content:none!important}
body.bs-v4 ul.products li.product{display:flex!important;flex-direction:column!important;aspect-ratio:auto!important;height:auto!important;overflow:visible!important;padding:14px!important;margin:0!important;float:none!important;width:auto!important;text-align:left!important}
body.bs-v4 ul.products li.product .fusion-product-wrapper{display:flex!important;flex-direction:column!important;flex:1 1 auto;width:100%!important;height:auto!important;padding:0!important;margin:0!important}
body.bs-v4 ul.products li.product .product-images{display:block!important;width:100%;aspect-ratio:1/1;overflow:hidden;background:#fff;border-radius:calc(var(--bs-radius,10px) - 4px)}
body.bs-v4 ul.products li.product .product-images .featured-image{width:100%;height:100%;min-height:0!important;padding:0!important;margin:0!important}
body.bs-v4 ul.products li.product .product-images img{width:100%!important;height:100%!important;object-fit:contain;display:block}
body.bs-v4 ul.products li.product .fusion-product-content{display:flex!important;flex-direction:column!important;flex:1 1 auto;padding:14px 0 0!important;margin:0!important;width:100%!important;text-align:left!important}
body.bs-v4 ul.products li.product .product-details,body.bs-v4 ul.products li.product .product-details-container{display:block!important;flex:1 1 auto;padding:0!important;margin:0!important;width:100%!important;float:none!important;text-align:left!important}
body.bs-v4 ul.products li.product .product-title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em;margin:0 0 8px!important;padding:0!important;text-align:left!important}
body.bs-v4 ul.products li.product .product-title a{color:inherit!important;text-decoration:none!important}
body.bs-v4 ul.products li.product .fusion-price-rating{display:flex!important;flex-direction:column;align-items:flex-start;gap:4px;padding:0!important;margin:0!important;float:none!important;width:100%!important}
body.bs-v4 ul.products li.product .fusion-price-rating .price,body.bs-v4 ul.products li.product .price{display:block!important;font:600 17px/1.25 var(--bs-font,inherit)!important;color:var(--bs-ink,#111827)!important;padding:0!important;margin:0!important;float:none!important;width:auto!important}
body.bs-v4 ul.products li.product .price del{font-weight:400;color:#94a3b8;margin-right:6px}
body.bs-v4 ul.products li.product .bs-loop-stock{display:block!important;font:400 12.5px/1.4 var(--bs-font,inherit)!important;padding:0!important;margin:0!important;color:#475569}
body.bs-v4 ul.products li.product .bs-loop-stock--stock,body.bs-v4 ul.products li.product .bs-loop-stock--instock{color:#15803d}
body.bs-v4 ul.products li.product .product-buttons{margin-top:auto!important;padding:12px 0 0!important;width:100%!important;border:0!important;float:none!important}
body.bs-v4 ul.products li.product .product-buttons .fusion-content-sep{display:none!important}
body.bs-v4 ul.products li.product .product-buttons-container{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;float:none!important;width:100%!important;padding:0!important;margin:0!important;text-align:left!important}
body.bs-v4 ul.products li.product .product-buttons-container::before,body.bs-v4 ul.products li.product .product-buttons-container::after{display:none!important;content:none!important}
body.bs-v4 ul.products li.product .product-buttons-container>a,body.bs-v4 ul.products li.product .product-buttons-container>button{display:flex!important;align-items:center;justify-content:center;float:none!important;width:100%!important;max-width:none!important;min-width:0!important;min-height:42px;height:auto!important;padding:0 10px!important;margin:0!important;border-radius:var(--bs-radius-btn,6px)!important;font:600 13.5px/1.2 var(--bs-font,inherit)!important;text-transform:none!important;letter-spacing:0!important;white-space:nowrap;text-decoration:none!important;box-shadow:none!important;transition:background-color .16s,border-color .16s;cursor:pointer}
body.bs-v4 ul.products li.product .product-buttons-container>a::before,body.bs-v4 ul.products li.product .product-buttons-container>a::after,body.bs-v4 ul.products li.product .product-buttons-container>button::before{display:none!important;content:none!important}
body.bs-v4 ul.products li.product .product-buttons-container>a.button{grid-column:1/-1;background:var(--bs-ink,#111827)!important;color:#fff!important;border:1px solid var(--bs-ink,#111827)!important}
body.bs-v4 ul.products li.product .product-buttons-container>a.button:hover{background:var(--bs-graphite,#374151)!important;border-color:var(--bs-graphite,#374151)!important}
body.bs-v4 ul.products li.product .product-buttons-container>a.button.added{background:#15803d!important;border-color:#15803d!important}
body.bs-v4 ul.products li.product .product-buttons-container>a.added_to_cart{grid-column:1/-1;background:#fff!important;color:#15803d!important;border:1px solid #15803d!important}
body.bs-v4 ul.products li.product .product-buttons-container>a.show_details_button,body.bs-v4 ul.products li.product .product-buttons-container>button.bsq-loop{background:#fff!important;color:var(--bs-ink,#111827)!important;border:1px solid var(--bs-mist,#d1d5db)!important}
body.bs-v4 ul.products li.product .product-buttons-container>a.show_details_button:hover,body.bs-v4 ul.products li.product .product-buttons-container>button.bsq-loop:hover{border-color:var(--bs-ink,#111827)!important;background:var(--bs-mist,#f1f5f9)!important}
body.bs-v4 ul.products li.product .product-buttons-container .screen-reader-text{display:none!important}
body.bs-v4 ul.products li.product .fusion-rollover,body.bs-v4 ul.products li.product .cart-loading{display:none!important}
@media (min-width:601px) and (max-width:1024px){
body.bs-v4 ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;padding:0!important}
}
@media (min-width:601px) and (max-width:760px){
body.bs-v4 ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:600px){
body.bs-v4 ul.products{grid-template-columns:1fr!important;gap:12px!important;padding:0!important}
body.bs-v4 ul.products li.product{padding:12px!important}
body.bs-v4 ul.products li.product .fusion-product-wrapper{flex-direction:row!important;gap:12px;align-items:flex-start}
body.bs-v4 ul.products li.product .product-images{flex:0 0 112px;width:112px}
body.bs-v4 ul.products li.product .fusion-product-content{flex:1 1 auto;min-width:0;padding:0!important}
body.bs-v4 ul.products li.product .product-title{min-height:0;font-size:14.5px!important}
body.bs-v4 ul.products li.product .product-buttons-container>a,body.bs-v4 ul.products li.product .product-buttons-container>button{min-height:40px;font-size:13px!important}
}


/* 2026-11-05 voorraadbadge home */
body.bs-v4 .bs4-prod__stock{display:inline-block;margin-top:6px;font:500 12px var(--bs-font);color:#1a7f37;background:#e8f5ec;border-radius:4px;padding:2px 8px}
body.bs-v4 .bs-price-quote{font:500 15px var(--bs-font);color:var(--bs-ink)}
