body, html{
    overflow-x:hidden;
}

body{
margin:0;
font-family:'Outfit',sans-serif;
color:#eee;

background-image:
linear-gradient(rgba(0,0,0,0.88),rgba(0,0,0,0.88)),
url("../imgs/background.png");

background-size:cover;
background-position:center top;
background-repeat:no-repeat;
background-attachment:fixed;
}

.container{
width:90%;
max-width:1200px;
margin:auto;
}

a{
    color:#f5f5f5;
    text-decoration:none;
}

a:visited{
    color:#f5f5f5;
}

a:hover{
    color:#ffffff;
}

/* HEADER */

.header{
background:rgba(20,20,25,0.15);
}

.header-inner{
display:flex;
align-items:center;
justify-content:space-between;

}

.logo img{
height:180px;
width:auto;
display:block;
}

.header-inner{
display:flex;
align-items:center;
justify-content:space-between;
}

.nav a{
margin:0 12px;
text-decoration:none;
color:#e6e6e6;
font-weight:600;
transition:all .2s ease;
}

.nav a:hover{
color:#ffb300;
}

.listen-btn{
background:#ff8c00;
color:white;
padding:10px 20px;
border-radius:6px;
cursor:pointer;
}

/* NOW PLAYING */

.now-playing{
background:rgba(246,168,0,0.55);
color:#222;
padding:30px 0;
}

.now-grid{
display:flex;
justify-content:space-between;
align-items:center;
}

.np-tag{
background:white;
padding:6px 10px;
font-size:12px;
border-radius:4px;
}

.recent-songs{
display:flex;
gap:40px;
}

.recent-track{
display:flex;
align-items:center;
gap:10px;
}
/* NOW PLAYING LAYOUT */

.now-main{
display:flex;
align-items:center;
gap:20px;
}

.np-art img{
width:130px;
height:130px;
border-radius:10px;
object-fit:cover;

box-shadow:
0 8px 20px rgba(0,0,0,0.5);

border:2px solid rgba(255,255,255,0.25);
}

.np-meta h2{
margin:6px 0 4px;
font-size:26px;
}

.np-meta p{
margin:0;
opacity:0.8;
}

/* CONTENT */

.content{
padding:40px 0;
}

.layout{
display:grid;
grid-template-columns:2fr 1fr;
gap:40px;
}


/* FEATURE BOX */

.feature-box,
.widget{
background:rgba(255,255,255,0.08);
backdrop-filter:blur(12px);
-webkit-backdrop-filter:blur(12px);

border:1px solid rgba(255,255,255,0.15);
border-radius:12px;

padding:20px;
color:#f2f2f2;

box-shadow:0 10px 30px rgba(0,0,0,0.4);
margin-bottom:15px;
}

.feature-box h2,
.widget h3{
color:#ffffff;
}

/* SIDEBAR */
.widget{
margin-bottom:15px;
}

.widget h3{
margin-top:0;
}

.widget ul{
padding-left:20px;
}


/* FOOTER */

footer{
background:rgba(20,20,25,0.85);
color:white;
text-align:center;
padding:30px 0;
margin-top:40px;
}
.footer-inner{
display:flex;
justify-content:space-between;
align-items:center;
}

.footer-right a{
color:#f5f5f5;
text-decoration:none;
}

.links-section h1{
color:#ffffff;
}

.links-list{
display:flex;
flex-direction:column;
gap:15px;
}

.link-row{
display:grid;
grid-template-columns:160px 1fr 120px;
align-items:center;
gap:20px;
background:rgba(0,0,0,0.28);
padding:8px;
border-radius:6px;
margin-top:20px;
}

.link-img img{
width:160px;
height:110px;
}

.link-desc{
font-size:14px;
color:#ddd;
}

.link-url a{
color:#f5f5f5;
text-decoration:none;
font-weight:600;
}

.link-url a:hover{
color:#f59e0b;
}

.schedule-section{
background:rgba(0,0,0,0.28);
overflow-x:auto;
overflow-y:visible;
padding-bottom:40px;
}

.schedule{
display:grid;
grid-template-columns: repeat(7, 1fr);
grid-auto-rows: minmax(40px, auto);
gap:6px;
margin-top:10px;
}

.day{
text-align:center;
font-weight:700;
padding:14px 0;
color:#fff;
letter-spacing:1px;
text-transform:uppercase;
font-size:14px;
border-radius:3px;
}

.show{
padding:6px;
border-radius:3px;
font-size:13px;
}

.show strong{
display:block;
font-weight:600;
}

.show span{
font-size:12px;
opacity:.8;
}

/* =========================
   FUNKY SCHEDULE COLOURS
========================= */

.schedule-item{
position: relative;
overflow: hidden;
opacity:0.75;
border-radius: 4px;

transition: all 0.25s ease;
}


.morning { background:#3d2b12; color:#f5f5f5; border-left:3px solid #ffcc33; }

.evening { background:#3a1824; color:#f5f5f5; border-left:3px solid #ff4d7a; }

.funk    { background:#3f1426; color:#f5f5f5; border-left:3px solid #ff1a8c; }

.soul    { background:#16352d; color:#f5f5f5; border-left:3px solid #00e0b8; }

.jazz    { background:#2a1f4d; color:#f5f5f5; border-left:3px solid #9b6cff; }

.chill   { background:#1d3a2a; color:#f5f5f5; border-left:3px solid #5cff9d; }

.dance   { background:#3d2612; color:#f5f5f5; border-left:3px solid #ff8c2a; }

.autodj  { background:#2f2f2f; color:#e0e0e0; border-left:3px solid #999; }

.default { background:#2a3038; color:#e0e0e0; border-left:3px solid #666; }

.today-shows{
display:none;
margin-top:6px;
}

.today-show{
padding:16px;
margin-bottom:6px;
background:rgba(255,255,255,0.08);
border-radius:8px;
}

.today-show strong{
display:block;
font-size:18px;
margin-bottom:4px;
color:#ffffff;
}

.today-show .time{
font-size:13px;
opacity:.8;
color:#ffffff;

}

.today-show p{
margin-top:6px;
font-size:13px;
opacity:.85;
color:#ffffff;

}


/* MOBILE SWITCH */

@media(max-width:800px){

.schedule{
display:none;
}

.today-shows{
display:block;
}

}
/* =========================
   MOBILE
========================= */

@media (max-width:900px){

/* Header */

.header-inner{
flex-direction:column;
gap:15px;
text-align:center;
}

.logo img{
height:90px;
}

/* Navigation */

.nav{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:10px;
}

.nav a{
margin:0;
font-size:14px;
}

/* Layout */

.layout{
grid-template-columns:1fr;
gap:25px;
}

/* Now playing */

.now-grid{
flex-direction:column;
gap:20px;
text-align:center;
}

.now-main{
flex-direction:column;
text-align:center;
}

.np-art img{
width:100px;
height:100px;
}

.recent-songs{
flex-direction:column;
gap:15px;
}

/* Links page */

.link-row{
grid-template-columns:1fr;
text-align:center;
gap:10px;
padding:15px;
}

.link-img img{
width:120px;
height:auto;
margin:auto;
}

/* Footer */

.footer-inner{
flex-direction:column;
gap:10px;
text-align:center;
}

}


/* =========================
   SMALL PHONES
========================= */

@media (max-width:600px){

.container{
width:94%;
}

/* Smaller fonts */

.np-meta h2{
font-size:20px;
}

/* Schedule scroll */

.schedule{
display:block;
overflow-x:auto;
white-space:nowrap;
}

.schedule .show{
display:inline-block;
min-width:220px;
margin-right:10px;
}

/* Day headers smaller */

.day{
font-size:12px;
padding:10px 0;
}

/* Widgets */

.widget{
padding:15px;
}

}

.fr-today-shows{
background:rgba(255,255,255,0.08);
backdrop-filter:blur(10px);
border:1px solid rgba(255,255,255,0.15);
border-radius:12px;
padding:20px;
color:#fff;
box-shadow:0 10px 30px rgba(0,0,0,0.4);
margin-bottom:20px;
}

.fr-today-title{
font-size:20px;
font-weight:700;
margin-bottom:18px;
letter-spacing:1px;
}

.fr-show-list{
list-style:none;
margin:0;
padding:0;
display:flex;
flex-direction:column;
gap:10px;
}

.fr-show-item{
display:flex;
flex-direction:column;
gap:8px;
padding:14px;
border-radius:8px;
background:rgba(0,0,0,0.25);
transition:all .2s ease;
position:relative;
}
.fr-show-item:hover{
background:rgba(0,0,0,0.4);
transform:translateX(3px);
}

.fr-show-time{
font-weight:700;
color:#f6c945;
font-size:14px;
}

.fr-show-name{
font-weight:600;
font-size:15px;
color:#ffffff;
}

.fr-no-show{
text-align:center;
opacity:.7;
padding:10px;
}

.fr-show-meta{
display:flex;
flex-direction:column;
}

.fr-progress{
width:100%;
height:6px;
background:rgba(255,255,255,0.15);
border-radius:6px;
margin-top:8px;
overflow:hidden;
}

.fr-progress-bar{
height:100%;
background:linear-gradient(90deg,#ff8c00,#ffd000);
border-radius:6px;
transition:width .5s ease;
}

.fr-live{
position:relative;
background:rgba(255,140,0,0.15);
border:1px solid rgba(255,140,0,0.6);
box-shadow:
0 0 12px rgba(255,140,0,0.6),
0 0 25px rgba(255,140,0,0.3);
}

.fr-live-badge{
background:#ff4d4d;
color:#fff;
font-size:11px;
font-weight:700;
padding:4px 8px;
border-radius:4px;
margin-left:10px;
animation:fr-live-pulse 1.4s infinite;
}

@keyframes fr-live-pulse{
0%{opacity:1}
50%{opacity:0.4}
100%{opacity:1}
}
/* GRID */
.fc-grid{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:20px;
    margin-bottom:20px;
}

/* ITEM */
.fc-item{
    text-align:center;
}

/* IMAGES */
.fc-item img{
    width:100%;
    max-width:180px;
    height:auto;
    border-radius:10px;

    box-shadow:
        0 8px 20px rgba(0,0,0,0.5);

    border:2px solid rgba(255,255,255,0.2);
    margin-bottom:10px;
}

/* TEXT */
.fc-item h3{
    margin:6px 0 2px;
    font-size:16px;
}

.fc-item p{
    margin:0;
    font-size:14px;
    opacity:0.8;
}

/* FOOTER INFO */
.fc-info{
    text-align:center;
    font-size:13px;
    opacity:0.7;
    line-height:1.6;
}