/* Challenges page specific styles
   ------------------------------------------------------------------ */

.breadcrumbs {
  font-size: var(--font-size-sm);
  margin-bottom: var(--space-4);
  color: var(--gray-700);
}

.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  padding-left: 0;
}

.breadcrumbs li::after {
  content: "/";
  margin-left: 0.5rem;
  color: var(--gray-600);
}

.breadcrumbs li:last-child::after {
  content: "";
}

.challenges-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: var(--space-8);
  margin-top: var(--space-6);
  align-items: center;
}

.challenges-hero__content p {
  margin-bottom: var(--space-6);
}

.challenges-hero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
}

.challenges-hero__media {
  position: relative;
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-neon-cyan);
}

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

.section-header {
  margin-bottom: var(--space-6);
}

.weekly-card__header {
  margin-bottom: var(--space-4);
}

.weekly-card__meta {
  font-size: var(--font-size-sm);
  color: var(--gray-700);
}

.weekly-card__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: var(--space-8);
}

.weekly-card__details ul {
  margin-left: 1.2rem;
  margin-bottom: var(--space-4);
}

.weekly-card__details li {
  margin-bottom: 0.4rem;
}

.weekly-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  margin-top: var(--space-4);
}

.weekly-card__sidebar {
  padding: var(--space-4);
  border-radius: var(--radius-md);
  background-color: rgba(5, 7, 20, 0.9);
  border: 1px solid rgba(148, 163, 184, 0.55);
}

.weekly-card__stat {
  display: flex;
  justify-content: space-between;
  gap: var(--space-4);
  font-size: var(--font-size-sm);
  padding-block: 0.4rem;
  border-bottom: 1px solid rgba(75, 85, 99, 0.6);
}

.weekly-card__stat:last-child {
  border-bottom: 0;
}

.weekly-card__stat dt {
  color: var(--gray-700);
}

.weekly-card__note {
  margin-top: var(--space-3);
  font-size: var(--font-size-xs);
  color: var(--gray-700);
}

.archive-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--space-6);
}

.archive-item h3 {
  margin-bottom: var(--space-2);
}

.archive-meta {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--space-2);
  font-size: var(--font-size-sm);
  color: var(--gray-700);
}

.archive-meta li + li {
  margin-top: 0.2rem;
}

.archive-link {
  font-size: var(--font-size-sm);
}

.rule-card .rule-list,
.rules-scoring .rule-list {
  margin-left: 1.2rem;
}

.rule-card .rule-list li,
.rules-scoring .rule-list li {
  margin-bottom: 0.35rem;
}

.rules-scoring {
  margin-top: var(--space-6);
}

.mod-spotlights__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--space-6);
}

.mod-spotlights__item h3 {
  margin-bottom: var(--space-2);
}

.mod-meta {
  list-style: none;
  padding: 0;
  margin: var(--space-2) 0 0;
  font-size: var(--font-size-sm);
  color: var(--gray-700);
}

.mod-meta li + li {
  margin-top: 0.2rem;
}

.mod-spotlights__cta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  margin-top: var(--space-6);
}

.leaderboard-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
  gap: var(--space-6);
  align-items: stretch;
}

.leaderboard-layout__media {
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.leaderboard-layout__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.leaders-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.leaders-list__item + .leaders-list__item {
  margin-top: var(--space-4);
}

.leaders-list__item h3 {
  margin-bottom: var(--space-2);
}

.leaders-list__tip {
  font-size: var(--font-size-sm);
  color: var(--gray-700);
}

.leaders-cta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  margin-top: var(--space-4);
}

.reward-card .reward-list {
  margin-left: 1.2rem;
}

.reward-card .reward-list li {
  margin-bottom: 0.35rem;
}

.starter-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--space-8);
}

.tips-list {
  margin-left: 1.2rem;
  margin-bottom: var(--space-4);
}

.tips-list li {
  margin-bottom: 0.35rem;
}

.featured-soundtrack__card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
  gap: var(--space-6);
  align-items: stretch;
}

.featured-soundtrack__media {
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.featured-soundtrack__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.track-list {
  list-style: none;
  padding: 0;
  margin: var(--space-3) 0;
}

.track-list li + li {
  margin-top: 0.35rem;
}

.track-title {
  font-weight: 600;
  color: var(--color-silver);
}

.featured-soundtrack__note {
  font-size: var(--font-size-sm);
  color: var(--gray-700);
}

.qa-list {
  margin: 0;
}

.qa-item + .qa-item {
  margin-top: var(--space-4);
}

.qa-item dt {
  font-weight: 600;
  margin-bottom: 0.35rem;
}

.qa-item dd {
  margin: 0;
}

.submission-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--space-8);
}

.submission-list {
  margin-left: 1.2rem;
  margin-bottom: var(--space-4);
}

.submission-list li + li {
  margin-top: 0.35rem;
}

.teaser-card .teaser-hint {
  margin-top: var(--space-2);
  font-size: var(--font-size-sm);
  color: var(--gray-700);
}

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

  .leaderboard-layout,
  .featured-soundtrack__card,
  .weekly-card__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 640px) {
  .challenges-hero__cta,
  .weekly-card__actions,
  .mod-spotlights__cta,
  .leaders-cta {
    flex-direction: column;
    align-items: stretch;
  }
}
