.page-section--esport-hero {
  padding-top: var(--space-5xl);
}

.hero-grid--esport {
  align-items: center;
}

.hero-content--esport {
  max-width: 40rem;
}

.hero-eyebrow--esport {
  gap: var(--space-xs);
}

.hero-eyebrow__divider {
  color: var(--color-text-subtle);
}

.hero-title--esport {
  background: var(--color-gradient-crimson);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.hero-subtitle--esport {
  max-width: 36rem;
}

.hero-actions--esport .btn {
  max-width: 100%;
}

.hero-media--esport {
  max-width: 640px;
  margin-inline: auto;
}

.hero-media-inner--esport {
  background: radial-gradient(circle at top left, rgba(229, 9, 59, 0.4), transparent 60%), #050509;
}

.hero-media-overlay--esport {
  background: linear-gradient(145deg, rgba(5, 5, 9, 0.9), transparent 40%);
}

.hero-media-meta--esport {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.hero-media-meta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm);
}

.hero-media-meta-text {
  font-size: var(--font-size-sm);
  color: var(--color-text-soft);
}

.hero-btn-primary,
.hero-btn-secondary {
  min-width: 0;
}

.page-section--esport-live {
  background: radial-gradient(circle at top, rgba(229, 9, 59, 0.12), transparent 60%);
}

.esport-tabs {
  justify-content: flex-end;
}

.esport-tab-btn {
  min-width: 0;
}

.esport-tab-btn.is-active {
  background: rgba(229, 9, 59, 0.2);
  border-color: rgba(229, 9, 59, 0.8);
  color: var(--color-text);
  box-shadow: var(--shadow-glow);
}

.esport-live-grid {
  align-items: stretch;
}

.esport-card {
  min-width: 0;
}

.esport-meta-list {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  font-size: var(--font-size-xs);
}

.esport-meta-list--inline {
  flex-direction: row;
  flex-wrap: wrap;
}

.esport-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2xs);
}

.esport-meta-row dt {
  font-weight: 600;
  color: var(--color-text-muted);
}

.esport-meta-row dd {
  margin: 0;
  color: var(--color-text-soft);
}

.esport-status {
  padding: 0.1rem 0.5rem;
  border-radius: var(--radius-pill);
  font-size: var(--font-size-2xs);
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.esport-status--live {
  background: rgba(229, 9, 59, 0.2);
  color: var(--color-primary-strong);
}

.esport-status--upcoming {
  background: rgba(255, 183, 77, 0.2);
  color: var(--color-warning);
}

.esport-status--finished {
  background: rgba(139, 143, 163, 0.2);
  color: var(--color-text-muted);
}

.esport-status--ongoing {
  background: rgba(64, 196, 255, 0.18);
  color: var(--color-info);
}

.page-section--esport-teams {
  background: radial-gradient(circle at 0 0, rgba(229, 9, 59, 0.14), transparent 60%), var(--color-bg-elevated);
}

.esport-team-grid {
  align-items: stretch;
}

.esport-team-card {
  min-width: 0;
}

.esport-team-media {
  max-width: 520px;
  margin-inline: auto;
}

.page-section--esport-analysis {
  background: radial-gradient(circle at 100% 0, rgba(64, 196, 255, 0.16), transparent 60%);
}

.esport-bullet-list {
  margin: 0;
  padding-left: 1.1rem;
  font-size: var(--font-size-sm);
  color: var(--color-text-soft);
}

.esport-bullet-list li + li {
  margin-top: 0.25em;
}

.esport-article {
  min-width: 0;
}

.esport-aside {
  align-self: stretch;
}

.esport-meta-table th,
.esport-meta-table td {
  white-space: normal;
}

.page-section--esport-calendar {
  background: radial-gradient(circle at bottom, rgba(229, 9, 59, 0.14), transparent 60%);
}

.esport-calendar-card {
  max-width: 100%;
}

.esport-calendar-table-wrapper {
  max-width: 100%;
}

.esport-calendar-table th,
.esport-calendar-table td {
  white-space: nowrap;
}

.esport-calendar-table td:nth-child(2),
.esport-calendar-table td:nth-child(5) {
  white-space: normal;
}

@media (max-width: 1023.98px) {
  .page-section--esport-hero {
    padding-top: var(--space-4xl);
  }
  .hero-content--esport {
    max-width: 100%;
  }
  .esport-tabs {
    justify-content: flex-start;
  }
}

@media (max-width: 767.98px) {
  .hero-media--esport {
    max-width: 100%;
  }
  .hero-media-meta-row {
    align-items: flex-start;
  }
  .esport-calendar-table th,
  .esport-calendar-table td {
    white-space: normal;
  }
}

@media (max-width: 479.98px) {
  .hero-actions--esport .btn-group {
    width: 100%;
  }
  .hero-actions--esport .btn {
    width: 100%;
  }
  .section-header__actions .btn {
    width: 100%;
  }
}
