/* Lettertypen zelf gehost (Atkinson Hyperlegible, Fraunces) */
@font-face{font-family:'Atkinson Hyperlegible';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/atkinson-hyperlegible-400-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Atkinson Hyperlegible';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/atkinson-hyperlegible-400-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/atkinson-hyperlegible-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/atkinson-hyperlegible-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/atkinson-hyperlegible-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/atkinson-hyperlegible-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:600 700;font-display:swap;src:url(/assets/fonts/fraunces-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:600 700;font-display:swap;src:url(/assets/fonts/fraunces-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* Boatrental Giethoorn — site stylesheet (geen framework, ~14 KB) */
:root{
  --navy:#1b2a4a;--navy-2:#243a66;--ink:#1d2433;--muted:#5b6474;--line:#e3e8ef;
  --orange:#e17000;--orange-2:#c76200;--sky:#eef5fa;--sky-2:#dbe9f3;--water:#2f6fb5;--cream:#fff2e6;--orange-soft:#fff2e6;--blue:#006ca2;--green:#2e7d4f;--gold:#b8892e;
  --white:#fff;--star:#f5b301;
  --t-fast:.16s;--t-base:.26s;--t-slow:.48s;--t-xslow:.8s;--ease:cubic-bezier(.2,.7,.2,1);--radius:18px;--radius-s:10px;--shadow:0 10px 30px rgba(27,42,74,.10);--shadow-s:0 2px 8px rgba(27,42,74,.08);
  --font-body:"Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-head:"Fraunces","Georgia",serif;
  --wrap:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--white);line-height:1.6;font-size:17px}
img{max-width:100%;height:auto;display:block}
a{color:var(--water)}
h1,h2,h3,h4{font-family:var(--font-head);font-weight:700;line-height:1.12;margin:0 0 .5em;color:var(--navy);letter-spacing:-.01em}
h1{letter-spacing:-.024em;line-height:1.04}h2{letter-spacing:-.018em;line-height:1.1}h3{letter-spacing:-.008em;line-height:1.2}h4{letter-spacing:0;line-height:1.3}h1,h2,h3{font-optical-sizing:auto;text-wrap:balance}
h1{font-size:clamp(2.2rem,5vw,3.6rem)}
h2{font-size:clamp(1.7rem,3.4vw,2.5rem)}
h3{font-size:1.35rem}
h4{font-size:1.1rem;font-family:var(--font-body)}
p{margin:0 0 1em}
ul{margin:0 0 1em;padding-left:1.2em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.section{padding:72px 0}
.section-tight{padding:44px 0}
.bg-sky{background:var(--sky)}
.bg-navy{background:var(--navy);color:#fff}
.bg-navy h2,.bg-navy h3{color:#fff}
.bg-cream{background:var(--cream)}
.lead{font-size:1.15rem;color:var(--muted);max-width:720px}
.center{text-align:center}
.center .lead{margin-inline:auto}
.eyebrow{display:inline-block;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#a04c00;margin-bottom:.6em}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:8px;z-index:999}
.skip:focus{left:8px}
/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.5em;padding:.85em 1.45em;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid transparent;cursor:pointer;font-size:1rem;line-height:1.1;transition:transform var(--t-fast),box-shadow var(--t-fast),background var(--t-fast);font-family:var(--font-body)}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-s)}
.btn-primary{background:var(--orange);color:#fff}
.btn-primary:hover{background:var(--orange-2)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-2)}
.btn-outline{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-outline:hover{background:var(--navy);color:#fff}
.btn-light{background:#fff;color:var(--navy)}
.btn-ghost{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.5);backdrop-filter:blur(4px)}
.btn-ghost:hover{background:rgba(255,255,255,.25)}
.btn-sm{padding:.6em 1.1em;font-size:.92rem}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
/* Header */
/* USP-ticker (oranje balk onder de header, schuift van rechts naar links) */
.ticker{background:#b85a00;color:#fff;font-weight:700;font-size:.9rem;overflow:hidden;white-space:nowrap}
.ticker-track{display:flex;width:max-content;animation:ticker 38s linear infinite}
.ticker-set{display:flex;flex-shrink:0}
.ticker span{display:inline-block;padding:9px 26px 9px 0}
.ticker span::before{content:"✓";margin-right:8px}
.ticker span[hidden]{display:none}
.ticker:hover .ticker-track{animation-play-state:paused}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-25%)}}
@media (max-width:700px){.ticker{font-size:.85rem}.ticker span{padding:8px 20px 8px 0}.ticker-track{animation-duration:26s}}
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);box-shadow:0 1px 0 rgba(27,42,74,.06),0 10px 24px -20px rgba(27,42,74,.45)}
.header .wrap{display:flex;align-items:center;gap:20px;min-height:76px}
.logo{display:flex;align-items:center;text-decoration:none;color:var(--navy);flex-shrink:0}
.logo img{height:54px;width:auto}
.nav{margin-left:auto;display:flex;align-items:center;gap:6px}
.nav-close{display:none}
@media (max-width:1000px){.nav.open .nav-close{display:flex}}
.nav a{color:var(--navy);text-decoration:none;font-weight:700;padding:10px 12px;border-radius:8px;font-size:.98rem}
.nav a:hover,.nav a[aria-current=page]{background:var(--sky)}
.lang{position:relative}
.lang summary{list-style:none;cursor:pointer;font-weight:700;padding:8px 12px;border:1px solid var(--line);border-radius:999px;font-size:.9rem;display:flex;align-items:center;gap:6px}
.lang summary::-webkit-details-marker{display:none}
.lang ul{position:absolute;right:0;top:110%;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);list-style:none;padding:6px;margin:0;min-width:150px;z-index:60}
.lang li a{display:block;padding:8px 12px;border-radius:8px;text-decoration:none;color:var(--navy);font-weight:600}
.lang li a:hover{background:var(--sky)}
.nav-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:1.4rem;line-height:1;cursor:pointer;color:var(--navy)}
.header .btn-primary{margin-left:6px}
@media (max-width:1000px){
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;align-items:stretch;padding:12px 16px 20px;border-bottom:1px solid var(--line);box-shadow:var(--shadow);max-height:calc(100vh - 64px);overflow-y:auto}
  .nav.open{display:flex}
  .nav a{padding:12px}
  .nav-toggle{display:block}
  .header .btn-primary{display:none}
}
/* Hero */
.hero{position:relative;min-height:min(78vh,720px);display:grid;align-items:end;color:#fff;isolation:isolate;overflow:hidden}
.hero picture,.hero img,.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero picture{z-index:-3}
.hero video{z-index:-2;opacity:0;transition:opacity var(--t-xslow)}
.hero video.playing{opacity:1}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(27,42,74,.15) 0%,rgba(27,42,74,.25) 40%,rgba(27,42,74,.82) 100%);z-index:-1}
.hero .wrap{padding-top:120px;padding-bottom:64px}
.hero h1{color:#fff;max-width:14ch;text-shadow:0 2px 20px rgba(0,0,0,.25)}
.hero .sub{font-size:1.2rem;max-width:620px;margin-bottom:24px;color:#fff;opacity:.95}
.hero .eyebrow{color:#ffd8ad}
.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.hero-badges span{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(6px);padding:7px 13px;border-radius:999px;font-size:.9rem;font-weight:600}
.hero-sub{min-height:44vh}
.hero-sub .wrap{padding-top:90px;padding-bottom:48px}
.rating{display:inline-flex;align-items:center;gap:8px;font-weight:700}
.rating .stars{color:var(--star);letter-spacing:1px;font-size:1.1em}
/* Booking bar */
.bookbar{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);margin:-40px auto 0;position:relative;z-index:2;padding:18px 22px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
.bookbar strong{font-size:1.05rem;color:var(--navy)}
.bookbar .tabs{display:flex;flex-wrap:wrap;gap:8px}
.bookbar .tabs a{text-decoration:none;color:var(--navy);font-weight:700;padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:var(--sky)}
.bookbar .tabs a:hover{border-color:var(--navy)}
/* Cards */
.grid{display:grid;gap:24px}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.grid-4{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.grid-5{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-s);border:1px solid var(--line);display:flex;flex-direction:column;transition:transform var(--t-fast),box-shadow var(--t-fast);position:relative}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.card img{aspect-ratio:4/3;object-fit:cover;width:100%}
.card .body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.card h3{margin-bottom:.35em}
.card .kicker{font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;color:var(--water);font-weight:700;margin-bottom:.4em}
.card ul{padding-left:0;list-style:none;margin:10px 0 16px;font-size:.95rem;color:var(--muted)}
.card li{padding-left:1.4em;position:relative;margin:.25em 0}
.card li::before{content:"✓";position:absolute;left:0;color:var(--orange);font-weight:700}
.card .foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:6px}
.price{font-family:var(--font-head);font-size:1.5rem;color:var(--navy);font-weight:700;line-height:1}
.price small{display:block;font-family:var(--font-body);font-size:.75rem;color:var(--muted);font-weight:400;margin-bottom:2px}
.badge{position:absolute;top:14px;right:0;background:var(--orange);color:#fff;font-weight:700;font-size:.78rem;padding:6px 14px 6px 16px;border-radius:999px 0 0 999px;letter-spacing:.04em;z-index:1;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.badge-vip{background:var(--gold)}
.cap{display:inline-flex;align-items:center;gap:6px;background:var(--sky);color:var(--navy);padding:4px 10px;border-radius:999px;font-size:.82rem;font-weight:700}
/* Feature split */
.split{display:grid;gap:44px;align-items:center;grid-template-columns:1fr 1fr}
.split img{border-radius:var(--radius);box-shadow:var(--shadow);aspect-ratio:5/4;object-fit:cover;width:100%}
.split.rev>:first-child{order:2}
@media (max-width:860px){.split{grid-template-columns:1fr}.split.rev>:first-child{order:0}}
.checks{list-style:none;padding:0;margin:0 0 1.2em;columns:2;column-gap:24px}
.checks li{padding-left:1.6em;position:relative;margin:.3em 0;break-inside:avoid}
.checks li::before{content:"✓";position:absolute;left:0;color:var(--orange);font-weight:700}
@media (max-width:600px){.checks{columns:1}}
/* USP strip */
.usp-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:18px}
.usp{display:flex;gap:12px;align-items:flex-start}
.usp .ic{width:56px;height:56px;border-radius:50%;background:var(--orange-soft);display:grid;place-items:center;font-size:1.35rem;flex-shrink:0;position:relative;color:#c96300}
.usp .ic::after{content:"✓";position:absolute;right:-3px;bottom:-3px;width:20px;height:20px;border-radius:50%;background:var(--orange);color:#fff;font-size:.75rem;font-weight:700;display:grid;place-items:center;border:2px solid #fff}
.bg-cream .usp .ic{background:#fff}
.usp strong{display:block;color:var(--navy)}
.usp span{font-size:.9rem;color:var(--muted)}
/* Banners */
.banner{border-radius:var(--radius);padding:36px;display:grid;gap:18px;align-items:center;grid-template-columns:1fr auto;position:relative;overflow:hidden;color:#fff;min-height:200px;isolation:isolate}
.banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.banner::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,42,74,.92),rgba(27,42,74,.55));z-index:-1}
.banner h3{color:#fff;font-size:1.6rem}
.banner p{margin:0;max-width:52ch;opacity:.95}
.banner .btn{white-space:nowrap}
@media (max-width:700px){.banner{grid-template-columns:1fr}}
/* Reviews */
.review-head{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;margin-bottom:22px}
.score{display:flex;align-items:center;gap:16px}
.score .big{font-family:var(--font-head);font-size:3.2rem;color:var(--navy);line-height:1}
/* FAQ */
.faq details{border-bottom:1px solid var(--line);padding:6px 0}
.faq summary{cursor:pointer;font-weight:700;padding:12px 32px 12px 0;position:relative;list-style:none;color:var(--navy);font-size:1.05rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:8px;font-size:1.5rem;color:var(--orange);transition:transform var(--t-fast)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--muted);margin:0 0 14px}
.faq h3{margin-top:34px}
/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:36px}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
.contact-list{list-style:none;padding:0;margin:0}
.contact-list li{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.contact-list .ic{font-size:1.4rem}
.contact-list a{color:var(--navy);font-weight:700;text-decoration:none}
.map{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);min-height:360px;background:var(--sky)}
.map iframe{width:100%;height:100%;min-height:360px;border:0;display:block}
/* Gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gallery img{aspect-ratio:1;object-fit:cover;border-radius:12px;width:100%}
.gallery img:nth-child(1){grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
@media (max-width:700px){.gallery{grid-template-columns:repeat(2,1fr)}}
/* Prose */
.prose{max-width:760px}
.prose h2{margin-top:1.6em}
.prose h3{margin-top:1.3em}
/* Season cards */
.seasons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.season{background:#fff;border-radius:var(--radius-s);padding:18px;border:1px solid var(--line)}
.season strong{display:block;color:var(--navy);font-size:1.1rem;margin-bottom:4px}
/* CTA block */
.cta{text-align:center;padding:64px 0}
.cta h2{color:#fff}
.cta p{color:#fff;opacity:.9;max-width:600px;margin:0 auto 22px}
/* Footer */
.footer{background:var(--navy);color:#c9d3e6;padding:56px 0 28px;font-size:.95rem}
.footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
@media (max-width:860px){.footer .cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.footer .cols{grid-template-columns:1fr}}
.footer h3,.footer h4{color:#fff;margin:0 0 .8em;font-family:var(--font-body);font-size:1.1rem}
.footer a{color:#fff;text-decoration:none}
.footer a:hover{text-decoration:underline}
.footer ul{list-style:none;padding:0;margin:0}
.footer li{margin:.4em 0}
.footer .logo img{height:64px;filter:none}
.footer .bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:36px;padding-top:20px;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;font-size:.85rem}
.footer .build{opacity:.6;white-space:nowrap}
/* WhatsApp float */
.wa{position:fixed;right:18px;bottom:18px;z-index:40;background:#25d366;color:#fff;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.25);text-decoration:none}
.wa svg{width:30px;height:30px;fill:#fff}
/* Mobile sticky book */
.stickybook{display:none}
@media (max-width:700px){
  .stickybook{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:39;background:#fff;border-top:1px solid var(--line);padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));gap:16px;align-items:center;justify-content:center}
  .stickybook .btn{flex:0 1 auto;justify-content:center;white-space:nowrap;padding-inline:1.6em}
.stickybook>span{white-space:nowrap}
  body{padding-bottom:70px}
  .wa{bottom:calc(84px + env(safe-area-inset-bottom,0px));width:50px;height:50px;right:14px}
  .wa svg{width:26px;height:26px}
}
/* Cookie */
.cookie{position:fixed;left:16px;bottom:16px;z-index:100;background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:18px 20px;max-width:420px;width:calc(100% - 32px);font-size:.92rem;border:1px solid var(--line)}
.cookie[hidden]{display:none}
.cookie p{margin:0 0 12px}
.cookie .row{display:flex;gap:10px;flex-wrap:wrap}
/* Table */
.table{width:100%;border-collapse:collapse;font-size:.98rem}
.table th,.table td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line)}
.table th{color:var(--navy)}
.table-wrap{overflow-x:auto}
/* Breadcrumb */
.crumbs{font-size:.85rem;color:#fff;opacity:.85;margin-bottom:10px}
.crumbs a{color:#fff;text-decoration:none}
.crumbs span{margin:0 6px}
/* Utility */
.mt-0{margin-top:0}.mb-0{margin-bottom:0}.mt-2{margin-top:24px}.mt-3{margin-top:40px}
.muted{color:var(--muted)}
.note{background:var(--cream);border-left:4px solid var(--orange);padding:14px 18px;border-radius:8px;font-size:.95rem}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Vaarroutes */
.legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chip{border:2px solid var(--c,var(--line));background:#fff;color:var(--navy);font-weight:700;padding:6px 14px;border-radius:999px;cursor:pointer;font-family:var(--font-body);font-size:.9rem}
.chip.active,.chip:hover{background:var(--c,var(--navy));color:#fff}
.card.route .body{padding-top:16px}
.card.route .btn.active{background:var(--navy);color:#fff}
.leaflet-container{font-family:var(--font-body)}
.table caption{caption-side:top}

/* Widgets en gids */
@media (prefers-reduced-motion:reduce){.ticker-track{animation:none;width:auto}.ticker-set{flex-wrap:wrap}.ticker-set[aria-hidden]{display:none}.ticker{white-space:normal;text-align:center}}
.meta-list{list-style:none;padding:0;margin:8px 0 12px;font-size:.9rem;color:var(--muted)}
.meta-list li{margin:.2em 0}
.card.place .body{padding-top:18px}
.weather{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.wx-now{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.wx-now b{font-family:var(--font-head);font-size:2rem;color:var(--navy)}
.wx-ic{font-size:2rem}
.wx-adv{margin-left:auto;background:var(--sky);color:var(--navy);font-weight:700;padding:10px 16px;border-radius:999px}
.wx-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.wx-day{text-align:center;padding:10px 4px;border-radius:12px;background:var(--sky);font-size:.85rem;display:flex;flex-direction:column;gap:2px;align-items:center}
.wx-day b{color:var(--navy)}
.wx-day .wx-ic{font-size:1.5rem}
@media (max-width:700px){.wx-days{grid-template-columns:repeat(4,1fr)}.wx-adv{margin-left:0}}
.crowd-now{border-radius:var(--radius);padding:18px 22px;margin-bottom:14px;color:#fff}
.crowd-now p{margin:6px 0 0;opacity:.95}
.crowd-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.crowd-day{border-radius:10px;padding:8px 4px;text-align:center;font-size:.8rem;color:#fff;display:flex;flex-direction:column;gap:2px}
.lv0{background:#2e7d4f}.lv1{background:#4a8fd6}.lv2{background:#e17000}.lv3{background:#c0392b}
@media (max-width:700px){.crowd-days{grid-template-columns:repeat(4,1fr)}}
.event-list{list-style:none;padding:0;margin:0}
.event-list li{display:grid;grid-template-columns:170px 1fr auto auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.event-list .ev-date{font-weight:700;color:var(--orange);white-space:nowrap}
@media (max-width:700px){.event-list li{grid-template-columns:1fr;gap:4px}}

/* Uitklapmenu */
.nav-group{position:relative}
.nav-group summary{list-style:none;cursor:pointer;color:var(--navy);font-weight:700;padding:10px 12px;border-radius:8px;font-size:.98rem;display:flex;align-items:center;gap:6px}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary::after{content:"▾";font-size:.8em;opacity:.7}
.nav-group summary:hover,.nav-group[open] summary,.nav-group summary[aria-current]{background:var(--sky)}
.nav-drop{position:absolute;left:0;top:100%;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:8px;min-width:240px;display:flex;flex-direction:column;z-index:70}
.nav-drop a{padding:9px 12px;font-weight:600;font-size:.95rem;white-space:nowrap}
@media (max-width:1000px){
  .nav-group summary{padding:12px}
  .nav-drop{position:static;box-shadow:none;border:0;border-left:3px solid var(--sky);border-radius:0;margin:0 0 6px 12px;padding:0}
  .nav-drop a{white-space:normal}
}
.footer .cols.cols-wide{grid-template-columns:1.3fr repeat(auto-fit,minmax(150px,1fr))}
@media (max-width:860px){.footer .cols.cols-wide{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.footer .cols.cols-wide{grid-template-columns:1fr}}

.gcard{text-decoration:none;color:inherit}
.gcard h3{font-size:1.15rem}
.gcard p{font-size:.9rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

.card .meta-list li{padding-left:0}
.card .meta-list li::before{content:none}

/* Mobiel: compacter en rustiger (80% van de bezoekers zit op de telefoon) */
@media (max-width:700px){
  body{font-size:16px}
  .header .wrap{min-height:60px;gap:10px;padding:0 14px}
  .logo img{height:42px}
  .nav-toggle{padding:6px 9px;font-size:1.25rem;border-radius:8px}
  .lang summary{padding:6px 10px;font-size:.85rem}
  .wrap{padding:0 16px}
  h1{font-size:clamp(1.85rem,8.5vw,2.4rem)}
  h2{font-size:clamp(1.5rem,6.5vw,1.9rem)}
  h3{font-size:1.2rem}
  .lead{font-size:1.02rem}
  .section{padding:44px 0}
  .section-tight{padding:30px 0}
  .hero{min-height:min(68vh,600px)}
  .hero .wrap{padding-top:48px;padding-bottom:44px}
  .hero .sub{font-size:1rem;margin-bottom:18px;line-height:1.5}
  .hero .eyebrow{font-size:.75rem;letter-spacing:.1em}
  .hero-badges{gap:6px;margin-top:18px}
  .hero-badges span{padding:5px 10px;font-size:.78rem}
  .hero-badges span:nth-child(n+4){display:none}
  .hero-sub{min-height:auto}
  .hero-sub .wrap{padding-top:44px;padding-bottom:36px}
  .btn{padding:.8em 1.25em;font-size:.95rem}
  .btn-row{gap:10px;margin-top:16px}
  .bookbar{margin-top:-28px;padding:16px;gap:12px}
  .bookbar strong{font-size:1rem}
  .bookbar .tabs{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}
  .bookbar .tabs a{text-align:center;padding:11px 8px;font-size:.9rem}
  .grid{gap:16px}
  .card .body{padding:16px 18px 18px}
  .card ul{font-size:.9rem}
  .usp-strip{grid-template-columns:1fr 1fr;gap:14px 12px}
  .usp{flex-direction:column;gap:8px}
  .usp .ic{width:38px;height:38px;font-size:1.15rem;border-radius:10px}
  .usp span{font-size:.85rem}
  .split{gap:24px}
  .split img{aspect-ratio:4/3}
  .table{font-size:.9rem}
  .table th,.table td{padding:10px 8px}
  .note{font-size:.9rem;padding:12px 14px}
  .eyebrow{font-size:.75rem}
  .price{font-size:1.35rem}
  .footer{font-size:.95rem}
  .stickybook{padding:8px 12px;padding-right:76px}
  .cookie{bottom:82px;left:10px;width:calc(100% - 20px);padding:14px 16px;font-size:.88rem}
}

/* Iconen */
.ico{width:1.15em;height:1.15em;display:inline-block;vertical-align:-.22em;flex-shrink:0}
.usp .ic .ico{width:26px;height:26px;color:#c96300}
.bookbar .tabs a .ico{color:#b85a00;margin-right:4px}
.nav-toggle .ico{width:22px;height:22px;vertical-align:middle}
.lang summary .ico{width:1em;height:1em;vertical-align:-.15em}
.contact-list .ic .ico{width:22px;height:22px}
.cap .ico{width:1em;height:1em}
.dot{display:inline-block;width:.9em;height:.9em;border-radius:50%;vertical-align:-.1em}
.emoji{font-style:normal}
/* Prijs per persoon */
.pp{display:inline-block;margin-left:8px;font-size:.82rem;color:var(--muted);font-weight:700}
/* Toetsenbordfocus */
:focus-visible{outline:3px solid var(--water);outline-offset:2px;border-radius:4px}
.btn:focus-visible{outline-offset:3px}
/* Plan je bezoek: compacte linklijst op de homepage */
.plan-groups{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.plan-groups .h3{font-size:1.5rem;margin-bottom:.6em}
.plan-links{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 18px}
.plan-links a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;text-decoration:none;color:var(--navy);font-weight:700;background:#fff;border:1px solid var(--line)}
.plan-links a:hover{border-color:var(--navy)}
.plan-links .ico{width:22px;height:22px;color:#b85a00}
@media (max-width:860px){.plan-groups{grid-template-columns:1fr;gap:28px}}
@media (max-width:520px){.plan-links{grid-template-columns:1fr}}
/* Footer: groepen inklapbaar op mobiel */
.fcol summary{list-style:none;cursor:default}
.fcol summary::-webkit-details-marker{display:none}
@media (min-width:701px){.fcol summary{pointer-events:none}}
@media (max-width:700px){
  .fcol{border-top:1px solid rgba(255,255,255,.15);padding:10px 0}
  .fcol summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center}
  .fcol summary::after{content:"+";font-size:1.3rem;color:#fff}
  .fcol[open] summary::after{content:"–"}
  .fcol summary h3{margin:0}
  .fcol:not([open])>ul{display:none}
  .fcol[open]>ul{margin-top:8px}
  .footer .cols{gap:0}
  .footer .cols>div:first-child{margin-bottom:16px}
  .fvisit{border-top:1px solid rgba(255,255,255,.15);padding-top:14px}
}

/* Reviews */
.review-grid{gap:18px}
.review{margin:0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:8px}
.review .stars{color:var(--star);letter-spacing:1px}
.review p{margin:0;font-size:.98rem}
.review footer{margin-top:auto;font-size:.85rem;color:var(--muted)}

/* Stijlupgrade: golfranden, categoriepillen, fototegels, reviewkaarten, menu-overlay, calculator, infaden */
.section.bg-sky,.section.bg-cream,.cta.bg-navy{position:relative;--sec:var(--sky)}
.section.bg-cream{--sec:var(--cream)}
.cta.bg-navy{--sec:var(--navy)}
.section.bg-sky::before,.section.bg-sky::after,.section.bg-cream::before,.section.bg-cream::after,.cta.bg-navy::before{content:"";position:absolute;left:0;right:0;height:28px;background:var(--sec);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 28' preserveAspectRatio='none'%3E%3Cpath d='M0 16C30 0 60 0 90 16s60 16 90 0v12H0z'/%3E%3C/svg%3E") repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 28' preserveAspectRatio='none'%3E%3Cpath d='M0 16C30 0 60 0 90 16s60 16 90 0v12H0z'/%3E%3C/svg%3E") repeat-x;-webkit-mask-size:180px 28px;mask-size:180px 28px;pointer-events:none;z-index:1}
.section.bg-sky::before,.section.bg-cream::before,.cta.bg-navy::before{top:-27px}
.section.bg-sky::after,.section.bg-cream::after{bottom:-27px;transform:scaleY(-1)}
.section.bg-sky:has(+ .bg-sky)::after,.section.bg-sky:has(+ .bg-cream)::after,.section.bg-cream:has(+ .bg-sky)::after,.section.bg-cream:has(+ .bg-cream)::after,.section.bg-sky:has(+ .cta)::after,.section.bg-cream:has(+ .cta)::after{display:none}
.hero + .wrap + .section-tight{position:relative;z-index:2}
.cat{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:999px;color:#fff;background:var(--orange)}
.cat-self{background:var(--orange)}.cat-cruise{background:var(--blue)}.cat-private{background:var(--navy)}.cat-food{background:var(--green)}.cat-vip{background:var(--gold)}
.card .kicker:has(.cat){letter-spacing:0;text-transform:none}
.quick{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin:28px 0 6px}
.quick a{text-decoration:none;color:var(--navy);font-weight:700;font-size:.92rem;text-align:center;line-height:1.25}
.quick img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:14px;margin-bottom:8px;box-shadow:var(--shadow-s);transition:transform var(--t-fast)}
.quick a:hover img{transform:translateY(-3px)}
@media (max-width:860px){.quick{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.quick a{font-size:.8rem}.quick img{border-radius:10px;margin-bottom:6px}}
.rv-head{display:flex;gap:12px;align-items:center}
.avatar{width:44px;height:44px;border-radius:50%;background:var(--orange);color:#fff;font-weight:700;font-family:var(--font-head);font-size:1.25rem;display:grid;place-items:center;flex-shrink:0}
.review p{font-style:italic;color:var(--ink)}
.review .stars{font-size:.85rem;line-height:1.2}
.boat-ico{width:80px;height:34px;color:var(--orange)}

/* zie animatieblok onderaan */
.menu-top{display:none}
@media (max-width:1000px){
  .header .logo,.header .nav-toggle,.header .lang{position:relative;z-index:46}
  .nav.open{position:fixed;top:var(--hdr,98px);left:0;right:0;bottom:0;height:calc(100vh - var(--hdr,98px));height:calc(100dvh - var(--hdr,98px));padding:16px 18px 40px;max-height:none;overflow-y:auto;z-index:45;background:#fff url(/assets/img/embleem-licht.webp) no-repeat right -40px bottom -10px/300px auto}
  .nav-toggle[aria-expanded="true"]{background:var(--sky)}
.header .logo{position:relative;z-index:46}
body.menu-open{overflow:hidden;position:fixed;width:100%}
.nav-close{display:flex;align-items:center;gap:8px;margin:-16px -18px 20px;padding:14px 18px;width:calc(100% + 36px);background:var(--sky);border:0;border-bottom:1px solid var(--line);font:700 1rem var(--font-body);color:var(--navy);cursor:pointer;text-align:left}
body.menu-open .header{background:#fff}
.nav-close .ico{width:20px;height:20px}
  .nav-toggle[aria-expanded="true"] .ico{display:none}
  .nav-toggle[aria-expanded="true"]::after{content:"✕";font-size:1.2rem;line-height:1;display:block;width:22px}
  .menu-top{display:block;margin-bottom:10px}
  .menu-q{margin:0 0 12px;color:var(--muted);font-size:1.05rem}
  .menu-all{margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
  .menu-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 10px;margin-bottom:24px}
  .menu-tiles a{text-decoration:none;color:var(--navy);font-weight:700;font-size:.85rem;text-align:center;line-height:1.2;padding:0!important}
  .menu-tiles img{width:86px;height:86px;border-radius:50%;object-fit:cover;background:var(--sky);margin:0 auto 6px;border:3px solid var(--orange);box-shadow:0 0 0 3px #fff inset}
  .menu-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
  .menu-pills a{background:var(--sky);color:var(--navy);font-weight:700;font-size:.88rem;padding:8px 14px!important;border-radius:999px;text-decoration:none}
  .menu-small{display:flex;flex-wrap:wrap;gap:6px 18px;padding-top:16px;border-top:1px solid var(--line)}
  .menu-small a{padding:4px 0!important;font-weight:600;font-size:.95rem}
  .nav .nav-group summary{font-size:1rem}
}

/* Zelftekenende vaarroute */
.rm-wrap{position:relative;background:var(--sky);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow-s);overflow:hidden}
.routemap{width:100%;height:auto;display:block;aspect-ratio:16/9;border-radius:12px}
.rm-water path{stroke:#c9dcea;stroke-width:9;opacity:.9}
.rm-track{stroke:rgba(255,255,255,.55);stroke-width:4px;vector-effect:non-scaling-stroke}.rm-track.on{stroke:#fff;stroke-width:8px}
.rm-route{stroke:var(--orange);stroke-width:4px;vector-effect:non-scaling-stroke}
.calc-map .rm-route{stroke-width:1.6;stroke-dasharray:1;stroke-dashoffset:1;vector-effect:none}.calc-map .rm-track{stroke-width:3;vector-effect:none}.calc-map .rm-track.on{stroke-width:3.4}
.rm-start circle{fill:#fff;stroke:var(--navy);stroke-width:2}
.rm-start .rm-dot{fill:var(--navy);stroke:none}
.rm-start text{font-family:var(--font-body);font-size:13px;font-weight:700;fill:var(--navy);paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
.rm-boat{fill:var(--navy);stroke:#fff;stroke-width:1.2;opacity:0;transition:opacity var(--t-base)}
.rm-boat path:last-child{fill:var(--orange)}
.rm-meta{font-size:.92rem;margin-top:-6px}
.rm-wide .rm-wrap{margin-top:0}
.rm-head{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:end;margin-bottom:24px}
.rm-head h2{margin-bottom:.3em}.rm-head .lead{margin:0}
.rm-points{columns:1;margin:0}
.rm-chips{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.rm-hud{position:absolute;left:24px;top:64px;z-index:2;display:flex;flex-direction:column;gap:2px;padding:10px 14px;background:rgba(255,255,255,.88);backdrop-filter:blur(8px);border-radius:12px;box-shadow:var(--shadow-s);font-size:.85rem;color:var(--muted)}
.rm-km{font-family:var(--font-head);font-size:1.7rem;line-height:1.1;color:var(--navy)}.rm-km b{font-weight:700;font-variant-numeric:tabular-nums}
.rm-replay{margin-top:6px;align-self:flex-start;background:var(--navy);color:#fff;border:0;border-radius:999px;padding:6px 12px;font:700 .8rem var(--font-body);cursor:pointer;transition:opacity var(--t-base)}
.rm-sailing .rm-replay{opacity:.4;pointer-events:none}
.rm-foot{margin-top:20px}
@media (max-width:860px){.rm-head{grid-template-columns:1fr;gap:12px;margin-bottom:16px}.rm-wrap{padding:10px}.routemap{aspect-ratio:4/5}.rm-start text{font-size:15px}.rm-hud{left:16px;top:58px;padding:8px 10px}.rm-km{font-size:1.3rem}.rm-meta{display:none}}

/* Samensteller */
.calc{display:grid;grid-template-columns:1.25fr 1fr;gap:28px;align-items:start}
.ctl{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-weight:700;color:var(--navy)}
.stepper{display:inline-flex;align-items:center;gap:6px}
.stepper button{width:44px;height:44px;border-radius:50%;border:2px solid var(--navy);background:#fff;color:var(--navy);font-size:1.3rem;line-height:1;cursor:pointer;transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast)}
.stepper button:hover{background:var(--navy);color:#fff}.stepper button:active{transform:scale(.92)}
.stepper output{min-width:2.2em;text-align:center;font-family:var(--font-head);font-size:1.7rem;font-weight:700}
.calc-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.calc-chips .chip{min-height:40px;padding:0 14px;border-radius:999px;border:2px solid var(--line);background:#fff;color:var(--navy);font:700 .9rem var(--font-body);cursor:pointer;transition:all var(--t-base)}
.calc-chips .chip:hover{border-color:var(--navy)}.calc-chips .chip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.calc-vip{font-weight:400;cursor:pointer;justify-content:flex-start}.calc-vip input{width:22px;height:22px;accent-color:var(--orange);margin:0}
.pick{display:grid;grid-template-columns:110px 1fr;gap:22px;align-items:center;margin-top:24px;padding:22px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}
.seats{width:110px;height:200px}
.seats .hull{fill:var(--sky);stroke:var(--navy);stroke-width:2}
.seats .seat{fill:#fff;stroke:rgba(27,42,74,.35);stroke-width:1.5;transition:fill var(--t-base),stroke var(--t-base),transform var(--t-base);transform-origin:center;transform-box:fill-box}
.seats .seat.on{fill:var(--orange);stroke:var(--orange);transform:scale(1.15)}
.pick-txt{position:relative}
.pick-img{position:absolute;right:0;top:0;width:96px;height:64px;object-fit:cover;border-radius:10px;box-shadow:var(--shadow-s)}
.pick h3{margin:0 110px .15em 0;font-size:1.35rem}
.pick-fits{color:var(--muted);font-size:.9rem;margin:0 0 .6em}
.boat-live-inline:not(:empty)::before{content:"·";margin:0 6px}
.boat-live-inline{color:var(--orange);font-weight:700}
.pick-price{display:flex;align-items:baseline;gap:10px;margin:.3em 0 0}
.pick-price b{font-family:var(--font-head);font-size:2.6rem;line-height:1;color:var(--navy);font-variant-numeric:tabular-nums}
.pick-price small{color:var(--muted);font-size:.9rem}
.pick-pp{margin:.3em 0 .6em;color:var(--muted);font-size:.95rem}.pick-pp b{color:var(--navy)}
.pick-guar{font-size:.85rem;font-weight:700;color:var(--green);margin:0 0 14px}
.calc-note{font-size:.82rem;color:var(--muted);margin:0 0 6px}
.calc-map{position:sticky;top:90px;background:var(--sky);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow-s)}
.calc-map .routemap{aspect-ratio:1;border-radius:12px}
.calc-map .rm-boat{display:none}
.calc-km{margin:12px 4px 0;font-size:.9rem;color:var(--muted)}
@media (max-width:860px){.calc{grid-template-columns:1fr}.calc-map{position:static}.ctl{flex-wrap:wrap}.calc-chips{justify-content:flex-start}.pick{grid-template-columns:84px 1fr;gap:14px;padding:16px}.seats{width:84px;height:154px}.pick-img{display:none}.pick h3{margin-right:0;font-size:1.2rem}.pick-price b{font-size:2.2rem}}

/* Een dag in het dorp */
.day-sec{overflow:hidden}
.day-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}
.day-head .eyebrow{color:var(--star)}.day-head h2{margin:0}
.day-nav{display:flex;gap:8px}
.day-nav button{width:44px;height:44px;border-radius:50%;border:2px solid rgba(255,255,255,.5);background:transparent;color:#fff;font-size:1.4rem;line-height:1;cursor:pointer;transition:background var(--t-fast)}
.day-nav button:hover{background:rgba(255,255,255,.15)}
.day-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:max(20px,calc((100vw - var(--wrap)) / 2 + 20px));padding:4px max(20px,calc((100vw - var(--wrap)) / 2 + 20px)) 12px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.day-track::-webkit-scrollbar{display:none}
.hour{flex:none;width:min(360px,76vw);scroll-snap-align:start}
.hour img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);margin-bottom:14px;box-shadow:var(--shadow)}
.hour time{font-family:var(--font-head);font-size:1.9rem;font-weight:700;color:var(--star);display:block;line-height:1}
.hour h3{color:#fff;margin:.25em 0 .25em;font-size:1.25rem}.hour p{color:rgba(255,255,255,.8);font-size:.95rem;margin:0}

/* Slotblok: over ons, tellers, faq */
.calm{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:start}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:8px 0 28px}
.facts b{display:block;font-family:var(--font-head);font-size:clamp(1.7rem,3vw,2.5rem);font-weight:700;line-height:1;color:var(--navy);font-variant-numeric:tabular-nums}
.facts span{font-size:.78rem;color:var(--muted);letter-spacing:.05em;text-transform:uppercase}
.calm-faq h3{font-size:1.15rem;margin-bottom:6px}
.calm-faq .faq details{border-top:1px solid var(--line);padding:12px 0;margin:0}
.calm-faq .faq details:last-of-type{border-bottom:1px solid var(--line)}
.calm-faq .more{display:inline-block;margin-top:18px;font-weight:700;color:var(--orange)}
@media (max-width:860px){.calm{grid-template-columns:1fr;gap:32px}.facts{grid-template-columns:repeat(2,1fr)}}

/* Tweekleurige iconen: navy lijn, oranje accent */
.ico{color:var(--navy)}
.ico .ac,.boat-ico .ac{stroke:var(--orange)}
.boat-ico{color:var(--navy)}
.usp .ic .ico{color:var(--navy)}
.bookbar .tabs a .ico{color:var(--navy)}
.plan-links .ico{color:var(--navy)}
.contact-list .ic .ico{color:var(--navy)}
.wx-ic .ico{width:2.2rem;height:2.2rem;vertical-align:middle}
.wx-day .wx-ic .ico{width:1.7rem;height:1.7rem}
.event-list .ico{width:1em;height:1em}

/* Afronding: beoordelingspil, belknop, twee knoppen op kaarten */
.hero-rating{display:inline-flex;align-items:center;gap:8px;margin-top:18px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(6px);color:#fff;text-decoration:none;padding:7px 14px;border-radius:999px;font-size:.9rem}
.hero-rating .stars{color:var(--star);letter-spacing:1px}
.hero-rating b{font-size:1rem}
.hdr-call{display:none}
@media (max-width:1000px){
  .hdr-call{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;margin-left:auto;color:var(--navy)}
  .hdr-call .ico{width:20px;height:20px}
  .nav-toggle{margin-left:0}
}
.card .foot{gap:8px}
.card .foot .btn+.btn{margin-left:0}
@media (max-width:700px){.hero-rating{margin-top:14px;font-size:.85rem}}

/* Animaties: hero-tekst komt zacht omhoog, secties en kaarten faden na elkaar in, foto's zoomen bij hover, bootjes dobberen. Alles uit bij "verminderde beweging". */
@media (prefers-reduced-motion:no-preference){
  @keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
  .hero .eyebrow,.hero h1,.hero .sub,.hero .btn-row,.hero .hero-rating,.bookbar{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}
  .hero h1{animation-delay:.08s}.hero .sub{animation-delay:.16s}.hero .btn-row{animation-delay:.24s}.hero .hero-rating{animation-delay:.32s}.bookbar{animation-delay:.36s}
  .reveal{opacity:0;transform:translateY(16px);transition:opacity var(--t-slow) ease,transform var(--t-slow) ease}.reveal.in{opacity:1;transform:none}
  .reveal .grid>*{opacity:0;transform:translateY(14px);transition:opacity var(--t-slow) ease,transform var(--t-slow) ease}
  .reveal.in .grid>*{opacity:1;transform:none}
  .reveal .steps>li{opacity:0;transform:translateY(14px);transition:opacity var(--t-slow) ease,transform var(--t-slow) ease}
  .reveal.in .steps>li{opacity:1;transform:none}
  .reveal .steps>li::after{transform:scaleX(0);transition:transform var(--t-xslow) var(--ease)}
  .reveal.in .steps>li::after{transform:none}
  .reveal.in .steps>li:nth-child(2),.reveal.in .steps>li:nth-child(1)::after{transition-delay:.18s}
  .reveal.in .steps>li:nth-child(3),.reveal.in .steps>li:nth-child(2)::after{transition-delay:.36s}
  .reveal.in .steps>li:nth-child(4),.reveal.in .steps>li:nth-child(3)::after{transition-delay:.54s}
  .reveal.in .steps>li:nth-child(5),.reveal.in .steps>li:nth-child(4)::after{transition-delay:.72s}
  @media (max-width:860px){.reveal .steps>li::after{transform:scaleY(0)}}
  .reveal.in .grid>*:nth-child(2){transition-delay:.07s}
  .reveal.in .grid>*:nth-child(3){transition-delay:.14s}
  .reveal.in .grid>*:nth-child(4){transition-delay:.21s}
  .reveal.in .grid>*:nth-child(5){transition-delay:.28s}
  .reveal.in .grid>*:nth-child(6){transition-delay:.35s}
  .card>img,.card>picture img{transition:transform var(--t-slow) cubic-bezier(.2,.7,.2,1)}
  .card:hover>img,.card:hover>picture img{transform:scale(1.04)}
  @keyframes bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(-2deg)}}
  .calc-boat:hover .boat-ico{animation:bob 1.8s ease-in-out infinite}
  @keyframes livepulse{0%{box-shadow:0 0 0 0 rgba(26,158,92,.55)}70%{box-shadow:0 0 0 9px rgba(26,158,92,0)}100%{box-shadow:0 0 0 0 rgba(26,158,92,0)}}
  .boat-live::before{animation:livepulse 2s ease-out infinite}
  .reveal .usp .ic .ico path,.reveal .plan-links .ico path,.reveal .contact-list .ico path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset var(--t-xslow) ease .15s}
  .reveal.in .usp .ic .ico path,.reveal.in .plan-links .ico path,.reveal.in .contact-list .ico path{stroke-dashoffset:0}
  .reveal .checks li{opacity:0;transform:translateX(-8px);transition:opacity var(--t-slow) ease,transform var(--t-slow) ease}
  .reveal.in .checks li{opacity:1;transform:none}
  .reveal.in .checks li:nth-child(2){transition-delay:.1s}.reveal.in .checks li:nth-child(3){transition-delay:.2s}.reveal.in .checks li:nth-child(4){transition-delay:.3s}.reveal.in .checks li:nth-child(5){transition-delay:.4s}.reveal.in .checks li:nth-child(6){transition-delay:.5s}
  .rm-chip{transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast)}.rm-chip:hover{transform:translateY(-1px)}
  .btn-primary{transition:transform var(--t-fast),box-shadow var(--t-fast),background var(--t-fast)}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(225,112,0,.28)}
}

/* Per boot: "x keer geboekt" (groen puntje) */
.boat-live{display:flex;align-items:center;gap:7px;font-size:.8rem;font-weight:700;color:#1a7f4b;margin:-2px 0 6px}
.boat-live::before{content:"";width:7px;height:7px;border-radius:50%;background:#1a9e5c;flex:none}
.boat-live[hidden]{display:none}
/* Routekaart: keuzeknoppen, routes aan/uit, afgeronde kaart zonder clip */
.rm-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.rm-chip{border:1px solid var(--line);background:#fff;color:var(--navy);font:inherit;font-weight:700;font-size:.88rem;padding:7px 14px;border-radius:999px;cursor:pointer}
.rm-chip.on{background:var(--orange);border-color:var(--orange);color:#fff}
.routemap{display:block;width:100%;height:auto;border-radius:8px;overflow:hidden}
.rm-route:not(.on),.rm-track:not(.on){display:none}
.rm-water path,.rm-track,.rm-route{vector-effect:non-scaling-stroke}
@media (max-width:700px){.rm-chip{font-size:.82rem;padding:6px 11px}.rm-chips{gap:6px;margin-bottom:10px}}

/* Contactformulier */
/* Uitlegvideo's: staand, drie naast elkaar, op mobiel twee */
.vids{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 24px;max-width:1020px;margin:0 auto}
.vid{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-s)}
.vid video{display:block;width:100%;aspect-ratio:9/16;height:auto;background:#1b2a4a;object-fit:cover}
.vid figcaption{padding:14px 16px 16px;position:relative}
.vid h3{font-size:1.05rem;margin:0 0 .3em;padding-right:44px}
.vid p{margin:0;color:var(--muted);font-size:.92rem}
.vid small{position:absolute;top:14px;right:16px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.vid-n{display:none}
@media (max-width:860px){.vids{grid-template-columns:1fr 1fr;gap:18px 14px}.vid figcaption{padding:12px}.vid h3{font-size:.98rem;padding-right:0}.vid small{position:static;display:block;margin-top:6px}}
/* Stappenlijn: cijfers in oranje rondjes, verbonden met een stippellijn; op smalle schermen onder elkaar */
.steps{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:32px;max-width:calc(var(--n,3) * 340px)}
.steps li{position:relative;text-align:center}
.step-n{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 18px;border-radius:50%;background:var(--orange-2);color:#fff;font-family:var(--font-head);font-weight:700;font-size:1.5rem;line-height:1;box-shadow:0 6px 16px rgba(199,98,0,.28)}
.steps li:not(:last-child)::after{content:"";position:absolute;top:27px;left:calc(50% + 40px);width:calc(100% - 48px);border-top:2px dashed rgba(199,98,0,.45);transform-origin:left}
.steps h3{font-size:1.2rem;margin:0 0 .4em}
.steps p{margin:0 auto;max-width:32ch;color:var(--muted)}
.steps+.center,.steps+.btn-row{margin-top:36px}
@media (max-width:860px){
  .steps{grid-template-columns:1fr;gap:26px;max-width:520px}
  .steps li{text-align:left;padding-left:76px;min-height:56px}
  .step-n{position:absolute;left:0;top:0;margin:0}
  .steps li:not(:last-child)::after{top:62px;bottom:-20px;left:27px;width:0;border-top:0;border-left:2px dashed rgba(199,98,0,.45);transform-origin:top}
  .steps p{margin:0;max-width:none}
}
.contact-form{display:grid;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-s)}
.contact-form label{display:grid;gap:6px;font-weight:700;color:var(--navy);font-size:.92rem}
.contact-form input,.contact-form textarea{font:inherit;font-weight:400;color:var(--navy);padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-s);background:#fff;width:100%}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--orange);outline-offset:1px;border-color:var(--orange)}
.contact-form textarea{resize:vertical;min-height:130px}
.contact-form select{font:inherit;font-weight:400;color:var(--navy);padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;min-height:48px}
.contact-form select:focus{outline:2px solid var(--orange);outline-offset:1px;border-color:var(--orange)}
.contact-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-form .row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;align-items:end}
.form-opts{border:0;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}
.form-opts legend{font-weight:700;color:var(--navy);font-size:.92rem;padding:0;margin-bottom:8px}
.contact-form .form-opts label{display:flex;align-items:center;gap:10px;font-weight:400;font-size:1rem;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}
.contact-form .form-opts input{width:20px;height:20px;padding:0;accent-color:var(--orange-2);flex:none}
.contact-form .form-opts label:has(input:checked){border-color:var(--orange-2);background:var(--orange-soft)}
@media (max-width:700px){.contact-form .row3,.form-opts{grid-template-columns:1fr}}
.contact-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact-form button{justify-self:start}
.form-msg{margin:0;font-weight:700;min-height:1.4em}
.form-msg.ok{color:#1a7f4b}.form-msg.err{color:#b3261e}
@media (max-width:700px){.contact-form{padding:16px}.contact-form .row2{grid-template-columns:1fr}.contact-form button{width:100%;text-align:center}}

/* Kaartvoet: prijs op één regel, knoppen als groep die samen afbreken */
.card .foot .price{white-space:nowrap}
.card .foot .btns{display:flex;gap:8px;margin-left:auto;flex-wrap:nowrap}
/* WhatsApp-knop bij het contactformulier */
.form-btns{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.btn-wa{background:#25d366;color:#fff}.btn-wa:hover{background:#1ebe5b}
@media (max-width:700px){.form-btns .btn{width:100%;text-align:center}}

/* Tijdlijn (Giethoorn in jaartallen) */
.timeline{list-style:none;margin:0 auto;padding:0;max-width:760px;position:relative}
.timeline::before{content:"";position:absolute;left:64px;top:6px;bottom:6px;width:2px;background:var(--line)}
.timeline li{display:grid;grid-template-columns:52px 1fr;gap:28px;padding:10px 0;position:relative}
.timeline li::after{content:"";position:absolute;left:59px;top:18px;width:12px;height:12px;border-radius:50%;background:var(--orange);border:2px solid #fff;box-shadow:0 0 0 2px var(--orange)}
.tl-year{font-family:var(--font-head);font-weight:700;color:var(--navy);font-size:1.05rem;text-align:right;line-height:1.3;padding-top:2px}
.timeline p{margin:0;padding-top:2px}
@media (max-width:700px){.timeline::before{left:44px}.timeline li{grid-template-columns:36px 1fr;gap:22px}.timeline li::after{left:39px}.tl-year{font-size:.9rem}}
/* Fotoverhaal met bijschriften */
.photos{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.photos figure{margin:0}
.photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;filter:sepia(.12)}
.photos figcaption{font-size:.82rem;color:var(--muted);margin-top:6px;line-height:1.35}
@media (max-width:860px){.photos{grid-template-columns:repeat(2,1fr)}}
/* Promo-banner (dagticket) */
.banner-promo{grid-template-columns:1fr auto}
.banner-promo .eyebrow{color:#ffd9b3}
.banner-promo .btns{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:700px){.banner-promo{grid-template-columns:1fr}.banner-promo .btns .btn{flex:1;text-align:center;white-space:normal}}

/* Prijspil in de sub-hero en promo-banner */
.hero-price{display:inline-block;background:var(--orange);color:#fff;font-weight:700;padding:6px 14px;border-radius:999px;margin-bottom:18px}
.promo-price{margin:8px 0 0;font-weight:700;color:#ffd9b3}

/* Dorpskaart */
.vm-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(240px,2fr);gap:28px;align-items:start}
.vm-map svg{width:100%;height:auto;display:block;border-radius:16px;box-shadow:var(--shadow-s)}
.vm-legend ol{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:10px}
.vm-legend li{display:flex;align-items:center;gap:10px;font-size:.95rem;color:var(--navy)}
.vm-n{flex:none;width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;font-size:.85rem;display:grid;place-items:center}
.vm-n.vm-ours{background:var(--orange)}
.vm-bus{flex:none;width:26px;height:26px;border-radius:6px;border:2px solid var(--navy);color:var(--navy);font-weight:700;font-size:.75rem;display:grid;place-items:center}
.vm-path{flex:none;width:26px;height:0;border-top:3px dashed var(--navy)}
@media (max-width:860px){.vm-grid{grid-template-columns:1fr}}

/* Routekaart op getekende basiskaart */
.rm-other path{stroke:#fff;stroke-width:2.5;opacity:.75;vector-effect:non-scaling-stroke}
.rm-wrap{background:var(--sky)}
.rm-track{stroke:#fff;stroke-width:7}
.rm-route{stroke-width:4.5}

/* Fotostrook boven plaatsenlijsten; seizoenkaarten met foto */
.section-photo{margin:-8px 0 22px}
.section-photo img{width:100%;aspect-ratio:8/3;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow-s)}
@media (max-width:700px){.section-photo img{aspect-ratio:16/9}}
.season img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;margin-bottom:10px;display:block}

.img-credit{display:block;font-size:.75rem;color:var(--muted);margin-top:8px}

/* Concentrische hoeken (Apple HIG): binnenradius = buitenradius min de marge */
.card>img,.card>picture img{border-radius:0}
.banner-promo .btns .btn,.bookbar .tabs a{border-radius:999px}
.season img,.photos img,.quick img,.section-photo img{border-radius:var(--radius-s)}

/* Audit (Impeccable, 24-9): AA-contrast op oranje knoppen en linten, grotere tikdoelen, leesbare pillen */
.btn-primary{background:#b85a00}
.btn-primary:hover{background:#a04c00}
.badge{background:#b85a00}
.cat{font-size:.75rem;padding:4px 10px}
.rm-chip{padding:10px 16px;min-height:40px}
@media (max-width:1000px){.nav-toggle{min-height:44px;min-width:44px}.hdr-call{width:44px;height:44px}.lang>button,.lang summary{min-height:44px}}

.cat-self,.hero-price,.rm-chip.on,.calc-boat.on,.stickybook .btn-primary{background:#b85a00}
.rm-chip.on{border-color:#b85a00}

/* Vijf kaarten in een raster: nooit één wees. Breed: 5 naast elkaar (boten) of 3 + 2 gecentreerd; smal: 2 + 2 + 1 gecentreerd */
.grid:has(> :nth-child(5):last-child){grid-template-columns:repeat(6,minmax(0,1fr))}
.grid:has(> :nth-child(5):last-child)>*{grid-column:span 2}
.grid:has(> :nth-child(5):last-child)>:nth-child(4){grid-column:2/span 2}
.grid:has(> :nth-child(5):last-child)>:nth-child(5){grid-column:4/span 2}
@media (min-width:1000px){
  .grid-4:has(> :nth-child(5):last-child),.grid-5:has(> :nth-child(5):last-child){grid-template-columns:repeat(5,minmax(0,1fr))}
  .grid-4:has(> :nth-child(5):last-child)>*,.grid-5:has(> :nth-child(5):last-child)>*,.grid-4:has(> :nth-child(5):last-child)>:nth-child(4),.grid-5:has(> :nth-child(5):last-child)>:nth-child(4),.grid-4:has(> :nth-child(5):last-child)>:nth-child(5),.grid-5:has(> :nth-child(5):last-child)>:nth-child(5){grid-column:auto}
}
@media (max-width:760px){
  .grid:has(> :nth-child(5):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}
  .grid:has(> :nth-child(5):last-child)>:nth-child(4){grid-column:span 2}
  .grid:has(> :nth-child(5):last-child)>:nth-child(5){grid-column:2/span 2}
}
@media (max-width:560px){
  .grid:has(> :nth-child(5):last-child){grid-template-columns:1fr}
  .grid:has(> :nth-child(5):last-child)>*,.grid:has(> :nth-child(5):last-child)>:nth-child(4),.grid:has(> :nth-child(5):last-child)>:nth-child(5){grid-column:auto}
}

/* Vraagvak */
.ask{background:var(--sky);border-radius:var(--radius);padding:20px 22px;margin:0 0 28px}
.ask-label{display:block;font-family:var(--font-head);font-weight:700;font-size:1.3rem;color:var(--navy);margin-bottom:10px}
.ask-row{display:flex;gap:10px}
.ask-row input[type=text]{flex:1;min-width:0;min-height:48px;padding:0 16px;border:2px solid var(--line);border-radius:999px;font:inherit;color:var(--ink);background:#fff;transition:border-color var(--t-fast),box-shadow var(--t-fast)}
.ask-row input[type=text]:focus{outline:0;border-color:var(--navy);box-shadow:0 0 0 4px rgba(27,42,74,.12)}
.ask-row .btn{min-height:48px}.ask-row .btn[disabled]{opacity:.6;pointer-events:none}
.ask-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.ask-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ask-chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font:600 .85rem var(--font-body);color:var(--navy);cursor:pointer;transition:border-color var(--t-fast),transform var(--t-fast)}
.ask-chip:hover{border-color:var(--navy);transform:translateY(-1px)}
.ask-out{margin-top:16px;padding:16px 18px;background:#fff;border-radius:14px;box-shadow:var(--shadow-s)}
.ask-answer{margin:0;color:var(--ink);font-size:1.02rem}
.ask-answer span{opacity:0;animation:askIn .35s ease forwards}
@keyframes askIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.ask-thinking{margin:0;color:var(--muted)}
.ask-thinking::after{content:"";display:inline-block;width:1.2em;text-align:left;animation:askDots 1.2s steps(4,end) infinite}
@keyframes askDots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}
.ask-foot{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;font-size:.9rem}
.ask-src{color:var(--water);font-weight:700}.ask-wa{color:var(--green);font-weight:700}
.ask-note{margin:12px 0 0;font-size:.8rem;color:var(--muted)}
.calm-faq .ask{margin-bottom:24px}
@media (max-width:560px){.ask{padding:16px}.ask-row{flex-direction:column}.ask-row .btn{width:100%;justify-content:center}}
@media (prefers-reduced-motion:reduce){.ask-answer span{opacity:1;animation:none}.ask-thinking::after{animation:none;content:"..."}}

/* ---- Apple-toets (1-10-2026) ---- */
/* 1. Direct reageren op indrukken, ook op een telefoon */
a,button,summary,label{-webkit-tap-highlight-color:transparent}
.btn:active{transform:scale(.97);box-shadow:none;transition-duration:.08s}
.chip:active,.rm-chip:active,.ask-chip:active,.calc-chips .chip:active,.rm-replay:active,.day-nav button:active,.nav-toggle:active{transform:scale(.95);transition-duration:.08s}
.card:active{transform:translateY(-1px) scale(.995);transition-duration:.08s}
.faq summary:active{opacity:.7}
.tile:active,.menu-tiles a:active{transform:scale(.97)}

/* 6. Tikvlakken minstens 44 px hoog */
.rm-chip,.ask-chip,.calc-chips .chip,.rm-replay{min-height:44px;display:inline-flex;align-items:center}
.rm-replay{padding:0 14px}
.ask-chip{padding:0 14px}
.faq summary{min-height:44px;display:flex;align-items:center}
.faq summary::after{top:50%;margin-top:-.5em;line-height:1}

/* 2. FAQ klapt vloeiend open en dicht (hoogte-animatie waar de browser het kan, anders een zachte infade) */
@media (prefers-reduced-motion:no-preference){
  .faq details[open]>p{animation:faqIn var(--t-base) var(--ease)}
  @keyframes faqIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
  @supports (interpolate-size:allow-keywords){
    .faq{interpolate-size:allow-keywords}
    .faq details::details-content{block-size:0;overflow:hidden;opacity:0;transition:block-size var(--t-base) var(--ease),opacity var(--t-base) var(--ease),content-visibility var(--t-base) allow-discrete}
    .faq details[open]::details-content{block-size:auto;opacity:1}
    .faq details[open]>p{animation:none}
  }
}

/* 8. Instellingen van de bezoeker: meer contrast, minder doorzichtigheid */
@media (prefers-contrast:more){
  :root{--line:#7d8798;--muted:#3a4352;--shadow-s:0 0 0 1px #7d8798}
  .header{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 2px 0 var(--navy)}
  .card,.pick,.ask,.ask-out,.rm-hud,.calc-map{border:2px solid var(--navy)}
  .btn-outline,.rm-chip,.ask-chip,.calc-chips .chip{border-color:var(--navy)}
  .rm-hud{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}
}
@media (prefers-reduced-transparency:reduce){
  *{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .header,.rm-hud{background:#fff}
}

/* Samensteller: datum + starttijd */
.calc-when{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.calc-field{display:flex;flex-direction:column;gap:4px;font-size:.75rem;font-weight:700;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.calc-field input,.calc-field select{min-height:44px;padding:0 14px;border:2px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font:700 1rem var(--font-body);letter-spacing:0;text-transform:none;cursor:pointer;transition:border-color var(--t-fast),box-shadow var(--t-fast)}
.calc-field{min-width:0}.calc-field input{-webkit-appearance:none;appearance:none;min-width:0;max-width:100%;box-sizing:border-box}.calc-field input::-webkit-date-and-time-value{text-align:left}
.calc-field input:hover,.calc-field select:hover{border-color:var(--navy)}
.calc-field input:focus,.calc-field select:focus{outline:0;border-color:var(--navy);box-shadow:0 0 0 4px rgba(27,42,74,.12)}
.calc-rate{margin:10px 0 0;font-size:.9rem;color:var(--muted);text-align:right}
.calc-rate b{color:var(--green)}
@media (max-width:860px){.calc-when{justify-content:flex-start;width:100%}.calc-field{flex:1;min-width:130px}.calc-field input,.calc-field select{width:100%}.calc-rate{text-align:left}}
