/* MJ Verhuur — voorkant
   Alles staat onder .mjv en gebruikt dubbele selectors met !important op de
   plekken waar zware thema's (WoodMart, Elementor) overheen zouden gaan. */

.mjv {
  --mjv-accent:#e92d74;
  --mjv-accent-licht:#c81f60;
  --mjv-zand:#e92d74;
  --mjv-rand:#e4e2dd;
  --mjv-grijs:#6e6a64;
  --mjv-zacht:#f7f6f3;
  --mjv-radius:4px;
  max-width:1240px; margin:0 auto; padding:36px 20px 72px; box-sizing:border-box;
  color:#20242a; font-size:16px; line-height:1.6;
}
.mjv *, .mjv *::before, .mjv *::after { box-sizing:border-box; }
.mjv img { max-width:100%; height:auto; display:block; }
.mjv a { color:var(--mjv-accent); }

/* ------------------------------------------------------------------ layout */

.mjv .mjv-top { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:56px; align-items:start; }
@media (max-width:900px){ .mjv .mjv-top { grid-template-columns:1fr; gap:32px; } }

/* -------------------------------------------------------------------- foto */

.mjv .mjv-hoofdfoto { margin:0; border:1px solid var(--mjv-rand); border-radius:var(--mjv-radius);
  overflow:hidden; background:#fff; }
.mjv .mjv-hoofdfoto img { width:100%; }
.mjv .mjv-thumbs { list-style:none !important; display:flex; gap:10px; padding:0; margin:12px 0 0; flex-wrap:wrap; }
.mjv .mjv-thumbs li { margin:0; padding:0; list-style:none !important; }
.mjv .mjv-thumb { padding:0 !important; margin:0 !important; border:1px solid var(--mjv-rand) !important;
  border-radius:3px !important; background:none !important; cursor:pointer; overflow:hidden; line-height:0;
  box-shadow:none !important; height:auto !important; min-height:0 !important; transition:border-color .15s; }
.mjv .mjv-thumb.is-actief, .mjv .mjv-thumb:hover { border-color:var(--mjv-accent) !important; }
.mjv .mjv-thumb img { width:66px; height:66px; object-fit:cover; }

/* ------------------------------------------------------------- rechterkolom */

.mjv .mjv-terug { display:inline-block; font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--mjv-grijs) !important; text-decoration:none !important; margin-bottom:18px; font-weight:600; }
.mjv .mjv-terug:hover { color:var(--mjv-accent) !important; }

.mjv .mjv-titel { margin:0 0 12px !important; padding:0; font-size:34px; line-height:1.2;
  font-weight:600; letter-spacing:-.01em; text-transform:none; color:#2f2f2f; }
@media (max-width:600px){ .mjv .mjv-titel { font-size:27px; } }

.mjv .mjv-tags { margin:0 0 20px; padding:0; display:flex; flex-wrap:wrap; gap:6px; }
.mjv .mjv-tags a { font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--mjv-grijs) !important;
  text-decoration:none !important; border:1px solid var(--mjv-rand); border-radius:100px; padding:4px 11px; }
.mjv .mjv-tags a:hover { border-color:var(--mjv-accent); color:var(--mjv-accent) !important; }

.mjv .mjv-prijs { font-size:22px; font-weight:600; color:var(--mjv-accent); margin:0 0 26px;
  padding-bottom:22px; border-bottom:1px solid var(--mjv-rand); }
.mjv .mjv-prijs-sub { font-size:14px; font-weight:400; color:var(--mjv-grijs); margin-left:6px; }

/* kenmerken als label/waarde-rijen */
.mjv .mjv-kenmerken { margin:0 0 26px; padding:0; }
.mjv .mjv-kenmerk { display:grid; grid-template-columns:minmax(120px,38%) 1fr; gap:16px;
  padding:11px 0; border-bottom:1px solid var(--mjv-rand); margin:0; }
.mjv .mjv-kenmerk:first-child { border-top:1px solid var(--mjv-rand); }
.mjv .mjv-kenmerk dt { margin:0; font-size:13px; letter-spacing:.04em; text-transform:uppercase;
  color:var(--mjv-grijs); font-weight:600; }
.mjv .mjv-kenmerk dd { margin:0; font-size:15px; color:#20242a; }
@media (max-width:480px){ .mjv .mjv-kenmerk { grid-template-columns:1fr; gap:2px; } }

.mjv .mjv-kort { color:#3d413f; margin:0 0 26px; }
.mjv .mjv-kort p { margin:0 0 10px; }

.mjv .mjv-setinhoud { background:var(--mjv-zacht); border-left:3px solid var(--mjv-zand);
  padding:16px 20px; margin:0 0 26px; }
.mjv .mjv-setinhoud h2 { margin:0 0 10px !important; font-size:12px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--mjv-grijs); font-weight:700; }
.mjv .mjv-setinhoud ul { margin:0; padding:0; list-style:none !important; }
.mjv .mjv-setinhoud li { padding:4px 0; font-size:15px; list-style:none !important; }
.mjv .mjv-set-aantal { display:inline-block; min-width:30px; font-weight:700; color:var(--mjv-accent); }

/* ---------------------------------------------------------------- actieblok */

.mjv .mjv-actie { background:var(--mjv-zacht); border:1px solid var(--mjv-rand);
  border-radius:var(--mjv-radius); padding:26px; margin:0 0 18px; }
.mjv .mjv-actie-kop { margin:0 0 6px !important; font-size:19px; font-weight:600;
  text-transform:none; color:#2f2f2f; }
.mjv .mjv-actie-tekst { margin:0 0 18px; font-size:14.5px; color:var(--mjv-grijs); line-height:1.55; }

.mjv .mjv-usp { list-style:none !important; margin:20px 0 0; padding:0; border-top:1px solid var(--mjv-rand); padding-top:16px; }
.mjv .mjv-usp li { list-style:none !important; position:relative; padding:4px 0 4px 24px;
  font-size:14px; color:var(--mjv-grijs); margin:0; }
.mjv .mjv-usp li::before { content:""; position:absolute; left:0; top:12px; width:8px; height:8px;
  border-radius:50%; background:var(--mjv-zand); }

.mjv .mjv-btw { font-size:12.5px; color:var(--mjv-grijs); margin:0; }

/* ------------------------------------------------------------------ knoppen */

.mjv .mjv-knop, .mjv a.mjv-knop, .mjv button.mjv-knop {
  display:inline-flex !important; align-items:center; justify-content:center; gap:9px;
  padding:15px 24px !important; margin:0;
  border:1px solid transparent !important; border-radius:var(--mjv-radius) !important;
  font-family:inherit; font-size:15px !important; font-weight:600 !important;
  line-height:1.2 !important; letter-spacing:.01em !important; text-transform:none !important;
  cursor:pointer; text-decoration:none !important; box-shadow:none !important;
  width:auto; min-height:0; height:auto; text-align:center;
  transition:background .18s, color .18s, border-color .18s; }

.mjv .mjv-knop-primair, .mjv button.mjv-knop-primair, .mjv a.mjv-knop-primair {
  background:var(--mjv-accent) !important; color:#fff !important; border-color:var(--mjv-accent) !important; }
.mjv .mjv-knop-primair:hover { background:var(--mjv-accent-licht) !important; border-color:var(--mjv-accent-licht) !important; }

.mjv .mjv-knop-whatsapp, .mjv a.mjv-knop-whatsapp {
  background:#fff !important; color:#128c4a !important; border-color:#25d366 !important;
  margin-top:10px !important; width:100% !important; }
.mjv .mjv-knop-whatsapp:hover { background:#25d366 !important; color:#fff !important; border-color:#25d366 !important; }

.mjv .mjv-knop-groot { padding:16px 36px !important; font-size:16px !important; }

.mjv .mjv-knop-klein, .mjv button.mjv-knop-klein {
  padding:11px 14px !important; font-size:13.5px !important;
  background:#fff !important; color:var(--mjv-accent) !important;
  border-color:var(--mjv-rand) !important; width:100% !important; }
.mjv .mjv-knop-klein:hover { background:var(--mjv-accent) !important; color:#fff !important; border-color:var(--mjv-accent) !important; }

.mjv .mjv-toevoegen { display:flex; gap:10px; align-items:stretch; margin:0; }
.mjv .mjv-aantal-label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.mjv input.mjv-aantal, .mjv .mjv-aantal {
  width:78px !important; max-width:78px !important; min-width:0 !important; flex:0 0 78px;
  padding:14px 10px !important; margin:0 !important; height:auto !important;
  border:1px solid var(--mjv-rand) !important; border-radius:var(--mjv-radius) !important;
  font-family:inherit; font-size:15px !important; text-align:center !important;
  background:#fff !important; box-shadow:none !important; color:#20242a !important; }
.mjv .mjv-toevoegen .mjv-knop { flex:1 1 auto; }

.mjv .mjv-melding { min-height:20px; margin:9px 0 0; font-size:14px; color:#15803d; }
.mjv .mjv-melding.is-fout { color:#b91c1c; }

/* -------------------------------------------------------------- onderblokken */

.mjv .mjv-blok { margin-top:64px; }
.mjv .mjv-blok > h2 { font-size:13px !important; letter-spacing:.12em; text-transform:uppercase;
  font-weight:700; color:var(--mjv-grijs); margin:0 0 18px !important; padding:0 0 12px;
  border-bottom:1px solid var(--mjv-rand); }
.mjv .mjv-blok-tekst { max-width:820px; }
.mjv .mjv-tekst { line-height:1.75; font-size:16px; color:#3d413f; }
.mjv .mjv-tekst h2, .mjv .mjv-tekst h3, .mjv .mjv-tekst h4 { margin:28px 0 10px; color:#2f2f2f; text-transform:none; }
.mjv .mjv-tekst ul, .mjv .mjv-tekst ol { margin:0 0 16px; padding-left:22px; }
.mjv .mjv-tekst li { margin-bottom:5px; }
.mjv .mjv-tekst img { border-radius:var(--mjv-radius); margin:16px 0; }

/* ------------------------------------------------------------------ overzicht */

.mjv .mjv-archief-kop h1 { margin:0 0 8px !important; font-size:34px; font-weight:600; text-transform:none; }
.mjv .mjv-archief-intro { color:var(--mjv-grijs); margin:0 0 30px; max-width:640px; }
.mjv .mjv-catnav, .mjv .mjv-subcats { list-style:none !important; padding:0; margin:0 0 32px;
  display:flex; flex-wrap:wrap; gap:8px; }
.mjv .mjv-catnav li, .mjv .mjv-subcats li { list-style:none !important; margin:0; }
.mjv .mjv-catnav a, .mjv .mjv-subcats a { display:inline-block; padding:9px 16px;
  border:1px solid var(--mjv-rand); border-radius:100px; font-size:14px;
  text-decoration:none !important; color:#20242a !important; background:#fff; }
.mjv .mjv-catnav a:hover, .mjv .mjv-subcats a:hover { border-color:var(--mjv-accent); }
.mjv .mjv-catnav span, .mjv .mjv-subcats span { color:var(--mjv-grijs); font-size:12px; margin-left:3px; }

.mjv .mjv-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:26px; }
.mjv .mjv-kaart { border:1px solid var(--mjv-rand); border-radius:var(--mjv-radius); overflow:hidden;
  background:#fff; display:flex; flex-direction:column; transition:border-color .18s, box-shadow .18s; }
.mjv .mjv-kaart:hover { border-color:#cfccc5; box-shadow:0 4px 20px rgba(20,35,46,.07); }
.mjv .mjv-kaart-foto { display:block; position:relative; aspect-ratio:1/1; overflow:hidden; background:var(--mjv-zacht); }
.mjv .mjv-kaart-foto img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.mjv .mjv-kaart:hover .mjv-kaart-foto img { transform:scale(1.04); }
.mjv .mjv-kaart-geenfoto { display:block; width:100%; height:100%; background:var(--mjv-zacht); }
.mjv .mjv-label-set { position:absolute; top:12px; left:12px; background:var(--mjv-accent); color:#fff;
  font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; padding:5px 10px; border-radius:2px; }
.mjv .mjv-kaart-body { padding:16px; display:flex; flex-direction:column; gap:9px; flex:1; }
.mjv .mjv-kaart-titel { margin:0 !important; font-size:15.5px; line-height:1.4; font-weight:600; text-transform:none; }
.mjv .mjv-kaart-titel a { color:#2f2f2f !important; text-decoration:none !important; }
.mjv .mjv-kaart-titel a:hover { color:var(--mjv-accent-licht) !important; }
.mjv .mjv-kaart-kort { margin:0; font-size:13.5px; color:var(--mjv-grijs); line-height:1.5; }
.mjv .mjv-kaart-prijs { margin:0; font-weight:600; color:var(--mjv-accent); font-size:15px; }
.mjv .mjv-kaart-body .mjv-knop { margin-top:auto; }
.mjv .mjv-paginatie { margin-top:40px; }

/* --------------------------------------------------------- overzicht + filters */

.mjv .mjv-layout { display:grid; grid-template-columns:262px minmax(0,1fr); gap:40px; align-items:start; }
.mjv .mjv-resultaten { min-width:0; transition:opacity .15s; }
.mjv .mjv-resultaten.is-laden { opacity:.45; pointer-events:none; }

.mjv .mjv-telling { font-size:13.5px; color:var(--mjv-grijs); margin:0 0 18px; }

.mjv .mjv-zijbalk { position:sticky; top:24px; }
.mjv .mjv-filters { margin:0; padding:0; border:none; background:none; }
.mjv .mjv-filters-kop { display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding-bottom:14px; margin-bottom:6px; border-bottom:1px solid var(--mjv-rand); }
.mjv .mjv-filters-kop h2 { margin:0 !important; font-size:13px; letter-spacing:.12em;
  text-transform:uppercase; font-weight:700; color:var(--mjv-grijs); }
.mjv .mjv-filters-wissen { background:none !important; border:none !important; padding:0 !important;
  box-shadow:none !important; font-size:13px; color:var(--mjv-accent) !important; cursor:pointer;
  text-decoration:underline !important; }

.mjv .mjv-filterblok { padding:18px 0; border-bottom:1px solid var(--mjv-rand); }
.mjv .mjv-filter-label { display:block; font-size:12.5px; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; color:#2f2f2f; margin-bottom:11px; }

.mjv .mjv-zoekveld { display:flex; }
.mjv input.mjv-merkzoek, .mjv .mjv-zoekveld input {
  width:100% !important; padding:10px 12px !important; margin:0 !important; height:auto !important;
  border:1px solid var(--mjv-rand) !important; border-radius:var(--mjv-radius) !important;
  font-size:14px !important; font-family:inherit; background:#fff !important;
  box-shadow:none !important; color:#20242a !important; }
.mjv .mjv-zoekveld input { border-radius:var(--mjv-radius) 0 0 var(--mjv-radius) !important; }
.mjv .mjv-zoekveld button {
  flex:0 0 42px; border:1px solid var(--mjv-rand) !important; border-left:none !important;
  border-radius:0 var(--mjv-radius) var(--mjv-radius) 0 !important;
  background:#fff !important; color:var(--mjv-grijs) !important; cursor:pointer;
  padding:0 !important; box-shadow:none !important; font-size:15px; }
.mjv .mjv-zoekveld button:hover { background:var(--mjv-accent) !important; color:#fff !important;
  border-color:var(--mjv-accent) !important; }
.mjv input.mjv-merkzoek { margin-bottom:10px !important; }

.mjv .mjv-keuzes { list-style:none !important; margin:0; padding:0; }
.mjv .mjv-keuzes li { list-style:none !important; margin:0; padding:0; }
.mjv .mjv-keuzes li.is-verborgen { display:none; }
.mjv .mjv-keuzes label { display:flex; align-items:center; gap:9px; padding:6px 0;
  font-size:14.5px; cursor:pointer; color:#20242a; }
.mjv .mjv-keuzes label:hover { color:var(--mjv-accent); }
.mjv .mjv-keuzes input[type="checkbox"], .mjv .mjv-keuzes input[type="radio"] {
  width:16px !important; height:16px !important; min-width:16px; margin:0 !important;
  padding:0 !important; accent-color:var(--mjv-accent); flex:0 0 16px; }
.mjv .mjv-keuzes label span { flex:1 1 auto; }
.mjv .mjv-keuzes label em { font-style:normal; font-size:12px; color:var(--mjv-grijs); }
.mjv .mjv-keuzes-kind { list-style:none !important; margin:0 0 4px; padding:0 0 0 25px; }
.mjv .mjv-keuzes-kind label { font-size:13.5px; padding:4px 0; color:var(--mjv-grijs); }
.mjv .mjv-keuzes-merk { max-height:none; }

.mjv .mjv-meer { background:none !important; border:none !important; padding:8px 0 0 !important;
  box-shadow:none !important; font-size:13.5px; color:var(--mjv-accent) !important;
  cursor:pointer; text-decoration:underline !important; }

.mjv .mjv-geenresultaat { text-align:center; padding:64px 24px; background:var(--mjv-zacht);
  border-radius:var(--mjv-radius); }
.mjv .mjv-geenresultaat h2 { margin:0 0 8px !important; font-size:20px; text-transform:none; }
.mjv .mjv-geenresultaat p { color:var(--mjv-grijs); margin:0 0 18px; }
.mjv .mjv-geenresultaat .mjv-knop { width:auto !important; }

.mjv .mjv-paginatie { margin-top:40px; display:flex; justify-content:center; }
.mjv .mjv-paginatie a, .mjv .mjv-paginatie span.current, .mjv .mjv-paginatie .page-numbers {
  display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px;
  padding:0 12px; margin:0 3px; border:1px solid var(--mjv-rand); border-radius:var(--mjv-radius);
  text-decoration:none !important; color:#2f2f2f !important; font-size:14.5px; background:#fff; }
.mjv .mjv-paginatie .current { background:var(--mjv-accent) !important; color:#fff !important;
  border-color:var(--mjv-accent) !important; }
.mjv .mjv-paginatie a:hover { border-color:var(--mjv-accent); color:var(--mjv-accent) !important; }

/* knop voor de zijbalk op mobiel */
.mjv .mjv-filters-knop { display:none; }

@media (max-width:900px){
  .mjv .mjv-layout { grid-template-columns:1fr; gap:20px; }
  .mjv .mjv-filters-knop {
    display:inline-flex !important; align-items:center; justify-content:center; gap:8px;
    padding:12px 20px !important; border:1px solid var(--mjv-rand) !important;
    border-radius:var(--mjv-radius) !important; background:#fff !important;
    color:#2f2f2f !important; font-size:14.5px !important; font-weight:600 !important;
    box-shadow:none !important; cursor:pointer; width:100% !important; }
  .mjv .mjv-zijbalk {
    position:fixed; top:0; left:0; bottom:0; width:min(340px, 88vw); z-index:99998;
    background:#fff; padding:24px 22px; overflow-y:auto;
    box-shadow:6px 0 30px rgba(0,0,0,.18);
    transform:translateX(-100%); transition:transform .25s ease; }
  body.mjv-filters-zichtbaar .mjv-zijbalk { transform:translateX(0); }
  body.mjv-filters-zichtbaar::after {
    content:""; position:fixed; inset:0; background:rgba(0,0,0,.4); z-index:99997; }
}

/* -------------------------------------------------------------------- offerte */

.mjv .mjv-offerte h2 { font-size:20px; margin:34px 0 16px !important; text-transform:none; font-weight:600; }
.mjv .mjv-mandje { width:100%; border-collapse:collapse; font-size:15px; background:none; }
.mjv .mjv-mandje tr { background:none !important; }
.mjv .mjv-mandje th { text-align:left; font-size:11.5px; text-transform:uppercase; letter-spacing:.09em;
  color:var(--mjv-grijs); padding:0 10px 12px; border-bottom:2px solid var(--mjv-rand); font-weight:700; }
.mjv .mjv-mandje td { padding:16px 10px; border-bottom:1px solid var(--mjv-rand); vertical-align:top; }
.mjv .mjv-mandje td:first-child, .mjv .mjv-mandje th:first-child { padding-left:0; }
.mjv .mjv-mandje-foto img { width:68px; height:68px; object-fit:cover; border-radius:3px; }
.mjv .mjv-mandje a { color:#2f2f2f !important; text-decoration:none !important; }
.mjv .mjv-mandje a:hover { color:var(--mjv-accent-licht) !important; }
.mjv .mjv-mandje-sku { display:block; font-size:12px; color:var(--mjv-grijs); margin-top:2px; }
.mjv .mjv-mandje-set { margin:8px 0 0; padding-left:18px; font-size:13px; color:var(--mjv-grijs); }
.mjv .mjv-verwijder { background:none !important; border:none !important; font-size:22px; line-height:1;
  color:#b8b4ac !important; cursor:pointer; padding:4px 8px !important; box-shadow:none !important; }
.mjv .mjv-verwijder:hover { color:#b91c1c !important; }
.mjv .mjv-totaal-label { text-align:right !important; padding-top:16px !important; }
.mjv .mjv-totaal { font-size:18px; color:var(--mjv-accent); padding-top:16px !important; }
@media (max-width:700px){
  .mjv .mjv-mandje thead { display:none; }
  .mjv .mjv-mandje tr { display:grid; grid-template-columns:78px 1fr auto; gap:0 14px; padding:16px 0;
    border-bottom:1px solid var(--mjv-rand); }
  .mjv .mjv-mandje td { border:none; padding:2px 0; }
  .mjv .mjv-mandje-foto { grid-row:span 3; }
}

.mjv .mjv-velden { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
@media (max-width:640px){ .mjv .mjv-velden { grid-template-columns:1fr; } }
.mjv .mjv-veld-breed { grid-column:1 / -1; }
.mjv .mjv-veld { margin:0; }
.mjv .mjv-veld label { display:block; font-size:13.5px; font-weight:600; margin-bottom:6px; color:#20242a; }
.mjv .mjv-veld input, .mjv .mjv-veld select, .mjv .mjv-veld textarea {
  width:100% !important; max-width:100% !important; padding:13px !important; margin:0 !important;
  height:auto !important; border:1px solid var(--mjv-rand) !important;
  border-radius:var(--mjv-radius) !important; font-size:15px !important; font-family:inherit;
  background:#fff !important; box-shadow:none !important; color:#20242a !important; }
.mjv .mjv-veld input:focus, .mjv .mjv-veld select:focus, .mjv .mjv-veld textarea:focus {
  outline:2px solid var(--mjv-accent); outline-offset:1px; border-color:var(--mjv-accent) !important; }
.mjv .mjv-honeypot { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.mjv .mjv-verzenden { margin:28px 0 8px; }
.mjv .mjv-klein { font-size:13px; color:var(--mjv-grijs); margin:0; }

.mjv .mjv-bericht { padding:20px 24px; border-radius:var(--mjv-radius); margin-bottom:28px; }
.mjv .mjv-bericht-goed { background:#f0f7f1; border-left:4px solid #15803d; }
.mjv .mjv-bericht-goed h2 { margin:0 0 6px !important; font-size:20px; }
.mjv .mjv-bericht-goed p { margin:0; }
.mjv .mjv-bericht-fout { background:#fdf1f0; border-left:4px solid #b91c1c; }
.mjv .mjv-leeg { text-align:center; padding:60px 24px; background:var(--mjv-zacht); border-radius:var(--mjv-radius); }
.mjv .mjv-leeg h2 { margin:0 0 10px !important; }
.mjv .mjv-leeg p { color:var(--mjv-grijs); }

/* ------------------------------------------------------------------- overig */

.mjv-count { display:inline-flex; align-items:center; justify-content:center; min-width:20px; height:20px;
  padding:0 6px; background:#2f2f2f; color:#fff; border-radius:100px; font-size:12px; font-weight:700; }

/* ============================================================== voettekst */

/* Staat los van .mjv omdat hij op elke pagina meekomt. */
.mjf {
  --mjf-accent:#e92d74;
  --mjf-donker:#1a1a1c;
  background:var(--mjf-donker); color:rgba(255,255,255,.72);
  font-size:15px; line-height:1.65; margin-top:0;
}
.mjf *, .mjf *::before, .mjf *::after { box-sizing:border-box; }
.mjf-binnen { max-width:1240px; margin:0 auto; padding:0 20px; width:100%; }

.mjf-boven {
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1.1fr;
  gap:44px; padding-top:64px; padding-bottom:48px;
}

.mjf h2 {
  margin:0 0 16px !important; padding:0;
  font-size:12px; font-weight:700; letter-spacing:.16em;
  text-transform:uppercase; color:#fff;
}
.mjf ul { list-style:none !important; margin:0; padding:0; }
.mjf li { list-style:none !important; margin:0; padding:0; }
.mjf a { color:rgba(255,255,255,.72) !important; text-decoration:none !important; }
.mjf a:hover { color:#fff !important; }

.mjf-logo {
  margin:0 0 14px; font-size:26px; font-weight:800;
  letter-spacing:-.02em; color:#fff;
}
.mjf-logo span { color:var(--mjf-accent); }
.mjf-pitch { margin:0 0 22px; max-width:42ch; }

.mjf-knoppen { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 22px; }
.mjf .mjf-knop {
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 22px; border:1px solid var(--mjf-accent);
  border-radius:4px; background:var(--mjf-accent);
  color:#fff !important; font-size:14px; font-weight:600;
  transition:background .18s, border-color .18s;
}
.mjf .mjf-knop:hover { background:#c81f60; border-color:#c81f60; }
.mjf .mjf-knop-lijn { background:transparent; border-color:rgba(255,255,255,.28); }
.mjf .mjf-knop-lijn:hover { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.5); }

.mjf-sociaal { display:flex; flex-wrap:wrap; gap:18px; }
.mjf-sociaal a { font-size:14px; border-bottom:1px solid transparent; padding-bottom:2px; }
.mjf-sociaal a:hover { border-bottom-color:var(--mjf-accent); }

.mjf-kolom li { padding:5px 0; }
.mjf-kolom li a { display:inline-flex; align-items:baseline; gap:7px; }
.mjf-kolom li em {
  font-style:normal; font-size:11.5px; color:rgba(255,255,255,.34);
}

.mjf-adres { font-style:normal; display:flex; flex-direction:column; gap:9px; }
.mjf-adres a, .mjf-adres span { font-size:15px; }

/* rijen met merken en plaatsen */
.mjf-rij {
  display:grid; grid-template-columns:150px minmax(0,1fr);
  gap:10px 24px; align-items:baseline;
  padding-top:22px; padding-bottom:22px;
  border-top:1px solid rgba(255,255,255,.1);
}
.mjf-rij h2 { margin:0 !important; }
.mjf-rij ul { display:flex; flex-wrap:wrap; gap:8px 10px; }
.mjf-rij li::after { content:"·"; margin-left:10px; color:rgba(255,255,255,.24); }
.mjf-rij li:last-child::after { content:""; margin:0; }
.mjf-rij a { font-size:14px; }

.mjf-onder {
  border-top:1px solid rgba(255,255,255,.1);
  padding:20px 0; margin-top:14px;
}
.mjf-onder-rij {
  display:flex; flex-wrap:wrap; align-items:center;
  justify-content:space-between; gap:10px 26px;
}
.mjf-onder p { margin:0; font-size:13.5px; color:rgba(255,255,255,.45); }
.mjf-onder span { margin:0 4px; color:rgba(255,255,255,.28); }
.mjf-onder-links { display:flex; flex-wrap:wrap; gap:22px; }
.mjf-onder-links a { font-size:13.5px; color:rgba(255,255,255,.45) !important; }
.mjf-onder-links a:hover { color:#fff !important; }

/* De zwevende WhatsApp-knop staat linksonder; daar houden we ruimte vrij. */
@media (max-width:900px){
  .mjf-boven { grid-template-columns:1fr 1fr; gap:34px; padding-top:48px; }
  .mjf-kolom-breed { grid-column:1 / -1; }
  .mjf-rij { grid-template-columns:1fr; gap:10px; }
}
@media (max-width:560px){
  .mjf-boven { grid-template-columns:1fr; }
  .mjf-onder { padding-bottom:86px; }
}

/* ------------------------------------------------------- WhatsApp-knop */

/* Zweeft linksonder. De tekst schuift open bij hover en op grote schermen,
   op mobiel blijft het een ronde knop zodat hij niets afdekt. */
.mjv-wa-knop {
  position:fixed; left:20px; bottom:20px; z-index:99990;
  display:inline-flex !important; align-items:center; gap:0;
  height:56px; padding:0; overflow:hidden;
  background:#25d366 !important; color:#fff !important;
  border-radius:100px; text-decoration:none !important;
  box-shadow:0 6px 22px rgba(0,0,0,.24);
  transition:gap .22s ease, padding .22s ease, background .18s;
}
.mjv-wa-knop:hover, .mjv-wa-knop:focus-visible {
  background:#1da851 !important; color:#fff !important;
}
.mjv-wa-icoon {
  flex:0 0 56px; width:56px; height:56px;
  display:inline-flex; align-items:center; justify-content:center;
}
.mjv-wa-icoon svg { display:block; }
.mjv-wa-tekst {
  max-width:0; opacity:0; white-space:nowrap;
  font-size:15px; font-weight:600; line-height:1;
  transition:max-width .22s ease, opacity .18s ease, margin .22s ease;
}
.mjv-wa-knop:hover .mjv-wa-tekst,
.mjv-wa-knop:focus-visible .mjv-wa-tekst {
  max-width:280px; opacity:1; margin-right:22px;
}
.mjv-wa-knop:focus-visible { outline:3px solid #fff; outline-offset:2px; }

@media (max-width:700px){
  .mjv-wa-knop { left:16px; bottom:16px; height:52px; }
  .mjv-wa-icoon { flex-basis:52px; width:52px; height:52px; }
  /* Op een telefoon werkt hover niet; de tekst blijft dan altijd dicht. */
  .mjv-wa-knop:hover .mjv-wa-tekst { max-width:0; opacity:0; margin-right:0; }
}
@media (prefers-reduced-motion:reduce){
  .mjv-wa-knop, .mjv-wa-tekst { transition:none; }
}

.mjv-toast { position:fixed; right:24px; bottom:24px; z-index:99999; background:#2f2f2f; color:#fff;
  padding:15px 20px; border-radius:4px; box-shadow:0 8px 28px rgba(0,0,0,.22); font-size:14.5px;
  display:flex; align-items:center; gap:16px; opacity:0; transform:translateY(12px);
  transition:opacity .2s, transform .2s; max-width:calc(100vw - 48px); }
.mjv-toast.is-zichtbaar { opacity:1; transform:translateY(0); }
.mjv-toast a { color:#fff !important; text-decoration:underline !important; font-weight:600; white-space:nowrap; }
@media (max-width:480px){ .mjv-toast { left:16px; right:16px; bottom:16px; } }

/* Bescherming tegen thema-opmaak */
.mjv figure { margin:0; }
.mjv dl, .mjv dt, .mjv dd { margin:0; }
