.tournaments-hero {
  position: relative;
  overflow: hidden;
  min-height: 320px;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 2fr);
}

.tournaments-hero__media {
  position: relative;
  height: 100%;
}

.tournaments-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tournaments-hero__content {
  position: relative;
  padding-top: var(--space-48);
  padding-bottom: var(--space-48);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-24);
}

.tournaments-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-16);
}

.tournaments-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
}

.tournaments-section__header {
  max-width: 720px;
}

.tournaments-section__header p {
  margin-top: var(--space-8);
}

.tournaments-layout-main {
  gap: var(--space-32);
  align-items: flex-start;
}

.tournaments-layout-main__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
}

.tournaments-sidebar {
  max-width: 360px;
  width: 100%;
}

.tournaments-sidebar__nav {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
  margin-top: var(--space-16);
}

.tournaments-sidebar__nav a {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
}

.tournaments-sidebar__nav a:hover {
  color: var(--color-primary);
}

.tournaments-atmosphere__highlights,
.tournaments-atmosphere .tournaments-atmosphere__highlights {
  margin-top: var(--space-16);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
}

.tournaments-schedule {
  margin-top: var(--space-32);
}

.tournaments-schedule__controls {
  display: flex;
  justify-content: flex-end;
  margin-bottom: var(--space-16);
}

.tournaments-schedule__table-wrapper {
  width: 100%;
  overflow-x: auto;
}

.tournaments-schedule__cta {
  margin-top: var(--space-24);
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}

.tournaments-howto-layout {
  gap: var(--space-32);
  align-items: flex-start;
}

.tournaments-steps {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}

.tournaments-steps h3 {
  font-size: var(--font-size-lg);
  margin-bottom: var(--space-8);
}

.tournaments-cta-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}

.tournaments-cta-card__list {
  list-style: disc;
  padding-left: 1.25rem;
  margin-bottom: var(--space-16);
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
}

.tournaments-rewards-layout {
  gap: var(--space-32);
  align-items: center;
}

.tournaments-rewards__image {
  max-height: 360px;
}

.tournaments-rewards-card__list {
  list-style: disc;
  padding-left: 1.25rem;
  margin-bottom: var(--space-16);
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
}

.tournaments-forall-layout {
  gap: var(--space-32);
}

.tournaments-forall-card__tags {
  margin-top: var(--space-16);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
}

.tournaments-themed-card__list {
  list-style: disc;
  padding-left: 1.25rem;
  margin-bottom: var(--space-16);
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
}

.tournaments-recap-layout {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
}

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

.tournaments-gallery-item .card-body h3 {
  font-size: var(--font-size-xl);
}

.tournaments-upcoming-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1.3fr);
  gap: var(--space-32);
  align-items: stretch;
  padding: var(--space-32);
}

.tournaments-upcoming-layout__image img {
  height: 100%;
}

.tournaments-upcoming-details__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
  margin-bottom: var(--space-16);
}

.tournaments-upcoming-details__list {
  list-style: disc;
  padding-left: 1.25rem;
  margin-bottom: var(--space-16);
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
}

.tournaments-upcoming-details__cta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-16);
}

@media (max-width: 1023px) {
  .tournaments-hero {
    grid-template-columns: minmax(0, 1fr);
  }

  .tournaments-hero__media {
    max-height: 260px;
  }

  .tournaments-upcoming-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .tournaments-sidebar {
    max-width: none;
  }
}

@media (max-width: 767px) {
  .tournaments-hero__content {
    padding-top: var(--space-32);
    padding-bottom: var(--space-32);
  }

  .tournaments-hero__actions,
  .tournaments-upcoming-details__cta {
    flex-direction: column;
    align-items: stretch;
  }

  .tournaments-upcoming-layout {
    padding: var(--space-24);
  }
}
