/*
 * ENERGY 106 — VIBE MOBILE HOMEPAGE
 * Phase 1: Header, On Air and Now Playing
 *
 * Loaded by Energy 106's homepage only.
 * Desktop rules are intentionally excluded.
 */


/* ENERGY OUT OUT MOBILE V1 — desktop safeguard */
body.vibe-site .vibe-homepage
.energy-outout .energy-outout__date {
    display: none;
}
@media screen and (max-width: 700px) {

    /* -------------------------------------------
       ON AIR HERO
       ------------------------------------------- */

    body.vibe-site .vibe-header__broadcast {
        width: 100% !important;
        margin-inline: 0 !important;

        background-color: #21082e !important;
        background-position: center top !important;
        background-size: auto 255px !important;
        background-repeat: no-repeat !important;
        overflow: hidden;
    }

    body.vibe-site .vibe-header__broadcast::before {
        top: 0;
        right: 0;
        bottom: auto;
        left: 0;
        height: 255px;
        background:
            linear-gradient(
                90deg,
                rgba(19, 4, 31, .69) 0%,
                rgba(19, 4, 31, .38) 49%,
                rgba(19, 4, 31, .06) 100%
            ) !important;
    }

    body.vibe-site .vibe-header__broadcast-inner {
        position: relative;
        width: calc(100% - 16px) !important;
        height: auto !important;
        min-height: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: 255px auto !important;
        align-items: stretch;
        gap: 0 !important;
        padding: 0 0 14px !important;
        margin-inline: auto;
    }

    body.vibe-site .vibe-on-air {
        position: relative;
        grid-column: 1;
        grid-row: 1;
        z-index: 3;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        align-self: stretch;
        min-width: 0;
        min-height: 0 !important;
        padding: 15px 10px 18px !important;
        border: 0 !important;
        background: transparent;
        text-align: left;
    }

    body.vibe-site .vibe-on-air >
    .vibe-header__eyebrow:not([hidden]) {
        display: inline-flex;
        align-items: center;
        align-self: flex-start;
        width: auto;
        margin: 0 0 10px !important;
        padding: 6px 10px;
        border-radius: 4px;
        background: #ffe100;
        color: #21082e !important;
        font-size: 11px !important;
        font-weight: 900;
        line-height: 1;
        letter-spacing: 0;
    }

    body.vibe-site .vibe-on-air__show {
        width: 100%;
        max-width: none !important;
        margin: 0 !important;
        color: #ffffff !important;
        font-size: clamp(26px, 7.5vw, 36px) !important;
        font-weight: 900;
        line-height: .98 !important;
        letter-spacing: -.025em;
        text-wrap: balance;
        text-shadow: 0 2px 9px rgba(15, 3, 24, .65);
    }

    body.vibe-site .vibe-on-air__presenter {
        max-width: 94%;
        margin: 7px 0 0 !important;
        color: #ffffff !important;
        font-size: clamp(15px, 4.2vw, 18px) !important;
        font-weight: 800;
        line-height: 1.12 !important;
        text-transform: none !important;
        text-shadow: 0 2px 7px rgba(15, 3, 24, .65);
    }

    body.vibe-site .vibe-on-air__time {
        margin-top: 9px !important;
        color: #ffffff !important;
        font-size: 13px !important;
        font-weight: 750;
        text-shadow: 0 2px 7px rgba(15, 3, 24, .65);
    }

    body.vibe-site .vibe-on-air__time svg {
        display: none;
    }

    body.vibe-site .vibe-on-air__sponsor {
        margin-top: 7px;
    }

    body.vibe-site .vibe-header__presenter {
        position: absolute !important;
        top: 0 !important;
        right: -10px !important;
        bottom: auto !important;
        left: auto !important;
        z-index: 2;
        display: block;
        width: 58% !important;
        height: 255px !important;
        min-width: 0;
        overflow: hidden;
        pointer-events: none;
    }

    body.vibe-site .vibe-header__presenter::before,
    body.vibe-site .vibe-header__presenter::after {
        display: none !important;
    }

    body.vibe-site .vibe-header__presenter img {
        position: absolute;
        top: auto !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        display: block;
        width: auto !important;
        max-width: none !important;
        height: 245px !important;
        object-fit: contain;
        object-position: right bottom;
        transform: none !important;
    }

    /* -------------------------------------------
       NOW PLAYING CARD
       Reuses the original live DOM / voting hooks.
       ------------------------------------------- */

    body.vibe-site .vibe-header__broadcast
    .vibe-now-playing {
        position: relative;
        z-index: 5;
        grid-column: 1;
        grid-row: 2;
        align-self: stretch;
        display: grid !important;
        grid-template-columns:
            76px minmax(0, 1fr) 40px 40px;
        grid-template-rows: auto minmax(76px, auto) 43px;
        column-gap: 8px;
        row-gap: 11px;
        min-width: 0;
        width: 100%;
        margin: 0 !important;
        padding: 13px !important;
        border: 1px solid #633276;
        border-radius: 6px;
        background: rgba(30, 8, 45, .98);
        box-shadow: none !important;
        transform: none !important;
        text-align: left;
    }

    body.vibe-site .vibe-header__broadcast
    .vibe-now-playing > .vibe-header__eyebrow {
        grid-column: 1 / -1;
        grid-row: 1;
        margin: 0 !important;
        color: var(--e106-pink, #ed1584) !important;
        font-size: 13px !important;
        font-weight: 900;
        line-height: 1.1;
    }

    body.vibe-site .vibe-header__broadcast
    .vibe-now-playing__copy {
        grid-column: 2 / -1;
        grid-row: 2;
        align-self: center;
        min-width: 0;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left;
    }

    body.vibe-site .vibe-header__broadcast
    .vibe-now-playing__artist {
        display: -webkit-box !important;
        max-width: none;
        overflow: hidden;
        color: #ffffff !important;
        font-size: 16px !important;
        font-weight: 900;
        line-height: 1.15 !important;
        letter-spacing: 0;
        text-transform: none !important;
        white-space: normal !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    body.vibe-site .vibe-header__broadcast
    .vibe-now-playing__title {
        display: -webkit-box !important;
        max-width: none;
        overflow: hidden;
        margin-top: 6px;
        color: #cbb2d9 !important;
        font-size: 12px !important;
        font-weight: 550;
        line-height: 1.3 !important;
        text-transform: none !important;
        white-space: normal !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    /* Flatten the visual layout of the existing
       action group; DOM and JS stay unchanged. */

    body.vibe-site .vibe-header__broadcast
    .vibe-now-playing__actions {
        display: contents !important;
    }

    body.vibe-site .vibe-header__broadcast
    .vibe-now-playing__artwork {
        grid-column: 1;
        grid-row: 2;
        width: 76px !important;
        height: 76px !important;
        flex: none;
        margin: 0 !important;
        border: 1px solid #774586 !important;
        border-radius: 4px !important;
        background: #321441;
    }

    body.vibe-site .vibe-header__broadcast
    .vibe-now-playing__artwork img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    body.vibe-site .vibe-header__broadcast
    .vibe-now-playing__artwork img[hidden] {
        display: none !important;
    }

    body.vibe-site .vibe-header__broadcast
    .vibe-now-playing .vibe-listen-live--broadcast {
        grid-column: 1 / 3;
        grid-row: 3;
        align-self: stretch;
        justify-self: stretch;
        order: initial;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 100% !important;
        min-width: 0;
        min-height: 43px !important;
        margin: 0 !important;
        padding: 0 8px !important;
        gap: 7px;
        border: 1px solid var(--e106-pink, #ed1584) !important;
        border-radius: 4px !important;
        background: var(--e106-pink, #ed1584) !important;
        color: #ffffff !important;
        font-size: 11px !important;
        font-weight: 900;
        text-decoration: none;
    }

    body.vibe-site .vibe-header__broadcast
    .vibe-now-playing .vibe-song-vote {
        display: grid !important;
        place-items: center;
        width: 40px !important;
        min-width: 40px;
        height: 40px !important;
        min-height: 40px;
        margin: 0 !important;
        padding: 8px !important;
        border: 1px solid #895b99 !important;
        border-radius: 50% !important;
        background: rgba(20, 5, 32, .8) !important;
        color: #ffffff !important;
        box-shadow: none !important;
    }

    body.vibe-site .vibe-header__broadcast
    .vibe-song-vote[data-vibe-vote-dir="up"] {
        grid-column: 3;
        grid-row: 3;
    }

    body.vibe-site .vibe-header__broadcast
    .vibe-song-vote[data-vibe-vote-dir="down"] {
        grid-column: 4;
        grid-row: 3;
    }

    /* The homepage Recently Played section follows
       immediately below this card. */

    body.vibe-site .vibe-header__broadcast
    .vibe-now-playing__recent {
        display: none !important;
    }

    /* ------------------------------------------
       MOBILE RECENTLY PLAYED
       Compact adaptation of desktop cards
       ------------------------------------------ */

    body.vibe-site .vibe-homepage
    .vibe-home-recent-slot {
        min-width: 0;
        padding: 0 !important;
        background: transparent !important;
    }

    body.vibe-site .vibe-homepage
    .vibe-home-recent-slot .vibe-sidebar-recent {
        min-width: 0;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    /* Section header */

    body.vibe-site .vibe-homepage
    .vibe-home-recent-slot .vibe-sidebar-recent__header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
        gap: 10px !important;
        margin: 0 0 14px !important;
        padding: 0 !important;
        min-height: 38px !important;
        border: 0 !important;
        background: transparent !important;
    }

    body.vibe-site .vibe-homepage
    .vibe-home-recent-slot .vibe-sidebar-recent__header h2 {
        min-width: 0;
        margin: 0 !important;
        font-size: clamp(17px, 4.7vw, 21px) !important;
        line-height: 1.15 !important;
        white-space: nowrap;
    }

    body.vibe-site .vibe-homepage
    .vibe-home-recent-slot .vibe-sidebar-recent__header a {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        gap: 6px;
        width: auto !important;
        min-height: 36px !important;
        margin: 0 !important;
        padding: 0 11px !important;
        border: 1px solid var(--e106-pink, #ed1584) !important;
        border-radius: 4px !important;
        background: transparent !important;
        color: #fff !important;
        font-size: 11px !important;
        font-weight: 900;
        text-decoration: none;
        white-space: nowrap;
    }

    body.vibe-site .vibe-homepage
    .vibe-home-recent-slot .vibe-sidebar-recent__header a span {
        color: var(--e106-pink, #ed1584) !important;
        font-size: 18px !important;
    }

    /* Four compact rows */

    body.vibe-site .vibe-homepage
    .vibe-home-recent-slot .vibe-sidebar-recent__list {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 8px !important;
        min-width: 0;
        width: 100%;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.vibe-site .vibe-homepage
    .vibe-home-recent-slot .vibe-sidebar-recent__track,
    body.vibe-site .vibe-homepage
    .vibe-home-recent-slot .vibe-sidebar-recent__track:last-child {
        position: relative;
        display: grid !important;
        grid-template-columns:68px minmax(0, 1fr) 76px !important;
        grid-template-rows: auto auto !important;
        align-items: center !important;
        column-gap: 10px !important;
        row-gap: 5px !important;
        min-width: 0 !important;
        width: 100% !important;
        min-height: 84px !important;
        height: auto !important;
        margin: 0 !important;
        padding: 7px !important;
        border: 1px solid #51225d !important;
        border-radius: 5px !important;
        background: var(--e106-card, #250638) !important;
        box-shadow: none !important;
        overflow: hidden;
    }

    /* Artwork: same rounded-square shape as desktop */

    body.vibe-site .vibe-homepage
    .vibe-home-recent-slot .vibe-sidebar-recent__artwork {
        position: static !important;
        display: grid !important;
        place-items: center;
        grid-column: 1;
        grid-row: 1 / 3;
        align-self: center;
        width: 68px !important;
        min-width: 68px !important;
        height: 68px !important;
        min-height: 68px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden;
        border: 0 !important;
        border-radius: 5px !important;
        background: #250b30;
    }

    body.vibe-site .vibe-homepage
    .vibe-home-recent-slot .vibe-sidebar-recent__artwork img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        object-fit: cover !important;
        border-radius: 5px !important;
    }

    /* Track title and artist */

    body.vibe-site .vibe-homepage
    .vibe-home-recent-slot .vibe-sidebar-recent__copy {
        display: contents !important;
    }

    body.vibe-site .vibe-homepage
    .vibe-home-recent-slot .vibe-sidebar-recent__copy strong {
        grid-column: 2;
        grid-row: 1;
        align-self: end;
        display: -webkit-box !important;
        min-width: 0;
        width: 100%;
        overflow: hidden !important;
        margin: 0 !important;
        color: #fff !important;
        font-size: 14px !important;
        font-weight: 850 !important;
        line-height: 1.2 !important;
        white-space: normal !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow-wrap: anywhere;
    }

    body.vibe-site .vibe-homepage
    .vibe-home-recent-slot .vibe-sidebar-recent__copy span {
        grid-column: 2;
        grid-row: 2;
        align-self: start;
        display: block !important;
        min-width: 0;
        width: 100%;
        overflow: hidden !important;
        margin: 0 !important;
        color: #c5abd0 !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: 1.25 !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    /* Time and existing vote buttons */

    body.vibe-site .vibe-homepage
    .vibe-home-recent-slot .vibe-sidebar-recent__time {
        position: static !important;
        grid-column: 3;
        grid-row: 1;
        align-self: center;
        justify-self: end;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        color: var(--e106-pink, #ed1584) !important;
        font-size: 12px !important;
        font-weight: 850 !important;
        line-height: 1.15 !important;
        text-align: right;
        white-space: nowrap;
    }

    body.vibe-site .vibe-homepage
    .vibe-home-recent-slot .vibe-sidebar-recent__votes {
        position: static !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
        grid-column: 3;
        grid-row: 2;
        align-self: center;
        justify-self: end;
        gap: 4px !important;
        width: auto !important;
        min-width: 0;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.vibe-site .vibe-homepage
    .vibe-home-recent-slot .vibe-sidebar-recent__vote {
        display: grid !important;
        place-items: center;
        flex: 0 0 34px;
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
        margin: 0 !important;
        padding: 6px !important;
        border: 0 !important;
        border-radius: 4px !important;
        background: transparent !important;
        color: #fff !important;
        box-shadow: none !important;
    }

    body.vibe-site .vibe-homepage
    .vibe-home-recent-slot .vibe-sidebar-recent__vote svg {
        display: block !important;
        width: 20px !important;
        height: 20px !important;
    }

    body.vibe-site .vibe-homepage
    .vibe-home-recent-slot .vibe-sidebar-recent__vote.is-selected {
        color: var(--e106-pink, #ed1584) !important;
    }

    /* Narrow phones */

    @media (max-width: 359px) {
        body.vibe-site .vibe-homepage
        .vibe-home-recent-slot .vibe-sidebar-recent__track {
            grid-template-columns:60px minmax(0, 1fr) 70px !important;
            column-gap: 7px !important;
            padding: 8px !important;
        }

        body.vibe-site .vibe-homepage
        .vibe-home-recent-slot .vibe-sidebar-recent__artwork {
            width: 60px !important;
            min-width: 60px !important;
            height: 60px !important;
            min-height: 60px !important;
        }

        body.vibe-site .vibe-homepage
        .vibe-home-recent-slot .vibe-sidebar-recent__copy strong {
            font-size: 13px !important;
        }

        body.vibe-site .vibe-homepage
        .vibe-home-recent-slot .vibe-sidebar-recent__header h2 {
            font-size: 16px !important;
        }

        body.vibe-site .vibe-homepage
        .vibe-home-recent-slot .vibe-sidebar-recent__vote {
            flex-basis: 31px;
            min-width: 31px !important;
            width: 31px !important;
        }
    }



    /* ENERGY MOBILE SCHEDULE 2X2 V1
       Three dynamic programmes + Listen Again.
       Energy 106 homepage, mobile only. */

    body.vibe-site .vibe-homepage .vibe-today-schedule--energy,
    body.vibe-site .vibe-homepage .vibe-today-schedule--energy .vibe-today-schedule__inner {
        width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Heading and schedule link */

    body.vibe-site .vibe-homepage .vibe-today-schedule--energy .vibe-today-schedule__header {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
        gap: 7px !important;
        margin: 0 0 12px !important;
        padding: 0 !important;
    }

    body.vibe-site .vibe-homepage .vibe-today-schedule--energy .vibe-today-schedule__header > div {
        min-width: 0;
        padding-left: 13px !important;
    }

    body.vibe-site .vibe-homepage .vibe-today-schedule--energy .vibe-today-schedule__header h2 {
        margin: 0 !important;
        white-space: nowrap;
    }

    
    /* ENERGY 106 — TODAY'S SHOWS MOBILE TITLE */

    body.vibe-site .vibe-homepage
    .vibe-today-schedule--energy
    #vibe-today-schedule-title
    .energy-schedule-heading--desktop {
        display: none !important;
    }

    body.vibe-site .vibe-homepage
    .vibe-today-schedule--energy
    #vibe-today-schedule-title
    .energy-schedule-heading--mobile {
        display: inline !important;
    }

    /* END ENERGY 106 — TODAY'S SHOWS MOBILE TITLE */

/* ENERGY 106 — MOBILE FULL SCHEDULE LABEL */
    body.vibe-site .vibe-homepage
    .vibe-today-schedule--energy
    .vibe-today-schedule__view-all
    .energy-schedule-label--desktop {
        display: none !important;
    }

    body.vibe-site .vibe-homepage
    .vibe-today-schedule--energy
    .vibe-today-schedule__view-all
    .energy-schedule-label--mobile {
        display: inline !important;
    }
    /* END ENERGY 106 — MOBILE FULL SCHEDULE LABEL */


    body.vibe-site .vibe-homepage .vibe-today-schedule--energy .vibe-today-schedule__view-all {
        flex: 0 0 auto !important;
        width: auto !important;
        min-height: 33px !important;
        padding: 0 8px !important;
        gap: 5px !important;
        white-space: nowrap;
    }

    /* Four equal grid positions */

    body.vibe-site .vibe-homepage .vibe-today-schedule--energy .vibe-today-schedule__rail {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: auto auto !important;
        grid-auto-flow: row !important;
        gap: 10px !important;
        align-items: stretch !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        scroll-snap-type: none !important;
    }

    /* Hide fourth programme on mobile only.
       Desktop keeps the original four programmes. */

    body.vibe-site .vibe-homepage .vibe-today-schedule--energy
    .vibe-today-schedule__rail > a.vibe-today-schedule__item:nth-of-type(n+4) {
        display: none !important;
    }

    /* Matching programme and promo card dimensions */

    body.vibe-site .vibe-homepage .vibe-today-schedule--energy .vibe-today-schedule__item,
    body.vibe-site .vibe-homepage .vibe-today-schedule--energy .vibe-today-schedule__promo {
        display: block !important;
        position: relative !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: clamp(174px, 49vw, 210px) !important;
        min-height: 0 !important;
        flex: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    /* Full-bleed programme artwork */

    body.vibe-site .vibe-homepage .vibe-today-schedule--energy .vibe-today-schedule__artwork {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
        max-height: none !important;
        aspect-ratio: auto !important;
    }

    body.vibe-site .vibe-homepage .vibe-today-schedule--energy .vibe-today-schedule__artwork img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center top !important;
    }

    body.vibe-site .vibe-homepage .vibe-today-schedule--energy .vibe-today-schedule__item::after {
        background: linear-gradient(
            to bottom,
            transparent 20%,
            rgba(17, 3, 28, .18) 42%,
            rgba(17, 3, 28, .94) 100%
        ) !important;
    }

    /* Programme information over artwork */

    body.vibe-site .vibe-homepage .vibe-today-schedule--energy .vibe-today-schedule__copy {
        position: absolute !important;
        inset: 0 !important;
        z-index: 2 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-end !important;
        gap: 3px !important;
        width: 100% !important;
        height: 100% !important;
        padding: 38px 10px 12px !important;
        background: transparent !important;
    }

    body.vibe-site .vibe-homepage .vibe-today-schedule--energy .vibe-today-schedule__copy strong {
        font-size: clamp(16px, 4.1vw, 21px) !important;
        line-height: 1.04 !important;
        -webkit-line-clamp: 2;
        overflow-wrap: anywhere;
        text-shadow: 0 2px 7px rgba(0, 0, 0, .7);
    }

    body.vibe-site .vibe-homepage .vibe-today-schedule--energy .vibe-today-schedule__presenter {
        max-width: 100% !important;
        font-size: 12px !important;
        line-height: 1.15 !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
        text-shadow: 0 2px 6px rgba(0, 0, 0, .7);
    }

    body.vibe-site .vibe-homepage .vibe-today-schedule--energy .vibe-today-schedule__time {
        margin: 5px 0 0 !important;
        color: #eea1db !important;
        font-size: 11px !important;
        font-weight: 850 !important;
        line-height: 1.15 !important;
        white-space: normal !important;
        text-shadow: 0 2px 6px rgba(0, 0, 0, .7);
    }

    /* Listen Again promotional tile */

    body.vibe-site .vibe-homepage .vibe-today-schedule--energy .vibe-today-schedule__promo {
        display: flex !important;
        align-items: flex-end !important;
    }

    body.vibe-site .vibe-homepage .vibe-today-schedule--energy .vibe-today-schedule__promo-content {
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-end !important;
        align-items: flex-start !important;
        gap: 8px !important;
        width: 100% !important;
        height: 100% !important;
        padding: 13px !important;
    }

    body.vibe-site .vibe-homepage .vibe-today-schedule--energy .vibe-today-schedule__promo-content strong {
        font-size: clamp(16px, 4vw, 21px) !important;
        line-height: 1.05 !important;
    }

    body.vibe-site .vibe-homepage .vibe-today-schedule--energy .vibe-today-schedule__promo-content > span {
        font-size: 12px !important;
        line-height: 1.25 !important;
    }

    body.vibe-site .vibe-homepage .vibe-today-schedule--energy .vibe-today-schedule__promo-button {
        width: 100% !important;
        min-height: 39px !important;
        margin-top: 6px !important;
        padding: 0 8px !important;
        font-size: 11px !important;
        white-space: nowrap;
    }

    /* Very narrow phones */

    @media (max-width: 359px) {
        body.vibe-site .vibe-homepage .vibe-today-schedule--energy .vibe-today-schedule__header {
            flex-wrap: wrap !important;
        }

        body.vibe-site .vibe-homepage .vibe-today-schedule--energy .vibe-today-schedule__copy {
            padding: 34px 8px 9px !important;
        }

        body.vibe-site .vibe-homepage .vibe-today-schedule--energy .vibe-today-schedule__time {
            font-size: 10px !important;
        }
    }


    /* ENERGY OUT OUT MOBILE V1 */

    body.vibe-site .vibe-homepage
    .energy-outout .vibe-events__header {
        align-items: center;
        gap: 9px;
        margin-bottom: 12px;
    }

    body.vibe-site .vibe-homepage
    .energy-outout .vibe-events__header h2 {
        white-space: nowrap;
    }

    body.vibe-site .vibe-homepage
    .energy-outout .vibe-today-schedule__view-all {
        min-width: 0;
        min-height: 38px;
        padding: 0 10px;
        font-size: clamp(10px, 2.6vw, 13px);
        white-space: nowrap;
        flex-shrink: 0;
    }

    body.vibe-site .vibe-homepage
    .energy-outout .vibe-events__grid {
        display: flex !important;
        grid-template-columns: none !important;
        gap: 10px !important;
        width: 100%;
        max-width: 100%;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory;
        scroll-padding-inline-start: 0;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    body.vibe-site .vibe-homepage
    .energy-outout .vibe-events__grid::-webkit-scrollbar {
        display: none;
    }

    body.vibe-site .vibe-homepage
    .energy-outout .vibe-events__grid > .vibe-event {
        flex: 0 0 76% !important;
        width: 76% !important;
        min-width: 76% !important;
        max-width: 76% !important;
        height: auto;
        align-self: stretch;
        scroll-snap-align: start;
        overflow: hidden;
    }


    body.vibe-site .vibe-homepage
    .energy-outout .vibe-event__image {
        aspect-ratio: 1.72 / 1 !important;
        border-radius: 0;
    }

    body.vibe-site .vibe-homepage
    .energy-outout .vibe-event__date,
    body.vibe-site .vibe-homepage
    .energy-outout .vibe-event__badge {
        display: none !important;
    }

    body.vibe-site .vibe-homepage
    .energy-outout .vibe-event__content {
        padding: 12px 13px 0 !important;
        gap: 0;
    }

    body.vibe-site .vibe-homepage
    .energy-outout .vibe-event__content h3 {
        margin: 0 0 4px;
        font-size: 18px;
        line-height: 1.2;
        font-weight: 900;
    }

    body.vibe-site .vibe-homepage
    .energy-outout .vibe-event__meta {
        display: grid;
        gap: 5px;
        margin-top: 2px;
        padding: 0;
        font-size: 12px;
    }

    body.vibe-site .vibe-homepage
    .energy-outout .energy-outout__date {
        display: flex;
    }

    body.vibe-site .vibe-homepage
    .energy-outout .vibe-event__meta-item {
        display: flex;
        align-items: center;
        gap: 7px;
        min-width: 0;
    }

    body.vibe-site .vibe-homepage
    .energy-outout .vibe-event__meta-item svg {
        flex: 0 0 17px;
        width: 17px;
        height: 17px;
        color: #f11288;
    }

    body.vibe-site .vibe-homepage
    .energy-outout .vibe-event__cta {
        display: flex !important;
        width: calc(100% - 26px) !important;
        min-height: 43px;
        margin: 11px 13px 13px !important;
        padding: 0 12px;
        align-items: center;
        justify-content: center;
        position: relative;
        background: #f11288;
        border-radius: 5px;
        font-size: 15px;
        gap: 8px;
    }

    body.vibe-site .vibe-homepage
    .energy-outout .vibe-event__cta-arrow {
        display: none !important;
    }

    body.vibe-site .vibe-homepage
    .energy-outout .energy-outout__dots {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 13px;
        margin: 14px 0 4px;
    }

    body.vibe-site .vibe-homepage
    .energy-outout .energy-outout__dot {
        appearance: none;
        width: 11px;
        height: 11px;
        padding: 0;
        border: 1px solid rgba(10,0,20,.9);
        border-radius: 50%;
        background: #9e73c4;
        cursor: pointer;
    }

    body.vibe-site .vibe-homepage
    .energy-outout .energy-outout__dot.is-active {
        width: 13px;
        height: 13px;
        background: #f11288;
    }

    body.vibe-site .vibe-homepage
    .energy-outout .energy-outout__dot:focus-visible {
        outline: 2px solid #fff;
        outline-offset: 3px;
    }

    /* END ENERGY OUT OUT MOBILE V1 */

    /* ENERGY 106 — ENERGY BUZZ MOBILE V1 */

    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz .vibe-news-blogs__heading > span {
        display: none !important;
    }

    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz .vibe-news-blogs__header {
        align-items: center;
        gap: 9px;
        margin-bottom: 11px;
    }

    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz .vibe-news-blogs__header .vibe-today-schedule__view-all {
        flex-shrink: 0;
        min-width: 0;
        padding-inline: 10px;
        font-size: clamp(10px, 2.6vw, 13px);
        white-space: nowrap;
    }

    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz .vibe-news-blogs__columns {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        min-width: 0;
    }

    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz .vibe-news-blogs__editorial {
        width: 100%;
        min-width: 0;
    }

    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz .vibe-news-blogs__grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 8px !important;
        align-items: stretch;
    }

    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz .vibe-news-card {
        position: relative;
        display: block !important;
        width: 100%;
        height: clamp(96px, 25vw, 112px) !important;
        min-width: 0;
        min-height: 0;
        margin: 0;
        padding: 0;
        overflow: hidden;
        background: #2c0d3e;
        box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
    }

    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz .vibe-news-card__link {
        position: relative;
        display: grid !important;
        grid-template-columns: 37% minmax(0, 1fr) 20px !important;
        align-items: center;
        column-gap: 10px;
        box-sizing: border-box;
        width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
        padding: 0 7px 0 0 !important;
        border: 0 !important;
        overflow: hidden;
        color: #fff;
        text-decoration: none;
    }

    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz .vibe-news-card__image,
    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz .vibe-news-card__image-placeholder {
        position: relative !important;
        inset: auto !important;
        grid-column: 1;
        grid-row: 1;
        align-self: stretch;
        display: block;
        box-sizing: border-box;
        width: 100% !important;
        height: 100% !important;
        max-width: none;
        aspect-ratio: auto !important;
        padding: 0;
        border-radius: 5px 0 0 5px;
        object-fit: cover;
    }

    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz .vibe-news-card__image-placeholder {
        display: grid;
        place-items: center;
        font-size: 11px;
        font-weight: 900;
    }

    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz .vibe-news-card__content {
        position: static !important;
        inset: auto !important;
        z-index: auto;
        grid-column: 2;
        grid-row: 1;
        align-self: center;
        display: block !important;
        box-sizing: border-box;
        min-width: 0;
        width: 100%;
        margin: 0;
        padding: 5px 0 !important;
    }

    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz .vibe-news-card__title {
        display: -webkit-box !important;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        color: #fff;
        font-size: clamp(14px, 3.8vw, 16px) !important;
        font-weight: 850;
        line-height: 1.16;
        letter-spacing: -.015em;
    }

    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz .vibe-news-card__summary {
        display: -webkit-box !important;
        overflow: hidden;
        margin-top: 5px;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        color: #d8c5e0;
        font-size: clamp(11px, 3.2vw, 13px) !important;
        font-weight: 450;
        line-height: 1.28;
    }

    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz .vibe-news-card__link::after {
        content: "" !important;
        position: relative !important;
        inset: auto !important;
        grid-column: 3;
        grid-row: 1;
        justify-self: center;
        align-self: center;
        box-sizing: border-box;
        display: block !important;
        width: 9px;
        height: 9px;
        margin: 0;
        padding: 0;
        border: 0;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        border-radius: 0;
        background: none !important;
        box-shadow: none !important;
        opacity: .95;
        transform: rotate(45deg) !important;
        pointer-events: none;
    }

    
    /* ENERGY BUZZ ADVERT MOBILE SIZING */

    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz .vibe-news-blogs__advert {
        display: flex;
        flex-direction: column;
        align-self: start;
        width: 100%;
        max-width: 420px;
        height: auto !important;
        min-height: 0;
    }

    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz .vibe-news-blogs__advert > a,
    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz .vibe-news-blogs__ad-image,
    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz .vibe-news-blogs__advert-placeholder {
        flex: 0 0 auto !important;
        width: 100%;
        max-width: 100%;
        height: auto !important;
        aspect-ratio: auto !important;
        min-height: 0;
        box-sizing: border-box;
    }

    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz .vibe-news-blogs__advert img {
        display: block;
        width: 100%;
        height: auto !important;
        object-fit: contain;
    }


    /* Preserve placeholder ratio */
    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz .vibe-news-blogs__advert-placeholder {
        aspect-ratio: 6 / 5 !important;
    }

/* END ENERGY 106 — ENERGY BUZZ MOBILE V1 */

    /* ENERGY 106 — JUST ADDED MOBILE V1 */

    body.vibe-site .vibe-homepage
    .vibe-listen-again--compact
    .energy-la-title--desktop {
        display: none !important;
    }

    body.vibe-site .vibe-homepage
    .vibe-listen-again--compact
    .energy-la-title--mobile {
        display: inline !important;
    }

    body.vibe-site .vibe-homepage
    .vibe-listen-again--compact .vibe-la-mini__header {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        margin-bottom: 12px;
    }

    body.vibe-site .vibe-homepage
    .vibe-listen-again--compact .vibe-la-mini__heading {
        flex: 0 1 auto;
        min-width: 0;
    }

    body.vibe-site .vibe-homepage
    .vibe-listen-again--compact
    #vibe-listen-again-heading {
        margin: 0;
        white-space: nowrap;
    }

    body.vibe-site .vibe-homepage
    .vibe-listen-again--compact
    .vibe-la-mini__header
    .vibe-today-schedule__view-all {
        flex: 0 0 auto;
        min-width: 0;
        padding-inline: 9px !important;
        white-space: nowrap;
    }

    /* END ENERGY 106 — JUST ADDED MOBILE V1 */

    /* ENERGY 106 — MOBILE ACCENT ALIGNMENT V1 */

    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz
    .vibe-news-blogs__heading::before,

    body.vibe-site .vibe-homepage
    .vibe-listen-again--compact
    .vibe-la-mini__heading::before,

    body.vibe-site .vibe-homepage
    .energy-home-chart
    .energy-home-chart__heading::before {
        top: 50% !important;
        transform: translateY(-50%) !important;
    }

    /* END ENERGY 106 — MOBILE ACCENT ALIGNMENT V1 */




    /* ENERGY 106 — MOBILE PROMO CARDS V1 */

    /* Spacing between the two promotional cards */
    body.vibe-site .vibe-homepage
    .vibe-energy-promo-pair {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    body.vibe-site .vibe-homepage
    .vibe-energy-promo-pair__app-slot {
        display: block !important;
        min-width: 0 !important;
    }

    /* APP DOWNLOAD: cleaner mobile banner */
    body.vibe-site .vibe-homepage
    .vibe-energy-app-promo {
        min-height: 0 !important;
    }

    body.vibe-site .vibe-homepage
    .vibe-energy-app-promo__copy {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        padding: 19px 18px 18px !important;
    }

    body.vibe-site .vibe-homepage
    .vibe-energy-app-promo__copy h2 {
        max-width: 100%;
        font-size: clamp(21px, 5.8vw, 25px) !important;
        line-height: 1.02 !important;
        margin-bottom: 9px !important;
    }

    body.vibe-site .vibe-homepage
    .vibe-energy-app-promo__copy p {
        max-width: 36ch;
        margin-bottom: 15px !important;
        font-size: 13px !important;
        line-height: 1.4 !important;
    }

    /* Hide the decorative mock phone on mobile only */
    body.vibe-site .vibe-homepage
    .vibe-energy-app-promo__phone {
        display: none !important;
    }

    /* Keep download badges balanced and clickable */
    body.vibe-site .vibe-homepage
    .vibe-energy-app-promo__stores {
        display: flex !important;
        align-items: stretch !important;
        flex-wrap: nowrap !important;
        gap: 9px !important;
        width: 100%;
    }

    body.vibe-site .vibe-homepage
    .vibe-energy-app-promo__store {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        justify-content: center !important;
        padding: 7px 5px !important;
    }

    /* ENERGY INSIDERS: more compact mobile card */
    body.vibe-site .vibe-homepage
    .vibe-energy-insiders {
        min-height: 174px !important;
    }

    body.vibe-site .vibe-homepage
    .vibe-energy-insiders__content {
        min-height: 174px !important;
        padding: 15px 18px !important;
        gap: 7px !important;
    }

    /* Retain the original photograph */
    body.vibe-site .vibe-homepage
    .vibe-energy-insiders__photo {
        object-position: 65% center !important;
    }

    /* Dark behind text, clearer photography to the right */
    body.vibe-site .vibe-homepage
    .vibe-energy-insiders::before {
        background: linear-gradient(
            90deg,
            rgba(22, 3, 38, .96) 0%,
            rgba(22, 3, 38, .84) 48%,
            rgba(22, 3, 38, .38) 100%
        ) !important;
    }

    /* END ENERGY 106 — MOBILE PROMO CARDS V1 */



    /* ENERGY APP FOOTER BADGES MOBILE V2 */

    body.vibe-site .vibe-homepage .vibe-energy-app-promo__stores {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        width: 100% !important;
    }

    body.vibe-site .vibe-homepage .vibe-energy-app-promo__store {
        display: flex !important;
        align-items: center !important;
        gap: 7px !important;
        min-height: 39px !important;
        padding: 5px 9px !important;
        border: 1px solid rgba(231, 211, 238, .65) !important;
        border-radius: 6px !important;
        background: rgba(0, 0, 0, .19) !important;
        color: #fff !important;
        text-decoration: none !important;
        flex: 0 1 auto !important;
        width: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        justify-content: flex-start !important;
    }

    body.vibe-site .vibe-homepage .vibe-energy-app-promo__store img {
        width: 21px !important;
        height: 21px !important;
        object-fit: contain !important;
        filter: brightness(0) invert(1) !important;
    }

    body.vibe-site .vibe-homepage .vibe-energy-app-promo__store span {
        display: flex !important;
        flex-direction: column !important;
        gap: 2px !important;
    }

    body.vibe-site .vibe-homepage .vibe-energy-app-promo__store small {
        font-size: 8px !important;
        line-height: 1.1 !important;
        color: #e3d4ec !important;
    }

    body.vibe-site .vibe-homepage .vibe-energy-app-promo__store strong {
        font-size: 13px !important;
        line-height: 1.1 !important;
        font-weight: 750 !important;
        white-space: nowrap !important;
    }

    body.vibe-site .vibe-homepage .vibe-energy-app-promo__store:hover,
    body.vibe-site .vibe-homepage .vibe-energy-app-promo__store:focus-visible {
        border-color: #ff149f !important;
        background: rgba(255, 20, 159, .08) !important;
    }

    /* END ENERGY APP FOOTER BADGES MOBILE V2 */

}

@media screen and (max-width: 359px) {

    body.vibe-site .vibe-header__broadcast
    .vibe-now-playing {
        grid-template-columns:
            66px minmax(0, 1fr) 38px 38px;
        column-gap: 6px;
        padding: 10px !important;
    }

    body.vibe-site .vibe-header__broadcast
    .vibe-now-playing__artwork {
        width: 66px !important;
        height: 66px !important;
    }

    body.vibe-site .vibe-header__broadcast
    .vibe-now-playing .vibe-song-vote {
        width: 38px !important;
        min-width: 38px;
        height: 38px !important;
        min-height: 38px;
    }

    body.vibe-site .vibe-header__broadcast
    .vibe-now-playing__artist {
        font-size: 14px !important;
    }

}

/* =========================================================
   ENERGY 106 MOBILE — PHASE 1 POLISH
   Header play icon bigger
   Now Playing Listen Live icon + label bigger
   ========================================================= */

@media (max-width: 700px) {



    /* Now Playing CTA — make icon and text bigger */
    .vibe-header__broadcast .vibe-now-playing .vibe-listen-live--broadcast {
        min-height: 58px;
        padding: 0 22px;
        gap: 10px;
    }

    .vibe-header__broadcast .vibe-now-playing .vibe-listen-live--broadcast .vibe-listen-live__icon {
        width: 22px;
        height: 22px;
        flex: 0 0 22px;
    }

    .vibe-header__broadcast .vibe-now-playing .vibe-listen-live--broadcast .vibe-listen-live__icon svg {
        width: 22px;
        height: 22px;
        display: block;
    }

    .vibe-header__broadcast .vibe-now-playing .vibe-listen-live--broadcast .vibe-listen-live__label {
        font-size: 17px;
        line-height: 1;
        letter-spacing: 0;
    }
}


/* ENERGY 106 — MOBILE EVENT DATE BADGES V1 */
@media screen and (max-width: 700px) {

    body.vibe-site .vibe-homepage
    .energy-outout .vibe-event__image {
        position: relative !important;
    }

    body.vibe-site .vibe-homepage
    .energy-outout
    .vibe-event__image > .vibe-event__date {
        display: flex !important;
        position: absolute !important;
        top: 10px !important;
        left: 10px !important;
        right: auto !important;
        bottom: auto !important;
        z-index: 20 !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: none !important;
    }
}
/* END ENERGY 106 — MOBILE EVENT DATE BADGES V1 */


/* ENERGY 106 — MEET MOBILE COMPACT V1 */

@media screen and (max-width: 700px) {

    body.vibe-site .vibe-homepage
    .energy-meet-banner {
        display: grid !important;
        grid-template-columns:
            140px minmax(0, 1fr) !important;
        grid-template-areas:
            "faces copy"
            "faces link" !important;
        align-items: center !important;
        column-gap: 12px !important;
        row-gap: 10px !important;
        padding: 16px !important;
    }

    /* Four overlapping presenter portraits */
    body.vibe-site .vibe-homepage
    .energy-meet-banner__faces {
        grid-area: faces !important;
        display: flex !important;
        align-items: center !important;
        align-self: center !important;
        width: 140px !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 0 !important;
    }

    body.vibe-site .vibe-homepage
    .energy-meet-banner__faces img {
        flex: 0 0 44px !important;
        width: 44px !important;
        height: 44px !important;
        object-fit: cover !important;
        object-position: center top !important;
    }

    body.vibe-site .vibe-homepage
    .energy-meet-banner__faces img + img {
        margin-left: -13px !important;
    }

    /* Heading and description */
    body.vibe-site .vibe-homepage
    .energy-meet-banner__copy {
        grid-area: copy !important;
        min-width: 0 !important;
        align-self: end !important;
    }

    body.vibe-site .vibe-homepage
    .energy-meet-title--desktop {
        display: none !important;
    }

    body.vibe-site .vibe-homepage
    .energy-meet-title--mobile {
        display: inline !important;
    }

    /* Use the central Vibe heading settings */
    body.vibe-site .vibe-homepage
    .energy-meet-banner__copy h2 {
        margin: 0 0 5px !important;
        font-family:
            var(--vibe-home-heading-font,
                var(--vibe-font-heading, "Rubik", sans-serif))
            !important;
        font-size:
            var(--vibe-home-heading-size, 19px)
            !important;
        font-weight:
            var(--vibe-home-heading-weight, 900)
            !important;
        line-height:
            var(--vibe-home-heading-line-height, 1.1)
            !important;
        letter-spacing:
            var(--vibe-home-heading-spacing, 0)
            !important;
        text-transform:
            var(--vibe-home-heading-transform, uppercase)
            !important;
    }

    body.vibe-site .vibe-homepage
    .energy-meet-banner__copy p {
        margin: 0 !important;
        font-size: 13px !important;
        line-height: 1.4 !important;
    }

    /* Reuse the existing outlined CTA design */
    body.vibe-site .vibe-homepage
    .energy-meet-banner
    a.energy-meet-banner__link {
        grid-area: link !important;
        justify-self: stretch !important;
        align-self: start !important;
        display: inline-flex !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 40px !important;
        height: auto !important;
        padding-inline: 9px !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 6px !important;
        white-space: nowrap !important;
    }
}

/* Narrow phone fallback */
@media screen and (max-width: 359px) {

    body.vibe-site .vibe-homepage
    .energy-meet-banner {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-areas:
            "faces"
            "copy"
            "link" !important;
    }

    body.vibe-site .vibe-homepage
    .energy-meet-banner
    a.energy-meet-banner__link {
        width: auto !important;
        justify-self: start !important;
    }
}

/* END ENERGY 106 — MEET MOBILE COMPACT V1 */


/* ENERGY 106 — FOOTER GRID DIVIDERS CLEAN V3 */
@media screen and (max-width: 700px) {

    /* One controlled 2x2 grid.
       Existing fonts, icons and cell padding remain. */
    body.vibe-site .vibe-footer--v2
    .vibe-footer-v2__listening-grid {
        position: relative !important;
        display: grid !important;
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows:
            repeat(2, minmax(0, 1fr)) !important;
        align-items: stretch !important;
        gap: 0 !important;
    }

    /* Remove independent per-cell dividers.
       They were responsible for unequal line positions. */
    body.vibe-site .vibe-footer--v2
    .vibe-footer-v2__listening-grid
    > .vibe-footer-v2__listen-item {
        align-self: stretch !important;
        margin: 0 !important;
        border: 0 !important;
    }

    body.vibe-site .vibe-footer--v2
    .vibe-footer-v2__listening-grid
    > .vibe-footer-v2__listen-item::before,
    body.vibe-site .vibe-footer--v2
    .vibe-footer-v2__listening-grid
    > .vibe-footer-v2__listen-item::after {
        content: none !important;
        display: none !important;
    }

    /* Two pink vertical segments drawn from ONE
       coordinate system, so their positions match.
       20px centre opening and 14px bottom opening. */
    body.vibe-site .vibe-footer--v2
    .vibe-footer-v2__listening-grid::before {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        left: 50% !important;
        top: 0 !important;
        bottom: 0 !important;
        width: 3px !important;
        height: auto !important;
        transform: translateX(-50%) !important;
        background: linear-gradient(
            to bottom,
            #f80898 0,
            #f80898 calc(50% - 11px),
            transparent calc(50% - 11px),
            transparent calc(50% + 11px),
            #f80898 calc(50% + 11px),
            #f80898 calc(100% - 14px),
            transparent calc(100% - 14px)
        ) !important;
        pointer-events: none !important;
        z-index: 2 !important;
    }

    /* One horizontal rule for both columns.
       Both halves have exactly the same vertical position.
       Small opening at the pink centre divider. */
    body.vibe-site .vibe-footer--v2
    .vibe-footer-v2__listening-grid::after {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        left: 12px !important;
        right: 12px !important;
        top: 50% !important;
        width: auto !important;
        height: 1px !important;
        transform: translateY(-50%) !important;
        background: linear-gradient(
            to right,
            rgba(210, 156, 231, .26)
                0 calc(50% - 11px),
            transparent
                calc(50% - 11px)
                calc(50% + 11px),
            rgba(210, 156, 231, .26)
                calc(50% + 11px) 100%
        ) !important;
        pointer-events: none !important;
        z-index: 1 !important;
    }
}
/* END ENERGY 106 — FOOTER GRID DIVIDERS CLEAN V3 */


/* ENERGY 106 — COMPACT MOBILE ADVERT V1 */
@media screen and (max-width: 700px) {

    /* Keep the advertisement label in its original position */
    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz
    .vibe-news-blogs__advert {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
    }

    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz
    .vibe-news-blogs__advert-label {
        align-self: flex-start !important;
    }

    /* Centre the creative with a 320px maximum width */
    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz
    .vibe-news-blogs__advert > a,

    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz
    .vibe-news-blogs__ad-image,

    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz
    .vibe-news-blogs__advert-placeholder {
        display: block;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        flex: 0 0 auto !important;
    }

    /* Natural image ratio — never crop paid artwork */
    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz
    .vibe-news-blogs__advert > a,

    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz
    .vibe-news-blogs__ad-image {
        aspect-ratio: auto !important;
        height: auto !important;
        min-height: 0 !important;
    }

    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz
    .vibe-news-blogs__advert img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: auto !important;
        object-fit: contain !important;
        object-position: center !important;
    }

    /* Keep the empty advertising placeholder usable */
    body.vibe-site .vibe-homepage
    .vibe-news-blogs--energy-buzz
    .vibe-news-blogs__advert-placeholder {
        display: flex !important;
        flex-direction: column !important;
        aspect-ratio: 6 / 5 !important;
        height: auto !important;
        min-height: 0 !important;
    }
}
/* END ENERGY 106 — COMPACT MOBILE ADVERT V1 */


/* ENERGY 106 INNER PAGE UPPERCASE V1 */

/*
 * Standard Vibe inner-page headings.
 * Preserve existing desktop/mobile font sizes.
 * Loaded only for Energy 106.
 */

body.vibe-site.vibe-site--inner
.vibe-inner-section-heading h1,

body.vibe-site.vibe-site--inner
.vibe-section-header h1,

body.vibe-site.vibe-site--inner
.vibe-podcasts__header h1,

body.vibe-site.vibe-site--inner
.vibe-control-chart-page__masthead h1,

body.vibe-site.vibe-site--inner
.vibe-club-join__header h1,

body.vibe-site.vibe-site--inner
.vibe-member-dashboard__header h1,

body.vibe-site.vibe-site--inner
.vibe-member-page__header h1 {
    text-transform: uppercase !important;
}

/* END ENERGY PAGE UPPERCASE V1 */
