/* ============================================
   Page Classement / Leaderboard
   ============================================ */

/* Podium top 3 */
.podium { display: flex; justify-content: center; align-items: flex-end; gap: 1rem; margin-bottom: 3rem; flex-wrap: wrap; }

.podium-item {
    text-align: center; padding: 1.5rem; min-width: 160px;
    background: var(--bg-glass); backdrop-filter: blur(12px);
    border: 1px solid var(--border-glass); border-radius: var(--radius-lg);
    transition: all var(--transition-base);
}
.podium-item:hover { transform: translateY(-4px); }

.podium-item.first { order: 2; min-width: 200px; padding: 2rem; border-color: rgba(255,215,0,0.3); box-shadow: 0 0 30px rgba(255,215,0,0.1); }
.podium-item.second { order: 1; border-color: rgba(192,192,192,0.3); }
.podium-item.third { order: 3; border-color: rgba(205,127,50,0.3); }

.podium-rank {
    font-family: var(--font-display); font-weight: 700; font-size: 1.5rem; margin-bottom: 0.5rem;
}
.podium-item.first .podium-rank { font-size: 2.5rem; background: var(--gradient-gold); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.podium-item.second .podium-rank { color: var(--rank-argent); }
.podium-item.third .podium-rank { color: var(--rank-bronze); }

.podium-avatar { width: 64px; height: 64px; border-radius: 50%; margin: 0 auto 0.75rem; object-fit: cover; border: 3px solid var(--border-glass); }
.podium-item.first .podium-avatar { width: 80px; height: 80px; border-color: rgba(255,215,0,0.4); }

.podium-name { font-weight: 600; margin-bottom: 0.25rem; }
.podium-xp { font-size: 0.85rem; color: var(--text-muted); }

/* Leaderboard table */
.lb-table { margin-top: 1rem; }
.lb-row {
    display: flex; align-items: center; padding: 0.85rem 1.25rem; gap: 1rem;
    border-bottom: 1px solid var(--border-glass); transition: background var(--transition-fast);
}
.lb-row:hover { background: var(--bg-card-hover); }
.lb-position { width: 40px; font-family: var(--font-display); font-weight: 700; font-size: 1.1rem; color: var(--text-muted); text-align: center; }
.lb-player { display: flex; align-items: center; gap: 0.75rem; flex: 1; min-width: 0; }
.lb-player img { width: 36px; height: 36px; border-radius: 50%; flex-shrink: 0; }
.lb-player-name { font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lb-stat { width: 80px; text-align: center; font-size: 0.9rem; }
.lb-stat.xp { color: var(--accent-primary); font-weight: 600; }

/* Filter tabs */
.lb-filters { display: flex; gap: 0.5rem; margin-bottom: 1.5rem; flex-wrap: wrap; }

@media (max-width: 768px) {
    .podium-item { min-width: 120px; }
    .podium-item.first { min-width: 150px; }
    .lb-row { font-size: 0.85rem; padding: 0.7rem 1rem; }
}
