/* De Nachtwacht — sectie-stijl uit agenda.html */
/* vaste avonden */
  .vast .vgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
  .vast .vcard{ position:relative; background:var(--ink-2); border:1px solid var(--line); border-radius:4px; padding:36px 30px; overflow:hidden; transition:border-color .3s, transform .3s; }
  .vast .vcard:hover{ border-color:var(--line-gold); transform:translateY(-4px); }
  .vast .vcard .day{ font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); font-weight:700; }
  .vast .vcard h3{ font-size:25px; margin:12px 0 10px; }
  .vast .vcard p{ color:var(--muted); font-size:14.5px; }
  .vast .vcard .t{ margin-top:18px; font-family:var(--sans); font-weight:600; color:var(--cream); font-size:15px; }
  /* upcoming list */
  .events{ list-style:none; max-width:920px; margin:0 auto; }
  .event{ display:grid; grid-template-columns:104px 1fr auto; gap:34px; align-items:center; padding:30px 0; border-top:1px solid var(--line); transition:padding-left .3s ease; }
  .events .event:last-child{ border-bottom:1px solid var(--line); }
  .event:hover{ padding-left:10px; }
  .event .date{ display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid var(--line-gold); border-radius:4px; padding:14px 0; width:104px; }
  .event .date .d{ font-family:var(--serif); font-weight:800; font-size:34px; line-height:1; color:var(--cream); }
  .event .date .m{ font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold-deep); font-weight:700; margin-top:5px; }
  .event.hot .date{ background:var(--gold); border-color:var(--gold); }
  .event.hot .date .d{ color:#1d1411; } .event.hot .date .m{ color:#3b2a25; }
  .event .info h3{ font-size:24px; margin-bottom:6px; }
  .event .info .tag{ display:inline-block; font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; font-weight:700; color:var(--gold); margin-bottom:10px; }
  .event .info p{ color:var(--muted); font-size:14.5px; max-width:520px; }
  .event .meta{ display:flex; flex-direction:column; align-items:flex-end; gap:10px; text-align:right; }
  .event .meta .when{ display:block; }
  .event .meta .day{ display:block; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); font-weight:700; }
  .event .meta .t{ display:block; font-family:var(--serif); font-weight:700; font-size:19px; color:var(--cream); margin-top:4px; }
  .btn.evt-tickets{ padding:10px 20px; font-size:11px; border-radius:8px; }
  .evt-free{ font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; font-weight:700; color:var(--muted); }
  .events-wrap{ background:var(--ink-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .endcta{ text-align:center; }
  .endcta h2{ font-size:clamp(28px,4vw,46px); margin-bottom:14px; }
  .endcta p{ color:var(--muted); margin-bottom:30px; }
  @media(max-width:900px){ .vast .vgrid{ grid-template-columns:1fr; } }
  @media(max-width:680px){
    .event{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:16px; padding:30px 0; }
    .event:hover{ padding-left:0; }
    .event .date{ width:88px; }
    .event .info{ display:flex; flex-direction:column; align-items:center; }
    .event .info p{ max-width:none; }
    .event .meta{ align-items:center; text-align:center; }
  }
