/* SHC Radio 0.6.28 — public Radio schedule and Resident DJ directory. */
.shcRadioSchedule {
    --shcs-blue: #168dff;
    --shcs-blue-soft: #66bdff;
    --shcs-orange: #ff7200;
    --shcs-text: #edf7ff;
    --shcs-soft: #91aac0;
    width: min(100%, 1540px);
    margin: 0 auto;
    padding: 10px 0 44px;
    color: var(--shcs-text);
}
.shcRadioSchedule *, .shcRadioSchedule *::before, .shcRadioSchedule *::after { box-sizing: border-box; }
.shcRadioSchedule__hero,
.shcRadioSchedule__panel,
.shcRadioSchedule__dj,
.shcRadioSchedule__empty--standalone {
    position: relative;
    overflow: hidden;
    border: 1px solid rgb(39 166 255 / 20%);
    border-radius: 11px;
    background: radial-gradient(circle at 8% 0%, rgb(22 141 255 / 10%), transparent 35%), radial-gradient(circle at 96% 100%, rgb(255 114 0 / 7%), transparent 34%), linear-gradient(120deg, rgb(2 10 18 / 99%), rgb(5 19 32 / 98%) 58%, rgb(6 14 23 / 99%));
}
.shcRadioSchedule__hero::before,
.shcRadioSchedule__panel::before,
.shcRadioSchedule__dj::before,
.shcRadioSchedule__empty--standalone::before {
    content: '';
    position: absolute;
    inset: 0 0 auto;
    height: 2px;
    background: linear-gradient(90deg, var(--shcs-blue), var(--shcs-orange));
}
.shcRadioSchedule__hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 142px;
    padding: 24px 28px;
    margin-bottom: 18px;
}
.shcRadioSchedule__hero small,
.shcRadioSchedule__panel header small,
.shcRadioSchedule__sectionHead small,
.shcRadioSchedule__track small,
.shcRadioSchedule__liveMeta small {
    color: var(--shcs-blue-soft);
    font-size: .62rem;
    font-weight: 950;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.shcRadioSchedule__hero small i { margin-right: 7px; color: var(--shcs-orange); }
.shcRadioSchedule__hero h1 { margin: 5px 0 6px; color: #fff; font-size: clamp(1.8rem, 3.2vw, 3rem); font-weight: 950; letter-spacing: -.035em; }
.shcRadioSchedule__hero p { margin: 0; color: #a9c2d8; font-size: .83rem; line-height: 1.55; }
.shcRadioSchedule__heroActions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.shcRadioSchedule__heroActions a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 13px;
    color: #eaf6ff !important;
    border: 1px solid #205780;
    border-radius: 999px;
    background: #061a2a;
    font-size: .65rem;
    font-weight: 900;
    letter-spacing: .045em;
    text-decoration: none !important;
    text-transform: uppercase;
}
.shcRadioSchedule__heroActions a:hover { border-color: var(--shcs-blue); background: #0a3152; }
.shcRadioSchedule__topGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.shcRadioSchedule__panel { min-width: 0; }
.shcRadioSchedule__panel > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 65px;
    padding: 15px 18px;
    border-bottom: 1px solid rgb(39 166 255 / 13%);
    background: rgb(2 12 21 / 64%);
}
.shcRadioSchedule__panel header h2 { margin: 3px 0 0; color: #fff; font-size: 1rem; font-weight: 900; }
.shcRadioSchedule__panel header h2 i { width: 20px; margin-right: 5px; color: var(--shcs-orange); text-align: center; }
.shcRadioSchedule__status,
.shcRadioSchedule__count,
.shcRadioSchedule__liveFlag,
.shcRadioSchedule__upFlag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 9px;
    border-radius: 999px;
    font-size: .55rem;
    font-weight: 950;
    letter-spacing: .07em;
    text-transform: uppercase;
    white-space: nowrap;
}
.shcRadioSchedule__status.is-online,
.shcRadioSchedule__liveFlag { color: #75ffad; background: rgb(11 77 47 / 58%); border: 1px solid rgb(54 229 130 / 26%); }
.shcRadioSchedule__status.is-offline { color: #ffb086; background: rgb(83 29 8 / 55%); border: 1px solid rgb(255 114 0 / 25%); }
.shcRadioSchedule__count,
.shcRadioSchedule__upFlag { color: #d0e8fc; background: #071a29; border: 1px solid #1a4564; }
.shcRadioSchedule__track { padding: 23px 20px 19px; }
.shcRadioSchedule__track strong { display: block; margin-top: 6px; color: #fff; font-size: clamp(1.35rem, 2.2vw, 2rem); line-height: 1.08; overflow-wrap: anywhere; }
.shcRadioSchedule__track span { display: block; margin-top: 7px; color: #ffac66; font-size: .82rem; font-weight: 800; }
.shcRadioSchedule__liveMeta { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 0 18px 18px; }
.shcRadioSchedule__liveMeta div { min-width: 0; padding: 11px 12px; border: 1px solid #153953; border-radius: 7px; background: rgb(2 10 18 / 78%); }
.shcRadioSchedule__liveMeta strong { display: block; margin-top: 4px; color: #eaf5ff; font-size: .72rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.shcRadioSchedule__featured { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; min-height: 170px; justify-content: center; padding: 22px 20px; }
.shcRadioSchedule__featured > strong { color: #fff; font-size: clamp(1.25rem, 2vw, 1.75rem); line-height: 1.12; }
.shcRadioSchedule__featuredDj { color: #ffac66; font-size: .75rem; font-weight: 800; }
.shcRadioSchedule__featuredDj i { margin-right: 5px; }
.shcRadioSchedule__featured time { color: #a9d6f7; font-size: .68rem; font-weight: 800; }
.shcRadioSchedule__list { margin-top: 18px; }
.shcRadioSchedule__showList { display: grid; }
.shcRadioSchedule__show { display: grid; grid-template-columns: 150px minmax(0, 1fr) 210px; gap: 16px; align-items: center; padding: 15px 18px; border-bottom: 1px solid rgb(39 166 255 / 9%); }
.shcRadioSchedule__show:last-child { border-bottom: 0; }
.shcRadioSchedule__date time { color: #a9d6f7; font-size: .66rem; font-weight: 900; }
.shcRadioSchedule__showInfo { min-width: 0; }
.shcRadioSchedule__showInfo strong { display: block; color: #fff; font-size: .78rem; }
.shcRadioSchedule__showInfo span { display: block; margin-top: 5px; color: #ffac66; font-size: .62rem; font-weight: 800; }
.shcRadioSchedule__showInfo p { margin: 6px 0 0; color: #819aae; font-size: .61rem; line-height: 1.45; }
.shcRadioSchedule__time { color: #bcd7ea; font-size: .65rem; font-weight: 800; text-align: right; }
.shcRadioSchedule__empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; min-height: 150px; padding: 25px; color: #6f879b; text-align: center; }
.shcRadioSchedule__empty i { margin-bottom: 4px; color: #477594; font-size: 1.35rem; }
.shcRadioSchedule__empty strong { color: #bfd4e4; font-size: .74rem; }
.shcRadioSchedule__empty span { font-size: .62rem; }
.shcRadioSchedule__residents { margin-top: 26px; }
.shcRadioSchedule__sectionHead { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 13px; padding: 0 3px; }
.shcRadioSchedule__sectionHead h2 { margin: 3px 0 3px; color: #fff; font-size: 1.35rem; }
.shcRadioSchedule__sectionHead p { margin: 0; color: var(--shcs-soft); font-size: .7rem; }
.shcRadioSchedule__sectionHead > span { color: #b9d8ee; border: 1px solid #1a4564; border-radius: 999px; background: #071a29; padding: 6px 10px; font-size: .58rem; font-weight: 900; white-space: nowrap; }
.shcRadioSchedule__djGrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.shcRadioSchedule__dj { display: flex; align-items: center; gap: 13px; min-width: 0; padding: 15px; }
.shcRadioSchedule__avatar { flex: 0 0 58px; width: 58px; height: 58px; overflow: hidden; border: 1px solid #225b82; border-radius: 50%; background: #071a29; }
.shcRadioSchedule__avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
.shcRadioSchedule__avatar span { display: grid; place-items: center; width: 100%; height: 100%; color: #fff; font-size: 1.3rem; font-weight: 950; }
.shcRadioSchedule__djInfo { min-width: 0; }
.shcRadioSchedule__djInfo > strong { display: block; overflow: hidden; color: #fff; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.shcRadioSchedule__djInfo > strong a { color: #fff !important; text-decoration: none !important; }
.shcRadioSchedule__djInfo > strong a:hover { color: #9bd8ff !important; }
.shcRadioSchedule__rank { display: block; margin-top: 4px; color: #8ec9f2; font-size: .56rem; font-weight: 800; }
.shcRadioSchedule__rank i { margin-right: 4px; color: var(--shcs-orange); }
.shcRadioSchedule__socials { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.shcRadioSchedule__socials a { display: grid; place-items: center; width: 27px; height: 27px; color: #acd8f7 !important; border: 1px solid #1a4564; border-radius: 6px; background: #071a29; text-decoration: none !important; }
.shcRadioSchedule__socials a:hover { color: #fff !important; border-color: var(--shcs-blue); background: #0b3150; }
.shcRadioSchedule__socials > span { color: #70899d; font-size: .55rem; }
.shcRadioSchedule__empty--standalone { min-height: 180px; }
@media (max-width: 1120px) { .shcRadioSchedule__djGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) {
    .shcRadioSchedule__topGrid { grid-template-columns: 1fr; }
    .shcRadioSchedule__show { grid-template-columns: 120px minmax(0, 1fr); }
    .shcRadioSchedule__time { grid-column: 2; text-align: left; }
}
@media (max-width: 640px) {
    .shcRadioSchedule { padding-top: 4px; }
    .shcRadioSchedule__hero { align-items: flex-start; flex-direction: column; padding: 19px 16px; }
    .shcRadioSchedule__heroActions { justify-content: flex-start; }
    .shcRadioSchedule__show { grid-template-columns: 1fr; gap: 7px; }
    .shcRadioSchedule__time { grid-column: auto; }
    .shcRadioSchedule__liveMeta, .shcRadioSchedule__djGrid { grid-template-columns: 1fr; }
    .shcRadioSchedule__sectionHead { align-items: flex-start; flex-direction: column; }
}
