/* =========================================
       1. VARIÁVEIS E RESET (ULTRA MODERN UI & MOBILE OPTIMIZED)
       ========================================= */
    :root {
        --bg-base: #030305;
        --bg-panel: rgba(18, 18, 24, 0.95);
        --bg-card: rgba(255, 255, 255, 0.025);
        --bg-hover: rgba(255, 255, 255, 0.06);
        --text-main: #f8fafc;
        --text-muted: #94a3b8;
        --accent: #6366f1; 
        --accent-gradient: linear-gradient(135deg, #6366f1 0%, #a855f7 100%);
        --accent-glow: rgba(168, 85, 247, 0.4);
        --live-color: #ef4444;
        --like-color: #ec4899;
        --fav-color: #f59e0b;
        --radius-sm: 10px;
        --radius-md: 14px;
        --radius-lg: 20px;
        --transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        --sidebar-width: 280px;
        --header-height: 80px;
        --app-alert-height: 46px;
        --safe-area-top: env(safe-area-inset-top, 0px);
        --safe-area-bottom: env(safe-area-inset-bottom, 0px);
    }

    * { margin: 0; padding: 0; box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
    
    html, body {
        width: 100%;
        overflow-x: hidden;
    }

    body {
        font-family: 'Outfit', sans-serif;
        background-color: var(--bg-base);
        color: var(--text-main);
        line-height: 1.5;
        -webkit-font-smoothing: antialiased;
        background-image: radial-gradient(circle at 15% 50%, rgba(99, 102, 241, 0.05), transparent 25%),
                          radial-gradient(circle at 85% 30%, rgba(168, 85, 247, 0.05), transparent 25%);
        -webkit-user-select: none;
        -ms-user-select: none;
        user-select: none;
    }
    
    a { text-decoration: none; color: inherit; transition: var(--transition); }
    ul { list-style: none; }
    button { font-family: inherit; cursor: pointer; border: none; background: none; touch-action: manipulation; }

    /* =========================================
       BARRA DE ALERTA DO APLICATIVO
       ========================================= */
    .app-alert-topbar {
        background: linear-gradient(90deg, #6366f1 0%, #a855f7 50%, #ec4899 100%);
        color: #ffffff;
        padding: 10px 48px;
        font-size: 14px;
        font-weight: 600;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        box-shadow: 0 4px 15px rgba(168, 85, 247, 0.25);
        position: relative;
        z-index: 1001;
        text-align: center;
        min-height: var(--app-alert-height);
        width: 100%;
    }

    .app-alert-topbar i.app-icon {
        font-size: 16px;
        animation: bounce 2s infinite;
    }

    .btn-download-apk {
        background: #ffffff;
        color: #0f172a;
        padding: 5px 14px;
        border-radius: 100px;
        font-weight: 700;
        font-size: 12px;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        transition: all 0.3s ease;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    }

    .btn-download-apk:hover {
        background: #f8fafc;
        transform: scale(1.05);
        color: #6366f1;
    }

    @keyframes bounce {
        0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
        40% { transform: translateY(-4px); }
        60% { transform: translateY(-2px); }
    }

    /* =========================================
       2. ESTRUTURA APP & SIDEBAR
       ========================================= */
    .app-container { display: flex; min-height: 100vh; min-height: 100dvh; flex-direction: column; }
    .main-wrapper { display: flex; flex: 1; position: relative; }

    .sidebar {
        width: var(--sidebar-width);
        background: var(--bg-panel);
        backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
        border-right: 1px solid rgba(255,255,255,0.03);
        display: flex; flex-direction: column;
        position: fixed; 
        top: 0; 
        height: 100vh; 
        height: 100dvh; 
        z-index: 1000;
        transition: var(--transition); 
        left: 0; 
        box-shadow: 5px 0 30px rgba(0,0,0,0.5);
        padding-top: calc(var(--app-alert-height) + var(--safe-area-top));
        padding-bottom: var(--safe-area-bottom);
        -webkit-overflow-scrolling: touch;
    }
    
    body.sidebar-collapsed .sidebar { transform: translateX(-100%); }
    body.sidebar-collapsed .main-content { margin-left: 0; }

    .brand {
        height: var(--header-height);
        display: flex; align-items: center; padding: 0 32px;
        font-size: 24px; font-weight: 800; color: var(--text-main);
        letter-spacing: -0.5px; border-bottom: 1px solid rgba(255,255,255,0.03);
        white-space: nowrap; overflow: hidden;
    }
    .brand i { 
        color: #fff;
        background: none;
        -webkit-background-clip: initial;
        -webkit-text-fill-color: currentColor;
        margin-right: 16px; font-size: 24px; flex-shrink: 0; 
    }
    .brand-copy {
        min-width: 0; display: flex; flex-direction: column; justify-content: center; line-height: 1; margin-left: 2px;
    }
    .brand-name {
        display: block; font-size: 24px; line-height: 1.05; font-weight: 800; color: #fff; letter-spacing: -0.5px;
    }
    .brand-tagline {
        display: block; margin-top: 5px; color: var(--text-muted); font-size: 10px; line-height: 1.15;
        font-weight: 500; letter-spacing: .35px; text-transform: none;
    }
    
    .sidebar-menu { padding: 28px 20px; flex-grow: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; }
    .menu-label {
        font-size: 11px; text-transform: uppercase; color: var(--text-muted);
        letter-spacing: 1.5px; font-weight: 700; margin: 20px 0 12px 14px; white-space: nowrap;
    }
    .nav-item {
        display: flex; align-items: center; padding: 14px 18px; min-height: 44px;
        color: var(--text-muted); border-radius: var(--radius-sm);
        font-weight: 500; margin-bottom: 6px; white-space: nowrap; cursor: pointer;
        border: 1px solid transparent;
    }
    .nav-item i, .nav-item svg { width: 24px; font-size: 18px; margin-right: 14px; flex-shrink: 0; transition: var(--transition); text-align: center; }
    .nav-item:hover { background: var(--bg-hover); color: var(--text-main); border-color: rgba(255,255,255,0.05); transform: translateX(4px); }
    .nav-item.active {
        background: linear-gradient(90deg, rgba(99, 102, 241, 0.15) 0%, transparent 100%);
        border-left: 4px solid var(--accent);
        color: #fff; border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    }
    .nav-item.active i, .nav-item.active svg { color: #a855f7; }

    .label-count {
        background: rgba(255, 255, 255, 0.1);
        color: #fff;
        font-size: 11px;
        font-weight: 700;
        padding: 2px 8px;
        border-radius: 10px;
        margin-left: 6px;
    }
    .cat-btn .label-count { margin-left: 6px; }

    /* Estilo Especial Botão Adulto */
    .nav-item.adult-btn, .cat-btn.adult-btn {
        color: #ef4444;
    }
    .nav-item.adult-btn i, .nav-item.adult-btn svg, .cat-btn.adult-btn i, .cat-btn.adult-btn svg {
        color: #ef4444;
    }
    .nav-item.adult-btn:hover, .cat-btn.adult-btn:hover {
        background: rgba(239, 68, 68, 0.1);
        border-color: rgba(239, 68, 68, 0.3);
        color: #f87171;
    }

    /* =========================================
       3. TOPBAR & SEARCH
       ========================================= */
    .main-content {
        flex: 1; margin-left: var(--sidebar-width);
        display: flex; flex-direction: column; min-height: 100vh; min-height: 100dvh;
        transition: var(--transition);
        width: 100%;
    }
    
    .topbar {
        height: calc(var(--header-height) + var(--safe-area-top));
        padding-top: var(--safe-area-top);
        background: rgba(3, 3, 5, 0.85);
        backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
        position: sticky; top: 0; z-index: 900;
        display: flex; align-items: center; justify-content: space-between;
        padding-left: 48px; padding-right: 48px; border-bottom: 1px solid rgba(255,255,255,0.03);
    }
    
    .topbar-left { display: flex; align-items: center; gap: 24px; flex: 1; max-width: 500px; }

    .search-box { position: relative; width: 100%; }
    .search-box form { position: relative; width: 100%; margin: 0; }
    .search-box form > i { position: absolute; left: 20px; top: 50%; transform: translateY(-50%); color: var(--text-muted); transition: var(--transition); pointer-events: none; z-index: 2; line-height: 1; }
    .search-box input {
        width: 100%; background: rgba(255,255,255,0.03);
        border: 1px solid rgba(255,255,255,0.08); padding: 12px 20px 12px 52px;
        border-radius: 100px; color: var(--text-main); font-family: inherit; font-size: 16px;
        transition: var(--transition); backdrop-filter: blur(10px); -webkit-appearance: none;
    }
    .search-box input:focus { 
        background: rgba(255,255,255,0.06); border-color: #a855f7; 
        outline: none; box-shadow: 0 0 0 4px rgba(168, 85, 247, 0.15); 
    }
    .search-box input:focus + i, .search-box input:focus ~ i { color: #a855f7; }

    .user-actions { display: flex; gap: 12px; align-items: center; }
    .notif-wrapper { position: relative; }
    
    .action-btn {
        width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,0.03);
        display: flex; align-items: center; justify-content: center; color: var(--text-main);
        transition: var(--transition); flex-shrink: 0; position: relative;
        border: 1px solid rgba(255,255,255,0.06); backdrop-filter: blur(10px);
    }
    .action-btn:hover { background: var(--bg-hover); transform: translateY(-2px); border-color: rgba(255,255,255,0.15); }

    .notif-badge {
        position: absolute; top: 2px; right: 2px; height: 10px; width: 10px;
        background-color: var(--live-color); border-radius: 50%;
        border: 2px solid var(--bg-base); box-shadow: 0 0 10px var(--live-color);
    }

    .notif-dropdown {
        position: absolute; top: calc(100% + 16px); right: 0; width: 360px;
        background: rgba(18, 18, 24, 0.98); backdrop-filter: blur(30px); -webkit-backdrop-filter: blur(30px);
        border: 1px solid rgba(255, 255, 255, 0.08); border-radius: var(--radius-md);
        box-shadow: 0 30px 60px rgba(0, 0, 0, 0.8), 0 0 30px rgba(99, 102, 241, 0.05);
        z-index: 1500; opacity: 0; visibility: hidden; transform: translateY(-15px) scale(0.95);
        transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); transform-origin: top right;
        display: flex; flex-direction: column; overflow: hidden;
    }
    .notif-dropdown.active { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }
    
    .notif-header { 
        display: flex; justify-content: space-between; align-items: center;
        padding: 18px 24px; font-weight: 700; background: rgba(0,0,0,0.2);
        border-bottom: 1px solid rgba(255,255,255,0.05); font-size: 15px; color: #fff;
    }
    .notif-header .mark-read {
        font-size: 12px; font-weight: 600; color: #a855f7; cursor: pointer; transition: color 0.2s;
    }

    .notif-body { max-height: 380px; overflow-y: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
    .notif-item { 
        display: flex; gap: 16px; padding: 18px 24px; border-bottom: 1px solid rgba(255,255,255,0.03);
        transition: background 0.2s; cursor: pointer; position: relative;
    }
    .notif-item:hover { background: rgba(255,255,255,0.04); }
    .notif-item.unread { background: linear-gradient(90deg, rgba(99, 102, 241, 0.05) 0%, transparent 100%); }
    .notif-item.unread::before {
        content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--accent-gradient);
    }
    
    .notif-icon {
        width: 42px; height: 42px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
        flex-shrink: 0; font-size: 16px; border: 1px solid rgba(255,255,255,0.05);
    }
    .notif-icon.notif-style-red { color:#ff4055; background:rgba(229,9,20,.14); border-color:rgba(255,64,85,.25); }
    .notif-icon.notif-style-purple { color:#b66cff; background:rgba(168,85,247,.14); border-color:rgba(182,108,255,.22); }
    .notif-icon.notif-style-amber { color:#fbbf24; background:rgba(245,158,11,.14); border-color:rgba(251,191,36,.22); }
    .notif-icon.notif-style-blue { color:#60a5fa; background:rgba(59,130,246,.14); border-color:rgba(96,165,250,.22); }
    .notif-icon.notif-style-green { color:#4ade80; background:rgba(34,197,94,.14); border-color:rgba(74,222,128,.22); }
    .notif-icon.notif-style-pink { color:#f43f8c; background:rgba(236,72,153,.14); border-color:rgba(244,63,140,.25); }
    .notif-icon.notif-style-orange { color:#fb7a1f; background:rgba(249,115,22,.14); border-color:rgba(251,122,31,.25); }
    .notif-icon.notif-style-cyan { color:#22d3c5; background:rgba(20,184,166,.14); border-color:rgba(34,211,197,.25); }
    .notif-icon.notif-style-indigo { color:#6384ff; background:rgba(79,70,229,.14); border-color:rgba(99,132,255,.25); }
    .notif-icon[class*="notif-style-"] i { color:inherit !important; }
    .notif-content { display: flex; flex-direction: column; gap: 4px; }
    .notif-content strong { font-size: 14px; color: var(--text-main); font-weight: 700; }
    .notif-content p { font-size: 13px; color: var(--text-muted); line-height: 1.5; margin: 0; }
    .notif-time { font-size: 11px; color: rgba(255,255,255,0.4); margin-top: 4px; font-weight: 500; }

    .notif-footer {
        padding: 16px; text-align: center; border-top: 1px solid rgba(255,255,255,0.05);
        background: rgba(0,0,0,0.3); font-size: 13px; font-weight: 600;
    }
    .notif-footer a { color: var(--text-muted); transition: var(--transition); }

    /* =========================================
       4. HERO SLIDER
       ========================================= */
    .content-area { padding: 40px 48px; flex: 1; }
    
    .hero-slider {
        position: relative; width: 100%; height: 460px;
        border-radius: var(--radius-lg); overflow: hidden; margin-bottom: 40px;
        background: #000; border: 1px solid rgba(255,255,255,0.05);
        box-shadow: 0 20px 50px rgba(0,0,0,0.5);
    }
    .slide-track { 
        display: flex; 
        width: 100%; 
        height: 100%; 
        transition: transform 0.7s cubic-bezier(0.25, 1, 0.5, 1); 
    }
    .slide-item {
        position: relative; 
        flex: 0 0 100%; 
        width: 100%; 
        height: 100%;
        background-size: cover; 
        background-position: center;
        display: flex; 
        align-items: center; 
        padding: 60px 80px;
    }
    .slide-item::before {
        content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
        background: linear-gradient(90deg, rgba(3,3,5,0.98) 0%, rgba(3,3,5,0.7) 45%, transparent 100%);
    }
    
    .slide-item:nth-child(1) { background-image: url('https://i.imgur.com/cI38tkP.jpeg'); }
    .slide-item:nth-child(2) { background-image: url('https://images.unsplash.com/photo-1574375927938-d5a98e8ffe85?auto=format&amp;fit=crop&amp;q=80&amp;w=1920'); }
    .slide-item:nth-child(3) { background-image: url('https://static.wixstatic.com/media/8a69c5_a4158d7a0fdc4522b5aa089f5055852e~mv2.jpg/v1/fill/w_640,h_302,al_c,q_80,usm_0.66_1.00_0.01,enc_avif,quality_auto/8a69c5_a4158d7a0fdc4522b5aa089f5055852e~mv2.jpg'); }
    .slide-item:nth-child(4) { background-image: url('https://rd1.com.br/wp-content/uploads/2024/03/sportv-logo.jpg'); }
    .slide-item:nth-child(5) { background-image: url('https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRDbgRqiJ3xu1BImOngcktzzskYf_9xDxT29oy68HbTzBKAiLlYmqzm2Rc&amp;s=10'); }

    .slide-content { position: relative; z-index: 2; max-width: 600px; }
    .slide-tag {
        display: inline-block; padding: 6px 16px; border-radius: 100px;
        font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 1.5px;
        margin-bottom: 20px; background: rgba(255,255,255,0.08); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
        border: 1px solid rgba(255,255,255,0.15); box-shadow: 0 4px 15px rgba(0,0,0,0.3);
    }
    .slide-title { 
        font-size: 52px; font-weight: 800; line-height: 1.1; margin-bottom: 16px; 
        background: linear-gradient(to right, #ffffff, #a1a1aa);
        -webkit-background-clip: text; -webkit-text-fill-color: transparent;
        text-shadow: 0 4px 20px rgba(0,0,0,0.5); 
    }
    .slide-desc { color: #e2e8f0; font-size: 16px; margin-bottom: 0; line-height: 1.6; font-weight: 300; }

    .slider-dots { position: absolute; bottom: 24px; left: 0; right: 0; display: flex; justify-content: center; gap: 10px; z-index: 10; }
    .dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,0.2); cursor: pointer; transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); }
    .dot.active { background: var(--accent-gradient); width: 32px; border-radius: 10px; box-shadow: 0 0 10px var(--accent-glow); }

    /* =========================================
       5. BOTÕES DE CATEGORIAS
       ========================================= */
    .category-buttons-bar {
        display: flex; align-items: center; gap: 12px; margin-bottom: 40px;
        overflow-x: auto; padding: 4px 4px 16px 4px; scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    .category-buttons-bar::-webkit-scrollbar { display: none; }

    .cat-btn {
        position: relative; display: inline-flex; align-items: center; gap: 10px;
        background: rgba(255, 255, 255, 0.03); 
        border: 1px solid rgba(255, 255, 255, 0.08); 
        color: var(--text-muted); padding: 12px 24px; border-radius: 100px; min-height: 44px;
        font-size: 14px; font-weight: 600; white-space: nowrap; cursor: pointer;
        transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        box-shadow: none !important;
    }
    
    .cat-btn i { font-size: 15px; color: rgba(255, 255, 255, 0.4); transition: all 0.3s ease; }
    .cat-btn:hover { background: rgba(255, 255, 255, 0.08); color: #fff; border-color: rgba(168, 85, 247, 0.4); transform: translateY(-2px); }
    .cat-btn:hover i { color: #a855f7; }
    .cat-btn.active { background: var(--accent-gradient); color: #fff; border-color: transparent; transform: translateY(-2px); }
    .cat-btn.active i { color: #fff; }

    /* =========================================
       6. CARDS COMPACTOS E SELOS RESPONSIVOS
       ========================================= */
    .section-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 24px; }
    .section-title { font-size: 24px; font-weight: 800; letter-spacing: -0.5px; }

    .grid-advanced {
        display: grid; 
        grid-template-columns: repeat(5, 1fr); 
        gap: 18px;
    }
    
    .stream-card {
        background: var(--bg-card);
        backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
        border-radius: var(--radius-md);
        padding: 6px;
        border: 1px solid rgba(255, 255, 255, 0.06);
        overflow: hidden;
        transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        position: relative;
        display: flex;
        flex-direction: column;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
    }
    
    .stream-card:hover {
        transform: translateY(-6px);
        border-color: rgba(168, 85, 247, 0.45);
        background: rgba(255, 255, 255, 0.045);
        box-shadow: 0 16px 36px rgba(0, 0, 0, 0.65), 0 0 25px rgba(168, 85, 247, 0.2);
    }

    html body .stream-card .card-thumb {
        position: relative !important;
        width: 100% !important;
        min-height: 100px !important;
        height: auto !important;
        background: #07070a !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 10px !important;
        overflow: hidden !important;
        border-radius: var(--radius-sm) !important;
        border: 1px solid rgba(98, 98, 98, 0.06) !important;
    }

    html body .stream-card .card-thumb img,
    html body .stream-card img {
        display: block !important;
        margin: 0 auto !important;
        min-width: 80px !important;
        max-width: 160px !important;
        min-height: 50px !important;
        max-height: 100px !important;
        width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
        object-position: center !important;
        transition: transform 0.4s ease, filter 0.4s ease !important;
        filter: brightness(0.95) contrast(1.02) !important;
    }

    html body .stream-card:hover .card-thumb img {
        transform: scale(1.08) !important;
        filter: brightness(1.1) contrast(1.05) !important;
    }

    .card-info {
        padding: 10px 8px 6px 8px;
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        gap: 2px;
    }

    .card-title { 
        font-size: 14px;
        font-weight: 700;
        color: var(--text-main);
        line-height: 1.3;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        transition: color 0.3s ease;
        letter-spacing: -0.2px;
        margin: 0;
    }

    .stream-card:hover .card-title { color: #c084fc; }

    .card-labels { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; }
    .card-label-tag { font-size: 11px; font-weight: 500; color: var(--text-muted); transition: color 0.2s ease; display: inline; }
    .card-label-tag:hover { color: #c084fc; }

    /* =========================================
       ESTILOS DOS SELOS/BADGES (RESPONSIVOS)
       ========================================= */
    .badge-live-group {
        position: absolute;
        top: 6px;
        left: 6px;
        display: flex;
        align-items: center;
        gap: 4px;
        z-index: 5;
        max-width: 70%;
        flex-wrap: wrap;
    }

    .badge-live {
        background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
        color: #fff; 
        font-size: 8px;
        font-weight: 800;
        padding: 3px 6px;
        border-radius: 100px;
        text-transform: uppercase;
        letter-spacing: 0.4px;
        display: inline-flex;
        align-items: center;
        gap: 3px;
        box-shadow: 0 4px 10px rgba(239, 68, 68, 0.45);
        border: 1px solid rgba(255, 255, 255, 0.15);
        white-space: nowrap;
    }
    .badge-live::before {
        content: '';
        width: 4px;
        height: 4px;
        background: #fff;
        border-radius: 50%;
        animation: blink 1.2s infinite ease-in-out;
        flex-shrink: 0;
    }
    @keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }

    .card-logo-badge {
        background: rgba(18, 18, 24, 0.75);
        backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
        color: #ffffff;
        padding: 3px 6px;
        border-radius: 100px;
        font-size: 8px;
        font-weight: 800;
        letter-spacing: 0.4px;
        text-transform: uppercase;
        display: inline-flex;
        align-items: center;
        gap: 3px;
        border: 1px solid rgba(255, 255, 255, 0.12);
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
        transition: var(--transition);
        white-space: nowrap;
    }
    .card-logo-badge i { 
        background: var(--accent-gradient); 
        -webkit-background-clip: text; 
        -webkit-text-fill-color: transparent; 
        font-size: 9px; 
    }

    .badge-qualities { 
        position: absolute; 
        top: 6px; 
        right: 6px; 
        display: flex; 
        gap: 3px; 
        z-index: 5; 
    }
    .badge-hd, .badge-sd {
        background: rgba(18, 18, 24, 0.75); 
        backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
        color: #fff; 
        border: 1px solid rgba(255, 255, 255, 0.15); 
        font-size: 8px; 
        font-weight: 800; 
        padding: 2px 6px; 
        border-radius: 100px; 
        letter-spacing: 0.4px;
        white-space: nowrap;
    }

    .card-overlay {
        position: absolute; top: 0; left: 0; right: 0; bottom: 0;
        background: radial-gradient(circle at center, rgba(3, 3, 5, 0.4) 0%, rgba(3, 3, 5, 0.85) 100%);
        display: flex; align-items: center; justify-content: center; opacity: 0; transition: var(--transition); z-index: 2;
    }
    .stream-card:hover .card-overlay { opacity: 1; }
    
    .play-circle {
        width: 46px; height: 46px; border-radius: 50%; background: var(--accent-gradient); color: white;
        display: flex; align-items: center; justify-content: center; font-size: 16px; box-shadow: 0 8px 25px var(--accent-glow);
        transform: scale(0.7); transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); border: 1px solid rgba(255, 255, 255, 0.3);
    }
    .stream-card:hover .play-circle { transform: scale(1); }

    /* CINEMATIC PRO — EXCLUSIVO PARA OS MARCADORES FILMES E SERIES */
    .stream-card.poster-card {
        position: relative;
        aspect-ratio: 2 / 3;
        padding: 0;
        overflow: hidden;
        isolation: isolate;
        cursor: pointer;
        background: var(--bg-panel);
        border: 1px solid rgba(99, 102, 241, 0.22);
        border-radius: 14px;
        box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28);
        transition: transform 0.45s cubic-bezier(0.23, 1, 0.32, 1), border-color 0.35s ease, box-shadow 0.45s ease;
    }

    .stream-card.poster-card:hover {
        transform: translateY(-7px);
        border-color: rgba(168, 85, 247, 0.58);
        box-shadow: 0 22px 42px -12px rgba(0, 0, 0, 0.78), 0 0 24px var(--accent-glow);
    }

    .stream-card.poster-card > a:first-child {
        position: absolute;
        inset: 0;
        display: block !important;
    }

    html body .stream-card.poster-card .card-thumb {
        position: absolute !important;
        inset: 0 !important;
        min-height: 0 !important;
        width: 100% !important;
        height: 100% !important;
        aspect-ratio: 2 / 3 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: var(--bg-panel) !important;
    }

    html body .stream-card.poster-card .card-thumb img,
    html body .stream-card.poster-card img {
        width: 100% !important;
        height: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 0 !important;
        max-height: none !important;
        object-fit: cover !important;
        object-position: center !important;
        filter: brightness(0.94) contrast(1.04) !important;
        transform: scale(1.001) !important;
        transition: transform 0.7s cubic-bezier(0.23, 1, 0.32, 1), filter 0.45s ease !important;
    }

    html body .stream-card.poster-card:hover .card-thumb img {
        transform: scale(1.075) !important;
        filter: brightness(0.76) contrast(1.08) !important;
    }

    .stream-card.poster-card .card-thumb::after {
        content: '';
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;
        background: linear-gradient(to top, rgba(3, 3, 7, 0.99) 0%, rgba(30, 27, 75, 0.78) 23%, rgba(99, 102, 241, 0.16) 52%, transparent 72%);
        transition: opacity 0.4s ease;
    }

    .stream-card.poster-card:hover .card-thumb::after { opacity: 0.94; }
    .stream-card.poster-card .badge-live-group { display: flex !important; }

    .stream-card.poster-card .poster-special-badges {
        position: absolute;
        top: 11px;
        left: 11px;
        z-index: 5;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
        max-width: calc(100% - 72px);
        pointer-events: none;
    }

    .stream-card.poster-card .poster-special-badge {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        max-width: 100%;
        padding: 5px 8px;
        border: 1px solid rgba(255, 255, 255, 0.22);
        border-radius: 7px;
        color: #fff;
        font-size: 8px;
        font-weight: 900;
        line-height: 1;
        letter-spacing: 0.45px;
        text-transform: uppercase;
        white-space: nowrap;
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.34);
    }

    .stream-card.poster-card .poster-special-badge i { font-size: 8px; }
    .stream-card.poster-card .poster-special-badge.release { background: linear-gradient(135deg, rgba(168, 85, 247, 0.96), rgba(236, 72, 153, 0.96)); }
    .stream-card.poster-card .poster-special-badge.dubbed { background: linear-gradient(135deg, rgba(99, 102, 241, 0.96), rgba(168, 85, 247, 0.96)); }

    .stream-card.poster-card .badge-qualities {
        display: flex !important;
        top: 11px;
        right: 11px;
        z-index: 4;
    }

    .stream-card.poster-card .badge-hd,
    .stream-card.poster-card .badge-sd {
        padding: 4px 8px;
        border-radius: 7px;
        color: #fff;
        background: rgba(30, 27, 75, 0.68);
        border-color: rgba(255, 255, 255, 0.18);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.28);
    }

    .stream-card.poster-card .card-overlay {
        z-index: 3;
        background: transparent;
        align-items: center;
        justify-content: center;
    }

    .stream-card.poster-card .play-circle {
        width: 42px;
        height: 42px;
        color: #fff;
        background: var(--accent-gradient);
        border: 1px solid rgba(255, 255, 255, 0.28);
        box-shadow: 0 10px 28px var(--accent-glow);
    }

    .stream-card.poster-card .card-info {
        position: absolute;
        inset: auto 0 0;
        z-index: 4;
        min-height: 0;
        padding: 42px 14px 14px;
        gap: 7px;
        pointer-events: none;
    }

    .stream-card.poster-card .poster-meta {
        display: flex;
        align-items: center;
        gap: 6px;
        order: -1;
        min-width: 0;
        color: #c084fc;
        font-size: 9px;
        font-weight: 800;
        line-height: 1;
        text-transform: uppercase;
        letter-spacing: 1.1px;
    }

    .stream-card.poster-card[data-poster-type='filme'] .poster-meta { color: #818cf8; }
    .stream-card.poster-card .poster-year {
        display: inline-flex;
        align-items: center;
        padding: 3px 6px;
        border: 1px solid rgba(255, 255, 255, 0.22);
        border-radius: 5px;
        color: #fff;
        background: rgba(30, 27, 75, 0.68);
        font-size: 8px;
        line-height: 1;
        letter-spacing: 0;
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
    }

    .stream-card.poster-card .card-info a { pointer-events: auto; }
    .stream-card.poster-card .card-title {
        color: #fff;
        font-size: 16px;
        font-weight: 800;
        line-height: 1.22;
        letter-spacing: 0;
        text-shadow: 0 2px 10px rgba(0, 0, 0, 0.65);
    }

    .stream-card.poster-card:hover .card-title { color: #fff; }
    .stream-card.poster-card .card-labels {
        flex-wrap: nowrap;
        gap: 5px;
        overflow: hidden;
        max-height: 0;
        opacity: 0;
        transform: translateY(8px);
        transition: max-height 0.4s ease, opacity 0.35s ease, transform 0.4s ease;
    }

    .stream-card.poster-card:hover .card-labels {
        max-height: 24px;
        opacity: 1;
        transform: translateY(0);
    }

    .stream-card.poster-card .card-label-tag {
        flex-shrink: 0;
        color: rgba(255, 255, 255, 0.72);
        font-size: 10px;
    }

    @media (hover: none) {
        .stream-card.poster-card .card-labels { display: none; }
        .stream-card.poster-card .card-overlay { display: none; }
        .stream-card.poster-card:hover { transform: none; }
        html body .stream-card.poster-card:hover .card-thumb img { transform: scale(1.001) !important; filter: brightness(0.94) contrast(1.04) !important; }
        .stream-card.poster-card:active { transform: scale(0.985); border-color: rgba(255, 255, 255, 0.24); }
    }

    @media (max-width: 576px) {
        .stream-card.poster-card { border-radius: 9px; min-width: 0; box-shadow: 0 7px 18px rgba(0, 0, 0, 0.34); }
        .stream-card.poster-card .card-info { padding: 36px 9px 9px; gap: 4px; }
        .stream-card.poster-card .card-title { font-size: 13px; line-height: 1.2; -webkit-line-clamp: 2; overflow-wrap: anywhere; }
        .stream-card.poster-card .poster-meta { gap: 5px; font-size: 7px; letter-spacing: 0.7px; }
        .stream-card.poster-card .poster-year { padding: 2px 5px; font-size: 7px; }
        .stream-card.poster-card .badge-qualities { top: 6px; right: 6px; }
        .stream-card.poster-card .badge-hd,
        .stream-card.poster-card .badge-sd { padding: 3px 5px; border-radius: 5px; font-size: 7px; }
        .stream-card.poster-card .poster-special-badges {
            top: 6px;
            left: 6px;
            gap: 4px;
            width: auto;
            max-width: calc(100% - 54px);
        }
        .stream-card.poster-card .poster-special-badge {
            gap: 3px;
            width: fit-content;
            max-width: 100%;
            min-height: 19px;
            padding: 4px 6px;
            border-radius: 5px;
            font-size: 7px;
            line-height: 1.15;
            letter-spacing: 0;
            white-space: normal;
            overflow-wrap: normal;
            word-break: normal;
            text-align: left;
            text-wrap: balance;
        }
        .stream-card.poster-card .poster-special-badge i { flex: 0 0 auto; align-self: center; font-size: 7px; }
    }

    @media (max-width: 430px) {
        .stream-card.poster-card .poster-special-badges {
            top: 5px;
            left: 5px;
            gap: 3px;
            max-width: calc(100% - 48px);
        }
        .stream-card.poster-card .poster-special-badge {
            min-height: 18px;
            padding: 3px 5px;
            font-size: 6.5px;
            line-height: 1.12;
        }
        .stream-card.poster-card .poster-special-badge i { font-size: 6px; }
        .stream-card.poster-card .badge-qualities { top: 5px; right: 5px; }
    }

    @media (max-width: 360px) {
        .stream-card.poster-card .poster-special-badges {
            gap: 2px;
            max-width: calc(100% - 44px);
        }
        .stream-card.poster-card .poster-special-badge {
            min-height: 17px;
            padding: 3px 4px;
            font-size: 6px;
            line-height: 1.1;
        }
        .stream-card.poster-card .badge-hd,
        .stream-card.poster-card .badge-sd { padding: 3px 4px; font-size: 6.5px; }
        .stream-card.poster-card .card-title { font-size: 12px; }
        .stream-card.poster-card .card-info { padding: 30px 8px 8px; }
    }

    /* =========================================
       7. PLAYER & CONTROLES
       ========================================= */
    .player-wrapper {
        background: rgba(18, 18, 24, 0.5); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
        border-radius: var(--radius-lg); padding: 28px; margin-bottom: 48px; border: 1px solid rgba(255,255,255,0.06);
        max-width: 780px; margin-left: auto; margin-right: auto; box-shadow: 0 20px 50px rgba(0,0,0,0.5);
    }

    body.theater-mode .player-wrapper {
        position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; height: 100dvh; z-index: 9999; border-radius: 0;
        padding: 20px; background: #000; overflow-y: auto; margin: 0; max-width: none; border: none; -webkit-overflow-scrolling: touch;
    }

    .player-tip-alert {
        background: linear-gradient(135deg, rgba(99, 102, 241, 0.15) 0%, rgba(168, 85, 247, 0.05) 100%);
        border: 1px solid rgba(168, 85, 247, 0.3); padding: 16px 20px; border-radius: var(--radius-md); font-size: 14px;
        color: #e2e8f0; display: flex; align-items: center; gap: 14px; margin-bottom: 20px; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
    }
    .player-tip-alert i {
        color: #fff; font-size: 18px; flex-shrink: 0; background: var(--accent-gradient); width: 36px; height: 36px;
        border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 10px var(--accent-glow);
    }
    .player-tip-alert strong { color: #fff; font-weight: 700; }

    .player-selector-bar { display: flex !important; align-items: center; gap: 10px; margin-bottom: 16px; overflow-x: auto; padding-bottom: 4px; -webkit-overflow-scrolling: touch; }
    
    .iframe-container {
        position: relative; width: 100%; padding-bottom: 56.25%; background: #000; border-radius: var(--radius-md);
        overflow: hidden; border: 1px solid rgba(255,255,255,0.08); box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    }
    .iframe-container iframe,
    .iframe-container video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }
    .iframe-container video { display: none; background: #000; object-fit: contain; }
    .iframe-container video::-webkit-media-controls { z-index: 20; }
    .post-body-sources { display: none; }

    .player-controls { display: flex; flex-direction: column; gap: 18px; margin-top: 24px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.06); }
    .player-header-flex { display: flex; align-items: center; gap: 18px; width: 100%; }

    .player-thumb-side { 
        width: 76px; height: 76px; border-radius: var(--radius-sm); object-fit: contain; background: rgba(10, 10, 14, 0.9);
        padding: 6px; border: 1px solid rgba(255, 255, 255, 0.08); flex-shrink: 0; box-shadow: 0 4px 15px rgba(0,0,0,0.3); 
    }

    .player-info-column { flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 10px; min-width: 0; }
    .player-title-line { display: flex; align-items: center; gap: 8px; min-width: 0; flex-wrap: wrap; }
    .post-title { font-size: 20px; font-weight: 800; letter-spacing: -0.5px; line-height: 1.3; color: var(--text-main); }
    .player-dubbed-badge,
    .player-release-badge {
        display: inline-flex;
        align-items: center;
        flex: 0 1 auto;
        gap: 5px;
        max-width: 100%;
        padding: 6px 9px;
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: 7px;
        color: #fff;
        background: linear-gradient(135deg, rgba(14, 165, 233, 0.94), rgba(37, 99, 235, 0.94));
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
        font-size: 9px;
        font-weight: 900;
        line-height: 1.15;
        letter-spacing: 0;
        text-transform: uppercase;
        white-space: normal;
    }
    .player-release-badge { background: linear-gradient(135deg, rgba(168, 85, 247, 0.96), rgba(236, 72, 153, 0.96)); }
    .player-dubbed-badge i,
    .player-release-badge i { flex-shrink: 0; }
    .player-year-badge {
        display: none;
        align-items: center;
        padding: 6px 9px;
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: 7px;
        color: #fff;
        background: linear-gradient(135deg, rgba(168, 85, 247, 0.94), rgba(236, 72, 153, 0.94));
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
        font-size: 9px;
        font-weight: 900;
        line-height: 1;
    }

    .interaction-row { display: flex; align-items: center; justify-content: space-between; width: 100%; gap: 12px; }
    .interaction-btns { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }

    .btn-action-interact, .player-btn, .btn-theater {
        background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(255, 255, 255, 0.08); color: var(--text-main);
        padding: 10px 18px; border-radius: 100px; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
        font-weight: 600; font-size: 13px; display: inline-flex; align-items: center; min-height: 44px; gap: 8px; cursor: pointer; transition: var(--transition);
    }
    .btn-action-interact:hover, .btn-theater:hover { background: rgba(255,255,255,0.08); transform: translateY(-2px); border-color: rgba(255,255,255,0.15); }
    .btn-action-interact.liked { color: #fff !important; background: linear-gradient(135deg, #ec4899 0%, #f43f5e 100%) !important; border-color: transparent !important; box-shadow: 0 4px 15px rgba(236, 72, 153, 0.4); }
    .btn-action-interact.favorited { color: #fff; border-color: transparent; background: linear-gradient(135deg, #f59e0b 0%, #ea580c 100%); box-shadow: 0 4px 15px rgba(245, 158, 11, 0.4); }
    .player-btn { border-radius: var(--radius-sm); }
    .player-btn.active { background: var(--accent-gradient); color: #fff; border-color: transparent;}

    /* =========================================
       8. MENU DE EPISÓDIOS
       ========================================= */
    .series-menu-container {
        margin-top: 24px; background: rgba(255, 255, 255, 0.01); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
        border: 1px solid rgba(255, 255, 255, 0.05); border-radius: var(--radius-md); padding: 20px;
    }
    .series-header { font-size: 16px; font-weight: 800; color: #fff; margin-bottom: 16px; display: flex; align-items: center; gap: 10px; }
    .series-header i { color: #a855f7; }

    .seasons-bar {
        display: flex; gap: 8px; margin-bottom: 16px; overflow-x: auto; padding: 2px 2px 10px;
        scrollbar-width: none; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch;
    }
    .seasons-bar::-webkit-scrollbar { display: none; }
    .season-btn {
        flex: 0 0 auto; display: inline-flex; align-items: center; gap: 9px; scroll-snap-align: start;
        background: rgba(255,255,255,0.035); border: 1px solid rgba(255,255,255,0.09); color: var(--text-muted); padding: 9px 12px;
        border-radius: 10px; min-height: 46px; font-size: 13px; font-weight: 800; cursor: pointer; transition: var(--transition); white-space: nowrap;
    }
    .season-btn i { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 7px; background: rgba(255,255,255,0.06); color: rgba(255,255,255,0.55); }
    .season-count { min-width: 24px; padding: 3px 6px; border-radius: 6px; background: rgba(255,255,255,0.07); color: var(--text-muted); font-size: 10px; text-align: center; }
    .season-btn:hover { background: rgba(255,255,255,0.08); color: #fff; border-color: rgba(168,85,247,0.35); }
    .season-btn.active { background: var(--accent-gradient); color: #fff; border-color: transparent; box-shadow: 0 7px 18px rgba(99,102,241,0.25); }
    .season-btn.active i, .season-btn.active .season-count { background: rgba(255,255,255,0.18); color: #fff; }

    .episodes-list {
        display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px;
        max-height: 300px; overflow-y: auto; padding: 2px 6px 2px 2px; -webkit-overflow-scrolling: touch;
        scrollbar-color: rgba(168,85,247,0.45) rgba(255,255,255,0.04); scrollbar-width: thin;
    }
    .ep-btn {
        background: rgba(0,0,0,0.28); border: 1px solid rgba(255,255,255,0.07); color: var(--text-muted); padding: 10px 12px;
        border-radius: 9px; min-height: 58px; font-size: 13px; font-weight: 600; cursor: pointer; transition: var(--transition);
        text-align: left; display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: 10px;
    }
    .ep-number { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 8px; background: rgba(255,255,255,0.06); color: #fff; font-size: 11px; font-weight: 900; }
    .ep-title { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .ep-btn:hover { background: rgba(255,255,255,0.055); color: #fff; border-color: rgba(168,85,247,0.4); transform: translateY(-2px); }
    .ep-btn.active { background: linear-gradient(135deg, rgba(99,102,241,0.17), rgba(168,85,247,0.13)); color: #fff; border-color: #a855f7; box-shadow: inset 3px 0 #a855f7; }
    .ep-btn.active .ep-number { background: var(--accent-gradient); }

    /* =========================================
       9. MODAIS & RODAPÉ
       ========================================= */
    .modal-overlay {
        position: fixed; top: 0; left: 0; width: 100%; height: 100%; height: 100dvh;
        background: rgba(0, 0, 0, 0.8); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
        display: flex; align-items: center; justify-content: center; z-index: 3000; opacity: 0; visibility: hidden;
        transition: all 0.4s ease; padding-top: var(--safe-area-top); padding-bottom: var(--safe-area-bottom);
    }
    .modal-overlay.active { opacity: 1; visibility: visible; }
    
    .modal-content {
        background: rgba(18, 18, 24, 0.98); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
        border: 1px solid rgba(255, 255, 255, 0.08); box-shadow: 0 30px 60px rgba(0, 0, 0, 0.8);
        width: 90%; max-width: 600px; border-radius: var(--radius-lg); position: relative; max-height: 85vh; max-height: 85dvh;
        display: flex; flex-direction: column; transform: translateY(30px) scale(0.95); opacity: 0; transition: var(--transition);
    }
    .modal-overlay.active .modal-content { transform: translateY(0) scale(1); opacity: 1; }

    .modal-header { padding: 24px 30px; border-bottom: 1px solid rgba(255, 255, 255, 0.05); display: flex; justify-content: space-between; align-items: center; }
    .modal-header h2 { font-size: 22px; font-weight: 800; display: flex; align-items: center; gap: 12px; }
    .modal-header h2 i { color: #a855f7; }
    .modal-close {
        width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,0.05);
        display: flex; align-items: center; justify-content: center; cursor: pointer; color: var(--text-muted); transition: var(--transition);
    }
    .modal-close:hover { background: rgba(239, 68, 68, 0.2); color: var(--live-color); transform: rotate(90deg); }

    .modal-body { padding: 30px; overflow-y: auto; font-size: 15px; color: var(--text-muted); line-height: 1.7; -webkit-overflow-scrolling: touch; }
    .faq-item { margin-bottom: 24px; }
    .faq-question { font-size: 16px; font-weight: 700; color: var(--text-main); margin-bottom: 8px; }
    .terms-text h3 { color: var(--text-main); font-size: 16px; margin: 20px 0 10px 0; font-weight: 700; }

    .support-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 16px; margin-bottom: 0; }
    .support-card { background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: var(--radius-md); padding: 24px 16px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 12px; transition: var(--transition); min-height: 44px; }
    .support-card:hover { background: rgba(255, 255, 255, 0.06); border-color: rgba(168, 85, 247, 0.4); transform: translateY(-4px); }
    .support-card i { font-size: 36px; }
    .support-card.whatsapp i { color: #25d366; }
    .support-card.facebook i { color: #1877f2; }
    .support-card.instagram i { color: #e4405f; }
    .support-card span { font-weight: 700; color: var(--text-main); font-size: 15px; }

    /* MODAL DE INSTALAÇÃO */
    .install-modal-content { max-width: 720px; }
    .install-intro { margin: 0 0 22px; color: var(--text-muted); }
    .install-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
    .install-option { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius-md); padding: 22px; }
    .install-option-header { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; color: var(--text-main); }
    .install-option-header i { width: 42px; height: 42px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 21px; flex-shrink: 0; }
    .install-option.android .install-option-header i { color: #4ade80; background: rgba(34,197,94,0.12); }
    .install-option.ios .install-option-header i { color: #f8fafc; background: rgba(255,255,255,0.1); }
    .install-option h3 { margin: 0; font-size: 17px; color: var(--text-main); }
    .install-option ol { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 10px; }
    .install-option li { padding-left: 3px; color: var(--text-muted); line-height: 1.55; }
    .install-option li::marker { color: #a855f7; font-weight: 800; }
    .install-note { display: flex; gap: 10px; align-items: flex-start; margin-top: 18px; padding: 14px 16px; border-radius: var(--radius-sm); background: rgba(245,158,11,0.08); border: 1px solid rgba(245,158,11,0.2); color: var(--text-muted); font-size: 13px; line-height: 1.5; }
    .install-note i { color: var(--fav-color); margin-top: 3px; flex-shrink: 0; }

    /* Estilos do Modal Adulto */
    .adult-input-group {
        margin: 20px 0;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }
    .adult-input-group input {
        width: 100%;
        background: rgba(255, 255, 255, 0.05);
        border: 1px solid rgba(255, 255, 255, 0.15);
        padding: 14px 20px;
        border-radius: var(--radius-sm);
        color: #fff;
        font-size: 16px;
        outline: none;
        text-align: center;
        letter-spacing: 4px;
        transition: var(--transition);
    }
    .adult-input-group input:focus {
        border-color: #ef4444;
        box-shadow: 0 0 15px rgba(239, 68, 68, 0.3);
    }
    .btn-unlock-adult {
        background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
        color: #fff;
        padding: 14px;
        border-radius: var(--radius-sm);
        font-weight: 700;
        font-size: 15px;
        cursor: pointer;
        width: 100%;
        transition: var(--transition);
        border: none;
        box-shadow: 0 4px 15px rgba(239, 68, 68, 0.4);
    }
    .btn-unlock-adult:hover {
        opacity: 0.9;
        transform: translateY(-2px);
    }
    .error-msg-adult {
        color: #ef4444;
        font-size: 13px;
        font-weight: 600;
        text-align: center;
        display: none;
        margin-top: 5px;
    }

    /* Estilos do Modal de Alerta de Proteção */
    .btn-close-alert {
        background: var(--accent-gradient);
        color: #fff;
        padding: 12px 24px;
        border-radius: var(--radius-sm);
        font-weight: 700;
        font-size: 14px;
        cursor: pointer;
        width: 100%;
        margin-top: 15px;
        transition: var(--transition);
        border: none;
        box-shadow: 0 4px 15px rgba(168, 85, 247, 0.4);
    }
    .btn-close-alert:hover {
        opacity: 0.9;
        transform: translateY(-2px);
    }

    /* =========================================
       10. BOTÃO FLUTUANTE DE SUPORTE
       ========================================= */
    .floating-support-btn {
        position: fixed; bottom: calc(30px + var(--safe-area-bottom)); right: 30px; width: 58px; height: 58px; border-radius: 50%;
        background: var(--accent-gradient); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 22px;
        box-shadow: 0 10px 25px rgba(168, 85, 247, 0.4), 0 0 15px var(--accent-glow); z-index: 999; cursor: pointer; transition: var(--transition); border: 1px solid rgba(255, 255, 255, 0.2);
    }
    .floating-support-btn:hover { transform: scale(1.1) translateY(-4px); box-shadow: 0 15px 35px rgba(168, 85, 247, 0.6), 0 0 25px var(--accent-glow); }

    /* AVISO SOBRE DONATIVOS */
    .donation-notice {
        background: linear-gradient(90deg, rgba(185, 28, 28, 0.12), rgba(239, 68, 68, 0.2), rgba(185, 28, 28, 0.12));
        border-top: 1px solid rgba(248, 113, 113, 0.35); border-bottom: 1px solid rgba(248, 113, 113, 0.35);
        padding: 16px 48px; display: flex; align-items: center; justify-content: center; gap: 12px; color: #fee2e2; font-size: 14px; line-height: 1.5; text-align: center;
    }
    .donation-notice i { color: #f87171; font-size: 18px; flex-shrink: 0; }
    .donation-notice strong { color: #fca5a5; font-weight: 700; }

    .site-footer { 
        background: rgba(18, 18, 24, 0.6); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
        padding: 32px 48px calc(32px + var(--safe-area-bottom)) 48px; border-top: 1px solid rgba(255,255,255,0.03); 
    }
    .footer-bottom { max-width: 1200px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; color: var(--text-muted); font-size: 14px; flex-wrap: wrap; gap: 20px; font-weight: 500; }
    .footer-links { display: flex; gap: 24px; }
    .footer-links a { color: var(--text-muted); cursor: pointer; transition: var(--transition); }
    .footer-links a:hover { color: #fff; }

    /* =========================================
       11. MEDIA QUERIES (RESPONSIVIDADE MOBILE)
       ========================================= */
    @media (max-width: 1500px) {
        .grid-advanced { grid-template-columns: repeat(4, 1fr); gap: 16px; }
    }

    @media (max-width: 1200px) {
        .grid-advanced { grid-template-columns: repeat(3, 1fr); gap: 16px; }
    }

    @media (max-width: 992px) {
        .sidebar { 
            top: 0;
            height: 100vh;
            height: 100dvh;
            padding-top: var(--safe-area-top);
            transform: translateX(-100%); 
            z-index: 2000; 
            box-shadow: 10px 0 30px rgba(0,0,0,0.8); 
        }
        body:not(.sidebar-collapsed) .sidebar { transform: translateX(0); }
        .main-content { margin-left: 0 !important; width: 100%; }
        
        .topbar { padding-left: 16px; padding-right: 16px; gap: 10px; }
        .content-area { padding: 20px 16px; }
        .site-footer { padding-left: 16px; padding-right: 16px; }
        .donation-notice { padding: 16px; }
    }

    /* DESATIVAR ALERTA DO TOPO E SLIDER NO MOBILE (SELOS DO PLAYER PERMANECEM VISÍVEIS) */
    @media (max-width: 768px) {
        .app-alert-topbar { 
            display: none !important; 
        }

        .hero-slider {
            display: none !important;
        }

        .content-area { padding: 16px 14px 24px; }
        .category-buttons-bar { gap: 8px; margin-bottom: 24px; padding: 2px 0 10px; scroll-snap-type: x proximity; }
        .cat-btn { min-height: 42px; padding: 9px 14px; gap: 7px; font-size: 12px; flex-shrink: 0; scroll-snap-align: start; }
        .section-header { margin-bottom: 16px; align-items: center; }
        .section-title { min-width: 0; font-size: 20px; line-height: 1.2; overflow-wrap: anywhere; }
        .grid-advanced { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
        .topbar-left { min-width: 0; gap: 12px; }
        .search-box { min-width: 0; }
        .search-box input { padding: 10px 16px 10px 40px; font-size: 16px; width: 100%; }
        .user-actions { flex-shrink: 0; gap: 8px; }
    }

    @media (max-width: 576px) {
        .content-area { padding: 14px 10px 22px; }
        .grid-advanced { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
        .category-buttons-bar { margin-left: -2px; margin-right: -2px; }
        .cat-btn { padding: 8px 12px; font-size: 11px; }
        .section-title { font-size: 18px; }
        .player-wrapper { padding: 12px; margin-bottom: 24px; }
        .player-tip-alert { font-size: 12px; padding: 12px; flex-direction: column; text-align: center; }
        .player-selector-bar { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 8px; }
        .player-btn { font-size: 11px; padding: 8px 12px; white-space: nowrap; flex-shrink: 0; }
        .series-menu-container { margin-top: 18px; padding: 14px 12px; border-radius: 12px; }
        .series-header { margin-bottom: 12px; font-size: 15px; }
        .seasons-bar { margin: 0 -2px 12px; gap: 7px; padding-bottom: 8px; }
        .season-btn { min-height: 44px; padding: 8px 10px; font-size: 12px; gap: 7px; }
        .season-btn i { width: 25px; height: 25px; }
        .episodes-list { grid-template-columns: 1fr; gap: 7px; max-height: 330px; padding-right: 3px; }
        .ep-btn { min-height: 54px; padding: 8px 10px; }
        .player-header-flex { flex-direction: column; align-items: flex-start; gap: 10px; }
        .player-thumb-side { display: none; }
        .post-title { font-size: 16px; line-height: 1.3; }
        .player-title-line { gap: 5px; }
        .player-year-badge,
        .player-dubbed-badge,
        .player-release-badge { padding: 4px 6px; border-radius: 5px; font-size: 7px; line-height: 1.15; }
        .player-dubbed-badge,
        .player-release-badge { gap: 3px; }
        .player-dubbed-badge i,
        .player-release-badge i { font-size: 7px; }
        .interaction-row { flex-direction: column; gap: 10px; align-items: stretch; }
        .interaction-btns { width: 100%; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 6px; }
        .btn-action-interact, .btn-theater { padding: 8px 4px; font-size: 11px; justify-content: center; flex-direction: column; gap: 4px; border-radius: 10px; }
        .notif-dropdown { width: 280px; right: -10px; }
        .install-options { grid-template-columns: 1fr; }
        .install-modal-content { width: calc(100% - 20px); max-height: 90dvh; }
        .install-modal-content .modal-header { padding: 18px 16px; }
        .install-modal-content .modal-header h2 { font-size: 18px; }
        .install-modal-content .modal-body { padding: 18px 16px; }
        .install-option { padding: 18px 16px; }
        .floating-support-btn { width: 50px; height: 50px; font-size: 18px; bottom: calc(15px + var(--safe-area-bottom)); right: 15px; }

        /* SELOS EM ECRÃS PEQUENOS */
        .badge-live-group { top: 4px; left: 4px; gap: 2px; }
        .badge-live { font-size: 7px; padding: 2px 4px; }
        .badge-live::before { width: 3px; height: 3px; }
        .card-logo-badge { font-size: 7px; padding: 2px 4px; }
        .card-logo-badge i { font-size: 7px; }
        .badge-qualities { top: 4px; right: 4px; gap: 2px; }
        .badge-hd, .badge-sd { font-size: 7px; padding: 2px 4px; }
    }

    @media (max-width: 360px) {
        .content-area { padding-left: 8px; padding-right: 8px; }
        .grid-advanced { gap: 7px; }
        .cat-btn { min-height: 40px; }
    }

    @media (prefers-reduced-motion: reduce) {
        .stream-card.poster-card,
        .stream-card.poster-card img,
        .stream-card.poster-card .card-labels { transition: none !important; }
    }

/* =========================================
   ZenTV Mobile — ajustes sem alterar desktop
   ========================================= */
@media (max-width: 768px) {
  body { overflow-x: hidden; }
  .app-alert-topbar {
    min-height: 42px;
    padding: 7px 10px;
    font-size: 10px;
    gap: 7px;
  }
  .app-alert-topbar .app-icon { font-size: 12px; }
  .btn-download-apk { padding: 6px 8px; font-size: 9px; }

  .app-container, .main-wrapper { width: 100%; min-width: 0; }

  .sidebar {
    position: fixed;
    left: -280px;
    top: 0;
    bottom: 0;
    width: 270px;
    z-index: 1000;
    transition: left .25s ease;
  }
  body:not(.sidebar-collapsed) .sidebar { left: -280px; }
  body.sidebar-collapsed .sidebar { left: 0; }

  .main-content { width: 100%; margin-left: 0; }
  .topbar {
    height: 58px;
    padding: 8px 10px;
    gap: 8px;
  }
  .topbar-left { min-width: 0; flex: 1; }
  .user-actions { gap: 4px; }
  .action-btn { width: 38px; height: 38px; }

  .search-box {
    height: 38px;
    max-width: none;
    width: 100%;
  }
  .search-box form { height: 100%; }
  .search-box form > i { left: 14px; top: 50%; }
  .search-box input { height: 100%; font-size: 12px; padding-left: 40px; }

  .content-area {
    padding: 12px 10px 80px;
  }

  .hero-slider {
    height: 190px;
    margin-bottom: 14px;
    border-radius: 12px;
  }
  .slide-item {
    padding: 25px 20px;
  }
  .slide-title {
    font-size: 22px !important;
    line-height: 1.1;
    max-width: 78%;
  }
  .slide-desc {
    font-size: 11px !important;
    max-width: 72%;
  }
  .slide-tag { font-size: 8px !important; }

  .category-buttons-bar {
    display: flex;
    overflow-x: auto;
    flex-wrap: nowrap;
    gap: 7px;
    padding: 2px 0 9px;
    margin-bottom: 10px;
    scrollbar-width: none;
  }
  .category-buttons-bar::-webkit-scrollbar { display: none; }
  .cat-btn {
    flex: 0 0 auto;
    min-height: 36px;
    padding: 8px 10px;
    font-size: 10px;
    border-radius: 9px;
  }
  .cat-btn .label-count { font-size: 8px; }

  .section-header {
    margin: 16px 2px 10px;
  }
  .section-title { font-size: 18px !important; }

  .grid-advanced {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }
  .stream-card { min-width: 0; border-radius: 10px; }
  .card-thumb {
    aspect-ratio: 2 / 3;
    border-radius: 10px 10px 0 0;
  }
  .card-info { padding: 8px !important; }
  .card-title {
    font-size: 12px !important;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .card-labels {
    gap: 3px !important;
    flex-wrap: nowrap;
    overflow: hidden;
  }
  .card-label-tag {
    font-size: 7px !important;
    padding: 3px 5px !important;
    white-space: nowrap;
  }
  .badge-live, .card-logo-badge, .badge-hd, .badge-sd {
    font-size: 7px !important;
    padding: 3px 5px !important;
  }
  .play-circle {
    width: 40px !important;
    height: 40px !important;
    font-size: 13px !important;
  }

  .player-wrapper {
    width: 100%;
    max-width: none;
    padding: 10px;
    margin-bottom: 20px;
    border-radius: 12px;
  }
  .player-selector-bar {
    overflow-x: auto;
    flex-wrap: nowrap;
    scrollbar-width: none;
    gap: 6px;
    margin-bottom: 8px;
  }
  .player-selector-bar::-webkit-scrollbar { display:none; }
  .player-btn {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 9px !important;
    padding: 8px 9px !important;
  }
  .iframe-container {
    width: 100% !important;
    aspect-ratio: 16 / 9;
    height: auto !important;
    border-radius: 9px;
    overflow: hidden;
  }
  .iframe-container iframe,
  .iframe-container video {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: contain;
  }
  .player-header-flex {
    gap: 9px;
    align-items: center;
  }
  .player-thumb-side {
    width: 55px !important;
    height: 78px !important;
    flex: 0 0 55px;
  }
  .post-title {
    font-size: 17px !important;
    line-height: 1.15;
  }
  .interaction-row {
    display: block !important;
  }
  .interaction-btns {
    display: flex;
    overflow-x: auto;
    gap: 5px;
    margin-top: 8px;
    scrollbar-width: none;
  }
  .interaction-btns::-webkit-scrollbar { display:none; }
  .btn-action-interact, .btn-theater {
    flex: 0 0 auto;
    font-size: 9px !important;
    padding: 7px 8px !important;
  }

  .player-tip-alert {
    font-size: 10px !important;
    padding: 8px !important;
    margin-bottom: 8px !important;
  }

  .notif-dropdown {
    position: fixed !important;
    top: 61px !important;
    right: 8px !important;
    left: 8px !important;
    width: auto !important;
    max-width: none !important;
  }

  .adult-modal-box {
    width: calc(100% - 30px);
    max-width: 390px;
    padding: 24px 18px;
  }

  /* menu aberto cria uma camada sobre o conteúdo */
  body.sidebar-collapsed::after {
    content: "";
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.62);
    z-index: 900;
  }
  body.sidebar-collapsed .sidebar { box-shadow: 15px 0 45px rgba(0,0,0,.55); }

  /* barra inferior mobile */
  .mobile-bottom-nav {
    display: flex !important;
    position: fixed;
    left: 8px;
    right: 8px;
    bottom: 8px;
    height: 58px;
    z-index: 800;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(17,17,23,.94);
    backdrop-filter: blur(18px);
    border-radius: 16px;
    align-items: center;
    justify-content: space-around;
    box-shadow: 0 10px 35px rgba(0,0,0,.45);
  }
  .mobile-bottom-nav a {
    color: var(--text-muted);
    text-decoration: none;
    font-size: 9px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:4px;
    min-width:55px;
  }
  .mobile-bottom-nav i { font-size: 16px; }
  .mobile-bottom-nav a.active,
  .mobile-bottom-nav a:hover { color: var(--accent); }

  .theater-mode .topbar,
  .theater-mode .app-alert-topbar,
  .theater-mode .mobile-bottom-nav { display:none !important; }
  .theater-mode .content-area { padding:0 !important; }
  .theater-mode .player-wrapper {
    max-width:none;
    width:100%;
    margin:0;
    border-radius:0;
    padding:0;
    min-height:100vh;
  }
  .theater-mode .iframe-container {
    aspect-ratio:auto;
    height:56.25vw !important;
    min-height:220px;
  }
}

@media (min-width: 769px) {
  .mobile-bottom-nav { display:none !important; }
}

/* =========================================
   ZenTV FIX — correções de layout sem alterar o visual
   ========================================= */
.main-content {
  width: auto;
  min-width: 0;
}

@media (max-width: 992px) {
  .main-content {
    width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
  }
}

@media (max-width: 768px) {
  /* O menu mobile usa left; não combinar com o transform das regras antigas. */
  .sidebar {
    transform: none !important;
    left: -280px !important;
    top: 0 !important;
    bottom: 0 !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    z-index: 2000 !important;
  }
  body:not(.sidebar-collapsed) .sidebar {
    transform: none !important;
    left: -280px !important;
  }
  body.sidebar-collapsed .sidebar {
    transform: none !important;
    left: 0 !important;
  }
  body.sidebar-collapsed::after {
    z-index: 1900 !important;
  }
  .main-content {
    width: 100% !important;
    margin-left: 0 !important;
    min-width: 0 !important;
  }
  .topbar,
  .content-area {
    max-width: 100%;
  }
  .search-box,
  .search-box form,
  .search-box input {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .mobile-bottom-nav {
    z-index: 1800 !important;
  }
}

/* Selos configuraveis pelo painel admin */
.poster-special-badge.subtitled{background:linear-gradient(135deg,rgba(14,165,233,.96),rgba(99,102,241,.96));}
.badge-4k{background:linear-gradient(135deg,rgba(168,85,247,.96),rgba(236,72,153,.96));}

/* =========================================
   ZenTV — cards da listagem fiéis ao XML original
   Corrige apenas overrides mobile adicionados na conversão PHP.
   ========================================= */
@media (max-width: 768px) {
  html body .grid-advanced {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  html body .stream-card:not(.poster-card) {
    min-width: 0;
    border-radius: var(--radius-md) !important;
    padding: 6px !important;
  }

  html body .stream-card:not(.poster-card) .card-thumb {
    aspect-ratio: auto !important;
    width: 100% !important;
    min-height: 100px !important;
    height: auto !important;
    padding: 10px !important;
    border-radius: var(--radius-sm) !important;
  }

  html body .stream-card:not(.poster-card) .card-thumb img,
  html body .stream-card:not(.poster-card) img {
    display: block !important;
    margin: 0 auto !important;
    min-width: 80px !important;
    max-width: 160px !important;
    min-height: 50px !important;
    max-height: 100px !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  html body .stream-card:not(.poster-card) .card-info {
    padding: 10px 8px 6px 8px !important;
    gap: 2px !important;
  }

  html body .stream-card:not(.poster-card) .card-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    text-overflow: clip !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  html body .stream-card:not(.poster-card) .card-labels {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    overflow: visible !important;
  }

  html body .stream-card:not(.poster-card) .card-label-tag {
    font-size: 11px !important;
    font-weight: 500 !important;
    padding: 0 !important;
    white-space: normal !important;
  }

  html body .stream-card:not(.poster-card) .badge-live-group {
    top: 4px !important;
    left: 4px !important;
    gap: 2px !important;
  }
  html body .stream-card:not(.poster-card) .badge-live {
    font-size: 7px !important;
    padding: 2px 4px !important;
  }
  html body .stream-card:not(.poster-card) .badge-live::before {
    width: 3px !important;
    height: 3px !important;
  }
  html body .stream-card:not(.poster-card) .card-logo-badge {
    font-size: 7px !important;
    padding: 2px 4px !important;
  }
  html body .stream-card:not(.poster-card) .card-logo-badge i { font-size: 7px !important; }
  html body .stream-card:not(.poster-card) .badge-qualities {
    top: 4px !important;
    right: 4px !important;
    gap: 2px !important;
  }
  html body .stream-card:not(.poster-card) .badge-hd,
  html body .stream-card:not(.poster-card) .badge-sd {
    font-size: 7px !important;
    padding: 2px 4px !important;
  }
}

@media (max-width: 576px) {
  html body .grid-advanced { gap: 9px !important; }
}

@media (max-width: 360px) {
  html body .grid-advanced { gap: 7px !important; }
}


/* =========================================
   Mantém a lupa ancorada dentro do formulário em todos os breakpoints.
   ========================================= */
html body .topbar .search-box {
  position: relative !important;
}
html body .topbar .search-box form {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 44px !important;
  margin: 0 !important;
}
html body .topbar .search-box .zentv-search-icon {
  position: absolute !important;
  left: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 18px !important;
  height: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--text-muted) !important;
  line-height: 1 !important;
  z-index: 5 !important;
  pointer-events: none !important;
}
html body .topbar .search-box .zentv-search-icon i {
  position: static !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  font-size: 15px !important;
  line-height: 1 !important;
}
html body .topbar .search-box input {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 20px 0 52px !important;
  line-height: 44px !important;
}
html body .topbar .search-box:focus-within .zentv-search-icon {
  color: #a855f7 !important;
}
@media (max-width: 768px) {
  html body .topbar .search-box form,
  html body .topbar .search-box input {
    height: 38px !important;
  }
  html body .topbar .search-box input {
    padding: 0 14px 0 42px !important;
    line-height: 38px !important;
  }
  html body .topbar .search-box .zentv-search-icon {
    left: 14px !important;
  }
}

/* =========================================
   ZenTV — imagens dos cards da página inicial
   ========================================= */
html body #canais-grid .stream-card:not(.poster-card) .card-thumb {
  position: relative !important;
  width: 100% !important;
  min-height: 100px !important;
  height: auto !important;
  aspect-ratio: auto !important;
  background: #07070a !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px !important;
  overflow: hidden !important;
  border-radius: var(--radius-sm) !important;
  border: 1px solid rgba(98, 98, 98, 0.06) !important;
}
html body #canais-grid .stream-card:not(.poster-card) .card-thumb img {
  display: block !important;
  margin: 0 auto !important;
  min-width: 80px !important;
  max-width: 160px !important;
  min-height: 50px !important;
  max-height: 100px !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  transition: transform .4s ease, filter .4s ease !important;
  filter: brightness(.95) contrast(1.02) !important;
}
html body #canais-grid .stream-card:not(.poster-card):hover .card-thumb img {
  transform: scale(1.08) !important;
  filter: brightness(1.1) contrast(1.05) !important;
}


/* ZenTV: efeitos dos botoes Curtir/Favoritos no player */
#likeBtn, #favBtn { position: relative; overflow: hidden; }
#likeBtn i, #favBtn i { transition: transform .28s cubic-bezier(.2,.8,.2,1), filter .28s ease; }
#likeBtn:hover i, #favBtn:hover i { transform: scale(1.15); }
#likeBtn.liked i { animation: zentv-heart .42s cubic-bezier(.2,.8,.2,1); filter: drop-shadow(0 0 7px rgba(255,255,255,.45)); }
#favBtn.favorited i { animation: zentv-bookmark .42s cubic-bezier(.2,.8,.2,1); filter: drop-shadow(0 0 7px rgba(255,255,255,.4)); }
#likeBtn.interaction-pop, #favBtn.interaction-pop { animation: zentv-button-pop .42s cubic-bezier(.2,.8,.2,1); }
@keyframes zentv-heart { 0%{transform:scale(1)} 45%{transform:scale(1.45) rotate(-8deg)} 100%{transform:scale(1)} }
@keyframes zentv-bookmark { 0%{transform:translateY(0) scale(1)} 45%{transform:translateY(-3px) scale(1.3)} 100%{transform:translateY(0) scale(1)} }
@keyframes zentv-button-pop { 0%{transform:scale(1)} 45%{transform:scale(1.06)} 100%{transform:scale(1)} }
@media (prefers-reduced-motion: reduce) { #likeBtn, #favBtn, #likeBtn i, #favBtn i { animation:none !important; transition:none !important; } }

/* ZenTV - episódios de séries */
.series-episodes{margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.08)}
.series-episodes>h2{font-size:20px;margin:0 0 18px;display:flex;align-items:center;gap:10px}
.season-block{margin-top:18px}.season-block h3{font-size:15px;margin:0 0 10px;color:var(--text-muted)}
.episode-list{display:grid;gap:8px}.episode-link{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);border-radius:10px;color:var(--text-main);text-decoration:none;transition:var(--transition)}
.episode-link:hover,.episode-link.active{background:rgba(168,85,247,.12);border-color:rgba(168,85,247,.45);transform:translateX(3px)}
.episode-link .episode-number{font-weight:800;color:#c084fc;min-width:38px}.episode-link span:nth-child(2){flex:1}.episode-link i{font-size:12px;color:var(--text-muted)}


/* Top 5 Filmes — */
.top5-filmes-section{margin:8px 0 34px;overflow:hidden}.top5-filmes-section .section-title i{color:#f59e0b}.top5-filmes-row{display:flex;gap:18px;overflow-x:auto;padding:10px 8px 18px 34px;scrollbar-width:thin}.top5-filme-card{position:relative;flex:0 0 190px;min-width:190px;color:var(--text-main);text-decoration:none;transition:transform .25s ease}.top5-filme-card:hover{transform:translateY(-7px)}.top5-rank{position:absolute;left:-34px;bottom:28px;z-index:0;font-size:116px;line-height:.72;font-weight:1000;letter-spacing:-10px;color:#09090d;-webkit-text-stroke:3px rgba(255,255,255,.82);text-shadow:0 8px 24px rgba(0,0,0,.7);font-family:Arial Black,Arial,sans-serif}.top5-poster{position:relative;z-index:1;margin-left:34px;width:156px;aspect-ratio:2/3;border-radius:13px;overflow:hidden;background:#111;border:1px solid rgba(255,255,255,.09);box-shadow:0 12px 28px rgba(0,0,0,.38)}.top5-poster img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}.top5-filme-card:hover .top5-poster img{transform:scale(1.06)}.top5-play{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.25);opacity:0;transition:.25s}.top5-play i{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.92);color:#111}.top5-filme-card:hover .top5-play{opacity:1}.top5-name{position:relative;z-index:2;margin:10px 0 0 34px;width:156px;font-size:14px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}@media(max-width:600px){.top5-filmes-row{gap:10px;padding-left:28px}.top5-filme-card{flex-basis:142px;min-width:142px}.top5-rank{left:-27px;bottom:25px;font-size:88px;-webkit-text-stroke-width:2px}.top5-poster{margin-left:27px;width:115px;border-radius:10px}.top5-name{margin-left:27px;width:115px;font-size:12px}}

/* Top 5 -  */
.top5-filmes-row{
  gap:22px;
  padding-left:8px;
}
.top5-filme-card{
  display:grid;
  grid-template-columns:62px 156px;
  grid-template-rows:auto auto;
  align-items:end;
  flex:0 0 218px;
  min-width:218px;
  overflow:visible;
}
.top5-rank{
  position:relative;
  left:auto;
  bottom:auto;
  z-index:0;
  grid-column:1;
  grid-row:1;
  align-self:end;
  justify-self:end;
  width:70px;
  margin-right:-8px;
  padding-bottom:4px;
  font-size:116px;
  line-height:.72;
  text-align:right;
  pointer-events:none;
}
.top5-poster{
  grid-column:2;
  grid-row:1;
  margin-left:0;
  width:156px;
  z-index:1;
}
.top5-name{
  grid-column:2;
  grid-row:2;
  margin:10px 0 0;
  width:156px;
}
@media(max-width:600px){
  .top5-filmes-row{gap:14px;padding-left:6px}
  .top5-filme-card{grid-template-columns:48px 115px;flex-basis:163px;min-width:163px}
  .top5-rank{left:auto;bottom:auto;width:54px;margin-right:-6px;padding-bottom:3px;font-size:88px}
  .top5-poster{margin-left:0;width:115px}
  .top5-name{margin-left:0;width:115px}
}

/* Slides cadastrados pelo painel Admin */
.slide-item.admin-slide{background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important}
.slide-admin-button{display:inline-flex;align-items:center;gap:9px;margin-top:18px;padding:11px 18px;border-radius:999px;background:rgba(255,255,255,.94);color:#0b0b10!important;font-weight:800;text-decoration:none;transition:.2s}
.slide-admin-button:hover{transform:translateY(-2px);background:#fff}

.brand-logo-image{width:38px;height:38px;object-fit:contain;border-radius:9px;margin-right:12px;flex-shrink:0}

/* ZenTV - menu de episodios cinematografico aprovado */
.series-episodes{margin-top:30px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08)}
.series-season-tabs{display:flex;gap:12px;overflow-x:auto;padding:2px 1px 18px;scrollbar-width:none}.series-season-tabs::-webkit-scrollbar{display:none}
.series-season-tab{appearance:none;border:1px solid rgba(255,255,255,.1);background:#11151d;color:#aeb7c7;border-radius:15px;padding:13px 24px;font:700 15px/1 inherit;white-space:nowrap;cursor:pointer;transition:.22s ease}
.series-season-tab:hover{color:#fff;border-color:rgba(168,85,247,.5);background:rgba(168,85,247,.1)}.series-season-tab.active{color:#fff;background:linear-gradient(135deg,#5b21b6,#7e22ce);border-color:#a855f7;box-shadow:0 8px 25px rgba(126,34,206,.22)}
.series-episodes>h2{font-size:24px;margin:0 0 18px;display:flex;align-items:center;gap:12px}.series-episodes>h2 i{font-size:20px;color:#fff}
.series-episodes .season-block{display:none;margin:0}.series-episodes .season-block.active{display:block}.series-episodes .episode-list{display:grid;gap:9px}
.series-episodes .episode-link{display:grid;grid-template-columns:180px 54px minmax(0,1fr) auto 48px;align-items:center;gap:14px;min-height:92px;padding:8px 14px 8px 8px;border:1px solid rgba(255,255,255,.09);background:linear-gradient(90deg,rgba(18,21,28,.96),rgba(12,15,21,.96));border-radius:15px;color:var(--text-main);text-decoration:none;transition:.22s ease;overflow:hidden}
.series-episodes .episode-link:hover{transform:translateY(-1px);border-color:rgba(168,85,247,.38);background:linear-gradient(90deg,rgba(30,22,42,.95),rgba(15,16,24,.97))}.series-episodes .episode-link.active{transform:none;border-color:#b24cff;background:linear-gradient(90deg,rgba(73,26,105,.28),rgba(25,17,42,.9));box-shadow:inset 0 0 30px rgba(168,85,247,.06),0 0 0 1px rgba(168,85,247,.08)}
.series-episodes .episode-thumb{position:relative;display:block;width:180px;height:76px;border-radius:10px;overflow:hidden;background:#0a0a0d}.series-episodes .episode-thumb img{width:100%;height:100%;object-fit:cover;display:block}.episode-thumb-play{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.15);opacity:0;transition:.2s}.episode-link:hover .episode-thumb-play{opacity:1}.episode-thumb-play i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.72);color:#fff;font-size:11px;padding-left:2px}
.series-episodes .episode-number{min-width:0;font-size:20px;font-weight:900;color:#c05cff;text-align:center}.episode-copy{display:flex;min-width:0;flex-direction:column;gap:6px}.episode-copy strong{font-size:16px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.episode-copy small{font-size:13px;color:#9aa4b5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.episode-duration{display:flex;align-items:center;gap:8px;color:#aeb8c9;font-size:14px;white-space:nowrap}.episode-duration i{font-size:16px}.episode-play{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#202631;color:#fff;transition:.2s}.episode-play i{font-size:13px;padding-left:2px}.episode-link.active .episode-play{background:linear-gradient(135deg,#c05cff,#8b5cf6);box-shadow:0 0 20px rgba(168,85,247,.35)}
@media(max-width:900px){.series-episodes .episode-link{grid-template-columns:120px 44px minmax(0,1fr) 42px}.series-episodes .episode-thumb{width:120px;height:68px}.episode-duration{display:none}.episode-copy small{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}
@media(max-width:600px){.series-season-tab{padding:11px 17px;font-size:13px}.series-episodes>h2{font-size:21px}.series-episodes .episode-link{grid-template-columns:82px 34px minmax(0,1fr) 36px;gap:9px;min-height:70px;padding:7px}.series-episodes .episode-thumb{width:82px;height:54px;border-radius:8px}.series-episodes .episode-number{font-size:15px}.episode-copy strong{font-size:13px}.episode-copy small{font-size:11px}.episode-play{width:34px;height:34px}.episode-play i{font-size:10px}}

/* ZenTV - episodios compactos */
.series-episodes .episode-list{gap:7px}
.series-episodes .episode-link{grid-template-columns:132px 44px minmax(0,1fr) auto 38px;gap:11px;min-height:70px;padding:6px 10px 6px 6px;border-radius:12px}
.series-episodes .episode-thumb{width:132px;height:58px;border-radius:8px}
.series-episodes .episode-number{font-size:17px}
.series-episodes .episode-copy{gap:3px}
.series-episodes .episode-copy strong{font-size:14px}
.series-episodes .episode-copy small{font-size:11px}
.series-episodes .episode-duration{gap:6px;font-size:12px}
.series-episodes .episode-duration i{font-size:13px}
.series-episodes .episode-play{width:34px;height:34px}
.series-episodes .episode-play i{font-size:10px}
.series-episodes .episode-link:hover{transform:translateY(-1px)}
@media(max-width:900px){.series-episodes .episode-link{grid-template-columns:100px 38px minmax(0,1fr) 34px;min-height:62px;gap:9px}.series-episodes .episode-thumb{width:100px;height:52px}.series-episodes .episode-number{font-size:15px}.series-episodes .episode-play{width:32px;height:32px}}
@media(max-width:600px){.series-episodes .episode-link{grid-template-columns:72px 30px minmax(0,1fr) 30px;gap:7px;min-height:54px;padding:5px}.series-episodes .episode-thumb{width:72px;height:44px}.series-episodes .episode-number{font-size:13px}.series-episodes .episode-copy strong{font-size:12px}.series-episodes .episode-copy small{font-size:10px;-webkit-line-clamp:1}.series-episodes .episode-play{width:28px;height:28px}.series-episodes .episode-play i{font-size:9px}}

/* Correção: selos administráveis também devem aparecer nos cards de Filmes/Séries. */
html body .stream-card.poster-card .badge-live-group{display:flex !important;position:absolute;top:11px;left:11px;z-index:6;flex-direction:column;align-items:flex-start;gap:6px;pointer-events:none}
html body .stream-card.poster-card .badge-live-group .badge-live,html body .stream-card.poster-card .badge-live-group .card-logo-badge{display:inline-flex !important}


/* ===== ZenTV Hero cinematográfico ===== */
.hero-slider{height:clamp(430px,52vw,620px)!important;border-radius:18px!important;margin-bottom:30px!important;border:1px solid rgba(255,255,255,.06)!important;box-shadow:0 24px 70px rgba(0,0,0,.55)!important;background:#050507!important}
.slide-item{padding:clamp(42px,6vw,86px)!important;align-items:flex-end!important;background-position:center 22%!important}
.slide-item::before{background:linear-gradient(90deg,rgba(3,3,5,.98) 0%,rgba(3,3,5,.86) 28%,rgba(3,3,5,.38) 62%,rgba(3,3,5,.08) 100%)!important}
.slide-item::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,3,5,.96) 0%,rgba(3,3,5,.2) 38%,transparent 70%);pointer-events:none}
.slide-content{z-index:3!important;max-width:min(650px,58%)!important;padding-bottom:20px}
.slide-tag{margin-bottom:14px!important;padding:7px 13px!important;background:rgba(168,85,247,.18)!important;border-color:rgba(192,132,252,.45)!important;color:#e9d5ff!important;font-size:11px!important}
.slide-title{font-size:clamp(38px,5vw,68px)!important;line-height:.98!important;letter-spacing:-2.5px!important;margin-bottom:18px!important;background:none!important;-webkit-text-fill-color:#fff!important;color:#fff!important;text-shadow:0 5px 28px rgba(0,0,0,.7)!important}
.slide-desc{font-size:clamp(14px,1.4vw,18px)!important;line-height:1.55!important;color:#e5e7eb!important;max-width:590px;margin-bottom:0!important;text-shadow:0 2px 14px rgba(0,0,0,.8)}
.slide-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:24px}
.slide-admin-button{margin-top:0!important;border-radius:7px!important;padding:12px 20px!important;font-size:14px!important;min-height:44px;justify-content:center}
.slide-admin-button.slide-primary{background:#fff!important;color:#08080b!important}
.slide-admin-button.slide-primary:hover{background:#ddd!important}
.slide-admin-button.slide-secondary{background:rgba(109,109,110,.68)!important;color:#fff!important;backdrop-filter:blur(8px)}
.slide-admin-button.slide-secondary:hover{background:rgba(109,109,110,.88)!important}
.slider-dots{left:auto!important;right:28px!important;bottom:24px!important;justify-content:flex-end!important;width:auto!important}
.dot{width:24px!important;height:3px!important;border-radius:4px!important;background:rgba(255,255,255,.28)!important}
.dot.active{width:38px!important;height:3px!important;background:#a855f7!important;box-shadow:0 0 12px rgba(168,85,247,.7)!important}
@media(max-width:768px){
  .hero-slider{display:block!important;height:330px!important;border-radius:14px!important;margin-bottom:18px!important}
  .slide-item{padding:24px 20px 38px!important;align-items:flex-end!important;background-position:center!important}
  .slide-item::before{background:linear-gradient(90deg,rgba(3,3,5,.9),rgba(3,3,5,.42) 70%,rgba(3,3,5,.18))!important}
  .slide-item::after{background:linear-gradient(0deg,rgba(3,3,5,.98) 0%,rgba(3,3,5,.5) 48%,rgba(3,3,5,.08) 100%)}
  .slide-content{max-width:92%!important;padding-bottom:0}
  .slide-tag{font-size:9px!important;margin-bottom:10px!important}
  .slide-title{font-size:31px!important;letter-spacing:-1.3px!important;max-width:100%!important;margin-bottom:10px!important}
  .slide-desc{font-size:12px!important;max-width:100%!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .slide-actions{margin-top:15px;gap:8px}
  .slide-admin-button{min-height:38px;padding:9px 13px!important;font-size:12px!important}
  .slider-dots{right:16px!important;bottom:14px!important;gap:5px!important}
  .dot{width:14px!important}.dot.active{width:24px!important}
}
@media(max-width:420px){.hero-slider{height:285px!important}.slide-secondary{display:none!important}.slide-title{font-size:27px!important}}

/* ===== Hero Clássico ZenTV ===== */
.hero-slider.hero-classic,.hero-slider{height:clamp(500px,58vw,690px)!important;border-radius:12px!important;margin:-8px 0 6px!important;border:0!important;box-shadow:none!important;background:#050507!important;overflow:hidden!important}
.hero-slider .slide-item{position:relative!important;padding:clamp(54px,7vw,96px)!important;padding-bottom:clamp(82px,9vw,118px)!important;align-items:flex-end!important;background-size:cover!important;background-position:center 20%!important}
.hero-slider .slide-item::before{content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(90deg,#050507 0%,rgba(5,5,7,.92) 20%,rgba(5,5,7,.66) 42%,rgba(5,5,7,.18) 72%,rgba(5,5,7,.04) 100%)!important;z-index:1!important}
.hero-slider .slide-item::after{content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(0deg,#050507 0%,rgba(5,5,7,.86) 7%,rgba(5,5,7,.34) 28%,transparent 58%)!important;z-index:1!important;pointer-events:none!important}
.hero-slider .slide-content{position:relative!important;z-index:3!important;max-width:min(620px,52%)!important;padding:0!important}
.hero-slider .slide-tag{display:inline-flex!important;align-items:center!important;padding:0!important;margin:0 0 13px!important;background:transparent!important;border:0!important;color:#c084fc!important;text-transform:uppercase!important;letter-spacing:2.1px!important;font-size:11px!important;font-weight:900!important}
.hero-slider .slide-title{font-size:clamp(44px,5.4vw,76px)!important;line-height:.96!important;letter-spacing:-3px!important;margin:0 0 18px!important;color:#fff!important;background:none!important;-webkit-text-fill-color:#fff!important;text-shadow:0 4px 28px rgba(0,0,0,.72)!important;font-weight:900!important}
.hero-slider .slide-desc{max-width:570px!important;color:#f1f1f1!important;font-size:clamp(14px,1.25vw,17px)!important;line-height:1.55!important;font-weight:400!important;text-shadow:0 2px 12px rgba(0,0,0,.9)!important}
.hero-slider .slide-actions{display:flex!important;align-items:center!important;gap:10px!important;margin-top:23px!important}
.hero-slider .slide-admin-button{min-height:46px!important;padding:11px 21px!important;border-radius:5px!important;font-size:15px!important;font-weight:800!important;margin:0!important;box-shadow:none!important}
.hero-slider .slide-primary{background:#fff!important;color:#0a0a0d!important}
.hero-slider .slide-primary:hover{background:rgba(255,255,255,.78)!important;transform:none!important}
.hero-slider .slide-secondary{background:rgba(109,109,110,.72)!important;color:#fff!important;backdrop-filter:blur(7px)!important}
.hero-slider .slide-secondary:hover{background:rgba(109,109,110,.92)!important;transform:none!important}
.hero-slider .slider-dots{right:34px!important;bottom:43px!important;left:auto!important;width:auto!important;gap:7px!important;z-index:5!important}
.hero-slider .slider-dots .dot{width:18px!important;height:3px!important;border-radius:0!important;background:rgba(255,255,255,.38)!important;border:0!important;padding:0!important;transition:.2s!important}
.hero-slider .slider-dots .dot.active{background:#a855f7!important;width:28px!important}
/* aproxima a primeira seção do hero, no estilo catálogo cinematográfico */
.hero-slider + .section,.hero-slider + section{position:relative;z-index:6;margin-top:-34px!important}
@media(max-width:768px){
 .hero-slider.hero-classic,.hero-slider{height:390px!important;margin:0 0 12px!important;border-radius:10px!important}
 .hero-slider .slide-item{padding:26px 20px 52px!important;background-position:center!important}
 .hero-slider .slide-item::before{background:linear-gradient(90deg,rgba(5,5,7,.9) 0%,rgba(5,5,7,.48) 72%,rgba(5,5,7,.12) 100%)!important}
 .hero-slider .slide-item::after{background:linear-gradient(0deg,#050507 0%,rgba(5,5,7,.82) 22%,rgba(5,5,7,.08) 72%)!important}
 .hero-slider .slide-content{max-width:94%!important}
 .hero-slider .slide-title{font-size:34px!important;letter-spacing:-1.4px!important;margin-bottom:10px!important}
 .hero-slider .slide-desc{font-size:12px!important;line-height:1.45!important;display:-webkit-box!important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 .hero-slider .slide-actions{margin-top:15px!important}
 .hero-slider .slide-admin-button{min-height:39px!important;padding:9px 13px!important;font-size:12px!important}
 .hero-slider .slider-dots{right:16px!important;bottom:17px!important}
 .hero-slider + .section,.hero-slider + section{margin-top:-18px!important}
}
@media(max-width:420px){.hero-slider.hero-classic,.hero-slider{height:330px!important}.hero-slider .slide-title{font-size:29px!important}.hero-slider .slide-secondary{display:none!important}}
\n\n/* ===== Hero clássico imediatamente abaixo da pesquisa ===== */
.content-area.home-with-hero{padding-top:0!important}
.content-area.home-with-hero>.hero-slider.hero-classic{
  width:calc(100% + 96px)!important;
  margin-left:-48px!important;
  margin-right:-48px!important;
  margin-top:0!important;
  margin-bottom:8px!important;
  border-radius:0!important;
  height:clamp(520px,56vw,700px)!important;
}
.content-area.home-with-hero>.hero-slider.hero-classic .slide-item{
  padding-left:clamp(58px,6.5vw,104px)!important;
  padding-right:clamp(58px,6.5vw,104px)!important;
  padding-bottom:clamp(72px,8vw,112px)!important;
  background-position:center 20%!important;
}
.content-area.home-with-hero>.hero-slider.hero-classic .slide-item::before{
  background:linear-gradient(90deg,#050507 0%,rgba(5,5,7,.94) 18%,rgba(5,5,7,.72) 38%,rgba(5,5,7,.25) 66%,rgba(5,5,7,.04) 100%)!important;
}
.content-area.home-with-hero>.hero-slider.hero-classic .slide-item::after{
  background:linear-gradient(0deg,#050507 0%,rgba(5,5,7,.78) 10%,rgba(5,5,7,.24) 31%,transparent 60%)!important;
}
@media(max-width:768px){
  .content-area.home-with-hero{padding-top:0!important}
  .content-area.home-with-hero>.hero-slider.hero-classic{
    width:calc(100% + 28px)!important;
    margin-left:-14px!important;
    margin-right:-14px!important;
    height:390px!important;
    border-radius:0!important;
  }
  .content-area.home-with-hero>.hero-slider.hero-classic .slide-item{padding:24px 20px 52px!important}
}
@media(max-width:480px){
  .content-area.home-with-hero>.hero-slider.hero-classic{
    width:calc(100% + 20px)!important;
    margin-left:-10px!important;
    margin-right:-10px!important;
    height:340px!important;
  }
}

/* ===== Ajuste final Hero Clássico: mais alto na página, tipografia equilibrada e fade inferior ===== */
@media(min-width:769px){
  .content-area.home-with-hero>.hero-slider.hero-classic{
    margin-top:-28px!important;
    margin-bottom:-18px!important;
    height:clamp(500px,52vw,650px)!important;
  }
  .content-area.home-with-hero>.hero-slider.hero-classic .slide-item{
    padding-top:clamp(42px,5vw,72px)!important;
    padding-bottom:clamp(78px,8vw,106px)!important;
  }
  .content-area.home-with-hero>.hero-slider.hero-classic .slide-content{
    max-width:min(560px,46%)!important;
  }
  .content-area.home-with-hero>.hero-slider.hero-classic .slide-title{
    font-size:clamp(34px,3.8vw,56px)!important;
    line-height:1.02!important;
    letter-spacing:-1.8px!important;
    margin-bottom:13px!important;
  }
  .content-area.home-with-hero>.hero-slider.hero-classic .slide-desc{
    max-width:520px!important;
    font-size:clamp(13px,1.05vw,16px)!important;
    line-height:1.5!important;
  }
  .content-area.home-with-hero>.hero-slider.hero-classic .slide-tag{
    font-size:10px!important;
    margin-bottom:10px!important;
  }
  .content-area.home-with-hero>.hero-slider.hero-classic .slide-item::after{
    background:linear-gradient(0deg,#050507 0%,rgba(5,5,7,.98) 8%,rgba(5,5,7,.86) 17%,rgba(5,5,7,.48) 31%,rgba(5,5,7,.12) 48%,transparent 66%)!important;
  }
  .content-area.home-with-hero>.hero-slider.hero-classic + .category-buttons-bar{
    position:relative!important;
    z-index:7!important;
    margin-top:-24px!important;
  }
}
@media(max-width:768px){
  .content-area.home-with-hero>.hero-slider.hero-classic{margin-top:-10px!important;margin-bottom:-8px!important;height:365px!important}
  .content-area.home-with-hero>.hero-slider.hero-classic .slide-title{font-size:30px!important;line-height:1.04!important;letter-spacing:-1px!important}
  .content-area.home-with-hero>.hero-slider.hero-classic .slide-desc{font-size:12px!important}
  .content-area.home-with-hero>.hero-slider.hero-classic .slide-item::after{background:linear-gradient(0deg,#050507 0%,rgba(5,5,7,.96) 12%,rgba(5,5,7,.7) 30%,rgba(5,5,7,.12) 62%,transparent 76%)!important}
  .content-area.home-with-hero>.hero-slider.hero-classic + .category-buttons-bar{position:relative;z-index:7;margin-top:-10px!important}
}

/* Hero clássico — degradê inferior reforçado */
.content-area.home-with-hero>.hero-slider.hero-classic .slide-item::after{
  background:linear-gradient(0deg,
    #050507 0%,
    #050507 12%,
    rgba(5,5,7,.995) 22%,
    rgba(5,5,7,.96) 34%,
    rgba(5,5,7,.82) 46%,
    rgba(5,5,7,.55) 58%,
    rgba(5,5,7,.26) 70%,
    rgba(5,5,7,.07) 82%,
    transparent 94%)!important;
}
@media(max-width:768px){
  .content-area.home-with-hero>.hero-slider.hero-classic .slide-item::after{
    background:linear-gradient(0deg,#050507 0%,#050507 16%,rgba(5,5,7,.98) 30%,rgba(5,5,7,.82) 48%,rgba(5,5,7,.42) 67%,rgba(5,5,7,.1) 82%,transparent 95%)!important;
  }
}

/* ===== Hero: tipografia padrão + degradê integrado ao fundo real do site ===== */
.content-area.home-with-hero>.hero-slider.hero-classic .slide-item::after{
  background:linear-gradient(0deg,
    var(--bg-base) 0%,
    var(--bg-base) 18%,
    rgba(3,3,5,.995) 30%,
    rgba(3,3,5,.94) 43%,
    rgba(3,3,5,.72) 57%,
    rgba(3,3,5,.40) 70%,
    rgba(3,3,5,.14) 82%,
    transparent 94%)!important;
}
.content-area.home-with-hero>.hero-slider.hero-classic .slide-content{max-width:min(540px,46%)!important}
.content-area.home-with-hero>.hero-slider.hero-classic .slide-title{
  font-size:clamp(30px,3.15vw,48px)!important;
  line-height:1.06!important;
  letter-spacing:-1.25px!important;
  margin-bottom:12px!important;
}
.content-area.home-with-hero>.hero-slider.hero-classic .slide-tag{
  font-size:9px!important;
  letter-spacing:1.8px!important;
  margin-bottom:9px!important;
}
.content-area.home-with-hero>.hero-slider.hero-classic .slide-desc{
  font-size:clamp(13px,.95vw,15px)!important;
  line-height:1.48!important;
  max-width:500px!important;
}
.content-area.home-with-hero>.hero-slider.hero-classic .slide-admin-button{
  font-size:13px!important;
  min-height:42px!important;
  padding:10px 17px!important;
}
@media(max-width:768px){
  .content-area.home-with-hero>.hero-slider.hero-classic .slide-item::after{
    background:linear-gradient(0deg,var(--bg-base) 0%,var(--bg-base) 20%,rgba(3,3,5,.98) 36%,rgba(3,3,5,.78) 55%,rgba(3,3,5,.38) 72%,rgba(3,3,5,.10) 86%,transparent 96%)!important;
  }
  .content-area.home-with-hero>.hero-slider.hero-classic .slide-content{max-width:92%!important}
  .content-area.home-with-hero>.hero-slider.hero-classic .slide-title{font-size:26px!important;line-height:1.08!important;letter-spacing:-.7px!important}
  .content-area.home-with-hero>.hero-slider.hero-classic .slide-tag{font-size:8px!important}
  .content-area.home-with-hero>.hero-slider.hero-classic .slide-desc{font-size:11.5px!important;line-height:1.45!important}
  .content-area.home-with-hero>.hero-slider.hero-classic .slide-admin-button{font-size:11px!important;min-height:36px!important;padding:8px 12px!important}
}
@media(max-width:420px){
  .content-area.home-with-hero>.hero-slider.hero-classic .slide-title{font-size:23px!important}
}

/* ===== Hero compacto: altura reduzida conforme modelo aprovado ===== */
@media(min-width:769px){
  .content-area.home-with-hero>.hero-slider.hero-classic{
    height:clamp(330px,34vw,430px)!important;
    min-height:0!important;
    margin-top:-28px!important;
    margin-bottom:-8px!important;
  }
  .content-area.home-with-hero>.hero-slider.hero-classic .slide-item{
    padding-top:30px!important;
    padding-bottom:58px!important;
  }
  .content-area.home-with-hero>.hero-slider.hero-classic + .category-buttons-bar{
    margin-top:-14px!important;
  }
}
@media(max-width:768px){
  .content-area.home-with-hero>.hero-slider.hero-classic{
    height:285px!important;
    min-height:0!important;
    margin-bottom:-4px!important;
  }
  .content-area.home-with-hero>.hero-slider.hero-classic .slide-item{
    padding-top:18px!important;
    padding-bottom:42px!important;
  }
}
@media(max-width:420px){
  .content-area.home-with-hero>.hero-slider.hero-classic{height:250px!important}
}


/* =========================================
   ZenTV — cards de canais no modelo horizontal da referência
   Aplicado somente a canais; filmes e séries mantêm seus posters.
   ========================================= */
html body .grid-advanced {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
html body .stream-card:not(.poster-card) {
  padding: 0;
  border-radius: 12px;
  background: linear-gradient(145deg, #10111a 0%, #0a0b11 100%);
  border: 1px solid rgba(255,255,255,.055);
  box-shadow: 0 9px 25px rgba(0,0,0,.34);
  overflow: hidden;
}
html body .stream-card:not(.poster-card):hover {
  transform: translateY(-4px);
  border-color: rgba(168,85,247,.34);
  box-shadow: 0 15px 32px rgba(0,0,0,.5), 0 0 22px rgba(124,58,237,.11);
}
html body .stream-card:not(.poster-card) > a:first-child { display:block; }
html body .stream-card:not(.poster-card) .card-thumb {
  position: relative !important;
  aspect-ratio: 16 / 7.3 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 14px 24px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background:
    radial-gradient(circle at 50% 48%, rgba(67,82,210,.34) 0%, rgba(30,35,88,.2) 28%, rgba(10,11,19,0) 66%),
    linear-gradient(135deg,#111329 0%,#0b0c15 52%,#10111a 100%) !important;
}
html body .stream-card:not(.poster-card) .card-thumb::after {
  content:""; position:absolute; inset:0; pointer-events:none;
  background: linear-gradient(to bottom, rgba(0,0,0,0) 50%, rgba(4,5,9,.32) 100%);
}
html body .stream-card:not(.poster-card) .card-thumb img,
html body .stream-card:not(.poster-card) img {
  position: relative; z-index: 1;
  width: auto !important; height: 76% !important;
  min-width: 0 !important; min-height: 0 !important;
  max-width: 68% !important; max-height: 118px !important;
  object-fit: contain !important;
  filter: brightness(1.02) contrast(1.04) drop-shadow(0 5px 14px rgba(57,73,255,.2)) !important;
}
html body .stream-card:not(.poster-card):hover .card-thumb img {
  transform: scale(1.045) !important;
  filter: brightness(1.08) contrast(1.05) drop-shadow(0 7px 18px rgba(92,74,255,.3)) !important;
}
html body .stream-card:not(.poster-card) .channel-type-badge {
  position:absolute; z-index:5; top:10px; left:10px;
  min-width:27px; height:23px; padding:0 7px;
  display:flex; align-items:center; justify-content:center;
  border-radius:5px; color:#fff; font-size:10px; line-height:1; font-weight:900;
  background:linear-gradient(135deg,#c13cff,#7c2cff);
  box-shadow:0 4px 12px rgba(168,85,247,.32);
}
html body .stream-card:not(.poster-card) .badge-live-group { left:auto; right:9px; top:9px; z-index:6; }
html body .stream-card:not(.poster-card) .badge-qualities { top:38px; right:9px; z-index:6; }
html body .stream-card:not(.poster-card) .card-overlay { z-index:4; }
html body .stream-card:not(.poster-card) .card-info {
  padding: 11px 14px 13px !important; gap: 4px !important;
  background: linear-gradient(180deg, rgba(14,15,23,.96), rgba(10,11,17,1));
}
html body .stream-card:not(.poster-card) .card-title {
  font-size:14px !important; line-height:1.2 !important; font-weight:800 !important;
  color:#fff; white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important; display:block !important;
}
html body .stream-card:not(.poster-card):hover .card-title { color:#fff; }
html body .stream-card:not(.poster-card) .card-labels {
  display:flex !important; flex-wrap:nowrap !important; gap:5px !important; overflow:hidden !important;
}
html body .stream-card:not(.poster-card) .card-label-tag {
  font-size:11px !important; line-height:1.25 !important; color:#a8adbd !important; white-space:nowrap !important;
}
html body .stream-card:not(.poster-card) .card-label-tag:not(:last-child)::after { content:" •"; color:#5f6472; }

@media (max-width: 1180px) { html body .grid-advanced { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width: 768px) {
  html body .grid-advanced { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; }
  html body .stream-card:not(.poster-card) { padding:0 !important; border-radius:10px !important; }
  html body .stream-card:not(.poster-card) .card-thumb { aspect-ratio:16/8.4 !important; min-height:0 !important; height:auto !important; padding:10px 15px !important; border-radius:0 !important; }
  html body .stream-card:not(.poster-card) .card-thumb img, html body .stream-card:not(.poster-card) img { min-width:0 !important; min-height:0 !important; max-width:72% !important; max-height:82px !important; height:72% !important; }
  html body .stream-card:not(.poster-card) .channel-type-badge { top:7px; left:7px; height:20px; min-width:24px; padding:0 6px; font-size:9px; }
  html body .stream-card:not(.poster-card) .badge-live-group { top:7px !important; right:7px !important; left:auto !important; }
  html body .stream-card:not(.poster-card) .badge-qualities { top:31px !important; right:7px !important; }
  html body .stream-card:not(.poster-card) .card-info { padding:9px 10px 10px !important; gap:3px !important; }
  html body .stream-card:not(.poster-card) .card-title { font-size:12px !important; }
  html body .stream-card:not(.poster-card) .card-label-tag { font-size:9px !important; }
}


/* ZenTV — cards mais estreitos (pedido do painel de selo editável) */
@media (min-width:1181px){
  html body .grid-advanced{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:13px!important}
}
@media (min-width:769px) and (max-width:1180px){
  html body .grid-advanced{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
}
@media (min-width:769px) and (max-width:920px){
  html body .grid-advanced{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
html body .stream-card:not(.poster-card) .channel-type-badge{
  max-width:calc(100% - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* ZenTV UX upgrade — carrosseis, Minha Lista, Continue Assistindo e busca instantanea */
.shelf-arrows{display:flex;gap:7px;margin-left:auto}.shelf-arrows button{width:34px;height:34px;border:1px solid rgba(255,255,255,.09);border-radius:9px;background:rgba(255,255,255,.045);color:#fff;cursor:pointer;transition:.2s}.shelf-arrows button:hover{background:rgba(168,85,247,.18);border-color:rgba(168,85,247,.38)}
.smart-shelf{margin:18px 0 28px}.smart-shelf[hidden]{display:none!important}.smart-shelf-row{display:flex;gap:13px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:3px 2px 10px}.smart-shelf-row::-webkit-scrollbar,.home-channel-carousel::-webkit-scrollbar{display:none}.smart-shelf-row .stream-card{flex:0 0 clamp(190px,19vw,250px);scroll-snap-align:start}.smart-shelf-row .poster-card{flex-basis:clamp(150px,15vw,195px)}
.watch-progress{position:absolute!important;z-index:8!important;left:9px!important;right:9px!important;bottom:7px!important;height:3px!important;background:rgba(255,255,255,.24)!important;border-radius:10px!important;overflow:hidden!important}.watch-progress span{display:block;height:100%;background:#a855f7;border-radius:inherit}
.home-catalog-header{margin-top:16px}.home-channel-carousel{display:flex!important;grid-template-columns:none!important;gap:13px!important;overflow-x:auto!important;scroll-snap-type:x proximity;scrollbar-width:none;padding:3px 2px 14px!important}.home-channel-carousel>.stream-card{flex:0 0 clamp(190px,19vw,250px)!important;scroll-snap-align:start}
.search-box input{transition:border-color .2s,box-shadow .2s,background .2s!important}.search-box input:focus{box-shadow:0 0 0 3px rgba(168,85,247,.10)!important}
@media(max-width:768px){.shelf-arrows button{width:31px;height:31px}.smart-shelf{margin:13px 0 20px}.smart-shelf-row,.home-channel-carousel{gap:10px!important}.smart-shelf-row .stream-card,.home-channel-carousel>.stream-card{flex-basis:72vw!important;max-width:260px}.smart-shelf-row .poster-card{flex-basis:42vw!important;max-width:175px}.home-catalog-header{margin-top:10px}}
/* Admin usability refinements */
body.admin-page .admin-card,body.admin-page .panel-card{scroll-margin-top:90px}body.admin-page input:focus,body.admin-page textarea:focus,body.admin-page select:focus{outline:none;box-shadow:0 0 0 3px rgba(168,85,247,.10)}
@media(max-width:768px){body.admin-page .admin-grid,body.admin-page .form-grid{grid-template-columns:1fr!important}body.admin-page input,body.admin-page select,body.admin-page textarea{font-size:16px!important}}


/* =========================================
   ZENTV PLAYER CINEMATOGRÁFICO
   Mantém a lógica original MP4/HLS/iframe.
   ========================================= */
body:not(.theater-mode) .player-wrapper{
  max-width:1180px;
  padding:20px;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(18,18,25,.92),rgba(8,8,12,.96));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 28px 80px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.035);
}
.cinema-player-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.cinema-back,.cinema-brand{display:inline-flex;align-items:center;gap:9px;color:#d9dce5;font-size:12px;font-weight:750;text-decoration:none}
.cinema-back{padding:9px 12px;border-radius:10px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.075);transition:.2s ease}
.cinema-back:hover{background:rgba(255,255,255,.09);transform:translateX(-2px);color:#fff}
.cinema-brand{color:#aeb4c3;text-transform:uppercase;letter-spacing:.12em;font-size:10px}
.cinema-brand i{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:linear-gradient(135deg,#9333ea,#6d28d9);color:#fff;font-size:9px;box-shadow:0 0 18px rgba(147,51,234,.32)}
body:not(.theater-mode) .player-tip-alert{margin-bottom:12px;padding:11px 14px;border-radius:12px;background:rgba(124,58,237,.08);border-color:rgba(168,85,247,.18);font-size:12px;box-shadow:none}
body:not(.theater-mode) .player-tip-alert i{width:29px;height:29px;font-size:12px}
body:not(.theater-mode) .player-selector-bar{margin:0 0 12px;gap:7px}
body:not(.theater-mode) .player-btn{min-height:36px;padding:8px 13px;font-size:11px;border-radius:10px}
body:not(.theater-mode) .iframe-container{padding-bottom:0;aspect-ratio:16/9;border-radius:17px;border:1px solid rgba(255,255,255,.1);box-shadow:0 22px 55px rgba(0,0,0,.6);background:radial-gradient(circle at 50% 45%,#111522 0,#050507 58%,#000 100%)}
body:not(.theater-mode) .iframe-container:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:3;box-shadow:inset 0 -70px 80px -80px rgba(0,0,0,.95)}
body:not(.theater-mode) .iframe-container iframe,body:not(.theater-mode) .iframe-container video{z-index:2}
body:not(.theater-mode) .player-controls{margin-top:16px;padding:16px 4px 2px;border-top:0}
body:not(.theater-mode) .player-header-flex{align-items:center;gap:14px}
body:not(.theater-mode) .player-thumb-side{width:64px;height:64px;border-radius:12px;padding:5px;background:#090a0f}
body:not(.theater-mode) .post-title{font-size:21px;line-height:1.18;letter-spacing:-.35px}
body:not(.theater-mode) .interaction-row{gap:10px}
body:not(.theater-mode) .interaction-btns{gap:7px}
body:not(.theater-mode) .btn-action-interact,body:not(.theater-mode) .btn-theater{min-height:38px;padding:8px 13px;font-size:11px;border-radius:10px;background:rgba(255,255,255,.045)}
body:not(.theater-mode) .series-episodes{margin-top:24px}
@media(max-width:760px){
 body:not(.theater-mode) .player-wrapper{padding:10px;border-radius:14px;margin-left:-4px;margin-right:-4px;width:calc(100% + 8px)}
 .cinema-player-top{margin-bottom:9px}.cinema-back{padding:7px 9px;font-size:10px}.cinema-brand{font-size:8px;letter-spacing:.08em}.cinema-brand i{width:22px;height:22px}
 body:not(.theater-mode) .player-tip-alert{padding:8px 9px;font-size:10px;margin-bottom:8px}
 body:not(.theater-mode) .player-tip-alert i{width:25px;height:25px}
 body:not(.theater-mode) .iframe-container{border-radius:10px}
 body:not(.theater-mode) .player-controls{margin-top:10px;padding:10px 2px 0}
 body:not(.theater-mode) .player-thumb-side{width:48px!important;height:48px!important;flex:0 0 48px;border-radius:9px}
 body:not(.theater-mode) .post-title{font-size:16px!important}
 body:not(.theater-mode) .btn-action-interact,body:not(.theater-mode) .btn-theater{font-size:9px!important;padding:7px 9px!important;min-height:34px}
}

/* =========================================
   ZenTV — ajuste final do tamanho do playercosmos.dns-parking.comcosmos.dns-parking.com
   Mantém 16:9 e exibe o vídeo inteiro sem corte.
   ========================================= */
@media (min-width: 761px) {
  html body:not(.theater-mode) .player-wrapper {
    width: min(100%, 900px) !important;
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 14px !important;
  }
  html body:not(.theater-mode) .iframe-container {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: 0 !important;
    aspect-ratio: 16 / 9 !important;
    overflow: hidden !important;
  }
  html body:not(.theater-mode) .iframe-container iframe,
  html body:not(.theater-mode) .iframe-container video {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
  }
  html body:not(.theater-mode) .iframe-container video {
    object-fit: contain !important;
    object-position: center center !important;
    background: #000 !important;
  }
}
@media (max-width: 760px) {
  html body:not(.theater-mode) .iframe-container {
    padding-bottom: 0 !important;
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    min-height: 0 !important;
  }
  html body:not(.theater-mode) .iframe-container video {
    object-fit: contain !important;
    object-position: center center !important;
  }
}


/* ZenTV - restaura o efeito visual do botão Favoritos */
#favBtn{isolation:isolate}
#favBtn::after{content:"";position:absolute;inset:50% auto auto 50%;width:10px;height:10px;border-radius:999px;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.25);border:2px solid rgba(245,158,11,.9);box-shadow:0 0 18px rgba(245,158,11,.55);z-index:-1}
#favBtn.fav-burst::after{animation:zentv-fav-ring .6s ease-out}
#favBtn.fav-burst i{animation:zentv-fav-icon .55s cubic-bezier(.2,.9,.2,1)!important}
@keyframes zentv-fav-ring{0%{opacity:.9;transform:translate(-50%,-50%) scale(.3)}100%{opacity:0;transform:translate(-50%,-50%) scale(8)}}
@keyframes zentv-fav-icon{0%{transform:scale(1) rotate(0)}35%{transform:scale(1.45) rotate(-10deg)}65%{transform:scale(.9) rotate(6deg)}100%{transform:scale(1) rotate(0)}}
@media (prefers-reduced-motion:reduce){#favBtn.fav-burst::after,#favBtn.fav-burst i{animation:none!important}}
\n\n/* ZenTV — compatibilidade final do player em celulares */
@media (max-width: 760px) {
  html body:not(.theater-mode) .player-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 8px !important;
    overflow: visible !important;
  }
  html body:not(.theater-mode) .iframe-container {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #000 !important;
  }
  html body:not(.theater-mode) .iframe-container iframe,
  html body:not(.theater-mode) .iframe-container video {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
    border: 0 !important;
  }
  html body:not(.theater-mode) .iframe-container video {
    object-fit: contain !important;
    object-position: center center !important;
    background: #000 !important;
  }
  html body:not(.theater-mode) .player-selector-bar {
    display: flex !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }
  html body:not(.theater-mode) .player-btn { flex: 0 0 auto !important; }
}

/* ZenTV — correção de recorte dos cards durante hover */
html body .home-channel-carousel,
html body .smart-shelf-row {
  padding-top: 12px !important;
  padding-bottom: 18px !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
  scroll-padding-left: 8px;
  scroll-padding-right: 8px;
}
html body .home-channel-carousel > .stream-card:not(.poster-card),
html body .smart-shelf-row > .stream-card:not(.poster-card) {
  transform-origin: center center;
}
html body .home-channel-carousel > .stream-card:not(.poster-card):hover,
html body .smart-shelf-row > .stream-card:not(.poster-card):hover {
  transform: translateY(-3px) !important;
}
@media (hover: none), (max-width: 768px) {
  html body .home-channel-carousel,
  html body .smart-shelf-row {
    padding-top: 7px !important;
    padding-bottom: 13px !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
  html body .home-channel-carousel > .stream-card:not(.poster-card):hover,
  html body .smart-shelf-row > .stream-card:not(.poster-card):hover {
    transform: none !important;
  }
}
\n\n/* ZenTV — menu lateral mobile por gesto */
.mobile-sidebar-overlay { display:none; }
@media (max-width: 768px) {
  .sidebar {
    left: -280px !important;
    width: 270px !important;
    transition: left .24s cubic-bezier(.2,.8,.2,1) !important;
    will-change: left;
    touch-action: pan-y;
  }
  body.sidebar-collapsed .sidebar { left: 0 !important; }
  body:not(.sidebar-collapsed) .sidebar { left: -280px !important; }
  /* substitui o overlay antigo em ::after por um elemento clicável */
  body.sidebar-collapsed::after { display:none !important; content:none !important; }
  .mobile-sidebar-overlay {
    display:block;
    position:fixed;
    inset:0;
    z-index:1900;
    background:rgba(0,0,0,.62);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .24s ease, visibility .24s ease;
    -webkit-tap-highlight-color:transparent;
    touch-action:none;
  }
  body.sidebar-collapsed .mobile-sidebar-overlay {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  body.zentv-menu-dragging .sidebar,
  body.zentv-menu-dragging .mobile-sidebar-overlay { transition:none !important; }
}

/* Home por marcadores: cada categoria administrada ganha sua própria prateleira. */
.home-marker-section{margin:16px 0 28px;overflow:visible}
.home-marker-section .home-catalog-header{margin-top:0;margin-bottom:10px}
.home-marker-section .home-channel-carousel{overflow-y:visible!important}
.home-marker-section .home-channel-carousel>.poster-card{flex-basis:clamp(150px,15vw,195px)!important}
@media(max-width:768px){
  .home-marker-section{margin:12px 0 22px}
  .home-marker-section .home-channel-carousel>.poster-card{flex-basis:42vw!important;max-width:175px}
}

/* =========================================
   ZenTV FIX — suporte flutuante visível no mobile
   Mantém o botão acima da navegação inferior e respeita a safe-area.
   ========================================= */
@media (max-width: 768px) {
  .floating-support-btn {
    position: fixed !important;
    right: max(14px, env(safe-area-inset-right, 0px)) !important;
    bottom: calc(78px + var(--safe-area-bottom, 0px)) !important;
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    min-height: 50px !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 1850 !important;
    transform: none;
    -webkit-tap-highlight-color: transparent;
  }
  .floating-support-btn:active {
    transform: scale(.94) !important;
  }
  body.sidebar-collapsed .floating-support-btn {
    pointer-events: none;
  }
}

/* ZenTV: botao real de envio da pesquisa */
.search-box form{position:relative;width:100%;}
.search-box .zentv-search-submit{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:34px;height:34px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--text-muted,#9ca3af);display:grid;place-items:center;z-index:2;cursor:pointer;box-shadow:none;}
.search-box .zentv-search-submit:hover{color:#fff;background:rgba(255,255,255,.07);transform:translateY(-50%);}
.search-box .zentv-search-submit i{position:static;left:auto;top:auto;transform:none;pointer-events:none;}
.search-box input{padding-left:52px;}

/* ZenTV brand — assinatura no padrão do template XML */
@media (max-width: 768px) {
  .brand { padding-left: 24px; padding-right: 20px; }
  .brand-name { font-size: 22px; }
  .brand-tagline { font-size: 9px; margin-top: 4px; }
  .brand i { font-size: 22px; margin-right: 9px; }
}


/* ZenTV brand — separacao final entre Play e nome */
.brand > i{margin-right:26px!important;}
.brand-copy{margin-left:0!important;}
@media(max-width:768px){.brand > i{margin-right:24px!important;}}

/* ZenTV brand — Play roxo neon e separacao estrutural */
.brand > i{
  width:36px!important;
  min-width:36px!important;
  height:36px!important;
  margin:0 30px 0 0!important;
  display:grid!important;
  place-items:center!important;
  color:#c084fc!important;
  font-size:20px!important;
  line-height:1!important;
  border-radius:12px!important;
  background:linear-gradient(145deg,rgba(168,85,247,.24),rgba(109,40,217,.08))!important;
  border:1px solid rgba(192,132,252,.42)!important;
  box-shadow:0 0 10px rgba(168,85,247,.65),0 0 24px rgba(126,34,206,.38),inset 0 0 12px rgba(216,180,254,.12)!important;
  text-shadow:0 0 7px rgba(216,180,254,.95),0 0 15px rgba(168,85,247,.85)!important;
  flex:0 0 36px!important;
  animation:zentvPlayGlow 2.2s ease-in-out infinite alternate;
}
.brand-copy{margin-left:0!important;flex:0 1 auto!important;}
@keyframes zentvPlayGlow{
  from{filter:brightness(1);box-shadow:0 0 8px rgba(168,85,247,.55),0 0 18px rgba(126,34,206,.28),inset 0 0 10px rgba(216,180,254,.10)}
  to{filter:brightness(1.16);box-shadow:0 0 14px rgba(192,132,252,.82),0 0 30px rgba(147,51,234,.52),inset 0 0 14px rgba(233,213,255,.18)}
}
@media(max-width:768px){
  .brand > i{width:32px!important;min-width:32px!important;height:32px!important;flex-basis:32px!important;margin-right:26px!important;font-size:18px!important;border-radius:10px!important;}
}
@media(prefers-reduced-motion:reduce){.brand > i{animation:none!important;}}


/* ZenTV brand v3 — icone isolado do texto (corrige sobreposicao real) */
.brand{column-gap:0!important;overflow:visible!important;}
.brand-icon-shell{
  width:38px!important; min-width:38px!important; height:38px!important;
  flex:0 0 38px!important; margin:0 34px 0 0!important;
  display:grid!important; place-items:center!important;
  border-radius:12px!important;
  background:radial-gradient(circle at 38% 32%,rgba(233,213,255,.34),rgba(168,85,247,.20) 42%,rgba(76,29,149,.10) 74%)!important;
  border:1px solid rgba(192,132,252,.48)!important;
  box-shadow:0 0 11px rgba(168,85,247,.68),0 0 28px rgba(126,34,206,.42),inset 0 0 13px rgba(233,213,255,.13)!important;
  animation:zentvPlayShellGlow 2s ease-in-out infinite alternate;
  position:relative!important; z-index:1!important;
}
.brand-icon-shell > i{
  margin:0!important; width:auto!important; min-width:0!important; height:auto!important;
  display:block!important; color:#c084fc!important; font-size:20px!important;
  line-height:1!important; background:none!important; border:0!important; box-shadow:none!important;
  text-shadow:0 0 7px rgba(233,213,255,1),0 0 16px rgba(168,85,247,.95)!important;
  animation:none!important; flex:none!important;
}
.brand-icon-shell .brand-logo-image{margin:0!important;width:30px!important;height:30px!important;border-radius:8px!important;}
.brand > .brand-copy{margin:0!important;padding:0!important;position:relative!important;z-index:2!important;flex:0 1 auto!important;}
@keyframes zentvPlayShellGlow{
 from{filter:brightness(1);transform:translateZ(0);box-shadow:0 0 9px rgba(168,85,247,.55),0 0 21px rgba(126,34,206,.30),inset 0 0 11px rgba(233,213,255,.10)}
 to{filter:brightness(1.17);transform:translateZ(0);box-shadow:0 0 15px rgba(192,132,252,.88),0 0 34px rgba(147,51,234,.55),inset 0 0 15px rgba(233,213,255,.18)}
}
@media(max-width:768px){
 .brand-icon-shell{width:34px!important;min-width:34px!important;height:34px!important;flex-basis:34px!important;margin-right:30px!important;border-radius:11px!important;}
 .brand-icon-shell > i{font-size:18px!important;}
 .brand-icon-shell .brand-logo-image{width:27px!important;height:27px!important;}
}
@media(prefers-reduced-motion:reduce){.brand-icon-shell{animation:none!important;}}

/* ZenTV — paginação dos catálogos Filmes e Séries (20 por página) */
.catalog-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:34px auto 10px;padding:8px 0;flex-wrap:wrap}
.catalog-pagination .page-numbers{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}
.catalog-pagination a{min-width:40px;height:40px;padding:0 12px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;color:#d1d5db;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);font-weight:700;transition:.2s ease}
.catalog-pagination a:hover{color:#fff;border-color:rgba(192,132,252,.55);background:rgba(168,85,247,.14);transform:translateY(-1px)}
.catalog-pagination a.active{color:#fff;background:linear-gradient(135deg,#9333ea,#6d28d9);border-color:#a855f7;box-shadow:0 0 18px rgba(147,51,234,.28);pointer-events:none}
.catalog-pagination .page-nav{padding:0 16px;min-width:auto}
.catalog-pagination .page-dots{color:#6b7280;padding:0 2px;font-weight:800}
.pagination-summary{text-align:center;color:#777f8d;font-size:12px;margin:0 0 30px}
@media(max-width:600px){.catalog-pagination{gap:8px;margin-top:25px}.catalog-pagination a{min-width:36px;height:36px;padding:0 10px;border-radius:10px;font-size:13px}.catalog-pagination .page-nav span{display:none}.catalog-pagination .page-nav{min-width:36px;padding:0}.catalog-pagination .page-numbers{gap:5px}}


/* ZenTV — correção final de selos: evita sobreposição e corte nos cards */
html body .stream-card .thumb-wrap{position:relative!important;overflow:hidden!important}
html body .stream-card .badge-live-group,
html body .stream-card .badge-qualities,
html body .stream-card .poster-special-badges,
html body .stream-card .channel-type-badge{pointer-events:none!important;max-width:calc(100% - 16px)!important}
html body .stream-card .badge-live,
html body .stream-card .card-logo-badge,
html body .stream-card .badge-hd,
html body .stream-card .badge-sd,
html body .stream-card .poster-special-badge,
html body .stream-card .channel-type-badge{box-sizing:border-box!important;line-height:1.1!important;white-space:nowrap!important}
html body .stream-card.poster-card .poster-card-custom-badge{display:inline-flex!important;position:absolute!important;left:10px!important;right:auto!important;top:auto!important;bottom:10px!important;z-index:8!important;height:auto!important;min-height:22px!important;max-width:calc(100% - 20px)!important;padding:5px 8px!important;border-radius:7px!important;background:rgba(7,7,11,.88)!important;border:1px solid rgba(255,255,255,.16)!important;color:#fff!important;font-size:9px!important;font-weight:900!important;overflow:hidden!important;text-overflow:ellipsis!important}
@media(max-width:600px){html body .stream-card.poster-card .poster-card-custom-badge{left:6px!important;bottom:6px!important;min-height:18px!important;padding:4px 6px!important;font-size:7px!important;max-width:calc(100% - 12px)!important}}

/* ZenTV — posicionamento definitivo dos selos dos cards */
html body .stream-card .badge-left-group{
  position:absolute!important;top:7px!important;left:7px!important;right:auto!important;bottom:auto!important;
  z-index:12!important;display:flex!important;flex-wrap:wrap!important;align-items:flex-start!important;
  justify-content:flex-start!important;gap:4px!important;max-width:calc(100% - 64px)!important;pointer-events:none!important;
}
html body .stream-card .badge-left-group .poster-special-badge,
html body .stream-card .badge-left-group .badge-live,
html body .stream-card .badge-left-group .card-logo-badge{
  position:static!important;inset:auto!important;margin:0!important;transform:none!important;flex:0 0 auto!important;
  min-height:20px!important;box-sizing:border-box!important;padding:4px 6px!important;font-size:8px!important;line-height:1!important;
}
html body .stream-card .badge-qualities{
  position:absolute!important;top:7px!important;right:7px!important;left:auto!important;bottom:auto!important;
  z-index:13!important;display:flex!important;flex-wrap:nowrap!important;align-items:flex-start!important;
  justify-content:flex-end!important;gap:3px!important;margin:0!important;transform:none!important;pointer-events:none!important;
}
html body .stream-card .badge-qualities .badge-hd,
html body .stream-card .badge-qualities .badge-sd{
  position:static!important;inset:auto!important;margin:0!important;transform:none!important;flex:0 0 auto!important;
}
@media(max-width:600px){
  html body .stream-card .badge-left-group{top:5px!important;left:5px!important;gap:3px!important;max-width:calc(100% - 50px)!important}
  html body .stream-card .badge-left-group .poster-special-badge,
  html body .stream-card .badge-left-group .badge-live,
  html body .stream-card .badge-left-group .card-logo-badge{min-height:17px!important;padding:3px 5px!important;font-size:7px!important}
  html body .stream-card .badge-qualities{top:5px!important;right:5px!important;gap:2px!important}
}


/* ZenTV — badges limpos v2: texto puro, sem ícones e sem compressão */
html body .stream-card .badge-left-group{
  display:flex!important; flex-flow:row wrap!important; align-items:center!important;
  gap:5px!important; max-width:calc(100% - 78px)!important;
}
html body .stream-card .badge-left-group > span,
html body .stream-card .badge-qualities > span{
  width:auto!important; min-width:max-content!important; max-width:none!important;
  height:22px!important; min-height:22px!important; padding:0 7px!important;
  display:inline-flex!important; align-items:center!important; justify-content:center!important;
  flex:0 0 auto!important; white-space:nowrap!important; word-break:keep-all!important;
  overflow:visible!important; text-overflow:clip!important;
  font-size:8px!important; font-weight:900!important; line-height:1!important;
  letter-spacing:.25px!important; border-radius:6px!important;
}
html body .stream-card .badge-left-group > span i{display:none!important}
html body .stream-card .badge-left-group .badge-live::before{width:4px!important;height:4px!important;flex:0 0 4px!important;margin-right:1px!important}
html body .stream-card .badge-left-group .poster-special-badge.subtitled{background:linear-gradient(135deg,rgba(37,99,235,.96),rgba(59,130,246,.96))!important}
html body .stream-card .badge-left-group .poster-special-badge.dubbed{background:linear-gradient(135deg,rgba(79,70,229,.96),rgba(124,58,237,.96))!important}
html body .stream-card .badge-left-group .poster-special-badge.release{background:linear-gradient(135deg,rgba(168,85,247,.96),rgba(219,39,119,.96))!important}
html body .stream-card .badge-left-group .card-logo-badge{background:rgba(17,17,24,.88)!important}
html body .stream-card .badge-qualities{gap:4px!important}
html body .stream-card .badge-qualities > span{background:rgba(17,17,24,.88)!important}
@media(max-width:600px){
  html body .stream-card .badge-left-group{gap:3px!important;max-width:calc(100% - 62px)!important}
  html body .stream-card .badge-left-group > span,
  html body .stream-card .badge-qualities > span{
    height:19px!important;min-height:19px!important;padding:0 5px!important;
    font-size:7px!important;letter-spacing:0!important;border-radius:5px!important;
  }
}

/* ZenTV — Meus Favoritos separado por tipo, igual à organização da Home */
.favorites-sections{display:flex;flex-direction:column;gap:34px;}
.favorite-marker-section{min-width:0;}
.favorite-marker-section .section-header{align-items:center;margin-bottom:16px;}
.favorite-section-count{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(255,255,255,.035);color:var(--text-muted);font-size:11px;font-weight:700;white-space:nowrap;}
.favorite-category-grid{align-items:start;}
.favorite-category-grid .stream-card{align-self:start;height:auto;}
.favorite-empty{margin-top:18px;}
@media (max-width:768px){
  .favorites-sections{gap:24px;}
  .favorite-marker-section .section-header{margin:8px 2px 10px;}
  .favorite-section-count{min-height:24px;padding:4px 8px;font-size:9px;}
}

/* ===== ZenTV: restauração do slide panorâmico clássico ===== */
.content-area.home-with-hero{padding-top:26px!important}
.content-area.home-with-hero>.hero-slider.hero-classic{
  width:100%!important;
  height:clamp(360px,30vw,460px)!important;
  margin:0 0 28px!important;
  border-radius:20px!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.38)!important;
  background:#050507!important;
}
.content-area.home-with-hero>.hero-slider.hero-classic .slide-item{
  padding:52px 64px 66px!important;
  align-items:center!important;
  background-size:cover!important;
  background-position:center center!important;
}
.content-area.home-with-hero>.hero-slider.hero-classic .slide-item::before{
  content:""!important;position:absolute!important;inset:0!important;z-index:1!important;
  background:linear-gradient(90deg,rgba(3,3,5,.94) 0%,rgba(3,3,5,.77) 28%,rgba(3,3,5,.38) 52%,rgba(3,3,5,.08) 76%,rgba(3,3,5,.02) 100%)!important;
}
.content-area.home-with-hero>.hero-slider.hero-classic .slide-item::after{
  content:""!important;position:absolute!important;inset:0!important;z-index:1!important;pointer-events:none!important;
  background:linear-gradient(0deg,rgba(3,3,5,.48) 0%,rgba(3,3,5,.08) 34%,transparent 62%)!important;
}
.content-area.home-with-hero>.hero-slider.hero-classic .slide-content{
  position:relative!important;z-index:3!important;max-width:min(620px,48%)!important;padding:0!important;
}
.content-area.home-with-hero>.hero-slider.hero-classic .slide-tag{
  display:inline-flex!important;align-items:center!important;min-height:32px!important;padding:7px 17px!important;
  margin:0 0 20px!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.2)!important;
  background:rgba(14,18,17,.68)!important;color:#2ee6a6!important;backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;font-size:11px!important;font-weight:900!important;letter-spacing:1.5px!important;
}
.content-area.home-with-hero>.hero-slider.hero-classic .slide-title{
  margin:0 0 18px!important;color:#fff!important;background:none!important;-webkit-text-fill-color:#fff!important;
  font-size:clamp(38px,3.6vw,54px)!important;line-height:1!important;letter-spacing:-1.8px!important;font-weight:900!important;
  text-shadow:0 3px 18px rgba(0,0,0,.75)!important;
}
.content-area.home-with-hero>.hero-slider.hero-classic .slide-desc{
  max-width:600px!important;margin:0!important;color:#fff!important;font-size:15px!important;line-height:1.65!important;font-weight:400!important;
  text-shadow:0 2px 12px rgba(0,0,0,.9)!important;
}
/* O layout de referência mantém o banner limpo; o slide continua clicável/gerenciável no Admin. */
.content-area.home-with-hero>.hero-slider.hero-classic .slide-actions{display:none!important}
.content-area.home-with-hero>.hero-slider.hero-classic .slider-dots{
  left:50%!important;right:auto!important;bottom:23px!important;width:auto!important;transform:translateX(-50%)!important;
  display:flex!important;justify-content:center!important;align-items:center!important;gap:8px!important;z-index:5!important;
}
.content-area.home-with-hero>.hero-slider.hero-classic .slider-dots .dot{
  width:8px!important;height:8px!important;border-radius:50%!important;background:rgba(255,255,255,.28)!important;border:0!important;
}
.content-area.home-with-hero>.hero-slider.hero-classic .slider-dots .dot.active{
  width:32px!important;height:8px!important;border-radius:999px!important;background:#8b5cf6!important;box-shadow:0 0 12px rgba(139,92,246,.48)!important;
}
.content-area.home-with-hero>.hero-slider.hero-classic + .category-buttons-bar{margin-top:0!important;position:relative!important;z-index:1!important}
@media(max-width:768px){
  .content-area.home-with-hero{padding-top:14px!important}
  .content-area.home-with-hero>.hero-slider.hero-classic{width:100%!important;height:320px!important;margin:0 0 18px!important;border-radius:15px!important}
  .content-area.home-with-hero>.hero-slider.hero-classic .slide-item{padding:32px 22px 50px!important;background-position:center!important}
  .content-area.home-with-hero>.hero-slider.hero-classic .slide-item::before{background:linear-gradient(90deg,rgba(3,3,5,.9),rgba(3,3,5,.46) 72%,rgba(3,3,5,.12))!important}
  .content-area.home-with-hero>.hero-slider.hero-classic .slide-item::after{background:linear-gradient(0deg,rgba(3,3,5,.76),rgba(3,3,5,.08) 58%,transparent)!important}
  .content-area.home-with-hero>.hero-slider.hero-classic .slide-content{max-width:88%!important}
  .content-area.home-with-hero>.hero-slider.hero-classic .slide-tag{min-height:27px!important;padding:5px 11px!important;margin-bottom:12px!important;font-size:9px!important}
  .content-area.home-with-hero>.hero-slider.hero-classic .slide-title{font-size:32px!important;letter-spacing:-1px!important;margin-bottom:10px!important}
  .content-area.home-with-hero>.hero-slider.hero-classic .slide-desc{font-size:12px!important;line-height:1.5!important;display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
  .content-area.home-with-hero>.hero-slider.hero-classic .slider-dots{bottom:14px!important}
}
@media(max-width:420px){.content-area.home-with-hero>.hero-slider.hero-classic{height:285px!important}.content-area.home-with-hero>.hero-slider.hero-classic .slide-title{font-size:28px!important}}
