:root {
    color-scheme: dark;

    --bg: #050505;
    --panel: #101010;
    --panel-2: #171717;
    --text: #f6f4ef;
    --muted: #b7b3aa;
    --muted-2: #77736c;
    --line: rgba(255,255,255,.11);
    --line-soft: rgba(255,255,255,.065);
    --gold: #cfa65e;
    --gold-light: #e2c27e;
    --green: #27c878;
    --max: 1200px;
}

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    min-height: 100%;
    background: var(--bg);
    color: var(--text);

    font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Arial,
        sans-serif;
}

body {
    min-width: 320px;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    display: block;
    max-width: 100%;
}

button,
input {
    font: inherit;
}

button {
    color: inherit;
}

.site {
    min-height: 100vh;
}


/* =========================================================
   HEADER
   ========================================================= */

.site-header {
    position: sticky;
    top: 0;
    z-index: 100;

    min-height: 104px;

    background: rgba(5,5,5,.95);

    backdrop-filter: blur(14px);

    border-bottom:
        1px solid
        var(--line-soft);
}

.header-inner {
    width:
        min(
            calc(100% - 48px),
            var(--max)
        );

    min-height: 104px;

    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 28px;
}

.site-brand {
    min-width: 0;

    display: flex;
    align-items: center;

    gap: 14px;
}

.site-logo {
    width: 83px;
    height: auto;
    flex: 0 0 auto;
    object-fit: contain;
}

.site-name {
    overflow: hidden;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;

    font-size: 19px;
    font-weight: 850;

    letter-spacing:
        -.025em;
}

.site-nav {
    display: flex;
    align-items: center;

    gap: 24px;

    font-size: 14px;
    font-weight: 700;
}

.site-nav > a:not(.nav-signin) {
    color: #d8d5ce;
}

.site-nav > a:not(.nav-signin):hover {
    color: #fff;
}

.nav-form {
    margin: 0;
}

.nav-signin {
    appearance: none;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 42px;

    padding: 10px 18px;

    border-radius: 999px;

    background: var(--gold);
    color: #080808;

    border:
        1px solid
        var(--gold-light);

    cursor: pointer;

    font-weight: 800;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.btn {
    min-height: 46px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 11px 20px;

    border:
        1px solid
        var(--line);

    border-radius: 999px;

    font-weight: 800;

    cursor: pointer;

    transition:
        transform .15s ease,
        background .15s ease,
        border-color .15s ease;
}

.btn:hover {
    transform:
        translateY(-1px);
}

.btn-large {
    min-height: 52px;
    padding: 13px 24px;
}

.btn-full {
    width: 100%;
}

.btn-gold {
    background: var(--gold);

    border-color:
        var(--gold-light);

    color: #080808;
}

.btn-gold:hover {
    background:
        var(--gold-light);
}

.btn-dark {
    background:
        rgba(10,10,10,.68);

    border-color:
        rgba(255,255,255,.24);

    color: #fff;
}

.btn-dark:hover {
    border-color:
        rgba(255,255,255,.45);
}

.btn-watch {
    background: #f4f4f0;
    color: #080808;

    border-color:
        #fff;
}


/* =========================================================
   HOMEPAGE HERO
   ========================================================= */

.landing-hero {
    position: relative;

    min-height: 610px;

    overflow: hidden;

    border-bottom:
        1px solid
        var(--line-soft);

    background: #080808;
}

.landing-hero-image {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center 34%;

    filter:
        saturate(.92);
}

.landing-hero-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.96) 0%,
            rgba(0,0,0,.83) 31%,
            rgba(0,0,0,.49) 58%,
            rgba(0,0,0,.48) 100%
        ),
        linear-gradient(
            0deg,
            #050505 0%,
            transparent 38%
        );
}

.landing-hero-inner {
    position: relative;
    z-index: 2;

    width:
        min(
            calc(100% - 48px),
            var(--max)
        );

    min-height: 610px;

    margin: 0 auto;

    display: flex;
    align-items: center;
}

.landing-copy {
    width:
        min(
            100%,
            650px
        );

    padding: 70px 0;
}

.eyebrow {
    margin-bottom: 18px;

    color: var(--gold-light);

    font-size: 11px;
    font-weight: 900;

    line-height: 1;

    letter-spacing:
        .18em;

    text-transform:
        uppercase;
}

.landing-copy h1 {
    max-width: 720px;

    margin: 0;

    font-size:
        clamp(
            46px,
            6.5vw,
            78px
        );

    line-height: .97;

    letter-spacing:
        -.055em;
}

.landing-lead {
    max-width: 610px;

    margin: 26px 0 0;

    color: #f0eee8;

    font-size:
        clamp(
            18px,
            2.1vw,
            23px
        );

    line-height: 1.45;
}

.landing-sub {
    margin: 12px 0 0;

    color: var(--muted);

    font-size: 16px;
    line-height: 1.5;
}

.landing-actions {
    margin-top: 28px;

    display: flex;
    flex-wrap: wrap;

    gap: 12px;
}


/* =========================================================
   COUNTDOWN
   ========================================================= */

.countdown {
    width: fit-content;

    margin-top: 28px;

    padding: 15px 18px;

    border:
        1px solid
        rgba(207,166,94,.32);

    border-radius: 14px;

    background:
        rgba(5,5,5,.60);

    backdrop-filter:
        blur(8px);
}

.countdown-compact {
    margin-top: 24px;
}

.countdown-label {
    color: var(--gold-light);

    font-size: 10px;
    font-weight: 900;

    letter-spacing:
        .15em;

    text-transform:
        uppercase;
}

.countdown-value {
    margin-top: 5px;

    font-size:
        clamp(
            22px,
            2.6vw,
            31px
        );

    font-weight: 850;

    line-height: 1;

    letter-spacing:
        -.035em;
}

.countdown-time {
    margin-top: 7px;

    color: var(--muted);

    font-size: 12px;
}


/* =========================================================
   PAGE LAYOUT
   ========================================================= */

.home-main,
.main {
    width:
        min(
            calc(100% - 48px),
            var(--max)
        );

    margin: 0 auto;
}

.home-main {
    padding: 20px 0 78px;
}

.main {
    padding: 46px 0 78px;
}

.catalog-section {
    padding-top: 50px;
}

.catalog-heading {
    margin-bottom: 20px;
}

.catalog-heading
.eyebrow {
    margin-bottom: 10px;
}

.catalog-heading h2,
.section-heading h2 {
    margin: 0;

    font-size:
        clamp(
            28px,
            3vw,
            38px
        );

    line-height: 1;

    letter-spacing:
        -.04em;
}


/* =========================================================
   SHOW CARDS
   ========================================================= */

.show-grid {
    display: grid;

    grid-template-columns:
        repeat(
            auto-fill,
            minmax(
                230px,
                1fr
            )
        );

    gap: 20px;
}

.show-card {
    position: relative;

    min-height: 390px;

    overflow: hidden;

    border:
        1px solid
        var(--line);

    border-radius: 18px;

    background: #0b0b0b;

    transition:
        transform .17s ease,
        border-color .17s ease;
}

.show-card:hover {
    transform:
        translateY(-4px)
        scale(1.01);

    border-color:
        rgba(207,166,94,.46);
}

.show-card img {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.show-card-gradient {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.03) 20%,
            rgba(0,0,0,.38) 58%,
            rgba(0,0,0,.96) 100%
        );
}

.show-card-content {
    position: absolute;
    z-index: 2;

    left: 0;
    right: 0;
    bottom: 0;

    padding: 22px;
}

.show-status {
    display: inline-block;

    margin-bottom: 10px;

    color:
        var(--gold-light);

    font-size: 10px;
    font-weight: 900;

    letter-spacing:
        .13em;

    text-transform:
        uppercase;
}

.show-card h3 {
    margin: 0;

    font-size: 27px;

    line-height: .98;

    letter-spacing:
        -.04em;
}

.show-card p {
    margin: 9px 0 0;

    color: #d1cec7;

    font-size: 13px;
}

.card-link {
    display: inline-block;

    margin-top: 15px;

    color: #fff;

    font-size: 13px;
    font-weight: 800;
}

.past-show {
    opacity: .72;
}

.empty-state {
    min-height: 150px;

    display: flex;
    align-items: center;

    padding: 26px;

    border:
        1px dashed
        rgba(255,255,255,.12);

    border-radius: 18px;

    color: var(--muted-2);

    background:
        rgba(255,255,255,.015);
}


/* =========================================================
   EVENT PAGE
   ========================================================= */

.event-hero {
    display: grid;

    grid-template-columns:
        minmax(0, 1.1fr)
        minmax(370px, .9fr);

    gap: 28px;
}

.event-info,
.event-poster {
    overflow: hidden;

    border:
        1px solid
        var(--line);

    border-radius: 26px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.035),
            rgba(255,255,255,.012)
        );
}

.event-info {
    min-height: 585px;

    padding:
        clamp(
            30px,
            4vw,
            48px
        );

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.event-info h1 {
    margin: 0;

    font-size:
        clamp(
            42px,
            5vw,
            66px
        );

    line-height: .97;

    letter-spacing:
        -.05em;
}

.event-meta {
    margin-top: 27px;

    display: flex;
    flex-wrap: wrap;

    gap: 9px;
}

.event-meta span {
    padding: 8px 13px;

    border:
        1px solid
        var(--line);

    border-radius: 999px;

    background:
        rgba(255,255,255,.035);

    color: #e9e7e1;

    font-size: 12px;
    font-weight: 750;

    text-transform: capitalize;
}

.event-description {
    margin: 26px 0 0;

    color: #ccc8c0;

    font-size: 17px;
    line-height: 1.6;
}

.event-poster {
    min-height: 585px;

    background: #090909;
}

.event-poster img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* =========================================================
   DETAILS
   ========================================================= */

.viewing-details {
    margin-top: 28px;

    border-top:
        1px solid
        var(--line);

    border-bottom:
        1px solid
        var(--line);
}

.viewing-details summary {
    min-height: 56px;

    list-style: none;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 14px;

    cursor: pointer;

    color: #e8e5df;

    font-size: 13px;
    font-weight: 800;
}

.viewing-details summary::-webkit-details-marker {
    display: none;
}

.details-plus {
    width: 27px;
    height: 27px;

    flex:
        0 0 27px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border:
        1px solid
        var(--line);

    border-radius: 50%;

    color:
        var(--gold-light);

    transition:
        transform .15s ease;
}

.viewing-details[open]
.details-plus {
    transform:
        rotate(45deg);
}

.viewing-details-body {
    padding: 0 0 18px;

    color: var(--muted);

    font-size: 14px;
    line-height: 1.55;
}

.viewing-details-body ul {
    margin: 0;

    padding-left: 20px;
}

.viewing-details-body li + li {
    margin-top: 6px;
}


/* =========================================================
   PACKAGE / PURCHASE ACCESS
   ========================================================= */

.package-section {
    margin-top: 34px;
}

.section-heading {
    margin-bottom: 18px;
}

.section-heading p {
    margin: 7px 0 0;

    color: var(--muted);

    font-size: 14px;
}

.section-heading-with-access {
    display: flex;

    align-items: flex-end;
    justify-content: space-between;

    gap: 24px;
}

.purchased-access {
    display: flex;
    align-items: center;

    gap: 8px;

    padding: 11px 15px;

    border:
        1px solid
        var(--line);

    border-radius: 999px;

    background:
        rgba(255,255,255,.025);

    color: var(--muted);

    font-size: 13px;
}

.purchased-access a {
    color: var(--gold-light);
    font-weight: 800;
}

.purchased-active {
    border-color:
        rgba(39,200,120,.34);
}

.purchased-active div {
    display: flex;
    flex-direction: column;

    gap: 3px;
}

.purchased-active strong {
    color: #f1f1ed;
}

.purchased-active span {
    font-size: 11px;
}

.purchased-active
.btn-watch {
    color: #080808;
}

.package-grid {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 18px;
}

.package-card {
    min-height: 260px;

    padding: 24px;

    display: flex;
    flex-direction: column;

    border:
        1px solid
        var(--line);

    border-radius: 20px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.026),
            rgba(255,255,255,.01)
        );
}

.package-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 14px;
}

.package-head h3 {
    margin: 0;

    font-size: 21px;
}

.package-badge {
    padding: 7px 10px;

    border-radius: 999px;

    background:
        var(--gold-light);

    color: #080808;

    font-size: 9px;
    font-weight: 900;

    letter-spacing:
        .1em;

    text-transform:
        uppercase;
}

.package-price {
    margin-top: 22px;

    display: flex;
    align-items: flex-end;

    gap: 8px;
}

.package-price strong {
    font-size: 40px;

    line-height: .95;

    letter-spacing:
        -.04em;
}

.package-price small {
    padding-bottom: 4px;

    color: var(--muted);

    font-size: 11px;
    font-weight: 800;
}

.package-card p {
    margin: 17px 0 0;

    color: var(--muted);

    font-size: 14px;
    line-height: 1.55;
}

.package-card .btn {
    align-self: flex-start;
    margin: 20px 0;
}


/* =========================================================
   AUTH
   ========================================================= */

.auth-main {
    width:
        min(
            calc(100% - 48px),
            760px
        );

    margin: 0 auto;

    padding: 60px 0 90px;
}

.auth-shell {
    width: 100%;
}

.auth-card {
    width:
        min(
            100%,
            540px
        );

    margin: 0 auto;

    padding: 36px;

    border:
        1px solid
        var(--line);

    border-radius: 24px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.035),
            rgba(255,255,255,.015)
        );
}

.auth-card-wide {
    width:
        min(
            100%,
            650px
        );
}

.auth-card h1 {
    margin: 0;

    font-size: 42px;

    line-height: 1;

    letter-spacing:
        -.04em;
}

.auth-intro {
    margin: 15px 0 0;

    color: var(--muted);

    line-height: 1.6;
}

.auth-message {
    margin-top: 20px;

    padding: 13px 15px;

    border:
        1px solid
        rgba(207,166,94,.35);

    border-radius: 12px;

    background:
        rgba(207,166,94,.08);

    color: #eee3ce;

    font-size: 14px;
}

.auth-form {
    margin-top: 26px;

    display: grid;

    gap: 18px;
}

.auth-form label {
    display: grid;

    gap: 8px;

    color: #ddd9d1;

    font-size: 13px;
    font-weight: 750;
}

.auth-form small {
    color: var(--muted-2);

    font-weight: 500;
}

.auth-name-grid {
    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap: 14px;
}

.input {
    width: 100%;

    min-height: 52px;

    padding: 12px 15px;

    border:
        1px solid
        var(--line);

    border-radius: 13px;

    outline: none;

    background:
        rgba(255,255,255,.035);

    color: #fff;
}

.input:focus {
    border-color:
        rgba(207,166,94,.65);

    box-shadow:
        0 0 0 3px
        rgba(207,166,94,.10);
}

.auth-switch {
    margin-top: 24px;

    padding-top: 20px;

    border-top:
        1px solid
        var(--line-soft);

    display: flex;
    justify-content: center;

    gap: 7px;

    color: var(--muted);

    font-size: 13px;
}

.auth-switch a {
    color: var(--gold-light);

    font-weight: 800;
}

.checkout-price {
    margin-top: 24px;

    font-size: 42px;
    font-weight: 850;

    letter-spacing:
        -.04em;
}


/* =========================================================
   ACCOUNT
   ========================================================= */

.account-heading {
    padding: 18px 0 0;
}

.account-heading h1 {
    margin: 0;

    font-size:
        clamp(
            38px,
            5vw,
            58px
        );

    letter-spacing:
        -.05em;
}

.account-heading p {
    margin: 10px 0 0;

    color: var(--muted);
}

.account-catalog {
    padding-top: 42px;
}

.account-show-grid {
    display: grid;

    grid-template-columns:
        repeat(
            auto-fill,
            minmax(
                300px,
                1fr
            )
        );

    gap: 18px;
}

.account-show {
    overflow: hidden;

    border:
        1px solid
        var(--line);

    border-radius: 20px;

    background: #0d0d0d;
}

.account-show img {
    width: 100%;

    aspect-ratio: 16 / 9;

    object-fit: cover;

    object-position: center 24%;
}

.account-show-copy {
    padding: 21px;
}

.account-show-copy h3 {
    margin: 0;

    font-size: 24px;
}

.account-show-copy p {
    margin: 9px 0 20px;

    color: var(--muted);

    font-size: 13px;
}

.account-empty {
    min-height: 190px;
}


/* =========================================================
   WATCH
   ========================================================= */

.watch-main {
    width:
        min(
            calc(100% - 48px),
            var(--max)
        );

    margin: 0 auto;

    padding: 48px 0 80px;
}

.watch-message {
    width:
        min(
            100%,
            650px
        );

    margin: 40px auto;

    padding: 38px;

    border:
        1px solid
        var(--line);

    border-radius: 24px;

    background:
        var(--panel);
}

.watch-message h1 {
    margin: 0;

    font-size: 42px;

    letter-spacing:
        -.04em;
}

.watch-message p {
    color: var(--muted);

    line-height: 1.6;

    margin-bottom: 25px;
}

.watch-player-shell {
    width: 100%;
}

.watch-player {
    aspect-ratio: 16 / 9;

    display: flex;
    align-items: center;
    justify-content: center;

    border:
        1px solid
        var(--line);

    border-radius: 22px;

    background:
        radial-gradient(
            circle at center,
            #191919,
            #070707 70%
        );

    overflow: hidden;
}

.watch-player-placeholder {
    max-width: 620px;

    padding: 30px;

    text-align: center;
}

.watch-player-placeholder h2 {
    margin: 0;

    font-size:
        clamp(
            34px,
            5vw,
            60px
        );

    letter-spacing:
        -.05em;
}

.watch-player-placeholder p {
    color: var(--muted);

    line-height: 1.6;
}

.watch-meta {
    margin-top: 16px;

    display: flex;
    justify-content: space-between;

    gap: 20px;

    color: var(--muted);

    font-size: 13px;
}

.watch-meta strong {
    color: #eee;
}


/* =========================================================
   FOOTER
   ========================================================= */

.site-footer {
    border-top:
        1px solid
        var(--line-soft);
}

.footer-inner {
    width:
        min(
            calc(100% - 48px),
            var(--max)
        );

    min-height: 76px;

    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    color: var(--muted-2);

    font-size: 11px;
}

.powered-link {
    color: var(--muted-2);
}

.powered-link:hover {
    color: var(--gold-light);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (
    max-width: 900px
) {
    .site-name {
        font-size: 16px;
    }

    .site-nav > a:not(.nav-signin) {
        display: none;
    }

    .landing-hero,
    .landing-hero-inner {
        min-height: 540px;
    }

    .landing-hero-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(0,0,0,.94) 0%,
                rgba(0,0,0,.67) 70%,
                rgba(0,0,0,.55) 100%
            ),
            linear-gradient(
                0deg,
                #050505 0%,
                transparent 45%
            );
    }

    .event-hero {
        grid-template-columns: 1fr;
    }

    .event-poster {
        order: -1;

        min-height: auto;

        aspect-ratio: 4 / 5;
    }

    .event-info {
        min-height: auto;
    }

    .package-grid {
        grid-template-columns: 1fr;
    }

    .section-heading-with-access {
        align-items: flex-start;

        flex-direction: column;
    }

    .purchased-access {
        border-radius: 14px;
    }
}


@media (
    max-width: 620px
) {
    .header-inner,
    .landing-hero-inner,
    .home-main,
    .main,
    .footer-inner,
    .watch-main {
        width:
            calc(100% - 30px);
    }

    .site-header,
    .header-inner {
        min-height: 94px;
    }

    .site-logo {
        width: 64px;
    }

    .site-name {
        max-width: 170px;

        font-size: 14px;
    }

    .nav-signin {
        padding: 10px 14px;
    }

    .landing-copy {
        padding: 58px 0;
    }

    .landing-copy h1 {
        font-size: 44px;
    }

    .landing-lead {
        font-size: 18px;
    }

    .landing-hero,
    .landing-hero-inner {
        min-height: 520px;
    }

    .main {
        padding-top: 28px;
    }

    .show-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );

        gap: 12px;
    }

    .show-card {
        min-height: 290px;
    }

    .show-card-content {
        padding: 16px;
    }

    .show-card h3 {
        font-size: 21px;
    }

    .event-info {
        padding: 25px;
    }

    .event-info h1 {
        font-size: 42px;
    }

    .auth-main {
        width:
            calc(100% - 30px);

        padding-top: 30px;
    }

    .auth-card {
        padding: 25px;
    }

    .auth-name-grid {
        grid-template-columns: 1fr;
    }

    .account-show-grid {
        grid-template-columns: 1fr;
    }

    .watch-meta {
        flex-direction: column;

        gap: 5px;
    }

    .footer-inner {
        min-height: 86px;

        flex-direction: column;
        align-items: flex-start;
        justify-content: center;

        gap: 5px;
    }
}

/* =========================================================
   SAMPSON PRODUCTIONS TV V4.3.2
   HOMEPAGE CATALOG + FAQ
   ========================================================= */


/*
 * No fake card when a catalog section has no shows.
 */
.catalog-empty-message {
    grid-column: 1 / -1;

    margin: 0;

    padding: 4px 0 8px;

    color: var(--muted-2);

    font-size: 14px;

    line-height: 1.5;
}


/*
 * FAQ
 */
.faq-section {
    padding-top: 62px;
}

.faq-section
.catalog-heading {
    margin-bottom: 22px;
}

.faq-list {
    width: 100%;

    display: grid;

    gap: 10px;
}

.faq-item {
    overflow: hidden;

    border:
        1px solid
        var(--line);

    border-radius: 14px;

    background:
        rgba(255,255,255,.022);
}

.faq-item summary {
    position: relative;

    min-height: 68px;

    padding:
        20px
        62px
        20px
        22px;

    display: flex;
    align-items: center;

    list-style: none;

    cursor: pointer;

    color: #f3f1ec;

    font-size: 17px;
    font-weight: 750;

    line-height: 1.35;

    user-select: none;

    transition:
        background .15s ease;
}

.faq-item summary:hover {
    background:
        rgba(255,255,255,.025);
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-item summary::after {
    content: '+';

    position: absolute;

    right: 22px;
    top: 50%;

    width: 28px;
    height: 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    transform:
        translateY(-50%);

    color: var(--gold-light);

    font-size: 24px;
    font-weight: 400;

    line-height: 1;

    transition:
        transform .15s ease;
}

.faq-item[open]
summary::after {
    transform:
        translateY(-50%)
        rotate(45deg);
}

.faq-answer {
    padding:
        0
        62px
        21px
        22px;

    color: var(--muted);

    font-size: 14px;

    line-height: 1.65;
}

.faq-answer p {
    max-width: 850px;

    margin: 0;
}


/*
 * Since section headings no longer have redundant eyebrow
 * labels, give the catalog headings their own clean spacing.
 */
.catalog-section
.catalog-heading {
    margin-bottom: 20px;
}


@media (
    max-width: 620px
) {
    .faq-section {
        padding-top: 48px;
    }

    .faq-item summary {
        min-height: 62px;

        padding:
            18px
            52px
            18px
            18px;

        font-size: 15px;
    }

    .faq-item summary::after {
        right: 17px;
    }

    .faq-answer {
        padding:
            0
            18px
            18px;
    }
}


/* =========================================================
   SAMPSON PRODUCTIONS TV V4.3.4
   RETURNING VIEWER + PACKAGE CLEANUP
   ========================================================= */


/*
 * Package title already identifies the package.
 */
.package-badge {
    display: none !important;
}


/*
 * Returning purchaser CTA.
 */
.returning-viewer-cta {
    width: 100%;
    margin: auto 0 0;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border-radius: 18px;
    background: #6161614d;
}

.returning-viewer-active {
    border-color:
        rgba(39,200,120,.36);

    background:
        linear-gradient(
            105deg,
            rgba(39,200,120,.09),
            rgba(255,255,255,.025) 48%,
            rgba(255,255,255,.01)
        );
}

.returning-viewer-copy {
    min-width: 0;
}

.returning-viewer-copy strong {
    display: block;

    margin: 0;

    color: #f5f3ed;

    font-size: 18px;
    font-weight: 850;

    line-height: 1.3;
}

.returning-viewer-copy p {
    max-width: 650px;

    margin: 5px 0 0;

    color: var(--muted);

    font-size: 13px;

    line-height: 1.5;
}

.returning-viewer-button {
    flex: 0 0 auto;

    min-width: 165px;
}


/*
 * Old inline V4.3 purchaser pill is obsolete.
 */
.purchased-access {
    display: none !important;
}


/*
 * Old split heading layout is obsolete.
 */
.section-heading-with-access {
    display: block;
}


@media (
    max-width: 720px
) {
    .returning-viewer-cta {
        align-items: flex-start;

        flex-direction: column;

        gap: 16px;

        padding: 18px;
    }

    .returning-viewer-button {
        width: 100%;
    }
}


/* =========================================================
   PUSHLIVE V4.4
   STRIPE-READY CHECKOUT
   ========================================================= */

.checkout-card {
    width:
        min(
            100%,
            600px
        );
}

.checkout-summary {
    margin-top: 28px;

    overflow: hidden;

    border:
        1px solid
        var(--line);

    border-radius: 16px;

    background:
        rgba(255,255,255,.02);
}

.checkout-summary-row {
    padding: 18px 20px;

    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 24px;

    border-bottom:
        1px solid
        var(--line-soft);
}

.checkout-summary-row:last-child {
    border-bottom: 0;
}

.checkout-summary-row > div {
    min-width: 0;

    display: grid;

    gap: 5px;
}

.checkout-summary-row > div span {
    color: var(--muted);

    font-size: 13px;

    line-height: 1.45;
}

.checkout-summary-row > strong {
    flex: 0 0 auto;
}

.checkout-summary-fee {
    color: var(--muted);

    font-size: 14px;
}

.checkout-summary-total {
    align-items: center;

    background:
        rgba(207,166,94,.07);

    font-size: 18px;
}

.checkout-summary-total strong {
    color: var(--gold-light);

    font-size: 22px;
}

.checkout-account {
    margin: 20px 0;

    color: var(--muted);

    font-size: 13px;

    line-height: 1.5;
}

.checkout-account strong {
    color: #eee;
}

.checkout-payment-form {
    margin-top: 4px;
}

.checkout-config-note {
    margin: 11px 0 0;

    color: var(--muted-2);

    text-align: center;

    font-size: 12px;
}

.checkout-back-link {
    display: block;

    margin-top: 18px;

    color: var(--muted);

    text-align: center;

    font-size: 13px;

    font-weight: 700;
}

.checkout-back-link:hover {
    color: var(--gold-light);
}

button[disabled] {
    cursor: not-allowed;

    opacity: .55;

    transform: none !important;
}

@media (
    max-width: 620px
) {
    .checkout-summary-row {
        padding: 16px;
    }
}


/* =========================================================
   PUSHLIVE V4.5
   SEGMENT-AWARE WATCH EXPERIENCE
   ========================================================= */

.watch-access-shell,
.watch-stream-shell {
    width:
        min(
            100%,
            1120px
        );

    margin:
        0 auto;
}

.watch-access-heading {
    margin-bottom: 28px;
}

.watch-access-heading h1,
.watch-stream-heading h1 {
    margin:
        0;

    color:
        #f5f3ed;

    font-size:
        clamp(
            30px,
            5vw,
            48px
        );

    line-height:
        1.06;
}

.watch-access-heading p,
.watch-stream-heading p {
    margin:
        10px 0 0;

    color:
        var(--muted);

    font-size:
        15px;

    line-height:
        1.5;
}

.watch-segment-grid {
    display:
        grid;

    gap:
        14px;
}

.watch-segment-card {
    min-height:
        132px;

    padding:
        22px 24px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        28px;

    border:
        1px solid
        var(--line);

    border-radius:
        18px;

    background:
        rgba(
            255,
            255,
            255,
            .025
        );

    text-decoration:
        none;

    transition:
        border-color .18s ease,
        background .18s ease,
        transform .18s ease;
}

.watch-segment-card:hover {
    border-color:
        rgba(
            207,
            166,
            94,
            .42
        );

    background:
        rgba(
            255,
            255,
            255,
            .045
        );

    transform:
        translateY(
            -1px
        );
}

.watch-segment-card-main {
    min-width:
        0;
}

.watch-segment-card-main h2 {
    margin:
        0;

    color:
        #f7f4ed;

    font-size:
        23px;

    line-height:
        1.2;
}

.watch-segment-card-main p {
    max-width:
        620px;

    margin:
        8px 0 0;

    color:
        var(--muted);

    font-size:
        14px;

    line-height:
        1.5;
}

.watch-segment-package {
    display:
        block;

    margin-top:
        10px;

    color:
        var(--muted-2);

    font-size:
        12px;

    font-weight:
        700;
}

.watch-segment-card-action {
    flex:
        0 0 auto;

    display:
        grid;

    justify-items:
        end;

    gap:
        9px;
}

.watch-segment-card-action strong {
    color:
        var(--gold-light);

    font-size:
        14px;
}

.watch-segment-status,
.watch-stream-state {
    display:
        inline-flex;

    align-items:
        center;

    min-height:
        27px;

    padding:
        4px 9px;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .11
        );

    border-radius:
        999px;

    color:
        var(--muted);

    background:
        rgba(
            255,
            255,
            255,
            .025
        );

    font-size:
        11px;

    font-weight:
        800;
}

.watch-stream-topbar {
    margin-bottom:
        24px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        18px;
}

.watch-back {
    color:
        var(--muted);

    font-size:
        13px;

    font-weight:
        750;
}

.watch-back:hover {
    color:
        var(--gold-light);
}

.watch-stream-heading {
    margin-bottom:
        24px;
}

.watch-player-frame {
    position:
        relative;

    width:
        100%;

    aspect-ratio:
        16 / 9;

    overflow:
        hidden;

    background:
        #000;
}

.watch-player-frame iframe {
    position:
        absolute;

    inset:
        0;

    width:
        100%;

    height:
        100%;

    border:
        0;
}

.watch-player-placeholder {
    min-height:
        440px;

    padding:
        48px 32px;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    text-align:
        center;
}

.watch-player-placeholder h2 {
    margin:
        0;

    color:
        #f5f3ed;

    font-size:
        clamp(
            24px,
            4vw,
            36px
        );
}

.watch-player-placeholder p {
    max-width:
        560px;

    margin:
        13px 0 0;

    color:
        var(--muted);

    line-height:
        1.6;
}

.viewer-session-notice {
    margin-top:
        16px;

    padding:
        14px 16px;

    border:
        1px solid
        rgba(
            207,
            166,
            94,
            .34
        );

    border-radius:
        12px;

    background:
        rgba(
            207,
            166,
            94,
            .08
        );

    color:
        #eee5d3;

    font-size:
        13px;

    line-height:
        1.5;
}

@media (
    max-width: 720px
) {
    .watch-segment-card {
        align-items:
            flex-start;

        flex-direction:
            column;

        gap:
            18px;

        padding:
            20px;
    }

    .watch-segment-card-action {
        width:
            100%;

        display:
            flex;

        align-items:
            center;

        justify-content:
            space-between;
    }

    .watch-player-placeholder {
        min-height:
            300px;

        padding:
            34px 20px;
    }
}



/* =========================================================
   PUSHLIVE V4.5.1
   SINGLE SHOW PACKAGE LAYOUT
   ========================================================= */

.package-section {
    margin-top: 34px;
    padding: 90px 0;
}


/* =========================================================
   PUSHLIVE V4.5.2
   MOBILE PACKAGE HEADING / ANCHOR FIX
   ========================================================= */

/*
 * Keep anchored navigation clear of the sticky site header.
 */
#packages {
    scroll-margin-top: 120px;
}


@media (
    max-width: 720px
) {
    /*
     * The desktop 90px package padding is too tall on mobile
     * and can make the heading appear clipped when entering
     * this section from the #packages anchor.
     */
    .package-section {
        margin-top: 24px;
        padding: 56px 0 72px;
    }

    /*
     * Extra mobile offset for sticky navigation.
     */
    #packages {
        scroll-margin-top: 104px;
    }

    /*
     * Protect the heading itself from any inherited clipping
     * or tight line-height behavior.
     */
    .package-section .section-heading {
        overflow: visible;
    }

    .package-section .section-heading h2 {
        margin-top: 0;
        padding-top: 2px;
        line-height: 1.12;
    }
}


/* =========================================================
   PUSHLIVE V4.5.3
   CHECKOUT FINAL-SALE / REPLAY NOTICE
   ========================================================= */

.checkout-policy-note {
    margin: 18px 0 0;
    padding: 15px 16px;

    display: grid;
    gap: 5px;

    border:
        1px solid
        rgba(255,255,255,.10);

    border-radius: 12px;

    background:
        rgba(255,255,255,.025);
}

.checkout-policy-note strong {
    color: #f1eee8;

    font-size: 13px;
    line-height: 1.45;
}

.checkout-policy-note span {
    color: var(--muted);

    font-size: 12px;
    line-height: 1.5;
}


/* =========================================================
   PUSHLIVE V4.5.4
   ACCESS PRODUCT DETAILS DROPDOWN
   ========================================================= */

.package-viewing-details {
    width: unset;
    margin: 0 -24px;
    padding: 0 20px;
    border-radius: 0;
    border-top: 1px solid #1c1c1c;
}

.package-viewing-details > summary {
    width: 100%;
    min-height: 46px;

    padding: 12px 2px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 16px;

    color: var(--muted);

    list-style: none;
    cursor: pointer;

    font-size: 13px;
    font-weight: 750;
    line-height: 1.35;

    transition:
        color .18s ease;
}

.package-viewing-details > summary::-webkit-details-marker {
    display: none;
}

.package-viewing-details > summary::marker {
    content: "";
}

.package-viewing-details > summary:hover {
    color: #f5f1ea;
}

.package-details-chevron {
    width: 8px;
    height: 8px;

    flex: 0 0 auto;

    border-right:
        1.5px solid
        currentColor;

    border-bottom:
        1.5px solid
        currentColor;

    transform:
        rotate(45deg);

    transition:
        transform .18s ease;
}

.package-viewing-details[open]
.package-details-chevron {
    transform:
        rotate(225deg);
}

.package-viewing-details .viewing-details {
    width: 100%;

    margin: 0;
    padding: 0 2px 17px;

    border: 0;
    border-radius: 0;

    background: transparent;

    overflow: visible;
}

.package-viewing-details .viewing-details > summary {
    display: none !important;
}

.package-viewing-details .viewing-details-body {
    margin: 0;
}

.package-viewing-details .viewing-details-body ul {
    margin: 0;
    padding-left: 14px;
    display: grid;
}

.package-viewing-details .viewing-details-body li {
    margin: 7px 0;

    color: var(--muted);

    font-size: 12px;
    line-height: 1.5;
}

@media (
    max-width: 720px
) {
    .package-viewing-details {
        width: unset;
        margin: 0 -24px;
        padding: 0 20px;
        border-radius: 0;
        border-top: 1px solid #1c1c1c;
    }

    .package-viewing-details > summary {
        min-height: 44px;

        padding:
            11px 2px;

        font-size:
            12px;
    }

    .package-viewing-details .viewing-details {
        padding-bottom:
            14px;
    }
}


/* =========================================================
   PUSHLIVE V4.6
   PRODUCTION ADMIN
   ========================================================= */

.admin-main {
    min-height: calc(100vh - 160px);
    padding: 46px 0 80px;
}

.admin-shell {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.admin-topbar {
    margin-bottom: 26px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}

.admin-topbar h1 {
    margin: 0;
    font-size: clamp(30px, 5vw, 50px);
    line-height: 1;
}

.admin-topbar p {
    margin: 8px 0 0;
    color: var(--muted);
}

.admin-role,
.admin-state-badge,
.admin-stream-readiness {
    padding: 7px 10px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.admin-role {
    color: #eee9df;
    background: rgba(255,255,255,.04);
}

.admin-notice {
    margin-bottom: 20px;
    padding: 13px 15px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 12px;
    background: rgba(255,255,255,.045);
    font-size: 13px;
    line-height: 1.5;
}

.admin-event-nav {
    margin-bottom: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.admin-event-link {
    padding: 9px 12px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 999px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.admin-event-link:hover,
.admin-event-link.active {
    color: #fff;
    border-color: rgba(255,255,255,.22);
    background: rgba(255,255,255,.06);
}

.admin-panel,
.admin-stream-card {
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 18px;
    background: rgba(255,255,255,.025);
}

.admin-panel {
    padding: 26px;
}

.admin-access-panel {
    max-width: 620px;
    margin: 70px auto 0;
}

.admin-access-panel h1 {
    margin-top: 0;
}

.admin-access-panel p {
    margin: 0 0 22px;
    color: var(--muted);
    line-height: 1.65;
}

.admin-panel-heading,
.admin-stream-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
}

.admin-panel-heading h2,
.admin-stream-heading h2 {
    margin: 0;
    line-height: 1.15;
}

.admin-panel-heading p,
.admin-stream-heading p {
    margin: 7px 0 0;
    color: var(--muted);
    font-size: 13px;
}

.admin-state-badge {
    color: #f0ece4;
    background: rgba(255,255,255,.05);
}

.admin-time-grid {
    margin-top: 20px;
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.admin-event-times {
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
}

.admin-time-grid > div {
    min-width: 0;
    padding: 13px;
    border-radius: 12px;
    background: rgba(255,255,255,.035);
}

.admin-time-grid span {
    display: block;
    margin-bottom: 5px;
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.admin-time-grid strong {
    display: block;
    overflow-wrap: anywhere;
    font-size: 12px;
    line-height: 1.45;
}

.admin-form {
    margin-top: 20px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

label.admin-field.admin-field-wide {
    grid-column: 1 / -1;
}

.admin-event-form {
    grid-template-columns:
        minmax(220px, 360px)
        auto;
    align-items: end;
}

.admin-field {
    display: grid;
    gap: 7px;
}

.admin-field > span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 750;
}

.admin-field input,
.admin-field select {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 10px;
    color: #f5f2ec;
    background: #111;
    font: inherit;
    outline: none;
}

.admin-field input:focus,
.admin-field select:focus {
    border-color: rgba(255,255,255,.30);
}

.admin-form-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-start;
}

.admin-event-form .admin-form-actions {
    grid-column: auto;
}

.admin-production-note {
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.08);
}

.admin-production-note strong {
    display: block;
    margin-bottom: 7px;
    font-size: 13px;
}

.admin-production-note p {
    max-width: 850px;
    margin: 6px 0 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.6;
}

.admin-stream-grid {
    margin-top: 18px;
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.admin-stream-card {
    padding: 22px;
}

.admin-stream-readiness.ready {
    color: #f0ece4;
    background: rgba(255,255,255,.06);
}

.admin-stream-readiness.pending {
    color: var(--muted);
}

.admin-legacy-note {
    margin-top: 14px;
    padding: 10px 12px;
    border-radius: 9px;
    background: rgba(255,255,255,.04);
    color: var(--muted);
    font-size: 11px;
    line-height: 1.5;
}

@media (max-width: 860px) {
    .admin-event-times,
    .admin-time-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .admin-stream-grid {
        grid-template-columns: 1fr;
    }

    .admin-form {
        grid-template-columns: 1fr;
    }

    .admin-event-form {
        grid-template-columns: 1fr;
    }

    .admin-event-form .admin-form-actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 560px) {
    .admin-main {
        padding: 28px 0 60px;
    }

    .admin-shell {
        width: min(100% - 24px, 1180px);
    }

    .admin-topbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-panel,
    .admin-stream-card {
        padding: 18px;
    }

    .admin-event-times,
    .admin-time-grid {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   PUSHLIVE V4.6.1
   ADMIN STREAM TEST PLAYER
   ========================================================= */

.admin-test-shell {
    max-width: 1240px;
}

.admin-test-top {
    margin-bottom: 24px;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 24px;
}

.admin-test-top h1 {
    margin: 0;

    font-size:
        clamp(
            30px,
            5vw,
            50px
        );

    line-height: 1;
}

.admin-test-top p {
    max-width: 650px;

    margin:
        9px 0 0;

    color:
        var(--muted);

    line-height:
        1.55;
}

.admin-test-grid {
    display: grid;

    grid-template-columns:
        minmax(300px, .75fr)
        minmax(0, 1.25fr);

    gap: 20px;

    align-items:
        start;
}

.admin-test-grid .admin-panel h2 {
    margin-top: 0;
}

.admin-test-intro {
    margin:
        0 0 20px;

    color:
        var(--muted);

    font-size:
        13px;

    line-height:
        1.6;
}

.admin-test-form {
    display: grid;

    gap: 16px;
}

.admin-test-textarea {
    width: 100%;
    min-height: 180px;

    padding: 12px;

    resize: vertical;

    border:
        1px solid
        rgba(255,255,255,.12);

    border-radius: 10px;

    color:
        #f5f2ec;

    background:
        #111;

    font:
        12px/1.5
        ui-monospace,
        SFMono-Regular,
        Menlo,
        Consolas,
        monospace;

    outline: none;
}

.admin-test-textarea:focus {
    border-color:
        rgba(255,255,255,.30);
}

.admin-test-safety {
    margin-top: 22px;
    padding-top: 18px;

    border-top:
        1px solid
        rgba(255,255,255,.08);
}

.admin-test-safety strong {
    font-size: 12px;
}

.admin-test-safety p {
    margin:
        7px 0 0;

    color:
        var(--muted);

    font-size:
        12px;

    line-height:
        1.55;
}

.admin-test-preview,
.admin-test-empty {
    overflow: hidden;

    border:
        1px solid
        rgba(255,255,255,.09);

    border-radius: 18px;

    background:
        rgba(255,255,255,.025);
}

.admin-test-preview-head {
    padding: 18px 20px;

    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 18px;
}

.admin-test-preview-head h2 {
    margin: 0;

    font-size: 18px;
}

.admin-test-preview-head p {
    margin:
        5px 0 0;

    color:
        var(--muted);

    font-size:
        12px;
}

.admin-test-player {
    position: relative;

    width: 100%;

    aspect-ratio:
        16 / 9;

    background:
        #000;
}

.admin-test-player iframe {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    border: 0;
}

.admin-test-host {
    margin: 0;
    padding: 13px 18px;

    color:
        var(--muted);

    font-size:
        11px;

    overflow-wrap:
        anywhere;
}

.admin-test-host strong {
    color:
        #eee9df;
}

.admin-test-empty {
    min-height: 360px;

    padding: 40px;

    display: grid;
    align-content: center;

    text-align: center;
}

.admin-test-empty h2 {
    margin:
        0 0 8px;
}

.admin-test-empty p {
    max-width: 420px;

    margin:
        0 auto;

    color:
        var(--muted);

    line-height:
        1.6;
}

@media (max-width: 900px) {
    .admin-test-grid {
        grid-template-columns:
            1fr;
    }
}

@media (max-width: 560px) {
    .admin-test-top {
        align-items:
            flex-start;

        flex-direction:
            column;
    }

    .admin-test-top .btn {
        width: 100%;
    }

    .admin-test-empty {
        min-height: 260px;

        padding: 26px 18px;
    }
}


/* =========================================================
   PUSHLIVE V4.6.2
   AUTOMATIC PRODUCTION LIFECYCLE
   ========================================================= */

.admin-topbar-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.admin-stream-badges {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 7px;
}

.admin-mode-badge {
    padding: 7px 10px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 999px;

    font-size: 10px;
    font-weight: 800;
    line-height: 1;

    text-transform: uppercase;
    letter-spacing: .07em;
}

.admin-mode-badge.auto {
    color: #eee9df;
    background: rgba(255,255,255,.04);
}

.admin-mode-badge.manual {
    color: #fff;
    background: rgba(255,255,255,.08);
}

.admin-auto-warning {
    margin-top: 14px;
    padding: 11px 12px;

    border: 1px solid rgba(255,255,255,.10);
    border-radius: 10px;

    color: var(--muted);
    background: rgba(255,255,255,.035);

    font-size: 11px;
    line-height: 1.55;
}

.admin-lifecycle-note {
    margin-top: 20px;
    padding-top: 17px;

    border-top: 1px solid rgba(255,255,255,.08);
}

.admin-lifecycle-note strong {
    display: block;

    margin-bottom: 6px;

    font-size: 12px;
}

.admin-lifecycle-note p {
    margin: 5px 0 0;

    color: var(--muted);

    font-size: 11px;
    line-height: 1.55;
}

@media (max-width: 560px) {
    .admin-topbar-actions {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }

    .admin-topbar-actions .btn {
        width: 100%;
    }

    .admin-stream-badges {
        justify-content: flex-start;
    }
}


/* =========================================================
   PUSHLIVE V4.7
   SHOW MANAGEMENT PORTAL
   ========================================================= */

.portal-shell {
    max-width: 1240px;
}

.portal-show-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 26px;
}

.portal-show-card {
    min-width: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;

    border: 1px solid rgba(255,255,255,.09);
    border-radius: 16px;

    color: inherit;
    background: #0b0b0b;

    text-decoration: none;

    transition:
        transform .18s ease,
        border-color .18s ease;
}

.portal-show-card:hover {
    transform: translateY(-2px);
    border-color: rgba(255,255,255,.18);
}

.portal-show-poster {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;

    background: #111;
}

.portal-show-poster img {
    width: 100%;
    height: 100%;
    display: block;

    object-fit: cover;
}

.portal-show-placeholder {
    width: 100%;
    height: 100%;

    display: grid;
    place-items: center;

    font-size: 56px;
    font-weight: 800;

    color: rgba(255,255,255,.18);
}

.portal-show-copy {
    min-height: 220px;

    padding: 18px;

    display: flex;
    flex-direction: column;
}

.portal-show-card-top,
.portal-package-title,
.portal-itinerary-badges,
.portal-card-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 8px;
}

.portal-show-card-top {
    justify-content: space-between;
}

.portal-current-badge {
    padding: 6px 9px;

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

    font-size: 9px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: .08em;
}

.portal-show-copy h2 {
    margin: 16px 0 5px;

    font-size: 20px;
    line-height: 1.15;
}

.portal-show-copy > p {
    margin: 0;

    color: var(--muted);

    font-size: 12px;
}

.portal-show-stats {
    margin-top: 18px;

    display: grid;
    grid-template-columns: repeat(3, 1fr);

    gap: 8px;
}

.portal-show-stats span {
    min-width: 0;

    padding: 10px;

    border-radius: 9px;

    background: rgba(255,255,255,.035);

    color: var(--muted);

    font-size: 9px;
    line-height: 1.35;
}

.portal-show-stats strong {
    display: block;

    margin-bottom: 3px;

    color: #f5f2ec;

    font-size: 15px;
}

.portal-manage-link {
    margin-top: auto;
    padding-top: 18px;

    font-size: 12px;
}

.portal-add-card {
    min-height: 420px;

    align-items: center;
    justify-content: center;

    gap: 8px;

    border-style: dashed;

    text-align: center;
}

.portal-add-card > span:last-child {
    color: var(--muted);

    font-size: 11px;
}

.portal-add-icon {
    width: 54px;
    height: 54px;

    display: grid;
    place-items: center;

    margin-bottom: 7px;

    border: 1px solid rgba(255,255,255,.14);
    border-radius: 50%;

    font-size: 30px;
    font-weight: 300;
}

.portal-back {
    display: inline-flex;

    margin-bottom: 16px;

    color: var(--muted);

    font-size: 11px;
    font-weight: 700;

    text-decoration: none;
}

.portal-back:hover {
    color: #fff;
}

.portal-show-heading {
    margin-bottom: 20px;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 20px;
}

.portal-show-heading h1 {
    margin: 6px 0 0;

    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.05;
}

.portal-show-heading p {
    margin: 7px 0 0;

    color: var(--muted);
}

.portal-show-nav {
    margin: 20px 0 24px;

    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 7px;
}

.portal-show-nav a {
    padding: 9px 12px;

    border: 1px solid rgba(255,255,255,.10);
    border-radius: 999px;

    color: var(--muted);

    font-size: 11px;
    font-weight: 700;

    text-decoration: none;
}

.portal-show-nav a:hover,
.portal-show-nav a.active {
    color: #fff;
    border-color: rgba(255,255,255,.22);
    background: rgba(255,255,255,.055);
}

.portal-form-panel,
.portal-editor {
    margin-top: 18px;
}

.portal-form textarea,
.admin-field textarea {
    width: 100%;

    padding: 12px;

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

    color: #f5f2ec;
    background: #111;

    font: inherit;

    resize: vertical;

    outline: none;
}

.portal-form textarea:focus,
.admin-field textarea:focus {
    border-color: rgba(255,255,255,.30);
}

.portal-check {
    grid-column: 1 / -1;

    display: flex;
    align-items: center;

    gap: 9px;

    color: #ddd8cf;

    font-size: 12px;
}

.portal-check input {
    width: 16px;
    height: 16px;
}

.portal-section-heading {
    margin: 24px 0 14px;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 20px;
}

.portal-section-heading h2 {
    margin: 0;

    font-size: 24px;
}

.portal-section-heading p {
    margin: 6px 0 0;

    color: var(--muted);

    font-size: 12px;
}

.portal-session-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 14px;
}

.portal-session-card {
    min-width: 0;

    padding: 17px;

    border: 1px solid rgba(255,255,255,.09);
    border-radius: 14px;

    background: #0b0b0b;
}

.portal-session-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 16px;
}

.portal-session-card h3 {
    margin: 0;

    font-size: 18px;
}

.portal-session-card-head > div:first-child > span {
    display: block;

    margin-top: 4px;

    color: var(--muted);

    font-size: 10px;
}

.portal-session-card > p {
    margin: 14px 0;

    color: var(--muted);

    font-size: 11px;
    line-height: 1.55;
}

.portal-session-meta {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    gap: 8px;

    margin-bottom: 14px;
}

.portal-session-meta span {
    padding: 10px;

    border-radius: 9px;

    background: rgba(255,255,255,.035);

    color: var(--muted);

    font-size: 10px;
    line-height: 1.45;
}

.portal-session-meta strong {
    display: block;

    margin-bottom: 3px;

    color: #f4f0e9;

    font-size: 9px;

    text-transform: uppercase;
    letter-spacing: .06em;
}

.portal-card-actions {
    margin-top: 13px;
}

.portal-card-actions .btn {
    padding: 8px 12px;

    font-size: 10px;
}

.portal-archived {
    margin-top: 24px;
    padding-top: 18px;

    border-top: 1px solid rgba(255,255,255,.08);
}

.portal-archived > h3 {
    margin: 0 0 10px;

    font-size: 13px;
}

.portal-archived-row {
    padding: 10px 0;

    display: flex;
    justify-content: space-between;

    gap: 12px;

    border-bottom: 1px solid rgba(255,255,255,.06);

    color: var(--muted);

    font-size: 11px;
}

.portal-text-button {
    padding: 0;

    border: 0;

    color: #eee9df;
    background: transparent;

    font: inherit;
    font-weight: 700;

    cursor: pointer;

    text-decoration: none;
}

.portal-danger-zone {
    margin-top: 28px;
    padding-top: 20px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 24px;

    border-top: 1px solid rgba(255,255,255,.08);
}

.portal-danger-zone strong {
    display: block;

    font-size: 12px;
}

.portal-danger-zone p {
    max-width: 600px;

    margin: 5px 0 0;

    color: var(--muted);

    font-size: 11px;
    line-height: 1.5;
}

.portal-itinerary-list,
.portal-package-list {
    display: grid;
}

.portal-itinerary-row {
    padding: 16px 0;

    display: grid;
    grid-template-columns: 200px minmax(0, 1fr) auto;

    gap: 20px;

    border-bottom: 1px solid rgba(255,255,255,.07);
}

.portal-itinerary-row:last-child {
    border-bottom: 0;
}

.portal-itinerary-time strong {
    display: block;

    font-size: 11px;
}

.portal-itinerary-copy h3 {
    margin: 8px 0 0;

    font-size: 15px;
}

.portal-itinerary-copy p {
    margin: 5px 0 0;

    color: var(--muted);

    font-size: 11px;
    line-height: 1.5;
}

.portal-itinerary-badges span,
.portal-package-sessions span {
    padding: 5px 7px;

    border: 1px solid rgba(255,255,255,.08);
    border-radius: 999px;

    color: var(--muted);

    font-size: 9px;
}

.portal-itinerary-actions {
    display: flex;
    align-items: center;

    gap: 12px;
}

.portal-empty {
    padding: 30px 20px;

    color: var(--muted);

    text-align: center;

    font-size: 12px;
}

.portal-package-row {
    padding: 18px 0;

    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;

    gap: 30px;

    border-bottom: 1px solid rgba(255,255,255,.07);
}

.portal-package-row:last-child {
    border-bottom: 0;
}

.portal-package-title h3 {
    margin: 0;

    font-size: 17px;
}

.portal-package-row p {
    max-width: 700px;

    margin: 7px 0 12px;

    color: var(--muted);

    font-size: 11px;
    line-height: 1.5;
}

.portal-package-sessions {
    display: flex;
    flex-wrap: wrap;

    gap: 6px;
}

.portal-package-price {
    text-align: right;
}

.portal-package-price strong {
    display: block;

    font-size: 20px;
}

.portal-package-price span {
    display: block;

    margin-top: 4px;

    color: var(--muted);

    font-size: 9px;
}

.public-session-main {
    padding: 64px 22px 90px;
}

.public-session-shell {
    max-width: 1160px;

    margin: 0 auto;
}

.public-session-back {
    display: inline-flex;

    margin-bottom: 20px;

    color: var(--muted);

    font-size: 11px;
    font-weight: 700;

    text-decoration: none;
}

.public-session-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(260px, .6fr);

    gap: 44px;

    align-items: center;
}

.public-session-hero h1 {
    max-width: 760px;

    margin: 15px 0 12px;

    font-size: clamp(38px, 6vw, 70px);
    line-height: .98;
}

.public-session-hero p {
    max-width: 650px;

    color: var(--muted);

    font-size: 15px;
    line-height: 1.6;
}

.public-session-time {
    margin-top: 22px;

    font-size: 17px;
}

.public-session-actions {
    margin-top: 24px;
}

.public-session-poster {
    overflow: hidden;

    border-radius: 14px;
}

.public-session-poster img {
    width: 100%;

    display: block;
}

.public-session-itinerary {
    margin-top: 58px;
    padding-top: 32px;

    border-top: 1px solid rgba(255,255,255,.08);
}

.public-session-itinerary > h2 {
    margin: 0 0 16px;

    font-size: 25px;
}

.public-itinerary-row {
    padding: 16px 0;

    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);

    gap: 22px;

    border-bottom: 1px solid rgba(255,255,255,.07);
}

.public-itinerary-row time {
    color: var(--muted);

    font-size: 11px;
}

.public-itinerary-row h3 {
    margin: 0;

    font-size: 15px;
}

.public-itinerary-row p {
    margin: 5px 0 0;

    color: var(--muted);

    font-size: 11px;
    line-height: 1.5;
}

@media (max-width: 920px) {
    .portal-show-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .portal-session-grid {
        grid-template-columns: 1fr;
    }

    .public-session-hero {
        grid-template-columns: 1fr;
    }

    .public-session-poster {
        max-width: 420px;
    }
}

@media (max-width: 650px) {
    .portal-show-grid {
        grid-template-columns: 1fr;
    }

    .portal-add-card {
        min-height: 220px;
    }

    .portal-show-heading,
    .portal-section-heading,
    .portal-danger-zone {
        align-items: flex-start;
        flex-direction: column;
    }

    .portal-show-heading .btn,
    .portal-section-heading .btn {
        width: 100%;
    }

    .portal-session-card-head {
        flex-direction: column;
    }

    .portal-session-meta {
        grid-template-columns: 1fr;
    }

    .portal-itinerary-row,
    .portal-package-row,
    .public-itinerary-row {
        grid-template-columns: 1fr;
    }

    .portal-package-price {
        text-align: left;
    }

    .public-session-main {
        padding: 44px 18px 70px;
    }
}


/* =========================================================
   PUSHLIVE V4.7.1
   OVERVIEW RAIL + BUY CTA + ITINERARY EMPTY STATE
   ========================================================= */

.portal-overview-layout {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.portal-overview-main {
    min-width: 0;
}

.portal-overview-layout .portal-form-panel {
    margin-top: 0;
}

.portal-overview-rail {
    position: sticky;
    top: 108px;

    min-width: 0;

    overflow: hidden;

    border: 1px solid rgba(255,255,255,.09);
    border-radius: 15px;

    background: #0b0b0b;
}

.portal-overview-poster {
    width: 100%;

    overflow: hidden;

    background: #111;
}

.portal-overview-poster img {
    width: 100%;
    height: auto;

    display: block;
}

.portal-overview-poster-empty {
    width: 100%;
    aspect-ratio: 3 / 4;

    display: grid;
    place-items: center;

    color: var(--muted);

    font-size: 11px;
}

.portal-overview-summary {
    padding: 16px;
}

.portal-overview-badges {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 7px;
}

.portal-overview-summary h2 {
    margin: 14px 0 0;

    font-size: 18px;
    line-height: 1.15;
}

.portal-overview-facts {
    margin-top: 16px;

    display: grid;

    gap: 8px;
}

.portal-overview-facts > div {
    padding: 9px 10px;

    border-radius: 9px;

    background: rgba(255,255,255,.035);
}

.portal-overview-facts span {
    display: block;

    margin-bottom: 3px;

    color: var(--muted);

    font-size: 8px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: .06em;
}

.portal-overview-facts strong {
    display: block;

    color: #f4f0e9;

    font-size: 10px;
    line-height: 1.45;

    text-transform: capitalize;
}

.portal-overview-address {
    margin: 12px 0 0;

    color: var(--muted);

    font-size: 10px;
    line-height: 1.5;
}

.portal-empty-add {
    min-height: 210px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 8px;

    border: 1px dashed rgba(255,255,255,.13);
    border-radius: 12px;

    color: #f4f0e9;
    background: transparent;

    text-decoration: none;

    transition:
        border-color .18s ease,
        background .18s ease,
        transform .18s ease;
}

.portal-empty-add:hover {
    transform: translateY(-1px);

    border-color: rgba(255,255,255,.25);

    background: rgba(255,255,255,.025);
}

.portal-empty-add strong {
    font-size: 14px;
}

.portal-empty-add > span:last-child {
    color: var(--muted);

    font-size: 10px;
}

.portal-empty-plus {
    width: 48px;
    height: 48px;

    display: grid;
    place-items: center;

    margin-bottom: 3px;

    border: 1px solid rgba(255,255,255,.14);
    border-radius: 50%;

    font-size: 28px;
    font-weight: 300;
    line-height: 1;
}

.public-session-purchase {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 9px;
}

.public-session-buy,
.public-session-bundle {
    white-space: nowrap;
}

.public-session-sales-note {
    display: inline-flex;

    padding: 11px 14px;

    border: 1px solid rgba(255,255,255,.10);
    border-radius: 10px;

    color: var(--muted);

    font-size: 11px;
}

@media (max-width: 900px) {
    .portal-overview-layout {
        grid-template-columns: 210px minmax(0, 1fr);
    }
}

@media (max-width: 720px) {
    .portal-overview-layout {
        grid-template-columns: 1fr;
    }

    .portal-overview-rail {
        position: static;

        max-width: 300px;
    }

    .public-session-purchase {
        align-items: stretch;
        flex-direction: column;
    }

    .public-session-buy,
    .public-session-bundle {
        width: 100%;
    }
}


/* =========================================================
   PUSHLIVE V4.7.2
   ACCESS PACKAGE MANAGER
   ========================================================= */

.portal-add-session-card {
    min-height: 220px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 8px;

    border-style: dashed;

    color: #f4f0e9;

    text-align: center;
    text-decoration: none;

    transition:
        transform .18s ease,
        border-color .18s ease,
        background .18s ease;
}

.portal-add-session-card:hover {
    transform: translateY(-1px);

    border-color: rgba(255,255,255,.24);

    background: rgba(255,255,255,.025);
}

.portal-add-session-card > strong {
    font-size: 14px;
}

.portal-add-session-card > span:last-child {
    max-width: 260px;

    color: var(--muted);

    font-size: 10px;
    line-height: 1.45;
}

.portal-add-session-icon {
    width: 46px;
    height: 46px;

    display: grid;
    place-items: center;

    margin-bottom: 2px;

    border: 1px solid rgba(255,255,255,.14);
    border-radius: 50%;

    font-size: 27px;
    font-weight: 300;
    line-height: 1;
}

.portal-package-copy {
    min-width: 0;
}

.portal-package-actions {
    margin-top: 14px;

    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 8px;
}

.portal-package-actions .btn {
    padding: 8px 12px;

    font-size: 10px;
}

.portal-package-lock {
    padding: 5px 7px;

    border: 1px solid rgba(255,255,255,.10);
    border-radius: 999px;

    color: var(--muted);

    font-size: 8px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: .05em;
}

.portal-package-no-session {
    opacity: .72;
}

.portal-package-add-card {
    min-height: 170px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 7px;

    margin-top: 14px;

    border: 1px dashed rgba(255,255,255,.13);
    border-radius: 12px;

    color: #f4f0e9;

    text-align: center;
    text-decoration: none;

    transition:
        transform .18s ease,
        border-color .18s ease,
        background .18s ease;
}

.portal-package-add-card:hover {
    transform: translateY(-1px);

    border-color: rgba(255,255,255,.24);

    background: rgba(255,255,255,.025);
}

.portal-package-add-card strong {
    font-size: 14px;
}

.portal-package-add-card > span:last-child {
    max-width: 390px;

    color: var(--muted);

    font-size: 10px;
    line-height: 1.45;
}

.portal-package-add-icon {
    width: 46px;
    height: 46px;

    display: grid;
    place-items: center;

    margin-bottom: 2px;

    border: 1px solid rgba(255,255,255,.14);
    border-radius: 50%;

    font-size: 27px;
    font-weight: 300;
    line-height: 1;
}

.portal-package-editor {
    margin-top: 22px;
}

.portal-package-lock-note {
    margin: 14px 0 20px;
    padding: 12px 14px;

    border: 1px solid rgba(255,255,255,.09);
    border-radius: 10px;

    background: rgba(255,255,255,.025);
}

.portal-package-lock-note strong {
    display: block;

    font-size: 11px;
}

.portal-package-lock-note p {
    margin: 5px 0 0;

    color: var(--muted);

    font-size: 10px;
    line-height: 1.5;
}

.portal-package-session-picker {
    margin-top: 7px;

    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 8px;
}

.portal-package-session-choice {
    min-width: 0;

    padding: 12px;

    display: flex;
    align-items: flex-start;

    gap: 10px;

    border: 1px solid rgba(255,255,255,.09);
    border-radius: 10px;

    background: rgba(255,255,255,.025);

    cursor: pointer;
}

.portal-package-session-choice:has(input:checked) {
    border-color: rgba(221,177,92,.45);

    background: rgba(221,177,92,.06);
}

.portal-package-session-choice input {
    width: 16px;
    height: 16px;

    margin: 1px 0 0;

    flex: 0 0 auto;
}

.portal-package-session-choice strong {
    display: block;

    font-size: 11px;
    line-height: 1.3;
}

.portal-package-session-choice small {
    display: block;

    margin-top: 4px;

    color: var(--muted);

    font-size: 9px;
    line-height: 1.4;
}

.portal-package-session-choice:has(input:disabled) {
    cursor: default;
}

.portal-package-session-empty {
    grid-column: 1 / -1;

    padding: 16px;

    border: 1px dashed rgba(255,255,255,.10);
    border-radius: 10px;

    color: var(--muted);

    font-size: 10px;
    text-align: center;
}

.portal-price-input {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);

    align-items: center;

    overflow: hidden;

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

    background: #111;
}

.portal-price-input > span {
    padding-left: 12px;

    color: var(--muted);

    font-size: 13px;
}

.portal-price-input input {
    border: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;
}

.portal-package-archived {
    margin-bottom: 18px;
}

.portal-package-archived .portal-archived-row > div {
    display: flex;
    align-items: center;

    gap: 10px;
}

.portal-package-archived .portal-archived-row strong {
    color: #eee9df;

    font-size: 11px;
}

.portal-package-archived .portal-archived-row span {
    color: var(--muted);

    font-size: 10px;
}

@media (max-width: 720px) {
    .portal-package-session-picker {
        grid-template-columns: 1fr;
    }

    .portal-package-row {
        gap: 14px;
    }

    .portal-package-actions .btn {
        width: auto;
    }
}


/* =========================================================
   PUSHLIVE V4.7.3
   UNIFIED ADMIN RESOURCE CARD SYSTEM
   ========================================================= */


/* ---------------------------------------------------------
   GRID
   --------------------------------------------------------- */

.portal-package-list,
.portal-itinerary-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    align-items: stretch;
}


/* ---------------------------------------------------------
   ACCESS PACKAGE CARD
   --------------------------------------------------------- */

.portal-package-card {
    min-width: 0;
    min-height: 220px;

    display: flex;
    flex-direction: column;
}

.portal-package-card .portal-package-copy {
    min-width: 0;

    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

.portal-package-card .portal-package-title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 7px;
}

.portal-package-card .portal-package-title h3 {
    margin: 0;

    font-size: 17px;
    line-height: 1.2;
}

.portal-package-card .portal-package-copy > p {
    margin: 11px 0 0;

    color: var(--muted);

    font-size: 10px;
    line-height: 1.5;
}

.portal-package-card .portal-package-sessions {
    margin-top: 14px;

    display: flex;
    flex-wrap: wrap;

    gap: 6px;
}

.portal-package-card .portal-package-actions {
    margin-top: auto;
    padding-top: 18px;

    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 8px;
}

.portal-package-card .portal-package-price {
    margin-top: 16px;
    padding-top: 14px;

    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 12px;

    border-top: 1px solid rgba(255,255,255,.08);

    text-align: left;
}

.portal-package-card .portal-package-price strong {
    font-size: 20px;
    line-height: 1;
}

.portal-package-card .portal-package-price span {
    color: var(--muted);

    font-size: 9px;
}


/* ---------------------------------------------------------
   ITINERARY CARD
   --------------------------------------------------------- */

.portal-itinerary-card {
    min-width: 0;
    min-height: 220px;

    display: flex;
    flex-direction: column;
}

.portal-itinerary-card .portal-itinerary-time {
    width: auto;

    margin: 0 0 12px;
    padding: 0;

    flex: 0 0 auto;
}

.portal-itinerary-card .portal-itinerary-time strong {
    font-size: 11px;
    line-height: 1.4;
}

.portal-itinerary-card .portal-itinerary-copy {
    min-width: 0;

    flex: 1 1 auto;
}

.portal-itinerary-card .portal-itinerary-copy h3 {
    margin: 10px 0 0;

    font-size: 17px;
    line-height: 1.25;
}

.portal-itinerary-card .portal-itinerary-copy p {
    margin: 8px 0 0;

    color: var(--muted);

    font-size: 10px;
    line-height: 1.5;
}

.portal-itinerary-card .portal-itinerary-actions {
    margin-top: auto;
    padding-top: 18px;

    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 10px;
}

.portal-itinerary-card .portal-itinerary-actions form {
    margin: 0;
}


/* ---------------------------------------------------------
   SHARED ADD CARDS
   --------------------------------------------------------- */

.portal-add-itinerary-card,
.portal-add-package-card {
    min-height: 220px;
}


/* ---------------------------------------------------------
   EDITORS
   --------------------------------------------------------- */

.portal-editor,
.portal-package-editor {
    margin-top: 22px;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 720px) {

    .portal-package-list,
    .portal-itinerary-list {
        grid-template-columns: 1fr;
    }

    .portal-package-card,
    .portal-itinerary-card,
    .portal-add-itinerary-card,
    .portal-add-package-card {
        min-height: 0;
    }
}


/* =========================================================
   PUSHLIVE V4.8
   ITINERARY GROUPS + PRODUCTION HIERARCHY
   ========================================================= */


/* ---------------------------------------------------------
   ITINERARY GROUP CARDS
   --------------------------------------------------------- */

.portal-itinerary-group-card {
    min-width: 0;
    min-height: 240px;

    display: flex;
    flex-direction: column;
}

.portal-itinerary-group-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 14px;
}

.portal-itinerary-group-heading > div {
    min-width: 0;

    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 8px;
}

.portal-itinerary-group-heading h3 {
    margin: 0;

    font-size: 17px;
    line-height: 1.25;
}

.portal-itinerary-item-count {
    flex: 0 0 auto;

    color: var(--muted);

    font-size: 9px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: .05em;
}

.portal-itinerary-group-description {
    margin: 12px 0 0;

    color: var(--muted);

    font-size: 10px;
    line-height: 1.5;
}

.portal-itinerary-group-sessions {
    margin-top: 14px;

    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 6px;
}

.portal-itinerary-group-sessions > span {
    padding: 5px 8px;

    border: 1px solid rgba(255,255,255,.09);
    border-radius: 999px;

    color: #ded8ce;

    font-size: 8px;
    line-height: 1.2;
}

.portal-itinerary-no-session {
    opacity: .65;
}

.portal-itinerary-group-dates {
    margin-top: 16px;

    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 8px;
}

.portal-itinerary-group-dates > div {
    min-width: 0;

    padding: 10px;

    border-radius: 9px;

    background: rgba(255,255,255,.035);
}

.portal-itinerary-group-dates span {
    display: block;

    margin-bottom: 4px;

    color: var(--muted);

    font-size: 8px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: .05em;
}

.portal-itinerary-group-dates strong {
    display: block;

    font-size: 10px;
    line-height: 1.4;
}

.portal-itinerary-group-actions {
    margin-top: auto;
    padding-top: 18px;
}

.portal-itinerary-archived {
    margin-top: 20px;
}


/* ---------------------------------------------------------
   GROUP EDITOR
   --------------------------------------------------------- */

.portal-itinerary-group-editor {
    margin-top: 22px;
}

.portal-itinerary-group-form > .admin-form {
    margin-top: 20px;
}

.portal-itinerary-builder {
    margin-top: 28px;
    padding-top: 24px;

    border-top: 1px solid rgba(255,255,255,.08);
}

.portal-itinerary-builder-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 18px;
}

.portal-itinerary-builder-heading h3 {
    margin: 0;

    font-size: 16px;
}

.portal-itinerary-builder-heading p {
    margin: 4px 0 0;

    color: var(--muted);

    font-size: 10px;
}

.portal-itinerary-table-wrap {
    width: 100%;

    margin-top: 14px;

    overflow-x: auto;

    border: 1px solid rgba(255,255,255,.09);
    border-radius: 11px;
}

.portal-itinerary-editor-table {
    width: 100%;
    min-width: 980px;

    border-collapse: collapse;
}

.portal-itinerary-editor-table th {
    padding: 10px;

    border-bottom: 1px solid rgba(255,255,255,.08);

    color: var(--muted);

    font-size: 8px;
    font-weight: 800;

    text-align: left;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.portal-itinerary-editor-table td {
    padding: 8px;

    vertical-align: middle;

    border-bottom: 1px solid rgba(255,255,255,.055);
}

.portal-itinerary-editor-table tbody tr:last-child td {
    border-bottom: 0;
}

.portal-itinerary-editor-table input {
    width: 100%;
    min-width: 0;

    padding: 9px 10px;

    border: 1px solid rgba(255,255,255,.10);
    border-radius: 8px;

    color: #f4f0e9;
    background: #111;

    font: inherit;
    font-size: 10px;
}

.portal-itinerary-editor-table input[type="datetime-local"] {
    min-width: 180px;
}

.portal-itinerary-editor-table input[name="item_title"] {
    min-width: 170px;
}

.portal-itinerary-editor-table input[name="item_notes"] {
    min-width: 220px;
}

.portal-itinerary-order {
    width: 72px !important;
    min-width: 72px !important;
}

.portal-itinerary-row-remove {
    padding: 8px 10px;

    border: 1px solid rgba(255,255,255,.10);
    border-radius: 999px;

    color: #ddd6cb;
    background: transparent;

    font: inherit;
    font-size: 9px;
    font-weight: 800;

    cursor: pointer;
}

.portal-itinerary-row-remove:hover {
    border-color: rgba(255,255,255,.22);

    background: rgba(255,255,255,.035);
}


/* ---------------------------------------------------------
   CSV
   --------------------------------------------------------- */

.portal-itinerary-csv {
    margin-top: 16px;
    padding: 15px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;

    gap: 14px;

    border: 1px solid rgba(255,255,255,.08);
    border-radius: 10px;

    background: rgba(255,255,255,.02);
}

.portal-itinerary-csv strong {
    display: block;

    font-size: 11px;
}

.portal-itinerary-csv p {
    margin: 4px 0 0;

    color: var(--muted);

    font-size: 9px;
    line-height: 1.5;
}

.portal-itinerary-csv-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 8px;
}

.portal-itinerary-csv-actions input[type="file"] {
    max-width: 250px;

    color: var(--muted);

    font-size: 9px;
}

.portal-itinerary-csv-message {
    width: 100%;

    min-height: 15px;

    color: var(--muted);

    font-size: 9px;
}


/* ---------------------------------------------------------
   PUBLIC ITINERARY GROUPS
   --------------------------------------------------------- */

.public-itinerary-group + .public-itinerary-group {
    margin-top: 28px;
}

.public-itinerary-group-heading {
    margin-bottom: 12px;
}

.public-itinerary-group-heading h2 {
    margin: 0;

    font-size: 20px;
}

.public-itinerary-group-heading p {
    margin: 6px 0 0;

    color: var(--muted);

    font-size: 11px;
    line-height: 1.55;
}


/* ---------------------------------------------------------
   PRODUCTION TAB HIERARCHY
   --------------------------------------------------------- */

.portal-production-heading {
    align-items: flex-end;
}

.portal-show-heading-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 9px;
}

.portal-production-heading + .admin-notice {
    margin-top: 18px;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 720px) {

    .portal-itinerary-group-dates {
        grid-template-columns: 1fr;
    }

    .portal-itinerary-builder-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .portal-itinerary-builder-heading .btn {
        width: auto;
    }

    .portal-itinerary-csv {
        align-items: stretch;
        flex-direction: column;
    }

    .portal-itinerary-csv-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .portal-itinerary-csv-actions .btn {
        width: 100%;
    }

    .portal-production-heading {
        align-items: flex-start;
    }

    .portal-show-heading-actions {
        width: 100%;

        margin-top: 12px;
    }
}


/* =========================================================
   PUSHLIVE V4.8.1
   ITINERARY CSV PICKER UX
   ========================================================= */

.portal-itinerary-csv {
    margin: 16px 0;
    padding: 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 14px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 10px;
    background: rgba(255, 255, 255, .02);
}

.portal-itinerary-csv-file {
    position: absolute !important;

    width: 1px !important;
    height: 1px !important;

    margin: -1px !important;
    padding: 0 !important;

    overflow: hidden !important;

    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;

    border: 0 !important;

    white-space: nowrap !important;
}


/* ============================================================
   PUSHLIVE_V490_SPONSORS_CSS
   Sponsor management + authenticated watch placement
   ============================================================ */

.portal-sponsor-list {
    align-items: stretch;
}

.portal-sponsor-card {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-height: 290px;
}

.portal-sponsor-card-head {
    display: flex;
    align-items: center;
    gap: 16px;
}

.portal-sponsor-card-head > div:last-child {
    min-width: 0;
    display: grid;
    gap: 8px;
}

.portal-sponsor-card-head h3 {
    margin: 0;
    line-height: 1.15;
}

.portal-sponsor-image {
    width: 88px;
    height: 72px;
    flex: 0 0 88px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 10px;
    background: rgba(255, 255, 255, .96);
}

.portal-sponsor-image img {
    width: 100%;
    height: 100%;
    padding: 8px;
    object-fit: contain;
}

.portal-sponsor-description {
    margin: 0;
    color: rgba(255, 255, 255, .68);
    line-height: 1.55;
}

.portal-sponsor-sessions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.portal-sponsor-sessions > span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 9px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .1);
    background: rgba(255, 255, 255, .045);
    color: rgba(255, 255, 255, .7);
    font-size: 12px;
    line-height: 1.2;
}

.portal-sponsor-no-session {
    opacity: .65;
}

.portal-sponsor-domain {
    color: rgba(255, 255, 255, .48);
    font-size: 13px;
    overflow-wrap: anywhere;
}

.portal-sponsor-actions {
    margin-top: auto;
    display: flex;
    align-items: center;
    gap: 14px;
}

.portal-add-sponsor-card {
    min-height: 290px;
}

.portal-sponsor-archived {
    margin-top: 26px;
}

.portal-sponsor-editor {
    margin-top: 26px;
}

.portal-sponsor-field-note {
    margin: 6px 0 12px;
    color: rgba(255, 255, 255, .55);
    font-size: 13px;
    line-height: 1.45;
}

.portal-sponsor-session-picker {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.portal-sponsor-session-choice {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 66px;
    padding: 12px 14px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 10px;
    background: rgba(255, 255, 255, .035);
    cursor: pointer;
}

.portal-sponsor-session-choice:has(input:checked) {
    border-color: rgba(216, 181, 93, .72);
    background: rgba(216, 181, 93, .08);
}

.portal-sponsor-session-choice input {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
}

.portal-sponsor-session-choice > span {
    min-width: 0;
    display: grid;
    gap: 4px;
}

.portal-sponsor-session-choice strong {
    font-size: 14px;
}

.portal-sponsor-session-choice small {
    color: rgba(255, 255, 255, .55);
    font-size: 12px;
}

.portal-sponsor-session-empty {
    padding: 14px;
    border: 1px dashed rgba(255, 255, 255, .15);
    border-radius: 10px;
    color: rgba(255, 255, 255, .55);
}

.portal-sponsor-upload {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
    margin-top: 8px;
}

.portal-sponsor-image-preview {
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 12px;
    background: rgba(255, 255, 255, .96);
}

.portal-sponsor-image-preview img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.portal-sponsor-image-preview span {
    color: #777;
    font-size: 13px;
    text-align: center;
}

.portal-sponsor-upload-controls {
    display: grid;
    gap: 10px;
}

.portal-sponsor-upload-controls input[type="file"] {
    width: 100%;
}

.portal-sponsor-upload-buttons {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.portal-sponsor-upload-controls p {
    margin: 0;
    color: rgba(255, 255, 255, .5);
    font-size: 12px;
}

.portal-sponsor-upload-message {
    min-height: 20px;
    color: rgba(255, 255, 255, .62);
    font-size: 13px;
}

.portal-sponsor-upload-message[data-state="error"] {
    color: #ffb7b7;
}

.portal-sponsor-upload-message[data-state="ok"] {
    color: rgba(255, 255, 255, .68);
}


/* Authenticated watch sponsor placement */

.watch-sponsor-rail {
    margin-top: 18px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 12px;
    background: rgba(255, 255, 255, .035);
}

.watch-sponsor-label {
    padding: 10px 18px 0;
    color: rgba(255, 255, 255, .42);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.watch-sponsor-rotator {
    min-height: 96px;
}

.watch-sponsor-card {
    min-height: 96px;
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 14px 18px 16px;
    color: inherit;
    text-decoration: none;
}

.watch-sponsor-card[hidden] {
    display: none;
}

a.watch-sponsor-card {
    transition:
        background-color .18s ease,
        border-color .18s ease;
}

a.watch-sponsor-card:hover {
    background: rgba(255, 255, 255, .04);
}

.watch-sponsor-image {
    width: 112px;
    height: 62px;
    flex: 0 0 112px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 6px;
    border-radius: 8px;
    background: rgba(255, 255, 255, .97);
}

.watch-sponsor-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.watch-sponsor-copy {
    min-width: 0;
    display: grid;
    gap: 5px;
}

.watch-sponsor-copy strong {
    color: rgba(255, 255, 255, .94);
    font-size: 15px;
    line-height: 1.25;
}

.watch-sponsor-copy p {
    margin: 0;
    color: rgba(255, 255, 255, .6);
    font-size: 13px;
    line-height: 1.45;
}


@media (max-width: 720px) {

    .portal-sponsor-session-picker {
        grid-template-columns: 1fr;
    }

    .portal-sponsor-upload {
        grid-template-columns: 1fr;
    }

    .portal-sponsor-image-preview {
        width: 100%;
        max-width: 220px;
    }

    .watch-sponsor-card {
        align-items: flex-start;
        gap: 14px;
    }

    .watch-sponsor-image {
        width: 92px;
        height: 56px;
        flex-basis: 92px;
    }
}

/* ============================================================
   PUSHLIVE_V491_WATCH_LAYOUT_CSS
   ============================================================ */

.watch-stream-heading {
    margin: 15px 0;
}

.watch-access-heading h1,
.watch-stream-heading h1 {
    margin: 0;
    color: #f5f3ed;
    font-size: clamp(21px, 5vw, 24px);
    line-height: 1.06;
}

.watch-sponsor-rotator {
    min-height: 0;
}

.watch-sponsor-card {
    min-height: 0;
    display: flex;
    align-items: center;
    gap: 0;
    padding: 0;
    color: inherit;
    background: linear-gradient(to right, transparent 4%, #232323 20px);
    text-decoration: none;
}

/* ============================================================
   PUSHLIVE_V492_WATCH_SIDEBAR_CSS
   ============================================================ */


/* ------------------------------------------------------------
   DESKTOP SESSION LAYOUT
   ------------------------------------------------------------ */

.watch-session-layout {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        310px;
    gap: 24px;
    align-items: start;
}

.watch-session-primary {
    min-width: 0;
}

.watch-session-sidebar {
    position: sticky;
    top: 116px;
    display: grid;
    gap: 14px;
}


/* ------------------------------------------------------------
   SIDEBAR CARDS
   ------------------------------------------------------------ */

.watch-sidebar-card {
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 12px;
    background: #101010;
}

.watch-sidebar-card h3 {
    margin: 0;
    color: #f5f3ed;
    font-size: 15px;
    line-height: 1.25;
}

.watch-sidebar-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.watch-sidebar-description {
    margin: 13px 0 0;
    color: rgba(255, 255, 255, .58);
    font-size: 13px;
    line-height: 1.5;
}

.watch-sidebar-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-height: 25px;
    padding: 4px 8px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 999px;
    color: rgba(255, 255, 255, .72);
    background: rgba(255, 255, 255, .04);
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
}

.watch-sidebar-status.is-live {
    border-color: rgba(227, 91, 91, .45);
    color: #ffabab;
    background: rgba(227, 91, 91, .08);
}

.watch-sidebar-status.is-replay {
    border-color: rgba(216, 181, 93, .38);
    color: #e3c36f;
    background: rgba(216, 181, 93, .06);
}

.watch-sidebar-facts {
    margin: 16px 0 0;
    display: grid;
    gap: 0;
}

.watch-sidebar-facts > div {
    display: grid;
    gap: 5px;
    padding: 11px 0;
    border-top: 1px solid rgba(255, 255, 255, .07);
}

.watch-sidebar-facts dt {
    color: rgba(255, 255, 255, .42);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.watch-sidebar-facts dd {
    margin: 0;
    color: rgba(255, 255, 255, .82);
    font-size: 13px;
    line-height: 1.45;
}

.watch-sidebar-session-list {
    margin-top: 12px;
    display: grid;
}

.watch-sidebar-session {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 -8px;
    padding: 11px 8px;
    border-radius: 8px;
    color: inherit;
    text-decoration: none;
}

.watch-sidebar-session:hover {
    background: rgba(255, 255, 255, .045);
}

.watch-sidebar-session > div {
    min-width: 0;
    display: grid;
    gap: 4px;
}

.watch-sidebar-session strong {
    color: #f5f3ed;
    font-size: 13px;
    line-height: 1.3;
}

.watch-sidebar-session > div > span {
    color: rgba(255, 255, 255, .45);
    font-size: 11px;
    line-height: 1.3;
}

.watch-sidebar-access-name {
    display: block;
    margin-top: 13px;
    color: rgba(255, 255, 255, .86);
    font-size: 13px;
}

.watch-sidebar-account {
    display: block;
    margin-top: 5px;
    color: rgba(255, 255, 255, .46);
    font-size: 11px;
    overflow-wrap: anywhere;
}

.watch-sidebar-card > p {
    margin: 13px 0 0;
    color: rgba(255, 255, 255, .56);
    font-size: 12px;
    line-height: 1.55;
}

.watch-sidebar-link {
    display: inline-flex;
    margin-top: 14px;
    color: #e3c36f;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.watch-sidebar-link:hover {
    text-decoration: underline;
}


/* ------------------------------------------------------------
   COUNTDOWN
   ------------------------------------------------------------ */

.watch-countdown {
    width: min(560px, calc(100% - 40px));
    margin: 28px auto 0;
}

.watch-countdown-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.watch-countdown-grid > div {
    min-width: 0;
    padding: 11px 8px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 9px;
    background: rgba(255, 255, 255, .035);
    text-align: center;
}

.watch-countdown-grid strong {
    display: block;
    color: #f5f3ed;
    font-size: clamp(22px, 3vw, 32px);
    font-variant-numeric: tabular-nums;
    line-height: 1;
}

.watch-countdown-grid span {
    display: block;
    margin-top: 7px;
    color: rgba(255, 255, 255, .42);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.watch-countdown-start {
    margin-top: 11px;
    color: rgba(255, 255, 255, .54);
    font-size: 12px;
    text-align: center;
}


/* ------------------------------------------------------------
   SPONSOR AD REDESIGN
   ------------------------------------------------------------ */

.watch-sponsor-rail {
    margin-top: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.watch-sponsor-rotator {
    min-height: 0;
}

.watch-sponsor-card {
    min-height: 88px;
    display: grid;
    grid-template-columns: 136px minmax(0, 1fr);
    align-items: stretch;
    gap: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 10px;
    color: inherit;
    background: #171717;
    text-decoration: none;
}

a.watch-sponsor-card:hover {
    background: #1b1b1b;
    border-color: rgba(255, 255, 255, .14);
}

.watch-sponsor-image {
    width: auto;
    height: auto;
    min-height: 88px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 12px;
    border-radius: 0;
    border-right: 1px solid rgba(0, 0, 0, .16);
    background: #f5f5f5;
}

.watch-sponsor-image img {
    width: 100%;
    height: 100%;
    max-height: 64px;
    object-fit: contain;
}

.watch-sponsor-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    padding: 13px 16px;
}

.watch-sponsor-copy strong {
    color: #f5f3ed;
    font-size: 15px;
    line-height: 1.25;
}

.watch-sponsor-copy p {
    margin: 0;
    overflow: hidden;
    color: rgba(255, 255, 255, .58);
    font-size: 12px;
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}


/* ------------------------------------------------------------
   RESPONSIVE
   ------------------------------------------------------------ */

@media (max-width: 1040px) {

    .watch-session-layout {
        grid-template-columns:
            minmax(0, 1fr)
            275px;
        gap: 18px;
    }

}


@media (max-width: 840px) {

    .watch-session-layout {
        grid-template-columns: 1fr;
    }

    .watch-session-sidebar {
        position: static;
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 620px) {

    .watch-session-sidebar {
        grid-template-columns: 1fr;
    }

    .watch-countdown {
        width: calc(100% - 24px);
        margin-top: 22px;
    }

    .watch-countdown-grid {
        gap: 5px;
    }

    .watch-countdown-grid > div {
        padding: 9px 4px;
    }

    .watch-countdown-grid strong {
        font-size: 21px;
    }

    .watch-countdown-grid span {
        font-size: 8px;
    }

    .watch-sponsor-card {
        grid-template-columns: 104px minmax(0, 1fr);
        min-height: 80px;
    }

    .watch-sponsor-image {
        width: auto;
        height: auto;
        min-height: 80px;
        padding: 9px;
    }

    .watch-sponsor-image img {
        max-height: 58px;
    }

    .watch-sponsor-copy {
        padding: 10px 12px;
    }

    .watch-sponsor-copy strong {
        font-size: 13px;
    }

    .watch-sponsor-copy p {
        font-size: 11px;
        -webkit-line-clamp: 2;
    }

}

/* ============================================================
   PUSHLIVE_V493_PRELIVE_VIDEO_CSS
   ============================================================ */


/* Admin Pre-Live Video */

.portal-prelive-panel {
    margin-top: 22px;
}

.portal-prelive-session-panel {
    margin: 24px 0 0;
    padding: 20px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 12px;
    background: rgba(255, 255, 255, .025);
}

.portal-prelive-session-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.portal-prelive-session-heading h3 {
    margin: 0;
    color: #f5f3ed;
    font-size: 17px;
}

.portal-prelive-session-heading p {
    margin: 6px 0 0;
    color: rgba(255, 255, 255, .52);
    font-size: 13px;
    line-height: 1.45;
}

.portal-prelive-preview {
    margin-top: 16px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 10px;
    background: #060606;
}

.portal-prelive-preview video {
    width: 100%;
    max-height: 340px;
    display: block;
    background: #000;
    object-fit: contain;
}

.portal-prelive-empty {
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    color: rgba(255, 255, 255, .42);
    font-size: 13px;
    text-align: center;
}

.portal-prelive-actions {
    margin-top: 15px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.portal-prelive-actions form {
    margin: 0;
}

.portal-prelive-file {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    border: 0 !important;
    white-space: nowrap !important;
}

.portal-prelive-help {
    margin: 12px 0 0;
    color: rgba(255, 255, 255, .45);
    font-size: 12px;
    line-height: 1.5;
}

.portal-prelive-message {
    min-height: 18px;
    margin-top: 8px;
    color: rgba(255, 255, 255, .62);
    font-size: 12px;
}

.portal-prelive-message[data-state="error"] {
    color: #ffb7b7;
}


/* Viewer Pre-Live Video */

.watch-prelive-video-shell {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #000;
}

.watch-prelive-video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    background: #000;
}

.watch-prelive-countdown {
    position: absolute;
    top: 18px;
    left: 50%;
    width: min(560px, calc(100% - 36px));
    padding: 13px;
    transform: translateX(-50%);
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 12px;
    background: rgba(0, 0, 0, .72);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    pointer-events: none;
}

.watch-prelive-countdown-label {
    color: rgba(255, 255, 255, .72);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .09em;
    text-align: center;
    text-transform: uppercase;
}

.watch-prelive-countdown .watch-countdown {
    width: 100%;
    margin: 9px 0 0;
}

.watch-prelive-countdown .watch-countdown-grid {
    gap: 6px;
}

.watch-prelive-countdown .watch-countdown-grid > div {
    padding: 9px 6px;
    border-color: rgba(255, 255, 255, .11);
    background: rgba(0, 0, 0, .46);
}

.watch-prelive-countdown .watch-countdown-grid strong {
    font-size: clamp(18px, 2.5vw, 27px);
}

.watch-prelive-countdown .watch-countdown-start {
    margin-top: 8px;
    color: rgba(255, 255, 255, .68);
}


@media (max-width: 620px) {

    .portal-prelive-session-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .watch-prelive-countdown {
        top: 10px;
        width: calc(100% - 20px);
        padding: 9px;
    }

    .watch-prelive-countdown-label {
        font-size: 8px;
    }

    .watch-prelive-countdown .watch-countdown {
        margin-top: 6px;
    }

    .watch-prelive-countdown .watch-countdown-grid > div {
        padding: 6px 3px;
    }

    .watch-prelive-countdown .watch-countdown-grid strong {
        font-size: 17px;
    }

    .watch-prelive-countdown .watch-countdown-grid span {
        margin-top: 4px;
        font-size: 7px;
    }

    .watch-prelive-countdown .watch-countdown-start {
        margin-top: 5px;
        font-size: 9px;
    }

}

/* ============================================================
   PUSHLIVE_V494_PRELIVE_COUNTDOWN_CSS
   ============================================================ */

.watch-prelive-countdown {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding: 13px;
    transform: none;
    border-bottom: 1px solid rgba(255, 255, 255, .13);
    border-radius: 0;
    background: rgb(0 0 0 / 0%);
    backdrop-filter: blur(87px);
    -webkit-backdrop-filter: blur(87px);
    pointer-events: none;
}

/* ============================================================
   PUSHLIVE_V495_WATCH_CSS
   ============================================================ */

.watch-access-heading p,
.watch-stream-heading p {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.5;
}

.watch-prelive-countdown {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding: 13px;
    transform: none;
    border: none;
    border-bottom: 1px solid rgba(255, 255, 255, .13);
    border-radius: 0;
    background: rgb(0 0 0 / 0%);
    backdrop-filter: blur(87px);
    -webkit-backdrop-filter: blur(87px);
    pointer-events: none;
}

/* ============================================================
   PUSHLIVE_V496_SPONSOR_COPY_CSS
   ============================================================ */

.watch-sponsor-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    padding: 13px 16px;
    min-height: 120px;
}

/* ============================================================
   PUSHLIVE_V497_SPONSOR_IMAGE_CSS
   ============================================================ */

.watch-sponsor-image {
    width: auto;
    height: auto;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 8px;
    border-radius: 0;
    border-right: none;
    background: #000000;
}

.watch-sponsor-image img {
    width: 100%;
    height: 100%;
    max-height: 120px;
    object-fit: contain;
}

/* ============================================================
   PUSHLIVE_V498_SITE_HEADER_CSS
   ============================================================ */

.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    min-height: auto;
    background: linear-gradient(to right, #000 17%, #00000044 33%);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--line-soft);
}

.site-brand {
    min-width: 0;
    display: flex;
    margin: -14px 0;
    align-items: center;
    clip-path: inset(14px 0 14px 0);
}

.site-logo {
    width: 83px;
    height: auto;
    flex: 0 0 auto;
    object-fit: contain;
}

/* ============================================================
   PUSHLIVE_V499_HEADER_SITE_NAME_REMOVED
   HTML .site-name removed; V4.9.8 header styles preserved.
   ============================================================ */

/* ============================================================
   PUSHLIVE_V4910_HEADER_INNER_CSS
   ============================================================ */

.header-inner {
    width: min(calc(100% - 50px));
    min-height: auto;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

/* ============================================================
   PUSHLIVE_V4911_WATCH_SHELL_SPONSOR_CSS
   ============================================================ */

.watch-sponsor-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    padding: 13px 16px;
    min-height: 136px;
}

.watch-access-shell,
.watch-stream-shell {
    width: min(100%, 1228px);
    margin: 0 auto;
}

/* ============================================================
   PUSHLIVE_V4912_ROOT_VARIABLES
   ============================================================ */

:root {
    color-scheme: dark;
    --bg: #050505;
    --panel: #101010;
    --panel-2: #171717;
    --text: #f6f4ef;
    --muted: #b7b3aa;
    --muted-2: #77736c;
    --line: rgba(255, 255, 255, .11);
    --line-soft: rgba(255, 255, 255, .065);
    --gold: #cfa65e;
    --gold-light: #e2c27e;
    --green: #27c878;
    --max: 1228px;
}

/* =========================================================
   PUSHLIVE_V4913_ACCOUNT_CARD_LINK
   Entire My Shows card is the navigation target.
   ========================================================= */

.account-show-link {
    display: block;

    color: inherit;

    text-decoration: none;

    cursor: pointer;

    transition:
        transform 160ms ease;
}

.account-show-link:hover {
    transform:
        translateY(-2px);
}

.account-show-link:focus-visible {
    outline:
        2px solid
        currentColor;

    outline-offset: 3px;
}

.account-show-link .btn {
    pointer-events: none;
}


/* =========================================================
   PUSHLIVE_V4120_PUSHCAPTCHA
   First-party Pushabl CAPTCHA + email verification.
   ========================================================= */


.pushcaptcha {
    display: grid;
    gap: 12px;
}

.pushcaptcha-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}

.pushcaptcha-heading span,
.pushcaptcha-note {
    color: #6b6b6b;
    font-size: 12px;
}

.pushcaptcha-challenge {
    display: flex;
    align-items: center;
    min-height: 76px;
}

.pushcaptcha-image {
    display: block;
    width: min(240px, 100%);
    height: auto;
    border-radius: 8px;
}

.pushcaptcha-answer-label {
    display: grid;
    gap: 7px;
}

.pushcaptcha-answer {
    max-width: 240px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-weight: 700;
}

.pushcaptcha-refresh {
    width: fit-content;
}

.pushcaptcha-trap {
    position: absolute !important;
    left: -10000px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.verify-email-code {
    max-width: 280px;
    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        Consolas,
        monospace;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-align: center;
}

.verify-email-target {
    margin: 0 0 18px;
    font-weight: 700;
}

.verify-email-note {
    margin: 14px 0 0;
    color: #666;
    font-size: 13px;
    line-height: 1.5;
}

.verify-email-success {
    margin: 0 0 18px;
    padding: 12px 14px;
    border-radius: 8px;
    background: #f2f7f3;
    border: 1px solid #cfe0d2;
}

.verify-email-resend {
    margin-top: 18px;
}

.verify-email-resend .btn {
    width: 100%;
}


/* ============================================================
   PUSHLIVE_V4121_REGISTER_GATE
   PushCaptcha is a server-enforced first step before registration.
   ============================================================ */

.register-gate-page {
    position: relative;
}

.register-gate-underlay[inert] {
    user-select: none;
}

.register-gate-backdrop {
    position: fixed;
    inset: 0;

    z-index: 9998;

    background: rgba(0, 0, 0, 0.76);

    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.register-gate-modal {
    position: fixed;
    inset: 0;

    z-index: 9999;

    display: grid;
    place-items: center;

    padding: 24px;

    overflow-y: auto;
}

.register-gate-dialog {
    width: min(460px, 100%);

    padding: 28px;

    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 18px;

    background: #101010;

    box-shadow:
        0 24px 80px rgba(0, 0, 0, 0.62);
}

.register-gate-brand {
    margin-bottom: 8px;

    color: #d9ad5c;

    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.register-gate-dialog h2 {
    margin: 0;

    color: #ffffff;

    font-size: clamp(24px, 4vw, 32px);
    line-height: 1.08;
}

.register-gate-intro {
    margin: 10px 0 20px;

    color: #a8a8a8;

    line-height: 1.55;
}

.register-gate-form {
    display: grid;

    gap: 18px;
}

.register-gate-dialog .pushcaptcha {
    gap: 10px;
}

.register-gate-dialog .pushcaptcha-heading {
    margin-bottom: 2px;
}

.register-gate-dialog .pushcaptcha-image {
    width: min(240px, 100%);
}

.register-gate-dialog .pushcaptcha-answer {
    width: 100%;
    max-width: none;
}

.register-gate-dialog .pushcaptcha-refresh {
    width: fit-content;
}

.register-gate-dialog .btn {
    margin-top: 2px;
}

.register-gate-signin {
    margin-top: 20px;
    padding-top: 18px;

    border-top: 1px solid rgba(255, 255, 255, 0.09);

    color: #b7b7b7;

    font-size: 14px;
    text-align: center;
}

.register-gate-signin a {
    color: #d9ad5c;

    font-weight: 700;
    text-decoration: none;
}

.register-gate-signin a:hover {
    text-decoration: underline;
}

@media (max-width: 560px) {

    .register-gate-modal {
        padding: 14px;
    }

    .register-gate-dialog {
        padding: 22px 18px;

        border-radius: 15px;
    }

}

/* =========================================================
   PUSHLIVE_V4122_CHECKOUT_RESULT_SPACING
   Add breathing room between checkout result description
   and the primary CTA without changing auth form buttons.
   ========================================================= */

.auth-card .auth-intro + .btn.btn-full {
    margin-top: 20px;
}


/* ============================================================
   PUSHLIVE_V4124_ADMIN_POSTER_CSS
   ============================================================ */

.portal-shell {
    max-width: 1400px;
}

.admin-shell {
    width: min(1400px, calc(100% - 40px));
    margin: 0 auto;
}

.portal-show-heading-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
}

.portal-disabled-action {
    opacity: .45;
    cursor: not-allowed;
    pointer-events: none;
}

.portal-admin-tab-layout {
    margin-top: 22px;
}

.portal-admin-tab-main {
    min-width: 0;
}

.portal-poster-manager {
    display: grid;
    grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
    gap: 20px;
    align-items: start;
    margin-top: 8px;
}

.portal-poster-preview {
    width: 100%;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 12px;
    background: #090909;
}

.portal-poster-preview img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.portal-poster-empty {
    min-height: 240px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    text-align: center;
    opacity: .65;
}

.portal-poster-controls {
    min-width: 0;
}

.portal-poster-controls input[type="file"] {
    display: block;
    width: 100%;
    margin-bottom: 14px;
}

.portal-poster-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.portal-poster-help {
    margin: 12px 0 0;
    font-size: 13px;
    opacity: .7;
}

.portal-poster-message {
    min-height: 20px;
    margin-top: 10px;
    font-size: 13px;
}

.portal-poster-message[data-state="error"] {
    color: #ff9c9c;
}

.portal-poster-message[data-state="ok"] {
    color: #b8dca5;
}

@media (max-width: 760px) {
    .admin-shell {
        width: min(1400px, calc(100% - 24px));
    }

    .portal-show-heading-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .portal-show-heading-actions .btn {
        flex: 1 1 auto;
        text-align: center;
    }

    .portal-poster-manager {
        grid-template-columns: 1fr;
    }

    .portal-poster-preview {
        max-width: 300px;
    }
}


/* ============================================================
   PUSHLIVE_V4125_USER_MENU_POSTER_EDIT_CSS
   ============================================================ */

.nav-account-menu {
    position: relative;
    flex: 0 0 auto;
}

.nav-account-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 42px;
    padding: 10px 16px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 999px;
    background: rgba(255, 255, 255, .06);
    color: #ffffff;
    cursor: pointer;
    font: inherit;
    font-weight: 800;
    list-style: none;
    user-select: none;
}

.nav-account-trigger::-webkit-details-marker {
    display: none;
}

.nav-account-trigger::marker {
    display: none;
    content: "";
}

.nav-account-trigger:hover,
.nav-account-menu[open] .nav-account-trigger {
    background: rgba(255, 255, 255, .11);
    border-color: rgba(255, 255, 255, .27);
}

.nav-account-chevron {
    transition: transform .16s ease;
}

.nav-account-menu[open] .nav-account-chevron {
    transform: rotate(180deg);
}

.nav-account-dropdown {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    z-index: 250;
    min-width: 220px;
    padding: 8px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 12px;
    background: #111111;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .45);
}

.nav-account-dropdown > a,
.nav-account-logout > button {
    width: 100%;
    min-height: 40px;
    display: flex;
    align-items: center;
    padding: 9px 12px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #f6f4ef;
    text-align: left;
    text-decoration: none;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}

.nav-account-dropdown > a:hover,
.nav-account-logout > button:hover {
    background: rgba(255, 255, 255, .08);
    color: #ffffff;
}

.nav-account-separator {
    height: 1px;
    margin: 7px 4px;
    background: rgba(255, 255, 255, .10);
}

.nav-account-logout {
    margin: 0;
}

.portal-overview-poster {
    position: relative;
}

.portal-poster-edit-link {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 5;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 999px;
    background: rgba(0, 0, 0, .78);
    color: #ffffff;
    box-shadow: 0 4px 18px rgba(0, 0, 0, .30);
    text-decoration: none;
    backdrop-filter: blur(8px);
}

.portal-poster-edit-link:hover {
    background: #ffffff;
    color: #111111;
    border-color: #ffffff;
}

#poster-manager {
    scroll-margin-top: 110px;
}

#shows {
    scroll-margin-top: 110px;
}

@media (max-width: 620px) {
    .site-nav {
        gap: 10px;
    }

    .nav-account-trigger {
        min-height: 40px;
        padding: 9px 12px;
    }

    .nav-account-dropdown {
        position: fixed;
        top: 76px;
        right: 15px;
        left: 15px;
        width: auto;
        min-width: 0;
    }
}

/* ============================================================
   PUSHLIVE_V4126_SEGMENT_AWARE_UPGRADE_CSS
   ============================================================ */

.checkout-upgrade-note {
    display: grid;
    gap: 6px;
    margin: 18px 0;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 10px;
    background: rgba(255, 255, 255, .035);
}

.checkout-upgrade-note strong {
    font-size: 15px;
}

.checkout-upgrade-note span {
    line-height: 1.55;
    opacity: .82;
}

.checkout-summary-discount strong {
    font-weight: 800;
}


/* =========================================================
   PUSHLIVE V4.12.7
   ACCOUNT-AWARE PACKAGE / UPGRADE CTA
   ========================================================= */

.package-upgrade-meta {
    margin: 11px 0 0;

    display: flex;
    flex-direction: column;

    gap: 4px;

    color: var(--muted);

    font-size: 12px;
    line-height: 1.45;
}

.package-upgrade-meta strong {
    color: var(--gold-light);

    font-size: 12px;
    font-weight: 800;
}

.package-upgrade-meta s {
    opacity: .8;
}

.package-state-note {
    margin: 11px 0 0;

    color: var(--muted);

    font-size: 12px;
    line-height: 1.5;
}

.package-state-owned {
    color: var(--gold-light);
}

.package-card .btn[disabled] {
    cursor: not-allowed;
    opacity: .58;
}

.public-session-upgrade-note {
    width: 100%;

    color: var(--muted);

    font-size: 11px;
    line-height: 1.45;
}


/* =========================================================
   PUSHLIVE V4.12.8
   ALL ACCESS / OWNED-SURFACE UPGRADE CTA
   ========================================================= */

.account-show-item {
    min-width: 0;

    display: flex;
    flex-direction: column;
}

.account-show-item > .account-show {
    width: 100%;

    box-sizing: border-box;

    flex: 1 1 auto;
}

.account-show-upgrade {
    margin-top: 10px;

    align-self: flex-start;
}

.all-access-upgrade-banner {
    margin: 18px 0 22px;

    padding: 18px 20px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

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

    background:
        linear-gradient(
            135deg,
            rgba(218, 171, 78, .12),
            rgba(255, 255, 255, .025)
        );
}

.all-access-upgrade-copy {
    min-width: 0;

    display: flex;
    flex-direction: column;

    gap: 4px;
}

.all-access-upgrade-copy > span {
    font-size: 11px;
    font-weight: 800;

    letter-spacing: .08em;
    text-transform: uppercase;

    color: var(--gold-light);
}

.all-access-upgrade-copy > strong {
    font-size: 18px;
    line-height: 1.25;
}

.all-access-upgrade-copy > p {
    margin: 2px 0 0;

    max-width: 660px;

    color: var(--muted);

    font-size: 13px;
    line-height: 1.5;
}

.all-access-upgrade-banner-button {
    flex: 0 0 auto;

    white-space: nowrap;
}

.watch-session-sidebar-stack {
    min-width: 0;
    width: 100%;

    align-self: start;

    display: flex;
    flex-direction: column;

    gap: 12px;
}

.watch-sidebar-upgrade .all-access-upgrade-button {
    width: 100%;

    box-sizing: border-box;

    margin-top: 4px;

    text-align: center;
}

@media (max-width: 760px) {

    .all-access-upgrade-banner {
        align-items: stretch;
        flex-direction: column;
    }

    .all-access-upgrade-banner-button {
        width: 100%;

        box-sizing: border-box;

        text-align: center;
    }

    .account-show-upgrade {
        width: 100%;

        box-sizing: border-box;

        text-align: center;
    }
}


/* =========================================================
   PUSHLIVE V4.12.9
   UPGRADE SURFACE REFINEMENT
   ========================================================= */

.watch-segment-grid {
    display: grid;
    gap: 14px;
    margin-top: 20px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
}

.watch-segment-grid > * {
    min-width: 0;
}

.watch-grid-upgrade-card {
    min-width: 0;
    height: 100%;
    box-sizing: border-box;
    padding: 22px 22px 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 14px;
    border: 1px solid rgba(218, 171, 78, .32);
    border-radius: 18px;
    background:
        linear-gradient(
            180deg,
            rgba(218, 171, 78, .16) 0%,
            rgba(218, 171, 78, .07) 100%
        );
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .02);
}

.watch-grid-upgrade-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.watch-grid-upgrade-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(218, 171, 78, .14);
    color: var(--gold-light);
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.watch-grid-upgrade-price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    text-align: right;
}

.watch-grid-upgrade-price > span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.watch-grid-upgrade-price > strong {
    color: var(--text);
    font-size: 34px;
    line-height: 1;
    font-weight: 900;
}

.watch-grid-upgrade-card > h3 {
    margin: 0;
    font-size: 30px;
    line-height: 1.08;
}

.watch-grid-upgrade-card > p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.6;
    max-width: 44ch;
}

.watch-grid-upgrade-button {
    align-self: flex-start;
    white-space: nowrap;
}

.watch-sidebar-upgrade-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.watch-sidebar-upgrade-copy {
    min-width: 0;
    flex: 1 1 auto;
}

.watch-sidebar-upgrade-note {
    margin: 2px 0 0;
}

.watch-sidebar-upgrade-price {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    text-align: right;
}

.watch-sidebar-upgrade-price > span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.watch-sidebar-upgrade-price > strong {
    color: var(--gold-light);
    font-size: 30px;
    line-height: 1;
    font-weight: 900;
}

.watch-sidebar-upgrade-credit {
    margin: 0;
    color: var(--muted);
}

.watch-sidebar-upgrade .all-access-upgrade-button {
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    white-space: nowrap;
}

@media (max-width: 680px) {
    .watch-segment-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .watch-grid-upgrade-button {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }
}

@media (max-width: 520px) {
    .watch-sidebar-upgrade-top {
        flex-direction: column;
    }

    .watch-sidebar-upgrade-price {
        align-items: flex-start;
        text-align: left;
    }

    .watch-grid-upgrade-content > h3 {
        font-size: 26px;
    }

    .watch-grid-upgrade-price > strong {
        font-size: 30px;
    }
}



/* =========================================================
   PUSHLIVE V4.12.10
   WATCH HUB + COLLAPSIBLE SIDEBAR POLISH
   ========================================================= */

.watch-segment-grid {
    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    align-items: stretch;
}

.watch-segment-grid > * {
    min-width: 0;
}


/* ---------------------------------------------------------
   SALES-FOCUSED ALL ACCESS CARD
   --------------------------------------------------------- */

.watch-grid-upgrade-card {
    min-width: 0;
    height: 100%;

    box-sizing: border-box;

    padding: 22px;

    display: flex;
    flex-direction: column;

    gap: 16px;

    border:
        1px solid
        rgba(218, 171, 78, .34);

    border-radius: 18px;

    background:
        linear-gradient(
            135deg,
            rgba(218, 171, 78, .14),
            rgba(218, 171, 78, .045)
        );

    box-shadow:
        inset 0 0 0 1px
        rgba(255, 255, 255, .018);
}

.watch-grid-upgrade-head {
    display: flex;

    align-items: flex-start;
    justify-content: space-between;

    gap: 18px;
}

.watch-grid-upgrade-badge {
    display: inline-flex;

    align-items: center;

    color: var(--gold-light);

    font-size: 11px;
    font-weight: 900;

    line-height: 1;

    letter-spacing: .075em;

    text-transform: uppercase;
}

.watch-grid-upgrade-price {
    flex: 0 0 auto;

    display: flex;
    flex-direction: column;

    align-items: flex-end;

    gap: 3px;

    text-align: right;
}

.watch-grid-upgrade-price > span {
    color: var(--muted);

    font-size: 10px;
    font-weight: 800;

    line-height: 1;

    letter-spacing: .07em;

    text-transform: uppercase;
}

.watch-grid-upgrade-price > strong {
    color: var(--text);

    font-size: 34px;
    font-weight: 900;

    line-height: .95;

    letter-spacing: -.025em;
}

.watch-grid-upgrade-content {
    display: flex;
    flex-direction: column;

    gap: 8px;
}

.watch-grid-upgrade-content > h3 {
    margin: 0;

    color: var(--text);

    font-size: 24px;
    font-weight: 800;

    line-height: 1.15;
}

.watch-grid-upgrade-content > p {
    margin: 0;

    max-width: 48ch;

    color: var(--muted);

    font-size: 13px;

    line-height: 1.55;
}

.watch-grid-upgrade-button {
    margin-top: auto;

    align-self: flex-start;

    white-space: nowrap;
}


/* ---------------------------------------------------------
   COLLAPSIBLE NORMAL WATCH SIDEBAR CARDS
   --------------------------------------------------------- */

.watch-sidebar-card.watch-sidebar-collapsible {
    overflow: hidden;
}

.watch-sidebar-collapse-header {
    min-height: 24px;

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 10px;

    cursor: pointer;

    outline: none;
}

.watch-sidebar-collapse-header:focus-visible {
    border-radius: 7px;

    box-shadow:
        0 0 0 2px
        rgba(218, 171, 78, .38);
}

.watch-sidebar-collapse-header > h3 {
    margin: 0;
}

.watch-sidebar-collapse-toggle {
    width: 30px;
    height: 30px;

    margin: -5px -7px -5px 0;
    padding: 0;

    flex: 0 0 30px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    border: 0;

    border-radius: 50%;

    background: transparent;

    color: var(--gold-light);

    cursor: pointer;
}

.watch-sidebar-collapse-toggle:hover {
    background:
        rgba(218, 171, 78, .08);
}

.watch-sidebar-chevron {
    width: 8px;
    height: 8px;

    display: block;

    border-right:
        2px solid
        currentColor;

    border-bottom:
        2px solid
        currentColor;

    transform:
        translateY(-2px)
        rotate(45deg);

    transition:
        transform .18s ease;
}

.watch-sidebar-collapsible.is-open
.watch-sidebar-chevron {
    transform:
        translateY(2px)
        rotate(225deg);
}

.watch-sidebar-collapsible-body {
    padding-top: 14px;
}

.watch-sidebar-collapsible-body[hidden] {
    display: none !important;
}


/* ---------------------------------------------------------
   UPGRADE SIDEBAR REMAINS OPEN
   --------------------------------------------------------- */

.watch-sidebar-upgrade-top {
    display: flex;

    align-items: flex-start;
    justify-content: space-between;

    gap: 14px;
}

.watch-sidebar-upgrade-copy {
    min-width: 0;

    flex: 1 1 auto;
}

.watch-sidebar-upgrade-price {
    flex: 0 0 auto;

    align-items: flex-end;

    text-align: right;
}

.watch-sidebar-upgrade-price > strong {
    font-size: 30px;
}

.watch-sidebar-upgrade
.watch-sidebar-upgrade-button {
    white-space: nowrap;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 680px) {

    .watch-segment-grid {
        grid-template-columns:
            minmax(0, 1fr);
    }

    .watch-grid-upgrade-button {
        width: 100%;

        box-sizing: border-box;

        text-align: center;
    }
}


@media (max-width: 520px) {

    .watch-grid-upgrade-price > strong {
        font-size: 30px;
    }

    .watch-grid-upgrade-content > h3 {
        font-size: 22px;
    }

    .watch-sidebar-upgrade-top {
        flex-direction: column;
    }

    .watch-sidebar-upgrade-price {
        align-items: flex-start;

        text-align: left;
    }
}


/* =========================================================
   PUSHLIVE V4.12.11
   WATCH CARD STRUCTURE + SIDEBAR COLLAPSE FIX
   ========================================================= */


/* ---------------------------------------------------------
   OWNED SESSION CARD
   Match the visual structure of the All Access sales card.
   --------------------------------------------------------- */

.watch-segment-card.watch-segment-card-polished {
    min-width: 0;
    height: 100%;

    box-sizing: border-box;

    padding: 22px;

    display: flex;
    flex-direction: column;

    align-items: stretch;

    gap: 0;
}

.watch-segment-card-polished
.watch-segment-card-top {
    min-height: 25px;

    margin-bottom: 18px;

    display: flex;

    align-items: flex-start;
    justify-content: flex-start;
}

.watch-segment-card-polished
.watch-segment-status {
    flex: 0 0 auto;
}

.watch-segment-card-polished
.watch-segment-card-main {
    min-width: 0;

    flex: 1 1 auto;
}

.watch-segment-card-polished
.watch-segment-card-main h2 {
    margin-top: 0;
}

.watch-segment-card-polished
.watch-segment-card-footer {
    margin-top: auto;

    padding-top: 22px;

    display: flex;

    align-items: center;
    justify-content: flex-start;
}

.watch-segment-card-polished
.watch-segment-card-button {
    pointer-events: none;

    white-space: nowrap;
}


/*
 * Both cards use the same overall rhythm.
 */
.watch-segment-grid
.watch-segment-card-polished,
.watch-segment-grid
.watch-grid-upgrade-card {
    min-height: 254px;
}


/* ---------------------------------------------------------
   ALL ACCESS GRID CARD ALIGNMENT
   --------------------------------------------------------- */

.watch-grid-upgrade-card {
    padding: 22px;

    gap: 16px;
}

.watch-grid-upgrade-content {
    flex: 1 1 auto;
}

.watch-grid-upgrade-button {
    margin-top: auto;
}


/* ---------------------------------------------------------
   COLLAPSIBLE SIDEBAR CARDS
   --------------------------------------------------------- */

.watch-sidebar-card.watch-sidebar-collapsible {
    overflow: hidden;

    padding:
        14px
        16px;
}

.watch-sidebar-collapse-header {
    width: 100%;
    min-width: 0;
    min-height: 28px;

    box-sizing: border-box;

    display: flex;

    align-items: center;

    gap: 10px;

    cursor: pointer;
}

.watch-sidebar-collapse-header > h3 {
    min-width: 0;

    margin: 0;

    flex: 1 1 auto;
}

.watch-sidebar-collapse-controls {
    margin-left: auto;

    flex: 0 0 auto;

    display: inline-flex;

    align-items: center;

    gap: 8px;
}

.watch-sidebar-collapse-controls
.watch-sidebar-status {
    margin: 0;
}

.watch-sidebar-collapse-toggle {
    width: 28px;
    height: 28px;

    margin: -4px -5px -4px 0;

    padding: 0;

    flex: 0 0 28px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    border: 0;

    border-radius: 50%;

    background: transparent;

    color: var(--gold-light);

    cursor: pointer;
}

.watch-sidebar-collapse-toggle:hover {
    background:
        rgba(218, 171, 78, .09);
}

.watch-sidebar-collapse-header:focus-visible {
    outline: none;

    border-radius: 7px;

    box-shadow:
        0 0 0 2px
        rgba(218, 171, 78, .34);
}

.watch-sidebar-chevron {
    width: 8px;
    height: 8px;

    display: block;

    border-right:
        2px solid
        currentColor;

    border-bottom:
        2px solid
        currentColor;

    transform:
        translateY(-2px)
        rotate(45deg);

    transition:
        transform
        .18s
        ease;
}

.watch-sidebar-collapsible.is-open
.watch-sidebar-chevron {
    transform:
        translateY(2px)
        rotate(225deg);
}

.watch-sidebar-collapsible-body {
    padding-top: 14px;
}

.watch-sidebar-collapsible-body[hidden] {
    display: none !important;
}

.watch-sidebar-card.watch-sidebar-collapsible:not(.is-open) {
    min-height: 0;
}


/* ---------------------------------------------------------
   POLISHED ALWAYS-OPEN ALL ACCESS SIDEBAR CTA
   --------------------------------------------------------- */

.watch-sidebar-upgrade.watch-sidebar-upgrade-polished {
    padding:
        16px;

    display: flex;
    flex-direction: column;

    gap: 12px;

    overflow: hidden;
}

.watch-sidebar-upgrade-head {
    min-width: 0;

    display: flex;

    align-items: flex-start;
    justify-content: space-between;

    gap: 14px;
}

.watch-sidebar-upgrade-kicker {
    min-width: 0;

    display: inline-flex;

    align-items: center;

    padding:
        6px
        8px;

    border-radius: 999px;

    background:
        rgba(218, 171, 78, .12);

    color: var(--gold-light);

    font-size: 9px;
    font-weight: 900;

    line-height: 1;

    letter-spacing: .075em;

    white-space: nowrap;
}

.watch-sidebar-upgrade-polished
.watch-sidebar-upgrade-price {
    margin-left: auto;

    flex: 0 0 auto;

    display: flex;
    flex-direction: column;

    align-items: flex-end;

    gap: 2px;

    text-align: right;
}

.watch-sidebar-upgrade-polished
.watch-sidebar-upgrade-price > span {
    color: var(--muted);

    font-size: 9px;
    font-weight: 800;

    line-height: 1;

    letter-spacing: .07em;

    text-transform: uppercase;
}

.watch-sidebar-upgrade-polished
.watch-sidebar-upgrade-price > strong {
    color: var(--gold-light);

    font-size: 28px;
    font-weight: 900;

    line-height: .95;

    letter-spacing: -.02em;
}

.watch-sidebar-upgrade-body {
    min-width: 0;
}

.watch-sidebar-upgrade-body h3 {
    margin:
        0
        0
        6px;

    color: var(--text);

    font-size: 18px;
    font-weight: 800;

    line-height: 1.15;
}

.watch-sidebar-upgrade-body p {
    margin: 0;

    color: var(--text);

    font-size: 12px;

    line-height: 1.45;
}

.watch-sidebar-upgrade-polished
.watch-sidebar-upgrade-credit {
    margin: 0;

    padding-top: 10px;

    border-top:
        1px solid
        rgba(255, 255, 255, .07);

    color: var(--muted);

    font-size: 11px;

    line-height: 1.45;
}

.watch-sidebar-upgrade-polished
.watch-sidebar-upgrade-button {
    width: 100%;

    box-sizing: border-box;

    padding-left: 11px;
    padding-right: 11px;

    text-align: center;

    white-space: nowrap;

    font-size: 12px;
}


/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media (max-width: 680px) {

    .watch-segment-grid
    .watch-segment-card-polished,
    .watch-segment-grid
    .watch-grid-upgrade-card {
        min-height: 0;
    }

}


@media (max-width: 380px) {

    .watch-sidebar-upgrade-head {
        gap: 9px;
    }

    .watch-sidebar-upgrade-kicker {
        font-size: 8px;
    }

    .watch-sidebar-upgrade-polished
    .watch-sidebar-upgrade-price > strong {
        font-size: 25px;
    }

}


/* =========================================================
   PUSHLIVE V4.12.13
   WHOLE SIDEBAR THEATER TOGGLE
   PUSHLIVE_V41213_WHOLE_SIDEBAR_THEATER_TOGGLE_CSS
   ========================================================= */

/*
 * The master control is deliberately separate from the
 * per-card accordion controls.
 */

.watch-session-layout {
    position: relative;
}

.watch-sidebar-theater-toggle {
    position: absolute;
    top: -14px;
    right: -14px;
    z-index: 30;

    width: 32px;
    height: 32px;

    padding: 0;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border:
        1px solid
        rgba(218, 171, 78, .34);

    border-radius: 50%;

    background:
        #101010;

    color:
        var(--gold-light);

    box-shadow:
        0 4px 16px
        rgba(0, 0, 0, .35);

    cursor: pointer;

    transition:
        background .16s ease,
        border-color .16s ease,
        transform .16s ease;
}

.watch-sidebar-theater-toggle:hover {
    border-color:
        rgba(218, 171, 78, .58);

    background:
        #17140d;

    transform:
        scale(1.05);
}

.watch-sidebar-theater-toggle:focus-visible {
    outline: none;

    box-shadow:
        0 0 0 2px
        rgba(218, 171, 78, .36),
        0 4px 16px
        rgba(0, 0, 0, .35);
}

.watch-sidebar-theater-chevron {
    width: 8px;
    height: 8px;

    display: block;

    border-right:
        2px solid
        currentColor;

    border-bottom:
        2px solid
        currentColor;

    /*
     * Sidebar visible:
     * point toward the player / left.
     */
    transform:
        translateX(2px)
        rotate(135deg);

    transition:
        transform .22s ease;
}

.watch-sidebar-theater-toggle.is-collapsed
.watch-sidebar-theater-chevron {
    /*
     * Sidebar hidden:
     * point right to restore it.
     */
    transform:
        translateX(-2px)
        rotate(-45deg);
}


/* ---------------------------------------------------------
   DESKTOP THEATER MODE
   --------------------------------------------------------- */

@media (min-width: 841px) {

    .watch-session-layout {
        transition:
            grid-template-columns
            .24s
            ease,
            gap
            .24s
            ease;
    }

    .watch-session-sidebar-stack {
        opacity: 1;

        visibility: visible;

        transform:
            translateX(0);

        transition:
            opacity
            .16s
            ease,
            transform
            .22s
            ease,
            visibility
            0s
            linear
            0s;
    }

    .watch-session-layout.is-sidebar-collapsed {
        grid-template-columns:
            minmax(0, 1fr)
            0px;

        gap: 0;
    }

    .watch-session-layout.is-sidebar-collapsed
    .watch-session-sidebar-stack {
        opacity: 0;

        visibility: hidden;

        pointer-events: none;

        overflow: hidden;

        transform:
            translateX(12px);

        transition:
            opacity
            .14s
            ease,
            transform
            .22s
            ease,
            visibility
            0s
            linear
            .22s;
    }

}


/* ---------------------------------------------------------
   STACKED TABLET / MOBILE
   No master collapse because the sidebar already sits below
   the player rather than consuming player width.
   --------------------------------------------------------- */

@media (max-width: 840px) {

    .watch-sidebar-theater-toggle {
        display: none;
    }

}


/* ---------------------------------------------------------
   ACCESSIBILITY
   --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .watch-session-layout,
    .watch-session-sidebar-stack,
    .watch-sidebar-theater-toggle,
    .watch-sidebar-theater-chevron {
        transition: none !important;
    }

}


/* ============================================================
   PUSHLIVE_V4130_CUSTOM_PLAYER_CSS
   ============================================================ */

.pushlive-secure-player {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #000;
    user-select: none;
    -webkit-user-select: none;
}

.pushlive-secure-video {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #000;
}







.pushlive-player-center-play {
    position: absolute;
    z-index: 8;
    top: 50%;
    left: 50%;
    width: 76px;
    height: 76px;
    padding: 0;
    border: 1px solid rgba(218,177,96,.65);
    border-radius: 50%;
    background: rgba(10,10,10,.78);
    box-shadow: 0 10px 40px rgba(0,0,0,.32);
    transform: translate(-50%,-50%);
    cursor: pointer;
}

.pushlive-player-center-play span {
    display: block;
    width: 0;
    height: 0;
    margin-left: 29px;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 16px solid #d7ad5d;
}

.pushlive-secure-player.is-playing
.pushlive-player-center-play {
    opacity: 0;
    pointer-events: none;
}

.pushlive-player-loading {
    position: absolute;
    z-index: 9;
    top: 50%;
    left: 50%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 15px;
    border-radius: 999px;
    color: #eee;
    background: rgba(0,0,0,.72);
    font-size: 12px;
    transform: translate(-50%,-50%);
    pointer-events: none;
}

.pushlive-player-loading[hidden] {
    display: none;
}

.pushlive-player-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255,255,255,.25);
    border-top-color: #d7ad5d;
    border-radius: 50%;
    animation: pushlive-player-spin .8s linear infinite;
}

@keyframes pushlive-player-spin {
    to {
        transform: rotate(360deg);
    }
}

.pushlive-player-controls {
    position: absolute;
    z-index: 10;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 34px 18px 14px;
    background:
        linear-gradient(
            to bottom,
            transparent,
            rgba(0,0,0,.84)
        );
}

.pushlive-player-progress {
    display: block;
    width: 100%;
    height: 4px;
    margin: 0 0 11px;
    accent-color: #d7ad5d;
    cursor: pointer;
}

.pushlive-player-progress:disabled {
    opacity: .65;
    cursor: default;
}

.pushlive-player-control-row {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
}

.pushlive-player-control {
    min-width: 38px;
    height: 34px;
    padding: 0 9px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 8px;
    color: #f5f3ed;
    background: rgba(17,17,17,.72);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    cursor: pointer;
}

.pushlive-player-control:hover,
.pushlive-player-control:focus-visible {
    border-color: rgba(215,173,93,.7);
    color: #e6bd70;
    outline: none;
}

.pushlive-player-play {
    position: relative;
    width: 38px;
    min-width: 38px;
    padding: 0;
}

.pushlive-player-play span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 10px solid currentColor;
    transform: translate(-42%,-50%);
}

.pushlive-secure-player.is-playing
.pushlive-player-play span {
    width: 10px;
    height: 12px;
    border: 0;
    transform: translate(-50%,-50%);
}

.pushlive-secure-player.is-playing
.pushlive-player-play span::before,
.pushlive-secure-player.is-playing
.pushlive-player-play span::after {
    content: "";
    position: absolute;
    top: 0;
    width: 3px;
    height: 12px;
    border-radius: 1px;
    background: currentColor;
}

.pushlive-secure-player.is-playing
.pushlive-player-play span::before {
    left: 0;
}

.pushlive-secure-player.is-playing
.pushlive-player-play span::after {
    right: 0;
}

.pushlive-player-time {
    flex: 0 0 auto;
    color: rgba(255,255,255,.82);
    font-size: 11px;
    font-variant-numeric: tabular-nums;
}

.pushlive-player-status {
    flex: 0 0 auto;
    padding: 4px 7px;
    border: 1px solid rgba(215,173,93,.34);
    border-radius: 999px;
    color: #d7ad5d;
    background: rgba(0,0,0,.32);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .08em;
}

.pushlive-player-spacer {
    flex: 1 1 auto;
    min-width: 10px;
}

.pushlive-player-volume {
    width: 82px;
    accent-color: #d7ad5d;
}

.pushlive-player-blocked {
    position: absolute;
    z-index: 20;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 30px;
    text-align: center;
    background: rgba(3,3,3,.96);
}

.pushlive-player-blocked[hidden] {
    display: none;
}

.pushlive-player-blocked strong {
    color: #f5f3ed;
    font-size: clamp(20px,3vw,30px);
}

.pushlive-player-blocked span {
    max-width: 500px;
    color: #a9a9a9;
    line-height: 1.5;
}

@media (max-width: 620px) {
    .pushlive-player-controls {
        padding: 28px 10px 9px;
    }

    .pushlive-player-control-row {
        gap: 7px;
    }

    .pushlive-player-volume {
        width: 55px;
    }

    .pushlive-player-status {
        display: none;
    }

    .pushlive-player-time {
        font-size: 10px;
    }

    .pushlive-player-center-play {
        width: 62px;
        height: 62px;
    }

    .pushlive-player-center-play span {
        margin-left: 24px;
    }

}

@media (prefers-reduced-motion: reduce) {

    .pushlive-player-spinner {
        animation-duration: 1.8s;
    }
}


/* ============================================================
   PUSHLIVE_V4131_PLAYER_WATERMARK_REMOVED
   ============================================================ */

/* ============================================================
   PUSHLIVE_V4134_PRELIVE_AUTOPLAY_LOOP_COUNTDOWN_MUTE_UX_CSS
   ============================================================ */

.pushlive-player-countdown {
    position: absolute;
    z-index: 7;
    top: 18px;
    left: 50%;
    width: min(88%, 540px);
    transform: translateX(-50%);
    pointer-events: none;
}

.pushlive-player-countdown .countdown {
    margin: 0;
    padding: 9px 14px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 12px;
    background: rgba(0,0,0,.68);
    box-shadow: 0 8px 28px rgba(0,0,0,.25);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    text-align: center;
}

.pushlive-player-countdown .countdown-label {
    margin: 0 0 2px;
    color: rgba(255,255,255,.72);
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.pushlive-player-countdown .countdown-value {
    color: #f5f3ed;
    font-size: clamp(18px,2.2vw,27px);
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: -.02em;
}

.pushlive-player-countdown .countdown-time {
    margin-top: 2px;
    color: #d7ad5d;
    font-size: 10px;
    font-weight: 650;
}

.pushlive-player-mute {
    min-width: 66px;
}

@media (max-width: 620px) {
    .pushlive-player-countdown {
        top: 10px;
        width: calc(100% - 20px);
    }

    .pushlive-player-countdown .countdown {
        padding: 6px 9px;
    }

    .pushlive-player-countdown .countdown-label,
    .pushlive-player-countdown .countdown-time {
        font-size: 8px;
    }

    .pushlive-player-countdown .countdown-value {
        font-size: 16px;
    }

    .pushlive-player-mute {
        min-width: 58px;
        padding-right: 6px;
        padding-left: 6px;
        font-size: 9px;
    }
}
