*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{

background:#050505;

font-family:Arial,sans-serif;

color:#fff;

overflow-x:hidden;

}

/* SPLASH */

#splash-screen{

position:fixed;

top:0;
left:0;

width:100%;
height:100vh;

background:#000;

display:flex;

justify-content:center;
align-items:center;

z-index:999999;

transition:1s;

}

.hide-splash{

opacity:0;

visibility:hidden;

pointer-events:none;

}

.splash-logo{

text-align:center;

animation:pulseGlow 2s infinite;

}

.splash-logo img{

width:320px;

max-width:80%;

filter:drop-shadow(0 0 25px red);

}

.splash-logo h1{

font-size:48px;

margin-top:20px;

letter-spacing:4px;

}

.splash-logo p{

margin-top:10px;

color:#ff3300;

letter-spacing:3px;

}

@keyframes pulseGlow{

0%{
transform:scale(1);
}

50%{
transform:scale(1.03);
}

100%{
transform:scale(1);
}

}

/* PLAYER */

.player{

position:relative;

max-width:1500px;

margin:40px auto;

padding:25px;

padding-bottom:25px;

border-radius:35px;

overflow:hidden;

background:
linear-gradient(
180deg,
rgba(5,10,20,0.96),
rgba(5,5,10,0.98)
);

border:
1px solid rgba(255,60,0,0.35);

box-shadow:
0 0 40px rgba(255,60,0,0.18);

margin-bottom:40px;

min-height:auto;

}
/* BACKGROUND */

#playerbg{

position:absolute;

inset:0;

background-size:cover;

background-position:center;

filter:blur(70px);

opacity:.18;

transform:scale(1.2);

z-index:0;

}

.player-content{

position:relative;

z-index:2;

}

/* TOP */

.player-top{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:35px;

flex-wrap:wrap;

gap:20px;

}

.live-left{

display:flex;

align-items:center;

gap:15px;

}

.live-dot{

width:20px;

height:20px;

border-radius:50%;

background:#ff3355;

animation:pulseOnAir 1s infinite;

}

.live-title{

font-size:34px;

font-weight:900;

}

.listeners{

font-size:18px;

}

/* BODY */

.player-body{

display:flex;

gap:30px;

align-items:flex-start;

flex-wrap:wrap;

margin-bottom:40px;

}

/* COVER */

#coverart{

width:120px;

height:120px;

border-radius:25px;

object-fit:cover;

box-shadow:
0 0 25px rgba(0,180,255,0.25);

}

.rotating{

animation:spinCover 18s linear infinite;

}

@keyframes spinCover{

from{
transform:rotate(0deg);
}

to{
transform:rotate(360deg);
}

}

/* PLAYER RIGHT */

.player-right{

flex:1;

min-width:300px;

}

/* TITLE */

.now-wrap{
    width:100%;
    overflow:hidden;
    position:relative;
}

#nowplaying{
    display:inline-block;
    white-space:nowrap;
    font-size:22px;
    font-weight:800;
    color:#ffffff;
    animation:scrollText 18s linear infinite;
}

@keyframes scrollText{

    0%{
        transform:translateX(calc(100vw));
    }

    100%{
        transform:translateX(calc(-100% - 10px));
    }

}

/* VISUALIZER */

.vu-container{

height:140px;

border-radius:30px;

background:
rgba(0,0,0,0.35);

display:flex;

justify-content:center;

align-items:center;

margin-bottom:25px;

overflow:hidden;

}

#visualizer{
	
width:90%;
	
height:120px;
	
display:block;
	
margin:auto;
}

/* AUDIO */

.audio-wrap{

margin-top:25px;

}

.audio-wrap audio{

width:100%;

border-radius:30px;

}

/* HISTORY */

.history-box{

margin-top:45px;

padding:30px;

border-radius:28px;

background:
rgba(255,255,255,0.03);

backdrop-filter:blur(12px);

max-height:220px;

overflow-y:auto;

}

.history-box h3{

margin-bottom:25px;

font-size:22px;

}

#song-history{

list-style:none;

}

#song-history li{

padding:14px 0;

border-bottom:
1px solid rgba(255,255,255,0.05);

font-size:18px;

}

/* CARDS */

.cards{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(260px,1fr));

gap:35px;

margin-top:190px;

padding-bottom:60px;

}

.card{

padding:45px;

border-radius:25px;

background:
rgba(255,255,255,0.02);

border:
1px solid rgba(255,60,0,0.45);

text-align:center;

transition:.3s;

}

.card:hover{

transform:translateY(-5px);

box-shadow:
0 0 20px rgba(255,60,0,0.18);

}

/* MOBILE */

@media(max-width:768px){

.player{
min-height:auto !important;
height:auto !important;
padding:20px;
padding-bottom:20px !important;
overflow:hidden;
}

.player-body{
flex-direction:column;
align-items:center;
}

.cards{
margin-top:120px;
}

}
/* LIVE */

@keyframes pulseOnAir{

0%{opacity:1;}
50%{opacity:.3;}
100%{opacity:1;}

}

/* EXTRA FIX */

.player{
overflow:hidden;
}

.cards{
margin-top:40px !important;
}

.history-box::-webkit-scrollbar{
width:8px;
}

.history-box::-webkit-scrollbar-thumb{
background:#ff3300;
border-radius:10px;
}

.page h1{
font-size:58px;
font-weight:900;
color:#ffffff;
margin-top:40px;
margin-bottom:15px;
letter-spacing:2px;
text-transform:uppercase;
text-shadow:
0 0 10px rgba(255,0,0,0.6),
0 0 30px rgba(255,0,0,0.4);
}

.page p{
font-size:20px;
color:#cccccc;
margin-bottom:40px;
}

.program-card{
transition:all 0.4s ease;
}

.program-card:hover{
transform:translateY(-12px) scale(1.01);
}

body{
background:
radial-gradient(circle at top,
rgba(120,0,0,0.15),
#000000 45%);
}

.program-card{
position:relative;
overflow:hidden;
}

.program-card::before{
content:'';
position:absolute;
top:0;
left:-120%;
width:80%;
height:100%;
background:linear-gradient(
90deg,
transparent,
rgba(255,255,255,0.08),
transparent
);
transition:0.7s;
}

.program-card:hover::before{
left:130%;
}

.page p{
max-width:700px;
line-height:1.7;
font-size:20px;
color:#cfcfcf;
}

.wp-block-column{
background:#0b0b0b;
padding:20px;
border-radius:20px;
box-shadow:0 0 25px rgba(255,0,0,0.15);
display:flex;
flex-direction:column;
justify-content:flex-start;
}

/* Nasconde eventuali colonne vuote */

.wp-block-column:empty{
display:none !important;
background:none !important;
box-shadow:none !important;
padding:0 !important;
margin:0 !important;
}

.wp-block-column img{
width:100%;
border-radius:20px;
margin-bottom:20px;
object-fit:cover;
}

.wp-block-columns{
align-items:stretch;
gap:30px;
}

.wp-block-column h2{
font-size:38px;
margin-top:15px;
margin-bottom:10px;
}

.wp-block-column{
transition:all 0.35s ease;
}

.wp-block-column:hover{
transform:translateY(-10px);
box-shadow:0 0 40px rgba(255,0,0,0.35);
}

.wp-block-column h2{
font-size:22px;
line-height:1.2;
}

.entry-content h1{
font-size:42px;
font-weight:800;
margin-bottom:25px;
color:white;
text-transform:uppercase;
letter-spacing:2px;
}

.entry-content p{
font-size:28px;
color:#d0d0d0;
margin-bottom:50px;
}

.entry-content{
max-width:1800px;
margin:auto;
padding:40px;
}

nav a[href="/app"]{
    background:#ff0000;
    color:white;
    padding:8px 14px;
    border-radius:8px;
}

.app-download{
    text-align:center;
    margin:20px 0;
}

.app-download a{
    display:inline-block;
    background:#ff0000;
    color:#fff;
    padding:15px 25px;
    border-radius:12px;
    text-decoration:none;
    font-weight:bold;
    font-size:18px;
    box-shadow:0 0 15px rgba(255,0,0,.6);
    transition:.3s;
}

.app-download a:hover{
    transform:scale(1.05);
}
@media (max-width:768px){

    .app-download a{
        width:90%;
        font-size:20px;
        padding:18px;
    }

}

@media (max-width:768px){

    nav a[href="/app"]{
        display:none;
    }

}

.app-download a{
    display:inline-block;
    background:#ff0000;
    color:#fff;
    padding:15px 25px;
    border-radius:12px;
    text-decoration:none;
    font-weight:bold;
    font-size:18px;
    box-shadow:0 0 15px rgba(255,0,0,.6);
    transition:.3s;
    line-height:1.3;
}

.app-download a span{
    display:block;
    font-size:14px;
    font-weight:normal;
    opacity:.9;
}

.footer-links{
    text-align:center;
    margin-top:20px;
}

.footer-links a{
    color:#ccc;
    text-decoration:none;
    margin:0 10px;
}

.footer-links a:hover{
    color:#ff0000;
}

footer,
footer p,
footer div,
footer span{
    text-align:center !important;
    width:100%;
    display:block;
    margin-left:auto;
    margin-right:auto;
}

.wp-block-columns{
    margin-bottom:0 !important;
}

.wp-block-spacer{
    display:none !important;
}

.wp-block-group:empty{
    display:none !important;
}

/* Elimina blocchi vuoti Gutenberg */

.wp-block-columns:empty,
.wp-block-group:empty,
.wp-block-spacer{
display:none !important;
}

.contact-page{
max-width:1200px;
margin:auto;
padding:40px 20px;
text-align:center;
}

.contact-page h1{
font-size:48px;
margin-bottom:20px;
color:#fff;
text-transform:uppercase;
}

.contact-intro{
font-size:20px;
color:#ccc;
margin-bottom:40px;
}

.contact-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:25px;
}

.contact-card{
background:#111;
border:1px solid rgba(255,0,0,0.4);
border-radius:20px;
padding:30px;
box-shadow:0 0 20px rgba(255,0,0,0.15);
transition:.3s;
}

.contact-card:hover{
transform:translateY(-8px);
box-shadow:0 0 35px rgba(255,0,0,0.35);
}

.contact-card h2{
margin-bottom:15px;
color:#ff3300;
}

.contact-card p{
margin-bottom:15px;
color:#ccc;
}

.contact-card a{
display:inline-block;
background:#ff0000;
color:#fff;
padding:10px 18px;
border-radius:10px;
text-decoration:none;
font-weight:bold;
}

.contact-card a:hover{
background:#cc0000;
}

.contact-grid{
    justify-content:center;
}

.contact-card:last-child{
    margin:auto;
}

@media (max-width:480px){

#nowplaying{
font-size:16px !important;
}

.vu-container{
height:90px;
}

#visualizer{
height:80px;
}

}