/* TV Gazeta - flat TV design layer. Loaded after legacy styles. */
@media (min-width: 960px) {
    :root {
        --flat-bg: #06101f;
        --flat-sidebar: #081426;
        --flat-surface: #101f35;
        --flat-surface-hover: #162943;
        --flat-surface-strong: #1b3150;
        --flat-blue: #2479e8;
        --flat-blue-active: #1766c7;
        --flat-text: #f4f7fb;
        --flat-muted: #a9b7ca;
        --flat-border: #263a55;
        --flat-success: #4fc58b;
        --flat-error: #f07878;
        --flat-space-1: clamp(6px, .45vw, 9px);
        --flat-space-2: clamp(10px, .75vw, 14px);
        --flat-space-3: clamp(16px, 1.1vw, 22px);
        --flat-space-4: clamp(22px, 1.55vw, 30px);
        --flat-radius-sm: 8px;
        --flat-radius: 12px;
        --flat-radius-lg: 18px;
        --flat-shadow: 0 8px 20px rgba(0, 0, 0, .18);
        --flat-focus-ring: 0 0 0 3px rgba(91, 155, 240, .92);
        --flat-transition: 150ms ease-out;
        --carousel-edge: clamp(18px, 1.5vw, 30px);
    }

    html,
    body.tv-body,
    .tv-app-layout {
        background: var(--flat-bg) !important;
        color: var(--flat-text) !important;
    }

    .tv-sidebar {
        background: var(--flat-sidebar) !important;
        border-right: 1px solid var(--flat-border) !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .tv-search-entry,
    .tv-menu-item {
        border-radius: var(--flat-radius) !important;
        color: var(--flat-muted) !important;
        transition: color var(--flat-transition), background-color var(--flat-transition), transform var(--flat-transition) !important;
    }

    .tv-menu-item.active {
        color: #fff !important;
        background: #122846 !important;
        box-shadow: inset 3px 0 0 var(--flat-blue) !important;
    }

    .tv-search-entry:focus,
    .tv-search-entry.focused,
    .tv-menu-item:focus,
    .tv-menu-item.focused {
        color: #fff !important;
        background: var(--flat-blue-active) !important;
        transform: scale(1.02) !important;
        outline: 0 !important;
        box-shadow: var(--flat-focus-ring) !important;
    }

    .tv-clock-pill {
        background: #0d1b30 !important;
        border-color: var(--flat-border) !important;
        box-shadow: none !important;
    }

    .tv-main-content {
        background: var(--flat-bg) !important;
    }

    .tv-row-title {
        color: var(--flat-text) !important;
        font-size: clamp(21px, 1.35vw, 27px) !important;
        font-weight: 750 !important;
        line-height: 1.2 !important;
        margin-bottom: var(--flat-space-3) !important;
    }

    .tv-news-container > p,
    .tv-coverage-container > p,
    .tv-section-lead {
        color: var(--flat-muted) !important;
        font-size: clamp(14px, .92vw, 18px) !important;
        line-height: 1.5 !important;
        margin-bottom: var(--flat-space-4) !important;
        max-width: 75ch;
    }

    /* Hero: retain structure and playback actions, simplify only presentation. */
    .live-program-card-pc,
    .live-program-card-pc.theme-live,
    .live-program-card-pc.theme-new,
    .live-program-card-pc.theme-onair {
        border: 1px solid var(--flat-border) !important;
        border-radius: var(--flat-radius-lg) !important;
        background: var(--flat-surface) !important;
        box-shadow: none !important;
    }

    .live-program-card-pc::before,
    .live-program-card-pc.theme-live::before,
    .live-program-card-pc.theme-new::before {
        background: linear-gradient(90deg, rgba(6, 16, 31, .98) 0%, rgba(6, 16, 31, .78) 40%, rgba(6, 16, 31, .18) 76%) !important;
    }

    .fluxtv-live-badge-glass,
    .hero-badge-passando {
        background: #18345a !important;
        color: #a9ccff !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .fluxtv-live-dot-glow {
        box-shadow: none !important;
    }

    .fluxtv-btn-primary,
    .tv-btn-info,
    .hero-next-pill-container {
        border-radius: var(--flat-radius) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        box-shadow: none !important;
    }

    .fluxtv-btn-primary,
    .live-program-card-pc.theme-live #hero-play-btn,
    .live-program-card-pc.theme-new #hero-play-btn {
        background: var(--flat-blue) !important;
        border-color: var(--flat-blue) !important;
    }

    .tv-btn-info,
    .hero-next-pill-container {
        background: var(--flat-surface-strong) !important;
        border: 1px solid var(--flat-border) !important;
    }

    /* Every horizontal rail reserves room for scaled focus at both edges. */
    .tv-category-strip,
    .tv-carousel-track,
    .tv-news-tabs,
    .schedule-tabs {
        overflow-x: auto !important;
        overflow-y: visible !important;
        padding: 14px var(--carousel-edge) 16px !important;
        margin: -10px calc(var(--carousel-edge) * -1) 0 !important;
        scroll-padding-inline: var(--carousel-edge);
        scrollbar-width: none;
        overscroll-behavior-inline: contain;
        scroll-behavior: smooth;
    }

    .tv-category-strip::-webkit-scrollbar,
    .tv-carousel-track::-webkit-scrollbar,
    .tv-news-tabs::-webkit-scrollbar,
    .schedule-tabs::-webkit-scrollbar {
        display: none;
    }

    .home-category-card,
    .category-tab-btn {
        flex-basis: clamp(126px, 8.8vw, 170px) !important;
        width: clamp(126px, 8.8vw, 170px) !important;
        height: clamp(66px, 7.8vh, 84px) !important;
        padding: var(--flat-space-2) !important;
        border: 1px solid var(--flat-border) !important;
        border-radius: var(--flat-radius) !important;
        background: var(--flat-surface) !important;
        color: var(--flat-muted) !important;
        box-shadow: none !important;
        font-size: clamp(13px, .86vw, 16px) !important;
        transition: transform var(--flat-transition), background-color var(--flat-transition), border-color var(--flat-transition) !important;
        scroll-margin-inline: var(--carousel-edge);
    }

    .home-category-card svg {
        width: clamp(22px, 1.35vw, 28px) !important;
        height: clamp(22px, 1.35vw, 28px) !important;
    }

    .category-dot {
        width: 9px;
        height: 9px;
        border-radius: 50%;
        background: #6f88a8;
    }

    .home-category-card.active,
    .category-tab-btn.active {
        color: #fff !important;
        background: var(--flat-blue-active) !important;
        border-color: var(--flat-blue) !important;
        box-shadow: inset 0 -3px 0 #72aaff !important;
        font-weight: 700 !important;
    }

    .tv-section .tv-category-strip > .home-category-card:not(.active) {
        background: var(--flat-surface) !important;
        border-color: var(--flat-border) !important;
        color: var(--flat-muted) !important;
    }

    .home-category-card:focus,
    .home-category-card.focused,
    .category-tab-btn:focus,
    .category-tab-btn.focused,
    .netflix-program-card:focus,
    .netflix-program-card.focused,
    .desktop-program-card:focus,
    .desktop-program-card.focused {
        transform: scale(1.025) !important;
        outline: 0 !important;
        border-color: #70a9f4 !important;
        box-shadow: var(--flat-focus-ring), var(--flat-shadow) !important;
    }

    .netflix-program-card,
    .desktop-program-card {
        border-radius: var(--flat-radius) !important;
        border: 1px solid var(--flat-border) !important;
        background: var(--flat-surface) !important;
        box-shadow: none !important;
        scroll-margin-inline: var(--carousel-edge);
        transition: transform var(--flat-transition), border-color var(--flat-transition) !important;
    }

    /* EPG */
    .schedule-tabs .tab-link {
        border-radius: var(--flat-radius-sm) !important;
        background: var(--flat-surface) !important;
        border: 1px solid var(--flat-border) !important;
        box-shadow: none !important;
    }

    .schedule-tabs .tab-link.active {
        background: var(--flat-blue-active) !important;
        border-color: var(--flat-blue) !important;
    }

    .schedule-tabs .tab-link:focus,
    .schedule-tabs .tab-link.focused {
        transform: scale(1.025) !important;
        background: var(--flat-blue) !important;
        box-shadow: var(--flat-focus-ring) !important;
    }

    /* News: one clear lead story followed by consistent 16:9 cards. */
    .tv-news-tabs {
        gap: var(--flat-space-2) !important;
        margin-bottom: var(--flat-space-3) !important;
    }

    .news-tab-btn {
        min-height: 46px !important;
        padding: 0 var(--flat-space-3) !important;
        border-radius: var(--flat-radius-sm) !important;
        background: var(--flat-surface) !important;
        color: var(--flat-muted) !important;
        border: 1px solid var(--flat-border) !important;
        box-shadow: none !important;
        transition: transform var(--flat-transition), background-color var(--flat-transition) !important;
        scroll-margin-inline: var(--carousel-edge);
    }

    .news-tab-btn.active {
        background: var(--flat-blue-active) !important;
        color: #fff !important;
        border-color: var(--flat-blue) !important;
        box-shadow: inset 0 -3px 0 #72aaff !important;
    }

    .news-tab-btn:focus,
    .news-tab-btn.focused {
        transform: scale(1.025) !important;
        color: #fff !important;
        background: var(--flat-blue) !important;
        border-color: #70a9f4 !important;
        box-shadow: var(--flat-focus-ring) !important;
    }

    .tv-news-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: var(--flat-space-3) !important;
        padding: 4px !important;
    }

    .news-card {
        min-width: 0;
        overflow: hidden;
        border-radius: var(--flat-radius) !important;
        border: 1px solid var(--flat-border) !important;
        background: var(--flat-surface) !important;
        box-shadow: none !important;
        transition: transform var(--flat-transition), border-color var(--flat-transition) !important;
    }

    .news-card-featured {
        grid-column: span 2;
        grid-row: span 2;
    }

    .news-img-wrapper {
        position: relative;
        width: 100%;
        aspect-ratio: 16 / 9;
        overflow: hidden;
        background: #0a1729;
    }

    .news-card-featured .news-img-wrapper {
        aspect-ratio: 16 / 8;
    }

    .news-img,
    .news-placeholder-img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 0 !important;
        background: #14263e !important;
    }

    .news-content {
        padding: var(--flat-space-3) !important;
    }

    .news-meta {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--flat-space-2);
        margin-bottom: var(--flat-space-1);
        color: #86b7f8;
        font-size: clamp(12px, .75vw, 14px);
        font-weight: 700;
    }

    .news-meta time {
        color: var(--flat-muted);
        font-weight: 500;
    }

    .news-title {
        display: -webkit-box;
        overflow: hidden;
        margin: 0 !important;
        color: var(--flat-text) !important;
        font-size: clamp(16px, 1.05vw, 20px) !important;
        font-weight: 750 !important;
        line-height: 1.3 !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .news-card-featured .news-title {
        font-size: clamp(22px, 1.55vw, 31px) !important;
        -webkit-line-clamp: 3;
    }

    .news-desc {
        display: -webkit-box;
        overflow: hidden;
        margin-top: var(--flat-space-1) !important;
        color: var(--flat-muted) !important;
        font-size: clamp(13px, .82vw, 16px) !important;
        line-height: 1.45 !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .news-card:focus,
    .news-card.focused {
        transform: scale(1.018) !important;
        outline: 0 !important;
        border-color: #70a9f4 !important;
        box-shadow: var(--flat-focus-ring), var(--flat-shadow) !important;
    }

    .skeleton-news-card {
        pointer-events: none;
        opacity: .65;
    }

    .skeleton-card,
    .skeleton-text {
        background: #17283f !important;
        animation-duration: 1.7s !important;
    }

    /* Coverage: filters left, readable details right. */
    .tv-coverage-layout {
        gap: var(--flat-space-4) !important;
        height: calc(100vh - 180px) !important;
        overflow: visible !important;
    }

    .coverage-states-list {
        flex-basis: clamp(210px, 15vw, 270px) !important;
        gap: var(--flat-space-2) !important;
        overflow-y: auto;
        padding: 4px;
    }

    .coverage-state-btn {
        min-height: 52px;
        padding: 0 var(--flat-space-3) !important;
        border-radius: var(--flat-radius-sm) !important;
        background: var(--flat-surface) !important;
        border: 1px solid var(--flat-border) !important;
        box-shadow: none !important;
        color: var(--flat-muted) !important;
        transition: transform var(--flat-transition), background-color var(--flat-transition) !important;
    }

    .coverage-state-btn.active {
        color: #fff !important;
        background: var(--flat-blue-active) !important;
        border-color: var(--flat-blue) !important;
    }

    .coverage-state-btn:focus,
    .coverage-state-btn.focused {
        transform: scale(1.02) !important;
        color: #fff !important;
        box-shadow: var(--flat-focus-ring) !important;
    }

    .coverage-details-card {
        padding: var(--flat-space-4) !important;
        border-radius: var(--flat-radius-lg) !important;
        background: var(--flat-surface) !important;
        border: 1px solid var(--flat-border) !important;
        box-shadow: none !important;
    }

    .coverage-details-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--flat-space-3);
        padding-bottom: var(--flat-space-3) !important;
        margin-bottom: var(--flat-space-2) !important;
        border-bottom-color: var(--flat-border) !important;
    }

    #coverage-state-name {
        color: var(--flat-text) !important;
        font-size: clamp(23px, 1.45vw, 30px) !important;
        font-weight: 750 !important;
    }

    .coverage-status,
    .coverage-channel-badge {
        display: inline-flex !important;
        align-items: center;
        min-height: 34px;
        padding: 0 12px !important;
        border-radius: 999px !important;
        background: #16392f !important;
        border: 1px solid #285c4c !important;
        color: #8fe0bb !important;
        font-size: clamp(12px, .76vw, 14px) !important;
        font-weight: 700 !important;
    }

    .coverage-channel-badge {
        background: #18345a !important;
        border-color: #28558c !important;
        color: #a9ccff !important;
    }

    .coverage-status.is-unavailable {
        background: #3b2c22 !important;
        border-color: #70523b !important;
        color: #e7bd91 !important;
    }

    .coverage-summary {
        margin: 0 0 var(--flat-space-3);
        color: var(--flat-muted);
        font-size: clamp(13px, .82vw, 16px);
    }

    .coverage-cities-grid {
        gap: var(--flat-space-2) !important;
    }

    .coverage-city-tag {
        padding: 11px 14px !important;
        border-radius: var(--flat-radius-sm) !important;
        background: #14263e !important;
        border: 1px solid var(--flat-border) !important;
        color: var(--flat-text) !important;
        box-shadow: none !important;
    }

    .coverage-empty-state {
        grid-column: 1 / -1;
        padding: var(--flat-space-4);
        border: 1px dashed var(--flat-border);
        border-radius: var(--flat-radius);
        color: var(--flat-muted);
        font-size: clamp(15px, .9vw, 18px);
        text-align: center;
    }

    /* Reader only; live player selectors are intentionally untouched. */
    #tv-news-popup .news-reader-panel,
    #tv-news-popup .fluxtv-popup-container {
        background: var(--flat-bg) !important;
        box-shadow: none !important;
    }

    .news-reader-text-panel {
        max-width: min(1100px, 76vw);
        margin-inline: auto;
    }

    #news-reader-title {
        font-size: clamp(30px, 2.5vw, 52px) !important;
        line-height: 1.12 !important;
        max-width: 26ch;
    }

    #news-reader-content-text {
        color: #d7dfeb !important;
        font-size: clamp(17px, 1.08vw, 21px) !important;
        line-height: 1.7 !important;
    }

    .tv-status-toast {
        position: fixed;
        left: 50%;
        bottom: clamp(28px, 4vh, 54px);
        z-index: 20000;
        max-width: min(680px, 72vw);
        padding: 14px 20px;
        border-radius: var(--flat-radius);
        background: var(--flat-surface-strong);
        border: 1px solid var(--flat-border);
        color: var(--flat-text);
        font-size: clamp(14px, .92vw, 18px);
        font-weight: 650;
        opacity: 0;
        transform: translate(-50%, 14px);
        transition: opacity var(--flat-transition), transform var(--flat-transition);
        pointer-events: none;
    }

    .tv-status-toast.is-visible {
        opacity: 1;
        transform: translate(-50%, 0);
    }

    .tv-status-toast.is-success { border-color: #397b63; }
    .tv-status-toast.is-error { border-color: #8c4949; }

    #menu-item-reload[aria-busy="true"] {
        opacity: .68;
    }
}

/* Final TV news card alignment */
@media (min-width: 960px) {
    html body .tv-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: clamp(20px, 1.6vw, 32px) !important; }
}
html body .tv-news-grid .news-title,
html body .tv-news-grid .news-card .news-title,
html body .tv-news-grid .news-card-featured .news-title { font-size: clamp(13px, .78vw, 16px) !important; line-height: 1.22 !important; -webkit-line-clamp: 2 !important; max-height: 2.44em !important; overflow: hidden !important; }
html body .tv-news-grid .news-meta span { font-size: 11px !important; padding: 5px 9px !important; }
html body #tv-news-popup .fluxtv-popup-container { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: #06101f !important; }
html body #tv-news-popup .news-reader-content { border: 0 !important; border-radius: 0 !important; }
html body #tv-news-popup .news-reader-text-panel { border: 1px solid var(--flat-border) !important; border-radius: var(--flat-radius) !important; box-shadow: none !important; }
html body #tv-news-popup .news-reader-hero { width: min(94vw, 1500px) !important; margin-inline: auto !important; padding-inline: clamp(18px, 2vw, 34px) !important; }
html body #tv-news-popup .news-reader-title-text { font-size: clamp(30px, 3.2vw, 58px) !important; line-height: 1.08 !important; max-width: none !important; }
html body #tv-details-popup .fluxtv-popup-title { display: none !important; }
html body #tv-details-popup .fluxtv-popup-hero-img-wrapper { height: clamp(320px, 44vh, 500px) !important; background: #081426 !important; }
html body #tv-details-popup .fluxtv-popup-hero-img-wrapper img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center center !important; }
html body #tv-details-popup .fluxtv-popup-hero-fade { background: linear-gradient(180deg, rgba(6,16,31,0) 35%, rgba(6,16,31,.82) 86%, #06101f 100%) !important; }
html body #tv-details-popup .fluxtv-popup-meta { position: absolute !important; z-index: 5 !important; left: clamp(24px, 4vw, 70px) !important; bottom: clamp(22px, 4vh, 58px) !important; }
html body #tv-details-popup .fluxtv-popup-info-card { margin-top: -1px !important; border-radius: var(--flat-radius) !important; background: linear-gradient(180deg, rgba(14,30,51,.98), rgba(9,22,39,.98)) !important; }
html body #tv-details-popup .fluxtv-popup-meta { width: max-content !important; height: auto !important; min-height: 0 !important; max-height: 48px !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; white-space: nowrap !important; padding: 8px 16px !important; border-radius: 999px !important; }
html body #tv-details-popup .fluxtv-meta-presenter,
html body #tv-details-popup .presenter-meta-separator { display: none !important; }
html body #section-watch .fluxtv-hero-image-wrapper { inset: 0 !important; overflow: hidden !important; }
html body #section-watch .fluxtv-hero-img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center center !important; }
html body #section-watch .live-program-card-pc .fluxtv-hero-content { justify-content: center !important; padding-top: clamp(92px, 12vh, 136px) !important; padding-bottom: clamp(34px, 5vh, 58px) !important; padding-left: clamp(34px, 3vw, 58px) !important; }
html body #section-watch .fluxtv-hero-badge-row { top: clamp(22px, 3vh, 38px) !important; left: clamp(34px, 3vw, 58px) !important; margin-bottom: 0 !important; }
html body #section-watch .fluxtv-hero-title { margin: 0 0 8px !important; }
html body #section-watch .fluxtv-hero-time-range { margin: 0 0 14px !important; }
html body #tv-details-popup .fluxtv-popup-hero,
html body #tv-details-popup .fluxtv-popup-hero-img-wrapper { height: clamp(320px, 44vh, 500px) !important; min-height: 320px !important; max-height: 500px !important; }
html body #tv-details-popup .fluxtv-popup-body-content { width: min(1600px, 88vw) !important; margin: 0 auto !important; padding: 28px 0 90px !important; }
html body #tv-details-popup .fluxtv-popup-info-card { display: block !important; width: 100% !important; min-height: 150px !important; padding: 30px !important; }
html body .home-category-card .category-icon { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 26px !important; height: 26px !important; flex: 0 0 26px !important; }
html body .home-category-card .category-icon svg { width: 100% !important; height: 100% !important; }
/* Contrato visual único para a aplicação TV */
html body .tv-programs-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: clamp(18px, 1.4vw, 28px) !important; }
html body .tv-programs-grid .netflix-program-card { display: block !important; position: relative !important; width: 100% !important; height: auto !important; min-height: 0 !important; aspect-ratio: 16 / 9 !important; overflow: hidden !important; border-radius: 18px !important; }
html body .tv-programs-grid .netflix-program-card.is-category-hidden { display: none !important; }
html body .tv-programs-grid .netflix-card-img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; }
html body .tv-programs-grid .netflix-card-info { position: absolute !important; inset: auto 0 0 !important; padding: 14px 16px !important; }
html body .tv-programs-grid .netflix-card-title { display: block !important; max-width: 100% !important; font-size: clamp(14px, .9vw, 18px) !important; line-height: 1.2 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
html body .tv-programs-grid .netflix-card-category { display: inline-flex !important; max-width: 80% !important; padding: 4px 8px !important; border-radius: 999px !important; font-size: 10px !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
@media (max-width: 1366px) { html body .tv-programs-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 960px) { html body .tv-programs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
body .tv-news-grid .news-card,
body .tv-news-grid .news-card-featured { grid-column: span 1 !important; grid-row: span 1 !important; aspect-ratio: 16 / 9 !important; }
body .tv-news-grid .news-title,
body .tv-news-grid .news-card-featured .news-title { font-size: clamp(16px, 1.05vw, 20px) !important; line-height: 1.28 !important; -webkit-line-clamp: 2 !important; max-height: 2.56em !important; overflow: hidden !important; }

/* Notícias seguem o mesmo cartão compacto e legível da grade de programas. */
.tv-news-grid .news-card,
.tv-news-grid .news-card-featured {
    grid-column: span 1 !important;
    grid-row: span 1 !important;
    aspect-ratio: 16 / 9 !important;
    border-radius: var(--flat-radius) !important;
}
.tv-news-grid .news-title,
.tv-news-grid .news-card-featured .news-title {
    font-size: clamp(16px, 1.05vw, 20px) !important;
    line-height: 1.28 !important;
    -webkit-line-clamp: 2 !important;
    max-height: 2.56em !important;
    overflow: hidden !important;
}
.tv-news-grid .news-content { padding: clamp(14px, 1.1vw, 20px) !important; }

@media (min-width: 960px) and (max-width: 1366px) and (max-height: 768px) {
    :root {
        --carousel-edge: 22px;
        --flat-space-4: 22px;
    }

    .tv-news-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    .news-card-featured .news-img-wrapper {
        aspect-ratio: 16 / 7;
    }

    .news-content {
        padding: 13px !important;
    }

    .tv-coverage-layout {
        height: calc(100vh - 150px) !important;
        gap: 18px !important;
    }
}

@media (min-width: 2560px) {
    :root {
        --carousel-edge: clamp(30px, 1.4vw, 46px);
        --tv-sidebar-width: clamp(360px, 11vw, 440px) !important;
        --tv-page-gap: clamp(34px, 1.3vw, 52px) !important;
    }

    .tv-sidebar {
        padding: clamp(58px, 4vh, 86px) 42px 42px 58px !important;
    }

    .tv-sidebar-logo {
        margin-bottom: clamp(62px, 5vh, 96px) !important;
    }

    .sidebar-logo-img {
        max-width: 220px !important;
        max-height: 58px !important;
    }

    .tv-menu-item,
    .tv-search-entry {
        height: clamp(66px, 4.2vh, 82px) !important;
        padding-inline: 26px !important;
        font-size: clamp(20px, .72vw, 26px) !important;
    }

    .tv-menu-item .menu-icon,
    .tv-search-entry .menu-icon {
        width: 34px !important;
        height: 34px !important;
    }

    .tv-main-content {
        padding: clamp(38px, 2.2vh, 52px) clamp(52px, 2vw, 76px) 72px !important;
    }

    .live-program-card-pc {
        height: clamp(680px, 38vh, 820px) !important;
    }

    .live-program-card-pc .fluxtv-hero-title {
        font-size: clamp(58px, 2vw, 76px) !important;
    }

    .live-program-card-pc .fluxtv-hero-presenter,
    .fluxtv-hero-description {
        font-size: clamp(20px, .7vw, 26px) !important;
    }

    .fluxtv-btn-primary,
    .tv-btn-info {
        min-width: 260px !important;
        height: 74px !important;
        font-size: 24px !important;
    }

    .tv-row-title {
        font-size: clamp(28px, .9vw, 35px) !important;
    }

    .netflix-program-card,
    .live-strip-card {
        flex-basis: clamp(370px, 11vw, 430px) !important;
        width: clamp(370px, 11vw, 430px) !important;
    }

    .home-category-card,
    .category-tab-btn {
        flex-basis: clamp(180px, 5.5vw, 215px) !important;
        width: clamp(180px, 5.5vw, 215px) !important;
        height: clamp(92px, 5vh, 108px) !important;
        font-size: clamp(17px, .55vw, 21px) !important;
    }

    .tv-clock {
        font-size: 30px !important;
    }

    .tv-date {
        font-size: 18px !important;
    }

    .tv-news-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    .news-card-featured {
        grid-column: span 2;
    }

    .tv-coverage-container,
    .tv-news-container,
    .tv-programs-container,
    .tv-schedule-container {
        max-width: 2500px;
    }
}

/* Refined TV identity: soft geometry, semantic hero states and strict spacing. */
@media (min-width: 960px) {
    :root {
        --flat-radius-sm: 16px;
        --flat-radius: 22px;
        --flat-radius-lg: 34px;
        --flat-pill: 999px;
        --flat-shadow: 0 14px 32px rgba(0, 0, 0, .22);
        --flat-focus-ring: 0 0 0 3px rgba(114, 174, 255, .95), 0 12px 28px rgba(0, 0, 0, .28);
    }

    .tv-sidebar { padding-inline: clamp(18px, 1.4vw, 28px) !important; }
    .tv-search-entry,
    .tv-menu-item {
        border-radius: var(--flat-pill) !important;
        padding-inline: clamp(16px, 1.25vw, 24px) !important;
    }
    .tv-menu-item.active {
        background: #132c4d !important;
        box-shadow: inset 0 0 0 1px #29598f !important;
    }
    .tv-clock-pill { border-radius: var(--flat-pill) !important; }

    .live-program-card-pc,
    .live-program-card-pc.theme-live,
    .live-program-card-pc.theme-new,
    .live-program-card-pc.theme-onair {
        border-radius: var(--flat-radius-lg) !important;
        overflow: hidden !important;
    }
    #section-watch .live-program-card-pc-container {
        width: calc(100% + clamp(45px, 3.5vw, 65px) + var(--tv-safe-x)) !important;
        margin-top: calc(var(--tv-safe-y) * -1) !important;
        margin-left: calc(clamp(45px, 3.5vw, 65px) * -1) !important;
    }
    #section-watch .live-program-card-pc {
        border-width: 0 0 1px 0 !important;
        border-radius: 0 0 var(--flat-radius-lg) var(--flat-radius-lg) !important;
    }
    .live-program-card-pc.theme-live {
        border-color: rgba(239, 75, 82, .68) !important;
        background-color: #24151d !important;
    }
    .live-program-card-pc.theme-new {
        border-color: rgba(63, 190, 124, .66) !important;
        background-color: #10251f !important;
    }
    .live-program-card-pc.theme-onair {
        border-color: rgba(64, 139, 235, .62) !important;
        background-color: #0d203a !important;
    }
    .live-program-card-pc.theme-live::before {
        background: linear-gradient(90deg, rgba(35, 12, 20, .78) 0%, rgba(35, 12, 20, .48) 43%, rgba(35, 12, 20, .04) 78%) !important;
    }
    .live-program-card-pc.theme-new::before {
        background: linear-gradient(90deg, rgba(8, 34, 27, .78) 0%, rgba(8, 34, 27, .48) 43%, rgba(8, 34, 27, .04) 78%) !important;
    }
    .live-program-card-pc.theme-onair::before {
        background: linear-gradient(90deg, rgba(6, 25, 51, .78) 0%, rgba(6, 25, 51, .46) 43%, rgba(6, 25, 51, .04) 78%) !important;
    }
    .live-program-card-pc .fluxtv-hero-content {
        width: min(58%, 780px) !important;
        max-width: min(58%, 780px) !important;
    }
    .fluxtv-hero-badge-row {
        position: static !important;
        inset: auto !important;
        display: flex !important;
        margin: 0 0 clamp(12px, 1.2vh, 18px) !important;
    }
    .fluxtv-live-badge-glass,
    .hero-badge-passando,
    .fluxtv-btn-primary,
    .tv-btn-info,
    .hero-next-pill-container { border-radius: var(--flat-pill) !important; }
    .live-program-card-pc.theme-live .fluxtv-live-badge-glass,
    .live-program-card-pc.theme-live .hero-badge-passando,
    .live-program-card-pc.theme-live #hero-play-btn {
        background: #d93645 !important;
        border-color: #e65b66 !important;
        color: #fff !important;
    }
    .live-program-card-pc.theme-new .fluxtv-live-badge-glass,
    .live-program-card-pc.theme-new .hero-badge-passando,
    .live-program-card-pc.theme-new #hero-play-btn {
        background: #218759 !important;
        border-color: #45b77f !important;
        color: #fff !important;
    }
    .live-program-card-pc.theme-onair .fluxtv-live-badge-glass,
    .live-program-card-pc.theme-onair .hero-badge-passando,
    .live-program-card-pc.theme-onair #hero-play-btn {
        background: #2479e8 !important;
        border-color: #599bf0 !important;
        color: #fff !important;
    }
    .hero-next-pill-container {
        right: clamp(28px, 2.1vw, 40px) !important;
        bottom: clamp(34px, 4.1vh, 44px) !important;
        max-width: min(25%, 300px) !important;
        min-height: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        overflow: hidden !important;
        pointer-events: none !important;
    }
    .hero-next-pill {
        color: rgba(255,255,255,.82) !important;
        font-size: clamp(11px, .7vw, 13px) !important;
        font-weight: 650 !important;
        line-height: 1.35 !important;
        letter-spacing: .02em !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .home-category-card,
    .category-tab-btn {
        flex-basis: auto !important;
        width: auto !important;
        min-width: clamp(142px, 9.5vw, 190px) !important;
        height: clamp(58px, 6.2vh, 70px) !important;
        padding-inline: clamp(18px, 1.3vw, 26px) !important;
        border-radius: var(--flat-pill) !important;
        flex-direction: row !important;
        gap: 10px !important;
    }
    .home-category-card.active,
    .category-tab-btn.active,
    .news-tab-btn.active {
        box-shadow: inset 0 0 0 1px #6da8f4 !important;
    }
    .netflix-program-card,
    .desktop-program-card,
    .news-card,
    .coverage-details-card { border-radius: var(--flat-radius) !important; }

    .schedule-tabs .tab-link,
    .news-tab-btn,
    .coverage-state-btn,
    .coverage-city-tag { border-radius: var(--flat-pill) !important; }

    .tv-news-container {
        padding-bottom: clamp(44px, 6vh, 88px) !important;
    }
    .tv-news-grid {
        align-items: stretch !important;
        gap: clamp(16px, 1.25vw, 24px) !important;
        padding: 8px !important;
    }
    .news-card {
        display: flex !important;
        flex-direction: column !important;
        min-height: 100% !important;
    }
    .news-card-featured { grid-row: span 1 !important; }
    .news-card-featured .news-img-wrapper { aspect-ratio: 16 / 9 !important; }
    .news-img-wrapper { border-radius: calc(var(--flat-radius) - 1px) calc(var(--flat-radius) - 1px) 0 0 !important; }
    .news-content { display: flex; flex: 1; flex-direction: column; }
    .news-meta span {
        padding: 6px 11px;
        border-radius: var(--flat-pill);
        background: #173a64;
        color: #a9d0ff;
    }
    .news-desc { margin-top: auto !important; padding-top: var(--flat-space-2); }

    #tv-details-popup .fluxtv-popup-container,
    #tv-news-popup .fluxtv-popup-container {
        border-radius: var(--flat-radius-lg) !important;
        border: 1px solid var(--flat-border) !important;
        overflow: hidden !important;
    }
    #tv-details-popup .fluxtv-popup-content-scroll,
    #tv-news-popup .news-reader-content {
        height: 100% !important;
        max-height: 100% !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        scroll-behavior: smooth;
        padding-bottom: clamp(60px, 8vh, 120px) !important;
    }
    #tv-news-popup .news-reader-body {
        width: min(1180px, 82vw) !important;
        margin-inline: auto !important;
        height: auto !important;
        flex: 0 0 auto !important;
        overflow: visible !important;
    }
    #tv-news-popup .news-reader-text-panel {
        width: 100% !important;
        max-width: 980px !important;
        max-height: none !important;
        height: auto !important;
        flex: 0 0 auto !important;
        overflow: visible !important;
        margin: clamp(28px, 3vh, 48px) auto 0 !important;
        padding: clamp(26px, 2.2vw, 42px) !important;
        border-radius: var(--flat-radius) !important;
        background: #0e1e33 !important;
        border: 1px solid var(--flat-border) !important;
    }
    #news-reader-content-text p { margin: 0 0 1.25em !important; }
    #tv-details-popup .fluxtv-popup-info-card,
    #tv-details-popup .fluxtv-episode-card { border-radius: var(--flat-radius) !important; }
}

@media (min-width: 1400px) and (max-width: 2559px) {
    .tv-news-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
    .news-card-featured { grid-column: span 2 !important; }
}

@media (min-width: 960px) and (max-width: 1366px) and (max-height: 768px) {
    #section-watch .live-program-card-pc-container {
        width: calc(100% + 56px) !important;
        margin-left: -28px !important;
        margin-top: -18px !important;
    }
    .live-program-card-pc .fluxtv-hero-content { width: 60% !important; max-width: 60% !important; }
    .hero-next-pill-container { max-width: 32% !important; }
    .home-category-card,
    .category-tab-btn { height: 54px !important; min-width: 132px !important; }
    .news-card-featured { grid-column: span 2 !important; }
}

@media (min-width: 2560px) {
    #section-watch .live-program-card-pc-container {
        width: calc(100% + (clamp(52px, 2vw, 76px) * 2)) !important;
        margin-left: calc(clamp(52px, 2vw, 76px) * -1) !important;
        margin-top: calc(clamp(38px, 2.2vh, 52px) * -1) !important;
    }
}

/* Compact sidebar and truly edge-to-edge home artwork. */
@media (min-width: 960px) {
    :root { --tv-sidebar-width: clamp(184px, 12.5vw, 240px) !important; }

    .tv-sidebar {
        padding-left: clamp(14px, 1.15vw, 22px) !important;
        padding-right: clamp(12px, .95vw, 18px) !important;
    }
    .tv-sidebar-logo { margin-left: 8px !important; }
    .tv-sidebar-menu { gap: clamp(5px, .65vh, 9px) !important; }
    .tv-search-entry,
    .tv-menu-item {
        min-height: clamp(48px, 5.8vh, 58px) !important;
        padding-inline: clamp(13px, 1vw, 18px) !important;
        gap: clamp(10px, .75vw, 14px) !important;
        font-size: clamp(14px, .9vw, 17px) !important;
        font-weight: 650 !important;
        letter-spacing: -.01em !important;
    }
    .tv-menu-item .menu-icon,
    .tv-search-entry .menu-icon {
        width: clamp(21px, 1.35vw, 25px) !important;
        height: clamp(21px, 1.35vw, 25px) !important;
        flex: 0 0 auto !important;
        stroke-width: 1.8 !important;
        color: #91a5bf !important;
        filter: none !important;
    }
    .tv-menu-item.active .menu-icon,
    .tv-menu-item:focus .menu-icon,
    .tv-menu-item.focused .menu-icon { color: #dcecff !important; }

    .tv-sidebar-footer { width: 100% !important; padding: 0 10px 4px !important; }
    .tv-clock-pill {
        width: 100% !important;
        min-height: 0 !important;
        padding: 14px 2px 0 !important;
        border: 0 !important;
        border-top: 1px solid #223650 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        display: grid !important;
        grid-template-columns: auto 1fr !important;
        align-items: baseline !important;
        gap: 10px !important;
    }
    .tv-clock {
        color: #f4f8ff !important;
        font-size: clamp(20px, 1.35vw, 25px) !important;
        font-weight: 720 !important;
        line-height: 1 !important;
        letter-spacing: -.035em !important;
    }
    .tv-date {
        color: #7f94ae !important;
        font-size: clamp(10px, .68vw, 12px) !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        letter-spacing: .01em !important;
        text-transform: none !important;
        white-space: nowrap !important;
    }

    #section-watch .live-program-card-pc,
    #section-watch .live-program-card-pc.theme-live,
    #section-watch .live-program-card-pc.theme-new,
    #section-watch .live-program-card-pc.theme-onair {
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
    #section-watch .fluxtv-hero-img { object-position: center 22% !important; }
}

@media (min-width: 2560px) {
    :root { --tv-sidebar-width: clamp(300px, 9vw, 360px) !important; }
    .tv-sidebar { padding: clamp(48px, 3.3vh, 70px) 28px 36px 34px !important; }
}

@media (min-width: 960px) and (max-width: 1366px) and (max-height: 768px) {
    :root { --tv-sidebar-width: clamp(174px, 14vw, 190px) !important; }
    .tv-sidebar { padding-left: 12px !important; padding-right: 10px !important; }
}

/* Final alignment pass for TV safe areas. */
@media (min-width: 960px) {
    .tv-sidebar {
        border-left: 0 !important;
        border-right: 0 !important;
        box-shadow: none !important;
    }
    .tv-menu-item .menu-icon,
    .tv-search-entry .menu-icon {
        fill: currentColor !important;
        stroke: none !important;
        color: #8298b5 !important;
    }
    .tv-menu-item.active .menu-icon,
    .tv-menu-item:focus .menu-icon,
    .tv-menu-item.focused .menu-icon { color: #e3efff !important; }

    #section-watch .fluxtv-hero-img {
        object-fit: cover !important;
        object-position: center top !important;
    }
    #section-watch .hero-next-pill-container {
        right: clamp(12px, 1vw, 18px) !important;
    }

    .tv-clock-pill {
        grid-template-columns: 1fr auto !important;
        width: 100% !important;
        gap: 12px !important;
    }
    .tv-clock { justify-self: start !important; align-self: baseline !important; }
    .tv-date {
        justify-self: end !important;
        align-self: baseline !important;
        margin: 0 !important;
        text-align: right !important;
    }
}

@media (min-width: 960px) and (max-width: 1366px) and (max-height: 768px) {
    #section-watch .live-program-card-pc .fluxtv-hero-content {
        padding-top: 18px !important;
        padding-bottom: 20px !important;
    }
    #section-watch .fluxtv-hero-badge-row {
        margin-bottom: 8px !important;
        flex: 0 0 auto !important;
    }
    #section-watch .fluxtv-hero-title { line-height: 1.02 !important; }
    #section-watch .fluxtv-hero-description {
        margin-top: 8px !important;
        margin-bottom: 12px !important;
        -webkit-line-clamp: 2 !important;
    }
}

/* Content density and navigable coverage refinements. */
@media (min-width: 960px) {
    .home-category-card,
    .category-tab-btn {
        box-sizing: border-box !important;
        padding-top: clamp(10px, 1vh, 13px) !important;
        padding-bottom: clamp(10px, 1vh, 13px) !important;
        align-items: center !important;
        justify-content: center !important;
        line-height: 1.2 !important;
    }
    .home-category-card > span,
    .category-tab-btn > span {
        display: inline-flex !important;
        align-items: center !important;
        min-height: 1.25em !important;
        padding: 0 0 2px !important;
        line-height: 1.15 !important;
    }

    .tv-programs-grid {
        display: grid !important;
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
        column-gap: clamp(22px, 1.6vw, 32px) !important;
        row-gap: clamp(24px, 2.2vh, 34px) !important;
        align-items: start !important;
        padding: 18px 10px 50px !important;
        overflow: visible !important;
    }
    .tv-programs-grid .netflix-program-card {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 16 / 9 !important;
        margin: 0 !important;
        transform-origin: center center !important;
    }

    .tv-news-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: clamp(18px, 1.3vw, 26px) !important;
    }
    .tv-news-grid .news-card,
    .tv-news-grid .news-card-featured {
        position: relative !important;
        display: block !important;
        grid-column: span 1 !important;
        grid-row: span 1 !important;
        width: 100% !important;
        min-height: 0 !important;
        aspect-ratio: 16 / 9 !important;
        overflow: hidden !important;
        background: #0d1c30 !important;
    }
    .tv-news-grid .news-img-wrapper,
    .tv-news-grid .news-card-featured .news-img-wrapper {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        aspect-ratio: auto !important;
        border-radius: inherit !important;
    }
    .tv-news-grid .news-img,
    .tv-news-grid .news-placeholder-img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
    .tv-news-grid .news-content {
        position: absolute !important;
        inset: 0 !important;
        z-index: 2 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-end !important;
        padding: clamp(16px, 1.25vw, 24px) !important;
        background: linear-gradient(180deg, transparent 28%, rgba(4, 12, 25, .25) 52%, rgba(4, 12, 25, .96) 100%) !important;
    }
    .tv-news-grid .news-meta {
        justify-content: flex-start !important;
        margin: 0 0 8px !important;
    }
    .tv-news-grid .news-meta span {
        max-width: 70% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
    .tv-news-grid .news-title,
    .tv-news-grid .news-card-featured .news-title {
        color: #fff !important;
        font-size: clamp(17px, 1.12vw, 22px) !important;
        line-height: 1.22 !important;
        -webkit-line-clamp: 2 !important;
        text-shadow: 0 2px 8px rgba(0, 0, 0, .72) !important;
    }
    .tv-news-grid .news-desc { display: none !important; }

    .tv-coverage-layout {
        display: grid !important;
        grid-template-columns: clamp(190px, 15vw, 250px) minmax(0, 1fr) !important;
        gap: clamp(20px, 1.6vw, 30px) !important;
        height: calc(100vh - 175px) !important;
        min-height: 460px !important;
        overflow: hidden !important;
    }
    .coverage-states-list {
        width: auto !important;
        min-width: 0 !important;
        padding: 6px 8px 18px !important;
        gap: 10px !important;
        overflow-x: visible !important;
        overflow-y: auto !important;
        scroll-padding-block: 12px !important;
    }
    .coverage-state-btn {
        flex: 0 0 auto !important;
        min-height: 54px !important;
        padding: 0 18px !important;
        border-radius: 18px !important;
        text-align: left !important;
    }
    .coverage-details-card {
        min-width: 0 !important;
        padding: clamp(22px, 1.8vw, 32px) !important;
        border-radius: 28px !important;
        overflow: hidden !important;
    }
    .coverage-details-header {
        flex-wrap: wrap !important;
        align-items: center !important;
    }
    .coverage-cities-wrapper {
        min-height: 0 !important;
        padding: 2px 10px 28px 4px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        scroll-behavior: smooth !important;
        scroll-padding-block: 20px !important;
    }
    .coverage-cities-heading {
        position: sticky;
        top: 0;
        z-index: 3;
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 18px;
        padding: 12px 2px 18px;
        background: var(--flat-surface);
    }
    .coverage-cities-heading span {
        color: var(--flat-text);
        font-size: clamp(17px, 1.05vw, 21px);
        font-weight: 750;
    }
    .coverage-cities-heading small {
        color: var(--flat-muted);
        font-size: clamp(11px, .72vw, 14px);
    }
    .coverage-cities-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 14px !important;
        padding: 2px 3px 24px !important;
    }
    .coverage-city-tag {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        min-height: 58px !important;
        padding: 10px 16px 10px 42px !important;
        border-radius: 18px !important;
        background: #142842 !important;
        border: 1px solid #29415f !important;
        color: #e8f0fa !important;
        font: inherit !important;
        font-size: clamp(13px, .84vw, 16px) !important;
        font-weight: 650 !important;
        text-align: left !important;
        cursor: default !important;
        transition: transform var(--flat-transition), background-color var(--flat-transition), border-color var(--flat-transition) !important;
    }
    .coverage-city-tag::before {
        content: '';
        position: absolute;
        left: 17px;
        width: 10px;
        height: 10px;
        border: 3px solid #6aa9f6;
        border-radius: 50%;
        box-sizing: border-box;
    }
    .coverage-city-tag:focus,
    .coverage-city-tag.focused {
        outline: 0 !important;
        transform: scale(1.025) !important;
        background: #1d4778 !important;
        border-color: #78b5ff !important;
        box-shadow: var(--flat-focus-ring) !important;
    }
}

@media (min-width: 960px) and (max-width: 1366px) {
    .tv-news-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
    .coverage-cities-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .coverage-cities-heading small { display: none; }
}

@media (min-width: 960px) {
    .home-category-card,
    .category-tab-btn {
        display: inline-flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        height: clamp(62px, 6.4vh, 70px) !important;
        min-height: clamp(62px, 6.4vh, 70px) !important;
        padding: 10px clamp(18px, 1.25vw, 24px) !important;
        gap: 10px !important;
        overflow: hidden !important;
    }
    .home-category-card > svg,
    .category-tab-btn > svg {
        flex: 0 0 auto !important;
        width: 22px !important;
        height: 22px !important;
    }
    .home-category-card > span,
    .category-tab-btn > span {
        flex: 0 1 auto !important;
        min-height: 0 !important;
        padding: 1px 0 3px !important;
        line-height: 1.15 !important;
    }
    .coverage-city-tag { scroll-margin-block: 78px 24px !important; }
    .coverage-cities-wrapper { scrollbar-width: thin; scrollbar-color: #456889 transparent; }
    .coverage-cities-wrapper::-webkit-scrollbar { width: 7px !important; }
    .coverage-cities-wrapper::-webkit-scrollbar-track { background: transparent !important; }
    .coverage-cities-wrapper::-webkit-scrollbar-thumb {
        border-radius: 999px !important;
        background: #456889 !important;
    }
}

@media (min-width: 960px) and (max-width: 1366px) and (max-height: 768px) {
    .home-category-card,
    .category-tab-btn {
        height: 58px !important;
        min-height: 58px !important;
        padding-block: 8px !important;
    }
}

/* Full-screen program details and uncropped home artwork. */
@media (min-width: 960px) {
    #section-watch .fluxtv-hero-image-wrapper {
        width: 68% !important;
        background: #071a22 !important;
    }
    #section-watch .fluxtv-hero-img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: right center !important;
    }
    #section-watch .fluxtv-hero-badge-row {
        overflow: visible !important;
    }
    #section-watch .hero-badge-passando,
    #section-watch .fluxtv-live-badge-glass {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 34px !important;
        padding: 7px 16px 8px !important;
        line-height: 1.2 !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    #tv-details-popup .fluxtv-popup-backdrop { display: none !important; }
    #tv-details-popup .fluxtv-popup-container {
        inset: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #06101f !important;
        box-shadow: none !important;
        overflow: hidden !important;
    }
    #tv-details-popup .fluxtv-popup-radial-glow,
    #tv-details-popup .fluxtv-popup-handle { display: none !important; }
    #tv-details-popup .fluxtv-popup-content-scroll {
        width: 100vw !important;
        min-height: 100vh !important;
        background: #06101f !important;
    }
    #tv-details-popup .fluxtv-popup-hero {
        height: clamp(520px, 64vh, 690px) !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #081426 !important;
    }
    #tv-details-popup .fluxtv-popup-hero-img-wrapper img {
        object-fit: cover !important;
        object-position: center center !important;
    }
    #tv-details-popup .fluxtv-popup-hero-fade {
        background: linear-gradient(180deg, rgba(6,16,31,.05) 0%, rgba(6,16,31,.2) 42%, #06101f 100%),
                    linear-gradient(90deg, rgba(6,16,31,.9) 0%, rgba(6,16,31,.28) 48%, rgba(6,16,31,.05) 100%) !important;
    }
    #tv-details-popup .fluxtv-popup-body-content {
        width: min(1600px, 88vw) !important;
        margin-inline: auto !important;
        padding: 28px 0 90px !important;
    }
    #tv-details-popup .fluxtv-popup-info-card {
        border: 1px solid var(--flat-border) !important;
        border-radius: var(--flat-radius) !important;
        background: #0e1e33 !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        padding: 30px 0 !important;
    }
    #tv-details-popup .fluxtv-close-btn {
        top: clamp(24px, 3vh, 36px) !important;
        right: clamp(24px, 2.4vw, 46px) !important;
    }
}

@media (min-width: 960px) and (max-width: 1366px) and (max-height: 768px) {
    #section-watch .fluxtv-hero-content {
        padding-top: 30px !important;
    }
    #section-watch .fluxtv-hero-badge-row {
        margin-bottom: 10px !important;
    }
    #tv-details-popup .fluxtv-popup-hero { height: 62vh !important; }
}

/* Android TV WebViews may expose a 960x540 CSS viewport even on a 1080p panel. */
@media (min-width: 960px) {
    #section-watch .fluxtv-hero-image-wrapper {
        top: clamp(14px, 2.2vh, 24px) !important;
        height: calc(100% - clamp(14px, 2.2vh, 24px)) !important;
    }
    #section-watch .live-program-card-pc .fluxtv-hero-content {
        padding-top: clamp(34px, 5vh, 54px) !important;
    }
}

@media (min-width: 960px) and (max-width: 1366px) and (max-height: 768px) {
    #section-watch .live-program-card-pc {
        height: clamp(360px, 62vh, 430px) !important;
    }
    #section-watch .live-program-card-pc .fluxtv-hero-content {
        width: 62% !important;
        max-width: 62% !important;
        padding: 34px 24px 22px !important;
    }
    #section-watch .fluxtv-hero-description {
        max-width: 54ch !important;
        font-size: clamp(12px, 1.15vw, 15px) !important;
        line-height: 1.35 !important;
    }
}

@media (min-width: 960px) {
    #section-watch .fluxtv-hero-image-wrapper {
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
    }
    #section-watch .fluxtv-hero-img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center 18% !important;
    }
    #section-watch .hero-next-pill-container {
        right: clamp(8px, .65vw, 12px) !important;
        justify-content: flex-end !important;
        text-align: right !important;
    }
    #section-watch .hero-next-pill {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        justify-content: flex-end !important;
        width: 100% !important;
        text-align: right !important;
    }
    #section-watch .hero-next-pill span,
    #section-watch .hero-next-pill strong {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        text-align: right !important;
    }
}

@media (min-width: 960px) {
    .program-library-empty {
        grid-column: 1 / -1;
        padding: clamp(28px, 4vh, 48px);
        border: 1px dashed var(--flat-border);
        border-radius: var(--flat-radius);
        color: var(--flat-muted);
        font-size: clamp(15px, 1vw, 19px);
        text-align: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .focusable,
    .tv-status-toast,
    .skeleton-card,
    .skeleton-text {
        animation: none !important;
        transition-duration: 1ms !important;
        scroll-behavior: auto !important;
    }
}

/* Main-site hero language adapted to the Smart TV canvas; TV focus/player behavior is unchanged. */
html body #section-watch .live-program-card-pc { position:relative !important; overflow:hidden !important; min-height:430px !important; border:1px solid rgba(170,220,248,.16) !important; border-radius:28px !important; background:#061522 !important; box-shadow:0 22px 60px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.08) !important; }
html body #section-watch .live-program-card-pc .fluxtv-hero-image-wrapper { position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; }
html body #section-watch .live-program-card-pc .fluxtv-hero-img { object-fit:cover !important; object-position:center center !important; filter:saturate(1.04) contrast(1.03) !important; opacity:.94 !important; }
html body #section-watch .live-program-card-pc .fluxtv-hero-fade-overlay, html body #section-watch .live-program-card-pc::before { position:absolute !important; inset:0 !important; z-index:2 !important; background:linear-gradient(90deg,rgba(4,12,25,.98) 0%,rgba(4,12,25,.78) 34%,rgba(4,12,25,.22) 72%,rgba(4,12,25,.04) 100%),linear-gradient(0deg,rgba(4,12,25,.78) 0%,transparent 42%) !important; }
html body #section-watch .live-program-card-pc .fluxtv-hero-content { z-index:4 !important; width:min(56%,620px) !important; max-width:620px !important; height:auto !important; min-height:250px !important; margin:auto 0 auto 32px !important; padding:28px 30px !important; justify-content:center !important; border:1px solid rgba(178,222,245,.18) !important; border-radius:24px !important; background:rgba(5,22,35,.44) !important; box-shadow:0 18px 45px rgba(0,6,18,.24),inset 0 1px rgba(255,255,255,.08) !important; backdrop-filter:blur(17px) saturate(135%) !important; -webkit-backdrop-filter:blur(17px) saturate(135%) !important; }
html body #section-watch .hero-badge-passando, html body #section-watch .fluxtv-hero-time-range { display:inline-flex !important; align-items:center !important; width:max-content !important; min-height:30px !important; padding:0 12px !important; border:1px solid rgba(112,196,246,.28) !important; border-radius:999px !important; background:rgba(8,42,65,.64) !important; color:#b8e4f5 !important; font-size:12px !important; font-weight:800 !important; }
html body #section-watch .fluxtv-hero-title { margin:10px 0 8px !important; color:#fff !important; font-size:clamp(34px,4vw,58px) !important; line-height:1.04 !important; letter-spacing:-.04em !important; }
html body #section-watch .fluxtv-hero-description { max-width:520px !important; margin:4px 0 20px !important; color:rgba(235,246,252,.78) !important; font-size:15px !important; line-height:1.5 !important; }
html body #section-watch .fluxtv-hero-actions { margin-top:4px !important; gap:12px !important; }
html body #section-watch .fluxtv-btn-primary, html body #section-watch .tv-btn-info, html body #section-watch .hero-next-pill-container { border-radius:999px !important; min-height:44px !important; }
html body #section-watch .hero-next-pill-container { z-index:5 !important; background:rgba(5,22,35,.48) !important; border:1px solid rgba(178,222,245,.18) !important; backdrop-filter:blur(14px) !important; -webkit-backdrop-filter:blur(14px) !important; }

html body #section-watch #hero-program-card { border-radius:28px !important; }


/* Exact main-site hero proportions adapted to the TV content viewport. */
html body #section-watch { padding: 0 !important; }
html body #section-watch .live-program-card-pc-container { height: calc(100vh - 28px) !important; min-height: 560px !important; padding: 0 !important; }
html body #section-watch #hero-program-card { height: 100% !important; min-height: 560px !important; margin: 0 !important; border-radius: 0 0 30px 30px !important; }
html body #section-watch #hero-program-card .fluxtv-hero-content { width: min(520px, 48vw) !important; max-width: 520px !important; min-height: 280px !important; margin: auto 0 auto clamp(40px, 5vw, 80px) !important; padding: 30px 32px !important; }
html body #section-watch #hero-program-card .fluxtv-hero-title { font-size: clamp(42px, 4vw, 64px) !important; line-height: 1.02 !important; }
html body #section-watch #hero-program-card .fluxtv-hero-description { font-size: 15px !important; line-height: 1.55 !important; -webkit-line-clamp: 3 !important; }
html body #section-watch #hero-program-card .fluxtv-hero-image-wrapper { inset: 0 !important; }
html body #section-watch #hero-program-card .fluxtv-hero-img { object-position: center center !important; }
html body #section-watch #hero-program-card .hero-next-pill-container { right: clamp(34px, 4vw, 72px) !important; bottom: clamp(34px, 5vh, 64px) !important; }
@media (max-width: 900px) {
  html body #section-watch .live-program-card-pc-container { height: 620px !important; min-height: 620px !important; }
  html body #section-watch #hero-program-card { min-height: 620px !important; }
  html body #section-watch #hero-program-card .fluxtv-hero-content { width: calc(100% - 44px) !important; max-width: none !important; margin: auto 22px 34px !important; }
}

/* TV stability pass: preserve the existing hero while removing the cramped
   card treatment on short/small screens and keeping all controls in view. */
#tv-player-root .apple-premium-btn {
    top: clamp(18px, 3.5vh, 40px) !important;
    right: clamp(18px, 3vw, 50px) !important;
    width: 96px !important;
    height: 44px !important;
    border-radius: 999px !important;
    font-size: 0 !important;
}
#tv-player-root .apple-premium-btn svg { display: none !important; }
#tv-player-root .apple-premium-btn::after {
    content: "Fechar";
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .02em;
}
#tv-player-root .apple-premium-btn { opacity: 0 !important; pointer-events: none !important; transition: opacity .25s ease !important; }
#tv-player-root .apple-premium-btn.player-close-visible { opacity: 1 !important; pointer-events: auto !important; }
@media (min-width: 960px) and (max-height: 800px) {
    html body #section-watch .live-program-card-pc-container { height: 500px !important; min-height: 500px !important; margin-bottom: 28px !important; }
    html body #section-watch #hero-program-card { min-height: 500px !important; border-radius: 0 0 22px 22px !important; }
    html body #section-watch #hero-program-card .fluxtv-hero-content { width: min(48%, 500px) !important; min-height: 0 !important; margin-left: clamp(26px, 3vw, 48px) !important; padding: 22px 24px !important; background: rgba(5,22,35,.28) !important; border: 0 !important; box-shadow: none !important; backdrop-filter: none !important; }
    html body #section-watch #hero-program-card .fluxtv-hero-title { font-size: clamp(32px, 3.2vw, 48px) !important; margin: 8px 0 6px !important; }
    html body #section-watch #hero-program-card .fluxtv-hero-description { font-size: 14px !important; line-height: 1.35 !important; margin-bottom: 12px !important; -webkit-line-clamp: 2 !important; }
    html body #section-watch #hero-program-card .fluxtv-hero-actions { gap: 8px !important; }
    html body #section-watch #hero-program-card .fluxtv-btn-primary, html body #section-watch #hero-program-card .tv-btn-info { min-height: 40px !important; padding: 0 16px !important; font-size: 13px !important; }
    html body #section-watch #hero-program-card .hero-next-pill-container { right: 24px !important; bottom: 26px !important; }
}
@media (min-width: 960px) and (min-height: 801px) {
    html body #section-watch #hero-program-card .fluxtv-hero-content { background: rgba(5,22,35,.28) !important; border: 0 !important; box-shadow: none !important; backdrop-filter: none !important; }
}

/* Single responsive composition for every TV viewport: the home hero must not
   consume a whole screen or push the first content rail out of view. */
@media (min-width: 960px) {
    html body .tv-main-content {
        padding: clamp(16px, 2.1vw, 54px) clamp(18px, 3.1vw, 76px) clamp(28px, 3vw, 72px) clamp(22px, 3.2vw, 78px) !important;
    }
    html body #section-watch .live-program-card-pc-container {
        height: clamp(390px, 52vh, 640px) !important;
        min-height: 0 !important;
        margin: 0 0 clamp(22px, 3vh, 42px) !important;
        width: 100% !important;
        margin-left: 0 !important;
        margin-top: 0 !important;
    }
    html body #section-watch #hero-program-card {
        height: 100% !important;
        min-height: 0 !important;
        border-radius: clamp(18px, 1.5vw, 30px) !important;
    }
    html body #section-watch #hero-program-card .fluxtv-hero-content {
        width: min(50%, 640px) !important;
        max-width: 640px !important;
        min-height: 0 !important;
        margin: auto 0 auto clamp(22px, 3.6vw, 82px) !important;
        padding: clamp(18px, 2vw, 34px) clamp(20px, 2.2vw, 40px) !important;
    }
    html body #section-watch #hero-program-card .fluxtv-hero-title {
        font-size: clamp(32px, 3.55vw, 84px) !important;
        line-height: 1.04 !important;
        margin: clamp(7px, .8vh, 13px) 0 clamp(5px, .6vh, 10px) !important;
    }
    html body #section-watch #hero-program-card .fluxtv-hero-description {
        font-size: clamp(13px, 1.05vw, 20px) !important;
        line-height: 1.42 !important;
        margin-bottom: clamp(10px, 1.5vh, 20px) !important;
        -webkit-line-clamp: 2 !important;
    }
    html body #section-watch #hero-program-card .fluxtv-hero-time-range,
    html body #section-watch #hero-program-card .hero-badge-passando {
        min-height: clamp(27px, 3vh, 38px) !important;
        font-size: clamp(11px, .82vw, 16px) !important;
    }
    html body #section-watch #hero-program-card .fluxtv-btn-primary,
    html body #section-watch #hero-program-card .tv-btn-info {
        min-height: clamp(38px, 4.2vh, 54px) !important;
        padding-inline: clamp(14px, 1.4vw, 26px) !important;
        font-size: clamp(12px, .92vw, 18px) !important;
    }
    html body #section-watch #hero-program-card .hero-next-pill-container {
        right: clamp(18px, 2.5vw, 58px) !important;
        bottom: clamp(18px, 3vh, 50px) !important;
        max-width: min(31vw, 420px) !important;
    }
    html body #section-watch #hero-program-card .fluxtv-hero-fade-overlay,
    html body #section-watch #hero-program-card::before {
        background: linear-gradient(90deg, rgba(4,12,25,.94) 0%, rgba(4,12,25,.70) 36%, rgba(4,12,25,.16) 73%, rgba(4,12,25,.02) 100%), linear-gradient(0deg, rgba(4,12,25,.55) 0%, transparent 46%) !important;
    }
    html body #section-watch .tv-row-container { margin-top: 0 !important; }
    html body #section-watch .tv-row-title { font-size: clamp(20px, 1.65vw, 34px) !important; margin-bottom: clamp(12px, 1.6vh, 22px) !important; }
}
