.calendar-page .section-header {
  max-width: 760px;
  margin: 0 auto var(--space-40);
}

.hero__cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-12);
  margin-top: var(--space-24);
}

.hero-disclaimer {
  margin-top: var(--space-32);
}

.calendar-search__form {
  margin-top: var(--space-32);
}

.calendar-search__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-20);
}

.calendar-search__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-12);
  margin-top: var(--space-24);
}

.calendar-search__hint {
  margin-top: var(--space-16);
  font-size: var(--font-size-sm);
}

.calendar-search__link {
  text-decoration: underline;
}

.calendar-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: var(--space-32);
}

.calendar-upcoming__visual {
  margin: var(--space-24) 0;
}

.calendar-upcoming__image-wrap {
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
}

.calendar-upcoming__list {
  display: grid;
  gap: var(--space-20);
}

.event-card {
  border-radius: var(--radius-lg);
  padding: var(--space-20);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: var(--shadow-soft);
}

.event-card--poker {
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.97), rgba(15, 23, 42, 0.92));
  color: #e5e7eb;
}

.event-card--poker p,
.event-card--poker .event-card__meta {
  color: #e5e7eb;
}

.event-card--poker .event-tag {
  background-color: rgba(250, 204, 21, 0.25);
  color: #fefce8;
}

.event-card__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-16);
  margin-bottom: var(--space-12);
}

.event-card__title {
  font-size: var(--font-size-lg);
  margin-bottom: 4px;
}

.event-card__meta {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}

.event-card__footer {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-12);
  margin-top: var(--space-16);
}

.event-card__chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
  margin-top: var(--space-12);
}

.program-cards__title {
  margin-bottom: var(--space-8);
}

.program-cards__intro {
  font-size: var(--font-size-sm);
}

.program-cards__image-wrap {
  margin-top: var(--space-16);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
}

.program-cards__list {
  display: grid;
  gap: var(--space-16);
  margin-top: var(--space-20);
  font-size: var(--font-size-sm);
}

.program-cards__list .event-tag {
  margin-bottom: 4px;
}

.program-cards__cta {
  margin-top: var(--space-20);
}

.venue-filter__title {
  margin-bottom: var(--space-8);
}

.venue-filter__list {
  display: grid;
  gap: var(--space-16);
  margin-top: var(--space-16);
}

.venue-filter__item {
  padding: var(--space-16);
  border-radius: var(--radius-md);
  background: var(--color-bg-soft);
}

.venue-filter__item-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-8);
  margin-bottom: 4px;
}

.venue-filter__btn {
  margin-top: var(--space-12);
}

.venue-filter__footer {
  margin-top: var(--space-20);
}

.calendar-past__content {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.6fr);
  gap: var(--space-32);
  align-items: flex-start;
}

.calendar-past__image-wrap {
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
}

.calendar-past__highlights {
  display: grid;
  gap: var(--space-20);
}

.past-card {
  padding: var(--space-20);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.95);
  box-shadow: var(--shadow-soft);
}

.past-card h3 {
  font-size: var(--font-size-lg);
}

.calendar-media .gallery-grid {
  margin-top: var(--space-24);
}

.calendar-participation__layout {
  max-width: 960px;
  margin: 0 auto;
}

.calendar-participation__list {
  display: grid;
  gap: var(--space-12);
  margin-top: var(--space-16);
  font-size: var(--font-size-sm);
}

.calendar-participation__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-12);
  margin-top: var(--space-20);
}

.calendar-poker__layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1.1fr);
  gap: var(--space-24);
  align-items: flex-start;
}

.calendar-poker__list {
  display: grid;
  gap: var(--space-10);
  margin-top: var(--space-12);
  font-size: var(--font-size-sm);
}

.calendar-poker__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-12);
  margin-top: var(--space-20);
}

.calendar-faq__layout {
  display: grid;
  grid-template-columns: minmax(0, 2.1fr) minmax(0, 1.2fr);
  gap: var(--space-32);
  align-items: flex-start;
}

.calendar-faq__items {
  display: grid;
  gap: var(--space-16);
}

.faq-item {
  border-radius: var(--radius-lg);
  padding: var(--space-16) var(--space-20);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--shadow-soft);
}

.faq-item__question {
  font-size: var(--font-size-lg);
}

.faq-item__answer {
  margin-top: var(--space-8);
  font-size: var(--font-size-sm);
}

.calendar-faq__cta {
  position: sticky;
  top: 96px;
}

@media (max-width: 1024px) {
  .calendar-layout {
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.1fr);
  }

  .calendar-past__content,
  .calendar-poker__layout,
  .calendar-faq__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .calendar-faq__cta {
    position: static;
  }
}

@media (max-width: 900px) {
  .calendar-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .calendar-search__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .hero__cta-row {
    flex-direction: column;
    align-items: stretch;
  }

  .calendar-search__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .event-card__header {
    flex-direction: column;
  }

  .calendar-participation__actions,
  .calendar-poker__actions {
    flex-direction: column;
  }
}
