/* NIWA Core: motorkaarten. Bewust licht en overschrijfbaar vanuit Elementor. */
.niwa-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 600px) {
  .niwa-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 900px) {
  .niwa-grid--cols-3 { grid-template-columns: repeat(3, 1fr); }
  .niwa-grid--cols-4 { grid-template-columns: repeat(4, 1fr); }
  .niwa-grid--cols-5 { grid-template-columns: repeat(5, 1fr); }
  .niwa-grid--cols-6 { grid-template-columns: repeat(6, 1fr); }
}

.niwa-card {
  background: var(--niwa-card-bg, #fff);
  border-radius: var(--niwa-card-radius, 12px);
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.niwa-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
}
.niwa-card__link {
  display: block;
  color: inherit;
  text-decoration: none;
}
.niwa-card__media {
  position: relative;
  aspect-ratio: 4 / 3;
  background: var(--niwa-media-bg, #f4f4f4);
}
.niwa-card__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.niwa-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.niwa-badge--nieuw {
  background: var(--niwa-geel, #ffd400);
  color: #111;
}
.niwa-badge--actie {
  background: #d0021b;
  color: #fff;
}
.niwa-card__body {
  padding: 14px 16px 16px;
}
.niwa-card__titel {
  margin: 0 0 6px;
  font-size: 17px;
  line-height: 1.3;
}
.niwa-card__specs {
  margin: 0 0 10px;
  font-size: 13px;
  color: #666;
}
.niwa-card__sep {
  opacity: 0.5;
}
.niwa-card__prijs {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
}
.niwa-card__prijs del {
  color: #999;
  font-weight: 400;
  font-size: 14px;
  margin-right: 8px;
}
.niwa-card__prijs ins {
  text-decoration: none;
  color: #d0021b;
}

.niwa-paginatie {
  margin-top: 28px;
  display: flex;
  justify-content: center;
  gap: 6px;
}
.niwa-paginatie .page-numbers {
  padding: 8px 14px;
  border-radius: 8px;
  background: #f2f2f2;
  color: #111;
  text-decoration: none;
}
.niwa-paginatie .page-numbers.current {
  background: var(--niwa-geel, #ffd400);
  font-weight: 700;
}

/* Aanbodpagina met filters */
.niwa-aanbod {
  display: grid;
  gap: 32px;
  grid-template-columns: 1fr;
}
@media (min-width: 900px) {
  .niwa-aanbod { grid-template-columns: 260px 1fr; align-items: start; }
}
.niwa-aanbod.is-laden [data-niwa-grid] { opacity: 0.45; transition: opacity .15s; }
.niwa-aanbod__filters { position: sticky; top: 90px; }
.niwa-facet { border-bottom: 1px solid #e7e7e7; padding: 10px 0; }
.niwa-facet__titel { cursor: pointer; font-weight: 700; list-style: none; display: flex; justify-content: space-between; }
.niwa-facet__titel::after { content: '+'; opacity: .5; }
.niwa-facet[open] .niwa-facet__titel::after { content: '\2013'; }
.niwa-facet__opties { padding: 10px 0 4px; display: flex; flex-direction: column; gap: 6px; max-height: 260px; overflow: auto; }
.niwa-facet__optie { display: flex; align-items: center; gap: 8px; font-size: 14px; cursor: pointer; }
.niwa-facet__optie.is-leeg { opacity: .4; }
.niwa-facet__aantal { margin-left: auto; font-style: normal; font-size: 12px; color: #888; }
.niwa-facet__prijs { flex-direction: row; }
.niwa-facet__prijs input { width: 50%; padding: 8px 10px; border: 1px solid #ddd; border-radius: 8px; }
.niwa-filterform__reset { margin-top: 14px; background: none; border: none; text-decoration: underline; cursor: pointer; padding: 0; color: #555; }
.niwa-aanbod__balk { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; gap: 12px; flex-wrap: wrap; }
.niwa-aanbod__sorteer { padding: 8px 12px; border: 1px solid #ddd; border-radius: 8px; background: #fff; }
.niwa-aanbod__meer { text-align: center; margin-top: 28px; }
.niwa-aanbod__laadmeer { background: var(--niwa-geel, #ffd400); border: none; padding: 12px 28px; border-radius: 999px; font-weight: 700; cursor: pointer; }
.niwa-aanbod__laadmeer[hidden] { display: none; }
.niwa-aanbod__leeg { grid-column: 1 / -1; color: #666; }
/* Merken- en categoriegrids */
.niwa-merken { display: grid; gap: 18px; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 700px) {
  .niwa-merken--cols-4 { grid-template-columns: repeat(4, 1fr); }
  .niwa-merken--cols-5 { grid-template-columns: repeat(5, 1fr); }
  .niwa-merken--cols-6 { grid-template-columns: repeat(6, 1fr); }
  .niwa-merken--cols-7 { grid-template-columns: repeat(7, 1fr); }
  .niwa-merken--cols-8 { grid-template-columns: repeat(8, 1fr); }
}
.niwa-merk { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 18px 12px; background: #fff; border-radius: 12px; box-shadow: 0 1px 4px rgba(0,0,0,.08); text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }
.niwa-merk:hover { transform: translateY(-3px); box-shadow: 0 6px 18px rgba(0,0,0,.12); }
.niwa-merk__logo { height: 44px; display: flex; align-items: center; }
.niwa-merk__logo img { max-height: 44px; width: auto; max-width: 120px; object-fit: contain; }
.niwa-merk__naam { font-weight: 700; }
.niwa-merk__aantal { font-size: 13px; color: #777; }

.niwa-cats { display: grid; gap: 24px; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 800px) {
  .niwa-cats--cols-3 { grid-template-columns: repeat(3, 1fr); }
  .niwa-cats--cols-4 { grid-template-columns: repeat(4, 1fr); }
  .niwa-cats--cols-5 { grid-template-columns: repeat(5, 1fr); }
}
.niwa-cat { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 20px 14px; background: #fff; border-radius: 12px; box-shadow: 0 1px 4px rgba(0,0,0,.08); text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }
.niwa-cat:hover { transform: translateY(-3px); box-shadow: 0 6px 18px rgba(0,0,0,.12); }
.niwa-cat__media { aspect-ratio: 16 / 10; width: 100%; display: flex; align-items: center; justify-content: center; }
.niwa-cat__media img { max-width: 100%; max-height: 100%; object-fit: contain; }
.niwa-cat__naam { font-weight: 700; font-size: 16px; }
.niwa-cat__aantal { font-size: 13px; color: #777; }
/* Menu-linklijsten (megamenu) */
.niwa-menulinks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.niwa-menulinks a { text-decoration: none; color: inherit; font-size: 15px; line-height: 1.5; display: inline-block; padding: 2px 0; }
.niwa-menulinks a:hover { text-decoration: underline; text-underline-offset: 3px; }
/* USP-lijst */
.niwa-usps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.niwa-usp { display: flex; align-items: center; gap: 10px; font-size: 16px; }
.niwa-usp__icoon { color: var(--niwa-geel, #ffd400); background: #111; border-radius: 50%; padding: 3px; flex: 0 0 auto; }

/* Nieuwsgrid */
.niwa-nieuws { display: grid; gap: 24px; grid-template-columns: 1fr; }
@media (min-width: 700px) {
  .niwa-nieuws--cols-2 { grid-template-columns: repeat(2, 1fr); }
  .niwa-nieuws--cols-3 { grid-template-columns: repeat(3, 1fr); }
  .niwa-nieuws--cols-4 { grid-template-columns: repeat(4, 1fr); }
}
.niwa-nieuwskaart { background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 1px 4px rgba(0,0,0,.08); transition: transform .15s, box-shadow .15s; }
.niwa-nieuwskaart:hover { transform: translateY(-3px); box-shadow: 0 6px 18px rgba(0,0,0,.12); }
.niwa-nieuwskaart__link { display: block; color: inherit; text-decoration: none; }
.niwa-nieuwskaart__media { aspect-ratio: 16 / 9; background: #f4f4f4; }
.niwa-nieuwskaart__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.niwa-nieuwskaart__body { padding: 16px 18px 18px; }
.niwa-nieuwskaart__meta { margin: 0 0 8px; font-size: 12px; color: #777; display: flex; gap: 10px; flex-wrap: wrap; }
.niwa-nieuwskaart__cats { font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #111; }
.niwa-nieuwskaart__titel { margin: 0 0 6px; font-size: 18px; line-height: 1.3; }
.niwa-nieuwskaart__excerpt { margin: 0 0 10px; font-size: 14px; color: #555; }
.niwa-nieuwskaart__lees { font-weight: 700; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
/* Modellen binnen merk/categorie */
.niwa-modellen { display: grid; gap: 16px; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 800px) {
  .niwa-modellen--cols-3 { grid-template-columns: repeat(3, 1fr); }
  .niwa-modellen--cols-4 { grid-template-columns: repeat(4, 1fr); }
  .niwa-modellen--cols-5 { grid-template-columns: repeat(5, 1fr); }
  .niwa-modellen--cols-6 { grid-template-columns: repeat(6, 1fr); }
}
.niwa-model { display: flex; flex-direction: column; gap: 2px; padding: 16px 18px; background: #fff; border-radius: 12px; box-shadow: 0 1px 4px rgba(0,0,0,.08); text-decoration: none; color: inherit; transition: transform .15s, box-shadow .15s; }
.niwa-model:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0,0,0,.12); }
.niwa-model__naam { font-weight: 700; }
.niwa-model__aantal { font-size: 13px; color: #777; }

/* FAQ accordeon */
.niwa-faq { display: flex; flex-direction: column; gap: 10px; }
.niwa-faq__item { background: #fff; border-radius: 12px; box-shadow: 0 1px 4px rgba(0,0,0,.06); padding: 4px 18px; }
.niwa-faq__vraag { cursor: pointer; font-weight: 700; padding: 12px 0; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.niwa-faq__vraag::after { content: '+'; opacity: .5; }
.niwa-faq__item[open] .niwa-faq__vraag::after { content: '\2013'; }
.niwa-faq__antwoord { padding: 0 0 14px; color: #444; }
/* Sectie verbergen als de inhoud leeg is (vervangt JE Dynamic Visibility) */
.e-con:has(> .elementor-widget .niwa-leeg), .e-con:has(> .elementor-element .niwa-leeg) { display: none !important; }

/* Specificaties */
.niwa-specs { margin: 0; display: grid; gap: 12px; grid-template-columns: 1fr; }
@media (min-width: 800px) { .niwa-specs { grid-template-columns: repeat(2, 1fr); } }
.niwa-spec { background: #fff; border-radius: 12px; box-shadow: 0 1px 4px rgba(0,0,0,.06); padding: 14px 18px; }
.niwa-spec dt { font-weight: 700; margin: 0 0 2px; }
.niwa-spec dd { margin: 0; color: #555; font-size: 14px; }

/* Merkbadge (modelpagina) */
.niwa-merkbadge { display: inline-flex; align-items: center; gap: 10px; padding: 14px 24px; background: #f5f5f5; border-radius: 10px; color: #000; text-decoration: none; font-weight: 600; transition: background .15s; }
.niwa-merkbadge:hover { background: #efefef; }
.niwa-merkbadge__icoon { color: var(--niwa-geel, #ffd400); display: inline-flex; }
/* Motor-detail: galerij */
.niwa-galerij__hoofd { position: relative; aspect-ratio: 4 / 3; background: #f4f4f4; border-radius: 12px; overflow: hidden; }
.niwa-galerij__foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; opacity: 0; transition: opacity .2s; }
.niwa-galerij__foto.is-actief { opacity: 1; }
.niwa-galerij__pijl { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,.9); border: none; width: 40px; height: 40px; border-radius: 50%; cursor: pointer; font-size: 18px; box-shadow: 0 1px 6px rgba(0,0,0,.2); }
.niwa-galerij__pijl--vorige { left: 12px; }
.niwa-galerij__pijl--volgende { right: 12px; }
.niwa-galerij__thumbs { display: flex; gap: 8px; margin-top: 10px; overflow-x: auto; padding-bottom: 4px; }
.niwa-galerij__thumb { flex: 0 0 72px; height: 54px; border: 2px solid transparent; border-radius: 8px; overflow: hidden; padding: 0; cursor: pointer; background: #f4f4f4; }
.niwa-galerij__thumb.is-actief { border-color: var(--niwa-geel, #ffd400); }
.niwa-galerij__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Motor-detail: velden en prijs */
.niwa-motorveld { font-size: 14px; line-height: 1.5; }
.niwa-motorprijs { font-size: 26px; font-weight: 800; margin: 0; }
.niwa-motorprijs del { color: #999; font-weight: 400; font-size: 18px; margin-right: 10px; }
.niwa-motorprijs ins { text-decoration: none; color: #d0021b; }

/* Accessoires */
.niwa-accessoires { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; grid-template-columns: 1fr; }
@media (min-width: 700px) { .niwa-accessoires { grid-template-columns: repeat(2, 1fr); } }
.niwa-accessoires li { display: flex; gap: 10px; align-items: center; font-size: 15px; }
.niwa-accessoires__icoon { color: var(--niwa-geel, #ffd400); background: #111; border-radius: 50%; padding: 2px; display: inline-flex; flex: 0 0 auto; }

/* Mandjesknoppen */
.niwa-mandjeknop { border: 2px solid #111; background: #fff; color: #111; padding: 12px 22px; border-radius: 999px; font-weight: 700; cursor: pointer; transition: background .15s, color .15s; }
.niwa-mandjeknop:hover { background: #111; color: #fff; }
.niwa-mandjeknop.is-actief { background: var(--niwa-geel, #ffd400); border-color: var(--niwa-geel, #ffd400); color: #111; }
.niwa-mandjeknop--verwijder { padding: 8px 16px; font-size: 13px; margin-top: -12px; }
.niwa-mandje-leeg { grid-column: 1 / -1; color: #666; }
/* Vergelijkingstabel */
.niwa-vergelijktabel-wrap { overflow-x: auto; }
.niwa-vergelijktabel { width: 100%; border-collapse: collapse; background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 1px 4px rgba(0,0,0,.08); }
.niwa-vergelijktabel th, .niwa-vergelijktabel td { padding: 12px 16px; text-align: left; border-bottom: 1px solid #eee; vertical-align: top; min-width: 160px; }
.niwa-vergelijktabel thead th { vertical-align: bottom; }
.niwa-vergelijktabel thead a { color: inherit; text-decoration: none; display: block; }
.niwa-vergelijktabel thead img { border-radius: 8px; margin-bottom: 8px; width: 100%; height: auto; }
.niwa-vergelijktabel thead span { font-weight: 700; display: block; margin-bottom: 8px; }
.niwa-vergelijktabel tbody th { color: #666; font-weight: 600; font-size: 14px; }
.niwa-vergelijktabel ins { text-decoration: none; color: #d0021b; font-weight: 700; }
.niwa-vergelijktabel del { color: #999; }
/* =====================================================
   NIWA huisstijl-laag: exacte waarden uit de originele
   Jet-listing-templates (2739 e.a.) en de Elementor-kit.
   Overschrijft de neutrale basisstijl hierboven.
   ===================================================== */
:root {
  --niwa-geel: #FFDE00;
  --niwa-hover: #0789EB;
  --niwa-lijn: #DBDBDB;
  --niwa-lijn-kaart: #C0C0C0;
  --niwa-card-radius: 8px;
}

/* Kaarten: vlak, geen zware schaduwen, foto met radius 8 */
.niwa-card { background: #fff; border-radius: 8px; box-shadow: none; }
.niwa-card:hover { transform: none; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.07); }
.niwa-card__media { border-radius: 8px; overflow: hidden; }
.niwa-card__body { padding: 10px 12px 12px; }
.niwa-card__titel { font-size: 18px; font-weight: 600; text-transform: uppercase; line-height: 1.1; }
.niwa-card__specs { font-size: 14px; color: #333; border-top: 0.5px solid var(--niwa-lijn-kaart); margin: 0 0 8px; padding: 7px 0 0; }
.niwa-card__prijs { font-size: 18px; font-weight: 700; }
.niwa-card__prijs del { font-size: 13px; }
.niwa-card__prijs ins { color: #000; }

/* Badges: geel, zwarte tekst, radius 5, zoals origineel */
.niwa-badge { border-radius: 5px; font-size: 14px; font-weight: 600; padding: 5px 5px 3px; letter-spacing: 0; line-height: 1; }
.niwa-badge--nieuw { background: var(--niwa-geel); color: #000; }
.niwa-badge--actie { background: var(--niwa-geel); color: #000; }

/* Knoppen: 13px, radius 4, zwart met hoverblauw (sitebreed hovergedrag) */
.niwa-mandjeknop { border-radius: 4px; font-size: 13px; font-weight: 600; padding: 10px 14px; border: 1px solid #000; text-transform: uppercase; }
.niwa-mandjeknop:hover { background: var(--niwa-hover); border-color: var(--niwa-hover); color: #fff; }
.niwa-mandjeknop.is-actief { background: var(--niwa-geel); border-color: var(--niwa-geel); color: #000; }
.niwa-aanbod__laadmeer, .niwa-filterform__reset, .niwa-nieuwskaart__lees { border-radius: 4px; font-size: 13px; text-transform: uppercase; font-weight: 600; }
.niwa-paginatie .page-numbers { border-radius: 4px; }
.niwa-paginatie .page-numbers.current { background: var(--niwa-geel); }

/* Koppen en labels overal in kapitalen, Roboto 600, strakke leading */
.niwa-merk__naam, .niwa-cat__naam, .niwa-model__naam, .niwa-nieuwskaart__titel,
.niwa-facet__titel, .niwa-merkbadge, .niwa-vergelijktabel thead span, .niwa-vergelijktabel tbody th {
  font-weight: 600; text-transform: uppercase; line-height: 1.15;
}
.niwa-nieuwskaart__titel { font-size: 18px; }

/* Nieuws- en categoriekaarten: zelfde vlakke stijl */
.niwa-nieuwskaart, .niwa-cat, .niwa-merk { border-radius: 8px; box-shadow: none; border: 1px solid var(--niwa-lijn); }
.niwa-nieuwskaart:hover, .niwa-cat:hover, .niwa-merk:hover { transform: none; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.07); border-color: var(--niwa-lijn-kaart); }

/* Filterpaneel */
.niwa-aanbod__filters { border-radius: 8px; box-shadow: none; border: 1px solid var(--niwa-lijn); }
.niwa-facet { border-bottom: 0.5px solid var(--niwa-lijn-kaart); }

/* Galerij: vierkante pijlknoppen, gele actieve thumb */
.niwa-galerij__hoofd { border-radius: 8px; }
.niwa-galerij__pijl { border-radius: 4px; box-shadow: none; border: 1px solid var(--niwa-lijn); }
.niwa-galerij__thumb { border-radius: 5px; }

/* Motor-detail */
.niwa-motorprijs { font-weight: 700; }
.niwa-motorprijs ins { color: #000; }
.niwa-motorveld b { text-transform: uppercase; font-weight: 600; font-size: 13px; }
.niwa-accessoires__icoon { color: #000; background: var(--niwa-geel); }

/* Vergelijkingstabel */
.niwa-vergelijktabel { border-radius: 8px; box-shadow: none; border: 1px solid var(--niwa-lijn); }
.niwa-vergelijktabel th, .niwa-vergelijktabel td { border-bottom: 0.5px solid var(--niwa-lijn-kaart); }
.niwa-vergelijktabel ins { color: #000; }
.niwa-vergelijktabel thead img { border-radius: 5px; }
/* Motorkaart-layout 1:1 met origineel: titel links, prijs rechts, specs met |, knoppenrij */
.niwa-card__kop { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; padding-top: 6px; }
.niwa-card__titel { font-size: 16px; margin: 0; }
.niwa-card__titel a { color: inherit; text-decoration: none; }
.niwa-card__prijs { display: flex; flex-direction: column; align-items: flex-end; gap: 0; margin: 0; line-height: 1.2; }
.niwa-card__prijs del { margin: 0; font-size: 12px; }
.niwa-card__specs { margin: 10px 0 0; padding: 7px 0 6px; color: #000; }
.niwa-card__sep { opacity: 1; color: #000; padding: 0 2px; }
.niwa-card__acties { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding-top: 2px; }
.niwa-mandjeknop--kaart { padding: 8px 12px; font-size: 13px; text-transform: none; font-weight: 600; }
.niwa-card__meer { background: var(--niwa-geel); color: #000; border-radius: 4px; font-size: 13px; font-weight: 600; padding: 9px 14px; text-decoration: none; }
.niwa-card__meer:hover { background: var(--niwa-hover); color: #fff; }
.niwa-card__body { padding: 0 2px 6px; }
.niwa-card { background: transparent; border-radius: 0; overflow: visible; }
.niwa-card:hover { box-shadow: none; }
.niwa-card__media { display: block; border-radius: 8px; overflow: hidden; position: relative; }
/* Fijnslijpen motorkaart t.o.v. origineel */
.niwa-card__body h3.niwa-card__titel { font-size: 16px; line-height: 1.15; margin: 0; }
.niwa-card__kop { border-bottom: 0.5px solid var(--niwa-lijn-kaart); padding-bottom: 8px; }
.niwa-card__kop .niwa-card__prijs { flex: 0 0 auto; text-align: right; }
.niwa-card__specs { border-top: none; margin: 8px 0 0; padding: 0 0 4px; font-size: 14px; }
/* Plan proefrit: witte outline-knop met hartje, zoals origineel (kit kleurt buttons anders geel) */
button.niwa-mandjeknop--kaart { background: #fff; color: #000; border: 1px solid #000; text-transform: none; }
button.niwa-mandjeknop--kaart::before { content: "\2661\00a0"; font-size: 15px; }
button.niwa-mandjeknop--kaart:hover { background: var(--niwa-hover); border-color: var(--niwa-hover); color: #fff; }
button.niwa-mandjeknop--kaart.is-actief { background: var(--niwa-geel); border-color: var(--niwa-geel); color: #000; }
button.niwa-mandjeknop--kaart.is-actief::before { content: "\2665\00a0"; }
/* Nieuwskaart: gele badges op de foto, zachte schaduw, lees meer met pijl */
.niwa-nieuwskaart { border: none; box-shadow: 0 2px 14px rgba(0, 0, 0, 0.09); }
.niwa-nieuwskaart:hover { box-shadow: 0 4px 18px rgba(0, 0, 0, 0.13); }
.niwa-nieuwskaart__media { position: relative; }
.niwa-nieuwskaart__cats { position: absolute; top: 10px; right: 10px; display: flex; gap: 6px; }
.niwa-nieuwsbadge { background: var(--niwa-geel); color: #000; font-size: 12px; font-weight: 600; text-transform: uppercase; padding: 4px 7px 3px; border-radius: 4px; line-height: 1; }
.niwa-nieuwskaart__meta { font-size: 13px; color: #666; text-transform: none; }
.niwa-nieuwskaart__lees { text-transform: none; text-decoration: none; font-weight: 600; font-size: 14px; }
/* Merk-, categorie- en modelblokken: lichtgrijs vlak zonder rand, zoals origineel */
.niwa-merk, .niwa-cat, .niwa-model { background: #F5F5F5; border: none; border-radius: 8px; }
.niwa-merk:hover, .niwa-cat:hover, .niwa-model:hover { border: none; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08); }
/* Filterpaneel zonder kader, zoals origineel */
.niwa-aanbod__filters { border: none; background: transparent; padding: 0; }
/* Motor-detail 1:1 met origineel: prijs 28px, velden 17px, knoppen per lijst, galerij */
.niwa-motorprijs { font-size: 28px; font-weight: 700; color: #000; }
.niwa-motorprijs del { font-size: 16px; font-weight: 700; color: #000; display: block; margin: 0 0 2px; }
.niwa-motorprijs ins { color: #000; }
.niwa-motorveld { font-size: 17px; line-height: 1.5; }
.niwa-motorveld b { text-transform: none; font-weight: 700; font-size: 17px; }

/* Detailknoppen: proefrit en favoriet geel, vergelijk wit met rand; 17px, radius 5 */
button.niwa-mandjeknop:not(.niwa-mandjeknop--kaart):not(.niwa-mandjeknop--verwijder) {
  font-size: 17px; font-weight: 600; padding: 13px 23px; border-radius: 5px; border: 1px solid #000;
  background: #fff; color: #000; text-transform: none;
}
button.niwa-mandjeknop[data-lijst="proefrit"]:not(.niwa-mandjeknop--kaart),
button.niwa-mandjeknop[data-lijst="favoriet"]:not(.niwa-mandjeknop--kaart) {
  background: var(--niwa-geel); border-color: var(--niwa-geel);
}
button.niwa-mandjeknop:not(.niwa-mandjeknop--kaart):hover { background: var(--niwa-hover); border-color: var(--niwa-hover); color: #fff; }
button.niwa-mandjeknop:not(.niwa-mandjeknop--kaart).is-actief { background: #000; border-color: #000; color: var(--niwa-geel); }

/* Galerij: zwarte vierkante pijlen, thumbs in 4 kolommen met radius 8 */
.niwa-galerij__pijl { background: #000; color: #fff; border: none; border-radius: 0; width: 48px; height: 48px; font-size: 17px; box-shadow: none; }
.niwa-galerij__thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; padding: 10px 0; overflow: visible; }
.niwa-galerij__thumb { flex: none; width: 100%; height: auto; aspect-ratio: 4 / 3; border-radius: 8px; border-width: 2px; }
.niwa-galerij__hoofd img { border-radius: 8px; }
@media (max-width: 767px) { .niwa-galerij__thumbs { grid-template-columns: repeat(2, 1fr); gap: 5px; padding: 5px 0; } }
/* Megamenu-links als chips, exact zoals de originele Simpel menu-listings:
   17px / 300, padding 7px 14px, radius 4px; topmerken geel, rest wit */
ul.niwa-menulinks { display: flex; flex-direction: row; flex-wrap: wrap; gap: 10px; list-style: none; margin: 0; padding: 0; }
ul.niwa-menulinks li { margin: 0; padding: 0; }
ul.niwa-menulinks a { display: inline-block; background: #FFFFFF; color: #000; font-size: 17px; font-weight: 300; padding: 7px 14px; border-radius: 4px; text-decoration: none; line-height: 1.4; transition: background 0.25s, color 0.25s; }
ul.niwa-menulinks--topmerken a { background: var(--niwa-geel); }
ul.niwa-menulinks a:hover { background: var(--niwa-hover); color: #fff; }
/* Galerij: alleen de actieve thumb een gele rand */
.niwa-galerij__thumb { border: 2px solid transparent; }
.niwa-galerij__thumb.is-actief { border-color: var(--niwa-geel); }
/* Footer: menulinks als pijl-lijsten (wit op zwart), geen chips.
   Chips gelden alleen in header en menu-popup. */
.elementor-location-footer ul.niwa-menulinks a,
footer ul.niwa-menulinks a {
  background: none; padding: 0; border-radius: 0; color: #fff; font-size: 15px; font-weight: 400;
}
.elementor-location-footer ul.niwa-menulinks a::before,
footer ul.niwa-menulinks a::before { content: "\2192\00a0\00a0"; color: var(--niwa-geel); }
.elementor-location-footer ul.niwa-menulinks a:hover,
footer ul.niwa-menulinks a:hover { background: none; color: var(--niwa-geel); }
.elementor-location-footer ul.niwa-menulinks--categorieen,
footer ul.niwa-menulinks--categorieen { flex-direction: column; gap: 8px; }
.elementor-location-footer ul.niwa-menulinks--alle_merken,
footer ul.niwa-menulinks--alle_merken { gap: 8px 22px; }
/* Populaire modellen: fotokaart met naam en gele knop, zoals origineel */
.niwa-model--foto { position: relative; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; gap: 10px; aspect-ratio: 16 / 10; background-size: cover; background-position: center; border-radius: 8px; overflow: hidden; padding: 14px; border: none; }
.niwa-model--foto::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.55) 100%); }
.niwa-model--foto .niwa-model__naam { position: relative; color: #fff; font-size: 20px; font-weight: 600; text-transform: uppercase; }
.niwa-model__knop { position: relative; background: var(--niwa-geel); color: #000; font-size: 13px; font-weight: 700; padding: 9px 14px; border-radius: 4px; }
.niwa-model--foto:hover .niwa-model__knop { background: var(--niwa-hover); color: #fff; }

/* Overige modellen: witte pijl-chips */
.niwa-modelchips { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.niwa-modelchip { background: #fff; color: #000; font-size: 15px; padding: 8px 14px; border-radius: 4px; text-decoration: none; box-shadow: 0 1px 3px rgba(0,0,0,0.08); }
.niwa-modelchip__pijl { color: #000; }
.niwa-modelchip:hover { background: var(--niwa-hover); color: #fff; }

/* Waarom-punten als vinkje-chips, zoals de usps bovenaan */
.niwa-term-waarom { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 0; padding: 0; }
.niwa-term-waarom li { background: #F5F5F5; border-radius: 5px; padding: 9px 16px; font-size: 15px; display: flex; align-items: center; gap: 8px; }
.niwa-term-waarom li::before { content: "\2713"; color: #000; background: var(--niwa-geel); border-radius: 50%; width: 18px; height: 18px; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; flex: 0 0 auto; }
/* USP's en waarom-punten overal als grijze vinkje-chips, zoals origineel */
ul.niwa-usps { display: flex; flex-direction: row; flex-wrap: wrap; gap: 10px; justify-content: center; list-style: none; margin: 0; padding: 0; }
ul.niwa-usps .niwa-usp { background: #F5F5F5; border-radius: 5px; padding: 9px 16px; font-size: 15px; display: inline-flex; align-items: center; gap: 8px; }
ul.niwa-usps .niwa-usp .niwa-usp__icoon { color: var(--niwa-geel); width: 18px; height: 18px; background: none; border-radius: 0; padding: 0; }
/* Filterpaneel naar origineel: losse velden, selects, sliders met zwarte bolletjes */
.niwa-filterform { display: flex; flex-direction: column; gap: 18px; }
.niwa-filterveld > label { display: block; font-size: 15px; font-weight: 600; margin: 0 0 7px; }
.niwa-filterveld select, .niwa-filterveld input[type="search"] { width: 100%; background: #fff; border: 1px solid var(--niwa-lijn); border-radius: 4px; padding: 10px 12px; font-size: 15px; color: #000; }
.niwa-filterveld select { appearance: auto; }
.niwa-filterveld select + select { margin-top: 10px; }
.niwa-check { display: flex; align-items: center; gap: 8px; font-size: 15px; padding: 3px 0; cursor: pointer; }
.niwa-check input { width: 16px; height: 16px; accent-color: #111; }
.niwa-facet, .niwa-facet__titel { display: none; }

/* Dubbele schuifbalk */
.niwa-slider { position: relative; height: 24px; }
.niwa-slider input[type="range"] { position: absolute; inset: 0; width: 100%; margin: 0; -webkit-appearance: none; appearance: none; background: none; pointer-events: none; }
.niwa-slider input[type="range"]::-webkit-slider-runnable-track { height: 3px; background: transparent; }
.niwa-slider input[type="range"]:first-child::-webkit-slider-runnable-track { background: var(--niwa-lijn); border-radius: 2px; }
.niwa-slider input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; pointer-events: auto; width: 16px; height: 16px; border-radius: 50%; background: #111; border: none; margin-top: -6.5px; cursor: pointer; }
.niwa-slider input[type="range"]::-moz-range-track { height: 3px; background: transparent; }
.niwa-slider input[type="range"]:first-child::-moz-range-track { background: var(--niwa-lijn); }
.niwa-slider input[type="range"]::-moz-range-thumb { pointer-events: auto; width: 16px; height: 16px; border-radius: 50%; background: #111; border: none; cursor: pointer; }
.niwa-slider__waarden { display: flex; justify-content: space-between; gap: 10px; margin-top: 4px; font-size: 15px; }
.niwa-slider__waarden input { width: 90px; background: #fff; border: 1px solid var(--niwa-lijn); border-radius: 4px; padding: 6px 8px; font-size: 15px; }
.niwa-slider__waarden--midden { justify-content: flex-start; color: #333; }
/* Uitgelicht nieuwsbericht: brede zwarte banner met foto links en gele knop */
.niwa-nieuwsheld { display: flex; background: #000; border-radius: 8px; overflow: hidden; }
.niwa-nieuwsheld__media { flex: 0 0 48%; display: block; }
.niwa-nieuwsheld__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.niwa-nieuwsheld__body { flex: 1; padding: 26px 30px; color: #fff; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.niwa-nieuwsheld__badges { margin: 0; display: flex; gap: 6px; }
.niwa-nieuwsheld__titel { margin: 0; font-size: 24px; text-transform: uppercase; }
.niwa-nieuwsheld__titel a { color: #fff; text-decoration: none; }
.niwa-nieuwsheld__excerpt { margin: 0; color: #fff; font-size: 15px; }
.niwa-nieuwsheld__datum { font-size: 13px; color: #ccc; }
.niwa-nieuwsheld__knop { background: var(--niwa-geel); color: #000; font-size: 14px; font-weight: 700; padding: 10px 18px; border-radius: 4px; text-decoration: none; margin-top: 4px; }
.niwa-nieuwsheld__knop:hover { background: var(--niwa-hover); color: #fff; }
@media (max-width: 767px) { .niwa-nieuwsheld { flex-direction: column; } .niwa-nieuwsheld__media { flex: none; } }

/* Paginering: alleen cijfers, actief geel */
.niwa-paginatie { display: flex; justify-content: center; gap: 8px; margin-top: 26px; }
.niwa-paginatie .page-numbers { background: #fff; color: #000; border-radius: 4px; padding: 8px 14px; font-size: 15px; font-weight: 600; text-decoration: none; box-shadow: 0 1px 3px rgba(0,0,0,0.08); }
.niwa-paginatie .page-numbers.current { background: var(--niwa-geel); }
.niwa-paginatie a.page-numbers:hover { background: var(--niwa-hover); color: #fff; }
/* Galerij: thumbs en pijlen los van de kit-buttonstijl (die maakt buttons geel) */
button.niwa-galerij__thumb { background: none; padding: 0; border: 2px solid transparent; border-radius: 8px; overflow: hidden; }
button.niwa-galerij__thumb:hover { background: none; }
button.niwa-galerij__thumb.is-actief { border-color: var(--niwa-geel); }
button.niwa-galerij__pijl { background: #000; color: #fff; border: none; border-radius: 0; padding: 0; width: 48px; height: 48px; font-size: 17px; line-height: 1; }
button.niwa-galerij__pijl:hover { background: var(--niwa-hover); color: #fff; }

/* Lightbox */
.niwa-lightbox { position: fixed; inset: 0; z-index: 99999; background: rgba(0, 0, 0, 0.92); display: flex; align-items: center; justify-content: center; }
.niwa-lightbox__foto { max-width: 88vw; max-height: 90vh; object-fit: contain; border-radius: 4px; }
.niwa-lightbox button { background: #000; color: #fff; border: 1px solid #444; width: 48px; height: 48px; font-size: 20px; line-height: 1; padding: 0; cursor: pointer; border-radius: 0; }
.niwa-lightbox button:hover { background: var(--niwa-hover); border-color: var(--niwa-hover); }
.niwa-lightbox__sluit { position: absolute; top: 18px; right: 18px; font-size: 26px; }
.niwa-lightbox__pijl { position: absolute; top: 50%; transform: translateY(-50%); }
.niwa-lightbox__pijl--vorige { left: 18px; }
.niwa-lightbox__pijl--volgende { right: 18px; }
/* Proefrit/favorieten: compacte selectiekaarten met verwijder-link */
.niwa-mandjekaart { display: flex; flex-direction: column; gap: 6px; }
.niwa-mandjekaart__media { display: block; border-radius: 8px; overflow: hidden; }
.niwa-mandjekaart__media img { width: 100%; height: auto; display: block; }
.niwa-mandjekaart__titel { margin: 4px 0 0; font-size: 16px; }
.niwa-mandjekaart__titel a { color: inherit; text-decoration: none; }
.niwa-mandjekaart__prijs { margin: 0; font-size: 15px; font-weight: 700; }
button.niwa-mandjekaart__verwijder { background: none; border: none; padding: 0; color: #000; font-size: 14px; text-align: left; cursor: pointer; width: fit-content; }
button.niwa-mandjekaart__verwijder:hover { color: var(--niwa-hover); background: none; }
/* Nieuwsheld compacter, foto vult de linkerhelft als cover */
.niwa-nieuwsheld__media { position: relative; min-height: 200px; }
.niwa-nieuwsheld__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.niwa-nieuwsheld__body { padding: 20px 26px; gap: 7px; }
.niwa-nieuwsheld__titel { font-size: 19px; }
.niwa-nieuwsheld__excerpt { font-size: 14px; }
/* Kaartknop Plan proefrit compacter */
button.niwa-mandjeknop--kaart { font-size: 12px; padding: 7px 10px; }
button.niwa-mandjeknop--kaart::before { font-size: 13px; }

/* Werkplaatsformulier in de stijl van het origineel */
.niwa-werkplaatsform .e-form__indicators__indicator__number { width: 36px; height: 36px; border: 2px solid #C0C0C0; background: #fff; color: #000; font-weight: 700; border-radius: 50%; }
.niwa-werkplaatsform .e-form__indicators__indicator--state-active .e-form__indicators__indicator__number { border-color: var(--niwa-geel); background: #fff; }
.niwa-werkplaatsform .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number { background: var(--niwa-geel); border-color: var(--niwa-geel); }
.niwa-werkplaatsform .e-form__indicators__indicator__label { font-weight: 700; color: #000; margin-top: 6px; }
.niwa-werkplaatsform .e-form__indicators__separator { background-color: #DBDBDB; height: 2px; margin-top: 18px; }
.niwa-werkplaatsform .e-form__indicators__indicator--state-completed + .e-form__indicators__separator { background-color: var(--niwa-geel); }
.niwa-werkplaatsform .elementor-field-group-werkzaamheden .elementor-field-subgroup { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.niwa-werkplaatsform .elementor-field-group-werkzaamheden .elementor-field-option { border: 1px solid #C0C0C0; border-radius: 2px; padding: 18px 16px 12px; display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 8px; background: #fff; cursor: pointer; }
.niwa-werkplaatsform .elementor-field-group-werkzaamheden .elementor-field-option::before { content: ""; grid-column: 1 / -1; width: 44px; height: 44px; margin-bottom: 14px; background-size: contain; background-repeat: no-repeat; }
.niwa-werkplaatsform .elementor-field-group-werkzaamheden .elementor-field-option:nth-child(1)::before { background-image: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14.7%206.3a4%204%200%200%200-5.4%205.4L4%2017v3h3l5.3-5.3a4%204%200%200%200%205.4-5.4l-2.6%202.6-2.4-2.4z%22%2F%3E%3C%2Fsvg%3E'); }
.niwa-werkplaatsform .elementor-field-group-werkzaamheden .elementor-field-option:nth-child(2)::before { background-image: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M12%203v3M12%2018v3M3%2012h3M18%2012h3%22%2F%3E%3C%2Fsvg%3E'); }
.niwa-werkplaatsform .elementor-field-group-werkzaamheden .elementor-field-option:nth-child(3)::before { background-image: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%229%22%20r%3D%223.5%22%2F%3E%3Ccircle%20cx%3D%2216.5%22%20cy%3D%2215.5%22%20r%3D%222.8%22%2F%3E%3Cpath%20d%3D%22M9%203v2M9%2013v2M3%209h2M13%209h2M16.5%2011v1.6M16.5%2018v1.6M12.9%2015.5h1.6M20%2015.5h1.6%22%2F%3E%3C%2Fsvg%3E'); }
.niwa-werkplaatsform .elementor-field-group-werkzaamheden .elementor-field-option:nth-child(4)::before { background-image: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%226%22%2F%3E%3Cpath%20d%3D%22M20%2020l-4-4M11%208v3l2%202%22%2F%3E%3C%2Fsvg%3E'); }
.niwa-werkplaatsform .elementor-field-group-werkzaamheden .elementor-field-option:nth-child(5)::before { background-image: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203l8%203v6c0%204.5-3.2%207.7-8%209-4.8-1.3-8-4.5-8-9V6z%22%2F%3E%3Cpath%20d%3D%22M9%2012l2%202%204-4%22%2F%3E%3C%2Fsvg%3E'); }
.niwa-werkplaatsform .elementor-field-group-werkzaamheden .elementor-field-option:nth-child(6)::before { background-image: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%225%22%20cy%3D%2212%22%20r%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%2219%22%20cy%3D%2212%22%20r%3D%221.6%22%2F%3E%3C%2Fsvg%3E'); }
.niwa-werkplaatsform .elementor-field-group-werkzaamheden .elementor-field-option:nth-child(7)::before { background-image: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%202v20M4%206l16%2012M20%206L4%2018M8%204l4%203%204-3M8%2020l4-3%204%203%22%2F%3E%3C%2Fsvg%3E'); }
.niwa-werkplaatsform .elementor-field-group-werkzaamheden .elementor-field-option label { text-transform: uppercase; font-weight: 700; font-size: 14px; grid-column: 1 / -1; margin: 0 0 10px; cursor: pointer; }
.niwa-werkplaatsform .elementor-field-group-werkzaamheden .elementor-field-option input { margin: 0; width: 15px; height: 15px; }
.niwa-werkplaatsform .elementor-field-group-werkzaamheden .elementor-field-option::after { content: "Selecteer"; font-size: 13px; font-weight: 600; }
.niwa-werkplaatsform .elementor-field-group-werkzaamheden .elementor-field-option:has(input:checked) { border-color: var(--niwa-geel); box-shadow: 0 0 0 1px var(--niwa-geel); }
.niwa-werkplaatsform .elementor-field-group-kenteken { position: relative; }
.niwa-werkplaatsform .elementor-field-group-kenteken input { background: var(--niwa-geel); border: 2px solid #000; border-radius: 6px; font-weight: 800; font-size: 19px; letter-spacing: 3px; text-transform: uppercase; text-align: center; padding-left: 38px; color: #000; }
.niwa-werkplaatsform .elementor-field-group-kenteken input::placeholder { color: rgba(0,0,0,0.45); }
.niwa-werkplaatsform .elementor-field-group-kenteken::after { content: "NL"; position: absolute; left: 0; bottom: 0; top: auto; height: 47px; width: 30px; background: #003399; color: #fff; font-size: 11px; font-weight: 700; display: flex; align-items: flex-end; justify-content: center; padding-bottom: 4px; border-radius: 4px 0 0 4px; pointer-events: none; }
.niwa-werkplaatsform .elementor-field-group-telefoon { position: relative; }
.niwa-werkplaatsform .elementor-field-group-telefoon input { padding-left: 64px; }
.niwa-werkplaatsform .elementor-field-group-telefoon::after { content: ""; position: absolute; left: 0; bottom: 0; height: 47px; width: 52px; background: var(--niwa-geel) url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2021%2015%22%3E%3Crect%20width%3D%2221%22%20height%3D%225%22%20fill%3D%22%23AE1C28%22%2F%3E%3Crect%20y%3D%225%22%20width%3D%2221%22%20height%3D%225%22%20fill%3D%22%23fff%22%2F%3E%3Crect%20y%3D%2210%22%20width%3D%2221%22%20height%3D%225%22%20fill%3D%22%2321468B%22%2F%3E%3C%2Fsvg%3E') center / 21px 15px no-repeat; border-radius: 4px 0 0 4px; border-right: 1px solid #DBDBDB; pointer-events: none; }
.niwa-form-hulp { font-size: 13px; color: #333; margin: 2px 0 0; }
.niwa-form-hulp--slot { font-size: 15px; margin-top: 10px; }
.niwa-werkplaatsform button[type=submit], .niwa-werkplaatsform .e-form__buttons__wrapper__button { background: var(--niwa-geel); color: #000; font-weight: 700; border-radius: 5px; padding: 12px 22px; border: none; }
.niwa-werkplaatsform .e-form__buttons__wrapper__button:hover, .niwa-werkplaatsform button[type=submit]:hover { background: var(--niwa-hover); color: #fff; }

/* Werkplaatsformulier: laatste bijschaving naar origineel */
.niwa-werkplaatsform input#form-field-kenteken { background: var(--niwa-geel); border: 2px solid #000; border-radius: 6px; font-weight: 800; font-size: 19px; letter-spacing: 3px; text-transform: uppercase; text-align: center; padding-left: 38px; color: #000; }
.niwa-werkplaatsform input#form-field-kenteken::placeholder { color: rgba(0,0,0,0.45); }
.niwa-werkplaatsform .e-form__buttons__wrapper { justify-content: flex-start; gap: 10px; }
.niwa-werkplaatsform .e-form__buttons__wrapper__button, .niwa-werkplaatsform button[type="submit"] { width: auto; min-width: 130px; flex: 0 0 auto; }
.elementor-popup-modal-1187322 .dialog-message, .elementor-popup-modal-1187322 .dialog-widget-content { width: 1000px; max-width: 94vw; }
/* Mobiel: motor-detail. Thumbs als compact scrollstrookje, specs in 2 kolommen. */
@media (max-width: 767px) {
  .niwa-galerij { overflow: hidden; }
  .niwa-galerij__thumbs { display: flex; grid-template-columns: none; overflow-x: auto; gap: 8px; padding: 8px 0; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
  .niwa-galerij__thumb { flex: 0 0 84px; width: 84px; aspect-ratio: 4 / 3; }
  .e-con:has(> .elementor-widget .niwa-motorveld) { flex-direction: row; flex-wrap: wrap; row-gap: 12px; }
  .e-con:has(> .elementor-widget .niwa-motorveld) > .elementor-widget { width: 50%; flex: 0 0 50%; min-width: 0; }
  .niwa-motorveld { font-size: 15px; padding-right: 8px; word-break: break-word; }
  .niwa-motorprijs { font-size: 24px; }
}
/* ===== Mobiele doorloop niwa-core ===== */
@media (max-width: 767px) {
  /* vergelijktabel horizontaal scrollbaar */
  .niwa-vergelijktabel-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .niwa-vergelijktabel { min-width: 560px; }
  .niwa-vergelijktabel th, .niwa-vergelijktabel td { padding: 9px 10px; font-size: 14px; }

  /* filterpaneel inklapbaar achter een knop */
  .niwa-aanbod__filters { display: none; }
  .niwa-aanbod__filters.is-open { display: block; }
  .niwa-filtertoggle { display: block; width: 100%; background: #fff; border: 1px solid var(--niwa-lijn); border-radius: 4px; padding: 12px 14px; font-size: 15px; font-weight: 700; text-align: left; margin-bottom: 4px; }
  .niwa-filtertoggle::after { content: "\25BE"; float: right; }
  .niwa-filtertoggle.is-open::after { content: "\25B4"; }

  /* werkplaatsformulier: keuzekaarten en indicator */
  .niwa-werkplaatsform .elementor-field-group-werkzaamheden .elementor-field-subgroup { grid-template-columns: 1fr; gap: 10px; }
  .niwa-werkplaatsform .elementor-field-group-werkzaamheden .elementor-field-option::before { width: 34px; height: 34px; margin-bottom: 8px; }
  .niwa-werkplaatsform .e-form__indicators__indicator__number { width: 28px; height: 28px; font-size: 13px; }
  .niwa-werkplaatsform .e-form__indicators__indicator__label { font-size: 11px; }
  .niwa-werkplaatsform .e-form__indicators__separator { margin-top: 14px; }

  /* schuifbalken: grotere duimen voor touch */
  .niwa-slider input[type="range"]::-webkit-slider-thumb { width: 22px; height: 22px; margin-top: -9.5px; }
  .niwa-slider input[type="range"]::-moz-range-thumb { width: 22px; height: 22px; }
  .niwa-slider { height: 30px; }

  /* lightbox: pijlen compact onderaan, sluiten binnen bereik */
  .niwa-lightbox__pijl { top: auto; bottom: 16px; transform: none; width: 44px; height: 44px; }
  .niwa-lightbox__pijl--vorige { left: calc(50% - 54px); }
  .niwa-lightbox__pijl--volgende { right: calc(50% - 54px); }
  .niwa-lightbox__foto { max-width: 96vw; max-height: 78vh; }

  /* nieuwsheld en kaartknoppen fijnslijpen */
  .niwa-nieuwsheld__media { min-height: 170px; }
  .niwa-card__acties { flex-wrap: wrap; }
  ul.niwa-menulinks a { font-size: 15px; padding: 8px 12px; }
}
/* Mandjeknop als doorgang naar de lijstpagina (bv. "Vergelijk items") */
button.niwa-mandjeknop.is-doorgang { background: #000; border-color: #000; color: var(--niwa-geel); }
button.niwa-mandjeknop.is-doorgang::after { content: "\00a0\2192"; }
button.niwa-mandjeknop.is-doorgang:hover { background: var(--niwa-hover); border-color: var(--niwa-hover); color: #fff; }
/* Popups: inhoud pas tonen als Elementor hem in de modal heeft geplaatst.
   Voorkomt dat de popup-inhoud (bv. de financierings-iframe) kort in de pagina flitst
   voordat het Elementor Pro-script hem oppakt. */
[data-elementor-type="popup"]:not(.dialog-widget-content [data-elementor-type="popup"]) { display: none !important; }
/* Eigen modal (financieringscalculator) */
.niwa-modal { position: fixed; inset: 0; z-index: 99998; background: rgba(0,0,0,0.75); display: flex; align-items: center; justify-content: center; padding: 20px; }
.niwa-modal__venster { position: relative; background: #fff; border-radius: 8px; width: min(860px, 100%); height: min(950px, 92vh); overflow: hidden; }
.niwa-modal__frame { width: 100%; height: 100%; border: 0; display: block; }
.niwa-modal__sluit { position: absolute; top: 8px; right: 10px; z-index: 2; background: #000; color: #fff; border: none; width: 36px; height: 36px; font-size: 22px; line-height: 1; cursor: pointer; border-radius: 4px; }
.niwa-modal__sluit:hover { background: var(--niwa-hover); }
@media (max-width: 767px) { .niwa-modal { padding: 0; } .niwa-modal__venster { width: 100%; height: 100%; border-radius: 0; } }

/* Financieringsmodal: iframe pas tonen als het geladen is */
.niwa-modal__frame { opacity: 0; transition: opacity .2s ease; }
.niwa-modal.is-geladen .niwa-modal__frame { opacity: 1; }
.niwa-modal__laden { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; background: #fff; color: #666; font-size: 15px; z-index: 1; }
.niwa-modal__spinner { width: 30px; height: 30px; border: 3px solid var(--niwa-lijn); border-top-color: var(--niwa-geel); border-radius: 50%; animation: niwa-draai .8s linear infinite; }
@keyframes niwa-draai { to { transform: rotate(360deg); } }
button.niwa-modal__sluit, .niwa-modal button.niwa-modal__sluit { background: #000 !important; color: #fff !important; border-radius: 4px; }
button.niwa-modal__sluit:hover { background: var(--niwa-hover) !important; }
