
.schedule-tabs{

    display:flex;

    gap:10px;

    margin-bottom:30px;

    flex-wrap:wrap;

}

.schedule-tab{

    background:white;

    border:2px solid #e6007e;

    color:#123d87;

    padding:10px 20px;

    border-radius:30px;

    cursor:pointer;

    font-weight:bold;

    transition:.25s;

}

.schedule-tab:hover{

    background:#123d87;

    color:white;

}

.schedule-tab.active{

    background:#e6007e;

    color:white;

}



.shr-schedule h2{

    color:#123d87;

    margin-bottom:30px;

}

.programme-card{

    background:#fff;

    border-radius:14px;

    padding:18px 22px;

    margin-bottom:16px;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

    transition:.25s;

}

.programme-card:hover{

    transform:translateY(-4px);

}

.programme-card.on-air{

    position:relative;

    overflow:hidden;

}

.programme-card.on-air::before{

    content:"";

    position:absolute;

    left:0;
    top:0;
    bottom:0;

    width:8px;

    background:linear-gradient(
        180deg,
        #2F4994,
        #283E80
    );

}

/* ==================================
   ON AIR Badge
================================== */

.on-air-badge{

    display:inline-flex;

    align-items:center;

    gap:12px;

    padding:8px 18px;

gap:10px;

    min-height:42px;

    border-radius:999px;

    background:linear-gradient(
        180deg,
        #e4378b 0%,
        #c81e70 100%
    );

    color:#fff;

    font-weight:700;

    font-size:.9rem;

    letter-spacing:.5px;

    text-transform:uppercase;

    box-shadow:
        0 8px 18px rgba(213,45,125,.25);

}

.programme-card h3{

    margin-bottom:6px;
    font-size:1.45rem;

    color:#0b2d72;

}

.presenter{

    color:#777;

    font-weight:600;

    margin-bottom:15px;

}

.time{

    margin-top:20px;

    font-weight:bold;

    color:#0b2d72;

}

.shr-error{

    background:#fff0f0;

    padding:20px;

    border-left:6px solid red;

}



.current-show{

    margin-bottom:40px;

    border-left:10px solid #e6007e;

}

.coming-up{

    color:#123d87;

    margin:40px 0 20px;

}




.programme-link{
    color:#123d87;
    text-decoration:none;
    transition:.2s;
}

.programme-link:hover{
    color:#e6007e;
}

.presenter{
    color:#6b7280;
    font-size:0.95rem;
    margin:6px 0 18px;
}

.listen-button{
    display:inline-block;
    background:#e6007e;
    color:#fff;
    padding:10px 18px;
    border-radius:30px;
    text-decoration:none;
    font-weight:600;
    transition:.2s;
}

.listen-button:hover{
    background:#c6006d;
}



/* ==============================
   ON AIR CARD
============================== */

.programme-card.on-air{

    padding:24px 30px;

}

.on-air-grid{

    display:grid;

    grid-template-columns:2fr 320px;

    gap:40px;

    align-items:start;

}

.on-air-main h2{

    margin:15px 0;

    font-size:2.8rem;

}

.presenter{

    color:#6b7280;

    font-size:.95rem;

    margin:4px 0 14px;

}

.description{

    margin-bottom:18px;

    line-height:1.5;

}

.next-show-card{

    background:#f7f9fc;

    border-radius:16px;

    padding:24px;

    border-top:5px solid #d62b7f;

    box-shadow:0 10px 30px rgba(0,0,0,.06);

}

.next-label{

    display:block;

    color:#d62b7f;

    font-size:.8rem;

    font-weight:700;

    letter-spacing:2px;

    margin-bottom:15px;

}

.next-show-card h4{

    margin:0 0 12px;

    color:#1d3d8f;

    font-size:1.4rem;

}

.next-show-card p{

    margin:0 0 20px;

    color:#666;

}

.next-time{

    font-weight:600;

    color:#1d3d8f;

}

@media(max-width:900px){

    .on-air-grid{

        grid-template-columns:1fr;

    }

}




/* ==========================
   Build 0065
   Progress Bar
========================== */

.progress-wrapper{

    margin-top:22px;

}

.progress-track{

    width:100%;

    height:10px;

    background:#D0DFF0;

    border-radius:999px;

    overflow:hidden;

}

.progress-title{

    color:#d52d7d;

    font-size:.85rem;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:1px;

    margin-bottom:8px;

}

.progress-bar{

    height:100%;

    background:linear-gradient(
        90deg,
        #e4378b 0%,
        #d52d7d 50%,
        #b91d69 100%
    );

    border-radius:999px;

    position:relative;

    transition:width .8s ease;

}

.progress-bar::after{

    content:"";

    position:absolute;

    top:0;
    left:0;
    right:0;
    bottom:0;

    background:linear-gradient(

        rgba(255,255,255,.35),

        rgba(255,255,255,0)

    );

}
.progress-times{

    display:flex;

    justify-content:space-between;

    margin-top:8px;

    font-size:.85rem;

    color:#6b7280;

    font-weight:600;

}



/* ==========================
   Time Pills
========================== */

.time-pill{

    display:inline-block;

    background:#f7d8e8;          /* Light SHR pink */

    color:#b0005a;               /* Darker pink text */

    padding:8px 16px;

    border-radius:999px;

    font-weight:700;

    font-size:.9rem;

    letter-spacing:.4px;

    margin-top:18px;

}




.programme-card.on-air .time-pill{

    background:#d52d7d;

    color:#fff;

}



.live-dot{

    position:relative;

    width:10px;

    height:10px;

    border-radius:50%;

    background:#ffffff;

    flex-shrink:0;

}

.live-dot::after{

    content:"";

    position:absolute;

    left:50%;
    top:50%;

    width:12px;
    height:12px;

    border-radius:50%;

    background:#ffffff;

    transform:translate(-50%,-50%);

    animation:pulseLive 1.8s ease-out infinite;

}


@keyframes pulseLive{

    0%{

        transform:translate(-50%,-50%) scale(1);

        opacity:.7;

    }

    100%{

        transform:translate(-50%,-50%) scale(3);

        opacity:0;

    }

}



/* =========================================
   Build 0064
   Compact Programme Cards
========================================= */

.programme-row{

    display:flex;

    align-items:flex-start;

    gap:28px;

}

.programme-time{

    width:170px;

    flex-shrink:0;

}

.programme-info{

    flex:1;

}

.programme-info h3{

    margin-bottom:6px;

}

.programme-info .presenter{

    margin:0 0 8px;

}

.programme-info .description{

    margin:0;

}

.programme-card{

    padding:22px 28px;

}



@media(max-width:768px){

.programme-row{

    flex-direction:column;

    gap:14px;

}

.programme-time{

    width:auto;

}

}





/* ==================================
   Section Pills
================================== */

.section-pill{

    display:inline-flex;

    min-height:42px;

    align-items:center;

    padding:10px 20px;

    border-radius:999px;

    font-size:.9rem;

    font-weight:700;

    letter-spacing:1px;

    text-transform:uppercase;

    margin:30px 0 20px;

}

.coming-up-pill{

    background:linear-gradient(
        180deg,
        #1d4fa3 0%,
        #163d82 100%
    );

    color:#fff;

    box-shadow:
        0 8px 18px rgba(29,79,163,.20);

}





/* ==========================================
   Weekly Tabs
========================================== */

.schedule-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:30px 0;
}

.schedule-tab{

    padding:12px 20px;

    border:none;

    border-radius:30px;

    background:#f4f4f4;

    color:#444;

    font-weight:600;

    cursor:pointer;

    transition:.25s;

}

.schedule-tab:hover{

    background:#ececec;

}

.schedule-tab.active{

    background:#e91e63;

    color:#fff;

}


/* ==========================================
   Day Containers
========================================== */

.schedule-day{
    display:none;
}

.schedule-day.active{
    display:block;
}
