/* ============================================
   Challenges Listing – layout, grids, winners, CTA
   ============================================ */

.section-title {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
    margin-bottom: var(--margin-lg);
}

/* Top Challenges grid */
.top-challenges {
    margin-bottom: var(--margin-xl);
}

.top-challenges-grid {
    display: flex;
    flex-direction: column;
    gap: var(--gap-lg);
}

/* Medium Challenges grid */
.medium-challenges {
    margin-bottom: var(--margin-xl);
}

.medium-challenges-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--gap-lg);
}

@media (min-width: 768px) {
    .medium-challenges-grid {
        grid-template-columns: 1fr 1fr;
    }
}

/* Active / Past Challenges grid */
.challenges-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--gap-lg);
    margin-bottom: var(--margin-xl);
}

@media (min-width: 576px) {
    .challenges-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 992px) {
    .challenges-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Winners Wall */
.winners-wall {
    margin-bottom: var(--margin-xl);
}

.winners-grid {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-lg);
    justify-content: center;
}

/* Submit Idea CTA */
.submit-idea-cta {
    background: var(--color-primary-100);
    border-radius: var(--radius-2xl);
    padding: var(--padding-2xl);
    text-align: center;
    margin-bottom: var(--margin-xl);
}

.submit-idea-cta h2 {
    font-size: var(--font-size-2xl);
    margin-bottom: var(--margin-sm);
}

.submit-idea-cta p {
    max-width: 500px;
    margin: 0 auto var(--margin-md);
    color: var(--color-text-primary);
}