/* TRE — site.css v1 — gedeelde schil en contentcomponenten voor alle pagina's.
   Laadt NA index.css (tokens, .cta, .eyebrow, .section-title, .faq-*, .reveal-*)
   en NA rondvaart.css (hero, .rv-*, .hp-card, .usp). Voegt alleen toe; overschrijft
   geen bestaande regels, zodat de verhuurpagina (scènes 1–3) ongemoeid blijft. */

/* ═══ NAV — dropdowns (Rondvaarten, Experience Hub) ═══ */
.tre-dd{position:relative;display:flex;align-items:center;gap:2px}
.tre-dd > a{padding-right:0}
.tre-dd-toggle{width:28px;height:32px;border:none;background:none;color:#E7ECF2;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:0;
  transition:color .18s,background .18s}
.tre-dd-toggle:hover,.tre-dd-toggle:focus-visible{color:var(--c-gold-400);background:rgba(255,255,255,.06);outline:none}
.tre-dd-toggle svg{transition:transform .2s}
.tre-dd-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.tre-dd-menu{position:absolute;top:calc(100% + 10px);left:-10px;min-width:240px;z-index:950;
  display:flex;flex-direction:column;gap:2px;padding:8px;
  background:rgba(6,10,16,.94);backdrop-filter:blur(20px) saturate(125%);-webkit-backdrop-filter:blur(20px) saturate(125%);
  border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 30px 90px rgba(0,0,0,.6);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .18s,transform .18s,visibility 0s .18s}
.tre-dd.is-open .tre-dd-menu{opacity:1;visibility:visible;transform:none;
  transition:opacity .18s,transform .18s,visibility 0s}
/* Onzichtbare brug over de tussenruimte tussen menu-item en uitklapmenu.
   Zonder deze strook verliest de muis het hover-gebied halverwege en klapt het
   menu dicht vóór je een product kunt aanklikken. */
.tre-dd-menu::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
/* Openen/sluiten loopt uitsluitend via .is-open (site.js: muis, klik én toetsenbord).
   Bewust GEEN :focus-within-regel: die hield na een klik op het pijltje het ene menu
   zichtbaar terwijl de muis al het andere opende — twee menu's over elkaar. */
.tre-links .tre-dd-menu a{display:block;padding:10px 12px;border-bottom:none;border-radius:10px;font-size:.9rem}
.tre-links .tre-dd-menu a:hover{background:rgba(255,255,255,.06);color:#fff}
.tre-links .tre-dd-menu a small{display:block;font-weight:500;color:#8A9AB0;font-size:.76rem;margin-top:2px}
.tre-links .tre-dd-menu a[aria-current="page"]{background:rgba(212,175,55,.1)}
.tre-dd.has-current > a{color:var(--c-gold-400);border-bottom-color:var(--c-gold-400)}
/* secundaire links (Over ons, Contact): alleen in het compacte menu en de voettekst (masterplan h.4) */
@media(min-width:961px){.tre-links a.tre-link--minor{display:none}}
@media(max-width:960px){
  .tre-dd{flex-direction:column;align-items:stretch;gap:0}
  .tre-dd > a{padding-right:14px}
  .tre-dd-toggle{position:absolute;right:6px;top:6px;width:40px;height:40px}
  .tre-dd-menu{position:static;opacity:1;transform:none;visibility:visible;transition:none;
    display:none;background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.06);
    box-shadow:none;border-radius:12px;margin:0 6px 6px;padding:4px}
  .tre-dd.is-open .tre-dd-menu{display:flex}
  .tre-dd-menu::before{display:none}
  .tre-links .tre-dd-menu a{padding:10px 14px;font-size:.95rem}
  .tre-links a.tre-link--minor{font-size:.95rem;color:#C8D4E0}
  .tre-links{max-height:calc(100dvh - 80px);overflow:auto}
}

/* ═══ FOOTER — kolommen ═══ */
.site-footer--cols{padding:clamp(40px,6vh,72px) clamp(20px,5vw,64px) 28px;text-align:left}
.sf-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:clamp(20px,3vw,44px);
  max-width:1240px;margin:0 auto clamp(24px,4vh,40px)}
.sf-brand .tre-logo{margin-bottom:12px}
.sf-brand p{font-size:.85rem;color:#8A9AB0;line-height:1.6;max-width:36ch;margin:0 0 10px}
.sf-col h4{margin:0 0 12px;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--c-gold-400);font-weight:700}
.sf-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.sf-col a{color:#C8D4E0;text-decoration:none;font-size:.9rem;transition:color .18s}
.sf-col a:hover{color:#fff}
.sf-col .sf-soon{color:#5A6678;font-size:.74rem;margin-left:6px}
.sf-bottom{max-width:1240px;margin:0 auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.06);
  display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;justify-content:space-between}
.sf-bottom p{margin:0;font-size:.78rem;color:#5A6678}
.sf-bottom a{color:#8A9AB0}
@media(max-width:900px){.sf-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.sf-grid{grid-template-columns:1fr}}

/* ═══ STATUS — boekingsstatus per product ═══ */
.status{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:999px;
  font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.status--live{color:#3EC9A7;background:rgba(62,201,167,.1);border:1px solid rgba(62,201,167,.35)}
.status--soon{color:var(--c-gold-400);background:rgba(212,175,55,.1);border:1px solid rgba(212,175,55,.4)}
.status--request{color:#9CC4F0;background:rgba(120,170,230,.1);border:1px solid rgba(120,170,230,.35)}
.status--dev{color:#B9C3D0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16)}

/* ═══ FACTS — feitelijke samenvatting direct onder de H1 (mens + AI-search) ═══ */
.rv-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px 18px;
  margin:.4rem 0 0;padding:14px 0 0;border-top:1px solid rgba(255,255,255,.1)}
.rv-facts div{display:flex;flex-direction:column;gap:2px}
.rv-facts dt{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#8A9AB0;font-weight:700;margin:0}
.rv-facts dd{margin:0;font-size:.95rem;font-weight:600;color:#E7ECF2;line-height:1.35}
.rv-facts dd small{display:block;font-weight:500;color:#9AA6B6;font-size:.78rem}

/* ═══ CONTENT — leesbare secties ═══ */
.section{max-width:1080px;margin:0 auto;padding:clamp(40px,6vh,72px) clamp(20px,5vw,64px)}
.section--tight{padding-top:clamp(24px,4vh,40px)}
.section--wide{max-width:1240px}
.prose{max-width:68ch}
.prose p{color:#C8D4E0;line-height:1.7;font-size:clamp(1rem,1.15vw,1.08rem);margin:0 0 1rem}
.prose p:last-child{margin-bottom:0}
.prose h3{margin:1.6rem 0 .5rem;font-size:clamp(1.1rem,1.6vw,1.3rem);font-weight:700;color:#fff}
.prose a{color:var(--c-gold-400)}
.lead{font-size:clamp(1.08rem,1.5vw,1.28rem);color:#DCE6F2;line-height:1.6}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,64px);align-items:center;
  max-width:1080px;margin:0 auto;padding:clamp(40px,6vh,72px) clamp(20px,5vw,64px)}
.split--rev > :first-child{order:2}
.split figure{margin:0;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.1);
  box-shadow:0 26px 90px rgba(0,0,0,.5);position:relative}
.split figure img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover;cursor:zoom-in}
.split figcaption{position:absolute;bottom:0;left:0;right:0;padding:22px 16px 12px;pointer-events:none;
  background:linear-gradient(0deg,rgba(5,8,13,.8),transparent);font-size:.74rem;letter-spacing:.07em;
  text-transform:uppercase;color:#DCE6F2;font-weight:600}
@media(max-width:900px){.split{grid-template-columns:1fr}.split--rev > :first-child{order:0}}

/* checklist — "Dit is inbegrepen" */
.check-list{list-style:none;margin:.6rem 0 0;padding:0;display:grid;gap:10px;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.check-list li{display:flex;gap:11px;align-items:flex-start;color:#DCE6F2;line-height:1.5;font-size:.97rem;
  background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:13px 16px}
.check-list .tick{flex-shrink:0;margin-top:2px}
.check-list li.is-not{color:#9AA6B6}
.check-list li.is-not .tick{color:#5A6678}

/* steps — "Zo werkt het" */
.steps{list-style:none;margin:.6rem 0 0;padding:0;counter-reset:st;display:grid;gap:14px;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.steps li{position:relative;counter-increment:st;padding:18px 18px 18px 62px;border-radius:16px;
  background:rgba(10,15,23,.72);border:1px solid rgba(255,255,255,.1);color:#C8D4E0;line-height:1.55;font-size:.93rem}
.steps li::before{content:counter(st);position:absolute;left:16px;top:16px;width:32px;height:32px;border-radius:50%;
  background:rgba(212,175,55,.12);border:1px solid rgba(212,175,55,.45);color:var(--c-gold-400);font-weight:800;
  display:flex;align-items:center;justify-content:center;font-size:.9rem}
.steps li b{display:block;color:#fff;margin-bottom:4px}

/* notice — eerlijke voorwaarden / status */
.notice{display:flex;gap:12px;align-items:flex-start;padding:14px 18px;border-radius:14px;
  background:rgba(120,170,230,.07);border:1px solid rgba(120,170,230,.28);color:#C8D4E0;font-size:.92rem;line-height:1.55}
.notice svg{flex-shrink:0;margin-top:2px;color:#9CC4F0}
.notice--gold{background:rgba(212,175,55,.07);border-color:rgba(212,175,55,.3)}
.notice--gold svg{color:var(--c-gold-400)}
.notice b{color:#fff}

/* ═══ PRICE TABLE — duurstaffel zelf varen ═══ */
.price-table{width:100%;border-collapse:separate;border-spacing:0;margin:.6rem 0 0;
  background:rgba(10,15,23,.72);border:1px solid rgba(255,255,255,.1);border-radius:18px;overflow:hidden}
.price-table th,.price-table td{padding:15px 20px;text-align:left;font-size:.98rem}
.price-table thead th{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#8A9AB0;font-weight:700;
  border-bottom:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.02)}
.price-table tbody tr + tr td{border-top:1px solid rgba(255,255,255,.06)}
.price-table td:last-child{text-align:right;font-weight:800;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.price-table tr.is-rec td{background:rgba(212,175,55,.08)}
.price-table tr.is-rec td:first-child{color:#fff;font-weight:700}
.price-table .rec-tag{display:inline-block;margin-left:10px;padding:3px 9px;border-radius:999px;font-size:.66rem;
  letter-spacing:.1em;text-transform:uppercase;color:#0A0F17;background:var(--c-gold-500);font-weight:800;vertical-align:middle}
.price-foot{margin:12px 0 0;font-size:.85rem;color:#8A9AB0;line-height:1.55}
@media(max-width:520px){.price-table th,.price-table td{padding:12px 14px;font-size:.92rem}}

/* ═══ LINK CARDS — Hub-subpagina's / productoverzicht ═══ */
.link-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(14px,2vw,22px);margin-top:clamp(20px,3vh,32px)}
.link-card{display:flex;flex-direction:column;gap:.6rem;text-decoration:none;color:inherit;position:relative;
  background:rgba(10,15,23,.72);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:22px 22px 24px;
  transition:border-color .2s,transform .25s}
.link-card:hover{border-color:rgba(212,175,55,.45);transform:translateY(-4px)}
.link-card h3{margin:0;font-size:clamp(1.05rem,1.5vw,1.25rem);font-weight:700;color:#fff;letter-spacing:-.01em}
.link-card p{margin:0;font-size:.9rem;color:#8A9AB0;line-height:1.55;flex:1}
.link-card .status{align-self:flex-start}
.link-card .hp-go{padding:0}
.link-card--img{padding:0;overflow:hidden}
.link-card--img .lc-img{aspect-ratio:3/2;overflow:hidden}
.link-card--img .lc-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.link-card--img:hover .lc-img img{transform:scale(1.045)}
.link-card--img .lc-body{display:flex;flex-direction:column;gap:.55rem;padding:16px 20px 22px;flex:1}

/* ═══ CHAPTERS — homepage: ervaringen als scrollreis ═══ */
.chapters{max-width:1240px;margin:0 auto;padding:0 clamp(20px,5vw,64px)}
.chapter{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);align-items:center;
  padding:clamp(48px,9vh,110px) 0;border-top:1px solid rgba(255,255,255,.06)}
.chapter:first-child{border-top:none}
.chapter:nth-child(even) .ch-media{order:2}
.ch-media{position:relative;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.1);
  box-shadow:0 34px 110px rgba(0,0,0,.6);aspect-ratio:4/3}
.ch-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.chapter:hover .ch-media img{transform:scale(1.04)}
.ch-num{position:absolute;top:16px;left:16px;padding:6px 12px;border-radius:999px;font-size:.7rem;letter-spacing:.14em;
  text-transform:uppercase;font-weight:800;color:#0A0F17;background:var(--c-gold-500)}
.ch-copy h2{margin:.4rem 0 .8rem;font-weight:800;letter-spacing:-.02em;line-height:1.05;font-size:clamp(1.9rem,3.8vw,3.1rem)}
.ch-copy p{color:#C8D4E0;line-height:1.7;font-size:clamp(1rem,1.2vw,1.12rem);margin:0 0 1.1rem;max-width:52ch}
.ch-copy .rv-cta-row{margin-top:.2rem}
.ch-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0 0 1rem;padding:0;list-style:none}
.ch-meta li{font-size:.86rem;color:#9AA6B6;display:flex;align-items:center;gap:7px}
.ch-meta li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--c-gold-400)}
@media(max-width:900px){.chapter{grid-template-columns:1fr;gap:22px}.chapter:nth-child(even) .ch-media{order:0}}

/* ═══ PLACEHOLDER — eerlijke tijdelijke afbeelding (foto volgt) ═══ */
.ph{position:relative;display:flex;align-items:flex-end;padding:18px;border-radius:20px;overflow:hidden;
  aspect-ratio:4/3;border:1px dashed rgba(255,255,255,.18);
  background:
    radial-gradient(60% 50% at 20% 20%, rgba(62,201,167,.16), transparent 60%),
    radial-gradient(50% 60% at 85% 80%, rgba(212,175,55,.14), transparent 60%),
    linear-gradient(160deg,#0B121C,#06090E)}
.ph span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#8A9AB0;font-weight:700}

/* ═══ CRUMBS — broodkruimel (klein, boven H1-secties) ═══ */
.crumbs{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-size:.78rem;color:#8A9AB0}
.crumbs a{color:#9AA6B6;text-decoration:none}
.crumbs a:hover{color:#fff}
.crumbs li + li::before{content:"›";margin-right:6px;color:#5A6678}

/* ═══ CTA BAND — eind van pagina ═══ */
.cta-band{max-width:1080px;margin:0 auto;padding:0 clamp(20px,5vw,64px) clamp(56px,9vh,110px)}
.cta-band-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 28px;
  padding:clamp(24px,4vw,40px);border-radius:24px;background:rgba(212,175,55,.08);border:1px solid rgba(212,175,55,.35)}
.cta-band h2{margin:0 0 6px;font-size:clamp(1.3rem,2.4vw,1.9rem);font-weight:800;letter-spacing:-.01em}
.cta-band p{margin:0;color:#C8D4E0;max-width:52ch;line-height:1.55}

/* ═══ ENQUIRY FORM — groepen & arrangementen ═══ */
.add-btn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:.5rem 1rem;border-radius:999px;
  border:1px solid rgba(62,201,167,.45);background:rgba(62,201,167,.08);color:#DCE6F2;font-weight:600;font-size:.9rem;
  cursor:pointer;transition:background .18s,border-color .18s}
.add-btn:hover{background:rgba(62,201,167,.16)}
.add-btn[aria-pressed="true"]{background:rgba(62,201,167,.22);border-color:var(--c-mint);color:#fff}
.add-btn .ab-ico{width:18px;height:18px;border-radius:50%;border:1.5px solid currentColor;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;line-height:1}
.add-btn[aria-pressed="true"] .ab-ico{background:var(--c-mint);border-color:var(--c-mint);color:#05080D}
.add-btn:focus-visible{outline:none;box-shadow:var(--focus)}
.act-block{padding:clamp(22px,3vw,34px);border-radius:22px;background:rgba(10,15,23,.72);border:1px solid rgba(255,255,255,.1);
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,36px);align-items:start}
.act-block + .act-block{margin-top:clamp(14px,2vh,22px)}
.act-block figure{margin:0;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}
.act-block figure img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.act-block h3{margin:.3rem 0 .6rem;font-size:clamp(1.25rem,2vw,1.6rem);font-weight:800;letter-spacing:-.01em}
.act-block p{color:#C8D4E0;line-height:1.65;margin:0 0 .9rem}
.act-block .rv-cta-row{margin-top:.4rem;align-items:center}
.act-more{margin-top:.6rem;border-top:1px solid rgba(255,255,255,.08);padding-top:.6rem}
.act-more summary{cursor:pointer;color:var(--c-gold-400);font-weight:600;font-size:.92rem;list-style:none;display:flex;align-items:center;gap:8px}
.act-more summary::-webkit-details-marker{display:none}
.act-more summary::before{content:"+";width:20px;height:20px;border-radius:50%;border:1px solid currentColor;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem}
.act-more[open] summary::before{content:"–"}
.act-more p{margin-top:.7rem;font-size:.93rem;color:#B9C3D0}
@media(max-width:820px){.act-block{grid-template-columns:1fr}}

.enq{max-width:820px;margin:clamp(20px,3vh,32px) auto 0;padding:clamp(22px,3.5vw,40px);border-radius:26px;
  background:rgba(10,15,23,.8);border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 100px rgba(0,0,0,.5)}
.enq-progress{margin:0 0 18px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--c-gold-400);font-weight:700}
.enq-bar{height:3px;border-radius:2px;background:rgba(255,255,255,.08);margin:-8px 0 22px;overflow:hidden}
.enq-bar i{display:block;height:100%;background:var(--c-gold-500);width:16.6%;transition:width .3s}
.enq-step{border:none;margin:0;padding:0;min-width:0}
.enq-step[hidden]{display:none}
.enq-step legend{font-size:clamp(1.3rem,2.2vw,1.7rem);font-weight:800;letter-spacing:-.01em;margin-bottom:6px;padding:0}
.enq-intro{margin:0 0 18px;color:#9AA6B6;line-height:1.6;font-size:.95rem}
.fld{display:flex;flex-direction:column;gap:6px;margin:0 0 16px;min-width:0}
.fld > label,.fld > .lbl{font-weight:600;color:#E7ECF2;font-size:.95rem}
.fld .hint{font-size:.82rem;color:#8A9AB0;line-height:1.5}
.fld .req{color:var(--c-gold-400);margin-left:3px}
.fld input[type="text"],.fld input[type="email"],.fld input[type="tel"],.fld input[type="number"],.fld input[type="date"],
.fld input[type="time"],.fld select,.fld textarea{
  width:100%;min-height:46px;padding:11px 14px;border-radius:12px;font:inherit;font-size:1rem;color:#fff;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.16);transition:border-color .18s,box-shadow .18s}
.fld textarea{min-height:110px;resize:vertical;line-height:1.5}
.fld select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23C8D4E0' stroke-width='2'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
.fld input:focus-visible,.fld select:focus-visible,.fld textarea:focus-visible{outline:none;border-color:var(--c-gold-400);box-shadow:var(--focus)}
.fld input[aria-invalid="true"],.fld select[aria-invalid="true"]{border-color:#E06C6C}
.fld .err{display:none;font-size:.84rem;color:#F0A0A0}
.fld.has-err .err{display:block}
.fld-row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
@media(max-width:600px){.fld-row{grid-template-columns:1fr}}
.choices{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.choices--inline{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.choice{display:flex;gap:11px;align-items:flex-start;padding:12px 14px;border-radius:12px;cursor:pointer;
  background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.1);transition:border-color .18s,background .18s}
.choice:hover{border-color:rgba(255,255,255,.25)}
.choice:has(:checked){border-color:var(--c-mint);background:rgba(62,201,167,.1)}
.choice input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--c-mint);flex-shrink:0}
.choice span{color:#E7ECF2;font-size:.95rem;line-height:1.4}
.choice small{display:block;color:#8A9AB0;font-size:.8rem;margin-top:2px}
.choice.choice--muted{border-style:dashed}
.enq-block{margin:22px 0 0;padding:20px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08)}
.enq-block[hidden]{display:none}
.enq-block h3{margin:0 0 4px;font-size:1.1rem;font-weight:700}
.enq-block .fixed{margin:0 0 14px;font-size:.86rem;color:#8A9AB0;line-height:1.55}
.enq-nav{display:flex;justify-content:space-between;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}
.enq-nav [hidden]{display:none}
.enq-alert{margin:16px 0 0;padding:14px 16px;border-radius:12px;font-size:.93rem;line-height:1.55}
.enq-alert[hidden]{display:none}
.enq-alert--err{background:rgba(224,108,108,.1);border:1px solid rgba(224,108,108,.4);color:#F5C2C2}
.enq-alert--ok{background:rgba(62,201,167,.1);border:1px solid rgba(62,201,167,.4);color:#CDEFE5}
.enq-alert a{color:#fff}
.enq-alert ul{margin:8px 0 0;padding-left:18px}
.review{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.review li{padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}
.review h3{margin:0 0 8px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--c-gold-400);display:flex;justify-content:space-between;align-items:center}
.review h3 button{font:inherit;font-size:.72rem;letter-spacing:.06em;text-transform:none;background:none;border:1px solid rgba(255,255,255,.2);color:#C8D4E0;border-radius:999px;padding:3px 10px;cursor:pointer}
.review dl{margin:0;display:grid;grid-template-columns:minmax(120px,.7fr) 1.3fr;gap:6px 14px;font-size:.92rem}
.review dt{color:#8A9AB0}
.review dd{margin:0;color:#E7ECF2}
.enq-done{text-align:center;padding:clamp(28px,5vh,56px) 0}
.enq-done h2{margin:.5rem 0 .6rem;font-size:clamp(1.5rem,3vw,2.2rem)}
.enq-done p{color:#C8D4E0;max-width:52ch;margin:0 auto;line-height:1.6}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* example programmes (groepen) */
.ex-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(14px,2vw,22px);margin-top:clamp(20px,3vh,32px)}
.ex-card{padding:24px;border-radius:20px;background:rgba(10,15,23,.72);border:1px solid rgba(255,255,255,.1)}
.ex-card .eyebrow{font-size:.7rem}
.ex-card h3{margin:.5rem 0 .6rem;font-size:1.2rem;font-weight:800}
.ex-card p{margin:0;color:#C8D4E0;line-height:1.6;font-size:.94rem}

/* mobile booking bar on request pages */
@media(max-width:760px){.site-footer--cols{padding-bottom:110px}}

/* ═══ HERO WEBGL — lichtlaag (hero-gl.js); zwart = geen effect dankzij screen-blend ═══ */
.rv-hero-gl{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none;
  mix-blend-mode:screen;opacity:0;transition:opacity 1.8s ease}
.rv-hero-gl.is-on{opacity:.7}
@media(prefers-reduced-motion:reduce){.rv-hero-gl{display:none}}

/* smalle desktops (961–1250px): compacter menu zodat zes hoofditems + logo + taal passen */
@media(max-width:1250px) and (min-width:961px){
  .tre-links{gap:12px}
  .tre-links a{font-size:.8rem}
  .tre-nav-cta{display:none}
}

/* hidden-attribuut wint altijd, ook van display:flex/grid op componentklassen */
.notice[hidden],.fld[hidden],.fld-row[hidden],.enq [hidden],.link-card[hidden]{display:none!important}

/* ═══ HOMEPAGE — de Rotterdam-wereld (home-gl.js) achter de hele pagina ═══ */
.world{position:fixed;inset:0;z-index:0;width:100%;height:100%;display:block;pointer-events:none;
  opacity:0;transition:opacity 1.4s ease}
.world.is-on{opacity:1}
.world-fallback{position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,#0C1A33 0%,#1C3358 42%,#0A1626 43%,#04070B 100%)}
/* Alleen main en footer hoeven boven de wereld-canvas te liggen.
   ZET HIER GEEN `header` OF `.book-rail` BIJ: die zijn position:fixed met een eigen
   z-index. `body.home header` is specifieker dan `.tre-nav` en maakte de navigatie
   op de homepage relatief én z-index 1 — met als gevolg dat de balk wegscrolde
   en de hero-sectie over het uitklapmenu heen lag, zodat de producten in dat menu
   wel zichtbaar maar niet aanklikbaar waren. */
body.home main,body.home footer{position:relative;z-index:1}
/* hero zonder fotolaag: de wereld ís de hero */
.home-hero{position:relative;min-height:100svh;display:flex;align-items:center;
  max-width:1280px;margin:0 auto;padding:clamp(96px,14vh,160px) clamp(20px,5vw,64px) clamp(120px,16vh,180px)}
.home-hero .rv-hero-copy{max-width:720px;background:rgba(6,10,16,.42);
  backdrop-filter:blur(16px) saturate(120%);-webkit-backdrop-filter:blur(16px) saturate(120%);
  border:1px solid rgba(255,255,255,.14);border-radius:26px;padding:clamp(24px,4.5vh,46px) clamp(24px,4vw,50px);
  box-shadow:0 30px 100px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.08)}
.home-hero .rv-title{font-size:clamp(2.6rem,6.2vw,5.2rem)}
/* snelkeuze: alle activiteiten direct in de hero */
.quick{display:flex;flex-wrap:wrap;gap:8px;margin:1.1rem 0 0;padding:0;list-style:none}
.quick a{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;text-decoration:none;
  color:#E7ECF2;font-size:.86rem;font-weight:600;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);
  transition:background .18s,border-color .18s,transform .18s}
.quick a:hover{background:rgba(212,175,55,.16);border-color:rgba(212,175,55,.5);transform:translateY(-1px)}
.quick a i{width:6px;height:6px;border-radius:50%;background:var(--c-gold-400)}
.quick a i.soon{background:#9CC4F0}
/* hoofdstukken en secties laten de wereld doorschijnen */
body.home .chapter{border-top-color:rgba(255,255,255,.08)}
body.home .ch-copy{background:rgba(6,10,16,.5);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:clamp(22px,3.5vw,40px)}
body.home .ch-media{box-shadow:0 34px 110px rgba(0,0,0,.7)}
body.home .link-card,body.home .usp{background:rgba(8,12,19,.66);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
body.home .s6-header .section-title,body.home .ch-copy h2{text-shadow:0 2px 24px rgba(0,0,0,.6)}
body.home .rv-final{background:rgba(4,7,11,.4)}
@media(max-width:760px){.home-hero{padding-bottom:clamp(100px,14vh,140px)}}
@media(prefers-reduced-motion:reduce){.world{transition:none}}

/* Experience Card — uitgelicht in hero en als gouden hoofdstuk */
.card-badge{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:1rem 0 0;padding:12px 16px;border-radius:16px;text-decoration:none;color:#E7ECF2;
  background:linear-gradient(120deg,rgba(212,175,55,.18),rgba(212,175,55,.06));border:1px solid rgba(212,175,55,.45);transition:border-color .18s,transform .18s}
.card-badge:hover{border-color:var(--c-gold-400);transform:translateY(-1px)}
.card-badge b{font-size:.98rem}
.card-badge > span:last-child{font-size:.84rem;color:#C8D4E0}
body.home .chapter--card .ch-copy{border-color:rgba(212,175,55,.5);background:linear-gradient(160deg,rgba(212,175,55,.12),rgba(6,10,16,.55));box-shadow:0 20px 80px rgba(212,175,55,.12)}
body.home .chapter--card .ch-media{border-color:rgba(212,175,55,.4)}

/* ═══ CORRECTIES 12-09-2026 ═══ */

/* 1. Mobiel: de nav-boekknop hoorde te verdwijnen, maar `.cta{display:inline-flex}`
   staat in index.css ná het mobiele blok en won. Met `.tre-nav .tre-nav-cta`
   (hogere specificiteit) klopt het weer — anders duwt de knop het hamburger-
   menu buiten beeld en is het menu op een telefoon onbereikbaar. */
@media(max-width:960px){
  .tre-nav .tre-nav-cta{display:none}
  .tre-nav{gap:10px;padding-left:14px;padding-right:14px}
  .tre-logo{min-width:0}
  .tre-wordmark{overflow:hidden;text-overflow:ellipsis}
}

/* 2. Home: kaarten en blokken stonden te doorzichtig over de WebGL-wereld,
   waardoor stadslichten dwars door de tekst schenen. */
body.home .link-card,body.home .usp{background:rgba(8,12,19,.88);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-color:rgba(255,255,255,.14)}
body.home .ch-copy{background:rgba(6,10,16,.66)}
body.home .ex-card{background:rgba(10,15,23,.88)}

/* 3. Dezelfde volgorde-fout als bij de nav-knop: de boekpil rechtsboven hoorde op
   desktop te verdwijnen (daar staat de knop in de navbalk), maar `.book-rail`
   met `display:flex` staat in index.css ná dat mediablok. Gevolg: de pil lag
   over de navigatie heen. Op mobiel blijft hij als vaste balk onderin staan. */
@media(min-width:761px){ .book-rail{display:none} }

/* 4. Menu-items mogen niet over twee regels breken ("Avond Skyline Cruise",
   "Groepen & arrangementen"); bij minder ruimte schakelt het menu compacter. */
@media(min-width:961px){ .tre-links a{white-space:nowrap} }
@media(max-width:1400px) and (min-width:961px){
  .tre-links{gap:12px}
  .tre-links a{font-size:.8rem}
  .tre-nav .tre-nav-cta{display:none}
}

/* ═══ RONDVAARTEN — overzichtspagina (/nl/rondvaart-rotterdam/) ═══ */
.rv-choice--3{grid-template-columns:repeat(3,1fr);max-width:1240px;margin-left:auto;margin-right:auto}
.rv-choice-header{grid-column:1/-1;text-align:center;margin-bottom:clamp(6px,1vh,14px)}
.rv-choice .rv-card h3{margin:0;font-size:clamp(1.25rem,1.9vw,1.6rem);font-weight:700;letter-spacing:-.01em;color:#fff}
.rv-card-price--status{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:1rem}
.rv-card-price--status small{font-size:.8rem}
.rv-area-intro{max-width:62ch;margin:.6rem auto 0;color:#B9C3D0;line-height:1.6}
.rv-areas{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,24px);margin-top:clamp(20px,3vh,32px)}
.rv-area{display:flex;flex-direction:column;gap:14px;padding:clamp(18px,2.4vw,28px);border-radius:18px;
  background:rgba(10,15,23,.72);border:1px solid rgba(255,255,255,.1)}
.rv-area--night{border-color:rgba(212,175,55,.35);background:linear-gradient(180deg,rgba(14,18,30,.9),rgba(8,12,19,.85))}
.rv-area h3{margin:0;font-size:clamp(1.2rem,1.8vw,1.5rem);color:#fff}
.rv-area-sub{margin:-8px 0 0;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:#8A9AB0;font-weight:600}
.rv-area .rv-route-note{margin-top:0;flex:1}
.rv-area .hp-go{align-self:flex-start}
.rv-area-prive{max-width:62ch;margin:clamp(18px,3vh,28px) auto 0;text-align:center;color:#B9C3D0;line-height:1.6}
.rv-help{padding:clamp(48px,8vh,96px) clamp(20px,5vw,64px)}
.rv-help .section-wrap{max-width:820px}
.rv-help-list{display:flex;flex-direction:column;gap:10px;margin-top:clamp(18px,3vh,28px)}
.rv-help-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 20px;border-radius:14px;
  text-decoration:none;color:#C8D4E0;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);transition:border-color .2s,transform .2s}
.rv-help-row:hover{border-color:rgba(212,175,55,.45);transform:translateX(4px)}
.rv-help-row b{color:var(--c-gold-400);white-space:nowrap;font-weight:700}
@media(max-width:960px){.rv-choice--3{grid-template-columns:1fr}.rv-areas{grid-template-columns:1fr}}
@media(max-width:600px){.rv-help-row{flex-direction:column;align-items:flex-start;gap:6px}.rv-help-row b{white-space:normal}}

/* ═══ HERO met de boot als geblurde achtergrond (avond- en privérondvaart) ═══ */
.rv-hero--boot .rv-hero-media img{filter:blur(5px) brightness(.72) saturate(1.1);transform:scale(1.08)}
.rv-hero--boot .rv-hero-media img.kenburns{animation:tre-kenburns-boot 22s ease-in-out infinite alternate}
@keyframes tre-kenburns-boot{from{transform:scale(1.08)}to{transform:scale(1.16)}}
@media(prefers-reduced-motion:reduce){.rv-hero--boot .rv-hero-media img.kenburns{animation:none}}

/* ═══ Workshop: strook met soorten microgroenten ═══ */
.kweek-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:1080px;margin:clamp(22px,3vh,34px) auto 0}
.kweek-strip figure{margin:0;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:rgba(10,15,23,.6)}
.kweek-strip img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.kweek-strip figcaption{padding:8px 12px;font-size:.8rem;font-weight:600;color:#C8D4E0;letter-spacing:.02em}
@media(max-width:760px){.kweek-strip{grid-template-columns:repeat(2,1fr)}}

/* ═══ Mini-museum: tekst van Stichting Erfgoedhavens ═══ */
.erfgoed-quote{margin:0 0 1.1rem;padding:14px 18px;border-left:3px solid var(--c-gold-400);background:rgba(212,175,55,.06);border-radius:0 12px 12px 0}
.erfgoed-quote p{margin:0;font-style:italic;color:#E7ECF2;line-height:1.6}
.erfgoed-quote footer{margin-top:8px;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:#8A9AB0;font-weight:600}

/* ═══ Tekstlinks: wit met gouden onderstreping (standaard-blauw was onleesbaar) ═══ */
main :is(p,li,dd,dt,figcaption,blockquote,small,span) > a:not(.cta):not(.hp-go):not(.link-card):not(.tre-lang){
  color:#fff;text-decoration:underline;text-decoration-color:rgba(212,175,55,.75);text-decoration-thickness:1px;
  text-underline-offset:3px;transition:color .18s,text-decoration-color .18s}
main :is(p,li,dd,dt,figcaption,blockquote,small,span) > a:not(.cta):not(.hp-go):not(.link-card):hover{color:var(--c-gold-400);text-decoration-color:var(--c-gold-400)}
.prose a{color:#fff;text-decoration:underline;text-decoration-color:rgba(212,175,55,.75);text-underline-offset:3px}
.prose a:hover{color:var(--c-gold-400)}

/* ═══ Mobiel: labels niet kleiner dan 12px ═══ */
@media(max-width:760px){
  .eyebrow,.ch-num,.status,.rv-card-tag,.cta-note,.rv-facts dt,.sf-soon{font-size:.78rem}
  .rv-facts dd small,.tre-dd-menu small{font-size:.8rem}
}

/* ═══ Mobiel: lange statuslabels mogen afbreken (liepen uit de kaart) ═══ */
@media(max-width:760px){.status{white-space:normal;text-align:left;line-height:1.3;max-width:100%}.status::before{flex-shrink:0}}

/* ═══ Hero-kolom mag nooit breder worden dan het scherm (flex-item min-width:auto
   liet een lang woord in de H1 de kolom oprekken, bv. 'nieuwsgierigheid' op Over ons) ═══ */
.rv-hero-copy{min-width:0;max-width:min(660px,100%)}
@media(max-width:760px){.rv-title,.section-title,.rv-final-title{overflow-wrap:anywhere;hyphens:auto}}
/* Zelfde specificiteit als rondvaart.css, later geladen: kolom nooit breder dan de hero. */
.rv-hero-inner{width:100%;max-width:100%;box-sizing:border-box}
.rv-hero--cinematic .rv-hero-copy{max-width:min(660px,100%);min-width:0}
@media(max-width:420px){.rv-hero--cinematic .rv-title{font-size:clamp(1.7rem,9vw,2.4rem)}}

/* ═══ Footer: juridische regel · juridische pagina's ═══ */
.sf-legal{font-size:.74rem;color:#6F7D8F;line-height:1.6;max-width:1240px;margin:8px auto 0}
.sf-legal a{color:#9AA6B6;text-decoration:underline;text-underline-offset:2px}
.sf-legal a:hover{color:#fff}
.legal{padding-top:calc(clamp(40px,6vh,72px) + 70px)}
.legal .section-title{text-align:left;margin-top:.6rem}
.legal .legal-concept{margin:0 0 1.4rem}
.legal .prose h3{margin-top:1.8rem}
.legal .prose em{color:#E6C964;font-style:normal}
