html.vw-lok:not(.vw-werk){
  --vw-bg:transparent; --vw-panel:var(--to-vlak); --vw-line:var(--to-lijn-2);
  --vw-text:var(--to-tekst); --vw-muted:var(--to-gedempt); --vw-accent:var(--to-merk);
}
html.vw-lok body{ font-family:'Inter Tight',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif; }
html.vw-lok:not(.vw-werk), html.vw-lok:not(.vw-werk) body{ height:auto; }
html.vw-lok:not(.vw-werk) body{ display:block; min-height:100vh; color:var(--to-tekst); }
html.vw-lok:not(.vw-werk) .vw-top{ display:none; }
html.vw-lok:not(.vw-werk) .vw-main{ overflow:visible; }
html.vw-lok.vw-werk{ background:var(--vw-bg); color-scheme:dark; }
html.vw-lok.vw-werk body{ background:var(--vw-bg); }
html.vw-lok.vw-werk body::after{ display:none; }
html.vw-lok.vw-werk .vw-lok-kop, html.vw-lok.vw-werk .vw-lok-voet{ display:none; }
html.vw-lok .vw-lok-kop{ max-width:1060px; margin:14px auto 0; padding:6px 16px;
  display:flex; align-items:center; flex-wrap:wrap; gap:8px 10px;
  background:transparent; border-color:transparent; box-shadow:none; }
html.vw-lok .vw-lok-kop .pt-back{ display:inline-flex; align-items:center; gap:6px; margin-right:auto;
  color:var(--to-gedempt); text-decoration:none; font-size:.84rem; font-weight:600; white-space:nowrap; }
html.vw-lok .vw-lok-kop .pt-back:hover{ color:var(--to-tekst); }
html.vw-lok .vw-lok-kop .pt-cats-menu{ left:auto; right:0; }
@media (max-width:640px){
  html.vw-lok .vw-lok-kop{ margin-top:8px; padding:6px 12px; border-radius:0; }
  html.vw-lok .vw-lok-kop .pt-hub-merk{ margin-right:auto; }
  html.vw-lok .vw-lok-kop .pt-back{ display:none; }
}
html.vw-lok .vw-lok-pil{ align-self:center; display:inline-flex; align-items:center; gap:7px;
  margin:0 0 14px; padding:5px 12px; border-radius:999px; font-size:.78rem; font-weight:600;
  background:var(--kl-mint); color:var(--kl-inkt); }
html.vw-lok .vw-lok-sub{ width:100%; max-width:560px; margin:12px auto 24px; text-align:center;
  font-size:1.02rem; line-height:1.55; color:var(--to-gedempt); text-wrap:balance; }
html.vw-lok .vw-lokaal-drop{ background:var(--to-vlak); border-color:var(--to-lijn-2); color:var(--to-tekst);
  box-shadow:var(--to-schaduw); transition:border-color .12s, background .12s; }
html.vw-lok .vw-lokaal-drop:hover, html.vw-lok .vw-lokaal-drop.over{ border-color:var(--to-merk); background:var(--to-papier); color:var(--to-tekst); }
html.vw-lok .vw-lokaal-drop:focus-visible{ outline:2px solid var(--to-merk); outline-offset:3px; }
html.vw-lok .vw-lokaal-drop svg{ color:var(--to-merk); }
html.vw-lok .vw-lokaal-drop .small{ color:var(--to-gedempt); opacity:1; }
html.vw-lok .vw-lokaal-drop .vw-lok-privacy{ margin-top:10px; font-size:.8rem; font-weight:600; color:var(--to-tekst-2); }
html.vw-lok .vw-lok-kies{ display:inline-flex; align-items:center; gap:8px; margin-top:16px; padding:.6rem 1.2rem;
  border-radius:999px; background:var(--to-knop); color:var(--to-op-knop); font-weight:650; font-size:.92rem; }
html.vw-lok .vw-lokaal-drop:hover .vw-lok-kies{ background:var(--to-knop-2); }
html.vw-lok .vw-lok-formaten{ width:100%; max-width:560px; margin:20px auto 0; display:grid; gap:12px; }
html.vw-lok .vw-lok-groep{ display:grid; gap:6px; }
html.vw-lok .vw-lok-groepkop{ font-size:.7rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--to-gedempt); }
html.vw-lok .vw-lok-chips{ display:flex; flex-wrap:wrap; gap:5px; }
html.vw-lok .vw-lok-chip{ font-size:.72rem; font-weight:650; letter-spacing:.02em; padding:3px 8px; border-radius:999px;
  background:var(--to-vlak); color:var(--to-tekst-2); border:1px solid var(--to-lijn); }
html.vw-lok .vw-uitleg-titel{ margin:0 0 10px; font-size:.74rem; font-weight:700; letter-spacing:.07em;
  text-transform:uppercase; color:var(--to-gedempt); }
html.vw-lok .vw-uitleg-lijst{ background:var(--to-vlak); border:1px solid var(--to-lijn); border-radius:12px; overflow:hidden; }
html.vw-lok .vw-uitleg-item + .vw-uitleg-item{ border-top:1px solid var(--to-lijn); }
html.vw-lok .vw-uitleg-item > summary{ display:flex; align-items:center; gap:12px; min-height:48px; padding:12px 18px;
  cursor:pointer; list-style:none; }
html.vw-lok .vw-uitleg-item > summary::-webkit-details-marker{ display:none; }
html.vw-lok .vw-uitleg-item > summary:hover{ background:var(--to-papier); }
html.vw-lok .vw-uitleg-item > summary:focus-visible{ outline:2px solid var(--to-merk); outline-offset:-2px; }
html.vw-lok .vw-uitleg-item h2{ flex:1 1 auto; min-width:0; margin:0; font:inherit; font-size:.95rem; font-weight:600;
  line-height:1.35; color:var(--to-tekst); }
html.vw-lok .vw-uitleg-pijl{ flex:0 0 auto; color:var(--to-gedempt); transition:transform .15s ease; }
html.vw-lok .vw-uitleg-item[open] .vw-uitleg-pijl{ transform:rotate(180deg); }
html.vw-lok .vw-uitleg-tekst{ padding:0 18px 16px; }
html.vw-lok .vw-uitleg-tekst p{ margin:0; color:var(--to-tekst-2); font-size:.92rem; line-height:1.6; }
html.vw-lok .vw-uitleg-tekst a{ color:var(--to-merk); }
@media (prefers-reduced-motion:reduce){ html.vw-lok .vw-uitleg-pijl{ transition:none; } }
html.vw-lok #vwMijn h3{ margin:0 0 10px; font-size:.74rem; font-weight:700; letter-spacing:.07em;
  text-transform:uppercase; color:var(--to-gedempt); }
html.vw-lok .vw-mijn-kaart{ background:var(--to-vlak); border-color:var(--to-lijn); }
html.vw-lok .vw-mijn-kaart:hover{ border-color:var(--to-merk); }
html.vw-lok .vw-mijn-kaart .pv{ background:var(--to-vlak-2); color:var(--to-gedempt); }
html.vw-lok .vw-mijn-kaart .sz{ color:var(--to-gedempt); }
html.vw-lok .vw-lok-voet{ padding:0 16px; }
html.vw-lok .vw-top .vw-lok-save{ margin-left:8px; padding:1px 8px; font-size:11.5px; vertical-align:baseline; }
html.vw-lok .vw-top .vw-deel-mini{ font-size:11px; padding:0 8px; }
html.vw-lok .vw-lok-ander{ border:1px solid var(--vw-line); background:transparent; color:var(--vw-text); }
html.vw-lok .vw-lok-ander:hover{ border-color:var(--vw-accent); color:var(--vw-accent); filter:none; }
#vwGate{ position:fixed; inset:0; z-index:9500; display:flex; align-items:center; justify-content:center; padding:20px;
  background:rgba(15,23,42,.58); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); }
.vw-gate-kaart{ position:relative; background:var(--to-vlak,#fff); color:var(--to-tekst,#0f172a); border-radius:20px; max-width:430px; width:100%;
  padding:30px 28px 20px; text-align:center; box-shadow:0 34px 70px -22px rgba(0,0,0,.55);
  font-family:'Inter Tight',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif; }
.vw-gate-ic{ width:58px; height:58px; border-radius:16px; background:#ffe57a; color:#101114; display:flex; align-items:center;
  justify-content:center; margin:0 auto 15px; }
.vw-gate-kaart h2{ font-family:'Fraunces',Georgia,serif; font-size:1.45rem; line-height:1.18; letter-spacing:-.02em; margin:0 0 10px;
  color:var(--to-tekst,#0f172a); font-weight:500; }
.vw-gate-kaart p{ color:var(--to-gedempt,#475569); font-size:.95rem; line-height:1.55; margin:0 0 18px; }
.vw-gate-knop{ display:block; box-sizing:border-box; width:100%; border:1px solid transparent; border-radius:999px; padding:.85rem;
  background:var(--to-knop,#2256c9); color:var(--to-op-knop,#fff); font-weight:650; font-size:1rem; text-decoration:none; }
.vw-gate-knop:hover{ background:var(--to-knop-2,#1c49ad); }
.vw-gate-knop.vw-gate-2{ margin-top:8px; background:transparent; color:var(--to-tekst,#0f172a); border-color:var(--to-lijn-2,#cbd5e1); }
.vw-gate-knop.vw-gate-2:hover{ border-color:var(--to-gedempt,#475569); }
.vw-gate-sluit{ background:none; border:none; color:var(--to-gedempt,#475569); margin-top:12px; padding:6px 10px; cursor:pointer;
  font:inherit; font-size:.88rem; }
.vw-gate-sluit:hover{ color:var(--to-tekst,#0f172a); }
.vw-gate-x{ position:absolute; top:10px; right:10px; width:34px; height:34px; border-radius:50%; border:0; background:transparent;
  color:var(--to-gedempt,#475569); font-size:22px; line-height:1; cursor:pointer; }
.vw-gate-x:hover{ background:var(--to-vlak-2,#eef1f6); color:var(--to-tekst,#0f172a); }