/* ============================================================
   Nunspeter.nl — Stijlblad v11
   Volledig herschreven: geen duplicaten, mobile-first
   ============================================================ */

/* ── Reset ─────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%;overflow-x:hidden}
body{font-family:var(--font-body);background:var(--wit);color:var(--tekst);
     line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
     overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button,input,textarea,select{font-family:inherit;font-size:inherit}
button{cursor:pointer;border:none;background:none}
abbr[title]{text-decoration:none;cursor:help}

/* ── CSS Variabelen ─────────────────────────────────────────── */
:root{
  /* Kleuren */
  --groen:       #1C3D20;
  --groen-mid:   #2B5E31;
  --groen-lt:    #E8F2E9;
  --groen-dk:    #162F19;
  --amber:       #C8841A;
  --amber-lt:    #FEF3E2;
  --amber-dk:    #A86D0F;
  --beige:       #F8F4EC;
  --beige-dk:    #EDE8DC;
  --wit:         #FFFDF8;
  --tekst:       #1A1A18;
  --tekst-mid:   #3D4038;
  --tekst-licht: #6B7260;
  --tekst-dim:   #9AA090;
  --rand:        #E0DBD0;
  --rand-licht:  #EDE9E0;
  --rood:        #C53030;
  --rood-lt:     #FFF5F5;
  /* Typografie */
  --font-kop:  'Playfair Display',Georgia,serif;
  --font-body: 'Lora',Georgia,serif;
  --font-ui:   'Inter',system-ui,-apple-system,sans-serif;
  /* Ruimte & vorm */
  --r:     8px;  --r-lg: 14px; --r-xl: 20px;
  --max-w: 1200px;
  /* Schaduwen */
  --scha-sm: 0 1px 4px rgba(28,61,32,.06);
  --scha:    0 4px 16px rgba(28,61,32,.10);
  --scha-lg: 0 8px 32px rgba(28,61,32,.14);
}

/* ── Hulpklassen ────────────────────────────────────────────── */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{
  position:absolute;top:-100px;left:1rem;z-index:9999;
  background:var(--groen);color:#fff;padding:.5rem 1rem;
  border-radius:0 0 var(--r) var(--r);font-size:.875rem;
  transition:top .2s
}
.skip-link:focus{top:0}

/* ── Container ──────────────────────────────────────────────── */
.container{max-width:var(--max-w);margin:0 auto;padding:0 20px}
@media(max-width:480px){.container{padding:0 14px}}

/* ── Typografie ─────────────────────────────────────────────── */
h1,h2,h3,h4,h5{font-family:var(--font-kop);line-height:1.2;color:var(--tekst)}
h1{font-size:clamp(1.6rem,4vw,2.65rem)}
h2{font-size:clamp(1.3rem,3vw,1.95rem)}
h3{font-size:clamp(1.05rem,2vw,1.35rem)}
h4{font-size:1rem}
p{color:var(--tekst-mid)}
p{line-height:1.7}

/* ── Focus ──────────────────────────────────────────────────── */
:focus-visible{outline:3px solid var(--amber);outline-offset:2px;border-radius:3px}
a:focus-visible,button:focus-visible{border-radius:var(--r)}

/* ── Knoppen ────────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
  padding:.65rem 1.25rem;border-radius:var(--r);
  font-family:var(--font-ui);font-size:.875rem;font-weight:600;
  line-height:1.2;border:2px solid transparent;
  transition:background .16s,border-color .16s,box-shadow .16s,transform .12s;
  cursor:pointer;white-space:nowrap;min-height:44px;text-align:center;
  text-decoration:none;
}
.btn--primair{background:var(--groen);color:#fff;border-color:var(--groen)}
.btn--primair:hover{background:var(--groen-mid);border-color:var(--groen-mid);box-shadow:var(--scha)}
.btn--amber  {background:var(--amber);color:#fff;border-color:var(--amber)}
.btn--amber:hover{background:var(--amber-dk);border-color:var(--amber-dk);box-shadow:var(--scha)}
.btn--outline{background:transparent;color:var(--groen);border-color:var(--groen)}
.btn--outline:hover{background:var(--groen);color:#fff}
.btn--outline-wit{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn--outline-wit:hover{background:rgba(255,255,255,.12);border-color:#fff}
.btn--ghost{background:transparent;color:var(--tekst-mid);border-color:var(--rand)}
.btn--ghost:hover{background:var(--beige);color:var(--tekst);border-color:var(--rand)}
.btn--sm {padding:.4rem .875rem;font-size:.8rem;min-height:38px}
.btn--lg {padding:.85rem 1.75rem;font-size:1rem;min-height:52px}
.btn--full{width:100%}
.btn svg{width:16px;height:16px;flex-shrink:0}

/* ── Badges ─────────────────────────────────────────────────── */
.badge{
  display:inline-flex;align-items:center;gap:.3rem;
  padding:.22em .65em;border-radius:20px;
  font-family:var(--font-ui);font-size:.68rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.06em;white-space:nowrap
}
.badge-groen  {background:var(--groen);color:#fff}
.badge-amber  {background:var(--amber);color:#fff}
.badge-licht  {background:var(--beige-dk);color:var(--tekst-mid)}
.badge-outline{background:transparent;border:1px solid var(--rand);color:var(--tekst-licht)}
.badge-rood   {background:#fef2f2;color:var(--rood);border:1px solid #fecaca}

/* ── TOPBAR ─────────────────────────────────────────────────── */
.topbar{
  background:var(--groen-dk);
  color:rgba(255,255,255,.65);
  font-family:var(--font-ui);
  font-size:.72rem;
  padding:.5rem 0;
}
.topbar__inner{
  display:flex;align-items:center;
  justify-content:space-between;gap:1rem
}
.topbar__left{
  display:flex;align-items:center;gap:.5rem
}
.topbar__left svg{opacity:.5;flex-shrink:0}
.topbar__datum{color:rgba(255,255,255,.5)}
.topbar__sep{color:rgba(255,255,255,.2)!important}
.topbar__right{
  display:flex;align-items:center;gap:.875rem;flex-shrink:0
}
.topbar__social-link{
  color:rgba(255,255,255,.5);
  display:flex;align-items:center;justify-content:center;
  width:24px;height:24px;border-radius:50%;
  transition:color .15s,background .15s
}
.topbar__social-link:hover{color:#fff;background:rgba(255,255,255,.1)}
.topbar__contact{
  display:flex;align-items:center;gap:.35rem;
  color:rgba(255,255,255,.5);font-size:.7rem;
  transition:color .15s
}
.topbar__contact:hover{color:rgba(255,255,255,.85)}
@media(max-width:900px){.topbar__contact{display:none}}
@media(max-width:640px){.topbar__datum{display:none}}
@media(max-width:420px){.topbar__left svg,.topbar__sep{display:none}}

/* ── HEADER ─────────────────────────────────────────────────── */
.site-header{
  background:#fff;
  border-bottom:2px solid var(--rand-licht);
  position:sticky;top:0;z-index:100;
  transition:box-shadow .2s
}
.site-header.scrolled{
  box-shadow:0 2px 20px rgba(28,61,32,.1);
  border-bottom-color:transparent
}
.header__inner{
  display:flex;align-items:center;
  padding:.625rem 0;gap:2rem
}

/* Logo */
.site-logo{
  display:flex;align-items:center;
  flex-shrink:0;text-decoration:none;
  transition:opacity .2s
}
.site-logo:hover{opacity:.85}
.site-logo__img{
  height:64px;
  width:auto;
  display:block;
  object-fit:contain;
  object-position:left center
}
@media(max-width:900px){
  .site-logo__img{height:54px}
}
@media(max-width:600px){
  .site-logo__img{height:44px}
}

/* Desktop nav */
.main-nav{flex:1}
.main-nav ul{
  display:flex;align-items:center;
  gap:.125rem;justify-content:center
}
.main-nav a{
  font-family:var(--font-ui);font-size:.855rem;
  font-weight:500;color:var(--tekst-mid);
  padding:.5rem .875rem;border-radius:var(--r);
  transition:background .15s,color .15s;
  display:flex;align-items:center;
  min-height:44px;white-space:nowrap
}
.main-nav a:hover{background:var(--beige);color:var(--groen)}
.main-nav a[aria-current="page"]{
  background:var(--groen-lt);color:var(--groen);font-weight:600
}

/* Zoek + CTA */
.header__acties{display:flex;align-items:center;gap:.625rem;flex-shrink:0}
.header__zoek{
  display:flex;align-items:center;
  background:var(--beige);border:1.5px solid var(--rand);
  border-radius:20px;padding:.375rem .875rem;gap:.45rem;
  transition:border-color .15s,box-shadow .15s,background .15s
}
.header__zoek:focus-within{
  border-color:var(--groen);
  box-shadow:0 0 0 3px rgba(28,61,32,.08);
  background:#fff
}
.header__zoek input{
  border:none;background:none;outline:none;
  font-family:var(--font-ui);font-size:.82rem;
  color:var(--tekst);width:130px
}
.header__zoek input::placeholder{color:var(--tekst-dim)}
.header__zoek svg{width:14px;height:14px;color:var(--tekst-licht);flex-shrink:0}

/* Hamburger */
.menu-toggle{
  display:none;flex-direction:column;gap:5px;
  padding:.5rem;min-width:44px;min-height:44px;
  align-items:center;justify-content:center;
  border-radius:var(--r);transition:background .15s
}
.menu-toggle:hover{background:var(--beige)}
.menu-toggle span{
  display:block;width:22px;height:2px;
  background:var(--tekst-mid);border-radius:2px;transition:.2s
}

/* Mobiel overlay + nav */
.mobiel-overlay{
  display:none;position:fixed;inset:0;
  z-index:200;background:rgba(0,0,0,.52);
  backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)
}
.mobiel-overlay.open{display:block}
.mobiel-nav{
  position:fixed;top:0;right:0;bottom:0;
  width:min(290px,88vw);background:#fff;
  z-index:201;transform:translateX(110%);
  transition:transform .26s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;
  overflow-y:auto;overscroll-behavior:contain;
  visibility:hidden
}
.mobiel-nav.open{visibility:visible}
.mobiel-nav.open{transform:translateX(0)}
.mobiel-nav__header{
  display:flex;align-items:center;
  justify-content:space-between;
  padding:1rem 1.25rem;
  border-bottom:1px solid var(--rand)
}
.mobiel-nav__sluiten{
  min-width:44px;min-height:44px;
  display:flex;align-items:center;justify-content:center;
  color:var(--tekst-licht);border-radius:var(--r);
  transition:background .15s
}
.mobiel-nav__sluiten:hover{background:var(--beige)}
.mobiel-nav__links{padding:.625rem 0;flex:1}
.mobiel-nav__links a{
  display:flex;align-items:center;padding:.875rem 1.25rem;
  font-size:.95rem;font-weight:500;color:var(--tekst-mid);
  transition:background .15s,color .15s;min-height:52px;gap:.75rem
}
.mobiel-nav__links a:hover,
.mobiel-nav__links a[aria-current="page"]{
  background:var(--beige);color:var(--groen)
}
.mobiel-nav__footer{
  padding:1rem 1.25rem;
  border-top:1px solid var(--rand)
}

@media(max-width:900px){
  .main-nav,.header__zoek{display:none}
  .menu-toggle{display:flex}
  .site-logo__tekst small{display:none}
}
@media(max-width:480px){
  .header__inner{padding:.625rem 0}
  .site-logo__tekst strong{font-size:1.05rem}
  .site-logo__icon{width:34px;height:34px;border-radius:7px}
}

/* ── SECTIES ────────────────────────────────────────────────── */
.sectie{padding:2.75rem 0}
.sectie--beige{background:var(--beige);border-top:1px solid var(--rand-licht);border-bottom:1px solid var(--rand-licht)}
.sectie--groen{background:var(--groen)}
.sectie--wit  {background:#fff}
@media(max-width:768px){.sectie{padding:2rem 0}}
@media(max-width:480px){.sectie{padding:1.625rem 0}}

/* Sectiekop */
.sectie-kop{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:1.5rem;gap:1rem;
  padding-bottom:.875rem;border-bottom:2px solid var(--groen)
}
.sectie-kop h2{
  font-size:1.3rem;font-weight:700;
  display:flex;align-items:center;gap:.5rem;
  position:relative
}
.sectie-knoppen{
  display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem
}
@media(max-width:480px){
  .sectie-knoppen{flex-direction:column}
  .sectie-knoppen .btn{justify-content:center}
}

/* ── HERO ───────────────────────────────────────────────────── */
.hero{
  position:relative;background:var(--groen);
  overflow:hidden;min-height:460px;display:flex;align-items:flex-end
}
.hero__achtergrond{position:absolute;inset:0}
.hero__achtergrond img{
  width:100%;height:100%;object-fit:cover;opacity:.42
}
.hero__achtergrond::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(
    to bottom,
    rgba(22,47,25,.0) 0%,
    rgba(22,47,25,.35) 40%,
    rgba(22,47,25,.94) 100%
  )
}
.hero--geen-foto{
  background:linear-gradient(145deg,var(--groen-dk) 0%,var(--groen) 100%)
}
.hero--geen-foto::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 75% 35%,rgba(200,132,26,.15) 0%,transparent 60%)
}
.hero__inhoud{
  position:relative;z-index:1;
  padding:2.75rem 0 3.25rem;max-width:780px
}
.hero__meta{
  display:flex;align-items:center;gap:.625rem;
  margin-bottom:.875rem;flex-wrap:wrap
}
.hero__categorie{
  background:var(--amber);color:#fff;
  font-size:.67rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.09em;
  padding:.22em .75em;border-radius:20px
}
.hero__tijd{
  font-family:var(--font-ui);font-size:.77rem;
  color:rgba(255,255,255,.65)
}
.hero h1{
  color:#fff;font-size:clamp(1.65rem,4.5vw,2.8rem);
  line-height:1.15;margin-bottom:.875rem;
  text-shadow:0 2px 10px rgba(0,0,0,.2)
}
.hero__intro{
  color:rgba(255,255,255,.82);font-size:1.025rem;
  line-height:1.65;margin-bottom:1.5rem;
  max-width:560px;font-family:var(--font-body)
}
.hero__acties{display:flex;gap:.75rem;flex-wrap:wrap}
@media(max-width:768px){
  .hero{min-height:380px}
  .hero h1{font-size:clamp(1.35rem,5vw,2rem)}
  .hero__intro{
    font-size:.9rem;
    display:-webkit-box;-webkit-line-clamp:2;
    -webkit-box-orient:vertical;overflow:hidden
  }
  .hero__inhoud{padding:2rem 0 2.5rem}
}
@media(max-width:480px){
  .hero{min-height:280px}
  .hero__intro{display:none}
  .hero__acties{flex-direction:column;gap:.5rem}
  .hero__acties .btn{width:100%}
}

/* ── PAGINA-HERO ────────────────────────────────────────────── */

/* ── BREADCRUMB ─────────────────────────────────────────────── */
.breadcrumb{
  display:flex;align-items:center;gap:.3rem;
  font-family:var(--font-ui);font-size:.77rem;
  color:var(--tekst-dim);margin-bottom:1rem;flex-wrap:wrap
}
.breadcrumb a{color:var(--groen-mid)}
.breadcrumb a:hover{text-decoration:underline}
.breadcrumb__sep{opacity:.4}

/* ── NIEUWS KAARTEN ─────────────────────────────────────────── */
.nieuws-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;
  overflow:visible;padding:4px 0
}
@media(max-width:960px){.nieuws-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}}
@media(max-width:580px){.nieuws-grid{grid-template-columns:1fr;gap:1rem}}

.kaart__badge{position:absolute;top:.75rem;left:.75rem}
.kaart__afbeelding-placeholder{
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--groen-lt) 0%,var(--beige) 100%)
}
.kaart__afbeelding-placeholder svg{opacity:.2}
.kaart__lees-meer{
  display:inline-flex;align-items:center;gap:.3rem;
  font-size:.77rem;font-weight:600;color:var(--groen-mid);
  margin-top:.625rem;transition:gap .15s
}
.kaart__lees-meer:hover{gap:.5rem}
.kaart__lees-meer svg{width:13px;height:13px}

/* ── AGENDA ITEMS ───────────────────────────────────────────── */
.agenda-strip{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:1rem
}
@media(max-width:640px){.agenda-strip{grid-template-columns:1fr;gap:.75rem}}


/* Agenda rij stijl */
.agenda-item-rij{
  display:flex;align-items:stretch;background:#fff;
  border-radius:var(--r-lg);border:1px solid var(--rand-licht);
  overflow:hidden;text-decoration:none;color:inherit;
  transition:transform .18s,box-shadow .18s;min-height:68px
}
.agenda-item-rij:hover{transform:translateY(-2px);box-shadow:var(--scha)}
.agenda-item-rij__tijd{
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  padding:.75rem .875rem;min-width:64px;
  background:var(--beige);font-family:var(--font-ui);
  font-size:.8rem;font-weight:700;color:var(--tekst-mid);
  text-align:center;flex-shrink:0;gap:.15rem;
  border-right:1px solid var(--rand-licht)
}
.agenda-item-rij__kleur{width:3px;flex-shrink:0;background:var(--groen)}
.agenda-item-rij__inhoud{
  flex:1;padding:.75rem .875rem;
  display:flex;flex-direction:column;
  justify-content:center;gap:.175rem;min-width:0
}
.agenda-item-rij__cat{
  font-size:.62rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.07em;color:var(--amber)
}
.agenda-item-rij__titel{
  font-family:var(--font-kop);font-size:.92rem;
  font-weight:700;color:var(--tekst);line-height:1.3;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.agenda-item-rij:hover .agenda-item-rij__titel{color:var(--groen-mid)}
.agenda-item-rij__meta{
  display:flex;align-items:center;gap:.75rem;
  font-size:.72rem;color:var(--tekst-dim);
  font-family:var(--font-ui);flex-wrap:wrap
}
.agenda-item-rij__pijl{
  display:flex;align-items:center;justify-content:center;
  padding:.75rem .75rem;color:var(--tekst-dim);
  flex-shrink:0;transition:color .15s
}
.agenda-item-rij:hover .agenda-item-rij__pijl{color:var(--groen-mid)}
@media(max-width:580px){
  .agenda-item-rij__tijd{min-width:52px;padding:.625rem .5rem;font-size:.72rem}
  .agenda-item-rij__inhoud{padding:.625rem .75rem}
  .agenda-item-rij__titel{font-size:.85rem;white-space:normal}
  .agenda-item-rij__pijl{padding:.625rem .5rem}
}

/* Periode tabs */
.periode-tabs{
  display:flex;gap:0;
  border-bottom:2px solid var(--rand);
  margin-bottom:1.5rem;
  overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none
}
.periode-tabs::-webkit-scrollbar{display:none}
.periode-tab{
  display:inline-flex;align-items:center;gap:.375rem;
  padding:.575rem 1rem;font-size:.84rem;font-weight:600;
  font-family:var(--font-ui);white-space:nowrap;
  border-bottom:2px solid transparent;margin-bottom:-2px;
  color:var(--tekst-licht);text-decoration:none;
  transition:color .15s,border-color .15s;min-height:44px
}
.periode-tab:hover{color:var(--tekst)}
.periode-tab.actief{color:var(--tekst);border-bottom-color:var(--amber)}

/* ── ONDERNEMERS ────────────────────────────────────────────── */
.ondernemers-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:1.5rem
}
@media(max-width:640px){.ondernemers-grid{grid-template-columns:1fr;gap:1rem}}

.ondernemer-kaart{
  background:#fff;border-radius:var(--r-lg);
  border:1px solid var(--rand-licht);
  padding:1.375rem;display:flex;flex-direction:column;
  transition:transform .18s,box-shadow .18s;position:relative
}
.ondernemer-kaart:hover{transform:translateY(-2px);box-shadow:var(--scha)}
.ondernemer-kaart--uitgelicht{border-color:var(--amber)}
.ondernemer-kaart--uitgelicht::before{
  content:'★ Uitgelicht';position:absolute;top:-1px;right:1rem;
  background:var(--amber);color:#fff;font-size:.6rem;font-weight:800;
  text-transform:uppercase;letter-spacing:.06em;
  padding:.2em .75em;border-radius:0 0 var(--r) var(--r)
}
.ondernemer-kaart__logo{
  width:52px;height:52px;border-radius:var(--r-lg);
  background:var(--beige);border:1px solid var(--rand);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:.875rem;overflow:hidden;flex-shrink:0
}
.ondernemer-kaart__logo img{width:100%;height:100%;object-fit:contain}
.ondernemer-kaart__logo-initialen{
  font-family:var(--font-kop);font-size:1.2rem;
  font-weight:700;color:var(--groen)
}
.ondernemer-kaart__cat{
  font-size:.62rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.07em;
  color:var(--amber);margin-bottom:.3rem
}
.ondernemer-kaart__naam{
  font-family:var(--font-kop);font-size:1rem;
  font-weight:700;margin-bottom:.3rem
}
.ondernemer-kaart__naam a:hover{color:var(--groen-mid)}
.ondernemer-kaart__tag{
  font-family:var(--font-body);font-size:.83rem;color:var(--tekst-licht);
  margin-bottom:.875rem;flex:1;line-height:1.6
}
.ondernemer-kaart__contact{
  display:flex;gap:.375rem;flex-wrap:wrap;margin-top:auto
}
.ondernemer-kaart__contact a{
  display:inline-flex;align-items:center;gap:.3rem;
  font-size:.72rem;color:var(--tekst-mid);
  padding:.3rem .6rem;border-radius:var(--r);
  border:1px solid var(--rand);background:var(--beige);
  transition:background .15s,color .15s,border-color .15s;
  font-weight:500;min-height:32px;text-decoration:none
}
.ondernemer-kaart__contact a:hover{
  background:var(--groen);color:#fff;border-color:var(--groen)
}
.ondernemer-kaart__contact svg{width:12px;height:12px}

/* Ondernemer detail */
.ondernemer-detail__header{
  display:flex;align-items:flex-start;gap:1.5rem;
  margin-bottom:1.75rem;padding-bottom:1.75rem;
  border-bottom:1px solid var(--rand)
}
.ondernemer-detail__logo{
  width:80px;height:80px;border-radius:var(--r-lg);
  background:var(--beige);border:1px solid var(--rand);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;flex-shrink:0
}
.ondernemer-detail__logo img{width:100%;height:100%;object-fit:contain}
.ondernemer-detail__logo-initialen{
  font-family:var(--font-kop);font-size:1.75rem;
  font-weight:700;color:var(--groen)
}
.ondernemer-contact-widget{
  background:var(--beige);border-radius:var(--r-xl);
  padding:1.5rem;position:sticky;top:1.25rem
}
.ondernemer-contact-widget h3{
  font-size:.95rem;margin-bottom:1.125rem;
  padding-bottom:.875rem;border-bottom:1px solid var(--rand)
}
.contact-rij{
  display:flex;align-items:flex-start;gap:.5rem;
  font-size:.838rem;color:var(--tekst-mid);
  margin-bottom:.625rem;line-height:1.4
}
.contact-rij svg{
  margin-top:.125rem;flex-shrink:0;
  color:var(--groen-mid)
}
.contact-rij a{color:var(--groen-mid)}
.contact-rij a:hover{text-decoration:underline}
.openingstijden-tabel{width:100%;margin-top:.5rem}
.openingstijden-tabel tr td{
  font-size:.8rem;padding:.2rem 0;
  color:var(--tekst-mid)
}
.openingstijden-tabel tr td:last-child{text-align:right}
.openingstijden-tabel tr.vandaag td{
  font-weight:700;color:var(--tekst)
}
.gesloten-tekst{color:var(--tekst-dim)!important;font-style:italic}
.social-cirkel{
  width:36px;height:36px;border-radius:50%;
  background:var(--rand-licht);
  display:inline-flex;align-items:center;justify-content:center;
  transition:background .15s,color .15s
}
.social-cirkel:hover{background:var(--groen);color:#fff}

/* ── TWEE-KOLOM LAYOUT ──────────────────────────────────────── */
.twee-kolom-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:2.5rem;align-items:start
}
@media(max-width:900px){.twee-kolom-layout{grid-template-columns:1fr;gap:2rem}}
@media(max-width:640px){.twee-kolom-layout{gap:1.5rem}}

/* ── ARTIKEL ────────────────────────────────────────────────── */
.artikel-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:3rem;
  align-items:start;
  padding-top:2.5rem;
  padding-bottom:4rem
}
.artikel-zijbalk{
  position:sticky;top:1.5rem;
  min-width:0;
  padding-top:.5rem  /* extra buffer zodat eerste widget niet wordt afgeknipt */
}
@media(max-width:1024px){
  .artikel-layout{
    grid-template-columns:minmax(0,1fr) 260px;
    gap:2rem
  }
}
@media(max-width:900px){
  .artikel-layout{
    grid-template-columns:1fr;
    gap:2rem;
    padding-top:1.75rem
  }
  .artikel-zijbalk{
    position:static;
    display:grid;grid-template-columns:1fr 1fr;
    gap:1rem
  }
}
@media(max-width:600px){
  .artikel-layout{gap:1.5rem;padding-top:1.25rem}
  .artikel-zijbalk{grid-template-columns:1fr}
}

/* ── Breadcrumb in artikel ── */
.artikel-layout .breadcrumb{
  margin-bottom:1.25rem
}

/* ── Article wrapper ── */
article{display:block}

/* ── Artikel header ── */
.artikel-header{margin-bottom:2rem}
.artikel-header h1{
  font-family:var(--font-kop);
  font-size:clamp(1.65rem,3.8vw,2.6rem);
  font-weight:700;
  line-height:1.12;
  letter-spacing:-.02em;
  color:var(--tekst);
  margin:0 0 1.25rem
}
.artikel-meta{
  display:flex;align-items:center;gap:.625rem;
  font-family:var(--font-ui);font-size:.83rem;
  color:var(--tekst-dim);flex-wrap:wrap;
  padding:.875rem 0 1rem;
  border-top:1px solid var(--rand-licht);
  border-bottom:1px solid var(--rand-licht)
}
.artikel-meta__auteur{
  display:flex;align-items:center;gap:.5rem;
  font-weight:600;color:var(--tekst-mid)
}
.artikel-meta__avatar{
  width:28px;height:28px;border-radius:50%;
  background:linear-gradient(135deg,var(--groen) 0%,var(--groen-mid) 100%);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:.68rem;font-weight:700;flex-shrink:0;
  border:2px solid var(--groen-lt)
}
.artikel-meta__sep{
  color:var(--rand);
  font-size:.75rem
}
.artikel-meta svg{width:13px;height:13px;color:var(--tekst-dim);flex-shrink:0}
.artikel-meta time{color:var(--tekst-mid)}

/* ── Featured image ── */
.artikel-hero-figure{margin:1.75rem 0 2rem}
.artikel-hero{
  border-radius:var(--r-xl);
  overflow:hidden;
  box-shadow:var(--scha-lg)
}
.artikel-hero img{
  width:100%;aspect-ratio:16/9;object-fit:cover;display:block;
  transition:transform .4s ease
}
.artikel-hero:hover img{transform:scale(1.01)}
.artikel-hero-caption{
  display:flex;align-items:center;
  justify-content:space-between;gap:.75rem;
  padding:.625rem .5rem 0;
  margin-top:.5rem;
  flex-wrap:wrap
}
.artikel-hero-caption__tekst{
  font-family:var(--font-ui);font-size:.78rem;
  color:var(--tekst-dim);font-style:italic;flex:1;line-height:1.5
}
.artikel-hero-caption__credit{
  font-family:var(--font-ui);font-size:.72rem;
  color:var(--tekst-dim);
  display:inline-flex;align-items:center;gap:.35rem;
  background:var(--beige);padding:.2rem .7rem;
  border-radius:100px;border:1px solid var(--rand-licht);
  flex-shrink:0;white-space:nowrap
}
.artikel-hero-caption__credit svg{color:var(--amber);flex-shrink:0}
@media(max-width:640px){
  .artikel-hero{
    margin-left:-1rem;margin-right:-1rem;
    border-radius:0;box-shadow:none
  }
  .artikel-hero img{aspect-ratio:4/3}
}

.artikel-intro{
  font-family:var(--font-body);font-size:1.175rem;
  font-weight:400;color:var(--tekst-mid);line-height:1.78;
  margin-bottom:1.25rem;
  padding:.875rem 0 1.125rem;
  border-bottom:1px solid var(--rand)
}
.artikel-body{
  font-family:var(--font-body);
  font-size:1.05rem;
  line-height:1.9;
  color:var(--tekst-mid);
  width:100%;min-width:0;
  margin-top:0
}
/* Verberg lege editor-elementen */
.artikel-body p:empty,
.artikel-body div:empty,
.artikel-body span:empty{display:none}
.artikel-body img:not([src]),
.artikel-body img[src=""]{display:none}
.artikel-body p br:only-child{display:none}

/* Alinea's */
.artikel-body>*:first-child{margin-top:0!important}
.artikel-body p{
  margin:0 0 1.4rem;
  font-size:1.05rem;
  line-height:1.9
}

/* Koppen — sterk, Playfair, goed witruimte */
.artikel-body h2{
  font-family:var(--font-kop);
  font-size:1.45rem;
  font-weight:700;
  line-height:1.2;
  color:var(--tekst);
  margin:2.5rem 0 .875rem;
  padding-top:2.5rem;
  border-top:2px solid var(--groen-lt)
}
.artikel-body h3{
  font-family:var(--font-kop);
  font-size:1.175rem;
  font-weight:700;
  line-height:1.25;
  color:var(--tekst);
  margin:2rem 0 .625rem
}
.artikel-body h4{
  font-family:var(--font-ui);
  font-size:1rem;
  font-weight:700;
  color:var(--tekst);
  margin:1.5rem 0 .5rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:.85rem
}

/* Vetgedrukt — duidelijker */
.artikel-body strong,
.artikel-body b{
  font-weight:700;
  color:var(--tekst)
}

/* Lijsten */
.artikel-body ul,.artikel-body ol{
  padding-left:1.75rem;
  margin:0 0 1.4rem
}
.artikel-body li{
  margin-bottom:.5rem;
  line-height:1.7
}
.artikel-body ul li{list-style-type:disc}
.artikel-body ol li{list-style-type:decimal}

/* Links */
.artikel-body a{
  color:var(--groen);
  text-decoration:underline;
  text-decoration-color:rgba(28,61,32,.3);
  text-underline-offset:3px;
  transition:color .15s,text-decoration-color .15s
}
.artikel-body a:hover{
  color:var(--amber);
  text-decoration-color:var(--amber)
}

/* Citaat */
.artikel-body blockquote{
  border-left:4px solid var(--amber);
  padding:1rem 1.5rem;
  margin:2rem 0;
  font-family:var(--font-kop);
  font-style:italic;
  font-size:1.1rem;
  line-height:1.7;
  background:var(--amber-lt);
  border-radius:0 var(--r-lg) var(--r-lg) 0;
  color:var(--tekst-mid)
}
.artikel-body blockquote p{
  margin:0;
  font-size:inherit;
  line-height:inherit
}

/* Afbeeldingen in body */
.artikel-body img{
  max-width:100%;
  height:auto;
  border-radius:var(--r-lg);
  margin:1.5rem 0;
  display:block
}

/* Horizontale lijn */
.artikel-body hr{
  border:none;
  border-top:1px solid var(--rand);
  margin:2.5rem 0
}

/* Inline code */
.artikel-body code{
  font-family:monospace;
  font-size:.9em;
  background:var(--beige);
  padding:.1em .35em;
  border-radius:3px;
  color:var(--tekst)
}
@media(max-width:768px){
  .artikel-body{font-size:1rem;line-height:1.85}
  .artikel-body h2{font-size:1.25rem;padding-top:1.75rem;margin-top:1.75rem}
  .artikel-body h3{font-size:1.075rem}
  .artikel-intro{font-size:1.05rem;line-height:1.7}
  .artikel-header h1{font-size:clamp(1.4rem,5vw,1.9rem)}
}
@media(max-width:480px){
  .artikel-body{font-size:.975rem;line-height:1.8}
  .artikel-intro{font-size:1rem}
  .artikel-body h2{font-size:1.175rem;margin:1.5rem 0 .5rem}
  .artikel-body h3{font-size:1.05rem;margin:1.25rem 0 .4rem}
  .artikel-body blockquote{padding:.75rem 1rem;font-size:.975rem}
  /* Kaarten op mobiel: volle breedte */
  .deel-knoppen{gap:.35rem}
  .deel-knop{padding:.35rem .65rem;font-size:.73rem}
}

/* Media en galerij */
.artikel-media-item{margin:1.625rem 0}
.artikel-media-item img{width:100%;border-radius:var(--r-lg)}
.artikel-media-item figcaption{
  font-family:var(--font-ui);font-size:.75rem;
  color:var(--tekst-dim);margin-top:.45rem;
  display:flex;justify-content:space-between;gap:1rem
}
.artikel-galerij{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
  gap:.625rem;margin:1.625rem 0
}
.artikel-galerij a{
  display:block;border-radius:var(--r);
  overflow:hidden;aspect-ratio:1
}
.artikel-galerij img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .25s
}
.artikel-galerij a:hover img{transform:scale(1.06)}
@media(max-width:480px){.artikel-galerij{grid-template-columns:repeat(2,1fr)}}

/* Video */
.video-wrap{
  position:relative;padding-bottom:56.25%;height:0;
  overflow:hidden;border-radius:var(--r-lg);
  background:#111;margin:1.625rem 0
}
.video-wrap iframe,.video-wrap embed,.video-wrap object{
  position:absolute;top:0;left:0;
  width:100%;height:100%;border:none
}

/* Tags */
.artikel-tags{
  display:flex;align-items:center;gap:.45rem;
  flex-wrap:wrap;padding:1rem 0;
  border-top:1px solid var(--rand);margin-top:1.5rem
}
.artikel-tags__label{
  font-size:.72rem;font-weight:700;
  color:var(--tekst-dim);text-transform:uppercase;
  letter-spacing:.06em;font-family:var(--font-ui)
}
.artikel-tags a:hover{background:var(--groen);color:#fff}

/* Deelknoppen */
.deel-knoppen{
  display:flex;align-items:center;gap:.4rem;
  flex-wrap:wrap;padding:1rem 0;margin:1.375rem 0;
  border-top:1px solid var(--rand);border-bottom:1px solid var(--rand)
}
.deel-knop{
  display:inline-flex;align-items:center;gap:.375rem;
  padding:.4rem .8rem;border-radius:20px;
  font-size:.77rem;font-weight:600;font-family:var(--font-ui);
  transition:.15s;border:1.5px solid var(--rand);min-height:36px;
  text-decoration:none
}
.deel-knop--facebook{color:#1877f2;border-color:rgba(24,119,242,.35)}
.deel-knop--facebook:hover{background:#1877f2;color:#fff;border-color:#1877f2}
.deel-knop--whatsapp{color:#25d366;border-color:rgba(37,211,102,.35)}
.deel-knop--whatsapp:hover{background:#25d366;color:#fff;border-color:#25d366}
.deel-knop--kopieer{color:var(--tekst-mid);cursor:pointer;background:none}
.deel-knop--kopieer:hover{background:var(--beige);border-color:var(--rand)}
.deel-knop svg{width:14px;height:14px}

/* Auteur blok */
.auteur-blok{
  display:flex;align-items:center;gap:1.25rem;
  padding:1.5rem 1.75rem;
  background:linear-gradient(135deg,var(--groen-lt) 0%,var(--wit) 100%);
  border-radius:var(--r-xl);
  margin-top:2.5rem;
  margin-bottom:3rem;
  border:1px solid rgba(28,61,32,.15);
  box-shadow:var(--scha-sm)
}
.auteur-blok__avatar{
  width:56px;height:56px;border-radius:50%;
  background:linear-gradient(135deg,var(--groen) 0%,var(--groen-mid) 100%);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-kop);font-size:1.2rem;
  font-weight:700;flex-shrink:0;
  border:3px solid var(--groen-lt)
}
.auteur-blok__label{
  font-size:.68rem;color:var(--tekst-dim);
  margin-bottom:.1rem;font-family:var(--font-ui)
}
.auteur-blok__naam{font-family:var(--font-kop);font-weight:700;font-size:.92rem}

/* Gerelateerd */
.gerelateerd__titel{
  font-size:1.15rem;font-weight:700;
  margin-bottom:1.25rem;padding-top:2rem;
  border-top:2px solid var(--rand);
  clear:both
}
.zijbalk-widget{
  background:var(--wit);
  border:1px solid var(--rand);
  border-radius:var(--r-lg);
  padding:1.25rem 1.25rem 1rem;
  margin-bottom:1rem;
  box-shadow:var(--scha-sm);
  overflow:visible
}
.zijbalk-widget__titel{
  font-family:var(--font-ui);
  font-size:.68rem;font-weight:800;
  text-transform:uppercase;letter-spacing:.1em;
  color:var(--tekst-dim);
  margin:0 0 1rem;
  padding-bottom:.75rem;
  border-bottom:1px solid var(--rand-licht)
}
.meest-gelezen-item{
  display:flex;align-items:flex-start;gap:.875rem;
  padding:.625rem 0;
  border-bottom:1px solid var(--rand-licht)
}
.meest-gelezen-item:first-child{padding-top:.25rem}
.meest-gelezen-item:last-child{border-bottom:none;padding-bottom:0}
.meest-gelezen-nr{
  font-family:var(--font-ui);
  font-size:.72rem;font-weight:800;
  color:var(--groen);
  background:var(--groen-lt);
  width:22px;height:22px;min-width:22px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;line-height:1;
  margin-top:.1rem
}
.meest-gelezen-item a{
  font-family:var(--font-ui);font-size:.855rem;font-weight:500;
  color:var(--tekst-mid);line-height:1.5;
  text-decoration:none;
  transition:color .15s
}
.meest-gelezen-item a:hover{color:var(--groen)}

/* ── FILTER BALK ────────────────────────────────────────────── */
.filter-balk{
  display:flex;align-items:center;gap:.875rem;
  padding:1rem 0;flex-wrap:wrap
}
.filter-chips{display:flex;gap:.35rem;flex-wrap:wrap;flex:1}
.filter-chip{
  display:inline-flex;align-items:center;gap:.35rem;
  padding:.35rem .875rem;border-radius:6px;
  font-family:var(--font-ui);font-size:.8rem;
  font-weight:500;border:1.5px solid var(--rand-licht);
  background:#fff;color:var(--tekst-mid);cursor:pointer;
  transition:all .15s;white-space:nowrap;
  min-height:36px;text-decoration:none
}
.filter-chip:hover{
  border-color:var(--groen);color:var(--groen);
  background:var(--groen-lt)
}
.filter-chip.actief{
  background:var(--groen);border-color:var(--groen);
  color:#fff;font-weight:600
}
.filter-chip__count{
  font-size:.67rem;font-weight:600;
  background:rgba(0,0,0,.08);color:inherit;
  padding:.1em .45em;border-radius:20px;line-height:1.4
}
.filter-chip.actief .filter-chip__count{background:rgba(255,255,255,.25)}
.filter-zoek{
  display:flex;align-items:center;gap:.4rem;
  background:#fff;border:1.5px solid var(--rand);
  border-radius:6px;padding:.375rem .875rem;
  transition:border-color .15s
}
.filter-zoek:focus-within{border-color:var(--groen)}
.filter-zoek input{
  border:none;outline:none;font-family:var(--font-ui);
  font-size:1rem;background:none;flex:1;min-width:0;
  color:var(--tekst)
}
.filter-zoek svg{width:13px;height:13px;color:var(--tekst-dim)}
@media(max-width:768px){
  .filter-balk{flex-direction:column;align-items:stretch;gap:.75rem}
  .filter-chips{
    overflow-x:auto;white-space:nowrap;flex-wrap:nowrap;
    padding-bottom:.25rem;-webkit-overflow-scrolling:touch;
    scrollbar-width:none
  }
  .filter-chips::-webkit-scrollbar{display:none}
  .filter-chip{flex-shrink:0}
  .filter-zoek{width:100%}
  .filter-zoek input{flex:1}
}

/* ── FORMULIEREN ────────────────────────────────────────────── */
.veld-rij{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.veld-verplicht{color:var(--amber)}
.veld-optioneel{font-size:.72rem;font-weight:400;color:var(--tekst-dim)}
@media(max-width:640px){.veld-rij{grid-template-columns:1fr}}

.flash-bericht{
  padding:.875rem 1rem;border-radius:var(--r);
  margin-bottom:1.25rem;
  display:flex;align-items:flex-start;gap:.625rem;
  font-size:.875rem;line-height:1.5
}
.flash-bericht--succes{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}
.flash-bericht--fout{background:var(--rood-lt);border:1px solid #fecaca;color:var(--rood)}
.flash-bericht svg{width:18px;height:18px;flex-shrink:0;margin-top:.1rem}

.form-toelichting{
  background:var(--beige);border-radius:var(--r-lg);
  padding:.875rem 1rem;margin-bottom:1.375rem;
  font-size:.82rem;color:var(--tekst-mid);line-height:1.6;
  border-left:3px solid var(--groen-lt)
}
.form-verzend{
  display:flex;align-items:center;gap:1rem;
  flex-wrap:wrap;margin-top:1.25rem
}
.form-verzend .veld-hint{margin:0}

/* Privacy checkbox */
.privacy-check{
  display:flex;align-items:flex-start;gap:.625rem;
  font-size:.8rem;color:var(--tekst-mid);
  margin-top:.75rem;line-height:1.5;cursor:pointer
}
.privacy-check input{
  width:18px;height:18px;margin-top:.1rem;
  accent-color:var(--groen);flex-shrink:0;min-height:unset;
  border-radius:3px
}
.privacy-check a{color:var(--groen-mid);text-decoration:underline}

/* ── CTA BLOKKEN ────────────────────────────────────────────── */
.cta-banner{
  background:linear-gradient(135deg,var(--groen-dk) 0%,var(--groen) 100%);
  padding:2.75rem 2rem;text-align:center;
  border-radius:var(--r-xl);position:relative;overflow:hidden
}
.cta-banner::before{
  content:'';position:absolute;top:-40%;right:-10%;
  width:400px;height:400px;border-radius:50%;
  background:radial-gradient(circle,rgba(200,132,26,.18) 0%,transparent 70%);
  pointer-events:none
}
.cta-banner h2{color:#fff;margin-bottom:.625rem;font-size:clamp(1.2rem,3vw,1.75rem)}
.cta-banner p{
  color:rgba(255,255,255,.78);margin-bottom:1.5rem;
  max-width:500px;margin-left:auto;margin-right:auto;font-size:.9rem
}
.knop-rij{display:flex;justify-content:center;gap:.875rem;flex-wrap:wrap}
@media(max-width:480px){
  .cta-banner{padding:2rem 1.125rem}
  .cta-banner h2{font-size:1.25rem}
  .knop-rij{flex-direction:column;align-items:stretch}
  .knop-rij .btn{justify-content:center}
}

.cta-blok{
  background:var(--groen);border-radius:var(--r-xl);
  padding:2rem 2rem;
  display:grid;grid-template-columns:1fr auto;
  gap:1.5rem;align-items:center
}
.cta-blok__label{
  font-size:.63rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.1em;color:var(--amber);margin-bottom:.375rem;
  font-family:var(--font-ui)
}
.cta-blok h3{color:#fff;font-size:1.2rem;margin-bottom:.35rem}
.cta-blok p{font-family:var(--font-body);color:rgba(255,255,255,.72);font-size:.875rem;line-height:1.65}
@media(max-width:640px){
  .cta-blok{grid-template-columns:1fr}
  .cta-blok__acties{display:flex;gap:.625rem;flex-wrap:wrap}
}

/* Insturen blok (homepage) */

/* ── PAGINERING ─────────────────────────────────────────────── */
.paginering{
  display:flex;align-items:center;justify-content:center;
  gap:.35rem;margin-top:2.5rem;flex-wrap:wrap
}
.paginering a,.paginering span{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:40px;height:40px;padding:0 .5rem;
  border-radius:var(--r);font-family:var(--font-ui);
  font-size:.82rem;font-weight:500;
  border:1.5px solid var(--rand);color:var(--tekst-mid);
  transition:.15s;text-decoration:none
}
.paginering a:hover{border-color:var(--groen);color:var(--groen)}
.paginering .huidige{
  background:var(--groen);border-color:var(--groen);
  color:#fff;font-weight:700
}

/* ── LEGE STAAT ─────────────────────────────────────────────── */
.lege-staat{
  text-align:center;padding:3.25rem 1.5rem;
  background:var(--beige);border-radius:var(--r-xl)
}
.lege-staat svg{margin:0 auto .875rem;opacity:.3}
.lege-staat h3{font-size:1.1rem;margin-bottom:.375rem}
.lege-staat p{color:var(--tekst-licht);font-size:.875rem;margin-bottom:1.125rem}

/* ── ADVERTENTIES ───────────────────────────────────────────── */
.advertentie-blok{margin:1.5rem 0;text-align:center}
.advertentie-blok__label{
  display:block;font-family:var(--font-ui);
  font-size:.58rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.1em;
  color:var(--tekst-dim);margin-bottom:.35rem;opacity:.6
}
.advertentie-blok a{display:inline-block}
.advertentie-blok img{
  max-width:100%;height:auto;border-radius:var(--r);
  border:1px solid var(--rand-licht)
}
.advertentie-sponsorblok{
  background:var(--beige);border:1px solid var(--rand);
  border-left:3px solid var(--amber);border-radius:var(--r-lg);
  padding:1rem 1.125rem;margin:1.5rem 0;
  font-size:.875rem;line-height:1.6;color:var(--tekst-mid)
}
.advertentie-sponsorblok__label{
  display:block;font-size:.58rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.1em;
  color:var(--amber-dk);margin-bottom:.5rem
}

/* ── CONTACT ────────────────────────────────────────────────── */
.contact-tabs{
  display:flex;gap:0;border-bottom:2px solid var(--rand);
  margin-bottom:2rem;overflow-x:auto;
  -webkit-overflow-scrolling:touch;scrollbar-width:none
}
.contact-tabs::-webkit-scrollbar{display:none}
.contact-tab{
  display:inline-flex;align-items:center;gap:.375rem;
  padding:.575rem .875rem;font-size:.82rem;font-weight:600;
  font-family:var(--font-ui);white-space:nowrap;
  border-bottom:2px solid transparent;margin-bottom:-2px;
  color:var(--tekst-licht);text-decoration:none;
  transition:color .15s,border-color .15s;min-height:44px
}
.contact-tab:hover{color:var(--tekst)}
.contact-tab.actief{color:var(--tekst);border-bottom-color:var(--amber)}
.contact-info-blok{
  background:var(--beige);border-radius:var(--r-xl);
  padding:1.375rem;margin-bottom:1rem
}
.contact-info-blok h3{font-size:.95rem;margin-bottom:.875rem}
.contact-info-rij{
  display:flex;align-items:flex-start;gap:.5rem;
  font-size:.82rem;color:var(--tekst-mid);margin-bottom:.5rem
}
.contact-info-rij svg{margin-top:.15rem;flex-shrink:0;color:var(--groen-mid)}
.contact-info-rij a{color:var(--groen-mid)}
.contact-info-rij a:hover{text-decoration:underline}
.contact-info-tekst{
  font-size:.77rem;color:var(--tekst-dim);
  margin-top:.875rem;line-height:1.65;
  padding-top:.875rem;border-top:1px solid var(--rand)
}
.contact-snel{
  background:var(--groen);border-radius:var(--r-xl);
  padding:1.25rem
}
.contact-snel__titel{
  font-size:.65rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.09em;color:rgba(255,255,255,.4);
  margin-bottom:.75rem;font-family:var(--font-ui)
}
.contact-snel__links{display:flex;flex-direction:column;gap:.2rem}
.contact-snel__link{
  display:flex;align-items:center;gap:.425rem;
  font-size:.82rem;color:rgba(255,255,255,.65);
  padding:.375rem .25rem;border-radius:var(--r);
  transition:color .15s
}
.contact-snel__link:hover{color:#fff}

/* ── VOLG ONS ───────────────────────────────────────────────── */
.volg-ons{padding:2.75rem 0;background:var(--beige)}
.volg-ons__grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:2.5rem;align-items:start
}
.volg-ons h2{font-size:1.25rem;margin-bottom:.375rem}
.volg-ons p{font-family:var(--font-body);color:var(--tekst-mid);font-size:.9rem;margin-bottom:1rem;line-height:1.65}
.nieuwsbrief-form{display:flex;gap:.5rem}
.nieuwsbrief-form input{
  flex:1;padding:.65rem 1rem;
  border:1.5px solid var(--rand);border-radius:var(--r);
  font-family:var(--font-ui);font-size:1rem;outline:none;
  background:#fff;transition:border-color .15s;min-height:44px
}
.nieuwsbrief-form input:focus{border-color:var(--groen)}
.social-links{display:flex;gap:.5rem;flex-wrap:wrap}
.social-link{
  display:flex;align-items:center;gap:.5rem;
  padding:.5rem .875rem;border-radius:var(--r);
  font-size:.8rem;font-weight:600;
  border:1.5px solid var(--rand);background:#fff;
  transition:.15s;min-height:44px;text-decoration:none;color:var(--tekst-mid)
}
.social-link:hover{
  border-color:var(--groen);background:var(--groen);color:#fff
}
.social-link svg{width:15px;height:15px}
@media(max-width:768px){.volg-ons__grid{grid-template-columns:1fr;gap:1.75rem}}
@media(max-width:480px){
  .nieuwsbrief-form{flex-direction:column}
  .nieuwsbrief-form .btn{justify-content:center}
}

/* ── FOOTER ─────────────────────────────────────────────────── */
.site-footer{background:var(--groen-dk);color:rgba(255,255,255,.75);padding:3.5rem 0 0}
.footer__grid{
  display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;
  gap:2rem;margin-bottom:2.5rem
}
.footer__logo{margin-bottom:1.25rem}
.footer__logo-img{
  height:52px;
  width:auto;
  display:block;
  background:#fff;
  border-radius:10px;
  padding:.375rem .875rem;
  box-shadow:0 2px 12px rgba(0,0,0,.2)
}
.footer__over p{
  font-family:var(--font-body);font-size:.82rem;line-height:1.7;
  max-width:230px;color:rgba(255,255,255,.6)
}
.footer__social{display:flex;gap:.45rem;margin-top:1.125rem}
.footer__social a{
  width:32px;height:32px;border-radius:50%;
  background:rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;
  transition:background .15s
}
.footer__social a:hover{background:var(--amber)}
.footer__social svg{width:14px;height:14px;color:rgba(255,255,255,.8)}
.footer__kolom h4{
  font-family:var(--font-ui);font-size:.65rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.12em;
  color:rgba(255,255,255,.35);margin-bottom:.875rem
}
.footer__kolom ul{display:flex;flex-direction:column;gap:.35rem}
.footer__kolom a{
  font-size:.8rem;color:rgba(255,255,255,.6);
  transition:color .15s
}
.footer__kolom a:hover{color:#fff}
.footer__bottom{
  border-top:1px solid rgba(255,255,255,.08);
  padding:1.125rem 0;
  display:flex;align-items:center;
  justify-content:space-between;gap:1rem;flex-wrap:wrap
}
.footer__bottom p{font-size:.73rem;color:rgba(255,255,255,.35)}
.footer__bottom-links{display:flex;gap:1.25rem}
.footer__bottom-links a{
  font-size:.73rem;color:rgba(255,255,255,.35);transition:color .15s
}
.footer__bottom-links a:hover{color:rgba(255,255,255,.7)}
@media(max-width:900px){.footer__grid{grid-template-columns:1fr 1fr;gap:1.5rem}}
@media(max-width:580px){
  .footer__grid{grid-template-columns:1fr}
  .footer__bottom{flex-direction:column;text-align:center;gap:.5rem}
}

/* ── ANIMATIES ──────────────────────────────────────────────── */
[data-animeer]{
  opacity:0;transform:translateY(16px);
  transition:opacity .5s ease,transform .5s ease
}
[data-animeer].zichtbaar{opacity:1;transform:none}

/* ── REDUCED MOTION ─────────────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    transition-duration:.01ms!important
  }
  [data-animeer]{opacity:1!important;transform:none!important}
}

/* ── HIGH CONTRAST ──────────────────────────────────────────── */
@media(forced-colors:active){
  .btn,.filter-chip,.badge{border:2px solid ButtonText}
  .site-header{border-bottom:2px solid ButtonText}
}

/* ── PRINT ──────────────────────────────────────────────────── */
@media print{
  .site-header,.topbar,.site-footer,
  .deel-knoppen,.cta-banner,.volg-ons,
  .menu-toggle,.mobiel-overlay,.mobiel-nav{display:none!important}
  .artikel-body{max-width:100%;font-size:11pt}
  body{background:#fff;color:#000}
  a::after{content:' ('attr(href)')';font-size:8pt;color:#666}
}

/* ── DIVERSEN ───────────────────────────────────────────────── */
.copyright{font-size:.72rem;color:var(--tekst-dim);font-style:normal}
.tag-rij{display:flex;gap:.375rem;flex-wrap:wrap}
.separator{
  display:block;height:1px;background:var(--rand);
  margin:1.5rem 0;border:none
}

/* ── Advertentie label verbeterd ─────────────────────────── */
.advertentie-wrapper{
  position:relative;
  border:1px solid var(--rand-licht);
  border-radius:var(--r-lg);
  overflow:hidden;
  margin:1.625rem 0
}
.advertentie-wrapper::before{
  content:'Advertentie';
  position:absolute;top:.375rem;right:.5rem;
  font-family:var(--font-ui);font-size:.58rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.1em;
  color:var(--tekst-dim);background:rgba(255,255,255,.9);
  padding:.15em .5em;border-radius:20px;
  pointer-events:none;z-index:1
}

/* Gesponsord bericht label */
.gesponsord-badge{
  display:inline-flex;align-items:center;gap:.3rem;
  background:var(--amber-lt);color:var(--amber-dk);
  border:1px solid rgba(200,132,26,.25);
  font-family:var(--font-ui);font-size:.65rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.07em;
  padding:.25em .7em;border-radius:20px;
  margin-bottom:.875rem
}

/* Over-ons colofon stijl */
.colofon{
  background:var(--beige);border-radius:var(--r-xl);
  padding:1.5rem 1.75rem
}
.colofon h3{
  font-size:.85rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:var(--tekst-dim);
  margin-bottom:1rem;font-family:var(--font-ui)
}
.colofon dl{
  display:grid;grid-template-columns:130px 1fr;
  gap:.5rem .875rem;font-size:.855rem
}
.colofon dt{color:var(--tekst-dim);font-weight:600}
.colofon dd{color:var(--tekst-mid)}
@media(max-width:480px){
  .colofon dl{grid-template-columns:1fr}
  .colofon dt{margin-bottom:-.25rem}
}

/* ── Agenda: vandaag highlight ───────────────────────────── */
.agenda-kaart.vandaag .agenda-kaart__datum{background:var(--amber)}
.agenda-item-rij.vandaag .agenda-item-rij__kleur{background:var(--amber)}
.agenda-item-rij.vandaag .agenda-item-rij__datum{color:var(--amber);font-weight:700}

/* gerelateerd-grid — zie onderaan */

/* ── Verborgen afbeelding fix ───────────────────────────── */
.artikel-body img:not([src]),.artikel-body img[src=""]{display:none}

/* ── Skip link zichtbaar bij focus ──────────────────────── */
.skip-link:focus{top:0;left:0}

/* ── Actieve agenda vandaag ────────────────────────────────── */
.agenda-kaart.vandaag .agenda-kaart__datum{background:var(--amber)!important}

/* ── Zoek pagina resultaat stijl ───────────────────────────── */
.zoek-resultaat__afb{
  width:72px;height:56px;border-radius:var(--r);
  background:var(--beige);flex-shrink:0;overflow:hidden
}
.zoek-resultaat__afb img{width:100%;height:100%;object-fit:cover}
.zoek-resultaat h3{font-size:.9rem;margin-bottom:.25rem}
.zoek-resultaat h3 a{color:var(--tekst);transition:color .15s}
.zoek-resultaat h3 a:hover{color:var(--groen-mid)}
.zoek-resultaat p{font-size:.82rem;color:var(--tekst-licht);line-height:1.5}
.zoek-type-label{
  font-size:.62rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:var(--tekst-dim);
  margin-bottom:.625rem;font-family:var(--font-ui)
}

/* ══ AGENDA PAGINA — VERNIEUWDE OPMAAK ═══════════════════ */

.agenda-dag-groep{
  margin-bottom:2.5rem
}
@media(max-width:640px){.agenda-dag-groep{margin-bottom:2rem}}

/* Datumkop per dag */
.agenda-dag-kop{
  display:flex;align-items:center;gap:1rem;
  padding:0 0 .75rem;
  margin-bottom:.875rem;
  border-bottom:2px solid var(--rand);
  position:relative
}
.agenda-dag-blok{
  display:flex;flex-direction:column;align-items:center;
  justify-content:center;
  min-width:48px;height:48px;
  background:var(--groen);color:#fff;
  border-radius:var(--r-lg);flex-shrink:0;
  text-align:center;padding:.25rem
}
.agenda-dag-blok__nr{
  font-size:1.35rem;font-weight:800;line-height:1;
  font-family:var(--font-kop)
}
.agenda-dag-blok__mnd{
  font-size:.6rem;text-transform:uppercase;
  letter-spacing:.08em;opacity:.8;font-family:var(--font-ui)
}
.agenda-dag-info strong{
  display:block;font-size:1rem;font-weight:700;
  color:var(--tekst);font-family:var(--font-kop)
}
.agenda-dag-info span{
  font-size:.8rem;color:var(--tekst-dim);
  font-family:var(--font-ui)
}

/* Items lijst per dag */
.agenda-dag-items{
  display:flex;flex-direction:column;gap:.5rem;
  padding-left:0
}

/* Agenda rij */
.agenda-rij{
  display:flex;align-items:stretch;
  background:#fff;border-radius:var(--r-lg);
  border:1px solid var(--rand-licht);
  text-decoration:none;color:inherit;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s;
  overflow:hidden;min-height:62px
}
.agenda-rij:hover{
  transform:translateX(3px);
  box-shadow:var(--scha);
  border-color:var(--rand)
}

/* Tijdblok */
.agenda-rij__tijd{
  display:flex;flex-direction:column;align-items:center;
  justify-content:center;
  min-width:62px;padding:.75rem .5rem;
  background:var(--beige);
  border-right:1px solid var(--rand-licht);
  flex-shrink:0;text-align:center;gap:.1rem
}
.agenda-rij__uur{
  font-family:var(--font-ui);font-size:.88rem;
  font-weight:700;color:var(--tekst);line-height:1
}
.agenda-rij__tot{
  font-family:var(--font-ui);font-size:.68rem;
  color:var(--tekst-dim);line-height:1
}
.agenda-rij__heel-dag{
  font-family:var(--font-ui);font-size:.7rem;
  color:var(--tekst-dim);text-align:center;
  line-height:1.3
}

/* Kleurlijn */
.agenda-rij__lijn{
  width:4px;flex-shrink:0;
  background:var(--groen);
  transition:width .16s
}
.agenda-rij:hover .agenda-rij__lijn{width:5px}

/* Inhoud */
.agenda-rij__inhoud{
  flex:1;padding:.75rem 1rem;
  display:flex;flex-direction:column;
  justify-content:center;gap:.2rem;
  min-width:0
}
.agenda-rij__cat{
  font-family:var(--font-ui);font-size:.62rem;
  font-weight:700;text-transform:uppercase;
  letter-spacing:.07em;color:var(--amber);
  display:block
}
.agenda-rij__titel{
  font-family:var(--font-kop);font-size:.95rem;
  font-weight:700;color:var(--tekst);
  line-height:1.3;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.agenda-rij:hover .agenda-rij__titel{color:var(--groen-mid)}
.agenda-rij__meta{
  display:flex;align-items:center;gap:.625rem;
  font-family:var(--font-ui);font-size:.75rem;
  color:var(--tekst-dim);flex-wrap:wrap;
  margin-top:.1rem
}
.agenda-rij__meta span{
  display:flex;align-items:center;gap:.25rem
}
.agenda-rij__gratis{
  color:var(--groen-mid);font-weight:600
}

/* Pijl */
.agenda-rij__pijl{
  color:var(--tekst-dim);flex-shrink:0;
  margin:auto .875rem;
  transition:transform .16s,color .16s
}
.agenda-rij:hover .agenda-rij__pijl{
  transform:translateX(3px);
  color:var(--groen-mid)
}

@media(max-width:580px){
  .agenda-rij__tijd{min-width:52px;padding:.625rem .375rem}
  .agenda-rij__uur{font-size:.82rem}
  .agenda-rij__inhoud{padding:.625rem .75rem}
  .agenda-rij__titel{font-size:.875rem;white-space:normal}
  .agenda-rij__pijl{margin:auto .625rem}
  .agenda-dag-blok{min-width:42px;height:42px}
  .agenda-dag-blok__nr{font-size:1.2rem}
}

/* ══ ONDERNEMERS PAGINA ══════════════════════════════════ */

/* Zoekbalk */

/* Categorie blokken */
.ond-cats{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
  gap:.625rem;margin-bottom:2.5rem
}
.ond-cat-blok{
  display:flex;flex-direction:column;align-items:center;
  gap:.35rem;padding:.875rem .5rem;
  background:#fff;border:1.5px solid var(--rand-licht);
  border-radius:var(--r-lg);text-decoration:none;
  transition:border-color .15s,transform .15s,box-shadow .15s;
  text-align:center
}
.ond-cat-blok:hover{
  border-color:var(--groen);transform:translateY(-2px);
  box-shadow:var(--scha-sm)
}
.ond-cat-blok__icon{font-size:1.5rem;line-height:1}
.ond-cat-blok__naam{
  font-family:var(--font-ui);font-size:.78rem;
  font-weight:600;color:var(--tekst-mid);line-height:1.2
}
.ond-cat-blok__cnt{
  font-family:var(--font-ui);font-size:.68rem;
  color:var(--tekst-dim)
}
@media(max-width:580px){
  .ond-cats{grid-template-columns:repeat(3,1fr)}
  .ond-cat-blok{padding:.75rem .375rem}
  .ond-cat-blok__icon{font-size:1.25rem}
}
@media(max-width:360px){.ond-cats{grid-template-columns:repeat(2,1fr)}}

/* Uitgelichte bedrijven grid */
.ond-uitgelicht-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem
}
@media(max-width:768px){.ond-uitgelicht-kaart{
  border-radius:var(--r-xl);overflow:hidden;
  border:1.5px solid var(--amber);
  text-decoration:none;color:inherit;
  display:flex;flex-direction:column;
  transition:transform .18s,box-shadow .18s
}
.ond-uitgelicht-kaart:hover{transform:translateY(-3px);box-shadow:var(--scha-lg)}
}
.ond-uitgelicht-kaart__header{
  height:110px;background:var(--groen-lt);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden
}
.ond-uitgelicht-kaart__header img{
  width:100%;height:100%;object-fit:cover
}
.ond-uitgelicht-kaart__initialen{
  font-family:var(--font-kop);font-size:2rem;
  font-weight:700;color:var(--groen)
}
.ond-uitgelicht-kaart__body{
  padding:1rem;flex:1;
  background:#fff;
  display:flex;flex-direction:column;gap:.25rem
}
.ond-uitgelicht-kaart__naam{
  font-family:var(--font-kop);font-size:1rem;
  font-weight:700;color:var(--tekst);display:block
}
.ond-uitgelicht-kaart__tag{
  font-family:var(--font-body);font-size:.82rem;
  color:var(--tekst-licht);line-height:1.5;margin:0
}
.ond-uitgelicht-kaart__adres{
  display:flex;align-items:center;gap:.3rem;
  font-family:var(--font-ui);font-size:.73rem;
  color:var(--tekst-dim);margin-top:auto;padding-top:.375rem
}

/* Bedrijvenlijst — rij stijl */
.ond-lijst{
  display:flex;flex-direction:column;gap:.5rem
}

.ond-rij{
  display:flex;align-items:center;gap:1rem;
  background:#fff;border-radius:var(--r-lg);
  border:1px solid var(--rand-licht);
  padding:.875rem 1rem;
  text-decoration:none;color:inherit;
  transition:transform .15s,box-shadow .15s,border-color .15s
}
.ond-rij:hover{
  transform:translateX(3px);box-shadow:var(--scha);
  border-color:var(--rand)
}
.ond-rij--uitgelicht{border-left:3px solid var(--amber)}

/* Logo */
.ond-rij__logo{
  width:46px;height:46px;border-radius:var(--r-lg);
  background:var(--beige);border:1px solid var(--rand);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;flex-shrink:0
}
.ond-rij__logo img{width:100%;height:100%;object-fit:contain}
.ond-rij__logo span{
  font-family:var(--font-kop);font-size:.95rem;
  font-weight:700;color:var(--groen)
}

/* Info */
.ond-rij__info{flex:1;min-width:0}
.ond-rij__naam{
  font-family:var(--font-kop);font-size:.95rem;
  font-weight:700;color:var(--tekst);line-height:1.2
}
.ond-rij:hover .ond-rij__naam{color:var(--groen-mid)}
.ond-rij__cat{
  font-family:var(--font-ui);font-size:.68rem;
  font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:var(--amber);margin-top:.125rem
}
.ond-rij__tag{
  font-family:var(--font-body);font-size:.8rem;
  color:var(--tekst-licht);margin-top:.2rem;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}

/* Locatie */
.ond-rij__locatie{
  font-family:var(--font-ui);font-size:.78rem;
  color:var(--tekst-dim);flex-shrink:0;
  display:flex;align-items:center;gap:.3rem;
  white-space:nowrap
}
@media(max-width:640px){.ond-rij__locatie{display:none}}

/* Acties */
.ond-rij__acties{
  display:flex;align-items:center;gap:.375rem;
  flex-shrink:0
}
.ond-rij__knop{
  width:30px;height:30px;border-radius:var(--r);
  background:var(--beige);border:1px solid var(--rand);
  display:flex;align-items:center;justify-content:center;
  color:var(--tekst-mid);cursor:pointer;
  transition:background .15s,color .15s;flex-shrink:0
}
.ond-rij__knop:hover{background:var(--groen);color:#fff;border-color:var(--groen)}
.ond-rij__pijl{
  color:var(--tekst-dim);
  transition:transform .15s,color .15s
}
.ond-rij:hover .ond-rij__pijl{transform:translateX(3px);color:var(--groen-mid)}

@media(max-width:480px){
  .ond-rij{padding:.75rem .875rem;gap:.75rem}
  .ond-rij__logo{width:40px;height:40px}
  .ond-rij__tag{display:none}
  .ond-rij__knop{width:28px;height:28px}
}
/* ══ ONDERNEMERS PAGINA ═══════════════════════════════════ */

/* Zoek + filter bovenaan */
.ond-top{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.75rem}
.ond-zoek{
  display:flex;align-items:center;gap:.75rem;
  background:#fff;border:1.5px solid var(--rand);
  border-radius:var(--r-lg);padding:.7rem 1rem;
  transition:border-color .15s,box-shadow .15s
}
.ond-zoek:focus-within{border-color:var(--groen);box-shadow:0 0 0 3px rgba(28,61,32,.08)}
.ond-zoek svg{color:var(--tekst-dim);flex-shrink:0}
.ond-zoek input{
  flex:1;border:none;outline:none;
  font-family:var(--font-body);font-size:1rem;
  color:var(--tekst);background:none;min-width:0
}
.ond-zoek input::placeholder{color:var(--tekst-dim)}

/* Grid */
.ond-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:1.125rem
}
@media(max-width:640px){.ond-grid{grid-template-columns:repeat(2,1fr);gap:.875rem}}
@media(max-width:380px){.ond-grid{grid-template-columns:1fr}}

/* Kaart */
.ond-kaart--uitgelicht{border-color:rgba(200,132,26,.4)}

/* Kaart top */
.ond-kaart__top{
  height:96px;background:var(--groen-lt);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;position:relative;flex-shrink:0
}
.ond-kaart__top img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.ond-kaart:hover .ond-kaart__top img{transform:scale(1.05)}
.ond-kaart__initialen{
  font-family:var(--font-kop);font-size:2rem;
  font-weight:700;color:var(--groen);line-height:1
}
.ond-kaart__ster{
  position:absolute;top:.5rem;right:.5rem;
  font-size:.9rem;color:var(--amber);
  background:#fff;width:22px;height:22px;
  border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-size:.75rem;
  box-shadow:0 1px 3px rgba(0,0,0,.12)
}

/* Kaart body */
.ond-kaart__cat{
  font-family:var(--font-ui);font-size:.62rem;
  font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:var(--amber)
}
.ond-kaart__tag{
  font-family:var(--font-body);font-size:.78rem;
  color:var(--tekst-licht);line-height:1.45;margin:0;
  display:-webkit-box;-webkit-line-clamp:2;
  -webkit-box-orient:vertical;overflow:hidden
}
.ond-kaart__adres{
  display:flex;align-items:center;gap:.3rem;
  font-family:var(--font-ui);font-size:.72rem;
  color:var(--tekst-dim);margin-top:auto;padding-top:.375rem
}

/* Kaart footer */
.ond-kaart__footer{
  display:flex;align-items:center;justify-content:space-between;
  padding:.625rem .875rem;
  border-top:1px solid var(--rand-licht);
  background:var(--beige)
}
.ond-kaart__actie{
  display:flex;align-items:center;gap:.35rem;
  font-family:var(--font-ui);font-size:.75rem;
  font-weight:600;color:var(--groen-mid);cursor:pointer;
  padding:.3rem .5rem;border-radius:var(--r);
  transition:background .15s
}
.ond-kaart__actie:hover{background:var(--groen-lt)}
.ond-kaart__profiel{
  font-family:var(--font-ui);font-size:.75rem;
  font-weight:600;color:var(--groen-mid)
}

/* Homepage lijststijl */
.hp-ond-lijst{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1.25rem}
.hp-ond-rij{
  display:flex;align-items:center;gap:.875rem;
  padding:.75rem 1rem;background:#fff;
  border-radius:var(--r-lg);border:1px solid var(--rand-licht);
  text-decoration:none;color:inherit;
  transition:transform .15s,box-shadow .15s,border-color .15s
}
.hp-ond-rij:hover{transform:translateX(3px);box-shadow:var(--scha-sm);border-color:var(--rand)}
.hp-ond-rij__logo{
  width:38px;height:38px;border-radius:var(--r);
  background:var(--beige);border:1px solid var(--rand);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;flex-shrink:0
}
.hp-ond-rij__logo img{width:100%;height:100%;object-fit:contain}
.hp-ond-rij__logo span{
  font-family:var(--font-kop);font-size:.82rem;
  font-weight:700;color:var(--groen)
}
.hp-ond-rij__midden{flex:1;min-width:0}
.hp-ond-rij__midden strong{
  display:block;font-family:var(--font-kop);
  font-size:.9rem;font-weight:700;color:var(--tekst);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.hp-ond-rij:hover .hp-ond-rij__midden strong{color:var(--groen-mid)}
.hp-ond-rij__midden span{
  font-family:var(--font-ui);font-size:.7rem;
  color:var(--amber);font-weight:600;
  text-transform:uppercase;letter-spacing:.05em
}
.hp-ond-rij__rechts{
  font-family:var(--font-ui);font-size:.73rem;
  color:var(--tekst-dim);flex-shrink:0;white-space:nowrap
}
@media(max-width:480px){.hp-ond-rij__rechts{display:none}}

/* ═══════════════════════════════════════════════════════════
   OVER ONS
═══════════════════════════════════════════════════════════ */

/* Hero */
.ons-hero{
  background:linear-gradient(135deg,var(--groen-dk) 0%,var(--groen) 100%);
  color:#fff;padding:3rem 0 2.5rem
}
.ons-hero .breadcrumb a,.ons-hero .breadcrumb__sep,.ons-hero .breadcrumb span{color:rgba(255,255,255,.6)}
.ons-hero .breadcrumb a:hover{color:#fff}
.ons-hero__inner{display:flex;align-items:center;gap:1.75rem;margin-top:1.25rem}
.ons-hero__hexagon{width:80px;height:80px;flex-shrink:0}
.ons-hero__hexagon svg{width:80px;height:80px}
.ons-hero__titel{font-family:var(--font-kop);font-size:2rem;font-weight:700;margin:0 0 .5rem;color:#fff}
.ons-hero__sub{font-size:1.05rem;line-height:1.65;color:rgba(255,255,255,.82);margin:0}
.ons-hero__sub strong{color:#fff}
@media(max-width:600px){
  .ons-hero__hexagon{display:none}
  .ons-hero__titel{font-size:1.6rem}
}

/* Missie balk */
.ons-missie{
  background:var(--beige);
  border-bottom:1px solid var(--rand);
  padding:1.5rem 0
}
.ons-missie__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem
}
@media(max-width:768px){.ons-missie__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:400px){.ons-missie__grid{grid-template-columns:1fr 1fr}}
.ons-missie__item{
  display:flex;flex-direction:column;align-items:center;
  gap:.375rem;text-align:center;padding:.625rem
}
.ons-missie__icoon{
  width:40px;height:40px;border-radius:50%;
  background:var(--groen-lt);color:var(--groen);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;margin-bottom:.25rem
}
.ons-missie__item strong{font-family:var(--font-ui);font-size:.88rem;font-weight:700;color:var(--tekst)}
.ons-missie__item span{font-size:.78rem;color:var(--tekst-licht);line-height:1.4}

/* Layout */
.ons-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:2.5rem;
  align-items:start;
  padding-top:2.5rem
}
@media(max-width:900px){.ons-layout{grid-template-columns:1fr;gap:1.75rem}}

/* Blokken */
.ons-blok{margin-bottom:2.25rem}
.ons-blok__titel{
  font-family:var(--font-kop);font-size:1.3rem;font-weight:700;
  color:var(--groen-dk);margin:0 0 .875rem;
  padding-bottom:.625rem;border-bottom:2px solid var(--groen-lt)
}
.ons-blok p{line-height:1.75;color:var(--tekst-mid);margin-bottom:.875rem}
.ons-blok--accent{
  background:var(--groen-lt);border-radius:var(--r-lg);
  padding:1.5rem;margin-bottom:2.25rem;
  border-left:4px solid var(--groen)
}

/* Onafhankelijkheid blok */
.ons-onaf{display:flex;gap:1.25rem;align-items:flex-start}
.ons-onaf__icoon{
  width:52px;height:52px;min-width:52px;
  background:var(--groen);color:#fff;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;margin-top:.25rem
}

/* Team */
.ons-teamlid{
  display:grid;
  grid-template-columns:160px 1fr;
  gap:2rem;
  background:#fff;
  border:1px solid var(--rand);
  border-radius:var(--r-lg);
  padding:2rem;
  align-items:start;
  box-shadow:var(--scha-sm)
}
@media(max-width:640px){.ons-teamlid{grid-template-columns:1fr;text-align:center}}
.ons-teamlid__foto-wrap{
  display:flex;flex-direction:column;align-items:center;gap:.75rem
}
.ons-teamlid__foto{
  width:160px;height:160px;
  border-radius:50%;object-fit:cover;object-position:center top;
  border:4px solid var(--groen-lt);
  display:block
}
@media(max-width:640px){.ons-teamlid__foto{width:120px;height:120px}}
.ons-teamlid__naam{font-family:var(--font-kop);font-size:1.2rem;font-weight:700;color:var(--tekst);margin-bottom:.3rem}
.ons-teamlid__rol{
  display:inline-block;font-family:var(--font-ui);font-size:.72rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;
  color:var(--amber);background:var(--amber-lt);
  padding:.25em .75em;border-radius:20px;margin-bottom:.875rem
}
.ons-teamlid__bio{font-size:.92rem;line-height:1.7;color:var(--tekst-mid);margin:0 0 .75rem}
.ons-teamlid__links{display:flex;flex-wrap:wrap;gap:.625rem;margin-top:.25rem}
@media(max-width:640px){.ons-teamlid__links{justify-content:center}}
.ons-teamlid__link{
  display:inline-flex;align-items:center;gap:.375rem;
  font-size:.85rem;color:var(--groen);text-decoration:none;font-weight:600;
  padding:.4rem .75rem;border-radius:var(--r);
  border:1.5px solid var(--groen-lt);background:var(--groen-lt);
  transition:all .15s
}
.ons-teamlid__link:hover{background:var(--groen);color:#fff;border-color:var(--groen)}
.ons-teamlid__link--sec{background:transparent;border-color:var(--rand)}
.ons-teamlid__link--sec:hover{background:var(--groen);color:#fff;border-color:var(--groen)}

/* Auteur kaart in zijbalk */
.ons-zij__auteur{
  background:linear-gradient(160deg,var(--groen-dk) 0%,var(--groen) 100%);
  border-radius:var(--r-lg);padding:1.5rem;
  display:flex;flex-direction:column;align-items:center;
  text-align:center;gap:.5rem;margin-bottom:1rem
}
.ons-zij__auteur-foto{
  width:90px;height:90px;border-radius:50%;
  object-fit:cover;object-position:center top;
  border:3px solid rgba(255,255,255,.3);
  margin-bottom:.375rem
}
.ons-zij__auteur-naam{font-family:var(--font-kop);font-size:1rem;font-weight:700;color:#fff}
.ons-zij__auteur-rol{font-size:.75rem;color:rgba(255,255,255,.7);font-family:var(--font-ui)}
.ons-zij__auteur-mail{
  font-size:.82rem;color:rgba(255,255,255,.85);text-decoration:none;
  margin-top:.25rem;padding:.4rem .875rem;
  border-radius:20px;border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.1);font-family:var(--font-ui)
}
.ons-zij__auteur-mail:hover{background:rgba(255,255,255,.2);color:#fff}

/* Wat we doen grid */
.ons-doen-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:.75rem
}
@media(max-width:500px){.ons-doen-grid{grid-template-columns:1fr}}
.ons-doen-item{
  display:flex;align-items:flex-start;gap:.875rem;
  padding:.875rem;background:var(--beige);border-radius:var(--r);
  border:1px solid var(--rand-licht)
}
.ons-doen-item svg{flex-shrink:0;margin-top:.1rem;color:var(--groen)}
.ons-doen-item strong{display:block;font-size:.88rem;font-weight:700;color:var(--tekst);margin-bottom:.2rem}
.ons-doen-item span{font-size:.8rem;color:var(--tekst-licht);line-height:1.4}

/* Acties onderaan */
.ons-acties{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  margin-top:2rem
}
@media(max-width:700px){.ons-acties{grid-template-columns:1fr}}
.ons-actie{
  background:#fff;border:1px solid var(--rand);
  border-radius:var(--r-lg);padding:1.375rem;
}
.ons-actie__icoon{
  width:44px;height:44px;border-radius:var(--r);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:.875rem;flex-shrink:0
}
.ons-actie__icoon--groen{background:var(--groen-lt);color:var(--groen)}
.ons-actie__icoon--amber{background:var(--amber-lt);color:var(--amber)}
.ons-actie__icoon--blauw{background:#e8f0fe;color:#1a73e8}
.ons-actie h3{font-family:var(--font-ui);font-size:.95rem;font-weight:700;color:var(--tekst);margin:0 0 .4rem}
.ons-actie p{font-size:.85rem;line-height:1.55;color:var(--tekst-licht);margin:0 0 1rem}
.ons-actie .btn{font-size:.82rem;padding:.5rem 1rem}

/* Zijbalk */
.ons-zij{display:flex;flex-direction:column;gap:1rem}
.ons-zij__kaart{
  background:#fff;border:1px solid var(--rand);
  border-radius:var(--r-lg);padding:1.25rem;overflow:hidden
}
.ons-zij__kaart--groen{
  background:var(--groen-lt);
  border-color:rgba(28,61,32,.12)
}
.ons-zij__kaart-hoofd{
  font-family:var(--font-ui);font-size:.7rem;font-weight:800;
  text-transform:uppercase;letter-spacing:.1em;
  color:var(--tekst-licht);margin-bottom:1rem;
  padding-bottom:.625rem;border-bottom:1px solid var(--rand)
}
.ons-zij__kaart--groen .ons-zij__kaart-hoofd{border-color:rgba(28,61,32,.15);color:var(--groen)}
.ons-zij__kaart p{font-size:.88rem;color:var(--tekst-mid);margin:0 0 .875rem;line-height:1.55}
.ons-zij__dl{margin:0 0 1rem;display:grid;gap:.5rem}
.ons-zij__dl dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--tekst-dim);font-weight:700}
.ons-zij__dl dd{margin:.1rem 0 .3rem;font-size:.9rem}
.ons-zij__dl dd a{color:var(--groen);text-decoration:none}
.ons-zij__dl dd a:hover{color:var(--amber)}

/* Social links zijbalk */
.ons-social{
  display:flex;align-items:center;gap:.625rem;
  padding:.6rem .875rem;border-radius:var(--r);
  font-family:var(--font-ui);font-size:.88rem;font-weight:600;
  text-decoration:none;margin-bottom:.5rem;transition:opacity .15s
}
.ons-social:last-of-type{margin-bottom:.875rem}
.ons-social--fb{background:#1877f2;color:#fff}
.ons-social--ig{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fd5949 45%,#d6249f 60%,#285aeb 90%);color:#fff}
.ons-social--mail{background:var(--groen);color:#fff}
.ons-social:hover{opacity:.88}

/* Meedoen lijst */
.ons-meedoen{list-style:none;padding:0;margin:0;display:grid;gap:.25rem}
.ons-meedoen li{
  display:flex;align-items:center;gap:.625rem;
  padding:.5rem 0;border-bottom:1px solid var(--rand-licht)
}
.ons-meedoen li:last-child{border-bottom:none}
.ons-meedoen li svg{color:var(--amber);flex-shrink:0}
.ons-meedoen li a{font-size:.88rem;color:var(--tekst-mid);text-decoration:none;font-weight:500}
.ons-meedoen li a:hover{color:var(--groen)}

/* Auteur foto in artikelen */
.artikel-meta__auteur-foto{
  width:24px;height:24px;border-radius:50%;
  object-fit:cover;object-position:center top;
  vertical-align:middle;margin-right:2px;
  border:1.5px solid var(--groen-lt)
}
.auteur-blok__foto{
  width:72px;height:72px;border-radius:50%;
  object-fit:cover;object-position:center top;
  border:3px solid var(--groen-lt);
  flex-shrink:0
}

/* ── Adverteren opties ──────────────────────────── */
.adverteren-opties{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;
  margin-bottom:1.5rem
}
@media(max-width:640px){.adverteren-opties{grid-template-columns:1fr}}
.adverteren-opties>div{
  background:var(--beige);border-radius:var(--r-lg);
  padding:1rem 1.125rem;
  border:1.5px solid var(--rand-licht)
}
.adverteren-opties strong{
  display:block;font-family:var(--font-ui);font-size:.88rem;
  font-weight:700;color:var(--tekst);margin-bottom:.25rem
}
.adverteren-opties span{
  font-family:var(--font-ui);font-size:.78rem;color:var(--tekst-dim)
}

/* ── Privacy pagina ──────────────────────────────── */
.sectie h2{
  font-family:var(--font-kop);font-size:1.3rem;font-weight:700;
  color:var(--groen-dk);margin:2rem 0 .75rem;
  padding-top:2rem;border-top:1px solid var(--rand-licht)
}
.sectie h2:first-of-type{border-top:none;padding-top:0;margin-top:0}
.sectie ul{
  padding-left:1.5rem;margin-bottom:1.2rem
}
.sectie ul li{margin-bottom:.4rem;font-family:var(--font-body);line-height:1.7}

/* ── Paginering ──────────────────────────────────── */
.deel-sectie{margin:1.75rem 0 0;padding:1.25rem 0;border-top:1px solid var(--rand-licht)}
.deel-label{
  font-family:var(--font-ui);font-size:.72rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.09em;
  color:var(--tekst-dim);display:block;margin-bottom:.75rem
}
.deel-knop--twitter{color:#000;border-color:rgba(0,0,0,.2)}
.deel-knop--twitter:hover{background:#000;color:#fff;border-color:#000}
.deel-knop--email{color:var(--groen);border-color:rgba(28,61,32,.3)}
.deel-knop--email:hover{background:var(--groen);color:#fff;border-color:var(--groen)}
.deel-knop--kopieer.gekopieerd{color:var(--groen);border-color:var(--groen);background:var(--groen-lt)}
.kopieer-tekst{transition:color .15s}

/* ── Print CSS ─────────────────────────────────────────── */
@media print{
  .topbar,.site-header,.site-footer,.artikel-zijbalk,
  .deel-sectie,.deel-knoppen,.auteur-blok,
  .gerelateerd,.insturen-blok,.breadcrumb,.cta-banner,
  .mobiel-nav,.menu-toggle,.skip-link,
  nav[aria-label="Paginapad"],
  .volg-ons,.nieuwsbrief-sectie{display:none!important}
  body{font-size:11pt;color:#000;background:#fff}
  .container{max-width:100%;padding:0}
  .artikel-layout{display:block}
  .artikel-header h1{font-size:20pt;margin-bottom:.5rem}
  .artikel-body{font-size:11pt;line-height:1.65}
  .artikel-hero img{max-height:220px;object-fit:cover;page-break-after:avoid}
  a[href]:after{content:" (" attr(href) ")";font-size:8pt;color:#666}
  .artikel-hero-caption__credit a:after{content:none}
  @page{margin:1.5cm 2cm}
}

/* ── Categorie navigatie ─────────────────────────────── */
.cat-nav__item{
  display:inline-flex;align-items:center;
  padding:.4rem .875rem;border-radius:100px;
  font-family:var(--font-ui);font-size:.8rem;font-weight:600;
  text-decoration:none;
  border:1.5px solid var(--rand-licht);
  background:var(--wit);color:var(--tekst-mid);
  transition:all .15s
}
.cat-nav__item:hover{border-color:var(--groen);color:var(--groen);background:var(--groen-lt)}
.cat-nav__item.actief{
  background:var(--groen);color:#fff;
  border-color:var(--groen)
}

/* ── Breaking news balk ──────────────────────────────── */

/* ── Gerelateerde berichten sectie ──────────────────── */
.gerelateerd-sectie{margin-top:2.5rem;padding-top:0;padding-bottom:1rem;border-top:none}
.gerelateerd-sectie__kop{
  font-family:var(--font-kop);
  font-size:1.25rem;
  font-weight:700;
  color:var(--tekst);
  margin-bottom:1.5rem;
  display:flex;align-items:center;gap:.625rem
}
.gerelateerd-sectie__kop::before{
  content:'';display:inline-block;width:4px;height:1.1em;flex-shrink:0;
  background:linear-gradient(to bottom,var(--amber),var(--amber-dk));
  border-radius:2px
}

/* Gerelateerde kaarten */
.rel-kaart{
  display:flex;
  flex-direction:column;
  border-radius:var(--r-xl);
  overflow:hidden;
  background:var(--wit);
  border:1px solid var(--rand-licht);
  text-decoration:none;
  color:inherit;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s;
  box-shadow:var(--scha-sm)
}
.rel-kaart:hover{
  transform:translateY(-3px);
  box-shadow:var(--scha);
  border-color:var(--rand)
}
.rel-kaart__img{
  height:140px;
  overflow:hidden;
  background:linear-gradient(160deg,#e8f2e9 0%,#f8f4ec 100%)
}
.rel-kaart__img img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .3s ease
}
.rel-kaart:hover .rel-kaart__img img{transform:scale(1.04)}
.rel-kaart__img-leeg{width:100%;height:100%;background:linear-gradient(160deg,var(--groen-lt) 0%,var(--beige-dk) 100%);display:flex;align-items:center;justify-content:center}
.rel-kaart__body{
  padding:1rem 1.125rem 1.25rem;
  display:flex;
  flex-direction:column;
  gap:.375rem;
  flex:1
}
.rel-kaart__cat{
  font-family:var(--font-ui);
  font-size:.68rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:var(--amber);
  display:block
}
.rel-kaart__kop{
  font-family:var(--font-kop);
  font-size:.95rem;
  font-weight:700;
  line-height:1.3;
  color:var(--tekst);
  margin:0
}
.rel-kaart__datum{
  font-family:var(--font-ui);
  font-size:.75rem;
  color:var(--tekst-dim);
  margin-top:auto;
  padding-top:.375rem
}

/* Gerelateerd grid responsive */
.gerelateerd-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem
}
@media(max-width:768px){.gerelateerd-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.gerelateerd-grid{grid-template-columns:1fr}}

/* ════════════════════════════════════════════════════════════
   WOW EFFECT — Scroll animaties & verfijnde interacties
   ════════════════════════════════════════════════════════════ */

/* ── Fade-in animaties ──────────────────────────────────── */
@keyframes fadeUp{
  from{opacity:0;transform:translateY(28px)}
  to{opacity:1;transform:none}
}
@keyframes fadeIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes slideInLeft{
  from{opacity:0;transform:translateX(-24px)}
  to{opacity:1;transform:none}
}
@keyframes scaleIn{
  from{opacity:0;transform:scale(.96)}
  to{opacity:1;transform:scale(1)}
}

[data-animeer]{
  opacity:0;transform:translateY(24px);
  transition:opacity .55s cubic-bezier(.25,.8,.25,1),
             transform .55s cubic-bezier(.25,.8,.25,1)
}
[data-animeer].zichtbaar{opacity:1;transform:none}
[data-animeer][data-delay="1"]{transition-delay:.1s}
[data-animeer][data-delay="2"]{transition-delay:.2s}
[data-animeer][data-delay="3"]{transition-delay:.3s}
[data-animeer][data-delay="4"]{transition-delay:.4s}
[data-animeer][data-delay="5"]{transition-delay:.5s}

/* ── Pagina hero verbeterd ──────────────────────────────── */

/* ── Nieuws-kaart verbeterd ─────────────────────────────── */

/* ── Agenda kaart verbeterd ─────────────────────────────── */

/* ── Sectie hero met glassmorphism overlay ──────────────── */
.wow-hero{
  position:relative;
  background:linear-gradient(135deg,var(--groen-dk) 0%,var(--groen) 60%,var(--groen-mid) 100%);
  padding:5rem 0 4rem;
  overflow:hidden
}
.wow-hero::before{
  content:'';position:absolute;
  top:-40%;right:-20%;
  width:600px;height:600px;
  background:radial-gradient(circle,rgba(200,132,26,.15) 0%,transparent 70%);
  pointer-events:none
}
.wow-hero::after{
  content:'';position:absolute;
  bottom:-30%;left:-10%;
  width:400px;height:400px;
  background:radial-gradient(circle,rgba(255,255,255,.04) 0%,transparent 70%);
  pointer-events:none
}
.wow-hero .container{position:relative;z-index:1}

/* ── Glass kaart ────────────────────────────────────────── */
.glass-kaart{
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.15);
  border-radius:var(--r-xl)
}

/* ── Stat badge ─────────────────────────────────────────── */
.stat-rij{
  display:flex;flex-wrap:wrap;
  gap:2rem;margin-top:2.5rem
}

/* ── Nieuwskaart groot (featured) ───────────────────────── */
.kaart-groot{
  position:relative;border-radius:var(--r-xl);
  overflow:hidden;text-decoration:none;color:inherit;
  display:block;box-shadow:var(--scha-lg);
  transition:transform .3s cubic-bezier(.25,.8,.25,1),box-shadow .3s
}
.kaart-groot:hover{transform:translateY(-4px);box-shadow:0 20px 60px rgba(28,61,32,.2)}
.kaart-groot__img{
  aspect-ratio:16/7;
  overflow:hidden
}
.kaart-groot__img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .5s cubic-bezier(.25,.8,.25,1)
}
.kaart-groot:hover .kaart-groot__img img{transform:scale(1.04)}
.kaart-groot__overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(22,47,25,.9) 0%,rgba(22,47,25,.4) 50%,transparent 100%)
}
.kaart-groot__body{
  position:absolute;bottom:0;left:0;right:0;
  padding:2rem 2rem 1.75rem
}
.kaart-groot__cat{
  font-family:var(--font-ui);font-size:.68rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.12em;color:var(--amber);
  margin-bottom:.625rem;display:block
}
.kaart-groot__kop{
  font-family:var(--font-kop);font-size:clamp(1.2rem,2.5vw,1.6rem);
  font-weight:700;color:#fff;line-height:1.2;margin-bottom:.75rem
}
.kaart-groot__meta{
  font-family:var(--font-ui);font-size:.75rem;
  color:rgba(255,255,255,.6);
  display:flex;align-items:center;gap:.5rem
}

/* ── Ondernemer kaart verbeterd ─────────────────────────── */
.ond-kaart-pro{
  background:var(--wit);border-radius:var(--r-xl);
  overflow:hidden;
  border:1px solid var(--rand-licht);
  box-shadow:var(--scha-sm);
  display:flex;flex-direction:column;
  text-decoration:none;color:inherit;
  transition:transform .3s cubic-bezier(.25,.8,.25,1),
             box-shadow .3s,border-color .3s
}
.ond-kaart-pro:hover{
  transform:translateY(-5px);
  box-shadow:0 16px 48px rgba(28,61,32,.14);
  border-color:var(--groen-lt)
}
.ond-kaart-pro__img{
  aspect-ratio:3/2;overflow:hidden;
  background:linear-gradient(135deg,var(--groen-lt),var(--beige))
}
.ond-kaart-pro__img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .4s cubic-bezier(.25,.8,.25,1)
}
.ond-kaart-pro:hover .ond-kaart-pro__img img{transform:scale(1.05)}
.ond-kaart-pro__placeholder{
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-kop);font-size:3rem;font-weight:700;
  color:var(--groen-lt);letter-spacing:-.05em
}
.ond-kaart-pro__body{padding:1.25rem 1.375rem 1.5rem;flex:1;display:flex;flex-direction:column}
.ond-kaart-pro__cat{
  font-family:var(--font-ui);font-size:.65rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.1em;color:var(--amber);
  margin-bottom:.375rem
}
.ond-kaart-pro__naam{
  font-family:var(--font-kop);font-size:1.05rem;font-weight:700;
  color:var(--tekst);margin-bottom:.375rem;line-height:1.25
}
.ond-kaart-pro__desc{
  font-family:var(--font-body);font-size:.82rem;
  color:var(--tekst-licht);line-height:1.55;flex:1
}
.ond-kaart-pro__footer{
  margin-top:.875rem;padding-top:.875rem;
  border-top:1px solid var(--rand-licht);
  font-family:var(--font-ui);font-size:.75rem;
  color:var(--tekst-dim);display:flex;align-items:center;gap:.375rem
}
.ond-kaart-pro__badge{
  display:inline-block;
  background:linear-gradient(135deg,var(--amber),var(--amber-dk));
  color:#fff;font-size:.6rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;
  padding:.2rem .5rem;border-radius:100px
}

/* ── Zoek resultaten verbeterd ──────────────────────────── */
.zoek-resultaat{
  display:flex;gap:1.25rem;
  background:var(--wit);
  border:1px solid var(--rand-licht);
  border-radius:var(--r-xl);
  overflow:hidden;
  text-decoration:none;color:inherit;
  transition:transform .25s,box-shadow .25s,border-color .25s
}
.zoek-resultaat:hover{
  transform:translateX(4px);
  box-shadow:var(--scha);
  border-color:var(--groen-lt)
}
.zoek-resultaat__img{
  width:120px;flex-shrink:0;overflow:hidden
}
.zoek-resultaat__img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .3s
}
.zoek-resultaat:hover .zoek-resultaat__img img{transform:scale(1.05)}
.zoek-resultaat__body{padding:1rem 1rem 1rem 0;display:flex;flex-direction:column;justify-content:center;gap:.375rem}
.zoek-resultaat__label{
  font-family:var(--font-ui);font-size:.65rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.1em;color:var(--amber)
}
.zoek-resultaat__titel{
  font-family:var(--font-kop);font-size:1rem;font-weight:700;
  color:var(--tekst);line-height:1.3
}
.zoek-resultaat__meta{
  font-family:var(--font-ui);font-size:.75rem;color:var(--tekst-dim)
}

/* ── Stap hero voor detail pagina's ─────────────────────── */
.detail-hero{
  background:linear-gradient(135deg,var(--groen-dk) 0%,var(--groen) 100%);
  padding:3rem 0 2.5rem;
  position:relative;overflow:hidden
}
.detail-hero::before{
  content:'';position:absolute;inset:0;opacity:.4;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E");
  pointer-events:none
}
.detail-hero .container{position:relative;z-index:1}

/* ── Categorie label badge ──────────────────────────────── */
.kern-badge{
  display:inline-flex;align-items:center;gap:.35rem;
  padding:.25rem .75rem;border-radius:100px;
  font-family:var(--font-ui);font-size:.7rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.2);
  color:rgba(255,255,255,.85)
}

/* ═══════════════════════════════════════════════════════════════
   WOW EFFECT — Scroll animaties, glassmorphism, editorial polish
   ═══════════════════════════════════════════════════════════════ */

/* ── Animatie keyframes ────────────────────────────────────────── */
@keyframes n-fadeUp  {from{opacity:0;transform:translateY(32px)} to{opacity:1;transform:none}}
@keyframes n-fadeIn  {from{opacity:0} to{opacity:1}}
@keyframes n-scaleIn {from{opacity:0;transform:scale(.94)} to{opacity:1;transform:scale(1)}}
@keyframes n-slideR  {from{opacity:0;transform:translateX(-20px)} to{opacity:1;transform:none}}
@keyframes n-shimmer {0%,100%{opacity:.6} 50%{opacity:1}}

/* Scroll-triggered animaties via IntersectionObserver + .zichtbaar */
[data-animeer]{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .6s cubic-bezier(.22,1,.36,1),
             transform .6s cubic-bezier(.22,1,.36,1)
}
[data-animeer].zichtbaar{opacity:1;transform:none}
[data-animeer][data-d="1"]{transition-delay:.08s}
[data-animeer][data-d="2"]{transition-delay:.16s}
[data-animeer][data-d="3"]{transition-delay:.24s}
[data-animeer][data-d="4"]{transition-delay:.32s}
[data-animeer][data-d="5"]{transition-delay:.40s}

/* ── Pagina hero – volledig vernieuwd ──────────────────────────── */
.pagina-hero{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,#0f2411 0%,var(--groen) 55%,#2d6b35 100%);
  padding:clamp(3rem,6vw,5rem) 0 clamp(2.5rem,5vw,4rem)
}
.pagina-hero::before{
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(ellipse 80% 50% at 70% 40%,rgba(200,132,26,.12) 0%,transparent 70%),
    url("data:image/svg+xml,%3Csvg width='80' height='80' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cpattern id='g' width='80' height='80' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='40' cy='40' r='1' fill='%23ffffff' fill-opacity='.04'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='80' height='80' fill='url(%23g)'/%3E%3C/svg%3E");
  pointer-events:none
}
.pagina-hero::after{
  content:'';position:absolute;bottom:0;left:0;right:0;
  height:80px;
  background:linear-gradient(to bottom,transparent,rgba(15,36,17,.25));
  pointer-events:none
}
.pagina-hero .container{position:relative;z-index:2}
.pagina-hero nav{
  display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;
  font-family:var(--font-ui);font-size:.75rem;
  margin-bottom:1.25rem;
  animation:n-fadeIn .5s both
}
.pagina-hero nav a{color:rgba(255,255,255,.55);transition:color .15s}
.pagina-hero nav a:hover{color:rgba(255,255,255,.9)}
.pagina-hero nav span{color:rgba(255,255,255,.25)}
.pagina-hero h1{
  font-family:var(--font-kop);
  font-size:clamp(2rem,5vw,3.2rem);
  font-weight:700;color:#fff;
  line-height:1.1;letter-spacing:-.025em;
  margin-bottom:.75rem;
  animation:n-fadeUp .6s cubic-bezier(.22,1,.36,1) .05s both
}
.pagina-hero p{
  color:rgba(255,255,255,.68);font-family:var(--font-body);
  font-size:1rem;max-width:520px;line-height:1.6;
  animation:n-fadeUp .6s cubic-bezier(.22,1,.36,1) .12s both
}

/* ── kop-accent span ── */
.kop-accent{
  display:inline-block;
  width:4px;height:1.1em;
  background:linear-gradient(to bottom,var(--amber),var(--amber-dk));
  border-radius:2px;flex-shrink:0;vertical-align:middle;margin-right:.625rem
}

/* ── Nieuws kaart – verfijnd ──────────────────────────────────── */

/* Homepage gebruikt a als wrapper binnen nieuws-kaart */
.nieuws-kaart>a{
  display:flex;flex-direction:column;flex:1;
  text-decoration:none;color:inherit
}
.nieuws-kaart{
  background:var(--wit);
  border-radius:var(--r-xl);
  border:1px solid var(--rand-licht);
  overflow:hidden;display:flex;flex-direction:column;
  position:relative;
  box-shadow:0 2px 8px rgba(28,61,32,.07);
  transition:transform .35s cubic-bezier(.22,1,.36,1),
             box-shadow .35s cubic-bezier(.22,1,.36,1),
             border-color .25s
}
.nieuws-kaart:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 36px rgba(28,61,32,.14);
  border-color:rgba(28,61,32,.14);
  z-index:1;position:relative
}
.kaart__afbeelding{aspect-ratio:16/9;overflow:hidden;position:relative}
.kaart__afbeelding img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s cubic-bezier(.22,1,.36,1)
}
.nieuws-kaart:hover .kaart__afbeelding img{transform:scale(1.06)}
.kaart__inhoud{padding:1.125rem 1.375rem 1.375rem;display:flex;flex-direction:column;flex:1;gap:.5rem}
.kaart__kop{
  font-family:var(--font-kop);font-size:1rem;font-weight:700;
  line-height:1.3;color:var(--tekst);
  transition:color .15s;display:-webkit-box;
  -webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden
}
.nieuws-kaart:hover .kaart__kop{color:var(--groen-mid)}
.kaart__intro{
  font-family:var(--font-body);font-size:.84rem;color:var(--tekst-licht);
  line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;
  -webkit-box-orient:vertical;overflow:hidden;flex:1
}
.kaart__meta{
  display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;
  font-family:var(--font-ui);font-size:.72rem;color:var(--tekst-dim);
  margin-top:auto;padding-top:.625rem;
  border-top:1px solid var(--rand-licht)
}
.kaart__meta-sep{opacity:.3}

/* ── Uitgelicht kaart (groot / featured) ─────────────────────── */
.kaart-uitgelicht{
  position:relative;border-radius:var(--r-xl);overflow:hidden;
  display:block;text-decoration:none;
  box-shadow:0 8px 32px rgba(28,61,32,.18);
  transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s
}
.kaart-uitgelicht:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 60px rgba(28,61,32,.25)
}
.kaart-uitgelicht__img{aspect-ratio:16/7;overflow:hidden}
.kaart-uitgelicht__img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .6s cubic-bezier(.22,1,.36,1)
}
.kaart-uitgelicht:hover .kaart-uitgelicht__img img{transform:scale(1.04)}
.kaart-uitgelicht__overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(10,25,12,.92) 0%,rgba(10,25,12,.45) 45%,transparent 80%)
}
.kaart-uitgelicht__body{
  position:absolute;bottom:0;left:0;right:0;
  padding:clamp(1.25rem,3vw,2.5rem)
}
.kaart-uitgelicht__label{
  display:inline-flex;align-items:center;gap:.375rem;
  padding:.25rem .75rem;border-radius:100px;
  font-family:var(--font-ui);font-size:.62rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.1em;
  background:var(--amber);color:#fff;margin-bottom:.875rem
}
.kaart-uitgelicht__kop{
  font-family:var(--font-kop);font-weight:700;color:#fff;
  font-size:clamp(1.2rem,3vw,1.8rem);line-height:1.2;
  margin-bottom:.75rem;
  text-shadow:0 2px 12px rgba(0,0,0,.3)
}
.kaart-uitgelicht__meta{
  font-family:var(--font-ui);font-size:.75rem;
  color:rgba(255,255,255,.6);
  display:flex;align-items:center;gap:.5rem
}

/* ── Agenda kaart – verfijnd ──────────────────────────────────── */
.ond-kaart{
  background:var(--wit);border-radius:var(--r-xl);
  border:1px solid var(--rand-licht);overflow:hidden;
  display:flex;flex-direction:column;
  text-decoration:none;color:inherit;
  box-shadow:0 2px 8px rgba(28,61,32,.07);
  transition:transform .35s cubic-bezier(.22,1,.36,1),
             box-shadow .35s,border-color .2s
}
.ond-kaart:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 50px rgba(28,61,32,.16);
  border-color:rgba(28,61,32,.14)
}
.ond-kaart__img{
  aspect-ratio:3/2;overflow:hidden;
  background:linear-gradient(135deg,var(--groen-lt) 0%,var(--beige-dk) 100%)
}
.ond-kaart__img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .5s cubic-bezier(.22,1,.36,1)
}
.ond-kaart:hover .ond-kaart__img img{transform:scale(1.06)}
.ond-kaart__initial{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-kop);font-size:3.5rem;font-weight:700;
  color:rgba(28,61,32,.15);letter-spacing:-.05em
}
.ond-kaart__body{padding:1.25rem 1.375rem 1.5rem;flex:1;display:flex;flex-direction:column;gap:.375rem}
.ond-kaart__sector{
  font-family:var(--font-ui);font-size:.65rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.1em;color:var(--amber)
}
.ond-kaart__naam{
  font-family:var(--font-kop);font-size:1.05rem;font-weight:700;
  color:var(--tekst);line-height:1.25
}
.ond-kaart__desc{
  font-family:var(--font-body);font-size:.82rem;color:var(--tekst-licht);
  line-height:1.55;flex:1
}
.ond-kaart__lokatie{
  margin-top:.625rem;padding-top:.625rem;
  border-top:1px solid var(--rand-licht);
  font-family:var(--font-ui);font-size:.72rem;color:var(--tekst-dim);
  display:flex;align-items:center;gap:.35rem
}
.ond-kaart__premium{
  display:inline-block;
  background:linear-gradient(135deg,var(--amber),var(--amber-dk));
  color:#fff;font-family:var(--font-ui);font-size:.58rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.09em;
  padding:.2rem .55rem;border-radius:100px;
  margin-bottom:.375rem
}

/* ── Zoekresultaat kaart ──────────────────────────────────────── */
.zoek-kaart{
  display:flex;gap:0;background:var(--wit);
  border:1px solid var(--rand-licht);border-radius:var(--r-xl);
  overflow:hidden;text-decoration:none;color:inherit;
  box-shadow:0 2px 8px rgba(28,61,32,.06);
  transition:transform .25s cubic-bezier(.22,1,.36,1),
             box-shadow .25s,border-color .2s
}
.zoek-kaart:hover{
  transform:translateX(5px);
  box-shadow:0 8px 28px rgba(28,61,32,.13);
  border-color:rgba(28,61,32,.14)
}
.zoek-kaart__img{
  width:130px;flex-shrink:0;overflow:hidden;
  background:linear-gradient(135deg,var(--groen-lt),var(--beige-dk))
}
.zoek-kaart__img img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.zoek-kaart:hover .zoek-kaart__img img{transform:scale(1.05)}
.zoek-kaart__body{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.3rem;justify-content:center}
.zoek-kaart__type{font-family:var(--font-ui);font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--amber)}
.zoek-kaart__titel{font-family:var(--font-kop);font-size:1rem;font-weight:700;color:var(--tekst);line-height:1.3;transition:color .15s}
.zoek-kaart:hover .zoek-kaart__titel{color:var(--groen-mid)}
.zoek-kaart__intro{font-family:var(--font-body);font-size:.82rem;color:var(--tekst-licht);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.zoek-kaart__meta{font-family:var(--font-ui);font-size:.72rem;color:var(--tekst-dim)}

/* ── Insturen blokken ──────────────────────────────────────────── */
.insturen-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.insturen-blok{
  background:var(--wit);border-radius:var(--r-xl);
  border:1.5px solid var(--rand-licht);padding:1.5rem 1.375rem;
  display:flex;flex-direction:column;
  text-decoration:none;color:inherit;
  transition:transform .3s cubic-bezier(.22,1,.36,1),
             box-shadow .3s,border-color .2s
}
.insturen-blok:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 36px rgba(28,61,32,.12);
  border-color:var(--groen-lt)
}
.insturen-blok__icon{
  width:44px;height:44px;margin-bottom:1rem;border-radius:var(--r-lg);
  display:flex;align-items:center;justify-content:center;
  background:var(--groen-lt)
}
.insturen-blok h3{font-family:var(--font-kop);font-size:1rem;font-weight:700;margin-bottom:.5rem;color:var(--tekst)}
.insturen-blok p{font-family:var(--font-body);font-size:.84rem;color:var(--tekst-licht);flex:1;line-height:1.6}
.insturen-blok__pijl{
  margin-top:1rem;font-family:var(--font-ui);font-size:.78rem;
  font-weight:700;color:var(--groen-mid);
  display:flex;align-items:center;gap:.375rem;transition:gap .2s
}
.insturen-blok:hover .insturen-blok__pijl{gap:.625rem}

/* ── Statistieken / tellers ───────────────────────────────────── */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1.5rem}
.stat-item{text-align:center}
.stat-item__n{
  font-family:var(--font-kop);font-size:2.5rem;font-weight:700;
  color:var(--groen);display:block;line-height:1
}
.stat-item__l{
  font-family:var(--font-ui);font-size:.72rem;font-weight:600;
  color:var(--tekst-dim);text-transform:uppercase;letter-spacing:.08em;
  display:block;margin-top:.375rem
}

/* ── Team kaart ──────────────────────────────────────────────── */
.team-kaart{
  background:var(--wit);border-radius:var(--r-xl);
  border:1px solid var(--rand-licht);overflow:hidden;
  text-align:center;padding:2rem 1.5rem 1.75rem;
  box-shadow:0 2px 8px rgba(28,61,32,.07);
  transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s
}
.team-kaart:hover{transform:translateY(-4px);box-shadow:0 14px 40px rgba(28,61,32,.14)}
.team-kaart__foto{
  width:80px;height:80px;border-radius:50%;overflow:hidden;
  margin:0 auto 1rem;border:3px solid var(--groen-lt);
  background:linear-gradient(135deg,var(--groen-lt),var(--beige-dk))
}
.team-kaart__foto img{width:100%;height:100%;object-fit:cover;object-position:top}
.team-kaart__initiaal{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-kop);font-size:2rem;font-weight:700;color:var(--groen)
}
.team-kaart__naam{font-family:var(--font-kop);font-size:1.05rem;font-weight:700;margin-bottom:.25rem}
.team-kaart__rol{font-family:var(--font-ui);font-size:.75rem;color:var(--tekst-dim);text-transform:uppercase;letter-spacing:.07em}

/* ── Lege staat ──────────────────────────────────────────────── */
.empty-state{
  text-align:center;padding:5rem 1rem;
  display:flex;flex-direction:column;align-items:center;gap:.875rem
}
.empty-state svg{color:var(--tekst-dim);opacity:.35;margin-bottom:.25rem}
.empty-state h3{font-family:var(--font-kop);font-size:1.3rem;font-weight:700;color:var(--tekst-mid)}
.empty-state p{font-family:var(--font-body);font-size:.9rem;color:var(--tekst-dim);max-width:380px;line-height:1.65}

/* ── Formulieren ─────────────────────────────────────────────── */
.veld{display:flex;flex-direction:column;gap:.375rem}
.veld label{font-family:var(--font-ui);font-size:.78rem;font-weight:700;color:var(--tekst-mid)}
.veld-input{
  padding:.625rem .9rem;
  border:2px solid var(--rand);
  border-radius:var(--r-lg);
  font-family:var(--font-ui);font-size:.9rem;
  outline:none;transition:border-color .2s,box-shadow .2s;
  background:var(--wit);color:var(--tekst);width:100%
}
.veld-input:focus{border-color:var(--groen);box-shadow:0 0 0 3px rgba(28,61,32,.08)}
.veld-hint{font-family:var(--font-ui);font-size:.72rem;color:var(--tekst-dim)}
.veld textarea.veld-input{resize:vertical;min-height:130px}

/* ── Breaking news ─────────────────────────────────────────── */
.breaking-balk{
  background:linear-gradient(90deg,#a91c1c 0%,#c53030 100%);
  padding:.5rem 0;position:relative;z-index:200
}
.breaking-balk__inner{display:flex;align-items:center;gap:.875rem}
.breaking-balk__label{
  display:inline-flex;align-items:center;gap:.375rem;
  background:rgba(0,0,0,.25);color:#fff;
  font-family:var(--font-ui);font-size:.65rem;font-weight:800;
  text-transform:uppercase;letter-spacing:.1em;
  padding:.2rem .65rem;border-radius:3px;flex-shrink:0
}
.breaking-balk__link{
  font-family:var(--font-ui);font-size:.84rem;font-weight:600;
  color:#fff;text-decoration:none;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;
  transition:opacity .15s
}
.breaking-balk__link:hover{opacity:.85}

/* ── Paginering ──────────────────────────────────────────────── */
.pagination{
  display:flex;align-items:center;justify-content:center;
  gap:.375rem;margin-top:3rem;flex-wrap:wrap
}
.pagination a,.pagination span{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:40px;height:40px;padding:0 .75rem;
  border-radius:var(--r-lg);font-family:var(--font-ui);font-size:.85rem;font-weight:600;
  border:1.5px solid var(--rand);background:var(--wit);
  text-decoration:none;color:var(--tekst-mid);
  transition:all .15s
}
.pagination a:hover{border-color:var(--groen);color:var(--groen);background:var(--groen-lt)}
.pagination .actief{background:var(--groen);color:#fff;border-color:var(--groen)}
.pagination .dots{border:none;background:none;color:var(--tekst-dim)}

/* ── Responsief ─────────────────────────────────────────────── */
@media(max-width:768px){.insturen-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){
  .insturen-grid{grid-template-columns:1fr}
  .zoek-kaart__img{width:90px}
  .agenda-kaart__datum{min-width:60px}
}

/* ══════════════════════════════════════════════════════════
   PAGINA HEADERS — uniforme opbouw voor alle publieke pagina's
   ══════════════════════════════════════════════════════════ */

/* Vaste .page-header stijl voor alle publieke pagina's (niet homepage) */
.page-header{
  background:linear-gradient(135deg,#0f2411 0%,var(--groen) 55%,#2d6b35 100%);
  padding:clamp(2.5rem,5vw,4rem) 0 clamp(2rem,4vw,3rem);
  position:relative;overflow:hidden
}
.page-header::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:
    radial-gradient(ellipse 70% 60% at 75% 30%,rgba(200,132,26,.1),transparent),
    url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cpattern id='p' width='60' height='60' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='30' cy='30' r='.8' fill='%23ffffff' fill-opacity='.04'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='60' height='60' fill='url(%23p)'/%3E%3C/svg%3E")
}
.page-header .container{position:relative;z-index:1}
.page-header .breadcrumb{margin-bottom:1rem;animation:n-fadeIn .4s both}
.page-header .breadcrumb a{color:rgba(255,255,255,.55)}
.page-header .breadcrumb a:hover{color:rgba(255,255,255,.9)}
.page-header .breadcrumb span{color:rgba(255,255,255,.25)}

.page-eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--font-ui);font-size:.7rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.12em;
  color:var(--amber);margin-bottom:.625rem;display:block;
  animation:n-fadeIn .4s .05s both
}
/* Page-eyebrow in page-header (wit) */
.page-header .page-eyebrow{color:rgba(255,255,255,.55)}

.page-title{
  font-family:var(--font-kop);
  font-size:clamp(1.85rem,5vw,2.9rem);
  font-weight:700;color:#fff;
  line-height:1.1;letter-spacing:-.02em;
  margin-bottom:.75rem;
  animation:n-fadeUp .55s .08s cubic-bezier(.22,1,.36,1) both
}
/* Page-title buiten page-header */
section:not(.page-header) .page-title,
.sectie .page-title{
  color:var(--tekst);
}

.page-intro{
  color:rgba(255,255,255,.7);font-family:var(--font-body);
  font-size:1rem;line-height:1.65;max-width:560px;
  animation:n-fadeUp .55s .15s cubic-bezier(.22,1,.36,1) both
}
/* Page-intro buiten header */
section:not(.page-header) .page-intro{color:var(--tekst-mid)}

.page-actions{
  display:flex;gap:.75rem;flex-wrap:wrap;
  margin-top:1.5rem;
  animation:n-fadeUp .55s .22s cubic-bezier(.22,1,.36,1) both
}

/* Filter strip */
.filter-strip{
  display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;
  margin-bottom:2.25rem
}
.filter-chip--wis{color:var(--rood)!important;border-color:rgba(197,48,48,.3)!important}
.filter-chip--wis:hover{background:var(--rood-lt)!important;color:var(--rood)!important}

/* Badge advertorial */
.badge-advertorial{
  background:var(--amber-lt);color:var(--amber-dk);
  border:1px solid rgba(200,132,26,.2)
}

/* Kaart badges rij */
.kaart__badges{display:flex;gap:.375rem;flex-wrap:wrap;margin-bottom:.5rem}

/* ══════════════════════════════════════════════════════════
   OVER ONS PAGINA — Diana variant
   ══════════════════════════════════════════════════════════ */

.ov-hero{
  background:linear-gradient(135deg,#0a1a0c 0%,var(--groen) 50%,#1e5228 100%);
  padding:clamp(3.5rem,7vw,6rem) 0 clamp(3rem,5vw,5rem);
  position:relative;overflow:hidden
}
.ov-hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:
    radial-gradient(ellipse 50% 80% at 85% 20%,rgba(200,132,26,.13),transparent),
    radial-gradient(ellipse 40% 60% at 10% 80%,rgba(28,61,32,.4),transparent)
}
.ov-hero .container{position:relative;z-index:1}
.ov-hero__inner{
  display:grid;grid-template-columns:1fr 1fr;
  gap:4rem;align-items:center
}
@media(max-width:768px){
  .ov-hero__inner{grid-template-columns:1fr;gap:2.5rem}
}
.ov-hero__tekst{color:#fff}
.ov-hero__kop{
  font-family:var(--font-kop);
  font-size:clamp(2rem,5vw,3.25rem);
  font-weight:700;color:#fff;
  line-height:1.1;letter-spacing:-.025em;
  margin-bottom:1.125rem
}
.ov-hero__intro{
  color:rgba(255,255,255,.72);
  font-family:var(--font-body);
  font-size:1.05rem;line-height:1.7;
  max-width:480px;margin-bottom:2rem
}
.ov-hero__acties{display:flex;gap:.875rem;flex-wrap:wrap}

/* Diana kaart in hero */
.ov-diana-kaart{
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.16);
  border-radius:var(--r-xl);
  padding:1.5rem;
  display:flex;gap:1.25rem;align-items:flex-start;
  margin-bottom:1.25rem;
  transition:background .2s
}
.ov-diana-kaart:hover{background:rgba(255,255,255,.12)}
.ov-diana-kaart__foto-wrap{
  position:relative;flex-shrink:0
}
.ov-diana-kaart__foto{
  width:72px;height:72px;border-radius:50%;
  object-fit:cover;object-position:center top;
  border:3px solid rgba(255,255,255,.25);
  display:block
}
.ov-diana-kaart__initiaal{
  width:72px;height:72px;border-radius:50%;
  background:var(--groen-mid);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-kop);font-size:2rem;font-weight:700;color:#fff
}
.ov-diana-kaart__online-dot{
  position:absolute;bottom:2px;right:2px;
  width:14px;height:14px;border-radius:50%;
  background:#22c55e;border:2.5px solid rgba(22,47,25,.9)
}
.ov-diana-kaart__info{display:flex;flex-direction:column;gap:.25rem}
.ov-diana-kaart__naam{font-family:var(--font-kop);font-size:1.05rem;font-weight:700;color:#fff}
.ov-diana-kaart__rol{font-family:var(--font-ui);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--amber)}
.ov-diana-kaart__artikelen{font-family:var(--font-ui);font-size:.75rem;color:rgba(255,255,255,.5)}
.ov-diana-kaart__link{
  font-family:var(--font-ui);font-size:.78rem;font-weight:600;
  color:rgba(255,255,255,.75);text-decoration:none;margin-top:.25rem;
  transition:color .15s
}
.ov-diana-kaart__link:hover{color:#fff}

/* Stats blok hero */
.ov-stats{
  display:grid;grid-template-columns:1fr 1fr;gap:1rem
}
.ov-stat{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r-xl);
  padding:1.25rem;text-align:center
}
.ov-stat__n{
  font-family:var(--font-kop);font-size:2.25rem;
  font-weight:700;color:#fff;line-height:1;display:block
}
.ov-stat__l{
  font-family:var(--font-ui);font-size:.68rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.08em;
  color:rgba(255,255,255,.45);display:block;margin-top:.375rem
}

/* Missie sectie */
.ov-missie-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start
}
@media(max-width:768px){.ov-missie-grid{grid-template-columns:1fr;gap:2rem}}

.ov-sectie-label{
  font-family:var(--font-ui);font-size:.7rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.12em;color:var(--amber);
  display:block;margin-bottom:.5rem
}
.ov-sectie-kop{
  font-family:var(--font-kop);font-size:clamp(1.5rem,3vw,2.1rem);
  font-weight:700;color:var(--tekst);line-height:1.2;margin-bottom:1.25rem
}

.ov-kenmerken{display:flex;flex-direction:column;gap:1rem}
.ov-kenmerk{
  display:flex;gap:1rem;align-items:flex-start;
  background:var(--wit);border:1px solid var(--rand-licht);
  border-radius:var(--r-xl);padding:1.125rem 1.25rem;
  box-shadow:0 2px 8px rgba(28,61,32,.05);
  transition:transform .25s,box-shadow .25s
}
.ov-kenmerk:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(28,61,32,.1)}
.ov-kenmerk__icon{font-size:1.375rem;flex-shrink:0;margin-top:.1rem}
.ov-kenmerk__titel{font-family:var(--font-kop);font-size:.95rem;font-weight:700;display:block;margin-bottom:.25rem}
.ov-kenmerk__tekst{font-family:var(--font-body);font-size:.82rem;color:var(--tekst-licht);line-height:1.6}

/* Redactie grid */
.ov-red-header{text-align:center;margin-bottom:2.5rem}
.ov-red-header p{font-family:var(--font-body);color:var(--tekst-mid);margin-top:.75rem}
.ov-redactie-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.25rem
}
.ov-red-kaart{
  background:var(--wit);border:1.5px solid var(--rand-licht);
  border-radius:var(--r-xl);padding:1.75rem 1.25rem 1.5rem;
  text-align:center;position:relative;
  box-shadow:0 2px 8px rgba(28,61,32,.05);
  transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .2s
}
.ov-red-kaart:hover{transform:translateY(-4px);box-shadow:0 14px 40px rgba(28,61,32,.12);border-color:var(--groen-lt)}
.ov-red-kaart--uitgelicht{
  border-color:var(--amber);
  background:linear-gradient(160deg,var(--wit) 60%,var(--amber-lt) 100%)
}
.ov-red-kaart--uitgelicht:hover{border-color:var(--amber-dk);box-shadow:0 14px 40px rgba(200,132,26,.2)}
.ov-red-kaart__ster{
  position:absolute;top:.875rem;right:.875rem;
  color:var(--amber);font-size:1rem
}
.ov-red-kaart__foto{
  width:80px;height:80px;border-radius:50%;overflow:hidden;
  margin:0 auto 1rem;
  border:3px solid var(--groen-lt);
  background:linear-gradient(135deg,var(--groen-lt),var(--beige-dk))
}
.ov-red-kaart--uitgelicht .ov-red-kaart__foto{border-color:var(--amber)}
.ov-red-kaart__foto img{width:100%;height:100%;object-fit:cover;object-position:center top}
.ov-red-kaart__initiaal{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-kop);font-size:2.25rem;font-weight:700;color:var(--groen)
}
.ov-red-kaart__naam{font-family:var(--font-kop);font-size:1rem;font-weight:700;display:block;margin-bottom:.25rem}
.ov-red-kaart__rol{font-family:var(--font-ui);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--tekst-dim);display:block}
.ov-red-kaart__count{font-family:var(--font-ui);font-size:.75rem;color:var(--tekst-dim);display:block;margin-top:.375rem}
.ov-red-kaart__link{
  display:inline-block;margin-top:.875rem;
  font-family:var(--font-ui);font-size:.78rem;font-weight:600;
  color:var(--groen);text-decoration:none;transition:color .15s
}
.ov-red-kaart__link:hover{color:var(--groen-mid)}

/* CTA balk */
.ov-cta{
  background:linear-gradient(135deg,var(--groen-dk) 0%,var(--groen) 100%);
  border-radius:var(--r-xl);padding:clamp(2rem,4vw,3rem) clamp(1.5rem,4vw,3rem);
  display:flex;gap:2rem;align-items:center;
  justify-content:space-between;flex-wrap:wrap;
  position:relative;overflow:hidden
}
.ov-cta::before{
  content:'';position:absolute;top:-30%;right:-10%;
  width:400px;height:400px;
  background:radial-gradient(circle,rgba(200,132,26,.1),transparent 70%);
  pointer-events:none
}
.ov-cta__kop{font-family:var(--font-kop);font-size:clamp(1.25rem,3vw,1.75rem);font-weight:700;color:#fff;margin-bottom:.5rem}
.ov-cta__tekst{font-family:var(--font-body);color:rgba(255,255,255,.7);font-size:.9rem;max-width:440px}
.ov-cta__acties{display:flex;gap:.75rem;flex-wrap:wrap;flex-shrink:0}

/* ═══════════════════════════════════════════════════════════
   MOBIEL
   ═══════════════════════════════════════════════════════════ */
@media(max-width:768px){
  .page-header{padding:2rem 0 1.75rem}
  .page-title{font-size:1.75rem}
  .page-intro{font-size:.9rem}
  .page-actions{flex-direction:column}
  .page-actions .btn{width:100%;justify-content:center}
  .ov-cta{flex-direction:column;gap:1.5rem}
  .ov-cta__acties{width:100%;flex-direction:column}
  .ov-cta__acties .btn{width:100%;justify-content:center}
  .ov-stats{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .filter-strip{gap:.375rem}
  .filter-chip{padding:.35rem .7rem;font-size:.72rem}
  .ov-stats{grid-template-columns:1fr 1fr}
  .ov-stat{padding:.875rem .75rem}
  .ov-stat__n{font-size:1.75rem}
  .ov-hero__kop{font-size:1.85rem}
}

/* ═══════════════════════════════════════════════════════════
   AGENDA — filterbalk, maandgroepen, kaarten
   ═══════════════════════════════════════════════════════════ */

.agenda-filterbalk{
  background:var(--wit);
  border-bottom:1px solid var(--rand-licht);
  position:sticky;top:0;z-index:40;
  box-shadow:0 2px 12px rgba(28,61,32,.06)
}
.agenda-filterbalk__form{
  display:flex;align-items:center;flex-wrap:wrap;
  gap:.625rem;padding:.875rem 0
}
.agenda-filterbalk__zoek{
  position:relative;display:flex;align-items:center;flex:1;min-width:180px
}
.agenda-filterbalk__zoek svg{
  position:absolute;left:.875rem;pointer-events:none;color:var(--tekst-dim)
}
.agenda-filterbalk__zoek input{
  width:100%;padding:.5rem .875rem .5rem 2.375rem;
  border:1.5px solid var(--rand);border-radius:var(--r-xl);
  font-family:var(--font-ui);font-size:.84rem;outline:none;
  transition:border-color .15s;background:var(--wit)
}
.agenda-filterbalk__zoek input:focus{border-color:var(--groen)}
.agenda-filterbalk__form select{
  padding:.5rem .875rem;border:1.5px solid var(--rand);
  border-radius:var(--r-xl);font-family:var(--font-ui);
  font-size:.84rem;background:var(--wit);cursor:pointer;
  outline:none;height:37px;transition:border-color .15s
}
.agenda-filterbalk__form select:focus{border-color:var(--groen)}

/* Maandgroep */
.agenda-maand-groep{margin-bottom:3rem}
.agenda-maand-kop{
  display:flex;align-items:center;gap:1rem;
  margin-bottom:1.25rem
}
.agenda-maand-kop__lijn{
  width:4px;height:1.5rem;flex-shrink:0;
  background:linear-gradient(to bottom,var(--amber),var(--amber-dk));
  border-radius:2px
}
.agenda-maand-kop__naam{
  font-family:var(--font-kop);font-size:1.25rem;font-weight:700;color:var(--tekst)
}
.agenda-maand-kop__count{
  font-family:var(--font-ui);font-size:.75rem;color:var(--tekst-dim);
  background:var(--beige-dk);padding:.2rem .625rem;border-radius:100px
}

/* Agenda lijst */
.agenda-lijst{display:flex;flex-direction:column;gap:.5rem}

/* Agenda kaart — beschikbaar als .agenda-kaart */
.agenda-kaart{
  background:var(--wit);
  border-radius:var(--r-xl);
  border:1.5px solid var(--rand-licht);
  display:flex;overflow:hidden;
  text-decoration:none;color:inherit;
  box-shadow:0 1px 4px rgba(28,61,32,.05);
  transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .2s
}
.agenda-kaart:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 24px rgba(28,61,32,.12);
  border-color:rgba(28,61,32,.15)
}
.agenda-kaart__datum{
  display:flex;flex-direction:column;align-items:center;
  justify-content:center;text-align:center;
  background:linear-gradient(160deg,var(--groen) 0%,#2d6b35 100%);
  color:#fff;min-width:70px;flex-shrink:0;
  padding:.875rem .5rem
}
.agenda-kaart__dag{
  font-family:var(--font-kop);font-size:1.875rem;font-weight:700;line-height:1
}
.agenda-kaart__maand{
  font-family:var(--font-ui);font-size:.58rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.1em;opacity:.7;margin-top:3px
}
.agenda-kaart__inhoud{
  padding:.875rem 1rem;flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem
}
.agenda-kaart__cat{
  font-family:var(--font-ui);font-size:.62rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;color:var(--amber)
}
.agenda-kaart__titel{
  font-family:var(--font-kop);font-size:.95rem;font-weight:700;
  color:var(--tekst);line-height:1.3;transition:color .15s;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
}
.agenda-kaart:hover .agenda-kaart__titel{color:var(--groen-mid)}
.agenda-kaart__info{
  font-family:var(--font-ui);font-size:.72rem;color:var(--tekst-dim);
  display:flex;align-items:center;gap:.3rem;flex-wrap:wrap;margin-top:.1rem
}
.agenda-kaart__info svg{width:10px;height:10px;flex-shrink:0}
.agenda-info-sep{opacity:.3}
.agenda-kaart__prijs{color:var(--amber);font-weight:700}
.agenda-kaart__omschrijving{
  font-family:var(--font-body);font-size:.8rem;color:var(--tekst-licht);
  line-height:1.5;margin-top:.2rem;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden
}
.agenda-kaart__pijl{
  display:flex;align-items:center;
  padding:.875rem .75rem .875rem 0;
  color:var(--tekst-dim);transition:color .15s,transform .2s
}
.agenda-kaart:hover .agenda-kaart__pijl{color:var(--groen);transform:translateX(3px)}

/* Mobiel agenda */
@media(max-width:640px){
  .agenda-filterbalk__form{flex-direction:column;align-items:stretch}
  .agenda-filterbalk__zoek{min-width:unset}
  .agenda-filterbalk__form select{width:100%}
  .agenda-kaart__datum{min-width:58px;padding:.75rem .4rem}
  .agenda-kaart__dag{font-size:1.5rem}
  .agenda-kaart__inhoud{padding:.75rem .875rem}
}

/* ═══════════════════════════════════════════════════════════
   AGENDA DETAIL PAGINA
   ═══════════════════════════════════════════════════════════ */

.agd-breadcrumb{
  background:var(--beige);
  border-bottom:1px solid var(--rand-licht);
  padding:.75rem 0
}

/* Hero foto */
.agd-hero-foto{
  position:relative;
  overflow:hidden;
  max-height:480px;
  background:var(--groen-dk)
}
.agd-hero-foto__img{
  width:100%;height:100%;
  object-fit:cover;display:block;
  max-height:480px
}
.agd-hero-foto__overlay{
  position:absolute;inset:0;
  background:linear-gradient(to bottom,transparent 50%,rgba(10,25,12,.4))
}
.agd-hero-foto__credit{
  position:absolute;bottom:.75rem;right:.875rem;
  font-family:var(--font-ui);font-size:.65rem;
  color:rgba(255,255,255,.65);
  background:rgba(0,0,0,.35);
  padding:.2rem .625rem;border-radius:100px
}

/* Layout */
.agd-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:3rem;align-items:start
}
@media(max-width:900px){
  .agd-layout{grid-template-columns:1fr;gap:2rem}
  .agd-zijbalk{order:-1}
}

/* Titel */
.agd-titel{
  font-family:var(--font-kop);
  font-size:clamp(1.75rem,4vw,2.5rem);
  font-weight:700;line-height:1.15;
  color:var(--tekst);margin-bottom:1.25rem
}

/* Meta rij */
.agd-meta{
  display:flex;align-items:center;
  flex-wrap:wrap;gap:.5rem 1.25rem;
  margin-bottom:1rem
}
.agd-meta__item{
  display:flex;align-items:center;gap:.4rem;
  font-family:var(--font-ui);font-size:.84rem;
  color:var(--tekst-mid)
}
.agd-meta__item--datum{
  font-weight:700;color:var(--groen)
}
.agd-meta__item svg{flex-shrink:0;color:var(--groen)}
.agd-meta__lijn{
  border:none;border-top:1px solid var(--rand-licht);
  margin:1rem 0 1.5rem
}

/* Intro */
.agd-intro{
  font-family:var(--font-body);font-size:1.1rem;
  line-height:1.75;color:var(--tekst-mid);
  margin-bottom:1.75rem;
  border-left:3px solid var(--amber);
  padding-left:1.125rem
}

/* Praktische informatie kaart */
.agd-info-kaart{
  background:var(--groen-lt);
  border:1px solid rgba(28,61,32,.12);
  border-radius:var(--r-xl);
  overflow:hidden;
  margin:2rem 0
}
.agd-info-kaart__kop{
  display:flex;align-items:center;gap:.5rem;
  background:var(--groen);color:#fff;
  font-family:var(--font-ui);font-size:.72rem;
  font-weight:700;text-transform:uppercase;letter-spacing:.1em;
  padding:.875rem 1.375rem
}
.agd-info-kaart__rijen{padding:.25rem 0}
.agd-info-rij{
  display:grid;grid-template-columns:110px 1fr;
  gap:.5rem;padding:.75rem 1.375rem;
  border-bottom:1px solid rgba(28,61,32,.07)
}
.agd-info-rij:last-child{border-bottom:none}
.agd-info-rij dt{
  font-family:var(--font-ui);font-size:.78rem;
  font-weight:700;color:var(--groen)
}
.agd-info-rij dd{
  font-family:var(--font-ui);font-size:.88rem;
  color:var(--tekst);line-height:1.5
}
.agd-info-adres{font-size:.78rem;color:var(--tekst-licht)}
.agd-info-maps{
  font-size:.75rem;color:var(--groen-mid);
  text-decoration:none;font-weight:600
}
.agd-info-maps:hover{text-decoration:underline}
.agd-info-gratis{color:var(--groen);font-weight:700}
.agd-info-betaald{color:var(--amber-dk);font-weight:700}
.agd-info-link{color:var(--groen-mid);text-decoration:none;font-size:.84rem}
.agd-info-link:hover{text-decoration:underline}

/* Extra foto's */
.agd-fotos{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:.75rem;margin:2rem 0
}
.agd-foto-item{margin:0}
.agd-foto-item img{
  width:100%;aspect-ratio:4/3;
  object-fit:cover;border-radius:var(--r-lg);
  display:block
}
.agd-foto-item figcaption{
  font-family:var(--font-ui);font-size:.7rem;
  color:var(--tekst-dim);margin-top:.25rem
}

/* Deel knoppen */
.agd-deel{
  display:flex;align-items:center;
  gap:1rem;flex-wrap:wrap;
  padding:1.375rem 0;
  border-top:1px solid var(--rand-licht);
  border-bottom:1px solid var(--rand-licht);
  margin:2rem 0
}
.agd-deel__label{
  font-family:var(--font-ui);font-size:.72rem;
  font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:var(--tekst-dim)
}
.agd-deel__knoppen{display:flex;gap:.625rem}

/* Gerelateerde activiteiten */
.agd-gerelateerd{margin-top:2.5rem}
.agd-gerelateerd__kop{
  font-family:var(--font-kop);font-size:1.25rem;
  font-weight:700;color:var(--tekst);
  margin-bottom:1.25rem;
  padding-bottom:.875rem;
  border-bottom:2px solid var(--rand-licht)
}
.agd-gerelateerd__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1rem
}
@media(max-width:640px){.agd-gerelateerd__grid{grid-template-columns:1fr 1fr}}

.agd-rel-kaart{
  border-radius:var(--r-xl);border:1px solid var(--rand-licht);
  overflow:hidden;display:flex;flex-direction:column;
  text-decoration:none;color:inherit;
  background:var(--wit);
  box-shadow:0 1px 4px rgba(28,61,32,.05);
  transition:transform .25s,box-shadow .25s,border-color .2s
}
.agd-rel-kaart:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 24px rgba(28,61,32,.12);
  border-color:rgba(28,61,32,.12)
}
.agd-rel-kaart__img{
  aspect-ratio:3/2;overflow:hidden;background:var(--groen-lt)
}
.agd-rel-kaart__img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .35s
}
.agd-rel-kaart:hover .agd-rel-kaart__img img{transform:scale(1.05)}
.agd-rel-kaart__img--leeg{
  display:flex;align-items:center;justify-content:center
}
.agd-rel-kaart__body{padding:.875rem;display:flex;flex-direction:column;gap:.25rem}
.agd-rel-kaart__datum{
  font-family:var(--font-ui);font-size:.68rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;color:var(--amber)
}
.agd-rel-kaart__titel{
  font-family:var(--font-kop);font-size:.88rem;font-weight:700;
  color:var(--tekst);line-height:1.3
}
.agd-rel-kaart__loc{
  font-family:var(--font-ui);font-size:.72rem;color:var(--tekst-dim)
}

/* Zijbalk */
.agd-zijbalk{
  position:sticky;top:1.5rem;
  display:flex;flex-direction:column;gap:.875rem
}
.agd-zijblok{
  background:var(--wit);border:1px solid var(--rand-licht);
  border-radius:var(--r-xl);padding:1.375rem;
  box-shadow:0 2px 8px rgba(28,61,32,.06)
}
.agd-zijblok--primair{
  background:linear-gradient(160deg,var(--groen-lt) 0%,var(--wit) 100%);
  border-color:rgba(28,61,32,.12)
}
.agd-zijblok__icon{
  width:40px;height:40px;border-radius:var(--r-lg);
  background:var(--groen);display:flex;align-items:center;
  justify-content:center;margin-bottom:.875rem
}
.agd-zijblok__icon svg{color:#fff}
.agd-zijblok h3{
  font-family:var(--font-kop);font-size:1rem;font-weight:700;
  margin-bottom:.5rem
}
.agd-zijblok p{font-family:var(--font-body);font-size:.82rem;color:var(--tekst-mid);margin-bottom:1rem;line-height:1.6}

/* Datum groot in zijbalk */
.agd-zijblok__datum-groot{text-align:center;padding:.5rem 0}
.agd-zijblok__dag{
  font-family:var(--font-kop);font-size:3.5rem;font-weight:700;
  color:var(--groen);line-height:1;display:block
}
.agd-zijblok__maand{
  font-family:var(--font-ui);font-size:.8rem;font-weight:600;
  color:var(--tekst-mid);display:block;margin-top:.25rem
}
.agd-zijblok__tijd{
  text-align:center;font-family:var(--font-ui);font-size:.84rem;
  color:var(--tekst-mid);margin-top:.75rem;
  padding-top:.75rem;border-top:1px solid var(--rand-licht)
}
.agd-zijblok--link{
  display:flex;align-items:center;gap:.5rem;
  text-decoration:none;color:var(--groen-mid);
  font-family:var(--font-ui);font-size:.84rem;font-weight:600;
  transition:color .15s
}
.agd-zijblok--link:hover{color:var(--groen)}

/* Mobiel aanpassingen */
@media(max-width:640px){
  .agd-info-rij{grid-template-columns:90px 1fr}
  .agd-deel{flex-direction:column;align-items:flex-start;gap:.75rem}
  .agd-hero-foto{max-height:280px}
  .agd-hero-foto__img{max-height:280px}
}

/* ═══════════════════════════════════════════════════════════
   AUTEUR PAGINA
   ═══════════════════════════════════════════════════════════ */

.auteur-hero{
  display:flex;align-items:center;gap:1.5rem;
  margin-top:1.375rem;flex-wrap:wrap
}
.auteur-hero__foto{
  width:90px;height:90px;border-radius:50%;overflow:hidden;
  flex-shrink:0;
  border:3px solid rgba(255,255,255,.25);
  background:var(--groen-mid)
}
.auteur-hero__foto img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.auteur-hero__initiaal{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  font-family:var(--font-kop);font-size:2.5rem;font-weight:700;color:#fff
}
.auteur-hero__info{flex:1;min-width:200px}
.auteur-hero__naam{
  font-family:var(--font-kop);font-size:clamp(1.5rem,4vw,2.25rem);
  font-weight:700;color:#fff;line-height:1.15;margin-bottom:.375rem
}
.auteur-hero__rol{
  font-family:var(--font-ui);font-size:.84rem;
  color:rgba(255,255,255,.6);margin-bottom:.5rem
}
.auteur-hero__mail{
  font-family:var(--font-ui);font-size:.8rem;
  color:rgba(255,255,255,.55);text-decoration:none;
  transition:color .15s
}
.auteur-hero__mail:hover{color:rgba(255,255,255,.9)}

@media(max-width:480px){
  .auteur-hero{gap:1rem}
  .auteur-hero__foto{width:72px;height:72px}
}

/* ═══════════════════════════════════════════════════════════
   ARTIKEL INFO BLOK — voor agenda praktische informatie
   (zelfde stijl als de rest van artikel-body)
   ═══════════════════════════════════════════════════════════ */
.artikel-info-blok{
  background:var(--groen-lt);
  border:1px solid rgba(28,61,32,.12);
  border-radius:var(--r-xl);
  overflow:hidden;
  margin:2rem 0
}
.artikel-info-blok__kop{
  display:flex;align-items:center;gap:.5rem;
  background:var(--groen);color:#fff;
  font-family:var(--font-ui);font-size:.72rem;
  font-weight:700;text-transform:uppercase;letter-spacing:.1em;
  padding:.875rem 1.375rem
}
.artikel-info-blok__dl{padding:.25rem 0}
.artikel-info-blok__rij{
  display:grid;grid-template-columns:110px 1fr;
  gap:.5rem;padding:.75rem 1.375rem;
  border-bottom:1px solid rgba(28,61,32,.07)
}
.artikel-info-blok__rij:last-child{border-bottom:none}
.artikel-info-blok__rij dt{
  font-family:var(--font-ui);font-size:.78rem;
  font-weight:700;color:var(--groen)
}
.artikel-info-blok__rij dd{
  font-family:var(--font-ui);font-size:.9rem;
  color:var(--tekst);line-height:1.55
}
@media(max-width:480px){
  .artikel-info-blok__rij{grid-template-columns:85px 1fr}
}

/* ── Correctie balk in artikel/agenda detail ─── */
.artikel-correctie{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:.5rem;
  padding:.875rem 1.125rem;
  background:var(--beige);border-radius:var(--r-lg);
  margin:1.75rem 0;font-family:var(--font-ui)
}
.artikel-correctie span{font-size:.78rem;color:var(--tekst-dim)}
.artikel-correctie a{font-size:.78rem;font-weight:600;color:var(--groen);text-decoration:none}
.artikel-correctie a:hover{text-decoration:underline}

/* ════════════════════════════════════════════════════════
   AGENDA DETAIL — Impactvolle hero sectie
   ════════════════════════════════════════════════════════ */

.agd-hero{
  background:linear-gradient(135deg,#0a1a0c 0%,var(--groen) 55%,#2d6b35 100%);
  position:relative;overflow:hidden;
  padding:2.5rem 0 3rem
}
/* Subtiel patroon op de achtergrond */
.agd-hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:
    radial-gradient(ellipse 60% 80% at 90% 20%,rgba(200,132,26,.12),transparent),
    url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cpattern id='p' width='60' height='60' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='30' cy='30' r='.8' fill='%23ffffff' fill-opacity='.04'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='60' height='60' fill='url(%23p)'/%3E%3C/svg%3E")
}

/* Met foto: overlay over de afbeelding */
.agd-hero--foto{padding:0}
.agd-hero--foto::before{display:none}
.agd-hero__bg-img{
  position:absolute;inset:0;
}
.agd-hero__bg-img img{
  width:100%;height:100%;object-fit:cover;
  filter:brightness(.35) saturate(.8)
}
.agd-hero__overlay{
  position:absolute;inset:0;
  background:linear-gradient(to right,rgba(10,26,12,.85) 0%,rgba(10,26,12,.6) 60%,transparent 100%)
}
.agd-hero--foto .container{
  position:relative;z-index:1;
  padding-top:2.5rem;padding-bottom:3rem
}

/* Breadcrumb wit op hero */
.agd-hero__breadcrumb{margin-bottom:2rem}
.agd-hero__breadcrumb a{color:rgba(255,255,255,.5)!important}
.agd-hero__breadcrumb a:hover{color:rgba(255,255,255,.9)!important}
.agd-hero__breadcrumb span{color:rgba(255,255,255,.25)!important}

/* Hoofd inner: datum-blok naast tekst */
.agd-hero__inner{
  display:flex;align-items:flex-start;gap:2.5rem
}

/* Datumblok links */
.agd-hero__datum-blok{
  flex-shrink:0;
  background:rgba(255,255,255,.1);
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.15);
  border-radius:var(--r-xl);
  padding:1.25rem 1.375rem;
  text-align:center;min-width:90px
}
.agd-hero__dag{
  font-family:var(--font-kop);font-size:3rem;
  font-weight:700;color:#fff;
  line-height:1;display:block
}
.agd-hero__maand{
  font-family:var(--font-ui);font-size:.72rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.1em;
  color:var(--amber);display:block;margin-top:.25rem
}
.agd-hero__jaar{
  font-family:var(--font-ui);font-size:.72rem;
  color:rgba(255,255,255,.45);display:block;margin-top:.1rem
}

/* Tekst rechts */
.agd-hero__tekst{flex:1;min-width:0}
.agd-hero__cat{
  display:inline-flex;align-items:center;
  padding:.3rem .875rem;border-radius:100px;
  background:var(--amber);color:#fff;
  font-family:var(--font-ui);font-size:.68rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.1em;
  text-decoration:none;margin-bottom:1rem;
  transition:background .15s
}
.agd-hero__cat:hover{background:var(--amber-dk)}
.agd-hero__titel{
  font-family:var(--font-kop);
  font-size:clamp(1.75rem,4vw,2.75rem);
  font-weight:700;color:#fff;
  line-height:1.15;letter-spacing:-.02em;
  margin-bottom:1.25rem
}
.agd-hero__meta{
  display:flex;flex-wrap:wrap;gap:.625rem .5rem;
  align-items:center
}
.agd-hero__meta-item{
  display:inline-flex;align-items:center;gap:.4rem;
  font-family:var(--font-ui);font-size:.84rem;
  color:rgba(255,255,255,.8);
  padding:.3rem .75rem;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  border-radius:100px
}
.agd-hero__meta-item svg{flex-shrink:0;opacity:.7}
.agd-hero__meta-item--gratis{
  background:rgba(34,197,94,.15);
  border-color:rgba(34,197,94,.3);
  color:rgba(134,239,172,.9)
}
.agd-hero__meta-item--betaald{
  background:rgba(200,132,26,.15);
  border-color:rgba(200,132,26,.3);
  color:rgba(252,211,77,.9)
}

/* Mobiel */
@media(max-width:600px){
  .agd-hero__inner{flex-direction:column;gap:1.25rem}
  .agd-hero__datum-blok{
    display:flex;align-items:center;gap:.875rem;
    padding:.875rem 1.125rem;min-width:unset;width:fit-content
  }
  .agd-hero__dag{font-size:2.25rem}
  .agd-hero__maand,.agd-hero__jaar{display:inline}
  .agd-hero__titel{font-size:1.6rem}
  .agd-hero__meta{gap:.5rem}
}
