/* =========================
   HERO
========================= */

.leaderboard-hero{
    text-align:center;
    padding:120px 20px 50px;
}

.hero-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 18px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(12px);
    font-size:14px;
    color:#facc15;
}

.leaderboard-hero h1{
    margin-top:25px;
    font-size:48px;
    font-weight:800;
}

.leaderboard-hero p{
    margin:15px auto 0;
    max-width:650px;
    color:#b8b8b8;
    line-height:1.8;
}

/* =========================
   LAST UPDATE
========================= */

.last-update{
    width:fit-content;
    margin:0 auto 45px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 22px;
    border-radius:999px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(16px);
    color:#ddd;
}

/* =========================
   TOP CARD
========================= */

.top-card{
    width:min(900px,92%);
    margin:auto;
    padding:40px;
    border-radius:28px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(20px);
    text-align:center;
}

.crown{
    font-size:65px;
    margin-bottom:18px;
}

.top-card h2{
    font-size:38px;
    font-weight:800;
    margin-bottom:35px;
}

.top-stats{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
}

.stat-box{
    padding:25px;
    border-radius:18px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.07);
}

.stat-box .label{
    display:block;
    color:#aaa;
    margin-bottom:10px;
}

.stat-box strong{
    font-size:28px;
}

/* =========================
   LEADERBOARD
========================= */

.leaderboard-card{
    width:min(1100px,95%);
    margin:70px auto;
    overflow:hidden;
    border-radius:22px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
}

.leaderboard-header{
    display:grid;
    grid-template-columns:90px 1.5fr 1fr 1fr;
    padding:22px 30px;
    background:rgba(255,255,255,.08);
    font-weight:700;
    color:#ddd;
}

.leaderboard-row{
    display:grid;
    grid-template-columns:90px 1.5fr 1fr 1fr;
    align-items:center;
    padding:22px 30px;
    border-top:1px solid rgba(255,255,255,.05);
    transition:.25s;
}

.leaderboard-row:hover{
    background:rgba(255,255,255,.05);
}

/* =========================
   RANK
========================= */

.rank{
    font-size:24px;
    font-weight:700;
}

.rank-1{
    color:#FFD700;
}

.rank-2{
    color:#D8D8D8;
}

.rank-3{
    color:#CD7F32;
}

/* =========================
   USER
========================= */

.user-info{
    display:flex;
    align-items:center;
    gap:16px;
}

.user-avatar{
    width:48px;
    height:48px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    background:linear-gradient(135deg,#7c3aed,#9333ea);
}

.user-name{
    display:flex;
    flex-direction:column;
}

.user-name strong{
    font-size:16px;
}

.user-name span{
    color:#aaa;
    font-size:13px;
}

/* =========================
   VALUE
========================= */

.order-value{
    font-weight:700;
}

.profit-value{
    color:#22c55e;
    font-weight:700;
}

/* =========================
   EMPTY
========================= */

.leaderboard-empty{
    padding:60px 30px;
    text-align:center;
}

.leaderboard-empty h3{
    margin-bottom:12px;
}

.leaderboard-empty p{
    color:#aaa;
}

/* =========================
   CTA
========================= */

.cta-section{
    width:min(900px,92%);
    margin:80px auto;
    padding:60px 40px;
    text-align:center;
    border-radius:28px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
}

.cta-section h2{
    font-size:34px;
    margin-bottom:18px;
}

.cta-section p{
    color:#aaa;
    line-height:1.8;
}

.cta-btn{
    display:inline-block;
    margin-top:30px;
    padding:15px 38px;
    border-radius:14px;
    background:#7c3aed;
    color:#fff;
    text-decoration:none;
    transition:.3s;
}

.cta-btn:hover{
    transform:translateY(-3px);
}

/* =========================
   FOOTER
========================= */

footer{

    margin-top:60px;
    padding:55px 0;
    border-top:1px solid rgba(255,255,255,.06);

}

.footer-wrapper{

    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:80px;

}

.footer-about{

    flex:1;
    max-width:470px;

}

.footer-title{

    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:18px;

}

.footer-title img{

    width:46px;
    height:46px;
    object-fit:contain;

}

.footer-title h3{

    margin:0;
    font-size:24px;

}

.footer-about p{

    color:var(--muted);
    line-height:1.8;
    margin-bottom:20px;

}

.footer-about small{

    color:#777;
    line-height:1.8;

}

.footer-info{

    display:flex;
    gap:70px;

}

.footer-social,
.footer-contact{

    display:flex;
    flex-direction:column;
    gap:14px;

}

.footer-social h4,
.footer-contact h4{

    margin-bottom:10px;

}

.footer-social a,
.footer-contact a{

    display:flex;
    align-items:center;
    gap:10px;

    color:var(--muted);
    transition:.3s;

}

.footer-social a:hover,
.footer-contact a:hover{

    color:var(--primary);
    transform:translateX(4px);

}

.footer-hours{

    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-top:12px;

}

.footer-hours span{

    display:block;
    color:#777;
    font-size:14px;
    margin-top:4px;

}

/* =========================
   MOBILE
========================= */

@media(max-width:768px){

.leaderboard-hero h1{
    font-size:34px;
}

.top-card{
    padding:28px;
}

.top-stats{
    grid-template-columns:1fr;
}

.leaderboard-header{
    display:none;
}

.leaderboard-row{
    grid-template-columns:1fr;
    gap:16px;
}

.rank{
    font-size:28px;
}

.user-info{
    justify-content:center;
}

.order-value,
.profit-value{
    text-align:center;
}

.cta-section h2{
    font-size:28px;
}

}
