body {
}
.hero--calendar {
  background: radial-gradient(circle at top, rgba(225, 27, 59, 0.35), transparent 60%), radial-gradient(circle at bottom, rgba(10, 10, 20, 0.95), #050509 80%);
}
.hero--calendar .hero__inner p {
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}
.hero__actions {
  display: flex;
  justify-content: center;
  gap: var(--space-4);
  margin-top: var(--space-4);
}
.hero__poster {
  margin-top: var(--space-8);
  border-radius: var(--radius-xl);
  overflow: hidden;
  position: relative;
}
.hero__poster-image {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.hero__poster-overlay {
  position: absolute;
  inset-inline: var(--space-6);
  bottom: var(--space-5);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-full);
  background: linear-gradient(90deg, rgba(5, 5, 9, 0.9), rgba(5, 5, 9, 0.6));
  border: 1px solid rgba(255, 255, 255, 0.18);
  font-size: var(--font-size-xs);
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.hero__poster-label {
  color: var(--color-silver);
}
.hero__poster-meta {
  color: var(--color-text-muted);
}
.hero__floating-cards {
  position: relative;
  margin-top: var(--space-8);
}
.hero-float-card {
  position: absolute;
  max-width: 220px;
  padding: var(--space-4);
  border-radius: var(--radius-lg);
  background: var(--color-surface-glass);
  box-shadow: var(--shadow-subtle);
  font-size: var(--font-size-sm);
}
.hero-float-card p {
  margin-bottom: 0;
}
.hero-float-card--concert {
  top: -10px;
  left: 4%;
}
.hero-float-card--poker {
  bottom: -10px;
  left: 18%;
}
.hero-float-card--standup {
  top: -30px;
  right: 6%;
}
.featured-events-grid {
  margin-top: var(--space-8);
}
.featured-event__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: var(--space-3);
}
.featured-event__location {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 2fr);
  gap: var(--space-4);
  align-items: center;
  margin-top: var(--space-4);
}
.featured-event__location-image img {
  border-radius: var(--radius-md);
}
.featured-event__location-text h4 {
  margin-bottom: var(--space-2);
}
.featured-event__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-4);
  margin-top: var(--space-5);
}
.featured-event__capacity {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}
.event-filters {
  margin-top: var(--space-10);
}
.event-filters__form {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
.event-filters__row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-4);
}
.event-filters__row--bottom {
  grid-template-columns: minmax(0, 2.2fr) minmax(0, 1.8fr);
  align-items: end;
}
.event-filters__actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: var(--space-3);
}
.event-filters__view-toggle {
  display: inline-flex;
  gap: 6px;
}
.event-filters__helper {
  font-size: var(--font-size-sm);
}
.event-views {
  margin-top: var(--space-8);
}
.event-list__title,
.event-calendar__title {
  margin-bottom: var(--space-2);
}
.event-list__subtitle {
  margin-bottom: var(--space-6);
}
.event-list__items {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}
.event-item__header {
  margin-bottom: var(--space-3);
}
.event-item__datetime {
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--color-text-muted);
  margin-bottom: var(--space-2);
}
.event-item__title {
  margin-bottom: var(--space-2);
}
.event-item__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.event-item__body {
  margin-top: var(--space-3);
}
.event-quick-details {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: var(--space-2);
}
.event-quick-details__row {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 10px;
  font-size: var(--font-size-sm);
}
.event-quick-details dt {
  color: var(--color-text-muted);
}
.event-quick-details dd {
  margin: 0;
}
.event-item__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-5);
}
.event-item__more {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}
.event-calendar__table-wrapper {
  margin-top: var(--space-4);
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--color-border-subtle);
  background-color: rgba(12, 12, 20, 0.94);
}
.table-type {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: var(--radius-full);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.14em;
}
.table-type--concert {
  background: rgba(225, 27, 59, 0.2);
}
.table-type--standup {
  background: rgba(248, 113, 113, 0.2);
}
.table-type--dj {
  background: rgba(96, 165, 250, 0.2);
}
.table-type--offline {
  background: rgba(52, 211, 153, 0.2);
}
.table-type--poker {
  background: rgba(192, 132, 252, 0.24);
}
.event-quickview {
  font-size: var(--font-size-sm);
  color: var(--color-primary);
  cursor: pointer;
  background: transparent;
}
.event-quickview:hover {
  color: #fff !important;
}
.event-icon {
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: var(--gradient-primary);
}
.event-icon--standup {
  background: radial-gradient(circle at top, #f97373, #7b041a);
}
.event-icon--dj {
  background: radial-gradient(circle at top, #60a5fa, #1f2933);
}
.event-icon--offline {
  background: radial-gradient(circle at top, #22c55e, #064e3b);
}
.event-icon--poker {
  background: radial-gradient(circle at top, #e11b3b, #111827);
}
.offline-info {
  text-align: left;
}
.offline-info__links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-4);
}
.gallery-preview__strip {
  padding-top: var(--space-4);
}
.gallery-preview__item {
  min-width: 260px;
  max-width: 340px;
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.gallery-preview__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.reviews-grid {
  margin-top: var(--space-6);
}
.review-card__rating {
  font-size: var(--font-size-lg);
  color: var(--color-primary-soft);
  margin-bottom: var(--space-3);
}
.review-card__author {
  margin-bottom: 0;
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}
.calendar-cta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-4);
}
.calendar-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}
.btn[aria-disabled="true"] {
}
.btn.is-active,
.btn.btn-outline.is-active {
  border-color: rgba(225, 27, 59, 0.9);
  background-image: var(--gradient-primary);
  color: #ffffff;
}
.reveal-on-scroll {
}
.reveal-on-scroll.is-visible {
}
@media (max-width: 960px) {
  .hero__poster-overlay {
    inset-inline: var(--space-4);
    flex-direction: column;
    align-items: flex-start;
  }
  .hero-float-card {
    position: static;
    margin-top: var(--space-3);
    max-width: 100%;
  }
  .hero__floating-cards {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
  .featured-event__location {
    grid-template-columns: minmax(0, 1fr);
  }
  .event-filters__row {
    grid-template-columns: minmax(0, 1fr);
  }
  .event-filters__row--bottom {
    grid-template-columns: minmax(0, 1fr);
  }
  .event-filters__actions {
    justify-content: flex-start;
  }
  .event-item__footer,
  .featured-event__footer,
  .calendar-cta {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media (max-width: 600px) {
  .hero__actions {
    flex-direction: column;
  }
  .event-quick-details__row {
    grid-template-columns: minmax(0, 1fr);
  }
}
