/* Clean mega footer in Jansma Haule-stijl (licht, ruim, 1240px) */
.jh-footer { --green:#2f5a33; --ink:#1e1f1c; --muted:#6b726b; --bg:#f7f3ec; --rule:#e8e3da; }
.jh-footer__container { max-width:1240px; margin-inline:auto; padding: clamp(28px,4vw,48px) 16px; }

/* Top layout */
.jh-footer--clean { background:#fff; color:var(--ink); }
.jh-footer__top { display:grid; gap:40px; grid-template-columns: 1.5fr repeat(4, 1fr); align-items:start; }
.jh-footer__brand { max-width: 42ch; }
.jh-footer__logo { margin-bottom: 10px; }
.jh-footer__logo-fallback { font-weight:800; font-size:22px; color:var(--green); }
.jh-footer__about { margin: 8px 0 14px; color:var(--muted); line-height:1.6; }
.jh-footer__contact { list-style:none; margin:0; padding:0; display:grid; gap:6px; color:var(--ink); }
.jh-footer__contact a { color:var(--ink); text-decoration:none; }
.jh-footer__contact a:hover { text-decoration:underline; }

/* Columns */
.jh-footer__col-title { font-weight:700; margin:0 0 8px; color:var(--ink); }
.jh-footer__cols { display:grid; gap:20px; grid-column: 2 / -1; grid-template-columns: repeat(4, minmax(0,1fr)); }
.jh-footer__nav { list-style:none; padding:0; margin:0; display:grid; gap:8px; }
.jh-footer__nav a { color:var(--muted); text-decoration:none; }
.jh-footer__nav a:hover { color:var(--ink); text-decoration:underline; }

/* Rule */
.jh-footer__rule { border:0; border-top:1px solid var(--rule); margin: clamp(18px,3vw,28px) 0; }

/* Bottom */
.jh-footer__bottom { display:grid; grid-template-columns: 1.2fr 1fr auto; gap:18px; align-items:center; }
.jh-footer__copy { color:var(--muted); font-size:14px; }
.jh-footer__legal { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }
.jh-footer__legal a { color:var(--muted); text-decoration:none; }
.jh-footer__legal a:hover { color:var(--ink); text-decoration:underline; }
.jh-footer__social { list-style:none; padding:0; margin:0; display:flex; gap:12px; justify-content:flex-end; }
.jh-footer__social a { color:var(--muted); }
.jh-footer__social a:hover { color:var(--ink); }

/* Responsive */
@media (max-width: 1100px){
  .jh-footer__top { grid-template-columns: 1fr 1fr 1fr; }
  .jh-footer__cols { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0,1fr)); }
  .jh-footer__bottom { grid-template-columns: 1fr; text-align:center; }
  .jh-footer__social { justify-content:center; }
}
@media (max-width: 640px){
  .jh-footer__top { grid-template-columns: 1fr; }
  .jh-footer__cols { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 420px){
  .jh-footer__cols { grid-template-columns: 1fr; }
}

/* ---- Jansma Haule dark theme override ---- */
.jh-footer--clean {
  --green: #476930;
  --ink: #fff;                  /* hoofdtekst */
  --muted: #fff;                /* links/secondary */
  --bg: #476930;
  --rule: rgba(255,255,255,.25);/* scheidslijn */
  background: var(--bg);
  color: var(--ink);
}

/* link- en iconkleuren (erven nu wit via vars, hieronder alleen hover/extra's) */
.jh-footer__nav a,
.jh-footer__contact a,
.jh-footer__legal a,
.jh-footer__social a { color: var(--muted); }

.jh-footer__nav a:hover,
.jh-footer__contact a:hover,
.jh-footer__legal a:hover,
.jh-footer__social a:hover { color: var(--ink); text-decoration: underline; }

/* divider en meta */
.jh-footer__rule { border-top: 1px solid var(--rule); }
.jh-footer__about,
.jh-footer__copy { color: var(--ink); opacity: .9; }

/* eventuele svg's binnen links volgen nu wit */
.jh-footer__social a svg { color: currentColor; }