/* Events pages - built on the --mb-* tokens and the shared components in
   site.css (.card.mb-card, .mb-chip, .mb-panel, .mb-empty). docs/events.md */

.mb-event-filters {
  background: var(--mb-paper-alt); border: 1px solid var(--mb-line);
  border-radius: var(--mb-radius-lg, 12px); padding: var(--mb-space-4, 1rem);
}

/* card */
.mb-event-card__media { position: relative; aspect-ratio: 16 / 9; background: var(--mb-paper-alt); overflow: hidden; }
.mb-event-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mb-event-card__placeholder { display: grid; place-items: center; height: 100%; color: var(--mb-muted); font-size: 2rem; }
.mb-event-card__date { font-size: var(--mb-fs-small, .875rem); font-weight: 600; color: var(--mb-blue); }
.mb-event-card__title { overflow-wrap: anywhere; }
.mb-event-card__price { font-weight: 600; font-size: var(--mb-fs-small, .875rem); white-space: nowrap; }
.mb-event-card.is-cancelled .mb-event-card__media img { filter: grayscale(1); opacity: .6; }
.mb-event-card.is-cancelled .mb-event-card__title { text-decoration: line-through; text-decoration-thickness: 1px; }
.mb-event-card .mb-event-status { position: absolute; top: .6rem; left: .6rem; }

/* status chips */
.mb-event-status { font-weight: 600; }
.mb-event-status--cancelled { background: var(--mb-red); color: var(--mb-white); }
.mb-event-status--postponed, .mb-event-status--rescheduled { background: var(--mb-amber); color: var(--mb-ink); }
.mb-event-status--offsale { background: var(--mb-paper); color: var(--mb-ink); border: 1px solid var(--mb-line-strong); }

/* detail */
.mb-event-alert { padding: var(--mb-space-3, .75rem) 0; font-size: 1.0625rem; }
.mb-event-alert--cancelled { background: var(--mb-red-tint); color: var(--mb-red); border-bottom: 2px solid var(--mb-red); }
.mb-event-alert--postponed, .mb-event-alert--rescheduled { background: color-mix(in srgb, var(--mb-amber) 18%, var(--mb-paper)); color: var(--mb-amber-text); border-bottom: 2px solid var(--mb-amber); }
.mb-event-alert--past { background: var(--mb-paper-alt); color: var(--mb-ink); border-bottom: 1px solid var(--mb-line); }
.mb-event-when { font-size: 1.125rem; font-weight: 600; }
.mb-event-buy { min-width: 260px; }
@media (max-width: 991.98px) { .mb-event-buy .btn { width: 100%; } }
.mb-event-hero { width: 100%; max-height: 460px; object-fit: cover; border-radius: var(--mb-radius-lg, 12px); display: block; }
.mb-event-note { border-left: 3px solid var(--mb-line-strong); padding-left: var(--mb-space-3, .75rem); margin-top: var(--mb-space-4, 1rem); }
.mb-event-map { height: 260px; border-radius: var(--mb-radius-md, 8px); border: 1px solid var(--mb-line); background: var(--mb-paper-alt); }

/* attribution (required on every page with Ticketmaster data) */
.mb-attribution {
  margin: var(--mb-space-6, 2rem) 0 0; padding-top: var(--mb-space-3, .75rem);
  border-top: 1px solid var(--mb-line); color: var(--mb-muted); font-size: var(--mb-fs-small, .875rem);
}
.mb-attribution a { color: inherit; text-decoration: underline; }
