/*
Theme Name: Franchiseseo.nl
Theme URI: https://www.franchiseseo.nl/
Author: Gijs Bodenstaff & Stanley Leijnse
Author URI: https://www.gijsbodenstaff.nl/
Description: Thema voor Franchiseseo.nl — Local SEO, Google Bedrijfsprofiel-beheer en reviewmanagement voor Nederlandse franchiseformules. Mobile-first, WCAG 2.2 AA, Schema.org (Organization, Service, Offer, FAQPage, BreadcrumbList), sameAs/Knowledge Graph, XML- en HTML-sitemap, llms.txt. Geen externe fonts of scripts.
Version: 5.7.3
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: franchiseseo-nl
Tags: business, franchise, seo, accessibility-ready, custom-logo, custom-menu, translation-ready, full-width-template
*/

/* ==========================================================================
   1. Tokens
   ========================================================================== */
:root{
  --navy:#12354f;
  --navy-900:#0b2338;
  --navy-700:#1b4869;
  --accent:#a82a33;           /* CTA — wit hierop haalt ruim 4.5:1 */
  --accent-700:#88212a;
  --gold:#c5a572;
  --gold-ink:#7a5f2c;         /* goud als tekstkleur op wit: AA-proof */
  --bg:#ffffff;
  --bg-soft:#f7f5f1;
  --bg-tint:#eef2f6;
  --ink:#16232e;
  --ink-soft:#4a5a68;
  --border:#dfe4e9;
  --border-strong:#c3ccd4;
  --ok:#1c6b4a;
  --radius:10px;
  --radius-lg:16px;
  --shadow:0 1px 2px rgba(11,35,56,.06),0 8px 24px rgba(11,35,56,.06);
  --shadow-lg:0 2px 4px rgba(11,35,56,.08),0 18px 48px rgba(11,35,56,.10);
  --maxw:1160px;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --step:clamp(1rem,.95rem + .25vw,1.0625rem);
}

/* ==========================================================================
   2. Reset & basis
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--sans);
  font-size:var(--step);
  line-height:1.65;
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
img,svg,video{max-width:100%;height:auto}
img{border:0}
h1,h2,h3,h4{font-family:var(--serif);color:var(--navy);line-height:1.2;margin:0 0 .5em;font-weight:700;text-wrap:balance}
h1{font-size:clamp(1.9rem,1.35rem + 2.4vw,3rem);letter-spacing:-.01em}
h2{font-size:clamp(1.5rem,1.2rem + 1.3vw,2.1rem);margin-top:1.6em}
h3{font-size:clamp(1.15rem,1.05rem + .5vw,1.4rem);margin-top:1.4em}
h4{font-size:1.05rem;margin-top:1.2em}
p{margin:0 0 1.05em}
p,li{max-width:74ch}
a{color:var(--navy-700);text-underline-offset:.18em;text-decoration-thickness:.08em}
a:hover{color:var(--accent-700)}
/* Een link die in zijn eentje een alinea vult, is een knop-achtige actie:
   geef hem een aanraakdoel van 44px hoog (WCAG 2.5.8, en gewoon prettiger). */
p > a:only-child{display:inline-flex;align-items:center;min-height:44px}
strong{font-weight:700;color:var(--navy-900)}
.section--navy strong,.hero strong,.page-hero strong,.site-footer strong,.section--navy a strong,.site-footer a strong{color:inherit}
ul,ol{padding-left:1.25em;margin:0 0 1.05em}
li{margin:.3em 0}
hr{border:0;border-top:1px solid var(--border);margin:2.5em 0}
small{font-size:.86rem;color:var(--ink-soft)}
table{width:100%;border-collapse:collapse;font-size:.94rem}
th,td{padding:.7em .8em;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}
thead th{background:var(--navy);color:#fff;font-family:var(--sans);font-weight:600;font-size:.86rem;letter-spacing:.02em}
tbody tr:nth-child(even){background:var(--bg-soft)}
.table-wrap{overflow-x:auto;margin:1.4em 0;border:1px solid var(--border);border-radius:var(--radius)}
.table-wrap table{margin:0}
code{background:var(--bg-tint);padding:.1em .35em;border-radius:4px;font-size:.9em}

/* Focus & skip-link — WCAG 2.4.7 / 2.4.11 */
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:3px}
.skip{position:absolute;left:-9999px;top:0;z-index:999;background:var(--navy);color:#fff;padding:.8em 1.2em;border-radius:0 0 var(--radius) 0}
.skip:focus{left:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ==========================================================================
   3. Layout
   ========================================================================== */
.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:20px}
.section{padding-block:clamp(2.5rem,1.5rem + 3vw,4.5rem)}
/* Secties onder de vouw pas renderen als ze in beeld komen; de opgegeven
   hoogte voorkomt dat de scrollbalk verspringt (geen layout shift). */
.section:not(:first-of-type){content-visibility:auto;contain-intrinsic-size:auto 620px}
.section--soft{background:var(--bg-soft)}
.section--tint{background:var(--bg-tint)}
.section--navy{background:var(--navy);color:#fff}
.section--navy h2,.section--navy h3{color:#fff}
.section--navy p,.section--navy li{color:#fff}
.section--navy a{color:#fff}
.narrow{max-width:74ch}
.grid{display:grid;gap:20px}
@media(min-width:640px){.grid-2{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){
  .grid-3{grid-template-columns:repeat(3,1fr)}
  .grid-4{grid-template-columns:repeat(4,1fr)}
  .grid-sidebar{grid-template-columns:minmax(0,1fr) 320px;gap:44px;align-items:start}
}
@media(min-width:640px) and (max-width:899px){.grid-4{grid-template-columns:repeat(2,1fr)}}

/* ==========================================================================
   4. Componenten
   ========================================================================== */
.eyebrow{
  display:inline-block;font-family:var(--sans);font-size:.75rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 .6em
}
.section--navy .eyebrow,.hero .eyebrow,.page-hero .eyebrow{color:var(--gold)}
.lead{font-size:clamp(1.06rem,1rem + .4vw,1.25rem);color:var(--ink-soft);line-height:1.6}
.section--navy .lead{color:#fff}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  min-height:48px;padding:.75em 1.5em;border-radius:var(--radius);
  font-family:var(--sans);font-weight:600;font-size:1rem;line-height:1.2;
  text-decoration:none;border:2px solid transparent;cursor:pointer;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease
}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-700);color:#fff}
.btn-secondary{background:var(--navy);color:#fff}
.btn-secondary:hover{background:var(--navy-900);color:#fff}
.btn-ghost{background:transparent;color:var(--navy);border-color:var(--border-strong)}
.btn-ghost:hover{background:var(--bg-soft);color:var(--navy-900);border-color:var(--navy)}
.section--navy .btn-ghost,.hero .btn-ghost,.page-hero .btn-ghost{color:#fff;border-color:#fff}
.section--navy .btn-ghost:hover,.hero .btn-ghost:hover,.page-hero .btn-ghost:hover{background:rgba(255,255,255,.12);color:#fff;border-color:#fff}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin:1.5em 0 0}

.card{
  background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:24px;box-shadow:var(--shadow)
}
.card h3{margin-top:0}
.card p:last-child,.card ul:last-child{margin-bottom:0}
.card--flat{box-shadow:none}
.card__icon{width:44px;height:44px;margin-bottom:14px;display:block}

.stat-row{display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}
@media(min-width:900px){.stat-row{grid-template-columns:repeat(4,1fr)}}
.stat{background:#fff;border:1px solid var(--border);border-left:4px solid var(--gold);border-radius:var(--radius);padding:18px 20px}
.section--navy .stat{background:#17405e;border-color:#2b5d80;border-left-color:var(--gold)}
.stat__value{font-family:var(--serif);font-size:clamp(1.5rem,1.2rem + 1.1vw,2rem);font-weight:700;color:var(--navy);line-height:1.1;display:block}
.section--navy .stat__value{color:#fff}
.stat__label{font-size:.82rem;color:var(--ink-soft);display:block;margin-top:.35em;line-height:1.4}
.section--navy .stat__label{color:#fff}
.section--navy .stat__label{color:#f2f7fb}

.note{border-left:4px solid var(--navy);background:var(--bg-tint);padding:18px 20px;border-radius:0 var(--radius) var(--radius) 0;margin:1.6em 0}
.note--gold{border-left-color:var(--gold);background:#fbf7ef}
.note--accent{border-left-color:var(--accent);background:#fdf3f3}
.note > :last-child{margin-bottom:0}
.note h3,.note h4{margin-top:0}

.checklist{list-style:none;padding:0}
.checklist li{position:relative;padding-left:1.8em;margin:.55em 0}
.checklist li::before{
  content:"";position:absolute;left:0;top:.45em;width:1.05em;height:.6em;
  border-left:2.5px solid var(--ok);border-bottom:2.5px solid var(--ok);transform:rotate(-45deg)
}
.crosslist{list-style:none;padding:0}
.crosslist li{position:relative;padding-left:1.8em;margin:.5em 0;color:var(--ink-soft)}
.crosslist li::before{content:"×";position:absolute;left:.25em;top:-.05em;font-size:1.25em;color:var(--border-strong);font-weight:700}

/* NAP-kaart in de landingskop */
.napkaart{background:var(--navy-900);border:1px solid #2b5d80;color:#fff}
.napkaart p{color:#d3e2ee}
.napkaart a{color:#fff;text-decoration:underline}
.napkaart__label{margin:0 0 .6em;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--gold)}
.napkaart__naam{color:#fff;font-size:1.15rem;font-weight:600;margin:0 0 .2em}
.napkaart__uren{color:var(--gold);margin:0;font-weight:600;font-size:.95rem}

/* Boekkaarten */
.boekkaart{position:relative;padding-left:34px}
.boekkaart__rug{position:absolute;left:14px;top:24px;bottom:24px;width:6px;border-radius:3px;background:linear-gradient(180deg,var(--gold),var(--gold-ink))}
.boekkaart__sub{font-style:italic;color:var(--ink-soft);margin:0 0 .4em;font-size:.95rem}
.utility__wa{color:#8ce0ae!important}
.utility__wa:hover{color:#b6f0cd!important}

/* Contactkaarten */
.contactkaart__icoon{
  width:48px;height:48px;border-radius:12px;display:grid;place-items:center;
  background:var(--bg-tint);color:var(--navy);margin-bottom:14px
}
.contactkaart__icoon--wa{background:#e7f9ef;color:#0f5c38}
.section--navy .contactkaart{background:#fff}
.section--navy .contactkaart h3{color:var(--navy)}
.section--navy .contactkaart p{color:var(--ink)}

/* WhatsApp-merkteken: officiële groene cirkel, altijd even groot */
.wa-icoon{flex:0 0 auto;vertical-align:middle;display:inline-block}
.btn .wa-icoon{margin-right:2px}
.utility__wa .wa-icoon{margin-right:4px}
.dock .dock--wa .wa-icoon--wit path:last-child{fill:#25D366}

/* Certificeringen — compacte lijst */
.certlijst{list-style:none;padding:0;margin:1.2em 0 0;display:flex;flex-wrap:wrap;gap:8px}
.certlijst li{
  background:#fff;border:1px solid var(--border);border-radius:999px;
  padding:7px 14px;font-size:.86rem;line-height:1.35;color:var(--ink)
}
.section--navy .certlijst li{background:#fff;color:var(--ink)}

/* Artikelen ---------------------------------------------------------- */
.page-hero--artikel .lead{max-width:62ch}
.artikel__meta{
  display:flex;align-items:center;gap:12px;margin-top:1.4em;
  font-size:.94rem;color:#fff
}
.artikel__meta a{color:var(--gold);font-weight:600;text-decoration:underline}
.artikel__meta a:hover,.artikel__meta a:focus-visible{color:#fff}
.artikel__avatar{
  width:56px;height:72px;border-radius:8px;object-fit:cover;object-position:50% 18%;
  flex:0 0 auto;border:2px solid rgba(255,255,255,.9);box-shadow:0 0 0 2px var(--gold)
}
@media(max-width:559px){
  .artikel__meta{flex-direction:column;align-items:flex-start;gap:10px}
  .artikel__avatar{width:52px;height:68px}
}

.auteurkaart{
  display:flex;gap:26px;align-items:center;margin:2.6em 0 0;padding:26px;
  background:linear-gradient(180deg,#fff 0%,var(--bg-soft) 100%);
  border:1px solid var(--border);border-top:4px solid var(--gold);
  border-radius:var(--radius-lg);box-shadow:var(--shadow)
}
.auteurkaart__portret{flex:0 0 auto;position:relative;line-height:0}
.auteurkaart__foto{
  width:150px;height:200px;border-radius:14px;object-fit:cover;object-position:50% 18%;
  border:4px solid #fff;box-shadow:0 0 0 2px var(--gold),0 10px 26px rgba(11,37,58,.24);
  background:var(--bg-tint)
}
.auteurkaart__label{margin:0 0 .25em;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink);font-weight:700}
.auteurkaart__naam{margin:0 0 .12em;font-family:var(--serif);font-size:1.45rem;font-weight:700;line-height:1.15}
.auteurkaart__naam a{color:var(--navy);text-decoration:none}
.auteurkaart__naam a:hover,.auteurkaart__naam a:focus-visible{text-decoration:underline}
.auteurkaart__rol{margin:0 0 .7em;font-size:.94rem;color:var(--gold-ink);font-weight:600}
.auteurkaart__kort{margin:0 0 .8em;font-size:.95rem}
.auteurkaart__links{margin:0;font-size:.92rem;font-weight:600}

@media(max-width:639px){
  .auteurkaart{flex-direction:column;text-align:center;gap:18px;padding:26px 20px}
  .auteurkaart__foto{width:156px;height:208px}
  .auteurkaart__kort{text-align:left}
  .auteurkaart__links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 10px}
}

.auteurbalk{display:flex;gap:16px;align-items:center;padding:18px 20px;background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-lg)}
.auteurbalk img{
  width:72px;height:94px;border-radius:10px;object-fit:cover;object-position:50% 18%;
  flex:0 0 auto;border:3px solid #fff;box-shadow:0 0 0 2px var(--gold)
}
@media(max-width:559px){.auteurbalk{flex-direction:column;text-align:center}}
.auteurbalk p{margin:0;font-size:.95rem}

.artikelkaart__datum{margin:0 0 .4em;font-size:.84rem;color:var(--ink-soft);font-weight:600}
.artikelkaart__regio{color:var(--gold-ink)}

.bronnen{font-size:.92rem;padding-left:1.3em}
.bronnen li{margin-bottom:.7em;overflow-wrap:anywhere}

/* Genummerde vragenlijst */
.vragenlijst{counter-reset:vraag;list-style:none;padding:0;margin:1.4em 0}
.vragenlijst li{
  counter-increment:vraag;position:relative;padding:14px 16px 14px 56px;margin-bottom:10px;
  background:var(--bg-soft);border:1px solid var(--border);border-left:4px solid var(--gold);
  border-radius:var(--radius);max-width:none
}
.vragenlijst li::before{
  content:counter(vraag);position:absolute;left:14px;top:13px;
  width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;
  display:grid;place-items:center;font-family:var(--sans);font-weight:700;font-size:.86rem
}

/* Onderzochte ketens — tekst, geen logowand */
.onderzocht{margin-top:2em;padding:20px 22px;background:var(--bg-soft);border:1px solid var(--border);border-left:4px solid var(--navy);border-radius:var(--radius)}
.onderzocht__label{margin:0 0 .7em;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-ink);font-weight:700}
.onderzocht__lijst{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 .9em}
.onderzocht__lijst li{background:#fff;border:1px solid var(--border);border-radius:6px;padding:6px 12px;font-size:.9rem;font-weight:600;color:var(--navy);max-width:none}
.onderzocht__voet{margin:0;color:var(--ink-soft)}

/* Marktvergelijking: onze eigen rij eruit lichten */
.markt-wij{background:var(--bg-tint)}
.markt-wij th[scope="row"]{color:var(--navy)}

/* Prijskaarten */
.prices{display:grid;gap:22px;align-items:start}
@media(min-width:900px){.prices{grid-template-columns:repeat(3,1fr)}}
.price{position:relative;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:26px;box-shadow:var(--shadow);display:flex;flex-direction:column;height:100%}
.price--featured{border:2px solid var(--navy);box-shadow:var(--shadow-lg)}
.price__badge{position:absolute;top:-13px;left:26px;background:var(--navy);color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.35em .8em;border-radius:99px}
.price__name{font-family:var(--serif);font-size:1.35rem;color:var(--navy);margin:0}
.price__amount{font-family:var(--serif);font-size:2.6rem;font-weight:700;color:var(--navy-900);line-height:1;margin:.25em 0 0;display:block}
.price__unit{display:block;font-family:var(--sans);font-size:.85rem;font-weight:500;color:var(--ink-soft);margin-top:.5em}
.price__claim{font-weight:600;color:var(--navy-700);margin:1em 0}
.price__list{list-style:none;padding:0;margin:1em 0;font-size:.94rem}
.price__list li{position:relative;padding-left:1.6em;margin:.5em 0}
.price__list li::before{content:"";position:absolute;left:0;top:.4em;width:.95em;height:.55em;border-left:2.5px solid var(--ok);border-bottom:2.5px solid var(--ok);transform:rotate(-45deg)}
.price__foot{margin-top:auto;padding-top:1.2em}
.price__setup{font-size:.84rem;color:var(--ink-soft);border-top:1px solid var(--border);padding-top:.9em;margin:.9em 0 0}

/* Stappen */
.steps{counter-reset:step;display:grid;gap:20px}
@media(min-width:900px){.steps{grid-template-columns:repeat(4,1fr)}}
.step{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:22px}
.step__nr{font-family:var(--serif);font-size:1.9rem;color:var(--gold-ink);font-weight:700;line-height:1;display:block;margin-bottom:.25em}
.step h3{margin:0 0 .35em;font-size:1.1rem}
.step p{font-size:.94rem;margin:0;color:var(--ink-soft)}

/* Personen */
.person{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}
.person__avatar{flex:0 0 72px;width:72px;height:72px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:var(--serif);font-size:1.5rem;font-weight:700;letter-spacing:.02em}
.person h3{margin:0 0 .15em}
.person__role{font-size:.88rem;color:var(--gold-ink);font-weight:600;margin:0 0 .7em}
.person__links{display:flex;flex-wrap:wrap;gap:.9em;font-size:.88rem;margin:.8em 0 0;padding:0;list-style:none}

/* FAQ */
.faq{max-width:80ch}
.faq details{border:1px solid var(--border);border-radius:var(--radius);margin:.6em 0;background:#fff}
.faq summary{
  cursor:pointer;padding:1em 1.2em;font-weight:600;color:var(--navy);
  font-family:var(--sans);list-style:none;display:flex;justify-content:space-between;gap:1em;min-height:48px;align-items:center
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--gold-ink);flex:0 0 auto}
.faq details[open] summary::after{content:"–"}
.faq details[open] summary{border-bottom:1px solid var(--border)}
.faq .faq__body{padding:1em 1.2em}
.faq .faq__body > :last-child{margin-bottom:0}

/* Kruimelpad */
.breadcrumbs{background:var(--bg-soft);border-bottom:1px solid var(--border);font-size:.86rem}
.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.45em;margin:0;padding:.75em 0}
.breadcrumbs li{margin:0;max-width:none}
.breadcrumbs li+li::before{content:"›";margin-right:.45em;color:var(--border-strong)}
.breadcrumbs a{color:var(--ink-soft)}
.breadcrumbs [aria-current]{color:var(--navy);font-weight:600}

/* ==========================================================================
   5. Header
   ========================================================================== */
.utility{background:var(--navy-900);color:#f0f5f9;font-size:.84rem}
/* Telefoonnummer is de snelste actie in de balk: goud, zwaarder en groter. */
.utility__tel{
  color:var(--gold)!important;font-weight:700;font-size:.98rem;letter-spacing:.01em;
  padding:4px 12px;border:1px solid rgba(201,166,90,.45);border-radius:999px;
  min-height:32px
}
.utility__tel:hover,.utility__tel:focus-visible{
  background:var(--gold);color:var(--navy-900)!important;text-decoration:none;border-color:var(--gold)
}
.utility__tel svg{color:inherit}
@media(max-width:639px){.utility__tel{font-size:.95rem;padding:4px 10px}}
.utility__inner{display:flex;flex-wrap:wrap;gap:.5em 1.4em;align-items:center;justify-content:space-between;padding-block:.5em}
.utility a{color:#fff;text-decoration:none}
.utility a:hover{color:#fff;text-decoration:underline}
.utility__group{display:flex;flex-wrap:wrap;gap:.5em 1.2em;align-items:center}
.utility__item{display:inline-flex;align-items:center;gap:.4em}
@media(max-width:639px){.utility__meta{display:none}}

.site-header{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:14px}
.brand{display:inline-flex;align-items:center;text-decoration:none;flex:0 0 auto}
.brand img{display:block;width:auto;height:40px}
@media(min-width:900px){.brand img{height:46px}}
.header__actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.header__actions .btn{min-height:44px;padding:.55em 1.1em;font-size:.94rem;white-space:nowrap;flex:0 0 auto}
.header__inner{flex-wrap:wrap}
@media(max-width:400px){
  .header__actions .btn{padding:.55em .8em;font-size:.88rem}
  .nav-toggle{padding:.5em .7em}
}

.nav-toggle{
  display:inline-flex;align-items:center;gap:.5em;min-height:44px;padding:.5em .9em;
  background:#fff;border:1px solid var(--border-strong);border-radius:var(--radius);
  font:600 .94rem/1 var(--sans);color:var(--navy);cursor:pointer
}
.nav-toggle__bars{display:block;width:18px;height:2px;background:currentColor;position:relative}
.nav-toggle__bars::before,.nav-toggle__bars::after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor}
.nav-toggle__bars::before{top:-6px}
.nav-toggle__bars::after{top:6px}
@media(min-width:1280px){.nav-toggle{display:none}}

.main-nav{background:var(--navy);color:#fff}
@media(max-width:1279px){
  .main-nav{display:none;border-top:1px solid rgba(255,255,255,.2)}
  .main-nav.is-open{display:block}
}
.nav-list{list-style:none;display:flex;flex-wrap:wrap;margin:0;padding:0}
/* Vanaf 1280px staat het hele menu op één regel. Past het net niet, dan
   schuift het horizontaal in plaats van dat het omklapt naar twee regels. */
@media(min-width:1280px){
  /* De navigatie mag breder dan de tekstcontainer, zodat alle items op één
     regel passen ook als de beheerder er eigen links aan toevoegt. */
  .main-nav > .container{max-width:min(1560px,96vw)}
  .nav-list{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}
  .nav-list::-webkit-scrollbar{display:none}
  .nav-list > li{flex:0 0 auto}
  .nav-list > li > a{white-space:nowrap;padding:.6em .72em;font-size:.9rem}
}
@media(min-width:1440px){.nav-list > li > a{padding:.6em .95em;font-size:.94rem}}
@media(max-width:1279px){.nav-list{flex-direction:column;padding-block:.4em}}
.nav-list li{margin:0;max-width:none;position:relative}
.nav-list > li > a{
  display:flex;align-items:center;min-height:48px;padding:.6em 1.05em;
  color:#fff;text-decoration:none;font-family:var(--sans);font-weight:600;font-size:.95rem
}
.nav-list > li > a:hover,.nav-list > li > a:focus-visible{background:var(--navy-700);color:#fff}
.nav-list .current-menu-item > a,.nav-list .current_page_item > a,.nav-list [aria-current="page"]{background:var(--navy-700);color:#fff;box-shadow:inset 0 -3px 0 var(--gold)}
.sub-menu{list-style:none;margin:0;padding:0;background:#fff;border:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);box-shadow:var(--shadow-lg);min-width:270px}
@media(min-width:1280px){
  .sub-menu{position:absolute;top:100%;left:0;display:none;z-index:60}
  .nav-list li:hover > .sub-menu,.nav-list li:focus-within > .sub-menu{display:block}
}
@media(max-width:1279px){.sub-menu{border:0;border-radius:0;box-shadow:none;background:var(--navy-900)}}
.sub-menu a{display:block;padding:.65em 1.05em;min-height:44px;color:var(--navy);text-decoration:none;font-size:.93rem;line-height:1.4}
.sub-menu a:hover{background:var(--bg-soft);color:var(--accent-700)}
@media(max-width:999px){
  .sub-menu a{color:#dbe6ef;padding-left:2em}
  .sub-menu a:hover{background:var(--navy-700);color:#fff}
}

/* ==========================================================================
   6. Hero
   ========================================================================== */
.hero{background-color:var(--navy);background-image:linear-gradient(160deg,var(--navy-900) 0%,var(--navy) 55%,var(--navy-700) 100%);color:#fff;position:relative;overflow:hidden}
.hero::after{
  content:"";position:absolute;inset:0;opacity:.16;pointer-events:none;
  background-image:radial-gradient(circle at 1px 1px,#fff 1px,transparent 0);background-size:26px 26px
}
.hero__inner{position:relative;z-index:1;padding-block:clamp(2.75rem,1.8rem + 3.5vw,5rem)}
.hero h1{color:#fff;margin-bottom:.4em}
.hero .lead{color:#fff;max-width:62ch}
.hero__points{list-style:none;padding:0;margin:1.5em 0 0;display:grid;gap:.55em}
.hero__points li{position:relative;padding-left:1.8em;color:#dbe7f0}
.hero__points li::before{content:"";position:absolute;left:0;top:.45em;width:1em;height:.55em;border-left:2.5px solid var(--gold);border-bottom:2.5px solid var(--gold);transform:rotate(-45deg)}
.hero__proof{margin-top:2.2em;padding-top:1.4em;border-top:1px solid rgba(255,255,255,.16);font-size:.86rem;color:#a9c0d2}
.page-hero{background:var(--navy);color:#fff;padding-block:clamp(2rem,1.4rem + 2.4vw,3.5rem)}
.page-hero h1{color:#fff;margin-bottom:.3em}
.page-hero .lead{color:#c8d9e6}

/* ==========================================================================
   7. Content & formulieren
   ========================================================================== */
.entry > h2:first-child,.entry > h3:first-child{margin-top:0}
.entry ul,.entry ol{margin-bottom:1.2em}

.form-field{margin:0 0 1.15em}
.form-field label{display:block;font-weight:600;color:var(--navy);margin-bottom:.35em;font-size:.95rem}
.form-field .hint{display:block;font-size:.84rem;color:var(--ink-soft);font-weight:400;margin-top:.2em}
input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],select,textarea{
  width:100%;min-height:48px;padding:.65em .8em;font:inherit;color:var(--ink);
  background:#fff;border:1px solid var(--border-strong);border-radius:var(--radius)
}
textarea{min-height:130px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--navy);outline:3px solid var(--accent);outline-offset:1px}
input[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--accent);border-width:2px}
.field-error{display:block;color:var(--accent-700);font-size:.88rem;font-weight:600;margin-top:.3em}
.form-note{font-size:.86rem;color:var(--ink-soft)}
.hp-field{position:absolute;left:-9999px}
.alert{border-radius:var(--radius);padding:16px 18px;margin:0 0 1.5em;border:1px solid}
.alert--ok{background:#eef7f2;border-color:#bcdfcd;color:#12492f}
.alert--err{background:#fdf3f3;border-color:#eecccc;color:#7d1f26}
.alert > :last-child{margin-bottom:0}
.consent{display:flex;gap:.7em;align-items:flex-start;font-size:.92rem}
.consent input[type=checkbox]{width:24px;height:24px;min-height:24px;margin:.15em 0 0;flex:0 0 auto}

/* ==========================================================================
   8. Footer
   ========================================================================== */
.site-footer{background:var(--navy-900);color:#b9cbd9;font-size:.93rem;margin-top:0}
.site-footer h2,.site-footer h3{color:#fff;font-size:1rem;font-family:var(--sans);font-weight:700;letter-spacing:.02em;margin:0 0 .8em}
.site-footer a{color:#dbe7f0;text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin:.4em 0}
.site-footer p{margin:0 0 .6em;max-width:46ch}
.footer-grid{display:grid;gap:32px;padding-block:clamp(2.2rem,1.6rem + 2vw,3.2rem)}
@media(min-width:640px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-block:1.2em;display:flex;flex-wrap:wrap;gap:.5em 1.5em;justify-content:space-between;font-size:.84rem;color:#93aabd}
.footer-bottom a{color:#b9cbd9}
.sitemap-inline{border-top:1px solid rgba(255,255,255,.12);padding-block:1.5em}
.sitemap-inline ul{display:flex;flex-wrap:wrap;gap:.4em 1.2em;font-size:.86rem}

/* Zwevende contactknoppen */
.dock{position:fixed;right:14px;bottom:14px;z-index:80;display:flex;flex-direction:column;gap:10px}
.dock a{
  width:52px;height:52px;border-radius:50%;display:grid;place-items:center;
  background:var(--navy);color:#fff;box-shadow:var(--shadow-lg);text-decoration:none
}
.dock a:hover{background:var(--navy-900)}
.dock .dock--wa{background:#25D366;color:#fff}
.dock .dock--wa:hover{background:#1DA851}
.dock .dock--wa:hover .wa-icoon--wit path:last-child{fill:#1DA851}
@media(max-width:640px){.site-footer .footer-bottom{padding-bottom:76px}}
@media print{.dock,.utility,.main-nav,.nav-toggle{display:none!important}}

/* ==========================================================================
   8c. Boekpagina's: koopkaart, uitgelichte hoofdstukken en inhoudsopgave
   ========================================================================== */
.boekmeta{margin:.6em 0 0;font-size:.94rem;color:#c8d9e6}

.koopkaart{
  background:#fff;color:var(--ink);border:3px solid var(--gold);
  border-radius:var(--radius-lg);padding:18px 20px;box-shadow:var(--shadow-lg)
}
.koopkaart__kop{
  margin:0 0 .6em;font-size:.78rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--gold-ink)
}
.koopkaart__edities{list-style:none;margin:0 0 1em;padding:0;display:grid;gap:8px}
.koopkaart__edities li{padding-bottom:8px;border-bottom:1px solid var(--border)}
.koopkaart__edities li:last-child{border-bottom:0;padding-bottom:0}
.koopkaart__edities strong{display:block;color:var(--navy);font-size:.98rem}
.koopkaart__edities span{display:block;font-size:.84rem;color:var(--ink-soft)}
.koopkaart .btn{width:100%;justify-content:center}
.koopkaart__voet{margin:.8em 0 0;font-size:.88rem}
.koopkaart__voet a{color:var(--gold-ink);font-weight:600}

.hoofdstuk{
  margin:1.4em 0;padding:16px 18px;background:var(--bg-soft);
  border-left:4px solid var(--navy);border-radius:0 var(--radius) var(--radius) 0
}
.hoofdstuk > :last-child{margin-bottom:0}
.hoofdstuk__kop{display:flex;gap:12px;align-items:flex-start;margin:0 0 .4em;font-size:1.08rem;line-height:1.3;color:var(--navy)}
.hoofdstuk__nr{
  flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;
  font-size:.82rem;font-weight:700;display:grid;place-items:center;font-family:var(--sans)
}

.inhoudgrid{display:grid;gap:24px;margin-top:1.6em}
@media(min-width:760px){.inhoudgrid{grid-template-columns:repeat(2,1fr);gap:28px}}
@media(min-width:1100px){.inhoudgrid{grid-template-columns:repeat(3,1fr)}}
.inhouddeel{background:#fff;border:1px solid var(--border-strong);border-radius:var(--radius);padding:16px 18px}
.inhouddeel__kop{margin:0 0 .6em;font-size:1rem;color:var(--navy);line-height:1.3}
.inhoudlijst{margin:0;padding-left:1.3em;display:grid;gap:7px;font-size:.93rem}
.inhoudlijst li{line-height:1.4}
.inhoudlijst a{color:var(--ink);text-decoration-color:var(--border-strong)}
.inhoudlijst a:hover{color:var(--navy)}
.inhoudlijst__uit a{color:var(--navy);font-weight:600;text-decoration-color:var(--navy)}
.inhoudlijst__merk{
  display:inline-block;margin-left:.4em;padding:.1em .5em;border-radius:999px;
  background:var(--gold);color:#3d2f13;font-size:.76rem;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;vertical-align:.05em
}

.bestelkaart{
  background:#fff;border:2px solid var(--gold);border-top-width:8px;
  border-radius:var(--radius-lg);padding:clamp(20px,2.4vw,32px);box-shadow:var(--shadow-lg)
}
.bestelkaart__label{
  display:inline-block;margin-bottom:.5em;padding:.28em .8em;border-radius:999px;
  background:var(--gold-ink);color:#fff;font-size:.76rem;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase
}
.bestelkaart__kop{margin:0 0 .4em;font-size:clamp(1.3rem,1.1rem + .8vw,1.8rem);line-height:1.2;color:var(--navy)}
.bestelkaart__lead{margin:0 0 1em;max-width:62ch}
.bestelkaart__edities{list-style:none;margin:0 0 1.2em;padding:0;display:grid;gap:6px;font-size:.95rem}
.bestelkaart__edities strong{color:var(--navy)}
.bestelkaart__acties{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:1em}
.bestelkaart__voet{margin:0;font-size:.88rem;color:var(--ink-soft);max-width:62ch}
@media(max-width:560px){.bestelkaart__acties .btn{width:100%;justify-content:center}}

/* De twee bureaukopjes: direct onder de vouw, en niet te missen */
.bureaustrook{background:var(--navy);padding-block:clamp(1.8rem,1.4rem + 1.6vw,2.6rem)}
.bureaustrook__intro{
  margin:0 0 1.2em;color:var(--gold);font-size:.86rem;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase
}
.bureaustrook__grid{display:grid;gap:20px}
@media(min-width:900px){.bureaustrook__grid{grid-template-columns:repeat(2,1fr);gap:26px}}
.bureaukop{
  background:#fff;border-radius:var(--radius-lg);padding:clamp(18px,2vw,26px);
  border-top:8px solid var(--accent);box-shadow:var(--shadow-lg);
  display:flex;flex-direction:column
}
.bureaukop--tweede{border-top-color:var(--gold)}
.bureaukop__label{
  display:inline-block;align-self:flex-start;margin-bottom:.5em;
  padding:.28em .8em;border-radius:999px;background:var(--accent);color:#fff;
  font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase
}
.bureaukop--tweede .bureaukop__label{background:var(--gold-ink)}
.bureaukop__kop{
  margin:0 0 .5em;color:var(--navy);line-height:1.2;
  font-size:clamp(1.25rem,1.05rem + .85vw,1.7rem)
}
.bureaukop__tekst{margin:0 0 1.1em;font-size:.98rem}
.bureaukop__actie{margin:auto 0 0}
.bureaukop__actie .btn{width:100%;justify-content:center;text-align:center}

/* Cijfers die het oog vasthouden. Rood haalt 6,9:1 op wit, ruim boven de eis. */
.cijfer{color:var(--accent);font-weight:700;font-variant-numeric:tabular-nums}
.section--navy .cijfer,.page-hero .cijfer,.hero .cijfer,.site-footer .cijfer{color:var(--gold)}
.note--accent .cijfer{color:var(--accent-700)}
a .cijfer{color:inherit}

/* Contactopties in een smalle zijbalk: onder elkaar, niet in drie kolommen */
.contactopties--kaart{display:grid;gap:12px}
.contactopties--kaart .contactkaart{padding:14px 16px}
.contactopties--kaart .contactkaart h3{font-size:1rem}
.contactopties--kaart .contactkaart p{font-size:.9rem}
.contactopties--kaart .btn{width:100%;justify-content:center;padding:.55em .8em;font-size:.9rem}
@media(min-width:520px) and (max-width:1099px){.contactopties--kaart{grid-template-columns:repeat(3,1fr)}}

/* De reviewquote: één zin die blijft hangen, met de bronnen eronder */
.reviewquote{
  margin:0;background:#fff;border:2px solid var(--gold);border-left-width:10px;
  border-radius:var(--radius-lg);padding:clamp(20px,2.4vw,32px);box-shadow:var(--shadow)
}
.reviewquote blockquote{margin:0;padding:0;border:0}
.reviewquote__zin{
  margin:0;font-family:var(--serif);font-size:clamp(1.15rem,1rem + .7vw,1.5rem);
  line-height:1.4;color:var(--navy)
}
.reviewquote__zin strong{color:var(--accent)}
.reviewquote__bron{margin:.9em 0 0;font-size:.82rem;color:var(--ink-soft)}
.reviewquote__feiten{
  list-style:none;margin:1.3em 0 0;padding:0;display:grid;gap:12px
}
.reviewquote__voet{margin-top:1.1em}
@media(min-width:820px){.reviewquote__feiten{grid-template-columns:repeat(3,1fr);gap:20px}}
.reviewquote__feiten li{
  padding:12px 14px;background:var(--bg-tint);border-radius:var(--radius);
  font-size:.92rem;line-height:1.4;border-left:4px solid var(--navy)
}
.reviewquote__feiten strong{
  display:block;font-family:var(--serif);font-size:1.35rem;color:var(--navy);line-height:1.1;margin-bottom:.15em
}
.reviewquote__voet{margin:1.1em 0 0;font-size:.84rem;color:var(--ink-soft)}
.reviewquote__voet a{font-weight:600;white-space:nowrap}

/* ==========================================================================
   8a. Terugbellen, WhatsApp en het bureau-blok
   ========================================================================== */

/* WhatsApp-knop in de merkkleur, met wit dat er ruim overheen komt */
/* Donkerder dan het WhatsApp-groen van het merk: wit moet er 4.5:1 op halen. */
.btn-wa{background:#0f7a40;color:#fff;border-color:#0f7a40}
.btn-wa:hover,.btn-wa:focus-visible{background:#0b6b37;color:#fff;border-color:#0b6b37}
.btn-wa .wa-icoon--wit path:last-child{fill:#0f7a40}
.btn-wa:hover .wa-icoon--wit path:last-child{fill:#0b6b37}

/* De terugbelstrook: valt op in de leestekst zonder hem te onderbreken */
.terugbel{
  display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;justify-content:space-between;
  margin:2em 0;padding:18px 20px;
  background:var(--bg-tint);border:2px solid var(--navy);border-left-width:8px;
  border-radius:var(--radius)
}
.terugbel--breed{margin:0;background:#fff;box-shadow:var(--shadow)}
.terugbel__tekst{flex:1 1 320px;min-width:0}
.terugbel__kop{margin:0 0 .2em;font-weight:700;font-size:1.06rem;color:var(--navy)}
.terugbel__sub{margin:0;font-size:.92rem;color:var(--ink)}
.terugbel__knoppen{display:flex;flex-wrap:wrap;gap:10px}
.terugbel__knoppen .btn{padding:.6em 1em;font-size:.92rem}
@media(max-width:560px){
  .terugbel{flex-direction:column;align-items:stretch}
  .terugbel__knoppen{flex-direction:column}
  .terugbel__knoppen .btn{width:100%;justify-content:center}
}

/* Het bureau-blok: kort, omrand en bedoeld om gelezen te worden */
.bureau-sectie{background:var(--bg-soft)}
.bureaukaart{
  background:#fff;border:2px solid var(--accent);border-top-width:8px;
  border-radius:var(--radius-lg);padding:clamp(20px,2.4vw,32px);box-shadow:var(--shadow-lg)
}
.bureaukaart__label{
  display:inline-block;margin-bottom:.5em;padding:.28em .8em;border-radius:999px;
  background:var(--accent);color:#fff;font-size:.76rem;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase
}
.bureaukaart__kop{margin:0 0 .4em;font-size:clamp(1.3rem,1.1rem + .8vw,1.8rem);line-height:1.2;color:var(--navy)}
.bureaukaart__lead{margin:0 0 1.2em;font-size:1.02rem;max-width:60ch}
.bureaupunten{list-style:none;counter-reset:bp;margin:0 0 1.2em;padding:0;display:grid;gap:14px}
@media(min-width:820px){.bureaupunten{grid-template-columns:repeat(3,1fr);gap:20px}}
.bureaupunten li{
  counter-increment:bp;position:relative;padding:14px 16px 14px 46px;
  background:var(--bg-tint);border-radius:var(--radius);border-left:4px solid var(--navy)
}
.bureaupunten li::before{
  content:counter(bp);position:absolute;left:14px;top:14px;
  width:22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;
  font-size:.78rem;font-weight:700;display:grid;place-items:center
}
.bureaupunten strong{display:block;margin-bottom:.25em;color:var(--navy);font-size:.98rem;line-height:1.3}
.bureaupunten span{display:block;font-size:.9rem;color:var(--ink)}
.bureaukaart__slot{margin:0 0 1.2em;font-weight:600;max-width:62ch}
.bureaukaart__acties{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:1.1em}
.bureaukaart__meer{margin:0 0 .4em;font-size:.92rem}
.bureaukaart__nap{margin:0;font-size:.86rem;color:var(--ink-soft)}
@media(max-width:560px){.bureaukaart__acties .btn{width:100%;justify-content:center}}

/* Kop naast het rekenblokje. Op mobiel staan de twee bedragen bewust vóór de
   knoppen: boven de vouw wordt het meest gelezen, en de vraag is de haak. */
.hero-split{display:flex;flex-direction:column;gap:22px}
.hero-split > div > :first-child{margin-top:0}
.hero-kolom{display:contents}
.hero-tekst{order:1}
.hero-teaser{order:2}
.hero-cta{order:3}
.hero-nap{order:4}
@media(min-width:900px){
  .hero-split{display:grid;grid-template-columns:1.55fr 1fr;gap:36px;align-items:start}
  /* De rechterkolom is vaak hoger; de kop mag dan meebewegen zodat er geen
     gat van honderden pixels onder de knoppen ontstaat. */
  .hero-split--lp{align-items:center}
  .hero-kolom{display:block}
  .hero-cta{margin-top:1.5em}
  .hero-nap{margin-top:0}
}

/* Boven de vouw: de twee bedragen in het kort, wit op donker voor contrast */
.rekenteaser{
  background:#fff;color:var(--ink);
  border:3px solid var(--gold);border-radius:var(--radius-lg);
  padding:16px 18px;box-shadow:var(--shadow-lg);margin:0 0 18px
}
.rekenteaser__kop{
  margin:0 0 .5em;font-size:.76rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--gold-ink)
}
.rekenteaser__item{
  display:block;text-decoration:none;color:var(--ink);
  padding:.72em 0;border-top:1px solid var(--border)
}
.rekenteaser__item:first-of-type{border-top:0;padding-top:0}
.rekenteaser__item:hover .rekenteaser__vraag,.rekenteaser__item:focus-visible .rekenteaser__vraag{text-decoration:underline}
.rekenteaser__vraag{display:block;font-weight:700;font-size:.96rem;line-height:1.3;color:var(--navy)}
.rekenteaser__bedrag{
  display:block;font-family:var(--serif);font-weight:700;line-height:1.05;
  font-size:clamp(1.7rem,1.3rem + 1.5vw,2.35rem);color:var(--accent);margin-top:.1em
}
.rekenteaser__uitleg{display:block;font-size:.83rem;color:var(--ink-soft);margin-top:.15em}
.rekenteaser__voet{margin:.7em 0 0;padding-top:.6em;border-top:1px solid var(--border);font-size:.88rem}
.rekenteaser__voet a{color:var(--gold-ink);font-weight:600}
.page-hero .rekenteaser__voet a,.hero .rekenteaser__voet a{color:var(--gold-ink)}

/* ==========================================================================
   8b. De twee rekensommen — opvallend omrand, bedoeld om gelezen te worden
   ========================================================================== */
.rekensommen{background:var(--bg-soft)}
.rekengrid{display:grid;gap:26px;margin-top:1.8em}
@media(min-width:900px){.rekengrid{grid-template-columns:repeat(2,1fr);gap:30px}}

.rekenkaart{
  background:#fff;
  border:2px solid var(--navy);
  border-top-width:8px;
  border-radius:var(--radius-lg);
  padding:clamp(20px,2.4vw,30px);
  box-shadow:var(--shadow-lg);
  display:flex;flex-direction:column
}
.rekenkaart--review{border-color:var(--accent)}
.rekenkaart > :last-child{margin-bottom:0}

.rekenkaart__nr{
  display:inline-block;margin:0 0 .5em;padding:.28em .8em;border-radius:999px;
  background:var(--navy);color:#fff;font-size:.76rem;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase
}
.rekenkaart--review .rekenkaart__nr{background:var(--accent)}
.rekenkaart__kop{margin:0 0 .7em;font-size:clamp(1.18rem,1.05rem + .5vw,1.45rem);line-height:1.25;color:var(--navy)}

.rekenregels{margin:.4em 0 1.2em;border-top:1px solid var(--border-strong)}
.rekenregel{
  display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;
  gap:.4em 1em;padding:.62em 0;border-bottom:1px solid var(--border)
}
.rekenregel dt{margin:0;color:var(--ink);font-size:.95rem;flex:1 1 55%;min-width:0}
.rekenregel dd{
  margin:0;font-family:var(--serif);font-weight:700;color:var(--navy);
  font-size:clamp(1.1rem,1rem + .45vw,1.35rem);line-height:1.15;
  text-align:right;flex:0 1 auto;white-space:nowrap
}
.rekenkaart--review .rekenregel dd{color:var(--accent)}
.rekenregel__per{
  display:block;font-family:var(--sans);font-weight:400;font-size:.78rem;
  color:var(--ink-soft);white-space:normal
}

.rekenuitkomst{
  margin:0 0 1.1em;padding:16px 18px;border-radius:var(--radius);
  background:var(--bg-tint);border-left:6px solid var(--navy)
}
.rekenkaart--review .rekenuitkomst{background:#fdf3f3;border-left-color:var(--accent)}
.rekenuitkomst__label{
  display:block;font-size:.78rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-soft);margin-bottom:.15em
}
.rekenuitkomst__cijfer{
  display:block;font-family:var(--serif);font-weight:700;line-height:1.05;
  font-size:clamp(1.9rem,1.5rem + 1.6vw,2.7rem);color:var(--navy)
}
.rekenkaart--review .rekenuitkomst__cijfer{color:var(--accent)}
.rekenuitkomst__uitleg{display:block;margin-top:.35em;color:var(--ink);font-size:.95rem}

.rekenkaart__lijst{margin:.2em 0 1.1em}
.rekenkaart__aanname{font-size:.9rem;color:var(--ink-soft)}
.rekenkaart__actie{margin-top:auto;padding-top:.6em;display:flex;flex-wrap:wrap;gap:.6em 1.2em;align-items:center}
.btn-klein{padding:.62em 1.1em;font-size:.92rem}
.rekenkaart__tweede{font-weight:600}
.rekenbron{margin-top:1.6em;color:var(--ink-soft)}
@media(max-width:520px){
  .rekenregel{flex-direction:column;align-items:flex-start}
  .rekenregel dd{text-align:left}
  .rekenkaart__actie .btn{width:100%;justify-content:center;text-align:center}
}

/* ==========================================================================
   9. Voorkeuren van de bezoeker
   ========================================================================== */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media(prefers-contrast:more){
  :root{--border:#8a949c;--border-strong:#5c6870;--ink-soft:#33414c}
}
