.tg-banner{ display:flex; align-items:center; gap:9px; flex-wrap:wrap; max-width:1060px; margin:0 auto 16px; padding:11px 16px;
  background:color-mix(in srgb, var(--to-merk,#2256c9) 9%, var(--to-vlak,#fff)); border:1px solid color-mix(in srgb, var(--to-merk,#2256c9) 24%, var(--to-lijn,#e5e9f0));
  color:color-mix(in srgb, var(--to-merk,#2256c9) 60%, var(--to-tekst,#0f172a)); border-radius:999px; font-size:.88rem; }
.tg-banner[data-empty]{ background:#fef3c7; border-color:#fcd34d; color:#92400e; }
.tg-banner svg{ flex-shrink:0; }
.tg-banner a{ margin-left:auto; font-weight:700; color:inherit; white-space:nowrap; }
.tg-banner a.tg-cta{ display:inline-flex; align-items:center; padding:5px 13px; margin-top:-3px; margin-bottom:-3px; border-radius:999px;
  background:var(--to-knop,#2256c9); color:var(--to-op-knop,#fff); text-decoration:none; font-weight:650; }
.tg-banner a.tg-cta:hover{ background:var(--to-knop-2,#1c49ad); }
.tg-kort{ display:none; }
.tg-kort-zin{ display:none; }
.tg-weg{ display:none; background:none; border:0; color:inherit; cursor:pointer; font-size:1.1rem; line-height:1; padding:0; }
.tg-overlay{ position:fixed; inset:0; z-index:9999; background:rgba(15,23,42,.58); display:flex; align-items:center; justify-content:center; padding:20px; -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); }
.tg-overlay[hidden]{ display:none !important; }
.tg-card{ background:var(--to-vlak,#fff); border-radius:20px; max-width:430px; width:100%; padding:30px 28px 22px; 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; }
.tg-ic{ width:58px; height:58px; border-radius:16px; background:#ffe57a; color:#101114; display:flex; align-items:center; justify-content:center; margin:0 auto 15px; }
.tg-card h3{ 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; }
.tg-card p{ color:var(--to-gedempt,#475569); font-size:.95rem; line-height:1.55; margin:0 0 12px; }
.tg-list{ text-align:left; margin:0 auto 18px; max-width:320px; padding:0; list-style:none; font-size:.9rem; color:var(--to-tekst-2,#334155); }
.tg-list li{ display:flex; align-items:flex-start; gap:8px; padding:4px 0; }
.tg-list svg{ color:#0e7a4f; flex-shrink:0; margin-top:2px; }
.tg-btn{ display:block; width:100%; box-sizing:border-box; background:var(--to-knop,#2256c9); color:var(--to-op-knop,#fff); border:1px solid transparent; border-radius:999px; padding:.85rem; font-weight:650; text-decoration:none; font-size:1rem;
  box-shadow:0 14px 30px -14px rgba(34,86,201,.8); }
.tg-btn:hover{ background:var(--to-knop-2,#1c49ad); }
.tg-btn.tg-btn-2{ margin-top:8px; background:transparent; color:var(--to-tekst,#0f172a); border-color:var(--to-lijn-2,#cbd5e1); box-shadow:none; }
.tg-btn.tg-btn-2:hover{ border-color:var(--to-gedempt,#475569); }
.tg-close{ background:none; border:none; color:var(--to-gedempt,#475569); margin-top:12px; cursor:pointer; font-size:.88rem; }
.tg-close:hover{ color:var(--to-tekst,#0f172a); }
@media (max-width:640px){
  .tg-banner{ flex-wrap:nowrap; gap:7px; margin:0 0 8px; padding:6px 10px; font-size:.78rem; line-height:1.3; border-radius:999px; }
  .tg-banner svg{ width:14px; height:14px; }
  .tg-banner > span{ flex:1 1 auto; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .tg-banner a{ margin-left:0; flex:0 0 auto; }
  .tg-banner a + a{ display:none; }
  .tg-banner a.tg-cta{ padding:4px 11px; }
  .tg-lang{ display:none; }
  .tg-kort{ display:inline; }
  .tg-banner > .tg-zin{ display:none; }
  .tg-kort-zin{ display:inline; }
  .tg-banner button{ flex:0 0 auto; min-width:30px; min-height:30px; margin:-6px -6px -6px -2px; display:inline-flex; align-items:center; justify-content:center; border-radius:8px; }
  .tg-weg{ display:inline-flex; }
  .tg-banner[data-weg]{ display:none !important; }
  #tgBanner.tg-banner.tg-vast{ left:10px; right:auto; transform:none; bottom:calc(10px + env(safe-area-inset-bottom, 0px));
    width:auto; max-width:calc(100vw - 72px); margin:0; padding:6px 10px; gap:7px; font-size:.78rem; }
}
#tgBrug{ right:14px; bottom:58px; max-width:310px; }
#tgFb{ left:14px; bottom:52px; max-width:290px; }
@media (max-width:640px){
  #tgBrug{ left:10px; right:10px; max-width:none; bottom:calc(62px + env(safe-area-inset-bottom, 0px)); }
  #tgFb{ left:10px; right:auto; max-width:calc(100vw - 20px); bottom:calc(62px + env(safe-area-inset-bottom, 0px)); }
}