/* ReisMedischCentrum - editorial style, RMC blauw
   Kleuren uit logo: navy #1f2e87, cyaan #1f9fe0 */

:root{
  --navy:#1f2e87;
  --navy-deep:#172262;
  --cyan:#1f9fe0;
  --cyan-soft:#e7f4fc;
  --cyan-heading:#1a8ac4; /* cyaan in grote koppen (contrast 3.7:1) */
  --cyan-text:#0f6fa3;   /* donkerder cyaan voor kleine tekst (contrast 5.3:1 op de achtergrond) */
  --cyan-on-navy:#9bdcf8; /* cyaan-tekst op navy-vlakken */
  --ink:#1b2540;
  --muted:#5b6480;
  --line:#e3e7f0;
  --bg:#fbfcfe;
  --bg-alt:#f3f6fb;
  --white:#ffffff;
  --radius:18px;
  --maxw:1180px;
  --serif:"Newsreader", Georgia, "Times New Roman", serif;
  --sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--ink);
  background:var(--bg);
  line-height:1.65;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:var(--navy);text-decoration:none;}
a:hover{color:var(--cyan-text);}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}

/* ---------- Typography ---------- */
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;color:var(--navy);line-height:1.12;letter-spacing:-.01em;margin:0 0 .5em;}
h1{font-size:clamp(2.6rem,6vw,4.6rem);}
h2{font-size:clamp(1.9rem,3.6vw,2.9rem);}
h3{font-size:1.35rem;}
.eyebrow{
  font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--cyan-text);display:inline-block;margin-bottom:1rem;
}
.eyebrow::before{content:"";display:inline-block;width:22px;height:2px;background:var(--cyan);vertical-align:middle;margin-right:10px;}
.section-navy .eyebrow{color:var(--cyan-on-navy);}
.lead{font-size:1.18rem;color:var(--muted);max-width:60ch;}
em,.italic{font-style:italic;color:var(--cyan-heading);}
p em,li em,small em,.note em{color:var(--cyan-text);}
.section-navy em{color:var(--cyan-on-navy);}
p{margin:0 0 1.1em;}

/* visueel verborgen, wel voor schermlezers */
.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;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.5em;
  font-family:var(--sans);font-weight:600;font-size:.98rem;
  padding:.85em 1.5em;border-radius:999px;border:1.5px solid transparent;
  cursor:pointer;transition:.2s ease;line-height:1;
}
.btn-primary{background:var(--navy);color:#fff;}
.btn-primary:hover{background:var(--navy-deep);color:#fff;transform:translateY(-1px);}
.btn-ghost{background:transparent;color:var(--navy);border-color:var(--line);}
.btn-ghost:hover{border-color:var(--navy);color:var(--navy);}
.btn-light{background:#fff;color:var(--navy);}
.btn-light:hover{background:var(--cyan-soft);}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;background:rgba(251,252,254,.85);
  backdrop-filter:saturate(150%) blur(12px);border-bottom:1px solid var(--line);
}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:78px;}
.brand img{height:57px;width:auto;}
.nav{display:flex;align-items:center;gap:30px;}
.nav a{font-size:.95rem;font-weight:500;color:var(--ink);}
.nav a:hover,.nav a.active{color:var(--cyan-text);}
.nav .btn{padding:.6em 1.15em;}
/* knop in menu: lichtblauwe, leesbare tekst op navy (overschrijft .nav a kleur) */
.nav a.btn-primary,.nav a.btn-primary.active{color:var(--cyan-on-navy);}
.nav a.btn-primary:hover{color:#fff;}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px;padding:8px;}
.nav-toggle span{width:24px;height:2px;background:var(--navy);display:block;transition:.2s;}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(900px 500px at 78% -8%, rgba(31,159,224,.20), transparent 60%),
    radial-gradient(700px 480px at 8% 110%, rgba(31,46,135,.10), transparent 55%),
    var(--bg);
}
.hero .wrap{padding-top:84px;padding-bottom:90px;}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center;}
.hero h1{margin-bottom:.35em;}
.hero .lead{font-size:1.25rem;margin-bottom:2rem;}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;}
.hero-art{position:relative;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;}
.hero-art .bloom{width:100%;height:auto;filter:drop-shadow(0 30px 60px rgba(31,46,135,.18));animation:float 8s ease-in-out infinite;}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}

/* ticker */
.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);overflow:hidden;}
.ticker-track{display:flex;gap:48px;white-space:nowrap;padding:16px 0;animation:scroll 28s linear infinite;}
.ticker span{font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--navy);display:inline-flex;align-items:center;gap:48px;}
.ticker span::after{content:"✦";color:var(--cyan);font-style:normal;}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- Sections ---------- */
section{padding:90px 0;}
.section-alt{background:var(--bg-alt);}
.section-navy{background:var(--navy);color:#eaf0ff;}
.section-navy h1,.section-navy h2,.section-navy h3{color:#fff;}
.section-navy .lead{color:#c3cdf0;}
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.split.narrow{gap:48px;}

/* cards / pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;}
.card{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:34px 30px;transition:.25s ease;
}
.card:hover{transform:translateY(-4px);box-shadow:0 24px 50px rgba(31,46,135,.10);border-color:transparent;}
.card .num{font-family:var(--serif);font-style:italic;color:var(--cyan-text);font-size:.95rem;margin-bottom:1rem;display:block;}
.card h3{margin-bottom:.5em;}
.card p{color:var(--muted);font-size:.97rem;margin-bottom:1.1em;}
.card .arrow{font-weight:600;color:var(--navy);font-size:.95rem;}

/* icon circle */
.ic{width:52px;height:52px;border-radius:14px;background:var(--cyan-soft);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.ic svg{width:26px;height:26px;stroke:var(--navy);fill:none;stroke-width:1.6;}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:left;}
.stat .n{font-family:var(--serif);font-size:clamp(2.4rem,4vw,3.4rem);color:var(--cyan-heading);line-height:1;}
.stat .l{color:var(--muted);font-size:.92rem;margin-top:.5rem;}
.section-navy .stat .n{color:var(--cyan);}
.section-navy .stat .l{color:#c3cdf0;}

/* steps / process */
.steps{counter-reset:step;display:grid;gap:0;margin-top:40px;}
.step{display:grid;grid-template-columns:auto 1fr;gap:28px;padding:26px 0;border-top:1px solid var(--line);}
.step:last-child{border-bottom:1px solid var(--line);}
.step .marker{counter-increment:step;font-family:var(--serif);font-style:italic;color:var(--cyan-text);font-size:1.5rem;min-width:54px;}
.step .marker::before{content:counter(step,decimal-leading-zero);}
.step h3{font-size:1.2rem;margin-bottom:.25em;}
.step p{color:var(--muted);margin:0;font-size:.97rem;}

/* media/visual block */
.visual{
  border-radius:var(--radius);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;
  background:
    radial-gradient(120% 120% at 20% 10%, rgba(31,159,224,.30), transparent 55%),
    linear-gradient(135deg,var(--navy),var(--cyan));
  position:relative;overflow:hidden;
}
.visual svg{width:62%;height:auto;opacity:.95;}
.visual.soft{background:var(--cyan-soft);}
.visual.soft svg{opacity:1;}

/* quote */
.quote{max-width:760px;margin:0 auto;text-align:center;}
.quote blockquote{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.35;color:var(--navy);margin:0 0 1.2rem;font-style:italic;}
.section-navy .quote blockquote{color:#fff;}
.quote cite{color:var(--muted);font-style:normal;font-size:.95rem;}

/* lists with ticks */
.ticklist{list-style:none;padding:0;margin:1.5rem 0;display:grid;gap:14px;}
.ticklist li{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;color:var(--ink);}
.ticklist li::before{content:"";width:22px;height:22px;border-radius:50%;background:var(--cyan-soft);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f2e87' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size:13px;background-repeat:no-repeat;background-position:center;margin-top:4px;}

/* price table */
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;}
.price{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:34px 30px;display:flex;flex-direction:column;}
.price.feature{border-color:var(--cyan);box-shadow:0 24px 50px rgba(31,46,135,.10);position:relative;}
.price.feature::before{content:"Meest gekozen";position:absolute;top:-12px;left:30px;background:var(--cyan);color:#fff;font-size:.72rem;font-weight:600;letter-spacing:.05em;padding:.35em .9em;border-radius:999px;}
.price h3{margin-bottom:.2em;}
.price .amount{font-family:var(--serif);font-size:2.6rem;color:var(--navy);line-height:1;margin:.4rem 0 1rem;}
.price .amount small{font-family:var(--sans);font-size:.85rem;color:var(--muted);font-weight:500;}
.price ul{list-style:none;padding:0;margin:0 0 1.6rem;display:grid;gap:10px;flex:1;}
.price li{color:var(--muted);font-size:.95rem;padding-left:24px;position:relative;}
.price li::before{content:"";position:absolute;left:0;top:7px;width:14px;height:14px;border-radius:50%;
  background:var(--cyan-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f2e87' stroke-width='3'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/9px no-repeat;}

.note{font-size:.88rem;color:var(--muted);}

/* table */
table.vac{width:100%;border-collapse:collapse;margin-top:30px;font-size:.96rem;}
table.vac th,table.vac td{text-align:left;padding:15px 16px;border-bottom:1px solid var(--line);}
table.vac th{font-family:var(--sans);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600;}
table.vac td:first-child{font-weight:600;color:var(--navy);}
table.vac tr:hover td{background:var(--bg-alt);}

/* CTA band */
.cta-band{text-align:center;}
.cta-band .btn{margin:6px;}

/* ---------- Form ---------- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:4px;}
.field.full{grid-column:1/-1;}
.field label{font-size:.88rem;font-weight:600;color:var(--navy);}
.field label .req{color:var(--cyan-text);}
.field input,.field select,.field textarea{
  font-family:var(--sans);font-size:1rem;color:var(--ink);
  padding:13px 15px;border:1.5px solid var(--line);border-radius:12px;background:#fff;transition:.18s;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 4px var(--cyan-soft);}
.field textarea{resize:vertical;min-height:120px;}
.form-msg{display:none;padding:16px 18px;border-radius:12px;background:var(--cyan-soft);color:var(--navy);font-weight:500;margin-top:18px;}
.form-msg.show{display:block;}
.err{border-color:#e05a5a !important;}

/* contact info cards */
.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px;}
.contact-cards .card p{margin:0;}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy-deep);color:#c3cdf0;padding:70px 0 34px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;}
.site-footer img{height:34px;margin-bottom:18px;}
.site-footer h3{color:#fff;font-family:var(--sans);font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:16px;}
.site-footer a{color:#c3cdf0;display:block;margin-bottom:9px;font-size:.95rem;}
.site-footer a:hover{color:var(--cyan-text);}
.site-footer .muted{color:#8b96c4;font-size:.92rem;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:50px;padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.85rem;color:#8b96c4;}

/* page hero (subpages) */
.page-hero{padding:70px 0 40px;background:
  radial-gradient(700px 380px at 85% -20%, rgba(31,159,224,.16), transparent 60%),var(--bg);}
.page-hero .lead{margin-top:.5rem;}

/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:none;}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .hero-grid,.split,.split.narrow{grid-template-columns:1fr;gap:36px;}
  .hero-art{max-width:380px;margin:0 auto;}
  .pillars,.pricing,.stats,.contact-cards{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:680px){
  body{font-size:16px;}
  table.vac{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;font-size:.9rem;}
  table.vac th,table.vac td{padding:12px 10px;}
  section{padding:64px 0;}
  .nav{position:fixed;inset:78px 0 auto 0;background:#fff;flex-direction:column;align-items:stretch;
    gap:0;padding:10px 28px 24px;border-bottom:1px solid var(--line);transform:translateY(-130%);transition:.28s ease;}
  .nav.open{transform:none;}
  .nav a{padding:13px 0;border-bottom:1px solid var(--line);}
  .nav .btn{margin-top:14px;justify-content:center;}
  .nav-toggle{display:flex;}
  .pillars,.pricing,.stats,.contact-cards,.footer-grid,.form-grid{grid-template-columns:1fr;}
}

/* ---------- Boekingswizard, prikmelder, bestemming (assets/js/boeken.js) ---------- */
.split > *{min-width:0;}
#boek-wizard{min-width:0;}
.bw-stappen{display:flex;gap:6px;margin:0 0 26px;flex-wrap:wrap;}
.bw-stap{flex:1;min-width:88px;font-size:.78rem;font-weight:600;color:var(--muted);border-top:3px solid var(--line);padding-top:8px;letter-spacing:.04em;text-transform:uppercase;}
.bw-stap span{display:inline-block;width:20px;height:20px;border-radius:50%;background:var(--line);color:#fff;text-align:center;line-height:20px;font-size:.72rem;margin-right:6px;}
.bw-stap.klaar{border-color:var(--cyan);color:var(--navy);}
.bw-stap.klaar span{background:var(--cyan);}
.bw-stap.nu{border-color:var(--navy);color:var(--navy);}
.bw-stap.nu span{background:var(--navy);}
.bw-titel{font-size:1.6rem;margin-bottom:.4em;}
.bw-sub{font-family:var(--sans);font-size:.95rem;color:var(--navy);margin:18px 0 8px;}
.bw-keuzes{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0;}
.bw-keuze{display:flex;flex-direction:column;gap:6px;text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:20px 22px;font:inherit;cursor:pointer;transition:.18s;color:var(--ink);}
.bw-keuze:hover{border-color:var(--cyan);transform:translateY(-2px);box-shadow:0 18px 40px rgba(31,46,135,.08);}
.bw-keuze.aan{border-color:var(--navy);box-shadow:0 0 0 3px var(--cyan-soft);}
.bw-keuze b{font-family:var(--serif);font-size:1.15rem;color:var(--navy);font-weight:500;}
.bw-keuze span{color:var(--muted);font-size:.93rem;line-height:1.45;}
.bw-keuze em{font-style:normal;color:var(--cyan-text);font-size:.85rem;font-weight:600;}
.bw-personen{grid-column:1/-1;background:var(--cyan-soft);border-radius:var(--radius);padding:18px 22px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.bw-personen label{font-weight:600;color:var(--navy);}
.bw-personen select{font:inherit;padding:10px 14px;border:1.5px solid var(--line);border-radius:12px;background:#fff;}
.bw-personen .bw-nav{width:100%;margin-top:6px;}
.bw-dagen{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin;}
.bw-dag{flex:none;min-width:78px;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:10px 8px;font:inherit;cursor:pointer;text-align:center;display:flex;flex-direction:column;gap:2px;color:var(--ink);}
.bw-dag b{font-family:var(--serif);font-size:1.05rem;color:var(--navy);font-weight:500;}
.bw-dag span{font-size:.8rem;color:var(--muted);}
.bw-dag i{font-style:normal;font-size:.72rem;color:var(--cyan-text);font-weight:600;}
.bw-dag.aan{border-color:var(--navy);background:var(--cyan-soft);}
.bw-tijden{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 16px;}
.bw-tijd{background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:9px 16px;font:inherit;font-weight:600;font-size:.95rem;cursor:pointer;color:var(--navy);}
.bw-tijd:hover,.bw-tijd.aan{background:var(--navy);color:#fff;border-color:var(--navy);}
.bw-persoon{border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px 8px;margin:0 0 16px;}
.bw-persoon legend{font-family:var(--sans);font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-text);padding:0 6px;}
.bw-nav{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:16px;}
.bw-overzicht{display:grid;gap:10px;margin:14px 0 20px;}
.bw-overzicht > div{display:grid;grid-template-columns:130px 1fr;gap:4px 16px;padding:10px 0;border-bottom:1px solid var(--line);align-items:baseline;}
.bw-overzicht span{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;}
.bw-overzicht b{font-weight:600;color:var(--ink);}
.bw-overzicht small{grid-column:2;color:var(--muted);font-size:.88rem;}
.bw-vink{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:10px 0;font-size:.97rem;line-height:1.5;cursor:pointer;}
.bw-vink input{width:22px;height:22px;margin-top:2px;accent-color:var(--navy);}
.bw-honing{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.bw-melding{background:var(--cyan-soft);border-radius:var(--radius);padding:24px 26px;margin-bottom:18px;}
.bw-melding h3{margin-bottom:.4em;}
.bw-melding p{color:var(--ink);margin-bottom:.6em;}
.bw-fout{background:#fdeaea;color:#a33;padding:14px 18px;border-radius:12px;font-weight:500;}
.form-msg.fout{background:#fdeaea;color:#a33;}
.bw-waarschuwing{color:#a33;}
.bw-klaar{text-align:left;}
.bw-vinkje{width:56px;height:56px;border-radius:50%;background:var(--cyan-soft);color:var(--navy);font-size:1.6rem;display:flex;align-items:center;justify-content:center;margin-bottom:14px;font-weight:700;}
.bw-details{margin-top:16px;}
.bw-details summary{cursor:pointer;color:var(--navy);font-weight:600;}
.bw-wachtlijst{margin-top:12px;}
.bw-lagen{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:8px 0 26px;}
.bw-laag{border-radius:var(--radius);padding:18px 20px;border:1.5px solid var(--line);background:#fff;display:flex;flex-direction:column;gap:4px;}
.bw-laag span{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600;}
.bw-laag b{font-family:var(--serif);font-size:1.15rem;color:var(--navy);font-weight:500;}
.bw-laag small{color:var(--muted);font-size:.9rem;}
.bw-laag.let{border-color:#f0c36d;background:#fff8e8;}
.bw-laag.ok{border-color:#bfe3cd;background:#f1faf4;}
.bw-alert{border-radius:var(--radius);padding:16px 20px;margin-bottom:12px;background:#fff8e8;border-left:4px solid #f0c36d;}
.bw-alert.niveau-3,.bw-alert.niveau-4{background:#fdeaea;border-left-color:#e05a5a;}
.bw-alert p{margin:.3em 0;}
.bw-alert small{color:var(--muted);}
.bw-niveau{display:inline-block;font-size:.8rem;font-weight:600;padding:.3em .8em;border-radius:999px;background:var(--bg-alt);color:var(--muted);white-space:nowrap;}
.bw-niveau.niveau-1{background:#fdeaea;color:#a33;}
.bw-niveau.niveau-2{background:var(--cyan-soft);color:var(--navy);}
.bw-niveau.niveau-3{background:#fff8e8;color:#8a5a00;}
@media (max-width:680px){.bw-keuzes,.bw-lagen{grid-template-columns:1fr;}.bw-overzicht > div{grid-template-columns:1fr;}.bw-overzicht small{grid-column:1;}.bw-stap{min-width:0;font-size:0;}.bw-stap span{font-size:.72rem;margin:0;}}

/* ---------- Bestemmingspagina's (gegenereerd door tools/site-bestemmingen.mjs in het platform) ---------- */
.best-kruimels{font-size:.88rem;color:var(--muted);padding-top:18px;}
.best-kruimels a{color:var(--muted);}
.best-kruimels a:hover{color:var(--cyan-text);}
.best-hero{padding-bottom:30px;}
.best-hero .hero-cta{margin-top:1.4rem;}
.best-inhoud{padding-top:30px;}
.best-samenvatting{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:34px;}
.best-samenvatting a{font-size:.85rem;font-weight:600;padding:.5em 1em;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--navy);}
.best-samenvatting a:hover{border-color:var(--navy);}
.best-sectie{padding:0;margin:0 0 54px;}
.best-sectie h2{font-size:clamp(1.6rem,2.8vw,2.2rem);}
.best-sectie .lead{margin-bottom:1.4rem;}
.best-kaarten{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.best-kaart{border-radius:var(--radius);padding:24px 26px;border:1.5px solid var(--line);background:#fff;}
.best-kaart.let{border-color:#f0c36d;background:#fff8e8;}
.best-kaart.ok{border-color:#bfe3cd;background:#f1faf4;}
.best-kaart h3{margin-bottom:.4em;}
.best-kaart p{margin-bottom:.7em;}
.best-kaart p:last-child{margin-bottom:0;}
.best-label{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600;margin-bottom:4px;}
.best-groep{margin-top:26px;}
.best-groep h3{font-family:var(--sans);font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:8px;}
.best-groep-verplicht h3{color:#a33;}
.best-groep-aanbevolen h3,.best-groep-aanbevolen_voorw h3{color:var(--navy);}
.best-lijst{list-style:none;padding:0;margin:0;}
.best-advies{padding:16px 0;border-bottom:1px solid var(--line);}
.best-advies-kop{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;margin-bottom:4px;}
.best-advies-kop b{font-family:var(--serif);font-size:1.2rem;font-weight:500;color:var(--navy);}
.best-voorw{font-size:.92rem;color:#8a5a00;background:#fff8e8;border-radius:999px;padding:.2em .8em;}
.best-advies p{margin:0 0 .5em;font-size:.97rem;}
.best-advies details{font-size:.92rem;color:var(--muted);}
.best-advies summary{cursor:pointer;color:var(--navy);font-weight:600;}
.best-advies details p{margin-top:.5em;color:var(--muted);}
.best-tabel{overflow-x:auto;}
.best-tabel table.vac{margin-top:12px;}
.best-indicatief{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#8a5a00;background:#fff8e8;border-radius:999px;padding:.2em .7em;margin-left:6px;white-space:nowrap;}
.best-bron{border-top:1px solid var(--line);padding-top:26px;}
.best-zoek{margin-top:22px;max-width:520px;display:flex;flex-direction:column;gap:7px;}
.best-zoek label{font-size:.88rem;font-weight:600;color:var(--navy);}
.best-zoek input{font-family:var(--sans);font-size:1.05rem;color:var(--ink);padding:14px 16px;border:1.5px solid var(--line);border-radius:12px;background:#fff;}
.best-zoek input:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 4px var(--cyan-soft);}
.best-regio{padding:0;margin:0 0 40px;}
.best-regio h2{font-size:1.6rem;display:flex;align-items:baseline;gap:12px;}
.best-regio h2 small{font-family:var(--sans);font-size:.85rem;color:var(--muted);font-weight:500;}
.best-landen{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.best-landen a{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:12px 16px;color:var(--ink);transition:.18s;}
.best-landen a:hover{border-color:var(--cyan);transform:translateY(-2px);}
.best-landen b{font-weight:600;color:var(--navy);}
.best-tag{font-style:normal;font-size:.72rem;font-weight:600;border-radius:999px;padding:.15em .6em;white-space:nowrap;}
.best-tag.geel{background:#fff8e8;color:#8a5a00;}
.best-tag.rood{background:#fdeaea;color:#a33;}
.best-tag.grijs{background:var(--bg-alt);color:var(--muted);}
@media (max-width:960px){.best-landen{grid-template-columns:1fr 1fr;}}
@media (max-width:680px){.best-kaarten,.best-landen{grid-template-columns:1fr;}.best-sectie{margin-bottom:40px;}}
