/*
 * ENERGY 106 — SCHEDULE COMPACT V3
 * Rebuilt from the existing V2 component.
 * Scoped to the Energy 106 public Schedule.
 * Uses existing Vibe colours and fonts.
 */

.vibe-site .vibe-schedule.energy-schedule-v2 {
    --es-bg: var(--vibe-bg-card, #250638);
    --es-border: var(--vibe-border-medium, rgba(255,255,255,.10));
    --es-muted: var(--vibe-text-secondary, #baa2c7);
    --es-pink: #ed1584;
    --es-heading: var(--rl-heading-font, sans-serif);

    width: 100%;
    min-width: 0;
    container-type: inline-size;
}

.vibe-site .energy-schedule-v2 *,
.vibe-site .energy-schedule-v2 *::before,
.vibe-site .energy-schedule-v2 *::after {
    box-sizing: border-box;
}

/* DAY NAVIGATION */

.vibe-site .energy-schedule-v2 .vibe-schedule__tabs {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 8px !important;
    margin: 0 0 22px !important;
    padding: 0 !important;
    background: transparent !important;
}

.vibe-site .energy-schedule-v2 .vibe-schedule__tab {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0;
    min-height: 38px !important;
    padding: 7px 9px !important;
    border: 1px solid var(--es-border) !important;
    border-radius: 4px !important;
    background: var(--es-bg) !important;
    color: var(--es-muted) !important;
    font: 900 11px/1.2 var(--es-heading) !important;
    text-align: center;
    text-decoration: none !important;
    text-transform: uppercase;
    box-shadow: none !important;
}

.vibe-site .energy-schedule-v2 .vibe-schedule__tab:hover,
.vibe-site .energy-schedule-v2 .vibe-schedule__tab:focus-visible {
    color: #fff !important;
    border-color: var(--es-pink) !important;
}

.vibe-site .energy-schedule-v2 .vibe-schedule__tab.is-active {
    color: #fff !important;
    border-color: var(--es-pink) !important;
    background: var(--es-pink) !important;
}

/* DATE HEADER */

.vibe-site .energy-schedule-v2 .vibe-schedule__heading {
    display: flex !important;
    align-items: center !important;
    min-height: 34px !important;
    gap: 13px !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.vibe-site .energy-schedule-v2 .vibe-schedule__heading > span {
    display: block !important;
    align-self: center;
    width: 5px !important;
    min-width: 5px;
    height: var(--es-heading-bar-height, 34px) !important;
    min-height: 0 !important;
    border-radius: 0 !important;
    background: var(--es-pink) !important;
}

.vibe-site .energy-schedule-v2 .vibe-schedule__heading > div {
    min-width: 0;
}

.vibe-site .energy-schedule-v2 .vibe-schedule__heading small {
    display: block;
    margin: 0 0 3px !important;
    color: var(--es-pink) !important;
    font: 900 11px/1.25 var(--es-heading) !important;
    text-transform: uppercase !important;
    letter-spacing: .04em;
}

.vibe-site .energy-schedule-v2 .vibe-schedule__heading h1 {
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font: 900 32px/1 var(--vibe-font-heading, "Rubik", sans-serif) !important;
    letter-spacing: -.6px !important;
    text-transform: uppercase !important;
}

/* SCHEDULE LIST */

.vibe-site .energy-schedule-v2 .vibe-schedule__list {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 9px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* STANDARD CARD — PHOTO / INFORMATION */

.vibe-site .energy-schedule-v2 .vibe-schedule-show {
    display: grid !important;
    grid-template-columns: 112px minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    align-items: stretch !important;
    gap: 0 !important;
    width: 100%;
    min-width: 0 !important;
    min-height: 112px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--es-border) !important;
    border-radius: 5px !important;
    background: var(--es-bg) !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* SPONSORED CARD — SLIM RIGHT COLUMN */

.vibe-site .energy-schedule-v2
.vibe-schedule-show.has-sponsor {
    grid-template-columns:
        112px minmax(0, 1fr) 134px !important;
}

/* FEATURED ON AIR NOW */

.vibe-site .energy-schedule-v2 .vibe-schedule-show.is-live {
    grid-template-columns: 142px minmax(0, 1fr) !important;
    min-height: 150px !important;
    border-color: var(--es-pink) !important;
    background:
        linear-gradient(
            90deg,
            rgba(237,21,132,.07),
            transparent 62%
        ),
        var(--es-bg) !important;
}

.vibe-site .energy-schedule-v2
.vibe-schedule-show.is-live.has-sponsor {
    grid-template-columns:
        142px minmax(0, 1fr) 148px !important;
}

/* PRESENTER / SHOW IMAGE */

.vibe-site .energy-schedule-v2
.vibe-schedule-show__image,
.vibe-site .energy-schedule-v2
.vibe-schedule-show.is-live .vibe-schedule-show__image {
    position: relative !important;
    display: block !important;
    align-self: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 112px !important;
    height: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-right: 1px solid var(--es-border) !important;
    border-radius: 0 !important;
    background: rgba(10,2,19,.32) !important;
}

.vibe-site .energy-schedule-v2
.vibe-schedule-show__image img {
    position: absolute !important;
    inset: 0;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
}

.vibe-site .energy-schedule-v2
.vibe-schedule-show.is-live .vibe-schedule-show__image {
    min-height: 150px !important;
}

.vibe-site .energy-schedule-v2
.vibe-schedule-show.is-live .vibe-schedule-show__image img {
    object-position: center center !important;
    top: 10px !important;
    height: calc(100% - 10px) !important;
}

.vibe-site .energy-schedule-v2
.vibe-schedule-show__live-image {
    position: absolute !important;
    top: 9px !important;
    left: 9px !important;
    z-index: 2;
    padding: 6px 9px !important;
    border: 0 !important;
    border-radius: 3px !important;
    background: var(--es-pink) !important;
    color: #fff !important;
    font: 900 10px/1 var(--es-heading) !important;
    text-transform: uppercase;
    display: none !important;
}

/* CONTENT — NO WASTED HEIGHT */

.vibe-site .energy-schedule-v2
.vibe-schedule-show__content {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 0 !important;
    min-width: 0 !important;
    width: auto !important;
    min-height: 112px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 12px 17px !important;
    background: transparent !important;
}

.vibe-site .energy-schedule-v2
.vibe-schedule-show.is-live .vibe-schedule-show__content {
    min-height: 150px !important;
    padding: 16px 21px !important;
}

.vibe-site .energy-schedule-v2
.vibe-schedule-show__meta {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 5px 12px !important;
    margin: 0 0 6px !important;
}

.vibe-site .energy-schedule-v2
.vibe-schedule-show__time,
.vibe-site .energy-schedule-v2
.vibe-schedule-show__on-air {
    font: 900 10px/1.2 var(--es-heading) !important;
    text-transform: uppercase;
}

.vibe-site .energy-schedule-v2
.vibe-schedule-show__time {
    color: var(--es-muted) !important;
}

.vibe-site .energy-schedule-v2
.vibe-schedule-show.is-live .vibe-schedule-show__time {
    color: #fff !important;
}

.vibe-site .energy-schedule-v2
.vibe-schedule-show__on-air {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: var(--es-pink) !important;
}

.vibe-site .energy-schedule-v2
.vibe-schedule-show__on-air > span {
    display: inline-block !important;
    width: 7px !important;
    height: 7px !important;
    flex: 0 0 7px;
    border: 0 !important;
    border-radius: 50% !important;
    background: var(--es-pink) !important;
}

.vibe-site .energy-schedule-v2
.vibe-schedule-show h2 {
    margin: 0 0 4px !important;
    padding: 0 !important;
    color: #fff !important;
    font: 900 18px/1.16 var(--es-heading) !important;
    letter-spacing: -.02em;
    overflow-wrap: anywhere;
}

.vibe-site .energy-schedule-v2
.vibe-schedule-show.is-live h2 {
    font-size: 22px !important;
}

.vibe-site .energy-schedule-v2
.vibe-schedule-show__presenter {
    margin: 0 !important;
    color: var(--es-pink) !important;
    font: 850 11px/1.3 var(--es-heading) !important;
}

.vibe-site .energy-schedule-v2
.vibe-schedule-show__description {
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    max-width: 100%;
    margin: 5px 0 0 !important;
    overflow: hidden !important;
    color: var(--es-muted) !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    white-space: normal !important;
}

.vibe-site .energy-schedule-v2
.vibe-schedule-show.is-live .vibe-schedule-show__description {
    -webkit-line-clamp: 2;
    font-size: 12px !important;
}


/* ENERGY 106 — SCHEDULE LINK INTERACTIONS */

.vibe-site .energy-schedule-v2
.vibe-schedule-show h2 a,
.vibe-site .energy-schedule-v2
.vibe-schedule-show__presenter a {
    cursor: pointer;
    transition: color .18s ease;
}

/* Show title — white to Energy pink */

.vibe-site .energy-schedule-v2
.vibe-schedule-show h2 a:hover,
.vibe-site .energy-schedule-v2
.vibe-schedule-show h2 a:focus-visible {
    color: var(--es-pink) !important;
    text-decoration: none !important;
}

/* Presenter name — pink to Energy yellow */

.vibe-site .energy-schedule-v2
.vibe-schedule-show__presenter a:hover,
.vibe-site .energy-schedule-v2
.vibe-schedule-show__presenter a:focus-visible {
    color: #ecdd0e !important;
    text-decoration: none !important;
}

/* Visible keyboard focus */

.vibe-site .energy-schedule-v2
.vibe-schedule-show h2 a:focus-visible,
.vibe-site .energy-schedule-v2
.vibe-schedule-show__presenter a:focus-visible {
    outline: 2px solid #ecdd0e;
    outline-offset: 4px;
    border-radius: 2px;
}

/* EXISTING LISTEN / MESSAGE / WHATSAPP BUTTONS */

.vibe-site .energy-schedule-v2
.vibe-schedule-show__actions {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    width: auto !important;
    max-width: 100%;
    margin: 11px 0 0 !important;
    padding: 0 !important;
}

.vibe-site .energy-schedule-v2
.vibe-schedule-show__action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    flex: 0 0 auto;
    width: auto !important;
    max-width: 100%;
    min-height: 33px !important;
    padding: 0 11px !important;
    border: 1px solid var(--es-border) !important;
    border-radius: 3px !important;
    background: #230637 !important;
    color: #fff !important;
    font: 900 10px/1 var(--es-heading) !important;
    text-decoration: none !important;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: none !important;
}

.vibe-site .energy-schedule-v2
.vibe-schedule-show__action--primary {
    border-color: var(--es-pink) !important;
    background: var(--es-pink) !important;
}

.vibe-site .energy-schedule-v2
.vibe-schedule-show__action:hover {
    border-color: var(--es-pink) !important;
}

.vibe-site .energy-schedule-v2
.vibe-schedule-show__action--primary:hover {
    background: var(--vibe-button-bg-hover, #c9006a) !important;
}

.vibe-site .energy-schedule-v2
.vibe-schedule-show__action svg {
    display: block;
    width: 14px !important;
    height: 14px !important;
    flex: 0 0 14px;
}

/* COMPACT SPONSOR AREA */

.vibe-site .energy-schedule-v2
.vibe-schedule-sponsor {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 10px !important;
    border: 0 !important;
    border-left: 1px solid var(--es-border) !important;
    border-radius: 0 !important;
    background: rgba(0,0,0,.09) !important;
    box-shadow: none !important;
}

.vibe-site .energy-schedule-v2
.vibe-schedule-sponsor__inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center;
}

.vibe-site .energy-schedule-v2
.vibe-schedule-sponsor img {
    display: block;
    width: auto !important;
    height: auto !important;
    max-width: 88px !important;
    max-height: 43px !important;
    object-fit: contain !important;
}

.vibe-site .energy-schedule-v2
.vibe-schedule-sponsor a {
    max-width: 100%;
    color: #fff !important;
    text-decoration: none !important;
}

.vibe-site .energy-schedule-v2
.vibe-schedule-sponsor strong {
    color: #fff !important;
    font: 800 10px/1.25 var(--es-heading) !important;
    overflow-wrap: anywhere;
}

.vibe-site .energy-schedule-v2
.vibe-schedule-sponsor small,
.vibe-site .energy-schedule-v2
.vibe-schedule-sponsor span {
    color: var(--es-muted);
    font-size: 9px;
    line-height: 1.3;
}

/* EMPTY SCHEDULE DAY */

.vibe-site .energy-schedule-v2 .vibe-schedule__empty {
    margin: 0 !important;
    padding: 24px !important;
    border: 1px solid var(--es-border) !important;
    border-radius: 5px !important;
    background: var(--es-bg) !important;
    color: var(--es-muted) !important;
}

/* NARROW TABLETS */

@container (max-width: 850px) {

    .vibe-site .energy-schedule-v2 .vibe-schedule-show {
        grid-template-columns: 96px minmax(0, 1fr) !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.has-sponsor {
        grid-template-columns:
            96px minmax(0, 1fr) 116px !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live {
        grid-template-columns: 118px minmax(0, 1fr) !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live.has-sponsor {
        grid-template-columns:
            118px minmax(0, 1fr) 120px !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show__content {
        padding: 11px 13px !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live .vibe-schedule-show__content {
        padding: 14px !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show h2 {
        font-size: 17px !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live h2 {
        font-size: 20px !important;
    }
}

/* PHONES */

/* ENERGY 106 SCHEDULE MOBILE V8 */

@container (max-width: 650px) {

    /* Day navigation */

    .vibe-site .energy-schedule-v2 .vibe-schedule__tabs {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 7px !important;
        min-width: 0 !important;
        width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        margin: 0 0 17px !important;
        padding: 0 0 6px !important;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }

    .vibe-site .energy-schedule-v2 .vibe-schedule__tab {
        flex: 0 0 auto !important;
        min-width: 96px !important;
        min-height: 39px !important;
        padding: 8px 11px !important;
        font-size: 10px !important;
        scroll-snap-align: start;
    }

    /* Date heading */

    .vibe-site .energy-schedule-v2 .vibe-schedule__heading {
        gap: 11px !important;
        min-height: 31px !important;
        margin-bottom: 15px !important;
        --es-heading-bar-height: 31px;
    }

    .vibe-site .energy-schedule-v2 .vibe-schedule__heading h1 {
        font-size: 27px !important;
        line-height: 1 !important;
        letter-spacing: -.6px !important;
        text-transform: uppercase !important;
        white-space: normal !important;
    }

    /* General show spacing */

    .vibe-site .energy-schedule-v2 .vibe-schedule__list {
        gap: 9px !important;
    }

    /* Standard show cards */

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show:not(.is-live) {
        grid-template-columns:
            92px minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        min-height: 112px !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show:not(.is-live)
    .vibe-schedule-show__image {
        grid-column: 1;
        grid-row: 1;
        width: 100% !important;
        height: 118px !important;
        min-height: 0 !important;
        max-height: 118px !important;
        align-self: start !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show:not(.is-live)
    .vibe-schedule-show__image img {
        object-fit: contain !important;
        object-position: center !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show:not(.is-live)
    .vibe-schedule-show__content {
        grid-column: 2;
        grid-row: 1;
        min-height: 112px !important;
        padding: 12px !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show:not(.is-live) h2 {
        font-size: 16px !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show__description {
        -webkit-line-clamp: 2;
        font-size: 11px !important;
        line-height: 1.4 !important;
    }

    /* Live show */

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live,
    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live.has-sponsor {
        display: grid !important;
        grid-template-columns:
            106px minmax(0, 1fr) !important;
        grid-template-rows:
            repeat(4, auto) auto auto !important;
        align-items: start !important;
        column-gap: 12px !important;
        row-gap: 0 !important;
        min-height: 0 !important;
        height: auto !important;
        padding: 12px 12px 0 !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live.has-sponsor {
        grid-template-columns:
            106px minmax(0, 1fr) 46px !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live
    .vibe-schedule-show__image {
        grid-column: 1;
        grid-row: 1 / 5;
        position: relative !important;
        align-self: start !important;
        width: 100% !important;
        height: 156px !important;
        min-height: 0 !important;
        max-height: 156px !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 4px !important;
        background: transparent !important;
        overflow: hidden !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live
    .vibe-schedule-show__image img {
        top: 0 !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        object-position: center bottom !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live
    .vibe-schedule-show__content {
        display: contents !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live
    .vibe-schedule-show__meta {
        grid-column: 2;
        grid-row: 1;
        min-width: 0;
        gap: 5px 8px !important;
        margin: 0 0 6px !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live.has-sponsor
    .vibe-schedule-show__meta,
    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live.has-sponsor h2,
    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live.has-sponsor
    .vibe-schedule-show__presenter,
    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live.has-sponsor
    .vibe-schedule-show__description {
        grid-column: 2;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live
    .vibe-schedule-show__time,
    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live
    .vibe-schedule-show__on-air {
        font-size: 10px !important;
        line-height: 1.2 !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live h2 {
        grid-column: 2;
        grid-row: 2;
        margin-bottom: 5px !important;
        font-size: 19px !important;
        line-height: 1.15 !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live
    .vibe-schedule-show__presenter {
        grid-column: 2;
        grid-row: 3;
        font-size: 11px !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live
    .vibe-schedule-show__description {
        grid-column: 2;
        grid-row: 4;
        margin-top: 7px !important;
        -webkit-line-clamp: 3;
        font-size: 11px !important;
    }

    /* Buttons */

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live
    .vibe-schedule-show__actions {
        grid-column: 1 / -1;
        grid-row: 5;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
        gap: 8px !important;
        margin: 14px 0 12px !important;
        padding: 0 !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live
    .vibe-schedule-show__action {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 40px !important;
        padding: 7px 10px !important;
        font-size: 11px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        text-align: center !important;
        white-space: normal !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live
    .vibe-schedule-show__action--primary {
        grid-column: 1 / -1;
        font-size: 12px !important;
    }

    /* Sponsor — logo only in top right corner */

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.has-sponsor
    .vibe-schedule-sponsor {
        grid-column: 3;
        grid-row: 1 / 3;
        justify-self: end !important;
        align-self: start !important;
        width: 46px !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        z-index: 2 !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-sponsor::before {
        content: none !important;
        display: none !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-sponsor__inner {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: flex-end !important;
        width: 100% !important;
        min-width: 0 !important;
        text-align: right !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-sponsor img {
        display: block !important;
        width: auto !important;
        height: auto !important;
        max-width: 42px !important;
        max-height: 42px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        object-fit: contain !important;
        flex: 0 0 auto !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-sponsor small,
    .vibe-site .energy-schedule-v2
    .vibe-schedule-sponsor span,
    .vibe-site .energy-schedule-v2
    .vibe-schedule-sponsor strong {
        display: none !important;
    }
}

/* SMALL PHONES */

@container (max-width: 390px) {

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show:not(.is-live) {
        grid-template-columns:
            78px minmax(0, 1fr) !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live,
    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live.has-sponsor {
        grid-template-columns:
            88px minmax(0, 1fr) !important;
        column-gap: 9px !important;
        padding: 11px 11px 0 !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live.has-sponsor {
        grid-template-columns:
            88px minmax(0, 1fr) 40px !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live
    .vibe-schedule-show__image {
        height: 132px !important;
        max-height: 132px !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live h2 {
        font-size: 17px !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live
    .vibe-schedule-show__action {
        font-size: 10px !important;
        min-height: 38px !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live
    .vibe-schedule-show__action--primary {
        font-size: 11px !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-sponsor {
        width: 40px !important;
    }

    .vibe-site .energy-schedule-v2
    .vibe-schedule-sponsor img {
        max-width: 36px !important;
        max-height: 36px !important;
    }
}

/* ENERGY-SCHEDULE-ONAIR-YELLOW-V1 */
.vibe-site .energy-schedule-v2 .vibe-schedule-show__on-air {
    color: #ecdd0e !important;
}

.vibe-site .energy-schedule-v2 .vibe-schedule-show__on-air::before,
.vibe-site .energy-schedule-v2 .vibe-schedule-show__on-air-dot,
.vibe-site .energy-schedule-v2 .vibe-schedule-show__status-dot {
    background: #ecdd0e !important;
    color: #ecdd0e !important;
    border-color: #ecdd0e !important;
}


/* ==================================================
   RL-E106-SCHEDULE-FIT-V1
   Energy 106 full schedule — desktop presentation.
   No changes to images, data, card widths or sponsors.
   ================================================== */

@media (min-width: 900px) {

    /* Make show artwork and presenter photographs
       fill the image column from top to bottom. */

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show__image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center top !important;
    }

    /* Preserve full image-column height for live
       shows, removing the previous 10px reduction. */

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show.is-live
    .vibe-schedule-show__image img {
        height: 100% !important;
        object-fit: cover !important;
        object-position: center top !important;
    }

    /* Non-live schedule actions should not make
       an entire card taller than its neighbours. */

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show:not(.is-live)
    .vibe-schedule-show__content {
        position: relative !important;
    }

    /* Reserve room for the button on cards that
       actually have a Listen Again/action area. */

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show:not(.is-live)
    .vibe-schedule-show__content:has(
        > .vibe-schedule-show__actions
    ) {
        padding-right: 166px !important;
    }

    /* Keep the working action button within the
       existing content area rather than below it. */

    .vibe-site .energy-schedule-v2
    .vibe-schedule-show:not(.is-live)
    .vibe-schedule-show__content
    > .vibe-schedule-show__actions {
        position: absolute !important;
        right: 17px !important;
        bottom: 12px !important;
        top: auto !important;
        left: auto !important;
        width: auto !important;
        max-width: 145px !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 1;
    }
}


/* E106-COMPACT-SCHEDULE-V5 START */
@media screen and (min-width: 1024px) {

    /* Normal programme card: compact, not stretched. */
    body.vibe-site .energy-schedule-v2
    article.vibe-schedule-show.e106-schedule-card:not(.is-live) {
        grid-template-columns:
            130px minmax(0, 1fr) !important;
        min-height: 0 !important;
        height: auto !important;
    }

    /* Normal programme with a sponsor column. */
    body.vibe-site .energy-schedule-v2
    article.vibe-schedule-show.e106-schedule-card.has-sponsor:not(.is-live) {
        grid-template-columns:
            130px minmax(0, 1fr) 134px !important;
    }

    /* Live programme: modestly larger artwork. */
    body.vibe-site .energy-schedule-v2
    article.vibe-schedule-show.e106-schedule-card.is-live {
        grid-template-columns:
            150px minmax(0, 1fr) !important;
        min-height: 0 !important;
        height: auto !important;
    }

    body.vibe-site .energy-schedule-v2
    article.vibe-schedule-show.e106-schedule-card.is-live.has-sponsor {
        grid-template-columns:
            150px minmax(0, 1fr) 148px !important;
    }

    /* Square artwork on ordinary shows. */
    body.vibe-site .energy-schedule-v2
    article.vibe-schedule-show.e106-schedule-card:not(.is-live)
    .vibe-schedule-show__image {
        position: relative !important;
        box-sizing: border-box !important;
        width: 130px !important;
        min-width: 130px !important;
        max-width: 130px !important;
        height: 130px !important;
        min-height: 130px !important;
        max-height: 130px !important;
        aspect-ratio: 1 / 1 !important;
        align-self: start !important;
        overflow: hidden !important;
    }

    /* Square artwork on the currently live show. */
    body.vibe-site .energy-schedule-v2
    article.vibe-schedule-show.e106-schedule-card.is-live
    .vibe-schedule-show__image {
        position: relative !important;
        box-sizing: border-box !important;
        width: 150px !important;
        min-width: 150px !important;
        max-width: 150px !important;
        height: 150px !important;
        min-height: 150px !important;
        max-height: 150px !important;
        aspect-ratio: 1 / 1 !important;
        align-self: start !important;
        overflow: hidden !important;
    }

    /* Preserve image proportions and complete show art. */
    body.vibe-site .energy-schedule-v2
    article.vibe-schedule-show.e106-schedule-card
    .vibe-schedule-show__image > img {
        position: absolute !important;
        inset: 0 !important;
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: 100% !important;
        object-fit: contain !important;
        object-position: center center !important;
    }

    body.vibe-site .energy-schedule-v2
    article.vibe-schedule-show.e106-schedule-card
    .vibe-schedule-show__fallback {
        width: 100% !important;
        height: 100% !important;
    }
}
/* E106-COMPACT-SCHEDULE-V5 END */

