

.wof-section{

background:
linear-gradient(rgba(0,0,0,.72),rgba(0,0,0,.95)),
url('/img/asfalto.png');

color:#ffffff;

padding:110px 8%;

font-family:'Montserrat', sans-serif;

min-height:100vh;

}

.wof-title{
    font-family:'Cinzel', serif;
    font-size:56px;
    text-align:center;
    color:#d4af37;
    letter-spacing:2px;
    font-weight: bold;
}

.wof-subtitle{
    text-align:center;
    color:#aaa;
    margin-bottom:60px;
    font-size:22px;
}

.wof-hero-grid{
    display:flex;
    justify-content:center;
    gap:140px;
    text-align:center;
    flex-wrap:wrap;
}

.wof-big-number{
    font-size:90px;
    font-weight:700;
    color:#d4af37;
}

.wof-label{
    letter-spacing:3px;
    color:#aaa;
    margin-top:15px;
}

.wof-first-grid{
    display:flex;
    justify-content:center;
    gap:80px;
    flex-wrap:wrap;
    margin-top:80px;
}

.wof-first-card{
    width:360px;
    background:#111;
    border:1px solid rgba(212,175,55,0.4);
    padding:30px;
    text-align:center;
    transition:0.3s;
}

.wof-first-card:hover{
    transform:translateY(-5px);
    border-color:#d4af37;
}

.wof-first-card img{
    width:100%;
    height:420px;
    object-fit:cover;
    margin-bottom:25px;
}

.wof-time{
    font-size:34px;
    font-weight:700;
    color:#d4af37;
}

.wof-category-title{
    font-family:'Cinzel', serif;
    font-size:28px;
    margin-top:120px;
    text-align:center;
    color:#d4af37;
}

.wof-divider{
    width:120px;
    height:1px;
    background:#d4af37;
    margin:20px auto 60px auto;
}

.wof-athlete-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:30px;
    margin-bottom:60px;
    }

.wof-athlete-card{

background:#111;
border:1px solid rgba(212,175,55,0.15);
border-radius:12px;

overflow:hidden;

transition:all .35s ease;

cursor:pointer;

position:relative;

}

/* sollevamento card */

.wof-athlete-card:hover{

transform:translateY(-10px);

border-color:#d4af37;

box-shadow:
0 0 12px rgba(212,175,55,0.4),
0 0 30px rgba(212,175,55,0.25),
0 20px 40px rgba(0,0,0,0.7);

}

/* zoom foto */

.wof-athlete-card img{
width:100%;
    height:360px;
    object-fit:cover;
    margin-bottom:25px;
transition:transform .35s ease;

}

.wof-athlete-card:hover img{

transform:scale(1.1);

}

/* glow overlay */

.wof-athlete-card::after{

content:"";

position:absolute;

inset:0;

background:linear-gradient(
120deg,
transparent,
rgba(212,175,55,0.25),
transparent
);

opacity:0;

transition:opacity .4s ease;

pointer-events:none;

}

.wof-athlete-card:hover::after{

opacity:1;

}

/* bagliore bordo */

.wof-athlete-card::before{

content:"";

position:absolute;

inset:-2px;

border-radius:12px;

background:linear-gradient(
45deg,
transparent,
rgba(212,175,55,0.6),
transparent
);

opacity:0;

transition:opacity .4s ease;

z-index:-1;

}

.wof-athlete-card:hover::before{

opacity:1;

}
.wof-athlete-info{
    padding:25px;
    text-align:center;
}

.wof-athlete-info h3{
    font-family:'Cinzel', serif;
    font-size:20px;
    margin-bottom:10px;
    color:#d4af37;
}

.wof-athlete-info p{
    margin:0;
    font-weight:500;
    color:#ccc;
}

.main-nav{
    background: linear-gradient(90deg,#000,#000);
}

.nav-container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:10px 40px;
}

.site-footer{
    background: linear-gradient(180deg, #000 0%, #000 100%);
}

/* LOGO */

.nav-logo img{
    
}
.nav-logo{
    width: 100%;
    text-align: center;

}

@media (max-width: 900px) {
    .menu-toggle{
position:fixed;
top:20px;
right:20px;
z-index:9999;
cursor:pointer;
}
.site-header{
position:relative;
z-index:10000;
}

.main-nav{
position:relative;
z-index:1;
}


}

@media (max-width:1200px){
.wof-athlete-grid{
grid-template-columns:repeat(3,1fr);
}
}

@media (max-width:700px){
.wof-athlete-grid{
grid-template-columns:repeat(2,1fr);
}
}

.wof-badge-record{
color:#d4af37;
font-weight:700;
margin:6px 0;
}

.wof-photo{
position:relative;
overflow:hidden;
}

.wof-photo img{

width:100%;
height:320px;
object-fit:cover;
display:block;

}

/* overlay */

.wof-overlay{
position:absolute;
bottom:0;
left:0;
right:0;
background:#d4af37;   /* oro */
padding:20px;
color:black;          /* testo nero */
opacity:0;
transform:translateY(40px);
transition:all .35s ease;
}

/* stato hover */

.wof-athlete-card:hover .wof-overlay{
opacity:1;
transform:translateY(0);
}

/* nascondo le vittorie quando hover */

.wof-athlete-info{
transition:opacity .3s ease;
}

.wof-athlete-card:hover .wof-athlete-info{
opacity:0;
}

/* stile testo */

.wof-overlay h3{
font-family:'Cinzel', serif;
color:black;
font-size:24px;
margin:0;
line-height:1.2;
}

.wof-overlay p{
font-size:18px;
}

.wof-atp-grid{

display:grid;
grid-template-columns:repeat(auto-fill,minmax(110px,1fr));
gap:30px;
margin-top:40px;

}

.wof-atp-card{

text-align:center;

}

.wof-atp-photo{

position:relative;

}

.wof-atp-photo img{

width:100px;
height:100px;

border-radius:50%;
object-fit:cover;

border:3px solid #d4af37;

transition:all .3s ease;

}

.wof-atp-photo img:hover{

transform:scale(1.08);
box-shadow:0 0 15px rgba(212,175,55,.6);

}

.wof-atp-year{

position:absolute;
bottom:-8px;
left:50%;

transform:translateX(-50%);

background:#d4af37;
color:black;

font-size:11px;
font-weight:700;

padding:3px 6px;
border-radius:10px;

}

.wof-atp-name{

margin-top:10px;
font-size:12px;
color:#d4af37;

font-family:'Cinzel', serif;

}

.passatore-edizioni{

display:grid;
grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
gap:35px;
margin-top:40px;

}

.edizione-box{

background:#0b0b0b;
border:1px solid rgba(212,175,55,.4);

border-radius:14px;

padding:20px;

box-shadow:0 0 15px rgba(0,0,0,.6);

}

.edizione-header{

display:flex;
justify-content:space-between;
align-items:center;

margin-bottom:15px;

}

.anno{

font-family:'Cinzel';
font-size:22px;
color:#d4af37;

}

.badge{

font-size:11px;
padding:4px 8px;
border-radius:6px;

font-weight:600;

}

.badge.italiano{
background:#d4af37;
color:black;
}

.badge.europeo{
background:#1e6bd6;
color:white;
}

.badge.mondiale{
background:#b70000;
color:white;
}

.vincitori{

display:flex;
gap:20px;

}

.vincitore{

text-align:center;
flex:1;

}

.foto img{

width:80px;
height:80px;

border-radius:50%;
object-fit:cover;

border:2px solid #d4af37;

}

.nome{

margin-top:8px;
font-size:14px;
color:#d4af37;

}

.tempo{

font-size:13px;
color:#ccc;

}

.categoria{

font-size:11px;
opacity:.6;

}

.wof-athlete-card img{

transition: transform .35s ease;

}

.wof-athlete-card:hover img{

transform: scale(1.50);

}

.wof-athlete-card{

overflow:hidden;

}