.elementor-kit-4{--e-global-color-primary:#001E8B;--e-global-color-secondary:#101318;--e-global-color-text:#23272E;--e-global-color-accent:#5C6168;--e-global-color-bv0c001:#F4F0E6;--e-global-color-bv0c002:#FFFFFF;--e-global-color-bv0c003:#EAE3D3;--e-global-color-bv0c004:#D8D0BE;--e-global-color-bv0c005:#767B83;--e-global-color-bv0c006:#00156A;--e-global-color-bv0c007:#DFE5F6;--e-global-color-bv0c008:#1C2029;--e-global-color-bv0c009:#A3A9B3;--e-global-color-bv0c010:#2E333D;--e-global-color-bv0c011:#00A0E3;--e-global-color-bv0c012:#E5007D;--e-global-color-bv0c013:#FFED00;--e-global-color-bv0c014:#197F8A;--e-global-color-bv0c015:#0F6670;--e-global-color-bv0c016:#B8005F;--e-global-typography-primary-font-family:"Newsreader Bode";--e-global-typography-primary-font-size:50px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-font-style:normal;--e-global-typography-primary-line-height:1.06em;--e-global-typography-primary-letter-spacing:-0.012em;--e-global-typography-secondary-font-family:"Newsreader Bode";--e-global-typography-secondary-font-size:30px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-line-height:1.15em;--e-global-typography-secondary-letter-spacing:-0.006em;--e-global-typography-text-font-family:"Figtree Bode";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-text-font-style:normal;--e-global-typography-text-line-height:1.62em;--e-global-typography-accent-font-family:"Figtree Bode";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-font-style:normal;--e-global-typography-accent-line-height:1.2em;--e-global-typography-accent-letter-spacing:0.01em;--e-global-typography-tdisplay-font-family:"Newsreader Bode";--e-global-typography-tdisplay-font-size:104px;--e-global-typography-tdisplay-font-weight:600;--e-global-typography-tdisplay-font-style:normal;--e-global-typography-tdisplay-line-height:0.94em;--e-global-typography-tdisplay-letter-spacing:-0.022em;--e-global-typography-tmasthead-font-family:"Newsreader Bode";--e-global-typography-tmasthead-font-size:64px;--e-global-typography-tmasthead-font-weight:800;--e-global-typography-tmasthead-font-style:normal;--e-global-typography-tmasthead-line-height:0.9em;--e-global-typography-tmasthead-letter-spacing:-0.03em;--e-global-typography-th1-font-family:"Newsreader Bode";--e-global-typography-th1-font-size:72px;--e-global-typography-th1-font-weight:600;--e-global-typography-th1-font-style:normal;--e-global-typography-th1-line-height:1em;--e-global-typography-th1-letter-spacing:-0.018em;--e-global-typography-th2-font-family:"Newsreader Bode";--e-global-typography-th2-font-size:50px;--e-global-typography-th2-font-weight:600;--e-global-typography-th2-font-style:normal;--e-global-typography-th2-line-height:1.06em;--e-global-typography-th2-letter-spacing:-0.012em;--e-global-typography-th3-font-family:"Newsreader Bode";--e-global-typography-th3-font-size:30px;--e-global-typography-th3-font-weight:600;--e-global-typography-th3-font-style:normal;--e-global-typography-th3-line-height:1.15em;--e-global-typography-th3-letter-spacing:-0.006em;--e-global-typography-th4-font-family:"Newsreader Bode";--e-global-typography-th4-font-size:22px;--e-global-typography-th4-font-weight:700;--e-global-typography-th4-font-style:normal;--e-global-typography-th4-line-height:1.25em;--e-global-typography-th4-letter-spacing:-0.003em;--e-global-typography-teyebrow-font-family:"Figtree Bode";--e-global-typography-teyebrow-font-size:13px;--e-global-typography-teyebrow-font-weight:700;--e-global-typography-teyebrow-text-transform:uppercase;--e-global-typography-teyebrow-font-style:normal;--e-global-typography-teyebrow-line-height:1.3em;--e-global-typography-teyebrow-letter-spacing:0.14em;--e-global-typography-ttext-font-family:"Figtree Bode";--e-global-typography-ttext-font-size:18px;--e-global-typography-ttext-font-weight:400;--e-global-typography-ttext-font-style:normal;--e-global-typography-ttext-line-height:1.62em;--e-global-typography-ttextl-font-family:"Newsreader Bode";--e-global-typography-ttextl-font-size:24px;--e-global-typography-ttextl-font-weight:400;--e-global-typography-ttextl-font-style:normal;--e-global-typography-ttextl-line-height:1.42em;--e-global-typography-ttextl-letter-spacing:-0.003em;--e-global-typography-ttexts-font-family:"Figtree Bode";--e-global-typography-ttexts-font-size:14px;--e-global-typography-ttexts-font-weight:500;--e-global-typography-ttexts-font-style:normal;--e-global-typography-ttexts-line-height:1.5em;--e-global-typography-ttexts-letter-spacing:0.005em;--e-global-typography-tbtn-font-family:"Figtree Bode";--e-global-typography-tbtn-font-size:16px;--e-global-typography-tbtn-font-weight:700;--e-global-typography-tbtn-font-style:normal;--e-global-typography-tbtn-line-height:1.2em;--e-global-typography-tbtn-letter-spacing:0.01em;--e-global-typography-tcijfer-font-family:"Newsreader Bode";--e-global-typography-tcijfer-font-size:84px;--e-global-typography-tcijfer-font-weight:700;--e-global-typography-tcijfer-font-style:normal;--e-global-typography-tcijfer-line-height:0.95em;--e-global-typography-tcijfer-letter-spacing:-0.03em;background-color:var( --e-global-color-bv0c001 );color:var( --e-global-color-text );font-family:var( --e-global-typography-ttext-font-family ), Sans-serif;font-size:var( --e-global-typography-ttext-font-size );font-weight:var( --e-global-typography-ttext-font-weight );font-style:var( --e-global-typography-ttext-font-style );line-height:var( --e-global-typography-ttext-line-height );}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-tbtn-font-family ), Sans-serif;font-size:var( --e-global-typography-tbtn-font-size );font-weight:var( --e-global-typography-tbtn-font-weight );font-style:var( --e-global-typography-tbtn-font-style );line-height:var( --e-global-typography-tbtn-line-height );letter-spacing:var( --e-global-typography-tbtn-letter-spacing );color:var( --e-global-color-bv0c002 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );border-radius:2px 2px 2px 2px;padding:14px 24px 14px 24px;}.elementor-kit-4 button:hover,.elementor-kit-4 button:focus,.elementor-kit-4 input[type="button"]:hover,.elementor-kit-4 input[type="button"]:focus,.elementor-kit-4 input[type="submit"]:hover,.elementor-kit-4 input[type="submit"]:focus,.elementor-kit-4 .elementor-button:hover,.elementor-kit-4 .elementor-button:focus{background-color:var( --e-global-color-bv0c006 );color:var( --e-global-color-bv0c002 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-bv0c006 );border-radius:2px 2px 2px 2px;}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-kit-4 a{color:var( --e-global-color-primary );}.elementor-kit-4 a:hover{color:var( --e-global-color-secondary );}.elementor-kit-4 h1{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-th1-font-family ), Sans-serif;font-size:var( --e-global-typography-th1-font-size );font-weight:var( --e-global-typography-th1-font-weight );font-style:var( --e-global-typography-th1-font-style );line-height:var( --e-global-typography-th1-line-height );letter-spacing:var( --e-global-typography-th1-letter-spacing );}.elementor-kit-4 h2{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-th2-font-family ), Sans-serif;font-size:var( --e-global-typography-th2-font-size );font-weight:var( --e-global-typography-th2-font-weight );font-style:var( --e-global-typography-th2-font-style );line-height:var( --e-global-typography-th2-line-height );letter-spacing:var( --e-global-typography-th2-letter-spacing );}.elementor-kit-4 h3{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-th3-font-family ), Sans-serif;font-size:var( --e-global-typography-th3-font-size );font-weight:var( --e-global-typography-th3-font-weight );font-style:var( --e-global-typography-th3-font-style );line-height:var( --e-global-typography-th3-line-height );letter-spacing:var( --e-global-typography-th3-letter-spacing );}.elementor-kit-4 h4{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-th4-font-family ), Sans-serif;font-size:var( --e-global-typography-th4-font-size );font-weight:var( --e-global-typography-th4-font-weight );font-style:var( --e-global-typography-th4-font-style );line-height:var( --e-global-typography-th4-line-height );letter-spacing:var( --e-global-typography-th4-letter-spacing );}.elementor-kit-4 h5{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-th4-font-family ), Sans-serif;font-size:var( --e-global-typography-th4-font-size );font-weight:var( --e-global-typography-th4-font-weight );font-style:var( --e-global-typography-th4-font-style );line-height:var( --e-global-typography-th4-line-height );letter-spacing:var( --e-global-typography-th4-letter-spacing );}.elementor-kit-4 h6{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-teyebrow-font-family ), Sans-serif;font-size:var( --e-global-typography-teyebrow-font-size );font-weight:var( --e-global-typography-teyebrow-font-weight );text-transform:var( --e-global-typography-teyebrow-text-transform );font-style:var( --e-global-typography-teyebrow-font-style );line-height:var( --e-global-typography-teyebrow-line-height );letter-spacing:var( --e-global-typography-teyebrow-letter-spacing );}.elementor-kit-4 label{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-ttexts-font-family ), Sans-serif;font-size:var( --e-global-typography-ttexts-font-size );font-weight:var( --e-global-typography-ttexts-font-weight );font-style:var( --e-global-typography-ttexts-font-style );line-height:var( --e-global-typography-ttexts-line-height );letter-spacing:var( --e-global-typography-ttexts-letter-spacing );}.elementor-kit-4 input:not([type="button"]):not([type="submit"]),.elementor-kit-4 textarea,.elementor-kit-4 .elementor-field-textual{font-family:var( --e-global-typography-ttext-font-family ), Sans-serif;font-size:var( --e-global-typography-ttext-font-size );font-weight:var( --e-global-typography-ttext-font-weight );font-style:var( --e-global-typography-ttext-font-style );line-height:var( --e-global-typography-ttext-line-height );color:var( --e-global-color-text );accent-color:var( --e-global-color-primary );background-color:var( --e-global-color-bv0c002 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-bv0c005 );border-radius:2px 2px 2px 2px;transition:160ms;padding:13px 16px 13px 16px;}.elementor-kit-4 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-4 textarea:focus,.elementor-kit-4 .elementor-field-textual:focus{color:var( --e-global-color-secondary );background-color:var( --e-global-color-bv0c002 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );border-radius:2px 2px 2px 2px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1320px;}.e-con{--container-max-width:1320px;--container-default-padding-top:0px;--container-default-padding-right:40px;--container-default-padding-bottom:0px;--container-default-padding-left:40px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-4{--e-global-typography-primary-font-size:40px;--e-global-typography-primary-line-height:1.08em;--e-global-typography-primary-letter-spacing:-0.012em;--e-global-typography-secondary-font-size:26px;--e-global-typography-secondary-line-height:1.18em;--e-global-typography-secondary-letter-spacing:-0.006em;--e-global-typography-text-font-size:17px;--e-global-typography-text-line-height:1.62em;--e-global-typography-accent-font-size:16px;--e-global-typography-accent-line-height:1.2em;--e-global-typography-accent-letter-spacing:0.01em;--e-global-typography-tdisplay-font-size:76px;--e-global-typography-tdisplay-line-height:0.97em;--e-global-typography-tdisplay-letter-spacing:-0.022em;--e-global-typography-tmasthead-font-size:52px;--e-global-typography-tmasthead-line-height:0.92em;--e-global-typography-tmasthead-letter-spacing:-0.03em;--e-global-typography-th1-font-size:56px;--e-global-typography-th1-line-height:1.02em;--e-global-typography-th1-letter-spacing:-0.018em;--e-global-typography-th2-font-size:40px;--e-global-typography-th2-line-height:1.08em;--e-global-typography-th2-letter-spacing:-0.012em;--e-global-typography-th3-font-size:26px;--e-global-typography-th3-line-height:1.18em;--e-global-typography-th3-letter-spacing:-0.006em;--e-global-typography-th4-font-size:21px;--e-global-typography-th4-line-height:1.25em;--e-global-typography-th4-letter-spacing:-0.003em;--e-global-typography-teyebrow-font-size:13px;--e-global-typography-teyebrow-line-height:1.3em;--e-global-typography-teyebrow-letter-spacing:0.14em;--e-global-typography-ttext-font-size:17px;--e-global-typography-ttext-line-height:1.62em;--e-global-typography-ttextl-font-size:22px;--e-global-typography-ttextl-line-height:1.42em;--e-global-typography-ttextl-letter-spacing:-0.003em;--e-global-typography-ttexts-font-size:14px;--e-global-typography-ttexts-line-height:1.5em;--e-global-typography-ttexts-letter-spacing:0.005em;--e-global-typography-tbtn-font-size:16px;--e-global-typography-tbtn-line-height:1.2em;--e-global-typography-tbtn-letter-spacing:0.01em;--e-global-typography-tcijfer-font-size:64px;--e-global-typography-tcijfer-line-height:0.95em;--e-global-typography-tcijfer-letter-spacing:-0.03em;font-size:var( --e-global-typography-ttext-font-size );line-height:var( --e-global-typography-ttext-line-height );}.elementor-kit-4 h1{font-size:var( --e-global-typography-th1-font-size );line-height:var( --e-global-typography-th1-line-height );letter-spacing:var( --e-global-typography-th1-letter-spacing );}.elementor-kit-4 h2{font-size:var( --e-global-typography-th2-font-size );line-height:var( --e-global-typography-th2-line-height );letter-spacing:var( --e-global-typography-th2-letter-spacing );}.elementor-kit-4 h3{font-size:var( --e-global-typography-th3-font-size );line-height:var( --e-global-typography-th3-line-height );letter-spacing:var( --e-global-typography-th3-letter-spacing );}.elementor-kit-4 h4{font-size:var( --e-global-typography-th4-font-size );line-height:var( --e-global-typography-th4-line-height );letter-spacing:var( --e-global-typography-th4-letter-spacing );}.elementor-kit-4 h5{font-size:var( --e-global-typography-th4-font-size );line-height:var( --e-global-typography-th4-line-height );letter-spacing:var( --e-global-typography-th4-letter-spacing );}.elementor-kit-4 h6{font-size:var( --e-global-typography-teyebrow-font-size );line-height:var( --e-global-typography-teyebrow-line-height );letter-spacing:var( --e-global-typography-teyebrow-letter-spacing );}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{font-size:var( --e-global-typography-tbtn-font-size );line-height:var( --e-global-typography-tbtn-line-height );letter-spacing:var( --e-global-typography-tbtn-letter-spacing );}.elementor-kit-4 label{font-size:var( --e-global-typography-ttexts-font-size );line-height:var( --e-global-typography-ttexts-line-height );letter-spacing:var( --e-global-typography-ttexts-letter-spacing );}.elementor-kit-4 input:not([type="button"]):not([type="submit"]),.elementor-kit-4 textarea,.elementor-kit-4 .elementor-field-textual{font-size:var( --e-global-typography-ttext-font-size );line-height:var( --e-global-typography-ttext-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:0px;--container-default-padding-right:32px;--container-default-padding-bottom:0px;--container-default-padding-left:32px;}}@media(max-width:767px){.elementor-kit-4{--e-global-typography-primary-font-size:32px;--e-global-typography-primary-line-height:1.12em;--e-global-typography-primary-letter-spacing:-0.012em;--e-global-typography-secondary-font-size:23px;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-secondary-letter-spacing:-0.006em;--e-global-typography-text-font-size:16px;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-size:16px;--e-global-typography-accent-line-height:1.2em;--e-global-typography-accent-letter-spacing:0.01em;--e-global-typography-tdisplay-font-size:46px;--e-global-typography-tdisplay-line-height:1.02em;--e-global-typography-tdisplay-letter-spacing:-0.022em;--e-global-typography-tmasthead-font-size:38px;--e-global-typography-tmasthead-line-height:0.95em;--e-global-typography-tmasthead-letter-spacing:-0.03em;--e-global-typography-th1-font-size:40px;--e-global-typography-th1-line-height:1.05em;--e-global-typography-th1-letter-spacing:-0.018em;--e-global-typography-th2-font-size:32px;--e-global-typography-th2-line-height:1.12em;--e-global-typography-th2-letter-spacing:-0.012em;--e-global-typography-th3-font-size:23px;--e-global-typography-th3-line-height:1.2em;--e-global-typography-th3-letter-spacing:-0.006em;--e-global-typography-th4-font-size:20px;--e-global-typography-th4-line-height:1.25em;--e-global-typography-th4-letter-spacing:-0.003em;--e-global-typography-teyebrow-font-size:12px;--e-global-typography-teyebrow-line-height:1.3em;--e-global-typography-teyebrow-letter-spacing:0.14em;--e-global-typography-ttext-font-size:16px;--e-global-typography-ttext-line-height:1.6em;--e-global-typography-ttextl-font-size:19px;--e-global-typography-ttextl-line-height:1.45em;--e-global-typography-ttextl-letter-spacing:-0.003em;--e-global-typography-ttexts-font-size:13px;--e-global-typography-ttexts-line-height:1.45em;--e-global-typography-ttexts-letter-spacing:0.005em;--e-global-typography-tbtn-font-size:16px;--e-global-typography-tbtn-line-height:1.2em;--e-global-typography-tbtn-letter-spacing:0.01em;--e-global-typography-tcijfer-font-size:48px;--e-global-typography-tcijfer-line-height:1em;--e-global-typography-tcijfer-letter-spacing:-0.03em;font-size:var( --e-global-typography-ttext-font-size );line-height:var( --e-global-typography-ttext-line-height );}.elementor-kit-4 h1{font-size:var( --e-global-typography-th1-font-size );line-height:var( --e-global-typography-th1-line-height );letter-spacing:var( --e-global-typography-th1-letter-spacing );}.elementor-kit-4 h2{font-size:var( --e-global-typography-th2-font-size );line-height:var( --e-global-typography-th2-line-height );letter-spacing:var( --e-global-typography-th2-letter-spacing );}.elementor-kit-4 h3{font-size:var( --e-global-typography-th3-font-size );line-height:var( --e-global-typography-th3-line-height );letter-spacing:var( --e-global-typography-th3-letter-spacing );}.elementor-kit-4 h4{font-size:var( --e-global-typography-th4-font-size );line-height:var( --e-global-typography-th4-line-height );letter-spacing:var( --e-global-typography-th4-letter-spacing );}.elementor-kit-4 h5{font-size:var( --e-global-typography-th4-font-size );line-height:var( --e-global-typography-th4-line-height );letter-spacing:var( --e-global-typography-th4-letter-spacing );}.elementor-kit-4 h6{font-size:var( --e-global-typography-teyebrow-font-size );line-height:var( --e-global-typography-teyebrow-line-height );letter-spacing:var( --e-global-typography-teyebrow-letter-spacing );}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{font-size:var( --e-global-typography-tbtn-font-size );line-height:var( --e-global-typography-tbtn-line-height );letter-spacing:var( --e-global-typography-tbtn-letter-spacing );}.elementor-kit-4 label{font-size:var( --e-global-typography-ttexts-font-size );line-height:var( --e-global-typography-ttexts-line-height );letter-spacing:var( --e-global-typography-ttexts-letter-spacing );}.elementor-kit-4 input:not([type="button"]):not([type="submit"]),.elementor-kit-4 textarea,.elementor-kit-4 .elementor-field-textual{font-size:var( --e-global-typography-ttext-font-size );line-height:var( --e-global-typography-ttext-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:0px;--container-default-padding-right:20px;--container-default-padding-bottom:0px;--container-default-padding-left:20px;}}
/* Start custom CSS *//* bv-design:start */
/* ==========================================================================
   Bode van Schoten: basis-CSS van de design-rol (bron: tools/platform/01-kit.css)
   Komt in de kit-custom-CSS tussen de design-markers (start/end) via
   tools/platform/01-elementor-kit.sh. NIET in WP bewerken: wijzig de bron.
   {{svg:<naam>}} wordt bij het bouwen vervangen door een data-URI uit media/design/<naam>.svg.
   Specs en gebruik: data/design.md.
   ========================================================================== */

/* 1. Tokens (volgen de Elementor-globals; fallback = hex) */
body {
  --bv-blauw: var(--e-global-color-primary, #001E8B);
  --bv-inkt: var(--e-global-color-secondary, #101318);
  --bv-zetsel: var(--e-global-color-text, #23272E);
  --bv-grijs: var(--e-global-color-accent, #5C6168);
  --bv-papier: var(--e-global-color-bv0c001, #F4F0E6);
  --bv-wit: var(--e-global-color-bv0c002, #FFFFFF);
  --bv-papier-diep: var(--e-global-color-bv0c003, #EAE3D3);
  --bv-lijn: var(--e-global-color-bv0c004, #D8D0BE);
  --bv-veldrand: var(--e-global-color-bv0c005, #767B83);
  --bv-blauw-diep: var(--e-global-color-bv0c006, #00156A);
  --bv-blauwdruk: var(--e-global-color-bv0c007, #DFE5F6);
  --bv-inkt-zacht: var(--e-global-color-bv0c008, #1C2029);
  --bv-grijs-donker: var(--e-global-color-bv0c009, #A3A9B3);
  --bv-lijn-donker: var(--e-global-color-bv0c010, #2E333D);
  --bv-c: var(--e-global-color-bv0c011, #00A0E3);
  --bv-m: var(--e-global-color-bv0c012, #E5007D);
  --bv-y: var(--e-global-color-bv0c013, #FFED00);
  --bv-regio: var(--e-global-color-bv0c014, #197F8A);
  --bv-regio-diep: var(--e-global-color-bv0c015, #0F6670);
  --bv-m-diep: var(--e-global-color-bv0c016, #B8005F);
  --bv-serif: 'Newsreader Bode', Georgia, 'Times New Roman', serif;
  --bv-sans: 'Figtree Bode', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
  /* raster en ritme */
  --bv-inhoud: 1320px;
  --bv-gap: 24px;
  --bv-rand: 40px;
  --bv-s1: 4px; --bv-s2: 8px; --bv-s3: 12px; --bv-s4: 16px; --bv-s5: 24px; --bv-s6: 32px;
  --bv-s7: 48px; --bv-s8: 64px; --bv-s9: 96px; --bv-s10: 128px; --bv-s11: 160px;
  --bv-sectie: 128px; --bv-sectie-compact: 64px;
  /* vorm */
  --bv-radius: 2px;
  --bv-schaduw-vel: 0 1px 0 rgba(16,19,24,.06), 0 2px 4px rgba(16,19,24,.08), 0 24px 48px -24px rgba(16,19,24,.45);
  --bv-schaduw-vel-hoog: 0 1px 0 rgba(16,19,24,.06), 0 4px 8px rgba(16,19,24,.10), 0 36px 64px -28px rgba(16,19,24,.55);
  --bv-schaduw-kaart: 0 1px 2px rgba(16,19,24,.06), 0 12px 28px -18px rgba(16,19,24,.35);
  /* beweging */
  --bv-dur-kort: 160ms; --bv-dur: 280ms; --bv-dur-lang: 600ms; --bv-dur-reveal: 700ms;
  --bv-ease: cubic-bezier(.2, .7, .2, 1);
  --bv-ease-in-out: cubic-bezier(.65, 0, .35, 1);
  --bv-ease-pers: cubic-bezier(.16, 1, .3, 1);
  /* ornamenten (data-URI, zie media/design/) */
  --bv-svg-paskruis: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' width='40' height='40'%3E%3Cg fill='none' stroke='%23101318' stroke-width='1'%3E%3Ccircle cx='20' cy='20' r='11.5'/%3E%3Cpath d='M20 0v14M20 26v14M0 20h14M26 20h14'/%3E%3C/g%3E%3Cg fill='%23101318'%3E%3Cpath d='M19.5 14.02A6 6 0 0 0 14.02 19.5H19.5Z'/%3E%3Cpath d='M20.5 14.02A6 6 0 0 1 25.98 19.5H20.5Z'/%3E%3Cpath d='M19.5 25.98A6 6 0 0 1 14.02 20.5H19.5Z'/%3E%3Cpath d='M20.5 25.98A6 6 0 0 0 25.98 20.5H20.5Z'/%3E%3C/g%3E%3C/svg%3E");
  --bv-svg-cmyk: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 130 12' width='130' height='12' shape-rendering='crispEdges'%3E%3Crect x='0' width='12' height='12' fill='%2300A0E3'/%3E%3Crect x='13' width='12' height='12' fill='%23E5007D'/%3E%3Crect x='26' width='12' height='12' fill='%23FFED00'/%3E%3Crect x='39' width='12' height='12' fill='%23101318'/%3E%3Crect x='52' width='12' height='12' fill='%2300006F'/%3E%3Crect x='65' width='12' height='12' fill='%23E50000'/%3E%3Crect x='78' width='12' height='12' fill='%23009500'/%3E%3Crect x='91' width='12' height='12' fill='%23888A8C'/%3E%3Crect x='104' width='12' height='12' fill='%2380D0F1'/%3E%3Crect x='117' width='12' height='12' fill='%23F280BE'/%3E%3C/svg%3E");
  --bv-svg-raster: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' width='8' height='8'%3E%3Cg fill='%23101318'%3E%3Ccircle cx='4' cy='4' r='1.3'/%3E%3Ccircle cx='0' cy='0' r='1.3'/%3E%3Ccircle cx='8' cy='0' r='1.3'/%3E%3Ccircle cx='0' cy='8' r='1.3'/%3E%3Ccircle cx='8' cy='8' r='1.3'/%3E%3C/g%3E%3C/svg%3E");
  --bv-svg-snij-lb: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' width='20' height='20'%3E%3Cpath d='M0 19.5h14M19.5 0v14' stroke='%23101318' stroke-width='1' fill='none'/%3E%3C/svg%3E");
  --bv-svg-snij-rb: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' width='20' height='20'%3E%3Cpath d='M6 19.5h14M.5 0v14' stroke='%23101318' stroke-width='1' fill='none'/%3E%3C/svg%3E");
  --bv-svg-snij-lo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' width='20' height='20'%3E%3Cpath d='M0 .5h14M19.5 6v14' stroke='%23101318' stroke-width='1' fill='none'/%3E%3C/svg%3E");
  --bv-svg-snij-ro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' width='20' height='20'%3E%3Cpath d='M6 .5h14M.5 6v14' stroke='%23101318' stroke-width='1' fill='none'/%3E%3C/svg%3E");
  --bv-svg-monogram: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='8 8 1168 1328' width='73' height='83.0' role='img' aria-label='Bode van Schoten'%3E%3Cg transform='translate(0.000000,1344.000000) scale(0.100000,-0.100000)' fill='%23001E8B'%3E%3Cpath fill-rule='nonzero' d='M123 13363 c-13 -2 -25 -14 -28 -26 -7 -24 -22 -13211 -16 -13239 3 -17 126 -18 2410 -18 1556 0 2441 4 2506 11 55 5 168 16 250 24 195 18 407 53 580 95 22 6 70 17 106 25 36 8 82 21 102 30 20 8 44 15 54 15 10 0 30 6 45 14 15 8 40 17 57 21 17 3 67 22 113 41 46 20 90 38 98 41 26 9 193 94 235 119 22 13 53 31 69 40 204 115 457 368 543 544 7 14 17 32 22 40 64 100 121 332 121 495 0 146 -38 333 -91 451 -11 23 -19 48 -19 57 0 9 -4 18 -10 22 -5 3 -24 36 -42 73 -121 247 -395 535 -719 753 -88 59 -233 145 -299 177 -14 6 -32 16 -40 22 -8 5 -26 14 -40 20 -14 5 -32 14 -40 19 -8 4 -37 18 -65 31 -27 12 -67 31 -87 41 -20 11 -43 19 -50 19 -7 0 -26 7 -43 16 -16 9 -48 22 -70 29 -22 7 -71 25 -110 40 -38 14 -92 32 -120 40 -27 7 -63 17 -80 23 -58 19 -170 51 -215 61 -25 6 -63 15 -85 20 -63 16 -215 50 -270 59 -27 5 -70 14 -95 20 -25 6 -88 21 -140 32 -52 11 -129 29 -170 39 -41 11 -97 24 -125 31 -27 6 -84 19 -125 29 -41 9 -80 20 -86 23 -6 4 -42 14 -80 22 -38 9 -100 25 -139 35 -210 57 -223 61 -450 126 -27 8 -81 23 -120 34 -38 11 -101 29 -140 40 -38 11 -83 24 -100 29 -16 6 -61 19 -100 31 -38 11 -92 27 -120 36 -27 9 -72 22 -100 29 -27 8 -63 19 -80 25 -50 17 -127 41 -180 55 -27 8 -63 19 -80 25 -57 20 -130 42 -170 52 -22 5 -56 16 -75 23 -19 8 -54 19 -76 25 -23 6 -44 17 -47 25 -11 27 -10 1161 0 1161 6 0 37 -34 70 -75 33 -42 86 -98 119 -125 32 -28 61 -53 64 -56 30 -36 200 -134 355 -205 32 -14 209 -75 285 -98 25 -8 61 -19 80 -26 108 -38 143 -50 225 -75 50 -15 106 -33 125 -40 19 -7 69 -22 110 -35 41 -12 98 -31 125 -41 28 -11 58 -19 68 -19 10 0 39 -8 65 -18 66 -26 171 -59 212 -67 19 -4 40 -11 45 -15 6 -4 35 -15 65 -23 30 -9 85 -25 123 -36 155 -48 200 -62 260 -80 34 -10 76 -24 92 -30 39 -13 95 -31 288 -90 134 -42 198 -61 265 -82 37 -11 96 -29 132 -39 36 -10 79 -23 95 -28 17 -6 62 -19 100 -31 39 -11 93 -27 120 -36 28 -9 73 -22 100 -29 28 -7 59 -17 70 -23 11 -6 37 -13 57 -17 20 -4 50 -13 65 -21 15 -8 36 -15 46 -15 10 0 34 -7 55 -16 20 -9 57 -22 82 -29 25 -7 77 -25 115 -39 39 -15 88 -33 110 -40 22 -8 65 -24 95 -36 30 -12 73 -29 95 -37 22 -8 59 -23 83 -34 23 -10 63 -28 90 -40 26 -11 54 -25 62 -30 8 -5 22 -12 30 -15 123 -49 355 -186 530 -313 84 -61 300 -275 345 -342 16 -24 44 -62 61 -84 32 -42 106 -169 141 -245 19 -41 39 -95 73 -190 26 -74 60 -296 60 -394 0 -244 -91 -565 -222 -781 -148 -243 -313 -441 -559 -668 -230 -212 -484 -377 -794 -517 -27 -12 -68 -31 -90 -41 -62 -28 -125 -49 -186 -63 -79 -18 -101 -36 -62 -50 9 -4 389 -2 843 4 806 11 1370 34 1457 59 17 5 67 12 110 16 43 3 101 13 128 20 28 7 73 17 100 20 95 13 412 97 550 146 121 43 173 63 211 80 23 11 47 19 53 19 7 0 29 9 49 19 20 11 98 50 172 86 74 37 153 78 175 91 22 13 51 29 65 36 22 12 131 81 170 108 8 6 36 25 62 43 244 169 522 429 716 672 92 114 80 99 137 180 113 163 158 234 209 330 9 17 27 48 40 70 40 68 133 260 176 365 53 129 95 242 109 290 5 19 14 49 20 65 25 73 88 311 97 370 3 22 12 63 19 90 7 28 16 79 20 115 3 36 14 101 23 145 14 68 17 143 17 490 0 421 -10 548 -57 745 -6 25 -17 74 -23 110 -14 73 -41 179 -57 225 -5 17 -16 53 -23 80 -8 28 -26 82 -40 120 -15 39 -33 88 -40 110 -7 22 -20 54 -27 70 -8 17 -23 50 -34 74 -37 84 -155 314 -190 368 -19 29 -34 55 -34 57 0 7 -123 187 -170 251 -378 504 -837 872 -1410 1127 -25 11 -62 29 -82 39 -20 11 -43 19 -50 19 -7 0 -26 7 -43 16 -76 39 -605 209 -715 229 -19 4 -55 13 -80 20 -56 17 -175 46 -305 75 -55 12 -127 28 -159 36 -33 8 -94 21 -135 29 -42 8 -94 19 -116 24 -22 6 -85 20 -140 32 -55 11 -129 28 -165 36 -36 8 -92 19 -125 24 -32 5 -82 16 -110 23 -27 8 -77 19 -110 25 -33 6 -78 15 -100 20 -35 9 -89 19 -300 60 -112 21 -174 34 -255 52 -47 10 -97 19 -109 19 -13 0 -63 9 -110 20 -132 29 -238 51 -327 65 -45 7 -86 15 -91 18 -6 4 -43 11 -84 17 -41 6 -94 17 -119 25 -25 7 -68 16 -97 19 -29 4 -71 13 -94 21 -23 8 -54 15 -69 15 -15 0 -56 8 -91 18 -35 11 -91 25 -124 32 -146 31 -243 54 -375 90 -36 10 -103 28 -150 40 -47 12 -105 28 -130 36 -25 8 -68 21 -96 28 -27 7 -56 16 -63 20 -7 5 -36 14 -64 21 -67 18 -147 44 -171 57 -10 5 -39 16 -65 23 -25 7 -71 23 -101 35 -30 12 -73 29 -95 36 -39 14 -52 20 -145 61 -139 62 -323 151 -385 187 -22 13 -68 39 -103 57 -35 19 -68 40 -74 46 -6 7 -16 13 -23 13 -6 0 -20 9 -30 20 -10 11 -22 20 -26 20 -5 0 -28 14 -51 30 -24 17 -59 41 -78 54 -253 167 -601 536 -760 806 -25 41 -50 84 -57 95 -7 11 -17 31 -24 45 -6 14 -15 32 -20 40 -45 77 -75 162 -103 295 -7 33 -18 76 -24 95 -6 19 -16 71 -22 116 -6 45 -15 96 -20 115 -29 100 -36 653 -10 802 36 202 62 314 91 392 10 28 19 57 19 65 0 9 9 32 20 53 11 20 20 42 20 48 0 10 43 110 60 139 5 8 21 40 37 70 175 348 518 685 878 864 28 14 62 29 78 35 28 11 36 29 15 36 -19 5 -3159 14 -3185 8z M8432 13357 c-9 -11 -12 -487 -12 -1988 0 -1086 0 -1980 0 -1986 0 -15 -61 -18 -76 -4 -12 12 -193 59 -354 91 -30 7 -93 20 -140 30 -47 10 -112 21 -145 25 -33 3 -73 10 -90 15 -16 6 -77 16 -135 24 -136 19 -221 33 -351 57 -58 10 -118 19 -135 19 -16 0 -60 7 -99 16 -38 8 -99 19 -135 24 -127 19 -121 10 -145 215 -20 180 -52 378 -76 480 -10 45 -19 91 -19 103 0 12 -9 55 -19 95 -21 78 -35 132 -56 217 -8 30 -26 93 -40 140 -14 47 -33 108 -41 136 -8 29 -21 65 -29 80 -8 16 -15 36 -15 44 0 16 -31 100 -61 166 -11 23 -19 48 -19 55 0 8 -6 23 -14 34 -7 11 -17 31 -21 45 -23 78 -153 332 -280 548 -104 177 -361 475 -500 581 -22 17 -45 35 -51 40 -23 19 -140 96 -169 112 -102 55 -218 109 -234 109 -7 0 -33 8 -59 19 -131 52 -233 66 -482 66 -206 -1 -247 -4 -335 -23 -102 -23 -216 -54 -270 -74 -16 -5 -50 -16 -75 -23 -25 -7 -58 -20 -75 -29 -16 -9 -35 -16 -41 -16 -9 0 -101 -45 -153 -75 -150 -87 -367 -340 -479 -560 -79 -155 -153 -355 -167 -455 -4 -25 -14 -70 -23 -100 -27 -94 -24 -525 6 -655 38 -168 97 -334 154 -435 5 -8 15 -28 24 -45 79 -157 271 -389 459 -556 68 -60 259 -199 274 -199 4 0 16 -9 26 -20 10 -11 23 -20 28 -20 5 0 34 -16 63 -35 70 -47 228 -130 399 -210 55 -25 112 -53 127 -61 14 -8 32 -14 40 -14 7 0 26 -7 43 -16 37 -19 149 -64 160 -64 4 0 26 -8 49 -19 58 -26 146 -59 181 -67 17 -4 35 -10 40 -14 6 -5 30 -13 55 -19 25 -7 54 -16 65 -22 11 -5 43 -16 70 -23 28 -8 82 -24 120 -36 125 -38 239 -71 283 -80 24 -5 64 -16 90 -24 80 -25 196 -54 352 -87 30 -6 85 -20 122 -30 36 -11 74 -19 84 -19 9 0 56 -9 103 -19 199 -45 277 -61 296 -61 10 0 55 -9 100 -19 44 -11 107 -24 140 -30 129 -24 316 -62 425 -88 36 -8 88 -19 115 -24 28 -4 75 -15 105 -23 30 -8 78 -20 105 -26 130 -29 268 -64 365 -90 36 -10 88 -24 115 -30 28 -7 88 -23 135 -37 47 -13 104 -28 128 -33 24 -5 64 -16 90 -25 26 -8 81 -24 122 -36 86 -25 173 -51 245 -74 28 -9 73 -22 100 -29 28 -7 60 -18 71 -24 12 -6 46 -14 75 -18 50 -6 56 -4 79 22 22 25 151 199 203 274 9 14 35 50 57 80 74 100 193 284 225 345 8 17 26 48 39 70 103 176 261 539 321 735 7 25 18 59 24 75 6 17 19 62 30 100 46 166 61 226 61 243 0 10 9 52 19 93 11 41 22 103 26 138 4 35 11 78 16 95 14 48 39 405 39 559 0 424 -76 849 -201 1123 -11 23 -19 45 -19 49 0 14 -92 198 -127 253 -18 29 -33 55 -33 58 0 19 -184 250 -269 337 -113 117 -316 277 -411 325 -14 7 -43 23 -65 37 -22 13 -47 27 -55 31 -163 76 -266 118 -315 130 -16 4 -41 12 -55 19 -43 22 -105 28 -118 12z M5784 13348 c-4 -7 8 -23 32 -42 93 -73 329 -318 430 -445 139 -177 174 -227 281 -397 24 -39 110 -191 137 -244 15 -30 34 -66 41 -80 13 -23 43 -86 109 -232 14 -31 26 -62 26 -67 0 -6 9 -28 20 -48 11 -21 20 -45 20 -53 0 -9 7 -25 15 -36 8 -12 19 -39 24 -60 8 -33 42 -139 93 -289 14 -43 46 -161 59 -220 6 -27 19 -84 29 -125 23 -92 38 -173 51 -265 6 -38 16 -104 24 -145 8 -41 19 -140 25 -220 16 -230 22 -279 34 -289 6 -5 45 -14 86 -19 41 -6 104 -16 140 -21 206 -33 283 -42 291 -34 5 5 8 737 7 1674 l-3 1664 -982 3 c-740 1 -984 -1 -989 -10z'/%3E%3C/g%3E%3C/svg%3E");
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
@media (max-width: 1024px) { body { --bv-rand: 32px; --bv-gap: 20px; --bv-sectie: 96px; --bv-sectie-compact: 56px; } }
@media (max-width: 767px) { body { --bv-rand: 20px; --bv-gap: 16px; --bv-sectie: 72px; --bv-sectie-compact: 48px; } }

/* 2. Basis */
html { scroll-padding-top: 96px; }
body em, body i, body cite, body blockquote, body address, body dfn, body var, body q, body figcaption, body .wp-caption-text, body .wp-element-caption { font-style: normal; }
body { font-synthesis-style: none; } /* geen nep-cursief: er wordt geen cursief geladen */
body h1, body h2, body h3, body h4, body .elementor-heading-title { text-wrap: balance; hyphens: manual; font-synthesis: none; }
body p { text-wrap: pretty; }
body ::selection { background: var(--bv-y); color: var(--bv-inkt); }
body a { text-underline-offset: .18em; text-decoration-thickness: 1px; transition: color var(--bv-dur-kort) var(--bv-ease), text-decoration-color var(--bv-dur-kort) var(--bv-ease); }
.elementor-widget-text-editor a, .bv-tekst a { color: var(--bv-blauw); text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--bv-blauw) 35%, transparent); }
.elementor-widget-text-editor a:hover, .bv-tekst a:hover { text-decoration-color: currentColor; text-decoration-thickness: 2px; }
body :focus-visible { outline: 3px solid var(--bv-blauw); outline-offset: 3px; border-radius: 1px; }
.bv-op-donker :focus-visible, .bv-op-blauw :focus-visible { outline-color: var(--bv-y); }
.bv-num, .bv-prijs, .bv-cijfer, body table, .bv-kalender { font-variant-numeric: tabular-nums lining-nums; }
.bv-tekst, .bv-maat { max-width: 38em; }
.bv-kolomtekst { columns: 2 18em; column-gap: var(--bv-s7); column-rule: 1px solid var(--bv-lijn); hyphens: auto; }
.bv-kolomtekst > * { break-inside: avoid; }
.bv-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.bv-tekst-serif { font-family: var(--bv-serif); }
.bv-tekst-sans { font-family: var(--bv-sans); }

/* 3. Contexten: zet op de container van een donkere of blauwe sectie */
.bv-op-donker { background-color: var(--bv-inkt); color: var(--bv-papier); --bv-tekst-kleur: var(--bv-papier); --bv-meta-kleur: var(--bv-grijs-donker); --bv-accent-kleur: var(--bv-y); --bv-lijn-kleur: var(--bv-lijn-donker); }
.bv-op-blauw { background-color: var(--bv-blauw); color: var(--bv-wit); --bv-tekst-kleur: var(--bv-wit); --bv-meta-kleur: var(--bv-grijs-donker); --bv-accent-kleur: var(--bv-y); --bv-lijn-kleur: rgba(255,255,255,.22); }
.bv-op-papier { background-color: var(--bv-papier); }
.bv-op-wit { background-color: var(--bv-wit); }
.bv-op-papier-diep { background-color: var(--bv-papier-diep); }
:is(.bv-op-donker, .bv-op-blauw) :is(h1, h2, h3, h4, h5, h6, .elementor-heading-title, p, li, .elementor-widget-text-editor) { color: var(--bv-tekst-kleur); }
:is(.bv-op-donker, .bv-op-blauw) .elementor-widget-text-editor a, :is(.bv-op-donker, .bv-op-blauw) .bv-tekst a { color: var(--bv-wit); text-decoration-color: var(--bv-y); }

/* 4. Rubriekslabel (eyebrow met lijntje) */
:is(.bv-rubriek:not(.elementor-widget), .bv-rubriek .elementor-heading-title) {
  display: inline-flex; align-items: center; gap: 12px; margin: 0;
  font-family: var(--bv-sans); font-weight: 700; font-size: 13px; line-height: 1.3; letter-spacing: .14em; text-transform: uppercase;
  color: var(--bv-accent-kleur, var(--bv-blauw));
}
:is(.bv-rubriek:not(.elementor-widget), .bv-rubriek .elementor-heading-title)::before { content: ""; flex: 0 0 28px; height: 2px; background: currentColor; }
.bv-rubriek .elementor-heading-title::before { display: inline-block; }
:is(.bv-rubriek--vol:not(.elementor-widget), .bv-rubriek--vol .elementor-heading-title) { display: flex; width: 100%; }
:is(.bv-rubriek--vol:not(.elementor-widget), .bv-rubriek--vol .elementor-heading-title)::after { content: ""; flex: 1 1 auto; height: 1px; background: var(--bv-lijn-kleur, var(--bv-lijn)); }
:is(.bv-rubriek--inkt:not(.elementor-widget), .bv-rubriek--inkt .elementor-heading-title) { color: var(--bv-inkt); }
:is(.bv-rubriek--regio:not(.elementor-widget), .bv-rubriek--regio .elementor-heading-title) { color: var(--bv-regio-diep); }
@media (max-width: 767px) { :is(.bv-rubriek:not(.elementor-widget), .bv-rubriek .elementor-heading-title) { font-size: 12px; } }

/* 5. Kop + lead + editieregel + regels */
.bv-kop { font-family: var(--bv-serif); font-weight: 600; letter-spacing: -.012em; color: var(--bv-inkt); margin: 0; }
.bv-lead, .bv-lead p { font-family: var(--bv-serif); font-weight: 400; font-size: 24px; line-height: 1.42; letter-spacing: -.003em; color: var(--bv-tekst-kleur, var(--bv-zetsel)); max-width: 34em; }
@media (max-width: 1024px) { .bv-lead, .bv-lead p { font-size: 22px; } }
@media (max-width: 767px) { .bv-lead, .bv-lead p { font-size: 19px; line-height: 1.45; } }
.bv-initiaal > p:first-of-type::first-letter, p.bv-initiaal::first-letter {
  float: left; font-family: var(--bv-serif); font-weight: 800; font-size: 4.1em; line-height: .82; padding: .06em .1em 0 0; color: var(--bv-blauw);
}
.bv-editieregel { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; margin: 0; padding: 0; list-style: none;
  font-family: var(--bv-sans); font-weight: 600; font-size: 12px; line-height: 1.4; letter-spacing: .08em; text-transform: uppercase; color: var(--bv-meta-kleur, var(--bv-grijs)); font-variant-numeric: tabular-nums lining-nums; }
.bv-editieregel > * + *::before { content: ""; display: inline-block; width: 1px; height: 1em; margin: 0 10px; vertical-align: -.15em; background: currentColor; opacity: .5; }
.bv-regel { border: 0; border-top: 1px solid var(--bv-lijn-kleur, var(--bv-inkt)); margin: 0; }
.bv-regel--dubbel { border-top: 3px solid var(--bv-inkt); box-shadow: 0 3px 0 0 var(--bv-papier), 0 4px 0 0 var(--bv-inkt); height: 5px; }
.bv-regel--zacht { border-top-color: var(--bv-lijn); }

/* 6. Markeerstift: geel vlak achter een woord, inkt-tekst, RECHT (nooit cursief of schuin) */
.bv-markeer {
  color: var(--bv-inkt); padding: 0 .08em; margin: 0 -.02em;
  background-image: linear-gradient(var(--bv-y), var(--bv-y)); background-repeat: no-repeat;
  background-size: 100% 76%; background-position: 0 58%;
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.bv-op-blauw .bv-markeer, .bv-op-donker .bv-markeer { color: var(--bv-inkt); }
.bv-markeer--anim { background-size: 0% 76%; transition: background-size 900ms var(--bv-ease-pers) 200ms; }
.bv-markeer--anim.is-in, .is-in .bv-markeer--anim { background-size: 100% 76%; }
.bv-accent { color: var(--bv-blauw); }
.bv-op-donker .bv-accent, .bv-op-blauw .bv-accent { color: var(--bv-y); }

/* 7. Knoppen. Elementor-knop: class op de widget (bv-knop--secundair ...). Eigen HTML: <a class="bv-knop">.
   Primair = Bode-blauw met witte tekst (kit-standaard). Pijl: <span class="bv-knop__pijl" aria-hidden="true">→</span> */
a.bv-knop, button.bv-knop, .bv-knop .elementor-button, .elementor-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px;
  font-family: var(--bv-sans); font-weight: 700; font-size: 16px; line-height: 1.2; letter-spacing: .01em; text-decoration: none;
  border-radius: var(--bv-radius);
  transition: background-color var(--bv-dur-kort) var(--bv-ease), color var(--bv-dur-kort) var(--bv-ease), border-color var(--bv-dur-kort) var(--bv-ease), transform var(--bv-dur-kort) var(--bv-ease), box-shadow var(--bv-dur-kort) var(--bv-ease);
}
a.bv-knop, button.bv-knop { padding: 14px 24px; background: var(--bv-blauw); color: var(--bv-wit); border: 1px solid var(--bv-blauw); cursor: pointer; }
a.bv-knop:hover, button.bv-knop:hover { background: var(--bv-blauw-diep); border-color: var(--bv-blauw-diep); color: var(--bv-wit); }
a.bv-knop:active, button.bv-knop:active, .elementor-button:active { transform: translateY(1px); }
.bv-knop__pijl, .elementor-button .elementor-button-icon { transition: transform var(--bv-dur) var(--bv-ease); }
a.bv-knop:hover .bv-knop__pijl, .bv-knop .elementor-button:hover .elementor-button-icon { transform: translateX(4px); }
/* secundair: inkt-outline op licht */
a.bv-knop--secundair, .bv-knop--secundair .elementor-button { background: transparent; color: var(--bv-inkt); border: 1px solid var(--bv-inkt); }
a.bv-knop--secundair:hover, .bv-knop--secundair .elementor-button:hover { background: var(--bv-inkt); color: var(--bv-papier); border-color: var(--bv-inkt); }
/* op donker / op blauw: primair = Geel met inkt-tekst (15,4:1), secundair = witte outline */
:is(.bv-op-donker, .bv-op-blauw) a.bv-knop:not(.bv-knop--secundair), a.bv-knop--geel, :is(.bv-op-donker, .bv-op-blauw) .bv-knop:not(.bv-knop--secundair) .elementor-button, .bv-knop--geel .elementor-button { background: var(--bv-y); color: var(--bv-inkt); border-color: var(--bv-y); }
:is(.bv-op-donker, .bv-op-blauw) a.bv-knop:not(.bv-knop--secundair):hover, a.bv-knop--geel:hover, :is(.bv-op-donker, .bv-op-blauw) .bv-knop:not(.bv-knop--secundair) .elementor-button:hover, .bv-knop--geel .elementor-button:hover { background: var(--bv-wit); border-color: var(--bv-wit); color: var(--bv-inkt); }
:is(.bv-op-donker, .bv-op-blauw) a.bv-knop--secundair, :is(.bv-op-donker, .bv-op-blauw) .bv-knop--secundair .elementor-button { background: transparent; color: var(--bv-wit); border-color: rgba(255,255,255,.7); }
:is(.bv-op-donker, .bv-op-blauw) a.bv-knop--secundair:hover, :is(.bv-op-donker, .bv-op-blauw) .bv-knop--secundair .elementor-button:hover { background: var(--bv-wit); color: var(--bv-inkt); border-color: var(--bv-wit); }
/* tekstlink-knop: "Lees de volledige editie →" */
a.bv-link, .bv-link a { display: inline-flex; align-items: center; gap: 8px; font-family: var(--bv-sans); font-weight: 700; font-size: 16px; color: var(--bv-blauw); text-decoration: none; border-bottom: 2px solid currentColor; padding-bottom: 2px; }
a.bv-link:hover, .bv-link a:hover { color: var(--bv-inkt); }
:is(.bv-op-donker, .bv-op-blauw) a.bv-link, :is(.bv-op-donker, .bv-op-blauw) .bv-link a { color: var(--bv-wit); border-bottom-color: var(--bv-y); }
.bv-knoppen { display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: center; }
@media (max-width: 767px) { .bv-knoppen--vol > a.bv-knop { flex: 1 1 100%; } }

/* 8. Editie-covercard: echte cover als vel papier */
.bv-cover { position: relative; display: block; margin: 0; color: inherit; text-decoration: none; }
.bv-cover--typo { container-type: inline-size; }
.bv-cover__vel { position: relative; display: block; aspect-ratio: 595 / 794; background: var(--bv-wit); box-shadow: var(--bv-schaduw-vel);
  transition: transform var(--bv-dur) var(--bv-ease), box-shadow var(--bv-dur) var(--bv-ease); transform-origin: 50% 100%; }
.bv-cover__vel img { display: block; width: 100%; height: 100%; object-fit: cover; }
.bv-cover__vel::after { content: ""; position: absolute; inset: 0; pointer-events: none; box-shadow: inset 0 0 0 1px rgba(16,19,24,.08); background: linear-gradient(90deg, rgba(16,19,24,.07), transparent 6%); }
a.bv-cover:hover .bv-cover__vel, a.bv-cover:focus-visible .bv-cover__vel { transform: translateY(-6px) rotate(-.6deg); box-shadow: var(--bv-schaduw-vel-hoog); }
.bv-cover--stapel { isolation: isolate; }
.bv-cover--stapel .bv-cover__vel::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--bv-wit); box-shadow: var(--bv-schaduw-vel); transform: translate(8px, 6px) rotate(1.4deg); }
.bv-cover__meta { display: flex; justify-content: space-between; gap: 8px; margin-top: 14px; font-family: var(--bv-sans); font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--bv-meta-kleur, var(--bv-grijs)); font-variant-numeric: tabular-nums lining-nums; }
.bv-cover__titel { display: block; margin-top: 4px; font-family: var(--bv-serif); font-weight: 600; font-size: 20px; line-height: 1.25; color: var(--bv-tekst-kleur, var(--bv-inkt)); }
.bv-cover__label { position: absolute; bottom: 14px; left: -6px; z-index: 2; padding: 6px 10px; background: var(--bv-y); color: var(--bv-inkt); font-family: var(--bv-sans); font-weight: 700; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
/* typografische cover (geen coverbeeld): masthead + nummer + datum, schaalt met de kaart (container query) */
.bv-cover--typo .bv-cover__vel { display: flex; flex-direction: column; padding: 7cqi 7cqi 6cqi; color: var(--bv-inkt); }
.bv-cover--typo .bv-cover__mast { font-family: var(--bv-serif); font-weight: 800; font-size: 13.5cqi; line-height: .9; letter-spacing: -.03em; color: var(--bv-blauw); }
.bv-cover--typo .bv-cover__mast small { display: block; font-size: .42em; letter-spacing: .02em; font-weight: 700; }
.bv-cover--typo .bv-cover__regel { margin: 4cqi 0 0; padding-top: 2cqi; border-top: 1.4cqi solid currentColor; font-family: var(--bv-sans); font-size: 3.4cqi; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; display: flex; justify-content: space-between; }
.bv-cover--typo .bv-cover__nr { margin-top: auto; font-family: var(--bv-serif); font-weight: 700; font-size: 30cqi; line-height: .85; letter-spacing: -.04em; font-variant-numeric: lining-nums; }
.bv-cover--typo .bv-cover__datum { margin-top: 2cqi; font-family: var(--bv-sans); font-size: 4.2cqi; font-weight: 600; color: var(--bv-grijs); }
.bv-cover--typo .bv-cover__beeld { margin-top: 5cqi; height: 26%; background-color: var(--bv-papier-diep); background-image: var(--bv-svg-raster); background-size: 2.4cqi 2.4cqi; opacity: .9; }
.bv-cover--regionaal.bv-cover--typo .bv-cover__mast { color: var(--bv-regio-diep); }

/* 9. Ornamenten (drukkerij). Kleur volgt currentColor via mask, behalve het CMYK-strookje. Max. 2 per schermhoogte. */
.bv-paskruis { display: inline-block; width: 24px; height: 24px; flex: none; background: currentColor; color: var(--bv-inkt);
  -webkit-mask: var(--bv-svg-paskruis) center / contain no-repeat; mask: var(--bv-svg-paskruis) center / contain no-repeat; }
.bv-paskruis--klein { width: 16px; height: 16px; }
.bv-paskruis--groot { width: 40px; height: 40px; }
.bv-op-donker .bv-paskruis, .bv-op-blauw .bv-paskruis { color: var(--bv-wit); opacity: .8; }
.bv-cmyk { display: inline-block; width: 130px; height: 12px; flex: none; background: var(--bv-svg-cmyk) left center / auto 100% no-repeat; }
.bv-cmyk--klein { width: 65px; height: 6px; }
.bv-cmyk--4 { width: 51px; }
/* snijtekens rond een element (positioneert zelf; het element krijgt position:relative) */
.bv-snijtekens { position: relative; }
.bv-snijtekens::before { content: ""; position: absolute; inset: -16px; pointer-events: none; z-index: 1; background: var(--bv-snij-kleur, var(--bv-inkt));
  -webkit-mask: var(--bv-svg-snij-lb) left top / 16px 16px no-repeat, var(--bv-svg-snij-rb) right top / 16px 16px no-repeat, var(--bv-svg-snij-lo) left bottom / 16px 16px no-repeat, var(--bv-svg-snij-ro) right bottom / 16px 16px no-repeat;
  mask: var(--bv-svg-snij-lb) left top / 16px 16px no-repeat, var(--bv-svg-snij-rb) right top / 16px 16px no-repeat, var(--bv-svg-snij-lo) left bottom / 16px 16px no-repeat, var(--bv-svg-snij-ro) right bottom / 16px 16px no-repeat; }
.bv-op-donker .bv-snijtekens, .bv-op-blauw .bv-snijtekens { --bv-snij-kleur: rgba(255,255,255,.75); }
.bv-snijtekens--hover::before { opacity: 0; transition: opacity var(--bv-dur) var(--bv-ease); }
.bv-snijtekens--hover:hover::before, .bv-snijtekens--hover:focus-within::before { opacity: 1; }
/* rasterpunten als vlak (bv. achter een cijfer of als beeldvervanger) */
.bv-rasterpunt { background-image: var(--bv-svg-raster); background-size: 8px 8px; }
.bv-rasterpunt--zacht { position: relative; }
.bv-rasterpunt--zacht::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: currentColor; opacity: .26;
  -webkit-mask: var(--bv-svg-raster) 0 0 / 8px 8px; mask: var(--bv-svg-raster) 0 0 / 8px 8px; }
/* kolomlijnen (krantenraster) achter de inhoud: zet op de binnencontainer; 12 / 6 / 4 kolommen */
.bv-kolomlijnen { --bv-kol: 12; position: relative; }
.bv-kolomlijnen::before { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background-image: linear-gradient(to right, var(--bv-lijn-kleur, var(--bv-lijn)) 1px, transparent 1px);
  background-size: calc((100% + var(--bv-gap)) / var(--bv-kol)) 100%; background-position: calc(var(--bv-gap) / -2) 0; background-repeat: repeat-x;
  -webkit-mask: linear-gradient(to right, transparent 0, #000 calc(var(--bv-gap) / 2), #000 calc(100% - var(--bv-gap) / 2), transparent 100%);
  mask: linear-gradient(to right, transparent 0, #000 calc(var(--bv-gap) / 2), #000 calc(100% - var(--bv-gap) / 2), transparent 100%); }
.bv-kolomlijnen > * { position: relative; z-index: 1; }
.bv-kolomlijnen--6 { --bv-kol: 6; } .bv-kolomlijnen--4 { --bv-kol: 4; } .bv-kolomlijnen--3 { --bv-kol: 3; }
@media (max-width: 1024px) { .bv-kolomlijnen { --bv-kol: 6; } }
@media (max-width: 767px) { .bv-kolomlijnen::before { display: none; } } /* op mobiel geen kolomlijnen: ze snijden door de tekst */
/* drukrand: rij met paskruis, kleurstrookje en registerlijn (bv. onderaan een sectie of in de footer) */
.bv-drukrand { display: flex; align-items: center; gap: 16px; color: var(--bv-inkt); }
.bv-drukrand::after { content: ""; flex: 1 1 auto; height: 1px; background: currentColor; opacity: .35; }
.bv-op-donker .bv-drukrand, .bv-op-blauw .bv-drukrand { color: var(--bv-wit); }

/* 10. Titelkaart (Bode / Regionaal) */
.bv-titelkaart { position: relative; display: flex; flex-direction: column; gap: 20px; height: 100%; padding: 36px 32px 32px; background: var(--bv-wit); color: var(--bv-zetsel);
  border-top: 8px solid var(--bv-titel-kleur, var(--bv-blauw)); box-shadow: var(--bv-schaduw-kaart); }
.bv-titelkaart--regionaal { --bv-titel-kleur: var(--bv-regio); }
.bv-titelkaart__mast { margin: 0; font-family: var(--bv-serif); font-weight: 800; font-size: 52px; line-height: .92; letter-spacing: -.03em; color: var(--bv-titel-tekst, var(--bv-blauw)); }
.bv-titelkaart--regionaal .bv-titelkaart__mast { --bv-titel-tekst: var(--bv-regio-diep); }
.bv-titelkaart__cijfer { font-family: var(--bv-serif); font-weight: 700; font-size: 64px; line-height: .95; letter-spacing: -.03em; color: var(--bv-inkt); font-variant-numeric: lining-nums tabular-nums; }
.bv-titelkaart__cijfer small { display: block; margin-top: 6px; font-family: var(--bv-sans); font-size: 14px; font-weight: 600; letter-spacing: .04em; color: var(--bv-grijs); }
.bv-titelkaart__gemeenten { margin: 0; padding: 14px 0 0; list-style: none; border-top: 1px solid var(--bv-lijn); columns: 2; column-gap: 20px; font-family: var(--bv-sans); font-size: 14px; line-height: 1.75; color: var(--bv-zetsel); }
.bv-titelkaart__gemeenten li { break-inside: avoid; }
.bv-titelkaart__voet { margin-top: auto; display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; }
@media (max-width: 767px) { .bv-titelkaart { padding: 28px 22px 24px; } .bv-titelkaart__mast { font-size: 38px; } .bv-titelkaart__cijfer { font-size: 48px; } }

/* 11. Drukwerkkaart (product) */
.bv-drukwerkkaart { position: relative; display: flex; flex-direction: column; height: 100%; background: var(--bv-wit); color: var(--bv-zetsel); text-decoration: none; box-shadow: 0 0 0 1px var(--bv-lijn);
  transition: box-shadow var(--bv-dur) var(--bv-ease), transform var(--bv-dur) var(--bv-ease); }
.bv-drukwerkkaart:hover, .bv-drukwerkkaart:focus-within { box-shadow: 0 0 0 1px var(--bv-inkt), var(--bv-schaduw-kaart); }
.bv-drukwerkkaart__beeld { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--bv-papier-diep); }
.bv-drukwerkkaart__beeld img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--bv-dur-lang) var(--bv-ease); }
.bv-drukwerkkaart:hover .bv-drukwerkkaart__beeld img { transform: scale(1.04); }
.bv-drukwerkkaart__beeld::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background: var(--bv-svg-cmyk) left center / auto 100% repeat-x; transform: scaleX(0); transform-origin: left; transition: transform var(--bv-dur-lang) var(--bv-ease-pers); }
.bv-drukwerkkaart:hover .bv-drukwerkkaart__beeld::after, .bv-drukwerkkaart:focus-within .bv-drukwerkkaart__beeld::after { transform: scaleX(1); }
.bv-drukwerkkaart__tekst { display: flex; flex-direction: column; gap: 8px; padding: 22px 24px 24px; flex: 1; }
.bv-drukwerkkaart__soort { font-family: var(--bv-sans); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--bv-grijs); }
.bv-drukwerkkaart__titel { margin: 0; font-family: var(--bv-serif); font-weight: 700; font-size: 22px; line-height: 1.25; color: var(--bv-inkt); }
.bv-drukwerkkaart__titel a { color: inherit; text-decoration: none; }
.bv-drukwerkkaart__titel a::after { content: ""; position: absolute; inset: 0; z-index: 2; } /* hele kaart klikbaar */
.bv-drukwerkkaart__cta { margin-top: auto; padding-top: 10px; font-family: var(--bv-sans); font-weight: 700; font-size: 15px; color: var(--bv-blauw); }
.bv-drukwerkkaart__folie { position: absolute; top: 12px; right: 12px; z-index: 1; padding: 5px 9px; background: var(--bv-inkt); color: var(--bv-y); font-family: var(--bv-sans); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }

/* 12. Masthead-header + volgende-editie-balk (Theme Builder header van de bouwers) */
.bv-volgende { display: flex; align-items: center; justify-content: center; gap: 8px 18px; flex-wrap: wrap; min-height: 36px; padding: 7px var(--bv-rand);
  background: var(--bv-inkt); color: var(--bv-papier); font-family: var(--bv-sans); font-size: 13px; font-weight: 500; line-height: 1.35; font-variant-numeric: tabular-nums lining-nums; }
.bv-volgende strong { font-weight: 700; color: var(--bv-wit); }
.bv-volgende a { color: var(--bv-wit); text-decoration: underline; text-decoration-color: var(--bv-y); }
.bv-volgende__deel { display: inline-flex; align-items: center; gap: 8px; }
.bv-volgende__deel + .bv-volgende__deel::before { content: ""; width: 1px; height: 14px; margin-right: 10px; background: var(--bv-lijn-donker); }
.bv-volgende__stip { width: 8px; height: 8px; border-radius: 50%; background: var(--bv-c); flex: none; }
.bv-volgende__stip--deadline { background: var(--bv-m); }
.bv-volgende__stip--dringend { background: var(--bv-y); animation: bv-puls 1.6s var(--bv-ease-in-out) infinite; }
@keyframes bv-puls { 50% { opacity: .35; } }
@media (max-width: 767px) { .bv-volgende { justify-content: flex-start; gap: 2px 14px; font-size: 12px; padding-block: 6px; } .bv-volgende__extra { display: none; } .bv-volgende__deel + .bv-volgende__deel::before { display: none; } }
.bv-masthead { background: var(--bv-papier); border-bottom: 1px solid var(--bv-inkt); box-shadow: 0 3px 0 -2px var(--bv-papier), 0 4px 0 -2px var(--bv-inkt);
  transition: box-shadow var(--bv-dur) var(--bv-ease), background-color var(--bv-dur) var(--bv-ease); }
.bv-masthead__editieregel { font-family: var(--bv-sans); font-size: 11.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--bv-grijs); font-variant-numeric: tabular-nums lining-nums; }
.bv-masthead__logo img, .bv-masthead__logo svg { display: block; width: 176px; height: auto; }
.bv-masthead__nav a { font-family: var(--bv-sans); font-weight: 600; font-size: 15.5px; color: var(--bv-inkt); text-decoration: none; padding: 8px 2px; background: linear-gradient(var(--bv-blauw), var(--bv-blauw)) left bottom / 0 2px no-repeat; transition: background-size var(--bv-dur) var(--bv-ease), color var(--bv-dur-kort); }
.bv-masthead__nav a:hover, .bv-masthead__nav .current-menu-item > a, .bv-masthead__nav a[aria-current="page"] { color: var(--bv-blauw); background-size: 100% 2px; }
a.bv-masthead__tel { font-family: var(--bv-sans); font-weight: 700; font-size: 15px; color: var(--bv-inkt); text-decoration: none; font-variant-numeric: tabular-nums lining-nums; white-space: nowrap; }
body.bv-gescrold .bv-masthead { box-shadow: 0 1px 0 var(--bv-inkt), 0 10px 24px -16px rgba(16,19,24,.4); }
@media (max-width: 1024px) { .bv-masthead__logo img, .bv-masthead__logo svg { width: 132px; } .bv-masthead__editieregel { display: none; } }

/* 13. Formulieren (aanvulling op de kit: Elementor Pro-formulieren en eigen HTML met .bv-form) */
.elementor-form .elementor-field-group > label, .bv-form label { font-family: var(--bv-sans); font-weight: 600; font-size: 14px; color: var(--bv-inkt); margin-bottom: 6px; }
.elementor-form .elementor-field-textual, .bv-form :is(input:not([type=checkbox]):not([type=radio]), select, textarea) { min-height: 50px; border-radius: var(--bv-radius); transition: border-color var(--bv-dur-kort) var(--bv-ease), box-shadow var(--bv-dur-kort) var(--bv-ease); }
.elementor-form .elementor-field-textual:focus, .bv-form :is(input, select, textarea):focus { border-color: var(--bv-blauw) !important; box-shadow: 0 0 0 3px var(--bv-blauwdruk); outline: none; }
.elementor-form .elementor-field-textual::placeholder, .bv-form ::placeholder { color: var(--bv-grijs); opacity: 1; }
.elementor-form .elementor-field-type-acceptance, .elementor-form .elementor-field-subgroup { font-family: var(--bv-sans); font-size: 15px; }
.elementor-form input[type=checkbox], .elementor-form input[type=radio], .bv-form input[type=checkbox], .bv-form input[type=radio] { width: 20px; height: 20px; accent-color: var(--bv-blauw); vertical-align: -4px; margin-right: 8px; }
.elementor-form .elementor-message-danger, .elementor-form .elementor-error .elementor-field-textual + span, .bv-form .bv-fout { color: var(--bv-m-diep); font-family: var(--bv-sans); font-size: 14px; font-weight: 600; }
.elementor-form .elementor-error .elementor-field-textual { border-color: var(--bv-m-diep) !important; }
.elementor-form .elementor-message-success { color: var(--bv-inkt); background: var(--bv-blauwdruk); border-left: 4px solid var(--bv-blauw); padding: 14px 16px; font-family: var(--bv-sans); }
.bv-form-noot { font-family: var(--bv-sans); font-size: 14px; color: var(--bv-grijs); }
.bv-formkaart { background: var(--bv-wit); padding: 40px; box-shadow: 0 0 0 1px var(--bv-lijn), var(--bv-schaduw-kaart); }
@media (max-width: 767px) { .bv-formkaart { padding: 24px 20px; } }

/* 14. FAQ (Elementor nested accordion met class bv-faq, of <details class="bv-faq__item">) */
.bv-faq { border-top: 2px solid var(--bv-inkt); }
.bv-faq :is(.e-n-accordion-item, details.bv-faq__item) { border-bottom: 1px solid var(--bv-lijn-kleur, var(--bv-lijn)); }
.bv-faq :is(.e-n-accordion-item-title, details.bv-faq__item > summary) { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 22px 0; cursor: pointer; list-style: none;
  font-family: var(--bv-serif); font-weight: 700; font-size: 22px; line-height: 1.3; color: var(--bv-tekst-kleur, var(--bv-inkt)); background: none; border: 0; }
.bv-faq details.bv-faq__item > summary::-webkit-details-marker { display: none; }
.bv-faq details.bv-faq__item > summary::after { content: ""; flex: none; width: 14px; height: 14px; background: linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat, linear-gradient(currentColor, currentColor) center / 2px 100% no-repeat; transition: transform var(--bv-dur) var(--bv-ease); }
.bv-faq details.bv-faq__item[open] > summary::after { transform: rotate(45deg); }
.bv-faq :is(.e-n-accordion-item-title, summary):hover { color: var(--bv-blauw); }
.bv-faq :is(.e-n-accordion-item > [role=region], .bv-faq__antwoord) { padding: 0 0 24px; max-width: 46em; font-family: var(--bv-sans); font-size: 17px; line-height: 1.62; color: var(--bv-tekst-kleur, var(--bv-zetsel)); }
@media (max-width: 767px) { .bv-faq :is(.e-n-accordion-item-title, details.bv-faq__item > summary) { font-size: 19px; padding: 18px 0; } }

/* 15. Kalendertabel (verschijningsdata) */
.bv-tabelwrap { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.bv-kalender { width: 100%; border-collapse: collapse; font-family: var(--bv-sans); font-size: 16px; color: var(--bv-zetsel); background: var(--bv-wit); }
.bv-kalender caption { text-align: left; padding: 0 0 12px; font-family: var(--bv-serif); font-weight: 600; font-size: 26px; color: var(--bv-inkt); }
.bv-kalender th { text-align: left; padding: 12px 16px; background: var(--bv-papier-diep); border-bottom: 2px solid var(--bv-inkt); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--bv-inkt); white-space: nowrap; }
.bv-kalender td { padding: 14px 16px; border-bottom: 1px solid var(--bv-lijn); vertical-align: middle; white-space: nowrap; }
.bv-kalender :is(td, th) { border-top: 0; border-left: 0; border-right: 0; }
.bv-kalender tbody > tr:nth-child(n) > td { background-color: transparent; }
.bv-kalender tbody > tr:nth-child(n):hover > td { background-color: var(--bv-papier); }
.bv-kalender td.bv-kalender__nr { font-family: var(--bv-serif); font-weight: 700; font-size: 20px; color: var(--bv-inkt); }
.bv-kalender tr.is-voorbij td { color: var(--bv-grijs); }
.bv-kalender tr.is-voorbij td.bv-kalender__nr { color: var(--bv-grijs); font-weight: 600; }
.bv-kalender tbody > tr.is-volgende:nth-child(n) > td { background: var(--bv-blauwdruk); color: var(--bv-inkt); font-weight: 600; }
.bv-kalender tr.is-volgende td:first-child { box-shadow: inset 4px 0 0 var(--bv-blauw); }
.bv-kalender__label { display: inline-block; margin-left: 10px; padding: 3px 8px; background: var(--bv-blauw); color: var(--bv-wit); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; vertical-align: 2px; }
.bv-kalender__dringend { color: var(--bv-m-diep); font-weight: 700; }
.bv-pil { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; font-family: var(--bv-sans); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; background: var(--bv-blauwdruk); color: var(--bv-blauw); }
.bv-pil--regio { background: color-mix(in srgb, var(--bv-regio) 14%, var(--bv-wit)); color: var(--bv-regio-diep); }
.bv-pil--beide { background: var(--bv-papier-diep); color: var(--bv-inkt); }

/* 16. Verspreidingskaart: gebiedskleuren (SVG-paden of kaartlagen krijgen deze classes/variabelen) */
body { --bv-gebied-bode: var(--bv-blauw); --bv-gebied-regio: var(--bv-regio); --bv-gebied-grens: var(--bv-papier); }
.bv-kaart { position: relative; background: var(--bv-papier-diep); }
.bv-kaart .bv-gebied { stroke: var(--bv-gebied-grens); stroke-width: 1.5; vector-effect: non-scaling-stroke; transition: fill-opacity var(--bv-dur-kort) var(--bv-ease), fill var(--bv-dur-kort); cursor: pointer; }
.bv-kaart .bv-gebied--bode { fill: var(--bv-gebied-bode); fill-opacity: .85; }
.bv-kaart .bv-gebied--regio { fill: var(--bv-gebied-regio); fill-opacity: .85; }
.bv-kaart .bv-gebied--beide { fill: url(#bv-arcering-beide); }
.bv-kaart .bv-gebied--buiten { fill: var(--bv-lijn); fill-opacity: .6; cursor: default; }
.bv-kaart .bv-gebied:hover, .bv-kaart .bv-gebied:focus, .bv-kaart .bv-gebied.is-actief { fill: var(--bv-y); fill-opacity: 1; outline: none; }
.bv-kaart .bv-gebied:focus-visible { stroke: var(--bv-inkt); stroke-width: 3; }
.bv-kaart__label { font-family: var(--bv-sans); font-size: 12px; font-weight: 700; fill: var(--bv-wit); pointer-events: none; paint-order: stroke; stroke: rgba(16,19,24,.35); stroke-width: 2px; }
.bv-kaart__punt { fill: var(--bv-inkt); stroke: var(--bv-papier); stroke-width: 2; }
.bv-legenda { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 16px 0 0; padding: 0; list-style: none; font-family: var(--bv-sans); font-size: 14px; font-weight: 600; color: var(--bv-inkt); }
.bv-legenda li { display: inline-flex; align-items: center; gap: 8px; }
.bv-legenda .bv-legenda__kleur { width: 16px; height: 16px; flex: none; background: var(--bv-gebied-bode); }
.bv-legenda .bv-legenda--regio .bv-legenda__kleur { background: var(--bv-gebied-regio); }
.bv-legenda .bv-legenda--beide .bv-legenda__kleur { background: repeating-linear-gradient(135deg, var(--bv-gebied-bode) 0 4px, var(--bv-gebied-regio) 4px 8px); }
.bv-kaart__info { position: absolute; left: 16px; bottom: 16px; max-width: 300px; padding: 16px 18px; background: var(--bv-wit); box-shadow: var(--bv-schaduw-kaart); font-family: var(--bv-sans); font-size: 15px; }
.bv-kaart__info strong { display: block; font-family: var(--bv-serif); font-size: 22px; color: var(--bv-inkt); }

/* 17. Footer (colofon) */
.bv-footer { background: var(--bv-inkt); color: var(--bv-papier); font-family: var(--bv-sans); font-size: 15px; line-height: 1.7; }
.bv-footer :is(h2, h3, h4, .elementor-heading-title) { color: var(--bv-wit); }
.bv-footer__kop { font-family: var(--bv-sans); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--bv-y); margin: 0 0 14px; }
.bv-footer a { color: var(--bv-papier); text-decoration: none; background: linear-gradient(var(--bv-y), var(--bv-y)) left bottom / 0 1px no-repeat; transition: background-size var(--bv-dur) var(--bv-ease), color var(--bv-dur-kort); }
.bv-footer a:hover { color: var(--bv-wit); background-size: 100% 1px; }
.bv-footer__meta { color: var(--bv-grijs-donker); font-size: 13px; font-variant-numeric: tabular-nums lining-nums; }
.bv-footer__onder { border-top: 1px solid var(--bv-lijn-donker); }
.bv-footer__monogram { width: 220px; aspect-ratio: 73 / 83; background: var(--bv-inkt-zacht); -webkit-mask: var(--bv-svg-monogram) center / contain no-repeat; mask: var(--bv-svg-monogram) center / contain no-repeat; }

/* 18. Sticky mobiele balk (Bel / Zoekertje / Offerte), enkel <= 1024 px */
.bv-mobielbalk { position: fixed; left: 0; right: 0; bottom: 0; z-index: 990; display: none; grid-template-columns: repeat(3, 1fr);
  background: var(--bv-inkt); border-top: 1px solid var(--bv-lijn-donker); padding-bottom: env(safe-area-inset-bottom, 0); transform: translateY(0); transition: transform var(--bv-dur) var(--bv-ease); }
.bv-mobielbalk a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 60px; color: var(--bv-papier); text-decoration: none; font-family: var(--bv-sans); font-size: 13px; font-weight: 700; }
.bv-mobielbalk a + a { border-left: 1px solid var(--bv-lijn-donker); }
.bv-mobielbalk a svg { width: 20px; height: 20px; }
.bv-mobielbalk a.is-hoofd { background: var(--bv-y); color: var(--bv-inkt); }
.bv-mobielbalk.is-verborgen { transform: translateY(110%); }
@media (max-width: 1024px) { .bv-mobielbalk { display: grid; } body.bv-heeft-mobielbalk { padding-bottom: calc(60px + env(safe-area-inset-bottom, 0)); } }

/* 19. Toastmelding (role="status" aria-live="polite") */
.bv-toast { position: fixed; right: 24px; bottom: 24px; z-index: 1000; max-width: min(420px, calc(100vw - 32px)); display: flex; gap: 14px; align-items: flex-start; padding: 16px 18px;
  background: var(--bv-inkt); color: var(--bv-papier); border-left: 4px solid var(--bv-y); box-shadow: 0 18px 40px -20px rgba(16,19,24,.6); font-family: var(--bv-sans); font-size: 15px; line-height: 1.45;
  transform: translateY(16px); opacity: 0; pointer-events: none; transition: transform var(--bv-dur) var(--bv-ease-pers), opacity var(--bv-dur) var(--bv-ease); }
.bv-toast.is-zichtbaar { transform: none; opacity: 1; pointer-events: auto; }
.bv-toast strong { display: block; color: var(--bv-wit); }
.bv-toast--fout { border-left-color: var(--bv-m); }
@media (max-width: 1024px) { .bv-toast { left: 16px; right: 16px; bottom: calc(72px + env(safe-area-inset-bottom, 0)); } }

/* 20. Kerncijfers en tellers */
.bv-cijfer { display: block; font-family: var(--bv-serif); font-weight: 700; font-size: 84px; line-height: .95; letter-spacing: -.03em; color: var(--bv-inkt); }
.bv-op-donker .bv-cijfer, .bv-op-blauw .bv-cijfer { color: var(--bv-y); }
.bv-cijfer__label { display: block; margin-top: 10px; font-family: var(--bv-sans); font-size: 15px; font-weight: 600; color: var(--bv-meta-kleur, var(--bv-grijs)); }
@media (max-width: 1024px) { .bv-cijfer { font-size: 64px; } }
@media (max-width: 767px) { .bv-cijfer { font-size: 48px; } }
.bv-cijferrij { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); border-top: 1px solid var(--bv-lijn-kleur, var(--bv-inkt)); }
.bv-cijferrij > * { padding: 24px 24px 0 0; }
.bv-cijferrij > * + * { padding-left: 24px; border-left: 1px solid var(--bv-lijn-kleur, var(--bv-lijn)); }
@media (max-width: 767px) { .bv-cijferrij > * + * { padding-left: 0; border-left: 0; } }

/* 21. Beweging: reveals (.bv-reveal -> .is-in, JS van de bouwers), static-modus en reduced motion */
html.bv-js .bv-reveal { opacity: 0; transform: translateY(18px); transition: opacity var(--bv-dur-reveal) var(--bv-ease), transform var(--bv-dur-reveal) var(--bv-ease); transition-delay: calc(var(--bv-i, 0) * 80ms); }
html.bv-js .bv-reveal.is-in { opacity: 1; transform: none; }
html.bv-js .bv-reveal--register { opacity: 0; transform: none; filter: none; }
html.bv-js .bv-reveal--register.is-in { opacity: 1; animation: bv-register 900ms var(--bv-ease-pers) both; }
@keyframes bv-register { 0% { text-shadow: -6px 0 0 rgba(0,160,227,.75), 6px 0 0 rgba(229,0,125,.7), 0 5px 0 rgba(255,237,0,.8); } 100% { text-shadow: 0 0 0 transparent, 0 0 0 transparent, 0 0 0 transparent; } }
.bv-static .bv-reveal, .bv-static .bv-reveal--register, .bv-static .bv-markeer--anim { opacity: 1 !important; transform: none !important; animation: none !important; transition: none !important; background-size: 100% 76% !important; }
@media (prefers-reduced-motion: reduce) {
  html.bv-js .bv-reveal, html.bv-js .bv-reveal--register { opacity: 1; transform: none; animation: none; transition: none; }
  .bv-markeer--anim { background-size: 100% 76%; transition: none; }
  body *, body *::before, body *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* 22. Regionaal-varianten van knop en link */
a.bv-knop--regio, .bv-knop--regio .elementor-button { background: var(--bv-regio-diep); border-color: var(--bv-regio-diep); color: var(--bv-wit); }
a.bv-knop--regio:hover, .bv-knop--regio .elementor-button:hover { background: var(--bv-inkt); border-color: var(--bv-inkt); color: var(--bv-wit); }
a.bv-link--regio, .bv-link--regio a { color: var(--bv-regio-diep); }
/* bv-design:end */
/* bv-chrome:start */
/* Bouwer-fundament: header, lade, mega-menu, footer, mobiele balk, covermuur, listings, 404. Bron tools/chrome/kit.css (tools/chrome/kit-css.sh).
   Enkel tokens uit de kit (design.md). Geen backslashes (Elementor haalt ze weg). */

/* A. Header-omhulsel: sticky; topbalk en editieregel schuiven weg (top = -hoogte), de rij met logo en menu blijft. Geen layoutsprong. */
.elementor-location-header { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) - var(--bv-kop-weg, 0px)); z-index: 900; }
.elementor-location-header .bv-kop, .elementor-location-header .e-con.bv-kop { --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; padding: 0; }
.bv-kop .elementor-widget-shortcode, .bv-kop .elementor-shortcode { width: 100%; }
.bv-kop__melding:empty, .bv-kop__melding .elementor-shortcode:empty { display: none; }
.bv-kop__binnen { box-sizing: border-box; width: 100%; max-width: calc(var(--bv-inhoud) + 2 * var(--bv-rand)); margin: 0 auto; padding: 0 var(--bv-rand); display: flex; align-items: center; }

/* B. Topbalk (volgende editie). Desktop: lange vorm; mobiel: één compacte regel. */
.bv-topbalk { position: relative; z-index: 2; }
.bv-topbalk__inhoud { display: contents; }
.bv-topbalk__kort { display: none; align-items: center; gap: 8px; white-space: nowrap; }
.bv-topbalk__sep { margin: 0 2px; color: var(--bv-grijs-donker); }
.bv-topbalk__link { color: var(--bv-papier); text-decoration: underline; text-decoration-color: var(--bv-y); text-underline-offset: .2em; }
.bv-topbalk__link:hover { color: var(--bv-wit); }
.bv-topbalk time { white-space: nowrap; }
@media (max-width: 767px) {
  .bv-topbalk { min-height: 32px; padding-block: 6px; justify-content: flex-start; flex-wrap: nowrap; overflow: hidden; }
  .bv-topbalk .bv-topbalk__lang, .bv-topbalk .bv-topbalk__link { display: none; }
  .bv-topbalk__kort { display: inline-flex; font-size: 12.5px; }
}

/* C. Masthead: rij 1 (editieregels, desktop), rij 2 (logo, menu, telefoon, CTA). Rij 2 = 16 px marge + 72 px balk; bij scrollen
   verdwijnt de marge mee onder de rand en blijft een balk van 72 px (64 mobiel) over. */
.bv-masthead { position: relative; }
.bv-kop__boven .bv-kop__binnen { justify-content: space-between; gap: 24px; min-height: 34px; border-bottom: 1px solid var(--bv-lijn); }
.bv-kop__boven .bv-editieregel li { white-space: nowrap; }
.bv-kop__rij .bv-kop__binnen { gap: 28px; min-height: 72px; padding-top: 8px; padding-bottom: 8px; }
.bv-kop__rij { padding-top: 8px; }
.bv-masthead__logo { flex: none; display: block; line-height: 0; transform-origin: left center; transition: transform var(--bv-dur) var(--bv-ease); }
body.bv-gescrold .bv-kop__rij .bv-masthead__logo { transform: scale(.88); }
.bv-kop__acties { display: flex; align-items: center; gap: 22px; margin-left: auto; flex: none; }
a.bv-masthead__tel { display: inline-flex; align-items: center; gap: 8px; padding: 10px 0; }
a.bv-masthead__tel .bv-ico { width: 18px; height: 18px; color: var(--bv-blauw); }
a.bv-masthead__tel:hover { color: var(--bv-blauw); }
a.bv-knop.bv-kop__cta { min-height: 46px; padding: 12px 22px; }
.bv-kop__menu { display: none; position: relative; width: 44px; height: 44px; margin-right: -10px; padding: 0; border: 0; border-radius: 2px; background: transparent; color: var(--bv-inkt); cursor: pointer; }
.bv-kop__menu:hover { background: transparent; color: var(--bv-blauw); }
.bv-kop__streep, .bv-kop__streep::before, .bv-kop__streep::after { position: absolute; left: 11px; width: 22px; height: 2px; background: currentColor; content: ""; }
.bv-kop__streep { top: 21px; }
.bv-kop__streep::before { left: 0; top: -7px; }
.bv-kop__streep::after { left: 0; top: 7px; width: 15px; }
@media (min-width: 1240px) and (max-width: 1359px) { .bv-kop__rij .bv-kop__binnen { gap: 20px; } a.bv-masthead__tel span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } a.bv-masthead__tel { padding: 10px; margin: 0 -10px; } }
/* Tussen 1025 en 1239 px past het volledige menu niet naast logo, telefoon en knop: hamburger + lade (de editieregel blijft) */
@media (max-width: 1239px) { .bv-nav--desktop { display: none; } .bv-kop__menu { display: block; } .bv-kop__acties { gap: 18px; } }
@media (max-width: 1024px) {
  .bv-kop__boven { display: none; }
  .bv-kop__rij { padding-top: 0; }
  .bv-kop__rij .bv-kop__binnen { min-height: 64px; padding-top: 6px; padding-bottom: 6px; gap: 16px; }
  a.bv-masthead__tel { display: none; }
  .bv-kop__acties { gap: 14px; }
  body.bv-gescrold .bv-kop__rij .bv-masthead__logo { transform: none; }
}
@media (max-width: 767px) { a.bv-knop.bv-kop__cta { display: none; } }

/* D. Hoofdmenu desktop + mega-menu */
.bv-nav--desktop { flex: 1 1 auto; min-width: 0; }
.bv-nav--desktop .bv-nav__lijst { display: flex; align-items: center; justify-content: center; gap: 4px 22px; margin: 0; padding: 0; list-style: none; }
.bv-nav--desktop .bv-nav__item { position: relative; display: flex; align-items: center; }
.bv-nav--desktop .bv-nav__link { font-family: var(--bv-sans); font-weight: 600; font-size: 15.5px; line-height: 1.2; color: var(--bv-inkt); text-decoration: none; white-space: nowrap;
  padding: 10px 0; background: linear-gradient(var(--bv-blauw), var(--bv-blauw)) left calc(100% - 4px) / 0 2px no-repeat; transition: background-size var(--bv-dur) var(--bv-ease), color var(--bv-dur-kort); }
.bv-nav--desktop .bv-nav__link:hover, .bv-nav--desktop .bv-nav__item.is-actief > .bv-nav__link, .bv-nav--desktop .bv-nav__link[aria-current="page"] { color: var(--bv-blauw); background-size: 100% 2px; }
.bv-nav__open { display: inline-grid; place-items: center; width: 24px; height: 32px; margin-left: 6px; padding: 0; border: 0; border-radius: 2px; background: transparent; color: var(--bv-inkt); cursor: pointer; }
.bv-nav__open:hover { background: transparent; color: var(--bv-blauw); }
.bv-nav__open svg { transition: transform var(--bv-dur) var(--bv-ease); }
.bv-nav__item.is-open > .bv-nav__open svg, .bv-nav--desktop .bv-nav__item:hover > .bv-nav__open svg { transform: rotate(180deg); }
.bv-mega { position: absolute; top: calc(100% + 18px); left: -28px; z-index: 5; display: flex; gap: 28px; min-width: 340px; padding: 26px 28px 28px;
  background: var(--bv-wit); border-top: 3px solid var(--bv-blauw); box-shadow: 0 24px 48px -24px rgba(16,19,24,.45), 0 0 0 1px var(--bv-lijn);
  opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity var(--bv-dur) var(--bv-ease), transform var(--bv-dur) var(--bv-ease-pers), visibility 0s linear var(--bv-dur); }
.bv-mega::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 22px; }
.bv-nav--desktop .bv-nav__item:hover > .bv-mega, .bv-nav--desktop .bv-nav__item.is-open > .bv-mega { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.bv-mega__lijst { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; min-width: 260px; }
.bv-mega__link { display: block; padding: 10px 12px; margin: 0 -12px; border-radius: 2px; color: var(--bv-inkt); text-decoration: none; transition: background-color var(--bv-dur-kort) var(--bv-ease); }
.bv-mega__link:hover, .bv-mega__link[aria-current="page"] { background: var(--bv-papier); }
.bv-mega__titel { display: block; font-family: var(--bv-serif); font-weight: 700; font-size: 19px; line-height: 1.25; color: var(--bv-inkt); }
.bv-mega__link:hover .bv-mega__titel { color: var(--bv-blauw); }
.bv-mega__tekst { display: block; margin-top: 2px; font-family: var(--bv-sans); font-size: 13.5px; font-weight: 500; color: var(--bv-grijs); }
.bv-mega__cover { flex: none; display: block; width: 150px; padding-left: 28px; border-left: 1px solid var(--bv-lijn); color: var(--bv-inkt); text-decoration: none; }
.bv-mega__vel { display: block; aspect-ratio: 595 / 794; overflow: hidden; background: var(--bv-papier); box-shadow: var(--bv-schaduw-vel); transition: transform var(--bv-dur) var(--bv-ease); }
.bv-mega__vel img { display: block; width: 100%; height: 100%; object-fit: cover; }
.bv-mega__cover:hover .bv-mega__vel { transform: translateY(-4px) rotate(-.6deg); }
.bv-mega__meta { display: block; margin-top: 12px; font-family: var(--bv-sans); font-size: 13px; font-weight: 700; line-height: 1.4; }
.bv-mega__meta span { font-weight: 500; color: var(--bv-grijs); }
@media (max-width: 1180px) { .bv-nav--desktop .bv-nav__lijst { gap: 4px 16px; } .bv-nav--desktop .bv-nav__link { font-size: 14.5px; } }

/* E. Mobiele lade (volledig scherm op Papier, grote serif-items, contact onderaan) */
.bv-lade { position: fixed; inset: 0; z-index: 1000; display: flex; flex-direction: column; background: var(--bv-papier); overflow-y: auto; overscroll-behavior: contain;
  opacity: 0; transform: translateY(-12px); transition: opacity var(--bv-dur) var(--bv-ease), transform var(--bv-dur) var(--bv-ease-pers); }
.bv-lade.is-open { opacity: 1; transform: none; }
.bv-lade[hidden] { display: none; }
html.bv-lade-open, html.bv-lade-open body { overflow: hidden; }
.bv-lade__kop { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; min-height: 64px; padding: 6px var(--bv-rand);
  background: var(--bv-papier); border-bottom: 1px solid var(--bv-inkt); box-shadow: 0 3px 0 -2px var(--bv-papier), 0 4px 0 -2px var(--bv-inkt); }
.bv-lade__kop .bv-masthead__logo img { width: 132px; }
.bv-lade__sluit { display: grid; place-items: center; width: 44px; height: 44px; margin-right: -10px; padding: 0; border: 0; border-radius: 2px; background: transparent; color: var(--bv-inkt); cursor: pointer; }
.bv-lade__sluit:hover { background: transparent; color: var(--bv-blauw); }
.bv-lade__inhoud { display: flex; flex-direction: column; gap: 32px; padding: 20px var(--bv-rand) calc(40px + env(safe-area-inset-bottom, 0px)); }
.bv-nav--lade .bv-nav__lijst { margin: 0; padding: 0; list-style: none; }
.bv-nav--lade .bv-nav__item { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--bv-lijn); }
.bv-nav--lade .bv-nav__link { flex: 1; padding: 14px 0; font-family: var(--bv-serif); font-weight: 600; font-size: 26px; line-height: 1.15; letter-spacing: -.006em; color: var(--bv-inkt); text-decoration: none; }
.bv-nav--lade .bv-nav__link[aria-current="page"], .bv-nav--lade .bv-nav__item.is-actief > .bv-nav__link { color: var(--bv-blauw); }
.bv-nav--lade .bv-nav__open { width: 44px; height: 44px; margin-right: -10px; }
.bv-nav--lade .bv-nav__open svg { width: 16px; height: 16px; }
.bv-nav--lade .bv-nav__item.is-open > .bv-nav__open svg { transform: rotate(180deg); }
.bv-nav--lade .bv-mega { position: static; flex: 1 1 100%; display: block; min-width: 0; padding: 0 0 14px; background: none; border: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; transition: none; }
.bv-nav--lade .bv-mega[hidden] { display: none; }
.bv-nav--lade .bv-mega::before { display: none; }
.bv-nav--lade .bv-mega__lijst { min-width: 0; gap: 0; padding-left: 14px; border-left: 2px solid var(--bv-blauw); }
.bv-nav--lade .bv-mega__link { margin: 0; padding: 9px 0; }
.bv-nav--lade .bv-mega__link:hover { background: none; }
.bv-nav--lade .bv-mega__titel { font-size: 18px; }
.bv-lade__contact { display: flex; flex-direction: column; gap: 18px; }
a.bv-lade__tel { display: inline-flex; align-items: center; gap: 10px; font-family: var(--bv-serif); font-weight: 700; font-size: 30px; letter-spacing: -.01em; color: var(--bv-blauw); text-decoration: none; font-variant-numeric: tabular-nums lining-nums; }
a.bv-lade__tel .bv-ico { width: 24px; height: 24px; }
.bv-lade__contact .bv-knoppen > a.bv-knop { flex: 1 1 100%; }
.bv-lade__regel { flex-wrap: nowrap; color: var(--bv-grijs); font-family: var(--bv-sans); font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.bv-lade__regel > * + *::before { margin: 0 8px; }
@media (min-width: 1240px) { .bv-lade { display: none; } }

/* F. Footer (colofon) */
.bv-footer .bv-footer__sc, .bv-footer .elementor-shortcode { width: 100%; }
.bv-footer__binnen { position: relative; }
.bv-footer__raster { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(240px, 1.5fr) repeat(4, minmax(0, 1fr)); gap: 40px 32px; }
.bv-footer__merk img { display: block; width: 200px; height: auto; }
.bv-footer__baseline { max-width: 26em; margin: 22px 0 0; color: var(--bv-papier); font-size: 15px; line-height: 1.6; }
.bv-footer__socials { display: flex; gap: 10px; margin-top: 22px; }
.bv-footer a.bv-footer__social { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--bv-lijn-donker); border-radius: 2px; color: var(--bv-papier); background: none; transition: border-color var(--bv-dur-kort), color var(--bv-dur-kort), background-color var(--bv-dur-kort); }
.bv-footer a.bv-footer__social:hover { border-color: var(--bv-y); color: var(--bv-inkt); background: var(--bv-y); }
.bv-footer a.bv-footer__social svg { width: 19px; height: 19px; }
.bv-footer__kol p { margin: 0 0 10px; }
.bv-footer .bv-footer__kop { margin-bottom: 16px; }
.bv-footer__regels { line-height: 1.75; }
.bv-footer__lijst { margin: 0; padding: 0; list-style: none; }
.bv-footer__lijst li { margin: 0 0 8px; }
.bv-footer a[aria-current="page"] { color: var(--bv-wit); background-size: 100% 1px; }
.bv-footer__pijl span { display: inline-block; transition: transform var(--bv-dur) var(--bv-ease); }
.bv-footer__pijl:hover span { transform: translateX(3px); }
.bv-footer .bv-footer__monogram { position: absolute; right: -12px; bottom: -40px; z-index: 0; width: 240px; pointer-events: none; }
.bv-footer .bv-footer__onder { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; margin-top: 64px; padding-top: 24px; }
.bv-footer__onder .bv-footer__meta { margin: 0; }
.bv-footer__juridisch { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 0; padding: 0; list-style: none; font-size: 13px; }
.bv-footer__swift { margin-left: auto !important; }
.bv-footer .bv-footer__swift a { color: var(--bv-papier); background-size: 100% 1px; }
@media (max-width: 1024px) {
  .bv-footer__raster { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bv-footer__merk { grid-column: 1 / -1; }
  .bv-footer .bv-footer__monogram { display: none; }
}
@media (max-width: 767px) {
  .bv-footer__raster { grid-template-columns: 1fr 1fr; gap: 36px 20px; }
  .bv-footer__kol:first-of-type { grid-column: 1 / -1; }
  .bv-footer .bv-footer__onder { margin-top: 48px; flex-direction: column; align-items: flex-start; }
  .bv-footer__swift { margin-left: 0 !important; }
}

/* G. Mobiele onderbalk: body krijgt ruimte (WP global styles zetten body{padding:0}: daarom html body) */
.bv-mobielbalk-w, .elementor-location-footer .e-con.bv-mobielbalk-w { --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; padding: 0; min-height: 0; }
.bv-mobielbalk a:focus-visible { outline: 3px solid var(--bv-y); outline-offset: -3px; }
.bv-mobielbalk a.is-hoofd:focus-visible { outline-color: var(--bv-inkt); }
@media (max-width: 1024px) { html body.bv-heeft-mobielbalk { padding-bottom: calc(60px + env(safe-area-inset-bottom, 0px)); } }
@media (min-width: 1025px) { .bv-mobielbalk-w { display: none; } }

/* H. Covermuur (signatuur: wand van voorpagina's) en listings */
.bv-covermuur__lijst { margin: 0; padding: 0; list-style: none; }
.bv-covermuur--muur .bv-covermuur__lijst { display: grid; grid-auto-flow: column; grid-auto-columns: clamp(150px, 17vw, 230px); gap: 28px; overflow-x: auto; overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory; padding: 12px 6px 28px; margin: 0 -6px; scrollbar-width: thin; scrollbar-color: var(--bv-lijn) transparent; }
.bv-covermuur--muur .bv-covermuur__item { scroll-snap-align: start; }
.bv-covermuur--muur .bv-covermuur__item:nth-child(odd) .bv-cover__vel { transform: rotate(-.7deg); }
.bv-covermuur--muur .bv-covermuur__item:nth-child(3n) .bv-cover__vel { transform: rotate(.6deg) translateY(6px); }
.bv-covermuur--muur a.bv-cover:hover .bv-cover__vel, .bv-covermuur--muur a.bv-cover:focus-visible .bv-cover__vel { transform: translateY(-6px) rotate(-.6deg); }
.bv-covermuur--raster .bv-covermuur__lijst { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 32px; }
@media (max-width: 1024px) { .bv-covermuur--raster .bv-covermuur__lijst { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 24px; } }
@media (max-width: 767px) {
  .bv-covermuur--muur .bv-covermuur__lijst { grid-auto-columns: 46vw; gap: 18px; }
  .bv-covermuur--raster .bv-covermuur__lijst { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }
}
.bv-cover__vel img { display: block; width: 100%; height: 100%; object-fit: cover; }
.bv-editie-kaart-w, .bv-drukwerk-kaart-w, .bv-editie-kaart-sc, .bv-drukwerk-kaart-sc, .bv-drukwerk-kaart-sc .elementor-shortcode { height: 100%; }
.bv-drukwerk-kaart-sc .bv-drukwerkkaart { height: 100%; }

/* I. 404 en FAQ-sectie */
.bv-404__links { display: flex; flex-wrap: wrap; gap: 10px 26px; margin: 8px 0 0; padding: 18px 0 0; list-style: none; border-top: 1px solid var(--bv-lijn); font-family: var(--bv-sans); font-weight: 600; }
.bv-404__links a { color: var(--bv-blauw); text-decoration: none; }
.bv-404__links a:hover { text-decoration: underline; }
.bv-404 .bv-404__cover { width: 320px; max-width: 100%; margin: 16px; }
.bv-404 .bv-404__beeld .elementor-widget-shortcode { width: auto; }
.bv-404 .bv-404__cover .bv-cover__vel { transform: rotate(1.4deg); }
.bv-faq-sectie .bv-faq { width: 100%; }
@media (max-width: 1024px) { .bv-404 .bv-404__beeld { display: none; } }
/* J. Knoppen in header en lade: kit/Hello-knopstijl (blauw vlak) neutraliseren (specificiteit boven .elementor-kit-N button:hover) */
body .bv-kop button.bv-nav__open, body .bv-kop button.bv-kop__menu, body .bv-kop button.bv-lade__sluit,
body .bv-kop button.bv-nav__open:hover, body .bv-kop button.bv-kop__menu:hover, body .bv-kop button.bv-lade__sluit:hover,
body .bv-kop button.bv-nav__open:focus, body .bv-kop button.bv-kop__menu:focus, body .bv-kop button.bv-lade__sluit:focus {
  background: transparent; border: 0; box-shadow: none; min-height: 0; font-size: inherit; line-height: 1; text-transform: none; letter-spacing: 0; }
body .bv-kop button.bv-nav__open { padding: 0; color: var(--bv-inkt); }
body .bv-kop button.bv-kop__menu, body .bv-kop button.bv-lade__sluit { padding: 0; color: var(--bv-inkt); }
body .bv-kop button.bv-nav__open:hover, body .bv-kop button.bv-kop__menu:hover, body .bv-kop button.bv-lade__sluit:hover { color: var(--bv-blauw); }
/* K. Helpers van tools/pages/common.py */
/* paginakop: rubriek met doorlopende lijn, H1, lead, knoppen; dubbele krantenregel + editieregel onderaan */
.bv-paginahero .bv-paginahero__regel { width: 100%; }
.bv-editieregel.bv-paginahero__regel { position: relative; padding-top: 18px; border-top: 3px solid var(--bv-tekst-kleur, var(--bv-inkt));
  font-family: var(--bv-sans); font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--bv-meta-kleur, var(--bv-grijs)); }
.bv-editieregel.bv-paginahero__regel::after { content: ""; position: absolute; left: 0; right: 0; top: 3px; height: 1px; background: var(--bv-tekst-kleur, var(--bv-inkt)); }
.bv-paginahero__cover .bv-cover { width: min(360px, 100%); margin: 16px auto; }
.bv-paginahero__beeld img { box-shadow: var(--bv-schaduw-kaart); }
@media (max-width: 1024px) { .bv-paginahero__cover .bv-cover { width: min(300px, 70vw); } }
/* kop-blok en lead */
.bv-kop-blok .bv-lead { margin-top: 4px; }
.bv-kop-sc .bv-kop { margin: 0; }
/* titelkaarten: gemeenten uit [bv_gemeenten] in 2 kolommen zoals design 7.5 */
.bv-titelkaart-w, .bv-titelkaart-w .elementor-shortcode { height: 100%; }
.bv-titelkaart__tekst { margin: 0; font-family: var(--bv-sans); font-size: 16px; line-height: 1.6; color: var(--bv-zetsel); max-width: 34em; }
.bv-titelkaart__gemeenten-w .bv-sc-gemeenten { display: block; margin: 0; padding: 14px 0 0; list-style: none; border-top: 1px solid var(--bv-lijn); columns: 2; column-gap: 20px;
  font-family: var(--bv-sans); font-size: 14px; line-height: 1.85; color: var(--bv-zetsel); }
.bv-titelkaart__gemeenten-w .bv-sc-gemeenten li { break-inside: avoid; }
/* gemeentelijst (sectie gemeenten): krantenkolommen met kolomlijnen */
.bv-gemeentelijst .bv-sc-gemeenten { display: block; columns: 4 11em; column-gap: 32px; column-rule: 1px solid var(--bv-lijn-kleur, var(--bv-lijn)); margin: 0; padding: 20px 0 0;
  border-top: 2px solid var(--bv-tekst-kleur, var(--bv-inkt)); list-style: none; font-family: var(--bv-serif); font-size: 22px; font-weight: 600; line-height: 1.7; color: var(--bv-tekst-kleur, var(--bv-inkt)); }
.bv-gemeentelijst .bv-sc-gemeenten li { break-inside: avoid; }
@media (max-width: 767px) { .bv-gemeentelijst .bv-sc-gemeenten { columns: 2; column-gap: 20px; font-size: 19px; } }
/* kalender ([bv_kalender]) in de stijl van design 7.13 */
.bv-kalender-w .bv-sc-tabelwrap { position: relative; overflow-x: auto; background: var(--bv-wit); box-shadow: 0 0 0 1px var(--bv-lijn); }
.bv-kalender-w .bv-sc-kalender { margin: 0; background: var(--bv-wit); font-family: var(--bv-sans); font-size: 16px; }
.bv-kalender-w .bv-sc-kalender th { background: var(--bv-papier-diep); border-bottom: 2px solid var(--bv-inkt); color: var(--bv-inkt); font-size: 12px; padding: 12px 16px; white-space: nowrap; }
.bv-kalender-w .bv-sc-kalender :is(th, td) { border-left: 0; border-right: 0; border-top: 0; }
.bv-kalender-w .bv-sc-kalender td { padding: 14px 16px; border-bottom: 1px solid var(--bv-lijn); background: var(--bv-wit); color: var(--bv-zetsel); }
.bv-kalender-w .bv-sc-kalender tbody > tr:nth-child(odd) > td { background: var(--bv-wit); }
.bv-kalender-w .bv-sc-kalender td:first-child { font-family: var(--bv-serif); font-weight: 700; font-size: 20px; color: var(--bv-inkt); white-space: nowrap; }
.bv-kalender-w .bv-sc-kalender tr.is-volgende > td { background: var(--bv-blauwdruk); }
.bv-kalender-w .bv-sc-kalender tr.is-volgende > td:first-child { box-shadow: inset 4px 0 0 var(--bv-blauw); }
.bv-kalender-w .bv-sc-kalender tr.is-voorbij > td:first-child { color: var(--bv-grijs); }
/* formulieren (common.formulier) */
.bv-formkaart .bv-formkaart__titel { margin: 0; }
.bv-form-verplicht p, .bv-form-noot p { margin: 0; }
.bv-form-groep { margin: 12px 0 0; padding-top: 18px; border-top: 1px solid var(--bv-lijn); font-family: var(--bv-serif); font-weight: 700; font-size: 21px; color: var(--bv-inkt); }
.elementor-field-type-html:first-child .bv-form-groep { margin-top: 0; padding-top: 0; border-top: 0; }
.bv-form-el .elementor-form-fields-wrapper { align-items: flex-start; }
.bv-veldhulp { flex: 1 1 100%; margin: 6px 0 0; font-family: var(--bv-sans); font-size: 13.5px; line-height: 1.45; color: var(--bv-grijs); }
.bv-form-el .elementor-field-type-acceptance label, .bv-form-el .elementor-field-subgroup label { font-weight: 500; }
.bv-form-el .elementor-field-subgroup .elementor-field-option { margin-right: 18px; }
.bv-form-succes { padding: 22px 24px; background: var(--bv-blauwdruk); border-left: 4px solid var(--bv-blauw); font-family: var(--bv-sans); font-size: 16px; line-height: 1.55; color: var(--bv-inkt); }
.bv-form-succes p { margin: 0; }
.bv-form-succes .bv-form-succes__titel { margin-bottom: 6px; font-family: var(--bv-serif); font-weight: 700; font-size: 22px; }
.bv-formkaart.is-verzonden .bv-form-verplicht, .bv-formkaart.is-verzonden .bv-form-noot { display: none; }
/* slotband */
.bv-groottel { margin: 8px 0 0; font-family: var(--bv-serif); font-weight: 700; font-size: 44px; line-height: 1; letter-spacing: -.02em; }
.bv-groottel a { color: inherit; text-decoration: none; background: linear-gradient(var(--bv-y), var(--bv-y)) left bottom / 100% 3px no-repeat; }
@media (max-width: 767px) { .bv-groottel { font-size: 34px; } }
.bv-kalender-w .bv-sc-kalender td { white-space: nowrap; }
.bv-kalender-w .bv-sc-kalender td:last-child { white-space: normal; min-width: 14em; }
@media (max-width: 767px) { .bv-covermuur .bv-cover__meta { font-size: 11.5px; letter-spacing: .03em; } .bv-covermuur .bv-cover__titel { font-size: 17px; } }
.bv-covermuur-w, .bv-covermuur-w .elementor-widget-container, .bv-covermuur-w .elementor-shortcode, .bv-covermuur, .bv-kalender-w { min-width: 0; max-width: 100%; }
.bv-covermuur__lijst { max-width: 100%; }
body .bv-mobielbalk { grid-template-columns: repeat(3, minmax(0, 1fr)); box-sizing: border-box; width: auto; max-width: 100vw; }
body .bv-mobielbalk a { min-width: 0; }
/* screen-reader-text in een horizontaal scrollende tabel ontsnapte aan de clip (overflow op 390): wrapper positioneren */
.bv-sc-tabelwrap { position: relative; }
.bv-form-succes:focus { outline: none; }
.bv-form-succes, .bv-formkaart { scroll-margin-top: 120px; }
/* bv-chrome:end */
/* bv-lezen:start */
/* Bouwer-lezen: lees-online (duo + archief), editie-sjabloon (kop, bladerlezer, nav), verschijningsdata, verspreiding (kaart), over de Bode.
   Bron tools/pages/css/lezen.css, installeren: tools/chrome/kit-css.sh tools/pages/css/lezen.css bv-lezen. Enkel tokens uit de kit. */

/* ---------- A. lees-online: duo laatste edities ---------- */
.bv-lo-duo { display: grid; grid-template-columns: 1.7fr 1fr; align-items: end; gap: 28px; width: min(560px, 100%); margin: 0 auto; }
.bv-lo-duo__regio { padding-bottom: 4px; }
.bv-lo-duo__regio .bv-cover__vel { transform: rotate(1.6deg); }
.bv-lo-duo__regio .bv-cover__titel { font-size: 17px; }
.bv-lo-duo-w, .bv-lo-duo-w .elementor-widget-container { width: 100%; }
@media (max-width: 767px) { .bv-lo-duo { gap: 16px; } .bv-lo-duo .bv-cover__titel { font-size: 15px; } .bv-lo-duo .bv-cover__meta { font-size: 10.5px; letter-spacing: .02em; flex-wrap: wrap; gap: 0 6px; } }

/* ---------- B. archief ---------- */
.bv-arch-w, .bv-arch-w .elementor-widget-container, .bv-arch-w .elementor-shortcode { min-width: 0; max-width: 100%; }
.bv-arch__filter { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 20px 32px; padding: 0 0 24px; margin: 0 0 40px; border-bottom: 1px solid var(--bv-lijn); }
.bv-arch__titels { margin: 0; padding: 0; border: 0; min-width: 0; }
.bv-arch .bv-arch__legende, .bv-arch label.bv-arch__legende { display: block; float: none; line-height: 1.3; margin: 0 0 10px; padding: 0; font-family: var(--bv-sans); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--bv-grijs); }
.bv-arch__keuzes { display: flex; flex-wrap: wrap; border: 1px solid var(--bv-inkt); border-radius: 2px; }
.bv-arch__keuze { position: relative; margin: 0; cursor: pointer; }
.bv-arch__keuze + .bv-arch__keuze { border-left: 1px solid var(--bv-inkt); }
.bv-arch__keuze input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.bv-arch__keuze span { display: block; min-height: 46px; padding: 13px 18px; font-family: var(--bv-sans); font-size: 15px; font-weight: 700; line-height: 20px; color: var(--bv-inkt); transition: background var(--bv-dur-kort), color var(--bv-dur-kort); }
.bv-arch__keuze:hover span { background: var(--bv-papier-diep); }
.bv-arch__keuze input:checked + span { background: var(--bv-inkt); color: var(--bv-papier); }
.bv-arch__keuze input:focus-visible + span { outline: 3px solid var(--bv-blauw); outline-offset: 3px; position: relative; z-index: 1; }
.bv-arch__jaar select { min-height: 48px; min-width: 170px; padding: 10px 40px 10px 14px; border: 1px solid var(--bv-veldrand); border-radius: 2px; background: var(--bv-wit); font-family: var(--bv-sans); font-size: 16px; font-weight: 600; color: var(--bv-inkt); }
.bv-arch__jaar select:focus-visible { outline: 3px solid var(--bv-blauwdruk); border-color: var(--bv-blauw); }
.bv-arch__aantal { margin: 0 0 12px auto; font-family: var(--bv-serif); font-size: 22px; font-weight: 600; color: var(--bv-inkt); }
.bv-arch__lijst { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 48px 28px; margin: 0; padding: 0; list-style: none; }
.bv-arch__item { display: flex; flex-direction: column; min-width: 0; }
.bv-arch__item[hidden] { display: none; }
.bv-arch:not([data-filter="regionaal"]) .bv-arch__item--dubbel { display: none; }
.bv-arch__item .bv-cover__titel { font-size: 18px; }
.bv-arch__pdf { align-self: flex-start; margin-top: 8px; font-family: var(--bv-sans); font-size: 13px; font-weight: 700; color: var(--bv-blauw); text-decoration: none; border-bottom: 1px solid currentColor; }
.bv-arch__pdf:hover { color: var(--bv-blauw-diep); border-bottom-width: 2px; }
.bv-arch__leeg { margin: 24px 0; font-family: var(--bv-serif); font-size: 24px; color: var(--bv-grijs); }
.bv-arch__meer-w { display: flex; justify-content: center; margin-top: 56px; }
.bv-arch__meer-w[hidden] { display: none; }
@media (max-width: 1200px) { .bv-arch__lijst { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 1024px) { .bv-arch__lijst { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 24px; } }
@media (max-width: 767px) {
  .bv-arch__filter { gap: 16px; margin-bottom: 28px; }
  .bv-arch__titels, .bv-arch__jaar { width: 100%; }
  .bv-arch__keuzes { display: grid; grid-template-columns: 1fr; }
  .bv-arch__keuze + .bv-arch__keuze { border-left: 0; border-top: 1px solid var(--bv-inkt); }
  .bv-arch__jaar select { width: 100%; }
  .bv-arch__aantal { margin: 0; font-size: 19px; }
  .bv-arch__lijst { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 16px; }
  .bv-arch__item .bv-cover__titel { font-size: 16px; } .bv-arch__item .bv-cover__meta { font-size: 11px; letter-spacing: .03em; } }

/* ---------- C. editie: kop, cover, nav, CTA ---------- */
.bv-ed-kop { display: flex; flex-direction: column; gap: 20px; }
.bv-ed-kop .bv-rubriek { margin: 0; }
.bv-ed-kop h1.bv-ed-kop__h1 { margin: 0; font-family: var(--bv-serif); font-weight: 600; font-size: 72px; line-height: 1; letter-spacing: -.018em; color: var(--bv-blauw); text-wrap: balance; }
.bv-ed-kop--regionaal h1.bv-ed-kop__h1 { color: var(--bv-regio-diep); }
.bv-ed-kop__regel { margin: 0; }
.bv-ed-kop__samen { margin: 0; padding: 12px 16px; background: var(--bv-blauwdruk); border-left: 4px solid var(--bv-blauw); font-family: var(--bv-sans); font-size: 15px; font-weight: 600; color: var(--bv-inkt); max-width: 38em; }
.bv-ed-kop__intro { margin: 0; max-width: 34em; }
.bv-ed-kop .bv-knoppen { margin-top: 8px; }
.bv-knop__noot { margin-left: 10px; padding-left: 10px; border-left: 1px solid currentColor; font-weight: 600; font-size: 14px; opacity: .85; }
.bv-ed-kop__terug { margin: 4px 0 0; }
body .bv-ed-kop button.bv-knop--secundair { background: transparent; color: var(--bv-inkt); border: 1px solid var(--bv-inkt); border-radius: 2px; box-shadow: none; }
body .bv-ed-kop button.bv-knop--secundair:hover { background: var(--bv-inkt); color: var(--bv-papier); }
body .bv-ed-kop button.bv-knop--secundair:focus-visible { outline: 3px solid var(--bv-blauw); outline-offset: 3px; }
.bv-ed-rechts:not(:has(.bv-cover)) { display: none; }
.bv-ed-cover { width: min(400px, 100%); margin: 16px auto; }
.bv-ed-cover .bv-cover__vel { transform: rotate(.8deg); }
.bv-ed-lezer-sectie:not(:has(.bv-lezer)) { display: none; }
.bv-ed-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.bv-ed-nav__vak { display: flex; flex-direction: column; gap: 16px; }
.bv-ed-nav__vak .bv-cover { width: min(220px, 100%); }
.bv-ed-nav__vak--volgende { align-items: flex-end; text-align: right; }
.bv-ed-nav__vak--volgende .bv-rubriek { flex-direction: row-reverse; }
.bv-ed-nav__vak .bv-rubriek { margin: 0; }
.bv-ed-volgende__regel { margin: 0; font-family: var(--bv-sans); font-size: 14px; font-weight: 600; color: var(--bv-grijs-donker); }
.bv-ed-volgende__regel time { color: var(--bv-y); font-weight: 700; }
.bv-ed-volgende__regel .bv-sc-volgende__deel { display: block; white-space: normal; }
.bv-ed-volgende__regel .bv-sc-volgende__sep { display: none; }
.bv-ed-volgende__regel .bv-sc-volgende { display: block; white-space: normal; }
@media (max-width: 767px) { .bv-ed-nav .bv-cover__meta { font-size: 11px; letter-spacing: .02em; flex-wrap: wrap; gap: 0 6px; } .bv-ed-nav .bv-cover__titel { font-size: 16px; } }
@media (max-width: 1024px) { .bv-ed-kop h1.bv-ed-kop__h1 { font-size: 56px; } }
@media (max-width: 767px) { .bv-ed-kop h1.bv-ed-kop__h1 { font-size: 40px; line-height: 1.05; } .bv-ed-nav { gap: 16px; } .bv-ed-cover { width: min(300px, 82%); }
  .bv-knop__noot { display: block; margin: 2px 0 0; padding: 0; border: 0; } .bv-ed-kop .bv-knop { flex-direction: column; align-items: flex-start; } }

/* ---------- D. bladerlezer (op Inkt) ---------- */
.bv-lezer-w, .bv-lezer-w .elementor-widget-container, .bv-lezer-w .elementor-shortcode { min-width: 0; width: 100%; }
.bv-lezer { --bv-ph: 70vh; position: relative; color: var(--bv-papier); }
.bv-lezer__balk { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 0 18px; }
.bv-lezer__teller { margin: 0; font-family: var(--bv-sans); font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--bv-papier); }
.bv-lezer__knoppen { display: flex; gap: 8px; }
body .bv-lezer button.bv-lezer__knop, body .bv-lezer button.bv-lezer__pijl { display: inline-flex; box-shadow: none; text-transform: none; min-height: 0; margin: 0; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0; border: 1px solid var(--bv-lijn-donker); border-radius: 2px;
  background: var(--bv-inkt-zacht); color: var(--bv-papier); cursor: pointer; transition: background var(--bv-dur-kort), color var(--bv-dur-kort), border-color var(--bv-dur-kort); }
body .bv-lezer button.bv-lezer__knop:hover, body .bv-lezer button.bv-lezer__pijl:hover { background: var(--bv-y); color: var(--bv-inkt); border-color: var(--bv-y); }
body .bv-lezer button.bv-lezer__knop[aria-pressed="true"] { background: var(--bv-papier); color: var(--bv-inkt); }
body .bv-lezer button:focus-visible, .bv-lezer__podium:focus-visible { outline: 3px solid var(--bv-y); outline-offset: 3px; }
body .bv-lezer button.bv-lezer__pijl:disabled { opacity: .3; cursor: default; background: var(--bv-inkt-zacht); color: var(--bv-papier); border-color: var(--bv-lijn-donker); }
.bv-lezer__podium { position: relative; display: grid; grid-template-columns: 56px minmax(0, 1fr) 56px; align-items: center; gap: 16px; outline: none; }
.bv-lezer__venster { position: relative; overflow: hidden; display: flex; justify-content: center; align-items: center; min-height: var(--bv-ph); touch-action: pan-y; user-select: none; -webkit-user-select: none; cursor: pointer; }
.bv-lezer.is-zoom .bv-lezer__venster { touch-action: none; cursor: grab; }
.bv-lezer.is-zoom .bv-lezer__venster:active { cursor: grabbing; }
.bv-lezer__spread { display: flex; justify-content: center; transform-origin: 50% 50%; transition: transform var(--bv-dur) var(--bv-ease); will-change: transform; }
.bv-lezer__blad { position: relative; margin: 0; height: var(--bv-ph); aspect-ratio: var(--bv-r, .75); background: var(--bv-wit) center / cover no-repeat; box-shadow: 0 30px 60px -30px rgba(0,0,0,.7); }
.bv-lezer__blad img { display: block; width: 100%; height: 100%; object-fit: contain; background: var(--bv-wit); transition: opacity var(--bv-dur) var(--bv-ease); }
.bv-lezer__blad.is-laden img { opacity: 0; }
.bv-lezer__spread:not(.is-enkel) .bv-lezer__blad:first-child::after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; width: 28px; background: linear-gradient(90deg, rgba(16,19,24,0), rgba(16,19,24,.16)); pointer-events: none; }
.bv-lezer__spread:not(.is-enkel) .bv-lezer__blad:last-child::after { content: ""; position: absolute; top: 0; left: 0; bottom: 0; width: 28px; background: linear-gradient(270deg, rgba(16,19,24,0), rgba(16,19,24,.12)); pointer-events: none; }
.bv-lezer__spread.is-in-r { animation: bv-lz-in-r 420ms var(--bv-ease-pers) backwards; }
.bv-lezer__spread.is-in-l { animation: bv-lz-in-l 420ms var(--bv-ease-pers) backwards; }
@keyframes bv-lz-in-r { from { opacity: .2; transform: translateX(28px); } to { opacity: 1; transform: none; } }
@keyframes bv-lz-in-l { from { opacity: .2; transform: translateX(-28px); } to { opacity: 1; transform: none; } }
.bv-lezer__hulp { margin: 16px 0 0; text-align: center; font-family: var(--bv-sans); font-size: 13px; color: var(--bv-grijs-donker); }
.bv-lezer__strook { margin-top: 20px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: var(--bv-lijn-donker) transparent; position: relative; }
.bv-lezer__duimen { display: flex; gap: 10px; margin: 0; padding: 4px 4px 12px; list-style: none; width: max-content; }
body .bv-lezer button.bv-lezer__duim { display: flex; flex-direction: column; align-items: center; gap: 6px; width: 72px; min-height: 0; padding: 0; margin: 0; border: 0; border-radius: 0; box-shadow: none; background: none; color: var(--bv-grijs-donker); cursor: pointer; }
body .bv-lezer .bv-lezer__duim img { display: block; width: 72px; height: auto; aspect-ratio: var(--bv-r, .75); object-fit: cover; background: var(--bv-inkt-zacht); outline: 2px solid transparent; outline-offset: 2px; opacity: .72; transition: opacity var(--bv-dur-kort), outline-color var(--bv-dur-kort); }
.bv-lezer__duim-nr { font-family: var(--bv-sans); font-size: 12px; font-weight: 700; }
body .bv-lezer button.bv-lezer__duim:hover, body .bv-lezer button.bv-lezer__duim:focus { background: none; color: var(--bv-papier); }
.bv-lezer__duim:hover img { opacity: 1; }
.bv-lezer__duim[aria-current="true"] img { opacity: 1; outline-color: var(--bv-y); }
.bv-lezer__duim[aria-current="true"] .bv-lezer__duim-nr { color: var(--bv-y); }
.bv-lezer.is-volledig { position: fixed; inset: 0; z-index: 100000; padding: 16px 20px; background: var(--bv-inkt); overflow: hidden; display: flex; flex-direction: column; }
.bv-lezer.is-volledig .bv-lezer__podium { flex: 1; }
.bv-lezer.is-volledig .bv-lezer__hulp { display: none; }
html.bv-lezer-open, html.bv-lezer-open body { overflow: hidden; }
.bv-lezer:fullscreen { padding: 16px 20px; background: var(--bv-inkt); }
@media (max-width: 899px) {
  .bv-lezer__podium { grid-template-columns: minmax(0, 1fr); }
  .bv-lezer__pijl { position: absolute; z-index: 2; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; background: rgba(16,19,24,.78); }
  .bv-lezer__pijl--vorige { left: 4px; } .bv-lezer__pijl--volgende { right: 4px; }
  .bv-lezer__hulp { display: none; } }
@media (max-width: 767px) { body .bv-lezer button.bv-lezer__duim, body .bv-lezer .bv-lezer__duim img { width: 56px; } .bv-lezer__balk { padding-bottom: 12px; } .bv-lezer__teller { font-size: 12px; } }
@media (prefers-reduced-motion: reduce) { .bv-lezer__spread, .bv-lezer__blad img { transition: none; } .bv-lezer__spread.is-in-r, .bv-lezer__spread.is-in-l { animation: none; } }

/* ---------- E. verschijningsdata: volgende-editiekaarten ---------- */
.bv-vd-volgende-w, .bv-vd-volgende-w .elementor-widget-container { width: 100%; }
.bv-vd-volgende { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.bv-vd-kaart { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 36px 40px 32px; background: var(--bv-wit); border-top: 8px solid var(--bv-blauw); box-shadow: var(--bv-schaduw-kaart); }
.bv-vd-kaart--regionaal { border-top-color: var(--bv-regio); }
.bv-vd-kaart__label { margin: 0; }
.bv-vd-kaart__label span { display: inline-block; padding: 5px 10px; background: var(--bv-blauwdruk); font-family: var(--bv-sans); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--bv-blauw); }
.bv-vd-kaart--regionaal .bv-vd-kaart__label span { background: var(--bv-papier-diep); color: var(--bv-regio-diep); }
.bv-vd-kaart h2.bv-vd-kaart__titel { margin: 0; font-family: var(--bv-sans); font-size: 13px; font-weight: 700; letter-spacing: .14em; line-height: 1.3; color: var(--bv-blauw); text-transform: uppercase; }
.bv-vd-kaart--regionaal h2.bv-vd-kaart__titel { color: var(--bv-regio-diep); }
.bv-vd-kaart__datum { margin: 0; font-family: var(--bv-serif); font-size: 44px; font-weight: 600; line-height: 1.04; letter-spacing: -.015em; color: var(--bv-blauw); font-variant-numeric: lining-nums; }
.bv-vd-kaart--regionaal .bv-vd-kaart__datum { color: var(--bv-regio-diep); }
.bv-vd-kaart__datum time { display: block; }
.bv-vd-kaart__deadline { display: flex; gap: 10px; align-items: baseline; margin: 6px 0 0; padding-top: 16px; border-top: 1px solid var(--bv-lijn); font-family: var(--bv-sans); font-size: 16px; line-height: 1.5; color: var(--bv-zetsel); }
.bv-vd-kaart__deadline strong { color: var(--bv-inkt); }
.bv-vd-kaart__stip { flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--bv-m); transform: translateY(-1px); }
.bv-vd-kaart__agenda { margin: 4px 0 0; }
.bv-vd-kaart__ics { font-weight: 600; color: var(--bv-grijs); }
@media (max-width: 1024px) { .bv-vd-kaart__datum { font-size: 36px; } .bv-vd-kaart { padding: 30px 28px 26px; } }
@media (max-width: 767px) { .bv-vd-volgende { grid-template-columns: 1fr; gap: 20px; } .bv-vd-kaart { padding: 26px 22px 22px; } .bv-vd-kaart__datum { font-size: 32px; } }

/* ---------- F. verspreidingskaart (design 7.14) ---------- */
.bv-kaart-w, .bv-kaart-w .elementor-widget-container, .bv-kaart-w .elementor-shortcode { min-width: 0; width: 100%; }
.bv-kaart-blok { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, 1fr); gap: 48px; align-items: start; }
.bv-kaart-blok .bv-kaart { margin: 0; padding: 16px; border: 1px solid var(--bv-lijn); }
.bv-kaart__svg { display: block; width: 100%; height: auto; max-height: 920px; }
.bv-kaart .bv-gebied--context { fill: var(--bv-lijn); fill-opacity: .55; stroke: var(--bv-papier); stroke-width: 1; vector-effect: non-scaling-stroke; cursor: default; }
.bv-kaart .bv-gebied--buiten:hover { fill: var(--bv-lijn); fill-opacity: .6; }
.bv-kaart .bv-gebied--context:hover { fill: var(--bv-lijn); fill-opacity: .55; }
.bv-kaart .bv-gebied[tabindex]:focus-visible { outline: none; stroke: var(--bv-inkt); stroke-width: 3; }
.bv-kaart-blok .bv-kaart__label { font-size: 23px; stroke-width: 3px; letter-spacing: .01em; transition: fill var(--bv-dur-kort); }
.bv-kaart-blok .bv-kaart__label.is-actief { fill: var(--bv-inkt); stroke: rgba(255,237,0,.6); }
.bv-kaart__plaats { cursor: pointer; outline: none; }
.bv-kaart__plaats .bv-kaart__punt { transition: fill var(--bv-dur-kort); }
.bv-kaart__plaats.is-actief .bv-kaart__punt, .bv-kaart__plaats:hover .bv-kaart__punt { fill: var(--bv-y); stroke: var(--bv-inkt); }
.bv-kaart__plaats:focus-visible .bv-kaart__punt { stroke: var(--bv-y); stroke-width: 4; }
.bv-kaart-blok .bv-kaart__label--punt { font-size: 21px; }
.bv-kaart-blok .bv-kaart__punt { r: 8px; }
.bv-kaart__bron { margin: 14px 0 0; font-family: var(--bv-sans); font-size: 12px; color: var(--bv-grijs); }
.bv-kaart__bron a { color: var(--bv-grijs); text-decoration: underline; }
.bv-kaart__paneel { display: flex; flex-direction: column; gap: 24px; position: sticky; top: calc(var(--bv-kop-h, 80px) + 24px); }
.bv-kaart__paneel .bv-legenda { margin: 0; }
.bv-kaart-blok .bv-kaart__info { position: static; max-width: none; min-height: 132px; padding: 22px 24px; border-left: 4px solid var(--bv-lijn); box-shadow: var(--bv-schaduw-kaart); color: var(--bv-zetsel); }
.bv-kaart-blok .bv-kaart__info p { margin: 0; }
.bv-kaart-blok .bv-kaart__info.is-gevuld { border-left-color: var(--bv-blauw); }
.bv-kaart-blok .bv-kaart__info strong { margin: 6px 0 6px; font-size: 32px; line-height: 1.1; font-weight: 600; }
.bv-kaart__info-titel { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--bv-grijs); }
.bv-kaart__info-stip { width: 12px; height: 12px; background: var(--bv-gebied-bode); }
.bv-kaart__info-stip--regio { background: var(--bv-gebied-regio); }
.bv-kaart__info-stip--beide { background: repeating-linear-gradient(135deg, var(--bv-gebied-bode) 0 3px, var(--bv-gebied-regio) 3px 6px); }
.bv-kaart__kieskop { margin: 0 0 4px; font-family: var(--bv-sans); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--bv-grijs); }
.bv-kaart__groep { padding-top: 14px; border-top: 2px solid var(--bv-blauw); }
.bv-kaart__groep--regio { margin-top: 18px; border-top-color: var(--bv-regio); }
.bv-kaart__groepkop { margin: 0 0 10px; font-family: var(--bv-serif); font-size: 20px; font-weight: 700; color: var(--bv-blauw); }
.bv-kaart__groep--regio .bv-kaart__groepkop { color: var(--bv-regio-diep); }
.bv-kaart__lijst { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
body .bv-kaart-blok button.bv-kaart__kies { min-height: 40px; margin: 0; padding: 8px 14px; border: 1px solid var(--bv-lijn); border-radius: 2px; background: var(--bv-wit); box-shadow: none;
  font-family: var(--bv-sans); font-size: 15px; font-weight: 600; line-height: 1.2; color: var(--bv-inkt); text-transform: none; letter-spacing: 0; cursor: pointer; transition: background var(--bv-dur-kort), border-color var(--bv-dur-kort); }
body .bv-kaart-blok button.bv-kaart__kies:hover { background: var(--bv-papier-diep); border-color: var(--bv-inkt); color: var(--bv-inkt); }
body .bv-kaart-blok button.bv-kaart__kies[aria-pressed="true"] { background: var(--bv-y); border-color: var(--bv-inkt); color: var(--bv-inkt); }
body .bv-kaart-blok button.bv-kaart__kies:focus-visible { outline: 3px solid var(--bv-blauw); outline-offset: 2px; }
.bv-vs-melden-kop { margin-top: 24px; padding-top: 28px; border-top: 1px solid var(--bv-lijn); }
.bv-vs-melden-kop .bv-rubriek { margin: 0 0 12px; }
.bv-vs-melden-kop h3.bv-vs-melden-kop__titel { margin: 0 0 12px; font-family: var(--bv-serif); font-size: 30px; font-weight: 600; line-height: 1.15; color: var(--bv-inkt); }
.bv-vs-melden-kop__tekst p { margin: 0; font-family: var(--bv-sans); font-size: 17px; line-height: 1.6; color: var(--bv-zetsel); }
@media (max-width: 1024px) { .bv-kaart-blok { grid-template-columns: 1fr; gap: 32px; } .bv-kaart__paneel { position: static; } .bv-kaart__svg { max-height: none; } }
@media (max-width: 767px) { .bv-kaart-blok .bv-kaart { padding: 10px; } .bv-kaart-blok .bv-kaart__label { display: none; } .bv-kaart-blok .bv-kaart__plaats .bv-kaart__punt { r: 14px; stroke-width: 4; }
  .bv-kaart-blok .bv-kaart__info strong { font-size: 26px; } body .bv-kaart-blok button.bv-kaart__kies { min-height: 44px; font-size: 15px; } .bv-vs-melden-kop h3.bv-vs-melden-kop__titel { font-size: 24px; } }
.bv-vs-titel h3.bv-titelkaart__mast { margin: 0 0 6px; font-family: var(--bv-serif); font-weight: 800; font-size: 52px; line-height: .95; letter-spacing: -.03em; color: var(--bv-blauw); }
.bv-vs-titel.bv-titelkaart--regionaal h3.bv-titelkaart__mast { color: var(--bv-regio-diep); }
.bv-vs-titel .bv-titelkaart__tekst { margin: 0 0 4px; font-family: var(--bv-serif); font-size: 22px; line-height: 1.35; color: var(--bv-inkt); }
@media (min-width: 1025px) { .bv-vs-links { position: sticky; top: calc(var(--bv-kop-h, 88px) + 32px); } }
@media (max-width: 767px) { .bv-vs-titel h3.bv-titelkaart__mast { font-size: 38px; } .bv-vs-titel .bv-titelkaart__tekst { font-size: 19px; } }
.bv-kaart-blok .bv-kaart__info[data-titel="regio"] { border-left-color: var(--bv-regio); }

/* ---------- G. over de Bode ---------- */
.bv-ob-lead p { font-size: 28px; line-height: 1.42; max-width: 32em; }
.bv-ob-cijfers-w, .bv-ob-cijfers-w .elementor-widget-container { width: 100%; }
.bv-ob-cijferrij { --bv-lijn-kleur: var(--bv-lijn-donker); grid-template-columns: repeat(3, minmax(0, 1fr)); border-top-color: var(--bv-lijn-donker); }
.bv-ob-cijfer p { margin: 0; }
.bv-ob-cijfer__getal { font-family: var(--bv-serif); font-weight: 700; font-size: 84px; line-height: .95; letter-spacing: -.03em; color: var(--bv-y); font-variant-numeric: tabular-nums lining-nums; }
.bv-ob-cijfer__getal .bv-num { color: inherit; font: inherit; }
.bv-ob-cijfer__label { margin-top: 14px !important; font-family: var(--bv-sans); font-size: 15px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--bv-papier); }
.bv-ob-cijfer__tekst { margin-top: 4px !important; font-family: var(--bv-sans); font-size: 15px; color: var(--bv-grijs-donker); }
.bv-ob-kolom p { margin: 0; max-width: 36em; hyphens: manual; }
.bv-ob-quote { margin: 12px 0 8px; padding: 4px 0 4px 28px; border-left: 3px solid var(--bv-blauw); }
.bv-ob-quote p { margin: 0; font-family: var(--bv-serif); font-size: 28px; font-weight: 600; font-style: normal; line-height: 1.25; letter-spacing: -.01em; color: var(--bv-blauw); text-wrap: balance; }
.bv-ob-beeld img { box-shadow: var(--bv-schaduw-vel); }
.bv-ob-kaart-w, .bv-ob-kaart-w .elementor-widget-container { width: 100%; }
.bv-kaart--mini { padding: 14px; border: 1px solid var(--bv-lijn); background: var(--bv-papier); }
.bv-kaart--mini .bv-kaart__svg { max-height: 560px; pointer-events: none; }
.bv-kaart--mini .bv-kaart__labels { display: none; }
.bv-kaart--mini .bv-kaart__bron { margin-top: 10px; }
.bv-ob-adres { display: flex; flex-direction: column; align-items: flex-end; gap: 20px; color: var(--bv-y); text-align: right; }
.bv-ob-adres__regel { margin: 0; font-family: var(--bv-serif); font-size: 56px; font-weight: 600; line-height: 1.04; letter-spacing: -.02em; color: var(--bv-wit); }
.bv-ob-adres__regel .bv-sc-adres { color: inherit; }
@media (max-width: 1024px) { .bv-ob-cijfer__getal { font-size: 64px; } .bv-ob-adres { align-items: flex-start; text-align: left; } .bv-ob-adres__regel { font-size: 44px; } }
@media (max-width: 767px) { .bv-ob-lead p { font-size: 21px; } .bv-ob-cijferrij { grid-template-columns: 1fr; } .bv-ob-cijferrij > * { padding: 22px 0 24px; }
  .bv-ob-cijferrij > * + * { border-top: 1px solid var(--bv-lijn-donker); } .bv-ob-cijfer__getal { font-size: 56px; } .bv-ob-quote p { font-size: 22px; } .bv-ob-adres__regel { font-size: 34px; }
  .bv-kaart--mini .bv-kaart__label { display: none; } }
@media (max-width: 767px) { .bv-ob-adres { display: none; } }

/* bv-lezen:end */
/* bv-zaak:start */
/* Bouwer-zaak: adverteren (formaatkiezer), zoekertjes-editor, drukkerij, drukwerk-single, contact, juridisch. Bron tools/pages/css/zaak.css */
.elementor-field-group[hidden] { display: none !important; }
.bv-zaak-datum { width: 100%; }
/* ---------- Formaatkiezer ---------- */
.bv-fk { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 72px; align-items: start; }
.bv-fk__vel-w { padding: 16px; position: relative; max-width: 520px; width: 100%; justify-self: center; }
.bv-fk__vel { position: relative; aspect-ratio: 595 / 794; background: var(--bv-wit); box-shadow: var(--bv-schaduw-vel); padding: 6% 6.5% 7%; display: flex; flex-direction: column; overflow: hidden; }
.bv-fk__mast { display: flex; align-items: center; gap: 10px; padding-bottom: 8px; border-bottom: 3px solid var(--bv-inkt); box-shadow: 0 4px 0 -3px var(--bv-inkt); margin-bottom: 4%; }
.bv-fk__mast img { width: 22px; height: auto; }
.bv-fk__mast-titel { font-family: var(--bv-serif); font-weight: 800; font-size: clamp(16px, 2.2vw, 26px); letter-spacing: -.03em; color: var(--bv-blauw); line-height: 1; }
.bv-fk[data-titel="regionaal"] .bv-fk__mast-titel { color: var(--bv-regio-diep); }
.bv-fk__mast-meta { margin-left: auto; font: 600 10px/1.2 var(--bv-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--bv-grijs); }
.bv-fk__zet { position: relative; flex: 1; }
.bv-fk__kolommen { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 4%; }
.bv-fk__kolommen span { display: block; border-top: 7px solid var(--bv-papier-diep); background: repeating-linear-gradient(to bottom, var(--bv-lijn) 0 2px, transparent 2px 7px); opacity: .9; }
.bv-fk__kolommen span:nth-child(2n) { border-top-width: 14px; }
.bv-fk__vlak { position: absolute; left: calc(var(--x, .5) * 100%); top: calc(var(--y, .5) * 100%); width: calc(var(--w, .5) * 100%); height: calc(var(--h, .5) * 100%);
  transition: left var(--bv-dur) var(--bv-ease-pers), top var(--bv-dur) var(--bv-ease-pers), width var(--bv-dur) var(--bv-ease-pers), height var(--bv-dur) var(--bv-ease-pers); }
.bv-fk__vlak-in { position: absolute; inset: 0 0 0 0; background: var(--bv-blauwdruk); outline: 2px solid var(--bv-blauw); outline-offset: -2px; overflow: hidden; box-shadow: 0 0 0 4px var(--bv-wit); }
.bv-fk__adv { position: absolute; inset: 0; background-size: 116% auto; background-position: center 18%; opacity: .92; transition: filter var(--bv-dur) var(--bv-ease); }
.bv-fk__vlak-in::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: var(--bv-blauw); mix-blend-mode: screen; opacity: 0; transition: opacity var(--bv-dur) var(--bv-ease); }
.bv-fk[data-kleur="steunkleur"] .bv-fk__adv { filter: grayscale(1) contrast(1.15); }
.bv-fk[data-kleur="steunkleur"] .bv-fk__vlak-in::after { opacity: 1; }
.bv-fk[data-kleur="zwart-wit"] .bv-fk__adv { filter: grayscale(1) contrast(1.05); }
.bv-fk__lab { z-index: 2; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); background: var(--bv-wit); color: var(--bv-blauw); font: 700 clamp(18px, 2.4vw, 30px)/1 var(--bv-serif);
  padding: 8px 12px 6px; font-variant-numeric: lining-nums tabular-nums; box-shadow: 0 2px 10px rgba(16,19,24,.18); white-space: nowrap; }
.bv-fk__proef { z-index: 2; position: absolute; left: 8px; bottom: 8px; background: var(--bv-y); color: var(--bv-inkt); font: 700 11px/1 var(--bv-sans); letter-spacing: .06em; text-transform: uppercase; padding: 6px 8px; }
.bv-fk__strook { margin-top: 14px; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.bv-fk__keuze { display: flex; flex-direction: column; gap: 28px; }
.bv-fk fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.bv-fk legend { font: 700 13px/1.3 var(--bv-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--bv-inkt); margin-bottom: 12px; padding: 0; }
.bv-fk__opties { display: flex; flex-wrap: wrap; gap: 8px; }
.bv-fk__formaten { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.bv-fk__optie { position: relative; cursor: pointer; }
.bv-fk .bv-fk__optie input { position: absolute; opacity: 0 !important; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; appearance: none; -webkit-appearance: none; border: 0; background: none; box-shadow: none; }
.bv-fk__optie > span { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 10px 14px; border: 1px solid var(--bv-veldrand); background: var(--bv-wit); border-radius: 2px;
  font: 600 15px/1.2 var(--bv-sans); color: var(--bv-inkt); transition: border-color var(--bv-dur-kort), background-color var(--bv-dur-kort), color var(--bv-dur-kort); }
.bv-fk__formaten .bv-fk__optie > span { flex-direction: column; align-items: flex-start; gap: 8px; padding: 12px; font-variant-numeric: lining-nums tabular-nums; }
.bv-fk__optie:hover > span { border-color: var(--bv-inkt); }
.bv-fk__optie input:checked + span { background: var(--bv-blauw); border-color: var(--bv-blauw); color: var(--bv-wit); }
.bv-fk__optie input:focus-visible + span { outline: 3px solid var(--bv-blauw); outline-offset: 3px; }
.bv-fk__optie.is-uit { cursor: not-allowed; }
.bv-fk__optie.is-uit > span { opacity: .45; border-style: dashed; }
.bv-fk__pict { position: relative; width: 26px; aspect-ratio: 595 / 794; border: 1px solid currentColor; opacity: .9; }
.bv-fk__pict i { position: absolute; background: currentColor; left: calc(var(--x) * 100%); top: calc(var(--y) * 100%); width: calc(var(--w) * 100%); height: calc(var(--h) * 100%); }
.bv-fk__kleur-stip { width: 14px; height: 14px; border-radius: 50%; flex: none; box-shadow: inset 0 0 0 1px rgba(16,19,24,.25); }
.bv-fk__kleur-stip--quadri { background: conic-gradient(var(--bv-c) 0 25%, var(--bv-m) 0 50%, var(--bv-y) 0 75%, var(--bv-inkt) 0); }
.bv-fk__kleur-stip--steunkleur { background: linear-gradient(90deg, var(--bv-inkt) 50%, var(--bv-blauw) 50%); }
.bv-fk__kleur-stip--zwart-wit { background: linear-gradient(90deg, var(--bv-inkt) 50%, var(--bv-grijs-donker) 50%); }
.bv-fk__resultaat { border-top: 2px solid var(--bv-inkt); padding-top: 20px; display: flex; flex-direction: column; gap: 10px; }
.bv-fk__status { font: 600 22px/1.25 var(--bv-serif); color: var(--bv-inkt); margin: 0; }
.bv-fk__uitleg { margin: 0; color: var(--bv-zetsel); }
.bv-fk__melding { margin: 0; color: var(--bv-m-diep); font-weight: 600; }
.bv-fk__cta { align-self: flex-start; margin-top: 8px; }
.bv-fk__cta[aria-disabled="true"] { opacity: .5; pointer-events: none; }
.bv-fk-kleurnoot { font-size: 14px; color: var(--bv-grijs); margin: 8px 0 0; }
@media (max-width: 1024px) { .bv-fk { grid-template-columns: 1fr; gap: 40px; } .bv-fk__vel-w { max-width: 420px; } }
@media (max-width: 767px) { .bv-fk__formaten { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; } .bv-fk__formaten .bv-fk__optie > span { padding: 10px 6px; font-size: 14px; align-items: center; }
  .bv-fk__vel-w { max-width: 250px; padding: 12px; } .bv-fk__status { font-size: 19px; }
  .bv-fk { gap: 24px; } .bv-fk__keuze { display: contents; } .bv-fk__keuze > fieldset:first-child { order: 1; } .bv-fk__vel-w { order: 2; }
  .bv-fk__keuze > fieldset:nth-child(2) { order: 3; } .bv-fk__keuze > fieldset:nth-child(3) { order: 4; } .bv-fk__resultaat { order: 5; }
  .bv-fk__pag { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .bv-fk__formaten .bv-fk__optie > span { min-height: 72px; font-size: 16px; } }
html.bv-static .bv-fk__vlak, html.bv-static .bv-fk__adv { transition: none; }
@media (prefers-reduced-motion: reduce) { .bv-fk__vlak, .bv-fk__adv, .bv-fk__vlak-in::after { transition: none; } }
/* ---------- Algemene zaak-secties ---------- */
.bv-zk-usp { border-top: 2px solid var(--bv-inkt); padding-top: 20px; height: 100%; }
.bv-op-donker .bv-zk-usp, .bv-op-blauw .bv-zk-usp { border-top-color: var(--bv-y); }
.bv-zk-usp__nr { margin: 0 0 18px; font: 700 15px/1 var(--bv-sans); letter-spacing: .1em; color: var(--bv-blauw); }
.bv-zk-usp__titel { margin: 0 0 10px; font: 700 22px/1.25 var(--bv-serif); letter-spacing: -.003em; color: var(--bv-inkt); }
.bv-zk-usp__tekst { margin: 0; font-size: 17px; line-height: 1.6; color: var(--bv-zetsel); }
.bv-zk-stappen { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; counter-reset: none; }
.bv-zk-stap { position: relative; padding: 28px 28px 32px; background: var(--bv-wit); box-shadow: var(--bv-schaduw-kaart); border-top: 4px solid var(--bv-blauw); }
.bv-zk-stap__nr { display: block; font: 700 64px/.9 var(--bv-serif); letter-spacing: -.03em; color: var(--bv-blauw); margin-bottom: 18px; }
.bv-zk-stap__titel { margin: 0 0 8px; font: 700 22px/1.25 var(--bv-serif); color: var(--bv-inkt); }
.bv-zk-stap p { margin: 0; color: var(--bv-zetsel); }
.bv-zk-blad { margin: 0; padding: 16px; position: relative; }
.bv-zk-blad img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; background: var(--bv-wit); box-shadow: var(--bv-schaduw-vel-hoog); }
.bv-zk-blad--hero { max-width: 440px; margin-inline: auto; transform: rotate(1.2deg); }
.bv-zk-blad--klein { max-width: 380px; margin-inline: auto; transform: rotate(-1deg); }
.bv-zk-blad__label { margin-top: 14px; font: 600 13px/1.3 var(--bv-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--bv-grijs); text-align: center; }
.bv-zk-covers { display: flex; gap: 24px; align-items: flex-end; max-width: 440px; }
.bv-zk-covers > * { flex: 1 1 0; min-width: 0; }
.bv-zk-formsectie .bv-zk-formkop { position: sticky; top: calc(var(--bv-kop-h, 88px) + 32px); }
.bv-zk-markeerband .bv-drukrand { margin-top: 8px; }
@media (max-width: 1024px) { .bv-zk-stappen { grid-template-columns: 1fr; gap: 16px; } .bv-zk-stap { display: grid; grid-template-columns: 64px 1fr; column-gap: 16px; padding: 22px; }
  .bv-zk-stap__nr { grid-row: span 2; font-size: 48px; margin: 0; } .bv-zk-formsectie .bv-zk-formkop { position: static; } .bv-zk-blad--hero { max-width: 360px; } }
@media (max-width: 767px) { .bv-zk-blad--hero { max-width: 280px; } .bv-zk-covers { max-width: 320px; } .bv-zk-usp__titel { font-size: 20px; } }
/* ---------- Zoekertjes-editor ---------- */
.bv-zk-editor__preview { position: sticky; top: calc(var(--bv-kop-h, 88px) + 24px); }
.bv-zk { display: flex; flex-direction: column; gap: 20px; }
.bv-zk__vel { position: relative; background: var(--bv-wit); box-shadow: var(--bv-schaduw-vel); padding: 22px 22px 26px; margin: 16px; }
.bv-zk__kopregel { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 6px; border-bottom: 3px solid var(--bv-inkt); box-shadow: 0 4px 0 -3px var(--bv-inkt); margin-bottom: 14px; }
.bv-zk__kop { font: 800 22px/1 var(--bv-serif); letter-spacing: .06em; text-transform: uppercase; color: var(--bv-inkt); }
.bv-zk__ed { font: 600 10px/1 var(--bv-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--bv-grijs); }
.bv-zk__kolommen { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
.bv-zk__kol { display: flex; flex-direction: column; gap: 10px; padding: 0 9px; border-left: 1px solid var(--bv-lijn); }
.bv-zk__kol:first-child { border-left: 0; padding-left: 0; } .bv-zk__kol:last-child { padding-right: 0; }
.bv-zk__dummy { height: calc(var(--r) * 10.5px + 4px); border-bottom: 1px solid var(--bv-lijn); padding-bottom: 8px; }
.bv-zk__dummy i { display: block; height: 100%; background: repeating-linear-gradient(to bottom, var(--bv-lijn) 0 4px, transparent 4px 10.5px); opacity: .85; }
.bv-zk__ad { position: relative; padding: 8px 8px 9px; background: var(--bv-wit); outline: 2px solid var(--bv-inkt); outline-offset: -2px; box-shadow: 0 0 0 4px rgba(255, 237, 0, .55);
  transition: box-shadow var(--bv-dur) var(--bv-ease); }
.bv-zk__ad.is-gevuld { background: rgba(255, 237, 0, .16); }
.bv-zk__ad.is-flits { animation: bv-zk-flits 360ms var(--bv-ease); }
@keyframes bv-zk-flits { 0% { box-shadow: 0 0 0 6px var(--bv-y); } 100% { box-shadow: 0 0 0 4px rgba(255, 237, 0, .55); } }
.bv-zk__tekst { margin: 0; font: 400 13px/1.3 var(--bv-serif); color: var(--bv-inkt); text-align: justify; hyphens: auto; -webkit-hyphens: auto; overflow-wrap: anywhere; white-space: pre-line; }
.bv-zk__ad.is-vet .bv-zk__tekst { font-weight: 700; }
.bv-zk__pref { font-weight: 800; }
.bv-zk__leeg { color: var(--bv-grijs); font-family: var(--bv-sans); font-size: 12px; text-align: left; }
.bv-zk__lab { display: inline-block; margin-top: 6px; font: 700 10px/1 var(--bv-sans); letter-spacing: .1em; text-transform: uppercase; background: var(--bv-inkt); color: var(--bv-y); padding: 4px 6px; }
.bv-zk__prijs { background: var(--bv-inkt); color: var(--bv-papier); padding: 24px 28px; margin: 0 16px; border-left: 4px solid var(--bv-y); }
.bv-zk__prijs p { margin: 0; }
.bv-zk__prijslabel { font: 700 12px/1.3 var(--bv-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--bv-grijs-donker); }
.bv-zk__bedrag { font: 700 48px/1.05 var(--bv-serif); letter-spacing: -.02em; color: var(--bv-y); font-variant-numeric: tabular-nums lining-nums; margin: 6px 0 2px !important; display: inline-block; }
.bv-zk__bedrag.is-bump { animation: bv-zk-bump 300ms var(--bv-ease-pers); }
@keyframes bv-zk-bump { 0% { transform: translateY(6px); opacity: .4; } 100% { transform: none; opacity: 1; } }
.bv-zk__noot { font-size: 14px; color: var(--bv-grijs-donker); }
.bv-zk__totaal { margin-top: 10px !important; font: 600 17px/1.3 var(--bv-sans); color: var(--bv-wit); }
.bv-zk__totaal:empty { display: none; }
.bv-zk-teller { width: 100%; margin-top: 8px; }
.bv-zk-teller__balk { position: relative; height: 6px; background: var(--bv-papier-diep); overflow: hidden; }
.bv-zk-teller__balk span { position: absolute; inset: 0; transform-origin: left; transform: scaleX(0); background: var(--bv-c); transition: transform var(--bv-dur) var(--bv-ease), background-color var(--bv-dur); }
.bv-zk-teller__balk span[data-schijf="2"] { background: var(--bv-y); } .bv-zk-teller__balk span[data-schijf="3"], .bv-zk-teller__balk span[data-schijf="4"] { background: var(--bv-m); }
.bv-zk-teller__balk i { position: absolute; top: 0; bottom: 0; width: 2px; background: var(--bv-wit); }
.bv-zk-teller__tekst { margin: 6px 0 0; font: 600 14px/1.4 var(--bv-sans); color: var(--bv-grijs); font-variant-numeric: tabular-nums; }
.bv-zk-teller.is-max .bv-zk-teller__tekst { color: var(--bv-m-diep); }
.bv-zk-mini { display: none; }
.bv-zk-tip { margin: 0; padding: 14px 18px; background: var(--bv-blauwdruk); border-left: 4px solid var(--bv-blauw); font-size: 16px; max-width: 46em; }
.bv-zk-tarieven .bv-sc-tabelwrap { background: var(--bv-wit); box-shadow: var(--bv-schaduw-kaart); }
.bv-zk-affiches { position: relative; padding: 8% 6% 4% 0; }
.bv-zk-affiche { display: block; width: 100%; height: auto; box-shadow: var(--bv-schaduw-vel-hoog); transform: rotate(-2deg); position: relative; }
.bv-zk-affiche--achter { position: absolute; top: 0; right: 0; width: 88%; transform: rotate(4deg); opacity: .96; }
.bv-zk-download { display: flex; flex-direction: column; gap: 24px; }
.bv-zk-download__vel { display: block; padding: 16px; max-width: 420px; }
.bv-zk-download__vel img { display: block; width: 100%; height: auto; box-shadow: var(--bv-schaduw-vel); transition: transform var(--bv-dur) var(--bv-ease); }
.bv-zk-download__vel:hover img, .bv-zk-download__vel:focus-visible img { transform: translateY(-4px) rotate(-.6deg); box-shadow: var(--bv-schaduw-vel-hoog); }
.bv-zk-download__titel { margin: 0 0 4px; font: 700 22px/1.25 var(--bv-serif); color: var(--bv-inkt); }
.bv-zk-download__meta { margin: 0 0 16px; color: var(--bv-grijs); font-size: 15px; }
@media (max-width: 1024px) {
  .bv-zk-editor { flex-direction: column-reverse !important; }
  .bv-zk-editor__preview { position: static; }
  .bv-zk-mini { display: flex; position: fixed; left: 0; right: 0; top: var(--bv-kop-h, 64px); z-index: 40; align-items: center; gap: 12px; padding: 10px 20px; background: var(--bv-inkt); color: var(--bv-papier);
    border-bottom: 3px solid var(--bv-y); transform: translateY(-110%); opacity: 0; transition: transform var(--bv-dur) var(--bv-ease), opacity var(--bv-dur); pointer-events: none; }
  .bv-zk-mini.is-zichtbaar { transform: none; opacity: 1; }
  .bv-zk-mini__tekst { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font: 400 14px/1.3 var(--bv-serif); }
  .bv-zk-mini__n { font: 600 12px/1 var(--bv-sans); color: var(--bv-grijs-donker); white-space: nowrap; }
  .bv-zk-mini__prijs { font: 700 20px/1 var(--bv-serif); color: var(--bv-y); white-space: nowrap; } }
@media (max-width: 767px) { .bv-zk__vel { margin: 12px; padding: 16px 14px 18px; } .bv-zk__prijs { margin: 0 12px; padding: 18px 20px; } .bv-zk__bedrag { font-size: 40px; } }
@media (prefers-reduced-motion: reduce) { .bv-zk__ad.is-flits, .bv-zk__bedrag.is-bump { animation: none; } .bv-zk-mini, .bv-zk-teller__balk span { transition: none; } }
.bv-zk__lab[hidden] { display: none; }
.bv-zk-tarieven table { width: 100%; margin: 0; border-collapse: collapse; border: 0; font-variant-numeric: tabular-nums lining-nums; }
.bv-zk-tarieven table th, .bv-zk-tarieven table td { border: 0; border-bottom: 1px solid var(--bv-lijn); background: transparent !important; padding: 14px 20px; text-align: left; vertical-align: middle; }
.bv-zk-tarieven table thead th { background: var(--bv-papier-diep) !important; border-bottom: 2px solid var(--bv-inkt); font: 700 12px/1.3 var(--bv-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--bv-inkt); }
.bv-zk-tarieven table td:last-child, .bv-zk-tarieven table th:last-child { text-align: right; }
.bv-zk-tarieven table td.bv-prijs { font: 700 20px/1.2 var(--bv-serif); color: var(--bv-inkt); }
.bv-zk-tarieven .bv-sc-tarieven__toeslagen td { background: var(--bv-papier) !important; color: var(--bv-zetsel); }
.bv-zk-tarieven .bv-sc-tarieven__toeslagen tr:first-child td { border-top: 2px solid var(--bv-inkt); }
.bv-zk-tarieven .bv-sc-tabelwrap { position: relative; overflow-x: auto; }
.bv-zk-tarieven .bv-sc-noot { margin-top: 12px; font-size: 14px; color: var(--bv-grijs); }
/* ---------- Folderbedeling, drukkerij ---------- */
.bv-zk-optie { height: 100%; background: var(--bv-wit); box-shadow: var(--bv-schaduw-kaart); border-top: 8px solid var(--bv-blauw); padding: 36px 32px; display: flex; flex-direction: column; gap: 14px; }
.bv-zk-optie--2 { border-top-color: var(--bv-inkt); }
.bv-zk-optie__label { margin: 0; font: 700 13px/1.3 var(--bv-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--bv-blauw); }
.bv-zk-optie--2 .bv-zk-optie__label { color: var(--bv-inkt); }
.bv-zk-optie__titel { margin: 0; font: 600 30px/1.15 var(--bv-serif); letter-spacing: -.006em; color: var(--bv-inkt); }
.bv-zk-optie__cijfer { font: 700 64px/1 var(--bv-serif); letter-spacing: -.03em; color: var(--bv-blauw); font-variant-numeric: tabular-nums lining-nums; padding: 12px 0; border-top: 1px solid var(--bv-lijn); border-bottom: 1px solid var(--bv-lijn); }
.bv-zk-optie__cijfer small { display: block; margin-top: 8px; font: 600 15px/1.3 var(--bv-sans); letter-spacing: 0; color: var(--bv-grijs); }
.bv-zk-optie__kaart { padding: 12px 0; border-top: 1px solid var(--bv-lijn); border-bottom: 1px solid var(--bv-lijn); }
.bv-zk-optie__be { display: block; font: 700 64px/1 var(--bv-serif); letter-spacing: -.03em; color: var(--bv-inkt); }
.bv-zk-optie__tekst { margin: 0; color: var(--bv-zetsel); font-size: 17px; line-height: 1.6; }
.bv-zk-gebied { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.bv-zk-gebied__kol { background: var(--bv-wit); padding: 32px; border-top: 8px solid var(--bv-blauw); box-shadow: var(--bv-schaduw-kaart); }
.bv-zk-gebied__kol--regio { border-top-color: var(--bv-regio); }
.bv-zk-gebied__titel { margin: 0 0 4px; font: 700 22px/1.25 var(--bv-serif); color: var(--bv-inkt); }
.bv-zk-gebied__oplage { margin: 0 0 18px; font: 600 15px/1.3 var(--bv-sans); color: var(--bv-grijs); }
.bv-zk-gebied ul { list-style: none; margin: 0; padding: 14px 0 0; border-top: 1px solid var(--bv-lijn); columns: 2; column-gap: 24px; }
.bv-zk-gebied li { padding: 4px 0; break-inside: avoid; font-size: 16px; }
.bv-zk-formbeeld img { box-shadow: var(--bv-schaduw-vel); }
.bv-zk-foto img { box-shadow: var(--bv-schaduw-vel-hoog); }
.bv-zk-hub .bv-drukwerkkaart { height: 100%; }
.bv-zk-hubkaart .bv-drukwerkkaart__beeld { aspect-ratio: 4 / 3; overflow: hidden; }
.bv-zk-hubkaart .bv-drukwerkkaart__beeld img { width: 100%; height: 100%; object-fit: cover; }
.bv-zk-hubkaart--groot .bv-drukwerkkaart__beeld { aspect-ratio: 16 / 10; }
.bv-zk-hubkaart--groot .bv-drukwerkkaart__titel { font-size: 30px; }
.bv-zk-hub--klein .bv-zk-hubkaart { display: grid; grid-template-columns: 34% 1fr; }
.bv-zk-hub--klein .bv-drukwerkkaart__beeld { aspect-ratio: auto; min-height: 100%; }
@media (max-width: 767px) { .bv-zk-gebied { grid-template-columns: 1fr; gap: 24px; } .bv-zk-gebied__kol, .bv-zk-optie { padding: 26px 22px; }
  .bv-zk-optie__titel { font-size: 24px; } .bv-zk-optie__cijfer, .bv-zk-optie__be { font-size: 48px; } .bv-zk-hub--klein .bv-zk-hubkaart { grid-template-columns: 28% 1fr; } }
/* ---------- Drukwerk-single ---------- */
.bv-dw-terug { font: 600 15px/1.3 var(--bv-sans); }
.bv-dw-beeld { margin: 0; padding: 16px; }
.bv-dw-beeld img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; box-shadow: var(--bv-schaduw-vel-hoog); }
.bv-dw-beeld--leeg { aspect-ratio: 4 / 3; display: grid; place-items: center; color: var(--bv-blauw); background-color: var(--bv-wit); box-shadow: var(--bv-schaduw-vel); }
.bv-dw-toepassingen { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--bv-inkt); }
.bv-dw-toepassingen li { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--bv-lijn); font: 600 19px/1.35 var(--bv-serif); color: var(--bv-inkt); }
.bv-dw-toepassingen .bv-paskruis { color: var(--bv-blauw); }
.bv-dw-galerij { display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); max-width: calc(var(--n, 3) * 34%); gap: 16px; margin-top: 24px; }
.bv-dw-galerij__vel { margin: 0; }
.bv-dw-galerij__vel img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; box-shadow: var(--bv-schaduw-kaart); }
.bv-dw-opties__intro { margin: 0 0 12px; color: var(--bv-grijs); font-size: 15px; }
.bv-dw-opties { margin: 0; background: var(--bv-papier); border-top: 2px solid var(--bv-inkt); }
.bv-dw-opties > div { display: grid; grid-template-columns: 9em 1fr; gap: 16px; padding: 16px 20px; border-bottom: 1px solid var(--bv-lijn); }
.bv-dw-opties dt { font: 700 13px/1.5 var(--bv-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--bv-blauw); }
.bv-dw-opties dd { margin: 0; color: var(--bv-zetsel); }
@media (max-width: 767px) { .bv-dw-opties > div { grid-template-columns: 1fr; gap: 4px; } .bv-dw-galerij { gap: 10px; } .bv-dw-toepassingen li { font-size: 17px; } }
/* ---------- Contact ---------- */
.bv-ct-nap { margin: 8px 0 0; border-top: 2px solid var(--bv-inkt); }
.bv-ct-nap__rij { display: grid; grid-template-columns: 8.5em 1fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--bv-lijn); }
.bv-ct-nap dt { font: 700 12px/1.6 var(--bv-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--bv-blauw); padding-top: 3px; }
.bv-ct-nap dd { margin: 0; font-size: 17px; line-height: 1.55; color: var(--bv-inkt); font-variant-numeric: tabular-nums; }
.bv-ct-nap dd a:not(.bv-link) { color: var(--bv-blauw); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.bv-ct-nap__route { display: table; margin-top: 6px; font-size: 15px; }
.bv-ct-socials { display: flex; gap: 10px; margin-top: 20px; flex-wrap: wrap; }
.bv-ct-social { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 16px; border: 1px solid var(--bv-inkt); color: var(--bv-inkt); font: 700 15px/1 var(--bv-sans); text-decoration: none; border-radius: 2px; transition: background-color var(--bv-dur-kort), color var(--bv-dur-kort); }
.bv-ct-social:hover, .bv-ct-social:focus-visible { background: var(--bv-inkt); color: var(--bv-papier); }
.bv-ct .bv-formkaart { box-shadow: var(--bv-schaduw-vel); }
.bv-ct-snelw { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.bv-ct-snel { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 24px 52px 24px 24px; border: 1px solid var(--bv-lijn); border-top: 3px solid var(--bv-blauw); background: var(--bv-wit); text-decoration: none; color: var(--bv-zetsel); transition: border-color var(--bv-dur), box-shadow var(--bv-dur); }
.bv-ct-snel:hover, .bv-ct-snel:focus-visible { border-color: var(--bv-inkt); box-shadow: var(--bv-schaduw-kaart); }
.bv-ct-snel__titel { font: 700 20px/1.25 var(--bv-serif); color: var(--bv-inkt); }
.bv-ct-snel__tekst { font-size: 15px; line-height: 1.5; }
.bv-ct-snel__pijl { position: absolute; right: 20px; top: 24px; font: 700 20px/1 var(--bv-sans); color: var(--bv-blauw); transition: transform var(--bv-dur) var(--bv-ease); }
.bv-ct-snel:hover .bv-ct-snel__pijl { transform: translateX(4px); }
@media (max-width: 1024px) { .bv-ct-snelw { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px) { .bv-ct-snelw { grid-template-columns: 1fr; gap: 12px; } .bv-ct-nap__rij { grid-template-columns: 1fr; gap: 2px; } }
/* ---------- Juridisch ---------- */
.bv-jur { max-width: 46em; margin: 0 auto; font-size: 17px; line-height: 1.7; color: var(--bv-zetsel); }
.bv-jur h2 { margin: 2.2em 0 .6em; font: 600 30px/1.2 var(--bv-serif); color: var(--bv-inkt); padding-top: 16px; border-top: 2px solid var(--bv-inkt); }
.bv-jur > h2:first-child { margin-top: 0; }
.bv-jur h3 { margin: 1.6em 0 .4em; font: 700 21px/1.3 var(--bv-serif); color: var(--bv-inkt); }
.bv-jur h4 { margin: 1.4em 0 .4em; font: 700 13px/1.4 var(--bv-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--bv-grijs); }
.bv-jur p, .bv-jur ul { margin: 0 0 1em; }
.bv-jur-adres { padding: 16px 20px; background: var(--bv-papier); border-left: 4px solid var(--bv-blauw); font-variant-numeric: tabular-nums; }
@media (max-width: 767px) { .bv-jur { font-size: 16px; } .bv-jur h2 { font-size: 24px; } }
/* gelijke hoogtes in rasters + lege productbeelden */
:is(.bv-zk-opties, .bv-zk-hub) > .elementor-element, :is(.bv-zk-opties, .bv-zk-hub) > .elementor-element :is(.elementor-widget-container, .elementor-shortcode) { height: 100%; }
.bv-zk-listing .jet-listing-grid__item { display: flex; }
.bv-zk-listing .jet-listing-grid__item > *, .bv-zk-listing .jet-listing-grid__item :is(.elementor, .e-con, .e-con-inner, .elementor-element, .elementor-widget-container, .elementor-shortcode) { height: 100%; width: 100%; }
.bv-zk-listing .bv-drukwerkkaart, .bv-zk-hub .bv-drukwerkkaart { height: 100%; display: flex; flex-direction: column; }
.bv-zk-listing .bv-drukwerkkaart__tekst, .bv-zk-hub .bv-drukwerkkaart__tekst { flex: 1; display: flex; flex-direction: column; }
.bv-zk-listing .bv-drukwerkkaart__cta, .bv-zk-hub .bv-drukwerkkaart__cta { margin-top: auto; padding-top: 16px; }
:is(.bv-zk-listing, .bv-zk-hub) .bv-drukwerkkaart__beeld.bv-rasterpunt--zacht { position: relative; }
:is(.bv-zk-listing, .bv-zk-hub) .bv-drukwerkkaart__beeld.bv-rasterpunt--zacht::after { content: ""; position: absolute; inset: 0; margin: auto; width: 56px; height: 56px; background: currentColor;
  -webkit-mask: var(--bv-svg-paskruis) center / contain no-repeat; mask: var(--bv-svg-paskruis) center / contain no-repeat; opacity: .75;
  top: 0; right: 0; bottom: 0; left: 0; transform: none !important; transition: none; background-image: none; z-index: 1; }
@media (max-width: 767px) { .bv-zk-listing .bv-drukwerkkaart__beeld.bv-rasterpunt--zacht { aspect-ratio: 16 / 7; } }
@media (max-width: 767px) { :is(.elementor-323, .elementor-322, .elementor-596, .elementor-321) .bv-paginahero :is(h1, .elementor-heading-title) { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; } }
/* bv-zaak:end */
/* bv-home:start */
/* ===== Bouwer-home: home-hero "Van inkt tot brievenbus" (design par. 9) + home- en titelpagina-componenten. Bron tools/pages/css/home.css ===== */
/* --- H1. Hero: statisch (geen JS, reduced motion, ?bv-static=1) = gewone sectie; .bv-hero--anim = sticky scroll-scène */
.bv-hero { position: relative; --bv-vel-h: clamp(340px, calc(100svh - var(--bv-kop-h, 88px) - var(--bv-kop-weg, 64px) - 156px), 700px); --bv-vel-w: calc(var(--bv-vel-h) * .75); }
.bv-hero__spoor { position: relative; }
.bv-hero__stage { position: relative; display: flex; align-items: flex-start; padding-block: 28px 104px; }
.bv-hero--anim .bv-hero__spoor { height: 270svh; }
.bv-hero--anim .bv-hero__stage { position: sticky; top: var(--bv-kop-h, 88px); height: calc(100svh - var(--bv-kop-h, 88px)); padding-bottom: 0; overflow: visible; }
.bv-hero__binnen { width: 100%; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: var(--bv-gap); align-items: center; }
.bv-hero__binnen.bv-kolomlijnen::before { opacity: .55; inset: -28px 0 -104px; }
.bv-hero--anim .bv-hero__binnen.bv-kolomlijnen::before { inset: -28px 0 calc(-100svh); }
.bv-hero__tekst { display: flex; flex-direction: column; gap: 20px; padding-right: 32px; max-width: 760px; }
.bv-hero .bv-hero__rubriek { margin: 0; display: flex; flex-wrap: wrap; align-items: center; row-gap: 4px; font-family: var(--bv-sans); font-weight: 700; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--bv-blauw); }
.bv-hero__rubriek::before { content: ""; width: 28px; height: 2px; background: currentColor; margin-right: 12px; }
.bv-hero__rubriek > span + span::before { content: ""; display: inline-block; width: 1px; height: 1em; margin: 0 12px; vertical-align: -.15em; background: currentColor; opacity: .45; }
.bv-hero .bv-hero__h1 { margin: 0; font-family: var(--e-global-typography-tdisplay-font-family), var(--bv-serif); font-weight: 600; color: var(--bv-inkt);
  font-size: clamp(44px, min(var(--e-global-typography-tdisplay-font-size, 104px), 6.6vw, 9.4svh), 104px); line-height: .96; letter-spacing: -.022em; text-wrap: balance; hyphens: manual; }
.bv-hero__lead-w { display: grid; }
.bv-hero__lead-w > * { grid-area: 1 / 1; }
.bv-hero .bv-hero__lead, .bv-hero .bv-hero__lead p { margin: 0; font-family: var(--bv-serif); font-size: clamp(19px, 1.45vw, 22px); line-height: 1.42; color: var(--bv-zetsel); max-width: 34em; text-wrap: pretty; }
.bv-hero .bv-hero__lus { margin: 0; align-self: center; font-family: var(--bv-serif); font-weight: 600; font-size: clamp(26px, 2.5vw, 36px); line-height: 1.15; letter-spacing: -.012em; color: var(--bv-blauw); opacity: 0; display: none; }
.bv-hero--anim .bv-hero__lus { display: block; }
.bv-hero__knoppen { margin-top: 6px; }
.bv-hero__cijfers { display: grid; grid-template-columns: repeat(2, minmax(0, max-content)); column-gap: 48px; margin: 10px 0 0; padding-top: 18px; border-top: 1px solid var(--bv-inkt); }
.bv-hero__cijfers > div { display: flex; flex-direction: column; gap: 2px; }
.bv-hero__cijfers dt { order: 2; font-family: var(--bv-sans); font-weight: 600; font-size: 14px; color: var(--bv-grijs); }
.bv-hero__cijfers dd, .bv-hero__cijfers .bv-cijfer { margin: 0; font-family: var(--bv-serif); font-weight: 700; font-size: clamp(34px, min(3vw, 5.4svh), 50px); line-height: 1; letter-spacing: -.03em; color: var(--bv-inkt); font-variant-numeric: tabular-nums lining-nums; }
.bv-hero__na { display: none; }
.bv-hero__vel-w { display: flex; justify-content: center; padding-block: 40px 80px; }
.bv-hero__vel-w { position: relative; }
.bv-hero__volgende { display: none; position: absolute; left: 0; right: 0; bottom: -24px; margin: 0; text-align: center; font-family: var(--bv-sans); font-size: 15px; color: var(--bv-zetsel); opacity: 0; }
.bv-hero__volgende strong { color: var(--bv-inkt); }
.bv-hero--anim .bv-hero__volgende { display: block; }
/* --- H2. Het vel */
.bv-vel { position: relative; width: var(--bv-vel-w); height: var(--bv-vel-h); flex: none; }
.bv-vel__clip { position: absolute; inset: 0 0 -46px 0; clip-path: inset(-100vh -100vw 0 -100vw); pointer-events: none; }
.bv-vel__groep { position: absolute; inset: 0 0 46px 0; perspective: 2200px; transform-origin: 50% 50%; }
.bv-vel__blad { position: absolute; inset: 0; z-index: 1; transform-style: preserve-3d; transform-origin: 0 50%; }
.bv-vel__voor { position: absolute; inset: 0; background: var(--bv-wit); box-shadow: var(--bv-schaduw-vel); -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.bv-vel--statisch .bv-vel__groep { inset: 0; }
.bv-vel--statisch .bv-vel__voor { position: relative; height: 100%; }
.bv-vel__voor img, .bv-vel__achter img, .bv-vel__binnen img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.bv-vel__lagen { position: absolute; inset: 0; isolation: isolate; background: var(--bv-wit); opacity: 0; transition: opacity 300ms var(--bv-ease); }
.bv-vel.is-lagen .bv-vel__lagen { opacity: 1; }
.bv-hero .bv-vel__laag { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; mix-blend-mode: multiply; transform-origin: 50% 50%; }
.bv-vel.is-actief .bv-vel__laag { will-change: transform, opacity; }
.bv-vel__flits { position: absolute; inset: 0; background: var(--bv-wit); opacity: 0; transition: opacity 120ms linear; pointer-events: none; }
.bv-vel__flits.is-aan { opacity: .22; transition-duration: 40ms; }
.bv-vel__achter { position: absolute; inset: 0; background: var(--bv-wit); transform: rotateY(180deg); -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.bv-vel__achter::after, .bv-vel__binnen::after { content: ""; position: absolute; inset: 0; pointer-events: none; }
.bv-vel__achter::after { background: linear-gradient(to left, rgba(16,19,24,.22), rgba(16,19,24,0) 9%); }
.bv-vel__binnen::after { background: linear-gradient(to right, rgba(16,19,24,.24), rgba(16,19,24,0) 8%); }
.bv-vel__binnen { position: absolute; inset: 0; z-index: 0; background: var(--bv-wit); box-shadow: var(--bv-schaduw-vel); visibility: hidden; }
.bv-vel.is-open .bv-vel__binnen { visibility: visible; }
.bv-vel__loep { position: absolute; left: 0; top: 0; z-index: 3; width: 168px; height: 168px; border-radius: 50%; overflow: hidden; opacity: 0; background: var(--bv-wit);
  box-shadow: 0 0 0 1px var(--bv-inkt), 0 0 0 5px var(--bv-wit), 0 0 0 6px var(--bv-inkt), 0 18px 36px -10px rgba(16,19,24,.55); transform-origin: 50% 50%; }
.bv-vel__loep img { position: absolute; left: 0; top: 0; max-width: none; transform-origin: 0 0; }
/* paskruisen: per drukgang een kopie (multiply), samen = één zwart kruis in register */
.bv-vel__pas { position: absolute; left: 50%; width: 24px; height: 24px; margin-left: -12px; isolation: isolate; pointer-events: none; }
.bv-vel__pas--boven { top: -40px; }
.bv-vel__pas--onder { bottom: -40px; }
.bv-vel__kruis { position: absolute; inset: 0; background: var(--bv-inkt); mix-blend-mode: multiply;
  -webkit-mask: var(--bv-svg-paskruis) center / contain no-repeat; mask: var(--bv-svg-paskruis) center / contain no-repeat; }
.bv-vel__kruis--c { background: var(--bv-c); } .bv-vel__kruis--m { background: var(--bv-m); } .bv-vel__kruis--y { background: var(--bv-y); }
.bv-vel__kruis:not(.bv-vel__kruis--k) { display: none; }
.bv-hero--anim .bv-vel__kruis { display: block; }
/* drukmarge onder het vel: kleurstrookje links, bijschrift (drukgang) rechts; brievenbusgleuf */
.bv-vel__strook { position: absolute; left: 0; bottom: -66px; }
.bv-vel__bijschrift { position: absolute; right: 0; bottom: -72px; margin: 0; display: none; align-items: center; gap: 8px; font-family: var(--bv-sans); font-weight: 600; font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--bv-grijs); white-space: nowrap; }
.bv-hero--anim .bv-vel__bijschrift { display: flex; }
.bv-vel__vakje { width: 12px; height: 12px; flex: none; background: transparent; box-shadow: inset 0 0 0 1px var(--bv-grijs); transition: background-color 160ms var(--bv-ease); }
.bv-vel__vakje--c { background: var(--bv-c); box-shadow: none; } .bv-vel__vakje--m { background: var(--bv-m); box-shadow: none; }
.bv-vel__vakje--y { background: var(--bv-y); box-shadow: none; } .bv-vel__vakje--k { background: var(--bv-inkt); box-shadow: none; }
.bv-vel__vakje--cmyk { width: 32px; background: linear-gradient(to right, var(--bv-c) 0 25%, var(--bv-m) 25% 50%, var(--bv-y) 50% 75%, var(--bv-inkt) 75%); box-shadow: none; }
.bv-vel__bus { position: absolute; left: 8%; right: 8%; bottom: -46px; height: 0; opacity: 0; pointer-events: none; }
.bv-vel__gleuf { position: absolute; left: 6%; right: 6%; top: -5px; height: 10px; border-radius: 5px; background: var(--bv-inkt); }
.bv-vel__gleuf::before { content: ""; position: absolute; left: -9%; right: -9%; top: -20px; height: 50px; border: 1.5px solid var(--bv-inkt); border-radius: 4px; }
/* --- H3. Tablet en mobiel */
@media (max-width: 1024px) {
  .bv-hero { --bv-vel-h: clamp(320px, calc(100svh - var(--bv-kop-h, 64px) - var(--bv-kop-weg, 40px) - 200px), 560px); }
  .bv-hero .bv-hero__h1 { font-size: clamp(44px, min(6.6vw, 8svh), 76px); }
  .bv-hero .bv-hero__lead, .bv-hero .bv-hero__lead p { font-size: 18px; }
  .bv-hero__tekst { gap: 18px; }
  .bv-hero__binnen { grid-template-columns: minmax(0, 1fr) minmax(0, var(--bv-vel-w)); column-gap: 40px; }
  .bv-hero__tekst { padding-right: 0; }
}
@media (max-width: 767px), (max-width: 1024px) and (orientation: portrait) {
  .bv-hero { --bv-vel-h: clamp(230px, min(33svh, 100vw), 330px); }
  .bv-hero__stage { padding-block: 20px 72px; }
  .bv-hero--anim .bv-hero__spoor { height: 200svh; }
  .bv-hero__binnen { display: flex; flex-direction: column; align-items: stretch; gap: 56px; }
  .bv-hero__vel-w { order: -1; padding-block: 32px 0; }
  .bv-hero__tekst { gap: 16px; }
  .bv-hero .bv-hero__rubriek { font-size: 11.5px; letter-spacing: .12em; }
  .bv-hero__rubriek::before { width: 20px; margin-right: 10px; }
  .bv-hero__rubriek > span + span::before { margin: 0 8px; }
  .bv-hero__rubriek > span:first-child { flex-basis: calc(100% - 40px); }
  .bv-hero__rubriek > span:nth-child(2)::before { display: none; }
  .bv-hero__knoppen { gap: 10px; }
  .bv-hero__knoppen .bv-knop { padding-inline: 18px; }
  .bv-hero__knoppen .bv-knop__pijl { display: none; }
  .bv-hero .bv-hero__h1 { font-size: clamp(38px, 11.4vw, 46px); line-height: 1.0; }
  .bv-hero__cijfers { column-gap: 28px; }
  .bv-hero--anim .bv-hero__stage .bv-hero__lead-w, .bv-hero--anim .bv-hero__stage .bv-hero__cijfers { display: none; }
  .bv-hero--anim .bv-hero__na { display: flex; flex-direction: column; gap: 20px; padding: 8px 0 56px; }
  .bv-vel__loep, .bv-vel__bus, .bv-vel__achter, .bv-hero--anim .bv-hero__volgende { display: none; }
  .bv-vel__binnen { z-index: 2; visibility: visible; opacity: 0; }
  .bv-vel__strook { bottom: -46px; } .bv-vel__bijschrift { bottom: -52px; font-size: 11.5px; }
  .bv-vel__pas--boven { top: -30px; } .bv-vel__pas--onder { bottom: -30px; }
  .bv-vel__pas { width: 20px; height: 20px; margin-left: -10px; }
}
@media (max-width: 767px) and (max-height: 700px) { .bv-hero { --bv-vel-h: clamp(220px, 31svh, 300px); } }
@media (min-width: 600px) and (max-width: 1024px) and (orientation: portrait) { .bv-hero { --bv-vel-h: clamp(300px, 40svh, 460px); } .bv-hero .bv-hero__h1 { font-size: 64px; } }
/* --- H4. Doelgroepen (twee vlakken) */
.bv-kies { display: grid; grid-template-columns: 1fr 1fr; gap: var(--bv-gap); }
.bv-kies__vlak { position: relative; display: flex; flex-direction: column; gap: 16px; min-height: 340px; padding: 48px 48px 44px; background: var(--bv-papier-diep); }
.bv-kies__vlak.bv-op-blauw { background: var(--bv-blauw); }
.bv-kies__pas { position: absolute; top: 20px; right: 20px; opacity: .55; }
.bv-kies__vlak .bv-kies__titel { margin: 0; max-width: 15em; font-family: var(--bv-serif); font-weight: 600; font-size: clamp(26px, 2.4vw, 34px); line-height: 1.12; letter-spacing: -.01em; color: var(--bv-inkt); text-wrap: balance; }
.bv-kies__vlak.bv-op-blauw .bv-kies__titel { color: var(--bv-wit); }
.bv-kies__tekst { margin: 0; max-width: 30em; font-size: 17px; line-height: 1.6; color: var(--bv-zetsel); }
.bv-op-blauw .bv-kies__tekst { color: var(--bv-papier); }
.bv-kies__knoppen { margin-top: auto; padding-top: 16px; }
/* --- H5. Drukkerij-kaarten, figuur, verspreiding, volgende edities */
.bv-home-druk { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; padding: 16px; margin: -16px; }
.bv-home-druk .bv-drukwerkkaart__beeld img { display: block; }
.bv-home-figuur { margin: 0; display: flex; flex-direction: column; gap: 14px; }
.bv-home-figuur img { display: block; width: 100%; aspect-ratio: 4 / 4.4; object-fit: cover; box-shadow: var(--bv-schaduw-vel); }
.bv-home-gebied { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.bv-home-gebied__kol { background: var(--bv-wit); padding: 28px 28px 24px; border-top: 8px solid var(--bv-blauw); box-shadow: var(--bv-schaduw-kaart); }
.bv-home-gebied__kol--regio { border-top-color: var(--bv-regio); }
.bv-home-gebied__titel { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; font-family: var(--bv-serif); font-weight: 700; font-size: 21px; color: var(--bv-blauw); }
.bv-home-gebied__kol--regio .bv-home-gebied__titel { color: var(--bv-regio-diep); }
.bv-home-gebied__kleur { width: 14px; height: 14px; flex: none; background: var(--bv-blauw); }
.bv-home-gebied__kol--regio .bv-home-gebied__kleur { background: var(--bv-regio); }
.bv-home-gebied ul { margin: 0; padding: 0; list-style: none; columns: 2; column-gap: 20px; }
.bv-home-gebied li { padding: 6px 0; border-top: 1px solid var(--bv-lijn); font-size: 15px; break-inside: avoid; }
.bv-volgende-edities { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.bv-volgend { padding: 32px 32px 28px; background: var(--bv-papier); border-top: 8px solid var(--bv-blauw); }
.bv-volgend--regio { border-top-color: var(--bv-regio); }
.bv-volgend .bv-volgend__titel { margin: 0 0 20px; font-family: var(--bv-serif); font-weight: 800; font-size: clamp(28px, 2.6vw, 38px); line-height: 1; letter-spacing: -.03em; color: var(--bv-blauw); }
.bv-volgend--regio .bv-volgend__titel { color: var(--bv-regio-diep); }
.bv-volgend dl { margin: 0; }
.bv-volgend__rij { display: grid; grid-template-columns: 9.5em 1fr; gap: 16px; align-items: baseline; padding: 14px 0; border-top: 1px solid var(--bv-lijn); }
.bv-volgend dt { display: flex; align-items: center; gap: 10px; font-family: var(--bv-sans); font-weight: 700; font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--bv-grijs); }
.bv-volgend__stip { width: 9px; height: 9px; border-radius: 50%; background: var(--bv-c); flex: none; }
.bv-volgend__stip--deadline { background: var(--bv-m); }
.bv-volgend dd { margin: 0; font-family: var(--bv-serif); font-weight: 600; font-size: 22px; line-height: 1.25; color: var(--bv-inkt); }
.bv-volgend__voor { display: block; margin-top: 2px; font-family: var(--bv-sans); font-weight: 500; font-size: 14px; color: var(--bv-grijs); }
.bv-home-route { margin-top: 10px; font-family: var(--bv-sans); font-size: 16px; }
.bv-voorpagina__cover .bv-cover { max-width: 420px; margin-inline: auto; }
@media (max-width: 1024px) {
  .bv-kies { grid-template-columns: 1fr; }
  .bv-kies__vlak { min-height: 0; padding: 40px 36px 36px; }
  .bv-home-druk { grid-template-columns: 1fr 1fr; gap: 24px; }
  .bv-volgende-edities { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 767px) {
  .bv-kies__vlak { padding: 32px 22px 28px; gap: 12px; }
  .bv-kies__pas { top: 14px; right: 14px; }
  .bv-kies__knoppen .bv-knop { flex: 1 1 auto; }
  .bv-home-druk { grid-template-columns: 1fr; gap: 24px; padding: 16px 0; margin: -16px 0; }
  .bv-home-gebied { grid-template-columns: 1fr; gap: 16px; }
  .bv-home-gebied__kol { padding: 22px 20px 18px; }
  .bv-volgend { padding: 24px 20px 20px; }
  .bv-volgend__rij { grid-template-columns: 1fr; gap: 4px; }
  .bv-volgend dd { font-size: 20px; }
  .bv-voorpagina__cover .bv-cover { max-width: 300px; }
}
/* --- H6. Waaier van voorpagina's, statische hero-marge, brede figuur */
.bv-voorpagina__cover { width: 100%; }
.bv-waaier { position: relative; width: min(76%, 400px); aspect-ratio: 595 / 794; margin: 24px auto 40px; }
.bv-waaier__vel { position: absolute; inset: 0; display: block; background: var(--bv-wit); box-shadow: var(--bv-schaduw-vel); transform-origin: 50% 100%; transition: transform var(--bv-dur) var(--bv-ease), box-shadow var(--bv-dur) var(--bv-ease); }
.bv-waaier__vel img { display: block; width: 100%; height: 100%; object-fit: cover; }
.bv-waaier__vel--2 { transform: translate(-12%, 4%) rotate(-7deg) scale(.9); }
.bv-waaier__vel--1 { transform: translate(12%, 3%) rotate(5deg) scale(.93); }
.bv-waaier__vel--0 { transform: none; }
.bv-waaier:hover .bv-waaier__vel--2 { transform: translate(-15%, 4%) rotate(-9deg) scale(.9); }
.bv-waaier:hover .bv-waaier__vel--1 { transform: translate(15%, 3%) rotate(7deg) scale(.93); }
a.bv-waaier__vel--0:hover, a.bv-waaier__vel--0:focus-visible { transform: translateY(-6px); box-shadow: var(--bv-schaduw-vel-hoog); }
.bv-hero:not(.bv-hero--anim) .bv-hero__stage { padding-bottom: 32px; }
.bv-hero:not(.bv-hero--anim) .bv-hero__vel-w { padding-bottom: 56px; }
.bv-home-figuur--breed img { aspect-ratio: 3 / 2; }
@media (max-width: 767px) { .bv-waaier, .bv-titelhero__beeld .bv-waaier { width: 58%; margin: 8px auto 24px; } .bv-waaier__vel--2 { transform: translate(-6%, 4%) rotate(-5deg) scale(.9); } .bv-waaier__vel--1 { transform: translate(6%, 3%) rotate(4deg) scale(.93); } }
/* --- H7. Titelpagina's: hero met waaier en cijferrij, feitenlijst + gemeenten */
.bv-titelhero__raster { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--bv-gap); align-items: center; }
.bv-titelhero__tekst { display: flex; flex-direction: column; gap: 22px; padding-right: 32px; }
.bv-titelhero .bv-titelhero__h1 { margin: 0; font-family: var(--bv-serif); font-weight: 600; font-size: clamp(40px, 4.6vw, 68px); line-height: 1.02; letter-spacing: -.018em; color: var(--bv-blauw); text-wrap: balance; }
.bv-titelhero--regio .bv-titelhero__h1 { color: var(--bv-inkt); }
.bv-titelhero__lead, .bv-titelhero__lead p { margin: 0; font-family: var(--bv-serif); font-size: clamp(19px, 1.5vw, 22px); line-height: 1.45; color: var(--bv-zetsel); max-width: 34em; }
.bv-titelhero__beeld .bv-waaier { width: min(78%, 380px); margin: 16px auto 32px; }
.bv-titelhero__cijfers { position: relative; margin-top: 56px; border-top: 3px solid var(--bv-inkt); }
.bv-titelhero__cijfers::before { content: ""; position: absolute; left: 0; right: 0; top: -8px; height: 1px; background: var(--bv-inkt); }
.bv-titelhero--regio .bv-titelhero__cijfers { border-top-color: var(--bv-regio-diep); }
.bv-titelhero--regio .bv-titelhero__cijfers::before { background: var(--bv-regio-diep); }
.bv-titelhero .bv-cijfer { font-size: clamp(44px, 4.4vw, 64px); }
.bv-titelhero--regio .bv-cijfer { color: var(--bv-regio-diep); }
.bv-cijfer__sub { display: block; margin-top: 2px; font-size: 15px; color: var(--bv-zetsel); }
.bv-feiten { display: flex; flex-direction: column; gap: 32px; }
.bv-feiten__lijst { margin: 0; border-top: 3px solid var(--bv-blauw); }
.bv-feiten--regio .bv-feiten__lijst { border-top-color: var(--bv-regio); }
.bv-feiten__lijst > div { display: grid; grid-template-columns: 11em 1fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--bv-lijn); align-items: baseline; }
.bv-feiten dt { font-family: var(--bv-sans); font-weight: 700; font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--bv-grijs); }
.bv-feiten dd { margin: 0; font-family: var(--bv-serif); font-weight: 600; font-size: 21px; line-height: 1.3; color: var(--bv-inkt); }
.bv-feiten .bv-feiten__gemeenten ul.bv-sc-gemeenten, .bv-feiten__gemeenten ul { display: block; margin: 0; padding: 0; list-style: none; columns: 2; column-gap: 24px; }
.bv-feiten .bv-feiten__gemeenten li { display: block; margin: 0; padding: 7px 0 7px 18px; border-bottom: 1px solid var(--bv-lijn); font-size: 16px; break-inside: avoid; position: relative; }
.bv-feiten__gemeenten li::before { content: ""; position: absolute; left: 0; top: 50%; width: 8px; height: 8px; margin-top: -4px; background: var(--bv-blauw); }
.bv-feiten--regio .bv-feiten__gemeenten li::before { background: var(--bv-regio); }
.bv-op-regio .bv-rubriek, .bv-op-regio .bv-cijfer { color: var(--bv-y); }
@media (max-width: 1024px) {
  .bv-titelhero__raster { grid-template-columns: 1fr; gap: 40px; }
  .bv-titelhero__tekst { padding-right: 0; }
}
@media (max-width: 767px) {
  .bv-titelhero__cijfers { margin-top: 40px; grid-template-columns: 1fr 1fr; }
  .bv-titelhero__cijfers > :first-child { grid-column: 1 / -1; }
  .bv-feiten__lijst > div { grid-template-columns: 1fr; gap: 2px; }
  .bv-feiten dd { font-size: 19px; }
}
/* bv-home:end *//* End custom CSS */