/* =========================================================
   SIGNALEMENTS — CLASSEMENT COMPACT
   Objectif : réduire le scrolling sans casser le tri, l’AJAX
   ou la carte Live.
   ========================================================= */

.page-classement-compact .topbar-inner{
    min-height:62px !important;
}

.page-classement-compact .brand-mark{
    width:44px !important;
    height:44px !important;
    font-size:.8rem !important;
}

.page-classement-compact .brand strong{
    font-size:.98rem !important;
}

.page-classement-compact .brand small{
    margin-top:2px !important;
    font-size:.68rem !important;
}

.page-classement-compact .nav-button{
    min-height:36px !important;
    padding:0 12px !important;
    border-radius:8px !important;
    font-size:.73rem !important;
}

.page-classement-compact .page-wrap{
    padding:10px 0 18px !important;
}

.page-classement-compact .main-shell{
    border-radius:16px !important;
}

.page-classement-compact .hero-card{
    padding:16px 20px !important;
}

.page-classement-compact .hero-card h1{
    font-size:clamp(1.6rem,2.6vw,2.25rem) !important;
}

.page-classement-compact .hero-card p{
    margin-top:4px !important;
    font-size:.8rem !important;
}

.page-classement-compact .status-badge{
    padding:7px 10px !important;
    font-size:.72rem !important;
}

.page-classement-compact .live-indicator{
    margin-top:7px !important;
    padding:5px 8px !important;
    gap:6px !important;
    font-size:.71rem !important;
}

.page-classement-compact .live-connection{
    margin-left:3px !important;
    padding:4px 7px !important;
    font-size:.65rem !important;
}

.page-classement-compact .sound-toggle{
    min-height:28px !important;
    padding:0 8px !important;
    margin-left:2px !important;
    font-size:.64rem !important;
}

.page-classement-compact .content{
    padding:14px 16px 18px !important;
}

.page-classement-compact .success-box{
    margin-bottom:10px !important;
    padding:10px 12px !important;
    font-size:.76rem !important;
}

/* Statistiques */
.page-classement-compact .stats-grid{
    gap:8px !important;
    margin-bottom:12px !important;
}

.page-classement-compact .stat-card{
    padding:10px 12px !important;
    border-radius:10px !important;
}

.page-classement-compact .stat-card span{
    font-size:.64rem !important;
}

.page-classement-compact .stat-card strong{
    margin-top:3px !important;
    font-size:1.15rem !important;
}

/* Podium compact */
.page-classement-compact .podium-section{
    margin-bottom:12px !important;
}

.page-classement-compact .podium-heading{
    margin-bottom:8px !important;
}

.page-classement-compact .podium-heading h2{
    font-size:1.1rem !important;
}

.page-classement-compact .podium-heading p{
    margin-top:2px !important;
    font-size:.7rem !important;
}

.page-classement-compact .podium-grid{
    gap:8px !important;
    align-items:stretch !important;
}

.page-classement-compact .podium-card,
.page-classement-compact .podium-card.first,
.page-classement-compact .podium-card.second,
.page-classement-compact .podium-card.third{
    min-height:0 !important;
    margin-top:0 !important;
    padding:10px 9px !important;
    border-radius:11px !important;
}

.page-classement-compact .podium-medal{
    width:34px !important;
    height:34px !important;
    margin-bottom:6px !important;
    font-size:1.2rem !important;
}

.page-classement-compact .podium-position{
    font-size:.58rem !important;
}

.page-classement-compact .podium-name{
    margin:4px 0 2px !important;
    font-size:.83rem !important;
}

.page-classement-compact .podium-club{
    min-height:0 !important;
    font-size:.67rem !important;
    line-height:1.2 !important;
}

.page-classement-compact .podium-speed{
    margin-top:6px !important;
    font-size:.9rem !important;
}

.page-classement-compact .podium-details{
    gap:7px !important;
    margin-top:5px !important;
    font-size:.63rem !important;
}

/* Classement + carte */
.page-classement-compact .ranking-map-layout{
    grid-template-columns:minmax(0,2.1fr) minmax(310px,.9fr) !important;
    gap:10px !important;
}

.page-classement-compact .toolbar{
    margin-bottom:8px !important;
    gap:8px !important;
}

.page-classement-compact .toolbar h2{
    font-size:1.08rem !important;
}

.page-classement-compact .toolbar p{
    margin-top:2px !important;
    font-size:.68rem !important;
}

.page-classement-compact .sort-state,
.page-classement-compact .autofit-status{
    padding:3px 6px !important;
    font-size:.58rem !important;
}

.page-classement-compact .button{
    min-height:34px !important;
    padding:0 11px !important;
    font-size:.7rem !important;
    border-radius:7px !important;
}

/* Tableau */
.page-classement-compact #live-ranking thead th{
    padding:8px 6px !important;
    font-size:.66rem !important;
}

.page-classement-compact #live-ranking tbody td{
    padding:8px 6px !important;
    font-size:.74rem !important;
}

.page-classement-compact #live-ranking tbody tr{
    height:48px !important;
}

.page-classement-compact #live-ranking .rank-badge{
    width:28px !important;
    height:28px !important;
    font-size:.72rem !important;
}

.page-classement-compact #live-ranking .name{
    font-size:.78rem !important;
    line-height:1.12 !important;
}

.page-classement-compact #live-ranking .club{
    font-size:.68rem !important;
    line-height:1.12 !important;
}

.page-classement-compact #live-ranking td.speed-cell{
    font-size:.78rem !important;
}

.page-classement-compact #live-ranking .recent-label{
    margin-top:2px !important;
    padding:2px 4px !important;
    font-size:.52rem !important;
}

.page-classement-compact .table-footer-live{
    padding:8px 10px !important;
    font-size:.68rem !important;
}

/* Carte */
.page-classement-compact .map-card{
    border-radius:12px !important;
}

.page-classement-compact .map-card-head{
    min-height:0 !important;
    padding:10px 11px 8px !important;
}

.page-classement-compact .map-card-head h2{
    font-size:.98rem !important;
}

.page-classement-compact .map-card-head p{
    margin-top:2px !important;
    font-size:.65rem !important;
}

.page-classement-compact .map-live{
    padding:4px 7px !important;
    font-size:.6rem !important;
}

.page-classement-compact #embedded-map{
    height:390px !important;
}

.page-classement-compact .map-card-foot{
    padding:7px 9px !important;
    font-size:.62rem !important;
}

.page-classement-compact .info-live-bar{
    margin-top:9px !important;
    padding:8px 10px !important;
    font-size:.66rem !important;
    border-radius:9px !important;
}

.page-classement-compact .last-update{
    margin-top:4px !important;
    font-size:.62rem !important;
}

.page-classement-compact .footer{
    padding:0 0 10px !important;
    font-size:.68rem !important;
}

/* Écrans peu hauts */
@media(min-width:1100px) and (max-height:850px){
    .page-classement-compact .hero-card{
        padding-top:10px !important;
        padding-bottom:10px !important;
    }

    .page-classement-compact .content{
        padding-top:10px !important;
    }

    .page-classement-compact .podium-card,
    .page-classement-compact .podium-card.first,
    .page-classement-compact .podium-card.second,
    .page-classement-compact .podium-card.third{
        padding:7px !important;
    }

    .page-classement-compact #embedded-map{
        height:340px !important;
    }

    .page-classement-compact #live-ranking tbody tr{
        height:42px !important;
    }

    .page-classement-compact #live-ranking tbody td{
        padding-top:6px !important;
        padding-bottom:6px !important;
    }
}

/* Tablette */
@media(max-width:1099px){
    .page-classement-compact .ranking-map-layout{
        grid-template-columns:1fr !important;
    }

    .page-classement-compact .map-column{
        position:static !important;
    }

    .page-classement-compact #embedded-map{
        height:430px !important;
    }
}

/* Mobile */
@media(max-width:760px){
    .page-classement-compact .content{
        padding:10px !important;
    }

    .page-classement-compact .stats-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .page-classement-compact .podium-grid{
        grid-template-columns:1fr !important;
    }

    .page-classement-compact .podium-card{
        text-align:left !important;
    }

    .page-classement-compact .mobile-result{
        padding:11px !important;
        margin-bottom:8px !important;
    }

    .page-classement-compact .mobile-result-top{
        margin-bottom:8px !important;
    }
}
