
/* Concept "Rits open": je kijkt vanuit je tent naar buiten. Nacht boven, mistlicht leesvlakken eronder, vuuroranje voor elke actie. */
:root{
  --nacht:#0d1714;      /* dennenzwart, hero en finale */
  --nacht-2:#15241f;
  --mos:#2c4a3d;        /* koppen op licht, labels */
  --mist:#eef1ea;       /* leesvlak */
  --mist-2:#e2e8dd;
  --papier:#fbfcf8;     /* kaarten */
  --inkt:#16211d;       /* lopende tekst op licht */
  --inkt-zacht:#4a5a53;
  --ster:#f4e6c2;       /* sterlicht, tekst op nacht */
  --ster-zacht:#c9d3cb;
  --vuur:#ff6a2b;       /* CTA */
  --vuur-donker:#d94f14;
  --gloed:#ffb36b;
  --lijn:rgba(22,33,29,.12);
  --f-display:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;
  --f-body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  --r:14px;
  --gutter-l:max(20px, env(safe-area-inset-left, 0px));
  --gutter-r:max(20px, env(safe-area-inset-right, 0px));
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--mist);color:var(--inkt);font-family:var(--f-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--nacht)}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--f-display);text-wrap:balance;line-height:.98;margin:0;letter-spacing:.005em}
p{margin:0}
.wrap{width:100%;max-width:1220px;margin-inline:auto;padding-left:var(--gutter-l);padding-right:var(--gutter-r)}
.eyebrow{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
:focus-visible{outline:3px solid var(--gloed);outline-offset:3px;border-radius:6px}

/* knoppen */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--f-body);font-weight:700;font-size:16px;text-decoration:none;border:0;cursor:pointer;border-radius:999px;padding:15px 26px;transition:transform .2s,box-shadow .2s,background .2s;line-height:1.1}
.btn-vuur{background:var(--vuur);color:#1b0b02;box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 10px 26px -10px rgba(255,106,43,.75)}
.btn-vuur:hover{transform:translateY(-2px);background:#ff7c45;box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 16px 32px -12px rgba(255,106,43,.9)}
.btn-glas{background:rgba(244,230,194,.08);color:var(--ster);border:1px solid rgba(244,230,194,.28)}
.btn-glas:hover{background:rgba(244,230,194,.16)}
.btn-lijn{background:transparent;color:var(--mos);border:1.5px solid var(--mos)}
.btn-lijn:hover{background:var(--mos);color:var(--mist)}
.btn svg{width:18px;height:18px;flex:none}

/* navigatie */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(13,23,20,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(244,230,194,.08)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:66px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ster);font-family:var(--f-display);font-weight:800;font-size:27px;letter-spacing:.02em}
.logo svg{width:34px;height:34px}
.logo b{color:var(--vuur);font-weight:800}
.nav-links{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.nav-links a{color:var(--ster-zacht);text-decoration:none;font-weight:600;font-size:15px}
.nav-links a:hover{color:var(--ster)}
.nav .btn{padding:11px 20px;font-size:15px}
.menu-knop{display:none;background:none;border:1px solid rgba(244,230,194,.3);color:var(--ster);border-radius:10px;width:44px;height:44px;cursor:pointer}
@media (max-width:900px){
  .nav-links{display:none;position:absolute;top:66px;left:0;right:0;flex-direction:column;gap:0;background:var(--nacht);padding:8px var(--gutter-r) 18px var(--gutter-l);border-bottom:1px solid rgba(244,230,194,.1)}
  .nav-links.open{display:flex}
  .nav-links a{display:block;padding:14px 0;font-size:17px;border-bottom:1px solid rgba(244,230,194,.08)}
  .menu-knop{display:inline-grid;place-items:center}
  .nav .btn-nav{display:none}
}

/* HERO */
.hero{position:relative;background:var(--nacht);color:var(--ster);overflow:hidden;isolation:isolate}
.hero-foto{position:absolute;inset:0;z-index:-3;background:url(../img/hero.webp) center 62%/cover no-repeat;transform:scale(1.08);animation:inzoom 9s ease-out forwards}
@keyframes inzoom{to{transform:scale(1)}}
.hero::after{content:"";position:absolute;inset:0;z-index:-2;background:
  radial-gradient(120% 70% at 50% 100%,rgba(13,23,20,0) 30%,rgba(13,23,20,.55) 75%),
  linear-gradient(180deg,rgba(13,23,20,.55) 0%,rgba(13,23,20,.15) 35%,rgba(13,23,20,.35) 70%,rgba(13,23,20,.92) 100%)}
#sterren{position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none}
/* tentflappen die openritsen */
.flap{position:absolute;top:0;bottom:0;width:52%;z-index:1;pointer-events:none;transition:transform 1.9s cubic-bezier(.22,.9,.24,1)}
.flap-l{left:0;transform:translateX(0);
  background:
    repeating-linear-gradient(92deg,rgba(0,0,0,.0) 0 22px,rgba(0,0,0,.18) 23px 24px),
    linear-gradient(100deg,#0b1210 0%,#1a2c25 55%,#253b32 92%,#1a2a24 100%);
  clip-path:polygon(0 0,100% 0,88% 18%,80% 42%,76% 68%,74% 100%,0 100%)}
.flap-r{right:0;transform:translateX(0);
  background:
    repeating-linear-gradient(88deg,rgba(0,0,0,.0) 0 22px,rgba(0,0,0,.18) 23px 24px),
    linear-gradient(260deg,#0b1210 0%,#1a2c25 55%,#253b32 92%,#1a2a24 100%);
  clip-path:polygon(0 0,100% 0,100% 100%,26% 100%,24% 68%,20% 42%,12% 18%)}
.flap::after{content:"";position:absolute;top:0;bottom:0;width:6px;background:repeating-linear-gradient(180deg,#c9b98f 0 3px,transparent 3px 7px);opacity:.75}
.flap-l::after{right:12%;transform:skewX(-7deg)}
.flap-r::after{left:12%;transform:skewX(7deg)}
.hero.open .flap-l{transform:translateX(-84%)}
.hero.open .flap-r{transform:translateX(84%)}
.trekker{position:absolute;left:50%;top:0;z-index:2;width:22px;height:46px;margin-left:-11px;border-radius:6px 6px 11px 11px;background:linear-gradient(#e9dcb4,#a8946a);box-shadow:0 6px 14px rgba(0,0,0,.4);transition:top 1.7s cubic-bezier(.22,.9,.24,1),opacity .6s 1.4s}
.hero.open .trekker{top:100%;opacity:0}
.hero-inhoud{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:48px;align-items:end;padding-block:120px 170px}
.hero h1{font-size:clamp(52px,8.4vw,118px);font-weight:900;text-transform:uppercase;letter-spacing:.01em;color:var(--ster);text-shadow:0 4px 40px rgba(0,0,0,.45)}
.hero h1 em{font-style:normal;color:var(--gloed);display:block}
.hero .lead{max-width:56ch;font-size:clamp(17px,1.6vw,20px);color:var(--ster-zacht);margin-top:22px}
.hero .eyebrow{color:var(--gloed);display:inline-flex;align-items:center;gap:10px;margin-bottom:22px}
.hero .eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--vuur);box-shadow:0 0 0 4px rgba(255,106,43,.25);animation:puls 2s infinite}
@keyframes puls{50%{box-shadow:0 0 0 9px rgba(255,106,43,0)}}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.winkels{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:34px;color:var(--ster-zacht);font-size:14px}
.winkels span.w{font-weight:700;color:var(--ster);letter-spacing:.02em}
.winkels .stip{width:4px;height:4px;border-radius:50%;background:rgba(244,230,194,.35)}
/* glaskaart */
.toppick{background:rgba(13,23,20,.55);border:1px solid rgba(244,230,194,.18);border-radius:20px;padding:22px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 30px 60px -30px rgba(0,0,0,.8);animation:zweef 7s ease-in-out infinite}
@keyframes zweef{50%{transform:translateY(-8px)}}
.toppick .label{display:inline-block;background:var(--vuur);color:#1b0b02;font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:999px}
.toppick h3{font-size:30px;margin-top:14px;color:var(--ster);text-transform:uppercase}
.toppick .specs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}
.toppick .specs div{background:rgba(244,230,194,.07);border-radius:10px;padding:10px;font-size:12px;color:var(--ster-zacht)}
.toppick .specs b{display:block;font-family:var(--f-mono);font-size:15px;color:var(--ster)}
.prijsregel{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:16px}
.prijsregel .nu,.prijsregel s{white-space:nowrap}
.prijsregel .nu{font-family:var(--f-mono);font-size:28px;font-weight:600;color:var(--ster)}
.prijsregel s{color:var(--ster-zacht);font-family:var(--f-mono);font-size:15px}
.prijsregel small{margin-left:auto;font-size:12.5px;color:var(--ster-zacht)}
.toppick .btn{width:100%}
/* bergen */
.bergen{position:absolute;left:0;right:0;bottom:-1px;z-index:2;height:150px;pointer-events:none}
.bergen svg{position:absolute;bottom:0;left:-5%;width:110%;height:100%}
@media (max-width:900px){
  .hero-inhoud{grid-template-columns:1fr;padding-block:84px 150px;gap:36px}
  .toppick{max-width:440px}
  .hero.open .flap-l{transform:translateX(-92%)}
  .hero.open .flap-r{transform:translateX(92%)}
}

/* topografische hoogtelijnen als diepte */
.topo{position:relative}
.topo::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.55;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='520' viewBox='0 0 520 520' fill='none' stroke='%232c4a3d' stroke-opacity='.11' stroke-width='1.2'%3E%3Cpath d='M-20 120C60 80 120 160 200 130s140-90 220-60 120 60 140 40'/%3E%3Cpath d='M-20 150C70 110 120 190 210 160s140-80 210-50 110 70 130 50'/%3E%3Cpath d='M-20 185C80 145 130 220 220 195s130-70 200-40 100 75 120 60'/%3E%3Cpath d='M-20 330c90-30 150 40 230 10s120-100 210-70 80 50 120 30'/%3E%3Cpath d='M-20 365c95-30 150 45 235 15s120-90 205-60 85 55 120 35'/%3E%3Cpath d='M-20 400c100-25 160 50 240 22s120-80 200-52 90 58 120 40'/%3E%3Cellipse cx='380' cy='460' rx='60' ry='26'/%3E%3Cellipse cx='380' cy='460' rx='96' ry='44'/%3E%3Cellipse cx='110' cy='40' rx='50' ry='20'/%3E%3C/svg%3E");
  background-size:520px 520px}
.topo>*{position:relative;z-index:1}

section{scroll-margin-top:80px}
.sectie{padding-block:96px}
.kop{display:grid;gap:14px;max-width:760px;margin-bottom:46px}
.kop .eyebrow{color:var(--vuur-donker)}
.kop h2{font-size:clamp(40px,5.4vw,70px);font-weight:800;text-transform:uppercase;color:var(--mos)}
.kop p{font-size:18px;color:var(--inkt-zacht);max-width:62ch}
@media (max-width:700px){.sectie{padding-block:68px}.kop{margin-bottom:32px}}

/* reveal: altijd zichtbaar in rust, alleen een zachte beweging */
.rv{transform:translateY(18px);transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.rv.in{transform:none}

/* FINDER */
.finder{background:var(--papier);border-radius:28px;box-shadow:0 1px 0 var(--lijn),0 40px 80px -50px rgba(22,33,29,.5);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);overflow:hidden;border:1px solid var(--lijn)}
.finder-vragen{padding:40px}
.stap{display:flex;gap:6px;margin-bottom:26px}
.stap i{flex:1;height:5px;border-radius:5px;background:var(--mist-2);overflow:hidden;position:relative}
.stap i.af::after{content:"";position:absolute;inset:0;background:var(--vuur);animation:vul .5s ease forwards;transform-origin:left}
@keyframes vul{from{transform:scaleX(0)}}
.vraag{border:0;margin:0 0 26px;padding:0}
.vraag legend{font-family:var(--f-display);font-size:26px;font-weight:700;text-transform:uppercase;color:var(--mos);margin-bottom:12px}
.keuzes{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.keuzes label{position:relative;cursor:pointer}
.keuzes input{position:absolute;opacity:0;pointer-events:none}
.keuzes span{display:flex;align-items:center;gap:10px;min-height:54px;padding:12px 14px;border:1.5px solid var(--lijn);border-radius:12px;font-weight:600;font-size:15px;background:var(--mist);transition:border-color .2s,background .2s,transform .2s}
.keuzes span svg{width:22px;height:22px;flex:none;color:var(--mos)}
.keuzes label:hover span{border-color:var(--mos)}
.keuzes input:checked+span{border-color:var(--vuur);background:#fff3ec;box-shadow:0 0 0 3px rgba(255,106,43,.18)}
.keuzes input:focus-visible+span{outline:3px solid var(--gloed);outline-offset:2px}
.finder-uitslag{position:relative;background:var(--nacht);color:var(--ster);padding:40px;display:flex;flex-direction:column;gap:18px;overflow:hidden;isolation:isolate}
.finder-uitslag::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--foto,url(../img/gloei.webp)) center/cover;opacity:.32;transition:opacity .5s}
.finder-uitslag::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(13,23,20,.35),rgba(13,23,20,.95) 70%)}
.finder-uitslag .eyebrow{color:var(--gloed)}
.finder-uitslag h3{font-size:clamp(34px,3.6vw,46px);text-transform:uppercase}
.finder-uitslag p.waarom{color:var(--ster-zacht)}
.match{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:13px;color:var(--nacht);background:var(--gloed);padding:5px 11px;border-radius:999px;align-self:flex-start}
.uitslag-specs{display:flex;flex-wrap:wrap;gap:8px}
.uitslag-specs span{font-family:var(--f-mono);font-size:13px;padding:6px 10px;border-radius:8px;background:rgba(244,230,194,.1);border:1px solid rgba(244,230,194,.16)}
.finder-uitslag .prijsregel{margin:6px 0 0}
.finder-uitslag .btn{align-self:flex-start}
.alternatief{font-size:14px;color:var(--ster-zacht)}
.alternatief a{color:var(--gloed);font-weight:600}
@media (max-width:900px){.finder{grid-template-columns:1fr}.finder-vragen,.finder-uitslag{padding:28px 22px}}

/* TOP 5 */
.top5{display:grid;gap:22px}
.tent{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr) minmax(0,.7fr);background:var(--papier);border:1px solid var(--lijn);border-radius:22px;overflow:hidden;transition:transform .3s,box-shadow .3s}
.tent:hover{transform:translateY(-3px);box-shadow:0 30px 60px -40px rgba(22,33,29,.55)}
.tent-foto{position:relative;min-height:240px;overflow:hidden}
.tent-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}
.tent:hover .tent-foto img{transform:scale(1.05)}
.rang{position:absolute;top:14px;left:14px;background:var(--nacht);color:var(--ster);font-family:var(--f-display);font-weight:800;font-size:30px;width:52px;height:52px;border-radius:14px;display:grid;place-items:center;line-height:1}
.badge{position:absolute;bottom:14px;left:14px;background:var(--vuur);color:#1b0b02;font-weight:700;font-size:12.5px;padding:6px 11px;border-radius:999px}
.tent-tekst{padding:28px 30px;display:flex;flex-direction:column;gap:12px;min-width:0}
.tent-tekst .tentsoort{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--vuur-donker);font-weight:600}
.tent-tekst h3{font-size:clamp(28px,2.8vw,36px);text-transform:uppercase;color:var(--mos)}
.tent-tekst p{color:var(--inkt-zacht)}
.pluspunten{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:6px;font-size:15.5px}
.pluspunten li{display:flex;gap:10px}
.pluspunten li::before{content:"";flex:none;width:18px;height:18px;margin-top:4px;border-radius:50%;background:var(--mos) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23eef1ea' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/11px no-repeat}
.pluspunten li.min::before{background:var(--mist-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a5a53' stroke-width='3.5' stroke-linecap='round'%3E%3Cpath d='M6 12h12'/%3E%3C/svg%3E") center/11px no-repeat}
.tent-koop{padding:28px 26px;border-left:1px dashed var(--lijn);display:flex;flex-direction:column;justify-content:center;gap:12px;background:linear-gradient(180deg,var(--papier),var(--mist))}
.tent-koop .prijs{font-family:var(--f-mono);font-size:30px;font-weight:600;color:var(--inkt);line-height:1}
.tent-koop .was{font-family:var(--f-mono);font-size:14px;color:var(--inkt-zacht)}
.tent-koop .bron{font-size:13px;color:var(--inkt-zacht)}
.tent-koop .btn{width:100%;padding:14px 18px}
.specrij{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.specrij span{font-family:var(--f-mono);font-size:12.5px;padding:5px 9px;border-radius:7px;background:var(--mist);border:1px solid var(--lijn);color:var(--inkt)}
@media (max-width:1000px){
  .tent{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
  .tent-koop{grid-column:1/-1;border-left:0;border-top:1px dashed var(--lijn);flex-direction:row;flex-wrap:wrap;align-items:center}
  .tent-koop .btn{width:auto;margin-left:auto}
}
@media (max-width:640px){
  .tent{grid-template-columns:1fr}
  .tent-foto{min-height:210px}
  .tent-tekst{padding:22px 20px}
  .tent-koop{padding:20px;flex-direction:column;align-items:stretch;gap:8px}
  .tent-koop .btn{width:100%;margin-left:0}
}

/* VERGELIJK */
.tabelbak{overflow-x:auto;border-radius:20px;border:1px solid var(--lijn);background:var(--papier);-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;min-width:820px;font-size:15px}
th,td{padding:16px 18px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--lijn)}
thead th{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--inkt-zacht);background:var(--mist);font-weight:600}
tbody th{font-family:var(--f-display);font-size:21px;text-transform:uppercase;color:var(--mos);font-weight:700;line-height:1.05;position:sticky;left:0;background:var(--papier);min-width:190px}
tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}
tbody tr:hover td,tbody tr:hover th{background:#f4f7f0}
td.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.ja{color:var(--mos);font-weight:700}
.nee{color:var(--inkt-zacht)}
td a.kort{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--vuur-donker);text-decoration:none;white-space:nowrap}
td a.kort:hover{text-decoration:underline}
.bijschrift{font-size:13.5px;color:var(--inkt-zacht);margin-top:14px}

/* ANATOMIE + WATERKOLOM */
.nachtband{background:var(--nacht);color:var(--ster);position:relative;overflow:hidden;isolation:isolate}
.nachtband::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;background:
  radial-gradient(1px 1px at 12% 22%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 34% 12%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 58% 30%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 78% 16%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 88% 40%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 22% 48%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 66% 8%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 46% 52%,#fff 50%,transparent 51%);background-size:420px 300px}
.nachtband .kop h2{color:var(--ster)}
.nachtband .kop p{color:var(--ster-zacht)}
.nachtband .kop .eyebrow{color:var(--gloed)}
.anatomie{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:40px;align-items:center}
.tentschets{position:relative;aspect-ratio:16/10;max-width:100%}
.tentschets svg{width:100%;height:100%;display:block}
.hotspot{position:absolute;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:50%;border:2px solid var(--gloed);background:rgba(13,23,20,.7);color:var(--ster);font-family:var(--f-mono);font-weight:600;font-size:13px;cursor:pointer;display:grid;place-items:center;transition:transform .2s,background .2s}
.hotspot::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:1px solid rgba(255,179,107,.5);animation:ring 2.4s infinite}
@keyframes ring{from{transform:scale(.7);opacity:1}to{transform:scale(1.4);opacity:0}}
.hotspot:hover,.hotspot[aria-pressed="true"]{background:var(--vuur);color:#1b0b02;transform:translate(-50%,-50%) scale(1.08);border-color:var(--vuur)}
.uitleg{background:rgba(244,230,194,.06);border:1px solid rgba(244,230,194,.14);border-radius:20px;padding:28px;min-height:260px}
.uitleg .eyebrow{color:var(--gloed)}
.uitleg h3{font-size:34px;text-transform:uppercase;margin:10px 0 12px}
.uitleg p{color:var(--ster-zacht)}
.uitleg .tip{margin-top:16px;padding:14px 16px;border-radius:12px;background:rgba(255,106,43,.12);border:1px solid rgba(255,106,43,.3);color:var(--ster);font-size:15px}
.kolom{margin-top:56px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px;align-items:center;background:rgba(244,230,194,.04);border:1px solid rgba(244,230,194,.12);border-radius:24px;padding:32px}
.kolom h3{font-size:clamp(30px,3vw,40px);text-transform:uppercase}
.kolom p{color:var(--ster-zacht);margin-top:10px}
.meter{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:center}
.buis{position:relative;width:64px;height:220px;border-radius:32px;border:2px solid rgba(244,230,194,.35);overflow:hidden;background:rgba(244,230,194,.05)}
.water{position:absolute;left:0;right:0;bottom:0;height:40%;background:linear-gradient(180deg,#7fc3d9,#2f7f9c);transition:height .35s}
.water::before{content:"";position:absolute;left:-20%;right:-20%;top:-8px;height:16px;border-radius:50%;background:#9fd6e6;animation:golf 3s ease-in-out infinite}
@keyframes golf{50%{transform:translateX(8%)}}
.meter-tekst{display:grid;gap:12px}
.meter-waarde{font-family:var(--f-mono);font-size:44px;font-weight:600;color:var(--ster);line-height:1}
.meter-waarde small{font-size:18px;color:var(--ster-zacht)}
.meter-oordeel{font-weight:700;font-size:19px;color:var(--gloed)}
.meter-tekst p{margin:0}
input[type=range]{width:100%;accent-color:var(--vuur);height:28px}
.schaal{display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:12px;color:var(--ster-zacht)}
@media (max-width:900px){.anatomie,.kolom{grid-template-columns:1fr}.kolom{padding:24px 20px}.uitleg{min-height:0}}
@media (max-width:520px){.hotspot{width:32px;height:32px;font-size:12px}}

/* SOORTEN */
.soorten{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.soort{position:relative;border-radius:20px;overflow:hidden;min-height:300px;color:var(--ster);text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;isolation:isolate}
.soort img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s}
.soort::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(13,23,20,0) 30%,rgba(13,23,20,.88))}
.soort:hover img{transform:scale(1.07)}
.soort h3{font-size:30px;text-transform:uppercase}
.soort p{font-size:14.5px;color:var(--ster-zacht);margin-top:6px}
.soort .pijl{position:absolute;top:18px;right:18px;width:42px;height:42px;border-radius:50%;background:rgba(244,230,194,.15);backdrop-filter:blur(8px);display:grid;place-items:center;transition:background .2s,transform .2s}
.soort:hover .pijl{background:var(--vuur);transform:rotate(-45deg)}
.soort .pijl svg{width:18px;height:18px}
.soort.groot{grid-column:span 3;min-height:380px}
.soort.mid{grid-column:span 2}
@media (max-width:1000px){.soorten{grid-template-columns:repeat(2,minmax(0,1fr))}.soort.groot,.soort.mid{grid-column:span 1;min-height:280px}}
@media (max-width:560px){.soorten{grid-template-columns:1fr}.soort,.soort.groot,.soort.mid{min-height:240px}}

/* GLAMPING */
.glamp{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);border-radius:28px;overflow:hidden;background:var(--nacht);color:var(--ster)}
.glamp-foto{position:relative;min-height:440px}
.glamp-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.glamp-foto .zwevend{position:absolute;right:20px;bottom:20px;left:20px;max-width:300px;margin-left:auto;background:rgba(13,23,20,.7);backdrop-filter:blur(10px);border:1px solid rgba(244,230,194,.18);border-radius:16px;padding:14px 16px;font-size:14px}
.glamp-foto .zwevend b{display:block;font-family:var(--f-display);font-size:22px;text-transform:uppercase}
.glamp-tekst{padding:48px;display:flex;flex-direction:column;gap:18px;justify-content:center}
.glamp-tekst .eyebrow{color:var(--gloed)}
.glamp-tekst h2{font-size:clamp(38px,4.4vw,58px);text-transform:uppercase}
.glamp-tekst p{color:var(--ster-zacht)}
.glamp-lijst{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.glamp-lijst li{background:rgba(244,230,194,.07);border-radius:12px;padding:12px 14px;font-size:15px}
.glamp-lijst b{display:block;color:var(--ster)}
.glamp-ctas{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:900px){.glamp{grid-template-columns:1fr}.glamp-foto{min-height:280px}.glamp-tekst{padding:30px 22px}}
@media (max-width:460px){.glamp-lijst{grid-template-columns:1fr}}

/* PAKLIJST */
.pak{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:32px;align-items:start}
.lijstkaart{background:var(--papier);border:1px solid var(--lijn);border-radius:24px;padding:28px}
.voortgang{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.balk{flex:1;height:10px;border-radius:10px;background:var(--mist-2);overflow:hidden}
.balk i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--mos),var(--vuur));transition:width .4s}
.voortgang .mono{font-size:14px;color:var(--inkt-zacht);white-space:nowrap}
.items{list-style:none;margin:0;padding:0;display:grid}
.items li{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px dashed var(--lijn)}
.items li:last-child{border-bottom:0}
.items input{width:22px;height:22px;accent-color:var(--mos);flex:none;cursor:pointer}
.items label{flex:1;min-width:0;cursor:pointer;font-weight:600}
.items label small{display:block;font-weight:500;color:var(--inkt-zacht);font-size:13.5px}
.items input:checked+label{text-decoration:line-through;color:var(--inkt-zacht)}
.items .koop{font-family:var(--f-mono);font-size:13px;font-weight:600;color:var(--vuur-donker);text-decoration:none;white-space:nowrap;padding:6px 10px;border-radius:8px;background:#fff1e9}
.items .koop:hover{background:var(--vuur);color:#1b0b02}
.mailkaart{position:sticky;top:96px;background:var(--mos);color:var(--mist);border-radius:24px;padding:30px;overflow:hidden;isolation:isolate}
.mailkaart::before{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,179,107,.35),transparent 70%);z-index:-1}
.mailkaart h3{font-size:34px;text-transform:uppercase;color:var(--mist)}
.mailkaart p{color:#cfdbd2;margin:10px 0 18px}
.mailkaart form{display:grid;gap:10px}
.mailkaart label{font-size:14px;font-weight:600}
.mailkaart input[type=email]{width:100%;font:inherit;font-size:16px;padding:14px 16px;border-radius:12px;border:1.5px solid rgba(238,241,234,.3);background:rgba(13,23,20,.35);color:var(--mist)}
.mailkaart input[type=email]::placeholder{color:#a9b9ae}
.mailkaart .klein{font-size:13px;color:#b9c8bd}
.mailkaart .bedankt{background:rgba(238,241,234,.12);padding:14px;border-radius:12px;font-weight:600}
@media (max-width:900px){.pak{grid-template-columns:1fr}.mailkaart{position:static}.lijstkaart{padding:20px}}

/* FAQ */
.faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:start}
.faq details{border-bottom:1px solid var(--lijn)}
.faq summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;font-weight:700;font-size:18.5px;position:relative;color:var(--inkt)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:14px;height:14px;margin-top:-9px;border-right:2.5px solid var(--vuur-donker);border-bottom:2.5px solid var(--vuur-donker);transform:rotate(45deg);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(225deg);margin-top:-3px}
.faq details p{padding:0 0 22px;color:var(--inkt-zacht);max-width:64ch}
@media (max-width:900px){.faq{grid-template-columns:1fr;gap:20px}}

/* FINALE */
.finale{position:relative;color:var(--ster);overflow:hidden;isolation:isolate;text-align:left}
.finale::before{content:"";position:absolute;inset:0;z-index:-2;background:url(../img/kampvuur.webp) center 60%/cover}
.finale::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(13,23,20,.94) 0%,rgba(13,23,20,.7) 50%,rgba(13,23,20,.25) 100%)}
.finale .wrap{padding-block:120px}
.finale h2{font-size:clamp(48px,7vw,100px);text-transform:uppercase;font-weight:900;max-width:12ch}
.finale h2 em{font-style:normal;color:var(--gloed)}
.finale p{color:var(--ster-zacht);font-size:19px;max-width:48ch;margin:20px 0 32px}
#vonken{position:absolute;inset:0;z-index:-1;pointer-events:none;width:100%;height:100%}

footer{background:var(--nacht);color:var(--ster-zacht);font-size:14.5px}
footer .wrap{padding-block:56px 40px;display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:36px}
footer h4{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ster);margin:0 0 14px}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
footer a{text-decoration:none;color:var(--ster-zacht)}
footer a:hover{color:var(--ster)}
footer .disc{grid-column:1/-1;border-top:1px solid rgba(244,230,194,.1);padding-top:22px;font-size:13px;line-height:1.6}
@media (max-width:800px){footer .wrap{grid-template-columns:1fr 1fr}footer .merk{grid-column:1/-1}}

/* sticky mobiele CTA */
.mobiel-cta{position:fixed;left:0;right:0;bottom:0;z-index:55;display:none;padding:12px var(--gutter-r) calc(12px + env(safe-area-inset-bottom,0px)) var(--gutter-l);background:rgba(13,23,20,.92);backdrop-filter:blur(12px);border-top:1px solid rgba(244,230,194,.12);transform:translateY(110%);transition:transform .35s}
.mobiel-cta.zichtbaar{transform:none}
.mobiel-cta .btn{width:100%}
@media (max-width:760px){.mobiel-cta{display:block}footer{padding-bottom:84px}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .hero-foto{transform:none}
  .rv{transform:none}
}


/* campings: extra componenten op het Rits open-systeem */
.zoeker{background:rgba(13,23,20,.62);border:1px solid rgba(244,230,194,.2);border-radius:22px;padding:24px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 30px 60px -30px rgba(0,0,0,.85);display:grid;gap:14px}
.zoeker h2{font-size:30px;text-transform:uppercase;color:var(--ster)}
.zoeker .rij{display:grid;gap:6px}
.zoeker label{font-size:13px;font-weight:600;color:var(--ster-zacht);letter-spacing:.02em}
.zoeker select{width:100%;font:inherit;font-size:16px;font-weight:600;color:var(--ster);background:rgba(244,230,194,.08) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffb36b' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 14px center/16px no-repeat;border:1px solid rgba(244,230,194,.22);border-radius:12px;padding:13px 40px 13px 14px;appearance:none;-webkit-appearance:none;cursor:pointer}
.zoeker select option{color:#16211d;background:#fbfcf8}
.zoeker .twee{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.zoeker .btn{width:100%}
.zoeker .noot{font-size:12.5px;color:var(--ster-zacht);display:flex;gap:8px;align-items:flex-start}
.zoeker .noot svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--gloed)}
@media (max-width:420px){.zoeker .twee{grid-template-columns:1fr}}

/* bestemmingen */
.landen{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.land{position:relative;grid-column:span 4;min-height:340px;border-radius:22px;overflow:hidden;color:var(--ster);text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;isolation:isolate}
.land.breed{grid-column:span 6;min-height:380px}
.land img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s}
.land::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(13,23,20,.05) 25%,rgba(13,23,20,.9))}
.land:hover img{transform:scale(1.06)}
.land .vlag{position:absolute;top:18px;left:18px;font-family:var(--f-mono);font-size:12px;font-weight:600;letter-spacing:.12em;background:rgba(13,23,20,.6);backdrop-filter:blur(8px);border:1px solid rgba(244,230,194,.2);padding:6px 10px;border-radius:999px}
.land h3{font-size:clamp(34px,3.4vw,46px);text-transform:uppercase}
.land .regio{font-size:14.5px;color:var(--ster-zacht);margin-top:4px}
.land .meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.land .meta span{font-size:12.5px;font-family:var(--f-mono);padding:5px 9px;border-radius:8px;background:rgba(244,230,194,.12);border:1px solid rgba(244,230,194,.16)}
.land .pijl{position:absolute;top:16px;right:16px;width:42px;height:42px;border-radius:50%;background:rgba(244,230,194,.15);backdrop-filter:blur(8px);display:grid;place-items:center;transition:background .2s,transform .2s}
.land:hover .pijl{background:var(--vuur);transform:rotate(-45deg)}
.land .pijl svg{width:18px;height:18px}
@media (max-width:1000px){.land,.land.breed{grid-column:span 6;min-height:300px}}
@media (max-width:620px){.land,.land.breed{grid-column:span 12;min-height:260px}}

/* partners */
.partners{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.partner{background:var(--papier);border:1px solid var(--lijn);border-radius:22px;padding:26px;display:flex;flex-direction:column;gap:12px}
.partner .wat{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--vuur-donker);font-weight:600}
.partner h3{font-size:30px;text-transform:uppercase;color:var(--mos)}
.partner p{color:var(--inkt-zacht);font-size:15.5px}
.partner .namen{display:flex;flex-wrap:wrap;gap:8px}
.partner .namen a{font-weight:700;font-size:14.5px;text-decoration:none;color:var(--inkt);border:1.5px solid var(--lijn);border-radius:999px;padding:8px 14px;transition:border-color .2s,background .2s}
.partner .namen a:hover{border-color:var(--vuur);background:#fff3ec}
.partner .ico{width:48px;height:48px;border-radius:14px;background:var(--mos);color:var(--mist);display:grid;place-items:center}
.partner .ico svg{width:24px;height:24px}
.partner.uitgelicht{background:var(--mos);color:var(--mist);border-color:transparent}
.partner.uitgelicht h3{color:var(--mist)}
.partner.uitgelicht p{color:#cfdbd2}
.partner.uitgelicht .wat{color:var(--gloed)}
.partner.uitgelicht .ico{background:var(--vuur);color:#1b0b02}
.partner.uitgelicht .namen a{color:var(--mist);border-color:rgba(238,241,234,.3)}
.partner.uitgelicht .namen a:hover{background:rgba(238,241,234,.12);border-color:var(--gloed)}
@media (max-width:960px){.partners{grid-template-columns:1fr}}

/* CampingCard calculator */
.calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.calc-in{display:grid;gap:22px}
.calc-in .veld{display:grid;gap:8px}
.calc-in .veld label{display:flex;justify-content:space-between;gap:12px;font-weight:600;color:var(--ster)}
.calc-in .veld label b{font-family:var(--f-mono);color:var(--gloed)}
.tarieven{display:flex;flex-wrap:wrap;gap:8px}
.tarieven button{font-family:var(--f-mono);font-weight:600;font-size:14px;color:var(--ster);background:rgba(244,230,194,.06);border:1px solid rgba(244,230,194,.2);border-radius:10px;padding:9px 12px;cursor:pointer}
.tarieven button[aria-pressed="true"]{background:var(--vuur);color:#1b0b02;border-color:var(--vuur)}
.bon{position:relative;background:var(--ster);color:var(--inkt);border-radius:18px;padding:28px 26px 24px;box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.bon::before,.bon::after{content:"";position:absolute;left:0;right:0;height:12px;background:radial-gradient(circle at 8px 0,transparent 7px,var(--ster) 7.5px) 0 0/16px 12px repeat-x}
.bon::before{top:-11px;transform:scaleY(-1)}
.bon::after{bottom:-11px}
.bon .eyebrow{color:var(--vuur-donker)}
.bon dl{margin:16px 0 0;display:grid;gap:10px}
.bon dl div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px dashed rgba(22,33,29,.2);padding-bottom:10px}
.bon dt{color:var(--inkt-zacht)}
.bon dd{margin:0;font-family:var(--f-mono);font-weight:600;font-variant-numeric:tabular-nums}
.bon .totaal{margin-top:16px;display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.bon .totaal span{font-family:var(--f-display);font-size:26px;text-transform:uppercase;color:var(--mos)}
.bon .totaal b{font-family:var(--f-mono);font-size:38px;color:var(--vuur-donker)}
.bon .klein{font-size:12.5px;color:var(--inkt-zacht);margin-top:12px}
.bon .btn{width:100%;margin-top:16px}
.inbegrepen{list-style:none;padding:0;margin:4px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;font-size:14.5px;color:var(--ster-zacht)}
.inbegrepen li{display:flex;gap:8px}
.inbegrepen li::before{content:"";flex:none;width:7px;height:7px;margin-top:9px;border-radius:50%;background:var(--gloed)}
@media (max-width:900px){.calc{grid-template-columns:1fr}.inbegrepen{grid-template-columns:1fr}}

/* tentenstrook */
.tentstrook{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.mini{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;align-items:center;background:var(--papier);border:1px solid var(--lijn);border-radius:18px;padding:14px;text-decoration:none;transition:transform .2s,box-shadow .2s}
.mini:hover{transform:translateY(-3px);box-shadow:0 20px 40px -30px rgba(22,33,29,.6)}
.mini img{width:110px;height:96px;object-fit:cover;border-radius:12px}
.mini b{display:block;font-family:var(--f-display);font-size:22px;text-transform:uppercase;color:var(--mos);line-height:1.05}
.mini small{display:block;color:var(--inkt-zacht);font-size:13.5px;margin-top:4px}
.mini .p{font-family:var(--f-mono);font-weight:600;color:var(--vuur-donker);margin-top:6px;display:block}
@media (max-width:960px){.tentstrook{grid-template-columns:1fr}}

.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}[hidden]{display:none!important}
/* ===== Subpagina's: zelfde Rits open-systeem, rustiger ===== */
.subhero{position:relative;background:var(--nacht);color:var(--ster);overflow:hidden;isolation:isolate}
.subhero .bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center 55%}
.subhero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(13,23,20,.62) 0%,rgba(13,23,20,.55) 45%,rgba(13,23,20,.94) 100%)}
.subhero .wrap{padding-block:64px 120px;display:grid;gap:18px}
.subhero h1{font-size:clamp(46px,7vw,96px);font-weight:900;text-transform:uppercase;color:var(--ster);text-shadow:0 4px 40px rgba(0,0,0,.45);max-width:16ch}
.subhero h1 em{font-style:normal;color:var(--gloed)}
.subhero .lead{font-size:clamp(17px,1.6vw,20px);color:var(--ster-zacht);max-width:60ch}
.subhero .bergen{height:110px}
.crumbs{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.06em;color:var(--ster-zacht)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 10px}
.crumbs li{display:flex;align-items:center;gap:10px}
.crumbs li+li::before{content:"/";color:rgba(244,230,194,.4)}
.crumbs a{color:var(--gloed);text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{font-family:var(--f-mono);font-size:12.5px;padding:6px 10px;border-radius:8px;background:rgba(244,230,194,.1);border:1px solid rgba(244,230,194,.18);color:var(--ster)}

/* kort antwoord: answer capsule voor lezers en AI */
.capsule{background:var(--papier);border:1px solid var(--lijn);border-left:0;border-radius:20px;padding:24px 26px;display:grid;gap:10px;box-shadow:0 30px 60px -45px rgba(22,33,29,.6);position:relative;overflow:hidden}
.capsule::before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(var(--vuur),var(--gloed))}
.capsule .eyebrow{color:var(--vuur-donker)}
.capsule p{font-size:18.5px;line-height:1.55;color:var(--inkt)}
.capsule .bijgewerkt{font-size:13px;color:var(--inkt-zacht)}
.capsule-plek{margin-top:-64px;position:relative;z-index:4}

/* twee kolommen met vaste boekkaart */
.indeling{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;align-items:start;padding-block:56px 96px}
.indeling>.prose{min-width:0}
.zijkaart{position:sticky;top:96px;display:grid;gap:16px}
.boekkaart{background:var(--nacht);color:var(--ster);border-radius:22px;padding:24px;display:grid;gap:14px;overflow:hidden;position:relative;isolation:isolate}
.boekkaart::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(120% 80% at 100% 0,rgba(255,106,43,.28),transparent 60%)}
.boekkaart h2,.boekkaart h3{font-size:28px;text-transform:uppercase;color:var(--ster)}
.boekkaart p{color:var(--ster-zacht);font-size:15px}
.boekkaart .btn{width:100%}
.boekkaart .klein{font-size:12.5px;color:var(--ster-zacht)}
.inhoudsopgave{background:var(--papier);border:1px solid var(--lijn);border-radius:18px;padding:18px 20px}
.inhoudsopgave b{display:block;font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--inkt-zacht);margin-bottom:8px}
.inhoudsopgave ol{margin:0;padding-left:18px;display:grid;gap:6px;font-size:15px}
.inhoudsopgave a{color:var(--mos);text-decoration:none;font-weight:600}
.inhoudsopgave a:hover{color:var(--vuur-donker)}
@media (max-width:980px){.indeling{grid-template-columns:1fr;gap:28px}.zijkaart{position:static;order:-1}.inhoudsopgave{display:none}}

/* leesvlak */
.prose{font-size:18px;line-height:1.7;color:var(--inkt)}
.prose>*+*{margin-top:1.05em}
.prose h2{font-size:clamp(32px,3.4vw,44px);text-transform:uppercase;color:var(--mos);margin-top:1.9em;scroll-margin-top:96px}
.prose h3{font-size:26px;text-transform:uppercase;color:var(--mos);margin-top:1.5em}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{max-width:68ch}
.prose a{color:var(--vuur-donker);font-weight:600;text-decoration-thickness:1.5px;text-underline-offset:3px}
.prose a.btn{color:#1b0b02;text-decoration:none}
.prose ul,.prose ol{padding-left:22px}
.prose li+li{margin-top:.4em}
.prose strong{color:var(--inkt)}
.prose table{width:100%;border-collapse:collapse;font-size:15.5px;min-width:520px}
.prose .tabelbak{overflow-x:auto;border-radius:16px;border:1px solid var(--lijn);background:var(--papier)}
.prose th,.prose td{padding:12px 14px;border-bottom:1px solid var(--lijn);text-align:left;vertical-align:top}
.prose thead th{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--inkt-zacht);background:var(--mist)}
.prose tbody th{font-family:var(--f-body);font-size:15.5px;font-weight:700;color:var(--inkt);position:static;min-width:0;background:transparent;text-transform:none}
.prose tr:last-child>*{border-bottom:0}

/* feiten */
.feiten{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:1.4em 0}
.feiten div{background:var(--papier);border:1px solid var(--lijn);border-radius:14px;padding:14px 16px}
.feiten dt{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--inkt-zacht)}
.feiten dd{margin:4px 0 0;font-weight:700;font-size:17px;color:var(--inkt)}
.pluscontra{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pluscontra>div{background:var(--papier);border:1px solid var(--lijn);border-radius:16px;padding:18px 20px}
.pluscontra h3{margin:0 0 10px;font-size:22px}
.pluscontra ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;font-size:16px}
.pluscontra li{display:flex;gap:10px}
.pluscontra .plus li::before{content:"+";flex:none;width:22px;height:22px;border-radius:50%;background:var(--mos);color:var(--mist);display:grid;place-items:center;font-weight:800;font-size:15px;line-height:1}
.pluscontra .min li::before{content:"−";flex:none;width:22px;height:22px;border-radius:50%;background:var(--mist-2);color:var(--inkt-zacht);display:grid;place-items:center;font-weight:800;font-size:15px;line-height:1}
@media (max-width:640px){.pluscontra{grid-template-columns:1fr}}

/* regio's */
.regio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:1.2em 0}
.regio-grid div{background:var(--papier);border:1px solid var(--lijn);border-radius:16px;padding:18px 20px}
.regio-grid h3{margin:0 0 6px;font-size:24px}
.regio-grid p{font-size:16px;color:var(--inkt-zacht);margin:0}
@media (max-width:640px){.regio-grid{grid-template-columns:1fr}}

/* inline CTA in tekst */
.cta-strook{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;background:var(--mos);color:var(--mist);border-radius:18px;padding:20px 22px;margin:1.6em 0}
.cta-strook p{margin:0;font-weight:600;max-width:46ch;color:var(--mist)}
.cta-strook .btn{flex:none}

/* camping-kaarten op landpagina's */
.kaartjes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:1.2em 0}
.kaartje{display:grid;grid-template-rows:180px auto;background:var(--papier);border:1px solid var(--lijn);border-radius:18px;overflow:hidden;text-decoration:none;color:var(--inkt);transition:transform .2s,box-shadow .2s}
.kaartje:hover{transform:translateY(-3px);box-shadow:0 24px 40px -30px rgba(22,33,29,.6)}
.kaartje img{width:100%;height:100%;object-fit:cover}
.kaartje div{padding:16px 18px;display:grid;gap:6px}
.kaartje b{font-family:var(--f-display);font-size:24px;text-transform:uppercase;color:var(--mos);line-height:1.05}
.kaartje small{color:var(--inkt-zacht);font-size:14px}
.prose .kaartje{font-weight:400}
@media (max-width:640px){.kaartjes{grid-template-columns:1fr}}

/* FAQ op subpagina's */
.faq-lijst details{border-bottom:1px solid var(--lijn)}
.faq-lijst summary{list-style:none;cursor:pointer;padding:18px 40px 18px 0;font-weight:700;font-size:18px;position:relative}
.faq-lijst summary::-webkit-details-marker{display:none}
.faq-lijst summary::after{content:"";position:absolute;right:6px;top:50%;width:12px;height:12px;margin-top:-8px;border-right:2.5px solid var(--vuur-donker);border-bottom:2.5px solid var(--vuur-donker);transform:rotate(45deg);transition:transform .25s}
.faq-lijst details[open] summary::after{transform:rotate(225deg);margin-top:-2px}
.faq-lijst details p{padding:0 0 18px;color:var(--inkt-zacht);margin:0}

/* gerelateerd */
.verder{background:var(--mist-2);padding-block:72px}
.verder h2{font-size:clamp(34px,4vw,52px);text-transform:uppercase;color:var(--mos);margin-bottom:24px}

/* blog */
.postlijst{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-block:56px 96px}
.post-kaart{background:var(--papier);border:1px solid var(--lijn);border-radius:18px;overflow:hidden;text-decoration:none;color:var(--inkt);display:grid}
.post-kaart img{width:100%;aspect-ratio:16/10;object-fit:cover}
.post-kaart div{padding:18px;display:grid;gap:8px}
.post-kaart b{font-family:var(--f-display);font-size:26px;text-transform:uppercase;color:var(--mos);line-height:1.05}
.post-kaart small{color:var(--inkt-zacht)}
@media (max-width:900px){.postlijst{grid-template-columns:1fr}}
.leeg{padding-block:56px 96px;font-size:18px;color:var(--inkt-zacht)}

/* cookiemelding */
.cookies{position:fixed;left:max(16px,env(safe-area-inset-left,0px));right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:70;max-width:560px;background:var(--papier);color:var(--inkt);border:1px solid var(--lijn);border-radius:18px;padding:18px 20px;box-shadow:0 30px 60px -20px rgba(0,0,0,.45);display:grid;gap:12px;font-size:15px}
.cookies b{font-family:var(--f-display);font-size:22px;text-transform:uppercase;color:var(--mos)}
.cookies .knoppen{display:flex;flex-wrap:wrap;gap:10px}
.cookies .btn{padding:11px 18px;font-size:15px}
.cookies a{color:var(--vuur-donker)}

.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--vuur);color:#1b0b02;padding:10px 14px;border-radius:10px;font-weight:700}
.skip:focus{left:12px}
.nav-links .current-menu-item>a,.nav-links .current_page_item>a{color:var(--ster)}
.nav-links li{position:relative}
.prose a.btn-lijn{color:var(--mos)}
.prose a.btn-lijn:hover{color:var(--mist)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tent-koop .btn-lijn{width:100%}

/* ===== Landingspagina (conversie) ===== */
.lp-hero{position:relative;background:var(--nacht);color:var(--ster);overflow:hidden;isolation:isolate}
.lp-hero .bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center 55%;transform:scale(1.06);animation:inzoom 9s ease-out forwards}
.lp-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(13,23,20,.94) 0%,rgba(13,23,20,.78) 45%,rgba(13,23,20,.35) 100%),linear-gradient(180deg,transparent 60%,rgba(13,23,20,.9))}
.lp-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:40px;align-items:end;padding-block:56px 130px}
.lp-hero h1{font-size:clamp(44px,6.4vw,88px);font-weight:900;text-transform:uppercase;color:var(--ster);margin-top:12px;max-width:15ch}
.lp-hero .lead{font-size:clamp(17px,1.6vw,20px);color:var(--ster-zacht);max-width:58ch;margin-top:16px}
.lp-kicker{display:inline-block;color:var(--gloed);margin-top:18px}
.lp-voordelen{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px;max-width:56ch}
.lp-voordelen li{display:flex;gap:12px;align-items:flex-start;font-weight:600;font-size:17px}
.lp-voordelen li::before{content:"";flex:none;width:22px;height:22px;margin-top:2px;border-radius:50%;background:var(--vuur) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b0b02' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/13px no-repeat}
.lp-vertrouwen{display:flex;align-items:center;gap:8px;margin-top:20px;font-size:14px;color:var(--ster-zacht)}
.lp-vertrouwen svg{width:18px;height:18px;color:var(--gloed);flex:none}
.lp-antwoord{background:rgba(13,23,20,.62);border:1px solid rgba(244,230,194,.2);border-radius:20px;padding:24px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.lp-antwoord .eyebrow{color:var(--gloed)}
.lp-antwoord p{margin-top:10px;font-size:17px;line-height:1.6;color:var(--ster)}
.lp-stappen-band{background:var(--mist);padding-block:8px 0}
.lp-stappen{list-style:none;margin:-48px 0 0;padding:0;position:relative;z-index:4;display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:12px;counter-reset:s}
.lp-stappen li{display:flex;align-items:center;gap:14px;background:var(--papier);border:1px solid var(--lijn);border-radius:16px;padding:18px 20px;box-shadow:0 24px 40px -32px rgba(22,33,29,.6);font-weight:700;color:var(--inkt)}
.lp-stappen .nr{flex:none;width:40px;height:40px;border-radius:12px;background:var(--nacht);color:var(--gloed);display:grid;place-items:center;font-family:var(--f-display);font-size:24px;font-weight:800}
.lp-waarom{background:var(--mist-2);padding-block:80px}
.lp-waarom .partner .ico svg{width:24px;height:24px}
@media (max-width:900px){.lp-hero-grid{grid-template-columns:1fr;padding-block:40px 110px}.lp-stappen{grid-template-columns:1fr;margin-top:-36px}}

/* ===== Blogoverzicht ===== */
.blog-hero .wrap{padding-block:56px 110px}
.onderwerpen{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.onderwerpen a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:600;font-size:15px;color:var(--ster);padding:9px 14px;border-radius:999px;background:rgba(244,230,194,.08);border:1px solid rgba(244,230,194,.22);transition:background .2s,border-color .2s}
.onderwerpen a span{font-family:var(--f-mono);font-size:12px;color:var(--ster-zacht)}
.onderwerpen a:hover{background:rgba(244,230,194,.16)}
.onderwerpen a[aria-current="page"]{background:var(--vuur);color:#1b0b02;border-color:var(--vuur)}
.onderwerpen a[aria-current="page"] span{color:#1b0b02}
.blog-main{padding-block:48px 80px}
.blog-raster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.blog-raster.drie{margin-top:8px}
.post-kaart{display:flex;flex-direction:column;background:var(--papier);border:1px solid var(--lijn);border-radius:20px;overflow:hidden;transition:transform .25s,box-shadow .25s;min-width:0}
.post-kaart:hover{transform:translateY(-3px);box-shadow:0 26px 50px -36px rgba(22,33,29,.6)}
.post-beeld{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--mist-2)}
.post-beeld img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.post-kaart:hover .post-beeld img{transform:scale(1.05)}
.post-tekst{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-family:var(--f-mono);font-size:12px;color:var(--inkt-zacht);letter-spacing:.04em}
.post-cat{color:var(--vuur-donker);text-decoration:none;font-weight:600;text-transform:uppercase;letter-spacing:.1em}
.post-kaart h2{font-size:clamp(24px,2.2vw,30px);text-transform:uppercase;line-height:1.02}
.post-kaart h2 a{color:var(--mos);text-decoration:none}
.post-kaart h2 a:hover{color:var(--vuur-donker)}
.post-kaart p{color:var(--inkt-zacht);font-size:15.5px}
.post-kaart .lees{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--vuur-donker);text-decoration:none;font-size:15px}
.post-kaart .lees svg{width:16px;height:16px;transition:transform .2s}
.post-kaart:hover .lees svg{transform:translateX(3px)}
.post-kaart.groot{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
.post-kaart.groot .post-beeld{aspect-ratio:auto;min-height:340px}
.post-kaart.groot .post-tekst{padding:36px;justify-content:center}
.post-kaart.groot h2{font-size:clamp(32px,3.4vw,48px)}
.post-kaart.groot p{font-size:17px}
.blog-cta{background:var(--nacht);color:var(--ster);border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:12px;justify-content:center;position:relative;overflow:hidden;isolation:isolate}
.blog-cta::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(120% 80% at 100% 0,rgba(255,106,43,.3),transparent 60%)}
.blog-cta .eyebrow{color:var(--gloed)}
.blog-cta b{font-family:var(--f-display);font-size:34px;text-transform:uppercase;line-height:1;color:var(--ster)}
.blog-cta p{color:var(--ster-zacht)}
.blog-cta .btn{align-self:flex-start}
.paginering{margin-top:36px}
.paginering .nav-links{position:static;display:flex!important;flex-direction:row;flex-wrap:wrap;gap:8px;background:none;padding:0;border:0}
.paginering .page-numbers{display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0 14px;border-radius:12px;background:var(--papier);border:1px solid var(--lijn);text-decoration:none;font-weight:700;color:var(--inkt)}
.paginering .page-numbers.current{background:var(--nacht);color:var(--ster);border-color:var(--nacht)}
@media (max-width:1000px){.blog-raster{grid-template-columns:repeat(2,minmax(0,1fr))}.post-kaart.groot{grid-template-columns:1fr}.post-kaart.groot .post-beeld{min-height:240px}.post-kaart.groot .post-tekst{padding:24px}}
@media (max-width:640px){.blog-raster{grid-template-columns:1fr}}

/* mailband */
.mailband{background:var(--mos);color:var(--mist)}
.mailband-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:32px;align-items:center;padding-block:56px}
.mailband .eyebrow{color:var(--gloed)}
.mailband h2{font-size:clamp(34px,4vw,52px);text-transform:uppercase;color:var(--mist);margin-top:8px}
.mailband p{color:#cfdbd2;margin-top:10px;max-width:52ch}
.mailband form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.mailband input[type=email]{width:100%;font:inherit;font-size:16px;padding:15px 16px;border-radius:12px;border:1.5px solid rgba(238,241,234,.3);background:rgba(13,23,20,.35);color:var(--mist)}
.mailband input[type=email]::placeholder{color:#a9b9ae}
.mailband .bedankt{grid-column:1/-1;background:rgba(238,241,234,.12);padding:12px 14px;border-radius:12px;font-weight:600}
@media (max-width:820px){.mailband-in{grid-template-columns:1fr}.mailband form{grid-template-columns:1fr}}

/* ===== Enkel bericht ===== */
.leesvoortgang{position:fixed;left:0;right:0;top:env(safe-area-inset-top,0px);height:3px;z-index:60;background:transparent;pointer-events:none}
.leesvoortgang i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gloed),var(--vuur))}
.post-hero .wrap{padding-block:56px 120px}
.post-hero h1{font-size:clamp(40px,5.6vw,76px);max-width:20ch}
.post-byline{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--ster-zacht);line-height:1.45}
.post-byline .avatar{flex:none;width:44px;height:44px;border-radius:50%;background:rgba(244,230,194,.1);border:1px solid rgba(244,230,194,.25);display:grid;place-items:center}
.post-byline .avatar svg{width:24px;height:24px}
.post-voet{margin-top:2.4em;padding-top:1.2em;border-top:1px dashed var(--lijn);font-size:15px;color:var(--inkt-zacht)}
.post-voet .tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.post-voet .tags a{font-family:var(--f-mono);font-size:12.5px;padding:5px 10px;border-radius:8px;background:var(--papier);border:1px solid var(--lijn);text-decoration:none;color:var(--inkt)}
.prose img{border-radius:16px;height:auto}
.prose figure{margin:1.4em 0}
.prose figcaption{font-size:14px;color:var(--inkt-zacht);margin-top:8px}
.prose blockquote{margin:1.4em 0;padding:4px 0 4px 20px;border-left:4px solid var(--gloed);font-size:19px;color:var(--inkt)}
.tipblok{background:#fff6ee;border:1px solid rgba(217,79,20,.25);border-radius:16px;padding:18px 20px;margin:1.4em 0}
.tipblok b{display:block;font-family:var(--f-display);font-size:22px;text-transform:uppercase;color:var(--vuur-donker);margin-bottom:4px}
.tipblok p{margin:0}
.tekstkaart{display:grid;grid-template-columns:200px minmax(0,1fr);gap:18px;background:var(--papier);border:1px solid var(--lijn);border-radius:18px;padding:14px;margin:1.4em 0;align-items:center}
.tekstkaart img{width:100%;height:100%;min-height:150px;object-fit:cover;border-radius:12px}
.tekstkaart b{display:block;font-family:var(--f-display);font-size:28px;text-transform:uppercase;color:var(--mos);line-height:1.05;margin:4px 0}
.tekstkaart .eyebrow{color:var(--vuur-donker)}
.tekstkaart p{font-size:16px;color:var(--inkt-zacht);margin:0 0 12px}
.tekstkaart .knoppen{display:flex;flex-wrap:wrap;gap:10px}
.tekstkaart .btn{padding:11px 18px;font-size:15px}
@media (max-width:640px){.tekstkaart{grid-template-columns:1fr}.tekstkaart img{min-height:180px}}
.prose .inhoudsopgave-in{display:none}
.post-kaart .post-meta{padding:0;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}
.cta-strook strong,.prose .cta-strook strong{color:var(--gloed)}
.prose code{white-space:normal;overflow-wrap:anywhere;font-family:var(--f-mono);font-size:.9em;background:var(--papier);border:1px solid var(--lijn);border-radius:6px;padding:1px 6px}.prose pre{overflow-x:auto;max-width:100%}
