/* PAGINA CLASSIFICA */
.crew-ranking-page{
    width:100%;
    box-sizing:border-box;
    margin-right:auto;
}

/* HERO */
.ranking-hero h1{
    margin:0 0 5px 0;
    font-size:36px;
    font-weight:900;
    font-style:italic;
    color:#114d99;
    white-space:nowrap;
}

.ranking-hero h2{
    margin:0;
    color:#1f3f71;
    font-size:30px;
    font-weight:bold;
}

/* TOP 10 */
.ranking-list{
    margin-top:15px;
}

.ranking-row{
    display:flex;
    align-items:center;
    margin-bottom:8px;
    padding:8px 12px;
    background:#dceefe;
    border-radius:12px;
}

.rank-pos{
    width:42px;
    height:42px;
    border-radius:50%;
    background:#e7f2ff;
    color:#15539b;
    font-weight:bold;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}

.rank-pos.gold{
    background:linear-gradient(#ffe082,#f9a825);
    color:#fff;
}

.rank-pos.silver{
    background:linear-gradient(#eceff1,#90a4ae);
    color:#fff;
}

.rank-pos.bronze{
    background:linear-gradient(#d7a86e,#a85d25);
    color:#fff;
}

.rank-name{
    flex:1;
    margin-left:0px;
    font-weight:bold;
    font-size:18px;
    color:#1f3f71;
}

.rank-score{
    width:60px;
    text-align:center;
    font-weight:bold;
    font-size:24px;
    color:#114d99;
    border-left:1px solid #ffffff;
}

/* BOX CLASSIFICA */
.ranking-card{
    border:1px solid #b9d7f5;
    border-radius:14px;
    padding:14px;
    background:white;
}

/* BLOCCO MONTAGNA */
.ranking-side{

    margin-top:15px;
    background:#dceefe;
    border-radius:14px;
    padding:20px;
    text-align:center;
}

.ranking-side img{
    max-width:100%;
}

.ranking-side h3{
    color:#114d99;
    font-style:italic;
}

.ranking-layout{
    display:flex;
    gap:20px;
}

.ranking-left{
    flex:1;
    min-width:0;
}

.ranking-right{
    width:210px;
    flex-shrink:0;
}

.ranking-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.header-right{
    font-size:16px;
    font-style:normal;
}

.rank-user{
    flex:1;
}

.rank-detail{
    font-size:12px;
    color:#5f7697;
	margin-top:3px;
    margin-left:0px;
}

.crew-join-box{
    background:#dceefe;
    border-radius:14px;
    padding:15px;
    text-align:center;
}

.crew-join-box p{
    text-align:left;
    margin:0 0 16px 0;
    line-height:1.5;
}

.crew-join-box h3{
    color:#114d99;
    font-size:24px;
    font-style:italic;
}

.crew-button{
    display:inline-block;
    padding:10px 15px;
    background:#114d99;
    color:white;
    text-decoration:none;
    border-radius:8px;
    font-weight:bold;
}

.crew-button:hover{
    color:white;
}

.crew-title{
    display:flex;
    align-items:center;
    gap:4px;
    margin-bottom:4px;
}

.crew-title img{
    width:50px;
    height:50px;
    flex-shrink:0;
    margin-left:-20px;
}

.crew-title h3{
    margin:0 0 0 -8px;
    font-size:18px;
    font-weight:900;
    line-height:0.95;
    color:#15539b;
    text-transform:uppercase;
    font-style:italic;
}

.hero-subtitle{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:0;
}

.hero-hiker{
    width:42px;
    height:auto;
}

.hero-subtitle{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:0;
}

.hero-subtitle h2{
    margin:0;
    color:#1f3f71;
    font-size:24px;
    font-weight:bold;
}

.hero-subtitle img{
    width:64px;
    height:auto;
    margin-bottom:-6px;
}

.join-btn{
    display:flex;
    align-items:center;
    width:100%;
    min-height:52px;
    padding:0 16px;
    background:#15539b;
    color:#fff !important;
    border-radius:10px;
    text-decoration:none;
    font-weight:700;
    box-sizing:border-box;
}

.join-btn:hover{
    background:#123b70;
    color:#fff;
}

.join-btn img{
    width:28px;
    height:40px;
    margin-right:10px;
}

.join-btn span{
    color:#fff;
    font-size:1.15em;
    font-weight:700;
}

.section-title{
    margin-bottom:15px;

    padding:8px 15px;

    background:#114d99;
    color:white;

    border-radius:10px;

    font-size:28px;
    font-style:italic;
    font-weight:bold;
}

/* VALORI */

.values{
    display:flex;
    justify-content:space-between;
    gap:10px;

    padding:15px;
    margin-bottom:20px;

    background:#fff4cf;
    border-radius:14px;
}

.values article{
    flex:1;
    text-align:center;
}

.values .icon{
    display:block;
    font-size:28px;
    margin-bottom:5px;
}

.values strong{
    display:block;
    color:#114d99;
    font-size:15px;
    margin-bottom:5px;
}

.values p{
    font-size:13px;
    margin:0;
}

/* INTRO */

.intro-card{
    background:#dceefe;
    border-radius:14px;
    padding:18px;
    margin-bottom:20px;
}

.intro-card h2{
    margin:0;
    color:#114d99;
    font-size:30px;
}

.intro-card h3{
    margin:5px 0 10px;
    color:#244066;
    font-size:20px;
}

.intro-card p{
    font-size:16px;
    line-height:1.4;
}

.rank-icon{
    width:28px;
    margin-left:18px;
    margin-right:18px;
    flex-shrink:0;
}

.rank-icon img{
    width:18px;
    height:18px;
    display:block;
}

.rank-user-icon{
    width:33px;
    height:45px;
    margin-left:10px;
    margin-right:8px;
    flex-shrink:0;
}