/*
Theme Name: Vraag het Bert
Theme URI: https://vraaghetbert.nl
Author: Vraag het Bert
Author URI: https://vraaghetbert.nl
Description: Compleet thema voor vraaghetbert.nl — administratie, BTW en aangiftes, met de maandrapportage als bewijsstuk. Blauwe huisstijl, geen page builder nodig, geen externe afhankelijkheden behalve de webfonts (uit te zetten).
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vraag-het-bert
Tags: business, one-column, custom-menu, custom-logo, blog, editor-style
*/

/*
 * Vraag het Bert — concept homepage
 * Alle regels staan binnen .vhb en gebruiken vhb-* klassen, zodat er niets
 * botst met je thema. Kleuren zitten in de variabelen hieronder: pas die aan
 * en de hele pagina verandert mee.
 */

.vhb {
  /* --- huisstijl: blauw --- */
  --vhb-paper:      #F4F7F9;
  --vhb-surface:    #FFFFFF;
  --vhb-surface-2:  #E8EEF3;
  --vhb-ink:        #15212B;
  --vhb-ink-soft:   #46586A;
  --vhb-ink-faint:  #78889A;
  --vhb-rule:       #D6DEE6;
  --vhb-rule-soft:  #E5EBF0;
  --vhb-accent:     #14577D;
  --vhb-accent-ink: #0E4160;
  --vhb-accent-wash:#E1EDF5;
  --vhb-ochre:      #8A6A0B;
  --vhb-ochre-wash: #F3EBD3;
  --vhb-shadow-sm:  0 1px 2px rgba(21, 33, 43, .06);
  --vhb-shadow-md:  0 2px 14px rgba(21, 33, 43, .09);

  --vhb-display: "Fraunces", "Iowan Old Style", Georgia, serif;
  --vhb-body: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
  --vhb-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  background: var(--vhb-paper);
  color: var(--vhb-ink);
  font-family: var(--vhb-body);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

.vhb *,
.vhb *::before,
.vhb *::after { box-sizing: border-box; }

.vhb img { max-width: 100%; height: auto; }

/* ---------------- typografie ---------------- */
.vhb .vhb-h1,
.vhb .vhb-h2,
.vhb .vhb-h3,
.vhb .vhb-h4 { text-wrap: balance; }

.vhb .vhb-h1 {
  font-family: var(--vhb-display); font-weight: 600;
  font-size: clamp(2.5rem, 6.4vw, 4.15rem); line-height: 1.02;
  letter-spacing: -.026em; margin: 0 0 1.1rem; color: var(--vhb-ink);
}
.vhb .vhb-h2 {
  font-family: var(--vhb-display); font-weight: 600;
  font-size: clamp(1.75rem, 3.6vw, 2.4rem); line-height: 1.12;
  letter-spacing: -.02em; margin: 0 0 .9rem; color: var(--vhb-ink);
}
.vhb .vhb-h3 {
  font-family: var(--vhb-body); font-weight: 600; font-size: 1.06rem;
  letter-spacing: -.005em; margin: 0 0 .35rem; color: var(--vhb-ink); line-height: 1.35;
}
.vhb .vhb-h4 {
  font-family: var(--vhb-mono); font-weight: 500; font-size: .68rem;
  letter-spacing: .11em; text-transform: uppercase; color: var(--vhb-ink-faint);
  margin: 0 0 .6rem;
}

.vhb .vhb-band p,
.vhb .vhb-inner p,
.vhb .vhb-footin p { margin: 0 0 1.05rem; }

.vhb .vhb-kicker {
  font-family: var(--vhb-mono); font-size: .71rem; font-weight: 500;
  letter-spacing: .13em; text-transform: uppercase; color: var(--vhb-accent);
  display: block; margin-bottom: .8rem;
}
.vhb .vhb-lead { font-size: 1.16rem; color: var(--vhb-ink-soft); max-width: 34rem; }
.vhb .vhb-measure { max-width: 38rem; }
.vhb .vhb-note { font-size: .9rem; color: var(--vhb-ink-faint); margin: 0; }
.vhb .vhb-flush { margin-bottom: 0 !important; }

.vhb a { color: var(--vhb-accent-ink); text-underline-offset: 2px; }
.vhb a:focus-visible,
.vhb button:focus-visible { outline: 2px solid var(--vhb-accent); outline-offset: 3px; border-radius: 2px; }

/* ---------------- knoppen ---------------- */
.vhb .vhb-btn {
  display: inline-block; font-family: var(--vhb-body); font-weight: 500; font-size: .97rem;
  line-height: 1.4; padding: .72rem 1.25rem; border-radius: 2px; text-decoration: none;
  border: 1px solid var(--vhb-accent); cursor: pointer;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.vhb .vhb-btn--primary { background: var(--vhb-accent); color: #FFFFFF; }
.vhb .vhb-btn--primary:hover,
.vhb .vhb-btn--primary:focus { background: var(--vhb-accent-ink); border-color: var(--vhb-accent-ink); color: #FFFFFF; }
.vhb .vhb-btn--ghost { background: transparent; color: var(--vhb-accent-ink); }
.vhb .vhb-btn--ghost:hover,
.vhb .vhb-btn--ghost:focus { background: var(--vhb-accent-wash); }
.vhb .vhb-btnrow { display: flex; flex-wrap: wrap; gap: .7rem; align-items: center; margin-bottom: .9rem; }

/* ---------------- opbouw ---------------- */
.vhb .vhb-band { border-top: 1px solid var(--vhb-rule); }
.vhb .vhb-band--alt { background: var(--vhb-surface); }
.vhb .vhb-band--first { border-top: 0; }
.vhb .vhb-inner { max-width: 66rem; margin: 0 auto; padding: 4.2rem 1.5rem; }
.vhb .vhb-inner--tight { padding-top: 3rem; padding-bottom: 3rem; }

/* ---------------- header ---------------- */
.vhb .vhb-header {
  position: sticky; top: 0; z-index: 30;
  background: var(--vhb-paper); border-bottom: 1px solid var(--vhb-rule);
}
.vhb .vhb-navbar {
  max-width: 66rem; margin: 0 auto; padding: .8rem 1.5rem;
  display: flex; align-items: center; gap: 1.4rem;
}
.vhb .vhb-brand {
  display: flex; align-items: center; gap: .55rem;
  text-decoration: none; color: var(--vhb-ink); margin-right: auto;
}
.vhb .vhb-mark {
  width: 1.85rem; height: 1.85rem; border-radius: 50%; background: var(--vhb-accent);
  color: #FFFFFF; display: grid; place-items: center; flex: none;
  font-family: var(--vhb-display); font-weight: 600; font-size: 1rem;
}
.vhb .vhb-wm { font-family: var(--vhb-display); font-weight: 600; font-size: 1.06rem; letter-spacing: -.01em; }
.vhb .vhb-nav { display: flex; gap: 1.15rem; align-items: center; }
.vhb .vhb-navlink { font-size: .92rem; color: var(--vhb-ink-soft); text-decoration: none; }
.vhb .vhb-navlink:hover { color: var(--vhb-accent); }
.vhb .vhb-nav .vhb-btn { font-size: .88rem; padding: .48rem .85rem; }
@media (max-width: 860px) { .vhb .vhb-hide-sm { display: none; } }

/* ---------------- hero ---------------- */
.vhb .vhb-hero { display: grid; gap: 2.6rem; align-items: start; }
@media (min-width: 900px) { .vhb .vhb-hero { grid-template-columns: 1.06fr .94fr; gap: 3.2rem; } }

/* maandoverzicht-kaart */
.vhb .vhb-report {
  background: var(--vhb-surface); border: 1px solid var(--vhb-rule);
  border-radius: 4px; box-shadow: var(--vhb-shadow-md); overflow: hidden;
}
.vhb .vhb-rhead {
  display: flex; align-items: baseline; gap: .6rem;
  padding: .85rem 1.1rem; border-bottom: 1px solid var(--vhb-rule-soft);
}
.vhb .vhb-co { font-weight: 600; font-size: .95rem; }
.vhb .vhb-per { font-family: var(--vhb-mono); font-size: .72rem; color: var(--vhb-ink-faint); margin-left: auto; }
.vhb .vhb-report table { width: 100%; border-collapse: collapse; margin: 0; border: 0; }
.vhb .vhb-report td {
  padding: .6rem 1.1rem; border: 0; border-bottom: 1px solid var(--vhb-rule-soft);
  font-size: .95rem; background: transparent;
}
.vhb .vhb-report td.vhb-numcell {
  text-align: right; font-family: var(--vhb-mono); font-variant-numeric: tabular-nums;
}
.vhb .vhb-report td.vhb-delta {
  text-align: right; font-family: var(--vhb-mono); font-size: .82rem; width: 5.6rem;
}
.vhb .vhb-report td.vhb-delta--down { color: var(--vhb-ochre); }
.vhb .vhb-report td.vhb-delta--up { color: var(--vhb-accent); }
.vhb .vhb-rnote { padding: .95rem 1.1rem 1.05rem; background: var(--vhb-accent-wash); }
.vhb .vhb-who {
  font-family: var(--vhb-mono); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase;
  color: var(--vhb-accent-ink); display: block; margin-bottom: .3rem;
}
.vhb .vhb-rnote p { margin: 0 !important; font-size: .93rem; color: var(--vhb-ink); }
.vhb .vhb-figlabel {
  font-family: var(--vhb-mono); font-size: .68rem; color: var(--vhb-ink-faint);
  margin: .55rem 0 0 !important; text-align: right;
}

/* ---------------- getallen ---------------- */
.vhb .vhb-nums { display: grid; gap: 1.6rem; }
@media (min-width: 700px) { .vhb .vhb-nums { grid-template-columns: repeat(3, 1fr); gap: 2rem; } }
.vhb .vhb-statn {
  font-family: var(--vhb-display); font-weight: 500; font-size: 2.5rem;
  line-height: 1; letter-spacing: -.02em;
}
.vhb .vhb-statn small { font-family: var(--vhb-body); font-size: .95rem; font-weight: 500; letter-spacing: 0; }
.vhb .vhb-stat p { margin: .45rem 0 0 !important; font-size: .96rem; color: var(--vhb-ink-soft); }

/* ---------------- drie kolommen ---------------- */
.vhb .vhb-three { display: grid; gap: 1.6rem; }
@media (min-width: 780px) { .vhb .vhb-three { grid-template-columns: repeat(3, 1fr); gap: 2rem; } }
.vhb .vhb-item p { margin: 0 !important; color: var(--vhb-ink-soft); font-size: .98rem; }
.vhb .vhb-idx {
  font-family: var(--vhb-mono); font-size: .72rem; color: var(--vhb-accent);
  display: block; margin-bottom: .45rem;
}

/* ---------------- pakketten ---------------- */
.vhb .vhb-pkgs { display: grid; gap: 1rem; }
@media (min-width: 860px) { .vhb .vhb-pkgs { grid-template-columns: repeat(3, 1fr); } }
.vhb .vhb-pkg {
  background: var(--vhb-surface); border: 1px solid var(--vhb-rule); border-radius: 4px;
  padding: 1.35rem 1.3rem; box-shadow: var(--vhb-shadow-sm);
  display: flex; flex-direction: column; gap: .7rem;
}
.vhb .vhb-pkg--featured { border-color: var(--vhb-accent); box-shadow: var(--vhb-shadow-md); }
.vhb .vhb-pfor {
  font-family: var(--vhb-mono); font-size: .68rem; letter-spacing: .1em;
  text-transform: uppercase; color: var(--vhb-accent);
}
.vhb .vhb-pname {
  font-family: var(--vhb-display); font-weight: 600; font-size: 1.5rem;
  letter-spacing: -.015em; line-height: 1.1;
}
.vhb .vhb-plist { margin: 0; padding-left: 1.1rem; font-size: .95rem; color: var(--vhb-ink-soft); list-style: disc; }
.vhb .vhb-plist li { margin-bottom: .35rem; }
.vhb .vhb-price {
  margin-top: auto; padding-top: .8rem; border-top: 1px solid var(--vhb-rule-soft);
  display: flex; align-items: baseline; gap: .4rem;
}
.vhb .vhb-priceamt {
  font-family: var(--vhb-mono); font-weight: 500; font-size: 1.5rem;
  font-variant-numeric: tabular-nums; color: var(--vhb-ink);
}
.vhb .vhb-priceunit { font-size: .85rem; color: var(--vhb-ink-faint); }

/* ---------------- tekening ---------------- */
.vhb .vhb-figure { margin: 2rem 0 0; }
.vhb .vhb-figframe { overflow-x: auto; }
.vhb .vhb-figframe svg { display: block; width: 100%; min-width: 33rem; height: auto; }
.vhb .vhb-figcap { font-size: .88rem; color: var(--vhb-ink-faint); margin-top: .7rem; }

/* ---------------- stappen ---------------- */
.vhb .vhb-steps { display: grid; gap: 1.1rem; }
.vhb .vhb-step {
  display: grid; grid-template-columns: 2.2rem 1fr; gap: 0 1rem;
  border-top: 1px solid var(--vhb-rule-soft); padding-top: 1rem;
}
.vhb .vhb-step:first-child { border-top: 0; padding-top: 0; }
.vhb .vhb-sn { font-family: var(--vhb-mono); font-size: .85rem; color: var(--vhb-accent); padding-top: .2rem; }
.vhb .vhb-step p { margin: .1rem 0 0 !important; color: var(--vhb-ink-soft); font-size: .98rem; }
.vhb .vhb-stepwho {
  font-family: var(--vhb-mono); font-size: .7rem; color: var(--vhb-ink-faint);
  display: block; margin-top: .3rem;
}

/* ---------------- vertrouwenslijst ---------------- */
.vhb .vhb-trust { list-style: none; margin: 0; padding: 0; display: grid; gap: .85rem; max-width: 40rem; }
.vhb .vhb-trust li {
  display: grid; grid-template-columns: 1.1rem 1fr; gap: .7rem;
  font-size: .99rem; color: var(--vhb-ink-soft); margin: 0;
}
.vhb .vhb-trust li::before {
  content: "—"; font-family: var(--vhb-mono); color: var(--vhb-accent); line-height: 1.55;
}
.vhb .vhb-trust b { color: var(--vhb-ink); font-weight: 600; }

/* ---------------- over ---------------- */
.vhb .vhb-about { display: grid; gap: 2rem; align-items: start; }
@media (min-width: 840px) { .vhb .vhb-about { grid-template-columns: 15rem 1fr; gap: 2.8rem; } }
.vhb .vhb-photo {
  aspect-ratio: 4 / 5; border: 1px dashed var(--vhb-rule); border-radius: 4px;
  background: var(--vhb-surface-2); display: grid; place-items: center;
  padding: 1.2rem; text-align: center;
}
.vhb .vhb-photo span { font-family: var(--vhb-mono); font-size: .72rem; color: var(--vhb-ink-faint); line-height: 1.6; }
.vhb .vhb-photo img { border-radius: 4px; }
.vhb .vhb-quote {
  margin: 1.4rem 0 0; border-left: 2px solid var(--vhb-accent); padding: 0 0 0 1.1rem;
  font-family: var(--vhb-display); font-weight: 400; font-size: 1.2rem;
  line-height: 1.4; color: var(--vhb-ink); background: transparent; quotes: none;
}
.vhb .vhb-quote::before, .vhb .vhb-quote::after { content: none; }

/* ---------------- kennisbank ---------------- */
.vhb .vhb-posts { display: grid; gap: 1rem; }
@media (min-width: 780px) { .vhb .vhb-posts { grid-template-columns: repeat(3, 1fr); } }
.vhb .vhb-post {
  background: var(--vhb-surface); border: 1px solid var(--vhb-rule); border-radius: 4px;
  overflow: hidden; box-shadow: var(--vhb-shadow-sm); display: flex; flex-direction: column;
}
.vhb .vhb-cover { padding: 1.1rem; border-bottom: 1px solid var(--vhb-rule-soft); }
.vhb .vhb-cat {
  font-family: var(--vhb-mono); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase;
  display: inline-block; padding: .15rem .4rem; border-radius: 2px;
}
.vhb .vhb-cat--adm { background: var(--vhb-accent-wash); color: var(--vhb-accent-ink); }
.vhb .vhb-cat--fis { background: var(--vhb-ochre-wash); color: var(--vhb-ochre); }
.vhb .vhb-cover .vhb-h3 {
  font-family: var(--vhb-display); font-weight: 600; font-size: 1.15rem;
  line-height: 1.2; margin: .7rem 0 0;
}
.vhb .vhb-postmeta {
  padding: .8rem 1.1rem; font-family: var(--vhb-mono); font-size: .72rem;
  color: var(--vhb-ink-faint); margin-top: auto;
}

/* ---------------- faq ---------------- */
.vhb .vhb-faq { display: grid; gap: 1.3rem; max-width: 42rem; }
.vhb .vhb-qa .vhb-h3 { margin-bottom: .3rem; }
.vhb .vhb-qa p { margin: 0 !important; color: var(--vhb-ink-soft); font-size: .98rem; }

/* ---------------- afsluiting ---------------- */
.vhb .vhb-closing { text-align: center; }
.vhb .vhb-closing .vhb-h2 { margin-bottom: .7rem; }
.vhb .vhb-closing .vhb-lead { margin: 0 auto 1.5rem; }
.vhb .vhb-closing .vhb-btnrow { justify-content: center; }
.vhb .vhb-contactline { font-family: var(--vhb-mono); font-size: .85rem; color: var(--vhb-ink-faint); }
.vhb .vhb-contactline a { color: var(--vhb-ink-soft); }

/* ---------------- footer ---------------- */
.vhb .vhb-footer { border-top: 1px solid var(--vhb-rule); background: var(--vhb-surface); }
.vhb .vhb-footin {
  max-width: 66rem; margin: 0 auto; padding: 2.4rem 1.5rem 3rem;
  display: grid; gap: 1.6rem; font-size: .92rem; color: var(--vhb-ink-soft);
}
@media (min-width: 780px) { .vhb .vhb-footin { grid-template-columns: 1.4fr 1fr 1fr; gap: 2.4rem; } }
.vhb .vhb-footlist { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
.vhb .vhb-footlist li { margin: 0; }
.vhb .vhb-footin a { color: var(--vhb-ink-soft); text-decoration: none; }
.vhb .vhb-footin a:hover { color: var(--vhb-accent); text-decoration: underline; }
.vhb .vhb-legal { border-top: 1px solid var(--vhb-rule-soft); }
.vhb .vhb-legalin {
  max-width: 66rem; margin: 0 auto; padding: 1rem 1.5rem 2rem;
  font-family: var(--vhb-mono); font-size: .7rem; color: var(--vhb-ink-faint);
  display: flex; flex-wrap: wrap; gap: .4rem 1.2rem;
}

/* ---------------- toegankelijkheid ---------------- */
@media (prefers-reduced-motion: reduce) {
  .vhb *, .vhb *::before, .vhb *::after { transition: none !important; animation: none !important; }
}

/* Staat je pagina in een container van het thema met eigen padding?
   Zet dan in de Customizer of je child theme:
   .vhb-fullbleed { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); } */
.vhb-fullbleed { width: auto; }

/* ===========================================================================
   Onderdelen die alleen in het thema voorkomen: blog, losse pagina's,
   paginering en 404.
   =========================================================================== */

/* --- paginakop (blog, bericht, losse pagina) --- */
.vhb .vhb-pagehero { border-top: 0; }
.vhb .vhb-pagehero .vhb-inner { padding-bottom: 2.4rem; }
.vhb .vhb-crumb {
  font-family: var(--vhb-mono); font-size: .72rem; letter-spacing: .06em;
  color: var(--vhb-ink-faint); display: block; margin-bottom: .9rem;
}
.vhb .vhb-crumb a { color: var(--vhb-ink-faint); text-decoration: none; }
.vhb .vhb-crumb a:hover { color: var(--vhb-accent); }
.vhb .vhb-postmetaline {
  font-family: var(--vhb-mono); font-size: .74rem; color: var(--vhb-ink-faint);
  margin: .6rem 0 0;
}

/* --- leestekst (berichten en pagina's) --- */
.vhb .vhb-prose { max-width: 40rem; }
.vhb .vhb-prose > * { margin-top: 0; }
.vhb .vhb-prose p,
.vhb .vhb-prose ul,
.vhb .vhb-prose ol { margin: 0 0 1.15rem; color: var(--vhb-ink); font-size: 1.04rem; }
.vhb .vhb-prose ul,
.vhb .vhb-prose ol { padding-left: 1.3rem; }
.vhb .vhb-prose li { margin-bottom: .4rem; }
.vhb .vhb-prose h2 {
  font-family: var(--vhb-display); font-weight: 600; font-size: 1.6rem;
  line-height: 1.18; letter-spacing: -.015em; margin: 2.2rem 0 .7rem;
}
.vhb .vhb-prose h3 {
  font-family: var(--vhb-body); font-weight: 600; font-size: 1.12rem;
  margin: 1.7rem 0 .4rem;
}
.vhb .vhb-prose a { color: var(--vhb-accent-ink); text-decoration: underline; }
.vhb .vhb-prose blockquote {
  margin: 1.6rem 0; padding: 0 0 0 1.1rem; border-left: 2px solid var(--vhb-accent);
  font-family: var(--vhb-display); font-size: 1.15rem; line-height: 1.45; color: var(--vhb-ink);
}
.vhb .vhb-prose img,
.vhb .vhb-prose figure { max-width: 100%; height: auto; border-radius: 3px; }
.vhb .vhb-prose figcaption { font-size: .85rem; color: var(--vhb-ink-faint); margin-top: .5rem; }
.vhb .vhb-prose table { width: 100%; border-collapse: collapse; font-size: .95rem; margin: 0 0 1.3rem; }
.vhb .vhb-prose th,
.vhb .vhb-prose td { text-align: left; padding: .55rem .8rem; border-bottom: 1px solid var(--vhb-rule-soft); }
.vhb .vhb-prose th { font-family: var(--vhb-mono); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; color: var(--vhb-ink-faint); font-weight: 500; }
.vhb .vhb-prose code {
  font-family: var(--vhb-mono); font-size: .9em; background: var(--vhb-surface-2);
  padding: .1rem .3rem; border-radius: 2px;
}
.vhb .vhb-prose hr { border: 0; border-top: 1px solid var(--vhb-rule); margin: 2.2rem 0; }
.vhb .vhb-prose .wp-caption { max-width: 100%; }
.vhb .vhb-prose .alignleft { float: left; margin: .3rem 1.4rem 1rem 0; }
.vhb .vhb-prose .alignright { float: right; margin: .3rem 0 1rem 1.4rem; }
.vhb .vhb-prose .aligncenter { display: block; margin-left: auto; margin-right: auto; }

/* --- berichtenlijst --- */
.vhb .vhb-postlink { text-decoration: none; color: inherit; display: flex; flex-direction: column; height: 100%; }
.vhb .vhb-postlink:hover .vhb-cover .vhb-h3 { color: var(--vhb-accent); }
.vhb .vhb-postexcerpt { padding: 0 1.1rem; font-size: .95rem; color: var(--vhb-ink-soft); }
.vhb .vhb-postexcerpt p { margin: .9rem 0 0 !important; }
.vhb .vhb-thumb { display: block; width: 100%; height: 9.5rem; object-fit: cover; }

/* --- paginering --- */
.vhb .vhb-pagination { margin-top: 2.2rem; display: flex; flex-wrap: wrap; gap: .4rem; }
.vhb .vhb-pagination .page-numbers {
  font-family: var(--vhb-mono); font-size: .8rem; padding: .4rem .7rem;
  border: 1px solid var(--vhb-rule); border-radius: 2px; text-decoration: none;
  color: var(--vhb-ink-soft); background: var(--vhb-surface);
}
.vhb .vhb-pagination .page-numbers:hover { border-color: var(--vhb-accent); color: var(--vhb-accent); }
.vhb .vhb-pagination .page-numbers.current {
  background: var(--vhb-accent); border-color: var(--vhb-accent); color: #FFFFFF;
}

/* --- navigatie tussen berichten --- */
.vhb .vhb-postnav {
  margin-top: 2.6rem; padding-top: 1.2rem; border-top: 1px solid var(--vhb-rule);
  display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between;
  font-size: .95rem;
}
.vhb .vhb-postnav a { text-decoration: none; }
.vhb .vhb-postnav a:hover { text-decoration: underline; }

/* --- menu uit WordPress (wp_nav_menu) --- */
.vhb .vhb-nav ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 1.15rem; }
.vhb .vhb-nav li { margin: 0; position: relative; }
.vhb .vhb-nav ul a { font-size: .92rem; color: var(--vhb-ink-soft); text-decoration: none; }
.vhb .vhb-nav ul a:hover,
.vhb .vhb-nav .current-menu-item > a { color: var(--vhb-accent); }
.vhb .vhb-nav ul ul { display: none; }
@media (max-width: 860px) {
  .vhb .vhb-nav ul { display: none; }
  .vhb .vhb-nav .vhb-btn { display: inline-block; }
}

/* --- logo --- */
.vhb .vhb-logo img { max-height: 2.4rem; width: auto; display: block; }

/* --- 404 en leeg resultaat --- */
.vhb .vhb-empty { max-width: 34rem; }

/* --- toegankelijkheid: skiplink --- */
.vhb .vhb-skip {
  position: absolute; left: -9999px; top: 0; z-index: 100;
  background: var(--vhb-accent); color: #FFFFFF; padding: .6rem 1rem;
  font-size: .9rem; text-decoration: none;
}
.vhb .vhb-skip:focus { left: .5rem; top: .5rem; }

/* --- WordPress-standaardklassen die anders lelijk uitpakken --- */
.vhb .screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}
.vhb .wp-block-image { margin: 0 0 1.3rem; }
.vhb .sticky, .vhb .gallery-caption, .vhb .bypostauthor { /* WP-vereiste klassen */ }
