@charset "UTF-8";

.page-intro {
  display: grid;
  gap: var(--space-16);
  margin-bottom: var(--space-32);
}

.page-title-row {
  display: grid;
  gap: var(--space-16);
}

.page-intro-lead {
  max-width: 52rem;
}

.ticket-layout {
  margin-top: var(--space-24);
}

.ticket-card-private h2 {
  text-transform: none;
}

.ticket-subtitle {
  margin-top: var(--space-8);
  color: var(--color-muted);
  font-size: var(--font-size-sm);
  max-width: 30rem;
}

.ticket-aside-grid {
  display: grid;
  gap: var(--space-12);
  font-size: var(--font-size-xs);
}

.ticket-aside-grid dt {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-muted);
}

.ticket-aside-grid dd {
  margin: 0;
}

.section-header {
  display: grid;
  gap: var(--space-8);
  margin-bottom: var(--space-24);
}

.section-title-row {
  display: grid;
  gap: var(--space-8);
  max-width: 52rem;
}

.section-kicker {
  letter-spacing: 0.14em;
}

.formats-grid {
  align-items: stretch;
}

.card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
}

.section-aligned {
  align-items: center;
}

.section-reverse {
  direction: rtl;
}

.section-reverse > * {
  direction: ltr;
}

.section-media {
  align-self: stretch;
  display: flex;
  align-items: center;
}

.media-card {
  background-color: var(--color-surface);
  border-radius: var(--radius-md);
  padding: var(--space-16);
  border: var(--border-thin) solid var(--color-border-soft);
  box-shadow: var(--shadow-xs);
  display: grid;
  gap: var(--space-8);
}

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

.bullet-grid li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-12);
}

.bullet-number {
  font-family: var(--font-mono);
  font-size: var(--font-size-xs);
  padding: 2px 6px;
  border-radius: var(--radius-pill);
  border: var(--border-hairline) solid var(--color-border);
}

.bullet-title {
  font-size: var(--font-size-md);
}

.bullet-text {
  font-size: var(--font-size-sm);
  color: var(--color-text);
}

.points-grid {
  align-items: stretch;
}

.age-grid {
  align-items: stretch;
}

.gallery-grid {
  display: grid;
  gap: var(--space-24);
}

.gallery-card {
  padding: var(--space-24);
}

.gallery-cta {
  display: grid;
  gap: var(--space-16);
}

.final-cta {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: var(--space-24);
  align-items: center;
}

.final-cta-actions {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
  align-items: flex-start;
}

@media (max-width: 959.98px) {
  .final-cta {
    grid-template-columns: minmax(0, 1fr);
  }
  .section-reverse {
    direction: ltr;
  }
}

@media (max-width: 767.98px) {
  .ticket-card {
    margin-top: var(--space-16);
  }
  .media-card {
    padding: var(--space-12);
  }
}
