/* Vegas411 2026 redesign: events pages (/events, /events/tonight, /events/this-weekend, /events/calendar).
   Builds on v2026.css + v2026-cat.css. Listings are cream "marquee" cards; the calendar is a month grid on
   desktop and a day-by-day list (event days only) on phones. */

.ev { padding-block: 8px 64px; }
.ev__title { font-size: clamp(40px, 5vw, 72px); }
.ev__sub { margin-top: 10px; font-size: 19px; font-weight: 600; color: var(--muted); }
.cv__intro a { color: var(--bulb); text-decoration: underline; text-underline-offset: 3px; }

.ev__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 24px; }
.ev__tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.ev__tab { padding: 10px 16px; border-radius: 999px; background: var(--surface-2); font-weight: 700; font-size: 15px; }
.ev__tab:hover { background: var(--surface); color: var(--bulb); }
.ev__tab.is-on { background: var(--bulb); color: var(--letter); }
.ev__date { padding: 10px 16px; border-radius: 999px; background: var(--panel); color: var(--letter); font-weight: 700; font-size: 15px; }
.ev__range { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ev__range label { font-size: 14px; color: var(--muted); font-weight: 600; }
.ev__range input, .ev__range select { height: 42px; padding: 0 12px; border: 0; border-radius: 8px; background: var(--surface-2); color: var(--ink); font: 600 15px var(--text); color-scheme: dark; }
.ev__range button { height: 42px; padding: 0 18px; border: 0; border-radius: 999px; background: var(--sign-red); color: var(--sign-red-ink); font: 700 15px var(--text); cursor: pointer; }
.ev__range button:hover { background: #c81d27; }

.ev__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.ev__chip { display: inline-flex; align-items: center; gap: 6px; padding: 8px 13px; border-radius: 999px; background: var(--surface); font-size: 14px; font-weight: 600; }
.ev__chip span { font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; }
.ev__chip:hover { background: var(--surface-2); }
.ev__chip.is-on { background: var(--ink); color: var(--night); }
.ev__chip.is-on span { color: var(--night); }

.ev__empty { margin-top: 28px; padding: 18px; background: var(--surface); border-radius: 6px; }
.ev__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 28px; }
.ev-row { display: grid; grid-template-columns: 104px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 12px; background: var(--panel); color: var(--letter); border-radius: 6px; }
.ev-row__media img, .ev-row__media span { display: block; width: 104px; height: 104px; object-fit: cover; border-radius: 4px; background: #eadfbe; }
.ev-row__info { min-width: 0; }
.ev-row__when { margin: 0; font-size: 14px; font-weight: 700; color: var(--sign-red); font-variant-numeric: tabular-nums; }
.ev-row__title { margin-top: 4px; font-family: var(--display); font-weight: 900; font-size: 24px; line-height: 1; text-transform: uppercase; }
.ev-row__title a:hover { color: var(--sign-red); }
.ev-row__venue { margin: 6px 0 0; font-size: 14px; color: #5d4f3d; }
.ev-row__kind, .ev-row__free { display: inline-block; margin-left: 4px; padding: 2px 8px; border-radius: 999px; background: #eadfbe; color: var(--letter); font-size: 12px; font-weight: 700; }
.ev-row__free { background: var(--letter); color: var(--panel); }
.ev-row__btn { align-self: center; padding: 11px 16px; border-radius: 999px; background: var(--sign-red); color: var(--sign-red-ink); font-weight: 700; font-size: 14px; white-space: nowrap; }
.ev-row__btn:hover { background: #c81d27; }
.ev-row--ours { background: #fff7de; }

.ev-cal { margin-top: 28px; }
.ev-cal__head { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; margin-bottom: 14px; }
.ev-cal__head > :last-child { justify-self: end; }
.ev-cal__month { font-family: var(--display); font-weight: 900; font-size: 36px; text-transform: uppercase; }
.ev-cal__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.ev-cal__dow { padding: 6px; font-size: 13px; font-weight: 700; color: var(--muted); text-align: center; }
.ev-cal__blank { min-height: 120px; }
.ev-cal__day { min-height: 120px; padding: 8px; background: var(--surface); border-radius: 6px; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ev-cal__day.is-today { background: var(--panel); color: var(--letter); }
.ev-cal__num { margin: 0 0 2px; font-family: var(--display); font-weight: 800; font-size: 20px; }
.ev-cal__wd { display: none; }
.ev-cal__item { display: block; padding: 4px 6px; border-radius: 4px; background: var(--surface-2); font-size: 12px; font-weight: 600; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ev-cal__item.is-ours { background: var(--sign-red); color: var(--sign-red-ink); }
.ev-cal__item:hover { background: var(--bulb); color: var(--letter); }
.ev-cal__day.is-today .ev-cal__item:not(.is-ours) { background: #eadfbe; color: var(--letter); }
.ev-cal__more { font-size: 12px; font-weight: 700; color: var(--bulb); }
.ev-cal__day.is-today .ev-cal__more { color: var(--sign-red); }

@media (max-width: 1000px) {
  .ev__list { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  /* Calendar becomes a day-by-day list of days that have events */
  .ev-cal__grid { grid-template-columns: 1fr; gap: 8px; }
  .ev-cal__dow, .ev-cal__blank, .ev-cal__day.is-empty { display: none; }
  .ev-cal__day { min-height: 0; }
  .ev-cal__wd { display: inline; }
  .ev-cal__item { white-space: normal; font-size: 14px; padding: 7px 9px; }
  .ev-cal__month { font-size: 28px; }
}
@media (max-width: 640px) {
  .ev-row { grid-template-columns: 80px minmax(0, 1fr); }
  .ev-row__media img, .ev-row__media span { width: 80px; height: 80px; }
  .ev-row__title { font-size: 21px; }
  .ev-row__btn { grid-column: 1 / -1; text-align: center; }
  .ev__bar { align-items: flex-start; }
}

/* Breadcrumb (same as the article/category pages, which get it from v2026-post.css) */
.pv__crumbs { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 14px; color: var(--muted); }
.pv__crumbs a { color: var(--muted); }
.pv__crumbs a:last-child { color: var(--bulb); font-weight: 700; }
.pv__crumbs a:hover { color: var(--ink); }

@media (max-width: 760px) {
  /* Phone calendar: month on its own line, buttons beneath; list starts at today */
  .ev-cal__head { grid-template-columns: 1fr 1fr; }
  .ev-cal__month { grid-column: 1 / -1; grid-row: 1; text-align: center; }
  .ev-cal__day.is-past { display: none; }
}
