/* Clasificación Global - Premium Fixed Aesthetic */
.ranking-fixed-page {
    background-color: #000;
    color: #fff;
    overflow: hidden !important;
    /* Force no scroll */
    width: 100vw;
    height: 100vh;
    display: flex;
    flex-direction: column;
}

.ranking-wrapper {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0 2rem;
    margin-top: 120px;
    /* Space off the top navbar */
    margin-bottom: 2rem;
    position: relative;
    z-index: 10;
}

.ranking-header {
    text-align: center;
    margin-bottom: 0.5rem;
    margin-top: 0.5rem;
}

.ranking-header h1 {
    font-size: 2rem;
    font-weight: 900;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 4px;
    line-height: 1;
}

.ranking-header p {
    color: #888;
    font-size: 0.85rem;
    margin-top: 0.2rem;
}

/* PODIUM SECTION */
.podium-container {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 1.5rem;
    margin-bottom: 0.5rem;
    height: 180px;
    /* Reduced to fit 10 rows */
    width: 100%;
}

.podium-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    transition: transform 0.3s;
}

.podium-avatar {
    width: 45px;
    height: 45px;
    background: #111;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.2rem;
    border: 3px solid #333;
    margin-bottom: 0.4rem;
    position: relative;
}

.podium-crown {
    position: absolute;
    top: -15px;
    font-size: 0.9rem;
}

.podium-base {
    width: 100px;
    border-radius: 12px 12px 0 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    text-align: center;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
}

.podium-name {
    font-weight: 800;
    font-size: 0.85rem;
    margin-bottom: 0.2rem;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 90px;
}

.podium-elo {
    color: #ffaa00;
    font-weight: 900;
    font-size: 0.95rem;
}

/* Specific Podium Styles */
.podium-item.first {
    order: 2;
}

.podium-item.second {
    order: 1;
}

.podium-item.third {
    order: 3;
}

.first .podium-base {
    height: 100px;
    background: linear-gradient(to top, rgba(255, 215, 0, 0.15), #0a0a0a);
    border: 2px solid #ffd700;
    border-bottom: none;
}

.first .podium-avatar {
    border-color: #ffd700;
    box-shadow: 0 0 20px #ffd70044;
}

.first .podium-crown {
    color: #ffd700;
}

.second .podium-base {
    height: 80px;
    background: linear-gradient(to top, rgba(192, 192, 192, 0.15), #0a0a0a);
    border: 2px solid #c0c0c0;
    border-bottom: none;
}

.second .podium-avatar {
    border-color: #c0c0c0;
}

.second .podium-crown {
    color: #c0c0c0;
}

.third .podium-base {
    height: 60px;
    background: linear-gradient(to top, rgba(205, 127, 50, 0.15), #0a0a0a);
    border: 2px solid #cd7f32;
    border-bottom: none;
}

.third .podium-avatar {
    border-color: #cd7f32;
}

.third .podium-crown {
    color: #cd7f32;
}

/* TABLE SECTION */
.ranking-table-container {
    width: 100%;
    max-width: 1100px;
    background: rgba(10, 10, 10, 0.6);
    backdrop-filter: blur(15px);
    border: 1px solid #1a1a1a;
    border-radius: 16px;
    overflow: hidden;
    flex-shrink: 0;
}

.ranking-table {
    width: 100%;
    border-collapse: collapse;
}

.ranking-table th {
    background: #080808;
    padding: 0.6rem 1rem;
    text-align: center;
    /* Center since fewer columns */
    color: #555;
    font-size: 0.70rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.ranking-table td {
    padding: 0.4rem 1rem;
    /* Tighter padding for 10 rows */
    border-bottom: 1px solid #151515;
    font-size: 0.85rem;
    text-align: center;
    /* Center contents */
}

.ranking-table tr:last-child td {
    border-bottom: none;
}

.ranking-table tbody tr:hover {
    background: rgba(255, 0, 0, 0.05);
}

.pos-col {
    font-weight: 800;
    color: #ff0000;
    width: 60px;
}

.user-col {
    font-weight: 700;
    color: #fff;
}

.elo-col {
    font-weight: 900;
    color: #ffaa00;
}

.rank-badge {
    padding: 0.2rem 0.6rem;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
}

.rank-badge.master {
    background: rgba(147, 51, 234, 0.2);
    color: #a855f7;
    border: 1px solid #a855f744;
}

.rank-badge.platinum {
    background: rgba(0, 200, 200, 0.2);
    color: #00d9ff;
    border: 1px solid #00d9ff44;
}

.rank-badge.unranked {
    background: rgba(50, 50, 50, 0.3);
    color: #777;
    border: 1px solid #444;
}

/* BG DECORATION */
.bg-glow-1 {
    position: fixed;
    top: -10%;
    left: -10%;
    width: 40%;
    height: 40%;
    background: radial-gradient(circle, rgba(255, 0, 0, 0.08) 0%, transparent 70%);
    z-index: 1;
}

.bg-glow-2 {
    position: fixed;
    bottom: -10%;
    right: -10%;
    width: 40%;
    height: 40%;
    background: radial-gradient(circle, rgba(255, 0, 0, 0.04) 0%, transparent 70%);
    z-index: 1;
}