/* =====================================================================
   ZoekJeBedrijfswagen.nl  —  vernieuwd ontwerp (2026)
   Modern, zelfde merkblauw (#39679f). Zelfde HTML-classes/functionaliteit.
   Backup van vorige versie: /_backup_redesign_20260705/styles.css
   ===================================================================== */

/* ---------- design tokens ---------- */
:root{
  --brand:#39679f; --brand-deep:#2b5488; --brand-ink:#1f4373; --azure:#4f8bd6;
  --brand-soft:#eaf1f9;
  --ink:#16233b; --muted:#5c6b82; --faint:#8595ab;
  --bg:#eef2f7; --panel:#ffffff; --panel-2:#f6f9fc; --line:#dbe3ec; --line-2:#e9eef4;
  --ev:#1f9d6b; --ev-bg:#e6f6ef; --wa:#25c366;
  --shadow:0 1px 2px rgba(22,35,59,.06), 0 6px 20px rgba(22,35,59,.07);
  --shadow-lg:0 10px 40px rgba(22,35,59,.14);
  --r:14px; --r-sm:10px; --r-lg:18px;
  --wrap:1280px;
  --font:'Montserrat',ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color-scheme:light;   /* huisstijl: site altijd licht — geen automatische donkere modus */
}

/* ---------- reset ---------- */
*{margin:0;padding:0;box-sizing:border-box}
html{overflow-y:scroll;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font);background:var(--bg);color:var(--ink);
  line-height:1.5;font-size:15px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img,object,embed,svg{display:block;max-width:100%}
a{color:var(--brand-ink);text-decoration:none}
a:hover{text-decoration:none}
ul,ol{list-style:none}
h1,h2,h3,h4,h5{letter-spacing:-.02em;line-height:1.15;color:var(--ink);font-weight:800}
p{font-size:15px;line-height:1.6;color:var(--ink)}
small{font-size:12px}
input,select,textarea,button{font-family:inherit;font-size:15px;color:var(--ink)}
.tnum,.prices,.price,.pagination{font-variant-numeric:tabular-nums}
*:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

/* ---------- utility ---------- */
.clearBoth{clear:both}
.center{text-align:center}
.centerize{text-align:center;margin:0 auto}
.fwb{font-weight:700}
.snipsnip{overflow:hidden}

/* =====================================================================
   HEADER
   ===================================================================== */
.header{
  position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--panel) 90%,transparent);
  backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line);
}
.headerInner{
  max-width:var(--wrap);margin:0 auto;padding:0 22px;height:70px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.grootLogo{height:40px;width:auto;display:block}
.logoLink{display:inline-flex;align-items:center;flex:none}
.zjbLogo{height:40px;width:auto}
.zjbLogo .badge{fill:var(--brand)}
.zjbLogo .badge2{fill:var(--brand-deep)}
.zjbLogo .wheel{fill:var(--ink)}
.zjbLogo .glass{fill:#ffffff;opacity:.9}
.zjbLogo .wm1{fill:var(--brand-ink)}
.zjbLogo .wm2{fill:var(--ink)}
.zjbLogo .tag{fill:var(--faint)}
.logoMenu{height:34px;width:auto}
.zjbLogoMenu{height:34px;width:auto}
.rechtsmenu{display:flex;align-items:center;gap:10px}
.klantbutton{
  display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;
  padding:10px 16px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--ink);
  transition:.15s;white-space:nowrap;cursor:pointer;
}
.klantbutton:hover{background:var(--panel-2);border-color:var(--brand)}
.rechtsmenu a.klantbutton:last-child,
.rechtsmenu a[href*="adverteren"].klantbutton{
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));color:#fff;border-color:transparent;
  box-shadow:0 6px 16px color-mix(in srgb,var(--brand) 40%,transparent);
}
.rechtsmenu a[href*="adverteren"].klantbutton:hover{filter:brightness(1.06)}
.klantbutton i{color:inherit}

/* mobile menu button + drawer */
.topMenuButton{
  display:none;position:sticky;top:0;z-index:60;background:var(--panel);
  border-bottom:1px solid var(--line);padding:12px 16px;cursor:pointer;
}
.logoMenu{height:34px;width:auto}
.topMenu.mobielMenu{display:none;background:var(--panel);border-bottom:1px solid var(--line)}
.topMenuInnerMobiel{display:flex;flex-direction:column;padding:8px 12px}
.topMenuInnerMobiel a{padding:13px 8px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line-2)}
.topMenuInnerMobiel a:last-child{border-bottom:0}

/* =====================================================================
   NAV BAR (.zoeken wraps nav + search)
   ===================================================================== */
.zoeken{background:transparent}
.topMenuInnerWrap{background:var(--panel);border-bottom:1px solid var(--line)}
.topMenuInner{
  max-width:var(--wrap);margin:0 auto;padding:8px 22px;
  display:flex;align-items:center;gap:4px;flex-wrap:wrap;
}
.topMenuInner > a{
  padding:9px 13px;border-radius:9px;font-size:14.5px;font-weight:600;color:var(--muted);transition:.15s;
}
.topMenuInner > a:hover{color:var(--ink);background:var(--panel-2)}
.topMenuInner form{margin-left:auto;display:flex}
.topMenuInner form input[type=text]{
  height:40px !important;border:1px solid var(--line) !important;background:var(--panel-2) !important;
  border-radius:10px 0 0 10px !important;padding:0 14px !important;min-width:180px;
}
.topMenuInner form input[type=submit]{
  height:40px !important;width:46px !important;border:1px solid var(--brand) !important;
  background-color:var(--brand) !important;border-radius:0 10px 10px 0 !important;cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round'><circle cx='11' cy='11' r='7'/><line x1='16.5' y1='16.5' x2='21' y2='21'/></svg>") !important;
  background-repeat:no-repeat !important;background-position:center !important;background-size:19px !important;
  font-size:0 !important;
}

/* =====================================================================
   SEARCH PANEL
   ===================================================================== */
.search{
  max-width:var(--wrap);margin:26px auto 0;padding:0 22px;
}
.blockWrap{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--shadow);padding:16px;
}
.block{padding:0}
.blockInner{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;
}
.block.slide .blockInner{grid-template-columns:repeat(4,1fr)}
.dropdown{display:flex;flex-direction:column;gap:6px;min-width:0}
.dropdown label{
  font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding-left:2px;
}
.dropdown select,.search select{
  width:100%;height:46px;border:1px solid var(--line);background:var(--panel-2);border-radius:11px;
  padding:0 34px 0 13px;font-size:14.5px;font-weight:600;color:var(--ink);cursor:pointer;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%238595ab'><path d='M7 10l5 5 5-5z'/></svg>");
  background-repeat:no-repeat;background-position:right 10px center;background-size:20px;
}
.dropdown select:hover,.search select:hover{border-color:var(--brand)}
.dropdown select:focus,.search select:focus,.search select:active{
  border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none;
}
.halfFirst,.halfLast{min-width:0}
.dropFix{align-self:end}

/* actie-rij: "Meer filters" knop + vrije zoekbalk */
.searchActions{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}
.meerknop{
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none;flex:none;
  font-size:14px;font-weight:700;color:var(--brand-ink);
  padding:11px 16px;border-radius:11px;background:var(--brand-soft);transition:.15s;
}
.meerknop:hover{filter:brightness(.97)}
.meerknop .mfIcon{width:18px;height:18px;fill:none;stroke:var(--brand-ink);stroke-width:2;stroke-linecap:round}
.meerknop .mfChevron{width:18px;height:18px;fill:var(--brand-ink);transition:transform .2s}
.meerknop.open .mfChevron{transform:rotate(180deg)}

.zoekAlles{
  display:flex;align-items:center;gap:10px;flex:1;min-width:200px;
  background:var(--panel-2);border:1px solid var(--line);border-radius:11px;padding:0 14px;height:46px;
}
.zoekAlles:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.zoekAlles svg{width:18px;height:18px;fill:none;stroke:var(--faint);stroke-width:2;stroke-linecap:round;flex:none}
.zoekAlles input{flex:1;border:0;background:transparent;height:100%;font-size:14.5px;font-weight:600;outline:none}

/* extra filters standaard verborgen; getoond via "Meer filters" */
.block.slide{display:none;margin-top:14px;padding-top:16px;border-top:1px solid var(--line-2)}
.alleZoeken{}

/* generic submit buttons inside search */
.search input[type=submit]{cursor:pointer}

/* =====================================================================
   RESULTS GRID
   ===================================================================== */
/* #timeline is de contentcontainer; alleen een grid als er voertuigkaarten in zitten
   (content-pagina's zoals /dealers renderen óók in #timeline en mogen géén grid worden) */
#timeline{
  max-width:var(--wrap);margin:22px auto 0;padding:0 22px;overflow:visible;
}
#timeline:has(.item){
  display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:20px;
}
.column{display:contents}          /* neutralise salvattore wrappers if ever present */

.item{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:0;margin:0;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.item:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);
  border-color:color-mix(in srgb,var(--brand) 35%,var(--line))}

.item .car-images{position:relative;aspect-ratio:16/11;background:var(--panel-2);overflow:hidden}
.item .car-images img{
  width:100%;height:100%;object-fit:cover;border-radius:0;display:block;
  transition:transform .3s ease;
}
.item:hover .car-images img{transform:scale(1.04)}
.swipeHand{position:absolute;bottom:10px;left:10px;width:52px !important;height:auto !important;
  object-fit:contain !important;z-index:3;opacity:.9;pointer-events:none}

.item h2{font-size:15px;font-weight:800;padding:12px 14px 2px}
.item h2 small{color:var(--brand-ink);font-weight:600}

/* info block */
.info{width:100%;padding:14px 16px 16px;display:flex;flex-direction:column;flex:1;font-family:var(--font)}
.info h2{margin:0;padding:0}
.info .brand-model{margin:0}
.info .brand-model a{display:block;color:var(--ink);white-space:normal}
.info .brand-model span{font-size:17px;font-weight:800;letter-spacing:-.02em;color:var(--ink);line-height:1.15}
.info .brand-model span:first-child{color:var(--brand-ink);margin-right:3px}
.info .brand-model .car-description{
  margin-top:4px;font-size:13.5px;font-weight:500;color:var(--muted);line-height:1.35;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-bottom:0;
}

/* spec rows */
.car-details{
  display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;align-items:start;
  margin:13px 0 2px;padding:13px 0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);
}
.details-list{margin:0;float:none}
.details-list, .details-list2 li{list-style:none}
.details-list .list-item{
  display:flex;align-items:center;gap:8px;margin:5px 0;font-size:13px;font-weight:600;color:var(--ink);
}
.car-details .details-list .list-item li{display:flex;margin:3px 0}
.car-details .details-list li img{width:16px;height:16px;opacity:.9;filter:none}
#list-left{width:auto}

/* price + cta */
.price-line, .item .info .price-line{
  display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:auto;padding-top:14px;
}
.prices, .item .prices{display:flex;flex-direction:column}
.prices a{color:var(--ink)}
.item .prices .price, .price{font-size:22px;font-weight:850;letter-spacing:-.02em;color:var(--ink)}
.item .info .prices sub, .prices sub{
  font-size:11px;font-weight:600;color:var(--faint);bottom:0;margin-left:2px;
}
.monthly-term, .item .info .monthly-term{margin-left:auto}
.item .info .monthly-term span{font-size:20px;font-weight:800;color:var(--brand-ink)}
.item .info .monthly-term sub{font-size:11px;color:var(--faint)}

.car-link, .item .info .car-link{margin-top:0}
.detail-link, .item .info .car-link .detail-link{
  display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;
  padding:9px 14px;border-radius:9px;background:var(--brand-soft);color:var(--brand-ink);transition:.15s;
}
.item:hover .detail-link{background:var(--brand);color:#fff}
.detail-link:hover, .item .info .car-link .detail-link:hover{background:var(--brand);color:#fff}

/* =====================================================================
   PAGINATION
   ===================================================================== */
.theEnd{max-width:var(--wrap);margin:26px auto 0;padding:0 22px}
.pagination{
  display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;overflow:visible;
}
.pagination a{
  min-width:42px;height:42px;padding:0 14px;border-radius:10px;border:1px solid var(--line);
  background:var(--panel);color:var(--ink);font-weight:700;font-size:14px;
  display:inline-flex;align-items:center;justify-content:center;transition:.15s;
}
.pagination a:hover{border-color:var(--brand);color:var(--brand-ink);background:var(--panel-2)}

/* =====================================================================
   BUTTONS (shared)
   ===================================================================== */
#red,#green,#blue,.bbButton,.buttonPopup,.adverterenbutton,.adverterenbutton1,.back-to-top{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-weight:700;font-size:14px;padding:11px 18px;border-radius:11px;cursor:pointer;border:1px solid transparent;
  transition:.15s;color:#fff;text-align:center;
}
#blue{background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  box-shadow:0 6px 16px color-mix(in srgb,var(--brand) 40%,transparent)}
#green{background:linear-gradient(135deg,#22a06b,#178a58)}
#red{background:linear-gradient(135deg,#e2544a,#c8382e)}
#blue:hover,#green:hover,#red:hover,.bbButton:hover{filter:brightness(1.07);transform:translateY(-1px)}
.adverterenbutton,.adverterenbutton1{background:linear-gradient(135deg,var(--brand),var(--brand-deep))}

/* =====================================================================
   DETAIL PAGE
   ===================================================================== */
/* float-layout op de detailpagina netjes clearen zodat blokken niet overlappen */
.content::after,.content2::after,.ggallery::after,.gallery::after,
.onTop::after,.aanbieder-contact::after,.aanbieder-extra::after,.contentInner::after{
  content:"";display:table;clear:both;
}
.content,.content2{max-width:var(--wrap);margin:26px auto;padding:0 22px}

.kruimelpad{margin:4px 0 0;padding:0;font-size:13px;color:var(--muted)}
.kruimelpad ul{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.kruimelpad li{display:flex;align-items:center;gap:6px}
.kruimelpad li:not(:last-child):after{content:"›";color:var(--faint);margin-left:6px}
.kruimelpad a{color:var(--muted)} .kruimelpad a:hover{color:var(--brand-ink)}
.kruimelpad .breadcrumb .end{color:var(--ink);font-weight:600}

.headerInner h1{font-size:24px;font-weight:850;letter-spacing:-.03em}

.return{display:inline-flex;align-items:center;gap:8px;margin:16px 0;font-weight:700;color:var(--brand-ink);cursor:pointer}
.return:before{content:"←";font-size:18px;transition:.15s}
.return:hover:before{transform:translateX(-3px)}

/* photo gallery — schone CSS-grid (geen JS-hoogtes meer) */
.gallery2{display:grid;grid-template-columns:1.7fr 1fr;gap:10px;margin:12px 0 4px;align-items:stretch}
.gallery2 .fotoMain{
  grid-row:1 / span 2;aspect-ratio:4/3;border-radius:16px;overflow:hidden;
  background:var(--panel-2);border:1px solid var(--line-2);display:block;
}
.gallery2 .fotoMain img{width:100%;height:100%;object-fit:cover;display:block}
.fotoThumbs{grid-column:2;grid-row:1 / span 2;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:10px}
.fotoThumbs a{
  border-radius:12px;overflow:hidden;background:var(--panel-2);
  border:1px solid var(--line-2);display:block;min-height:0;
}
.fotoThumbs img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.fotoThumbs a:hover img,.gallery2 .fotoMain:hover img{transform:scale(1.04)}
.fotoMeer{display:none;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:10px}
.fotoMeer.open{display:grid}
.fotoMeer a{aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--panel-2);border:1px solid var(--line-2);display:block}
.fotoMeer img{width:100%;height:100%;object-fit:cover;display:block}
.meerFotosBtn{
  margin:14px 0 4px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  font-size:14px;font-weight:700;color:var(--brand-ink);background:var(--brand-soft);
  border:0;padding:11px 18px;border-radius:11px;transition:.15s;
}
.meerFotosBtn:hover{filter:brightness(.97)}
.detailHr{border:0;border-top:1px solid var(--line);margin:24px 0}
/* legacy fallbacks */
.fotoOuter{border-radius:12px;overflow:hidden;background:var(--panel-2);border:1px solid var(--line-2)}
.mainImage{width:100%;border-radius:12px;display:block}

/* detail-contentkolom op volle breedte; spec-tabellen netjes gestapeld i.p.v. smal links */
.content > .contentBox{width:100% !important;float:none !important;padding:0;border:0;box-shadow:none;background:transparent}
.content .contentInner{max-width:none}
.contentInner > .contentBox{
  width:100% !important;float:none !important;margin:0 0 16px !important;
}

/* voorkom dat footer/CTA/partner-blokken naast ongecleared floats schuiven */
.footer,.CTA-banner,.meerInfoPartner,.partnerlist,.content,.content2{clear:both}

/* dealer-lijst: nette rijen met logo + tekst */
.dealerTable{width:100%;border-collapse:collapse;background:transparent}
.dealerTable tr{border-bottom:1px solid var(--line)}
.dealerTable tr:last-child{border-bottom:0}
.dealerTable td{padding:22px 8px;vertical-align:top;font-size:14px;line-height:1.65;color:var(--ink)}
.dealerTable .logo-inner{width:320px}
.dealerTable .logo-inner img{border-radius:12px;border:1px solid var(--line-2);background:var(--panel)}
.dealerTable .text-inner h2,.dealerTable .text-inner h3,.dealerTable .text-inner b{color:var(--ink)}

/* spec table */
.detailTabel{
  width:100%;background:var(--panel);border:1px solid var(--line);border-radius:14px;
  overflow:hidden;border-collapse:separate;border-spacing:0;
}
.detailTabel th,.detailTabel td{
  padding:12px 16px;font-size:14px;text-align:left;border-bottom:1px solid var(--line-2);
}
.detailTabel tr:last-child th,.detailTabel tr:last-child td{border-bottom:0}
.detailTabel th{color:var(--muted);font-weight:600;width:44%}
.detailTabel td{color:var(--ink);font-weight:700}
.detailTabel td a{color:var(--brand-ink)}
h3.tableTitle,.tableTitle,.infoTitel{
  font-size:19px;font-weight:800;margin:26px 0 12px;letter-spacing:-.02em;
}
.infoTitel small{color:var(--faint);font-weight:600;font-size:13px}

/* options / description blocks */
.opties,.opmerkingen{
  background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-top:16px;
}
.opmerkingen h3{font-size:17px;font-weight:800;margin-bottom:8px}
.opmerkingen p,.opties p{color:var(--ink);line-height:1.65}
.opmerkingen-scroll{max-height:420px;overflow:auto}
/* spec-overzicht als nette icoon-cards */
.van-overiew{margin:6px 0 2px}
.icon-overview-inner{
  background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:10px;box-shadow:var(--shadow);
}
.icon-overview-inner ul{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:6px;
}
.inner-item{display:contents}
.inner-item li{
  display:block;padding:15px 16px;border-radius:12px;overflow:hidden;
  font-size:12.5px;color:var(--muted);font-weight:600;line-height:1.3;transition:background .15s;
}
.inner-item li:hover{background:var(--panel-2)}
.inner-item li img{
  float:left;width:26px !important;height:26px !important;margin-right:12px !important;opacity:.9;
}
.inner-item li b{display:block;font-size:15.5px;color:var(--ink);font-weight:800;margin-top:2px}

/* contact / lease box */
.contactBox,.contactBox2{
  background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow);
}
.contactBox h3,.contactBox2 h3{font-size:19px;font-weight:800;margin-bottom:14px}
.contactBox input,.contactBox textarea,.contactBox select{
  width:100%;border:1px solid var(--line);background:var(--panel-2);border-radius:10px;
  padding:12px 14px;margin-bottom:10px;font-size:14px;
}
.contactBox input:focus,.contactBox textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}
.contactBox i{color:var(--brand)}
.contactBox2 li{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:14px}
.contactBox2 ul svg{width:20px;height:20px}

/* aanbieder (dealer) blok op de detailpagina */
.dealer-details .contactBox{overflow:hidden}          /* BFC bevat de gefloate kolommen */
.dealer-details .contactBox > h3{font-size:20px;font-weight:800;margin-bottom:12px}
.klantenVertellen:empty{display:none}
.klantenVertellen{background:#eef2f7;color:#16233b;border-radius:10px;padding:12px 14px;margin-bottom:14px}
.klantenVertellen u,.klantenVertellen td{color:#16233b !important}
.aanbieder-contact{border-right:1px solid var(--line-2)}
.aanbieder-contact p,.aanbieder-extra p{font-size:14px;line-height:1.6;margin:0}
.aanbieder-contact b{display:inline-block;margin-top:10px}
.aanbieder-extra a{display:block;padding:3px 0}
.aanbieder-extra a p,.aanbieder-contact a{color:var(--brand-ink)}
.aanbieder-extra a:hover p,.aanbieder-contact a:hover{color:var(--brand)}
.aanbieder-contact i,.aanbieder-extra i{color:var(--brand);width:20px;text-align:center;margin-right:6px}
.aanbieder-contact input,.aanbieder-contact textarea,.aanbieder-extra input{
  width:100%;border:1px solid var(--line);background:var(--panel-2);color:var(--ink);
  border-radius:9px;padding:10px 12px;margin:5px 0;font-size:14px;
}

/* onTop compare bar */
.onTop{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 18px}
.onTop .left,.onTop .right{display:flex;flex-direction:column}
.onTop .left h2,.onTop .right h2{font-size:16px;font-weight:800}

/* CTA banner */
.CTA-banner{
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));color:#fff;
  border-radius:18px;padding:34px;text-align:center;margin:26px auto;max-width:var(--wrap);
}
.CTA-banner h3{font-size:28px;font-weight:850;color:#fff;letter-spacing:-.02em}
.CTA-banner .klantbutton{
  background:#fff;color:var(--brand-ink);border:0;margin-top:18px;
  box-shadow:0 8px 20px rgba(0,0,0,.15);
}

/* reviews */
.review-rating{display:flex;align-items:center;gap:10px}
.review-rating__score{font-size:22px;font-weight:850;color:var(--ink)}
.review-stars__icon,.review-rating__icons svg{fill:#f5a623}
.reviews__list-item{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:12px}
.reviews__item-title{font-weight:800;margin-bottom:6px}

/* =====================================================================
   CONTENT PAGES
   ===================================================================== */
.content,.content2{max-width:var(--wrap);margin:26px auto;padding:0 22px}
.content h1{font-size:32px;font-weight:850;letter-spacing:-.03em;margin-bottom:14px}
.contentInner,.contentInnerRight{max-width:820px}
.contentInner h2{font-size:22px;font-weight:800;margin:22px 0 10px}
.contentBox{
  background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px;
  box-shadow:var(--shadow);margin-bottom:18px;
}
.contentLeft{width:66%;float:left;padding-right:40px;max-width:760px;font-size:15.5px;line-height:1.75}
/* leesbaarheid content-pagina's (o.a. Over ons): rustige regelafstand, korte regels, luchtige koppen */
.contentLeft p,.contentLeft li{font-size:15.5px;line-height:1.75;margin-bottom:14px;color:var(--ink)}
.contentLeft h1{font-size:28px;font-weight:850;letter-spacing:-.02em;margin:38px 0 12px;line-height:1.15}
.contentLeft h1:first-child{margin-top:4px}
.contentLeft h2{font-size:22px;font-weight:800;margin:34px 0 10px}
.contentLeft h3{font-size:14px;font-weight:800;margin:26px 0 6px;color:var(--brand-ink);text-transform:uppercase;letter-spacing:.05em}
.contentLeft a{color:var(--brand-ink);text-decoration:underline}
.contentLeft a:hover{color:var(--brand)}
.contentRight{width:34%;float:left}
.meerInfoPartner{max-width:var(--wrap);margin:26px auto;padding:0 22px}
.meerInfoPartner h1{font-size:30px;font-weight:850;letter-spacing:-.02em;margin-bottom:12px}
.meerInfoPartner p{color:var(--ink);line-height:1.7;margin-bottom:12px}
.meerInfoPartner p.centerize{text-align:center}
.meerinfosmall{font-size:13px;color:var(--muted)}

.split_2,.split_3,.split_4{float:left}
.split_2{width:50%} .split_3{width:33.333%} .split_4{width:25%}
.split_3 p,.split_2 p{padding:0 14px}
.size-1of2{width:50%} .size-1of3{width:33.333%} .size-1of4{width:25%} .size-1of5{width:20%}
.column{}

.partnerlist{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center;padding:20px 0}
.partnerImg,.partnerLogoPage{max-height:54px;width:auto;object-fit:contain;filter:grayscale(.2);opacity:.9}
.partnerImg:hover{filter:none;opacity:1}

/* =====================================================================
   FOOTER
   ===================================================================== */
/* vaste donkere footer-achtergrond (niet var(--ink): die flipt naar licht in dark mode) */
.footer{background:#131c2c;color:#aab8cc;margin-top:70px}
.footerInner{max-width:var(--wrap);margin:0 auto;padding:34px 22px}
/* hoofd-footer: nette kolommen met kopjes + links onder elkaar */
.footerInner:has(.split_4){display:flex;flex-wrap:wrap;gap:12px 40px;padding:46px 22px 40px}
.footer .split_4{float:none;width:auto;flex:1 1 190px;min-width:150px;display:flex;flex-direction:column}
.footer .footerInner h2{
  color:#fff;font-size:12.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  margin:20px 0 8px;
}
.footer .footerInner h2:first-child{margin-top:0}
.footerInner a{display:block;width:max-content;max-width:100%;color:#aab8cc;font-size:14px;line-height:1.5;padding:4px 0}
.footerInner a:hover{color:#fff}
.footerInner input{
  border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;
  border-radius:9px;padding:11px 14px;
}

/* =====================================================================
   SPINNER + BACK TO TOP + MISC
   ===================================================================== */
.spinner2{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:200;display:none}
.spinner2 > div{
  width:14px;height:14px;margin:0 3px;background:var(--brand);border-radius:100%;display:inline-block;
  animation:sk-bounce 1.4s infinite ease-in-out both;
}
.spinner2 .bounce1{animation-delay:-.32s} .spinner2 .bounce2{animation-delay:-.16s}
@keyframes sk-bounce{0%,80%,100%{transform:scale(0)}40%{transform:scale(1)}}

.back-to-top{
  position:fixed;right:22px;bottom:22px;z-index:70;width:48px;height:48px;padding:0;border-radius:50%;
  background:var(--brand);box-shadow:var(--shadow-lg);
  display:flex;align-items:center;justify-content:center;
  font-size:0;color:transparent;overflow:hidden;
}
.back-to-top::before{content:"\2191";font-size:24px;font-weight:800;color:#fff;line-height:1}
.back-to-top:hover{filter:brightness(1.08);transform:translateY(-2px)}

.pulse{animation:colorPulse .6s infinite alternate}
@keyframes colorPulse{0%{background-color:var(--brand)}100%{background-color:var(--panel)}}

.popup,.curtain{background:var(--panel);border-radius:16px;box-shadow:var(--shadow-lg)}
.grow{transition:transform .15s} .grow:hover{transform:scale(1.03)}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media only screen and (max-width:1050px){
  .contentLeft{width:100%;float:none;padding-right:0}
  .contentRight{width:100%;float:none}
}
@media only screen and (max-width:850px){
  .header{display:none}
  .topMenuInnerWrap{display:none}
  .topMenuButton{display:block}
  .split_4,.split_3,.split_2{width:50%}
  #timeline:has(.item){grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
}
@media only screen and (max-width:667px){
  .blockInner,.block.slide .blockInner{grid-template-columns:1fr 1fr}
  #timeline{padding:0 14px}
  #timeline:has(.item){grid-template-columns:1fr 1fr;gap:14px}
  .search{padding:0 14px}
  .theEnd{padding:0 14px}
  .split_4,.split_3,.split_2{width:100%}
  .contentInner{padding:0}
  .CTA-banner h3{font-size:23px}
}
@media only screen and (max-width:460px){
  #timeline:has(.item){grid-template-columns:1fr;gap:14px}
  .blockInner,.block.slide .blockInner{grid-template-columns:1fr}
  .car-details{grid-template-columns:1fr 1fr}
  .headerInner{padding:0 14px}
}
@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}}

/* print handled by stylesPrint.css */

/* ===== baguetteBox lightbox (hersteld — was weggevallen bij herschrijving) ===== */
#baguetteBox-overlay{display:none;opacity:0;position:fixed;overflow:hidden;top:0;left:0;width:100%;height:100%;z-index:1000000;background-color:#222;background-color:rgba(0,0,0,.8);transition:opacity .5s ease}#baguetteBox-overlay.visible{opacity:1}#baguetteBox-overlay .full-image{display:inline-block;position:relative;width:100%;height:100%;text-align:center}#baguetteBox-overlay .full-image figure{display:inline;margin:0;height:100%}#baguetteBox-overlay .full-image img{display:inline-block;width:auto;height:auto;max-height:100%;max-width:100%;vertical-align:middle;-moz-box-shadow:0 0 8px rgba(0,0,0,.6);box-shadow:0 0 8px rgba(0,0,0,.6)}#baguetteBox-overlay .full-image figcaption{display:block;position:absolute;bottom:0;width:100%;text-align:center;line-height:1.8;color:#ccc;background-color:#000;background-color:rgba(0,0,0,.6);font-family:sans-serif}#baguetteBox-overlay .full-image:before{content:"";display:inline-block;height:50%;width:1px;margin-right:-1px}#baguetteBox-slider{position:absolute;left:0;top:0;height:100%;width:100%;white-space:nowrap;transition:left .4s ease,-webkit-transform .4s ease;transition:left .4s ease,-moz-transform .4s ease;transition:left .4s ease,transform .4s ease}#baguetteBox-slider.bounce-from-right{-webkit-animation:bounceFromRight .4s ease-out;animation:bounceFromRight .4s ease-out}#baguetteBox-slider.bounce-from-left{-webkit-animation:bounceFromLeft .4s ease-out;animation:bounceFromLeft .4s ease-out}.baguetteBox-button#next-button,.baguetteBox-button#previous-button{top:50%;top:calc(50% - 30px);width:44px;height:60px}.baguetteBox-button{position:absolute;cursor:pointer;outline:0;padding:0;margin:0;border:0;-moz-border-radius:15%;border-radius:15%;background-color:#323232;background-color:rgba(50,50,50,.5);color:#ddd;font:1.6em sans-serif;transition:background-color .4s ease}.baguetteBox-button:hover{background-color:rgba(50,50,50,.9)}.baguetteBox-button#next-button{right:2%}.baguetteBox-button#previous-button{left:2%}.baguetteBox-button#close-button{top:20px;right:2%;right:calc(2% + 6px);width:30px;height:30px}.baguetteBox-button svg{position:absolute;left:0;top:0}.spinner{width:40px;height:40px;display:inline-block;position:absolute;top:50%;left:50%;margin-top:-20px;margin-left:-20px}.double-bounce1,.double-bounce2{width:100%;height:100%;-moz-border-radius:50%;border-radius:50%;background-color:#fff;opacity:.6;position:absolute;top:0;left:0;-webkit-animation:bounce 2s infinite ease-in-out;animation:bounce 2s infinite ease-in-out}.double-bounce2{-webkit-animation-delay:-1s;animation-delay:-1s}@-webkit-keyframes bounceFromRight{0%,100%{margin-left:0}50%{margin-left:-30px}}@keyframes bounceFromRight{0%,100%{margin-left:0}50%{margin-left:-30px}}@-webkit-keyframes bounceFromLeft{0%,100%{margin-left:0}50%{margin-left:30px}}@keyframes bounceFromLeft{0%,100%{margin-left:0}50%{margin-left:30px}}@-webkit-keyframes bounce{0%,100%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes bounce{0%,100%{-webkit-transform:scale(0);-moz-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);-moz-transform:scale(1);transform:scale(1)}}


/* Voorkom dubbeltik-zoom op de lightbox-slider en galerij (werkt ook op iOS,
   waar user-scalable=no genegeerd wordt). */
.baguetteBox-button,#baguetteBox-overlay,#baguetteBox-slider,.ggallery a,.meerFotosBtn{
  touch-action:manipulation;
}

/* ===== dealer login / registratie (.zelf) ===== */
.zelf{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.zelf h1{font-size:clamp(26px,3.4vw,36px);font-weight:850;letter-spacing:-.02em;margin:8px 0 6px}
.zelf > p{color:var(--muted);margin-bottom:22px;font-size:16px}
.zelf h2{font-size:19px;font-weight:800;margin-bottom:14px}
.zelf > div{
  box-sizing:border-box;width:calc(50% - 12px) !important;
  background:var(--panel);border:1px solid var(--line);border-radius:16px;
  padding:26px !important;box-shadow:var(--shadow);margin-bottom:20px;
}
form.zelf:first-of-type > div{margin-right:24px}
.zelf input[type=text],.zelf input[type=password],.zelf input[type=email],.zelf select{
  display:block;width:100%;max-width:400px;
  border:1px solid var(--line);background:var(--panel-2);border-radius:10px;
  padding:12px 14px;margin-bottom:12px;font-size:15px;color:var(--ink);
}
.zelf input:focus,.zelf select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}
.zelf input[type=submit].adverterenbutton{width:auto;max-width:none;margin-top:6px}
.zelf a u{color:var(--brand-ink)}
@media(max-width:700px){
  .zelf > div{width:100% !important}
  form.zelf:first-of-type > div{margin-right:0}
}

/* ===== dealer dashboard tabellen (.klantTabel) ===== */
.klantTabel{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:8px 0 24px;box-shadow:var(--shadow)}
.klantTabel th{background:#131c2c !important;color:#fff !important;font-size:12.5px !important;font-weight:700;text-align:left;padding:12px 14px !important;letter-spacing:.03em;border:0 !important}
.klantTabel td{padding:11px 14px !important;font-size:14px;border:0 !important;border-top:1px solid var(--line-2) !important;color:var(--ink);vertical-align:middle}
.klantTabel tbody tr:hover td{background:var(--panel-2)}
.klantTabel a{color:var(--brand-ink);font-weight:600;white-space:nowrap}
.klantTabel a:hover{color:var(--brand);text-decoration:underline}
/* mobiel: brede tabel horizontaal scrollbaar i.p.v. de hele pagina te laten overlopen */
@media(max-width:760px){
  .klantTabel{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
  .klantTabel td,.klantTabel th{white-space:nowrap}
}

/* ===== adverteren-landingspagina promo-kaarten ===== */
.adverteerPromo{background:linear-gradient(135deg,var(--brand),var(--brand-deep)) !important;border-radius:16px;padding:30px 26px !important;box-shadow:var(--shadow-lg);vertical-align:top}
.adverteerPromo h3{color:#fff !important;font-size:22px;font-weight:800;margin-bottom:10px}
.adverteerPromo p,.adverteerPromo b,.adverteerPromo li{color:#fff !important}
.adverteerPromo .adverterenbutton1{background:#fff !important;color:var(--brand-ink) !important;margin-top:16px;display:inline-block;box-shadow:0 6px 16px rgba(0,0,0,.15)}
.adverteerPromo .adverterenbutton1:hover{filter:none;background:var(--brand-soft) !important}
/* mobiel: promo-kaarten onder elkaar i.p.v. twee te brede 50%-cellen */
@media(max-width:700px){
  table:has(> tbody > tr > .adverteerPromo),
  tr:has(> .adverteerPromo){display:block;width:100% !important}
  .adverteerPromo{display:block;width:auto !important;margin:0 0 14px !important}
}

/* ===== lease-/offerte-aanvraagformulier: kaart + inputs moderniseren (foto-secties ongemoeid) ===== */
.lease50r .minner,.minner#minner{background:var(--panel) !important;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px !important}
.lease50r .minner h3,.minner#minner h3{color:var(--ink) !important;font-weight:800 !important;margin-top:0 !important}
.lease50r .minner label,.minner#minner label{color:var(--muted) !important;font-weight:600;font-size:13px}
.lease50r .minner input,.minner#minner input{border:1px solid var(--line) !important;background:var(--panel-2) !important;border-radius:10px !important;padding:11px 13px !important;color:var(--ink)}
.lease50r .minner input:focus,.minner#minner input:focus{border-color:var(--brand) !important;box-shadow:0 0 0 3px var(--brand-soft) !important;outline:none}
.lease50r .minner .submit,.minner#minner .submit{background:linear-gradient(135deg,var(--brand),var(--brand-deep)) !important;border:0 !important;border-radius:10px !important;font-weight:700;padding:13px !important;color:#fff !important;cursor:pointer}
.lease50r .minner .submit:hover,.minner#minner .submit:hover{filter:brightness(1.06)}

/* ===== /zelf-adverteren invoerformulier — mobiel ===== */
@media(max-width:760px){
  .za .zaBox{width:100% !important;float:none !important;margin-right:0 !important;padding:20px !important}
  .za label{display:block;width:auto;text-align:left;margin-bottom:5px;padding-left:2px}
  .za input,.za select{width:100% !important;max-width:none !important;display:block}
  .za select.halfer,.za input.halfer,select.halfer,input.halfer{width:100% !important;display:block !important;margin-right:0 !important}
  .za .opties,.quart{width:50% !important;float:left !important;min-width:0 !important}
  .za textarea{width:100% !important}
}
@media(max-width:460px){
  .za .opties,.quart{width:100% !important}
}
