/* Breeveld Advocatuur, eigen opmaak. Versie 0.3.0.
   Gebouwd naar het goedgekeurde ontwerp, versie 7. */

/* ---------- lettertypen, in het thema zelf ---------- */

@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 600; font-display: swap;
  src: url('../fonts/barlow-condensed-600-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 600; font-display: swap;
  src: url('../fonts/barlow-condensed-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/barlow-500-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/barlow-600-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/barlow-700-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 400 600; font-display: swap; src: url('../fonts/source-sans-3-400-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 400 600; font-display: swap; src: url('../fonts/source-sans-3-400-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

@font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/source-serif-4-600-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ---------- toegankelijkheid ---------- */

.brv-skip {
  position: absolute; left: -9999px; top: 0; z-index: 999;
  background: var(--wp--preset--color--mint); color: #06211F;
  font-family: var(--wp--preset--font-family--accent); font-weight: 600;
  padding: 14px 22px; text-decoration: none;
}
.brv-skip:focus { left: 0; }

a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--wp--preset--color--mint);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}


/* ================================================================
   Ontwerp versie 7, één op één. Alle maten, kleuren en afstanden
   hieronder komen uit mockups/werkbestanden (lib.mjs, sections.mjs,
   dir-teal.mjs en page-*.mjs). Wijk er niet van af zonder dat het
   ontwerp ook wordt aangepast.
   ================================================================ */

:root {
  --brv-inkt: #0B0E0E;
  --brv-inkt2: #141A1A;
  --brv-groen: #0C4F4A;
  --brv-teal: #12736B;
  --brv-tealb: #35B3A6;
  --brv-mint: #7FE0D3;
  --brv-papier: #F5F6F4;
  --brv-papier2: #EBEEEB;
  --brv-lijn: #D9DEDB;
  --brv-lijn-donker: #2A3332;
  --brv-leisteen: #1C2E33;
  --brv-leisteen2: #24383E;
  --brv-leisteen-lijn: #3A5057;
  --brv-tekst: #22292A;
  --brv-gedempt: #5C6766;
  --brv-op-donker: #EDF1F0;
  --brv-op-donker-zacht: #A7B3B1;

  --brv-kop: 'Barlow Condensed', 'Arial Narrow', 'Helvetica Neue', Arial, sans-serif;
  --brv-accent: 'Barlow', 'Helvetica Neue', Arial, sans-serif;

  --ico-vink: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E");
  --ico-pijl: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E");
  --ico-klok: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
  --ico-telefoon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 3h3l1.5 4-2 1.4a12 12 0 0 0 5.6 5.6L16 12l4 1.5v3a2 2 0 0 1-2.2 2A16.5 16.5 0 0 1 3 6.2 2 2 0 0 1 5 4h1.5z'/%3E%3C/svg%3E");
  --ico-weegschaal: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v16'/%3E%3Cpath d='M6 20h12'/%3E%3Cpath d='M4 8h16'/%3E%3Cpath d='M4 8l-2.5 6a3.2 3.2 0 0 0 5 0z'/%3E%3Cpath d='M20 8l2.5 6a3.2 3.2 0 0 1-5 0z'/%3E%3C/svg%3E");
  --ico-koffer: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='18' height='13' rx='2'/%3E%3Cpath d='M9 7V5.5A1.5 1.5 0 0 1 10.5 4h3A1.5 1.5 0 0 1 15 5.5V7'/%3E%3Cpath d='M3 12h18'/%3E%3C/svg%3E");
}

/* ---------- de pagina zelf ---------- */

body { background: var(--brv-papier); color: var(--brv-tekst); font-size: 18px; line-height: 1.6; -webkit-font-smoothing: antialiased; }

/* Vlakken sluiten op elkaar aan; afstand komt alleen uit dit bestand. */
body .wp-site-blocks > *,
body main.wp-block-group > *,
body .wp-block-post-content > * { margin-block-start: 0; margin-block-end: 0; }
body .brv-s *, body .brv-hdr *, body .brv-foot * { margin-block: 0; }

/* ---------- vlakken en hun kleuren ---------- */

.brv-s { --fg: var(--brv-tekst); --muted: var(--brv-gedempt); --lijn: var(--brv-lijn); --accent: var(--brv-groen); --kaart: #FFFFFF; color: var(--fg); }
.brv-s--papier  { background: var(--brv-papier); }
.brv-s--papier2 { background: var(--brv-papier2); }
.brv-s--wit     { background: #FFFFFF; }
.brv-s--leisteen, .brv-kaart-spreekuur, .brv-zijkaart--donker {
  --fg: #FFFFFF; --muted: #B0C3C7; --lijn: var(--brv-leisteen-lijn); --accent: var(--brv-mint); --kaart: var(--brv-leisteen2);
}
.brv-s--leisteen { background: var(--brv-leisteen); }
.brv-s--groen { --fg: #FFFFFF; --muted: #BFD9D5; --lijn: rgba(255,255,255,0.18); --accent: var(--brv-mint); --kaart: #0A423E; background: var(--brv-groen); }

.brv-p96 { padding-block: 96px; }
.brv-p92 { padding-block: 92px; }
.brv-p88 { padding-block: 88px; }
.brv-p80 { padding-block: 80px; }
.brv-p72 { padding-block: 72px; }
.brv-p64 { padding-block: 64px; }
.brv-p72-88 { padding-block: 72px 88px; }
.brv-feiten { padding-block: 26px; border-top: 1px solid var(--brv-leisteen-lijn); border-bottom: 1px solid var(--brv-leisteen-lijn); }
.brv-hero-home { padding-block: 96px 0; overflow: hidden; }
.brv-hero { padding-block: 56px 88px; }
.brv-hero--over { padding-block: 56px 96px; }
.brv-hero--contact { padding-block: 56px 80px; }

/* ---------- raster en ritme ---------- */

.brv-col { display: flex; flex-direction: column; }
.brv-grid12 { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); }
.brv-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.brv-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.brv-grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.brv-span3 { grid-column: span 3; } .brv-span4 { grid-column: span 4; } .brv-span5 { grid-column: span 5; }
.brv-span6 { grid-column: span 6; } .brv-span7 { grid-column: span 7; } .brv-span8 { grid-column: span 8; }
.brv-span9 { grid-column: span 9; }
.brv-rij-tussen { display: flex; justify-content: space-between; }
.brv-midden { align-items: center; } .brv-onder { align-items: end; } .brv-boven { align-items: start; }
.brv-rechts { align-items: flex-end; text-align: right; }

.brv-g2 { gap: 2px; } .brv-g3 { gap: 3px; } .brv-g4 { gap: 4px; } .brv-g6 { gap: 6px; } .brv-g10 { gap: 10px; }
.brv-g12 { gap: 12px; } .brv-g14 { gap: 14px; } .brv-g16 { gap: 16px; } .brv-g18 { gap: 18px; } .brv-g20 { gap: 20px; }
.brv-g22 { gap: 22px; } .brv-g24 { gap: 24px; } .brv-g26 { gap: 26px; } .brv-g28 { gap: 28px; } .brv-g30 { gap: 30px; }
.brv-g32 { gap: 32px; } .brv-g36 { gap: 36px; } .brv-g40 { gap: 40px; } .brv-g44 { gap: 44px; } .brv-g48 { gap: 48px; }
.brv-g56 { gap: 56px; }

.brv-max380 { max-width: 380px; } .brv-max640 { max-width: 640px; } .brv-max660 { max-width: 660px; }
.brv-max680 { max-width: 680px; } .brv-max700 { max-width: 700px; } .brv-max720 { max-width: 720px; }
body .brv-s .brv-pt4 { padding-top: 4px; } body .brv-s .brv-pt6 { padding-top: 6px; } body .brv-s .brv-pt8 { padding-top: 8px; }
body .brv-s .brv-pt10 { padding-top: 10px; } body .brv-s .brv-pt14 { padding-top: 14px; } body .brv-s .brv-pt22 { padding-top: 22px; }
body .brv-s .brv-mt4 { margin-top: 4px; }
.brv-nowrap { white-space: nowrap; }

/* ---------- typografie ---------- */

.brv-s .brv-h1 { font-family: var(--brv-kop); font-weight: 600; font-size: clamp(40px, 7.23vw, 104px); line-height: 0.92; letter-spacing: -0.005em; color: #FFFFFF; text-wrap: balance; }
.brv-s .brv-h1--hero { font-size: clamp(40px, 8.9vw, 128px); letter-spacing: -0.01em; }
.brv-s h2.wp-block-heading { font-family: var(--brv-kop); font-weight: 600; line-height: 0.98; letter-spacing: -0.005em; color: var(--fg); }
.brv-s .brv-h2-60 { font-size: clamp(29px, 4.17vw, 60px); }
.brv-s .brv-h2-56 { font-size: clamp(29px, 3.89vw, 56px); }
.brv-s .brv-h2-52 { font-size: clamp(29px, 3.61vw, 52px); }
.brv-s .brv-h2-48 { font-size: clamp(29px, 3.33vw, 48px); }
.brv-s .brv-h2-44 { font-size: clamp(29px, 3.06vw, 44px); }
.brv-s h3.wp-block-heading { font-family: var(--brv-accent); font-weight: 600; line-height: 1.15; letter-spacing: -0.01em; color: var(--fg); }
.brv-s .brv-h3-28 { font-size: 28px; } .brv-s .brv-h3-24 { font-size: 24px; } .brv-s .brv-h3-23 { font-size: 23px; } .brv-s .brv-h3-21 { font-size: 21px; }

.brv-t14 { font-size: 14px; } .brv-t15 { font-size: 15px; } .brv-t16 { font-size: 16px; } .brv-t17 { font-size: 17px; }
.brv-t18 { font-size: 18px; } .brv-t19 { font-size: 19px; } .brv-t20 { font-size: 20px; } .brv-t21 { font-size: 21px; }
.brv-t22 { font-size: 22px; line-height: 1.5; }
.brv-lh15 { line-height: 1.5; } .brv-lh155 { line-height: 1.55; } .brv-lh165 { line-height: 1.65; }
.brv-c-muted { color: var(--muted); } .brv-c-fg { color: var(--fg); } .brv-c-opdonker { color: var(--brv-op-donker); }
.brv-c-kruimel { color: #9FC6C1; }
.brv-s .brv-lead { color: #D6ECE9; }
.brv-s .brv-kale-link a { color: inherit; text-decoration: none; }
.brv-s .brv-tekstlink a { color: var(--brv-groen); text-decoration: underline; }

.brv-s .brv-eyebrow { font-family: var(--brv-accent); font-size: 13px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; line-height: 1.6; color: var(--accent); }

/* ---------- pictogrammen ---------- */

.brv-ico { display: flex; align-items: center; gap: 10px; }
.brv-ico::before { content: ''; width: 20px; height: 20px; flex-shrink: 0; background-color: var(--ico-kleur, var(--accent));
  -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.brv-ico--vink { --ico: var(--ico-vink); } .brv-ico--klok { --ico: var(--ico-klok); } .brv-ico--telefoon { --ico: var(--ico-telefoon); }
.brv-ico--weegschaal { --ico: var(--ico-weegschaal); } .brv-ico--koffer { --ico: var(--ico-koffer); }
h3.brv-ico { gap: 14px; }
h3.brv-ico::before { width: 24px; height: 24px; }

.brv-s .brv-link a { display: inline-flex; align-items: center; gap: 8px; font-family: var(--brv-accent); font-weight: 600; font-size: 17px; color: var(--accent); text-decoration: none; }
.brv-s .brv-link a::after { content: ''; width: 18px; height: 18px; flex-shrink: 0; background-color: currentColor;
  -webkit-mask: var(--ico-pijl) center / contain no-repeat; mask: var(--ico-pijl) center / contain no-repeat; }
.brv-s .brv-link a:hover { text-decoration: underline; }

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

.brv-s .brv-knoppen { display: flex; flex-wrap: wrap; gap: 14px; }
.brv-knop .wp-block-button__link {
  display: inline-flex; align-items: center; gap: 10px; border: 0; border-radius: 0;
  font-family: var(--brv-accent); font-weight: 600; font-size: 17px; line-height: 1.6; letter-spacing: -0.01em;
  padding: 16px 26px; min-height: 56px; text-decoration: none;
}
.brv-knop .wp-block-button__link::after { content: ''; width: 18px; height: 18px; flex-shrink: 0; background-color: var(--pijl);
  -webkit-mask: var(--ico-pijl) center / contain no-repeat; mask: var(--ico-pijl) center / contain no-repeat; }
.brv-knop--zwart .wp-block-button__link { background: var(--brv-inkt); color: #FFFFFF; --pijl: var(--brv-mint); }
.brv-knop--mint  .wp-block-button__link { background: var(--brv-tealb); color: #06211F; --pijl: #06211F; }
.brv-knop--licht .wp-block-button__link { background: var(--brv-inkt); color: var(--brv-papier); --pijl: var(--brv-tealb); }
.brv-knop--rand  .wp-block-button__link { background: transparent; color: var(--brv-op-donker); border: 1px solid var(--brv-lijn-donker); letter-spacing: normal; }
.brv-knop--rand  .wp-block-button__link::after { display: none; }
.brv-knop--rand  .wp-block-button__link::before { content: ''; width: 20px; height: 20px; flex-shrink: 0; background-color: var(--brv-tealb);
  -webkit-mask: var(--ico-telefoon) center / contain no-repeat; mask: var(--ico-telefoon) center / contain no-repeat; }
.brv-knop .wp-block-button__link:hover { filter: brightness(1.12); }
.brv-knop--zwart .wp-block-button__link:hover, .brv-knop--licht .wp-block-button__link:hover { background: var(--brv-inkt2); filter: none; }
.brv-knoppen--vol, .brv-knoppen--vol .wp-block-button { width: 100%; }
.brv-knoppen--vol .wp-block-button__link { width: 100%; justify-content: center; font-size: 16px; padding: 15px 22px; letter-spacing: normal; }
.brv-knoppen--vol .wp-block-button__link::after { width: 16px; height: 16px; }
/* Knop in de rechterkolom van de paginakop: volle kolombreedte, tekst links. */
.brv-s .brv-knoppen--rek, .brv-s .brv-knoppen--rek .wp-block-button, .brv-s .brv-knoppen--rek .wp-block-button__link { width: 100%; }

/* ---------- hero homepage ---------- */

.brv-hero-home__raster { gap: 40px; align-items: end; padding-bottom: 72px; }
.brv-kaart-spreekuur { background: var(--brv-leisteen); padding: 34px; }
.brv-tijden { font-size: 16px; line-height: calc(1.6em + 7px); color: var(--muted); }
.brv-tijden--6 { line-height: calc(1.6em + 6px); }
.brv-s .brv-streep { border: 0 !important; height: 1px; width: 100%; max-width: none !important; background: var(--lijn); opacity: 1; margin: 0; }
.brv-bedrag { font-family: var(--brv-kop); font-weight: 600; line-height: 1; color: var(--fg); }
.brv-bedrag--40 { font-size: 40px; } .brv-bedrag--52 { font-size: 52px; }
.brv-bedrag--28 { font-family: var(--brv-accent); font-weight: 700; font-size: 28px; line-height: 1.6; }

/* ---------- beeld dat nog geen echte foto is ---------- */

.brv-ph { position: relative; }
.brv-ph .brv-ph__beeld { margin: 0; }
.brv-ph .brv-ph__beeld img { width: 100%; object-fit: cover; display: block; filter: grayscale(0.62) brightness(1.06) contrast(0.9); }
.brv-ph--380 .brv-ph__beeld img { height: 380px; }
.brv-ph--560 .brv-ph__beeld img { height: 560px; }
.brv-ph::after { content: ''; position: absolute; inset: 0; pointer-events: none;
  background: repeating-linear-gradient(135deg, rgba(12,79,74,0.22) 0px, rgba(12,79,74,0.22) 13px, rgba(245,246,244,0.16) 13px, rgba(245,246,244,0.16) 26px); }
.brv-ph .brv-ph__label { position: absolute; z-index: 1; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: max-content; max-width: min(560px, calc(100% - 40px)); display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center;
  background: rgba(12,79,74,0.95); border: 1px solid var(--brv-tealb); padding: 16px 24px; }
.brv-ph__titel { font-family: var(--brv-accent); font-size: 14px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--brv-mint); line-height: 1.6; }
.brv-ph__regel { font-size: 15px; line-height: 1.45; color: #FFFFFF; }

/* ---------- feiten ---------- */

.brv-s .brv-feit { align-items: flex-start; gap: 12px; font-size: 16px; line-height: 1.45; color: var(--fg); }
.brv-s .brv-regel { align-items: flex-start; gap: 12px; font-size: 17px; color: #FFFFFF; }

/* ---------- rechtsgebiedkaarten ---------- */

.brv-gkaart { background: #FFFFFF; border: 1px solid var(--brv-lijn); padding: 44px 44px 40px; }
.brv-s .brv-kaartlijst { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.brv-s .brv-kaartlijst li { display: flex; align-items: center; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--brv-lijn); font-size: 17px; color: var(--fg); }
.brv-kaartlijst li::before { content: ''; width: 18px; height: 18px; flex-shrink: 0; background-color: var(--accent);
  -webkit-mask: var(--ico-pijl) center / contain no-repeat; mask: var(--ico-pijl) center / contain no-repeat; }

.brv-kkaartje { position: relative; display: flex; align-items: center; gap: 20px; background: #FFFFFF; border: 1px solid var(--brv-lijn); padding: 26px 28px; }
.brv-kkaartje::after { content: ''; width: 20px; height: 20px; flex-shrink: 0; background-color: var(--accent);
  -webkit-mask: var(--ico-pijl) center / contain no-repeat; mask: var(--ico-pijl) center / contain no-repeat; }
.brv-kkaartje__tekst { display: flex; flex-direction: column; gap: 4px; flex-grow: 1; }
.brv-s .brv-kkaartje__titel { font-family: var(--brv-accent); font-weight: 600; font-size: 21px; line-height: 1.6; color: var(--fg); }
.brv-s .brv-kkaartje__titel a { color: inherit; text-decoration: none; }
.brv-s .brv-kkaartje__titel a::after { content: ''; position: absolute; inset: 0; }
.brv-kkaartje__uitleg { font-size: 16px; line-height: 1.5; color: var(--muted); }
.brv-kkaartje:hover { border-color: var(--brv-groen); }

/* ---------- citaat ---------- */

.brv-citaat { border-left: 4px solid var(--brv-mint); padding-left: 40px; }
.brv-citaat__tekst { font-family: var(--brv-kop); font-size: 52px; font-weight: 600; line-height: 1.12; letter-spacing: -0.005em; color: #FFFFFF; }
.brv-citaat__naam { font-family: var(--brv-accent); font-size: 16px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--brv-mint); }
.brv-todo { background: rgba(127,224,211,0.09); border: 1px dashed rgba(127,224,211,0.45); padding: 24px; }
.brv-todo__titel { font-family: var(--brv-accent); font-weight: 600; font-size: 15px; color: var(--brv-mint); }
.brv-todo__tekst { font-size: 15px; line-height: 1.55; color: #B0C3C7; }

/* ---------- lijsten met een vinkje ---------- */

.brv-vinklijst { display: flex; flex-direction: column; }
.brv-vink { display: flex; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--lijn); }
.brv-vinklijst--20 .brv-vink { padding: 20px 0; }
.brv-vink::before { content: ''; width: 20px; height: 20px; flex-shrink: 0; background-color: var(--accent);
  -webkit-mask: var(--ico-vink) center / contain no-repeat; mask: var(--ico-vink) center / contain no-repeat; }
.brv-vink__tekst { display: flex; flex-direction: column; gap: 3px; }
.brv-vink__titel { font-family: var(--brv-accent); font-weight: 600; font-size: 18px; color: var(--fg); line-height: 1.6; }
.brv-vink__uitleg { font-size: 16px; color: var(--muted); }
.brv-vinklijst--20 .brv-vink__uitleg { line-height: 1.5; }

/* ---------- kosten op de homepage ---------- */

.brv-kkosten { border-top: 3px solid var(--brv-groen); padding-top: 26px; }
.brv-kkosten__extra { font-size: 15px; font-weight: 600; color: var(--brv-groen); }

/* ---------- over mij en portret ---------- */

.brv-portret { position: relative; background: var(--kaart); border: 1px solid var(--lijn); }
.brv-portret--520 { height: 520px; }
.brv-portret--520 .brv-portret__label { position: absolute; left: 20px; bottom: 18px; font-size: 14px; color: var(--brv-tealb); letter-spacing: 0.06em; background: rgba(11,14,14,0.7); padding: 6px 10px; }
.brv-portret--580 { height: 580px; background: var(--brv-leisteen); border: 0; display: flex; align-items: flex-end; padding: 24px; }
.brv-portret--580 .brv-portret__label { font-size: 14px; color: var(--brv-mint); letter-spacing: 0.06em; }

.brv-s .brv-medialijst { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.brv-s .brv-medialijst li { padding: 18px 0; border-bottom: 1px solid var(--lijn); }
.brv-s .brv-medialijst a { display: flex; align-items: center; gap: 24px; text-decoration: none; font-size: 16px; color: var(--muted); }
.brv-s .brv-medialijst strong { font-family: var(--brv-accent); font-weight: 600; font-size: 18px; width: 190px; flex-shrink: 0; color: var(--fg); }
.brv-s .brv-medialijst a::after { content: ''; width: 18px; height: 18px; flex-shrink: 0; margin-left: auto; background-color: var(--accent);
  -webkit-mask: var(--ico-pijl) center / contain no-repeat; mask: var(--ico-pijl) center / contain no-repeat; }
.brv-s .brv-medialijst a:hover { color: var(--fg); }

/* ---------- spoed ---------- */

.brv-spoed__tel { font-family: var(--brv-kop); font-size: 44px; font-weight: 600; line-height: 1; white-space: nowrap; color: var(--brv-mint); }
.brv-s .brv-spoed__tel a, .brv-s .brv-contact__tel a { color: inherit; text-decoration: none; }
.brv-contact__tel { font-family: var(--brv-accent); font-size: 32px; font-weight: 700; color: var(--brv-mint); }

/* ---------- binnenpagina's ---------- */

.brv-kruimel { display: flex; align-items: center; gap: 10px; font-size: 15px; color: #9FC6C1; }
.brv-s .brv-kruimel a { display: inline-flex; align-items: center; gap: 10px; color: #9FC6C1; text-decoration: none; }
.brv-kruimel a::after { content: ''; width: 14px; height: 14px; background-color: #7FBBB4;
  -webkit-mask: var(--ico-pijl) center / contain no-repeat; mask: var(--ico-pijl) center / contain no-repeat; }
.brv-kruimel__nu { color: var(--brv-mint); }

.brv-situatie { position: relative; display: flex; align-items: center; gap: 20px; padding: 24px 26px; background: #FFFFFF; border: 1px solid var(--brv-lijn); min-height: 96px; }
.brv-situatie::after { content: ''; width: 22px; height: 22px; flex-shrink: 0; background-color: var(--brv-groen);
  -webkit-mask: var(--ico-pijl) center / contain no-repeat; mask: var(--ico-pijl) center / contain no-repeat; }
.brv-situatie__tekst { display: flex; flex-direction: column; gap: 4px; flex-grow: 1; }
.brv-s .brv-situatie__titel { font-family: var(--brv-accent); font-weight: 600; font-size: 20px; line-height: 1.6; color: var(--brv-tekst); }
.brv-s .brv-situatie__titel a { color: inherit; text-decoration: none; }
.brv-s .brv-situatie__titel a::after { content: ''; position: absolute; inset: 0; }
.brv-situatie__uitleg { font-size: 16px; line-height: 1.5; color: var(--brv-gedempt); }
.brv-situatie:hover { border-color: var(--brv-groen); }

.brv-stap { border-top: 3px solid var(--brv-groen); padding-top: 24px; }
.brv-stap__nr { font-family: var(--brv-accent); font-size: 15px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--brv-groen); }

.brv-brief { background: var(--brv-leisteen2); border-left: 4px solid var(--brv-mint); padding: 38px; }

/* ---------- kostenpagina ---------- */

.brv-witkaart { background: #FFFFFF; border: 1px solid var(--brv-lijn); }
.brv-witkaart--40 { padding: 40px; }
.brv-bovenlijn { border-top: 1px solid var(--brv-lijn); padding-top: 4px; }
.brv-s h4.brv-tabelkop { font-family: var(--brv-accent); font-weight: 600; font-size: 17px; line-height: 1.15; letter-spacing: -0.01em; color: var(--brv-groen); }
.brv-s .brv-tabel { margin: 0; }
.brv-s .brv-tabel table { width: 100%; border-collapse: collapse; border-top: 2px solid var(--brv-groen); }
.brv-s .brv-tabel thead { border-bottom: 0; }
.brv-s .brv-tabel th, .brv-s .brv-tabel td { border: 0; border-bottom: 1px solid var(--brv-lijn); padding: 11px 14px; text-align: left; line-height: 1.35; vertical-align: top; }
.brv-s .brv-tabel th { font-family: var(--brv-accent); font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--brv-gedempt); }
.brv-s .brv-tabel td { font-size: 16px; color: var(--brv-tekst); }
.brv-s .brv-tabel th:first-child, .brv-s .brv-tabel td:first-child,
.brv-s .brv-tabel th:last-child, .brv-s .brv-tabel td:last-child { width: 50%; }
.brv-s .brv-tabel th:nth-child(2), .brv-s .brv-tabel td:nth-child(2) { text-align: center; width: 1%; white-space: nowrap; }
.brv-s .brv-tabel td:nth-child(2) { font-weight: 600; background: var(--brv-papier); font-variant-numeric: tabular-nums; }

.brv-tariefkaart { background: #FFFFFF; border: 1px solid var(--brv-lijn); padding: 36px; }
.brv-kostenrij { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; padding: 18px 0; border-bottom: 1px solid var(--brv-lijn); }
.brv-kostenrij__links { font-size: 17px; color: var(--brv-tekst); }
.brv-kostenrij__rechts { font-family: var(--brv-accent); font-weight: 600; font-size: 17px; color: var(--brv-tekst); text-align: right; white-space: nowrap; }

/* ---------- over mij ---------- */

.brv-feitkaart { border-top: 3px solid var(--brv-groen); padding-top: 22px; }
.brv-mediakaart { position: relative; display: flex; flex-direction: column; gap: 12px; background: #FFFFFF; border: 1px solid var(--brv-lijn); padding: 28px; min-height: 200px; }
.brv-mediakaart__bron { font-family: var(--brv-accent); font-size: 13px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--brv-groen); }
.brv-mediakaart__titel { font-family: var(--brv-accent); font-size: 21px; font-weight: 700; line-height: 1.25; color: var(--brv-tekst); flex-grow: 1; }
.brv-s .brv-mediakaart__titel a { color: inherit; text-decoration: none; }
.brv-s .brv-mediakaart__titel a::after { content: ''; position: absolute; inset: 0; }
.brv-mediakaart__regel { display: flex; align-items: center; gap: 8px; font-size: 15px; color: var(--brv-gedempt); }
.brv-mediakaart__regel::after { content: ''; width: 16px; height: 16px; background-color: var(--brv-groen);
  -webkit-mask: var(--ico-pijl) center / contain no-repeat; mask: var(--ico-pijl) center / contain no-repeat; }
.brv-mediakaart:hover { border-color: var(--brv-groen); }

/* ---------- contact ---------- */

.brv-zijkaart { background: #FFFFFF; border: 1px solid var(--brv-lijn); padding: 30px; }
.brv-zijkaart--donker { background: var(--brv-leisteen); border-color: var(--brv-leisteen); }
.brv-kantoor { font-size: 17px; line-height: 1.6; color: var(--brv-tekst); }
.brv-kantoor__naam, .brv-daarna__titel { font-family: var(--brv-accent); font-weight: 600; }
.brv-daarna__titel { font-size: 17px; }

/* ---------- open punten ---------- */

mark.brv-open { background: #FFE9A8; color: #3B2F00; padding: 1px 4px; font-size: 0.92em; font-weight: 600; box-decoration-break: clone; -webkit-box-decoration-break: clone; overflow-wrap: anywhere; }
/* Met box-decoration-break: clone krijgt elke regel van een gele markering links en
   rechts padding. Op een smal scherm duwt dat de laatste regel net over de rand.
   Daar dus geen zijpadding. */
@media (max-width: 700px) { mark.brv-open { padding-left: 0; padding-right: 0; } }
.brv-s--leisteen mark.brv-open, .brv-s--groen mark.brv-open { background: none; color: var(--brv-mint); padding: 0; font-size: inherit; font-weight: inherit; }

/* ================================================================
   Kop en voet
   ================================================================ */

.brv-hdr { background: var(--brv-groen); }
.brv-hdr .brv-hdr__binnen { display: flex; align-items: center; gap: 30px; height: 100px; flex-wrap: nowrap; }
.brv-logo { display: flex; align-items: center; flex-shrink: 0; text-decoration: none; }
.brv-logo img { display: block; height: 64px; width: auto; }
/* Zoals in het ontwerp: het menu houdt zijn eigen breedte. */
.brv-hdr .brv-nav { flex: 1 0 auto; min-width: auto; }
.brv-hdr .brv-nav .wp-block-navigation__container { gap: 19px; flex-wrap: nowrap; }
.brv-hdr .brv-nav .wp-block-navigation-item__content { font-size: 14.5px; line-height: 1.6; color: #C6D0CE; text-decoration: none; padding-bottom: 4px; border-bottom: 2px solid transparent; white-space: nowrap; }
.brv-hdr .brv-nav .wp-block-navigation-item__content:hover { color: #FFFFFF; }
.brv-hdr .brv-nav .current-menu-item > .wp-block-navigation-item__content,
.brv-hdr .brv-nav .wp-block-navigation-item__content[aria-current="page"] { color: var(--brv-tealb); font-weight: 600; border-bottom-color: var(--brv-tealb); }
.brv-hdr .brv-hdr__acties { display: flex; align-items: center; gap: 20px; flex-shrink: 0; }
.brv-hdr .brv-hdr__tel { display: flex; align-items: center; gap: 9px; font-size: 17px; font-weight: 600; white-space: nowrap; color: var(--brv-op-donker); line-height: 1.6; }
.brv-hdr .brv-hdr__tel::before { content: ''; width: 20px; height: 20px; flex-shrink: 0; background-color: var(--brv-tealb);
  -webkit-mask: var(--ico-telefoon) center / contain no-repeat; mask: var(--ico-telefoon) center / contain no-repeat; }
.brv-hdr .brv-hdr__tel a { color: inherit; text-decoration: none; }
.brv-hdr .brv-hdr__cta a { display: inline-block; background: var(--brv-tealb); color: #06211F; font-family: var(--brv-accent); font-weight: 600; font-size: 15px; line-height: 1.6; padding: 13px 20px; text-decoration: none; white-space: nowrap; }
.brv-hdr .brv-hdr__cta a:hover { filter: brightness(1.1); }
.brv-hdr .wp-block-navigation__responsive-container-open { width: 40px; height: 40px; border: 1px solid var(--brv-lijn-donker); align-items: center; justify-content: center; color: var(--brv-tealb); }
.brv-hdr .wp-block-navigation__responsive-container-open svg { width: 22px; height: 22px; }
.brv-hdr .wp-block-navigation__responsive-container.is-menu-open { background: var(--brv-groen); padding-top: calc(env(safe-area-inset-top, 0px) + 24px); }
.brv-hdr .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { color: var(--brv-op-donker); font-size: 20px; border: 0; }
.brv-hdr .wp-block-navigation__responsive-container-close { color: var(--brv-tealb); }

@media (max-width: 1320px) { .brv-hdr .brv-hdr__tel { display: none; } }
@media (max-width: 1100px) { .brv-hdr .brv-hdr__cta { display: none; } }
@media (max-width: 960px) {
  .brv-hdr .brv-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
  .brv-hdr .brv-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
  .brv-hdr .brv-nav { flex: 0 0 auto; margin-left: auto; }
  .brv-hdr .brv-hdr__binnen { justify-content: space-between; }
}

.brv-foot { background: var(--brv-inkt); padding-block: 80px 40px; }
.brv-foot .brv-foot__cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 48px; padding-bottom: 56px; border-bottom: 1px solid var(--brv-lijn-donker); }
.brv-foot .brv-foot__col { display: flex; flex-direction: column; gap: 14px; }
.brv-foot .brv-foot__merk { gap: 20px; }
.brv-foot h2.wp-block-heading { font-family: var(--brv-accent); font-size: 13px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; line-height: 1.15; color: var(--brv-tealb); }
.brv-foot .brv-foot__rijen { display: flex; flex-direction: column; gap: 9px; font-size: 15px; line-height: 1.55; color: var(--brv-op-donker-zacht); }
.brv-foot p { font-size: 15px; line-height: 1.55; color: var(--brv-op-donker-zacht); }
.brv-foot .brv-foot__merk p { line-height: 1.6; }
.brv-foot .brv-foot__licht, .brv-foot .brv-foot__licht a { color: var(--brv-op-donker); }
.brv-foot a { color: var(--brv-op-donker-zacht); text-decoration: none; }
.brv-foot a:hover { color: #FFFFFF; text-decoration: underline; }
.brv-foot .brv-foot__slot { display: flex; justify-content: space-between; align-items: center; padding-top: 28px; }
.brv-foot .brv-foot__slot p, .brv-foot .brv-foot__slot a { font-size: 14px; color: #76817F; }

/* ================================================================
   Tussenmaten, tussen het ontwerp voor desktop en voor telefoon
   ================================================================ */

@media (max-width: 1100px) {
  .brv-grid4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .brv-grid12, .brv-grid2, .brv-grid3 { grid-template-columns: 1fr; }
  .brv-grid12 > * { grid-column: auto; }
  .brv-rij-tussen { flex-direction: column; align-items: flex-start; gap: 24px; }
  .brv-foot .brv-foot__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ================================================================
   Telefoon. Dezelfde regels als het ontwerp voor mobiel (lib.mjs).
   ================================================================ */

@media (max-width: 560px) {
  body { font-size: 16px; --wp--style--root--padding-left: 20px !important; --wp--style--root--padding-right: 20px !important; }

  .brv-grid12, .brv-grid2, .brv-grid3, .brv-grid4, .brv-hero-home__raster { grid-template-columns: 1fr; gap: 22px; }
  .brv-rij-tussen, .brv-kostenrij { flex-direction: column; align-items: flex-start; gap: 14px; }

  .brv-s .brv-h1, .brv-s .brv-h1--hero { font-size: 40px; line-height: 1.02; }
  .brv-s h2.wp-block-heading { font-size: 29px; line-height: 1.08; }
  .brv-s h3.wp-block-heading { font-size: 20px; }
  .brv-bedrag--52, .brv-bedrag--40, .brv-spoed__tel, .brv-contact__tel, .brv-bedrag--28 { font-size: 27px; }
  .brv-t18, .brv-t19, .brv-t20, .brv-t21, .brv-t22 { font-size: 17px; line-height: 1.55; }

  .brv-s { padding-block: 52px; }
  .brv-hero-home { padding-bottom: 0; }
  .brv-gkaart, .brv-witkaart--40 { padding: 24px; }
  .brv-tariefkaart, .brv-kaart-spreekuur, .brv-zijkaart { padding: 22px; }

  .brv-ph--380 .brv-ph__beeld img { height: 190px; }
  .brv-ph--560 .brv-ph__beeld img { height: 280px; }
  .brv-portret--520, .brv-portret--580 { height: 280px; }

  .brv-s .brv-knoppen { flex-direction: column; }
  .brv-s .brv-knoppen .wp-block-button, .brv-s .brv-knoppen .wp-block-button__link { width: 100%; justify-content: center; text-align: center; }
  .brv-s .brv-medialijst a { flex-direction: column; align-items: flex-start; gap: 24px; }
  .brv-s .brv-medialijst a::after { margin-left: 0; }

  .brv-hdr .brv-hdr__binnen { height: 64px; gap: 12px; }
  .brv-logo img { height: 46px; }
  .brv-hdr .wp-block-navigation__responsive-container-open { width: 38px; height: 38px; }

  .brv-s .brv-tabel th, .brv-s .brv-tabel td { padding: 8px 5px; font-size: 12.5px; letter-spacing: normal; text-transform: none; }

  .brv-foot .brv-foot__cols { grid-template-columns: 1fr; gap: 22px; }
  .brv-foot .brv-foot__slot { flex-direction: column; align-items: flex-start; gap: 14px; }
}

/* ================================================================
   Gewone tekstpagina's (voorwaarden, klachtenregeling, privacy)
   ================================================================ */

.brv-inhoud > :first-child:not(.alignfull) { margin-block-start: clamp(52px, 7vw, 88px); }
.brv-inhoud > :last-child:not(.alignfull) { margin-block-end: clamp(52px, 7vw, 88px); }

/* ================================================================
   Intakeformulier (plugin Breeveld Intake), zoals in het ontwerp
   ================================================================ */

.brv-intake, .brv-intake * { box-sizing: border-box; }
.brv-intake { display: flex; flex-direction: column; gap: 30px; }
.brv-intake fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.brv-intake legend, .brv-veld label { font-family: var(--brv-accent); font-weight: 600; font-size: 16px; color: var(--brv-tekst); padding: 0; line-height: 1.6; }
.brv-intake legend { margin-bottom: 10px; }
.brv-veld { display: flex; flex-direction: column; gap: 10px; }
.brv-veld .brv-hulp { font-size: 15px; line-height: 1.45; color: var(--brv-gedempt); margin-top: -6px; }
.brv-veld input, .brv-veld textarea {
  font: inherit; font-size: 17px; color: var(--brv-tekst); background: #FFFFFF;
  border: 1px solid var(--brv-lijn); border-radius: 0; width: 100%; height: 58px; padding: 0 18px;
}
.brv-veld textarea { height: 180px; padding: 18px; resize: vertical; line-height: 1.6; }
.brv-veld input::placeholder, .brv-veld textarea::placeholder { color: #939E9C; }
.brv-intake .brv-veld input:focus, .brv-intake .brv-veld textarea:focus { outline: 3px solid var(--brv-mint); outline-offset: 0; border-color: var(--brv-groen); }
.brv-rij2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }

.brv-keuze-rij { display: flex; flex-wrap: wrap; gap: 12px; }
.brv-keuze {
  flex: 1 1 200px; min-height: 58px; display: flex; align-items: center; justify-content: center; gap: 10px; text-align: center;
  background: #FFFFFF; border: 1px solid var(--brv-lijn); padding: 0 14px; cursor: pointer;
  font-family: var(--brv-accent); font-weight: 400; font-size: 16px; color: var(--brv-tekst);
}
.brv-intake .brv-keuze input { appearance: none; -webkit-appearance: none; margin: 0; padding: 0; flex-shrink: 0; width: 18px; height: 18px; border-radius: 50%;
  border: 2px solid var(--brv-lijn); display: grid; place-content: center; background: #FFFFFF; }
.brv-intake .brv-keuze input::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--brv-groen); transform: scale(0); }
.brv-keuze:has(input:checked) { border: 2px solid var(--brv-groen); font-weight: 600; }
.brv-intake .brv-keuze input:checked { border-color: var(--brv-groen); }
.brv-intake .brv-keuze input:checked::before { transform: scale(1); }
.brv-keuze:has(input:focus-visible) { outline: 3px solid var(--brv-mint); outline-offset: 2px; }

.brv-vinkjes { display: flex; flex-direction: column; gap: 18px; padding-top: 6px; }
.brv-vinkje { display: flex; align-items: flex-start; gap: 14px; font-size: 16px; line-height: 1.5; color: var(--brv-tekst); cursor: pointer; }
.brv-vinkje input { appearance: none; -webkit-appearance: none; margin: 2px 0 0; flex-shrink: 0; width: 24px; height: 24px;
  border: 2px solid var(--brv-lijn); background: #FFFFFF; display: grid; place-content: center; }
.brv-vinkje input::before { content: ''; width: 14px; height: 14px; background-color: var(--brv-mint); transform: scale(0);
  -webkit-mask: var(--ico-vink) center / contain no-repeat; mask: var(--ico-vink) center / contain no-repeat; }
.brv-vinkje input:checked { background: var(--brv-groen); border-color: var(--brv-groen); }
.brv-vinkje input:checked::before { transform: scale(1); }
.brv-vinkje input:focus-visible { outline: 3px solid var(--brv-mint); outline-offset: 2px; }
.brv-vinkje a { color: var(--brv-groen); }
.brv-verplicht { color: var(--brv-groen); font-weight: 600; }

.brv-spoedkaart { background: var(--brv-leisteen); padding: 26px; display: grid; grid-template-columns: 20px 1fr; column-gap: 18px; row-gap: 8px; }
.brv-spoedkaart::before { content: ''; grid-row: span 2; width: 20px; height: 20px; background-color: var(--brv-mint);
  -webkit-mask: var(--ico-telefoon) center / contain no-repeat; mask: var(--ico-telefoon) center / contain no-repeat; }
.brv-spoedkaart strong { font-family: var(--brv-accent); font-weight: 600; font-size: 19px; line-height: 1.6; color: #FFFFFF; }
.brv-spoedkaart strong a { color: inherit; text-decoration: none; }
.brv-spoedkaart span { font-size: 16px; line-height: 1.55; color: #B0C3C7; }

.brv-verstuur { display: flex; align-items: center; gap: 24px; padding-top: 6px; }
.brv-verstuur span { font-size: 15px; line-height: 1.45; color: var(--brv-gedempt); max-width: 340px; }
.brv-intake .brv-knop-verstuur {
  display: inline-flex; align-items: center; gap: 10px; cursor: pointer; border: 0; border-radius: 0;
  background: var(--brv-inkt); color: #FFFFFF; font-family: var(--brv-accent); font-weight: 600; font-size: 18px; line-height: 1.6;
  padding: 18px 32px; min-height: 60px;
}
.brv-intake .brv-knop-verstuur::after { content: ''; width: 18px; height: 18px; background-color: var(--brv-mint);
  -webkit-mask: var(--ico-pijl) center / contain no-repeat; mask: var(--ico-pijl) center / contain no-repeat; }
.brv-intake .brv-knop-verstuur:hover { background: var(--brv-inkt2); }

.brv-veld.is-fout input, .brv-veld.is-fout textarea, .brv-keuzes.is-fout .brv-keuze { border-color: #B3261E; }
.brv-fout { display: block; color: #B3261E; font-size: 15px; font-weight: 600; }
.brv-vinkje.is-fout { color: #B3261E; }
.brv-vinkje.is-fout input { border-color: #B3261E; }
.brv-intake-melding { background: #FDECEA; border-left: 4px solid #B3261E; padding: 16px 20px; color: #5F1511; }
.brv-intake-klaar { background: #FFFFFF; border-left: 4px solid var(--brv-groen); padding: 28px 30px; display: flex; flex-direction: column; gap: 10px; }
.brv-intake-klaar h2 { font-family: var(--brv-accent); font-size: 28px; font-weight: 600; line-height: 1.15; }
.brv-hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 560px) {
  .brv-rij2 { grid-template-columns: 1fr; gap: 22px; }
  .brv-keuze-rij { flex-direction: column; }
  .brv-keuze { flex-basis: auto; }
  .brv-verstuur { flex-direction: column; align-items: flex-start; }
  .brv-intake .brv-knop-verstuur { width: 100%; justify-content: center; }
}
