/*
  Events page: zone-based grid, no whole-page scroll.
  The page fills (viewport minus nav); calendar sidebar scrolls independently.
  Each preview event splits the right-column vertical space.
*/

.page-events {
  position: relative;        /* for the hidden radio inputs */
  block-size: calc(100dvh - var(--nav-height));
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-md);
  padding: var(--space-md);
}

@media (min-width: 56.25em) {
  .page-events { grid-template-columns: 14rem minmax(0, 1fr); }
}

.page-events > aside {
  overflow-y: auto;
  scrollbar-gutter: stable;
  min-block-size: 0;
}

.page-events > .events-pane {
  display: grid;
  grid-auto-rows: minmax(0, 1fr);
  gap: var(--space-md);
  min-block-size: 0;
}

/* All events hidden by default; per-day :has() rules in <style> reveal them.
   Generated inline in events/catalog.php so they stay bound to actual day IDs. */
.events-pane > .event { display: none; }
