:root{--primary:#f4b400;--accent:#00c853;--bg:#070707;--panel:#121212;--panel2:#1a1a1a;--text:#fff;--muted:#a9a9a9;--line:#2b2b2b;--danger:#d63e3e;color-scheme:dark}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:radial-gradient(circle at top,#191919 0,var(--bg) 42%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{width:min(1440px,calc(100% - 28px));margin:0 auto;padding:22px 0 50px}.shell.narrow{max-width:560px;min-height:100vh;display:grid;place-items:center}.panel{background:linear-gradient(145deg,rgba(27,27,27,.98),rgba(13,13,13,.98));border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.28)}.login-panel{width:100%;padding:30px}.brand{display:flex;gap:14px;align-items:center;margin-bottom:26px}.brand.compact{margin:0}.brand h1{font-size:1.35rem;margin:0}.brand p{color:var(--muted);margin:4px 0 0;font-size:.86rem}.brand-logo{width:58px;height:58px;object-fit:contain}.brand-mark{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;background:var(--primary);color:#080808;font-weight:900;font-size:1.25rem}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.16em;color:var(--primary)}h1,h2{letter-spacing:-.025em}h1{margin:8px 0 10px}h2{margin:5px 0 0;font-size:1.35rem}.muted{color:var(--muted)}.center{text-align:center}.form-stack{display:grid;gap:15px}.form-stack label{display:grid;gap:7px;font-size:.85rem;font-weight:700;color:#d6d6d6}input,select,textarea{width:100%;border:1px solid #353535;background:#0b0b0b;color:#fff;border-radius:10px;padding:12px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent)}input[type=color]{padding:4px;min-height:44px}.password-wrap{display:grid;grid-template-columns:1fr auto;gap:8px}.icon-btn{border:1px solid #353535;background:#1d1d1d;color:#fff;border-radius:10px;padding:0 13px;font-size:.7rem;font-weight:800}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:12px 16px;background:var(--primary);color:#090909;text-decoration:none;font-weight:900;letter-spacing:.035em}.btn.secondary{background:#262626;color:#fff;border:1px solid #3a3a3a}.btn.danger{background:var(--danger);color:#fff}.btn.small{padding:9px 12px;font-size:.72rem}.alert{padding:13px 15px;border:1px solid #414141;background:#202020;border-radius:11px;margin:14px 0;color:#eee}.alert.error{border-color:#7f3535;background:#351919}.alert.success{border-color:#2d7147;background:#163523}.alert.warning{border-color:#8d6b16;background:#382d10}.topbar,.admin-head,.section-head,.actions{display:flex;align-items:center;justify-content:space-between;gap:14px}.topbar{margin-bottom:18px}.player-panel{padding:14px;margin-bottom:14px}.playing-header{padding:5px 3px 14px}.playing-header>span{display:block;color:var(--primary);font-size:.7rem;letter-spacing:.15em;font-weight:900}.playing-header>strong{display:block;font-size:1.2rem;margin-top:4px}.playing-header>div{color:#d3d3d3;margin-top:7px;font-size:.9rem}video{width:100%;max-height:67vh;background:#000;border-radius:12px;display:block;aspect-ratio:16/9}.status{color:var(--muted);margin:12px 4px 1px;font-size:.85rem}.tabs{display:flex;gap:8px;overflow:auto;padding:3px 0 14px}.tab{white-space:nowrap;border:1px solid #363636;background:#191919;color:#fff;padding:11px 16px;border-radius:10px;font-weight:850;font-size:.78rem}.tab.active{background:var(--primary);border-color:var(--primary);color:#090909}.catalog-panel{min-height:420px}.catalog-tools{display:grid;grid-template-columns:minmax(180px,280px) 1fr auto;gap:10px;margin-bottom:20px}.section-head{border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:16px}.count{min-width:42px;text-align:center;padding:7px 11px;border-radius:999px;background:#282828;color:#ddd;font-size:.78rem}.content-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.media-card{position:relative;min-width:0;border:1px solid #2d2d2d;background:#151515;border-radius:13px;overflow:hidden;transition:.18s transform,.18s border-color;cursor:pointer}.media-card:hover,.media-card:focus{transform:translateY(-3px);border-color:var(--primary);outline:none}.media-card>img{width:100%;aspect-ratio:2/3;display:block;object-fit:cover;background:#222}.media-card>img.empty{visibility:hidden}.media-body{padding:11px}.media-body strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.88rem}.media-body span{display:block;color:var(--primary);font-size:.65rem;font-weight:900;margin-top:7px}.favorite{position:absolute;top:8px;right:8px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(0,0,0,.72);color:#fff;font-size:1.25rem}.favorite.active{color:var(--primary)}.load-more{display:flex;margin:20px auto 0}.loading,.empty-state{grid-column:1/-1;padding:55px 18px;text-align:center;color:var(--muted)}.breadcrumb{margin:0 0 14px}.link-button{border:0;background:transparent;color:var(--primary);padding:5px 0;font-weight:800}.season-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.season-card{display:grid;text-align:left;gap:7px;border:1px solid #333;background:#181818;color:#fff;border-radius:12px;padding:18px}.season-card span{color:var(--muted);font-size:.8rem}.episode-list{display:grid;gap:10px}.episode-row{display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:14px;text-align:left;border:1px solid #303030;background:#151515;color:#fff;border-radius:12px;padding:9px}.episode-row img{width:100px;aspect-ratio:16/9;object-fit:cover;border-radius:8px;background:#222}.episode-row span{display:grid;gap:5px}.episode-row small{color:var(--muted)}.episode-row b{color:var(--primary);font-size:.7rem}.admin-head{margin-bottom:20px}.admin-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-bottom:16px}.color-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.dns-list{display:grid;gap:10px}.dns-row{display:grid;grid-template-columns:1fr 2fr 90px 100px auto auto;gap:8px;align-items:center;padding:10px;border:1px solid #303030;border-radius:12px;background:#111}.check{display:flex;align-items:center;gap:7px;font-size:.8rem}.check input{width:auto}.panel hr{border:0;border-top:1px solid var(--line);margin:24px 0}.actions{justify-content:flex-end}
@media(max-width:800px){.shell{width:min(100% - 18px,1440px);padding-top:12px}.catalog-tools{grid-template-columns:1fr 1fr}.catalog-tools .btn{grid-column:1/-1}.content-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.media-body{padding:9px}.admin-grid{grid-template-columns:1fr}.dns-row{grid-template-columns:1fr}.episode-row{grid-template-columns:82px 1fr}.episode-row img{width:82px}.episode-row b{display:none}.topbar .brand h1{font-size:1rem}.brand-logo{width:44px;height:44px}.brand-mark{width:44px;height:44px}.panel{padding:15px}}
.client-actions{display:flex;align-items:center;gap:10px}.client-summary{display:flex;align-items:center;gap:16px;padding:7px 11px;border:1px solid var(--line);border-radius:10px;background:rgba(20,20,20,.82)}.client-summary span{display:grid;gap:2px}.client-summary small{color:var(--muted);font-size:.55rem;font-weight:900;letter-spacing:.1em}.client-summary strong{font-size:.75rem;line-height:1.15;white-space:nowrap}@media(max-width:650px){.topbar{align-items:flex-start}.client-actions{gap:6px}.client-summary{display:grid;gap:5px;padding:6px 8px}.client-summary span{display:flex;gap:5px;align-items:center}.client-summary small{font-size:.48rem}.client-summary strong{font-size:.65rem}.client-actions .btn{padding:8px 9px}.topbar .brand p{display:none}}@media(max-width:410px){.topbar{gap:7px}.brand.compact{gap:7px}.topbar .brand h1{font-size:.85rem}.brand-logo,.brand-mark{width:38px;height:38px}.client-summary{border:0;background:transparent;padding:2px}}
@media(max-width:480px){.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-tools{grid-template-columns:1fr}.catalog-tools .btn{grid-column:auto}.tabs{margin-right:-9px}.player-panel{padding:8px}.catalog-panel{padding:13px}.login-panel{padding:22px}.admin-head{align-items:flex-start;flex-direction:column}.actions{width:100%}.actions .btn{flex:1}}

/* Login: salvar usuário e senha neste navegador */
.save-login-data{width:100%;display:flex;align-items:center;gap:11px;text-align:left;border:1px solid #3a3a3a;background:#161616;color:#fff;border-radius:10px;padding:11px 13px}
.save-login-data:hover,.save-login-data:focus{border-color:var(--primary);outline:none}
.login-tv-mode :focus{outline:4px solid #fff!important;outline-offset:2px!important;box-shadow:0 0 0 6px var(--primary)!important}
.save-login-data.active{border-color:var(--accent);background:#10251a}
.save-login-check{width:25px;height:25px;flex:0 0 25px;display:grid;place-items:center;border:2px solid #666;border-radius:7px;color:transparent;font-weight:950}
.save-login-data.active .save-login-check{border-color:var(--accent);background:var(--accent);color:#07120b}
.save-login-copy{display:grid;gap:2px}
.save-login-copy strong{font-size:.78rem;letter-spacing:.04em}
.save-login-copy small{color:var(--muted);font-size:.68rem;font-weight:600}
.save-login-status{min-height:16px;margin:-8px 2px 0;color:var(--muted);font-size:.68rem}

/* Guia de programação nos cards dos canais */
.media-body>.channel-guide{display:grid;gap:5px;margin-top:9px;padding-top:8px;border-top:1px solid #292929;min-height:54px}
.media-body>.channel-guide>span{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:baseline;gap:5px;margin:0}
.channel-guide b{color:var(--primary);font-size:.56rem;letter-spacing:.04em}
.channel-guide em{min-width:0;color:#d5d5d5;font-size:.65rem;font-style:normal;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.media-body>.channel-guide.loading{display:block;color:#858585;font-size:.62rem;padding-top:10px}

/* Início, histórico e próximo episódio */
.dashboard-content{display:grid;gap:28px}.dashboard-section{min-width:0}.dashboard-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dashboard-head h3{margin:0;color:var(--primary);font-size:.78rem;letter-spacing:.11em}.dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(150px,190px))}.dashboard-empty{grid-column:1/-1;margin:0;padding:25px;border:1px dashed #343434;border-radius:12px;color:var(--muted);font-size:.86rem}.history-tools{display:flex;justify-content:flex-end;margin-bottom:-12px}.history-tools button:disabled{opacity:.45;cursor:not-allowed}.catalog-tools[hidden],.next-episode[hidden]{display:none}.next-episode{display:flex;align-items:center;gap:10px;margin:12px 2px 2px;padding:12px;border:1px solid color-mix(in srgb,var(--primary) 55%,#333);border-radius:12px;background:#1c180c}.next-episode>div{display:grid;gap:3px;margin-right:auto}.next-episode span{color:var(--primary);font-size:.62rem;font-weight:900;letter-spacing:.12em}.next-episode strong{font-size:.9rem}.next-episode small{color:var(--muted)}

/* Detalhes das séries */
.series-details{display:grid;gap:20px}.series-hero{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:16px;border:1px solid #303030;border-radius:14px;background:#111}.series-hero>img{width:150px;aspect-ratio:2/3;object-fit:cover;border-radius:10px;background:#222}.series-hero>img.empty{visibility:hidden}.series-hero p{margin:0 0 14px;color:#dedede;line-height:1.55}.series-meta{display:flex;flex-wrap:wrap;gap:8px}.series-meta span{padding:6px 9px;border:1px solid #333;border-radius:999px;color:#bbb;font-size:.72rem}.episode-summary{color:#bdbdbd!important;line-height:1.35;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:650px){.dashboard-grid{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:7px}.dashboard-grid .media-card{flex:0 0 145px;scroll-snap-align:start}.dashboard-empty{width:100%}.next-episode{align-items:stretch;flex-wrap:wrap}.next-episode>div{width:100%}.next-episode .btn{flex:1}.series-hero{grid-template-columns:95px 1fr;gap:12px;padding:11px}.series-hero>img{width:95px}.series-hero p{font-size:.82rem}.series-meta span{font-size:.64rem}.episode-summary{display:none!important}}

/* Versão 2.9: renovação, ordenação e controles individuais */
.expiry-notice{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--primary) 65%,#444);border-radius:12px;background:#31270d}.expiry-notice strong{font-size:.9rem}.catalog-tools{grid-template-columns:minmax(180px,260px) minmax(180px,1fr) minmax(150px,210px) auto}.remove-recent{position:absolute;top:8px;left:8px;width:32px;height:32px;border:1px solid #555;border-radius:50%;background:rgba(0,0,0,.78);color:#fff;font-size:1.25rem;line-height:1;z-index:2}.remove-recent:hover{background:var(--danger);border-color:var(--danger)}.media-action{display:block!important;width:100%;margin-top:8px!important;padding:7px;border:1px solid color-mix(in srgb,var(--primary) 58%,#333);border-radius:8px;background:#211b08;color:var(--primary)!important;font-size:.62rem!important;font-weight:900;text-align:center}.media-action:hover{background:var(--primary);color:#090909!important}.data-tools{flex-wrap:wrap;gap:8px}.data-tools button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:800px){.catalog-tools{grid-template-columns:1fr 1fr}.catalog-tools .btn{grid-column:1/-1}}
@media(max-width:520px){.expiry-notice{align-items:stretch;flex-direction:column}.expiry-notice .btn{width:100%}.catalog-tools{grid-template-columns:1fr}.catalog-tools .btn{grid-column:auto}.data-tools{justify-content:stretch}.data-tools .btn{flex:1 1 145px}}

/* Versão 2.9.3: conta sempre disponível e renovação configurável */
.renewal-settings{margin-bottom:16px;border-color:color-mix(in srgb,var(--primary) 45%,var(--line))}.renewal-settings p{max-width:760px;line-height:1.5}.renewal-settings form{grid-template-columns:minmax(240px,1fr) auto;align-items:end;margin-top:16px}.renewal-settings .btn{min-height:44px}.account-modal[hidden]{display:none}.account-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:18px}.account-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(5px)}.account-card{position:relative;z-index:1;width:min(420px,100%);padding:25px;border:1px solid #383838;border-radius:18px;background:linear-gradient(145deg,#202020,#0d0d0d);box-shadow:0 28px 90px rgba(0,0,0,.7)}.account-card h2{margin:6px 0 20px}.account-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border:1px solid #424242;border-radius:50%;background:#252525;color:#fff;font-size:1.5rem;line-height:1}.account-data{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.account-data span{display:grid;gap:5px;padding:13px;border:1px solid #333;border-radius:11px;background:#111}.account-data small{color:var(--muted);font-size:.62rem;font-weight:900;letter-spacing:.11em}.account-data strong{overflow-wrap:anywhere;font-size:.92rem}.account-renew{width:100%}body.account-open{overflow:hidden}
.account-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.account-settings-grid .panel{margin:0}.support-settings{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.support-settings p{line-height:1.5}.support-settings form{grid-template-columns:minmax(240px,1fr) auto;align-items:end;margin-top:16px}.support-settings .btn{min-height:44px}.account-links{display:grid;gap:10px}.account-links .btn{width:100%}
.admin-shell{max-width:1180px}.admin-head{margin-bottom:24px}.admin-head h1{margin-bottom:5px}.admin-section{margin:0 0 30px}.admin-section-title{display:flex;align-items:flex-start;gap:13px;margin:0 0 12px;padding:0 3px}.admin-section-title h2{margin:2px 0 4px}.admin-step{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:var(--primary);color:#080808;font-weight:950;box-shadow:0 7px 24px color-mix(in srgb,var(--primary) 25%,transparent)}.visual-settings{border-color:color-mix(in srgb,var(--primary) 30%,var(--line))}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-actions{display:flex;justify-content:flex-end}.renewal-settings,.support-settings{margin:0}.renewal-settings h3,.support-settings h3,.add-dns-panel h3,.dns-panel h3{margin:5px 0 8px}.add-dns-panel{margin-bottom:14px}.dns-add-form{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(260px,1.8fr) 110px auto;gap:12px;align-items:end}.dns-add-form .btn,.password-form .btn{min-height:44px}.dns-panel{margin-bottom:0}.security-section{margin-bottom:10px}.security-panel{max-width:640px}.password-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}
@media(max-width:900px){.account-settings-grid,.admin-form-grid{grid-template-columns:1fr}.dns-add-form{grid-template-columns:1fr 1fr}.dns-add-form .btn{width:100%}}@media(max-width:650px){.admin-head{align-items:flex-start}.admin-head .actions{width:100%}.admin-head .actions .btn{flex:1}.admin-section{margin-bottom:24px}.admin-section-title{gap:9px}.admin-step{width:30px;height:30px;flex-basis:30px}.dns-add-form,.password-form{grid-template-columns:1fr}.client-actions .btn{padding:8px 10px}.account-card{padding:22px 17px}.account-data{grid-template-columns:1fr}.renewal-settings form,.support-settings form{grid-template-columns:1fr}.renewal-settings .btn,.support-settings .btn,.password-form .btn{width:100%}}

/* Versão 3.1: seletor global e cinco apresentações do player */
.layout-home[hidden],.player-panel[hidden],.catalog-panel[hidden]{display:none!important}.home-tab{display:none}.layout-home{margin:8px 0 16px;padding:clamp(24px,4vw,54px);border:1px solid #343434;border-radius:22px;background:linear-gradient(145deg,#191919,#090909);box-shadow:0 24px 80px rgba(0,0,0,.38)}.layout-welcome{margin-bottom:25px}.layout-welcome h2{font-size:clamp(1.7rem,3vw,2.7rem);margin:6px 0}.layout-welcome p{margin:0;color:var(--muted)}.layout-launcher{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px}.launch-card{display:grid;align-content:end;min-height:210px;padding:20px;text-align:left;border:1px solid #383838;border-radius:18px;background:linear-gradient(160deg,#262626,#111);color:#fff;box-shadow:0 14px 35px rgba(0,0,0,.24);transition:.2s transform,.2s border-color,.2s box-shadow}.launch-card:hover,.launch-card:focus{transform:translateY(-5px);border-color:var(--primary);box-shadow:0 20px 45px rgba(0,0,0,.42);outline:none}.launch-icon{display:grid;place-items:center;width:54px;height:54px;margin:0 0 auto;border-radius:17px;background:var(--primary);color:#090909;font-size:1.45rem;font-weight:950}.launch-card strong{font-size:1rem;margin-top:28px}.launch-card small{color:#bdbdbd;margin-top:6px}.layout-xciptv .home-tab,.layout-ibo .home-tab,.layout-smarters .home-tab,.layout-cinema .home-tab{display:inline-flex}

/* XCIPTV: atalhos grandes e alto contraste */
.layout-xciptv{background:radial-gradient(circle at 15% 0,color-mix(in srgb,var(--primary) 20%,transparent),transparent 32%),linear-gradient(135deg,#07101c,#04070b 68%)}.layout-xciptv .panel{background:linear-gradient(145deg,#132033,#08101a);border-color:#263b55}.layout-xciptv .layout-home{background:linear-gradient(135deg,#101f33,#07101a);border-color:#294563}.layout-xciptv .layout-launcher{grid-template-columns:repeat(3,1fr)}.layout-xciptv .launch-card{min-height:180px;border:0;background:linear-gradient(145deg,#0f86be,#075581)}.layout-xciptv .launch-card.vod{background:linear-gradient(145deg,#ee9b16,#b85b08)}.layout-xciptv .launch-card.series{background:linear-gradient(145deg,#7f59e8,#4930a4)}.layout-xciptv .launch-card.favorites{background:linear-gradient(145deg,#db4963,#8f2038)}.layout-xciptv .launch-card.account{background:linear-gradient(145deg,#2dbf79,#147447)}.layout-xciptv .launch-icon{background:rgba(255,255,255,.18);color:#fff}.layout-xciptv .tab{border-radius:7px;background:#102035;border-color:#294563}.layout-xciptv .tab.active{background:var(--primary);color:#07101a}.layout-xciptv .media-card{background:#0e1928;border-color:#263b55;border-radius:10px}

/* IBO Player: navegação lateral permanente no desktop */
.layout-ibo{background:linear-gradient(125deg,#07080c,#111520 60%,#090a0e)}.layout-ibo .shell{position:relative;padding-left:230px;max-width:1600px}.layout-ibo .tabs{position:fixed;z-index:20;left:max(14px,calc((100vw - 1440px)/2));top:105px;width:205px;display:grid;gap:8px;padding:12px;border:1px solid #2a3040;border-radius:18px;background:rgba(14,17,24,.96);box-shadow:0 20px 50px rgba(0,0,0,.45);overflow:visible}.layout-ibo .tab{display:flex;justify-content:flex-start;padding:15px 16px;border:0;border-radius:10px;background:transparent;color:#c8cbd3}.layout-ibo .tab.active,.layout-ibo .tab:hover{background:linear-gradient(90deg,var(--primary),color-mix(in srgb,var(--primary) 65%,#fff));color:#08090c}.layout-ibo .panel,.layout-ibo .layout-home{border-color:#2a3040;background:linear-gradient(145deg,#171b26,#0c0e14)}.layout-ibo video{border-radius:7px}.layout-ibo .content-grid{grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:18px}.layout-ibo .media-card{border-radius:16px;background:#151923;border-color:#2a3040}.layout-ibo .layout-launcher{grid-template-columns:repeat(2,1fr)}.layout-ibo .launch-card{min-height:150px;background:linear-gradient(140deg,#242a3a,#12151d);border-color:#343c51}.layout-ibo .launch-card.account{grid-column:1/-1;min-height:115px}.layout-ibo .launch-icon{border-radius:50%}

/* IPTV Smarters: painel em blocos simples */
.layout-smarters{background:linear-gradient(135deg,#101214,#030404)}.layout-smarters .layout-home{padding:clamp(22px,4vw,48px);background:linear-gradient(145deg,#202326,#0b0d0e);border-color:#363b3e}.layout-smarters .layout-launcher{grid-template-columns:repeat(4,1fr)}.layout-smarters .launch-card{min-height:165px;align-content:center;text-align:center;border-radius:12px;background:#181b1d;border-color:#3b4043}.layout-smarters .launch-card.account{grid-column:span 2}.layout-smarters .launch-icon{margin:0 auto 18px;border-radius:50%;background:color-mix(in srgb,var(--primary) 86%,#fff)}.layout-smarters .launch-card strong{margin-top:0}.layout-smarters .tabs{display:grid;grid-template-columns:repeat(6,1fr);overflow:visible}.layout-smarters .tab{display:flex;justify-content:center;border-radius:8px;background:#202326}.layout-smarters .panel{border-radius:12px;background:linear-gradient(145deg,#1d2022,#0c0e0f)}.layout-smarters .media-card{border-radius:8px;background:#181b1d}

/* Cinema: capas, sinopses e área de reprodução em destaque */
.layout-cinema{background:radial-gradient(circle at 50% -10%,color-mix(in srgb,var(--primary) 23%,#31120b),#080604 38%,#030303 72%)}.layout-cinema .shell{max-width:1640px}.layout-cinema .topbar{padding:8px 2px 18px;border-bottom:1px solid rgba(255,255,255,.1)}.layout-cinema .layout-home{min-height:510px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.3)),radial-gradient(circle at 80% 20%,color-mix(in srgb,var(--primary) 30%,#36100a),transparent 45%),#100b08;border:0;border-radius:4px}.layout-cinema .layout-home[hidden]{display:none!important}.layout-cinema .layout-welcome{max-width:700px}.layout-cinema .layout-welcome h2{font-size:clamp(2.3rem,5vw,4.6rem);line-height:.95}.layout-cinema .layout-launcher{grid-template-columns:repeat(5,1fr)}.layout-cinema .launch-card{min-height:125px;border-radius:5px;background:rgba(18,18,18,.86);backdrop-filter:blur(8px)}.layout-cinema .launch-icon{width:40px;height:40px;border-radius:50%;font-size:1rem}.layout-cinema .launch-card strong{margin-top:18px}.layout-cinema .player-panel{padding:0;border:0;border-radius:4px;background:#000}.layout-cinema .playing-header{padding:18px 20px}.layout-cinema video{max-height:78vh;border-radius:0}.layout-cinema .status{padding:0 18px 14px}.layout-cinema .catalog-panel{border:0;border-radius:4px;background:rgba(7,7,7,.88)}.layout-cinema .content-grid{grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:18px}.layout-cinema .media-card{border:0;border-radius:4px;background:#111}.layout-cinema .media-card:hover{transform:scale(1.035);box-shadow:0 18px 45px rgba(0,0,0,.7)}.layout-cinema .media-body{padding:13px}.layout-cinema .playing-header>strong{font-size:1.55rem}.layout-cinema .playing-header>div{max-width:980px;line-height:1.5}.layout-cinema .series-hero{grid-template-columns:210px 1fr;background:linear-gradient(90deg,#18100d,#080706);border:0}.layout-cinema .series-hero>img{width:210px}

/* Seletor visual no painel */
.layout-picker{margin:4px 0;padding:18px;border:1px solid #343434;border-radius:14px}.layout-picker legend{padding:0 8px;font-weight:900}.layout-picker>.muted{margin:2px 0 15px}.layout-options{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:10px}.layout-option{position:relative;display:grid!important;align-content:start;gap:7px!important;padding:10px;border:1px solid #343434;border-radius:12px;background:#111;cursor:pointer}.layout-option:has(input:checked){border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 32%,transparent)}.layout-option input{position:absolute;top:8px;right:8px;width:18px;height:18px;accent-color:var(--primary)}.layout-option strong{font-size:.82rem}.layout-option small{color:var(--muted);font-size:.7rem;line-height:1.35}.layout-preview{height:72px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:8px;border-radius:8px;background:#202020;overflow:hidden}.layout-preview i{display:block;border-radius:3px;background:#555}.preview-current i:first-child{grid-column:1/-1;height:18px}.preview-xciptv i{background:#137eaf}.preview-xciptv i:nth-child(2){background:#df8414}.preview-xciptv i:nth-child(3){background:#7550d4}.preview-ibo{grid-template-columns:25% 1fr}.preview-ibo i:first-child{grid-row:1/3;background:#313748}.preview-ibo i:nth-child(2){grid-column:2}.preview-ibo i:nth-child(3){grid-column:2;background:#202430}.preview-smarters{grid-template-columns:repeat(2,1fr)}.preview-smarters i{background:#3d4244}.preview-smarters i:nth-child(3){grid-column:1/-1}.preview-cinema{grid-template-columns:2fr 1fr 1fr;background:linear-gradient(135deg,#35170f,#111)}.preview-cinema i{background:#7c4934}

@media(max-width:1050px){.layout-launcher,.layout-cinema .layout-launcher{grid-template-columns:repeat(3,1fr)}.layout-options{grid-template-columns:repeat(3,1fr)}.layout-ibo .shell{padding-left:0}.layout-ibo .tabs{position:static;width:auto;display:flex;padding:3px 0 14px;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:auto}.layout-ibo .tab{justify-content:center;padding:11px 16px;border:1px solid #2a3040;background:#141822}.layout-smarters .tabs{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.layout-home{padding:20px 14px}.layout-launcher,.layout-xciptv .layout-launcher,.layout-ibo .layout-launcher,.layout-smarters .layout-launcher,.layout-cinema .layout-launcher{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.launch-card,.layout-xciptv .launch-card,.layout-smarters .launch-card{min-height:135px;padding:14px}.launch-icon{width:42px;height:42px;border-radius:12px}.launch-card strong{font-size:.8rem;margin-top:18px}.launch-card small{font-size:.67rem}.layout-ibo .launch-card.account,.layout-smarters .launch-card.account{grid-column:auto;min-height:135px}.layout-smarters .tabs{display:flex;overflow:auto}.layout-cinema .layout-home{min-height:420px}.layout-cinema .layout-welcome h2{font-size:2.4rem}.layout-cinema .content-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.layout-cinema .series-hero{grid-template-columns:95px 1fr}.layout-cinema .series-hero>img{width:95px}.layout-options{grid-template-columns:1fr 1fr}}
@media(max-width:470px){.layout-options{grid-template-columns:1fr}.layout-preview{height:62px}.layout-welcome h2{font-size:1.7rem}.launch-card small{display:none}.layout-cinema .layout-welcome h2{font-size:2.05rem}.layout-smarters .launch-card{text-align:left}.layout-smarters .launch-icon{margin:0 0 18px}}

/* Versão 3.2: cada modelo também muda a navegação, o catálogo e a forma de assistir */
.experience{display:grid;grid-template-areas:"player" "tabs" "catalog"}.experience>.player-panel{grid-area:player}.experience>.tabs{grid-area:tabs}.experience>.catalog-panel{grid-area:catalog}.playing-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.playing-copy{min-width:0}.playing-copy>span{display:block;color:var(--primary);font-size:.7rem;letter-spacing:.15em;font-weight:900}.playing-copy>strong{display:block;font-size:1.2rem;margin-top:4px}.playing-copy>div{color:#d3d3d3;margin-top:7px;font-size:.9rem}.close-player{display:none;flex:0 0 auto}.tab-icon{display:none;margin-right:8px;font-size:1rem}.media-meta{min-height:15px;margin-top:7px;color:#aaa;font-size:.65rem;font-weight:750}.catalog-feature[hidden]{display:none!important}

body:not(.layout-current).has-playback .close-player{display:inline-flex}body:not(.layout-current) .tab-icon{display:inline-block}body:not(.layout-current) .tabs{scrollbar-width:none}body:not(.layout-current) .tabs::-webkit-scrollbar{display:none}

/* XCIPTV: canais em lista ao lado do vídeo, com troca direta sem sair da tela */
@media(min-width:1051px){.layout-xciptv.view-live .experience{grid-template-columns:minmax(360px,430px) minmax(0,1fr);grid-template-areas:"tabs tabs" "catalog player";gap:14px}.layout-xciptv.view-live .tabs{padding:0}.layout-xciptv.view-live .player-panel{position:sticky;top:14px;margin:0;min-height:420px}.layout-xciptv.view-live .catalog-panel{display:flex;min-height:620px;max-height:calc(100vh - 105px);flex-direction:column;padding:14px;overflow:hidden}.layout-xciptv.view-live .catalog-tools{grid-template-columns:1fr 1fr;gap:7px;margin-bottom:12px}.layout-xciptv.view-live .catalog-tools .btn{grid-column:1/-1}.layout-xciptv.view-live .section-head{margin-bottom:10px}.layout-xciptv.view-live .content-grid{display:flex;flex-direction:column;gap:7px;overflow:auto;padding-right:4px}.layout-xciptv.view-live .media-card{display:grid;grid-template-columns:78px minmax(0,1fr);min-height:78px;flex:0 0 auto}.layout-xciptv.view-live .media-card>img{width:78px;height:100%;min-height:78px;aspect-ratio:auto;object-fit:contain;padding:8px;background:#08111c}.layout-xciptv.view-live .media-body{align-self:center;padding:9px 46px 9px 10px}.layout-xciptv.view-live .media-body>.channel-guide{min-height:0;margin-top:6px;padding-top:6px}.layout-xciptv.view-live .favorite{top:50%;right:8px;transform:translateY(-50%)}.layout-xciptv.view-live .media-card:hover{transform:translateX(4px)}}
.layout-xciptv .playing-header{padding:6px 4px 13px}.layout-xciptv .playing-copy>strong{font-size:1.4rem}.layout-xciptv .status{padding:9px 12px;border-radius:7px;background:#08111c}.layout-xciptv .catalog-tools input,.layout-xciptv .catalog-tools select{background:#08111c;border-color:#294563}

/* IBO: menu lateral e player integrado com lista compacta de canais */
@media(min-width:1051px){.layout-ibo.view-live .experience{grid-template-columns:minmax(0,1.45fr) minmax(350px,.75fr);grid-template-areas:"tabs tabs" "player catalog";gap:16px}.layout-ibo.view-live .player-panel{position:sticky;top:18px;margin:0}.layout-ibo.view-live .catalog-panel{min-height:620px;max-height:calc(100vh - 110px);overflow:auto;padding:14px}.layout-ibo.view-live .catalog-tools{grid-template-columns:1fr;position:sticky;top:-14px;z-index:3;padding:14px 0;background:#0e1118}.layout-ibo.view-live .catalog-tools .btn{grid-column:auto}.layout-ibo.view-live .section-head{position:sticky;top:210px;z-index:2;background:#0e1118}.layout-ibo.view-live .content-grid{display:flex;flex-direction:column;gap:8px}.layout-ibo.view-live .media-card{display:grid;grid-template-columns:70px minmax(0,1fr);min-height:70px;border-radius:9px}.layout-ibo.view-live .media-card>img{width:70px;height:100%;aspect-ratio:auto;object-fit:contain;padding:7px;background:#090b10}.layout-ibo.view-live .media-body{padding:9px 43px 9px 10px}.layout-ibo.view-live .channel-guide{min-height:0}.layout-ibo.view-live .favorite{width:30px;height:30px}.layout-ibo .experience>.tabs{min-height:0}}
.layout-ibo .close-player{border-color:#3a4258;background:#202636}.layout-ibo .playing-header{padding:7px 5px 15px}.layout-ibo .playing-copy>strong{font-size:1.45rem}

/* Smarters: blocos funcionais e catálogo sem player vazio */
.layout-smarters:not(.has-playback) .player-panel{display:none}.layout-smarters .experience{gap:0}.layout-smarters .catalog-tools{padding:12px;border:1px solid #343a3d;border-radius:10px;background:#111315}.layout-smarters.view-live .content-grid{grid-template-columns:repeat(auto-fill,minmax(235px,1fr))}.layout-smarters.view-live .media-card{display:grid;grid-template-columns:92px minmax(0,1fr);min-height:92px}.layout-smarters.view-live .media-card>img{width:92px;height:100%;aspect-ratio:auto;object-fit:contain;padding:9px;background:#0c0d0e}.layout-smarters.view-live .media-body{align-self:center;padding-right:42px}.layout-smarters .media-card:hover{transform:none;border-color:var(--primary);box-shadow:inset 4px 0 var(--primary)}.layout-smarters .playing-header{padding:10px}.layout-smarters .player-panel{border:2px solid color-mix(in srgb,var(--primary) 60%,#333)}

/* Cinema: destaque real, catálogo de capas e player exibido somente ao assistir */
.layout-cinema:not(.has-playback) .player-panel{display:none}.layout-cinema .catalog-feature{position:relative;display:flex;align-items:flex-end;min-height:clamp(330px,48vw,610px);margin:-22px -22px 24px;padding:clamp(25px,5vw,68px);overflow:hidden;border-radius:4px;background:linear-gradient(90deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.72) 42%,rgba(0,0,0,.12) 78%),linear-gradient(0deg,#070707 0%,transparent 45%),var(--feature-image),linear-gradient(135deg,#2b140d,#090909);background-position:center;background-size:cover}.layout-cinema .catalog-feature-copy{position:relative;z-index:1;width:min(620px,100%)}.layout-cinema .catalog-feature h3{max-width:600px;margin:8px 0 12px;font-size:clamp(2.1rem,5vw,4.8rem);line-height:.94;letter-spacing:-.05em;text-shadow:0 5px 28px #000}.layout-cinema .catalog-feature-meta{color:var(--primary);font-weight:900}.layout-cinema .catalog-feature-synopsis{color:#e2e2e2;line-height:1.55;text-shadow:0 2px 10px #000}.layout-cinema .catalog-feature-actions{display:flex;gap:10px;margin-top:20px}.layout-cinema.view-vod .section-head,.layout-cinema.view-series .section-head{border:0}.layout-cinema .card-vod,.layout-cinema .card-series{transform-origin:center}.layout-cinema .card-vod>img,.layout-cinema .card-series>img{aspect-ratio:2/3}.layout-cinema .media-meta{color:#d2d2d2}.layout-cinema .playing-copy{padding:0 8px}.layout-cinema.has-playback .player-panel{box-shadow:0 25px 80px rgba(0,0,0,.72)}

@media(max-width:1050px){.experience,.layout-xciptv.view-live .experience,.layout-ibo.view-live .experience{grid-template-columns:1fr;grid-template-areas:"tabs" "player" "catalog";gap:0}.layout-xciptv.view-live .player-panel,.layout-ibo.view-live .player-panel{position:static}.layout-xciptv.view-live .catalog-panel,.layout-ibo.view-live .catalog-panel{max-height:none;overflow:visible}.layout-xciptv.view-live .content-grid,.layout-ibo.view-live .content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.layout-xciptv.view-live .media-card,.layout-ibo.view-live .media-card{display:grid;grid-template-columns:76px minmax(0,1fr)}.layout-xciptv.view-live .media-card>img,.layout-ibo.view-live .media-card>img{width:76px;height:100%;aspect-ratio:auto;object-fit:contain;padding:7px}.layout-xciptv.view-live .media-body,.layout-ibo.view-live .media-body{padding-right:38px}.layout-ibo .experience>.tabs{min-height:auto}.layout-cinema .catalog-feature{margin:-15px -15px 20px}}
@media(max-width:650px){.playing-header{align-items:stretch;flex-direction:column}.close-player{width:100%}.layout-xciptv.view-live .content-grid,.layout-ibo.view-live .content-grid,.layout-smarters.view-live .content-grid{grid-template-columns:1fr}.layout-xciptv.view-live .media-card,.layout-ibo.view-live .media-card,.layout-smarters.view-live .media-card{grid-template-columns:72px minmax(0,1fr);min-height:72px}.layout-xciptv.view-live .media-card>img,.layout-ibo.view-live .media-card>img,.layout-smarters.view-live .media-card>img{width:72px;min-height:72px}.layout-cinema .catalog-feature{min-height:390px;padding:25px 17px;background:linear-gradient(0deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.64) 60%,rgba(0,0,0,.12) 100%),var(--feature-image),linear-gradient(135deg,#2b140d,#090909);background-position:center;background-size:cover}.layout-cinema .catalog-feature h3{font-size:2.35rem}.layout-cinema .catalog-feature-synopsis{font-size:.82rem}.layout-cinema .catalog-feature-actions .btn{width:100%}.layout-cinema .tab-icon{display:block;margin:0 0 3px}.layout-cinema .tab{display:grid;place-items:center;min-width:74px;padding:8px;font-size:.62rem}}

/* Versão 3.3: experiências completas e independentes de navegação */
.category-rail[hidden],.media-details[hidden]{display:none!important}.category-rail{grid-area:categories;min-width:0;border:1px solid var(--line);border-radius:16px;background:#101010;overflow:hidden}.rail-head{display:flex;align-items:center;justify-content:space-between;padding:15px;border-bottom:1px solid var(--line)}.rail-head button{display:none;width:34px;height:34px;border:0;border-radius:50%;background:#252525;color:#fff;font-size:1.2rem}.category-rail-list{display:grid;align-content:start;max-height:680px;overflow:auto;padding:8px}.category-rail-item{width:100%;padding:12px 13px;border:0;border-radius:9px;background:transparent;color:#c9c9c9;text-align:left;font-size:.78rem;font-weight:750}.category-rail-item:hover,.category-rail-item.active{background:var(--primary);color:#080808}.category-rail-open{display:none}.media-card.is-playing{border-color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 17%,#121212)!important;box-shadow:inset 4px 0 var(--accent),0 0 0 2px var(--accent),0 10px 28px color-mix(in srgb,var(--accent) 24%,transparent)!important}.media-card.is-playing .media-body{background:color-mix(in srgb,var(--accent) 13%,transparent)}.media-card.is-playing:after{content:'REPRODUZINDO';position:absolute;z-index:3;left:7px;top:7px;padding:4px 6px;border-radius:5px;background:var(--accent);color:#06140b;font-size:.52rem;font-weight:950;letter-spacing:.04em}.episode-row.is-playing{position:relative;border-color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 18%,#151515)!important;box-shadow:inset 4px 0 var(--accent),0 0 0 2px var(--accent),0 9px 25px color-mix(in srgb,var(--accent) 20%,transparent)}.episode-row.is-playing b{color:var(--accent);padding-top:17px}.episode-row.is-playing:after{content:'REPRODUZINDO';position:absolute;right:8px;top:6px;padding:3px 6px;border-radius:5px;background:var(--accent);color:#06140b;font-size:.48rem;font-weight:950;letter-spacing:.04em}
.media-details{position:fixed;z-index:70;inset:0;display:grid;place-items:center;padding:22px}.media-details-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(0,0,0,.82);backdrop-filter:blur(7px)}.media-details-card{position:relative;width:min(1040px,100%);min-height:540px;display:flex;align-items:flex-end;overflow:hidden;border:1px solid #454545;border-radius:18px;background:#090909;box-shadow:0 35px 100px #000}.media-details-image{position:absolute;inset:0;background-position:center;background-size:cover;opacity:.96}.media-details-copy{position:relative;z-index:1;width:min(650px,100%);padding:clamp(28px,5vw,65px)}.media-details-copy h2{margin:8px 0 12px;font-size:clamp(2rem,5vw,4rem);line-height:.98}.media-details-meta{color:var(--primary);font-weight:850}.media-details-synopsis{color:#e0e0e0;line-height:1.55}.media-details-actions{display:flex;gap:10px;margin-top:24px}.media-details-favorite.active{color:var(--primary)}.media-details-close{position:absolute;z-index:3;right:17px;top:17px;width:42px;height:42px;border:0;border-radius:50%;background:rgba(0,0,0,.72);color:#fff;font-size:1.5rem}

/* XCIPTV: categorias, canais e vídeo simultâneos; VOD abre detalhes antes de tocar */
@media(min-width:901px){.layout-xciptv:not(.view-home) .experience{grid-template-columns:235px minmax(310px,410px) minmax(0,1fr);grid-template-areas:"tabs tabs tabs" "categories catalog player";gap:12px}.layout-xciptv:not(.view-live):not(.has-playback) .experience{grid-template-columns:235px minmax(0,1fr);grid-template-areas:"tabs tabs" "categories catalog"}.layout-xciptv:not(.view-live):not(.has-playback) .player-panel{display:none}.layout-xciptv .category-rail{max-height:calc(100vh - 125px);position:sticky;top:12px}.layout-xciptv .catalog-panel{max-height:calc(100vh - 125px);overflow:auto;padding:12px}.layout-xciptv .player-panel{position:sticky;top:12px;align-self:start;margin:0}.layout-xciptv .content-grid{display:flex;flex-direction:column;gap:7px}.layout-xciptv.view-vod .content-grid,.layout-xciptv.view-series .content-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:13px}.layout-xciptv.view-vod .media-card,.layout-xciptv.view-series .media-card{display:block}.layout-xciptv.view-vod .media-card>img,.layout-xciptv.view-series .media-card>img{width:100%;aspect-ratio:2/3;padding:0;object-fit:cover}.layout-xciptv.view-vod .media-body,.layout-xciptv.view-series .media-body{padding:10px 38px 10px 10px}}
.layout-xciptv .catalog-tools{grid-template-columns:1fr auto}.layout-xciptv .catalog-tools #category{display:none}.layout-xciptv .catalog-tools #search{grid-column:1/-1}.layout-xciptv .section-head h2{font-size:1.05rem}

/* IBO: menu principal permanente, categorias em faixa e catálogo de capas */
.layout-ibo:not(.view-home) .experience{grid-template-areas:"tabs" "categories" "player" "catalog"}.layout-ibo .category-rail{border:0;background:transparent;overflow:visible}.layout-ibo .rail-head{display:none}.layout-ibo .category-rail-list{display:flex;gap:8px;max-height:none;overflow:auto;padding:3px 0 13px}.layout-ibo .category-rail-item{flex:0 0 auto;width:auto;padding:10px 15px;border:1px solid #303748;background:#151923}.layout-ibo .catalog-tools #category{display:none}.layout-ibo:not(.view-live):not(.has-playback) .player-panel{display:none}.layout-ibo.view-live .media-card .channel-guide{display:none}.layout-ibo.view-live .media-card{min-height:78px}.layout-ibo.view-live .content-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}.layout-ibo.view-live .media-card{display:grid;grid-template-columns:76px 1fr}.layout-ibo.view-live .media-card>img{width:76px;height:100%;aspect-ratio:auto;object-fit:contain;padding:8px}.layout-ibo.has-playback .player-panel{position:relative;max-width:1120px;margin:0 auto 14px}.layout-ibo .catalog-panel{min-height:500px;max-height:none;overflow:visible}.layout-ibo .content-grid{grid-template-columns:repeat(auto-fill,minmax(165px,1fr))}

/* Smarters: categorias à esquerda e grade à direita; player ocupa a tela de conteúdo */
@media(min-width:901px){.layout-smarters:not(.view-home) .experience{grid-template-columns:250px minmax(0,1fr);grid-template-areas:"tabs tabs" "categories catalog";gap:14px}.layout-smarters.has-playback .experience{grid-template-areas:"tabs tabs" "player player" "categories catalog"}.layout-smarters .category-rail{border-radius:10px;background:#171a1c}.layout-smarters .category-rail-list{max-height:700px}.layout-smarters .catalog-panel{padding:15px}.layout-smarters .catalog-tools #category{display:none}.layout-smarters.view-live .content-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}.layout-smarters.view-vod .content-grid,.layout-smarters.view-series .content-grid{grid-template-columns:repeat(auto-fill,minmax(165px,1fr))}}
.layout-smarters .player-panel{grid-area:player!important}.layout-smarters .section-head{background:linear-gradient(90deg,color-mix(in srgb,var(--primary) 18%,#171a1c),#171a1c);padding:14px;border-radius:8px}.layout-smarters .media-card{border-radius:7px}.layout-smarters .media-card .media-action{border-radius:5px}

/* Cinema: categorias como gêneros, catálogo panorâmico e detalhes em destaque */
.layout-cinema:not(.view-home) .experience{grid-template-areas:"tabs" "categories" "player" "catalog"}.layout-cinema .category-rail{border:0;background:transparent}.layout-cinema .rail-head{display:none}.layout-cinema .category-rail-list{display:flex;gap:10px;max-height:none;overflow:auto;padding:4px 0 18px}.layout-cinema .category-rail-item{flex:0 0 auto;width:auto;padding:9px 15px;border:1px solid #3a302d;background:rgba(20,15,13,.8)}.layout-cinema .catalog-tools #category{display:none}.layout-cinema .catalog-tools{position:sticky;z-index:5;top:0;background:rgba(7,7,7,.92);backdrop-filter:blur(12px);padding:12px 0}.layout-cinema.view-live .catalog-feature{display:none!important}.layout-cinema.view-live .content-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.layout-cinema.view-live .media-card{display:grid;grid-template-columns:82px 1fr}.layout-cinema.view-live .media-card>img{width:82px;height:100%;aspect-ratio:auto;object-fit:contain;padding:8px}.layout-cinema:not(.view-live):not(.has-playback) .player-panel{display:none}.layout-cinema .media-details-card{min-height:min(700px,86vh);border-radius:4px;border:0}.layout-cinema .media-details-copy{padding:clamp(28px,6vw,80px)}

@media(max-width:900px){body:not(.layout-current) .experience{display:grid;grid-template-columns:1fr;grid-template-areas:"tabs" "player" "catalog"!important}.category-rail{position:fixed!important;z-index:60;left:0;top:0;bottom:0;width:min(330px,88vw);max-height:none!important;border-radius:0!important;box-shadow:20px 0 60px #000}.category-rail .rail-head{display:flex}.category-rail-list{display:grid!important;max-height:calc(100vh - 65px)!important;padding:9px!important}.category-rail-item{width:100%!important;text-align:left!important}.category-rail-open{display:inline-flex}.catalog-tools{grid-template-columns:1fr 1fr!important}.catalog-tools #category{display:none}.catalog-tools #search{grid-column:1/-1}.media-details-card{min-height:min(620px,88vh)}.layout-ibo .tabs{position:static}.layout-xciptv:not(.view-live):not(.has-playback) .player-panel,.layout-ibo:not(.view-live):not(.has-playback) .player-panel,.layout-smarters:not(.has-playback) .player-panel,.layout-cinema:not(.has-playback) .player-panel{display:none}.layout-xciptv .catalog-panel,.layout-ibo .catalog-panel{max-height:none;overflow:visible}.layout-xciptv.view-vod .content-grid,.layout-xciptv.view-series .content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.catalog-tools{grid-template-columns:1fr!important}.catalog-tools>*{grid-column:1!important}.media-details{padding:0}.media-details-card{width:100%;height:100%;min-height:100%;border:0;border-radius:0}.media-details-image{background-position:65% center}.media-details-copy{align-self:end;padding:24px 18px 34px;background:linear-gradient(0deg,#090909 0%,rgba(9,9,9,.95) 78%,transparent)}.media-details-copy h2{font-size:2.1rem}.media-details-actions{display:grid}.layout-xciptv.view-vod .content-grid,.layout-xciptv.view-series .content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Versão 3.5: experiência móvel própria */
.playing-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.player-compact,.player-fullscreen,.mobile-nav,.mobile-filters-open,.mobile-tools-head,.mobile-tools-backdrop{display:none}.season-browser{display:grid;gap:12px}.season-browser>h3{margin:10px 0 0;font-size:.78rem;letter-spacing:.14em;color:var(--primary)}.season-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 8px;scroll-snap-type:x proximity;scrollbar-width:none}.season-tabs::-webkit-scrollbar{display:none}.season-tab{flex:0 0 auto;min-width:58px;min-height:44px;padding:9px 14px;border:1px solid #383838;border-radius:10px;background:#171717;color:#fff;font-weight:900;scroll-snap-align:start}.season-tab.active{border-color:var(--primary);background:var(--primary);color:#090909}.episode-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 2px;color:#aaa}.episode-heading strong{color:#fff}.episode-list{display:grid;gap:9px}

@media(max-width:700px){
  html{scroll-padding-top:8px}.shell{width:100%;padding:8px 8px calc(86px + env(safe-area-inset-bottom));overflow:clip}.topbar{padding:4px 3px 9px;margin-bottom:8px}.brand.compact h1{font-size:.88rem}.brand.compact p{display:none}.client-actions .btn{min-height:44px;padding:8px 11px}.panel{border-radius:13px}
  .tabs{display:none!important}.mobile-nav{position:fixed;z-index:100;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));min-height:64px;padding:5px 4px calc(5px + env(safe-area-inset-bottom));border-top:1px solid #303030;background:rgba(10,10,10,.96);backdrop-filter:blur(16px);box-shadow:0 -12px 32px rgba(0,0,0,.55)}.mobile-nav button{display:grid;place-items:center;gap:2px;min-width:0;min-height:52px;padding:4px 1px;border:0;border-radius:8px;background:transparent;color:#aaa}.mobile-nav button span{font-size:1.05rem;line-height:1}.mobile-nav button small{max-width:100%;overflow:hidden;font-size:.53rem;font-weight:900;letter-spacing:0;white-space:nowrap;text-overflow:clip}.mobile-nav button.active{background:color-mix(in srgb,var(--primary) 18%,#151515);color:var(--primary)}
  body:not(.view-home) .experience{grid-template-areas:"player" "catalog"!important}.catalog-panel{padding:12px}.mobile-filters-open{display:flex;width:100%;min-height:46px;margin-bottom:12px;justify-content:center}.mobile-filters-open[hidden]{display:none!important}.catalog-tools{position:fixed!important;z-index:96!important;left:0;right:0;bottom:0;top:auto!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin:0!important;padding:16px 14px calc(82px + env(safe-area-inset-bottom))!important;border:1px solid #3b3b3b!important;border-radius:20px 20px 0 0!important;background:#121212!important;box-shadow:0 -25px 70px #000;transform:translateY(110%);transition:transform .22s ease}.catalog-tools[hidden]{display:none!important}.filters-open .catalog-tools{transform:translateY(0)}.mobile-tools-head{display:flex!important;align-items:center;justify-content:space-between;grid-column:1!important}.mobile-tools-head button{width:44px;height:44px;border:0;border-radius:50%;background:#292929;color:#fff;font-size:1.4rem}.catalog-tools input,.catalog-tools select,.catalog-tools .btn{width:100%;min-height:48px;grid-column:1!important}.mobile-tools-backdrop{position:fixed;z-index:95;inset:0;display:block;background:rgba(0,0,0,.72);border:0}.mobile-tools-backdrop[hidden]{display:none!important}.filters-open,.categories-open,.details-open{overflow:hidden}
  .category-rail{z-index:98!important;bottom:calc(64px + env(safe-area-inset-bottom))!important;width:min(340px,90vw)!important;height:calc(100dvh - 64px - env(safe-area-inset-bottom));max-height:none!important}.category-rail-list{max-height:calc(100dvh - 129px - env(safe-area-inset-bottom))!important;overscroll-behavior:contain}.rail-head button{width:44px;height:44px}.category-rail-item{min-height:48px}.category-rail-open{display:flex!important}.category-rail-open[hidden]{display:none!important}
  .has-playback #playerPanel{position:sticky!important;z-index:35;top:0;margin:0 0 8px;border-radius:10px;box-shadow:0 12px 35px rgba(0,0,0,.75)}.playing-header{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:4px 2px 8px}.playing-copy>strong{font-size:1rem}.playing-copy>div{max-height:36px;overflow:hidden;font-size:.74rem}.playing-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.playing-actions .btn{display:flex!important;min-height:44px;padding:7px 5px;justify-content:center;font-size:.58rem}.player-compact,.player-fullscreen{display:flex}.player-panel video{max-height:none;border-radius:8px}.player-panel .status{margin:7px 0 0;font-size:.68rem}
  .player-is-compact #playerPanel{display:grid!important;grid-template-columns:140px minmax(0,1fr);grid-template-areas:"mini-video mini-header" "mini-video mini-status";gap:6px;padding:6px}.player-is-compact #playerPanel video{grid-area:mini-video;width:140px;height:79px;align-self:center;object-fit:contain}.player-is-compact #playerPanel .playing-header{grid-area:mini-header;display:block;min-width:0;padding:1px}.player-is-compact #playerPanel .playing-copy>span,.player-is-compact #playerPanel .playing-copy>div,.player-is-compact #playerPanel .close-player,.player-is-compact #playerPanel .player-fullscreen{display:none!important}.player-is-compact #playerPanel .playing-copy>strong{display:block;overflow:hidden;font-size:.78rem;white-space:nowrap;text-overflow:ellipsis}.player-is-compact #playerPanel .playing-actions{display:block;margin-top:5px}.player-is-compact #playerPanel .player-compact{width:100%;min-height:34px}.player-is-compact #playerPanel .status{grid-area:mini-status;align-self:start;margin:0;overflow:hidden;font-size:.6rem;white-space:nowrap;text-overflow:ellipsis}.player-is-compact #playerPanel .next-episode{grid-column:1/-1}
  .section-head{margin-bottom:12px}.section-head h2{font-size:1.15rem}.content-grid,.layout-xciptv.view-vod .content-grid,.layout-xciptv.view-series .content-grid,.layout-ibo .content-grid,.layout-smarters.view-vod .content-grid,.layout-smarters.view-series .content-grid,.layout-cinema .content-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.view-live .content-grid,.layout-xciptv.view-live .content-grid,.layout-ibo.view-live .content-grid,.layout-smarters.view-live .content-grid,.layout-cinema.view-live .content-grid{grid-template-columns:1fr!important}.media-card{min-width:0}.media-card>img{content-visibility:auto}.favorite,.remove-recent{min-width:44px;min-height:44px}.load-more{min-height:48px}
  .media-details{z-index:110;align-items:end;padding:0}.details-open .mobile-nav{visibility:hidden;pointer-events:none}.media-details-backdrop{background:rgba(0,0,0,.68)}.media-details-card{width:100%;height:auto;min-height:min(72vh,650px);max-height:calc(100dvh - 8px);border-radius:22px 22px 0 0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scroll-padding-bottom:calc(92px + env(safe-area-inset-bottom))}.media-details-image{height:42%;bottom:auto}.media-details-copy{align-self:end;width:100%;min-width:0;padding:170px 18px 10px;background:linear-gradient(0deg,#090909 0%,#090909 68%,transparent)}.media-details-copy h2{font-size:1.85rem}.media-details-actions{position:sticky;z-index:4;bottom:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin:18px -2px 0;padding:10px 2px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(0deg,#090909 78%,rgba(9,9,9,.94) 92%,transparent)}.media-details-actions .btn{width:100%;min-width:0;min-height:50px;padding:10px 8px;white-space:normal;text-align:center;line-height:1.15}.media-details-close{width:48px;height:48px}
  .series-details{gap:13px}.series-hero{grid-template-columns:82px minmax(0,1fr);gap:12px}.series-hero>img{width:82px}.series-hero p{margin-top:0;display:-webkit-box;overflow:hidden;-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:.78rem}.series-meta span{font-size:.66rem}.season-browser{margin-top:3px}.season-tabs{margin-right:-12px;padding-right:12px}.season-tab{min-width:58px;min-height:48px}.episode-heading{position:sticky;z-index:2;top:0;background:#111}.episode-row{grid-template-columns:92px minmax(0,1fr);min-height:88px;padding:7px}.episode-row img{width:92px;height:58px;object-fit:cover}.episode-row>b{grid-column:2;justify-self:start}.episode-summary{display:none}
  .layout-cinema .catalog-feature{min-height:310px;margin:-12px -12px 16px}.layout-cinema .catalog-feature-synopsis{display:-webkit-box;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical}.dashboard-grid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:7px}.dashboard-grid .media-card{flex:0 0 145px;scroll-snap-align:start}
  button,.btn,a.btn{touch-action:manipulation}
}

/* Versão 3.61: layout específico, leve e previsível para Smart TVs antigas. */
.layout-smarttv{
  background:#05080c;
}
.layout-smarttv .home-tab{
  display:inline-flex;
}
.preview-smarttv{
  grid-template-columns:28% 34% 1fr;
  grid-template-rows:1fr 1fr;
  background:#06101b;
}
.preview-smarttv i{
  border:1px solid #4e6d88;
  background:#122a3d;
}
.preview-smarttv i:first-child{
  grid-row:1/3;
  background:#163c59;
}
.preview-smarttv i:nth-child(2){
  grid-row:1/3;
  background:#f4b400;
}
.preview-smarttv i:nth-child(3){
  grid-row:1/3;
  background:#0b1722;
}

.layout-smarttv *,
.layout-smarttv *::before,
.layout-smarttv *::after{
  animation:none!important;
  scroll-behavior:auto!important;
  transition:none!important;
}
.layout-smarttv .panel,
.layout-smarttv .layout-home,
.layout-smarttv .launch-card,
.layout-smarttv .media-card,
.layout-smarttv .catalog-tools,
.layout-smarttv .media-details-backdrop,
.layout-smarttv .media-details-card,
.layout-smarttv .mobile-nav{
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
}
.layout-smarttv .shell{
  width:calc(100% - 28px);
  max-width:none;
  padding:14px 0 28px;
}
.layout-smarttv .topbar{
  min-height:64px;
  margin-bottom:12px;
  padding:0 4px 11px;
  border-bottom:2px solid #233343;
}
.layout-smarttv .brand-logo{
  width:48px;
  height:48px;
}
.layout-smarttv .brand-mark{
  width:48px;
  height:48px;
  border-radius:8px;
}
.layout-smarttv .client-actions{
  gap:9px;
}
.layout-smarttv .client-actions .btn{
  min-height:46px;
  padding:10px 15px;
  border-radius:7px;
  font-size:.78rem;
}

.layout-smarttv .layout-home{
  min-height:0;
  margin:0 0 14px;
  padding:24px;
  border:2px solid #233343;
  border-radius:10px;
  background:#09111a;
}
.layout-smarttv .layout-welcome{
  margin-bottom:18px;
}
.layout-smarttv .layout-welcome h2{
  margin:5px 0;
  font-size:2.2rem;
}
.layout-smarttv .layout-welcome p{
  font-size:1rem;
}
.layout-smarttv .layout-launcher{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.layout-smarttv .launch-card{
  min-height:145px;
  align-content:center;
  justify-items:start;
  padding:18px;
  border:2px solid #2c4356;
  border-radius:8px;
  background:#102131;
  color:#fff;
}
.layout-smarttv .launch-icon{
  width:48px;
  height:48px;
  margin:0 0 14px;
  border-radius:7px;
  font-size:1.2rem;
}
.layout-smarttv .launch-card strong{
  margin:0;
  font-size:1.05rem;
}
.layout-smarttv .launch-card small{
  margin-top:5px;
  color:#c1ced8;
  font-size:.78rem;
}
.layout-smarttv .home-dashboard{
  gap:22px;
  margin-top:24px;
  padding-top:20px;
  border-top:2px solid #233343;
}
.layout-smarttv .dashboard-head h3{
  font-size:1rem;
  letter-spacing:.04em;
}
.layout-smarttv .dashboard-grid{
  display:flex!important;
  gap:11px!important;
  overflow-x:auto;
  overflow-y:hidden;
  padding:5px 7px 12px;
}
.layout-smarttv .dashboard-grid .media-card{
  width:170px;
  min-width:170px;
  max-width:170px;
  flex:0 0 170px;
}

.layout-smarttv .tabs{
  grid-area:tabs;
  display:flex;
  gap:7px;
  min-height:58px;
  padding:4px 0 10px;
  overflow:hidden;
}
.layout-smarttv .tab{
  min-height:48px;
  flex:1 1 0;
  justify-content:center;
  padding:10px 8px;
  border:2px solid #2b4053;
  border-radius:7px;
  background:#0e1b27;
  font-size:.78rem;
}
.layout-smarttv .tab.active{
  border-color:var(--primary);
  background:var(--primary);
  color:#080808;
}
.layout-smarttv .category-rail{
  grid-area:categories;
  position:sticky;
  top:12px;
  align-self:start;
  max-height:calc(100vh - 94px);
  padding:10px;
  overflow:hidden;
  border:2px solid #263b4d;
  border-radius:8px;
  background:#09131d;
}
.layout-smarttv .rail-head{
  display:flex;
}
.layout-smarttv .category-rail-list{
  display:grid!important;
  gap:6px;
  max-height:calc(100vh - 154px);
  overflow-x:hidden;
  overflow-y:auto;
  padding:2px;
}
.layout-smarttv .category-rail-item{
  width:100%;
  min-height:50px;
  padding:10px 12px;
  border:2px solid #263b4d;
  border-radius:6px;
  background:#102131;
  color:#fff;
  text-align:left;
  font-size:.78rem;
  font-weight:850;
}
.layout-smarttv .category-rail-item.active{
  border-color:var(--primary);
  background:var(--primary);
  color:#080808;
}
.layout-smarttv .catalog-panel{
  grid-area:catalog;
  min-width:0;
  min-height:520px;
  max-height:calc(100vh - 94px);
  padding:13px;
  overflow-x:hidden;
  overflow-y:auto;
  border:2px solid #263b4d;
  border-radius:8px;
  background:#080f17;
}
.layout-smarttv .catalog-fixed-header{
  position:sticky;
  z-index:5;
  top:-13px;
  padding:13px 0 7px;
  background:#080f17;
}
.layout-smarttv .catalog-tools{
  grid-template-columns:minmax(220px,1fr) 180px 125px;
  gap:8px;
  margin-bottom:12px;
  padding:0;
  background:#080f17;
}
.layout-smarttv .catalog-tools #category,
.layout-smarttv .category-rail-open{
  display:none!important;
}
.layout-smarttv .catalog-search{
  min-height:50px;
}
.layout-smarttv .catalog-tools input,
.layout-smarttv .catalog-tools select,
.layout-smarttv .catalog-tools .btn{
  min-height:50px;
  border:2px solid #31495d;
  border-radius:6px;
  background:#0e1b27;
}
.layout-smarttv .section-head{
  min-height:55px;
  margin-bottom:10px;
  padding-bottom:9px;
  border-bottom:2px solid #263b4d;
}
.layout-smarttv .section-head h2{
  font-size:1.2rem;
}
.layout-smarttv .count{
  border-radius:6px;
  background:#203549;
}
.layout-smarttv .content-grid{
  grid-template-columns:repeat(auto-fill,minmax(145px,1fr));
  align-content:start;
  gap:10px;
}
.layout-smarttv .media-card{
  border:2px solid #263b4d;
  border-radius:7px;
  background:#0d1924;
}
.layout-smarttv .media-card:hover,
.layout-smarttv .media-card:focus{
  transform:none;
}
.layout-smarttv .media-card>img{
  background:#09121b;
}
.layout-smarttv .media-body{
  min-height:67px;
  padding:9px 39px 9px 9px;
}
.layout-smarttv .media-body strong{
  font-size:.84rem;
}
.layout-smarttv .media-action{
  font-size:.65rem;
}
.layout-smarttv .favorite,
.layout-smarttv .remove-recent{
  width:38px;
  min-width:38px;
  height:38px;
  min-height:38px;
  border:1px solid #536576;
  border-radius:6px;
  background:#03070a;
}
.layout-smarttv.view-live .content-grid{
  grid-template-columns:1fr;
  gap:7px;
}
.layout-smarttv.view-live .media-card{
  display:grid;
  grid-template-columns:76px minmax(0,1fr);
  min-height:82px;
}
.layout-smarttv.view-live .media-card>img{
  width:76px;
  height:82px;
  min-height:82px;
  padding:7px;
  object-fit:contain;
}
.layout-smarttv.view-live .media-body{
  align-self:center;
  min-height:82px;
  padding:9px 48px 8px 11px;
}
.layout-smarttv.view-live .media-body strong{
  font-size:.92rem;
}
.layout-smarttv.view-live .channel-guide{
  gap:5px;
  min-height:0;
  margin-top:7px;
  padding-top:6px;
}
.layout-smarttv.view-live .channel-guide>span{
  grid-template-columns:66px minmax(0,1fr);
}
.layout-smarttv.view-live .channel-guide b{
  font-size:.62rem;
}
.layout-smarttv.view-live .channel-guide em{
  font-size:.72rem;
}
.layout-smarttv .player-panel{
  grid-area:player;
  position:sticky;
  top:12px;
  align-self:start;
  min-width:0;
  margin:0;
  padding:10px;
  border:2px solid var(--primary);
  border-radius:8px;
  background:#000;
}
.layout-smarttv .playing-header{
  padding:4px 3px 10px;
}
.layout-smarttv .playing-copy>strong{
  font-size:1.25rem;
}
.layout-smarttv video{
  max-height:calc(100vh - 190px);
  border-radius:4px;
}
.layout-smarttv .status{
  margin:8px 3px 1px;
}
.layout-smarttv .media-details-backdrop{
  background:rgba(0,0,0,.9);
}
.layout-smarttv .media-details-card{
  width:min(900px,94%);
  min-height:480px;
  border:3px solid var(--primary);
  border-radius:8px;
  background:#080f17;
}
.layout-smarttv .media-details-image{
  opacity:.34;
}
.layout-smarttv .media-details-copy{
  padding:38px;
}
.layout-smarttv .media-details-copy h2{
  font-size:2.6rem;
}
.layout-smarttv .media-details-actions .btn{
  min-height:54px;
}
.layout-smarttv .load-more{
  min-width:240px;
  min-height:54px;
  border:2px solid var(--primary);
}

.layout-smarttv :focus{
  outline:5px solid #fff!important;
  outline-offset:3px!important;
}
.layout-smarttv .media-card:focus,
.layout-smarttv .launch-card:focus,
.layout-smarttv .episode-row:focus,
.layout-smarttv .season-card:focus{
  z-index:20;
  border-color:var(--primary)!important;
  outline:5px solid #fff!important;
  box-shadow:0 0 0 4px var(--primary)!important;
  transform:none!important;
}
.layout-smarttv button:focus,
.layout-smarttv a:focus,
.layout-smarttv input:focus,
.layout-smarttv select:focus{
  outline:4px solid #fff!important;
  box-shadow:0 0 0 4px var(--primary)!important;
}
.layout-smarttv .tv-ok-pressed{
  outline-color:var(--primary)!important;
  filter:brightness(1.35);
  transform:none!important;
}

@media(min-width:901px){
  body.layout-smarttv:not(.view-home) .experience{
    display:grid;
    grid-template-columns:225px minmax(0,1fr);
    grid-template-areas:
      "tabs tabs"
      "categories catalog";
    gap:10px;
    align-items:start;
  }
  body.layout-smarttv.has-playback:not(.view-home) .experience{
    grid-template-columns:210px minmax(330px,410px) minmax(0,1fr);
    grid-template-areas:
      "tabs tabs tabs"
      "categories catalog player";
  }
  body.layout-smarttv.has-playback.view-history .experience,
  body.layout-smarttv.has-playback.view-favorites .experience{
    grid-template-columns:minmax(360px,460px) minmax(0,1fr);
    grid-template-areas:
      "tabs tabs"
      "catalog player";
  }
  body.layout-smarttv:not(.has-playback).view-history .experience,
  body.layout-smarttv:not(.has-playback).view-favorites .experience{
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:
      "tabs"
      "catalog";
  }
  body.layout-smarttv.has-playback.view-vod:not(.view-home) .content-grid,
  body.layout-smarttv.has-playback.view-series:not(.view-home) .content-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/*
 * Versão 4.01 — categoria selecionada com contraste permanente.
 *
 * Alguns layouts aplicavam o fundo escuro do botão depois da regra genérica
 * ".category-rail-item.active". O texto permanecia escuro, mas o fundo
 * amarelo era sobrescrito, deixando a categoria selecionada quase invisível.
 * Estas regras finais têm precedência somente nos layouts afetados.
 */
body.layout-current .category-rail-item.active,
body.layout-xciptv .category-rail-item.active,
body.layout-ibo .category-rail-item.active,
body.layout-smarters .category-rail-item.active,
body.layout-cinema .category-rail-item.active,
body.layout-premium .category-rail-item.active,
body.layout-tvbox .category-rail-item.active,
body.layout-compact .category-rail-item.active{
  border-color:#fff3b0!important;
  background:var(--primary, #f4b400)!important;
  color:#080808!important;
  font-weight:950!important;
  box-shadow:
    inset 0 -4px 0 rgba(0,0,0,.24),
    0 0 0 2px var(--primary, #f4b400),
    0 8px 22px rgba(244,180,0,.32)!important;
  opacity:1!important;
}

body.layout-current .category-rail-item.active:focus,
body.layout-xciptv .category-rail-item.active:focus,
body.layout-ibo .category-rail-item.active:focus,
body.layout-smarters .category-rail-item.active:focus,
body.layout-cinema .category-rail-item.active:focus,
body.layout-premium .category-rail-item.active:focus,
body.layout-tvbox .category-rail-item.active:focus,
body.layout-compact .category-rail-item.active:focus{
  outline:4px solid #fff!important;
  outline-offset:3px!important;
}

body.layout-current .category-rail-item:not(.active):focus,
body.layout-xciptv .category-rail-item:not(.active):focus,
body.layout-ibo .category-rail-item:not(.active):focus,
body.layout-smarters .category-rail-item:not(.active):focus,
body.layout-cinema .category-rail-item:not(.active):focus,
body.layout-premium .category-rail-item:not(.active):focus,
body.layout-tvbox .category-rail-item:not(.active):focus,
body.layout-compact .category-rail-item:not(.active):focus{
  border-color:#fff!important;
  color:#fff!important;
}

/* Os layouts com identidade própria mantêm suas cores, agora com contraste
   explícito e independente da ordem em que as folhas de estilo são carregadas. */
body.layout-netflix .category-rail-item.active{
  border-color:#fff!important;
  background:#e50914!important;
  color:#fff!important;
  font-weight:950!important;
  box-shadow:0 0 0 2px #e50914,0 8px 22px rgba(229,9,20,.34)!important;
}

body.layout-tivimate .category-rail-item.active{
  border-color:#bfeaff!important;
  background:#1b8dd0!important;
  color:#fff!important;
  font-weight:950!important;
  box-shadow:0 0 0 2px #1b8dd0,0 8px 22px rgba(27,141,208,.34)!important;
}

body.layout-mobileone .category-rail-item.active{
  border-color:#c9f1ff!important;
  background:#0796d8!important;
  color:#fff!important;
  font-weight:950!important;
  box-shadow:0 0 0 2px #0796d8,0 8px 22px rgba(7,150,216,.34)!important;
}

body.layout-tvguide .category-rail-item.active{
  border-color:#d4fff2!important;
  background:#2ba982!important;
  color:#04100c!important;
  font-weight:950!important;
  box-shadow:0 0 0 2px #2ba982,0 8px 22px rgba(43,169,130,.32)!important;
}

body.layout-bob .category-rail-item.active{
  border-color:#dffaff!important;
  background:linear-gradient(90deg,#118bd1,#0a578e)!important;
  color:#fff!important;
  font-weight:950!important;
  box-shadow:0 0 0 2px #48c9ff,0 8px 22px rgba(17,139,209,.34)!important;
}

@media(max-width:900px){
  .layout-smarttv .layout-launcher{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .layout-smarttv .category-rail{
    position:fixed!important;
    max-height:none;
  }
  .layout-smarttv .catalog-panel{
    max-height:none;
  }
  .layout-smarttv .catalog-tools{
    grid-template-columns:1fr!important;
  }
  .layout-smarttv .catalog-tools #searchForm,
  .layout-smarttv .catalog-tools #sort,
  .layout-smarttv .catalog-tools #refresh{
    grid-column:1!important;
  }
}

/* CONTROLE PELO CELULAR — TVRGS 3.56 */
.phone-remote-modal[hidden]{display:none!important}
.phone-remote-modal{position:fixed;z-index:10020;inset:0;display:block;pointer-events:none}
.phone-remote-backdrop{display:none}
.phone-remote-card{position:fixed;width:min(430px,calc(100vw - 16px));max-height:calc(100vh - 16px);overflow:auto;padding:17px;border:1px solid #414141;border-radius:17px;background:linear-gradient(145deg,#1b1b1b,#0c0c0c 72%);box-shadow:0 20px 60px rgba(0,0,0,.72);color:#fff;pointer-events:auto}
.phone-remote-card::before{position:absolute;top:-7px;right:50px;width:13px;height:13px;border-top:1px solid #414141;border-left:1px solid #414141;background:#1a1a1a;content:"";transform:rotate(45deg)}
.phone-remote-card h2{margin:5px 38px 13px 0;font-size:1.2rem}
.phone-remote-close{position:absolute;top:9px;right:9px;width:34px;height:34px;border:1px solid #3a3a3a;border-radius:50%;background:#181818;color:#fff;font-size:1.25rem}
.phone-remote-pairing{display:grid;grid-template-columns:132px minmax(0,1fr);align-items:center;gap:14px}
.phone-remote-qr{display:grid;place-items:center;aspect-ratio:1;border:6px solid #fff;border-radius:12px;overflow:hidden;background:#fff;color:#111;text-align:center;font-size:.65rem;font-weight:1000;line-height:1.35}
.phone-remote-qr svg{display:block;width:100%;height:100%}
.phone-remote-instructions{display:grid;gap:5px;min-width:0}
.phone-remote-instructions p{margin:0;color:#aaa;font-size:.68rem;line-height:1.3}
.phone-remote-url{display:block;overflow-wrap:anywhere;color:var(--primary);font-size:.74rem;line-height:1.25}
.phone-remote-status{display:flex;align-items:center;gap:8px;margin-top:11px;padding:9px 11px;border:1px solid #383838;border-radius:11px;background:#141414;font-size:.73rem}
.phone-remote-status i{width:9px;height:9px;border-radius:50%;background:#777}
.phone-remote-status.waiting i{background:var(--primary);animation:phoneRemotePulse 1.15s infinite}
.phone-remote-status.online{border-color:color-mix(in srgb,var(--accent) 55%,#383838)}
.phone-remote-status.online i{background:var(--accent);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 16%,transparent)}
.phone-remote-status.offline i{background:#ef5350}
@keyframes phoneRemotePulse{50%{opacity:.3}}
.phone-remote-code{display:grid;place-items:center;gap:2px;padding:9px 6px;border:1px solid color-mix(in srgb,var(--primary) 55%,#383838);border-radius:11px;background:#111;text-align:center}
.phone-remote-code>span{color:#aaa;font-size:.49rem;font-weight:950;letter-spacing:.12em}
.phone-remote-code>strong{color:var(--primary);font-size:1.65rem;font-variant-numeric:tabular-nums;letter-spacing:.14em;line-height:1}
.phone-remote-code>small{color:#888;font-size:.52rem;font-weight:800}
.phone-remote-actions{display:grid;grid-template-columns:1.25fr 1.25fr .8fr;gap:7px;margin-top:10px}
.phone-remote-actions .btn{min-width:0;min-height:38px;padding:7px 6px;font-size:.57rem;white-space:normal;line-height:1.15}
.phone-remote-privacy{margin:8px 0 0!important;text-align:center;font-size:.59rem}
.phone-remote-open.connected{border-color:var(--accent)!important;color:var(--accent)!important}
.phone-remote-fullscreen{overflow:hidden!important}
.phone-remote-fullscreen #playerPanel{position:fixed!important;z-index:10010!important;inset:0!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:14px!important;border:0!important;border-radius:0!important;background:#000!important}
.phone-remote-fullscreen #playerPanel video{width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important}
.phone-remote-fullscreen #playerPanel .playing-header{position:relative;z-index:2}
.phone-remote-fullscreen #playerPanel .status{margin:4px 0 0}
.browser-native-fullscreen{overflow:hidden!important;background:#000!important}
.browser-native-fullscreen #playerPanel{position:fixed!important;z-index:10010!important;inset:0!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:14px!important;border:0!important;border-radius:0!important;background:#000!important}
.browser-native-fullscreen #playerPanel video{width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important}
.browser-native-fullscreen #playerPanel .playing-header{position:relative;z-index:2}
.browser-native-fullscreen #playerPanel .status{margin:4px 0 0}
.phone-remote-cursor{position:fixed;z-index:10060;top:0;left:0;width:25px;height:31px;opacity:0;pointer-events:none;transform:translate3d(50vw,50vh,0);transition:opacity .12s;will-change:transform}
.phone-remote-cursor.visible{opacity:1}
.phone-remote-cursor i{display:block;width:19px;height:25px;border:2px solid #111;border-radius:12px 12px 12px 3px;background:var(--primary);clip-path:polygon(0 0,100% 69%,61% 73%,78% 100%,60% 100%,44% 76%,13% 100%);filter:drop-shadow(0 2px 3px #000)}
.phone-remote-hover{outline:3px solid var(--primary)!important;outline-offset:3px!important;filter:brightness(1.12)}
.phone-remote-mouse-active.tv-input-mouse{cursor:none}

@media(max-width:700px){
  .phone-remote-card{padding:15px 12px;border-radius:15px}
  .phone-remote-pairing{grid-template-columns:116px minmax(0,1fr);gap:10px}
  .phone-remote-actions{grid-template-columns:1fr 1fr}.phone-remote-actions .btn:last-child{grid-column:1/-1}
  .client-actions{gap:5px}
  .client-actions .phone-remote-open{padding-inline:8px;font-size:.58rem}
}

/* Versão 3.37: pesquisa acionada por lupa, estável com o teclado móvel. */
.catalog-search{
  display:grid;
  grid-template-columns:minmax(0,1fr) 48px;
  min-width:0;
  gap:8px;
}

.catalog-search #search{
  width:100%;
  min-width:0;
}

.catalog-search-submit{
  display:grid;
  place-items:center;
  min-width:48px;
  min-height:48px;
  padding:0;
  border:1px solid color-mix(in srgb,var(--primary) 65%,#484848);
  border-radius:10px;
  background:var(--primary);
  color:#090909;
  font-size:1.45rem;
  font-weight:950;
  cursor:pointer;
}

.catalog-search-submit:active{transform:scale(.96)}

.layout-xciptv .catalog-tools .catalog-search{
  grid-column:1/-1;
}

@media(min-width:701px){
  .catalog-search-submit{min-height:42px}
}

@media(max-width:700px){
  .catalog-tools .catalog-search{
    width:100%;
    grid-column:1!important;
  }

  .catalog-tools .catalog-search #search{
    grid-column:auto!important;
    min-height:52px;
    font-size:16px;
  }

  .catalog-search-submit{
    min-height:52px;
    border-radius:12px;
  }

  body.filters-open .catalog-tools{
    max-height:calc(100dvh - env(safe-area-inset-top) - 8px);
    overflow-y:auto;
    overscroll-behavior:contain;
    scroll-padding-bottom:16px;
  }
}

@media(max-width:420px){.media-details-actions{grid-template-columns:1fr}.media-details-actions .btn{min-height:52px}.media-details-synopsis{display:-webkit-box;overflow:hidden;-webkit-line-clamp:5;-webkit-box-orient:vertical}}
@media(max-width:380px){.player-is-compact #playerPanel{grid-template-columns:118px minmax(0,1fr)}.player-is-compact #playerPanel video{width:118px;height:67px}.mobile-nav{padding-left:2px;padding-right:2px}.mobile-nav button small{font-size:.48rem}.series-hero{grid-template-columns:72px minmax(0,1fr)}.series-hero>img{width:72px}}

/*
 * TVRGS WebPlayer 3.79 — tela cheia real pelo controle do celular.
 * Regras finais para prevalecer sobre qualquer composição de layout.
 * O JavaScript move o painel temporariamente para o body quando a TV recusa
 * a API Fullscreen, evitando limites de grid, largura ou transformação.
 */
html.phone-remote-fullscreen,
html.browser-native-fullscreen,
body.phone-remote-fullscreen,
body.browser-native-fullscreen{
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  background:#000!important;
}

.phone-remote-fullscreen #playerPanel,
.browser-native-fullscreen #playerPanel,
#playerPanel:fullscreen,
#playerPanel:-webkit-full-screen{
  position:fixed!important;
  z-index:2147483647!important;
  inset:0!important;
  display:block!important;
  width:100vw!important;
  height:100vh!important;
  height:100dvh!important;
  min-width:100vw!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#000!important;
  transform:none!important;
}

.phone-remote-fullscreen #playerPanel .playing-header,
.phone-remote-fullscreen #playerPanel .status,
.phone-remote-fullscreen #playerPanel .next-episode,
.phone-remote-fullscreen #playerPanel .player-mini-close,
.browser-native-fullscreen #playerPanel .playing-header,
.browser-native-fullscreen #playerPanel .status,
.browser-native-fullscreen #playerPanel .next-episode,
.browser-native-fullscreen #playerPanel .player-mini-close,
#playerPanel:fullscreen .playing-header,
#playerPanel:fullscreen .status,
#playerPanel:fullscreen .next-episode,
#playerPanel:fullscreen .player-mini-close,
#playerPanel:-webkit-full-screen .playing-header,
#playerPanel:-webkit-full-screen .status,
#playerPanel:-webkit-full-screen .next-episode,
#playerPanel:-webkit-full-screen .player-mini-close{
  display:none!important;
}

.phone-remote-fullscreen #playerPanel video,
.browser-native-fullscreen #playerPanel video,
#playerPanel:fullscreen video,
#playerPanel:-webkit-full-screen video{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100vw!important;
  height:100vh!important;
  height:100dvh!important;
  min-width:100vw!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#000!important;
  object-fit:contain!important;
  aspect-ratio:auto!important;
  transform:none!important;
}

.fullscreen-confirm{
  position:fixed!important;
  z-index:2147483647!important;
  top:clamp(16px,3vh,34px)!important;
  left:50%!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:min(390px,calc(100vw - 28px))!important;
  min-height:58px!important;
  padding:10px 18px!important;
  border:2px solid var(--primary)!important;
  border-radius:14px!important;
  background:rgba(8,8,8,.94)!important;
  color:#fff!important;
  box-shadow:0 10px 40px rgba(0,0,0,.72)!important;
  transform:translateX(-50%)!important;
  cursor:pointer!important;
}
.fullscreen-confirm[hidden]{
  display:none!important;
}
.fullscreen-confirm>span{
  color:var(--primary);
  font-size:1.65rem;
  line-height:1;
}
.fullscreen-confirm>strong{
  font-size:.88rem;
  letter-spacing:.05em;
}
.fullscreen-confirm>small{
  margin-left:auto;
  color:#bbb;
  font-size:.61rem;
  font-weight:850;
  letter-spacing:.03em;
}
.fullscreen-confirm:focus,
.fullscreen-confirm:hover{
  outline:4px solid #fff!important;
  outline-offset:3px!important;
  background:#151515!important;
}
.browser-native-fullscreen .fullscreen-confirm,
#playerPanel:fullscreen .fullscreen-confirm,
#playerPanel:-webkit-full-screen .fullscreen-confirm{
  display:none!important;
}

@media(max-width:700px){
  .fullscreen-confirm{
    flex-wrap:wrap!important;
    justify-content:center!important;
    min-width:calc(100vw - 24px)!important;
    text-align:center!important;
  }
  .fullscreen-confirm>small{
    width:100%;
    margin-left:0;
  }
}

/* Versão 3.23: todas as opções reais ficam visíveis no menu desktop */
@media(min-width:701px){
  body.layout-current .tabs{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    overflow:visible;
  }
  body:not(.layout-current):not(.layout-ibo) .tabs{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    overflow:visible;
  }
  .tabs .tab[data-type="history"]{
    display:flex!important;
    align-items:center;
    justify-content:center;
    min-width:0;
  }
}
@media(min-width:701px) and (max-width:1050px){
  body.layout-ibo .tabs{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    overflow:visible;
  }
}
@media(min-width:1051px){
  body.layout-ibo .tabs{
    max-height:calc(100vh - 120px);
    overflow-y:auto;
  }
}

/* Versão 3.16: canais compactos no layout TVRGS Atual para celulares */
@media(max-width:700px){
  .layout-current.view-live .content-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  .layout-current.view-live .media-card{
    display:grid;
    grid-template-columns:64px minmax(0,1fr);
    min-height:68px;
    border-radius:10px;
  }
  .layout-current.view-live .media-card>img{
    width:64px;
    height:100%;
    min-height:68px;
    aspect-ratio:auto;
    object-fit:contain;
    align-self:stretch;
    padding:6px;
    background:#0d0d0d;
  }
  .layout-current.view-live .media-body{
    align-self:center;
    min-width:0;
    padding:7px 44px 7px 9px;
  }
  .layout-current.view-live .media-body strong{
    font-size:.78rem;
  }
  .layout-current.view-live .media-body>.channel-guide{
    gap:3px;
    min-height:0;
    margin-top:5px;
    padding-top:5px;
  }
  .layout-current.view-live .media-body>.channel-guide>span{
    grid-template-columns:42px minmax(0,1fr);
    gap:4px;
  }
  .layout-current.view-live .channel-guide b{
    font-size:.49rem;
  }
  .layout-current.view-live .channel-guide em{
    font-size:.57rem;
  }
  .layout-current.view-live .favorite{
    top:50%;
    right:4px;
    transform:translateY(-50%);
  }
}

@media(max-width:380px){
  .layout-current.view-live .media-card{
    grid-template-columns:58px minmax(0,1fr);
    min-height:64px;
  }
  .layout-current.view-live .media-card>img{
    width:58px;
    min-height:64px;
    padding:5px;
  }
  .layout-current.view-live .media-body{
    padding-left:7px;
  }
}

/* Versão 3.23: regras definitivas de navegação, player e grades responsivas */
.home-tab{display:inline-flex}
.home-dashboard{display:grid;gap:28px;margin-top:34px;padding-top:28px;border-top:1px solid rgba(255,255,255,.1)}
.home-dashboard .dashboard-head h3{font-size:.82rem}
.player-mini-close{display:none}
body:not(.has-playback) #playerPanel{display:none!important}
body.view-history .category-rail,
body.view-favorites .category-rail{display:none!important}

@media(min-width:701px){
  body.view-history:not(.has-playback) .experience,
  body.view-favorites:not(.has-playback) .experience{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"tabs" "catalog"!important;
  }
  body.view-history:not(.has-playback) .catalog-panel,
  body.view-favorites:not(.has-playback) .catalog-panel{
    grid-area:catalog;
    width:100%;
  }
  body.view-history .dashboard-grid,
  body.view-favorites .dashboard-grid{
    display:grid!important;
    grid-template-columns:repeat(auto-fill,minmax(145px,1fr));
    gap:12px!important;
    width:100%;
    overflow:visible;
    padding:2px;
  }
  body.view-history .dashboard-grid .media-card,
  body.view-favorites .dashboard-grid .media-card{
    width:auto;
    max-width:none;
    min-width:0;
  }
  body.view-history .dashboard-grid .dashboard-empty,
  body.view-favorites .dashboard-grid .dashboard-empty{grid-column:1/-1}
}

@media(min-width:701px) and (max-width:1150px){
  .layout-xciptv.view-live .experience,
  .layout-ibo.view-live .experience,
  body.has-playback.view-history .experience,
  body.has-playback.view-favorites .experience{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"tabs" "player" "catalog"!important;
    gap:0!important;
  }
  .layout-xciptv.view-live .player-panel,
  .layout-ibo.view-live .player-panel,
  body.has-playback.view-history .player-panel,
  body.has-playback.view-favorites .player-panel{position:static!important}
  .layout-xciptv.view-live .catalog-panel,
  .layout-ibo.view-live .catalog-panel{max-height:none!important;overflow:visible!important}
  .layout-xciptv.view-live .content-grid,
  .layout-ibo.view-live .content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}
  .layout-ibo .shell{padding-left:0}
  .layout-ibo .tabs{
    position:static;
    width:auto;
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    padding:3px 0 14px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    overflow:visible;
  }
  .layout-ibo .tab{justify-content:center;padding:11px 8px;border:1px solid #2a3040;background:#141822}
}

@media(min-width:1151px){
  body:not(.layout-ibo).has-playback.view-history .experience,
  body:not(.layout-ibo).has-playback.view-favorites .experience{
    grid-template-columns:clamp(460px,36vw,520px) minmax(0,1fr)!important;
    grid-template-areas:"tabs tabs" "catalog player"!important;
    column-gap:14px;
  }
  body:not(.layout-ibo).has-playback.view-history .player-panel,
  body:not(.layout-ibo).has-playback.view-favorites .player-panel{
    grid-area:player;
    position:sticky;
    top:14px;
    align-self:start;
  }
  body:not(.layout-ibo).has-playback.view-history .catalog-panel,
  body:not(.layout-ibo).has-playback.view-favorites .catalog-panel{grid-area:catalog}
  body:not(.layout-ibo).has-playback.view-history .dashboard-grid,
  body:not(.layout-ibo).has-playback.view-favorites .dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(min-width:1320px){
  body.layout-ibo.has-playback.view-history .experience,
  body.layout-ibo.has-playback.view-favorites .experience{
    grid-template-columns:clamp(440px,34vw,500px) minmax(0,1fr)!important;
    grid-template-areas:"tabs tabs" "catalog player"!important;
    column-gap:14px;
  }
  body.layout-ibo.has-playback.view-history .player-panel,
  body.layout-ibo.has-playback.view-favorites .player-panel{
    grid-area:player;
    position:sticky;
    top:14px;
    align-self:start;
  }
  body.layout-ibo.has-playback.view-history .catalog-panel,
  body.layout-ibo.has-playback.view-favorites .catalog-panel{grid-area:catalog}
  body.layout-ibo.has-playback.view-history .dashboard-grid,
  body.layout-ibo.has-playback.view-favorites .dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(min-width:701px) and (max-width:1319px){
  body.layout-ibo.has-playback.view-history .experience,
  body.layout-ibo.has-playback.view-favorites .experience{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"tabs" "player" "catalog"!important;
  }
}

@media(max-width:700px){
  .mobile-nav{min-height:68px}
  .mobile-nav button small{font-size:.6rem;letter-spacing:-.015em}
  .home-dashboard{gap:22px;margin-top:24px;padding-top:22px}
  .home-dashboard .dashboard-grid{display:flex!important;gap:8px!important;overflow-x:auto}
  .home-dashboard .dashboard-grid .media-card{flex:0 0 118px;width:118px;max-width:118px}
  body.view-history .dashboard-grid,
  body.view-favorites .dashboard-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
    overflow:visible;
    padding:1px;
  }
  body.view-history .dashboard-grid .media-card,
  body.view-favorites .dashboard-grid .media-card{
    width:auto;
    max-width:none;
    min-width:0;
    border-radius:9px;
  }
  body.view-history .dashboard-grid .media-body,
  body.view-favorites .dashboard-grid .media-body{padding:7px 6px}
  body.view-history .dashboard-grid .media-body strong,
  body.view-favorites .dashboard-grid .media-body strong{font-size:.7rem}
  body.view-history .dashboard-grid .media-body span,
  body.view-favorites .dashboard-grid .media-body span{margin-top:4px;font-size:.54rem}
  body.view-history .dashboard-grid .media-action,
  body.view-favorites .dashboard-grid .media-action{margin-top:5px!important;padding:5px 2px;font-size:.51rem!important}
  body.view-history .dashboard-grid .favorite,
  body.view-favorites .dashboard-grid .favorite,
  body.view-history .dashboard-grid .remove-recent,
  body.view-favorites .dashboard-grid .remove-recent{width:36px;min-width:36px;height:36px;min-height:36px}

  body.view-live .media-card{
    display:grid!important;
    grid-template-columns:60px minmax(0,1fr)!important;
    min-height:70px!important;
  }
  body.view-live .media-card>img{
    width:60px!important;
    height:100%!important;
    min-height:70px!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    padding:6px!important;
  }
  body.view-live .media-body{align-self:center;min-width:0;padding:7px 44px 7px 9px!important}
  body.view-live .media-body strong{font-size:.82rem!important}
  body.view-live .media-body>.channel-guide{gap:4px;min-height:0;margin-top:5px;padding-top:5px}
  body.view-live .media-body>.channel-guide>span{grid-template-columns:48px minmax(0,1fr);gap:4px}
  body.view-live .channel-guide b{font-size:.56rem}
  body.view-live .channel-guide em{font-size:.63rem}

  .media-card{content-visibility:auto;contain-intrinsic-size:170px 270px}
  .layout-cinema .catalog-feature{min-height:280px}
  .layout-cinema .catalog-feature h3{font-size:2rem}
  .player-mini-close{position:absolute;z-index:5;top:6px;right:6px;width:34px;height:34px;border:1px solid #555;border-radius:50%;background:rgba(0,0,0,.82);color:#fff;font-size:1.35rem;line-height:1}
  .player-is-compact .player-mini-close{display:grid;place-items:center}
  .player-is-compact #playerPanel .playing-header{padding-right:37px}
}

@media(max-width:380px){
  .mobile-nav button small{font-size:.55rem}
  body.view-live .channel-guide>span:nth-child(2){display:none}
  body.view-live .media-body>.channel-guide{border-bottom:0}
}

/* Versão 3.24: Início compacto e player lateral consistente */
@media(min-width:1051px){
  /* No Início, mantém o conteúdo à esquerda e o player visível à direita. */
  body:not(.layout-current).view-home.has-playback .shell{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(360px,45%);
    grid-template-areas:
      "top top"
      "expiry expiry"
      "warning warning"
      "home home-player";
    column-gap:16px;
    align-items:start;
  }
  body:not(.layout-current).view-home.has-playback .shell>.topbar{grid-area:top}
  body:not(.layout-current).view-home.has-playback .shell>.expiry-notice{grid-area:expiry}
  body:not(.layout-current).view-home.has-playback .shell>#httpsWarning{grid-area:warning}
  body:not(.layout-current).view-home.has-playback .layout-home{
    grid-area:home;
    min-width:0;
    margin:8px 0 16px;
  }
  body:not(.layout-current).view-home.has-playback .experience{
    grid-area:home-player;
    min-width:0;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"tabs" "player"!important;
    align-self:start;
  }
  body:not(.layout-current).view-home.has-playback .experience>.player-panel{
    position:sticky!important;
    top:14px;
    width:100%;
    max-width:none!important;
    margin:0!important;
  }

  /* Smarters, IBO e Cinema passam a repetir o padrão catálogo + player à direita. */
  body.layout-smarters.has-playback:not(.view-home) .experience,
  body.layout-ibo.has-playback:not(.view-home) .experience,
  body.layout-cinema.has-playback:not(.view-home) .experience{
    grid-template-columns:clamp(340px,32vw,450px) minmax(0,1fr)!important;
    grid-template-areas:
      "tabs tabs"
      "categories categories"
      "catalog player"!important;
    gap:14px!important;
    align-items:start;
  }
  body.layout-smarters.has-playback:not(.view-home) .player-panel,
  body.layout-ibo.has-playback:not(.view-home) .player-panel,
  body.layout-cinema.has-playback:not(.view-home) .player-panel{
    grid-area:player!important;
    position:sticky!important;
    top:14px;
    align-self:start;
    width:100%;
    max-width:none!important;
    margin:0!important;
  }
  body.layout-smarters.has-playback:not(.view-home) .catalog-panel,
  body.layout-ibo.has-playback:not(.view-home) .catalog-panel,
  body.layout-cinema.has-playback:not(.view-home) .catalog-panel{
    grid-area:catalog!important;
    min-width:0;
    max-height:calc(100vh - 125px)!important;
    overflow:auto!important;
  }
  body.layout-smarters.has-playback:not(.view-home) .category-rail,
  body.layout-ibo.has-playback:not(.view-home) .category-rail,
  body.layout-cinema.has-playback:not(.view-home) .category-rail{
    grid-area:categories!important;
    position:static!important;
    max-height:none!important;
  }
  body.layout-smarters.has-playback:not(.view-home) .category-rail-list{
    display:flex;
    gap:8px;
    max-height:none;
    overflow-x:auto;
    padding:8px;
  }
  body.layout-smarters.has-playback:not(.view-home) .category-rail-item{
    flex:0 0 auto;
    width:auto;
    min-width:145px;
  }

  /* Atalhos e conteúdos do Início XCIPTV mais compactos. */
  .layout-xciptv.view-home .layout-home{padding:clamp(22px,2.7vw,38px)}
  .layout-xciptv.view-home .layout-welcome{margin-bottom:18px}
  .layout-xciptv.view-home .layout-launcher{
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
  }
  .layout-xciptv.view-home.has-playback .layout-launcher{
    grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
  }
  .layout-xciptv.view-home .launch-card{
    min-height:118px;
    padding:14px;
  }
  .layout-xciptv.view-home .launch-icon{
    width:40px;
    height:40px;
    margin-bottom:10px;
    border-radius:12px;
    font-size:1.05rem;
  }
  .layout-xciptv.view-home .launch-card strong{
    margin-top:8px;
    font-size:.82rem;
  }
  .layout-xciptv.view-home .launch-card small{
    margin-top:4px;
    font-size:.65rem;
  }
  .layout-xciptv.view-home .home-dashboard{
    gap:22px;
    margin-top:24px;
    padding-top:22px;
  }
  .layout-xciptv.view-home .home-dashboard .dashboard-grid{
    grid-template-columns:repeat(auto-fill,minmax(120px,150px));
    gap:9px;
  }
}

@media(max-width:1050px){
  /* Em celular e tablet, o player do Início aparece antes dos cards, nunca no fim. */
  body.view-home .shell{
    display:flex;
    flex-direction:column;
  }
  body.view-home .shell>.topbar{order:0}
  body.view-home .shell>.expiry-notice{order:1}
  body.view-home .shell>#httpsWarning{order:2}
  body.view-home .experience{
    order:3;
    width:100%;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"tabs" "player"!important;
  }
  body.view-home .layout-home{
    order:4;
    width:100%;
  }
}

@media(max-width:700px){
  .layout-xciptv.view-home .layout-home{padding:16px 12px}
  .layout-xciptv.view-home .layout-welcome{margin-bottom:14px}
  .layout-xciptv.view-home .layout-launcher{gap:8px}
  .layout-xciptv.view-home .launch-card{
    min-height:110px;
    padding:11px;
  }
  .layout-xciptv.view-home .launch-icon{
    width:38px;
    height:38px;
    margin-bottom:7px;
  }
  .layout-xciptv.view-home .launch-card strong{margin-top:6px}
}

/* Versão 3.25: IBO ocupa toda a largura útil do desktop */
@media(min-width:1051px){
  body.layout-ibo .shell{
    width:calc(100% - 28px);
    max-width:none;
  }
  body.layout-ibo .tabs{
    left:14px;
  }
  body.layout-ibo.has-playback:not(.view-home) .experience{
    grid-template-columns:clamp(320px,25vw,420px) minmax(0,1fr)!important;
  }
  body.layout-ibo.has-playback .player-panel{
    min-width:0;
  }
  body.layout-ibo.has-playback .player-panel video{
    width:100%;
    max-width:none;
    object-fit:contain;
  }
}

/* Versão 3.26: Início XCIPTV compacto e cards sem esticamento */
@media(min-width:1051px){
  body.layout-xciptv.view-home .layout-home{
    padding:24px 28px;
  }
  body.layout-xciptv.view-home .layout-welcome{
    margin-bottom:14px;
  }
  body.layout-xciptv.view-home .layout-welcome h2{
    margin-top:4px;
    font-size:clamp(1.65rem,2.2vw,2.25rem);
  }
  body.layout-xciptv.view-home .layout-launcher,
  body.layout-xciptv.view-home.has-playback .layout-launcher{
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
  }
  body.layout-xciptv.view-home .launch-card{
    min-height:96px;
    padding:11px 13px;
    border-radius:14px;
  }
  body.layout-xciptv.view-home .launch-icon{
    width:34px;
    height:34px;
    margin:0 0 7px;
    border-radius:10px;
    font-size:.9rem;
  }
  body.layout-xciptv.view-home .launch-card strong{
    margin-top:0;
    font-size:.78rem;
  }
  body.layout-xciptv.view-home .launch-card small{
    margin-top:2px;
    font-size:.61rem;
    line-height:1.2;
  }
  body.layout-xciptv.view-home .home-dashboard{
    gap:20px;
    margin-top:20px;
    padding-top:19px;
  }
  body.layout-xciptv.view-home .dashboard-head{
    margin-bottom:9px;
  }
  body.layout-xciptv.view-home .home-dashboard .dashboard-grid{
    display:grid!important;
    grid-template-columns:repeat(auto-fill,minmax(108px,132px))!important;
    justify-content:start;
    gap:9px!important;
    width:100%;
    overflow:visible;
  }
  body.layout-xciptv.view-home .home-dashboard .media-card{
    width:auto;
    min-width:0;
    max-width:132px;
    border-radius:9px;
  }
  body.layout-xciptv.view-home .home-dashboard .media-card>img{
    width:100%;
    aspect-ratio:2/3;
    object-fit:cover;
  }
  body.layout-xciptv.view-home .home-dashboard .media-body{
    padding:7px 8px;
  }
  body.layout-xciptv.view-home .home-dashboard .media-body strong{
    font-size:.7rem;
  }
  body.layout-xciptv.view-home .home-dashboard .media-body span{
    margin-top:4px;
    font-size:.55rem;
  }
  body.layout-xciptv.view-home .home-dashboard .media-action{
    margin-top:5px!important;
    padding:5px 3px;
    font-size:.5rem!important;
  }
  body.layout-xciptv.view-home .home-dashboard .favorite{
    top:6px;
    right:6px;
    width:30px;
    min-width:30px;
    height:30px;
    min-height:30px;
    font-size:1rem;
  }
}

@media(max-width:700px){
  body.layout-xciptv.view-home .home-dashboard .dashboard-grid{
    display:flex!important;
    gap:8px!important;
    overflow-x:auto;
  }
  body.layout-xciptv.view-home .home-dashboard .dashboard-grid .media-card{
    flex:0 0 108px;
    width:108px;
    max-width:108px;
  }
}

/* Versão 3.27: o título do catálogo IBO não cobre os canais ao rolar */
@media(min-width:1051px){
  body.layout-ibo.view-live .section-head{
    position:static;
    top:auto;
    z-index:auto;
  }
}

/* Versão 3.28: experiência horizontal para celular deitado */
@media(orientation:landscape) and (min-width:560px) and (max-width:1050px) and (max-height:600px){
  body.compact-landscape .shell{
    width:100%;
    max-width:none;
    padding:5px 6px 8px;
    overflow:visible;
  }
  body.compact-landscape .topbar{
    min-height:42px;
    margin-bottom:5px;
    padding:2px 3px 5px;
  }
  body.compact-landscape .brand-logo,
  body.compact-landscape .brand-mark{width:36px;height:36px}
  body.compact-landscape .brand.compact h1{font-size:.82rem}
  body.compact-landscape .brand.compact p{display:none}
  body.compact-landscape .client-actions .btn{
    min-height:36px;
    padding:6px 9px;
    font-size:.58rem;
  }
  body.compact-landscape .expiry-notice{
    min-height:36px;
    margin:0 0 5px;
    padding:6px 9px;
    font-size:.68rem;
  }
  body.compact-landscape .expiry-notice .btn{min-height:30px;padding:5px 8px}
  body.compact-landscape .mobile-nav{display:none!important}
  body.compact-landscape .tabs,
  body.compact-landscape.layout-ibo .tabs{
    position:static!important;
    left:auto!important;
    top:auto!important;
    width:auto!important;
    max-height:none!important;
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:4px!important;
    margin:0!important;
    padding:0 0 5px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  body.compact-landscape .tab{
    min-width:0!important;
    min-height:34px;
    justify-content:center!important;
    padding:5px 3px!important;
    border:1px solid #30343e!important;
    border-radius:7px!important;
    font-size:.55rem!important;
    line-height:1;
  }
  body.compact-landscape .tab-icon{
    display:inline-block;
    margin-right:3px;
    font-size:.72rem;
  }

  body.compact-landscape.has-playback:not(.view-home) .experience{
    height:calc(100dvh - 55px);
    min-height:260px;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr);
    gap:0 7px!important;
    align-items:stretch;
  }
  body.compact-landscape:not(.layout-current).has-playback:not(.view-home):not(.view-history):not(.view-favorites) .experience{
    grid-template-columns:minmax(104px,17vw) minmax(185px,30vw) minmax(0,1fr)!important;
    grid-template-areas:
      "tabs tabs tabs"
      "categories catalog player"!important;
  }
  body.compact-landscape.layout-current.has-playback:not(.view-home) .experience,
  body.compact-landscape.has-playback.view-history .experience,
  body.compact-landscape.has-playback.view-favorites .experience{
    grid-template-columns:minmax(210px,35vw) minmax(0,1fr)!important;
    grid-template-areas:
      "tabs tabs"
      "catalog player"!important;
  }

  body.compact-landscape:not(.layout-current) .category-rail{
    grid-area:categories!important;
    position:static!important;
    inset:auto!important;
    width:auto!important;
    height:auto!important;
    min-width:0!important;
    max-height:none!important;
    border:1px solid #2a3040!important;
    border-radius:10px!important;
    background:#10131b!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }
  body.compact-landscape:not(.layout-current) .category-rail .rail-head{
    display:flex;
    min-height:34px;
    padding:7px 8px;
  }
  body.compact-landscape:not(.layout-current) .category-rail .rail-head button{display:none}
  body.compact-landscape:not(.layout-current) .category-rail-list{
    display:grid!important;
    align-content:start;
    gap:2px!important;
    max-height:calc(100dvh - 102px)!important;
    padding:5px!important;
    overflow:auto!important;
    overscroll-behavior:contain;
  }
  body.compact-landscape:not(.layout-current) .category-rail-item{
    width:100%!important;
    min-height:32px!important;
    padding:6px 7px!important;
    border:0!important;
    border-radius:6px!important;
    overflow:hidden;
    font-size:.6rem!important;
    line-height:1.15;
    text-align:left!important;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  body.compact-landscape .category-rail-open,
  body.compact-landscape .mobile-filters-open,
  body.compact-landscape .mobile-tools-backdrop{display:none!important}

  body.compact-landscape.has-playback:not(.view-home) .catalog-panel{
    grid-area:catalog!important;
    min-width:0;
    min-height:0!important;
    max-height:calc(100dvh - 102px)!important;
    margin:0!important;
    padding:7px!important;
    border-radius:10px;
    overflow:auto!important;
    overscroll-behavior:contain;
  }
  body.compact-landscape.has-playback:not(.view-home) .catalog-tools{
    position:static!important;
    inset:auto!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:4px!important;
    margin:0 0 5px!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    transform:none!important;
  }
  body.compact-landscape.has-playback:not(.view-home) .catalog-tools[hidden]{display:none!important}
  body.compact-landscape.has-playback:not(.view-home) .catalog-tools .mobile-tools-head,
  body.compact-landscape.has-playback:not(.view-home) .catalog-tools #category,
  body.compact-landscape.has-playback:not(.view-home) .catalog-tools #sort,
  body.compact-landscape.has-playback:not(.view-home) .catalog-tools #refresh,
  body.compact-landscape.has-playback:not(.view-home) .catalog-tools .category-rail-open{display:none!important}
  body.compact-landscape.has-playback:not(.view-home) .catalog-tools #search{
    display:block!important;
    grid-column:1!important;
    min-height:34px;
    padding:6px 8px;
    font-size:.68rem;
  }
  body.compact-landscape .section-head{
    position:static!important;
    top:auto!important;
    z-index:auto!important;
    min-height:35px;
    margin:0 0 6px!important;
    padding:2px 2px 6px!important;
    background:transparent!important;
  }
  body.compact-landscape .section-head h2{font-size:.78rem}
  body.compact-landscape .section-head .eyebrow{font-size:.5rem}
  body.compact-landscape .count{min-width:30px;padding:4px 6px;font-size:.6rem}

  body.compact-landscape.has-playback:not(.view-home) .player-panel,
  body.compact-landscape.has-playback:not(.view-home).player-is-compact .player-panel{
    grid-area:player!important;
    position:static!important;
    display:block!important;
    align-self:start;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    max-height:calc(100dvh - 102px)!important;
    margin:0!important;
    padding:7px!important;
    border-radius:10px;
    overflow:auto;
  }
  body.compact-landscape .playing-header,
  body.compact-landscape.player-is-compact #playerPanel .playing-header{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"land-title land-actions"!important;
    align-items:center!important;
    gap:6px!important;
    padding:0 0 6px!important;
  }
  body.compact-landscape .playing-copy{grid-area:land-title;min-width:0}
  body.compact-landscape .playing-copy>span,
  body.compact-landscape .playing-copy>div,
  body.compact-landscape.player-is-compact #playerPanel .playing-copy>span,
  body.compact-landscape.player-is-compact #playerPanel .playing-copy>div{display:none!important}
  body.compact-landscape .playing-copy>strong,
  body.compact-landscape.player-is-compact #playerPanel .playing-copy>strong{
    display:block!important;
    margin:0!important;
    overflow:hidden;
    font-size:.78rem!important;
    white-space:nowrap;
    text-overflow:ellipsis;
  }
  body.compact-landscape .playing-actions,
  body.compact-landscape.player-is-compact #playerPanel .playing-actions{
    grid-area:land-actions;
    display:flex!important;
    flex-wrap:nowrap;
    gap:4px!important;
    margin:0!important;
  }
  body.compact-landscape .playing-actions .btn{
    width:auto!important;
    min-height:32px!important;
    padding:5px 7px!important;
    font-size:.48rem!important;
    white-space:nowrap;
  }
  body.compact-landscape .player-compact{display:none!important}
  body.compact-landscape .player-fullscreen,
  body.compact-landscape .close-player{display:inline-flex!important}
  body.compact-landscape .player-mini-close{display:none!important}
  body.compact-landscape #playerPanel video,
  body.compact-landscape.player-is-compact #playerPanel video{
    width:100%!important;
    height:auto!important;
    max-height:calc(100dvh - 155px)!important;
    aspect-ratio:16/9;
    object-fit:contain;
    border-radius:7px;
  }
  body.compact-landscape #playerPanel .status,
  body.compact-landscape.player-is-compact #playerPanel .status{
    display:block;
    margin:4px 1px 0!important;
    overflow:hidden;
    font-size:.56rem!important;
    white-space:nowrap;
    text-overflow:ellipsis;
  }

  body.compact-landscape.view-live .content-grid{
    display:flex!important;
    flex-direction:column;
    gap:5px!important;
    overflow:visible!important;
  }
  body.compact-landscape.view-live .media-card{
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr)!important;
    min-height:52px!important;
    flex:0 0 auto;
    border-radius:7px!important;
  }
  body.compact-landscape.view-live .media-card>img{
    width:48px!important;
    height:100%!important;
    min-height:52px!important;
    padding:5px!important;
    object-fit:contain!important;
  }
  body.compact-landscape.view-live .media-body{padding:6px 35px 6px 7px!important}
  body.compact-landscape.view-live .media-body strong{font-size:.68rem!important}
  body.compact-landscape.view-live .channel-guide>span:nth-child(2){display:none}
  body.compact-landscape.view-live .media-body>.channel-guide{margin-top:3px;padding-top:3px}
  body.compact-landscape.view-live .channel-guide b{font-size:.46rem}
  body.compact-landscape.view-live .channel-guide em{font-size:.53rem}
  body.compact-landscape .favorite,
  body.compact-landscape .remove-recent{
    width:30px!important;
    min-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    font-size:.9rem!important;
  }
  body.compact-landscape.view-vod .content-grid,
  body.compact-landscape.view-series .content-grid,
  body.compact-landscape.view-history .dashboard-grid,
  body.compact-landscape.view-favorites .dashboard-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
    overflow:visible;
  }
  body.compact-landscape .media-body{padding:6px}
  body.compact-landscape .media-body strong{font-size:.65rem}
  body.compact-landscape .media-meta,
  body.compact-landscape .media-body span{font-size:.5rem}

  body.compact-landscape.view-home.has-playback .shell{
    display:grid!important;
    grid-template-columns:minmax(280px,43%) minmax(0,1fr);
    grid-template-areas:
      "land-top land-top"
      "land-expiry land-expiry"
      "land-warning land-warning"
      "land-home land-player";
    gap:0 7px;
    align-items:start;
  }
  body.compact-landscape.view-home.has-playback .shell>.topbar{grid-area:land-top}
  body.compact-landscape.view-home.has-playback .shell>.expiry-notice{grid-area:land-expiry}
  body.compact-landscape.view-home.has-playback .shell>#httpsWarning{grid-area:land-warning}
  body.compact-landscape.view-home.has-playback .layout-home{
    grid-area:land-home;
    order:initial;
    width:100%;
    max-height:calc(100dvh - 55px);
    margin:0;
    padding:12px;
    overflow:auto;
  }
  body.compact-landscape.view-home.has-playback .experience{
    grid-area:land-player;
    order:initial;
    width:100%;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"tabs" "player"!important;
  }
  body.compact-landscape.view-home.has-playback .experience>.player-panel{
    position:static!important;
    width:100%;
    max-width:none!important;
    margin:0!important;
    padding:7px;
  }
  body.compact-landscape.view-home .layout-welcome{margin-bottom:8px}
  body.compact-landscape.view-home .layout-welcome h2{font-size:1.25rem}
  body.compact-landscape.view-home .layout-welcome p{margin:4px 0;font-size:.68rem}
  body.compact-landscape.view-home .layout-launcher{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
  }
  body.compact-landscape.view-home .launch-card{
    min-height:76px!important;
    padding:8px!important;
  }
  body.compact-landscape.view-home .launch-icon{
    width:28px;
    height:28px;
    margin:0 0 4px;
    font-size:.72rem;
  }
  body.compact-landscape.view-home .launch-card strong{margin-top:3px;font-size:.62rem}
  body.compact-landscape.view-home .launch-card small{display:none}
  body.compact-landscape.view-home .home-dashboard{
    gap:12px;
    margin-top:12px;
    padding-top:12px;
  }
  body.compact-landscape.view-home .home-dashboard .dashboard-grid{
    display:flex!important;
    gap:6px!important;
    overflow-x:auto;
  }
  body.compact-landscape.view-home .home-dashboard .dashboard-grid .media-card{
    flex:0 0 84px;
    width:84px;
    max-width:84px;
  }
}

/* Versão 3.47: Netflix, TiviMate, Mobile One e Guia de TV. */
.layout-netflix .home-tab,
.layout-tivimate .home-tab,
.layout-mobileone .home-tab,
.layout-tvguide .home-tab{
  display:inline-flex;
}

/* Miniaturas dos novos modelos no painel. */
.preview-netflix{
  grid-template-columns:1.7fr .65fr .65fr;
  grid-template-rows:1.15fr .65fr;
  background:#090909;
}
.preview-netflix i:first-child{
  grid-column:1/-1;
  background:linear-gradient(135deg,#751111,#e50914);
}
.preview-netflix i:nth-child(2),
.preview-netflix i:nth-child(3){
  background:#3d3d3d;
}
.preview-tivimate{
  grid-template-columns:.55fr 1fr 1.5fr;
  background:#07121d;
}
.preview-tivimate i:first-child{background:#18314a}
.preview-tivimate i:nth-child(2){background:#265a80}
.preview-tivimate i:nth-child(3){background:#101820}
.preview-mobileone{
  width:54%;
  margin:0 auto;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1.2fr .7fr;
  background:#11151b;
}
.preview-mobileone i:first-child{
  grid-column:1/-1;
  background:#087bb7;
}
.preview-mobileone i:nth-child(2),
.preview-mobileone i:nth-child(3){background:#2c3641}
.preview-tvguide{
  grid-template-columns:.45fr 1fr 1fr;
  grid-template-rows:repeat(2,1fr);
  background:#0d1715;
}
.preview-tvguide i:first-child{
  grid-row:1/-1;
  background:#22443c;
}
.preview-tvguide i:nth-child(2),
.preview-tvguide i:nth-child(3){
  grid-column:2/-1;
  background:linear-gradient(90deg,#1f725e,#234038);
}

/* Netflix: destaque principal e catálogo horizontal em duas fileiras. */
.layout-netflix{
  background:
    radial-gradient(circle at 72% 0,rgba(229,9,20,.22),transparent 30%),
    linear-gradient(180deg,#161616,#050505 48%,#020202);
}
.layout-netflix .shell{max-width:1680px}
.layout-netflix .topbar{
  padding:7px 3px 15px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.layout-netflix .layout-home{
  min-height:520px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
  border:0;
  border-radius:8px;
  background:
    linear-gradient(90deg,#070707 2%,rgba(7,7,7,.84) 42%,rgba(7,7,7,.15) 75%),
    radial-gradient(circle at 80% 32%,#9d0f16,transparent 25%),
    linear-gradient(135deg,#351015,#090909 65%);
  box-shadow:0 34px 100px #000;
}
.layout-netflix .layout-home[hidden]{display:none!important}
.layout-netflix .layout-welcome{max-width:690px}
.layout-netflix .layout-welcome h2{
  max-width:620px;
  font-size:clamp(2.5rem,5vw,4.8rem);
  line-height:.94;
}
.layout-netflix .layout-launcher{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;
}
.layout-netflix .launch-card{
  min-height:116px;
  padding:15px;
  border-color:rgba(255,255,255,.13);
  border-radius:7px;
  background:rgba(19,19,19,.9);
}
.layout-netflix .launch-card:hover,
.layout-netflix .launch-card:focus-visible{
  transform:translateY(-4px) scale(1.02);
  border-color:#e50914;
  box-shadow:0 15px 38px rgba(0,0,0,.72);
}
.layout-netflix .launch-icon{
  width:39px;
  height:39px;
  border-radius:7px;
  background:#e50914;
  color:#fff;
}
.layout-netflix .launch-card strong{margin-top:13px}
.layout-netflix .tabs{
  gap:3px;
  padding:6px;
  border-radius:8px;
  background:rgba(12,12,12,.92);
}
.layout-netflix .tab{
  border:0;
  border-radius:5px;
  background:transparent;
  color:#d3d3d3;
}
.layout-netflix .tab.active{
  background:#e50914;
  color:#fff;
}
.layout-netflix .panel{
  border-color:#292929;
  border-radius:9px;
  background:linear-gradient(145deg,#171717,#090909);
}
.layout-netflix .category-rail{
  border:0;
  background:transparent;
}
.layout-netflix .rail-head{display:none}
.layout-netflix .category-rail-list{
  display:flex;
  gap:8px;
  max-height:none;
  padding:3px 0 12px;
  overflow-x:auto;
}
.layout-netflix .category-rail-item{
  flex:0 0 auto;
  width:auto;
  padding:9px 15px;
  border:1px solid #383838;
  border-radius:999px;
  background:#181818;
}
.layout-netflix .category-rail-item.active{
  border-color:#e50914;
  background:#e50914;
  color:#fff;
}
.layout-netflix .catalog-tools #category{display:none}
.layout-netflix .catalog-feature{
  min-height:255px;
  margin:0 0 14px;
  border-radius:7px;
}
.layout-netflix .catalog-feature:after{
  background:linear-gradient(90deg,rgba(5,5,5,.98),rgba(5,5,5,.7) 53%,rgba(5,5,5,.12));
}
.layout-netflix .catalog-feature h3{
  max-width:650px;
  font-size:clamp(2rem,4vw,3.6rem);
}
.layout-netflix .media-card{border-radius:7px}
.layout-netflix .media-card:hover,
.layout-netflix .media-card:focus-visible{
  z-index:3;
  border-color:#fff;
  transform:translateY(-4px) scale(1.025);
}

/* TiviMate: categorias, canais/EPG e player em três áreas simultâneas. */
.layout-tivimate{
  background:
    radial-gradient(circle at 0 0,rgba(22,118,176,.2),transparent 32%),
    linear-gradient(145deg,#06111c,#03070b 68%);
}
.layout-tivimate .shell{max-width:1720px}
.layout-tivimate .topbar{
  margin-bottom:9px;
  padding:5px 3px 10px;
  border-bottom:1px solid #1b3448;
}
.layout-tivimate .layout-home{
  min-height:470px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  border-color:#23445d;
  background:
    linear-gradient(90deg,rgba(5,15,24,.98),rgba(5,15,24,.58)),
    radial-gradient(circle at 80% 30%,#176ba0,transparent 30%),
    #071521;
}
.layout-tivimate .layout-home[hidden]{display:none!important}
.layout-tivimate .layout-launcher{grid-template-columns:repeat(5,1fr)}
.layout-tivimate .launch-card{
  min-height:128px;
  border-color:#2b4e68;
  border-radius:9px;
  background:linear-gradient(145deg,#12314a,#091722);
}
.layout-tivimate .launch-icon{
  border-radius:8px;
  background:#1b8dd0;
  color:#fff;
}
.layout-tivimate .panel{
  border-color:#203b50;
  border-radius:9px;
  background:linear-gradient(145deg,#0c1d2b,#07111a);
}
.layout-tivimate .tabs{
  gap:4px;
  padding:5px;
  border:1px solid #203b50;
  border-radius:9px;
  background:#091722;
}
.layout-tivimate .tab{
  border:0;
  border-radius:6px;
  background:transparent;
}
.layout-tivimate .tab.active{
  background:#1b8dd0;
  color:#fff;
}
.layout-tivimate .category-rail{
  border-color:#203b50;
  border-radius:9px;
  background:#081520;
}
.layout-tivimate .category-rail-item.active{
  background:#1b8dd0;
  color:#fff;
}
.layout-tivimate .catalog-tools #category{display:none}
.layout-tivimate.view-live .media-card{
  border-color:#1c3549;
  border-radius:6px;
  background:#0b1a27;
}
.layout-tivimate.view-live .media-card.is-playing{
  border-color:#29b6f6!important;
  box-shadow:inset 4px 0 #29b6f6,0 0 0 1px #29b6f6!important;
}

/* Mobile One: estrutura leve, vertical e orientada ao uso por toque. */
.layout-mobileone{
  background:
    radial-gradient(circle at 50% -8%,rgba(0,151,220,.24),transparent 33%),
    linear-gradient(180deg,#07131d,#030608 55%);
}
.layout-mobileone .shell{max-width:1280px}
.layout-mobileone .topbar{
  padding:7px 4px 12px;
  border-bottom:1px solid #22333e;
}
.layout-mobileone .layout-home{
  border-color:#263d4b;
  background:linear-gradient(145deg,#102a3a,#07121a);
}
.layout-mobileone .layout-launcher{grid-template-columns:repeat(5,1fr)}
.layout-mobileone .launch-card{
  min-height:145px;
  border-color:#294554;
  border-radius:16px;
  background:linear-gradient(145deg,#16384b,#0b1b25);
}
.layout-mobileone .launch-icon{
  background:#0796d8;
  color:#fff;
}
.layout-mobileone .panel{
  border-color:#243944;
  background:linear-gradient(145deg,#10212b,#071015);
}
.layout-mobileone .tab.active{
  border-color:#0796d8;
  background:#0796d8;
  color:#fff;
}
.layout-mobileone .category-rail{
  border-color:#263d4b;
  background:#091720;
}
.layout-mobileone .category-rail-item.active{
  background:#0796d8;
  color:#fff;
}

/* Guia de TV: lista ampla de programação com horários. */
.layout-tvguide{
  background:
    radial-gradient(circle at 20% 0,rgba(30,140,112,.2),transparent 32%),
    linear-gradient(145deg,#07120f,#020605 68%);
}
.layout-tvguide .shell{max-width:1720px}
.layout-tvguide .topbar{
  margin-bottom:9px;
  padding:5px 3px 10px;
  border-bottom:1px solid #24463d;
}
.layout-tvguide .layout-home{
  min-height:450px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  border-color:#2d584c;
  background:
    linear-gradient(90deg,rgba(4,15,12,.98),rgba(4,15,12,.62)),
    repeating-linear-gradient(90deg,transparent 0 15%,rgba(65,185,148,.06) 15% 15.2%),
    linear-gradient(145deg,#16483b,#07120f);
}
.layout-tvguide .layout-home[hidden]{display:none!important}
.layout-tvguide .layout-launcher{grid-template-columns:repeat(5,1fr)}
.layout-tvguide .launch-card{
  min-height:124px;
  border-color:#315d51;
  border-radius:8px;
  background:linear-gradient(145deg,#183e35,#0b1d18);
}
.layout-tvguide .launch-icon{
  border-radius:8px;
  background:#2ba982;
  color:#fff;
}
.layout-tvguide .panel{
  border-color:#24463d;
  border-radius:9px;
  background:linear-gradient(145deg,#0d211c,#07110e);
}
.layout-tvguide .tabs{
  gap:4px;
  padding:5px;
  border:1px solid #24463d;
  border-radius:8px;
  background:#091a16;
}
.layout-tvguide .tab{
  border:0;
  border-radius:5px;
  background:transparent;
}
.layout-tvguide .tab.active{
  background:#2ba982;
  color:#04100c;
}
.layout-tvguide .category-rail{
  border-color:#24463d;
  border-radius:8px;
  background:#091914;
}
.layout-tvguide .category-rail-item.active{
  background:#2ba982;
  color:#04100c;
}
.layout-tvguide .catalog-tools #category{display:none}
.layout-tvguide.view-live .section-head{
  padding:11px 12px;
  border:1px solid #24463d;
  border-radius:7px;
  background:#0b1d18;
}
.layout-tvguide.view-live .media-card{
  border-color:#25463d;
  border-radius:5px;
  background:#0b1c17;
}
.layout-tvguide.view-live .channel-guide b{
  color:#55d6ad;
  white-space:nowrap;
}

/* Estruturas desktop dos quatro novos modelos. */
@media(min-width:1051px){
  body.layout-netflix:not(.view-home) .experience{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"tabs" "categories" "catalog";
    gap:10px;
  }
  body.layout-netflix.has-playback:not(.view-home) .experience{
    grid-template-columns:minmax(470px,1.05fr) minmax(430px,.95fr);
    grid-template-areas:"tabs tabs" "categories player" "catalog player";
    align-items:start;
  }
  body.layout-netflix:not(.view-home) .tabs{grid-area:tabs}
  body.layout-netflix:not(.view-home) .category-rail{grid-area:categories}
  body.layout-netflix:not(.view-home) .catalog-panel{
    grid-area:catalog;
    display:flex;
    min-width:0;
    height:calc(100vh - 155px);
    max-height:850px;
    flex-direction:column;
    overflow:hidden;
  }
  body.layout-netflix:not(.view-home) .player-panel{
    grid-area:player;
    position:sticky;
    top:10px;
    margin:0;
  }
  body.layout-netflix:not(.view-home) .content-grid{
    min-height:0;
    overflow:auto;
  }
  body.layout-netflix:not(.has-playback):not(.view-home).view-vod .content-grid,
  body.layout-netflix:not(.has-playback):not(.view-home).view-series .content-grid{
    display:grid!important;
    grid-auto-flow:column;
    grid-auto-columns:170px;
    grid-template-columns:none!important;
    grid-template-rows:repeat(2,minmax(0,1fr));
    gap:12px!important;
    overflow-x:auto;
    overflow-y:hidden;
    padding:3px 4px 10px;
  }
  body.layout-netflix:not(.has-playback):not(.view-home).view-vod .media-card,
  body.layout-netflix:not(.has-playback):not(.view-home).view-series .media-card{
    min-width:170px;
  }
  body.layout-netflix.has-playback:not(.view-home).view-vod .content-grid,
  body.layout-netflix.has-playback:not(.view-home).view-series .content-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:9px!important;
  }

  body.layout-tivimate:not(.view-home) .experience,
  body.layout-tvguide:not(.view-home) .experience{
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    grid-template-areas:"tabs tabs" "categories catalog";
    gap:10px;
    align-items:start;
  }
  body.layout-tivimate.has-playback:not(.view-home) .experience{
    grid-template-columns:210px minmax(330px,400px) minmax(460px,1fr);
    grid-template-areas:"tabs tabs tabs" "categories catalog player";
  }
  body.layout-tvguide.has-playback:not(.view-home) .experience{
    grid-template-columns:205px minmax(520px,1.2fr) minmax(420px,.8fr);
    grid-template-areas:"tabs tabs tabs" "categories catalog player";
  }
  body.layout-tivimate:not(.view-home) .tabs,
  body.layout-tvguide:not(.view-home) .tabs{grid-area:tabs}
  body.layout-tivimate:not(.view-home) .category-rail,
  body.layout-tvguide:not(.view-home) .category-rail{
    grid-area:categories;
    position:sticky;
    top:10px;
    height:calc(100vh - 120px);
    max-height:850px;
  }
  body.layout-tivimate:not(.view-home) .category-rail-list,
  body.layout-tvguide:not(.view-home) .category-rail-list{
    max-height:calc(100% - 58px);
  }
  body.layout-tivimate:not(.view-home) .catalog-panel,
  body.layout-tvguide:not(.view-home) .catalog-panel{
    grid-area:catalog;
    display:flex;
    min-width:0;
    height:calc(100vh - 120px);
    max-height:850px;
    flex-direction:column;
    overflow:hidden;
  }
  body.layout-tivimate:not(.view-home) .catalog-fixed-header,
  body.layout-tvguide:not(.view-home) .catalog-fixed-header{flex:0 0 auto}
  body.layout-tivimate:not(.view-home) .content-grid,
  body.layout-tvguide:not(.view-home) .content-grid{
    min-height:0;
    overflow:auto;
  }
  body.layout-tivimate:not(.view-home) .player-panel,
  body.layout-tvguide:not(.view-home) .player-panel{
    grid-area:player;
    position:sticky;
    top:10px;
    margin:0;
  }
  body.layout-tivimate.view-live:not(.view-home) .content-grid{
    display:flex;
    flex-direction:column;
    gap:6px;
  }
  body.layout-tivimate.view-live:not(.view-home) .media-card{
    display:grid;
    grid-template-columns:76px minmax(0,1fr);
    min-height:82px;
    flex:0 0 auto;
  }
  body.layout-tivimate.view-live:not(.view-home) .media-card>img{
    width:76px;
    height:100%;
    min-height:82px;
    padding:8px;
    aspect-ratio:auto;
    object-fit:contain;
  }
  body.layout-tivimate.view-live:not(.view-home) .media-body{
    padding:9px 43px 9px 10px;
  }
  body.layout-tivimate.view-vod:not(.view-home) .content-grid,
  body.layout-tivimate.view-series:not(.view-home) .content-grid{
    grid-template-columns:repeat(auto-fill,minmax(145px,1fr));
    gap:10px;
  }
  body.layout-tvguide.view-live:not(.view-home) .content-grid{
    display:flex;
    flex-direction:column;
    gap:5px;
  }
  body.layout-tvguide.view-live:not(.view-home) .media-card{
    display:grid;
    grid-template-columns:72px minmax(0,1fr);
    min-height:88px;
    flex:0 0 auto;
  }
  body.layout-tvguide.view-live:not(.view-home) .media-card>img{
    width:72px;
    height:100%;
    min-height:88px;
    padding:7px;
    aspect-ratio:auto;
    object-fit:contain;
    background:#07120f;
  }
  body.layout-tvguide.view-live:not(.view-home) .media-body{
    display:grid;
    grid-template-columns:minmax(140px,.6fr) minmax(260px,1.4fr) auto;
    align-items:center;
    gap:10px;
    min-width:0;
    padding:8px 44px 8px 11px;
  }
  body.layout-tvguide.view-live:not(.view-home) .media-body>.channel-guide{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
    min-width:0;
    min-height:0;
    margin:0;
    padding:0;
    border:0;
  }
  body.layout-tvguide.view-live:not(.view-home) .channel-guide>span{
    display:grid;
    grid-template-columns:76px minmax(0,1fr);
    gap:6px;
    min-width:0;
    padding:8px;
    border-left:3px solid #2ba982;
    border-radius:4px;
    background:#102a23;
  }
  body.layout-tvguide.view-live:not(.view-home) .media-body>.media-action{
    min-width:72px;
    text-align:right;
  }

  body.layout-mobileone:not(.view-home) .experience{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"tabs" "categories" "catalog";
    gap:10px;
  }
  body.layout-mobileone.has-playback:not(.view-home) .experience{
    grid-template-columns:minmax(430px,1fr) minmax(430px,1fr);
    grid-template-areas:"tabs tabs" "categories player" "catalog player";
    align-items:start;
  }
  body.layout-mobileone:not(.view-home) .tabs{grid-area:tabs}
  body.layout-mobileone:not(.view-home) .category-rail{
    grid-area:categories;
    border:0;
    background:transparent;
  }
  body.layout-mobileone:not(.view-home) .rail-head{display:none}
  body.layout-mobileone:not(.view-home) .category-rail-list{
    display:flex;
    gap:8px;
    max-height:none;
    padding:3px 0 12px;
    overflow-x:auto;
  }
  body.layout-mobileone:not(.view-home) .category-rail-item{
    flex:0 0 auto;
    width:auto;
    border:1px solid #294554;
    background:#0d202b;
  }
  body.layout-mobileone:not(.view-home) .catalog-panel{
    grid-area:catalog;
    display:flex;
    min-width:0;
    height:calc(100vh - 150px);
    max-height:850px;
    flex-direction:column;
    overflow:hidden;
  }
  body.layout-mobileone:not(.view-home) .content-grid{
    min-height:0;
    overflow:auto;
  }
  body.layout-mobileone:not(.view-home) .player-panel{
    grid-area:player;
    position:sticky;
    top:10px;
    margin:0;
  }
  body.layout-mobileone.view-vod:not(.view-home) .content-grid,
  body.layout-mobileone.view-series:not(.view-home) .content-grid{
    grid-template-columns:repeat(auto-fill,minmax(145px,1fr));
  }
}

/* Tablet e celular dos quatro modelos. */
@media(max-width:1050px){
  .layout-netflix .layout-launcher,
  .layout-tivimate .layout-launcher,
  .layout-mobileone .layout-launcher,
  .layout-tvguide .layout-launcher{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .layout-netflix:not(.has-playback) .player-panel,
  .layout-tivimate:not(.has-playback) .player-panel,
  .layout-mobileone:not(.has-playback) .player-panel,
  .layout-tvguide:not(.has-playback) .player-panel{
    display:none!important;
  }
  .layout-netflix .catalog-feature{display:none!important}
}

@media(max-width:700px){
  .layout-netflix .layout-home,
  .layout-tivimate .layout-home,
  .layout-mobileone .layout-home,
  .layout-tvguide .layout-home{
    min-height:0;
    margin:0 0 9px;
    padding:16px 11px;
    border-radius:13px;
  }
  .layout-netflix .layout-welcome,
  .layout-tivimate .layout-welcome,
  .layout-mobileone .layout-welcome,
  .layout-tvguide .layout-welcome{
    margin-bottom:12px;
  }
  .layout-netflix .layout-welcome h2,
  .layout-tivimate .layout-welcome h2,
  .layout-mobileone .layout-welcome h2,
  .layout-tvguide .layout-welcome h2{
    margin-top:4px;
    font-size:1.5rem;
    line-height:1.04;
  }
  .layout-netflix .layout-welcome p,
  .layout-tivimate .layout-welcome p,
  .layout-mobileone .layout-welcome p,
  .layout-tvguide .layout-welcome p{font-size:.72rem}
  .layout-netflix .layout-launcher,
  .layout-tivimate .layout-launcher,
  .layout-mobileone .layout-launcher,
  .layout-tvguide .layout-launcher{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }
  .layout-netflix .launch-card,
  .layout-tivimate .launch-card,
  .layout-mobileone .launch-card,
  .layout-tvguide .launch-card{
    min-height:104px;
    padding:11px;
    border-radius:10px;
  }
  .layout-netflix .launch-icon,
  .layout-tivimate .launch-icon,
  .layout-mobileone .launch-icon,
  .layout-tvguide .launch-icon{
    width:35px;
    height:35px;
    margin:0 0 auto;
    border-radius:9px;
    font-size:1rem;
  }
  .layout-netflix .launch-card strong,
  .layout-tivimate .launch-card strong,
  .layout-mobileone .launch-card strong,
  .layout-tvguide .launch-card strong{
    margin-top:8px;
    font-size:.72rem;
  }
  .layout-netflix .launch-card small,
  .layout-tivimate .launch-card small,
  .layout-mobileone .launch-card small,
  .layout-tvguide .launch-card small{display:none}

  .layout-netflix .panel,
  .layout-tivimate .panel,
  .layout-mobileone .panel,
  .layout-tvguide .panel{padding:10px}

  .layout-netflix .category-rail,
  .layout-tivimate .category-rail,
  .layout-mobileone .category-rail,
  .layout-tvguide .category-rail{position:fixed!important}
  .layout-netflix .rail-head,
  .layout-mobileone .rail-head{display:flex}
  .layout-netflix .category-rail-list,
  .layout-tivimate .category-rail-list,
  .layout-mobileone .category-rail-list,
  .layout-tvguide .category-rail-list{
    display:grid!important;
    max-height:calc(100dvh - 129px - env(safe-area-inset-bottom))!important;
    padding:9px!important;
    overflow-x:hidden;
    overflow-y:auto;
  }
  .layout-netflix .category-rail-item,
  .layout-tivimate .category-rail-item,
  .layout-mobileone .category-rail-item,
  .layout-tvguide .category-rail-item{
    width:100%;
    min-height:48px;
    text-align:left;
  }

  body.layout-tivimate.view-live:not(.view-home) .media-card,
  body.layout-tvguide.view-live:not(.view-home) .media-card{
    display:grid;
    grid-template-columns:62px minmax(0,1fr);
    min-height:76px;
  }
  body.layout-tivimate.view-live:not(.view-home) .media-card>img,
  body.layout-tvguide.view-live:not(.view-home) .media-card>img{
    width:62px;
    height:100%;
    min-height:76px;
    padding:6px;
    aspect-ratio:auto!important;
    object-fit:contain;
  }
  body.layout-tivimate.view-live:not(.view-home) .media-body,
  body.layout-tvguide.view-live:not(.view-home) .media-body{
    display:block;
    min-height:0;
    padding:8px 40px 8px 9px;
  }
  body.layout-tvguide.view-live:not(.view-home) .media-body>.channel-guide{
    display:grid;
    grid-template-columns:1fr;
    gap:4px;
    margin-top:5px;
    padding-top:5px;
  }
  body.layout-tvguide.view-live:not(.view-home) .channel-guide>span{
    display:grid!important;
    grid-template-columns:82px minmax(0,1fr);
    padding:0;
    border:0;
    background:transparent;
  }

  .layout-mobileone .topbar{
    position:sticky;
    z-index:40;
    top:0;
    margin:0 -8px 7px;
    padding:7px 10px;
    background:rgba(5,14,19,.97);
    box-shadow:0 8px 24px rgba(0,0,0,.45);
  }
  .layout-mobileone .mobile-nav{
    min-height:68px;
    border-top-color:#1d5e7b;
    background:rgba(4,18,25,.98);
  }
  .layout-mobileone .mobile-nav button.active{
    background:#0796d8;
    color:#fff;
  }
  .layout-mobileone.has-playback #playerPanel{
    top:53px!important;
    border-color:#1d6f93;
  }
  .layout-mobileone .mobile-filters-open{
    border-color:#26627d;
    background:#0b2a39;
  }
  body.layout-mobileone.view-live:not(.view-home) .media-card{
    display:grid;
    grid-template-columns:60px minmax(0,1fr);
    min-height:72px;
  }
  body.layout-mobileone.view-live:not(.view-home) .media-card>img{
    width:60px;
    height:100%;
    min-height:72px;
    padding:6px;
    aspect-ratio:auto!important;
    object-fit:contain;
  }
  body.layout-mobileone.view-live:not(.view-home) .media-body{
    padding:8px 40px 8px 8px;
  }
}

@media(orientation:landscape) and (min-width:560px) and (max-width:1050px) and (max-height:600px){
  .layout-netflix.view-home .layout-welcome,
  .layout-tivimate.view-home .layout-welcome,
  .layout-mobileone.view-home .layout-welcome,
  .layout-tvguide.view-home .layout-welcome{display:none}
  .layout-netflix.view-home .layout-launcher,
  .layout-tivimate.view-home .layout-launcher,
  .layout-mobileone.view-home .layout-launcher,
  .layout-tvguide.view-home .layout-launcher{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
  .layout-netflix.view-home .launch-card,
  .layout-tivimate.view-home .launch-card,
  .layout-mobileone.view-home .launch-card,
  .layout-tvguide.view-home .launch-card{min-height:76px}
}

/* Foco amplo para os doze layouts no modo Smart TV. */
.tv-device.layout-netflix :focus,
.tv-device.layout-tivimate :focus,
.tv-device.layout-mobileone :focus,
.tv-device.layout-tvguide :focus{
  outline:4px solid #fff!important;
  outline-offset:3px;
  box-shadow:0 0 0 7px rgba(0,0,0,.75),0 0 28px rgba(255,255,255,.42)!important;
}

/* Modo TV: foco visível, menos efeitos pesados e navegação à distância. */
.tv-device *,
.tv-device *::before,
.tv-device *::after{
  scroll-behavior:auto!important;
}
.tv-device .panel,
.tv-device .media-card,
.tv-device .launch-card,
.tv-device .catalog-feature,
.tv-device .media-details-card{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.tv-device .media-card,
.tv-device .launch-card,
.tv-device button,
.tv-device a,
.tv-device input,
.tv-device select,
.tv-device video,
.tv-device [tabindex="0"]{
  transition:none!important;
}
.tv-device :focus{
  outline:4px solid #fff!important;
  outline-offset:3px!important;
}
.tv-device .media-card:focus,
.tv-device .launch-card:focus,
.tv-device .episode-row:focus{
  border-color:var(--primary)!important;
  box-shadow:0 0 0 5px var(--primary),0 10px 28px rgba(0,0,0,.65)!important;
  transform:scale(1.035);
  z-index:20;
}
.tv-device button:focus,
.tv-device a:focus,
.tv-device input:focus,
.tv-device select:focus{
  box-shadow:0 0 0 4px var(--primary)!important;
}
.tv-device .tv-ok-pressed{
  transform:scale(.965)!important;
  filter:brightness(1.2);
  box-shadow:0 0 0 6px #fff,0 0 30px var(--primary)!important;
}
.tv-device .content-grid{
  overscroll-behavior:contain;
}
.tv-device .media-card>img{
  content-visibility:auto;
}
.tv-device .loading::after{
  content:" • aguarde na TV";
}

/* Versão 3.55: calibração do controle e navegação Web TV real. */
.tv-remote-setup[hidden],
.tv-remote-retest[hidden]{
  display:none!important;
}
.tv-remote-setup{
  position:fixed;
  z-index:1000;
  inset:0;
  display:grid;
  place-items:center;
  padding:clamp(18px,4vw,56px);
}
.tv-remote-setup-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.92);
}
.tv-remote-setup-card{
  position:relative;
  width:min(920px,94vw);
  max-height:92vh;
  overflow:auto;
  padding:clamp(28px,4vw,52px);
  border:2px solid #383838;
  border-radius:26px;
  background:linear-gradient(145deg,#1d1d1d,#090909);
  box-shadow:0 30px 100px rgba(0,0,0,.8);
  text-align:center;
}
.tv-remote-setup-card h2{
  margin:8px 0 10px;
  font-size:clamp(1.8rem,4vw,3rem);
}
.tv-remote-setup-card>p{
  margin:0 auto;
  color:#d2d2d2;
  font-size:clamp(1rem,2vw,1.28rem);
}
.tv-remote-test{
  display:grid;
  grid-template-columns:minmax(230px,320px) 1fr;
  align-items:center;
  gap:clamp(24px,5vw,64px);
  margin:34px 0 28px;
  text-align:left;
}
.tv-remote-pad{
  display:grid;
  grid-template-columns:repeat(3,76px);
  grid-template-rows:repeat(3,76px);
  justify-content:center;
  gap:8px;
}
.tv-remote-pad span{
  display:grid;
  place-items:center;
  border:2px solid #444;
  border-radius:18px;
  background:#202020;
  color:#fff;
  font-weight:950;
  font-size:1.25rem;
}
.tv-remote-pad .tv-pad-up{grid-area:1/2}
.tv-remote-pad .tv-pad-left{grid-area:2/1}
.tv-remote-pad .tv-pad-ok{
  grid-area:2/2;
  border-radius:50%;
  background:var(--primary);
  color:#080808;
}
.tv-remote-pad .tv-pad-right{grid-area:2/3}
.tv-remote-pad .tv-pad-down{grid-area:3/2}
.tv-remote-steps{
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
  list-style:none;
}
.tv-remote-steps li{
  display:grid;
  grid-template-columns:46px 1fr auto;
  align-items:center;
  gap:12px;
  min-height:62px;
  padding:10px 15px;
  border:2px solid #343434;
  border-radius:14px;
  background:#151515;
}
.tv-remote-steps li>span{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:#292929;
  font-weight:950;
}
.tv-remote-steps li strong{font-size:.88rem}
.tv-remote-steps li small{color:#999}
.tv-remote-steps li.active{
  border-color:var(--primary);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 24%,transparent);
}
.tv-remote-steps li.active>span{
  background:var(--primary);
  color:#080808;
}
.tv-remote-steps li.passed{
  border-color:#2e9b57;
  background:#102318;
}
.tv-remote-steps li.passed>span{
  background:#2e9b57;
  color:#fff;
}
.tv-remote-steps li.passed small{color:#78d39a}
.tv-remote-setup-status{
  min-height:24px;
  color:var(--primary)!important;
  font-weight:800;
}
.tv-remote-setup-actions{
  display:flex;
  justify-content:center;
  gap:12px;
  margin-top:26px;
}
.tv-remote-setup-actions .btn{min-width:220px}
.tv-input-remote,
.tv-input-remote *{
  cursor:none!important;
}
.tv-input-mouse,
.tv-input-mouse *{
  cursor:auto;
}
.tv-device.tv-input-remote :focus{
  outline:5px solid #fff!important;
  outline-offset:4px!important;
}
.tv-device.tv-input-remote .media-card:focus,
.tv-device.tv-input-remote .launch-card:focus,
.tv-device.tv-input-remote .episode-row:focus,
.tv-device.tv-input-remote .season-card:focus{
  border-color:var(--primary)!important;
  box-shadow:0 0 0 6px var(--primary),0 16px 38px rgba(0,0,0,.82)!important;
  transform:scale(1.055);
  z-index:30;
}
.tv-device.tv-input-remote .tab:focus,
.tv-device.tv-input-remote .category-rail-item:focus,
.tv-device.tv-input-remote button:focus,
.tv-device.tv-input-remote a:focus{
  position:relative;
  z-index:31;
}
.tv-device.tv-input-mouse :focus{
  outline-width:2px!important;
  outline-offset:1px!important;
}
.tv-device.tv-input-mouse .media-card:focus,
.tv-device.tv-input-mouse .launch-card:focus{
  transform:none;
}

@media(max-width:700px){
  .tv-remote-setup-card{padding:26px 18px}
  .tv-remote-test{grid-template-columns:1fr}
  .tv-remote-pad{
    grid-template-columns:repeat(3,58px);
    grid-template-rows:repeat(3,58px);
  }
  .tv-remote-steps li{grid-template-columns:42px 1fr}
  .tv-remote-steps li small{grid-column:2}
  .tv-remote-setup-actions{display:grid}
  .tv-remote-setup-actions .btn{min-width:0}
}

@media(min-width:900px){
  .tv-device{
    overflow:hidden;
  }
  .tv-device .shell{
    width:100%;
    max-width:none;
    min-height:100vh;
  }
  .tv-device .topbar{
    min-height:62px;
  }
  .tv-device .experience{
    min-height:0;
  }
  .tv-device .catalog-panel,
  .tv-device .player-panel,
  .tv-device .layout-home{
    min-height:0;
  }
  .tv-device.view-live .content-grid{
    grid-auto-rows:minmax(92px,auto);
  }
  .tv-device.view-vod .content-grid,
  .tv-device.view-series .content-grid{
    align-content:start;
  }
}

/* Versão 3.41: topo compacto e mais área útil para o catálogo. */
@media(min-width:1051px){
  body:not(.view-home) .shell{
    padding-top:8px!important;
    padding-bottom:8px!important;
  }

  body:not(.view-home) .topbar{
    min-height:54px;
    margin-bottom:6px!important;
  }

  body:not(.view-home) .topbar .brand{
    gap:10px;
  }

  body:not(.view-home) .topbar .brand-logo,
  body:not(.view-home) .topbar .brand-mark{
    width:48px;
    height:48px;
  }

  body:not(.view-home) .topbar .brand h1{
    font-size:1.12rem;
  }

  body:not(.view-home) .topbar .brand p{
    margin-top:2px;
    font-size:.76rem;
  }

  body:not(.view-home) .tabs{
    gap:6px!important;
    padding:0 0 6px!important;
  }

  body:not(.view-home) .tab{
    min-height:44px;
    padding:8px 13px;
  }

  body.layout-ibo:not(.view-home) .category-rail-list,
  body.layout-cinema:not(.view-home) .category-rail-list{
    gap:6px!important;
    padding:0 0 5px!important;
  }

  body.layout-ibo:not(.view-home) .category-rail-item,
  body.layout-cinema:not(.view-home) .category-rail-item{
    min-height:40px;
    padding:7px 12px!important;
  }

  body:not(.view-home) .catalog-panel{
    padding:10px!important;
  }

  body:not(.view-home) .catalog-fixed-header .catalog-tools{
    grid-template-columns:minmax(180px,.9fr) minmax(260px,1.6fr) minmax(150px,.8fr) 150px!important;
    gap:7px!important;
    margin:0 0 6px!important;
  }

  body:not(.view-home):not(.has-playback) .catalog-tools #category{
    grid-column:1!important;
  }

  body:not(.view-home):not(.has-playback) .catalog-tools .catalog-search{
    grid-column:2!important;
  }

  body:not(.view-home):not(.has-playback) .catalog-tools #sort{
    grid-column:3!important;
  }

  body:not(.view-home):not(.has-playback) .catalog-tools #refresh{
    grid-column:4!important;
  }

  body.has-playback:not(.view-home) .catalog-fixed-header .catalog-tools{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }

  body.has-playback:not(.view-home) .catalog-tools #category{
    grid-column:1!important;
  }

  body.has-playback:not(.view-home) .catalog-tools .catalog-search{
    grid-column:2!important;
  }

  body.has-playback:not(.view-home) .catalog-tools #sort{
    grid-column:1!important;
  }

  body.has-playback:not(.view-home) .catalog-tools #refresh{
    grid-column:2!important;
  }

  body:not(.view-home) .catalog-tools #category,
  body:not(.view-home) .catalog-tools #sort,
  body:not(.view-home) .catalog-tools #refresh,
  body:not(.view-home) .catalog-tools .catalog-search #search{
    min-height:42px!important;
    height:42px;
  }

  body:not(.view-home) .catalog-tools .catalog-search #search{
    padding-right:50px!important;
  }

  body:not(.view-home) .catalog-search-submit{
    top:3px;
    right:3px;
    bottom:3px;
    width:36px!important;
    min-width:36px!important;
  }

  body:not(.view-home) .section-head{
    min-height:38px;
    margin:0 0 6px!important;
    padding:3px 0 6px!important;
  }

  body:not(.view-home) .section-head .eyebrow{
    font-size:.62rem;
  }

  body:not(.view-home) .section-head h2{
    margin-top:2px;
    font-size:.92rem;
  }

  body:not(.view-home) .section-head .count{
    padding:5px 9px;
  }

  body.layout-cinema:not(.has-playback):not(.view-home):not(.view-live) .catalog-feature{
    flex-basis:118px!important;
    min-height:118px!important;
    height:118px!important;
    max-height:118px!important;
    margin:-10px -10px 6px!important;
    padding:12px 22px!important;
    align-items:center;
  }

  body.layout-cinema:not(.has-playback):not(.view-home):not(.view-live) .catalog-feature-copy{
    width:min(720px,100%);
  }

  body.layout-cinema:not(.has-playback):not(.view-home):not(.view-live) .catalog-feature h3{
    margin:2px 0 4px!important;
    font-size:1.3rem!important;
    line-height:1;
  }

  body.layout-cinema:not(.has-playback):not(.view-home):not(.view-live) .catalog-feature-meta{
    margin:0;
    font-size:.78rem;
  }

  body.layout-cinema:not(.has-playback):not(.view-home):not(.view-live) .catalog-feature-synopsis{
    display:none!important;
  }

  body.layout-cinema:not(.has-playback):not(.view-home):not(.view-live) .catalog-feature-actions{
    margin-top:7px;
  }

  body.layout-cinema:not(.has-playback):not(.view-home):not(.view-live) .catalog-feature-actions .btn{
    min-height:36px;
    padding:8px 14px;
    font-size:.72rem;
  }
}

@media(max-width:1050px){
  body.layout-cinema:not(.has-playback):not(.view-home):not(.view-live) .catalog-feature{
    flex-basis:150px!important;
    min-height:150px!important;
    height:150px!important;
    max-height:150px!important;
    margin:-12px -12px 8px!important;
    padding:14px 16px!important;
    align-items:flex-end;
  }

  body.layout-cinema:not(.has-playback):not(.view-home):not(.view-live) .catalog-feature h3{
    margin:3px 0 5px;
    font-size:1.35rem!important;
    line-height:1;
  }

  body.layout-cinema:not(.has-playback):not(.view-home):not(.view-live) .catalog-feature-meta{
    margin:0;
    font-size:.72rem;
  }

  body.layout-cinema:not(.has-playback):not(.view-home):not(.view-live) .catalog-feature-synopsis{
    display:none!important;
  }

  body.layout-cinema:not(.has-playback):not(.view-home):not(.view-live) .catalog-feature-actions{
    margin-top:7px;
  }

  body.layout-cinema:not(.has-playback):not(.view-home):not(.view-live) .catalog-feature-actions .btn{
    min-height:38px;
    padding:8px 13px;
    font-size:.72rem;
  }
}

@media(orientation:landscape) and (min-width:560px) and (max-width:1050px) and (max-height:600px){
  body.layout-cinema:not(.has-playback):not(.view-home):not(.view-live) .catalog-feature{
    display:none!important;
  }
}

/* 3.40: estado de falha recuperável do catálogo. */
.load-failure{
  display:grid;
  justify-items:center;
  gap:13px;
}
.load-failure strong{
  color:#fff;
  font-size:1.05rem;
}
.load-failure p{
  max-width:560px;
  margin:0;
  line-height:1.5;
}
.load-failure .btn{
  margin-top:4px;
}

/* Versão 3.29: IBO desktop em toda a tela, cabeçalho limpo e capas compactas */
@media(min-width:1051px){
  body.layout-ibo{
    overflow-x:hidden;
  }

  body.layout-ibo .shell{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:22px 16px 50px 244px!important;
  }

  body.layout-ibo .tabs{
    left:16px!important;
    width:212px!important;
  }

  body.layout-ibo .experience{
    width:100%;
    max-width:none;
  }

  body.layout-ibo:not(.has-playback):not(.view-home) .experience{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:
      "tabs"
      "categories"
      "catalog"!important;
  }

  body.layout-ibo:not(.has-playback):not(.view-home) .catalog-panel{
    width:100%;
    max-width:none;
  }

  body.layout-ibo.has-playback:not(.view-home) .experience{
    grid-template-columns:clamp(390px,26vw,470px) minmax(0,1fr)!important;
    grid-template-areas:
      "tabs tabs"
      "categories categories"
      "catalog player"!important;
    gap:12px!important;
    align-items:start;
  }

  body.layout-ibo.has-playback:not(.view-home) .player-panel{
    grid-area:player!important;
    position:sticky!important;
    top:12px!important;
    width:100%!important;
    max-width:none!important;
    min-width:0;
    margin:0!important;
  }

  body.layout-ibo.has-playback:not(.view-home) .player-panel video{
    width:100%;
    max-width:none;
    max-height:calc(100vh - 150px);
    object-fit:contain;
  }

  body.layout-ibo.has-playback:not(.view-home) .catalog-panel{
    grid-area:catalog!important;
    width:100%;
    min-width:0;
    max-height:calc(100vh - 120px)!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }

  body.layout-ibo:not(.view-home) .category-rail{
    grid-area:categories!important;
    width:100%;
    max-width:none;
  }

  body.layout-ibo.view-live .section-head{
    display:none!important;
  }

  body.layout-ibo:not(.view-home) .catalog-tools{
    width:100%;
    min-width:0;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(118px,.72fr)!important;
    gap:8px!important;
    padding:10px 0!important;
    overflow:visible;
  }

  body.layout-ibo:not(.view-home) .catalog-tools #category{
    display:none!important;
  }

  body.layout-ibo:not(.view-home) .catalog-tools #search{
    grid-column:1/-1!important;
    min-width:0;
  }

  body.layout-ibo:not(.view-home) .catalog-tools #sort{
    grid-column:1!important;
    min-width:0;
  }

  body.layout-ibo:not(.view-home) .catalog-tools #refresh{
    grid-column:2!important;
    width:100%;
    min-width:0;
  }

  body.layout-ibo:not(.view-home) .section-head,
  body.layout-ibo:not(.view-home) .content-grid{
    width:100%;
    min-width:0;
  }

  body.layout-ibo.view-vod .content-grid,
  body.layout-ibo.view-series .content-grid{
    display:grid!important;
    grid-template-columns:repeat(auto-fill,minmax(125px,1fr))!important;
    gap:11px!important;
  }

  body.layout-ibo.view-vod .media-card,
  body.layout-ibo.view-series .media-card{
    width:auto!important;
    max-width:none!important;
    min-width:0;
    border-radius:11px;
  }

  body.layout-ibo.view-vod .media-card>img,
  body.layout-ibo.view-series .media-card>img{
    width:100%;
    max-width:100%;
    aspect-ratio:2/3;
    object-fit:cover;
  }

  body.layout-ibo.view-vod .media-body,
  body.layout-ibo.view-series .media-body{
    padding:8px 36px 8px 8px;
  }

  body.layout-ibo.view-vod .media-body strong,
  body.layout-ibo.view-series .media-body strong{
    font-size:.75rem;
  }

  body.layout-ibo.view-vod .media-action,
  body.layout-ibo.view-series .media-action{
    margin-top:6px!important;
    padding:6px 3px;
    font-size:.54rem!important;
  }
}

/* Versão 3.30: menus fixos e rolagem exclusiva dos conteúdos nos quatro layouts */
@media(min-width:1051px){
  body.layout-xciptv.has-playback:not(.view-home) .catalog-panel,
  body.layout-ibo.has-playback:not(.view-home) .catalog-panel,
  body.layout-smarters.has-playback:not(.view-home) .catalog-panel,
  body.layout-cinema.has-playback:not(.view-home) .catalog-panel{
    display:grid!important;
    grid-template-rows:auto auto auto minmax(0,1fr) auto;
    align-content:stretch;
    width:100%!important;
    min-width:0!important;
    height:calc(100vh - 125px);
    min-height:0!important;
    max-height:calc(100vh - 125px)!important;
    overflow:hidden!important;
  }

  body.layout-xciptv.has-playback:not(.view-home) .catalog-tools,
  body.layout-ibo.has-playback:not(.view-home) .catalog-tools,
  body.layout-smarters.has-playback:not(.view-home) .catalog-tools,
  body.layout-cinema.has-playback:not(.view-home) .catalog-tools{
    position:static!important;
    z-index:auto!important;
    grid-row:1;
    top:auto!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(112px,.66fr)!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    margin:0 0 10px!important;
    overflow:hidden!important;
  }

  body.layout-xciptv.has-playback:not(.view-home) .catalog-tools #category,
  body.layout-ibo.has-playback:not(.view-home) .catalog-tools #category,
  body.layout-smarters.has-playback:not(.view-home) .catalog-tools #category,
  body.layout-cinema.has-playback:not(.view-home) .catalog-tools #category{
    display:none!important;
  }

  body.layout-xciptv.has-playback:not(.view-home) .catalog-tools #search,
  body.layout-ibo.has-playback:not(.view-home) .catalog-tools #search,
  body.layout-smarters.has-playback:not(.view-home) .catalog-tools #search,
  body.layout-cinema.has-playback:not(.view-home) .catalog-tools #search{
    grid-column:1/-1!important;
    min-width:0!important;
  }

  body.layout-xciptv.has-playback:not(.view-home) .catalog-tools #sort,
  body.layout-ibo.has-playback:not(.view-home) .catalog-tools #sort,
  body.layout-smarters.has-playback:not(.view-home) .catalog-tools #sort,
  body.layout-cinema.has-playback:not(.view-home) .catalog-tools #sort{
    grid-column:1!important;
    min-width:0!important;
  }

  body.layout-xciptv.has-playback:not(.view-home) .catalog-tools #refresh,
  body.layout-ibo.has-playback:not(.view-home) .catalog-tools #refresh,
  body.layout-smarters.has-playback:not(.view-home) .catalog-tools #refresh,
  body.layout-cinema.has-playback:not(.view-home) .catalog-tools #refresh{
    grid-column:2!important;
    width:100%!important;
    min-width:0!important;
    padding-inline:8px;
  }

  body.layout-xciptv.has-playback:not(.view-home) .section-head,
  body.layout-ibo.has-playback:not(.view-home) .section-head,
  body.layout-smarters.has-playback:not(.view-home) .section-head,
  body.layout-cinema.has-playback:not(.view-home) .section-head{
    position:static!important;
    z-index:auto!important;
    grid-row:2;
    top:auto!important;
    width:100%;
    min-width:0;
    flex:none;
    margin:0 0 12px;
    overflow:hidden;
  }

  body.layout-xciptv.has-playback:not(.view-home) .section-head>div,
  body.layout-ibo.has-playback:not(.view-home) .section-head>div,
  body.layout-smarters.has-playback:not(.view-home) .section-head>div,
  body.layout-cinema.has-playback:not(.view-home) .section-head>div{
    min-width:0;
  }

  body.layout-xciptv.has-playback:not(.view-home) .section-head h2,
  body.layout-ibo.has-playback:not(.view-home) .section-head h2,
  body.layout-smarters.has-playback:not(.view-home) .section-head h2,
  body.layout-cinema.has-playback:not(.view-home) .section-head h2{
    overflow:hidden;
    font-size:1.02rem;
    white-space:nowrap;
    text-overflow:ellipsis;
  }

  body.layout-xciptv.has-playback:not(.view-home) .section-head .count,
  body.layout-ibo.has-playback:not(.view-home) .section-head .count,
  body.layout-smarters.has-playback:not(.view-home) .section-head .count,
  body.layout-cinema.has-playback:not(.view-home) .section-head .count{
    flex:0 0 auto;
  }

  body.layout-ibo.view-live .section-head{
    display:none!important;
  }

  body.layout-xciptv.has-playback:not(.view-home) .breadcrumb,
  body.layout-ibo.has-playback:not(.view-home) .breadcrumb,
  body.layout-smarters.has-playback:not(.view-home) .breadcrumb,
  body.layout-cinema.has-playback:not(.view-home) .breadcrumb{
    grid-row:3;
    min-height:0;
    margin:0 0 10px;
  }

  body.layout-xciptv.has-playback:not(.view-home) .breadcrumb:empty,
  body.layout-ibo.has-playback:not(.view-home) .breadcrumb:empty,
  body.layout-smarters.has-playback:not(.view-home) .breadcrumb:empty,
  body.layout-cinema.has-playback:not(.view-home) .breadcrumb:empty{
    display:none;
  }

  body.layout-xciptv.has-playback:not(.view-home) .content-grid,
  body.layout-ibo.has-playback:not(.view-home) .content-grid,
  body.layout-smarters.has-playback:not(.view-home) .content-grid,
  body.layout-cinema.has-playback:not(.view-home) .content-grid{
    grid-row:4;
    min-width:0!important;
    min-height:0!important;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    align-content:start;
    padding:2px 6px 12px 1px;
    scrollbar-gutter:stable;
    overscroll-behavior:contain;
  }

  body.layout-xciptv.has-playback:not(.view-home) .load-more,
  body.layout-ibo.has-playback:not(.view-home) .load-more,
  body.layout-smarters.has-playback:not(.view-home) .load-more,
  body.layout-cinema.has-playback:not(.view-home) .load-more{
    grid-row:5;
    margin:10px auto 0;
  }

  body.layout-cinema.has-playback:not(.view-home) .catalog-feature{
    display:none!important;
  }

  body.layout-ibo.has-playback:not(.view-home) .category-rail,
  body.layout-smarters.has-playback:not(.view-home) .category-rail,
  body.layout-cinema.has-playback:not(.view-home) .category-rail{
    z-index:8;
    margin:0;
    min-width:0;
    background:linear-gradient(180deg,rgba(14,16,18,.98),rgba(14,16,18,.92));
    backdrop-filter:blur(12px);
  }

  body.layout-ibo.has-playback:not(.view-home) .category-rail-list,
  body.layout-smarters.has-playback:not(.view-home) .category-rail-list,
  body.layout-cinema.has-playback:not(.view-home) .category-rail-list{
    max-width:100%;
    margin:0;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:thin;
    scrollbar-color:#696969 #252525;
    overscroll-behavior-x:contain;
  }

  body.layout-ibo.has-playback:not(.view-home) .category-rail-list::-webkit-scrollbar,
  body.layout-smarters.has-playback:not(.view-home) .category-rail-list::-webkit-scrollbar,
  body.layout-cinema.has-playback:not(.view-home) .category-rail-list::-webkit-scrollbar{
    height:6px;
  }

  body.layout-ibo.has-playback:not(.view-home) .category-rail-list::-webkit-scrollbar-track,
  body.layout-smarters.has-playback:not(.view-home) .category-rail-list::-webkit-scrollbar-track,
  body.layout-cinema.has-playback:not(.view-home) .category-rail-list::-webkit-scrollbar-track{
    border-radius:999px;
    background:#252525;
  }

  body.layout-ibo.has-playback:not(.view-home) .category-rail-list::-webkit-scrollbar-thumb,
  body.layout-smarters.has-playback:not(.view-home) .category-rail-list::-webkit-scrollbar-thumb,
  body.layout-cinema.has-playback:not(.view-home) .category-rail-list::-webkit-scrollbar-thumb{
    border-radius:999px;
    background:#696969;
  }

  body.layout-smarters.has-playback:not(.view-home) .catalog-panel{
    padding:14px!important;
  }

  body.layout-smarters.has-playback:not(.view-home) .catalog-tools{
    padding:10px!important;
    border-radius:9px;
  }

  body.layout-smarters.has-playback:not(.view-home) .category-rail-item{
    min-width:160px!important;
    max-width:230px;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
  }
}

/* Versão 3.31: navegação do TVRGS PADRÃO acima do player no desktop */
@media(min-width:701px){
  body.layout-current:not(.view-home) .experience{
    grid-template-areas:
      "tabs"
      "player"
      "catalog";
  }
}

@media(min-width:1051px){
  body.layout-current.view-home .shell{
    display:flex;
    flex-direction:column;
  }
  body.layout-current.view-home .shell>.topbar{order:0}
  body.layout-current.view-home .shell>.expiry-notice{order:1}
  body.layout-current.view-home .shell>#httpsWarning{order:2}
  body.layout-current.view-home .experience{
    order:3;
    width:100%;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:
      "tabs"
      "player"!important;
  }
  body.layout-current.view-home .layout-home{
    order:4;
    width:100%;
  }
}

/* Versão 3.32: Filmes e Séries visíveis no TVRGS PADRÃO */
@media(min-width:1051px){
  body.layout-current:not(.view-home) .experience{
    grid-template-columns:minmax(390px,42vw) minmax(0,1fr)!important;
    grid-template-areas:
      "tabs tabs"
      "catalog player"!important;
    gap:14px!important;
    align-items:start;
  }

  body.layout-current:not(.view-home):not(.has-playback) .experience{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:
      "tabs"
      "catalog"!important;
  }

  body.layout-current:not(.view-home):not(.has-playback) .player-panel{
    display:none!important;
  }

  body.layout-current.has-playback:not(.view-home) .catalog-panel{
    grid-area:catalog!important;
    display:grid!important;
    grid-template-rows:auto auto auto minmax(0,1fr) auto;
    align-content:stretch;
    width:100%;
    min-width:0;
    height:calc(100dvh - 125px);
    min-height:0;
    max-height:calc(100dvh - 125px);
    overflow:hidden!important;
  }

  body.layout-current.has-playback:not(.view-home) .catalog-tools{
    position:static!important;
    grid-row:1;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(125px,.7fr)!important;
    gap:8px!important;
    width:100%;
    min-width:0;
    margin:0 0 10px!important;
  }

  body.layout-current.has-playback:not(.view-home) .catalog-tools #category,
  body.layout-current.has-playback:not(.view-home) .catalog-tools #search{
    min-width:0;
  }

  body.layout-current.has-playback:not(.view-home) .catalog-tools #category{
    grid-column:1/-1;
  }

  body.layout-current.has-playback:not(.view-home) .catalog-tools #search{
    grid-column:1/-1;
  }

  body.layout-current.has-playback:not(.view-home) .catalog-tools #sort{
    grid-column:1;
    min-width:0;
  }

  body.layout-current.has-playback:not(.view-home) .catalog-tools #refresh{
    grid-column:2;
    width:100%;
    min-width:0;
  }

  body.layout-current.has-playback:not(.view-home) .section-head{
    position:static!important;
    grid-row:2;
    width:100%;
    min-width:0;
    margin:0 0 12px;
  }

  body.layout-current.has-playback:not(.view-home) .breadcrumb{
    grid-row:3;
    min-height:0;
    margin:0 0 10px;
  }

  body.layout-current.has-playback:not(.view-home) .breadcrumb:empty{
    display:none;
  }

  body.layout-current.has-playback:not(.view-home) .content-grid{
    grid-row:4;
    min-width:0;
    min-height:0;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    align-content:start;
    padding:2px 6px 12px 1px;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
  }

  body.layout-current.has-playback:not(.view-home) .load-more{
    grid-row:5;
    margin:10px auto 0;
  }

  body.layout-current.has-playback:not(.view-home) .player-panel{
    grid-area:player!important;
    position:sticky!important;
    top:12px;
    align-self:start;
    width:100%;
    min-width:0;
    max-width:none;
    margin:0!important;
  }

  body.layout-current.has-playback:not(.view-home) .player-panel video{
    width:100%;
    max-width:none;
    object-fit:contain;
  }

  body.layout-current.view-vod .content-grid,
  body.layout-current.view-series .content-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:11px!important;
  }

  body.layout-current.view-vod .media-card,
  body.layout-current.view-series .media-card{
    width:auto;
    min-width:0;
    max-width:none;
  }
}

@media(min-width:1051px) and (max-width:1250px){
  body.layout-current:not(.view-home) .experience{
    grid-template-columns:minmax(360px,46vw) minmax(0,1fr)!important;
  }

  body.layout-current.view-vod .content-grid,
  body.layout-current.view-series .content-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Versão 3.33: estrutura final de desktop, menus estáveis e rolagem somente do conteúdo */
.catalog-tools[hidden],
.catalog-panel[hidden],
.layout-home[hidden]{
  display:none!important;
}

@media(min-width:1051px){
  body:not(.view-home){
    height:100dvh;
    overflow:hidden;
  }

  body:not(.view-home) .shell{
    display:flex;
    flex-direction:column;
    height:100dvh;
    min-height:0;
    padding-top:14px;
    padding-bottom:14px;
    overflow:hidden;
  }

  body:not(.view-home) .topbar{
    flex:0 0 auto;
    margin-bottom:10px;
  }

  body:not(.view-home) .expiry-notice,
  body:not(.view-home) #httpsWarning{
    flex:0 0 auto;
  }

  body:not(.view-home) .experience{
    flex:1 1 auto;
    width:100%;
    min-width:0;
    min-height:0;
    max-width:none;
    align-items:stretch;
  }

  body:not(.view-home) .experience>*{
    min-width:0;
  }

  /* TVRGS PADRÃO: catálogo à esquerda e vídeo aproveitando o restante. */
  body.layout-current:not(.view-home) .experience{
    grid-template-columns:minmax(430px,38vw) minmax(0,1fr)!important;
    grid-template-rows:auto minmax(0,1fr);
    grid-template-areas:
      "tabs tabs"
      "catalog player"!important;
    gap:10px 14px!important;
  }

  body.layout-current:not(.view-home):not(.has-playback) .experience{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:
      "tabs"
      "catalog"!important;
  }

  /* XCIPTV e Smarters: categorias verticais, catálogo compacto e vídeo à direita. */
  body.layout-xciptv:not(.view-home) .experience,
  body.layout-smarters:not(.view-home) .experience{
    grid-template-columns:220px clamp(390px,30vw,460px) minmax(0,1fr)!important;
    grid-template-rows:auto minmax(0,1fr);
    grid-template-areas:
      "tabs tabs tabs"
      "categories catalog player"!important;
    gap:10px 12px!important;
  }

  body.layout-xciptv:not(.view-home):not(.has-playback) .experience,
  body.layout-smarters:not(.view-home):not(.has-playback) .experience{
    grid-template-columns:235px minmax(0,1fr)!important;
    grid-template-areas:
      "tabs tabs"
      "categories catalog"!important;
  }

  /* IBO e Cinema: gêneros fixos em faixa, catálogo à esquerda e vídeo à direita. */
  body.layout-ibo:not(.view-home) .experience,
  body.layout-cinema:not(.view-home) .experience{
    grid-template-columns:clamp(410px,31vw,500px) minmax(0,1fr)!important;
    grid-template-rows:auto auto minmax(0,1fr);
    grid-template-areas:
      "tabs tabs"
      "categories categories"
      "catalog player"!important;
    gap:9px 14px!important;
  }

  body.layout-ibo:not(.view-home):not(.has-playback) .experience,
  body.layout-cinema:not(.view-home):not(.has-playback) .experience{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:
      "tabs"
      "categories"
      "catalog"!important;
  }

  /* Recentes e Favoritos não reservam uma coluna de categorias inexistente. */
  body.layout-current.view-history.has-playback:not(.view-home) .experience,
  body.layout-current.view-favorites.has-playback:not(.view-home) .experience,
  body.layout-xciptv.view-history.has-playback:not(.view-home) .experience,
  body.layout-xciptv.view-favorites.has-playback:not(.view-home) .experience,
  body.layout-ibo.view-history.has-playback:not(.view-home) .experience,
  body.layout-ibo.view-favorites.has-playback:not(.view-home) .experience,
  body.layout-smarters.view-history.has-playback:not(.view-home) .experience,
  body.layout-smarters.view-favorites.has-playback:not(.view-home) .experience,
  body.layout-cinema.view-history.has-playback:not(.view-home) .experience,
  body.layout-cinema.view-favorites.has-playback:not(.view-home) .experience{
    grid-template-columns:clamp(390px,34vw,500px) minmax(0,1fr)!important;
    grid-template-rows:auto minmax(0,1fr);
    grid-template-areas:
      "tabs tabs"
      "catalog player"!important;
  }

  body.layout-current.view-history:not(.has-playback):not(.view-home) .experience,
  body.layout-current.view-favorites:not(.has-playback):not(.view-home) .experience,
  body.layout-xciptv.view-history:not(.has-playback):not(.view-home) .experience,
  body.layout-xciptv.view-favorites:not(.has-playback):not(.view-home) .experience,
  body.layout-ibo.view-history:not(.has-playback):not(.view-home) .experience,
  body.layout-ibo.view-favorites:not(.has-playback):not(.view-home) .experience,
  body.layout-smarters.view-history:not(.has-playback):not(.view-home) .experience,
  body.layout-smarters.view-favorites:not(.has-playback):not(.view-home) .experience,
  body.layout-cinema.view-history:not(.has-playback):not(.view-home) .experience,
  body.layout-cinema.view-favorites:not(.has-playback):not(.view-home) .experience{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto minmax(0,1fr);
    grid-template-areas:
      "tabs"
      "catalog"!important;
  }

  body.layout-ibo .shell{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-right:16px!important;
    padding-left:244px!important;
  }

  body.layout-ibo .tabs{
    left:16px!important;
    top:96px;
    width:212px!important;
    max-height:calc(100dvh - 112px);
    overflow-y:auto;
  }

  /* Categorias ficam fora da área rolável dos cards. */
  body.layout-xciptv:not(.view-home) .category-rail,
  body.layout-smarters:not(.view-home) .category-rail{
    position:static!important;
    align-self:stretch;
    width:100%;
    height:100%;
    min-height:0;
    max-height:none!important;
    overflow:hidden!important;
  }

  body.layout-xciptv:not(.view-home) .category-rail-list,
  body.layout-smarters:not(.view-home) .category-rail-list{
    display:grid!important;
    align-content:start;
    gap:3px;
    max-height:calc(100% - 58px)!important;
    padding:8px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    scrollbar-width:thin;
  }

  body.layout-xciptv:not(.view-home) .category-rail-item,
  body.layout-smarters:not(.view-home) .category-rail-item{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    overflow:hidden;
    text-align:left!important;
    white-space:nowrap;
    text-overflow:ellipsis;
  }

  body.layout-ibo:not(.view-home) .category-rail,
  body.layout-cinema:not(.view-home) .category-rail{
    position:static!important;
    align-self:start;
    width:100%;
    min-width:0;
    max-width:none;
    max-height:none!important;
    margin:0;
    overflow:hidden!important;
  }

  body.layout-ibo:not(.view-home) .category-rail-list,
  body.layout-cinema:not(.view-home) .category-rail-list{
    display:flex!important;
    gap:8px;
    width:100%;
    max-width:100%;
    max-height:none!important;
    margin:0;
    padding:3px 0 9px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:thin;
    scrollbar-color:#666 #242424;
    overscroll-behavior-x:contain;
  }

  body.layout-ibo:not(.view-home) .category-rail-list::-webkit-scrollbar,
  body.layout-cinema:not(.view-home) .category-rail-list::-webkit-scrollbar{
    height:5px;
  }

  body.layout-ibo:not(.view-home) .category-rail-item,
  body.layout-cinema:not(.view-home) .category-rail-item{
    flex:0 0 auto;
    width:auto!important;
    min-width:112px!important;
    max-width:260px;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
  }

  /* O painel inteiro não rola; cabeçalho e filtros permanecem visíveis. */
  body:not(.view-home) .catalog-panel{
    grid-area:catalog!important;
    display:grid!important;
    grid-template-rows:auto auto auto minmax(0,1fr) auto;
    align-content:stretch;
    align-self:stretch;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-width:none!important;
    max-height:none!important;
    padding:14px!important;
    overflow:hidden!important;
  }

  body:not(.view-home) .catalog-tools{
    position:static!important;
    z-index:auto!important;
    grid-row:1;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(112px,.65fr)!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    margin:0 0 10px!important;
    padding:0!important;
    border:0;
    background:transparent;
    box-shadow:none;
    overflow:hidden!important;
  }

  body:not(.view-home) .catalog-tools[hidden]{
    display:none!important;
  }

  body:not(.view-home) .catalog-tools .mobile-tools-head,
  body:not(.view-home) .catalog-tools .category-rail-open{
    display:none!important;
  }

  body:not(.view-home) .catalog-tools #category{
    display:none!important;
  }

  body.layout-current:not(.view-home) .catalog-tools #category{
    display:block!important;
    grid-column:1/-1!important;
  }

  body:not(.view-home) .catalog-tools #search{
    grid-column:1/-1!important;
    min-width:0!important;
  }

  body:not(.view-home) .catalog-tools #sort{
    grid-column:1!important;
    min-width:0!important;
  }

  body:not(.view-home) .catalog-tools #refresh{
    grid-column:2!important;
    width:100%!important;
    min-width:0!important;
    padding-inline:8px;
  }

  body:not(.view-home) .section-head{
    position:static!important;
    z-index:auto!important;
    grid-row:2;
    width:100%;
    min-width:0;
    margin:0 0 10px!important;
    padding-bottom:10px;
    overflow:hidden;
  }

  body:not(.view-home) .section-head>div{
    min-width:0;
  }

  body:not(.view-home) .section-head h2{
    overflow:hidden;
    font-size:1rem;
    white-space:nowrap;
    text-overflow:ellipsis;
  }

  body:not(.view-home) .section-head .count{
    flex:0 0 auto;
  }

  body.layout-ibo.view-live .section-head{
    display:none!important;
  }

  body:not(.view-home) .breadcrumb{
    grid-row:3;
    min-height:0;
    margin:0 0 8px;
  }

  body:not(.view-home) .breadcrumb:empty{
    display:none;
  }

  /* Todas as formas reais do conteúdo usam a mesma região interna de rolagem. */
  body:not(.view-home) .catalog-panel>.content-grid,
  body:not(.view-home) .catalog-panel>.dashboard-content,
  body:not(.view-home) .catalog-panel>.series-details{
    grid-row:4;
    width:100%;
    min-width:0!important;
    min-height:0!important;
    max-height:none!important;
    padding:2px 6px 12px 1px;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    align-content:start;
    scrollbar-gutter:stable;
    overscroll-behavior:contain;
  }

  body:not(.view-home) .catalog-panel>.dashboard-content .dashboard-grid{
    overflow:visible!important;
  }

  body:not(.view-home) .load-more{
    grid-row:5;
    flex:0 0 auto;
    margin:9px auto 0;
  }

  /* O player usa toda a coluna direita, sem sair da tela. */
  body.has-playback:not(.view-home) .player-panel{
    grid-area:player!important;
    position:static!important;
    align-self:start;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    max-height:100%;
    margin:0!important;
    overflow:auto;
    overscroll-behavior:contain;
  }

  body.has-playback:not(.view-home) .player-panel video{
    width:100%!important;
    height:auto;
    max-width:none!important;
    max-height:calc(100dvh - 215px)!important;
    object-fit:contain;
  }

  body:not(.has-playback):not(.view-home) .player-panel{
    display:none!important;
  }

  /* Capas compactas no catálogo lateral; canais permanecem em lista. */
  body.has-playback.view-vod:not(.view-home) .content-grid,
  body.has-playback.view-series:not(.view-home) .content-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:9px!important;
  }

  body.has-playback.view-vod:not(.view-home) .media-card,
  body.has-playback.view-series:not(.view-home) .media-card{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    border-radius:10px;
  }

  body.has-playback.view-vod:not(.view-home) .media-body,
  body.has-playback.view-series:not(.view-home) .media-body{
    padding:7px 32px 7px 7px!important;
  }

  body.has-playback.view-vod:not(.view-home) .media-body strong,
  body.has-playback.view-series:not(.view-home) .media-body strong{
    font-size:.7rem;
  }

  body.has-playback.view-live:not(.view-home) .content-grid{
    display:flex!important;
    flex-direction:column;
    gap:7px!important;
  }

  body.has-playback.view-live:not(.view-home) .media-card{
    flex:0 0 auto;
    min-width:0!important;
  }

  body:not(.has-playback).view-vod:not(.view-home) .content-grid,
  body:not(.has-playback).view-series:not(.view-home) .content-grid{
    display:grid!important;
    grid-template-columns:repeat(auto-fill,minmax(128px,1fr))!important;
    gap:11px!important;
  }

  /* Recentes, Favoritos e Início nunca esticam um item isolado. */
  body.view-history:not(.view-home) .dashboard-grid,
  body.view-favorites:not(.view-home) .dashboard-grid,
  body.view-home .home-dashboard .dashboard-grid{
    display:grid!important;
    grid-template-columns:repeat(auto-fill,minmax(112px,132px))!important;
    justify-content:start;
    gap:9px!important;
    width:100%;
  }

  body.view-history:not(.view-home) .dashboard-grid .media-card,
  body.view-favorites:not(.view-home) .dashboard-grid .media-card,
  body.view-home .home-dashboard .dashboard-grid .media-card{
    width:auto!important;
    min-width:0!important;
    max-width:132px!important;
  }

  /* Destaque Cinema compacto e integrado à região fixa. */
  body.layout-cinema:not(.has-playback):not(.view-home):not(.view-live) .catalog-panel{
    grid-template-rows:minmax(150px,180px) auto auto auto minmax(0,1fr) auto;
  }

  body.layout-cinema:not(.has-playback):not(.view-home):not(.view-live) .catalog-feature{
    grid-row:1;
    min-height:150px;
    max-height:180px;
    margin:-14px -14px 10px;
    padding:22px;
    overflow:hidden;
  }

  body.layout-cinema:not(.has-playback):not(.view-home):not(.view-live) .catalog-feature h3{
    margin:5px 0 7px;
    font-size:clamp(1.55rem,2.6vw,2.5rem);
  }

  body.layout-cinema:not(.has-playback):not(.view-home):not(.view-live) .catalog-feature-synopsis{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }

  body.layout-cinema:not(.has-playback):not(.view-home):not(.view-live) .catalog-tools{grid-row:2}
  body.layout-cinema:not(.has-playback):not(.view-home):not(.view-live) .section-head{grid-row:3}
  body.layout-cinema:not(.has-playback):not(.view-home):not(.view-live) .breadcrumb{grid-row:4}
  body.layout-cinema:not(.has-playback):not(.view-home):not(.view-live) .catalog-panel>.content-grid,
  body.layout-cinema:not(.has-playback):not(.view-home):not(.view-live) .catalog-panel>.series-details{grid-row:5}
  body.layout-cinema:not(.has-playback):not(.view-home):not(.view-live) .load-more{grid-row:6}
}

@media(min-width:1051px) and (max-width:1220px){
  body.layout-current:not(.view-home) .experience{
    grid-template-columns:minmax(390px,43vw) minmax(0,1fr)!important;
  }

  body.layout-xciptv:not(.view-home) .experience,
  body.layout-smarters:not(.view-home) .experience{
    grid-template-columns:190px 370px minmax(0,1fr)!important;
  }

  body.layout-ibo:not(.view-home) .experience,
  body.layout-cinema:not(.view-home) .experience{
    grid-template-columns:390px minmax(0,1fr)!important;
  }
}

@media(max-width:700px){
  body.view-history .catalog-panel>.dashboard-content,
  body.view-favorites .catalog-panel>.dashboard-content{
    min-width:0;
    overflow:visible;
  }

  body.view-history .dashboard-grid,
  body.view-favorites .dashboard-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  body.view-history .dashboard-grid .media-card,
  body.view-favorites .dashboard-grid .media-card{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
  }
}

/* Versão 3.34: impede que grades extensas comprimam os cards no desktop */
@media(min-width:1051px){
  body:not(.view-home) .catalog-panel>.content-grid,
  body:not(.view-home) .catalog-panel>.dashboard-content .dashboard-grid{
    grid-auto-flow:row!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
    align-items:start!important;
  }

  body:not(.view-home):not(.view-live) .catalog-panel .media-card{
    align-self:start!important;
    height:auto!important;
    min-height:0!important;
  }

  body:not(.view-home):not(.view-live) .catalog-panel .media-card>img{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:2/3!important;
    object-fit:cover!important;
  }

  body:not(.view-home):not(.view-live) .catalog-panel .media-body{
    height:auto!important;
  }
}

/* Versão 3.35: isola o painel administrativo das regras de tela fixa do player. */
body.admin-page{
  width:100%;
  height:auto!important;
  min-height:100vh!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}

body.admin-page .admin-shell{
  display:block!important;
  width:min(1180px,calc(100% - 28px))!important;
  max-width:1180px!important;
  height:auto!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:22px 0 50px!important;
  overflow:visible!important;
}

body.admin-page .shell.narrow{
  display:grid!important;
  width:min(560px,calc(100% - 28px))!important;
  max-width:560px!important;
  height:auto!important;
  min-height:100vh!important;
  margin:0 auto!important;
  padding:22px 0!important;
  overflow:visible!important;
  place-items:center;
}

@media(max-width:800px){
  body.admin-page .admin-shell{
    width:min(100% - 18px,1180px)!important;
    padding:12px 0 32px!important;
  }

  body.admin-page .shell.narrow{
    width:min(100% - 18px,560px)!important;
    padding:12px 0!important;
  }
}

/* Versão 3.35: todos os canais ocupam a mesma largura da lista. */
body.view-live:not(.view-home) .catalog-panel>.content-grid{
  width:100%!important;
  min-width:0!important;
  align-items:stretch!important;
}

body.view-live:not(.view-home) .catalog-panel .media-card{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  justify-self:stretch!important;
  align-self:stretch!important;
}

body.view-live:not(.view-home) .catalog-panel .media-body,
body.view-live:not(.view-home) .catalog-panel .media-body>strong,
body.view-live:not(.view-home) .catalog-panel .channel-guide,
body.view-live:not(.view-home) .catalog-panel .channel-guide>span,
body.view-live:not(.view-home) .catalog-panel .channel-guide em{
  min-width:0!important;
}

body.view-live:not(.view-home) .catalog-panel .media-body>strong,
body.view-live:not(.view-home) .catalog-panel .channel-guide em{
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}

/* Versão 3.36: canais compactos no TVRGS PADRÃO durante a reprodução. */
body.layout-current.has-playback.view-live:not(.view-home) .catalog-panel>.content-grid{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
}

body.layout-current.has-playback.view-live:not(.view-home) .catalog-panel .media-card{
  display:grid!important;
  grid-template-columns:78px minmax(0,1fr)!important;
  min-height:78px!important;
  height:auto!important;
  flex:0 0 auto!important;
}

body.layout-current.has-playback.view-live:not(.view-home) .catalog-panel .media-card>img{
  width:78px!important;
  height:100%!important;
  min-height:78px!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  padding:8px!important;
  background:#101010;
}

body.layout-current.has-playback.view-live:not(.view-home) .catalog-panel .media-body{
  align-self:center!important;
  padding:9px 46px 9px 10px!important;
}

body.layout-current.has-playback.view-live:not(.view-home) .catalog-panel .media-body>.channel-guide{
  min-height:0!important;
  margin-top:6px!important;
  padding-top:6px!important;
}

body.layout-current.has-playback.view-live:not(.view-home) .catalog-panel .favorite{
  top:50%!important;
  right:8px!important;
  transform:translateY(-50%)!important;
}

body.layout-current.has-playback.view-live:not(.view-home) .catalog-panel .media-card:hover{
  transform:translateX(4px)!important;
}

/* 3.44 - layout individual salvo na conta do cliente */
.account-card{
  max-height:min(760px,calc(100vh - 28px));
  overflow-y:auto;
  overscroll-behavior:contain;
}
.account-layout-form{
  display:grid;
  gap:12px;
  margin:0 0 18px;
  padding:15px;
  border:1px solid color-mix(in srgb,var(--primary) 38%,#343434);
  border-radius:13px;
  background:#101010;
}
.account-layout-copy{
  display:grid;
  gap:4px;
}
.account-layout-copy strong{
  font-size:.94rem;
}
.account-layout-copy small{
  color:var(--muted);
  font-size:.72rem;
  line-height:1.4;
}
.account-layout-tv-hint{display:block;margin-top:5px;color:#999;font-size:.65rem;font-weight:700;line-height:1.35}
.account-layout-form label{
  display:grid;
  gap:6px;
  color:#d8d8d8;
  font-size:.78rem;
  font-weight:800;
}
.account-layout-form select{
  min-height:44px;
}
.account-layout-form .alert{
  margin:0;
  padding:10px 11px;
  font-size:.76rem;
}
.account-layout-form .btn{
  width:100%;
}
.client-layout-toggle{
  display:flex!important;
  align-items:center;
  gap:9px!important;
  margin-top:15px;
  padding:13px;
  border:1px solid #393939;
  border-radius:11px;
  background:#151515;
  color:#fff!important;
}
.client-layout-toggle input{
  flex:0 0 auto;
  width:19px;
  height:19px;
  accent-color:var(--primary);
}
@media(max-width:650px){
  .account-card{
    max-height:calc(100dvh - 18px);
  }
  .account-layout-form{
    padding:13px;
  }
}

@media(max-width:700px){
  body.layout-current.has-playback.view-live:not(.view-home) .catalog-panel .media-card{
    grid-template-columns:72px minmax(0,1fr)!important;
    min-height:72px!important;
  }

  body.layout-current.has-playback.view-live:not(.view-home) .catalog-panel .media-card>img{
    width:72px!important;
    min-height:72px!important;
    padding:7px!important;
  }

  body.layout-current.has-playback.view-live:not(.view-home) .catalog-panel .media-body{
    padding:7px 50px 7px 9px!important;
  }
}

/* Versão 3.38: categorias visíveis e lupa integrada ao campo de pesquisa. */
body:not(.view-home) .catalog-tools{
  grid-template-columns:minmax(0,1fr) minmax(112px,.65fr)!important;
}

body:not(.view-home) .catalog-tools #category{
  display:block!important;
  grid-column:1/-1!important;
  width:100%!important;
  min-width:0!important;
}

body:not(.view-home) .catalog-tools .catalog-search,
body.layout-xciptv:not(.view-home) .catalog-tools .catalog-search,
body.layout-ibo:not(.view-home) .catalog-tools .catalog-search,
body.layout-smarters:not(.view-home) .catalog-tools .catalog-search,
body.layout-cinema:not(.view-home) .catalog-tools .catalog-search{
  position:relative!important;
  display:block!important;
  grid-column:1/-1!important;
  width:100%!important;
  min-width:0!important;
}

body:not(.view-home) .catalog-tools .catalog-search #search{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  min-height:46px;
  padding-right:58px!important;
}

.catalog-search-submit{
  position:absolute!important;
  top:4px;
  right:4px;
  bottom:4px;
  display:grid!important;
  width:42px!important;
  min-width:42px!important;
  min-height:0!important;
  padding:0!important;
  border-radius:8px;
}

.catalog-search-submit svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
}

body:not(.view-home) .catalog-tools #sort{
  grid-column:1!important;
  min-width:0!important;
}

body:not(.view-home) .catalog-tools #refresh{
  grid-column:2!important;
  width:100%!important;
  min-width:0!important;
}

@media(max-width:900px){
  body:not(.view-home) .catalog-tools .category-rail-open{
    display:none!important;
  }

  body:not(.view-home) .catalog-tools #category{
    min-height:50px;
    font-size:16px;
  }

  body:not(.view-home) .catalog-tools .catalog-search #search{
    min-height:52px;
    font-size:16px;
    padding-right:62px!important;
  }

  .catalog-search-submit{
    width:44px!important;
    min-width:44px!important;
    border-radius:10px;
  }
}

@media(max-width:420px){
  body:not(.view-home) .catalog-tools{
    grid-template-columns:minmax(0,1fr) minmax(105px,.72fr)!important;
  }
}

/* Versão 3.39: cabeçalho do catálogo fixo; somente os cards rolam. */
body:not(.view-home) .catalog-panel{
  display:flex!important;
  flex-direction:column!important;
  align-content:normal!important;
}

body:not(.view-home) .catalog-feature,
body:not(.view-home) .catalog-fixed-header,
body:not(.view-home) .load-more{
  flex:0 0 auto!important;
}

body:not(.view-home) .catalog-fixed-header{
  position:relative;
  z-index:4;
  width:100%;
  min-width:0;
  background:inherit;
}

body:not(.view-home) .catalog-fixed-header .catalog-tools,
body:not(.view-home) .catalog-fixed-header .section-head,
body:not(.view-home) .catalog-fixed-header .breadcrumb{
  grid-row:auto!important;
}

body:not(.view-home) .catalog-panel>.content-grid,
body:not(.view-home) .catalog-panel>.dashboard-content,
body:not(.view-home) .catalog-panel>.series-details{
  flex:1 1 auto!important;
  width:100%!important;
  min-height:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

@media(max-width:1050px){
  body.view-live:not(.view-home) .catalog-panel,
  body.view-vod:not(.view-home) .catalog-panel,
  body.view-series:not(.view-home) .catalog-panel{
    height:max(480px,calc(100dvh - 86px))!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
  }

  body.view-live:not(.view-home) .catalog-panel>.content-grid,
  body.view-vod:not(.view-home) .catalog-panel>.content-grid,
  body.view-series:not(.view-home) .catalog-panel>.content-grid,
  body.view-series:not(.view-home) .catalog-panel>.series-details{
    padding-bottom:calc(82px + env(safe-area-inset-bottom))!important;
  }
}

@media(orientation:landscape) and (min-width:560px) and (max-width:1050px) and (max-height:600px){
  body.compact-landscape.view-live:not(.view-home) .catalog-panel,
  body.compact-landscape.view-vod:not(.view-home) .catalog-panel,
  body.compact-landscape.view-series:not(.view-home) .catalog-panel{
    height:calc(100dvh - 102px)!important;
    min-height:0!important;
    max-height:calc(100dvh - 102px)!important;
    overflow:hidden!important;
  }

  body.compact-landscape:not(.view-home) .catalog-panel>.content-grid,
  body.compact-landscape:not(.view-home) .catalog-panel>.series-details{
    overflow-x:hidden!important;
    overflow-y:auto!important;
    padding-bottom:8px!important;
  }
}

/* Versão 3.42: Cinema com catálogo à esquerda e encarte completo à direita. */
@media(min-width:1051px){
  body.layout-cinema:not(.has-playback):not(.view-home):is(.view-vod,.view-series) .catalog-panel{
    display:grid!important;
    grid-template-columns:minmax(0,2fr) minmax(310px,.82fr)!important;
    grid-template-rows:auto minmax(0,1fr) auto!important;
    grid-template-areas:
      "cinema-header cinema-feature"
      "cinema-content cinema-feature"
      "cinema-more cinema-feature"!important;
    column-gap:14px!important;
    row-gap:0!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    padding:10px!important;
    overflow:hidden!important;
  }

  body.layout-cinema:not(.has-playback):not(.view-home):is(.view-vod,.view-series) .catalog-fixed-header{
    grid-area:cinema-header!important;
    align-self:start;
    min-width:0;
    padding-right:2px;
  }

  body.layout-cinema:not(.has-playback):not(.view-home):is(.view-vod,.view-series) .catalog-panel>.content-grid,
  body.layout-cinema:not(.has-playback):not(.view-home):is(.view-vod,.view-series) .catalog-panel>.series-details{
    grid-area:cinema-content!important;
    align-self:stretch;
    min-width:0!important;
    min-height:0!important;
    padding:2px 4px 12px 0;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }

  body.layout-cinema:not(.has-playback):not(.view-home):is(.view-vod,.view-series) .catalog-panel>.content-grid{
    grid-template-columns:repeat(auto-fill,minmax(128px,1fr))!important;
    align-content:start;
    gap:11px!important;
  }

  body.layout-cinema:not(.has-playback):not(.view-home):is(.view-vod,.view-series) .load-more{
    grid-area:cinema-more!important;
    margin:8px auto 0;
  }

  body.layout-cinema:not(.has-playback):not(.view-home):is(.view-vod,.view-series) .catalog-feature{
    grid-area:cinema-feature!important;
    align-self:stretch!important;
    justify-self:stretch!important;
    display:flex!important;
    align-items:flex-end!important;
    min-width:0!important;
    width:100%!important;
    min-height:0!important;
    height:100%!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:1px solid rgba(255,255,255,.12);
    border-radius:8px!important;
    background:
      linear-gradient(0deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.82) 25%,rgba(0,0,0,.16) 58%,rgba(0,0,0,.03) 100%),
      var(--feature-image),
      linear-gradient(145deg,#26130d,#090909)!important;
    background-position:center,center top,center!important;
    background-repeat:no-repeat!important;
    background-size:100% 100%,contain,100% 100%!important;
    box-shadow:0 18px 48px rgba(0,0,0,.46);
  }

  body.layout-cinema:not(.has-playback):not(.view-home):is(.view-vod,.view-series) .catalog-feature-copy{
    width:100%!important;
    max-width:none!important;
    padding:24px 22px 22px;
    background:linear-gradient(0deg,rgba(0,0,0,.72),transparent);
  }

  body.layout-cinema:not(.has-playback):not(.view-home):is(.view-vod,.view-series) .catalog-feature h3{
    max-width:100%;
    margin:5px 0 8px!important;
    font-size:clamp(1.35rem,1.65vw,1.8rem)!important;
    line-height:1.06!important;
    letter-spacing:-.035em;
  }

  body.layout-cinema:not(.has-playback):not(.view-home):is(.view-vod,.view-series) .catalog-feature-meta{
    margin:0!important;
    font-size:.76rem!important;
  }

  body.layout-cinema:not(.has-playback):not(.view-home):is(.view-vod,.view-series) .catalog-feature-synopsis{
    display:-webkit-box!important;
    margin:9px 0 0;
    overflow:hidden;
    color:#e0e0e0;
    font-size:.76rem;
    line-height:1.45;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:4;
  }

  body.layout-cinema:not(.has-playback):not(.view-home):is(.view-vod,.view-series) .catalog-feature-actions{
    margin-top:13px!important;
  }

  body.layout-cinema:not(.has-playback):not(.view-home):is(.view-vod,.view-series) .catalog-feature-actions .btn{
    width:100%;
    min-height:40px!important;
    padding:9px 13px!important;
    font-size:.72rem!important;
  }

  /* Ao iniciar a reprodução, o player volta a ocupar a coluna direita. */
  body.layout-cinema.has-playback:not(.view-home) .catalog-feature{
    display:none!important;
  }
}

@media(min-width:1051px) and (max-width:1240px){
  body.layout-cinema:not(.has-playback):not(.view-home):is(.view-vod,.view-series) .catalog-panel{
    grid-template-columns:minmax(0,1.7fr) minmax(290px,.8fr)!important;
  }

  body.layout-cinema:not(.has-playback):not(.view-home):is(.view-vod,.view-series) .catalog-panel>.content-grid{
    grid-template-columns:repeat(auto-fill,minmax(118px,1fr))!important;
  }
}

/* Versão 3.43: cards móveis preservam tamanho e o catálogo rola por lotes. */
@media(max-width:1050px){
  body.view-vod:not(.view-home) .catalog-panel>.content-grid,
  body.view-series:not(.view-home) .catalog-panel>.content-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
    align-items:start!important;
    gap:10px!important;
    padding:2px 3px calc(92px + env(safe-area-inset-bottom)) 1px!important;
  }

  body.view-vod:not(.view-home) .catalog-panel .media-card,
  body.view-series:not(.view-home) .catalog-panel .media-card{
    display:block!important;
    align-self:start!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  body.view-vod:not(.view-home) .catalog-panel .media-card>img,
  body.view-series:not(.view-home) .catalog-panel .media-card>img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:2/3!important;
    object-fit:cover!important;
    flex:none!important;
  }

  body.view-vod:not(.view-home) .catalog-panel .media-card>img.empty,
  body.view-series:not(.view-home) .catalog-panel .media-card>img.empty{
    visibility:visible!important;
    color:transparent;
    background:
      linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.015)),
      repeating-linear-gradient(135deg,transparent 0 14px,rgba(255,255,255,.025) 14px 28px),
      #181818!important;
  }

  body.view-vod:not(.view-home) .catalog-panel .media-body,
  body.view-series:not(.view-home) .catalog-panel .media-body{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:66px!important;
    padding:9px 38px 9px 9px!important;
  }

  body.view-vod:not(.view-home) .catalog-panel .favorite,
  body.view-series:not(.view-home) .catalog-panel .favorite{
    top:7px!important;
    right:7px!important;
    transform:none!important;
  }

  body.view-vod:not(.view-home) .catalog-panel>.loading,
  body.view-series:not(.view-home) .catalog-panel>.loading{
    min-height:220px;
    align-content:center;
  }

  body.view-vod:not(.view-home) .load-more,
  body.view-series:not(.view-home) .load-more{
    width:min(260px,82%)!important;
    min-height:48px;
    margin:10px auto 4px!important;
  }
}

@media(max-width:380px){
  body.view-vod:not(.view-home) .catalog-panel>.content-grid,
  body.view-series:not(.view-home) .catalog-panel>.content-grid{
    gap:8px!important;
  }

  body.view-vod:not(.view-home) .catalog-panel .media-body strong,
  body.view-series:not(.view-home) .catalog-panel .media-body strong{
    font-size:.76rem;
  }
}

/* Versão 3.45: três novos layouts individuais, responsivos e completos. */
.layout-premium .home-tab,
.layout-tvbox .home-tab,
.layout-compact .home-tab{
  display:inline-flex;
}

/* Miniaturas dos novos modelos no painel administrativo. */
.layout-options{
  grid-template-columns:repeat(4,minmax(140px,1fr));
}
.preview-premium{
  grid-template-columns:1.7fr .65fr .65fr;
  background:linear-gradient(135deg,#2c163f,#0d0913);
}
.preview-premium i:first-child{
  grid-row:1/3;
  background:linear-gradient(145deg,#bd7aff,#63309b);
}
.preview-premium i:nth-child(2),
.preview-premium i:nth-child(3){
  background:#3e2753;
}
.preview-tvbox{
  grid-template-columns:repeat(2,1fr);
  background:#071728;
}
.preview-tvbox i{
  background:#1788c9;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.18);
}
.preview-tvbox i:nth-child(3){
  grid-column:1/-1;
  background:#f0a51d;
}
.preview-compact{
  grid-template-columns:repeat(4,1fr);
  grid-template-rows:14px 1fr;
  background:#101419;
}
.preview-compact i:first-child{
  grid-column:1/-1;
  background:#36404b;
}
.preview-compact i:nth-child(2),
.preview-compact i:nth-child(3){
  background:#56616c;
}

/* TVRGS Premium: destaque à direita, catálogo amplo e acabamento exclusivo. */
.layout-premium{
  background:
    radial-gradient(circle at 82% -10%,color-mix(in srgb,var(--primary) 24%,#6c2c9b),transparent 34%),
    radial-gradient(circle at 0 35%,rgba(95,43,132,.2),transparent 31%),
    linear-gradient(145deg,#0e0913,#040405 70%);
}
.layout-premium .shell{
  max-width:1640px;
}
.layout-premium .topbar{
  padding:8px 4px 17px;
  border-bottom:1px solid rgba(255,255,255,.11);
}
.layout-premium .layout-home{
  min-height:480px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--primary) 32%,#38274b);
  border-radius:24px;
  background:
    linear-gradient(90deg,rgba(7,4,10,.97),rgba(7,4,10,.72) 48%,rgba(7,4,10,.18)),
    radial-gradient(circle at 82% 35%,color-mix(in srgb,var(--primary) 42%,#7134a2),transparent 30%),
    linear-gradient(135deg,#281435,#08060b);
  box-shadow:0 28px 90px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.08);
}
.layout-premium .layout-home[hidden]{
  display:none!important;
}
.layout-premium .layout-welcome{
  max-width:690px;
}
.layout-premium .layout-welcome h2{
  max-width:620px;
  font-size:clamp(2.25rem,4.5vw,4.35rem);
  line-height:.96;
}
.layout-premium .layout-launcher{
  grid-template-columns:repeat(5,1fr);
}
.layout-premium .launch-card{
  min-height:132px;
  padding:17px;
  border-color:rgba(255,255,255,.12);
  border-radius:15px;
  background:linear-gradient(145deg,rgba(42,29,53,.92),rgba(15,11,20,.9));
  backdrop-filter:blur(14px);
}
.layout-premium .launch-card:hover,
.layout-premium .launch-card:focus-visible{
  transform:translateY(-4px) scale(1.015);
  border-color:var(--primary);
  box-shadow:0 18px 48px rgba(0,0,0,.5),0 0 0 3px color-mix(in srgb,var(--primary) 25%,transparent);
}
.layout-premium .launch-icon{
  width:43px;
  height:43px;
  border-radius:13px;
  box-shadow:0 10px 28px color-mix(in srgb,var(--primary) 30%,transparent);
}
.layout-premium .launch-card strong{
  margin-top:17px;
}
.layout-premium .tabs{
  gap:6px;
  padding:8px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  background:rgba(15,10,20,.82);
  backdrop-filter:blur(14px);
}
.layout-premium .tab{
  border:0;
  border-radius:9px;
  background:transparent;
  color:#d8d0df;
}
.layout-premium .tab:hover,
.layout-premium .tab:focus-visible{
  color:#fff;
  outline:2px solid color-mix(in srgb,var(--primary) 55%,transparent);
}
.layout-premium .tab.active{
  background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 68%,#fff));
  color:#09070b;
}
.layout-premium .panel{
  border-color:#342b3e;
  background:linear-gradient(145deg,rgba(27,20,34,.98),rgba(9,7,12,.98));
}
.layout-premium .catalog-panel{
  border-radius:18px;
}
.layout-premium .category-rail{
  border:0;
  background:transparent;
}
.layout-premium .rail-head{
  display:none;
}
.layout-premium .category-rail-list{
  display:flex;
  gap:8px;
  max-height:none;
  padding:4px 0 14px;
  overflow-x:auto;
}
.layout-premium .category-rail-item{
  flex:0 0 auto;
  width:auto;
  padding:10px 15px;
  border:1px solid #40334c;
  border-radius:999px;
  background:rgba(25,18,31,.92);
}
.layout-premium .category-rail-item:hover,
.layout-premium .category-rail-item.active{
  border-color:var(--primary);
  background:color-mix(in srgb,var(--primary) 20%,#17111d);
}
.layout-premium .catalog-tools{
  padding:10px;
  border:1px solid #3a3044;
  border-radius:13px;
  background:rgba(14,10,18,.9);
}
.layout-premium .media-card{
  border-color:#352c3e;
  border-radius:14px;
  background:#15101b;
  box-shadow:0 10px 24px rgba(0,0,0,.2);
}
.layout-premium .media-card:hover,
.layout-premium .media-card:focus{
  transform:translateY(-5px);
  border-color:var(--primary);
  box-shadow:0 20px 42px rgba(0,0,0,.5);
}
.layout-premium .player-panel{
  overflow:hidden;
  border-color:color-mix(in srgb,var(--primary) 34%,#332a3e);
  background:#050406;
}
.layout-premium .catalog-feature{
  position:relative;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  color:#fff;
}
.layout-premium .catalog-feature-copy{
  position:relative;
  z-index:1;
  width:100%;
}
.layout-premium .catalog-feature-meta{
  margin:0;
  color:var(--primary);
  font-weight:900;
}
.layout-premium .catalog-feature-synopsis{
  margin:10px 0 0;
}
.layout-premium .catalog-feature-actions{
  display:flex;
  gap:9px;
  margin-top:15px;
}
.layout-premium.view-live .catalog-feature,
.layout-premium.has-playback .catalog-feature{
  display:none!important;
}

/* TV Box: controles grandes, foco forte e leitura confortável à distância. */
.layout-tvbox{
  background:
    radial-gradient(circle at 50% -15%,color-mix(in srgb,var(--primary) 23%,#126da3),transparent 37%),
    linear-gradient(155deg,#071827,#02070c 68%);
}
.layout-tvbox .shell{
  max-width:1560px;
}
.layout-tvbox .layout-home{
  padding:clamp(24px,3.2vw,46px);
  border:1px solid #24455f;
  border-radius:20px;
  background:linear-gradient(145deg,#0d2a40,#06131f);
}
.layout-tvbox .layout-welcome h2{
  font-size:clamp(2rem,3.7vw,3.5rem);
}
.layout-tvbox .layout-launcher{
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.layout-tvbox .launch-card{
  min-height:180px;
  align-content:center;
  justify-items:center;
  padding:24px;
  text-align:center;
  border:2px solid #285578;
  border-radius:18px;
  background:linear-gradient(145deg,#123f5f,#092338);
}
.layout-tvbox .launch-card.vod{
  background:linear-gradient(145deg,#744512,#342008);
}
.layout-tvbox .launch-card.series{
  background:linear-gradient(145deg,#493878,#221a3e);
}
.layout-tvbox .launch-card.favorites{
  background:linear-gradient(145deg,#713243,#351721);
}
.layout-tvbox .launch-card.account{
  grid-column:span 2;
  background:linear-gradient(145deg,#176348,#092f22);
}
.layout-tvbox .launch-icon{
  width:64px;
  height:64px;
  margin:0 auto 18px;
  border-radius:18px;
  background:rgba(255,255,255,.16);
  color:#fff;
  font-size:1.65rem;
}
.layout-tvbox .launch-card strong{
  margin-top:0;
  font-size:1.08rem;
}
.layout-tvbox .launch-card:hover,
.layout-tvbox .launch-card:focus-visible{
  z-index:2;
  transform:scale(1.035);
  border-color:#fff;
  outline:4px solid var(--primary);
  outline-offset:3px;
  box-shadow:0 22px 55px rgba(0,0,0,.58);
}
.layout-tvbox .tabs{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:9px;
  overflow:visible;
}
.layout-tvbox .tab{
  display:flex;
  min-height:55px;
  align-items:center;
  justify-content:center;
  border:2px solid #244963;
  border-radius:12px;
  background:#0d2537;
  color:#dceaf4;
}
.layout-tvbox .tab:hover,
.layout-tvbox .tab:focus-visible{
  border-color:#fff;
  outline:3px solid var(--primary);
  outline-offset:2px;
}
.layout-tvbox .tab.active{
  border-color:var(--primary);
  background:var(--primary);
  color:#07121a;
}
.layout-tvbox .panel{
  border-color:#24445b;
  background:linear-gradient(145deg,#0d2231,#06101a);
}
.layout-tvbox .category-rail{
  border:1px solid #24445b;
  border-radius:14px;
  background:#091b29;
}
.layout-tvbox .category-rail-list{
  display:flex;
  gap:9px;
  max-height:none;
  padding:10px;
  overflow-x:auto;
}
.layout-tvbox .category-rail-item{
  flex:0 0 auto;
  width:auto;
  min-height:48px;
  padding:11px 17px;
  border:2px solid #28506d;
  border-radius:10px;
  background:#0e2a3e;
}
.layout-tvbox .category-rail-item:hover,
.layout-tvbox .category-rail-item:focus-visible,
.layout-tvbox .category-rail-item.active{
  border-color:#fff;
  outline:3px solid var(--primary);
  outline-offset:1px;
}
.layout-tvbox .catalog-tools{
  padding:12px;
  border:1px solid #294b63;
  border-radius:13px;
  background:#081b29;
}
.layout-tvbox .catalog-tools input,
.layout-tvbox .catalog-tools select,
.layout-tvbox .catalog-tools .btn{
  min-height:50px;
  border-width:2px;
  background:#06131e;
}
.layout-tvbox .media-card{
  border:2px solid #24445b;
  border-radius:13px;
  background:#0b1b27;
}
.layout-tvbox .media-card:hover,
.layout-tvbox .media-card:focus{
  z-index:2;
  transform:scale(1.025);
  border-color:#fff;
  outline:3px solid var(--primary);
  outline-offset:2px;
}
.layout-tvbox .favorite:focus-visible,
.layout-tvbox .btn:focus-visible{
  outline:3px solid #fff;
  outline-offset:2px;
}

/* Compacto: cabeçalho curto, controles em uma linha e mais itens visíveis. */
.layout-compact{
  background:linear-gradient(145deg,#0c1116,#030506 72%);
}
.layout-compact .shell{
  width:min(1720px,calc(100% - 18px));
  max-width:1720px;
  padding-top:10px;
}
.layout-compact .topbar{
  min-height:48px;
  margin-bottom:8px;
  padding:3px 2px 8px;
  border-bottom:1px solid #29313a;
}
.layout-compact .brand-logo,
.layout-compact .brand-mark{
  width:42px;
  height:42px;
}
.layout-compact .layout-home{
  margin-top:0;
  padding:24px;
  border-color:#2c3741;
  border-radius:13px;
  background:linear-gradient(145deg,#151d24,#080b0e);
}
.layout-compact .layout-welcome{
  margin-bottom:15px;
}
.layout-compact .layout-welcome h2{
  font-size:clamp(1.65rem,2.7vw,2.6rem);
}
.layout-compact .layout-launcher{
  grid-template-columns:repeat(5,1fr);
  gap:8px;
}
.layout-compact .launch-card{
  min-height:104px;
  padding:13px;
  border-radius:10px;
  background:linear-gradient(145deg,#222c35,#10151a);
}
.layout-compact .launch-icon{
  width:34px;
  height:34px;
  border-radius:9px;
  font-size:.95rem;
}
.layout-compact .launch-card strong{
  margin-top:10px;
  font-size:.78rem;
}
.layout-compact .launch-card small{
  margin-top:3px;
  font-size:.62rem;
}
.layout-compact .tabs{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:5px;
  padding-bottom:7px;
  overflow:visible;
}
.layout-compact .tab{
  min-height:38px;
  padding:8px 9px;
  border-radius:7px;
  background:#151d23;
  border-color:#2c3943;
  font-size:.7rem;
}
.layout-compact .panel{
  padding:12px;
  border-color:#29343d;
  border-radius:11px;
  background:linear-gradient(145deg,#11181e,#080b0e);
}
.layout-compact .player-panel{
  padding:8px;
  margin-bottom:8px;
}
.layout-compact .category-rail{
  border:0;
  background:transparent;
}
.layout-compact .rail-head{
  display:none;
}
.layout-compact .category-rail-list{
  display:flex;
  gap:6px;
  max-height:none;
  padding:2px 0 7px;
  overflow-x:auto;
}
.layout-compact .category-rail-item{
  flex:0 0 auto;
  width:auto;
  min-height:36px;
  padding:7px 11px;
  border:1px solid #303c46;
  border-radius:7px;
  background:#131b21;
  font-size:.7rem;
}
.layout-compact .catalog-tools{
  grid-template-columns:minmax(150px,220px) minmax(230px,1fr) minmax(125px,175px) auto;
  gap:6px;
  margin-bottom:8px;
}
.layout-compact .catalog-tools input,
.layout-compact .catalog-tools select,
.layout-compact .catalog-tools .btn{
  min-height:38px;
  padding:8px 10px;
  border-radius:7px;
  font-size:.72rem;
}
.layout-compact .section-head{
  min-height:42px;
  margin-bottom:8px;
  padding-bottom:8px;
}
.layout-compact .section-head h2{
  font-size:1.02rem;
}
.layout-compact .content-grid{
  grid-template-columns:repeat(auto-fill,minmax(116px,1fr));
  gap:8px;
}
.layout-compact .media-card{
  border-radius:9px;
  background:#11171c;
}
.layout-compact .media-body{
  min-height:57px;
  padding:7px 34px 7px 7px;
}
.layout-compact .media-body strong{
  font-size:.72rem;
}
.layout-compact .media-meta,
.layout-compact .media-body span{
  margin-top:4px;
  font-size:.56rem;
}
.layout-compact .favorite{
  top:5px;
  right:5px;
  width:30px;
  min-width:30px;
  height:30px;
  min-height:30px;
}
.layout-compact .media-action{
  margin-top:5px!important;
  padding:5px 3px;
  font-size:.52rem!important;
}
.layout-compact.view-live .content-grid{
  grid-template-columns:repeat(auto-fill,minmax(205px,1fr));
}
.layout-compact.view-live .media-card{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  min-height:72px;
}
.layout-compact.view-live .media-card>img{
  width:64px;
  height:100%;
  min-height:72px;
  padding:6px;
  aspect-ratio:auto;
  object-fit:contain;
}
.layout-compact.view-live .media-body{
  align-self:center;
  padding-right:38px;
}

/* Estrutura desktop dos três novos layouts. */
@media(min-width:1051px){
  body.layout-premium:not(.view-home) .experience,
  body.layout-tvbox:not(.view-home) .experience,
  body.layout-compact:not(.view-home) .experience{
    grid-template-areas:
      "tabs"
      "categories"
      "player"
      "catalog";
  }

  body.layout-premium:not(.view-home) .category-rail,
  body.layout-tvbox:not(.view-home) .category-rail,
  body.layout-compact:not(.view-home) .category-rail{
    position:static!important;
    max-height:none!important;
  }

  body.layout-premium:not(.has-playback):not(.view-home) .player-panel,
  body.layout-tvbox:not(.has-playback):not(.view-home) .player-panel,
  body.layout-compact:not(.has-playback):not(.view-home) .player-panel{
    display:none!important;
  }

  body.layout-premium:not(.has-playback):not(.view-home):is(.view-vod,.view-series) .catalog-panel{
    display:grid!important;
    grid-template-columns:minmax(0,2.25fr) minmax(300px,.75fr)!important;
    grid-template-rows:auto minmax(0,1fr) auto!important;
    grid-template-areas:
      "premium-header premium-feature"
      "premium-content premium-feature"
      "premium-more premium-feature"!important;
    column-gap:14px!important;
    height:calc(100vh - 180px)!important;
    min-height:520px!important;
    max-height:760px!important;
    padding:11px!important;
    overflow:hidden!important;
  }
  body.layout-premium:not(.has-playback):not(.view-home):is(.view-vod,.view-series) .catalog-fixed-header{
    grid-area:premium-header!important;
    min-width:0;
  }
  body.layout-premium:not(.has-playback):not(.view-home):is(.view-vod,.view-series) .catalog-panel>.content-grid,
  body.layout-premium:not(.has-playback):not(.view-home):is(.view-vod,.view-series) .catalog-panel>.series-details{
    grid-area:premium-content!important;
    min-width:0!important;
    min-height:0!important;
    padding:2px 5px 12px 0;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  body.layout-premium:not(.has-playback):not(.view-home):is(.view-vod,.view-series) .catalog-panel>.content-grid{
    grid-template-columns:repeat(auto-fill,minmax(128px,1fr))!important;
    align-content:start;
    gap:11px!important;
  }
  body.layout-premium:not(.has-playback):not(.view-home):is(.view-vod,.view-series) .load-more{
    grid-area:premium-more!important;
    margin:8px auto 0;
  }
  body.layout-premium:not(.has-playback):not(.view-home):is(.view-vod,.view-series) .catalog-feature{
    grid-area:premium-feature!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    border:1px solid rgba(255,255,255,.14);
    border-radius:14px!important;
    background:
      linear-gradient(0deg,rgba(7,3,10,.98),rgba(7,3,10,.76) 30%,rgba(7,3,10,.08) 66%),
      var(--feature-image),
      linear-gradient(145deg,#31163f,#09070c)!important;
    background-position:center,center top,center!important;
    background-repeat:no-repeat!important;
    background-size:100% 100%,contain,100% 100%!important;
    box-shadow:0 20px 55px rgba(0,0,0,.52);
  }
  body.layout-premium:not(.has-playback):not(.view-home):is(.view-vod,.view-series) .catalog-feature-copy{
    width:100%;
    padding:24px 21px 21px;
  }
  body.layout-premium:not(.has-playback):not(.view-home):is(.view-vod,.view-series) .catalog-feature h3{
    margin:6px 0 8px;
    font-size:clamp(1.35rem,1.8vw,1.95rem);
    line-height:1.05;
  }
  body.layout-premium:not(.has-playback):not(.view-home):is(.view-vod,.view-series) .catalog-feature-synopsis{
    display:-webkit-box;
    overflow:hidden;
    color:#dfd7e4;
    font-size:.78rem;
    line-height:1.45;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:4;
  }
  body.layout-premium:not(.has-playback):not(.view-home):is(.view-vod,.view-series) .catalog-feature-actions .btn{
    width:100%;
  }

  body.layout-premium.has-playback:not(.view-home) .experience,
  body.layout-tvbox.has-playback:not(.view-home) .experience,
  body.layout-compact.has-playback:not(.view-home) .experience{
    grid-template-columns:clamp(360px,30vw,470px) minmax(0,1fr)!important;
    grid-template-areas:
      "tabs tabs"
      "categories categories"
      "catalog player"!important;
    gap:12px!important;
    align-items:start;
  }
  body.layout-premium.has-playback:not(.view-home) .player-panel,
  body.layout-tvbox.has-playback:not(.view-home) .player-panel,
  body.layout-compact.has-playback:not(.view-home) .player-panel{
    grid-area:player!important;
    position:sticky!important;
    top:12px!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
  body.layout-premium.has-playback:not(.view-home) .catalog-panel,
  body.layout-tvbox.has-playback:not(.view-home) .catalog-panel,
  body.layout-compact.has-playback:not(.view-home) .catalog-panel{
    grid-area:catalog!important;
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    height:calc(100vh - 125px)!important;
    max-height:calc(100vh - 125px)!important;
    overflow:hidden!important;
  }
  body.layout-premium.has-playback:not(.view-home) .category-rail,
  body.layout-tvbox.has-playback:not(.view-home) .category-rail,
  body.layout-compact.has-playback:not(.view-home) .category-rail{
    grid-area:categories!important;
  }

  body.layout-tvbox:not(.has-playback):not(.view-home) .content-grid{
    grid-template-columns:repeat(auto-fill,minmax(170px,1fr));
    gap:16px;
  }
  body.layout-tvbox.view-live:not(.has-playback):not(.view-home) .content-grid{
    grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  }
  body.layout-tvbox.view-live .media-card{
    display:grid;
    grid-template-columns:90px minmax(0,1fr);
    min-height:96px;
  }
  body.layout-tvbox.view-live .media-card>img{
    width:90px;
    height:100%;
    padding:9px;
    aspect-ratio:auto;
    object-fit:contain;
  }
}

@media(min-width:1051px) and (max-width:1250px){
  body.layout-premium:not(.has-playback):not(.view-home):is(.view-vod,.view-series) .catalog-panel{
    grid-template-columns:minmax(0,1.8fr) minmax(285px,.7fr)!important;
  }
  body.layout-premium:not(.has-playback):not(.view-home):is(.view-vod,.view-series) .catalog-panel>.content-grid{
    grid-template-columns:repeat(auto-fill,minmax(118px,1fr))!important;
  }
}

/* Tablet e celular: duas colunas reais, topo curto e navegação sem cortes. */
@media(max-width:1050px){
  .layout-premium .layout-launcher,
  .layout-tvbox .layout-launcher,
  .layout-compact .layout-launcher{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .layout-premium .catalog-feature{
    display:none!important;
  }
  .layout-premium:not(.has-playback) .player-panel,
  .layout-tvbox:not(.has-playback) .player-panel,
  .layout-compact:not(.has-playback) .player-panel{
    display:none!important;
  }
  .layout-premium .category-rail,
  .layout-tvbox .category-rail,
  .layout-compact .category-rail{
    position:fixed!important;
  }
  .layout-premium .rail-head,
  .layout-tvbox .rail-head,
  .layout-compact .rail-head{
    display:flex;
  }
  .layout-premium .category-rail-list,
  .layout-tvbox .category-rail-list,
  .layout-compact .category-rail-list{
    display:grid!important;
    max-height:calc(100dvh - 129px - env(safe-area-inset-bottom))!important;
    padding:9px!important;
    overflow-x:hidden;
    overflow-y:auto;
  }
  .layout-premium .category-rail-item,
  .layout-tvbox .category-rail-item,
  .layout-compact .category-rail-item{
    width:100%;
    min-height:48px;
    text-align:left;
  }
}

@media(max-width:700px){
  .layout-options{
    grid-template-columns:1fr 1fr;
  }
  .layout-premium .layout-home,
  .layout-tvbox .layout-home,
  .layout-compact .layout-home{
    min-height:0;
    margin:0 0 10px;
    padding:17px 12px;
    border-radius:14px;
  }
  .layout-premium .layout-welcome,
  .layout-tvbox .layout-welcome,
  .layout-compact .layout-welcome{
    margin-bottom:13px;
  }
  .layout-premium .layout-welcome h2,
  .layout-tvbox .layout-welcome h2,
  .layout-compact .layout-welcome h2{
    margin-top:4px;
    font-size:1.55rem;
    line-height:1.05;
  }
  .layout-premium .layout-welcome p,
  .layout-tvbox .layout-welcome p,
  .layout-compact .layout-welcome p{
    font-size:.72rem;
  }
  .layout-premium .layout-launcher,
  .layout-tvbox .layout-launcher,
  .layout-compact .layout-launcher{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .layout-premium .launch-card,
  .layout-tvbox .launch-card,
  .layout-compact .launch-card{
    grid-column:auto;
    min-height:106px;
    align-content:end;
    justify-items:start;
    padding:12px;
    text-align:left;
    border-width:1px;
    border-radius:11px;
  }
  .layout-premium .launch-icon,
  .layout-tvbox .launch-icon,
  .layout-compact .launch-icon{
    width:36px;
    height:36px;
    margin:0 0 auto;
    border-radius:10px;
    font-size:1rem;
  }
  .layout-premium .launch-card strong,
  .layout-tvbox .launch-card strong,
  .layout-compact .launch-card strong{
    margin-top:9px;
    font-size:.74rem;
  }
  .layout-premium .launch-card small,
  .layout-tvbox .launch-card small,
  .layout-compact .launch-card small{
    display:none;
  }
  .layout-premium .panel,
  .layout-tvbox .panel,
  .layout-compact .panel{
    padding:11px;
  }
  .layout-tvbox .media-card:hover,
  .layout-tvbox .media-card:focus,
  .layout-premium .media-card:hover,
  .layout-premium .media-card:focus{
    transform:none;
  }
  .layout-compact .topbar{
    min-height:0;
  }
  .layout-compact.view-live .content-grid{
    grid-template-columns:1fr!important;
  }
  .layout-compact.view-live .media-card{
    grid-template-columns:60px minmax(0,1fr);
    min-height:70px;
  }
  .layout-compact.view-live .media-card>img{
    width:60px;
    min-height:70px;
  }
  body.layout-compact.view-vod:not(.view-home) .catalog-panel>.content-grid,
  body.layout-compact.view-series:not(.view-home) .catalog-panel>.content-grid{
    gap:7px!important;
  }
  body.layout-compact.view-vod:not(.view-home) .catalog-panel .media-body,
  body.layout-compact.view-series:not(.view-home) .catalog-panel .media-body{
    min-height:58px!important;
    padding:7px 34px 7px 7px!important;
  }
}

@media(max-width:470px){
  .layout-options{
    grid-template-columns:1fr;
  }
}

@media(orientation:landscape) and (min-width:560px) and (max-width:1050px) and (max-height:600px){
  .layout-premium.view-home .layout-home,
  .layout-tvbox.view-home .layout-home,
  .layout-compact.view-home .layout-home{
    padding:12px;
  }
  .layout-premium.view-home .layout-welcome,
  .layout-tvbox.view-home .layout-welcome,
  .layout-compact.view-home .layout-welcome{
    display:none;
  }
  .layout-premium.view-home .layout-launcher,
  .layout-tvbox.view-home .layout-launcher,
  .layout-compact.view-home .layout-launcher{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
  .layout-premium.view-home .launch-card,
  .layout-tvbox.view-home .launch-card,
  .layout-compact.view-home .launch-card{
    min-height:78px;
  }
}

/* Versão 3.48: canais compactos no catálogo lateral do TVRGS Premium. */
@media(min-width:701px){
  body.layout-premium.view-live:not(.view-home) .content-grid{
    grid-template-columns:repeat(auto-fill,minmax(250px,1fr))!important;
    align-content:start!important;
    gap:8px!important;
  }

  body.layout-premium.view-live:not(.view-home) .media-card{
    display:grid!important;
    grid-template-columns:68px minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    min-height:78px!important;
    max-height:78px!important;
    border-radius:10px!important;
    overflow:hidden!important;
  }

  body.layout-premium.view-live:not(.view-home) .media-card>img{
    width:68px!important;
    height:78px!important;
    min-height:0!important;
    max-height:78px!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    padding:7px!important;
    background:#09070c!important;
  }

  body.layout-premium.view-live:not(.view-home) .media-body{
    align-self:center!important;
    min-width:0!important;
    padding:7px 39px 7px 9px!important;
  }

  body.layout-premium.view-live:not(.view-home) .media-body strong{
    font-size:.76rem!important;
  }

  body.layout-premium.view-live:not(.view-home) .media-body>span{
    display:none;
  }

  body.layout-premium.view-live:not(.view-home) .media-body>.channel-guide{
    display:grid;
    min-height:0!important;
    gap:2px!important;
    margin-top:4px!important;
    padding-top:4px!important;
  }

  body.layout-premium.view-live:not(.view-home) .media-body>.channel-guide>span{
    display:grid;
    grid-template-columns:43px minmax(0,1fr)!important;
    gap:4px!important;
  }

  body.layout-premium.view-live:not(.view-home) .channel-guide b{
    font-size:.5rem!important;
  }

  body.layout-premium.view-live:not(.view-home) .channel-guide em{
    font-size:.58rem!important;
  }

  body.layout-premium.view-live:not(.view-home) .favorite{
    top:50%!important;
    right:6px!important;
    width:29px!important;
    min-width:29px!important;
    height:29px!important;
    min-height:29px!important;
    transform:translateY(-50%)!important;
    font-size:1rem!important;
  }
}

@media(min-width:1051px){
  body.layout-premium.has-playback.view-live:not(.view-home) .experience{
    grid-template-columns:clamp(320px,24vw,390px) minmax(0,1fr)!important;
  }

  body.layout-premium.has-playback.view-live:not(.view-home) .content-grid{
    display:flex!important;
    flex-direction:column!important;
  }
}

/* Versão 3.49: Netflix e Mobile One com catálogos visíveis e laterais compactas. */
@media(min-width:1051px){
  /*
   * O Netflix usava uma grade horizontal de duas linhas. Regras globais de
   * carregamento e rolagem adicionadas depois mudavam o fluxo para vertical e
   * escondiam as capas. A grade abaixo usa a mesma rolagem progressiva dos
   * demais layouts e mantém as fileiras densas, sem depender de scroll lateral.
   */
  body.layout-netflix:not(.has-playback):not(.view-home).view-vod .catalog-panel,
  body.layout-netflix:not(.has-playback):not(.view-home).view-series .catalog-panel{
    display:flex!important;
    height:calc(100dvh - 155px)!important;
    min-height:520px!important;
    max-height:850px!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }

  body.layout-netflix:not(.has-playback):not(.view-home).view-vod .catalog-feature,
  body.layout-netflix:not(.has-playback):not(.view-home).view-series .catalog-feature{
    display:flex!important;
    flex:0 0 168px!important;
    width:100%!important;
    min-height:168px!important;
    height:168px!important;
    max-height:168px!important;
    margin:0 0 9px!important;
    padding:16px 22px!important;
    overflow:hidden!important;
  }

  body.layout-netflix:not(.has-playback):not(.view-home).view-vod .catalog-feature h3,
  body.layout-netflix:not(.has-playback):not(.view-home).view-series .catalog-feature h3{
    margin:3px 0 5px!important;
    font-size:clamp(1.45rem,2.3vw,2.35rem)!important;
    line-height:1!important;
  }

  body.layout-netflix:not(.has-playback):not(.view-home).view-vod .catalog-feature-synopsis,
  body.layout-netflix:not(.has-playback):not(.view-home).view-series .catalog-feature-synopsis{
    display:-webkit-box!important;
    max-width:700px;
    margin:5px 0 0!important;
    overflow:hidden;
    font-size:.76rem;
    line-height:1.35;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }

  body.layout-netflix:not(.has-playback):not(.view-home).view-vod .catalog-feature-actions,
  body.layout-netflix:not(.has-playback):not(.view-home).view-series .catalog-feature-actions{
    margin-top:7px!important;
  }

  body.layout-netflix:not(.has-playback):not(.view-home).view-vod .catalog-feature-actions .btn,
  body.layout-netflix:not(.has-playback):not(.view-home).view-series .catalog-feature-actions .btn{
    min-height:36px;
    padding:7px 14px;
    font-size:.7rem;
  }

  body.layout-netflix:not(.has-playback):not(.view-home).view-vod .catalog-panel>.content-grid,
  body.layout-netflix:not(.has-playback):not(.view-home).view-series .catalog-panel>.content-grid{
    display:grid!important;
    flex:1 1 auto!important;
    grid-template-columns:repeat(auto-fill,minmax(132px,1fr))!important;
    grid-template-rows:none!important;
    grid-auto-flow:row!important;
    grid-auto-rows:max-content!important;
    min-height:0!important;
    align-content:start!important;
    gap:10px!important;
    padding:2px 5px 12px 1px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }

  /*
   * Netflix e Mobile One não tinham o formato de lista ao reproduzir canais.
   * O card herdava a capa 2:3 e ocupava quase toda a coluna lateral.
   */
  body.layout-netflix.has-playback.view-live:not(.view-home) .experience,
  body.layout-mobileone.has-playback.view-live:not(.view-home) .experience{
    grid-template-columns:clamp(330px,25vw,405px) minmax(0,1fr)!important;
    grid-template-areas:
      "tabs tabs"
      "categories player"
      "catalog player"!important;
    gap:10px!important;
    align-items:start;
  }

  body.layout-netflix.has-playback.view-live:not(.view-home) .catalog-panel,
  body.layout-mobileone.has-playback.view-live:not(.view-home) .catalog-panel{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    height:calc(100dvh - 125px)!important;
    min-height:0!important;
    max-height:calc(100dvh - 125px)!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }

  body.layout-netflix.has-playback.view-live:not(.view-home) .content-grid,
  body.layout-mobileone.has-playback.view-live:not(.view-home) .content-grid{
    display:flex!important;
    min-height:0!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    gap:6px!important;
    padding:2px 4px 10px 1px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }

  body.layout-netflix.has-playback.view-live:not(.view-home) .media-card,
  body.layout-mobileone.has-playback.view-live:not(.view-home) .media-card{
    display:grid!important;
    grid-template-columns:64px minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    min-height:82px!important;
    height:82px!important;
    max-height:82px!important;
    flex:0 0 82px!important;
    border-radius:9px!important;
    overflow:hidden!important;
  }

  body.layout-netflix.has-playback.view-live:not(.view-home) .media-card>img,
  body.layout-mobileone.has-playback.view-live:not(.view-home) .media-card>img{
    display:block!important;
    width:64px!important;
    height:82px!important;
    min-height:0!important;
    max-height:82px!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    padding:7px!important;
    background:#080d11!important;
  }

  body.layout-netflix.has-playback.view-live:not(.view-home) .media-body,
  body.layout-mobileone.has-playback.view-live:not(.view-home) .media-body{
    align-self:center!important;
    min-width:0!important;
    height:auto!important;
    padding:7px 39px 7px 9px!important;
  }

  body.layout-netflix.has-playback.view-live:not(.view-home) .media-body strong,
  body.layout-mobileone.has-playback.view-live:not(.view-home) .media-body strong{
    font-size:.74rem!important;
  }

  body.layout-netflix.has-playback.view-live:not(.view-home) .media-body>span,
  body.layout-mobileone.has-playback.view-live:not(.view-home) .media-body>span{
    display:none!important;
  }

  body.layout-netflix.has-playback.view-live:not(.view-home) .media-body>.channel-guide,
  body.layout-mobileone.has-playback.view-live:not(.view-home) .media-body>.channel-guide{
    display:grid;
    min-height:0!important;
    gap:2px!important;
    margin-top:4px!important;
    padding-top:4px!important;
  }

  body.layout-netflix.has-playback.view-live:not(.view-home) .media-body>.channel-guide>span,
  body.layout-mobileone.has-playback.view-live:not(.view-home) .media-body>.channel-guide>span{
    display:grid;
    grid-template-columns:43px minmax(0,1fr)!important;
    gap:4px!important;
  }

  body.layout-netflix.has-playback.view-live:not(.view-home) .channel-guide b,
  body.layout-mobileone.has-playback.view-live:not(.view-home) .channel-guide b{
    font-size:.5rem!important;
  }

  body.layout-netflix.has-playback.view-live:not(.view-home) .channel-guide em,
  body.layout-mobileone.has-playback.view-live:not(.view-home) .channel-guide em{
    overflow:hidden;
    font-size:.57rem!important;
    white-space:nowrap;
    text-overflow:ellipsis;
  }

  body.layout-netflix.has-playback.view-live:not(.view-home) .favorite,
  body.layout-mobileone.has-playback.view-live:not(.view-home) .favorite{
    top:50%!important;
    right:6px!important;
    width:29px!important;
    min-width:29px!important;
    height:29px!important;
    min-height:29px!important;
    transform:translateY(-50%)!important;
    font-size:1rem!important;
  }
}

/* Netflix também conserva o formato compacto de canal em tablet e celular. */
@media(max-width:1050px){
  body.layout-netflix.view-live:not(.view-home) .content-grid{
    display:flex!important;
    min-height:0!important;
    flex-direction:column!important;
    gap:7px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }

  body.layout-netflix.view-live:not(.view-home) .media-card{
    display:grid!important;
    grid-template-columns:62px minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    min-height:76px!important;
    height:76px!important;
    max-height:76px!important;
    flex:0 0 76px!important;
  }

  body.layout-netflix.view-live:not(.view-home) .media-card>img{
    display:block!important;
    width:62px!important;
    height:76px!important;
    min-height:0!important;
    max-height:76px!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    padding:6px!important;
  }

  body.layout-netflix.view-live:not(.view-home) .media-body{
    align-self:center!important;
    min-width:0!important;
    height:auto!important;
    padding:7px 40px 7px 8px!important;
  }

  body.layout-netflix.view-live:not(.view-home) .media-body>span{
    display:none!important;
  }

  body.layout-netflix.view-live:not(.view-home) .media-body>.channel-guide{
    min-height:0!important;
    margin-top:4px!important;
    padding-top:4px!important;
  }

  body.layout-netflix.view-live:not(.view-home) .favorite{
    top:50%!important;
    right:5px!important;
    width:30px!important;
    min-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    transform:translateY(-50%)!important;
  }
}

/* Versão 3.50: Netflix com player ativo e catálogo realmente rolável. */
@media(min-width:1051px){
  /*
   * Ao manter um canal/filme tocando e abrir Filmes ou Séries, o destaque
   * continuava ocupando a coluna esquerda e empurrava as capas para fora da
   * área útil. Nesse estado o player já cumpre o papel de destaque à direita,
   * portanto a esquerda fica reservada aos filtros e ao catálogo.
   */
  body.layout-netflix.has-playback.view-vod:not(.view-home) .experience,
  body.layout-netflix.has-playback.view-series:not(.view-home) .experience{
    grid-template-columns:minmax(500px,1.02fr) minmax(520px,.98fr)!important;
    grid-template-rows:auto auto minmax(0,1fr)!important;
    grid-template-areas:
      "tabs tabs"
      "categories player"
      "catalog player"!important;
    min-height:0!important;
    align-items:stretch!important;
  }

  body.layout-netflix.has-playback.view-vod:not(.view-home) .catalog-feature,
  body.layout-netflix.has-playback.view-series:not(.view-home) .catalog-feature{
    display:none!important;
  }

  body.layout-netflix.has-playback.view-vod:not(.view-home) .catalog-panel,
  body.layout-netflix.has-playback.view-series:not(.view-home) .catalog-panel{
    display:flex!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-height:none!important;
    align-self:stretch!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }

  body.layout-netflix.has-playback.view-vod:not(.view-home) .catalog-fixed-header,
  body.layout-netflix.has-playback.view-series:not(.view-home) .catalog-fixed-header{
    flex:0 0 auto!important;
  }

  body.layout-netflix.has-playback.view-vod:not(.view-home) .catalog-panel>.content-grid,
  body.layout-netflix.has-playback.view-series:not(.view-home) .catalog-panel>.content-grid{
    display:grid!important;
    flex:1 1 0!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    grid-auto-rows:max-content!important;
    width:100%!important;
    height:auto!important;
    min-width:0!important;
    min-height:0!important;
    max-height:none!important;
    align-content:start!important;
    gap:9px!important;
    padding:2px 6px 14px 1px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
  }

  body.layout-netflix.has-playback.view-vod:not(.view-home) .load-more,
  body.layout-netflix.has-playback.view-series:not(.view-home) .load-more{
    flex:0 0 auto!important;
    margin:9px auto 0!important;
  }
}

/* Versão 3.52: Guia de TV com EPG completo do dia e rolagem por canal. */
body.layout-tvguide.view-live:not(.view-home) .channel-guide.day-guide{
  display:flex!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:74px!important;
  gap:7px!important;
  margin:0!important;
  padding:2px 2px 8px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  border:0!important;
  scroll-behavior:smooth;
  scrollbar-width:thin;
  scrollbar-color:#35bd94 #091914;
  overscroll-behavior-inline:contain;
  touch-action:pan-x;
}

body.layout-tvguide.view-live:not(.view-home) .channel-guide.day-guide::-webkit-scrollbar{
  height:8px;
}

body.layout-tvguide.view-live:not(.view-home) .channel-guide.day-guide::-webkit-scrollbar-track{
  border-radius:999px;
  background:#091914;
}

body.layout-tvguide.view-live:not(.view-home) .channel-guide.day-guide::-webkit-scrollbar-thumb{
  border:2px solid #091914;
  border-radius:999px;
  background:#35bd94;
}

body.layout-tvguide.view-live:not(.view-home) .channel-guide.day-guide>.guide-program{
  display:grid!important;
  flex:0 0 auto!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  align-content:center!important;
  gap:5px!important;
  min-width:138px!important;
  min-height:62px!important;
  padding:9px 11px!important;
  overflow:hidden!important;
  border:1px solid #285247!important;
  border-left:3px solid #3a7a69!important;
  border-radius:6px!important;
  background:#102820!important;
  opacity:1!important;
}

body.layout-tvguide.view-live:not(.view-home) .channel-guide.day-guide>.guide-program.is-past{
  border-color:#1b3730!important;
  border-left-color:#315048!important;
  background:#0b1c17!important;
  opacity:.68!important;
}

body.layout-tvguide.view-live:not(.view-home) .channel-guide.day-guide>.guide-program.is-now{
  border-color:#57e6b8!important;
  border-left-color:#8fffdc!important;
  background:linear-gradient(135deg,#17664f,#10362c)!important;
  box-shadow:0 0 0 1px rgba(87,230,184,.18),0 5px 16px rgba(0,0,0,.28);
}

body.layout-tvguide.view-live:not(.view-home) .channel-guide.day-guide>.guide-program.guide-empty{
  width:100%!important;
  flex:1 0 100%!important;
}

body.layout-tvguide.view-live:not(.view-home) .channel-guide.day-guide>.guide-program>b{
  color:#6fe9c1!important;
  font-size:.59rem!important;
  line-height:1!important;
  letter-spacing:.045em!important;
  white-space:nowrap!important;
}

body.layout-tvguide.view-live:not(.view-home) .channel-guide.day-guide>.guide-program.is-now>b{
  color:#d7fff2!important;
}

body.layout-tvguide.view-live:not(.view-home) .channel-guide.day-guide>.guide-program>em{
  display:-webkit-box!important;
  overflow:hidden!important;
  color:#f2fffb!important;
  font-size:.68rem!important;
  font-style:normal!important;
  font-weight:700!important;
  line-height:1.22!important;
  white-space:normal!important;
  text-overflow:ellipsis!important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

@media(min-width:1051px){
  body.layout-tvguide.view-live:not(.view-home) .media-card{
    min-height:112px!important;
  }

  body.layout-tvguide.view-live:not(.view-home) .media-card>img{
    min-height:112px!important;
  }

  body.layout-tvguide.view-live:not(.view-home) .media-body{
    grid-template-columns:minmax(145px,210px) minmax(0,1fr) 72px!important;
    gap:9px!important;
  }
}

@media(max-width:1050px){
  body.layout-tvguide.view-live:not(.view-home) .content-grid{
    display:flex!important;
    min-height:0!important;
    flex-direction:column!important;
    gap:7px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }

  body.layout-tvguide.view-live:not(.view-home) .media-card{
    display:grid!important;
    grid-template-columns:58px minmax(0,1fr)!important;
    min-height:116px!important;
    height:116px!important;
    max-height:116px!important;
    flex:0 0 116px!important;
  }

  body.layout-tvguide.view-live:not(.view-home) .media-card>img{
    width:58px!important;
    height:116px!important;
    min-height:0!important;
    max-height:116px!important;
    padding:6px!important;
    object-fit:contain!important;
  }

  body.layout-tvguide.view-live:not(.view-home) .media-body{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    align-content:stretch!important;
    gap:5px!important;
    height:116px!important;
    padding:8px 39px 7px 8px!important;
  }

  body.layout-tvguide.view-live:not(.view-home) .media-body>strong{
    align-self:center!important;
    font-size:.69rem!important;
  }

  body.layout-tvguide.view-live:not(.view-home) .media-body>.channel-guide.day-guide{
    display:flex!important;
    min-height:68px!important;
    margin:0!important;
    padding:0 1px 6px!important;
  }

  body.layout-tvguide.view-live:not(.view-home) .channel-guide.day-guide>.guide-program{
    min-width:128px!important;
    min-height:58px!important;
    padding:8px 9px!important;
  }

  body.layout-tvguide.view-live:not(.view-home) .media-body>.media-action{
    display:none!important;
  }

  body.layout-tvguide.view-live:not(.view-home) .favorite{
    top:10px!important;
    right:5px!important;
    transform:none!important;
  }
}

/* Smart TV Leve fica por último para não herdar grades pesadas dos outros modelos. */
body.layout-smarttv .home-tab{display:inline-flex!important}
body.layout-smarttv .layout-launcher{grid-template-columns:repeat(3,minmax(0,1fr))!important}
body.layout-smarttv .dashboard-grid{display:flex!important;grid-template-columns:none!important}
body.layout-smarttv.view-live:not(.view-home) .content-grid{display:grid!important;grid-template-columns:1fr!important}
body.layout-smarttv.view-live:not(.view-home) .media-card{
  display:grid!important;
  grid-template-columns:76px minmax(0,1fr)!important;
  min-height:82px!important;
}
body.layout-smarttv.view-live:not(.view-home) .media-card>img{
  width:76px!important;
  height:82px!important;
  min-height:82px!important;
  padding:7px!important;
  object-fit:contain!important;
}
body.layout-smarttv.view-live:not(.view-home) .media-body{
  min-height:82px!important;
  padding:9px 48px 8px 11px!important;
}

@media(min-width:901px){
  body.layout-smarttv:not(.view-home) .experience{
    display:grid!important;
    grid-template-columns:225px minmax(0,1fr)!important;
    grid-template-areas:"tabs tabs" "categories catalog"!important;
    gap:10px!important;
    align-items:start!important;
  }
  body.layout-smarttv.has-playback:not(.view-home) .experience{
    grid-template-columns:210px minmax(330px,410px) minmax(0,1fr)!important;
    grid-template-areas:"tabs tabs tabs" "categories catalog player"!important;
  }
  body.layout-smarttv.has-playback.view-history .experience,
  body.layout-smarttv.has-playback.view-favorites .experience{
    grid-template-columns:minmax(360px,460px) minmax(0,1fr)!important;
    grid-template-areas:"tabs tabs" "catalog player"!important;
  }
  body.layout-smarttv:not(.has-playback).view-history .experience,
  body.layout-smarttv:not(.has-playback).view-favorites .experience{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"tabs" "catalog"!important;
  }
  body.layout-smarttv.has-playback.view-vod:not(.view-home) .content-grid,
  body.layout-smarttv.has-playback.view-series:not(.view-home) .content-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:900px){
  body.layout-smarttv .layout-launcher{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.layout-smarttv .catalog-panel{max-height:none!important}
}

/* Versão 3.62 — Smart TV Simples.
   Estrutura exclusiva em flex para navegadores antigos, sem depender de CSS Grid. */
.smarttv-only{display:none!important}

body.layout-smarttv{
  height:100%;
  min-height:100%;
  overflow:hidden;
  background:#050505!important;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
}
body.layout-smarttv .smarttv-only{
  display:-webkit-box!important;
  display:-webkit-flex!important;
  display:flex!important;
}
body.layout-smarttv .shell{
  width:100%!important;
  max-width:none!important;
  height:100vh;
  min-height:600px;
  margin:0!important;
  padding:0 16px 12px!important;
  overflow:hidden;
}
body.layout-smarttv .topbar{
  height:64px!important;
  min-height:64px!important;
  margin:0!important;
  padding:7px 0!important;
  border-bottom:2px solid #343434!important;
  background:#050505!important;
}
body.layout-smarttv .brand-logo,
body.layout-smarttv .brand-mark{
  width:44px!important;
  height:44px!important;
}
body.layout-smarttv .brand h1{
  max-width:360px;
  overflow:hidden;
  font-size:1.1rem!important;
  white-space:nowrap;
  text-overflow:ellipsis;
}
body.layout-smarttv .brand p{display:none!important}
body.layout-smarttv .client-actions .btn{
  min-width:94px;
  min-height:44px!important;
  margin-left:7px;
  padding:8px 12px!important;
  border:2px solid #444!important;
  border-radius:4px!important;
  background:#171717!important;
  color:#fff!important;
  font-size:.76rem!important;
}

body.layout-smarttv .layout-home{
  display:block;
  width:100%!important;
  height:calc(100vh - 78px);
  min-height:510px!important;
  margin:12px 0 0!important;
  padding:30px!important;
  overflow:hidden!important;
  border:2px solid #343434!important;
  border-radius:4px!important;
  background:#0b0b0b!important;
}
body.layout-smarttv .layout-home[hidden]{display:none!important}
body.layout-smarttv .layout-welcome{
  margin:0 0 22px!important;
  text-align:left!important;
}
body.layout-smarttv .layout-welcome .eyebrow{display:none!important}
body.layout-smarttv .layout-welcome h2{
  margin:0 0 6px!important;
  font-size:2rem!important;
}
body.layout-smarttv .layout-welcome p{
  margin:0!important;
  color:#bbb!important;
  font-size:1rem!important;
}
body.layout-smarttv .layout-launcher{
  display:-webkit-box!important;
  display:-webkit-flex!important;
  display:flex!important;
  -webkit-box-orient:horizontal;
  -webkit-box-direction:normal;
  -webkit-flex-flow:row wrap;
  flex-flow:row wrap;
  width:100%;
  margin:-6px!important;
}
body.layout-smarttv .launch-card{
  display:block!important;
  width:31%!important;
  width:calc(33.333% - 12px)!important;
  height:150px!important;
  min-height:150px!important;
  margin:6px!important;
  padding:22px!important;
  border:3px solid #444!important;
  border-radius:4px!important;
  background:#171717!important;
  color:#fff!important;
  text-align:left!important;
}
body.layout-smarttv .launch-icon{
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:0 0 20px!important;
  background:transparent!important;
  color:#f4b400!important;
  font-size:1.6rem!important;
}
body.layout-smarttv .launch-card strong{
  display:block!important;
  font-size:1.1rem!important;
}
body.layout-smarttv .launch-card small{
  display:block!important;
  margin-top:6px!important;
  color:#aaa!important;
  font-size:.78rem!important;
}
body.layout-smarttv .home-dashboard{display:none!important}

body.layout-smarttv .experience{
  display:-webkit-box!important;
  display:-webkit-flex!important;
  display:flex!important;
  -webkit-flex-flow:row wrap;
  flex-flow:row wrap;
  -webkit-box-align:start;
  -webkit-align-items:flex-start;
  align-items:flex-start;
  width:100%;
  height:calc(100vh - 72px);
  margin-top:8px;
  overflow:hidden;
}
body.layout-smarttv .tabs{
  -webkit-box-ordinal-group:2;
  -webkit-order:1;
  order:1;
  display:-webkit-box!important;
  display:-webkit-flex!important;
  display:flex!important;
  width:100%!important;
  height:54px!important;
  min-height:54px!important;
  margin:0 0 8px!important;
  padding:0!important;
  overflow:hidden!important;
}
body.layout-smarttv .tab{
  -webkit-box-flex:1;
  -webkit-flex:1 1 0;
  flex:1 1 0;
  min-width:0!important;
  min-height:50px!important;
  margin-right:6px!important;
  padding:8px 5px!important;
  border:2px solid #414141!important;
  border-radius:4px!important;
  background:#171717!important;
  color:#fff!important;
  font-size:.72rem!important;
}
body.layout-smarttv .tab:last-child{margin-right:0!important}
body.layout-smarttv .tab.active{
  border-color:#f4b400!important;
  background:#f4b400!important;
  color:#050505!important;
}
body.layout-smarttv .tab-icon{
  margin-right:5px!important;
  font-size:.8rem!important;
}
body.layout-smarttv .category-rail{display:none!important}
body.layout-smarttv .catalog-panel{
  -webkit-box-ordinal-group:3;
  -webkit-order:2;
  order:2;
  display:block!important;
  width:100%!important;
  height:calc(100vh - 142px)!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:10px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  border:2px solid #343434!important;
  border-radius:4px!important;
  background:#0a0a0a!important;
}
body.layout-smarttv .catalog-panel[hidden]{display:none!important}
body.layout-smarttv.has-playback:not(.view-home) .catalog-panel{
  width:37%!important;
  margin-right:10px!important;
}
body.layout-smarttv .player-panel{
  -webkit-box-ordinal-group:4;
  -webkit-order:3;
  order:3;
  -webkit-box-flex:1;
  -webkit-flex:1 1 0;
  flex:1 1 0;
  position:static!important;
  width:auto!important;
  height:calc(100vh - 142px)!important;
  min-width:0!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:10px!important;
  overflow:hidden!important;
  border:3px solid #f4b400!important;
  border-radius:4px!important;
  background:#000!important;
}
body.layout-smarttv .player-panel[hidden]{display:none!important}
body.layout-smarttv .playing-header{
  display:-webkit-box;
  display:-webkit-flex;
  display:flex;
  min-height:55px;
  padding:0 0 8px!important;
}
body.layout-smarttv .playing-copy>span{display:none!important}
body.layout-smarttv .playing-copy>strong{
  font-size:1.05rem!important;
  line-height:1.2!important;
}
body.layout-smarttv .playing-actions .btn{
  min-height:40px!important;
  padding:7px 9px!important;
  font-size:.66rem!important;
}
body.layout-smarttv .player-panel video{
  display:block;
  width:100%!important;
  height:calc(100vh - 235px)!important;
  max-height:none!important;
  border:0!important;
  border-radius:0!important;
  background:#000;
  object-fit:contain;
}
body.layout-smarttv .status{
  height:22px;
  margin:6px 0 0!important;
  overflow:hidden;
  color:#aaa!important;
  font-size:.72rem!important;
  white-space:nowrap;
  text-overflow:ellipsis;
}

body.layout-smarttv .catalog-fixed-header{
  position:static!important;
  padding:0 0 8px!important;
  background:#0a0a0a!important;
}
body.layout-smarttv .catalog-feature,
body.layout-smarttv .mobile-filters-open,
body.layout-smarttv .mobile-tools-head,
body.layout-smarttv .mobile-tools-backdrop,
body.layout-smarttv .category-rail-open,
body.layout-smarttv #sort{
  display:none!important;
}
body.layout-smarttv .catalog-tools{
  display:-webkit-box!important;
  display:-webkit-flex!important;
  display:flex!important;
  width:100%;
  margin:0 0 8px!important;
  padding:0!important;
  background:#0a0a0a!important;
}
body.layout-smarttv .catalog-tools[hidden]{display:none!important}
body.layout-smarttv .catalog-tools #category{
  display:block!important;
  width:38%!important;
  min-width:180px!important;
  height:46px!important;
  margin-right:8px!important;
  border:2px solid #444!important;
  border-radius:3px!important;
  background:#171717!important;
  color:#fff!important;
}
body.layout-smarttv .catalog-search{
  -webkit-box-flex:1;
  -webkit-flex:1 1 auto;
  flex:1 1 auto;
  display:-webkit-box!important;
  display:-webkit-flex!important;
  display:flex!important;
  height:46px!important;
  min-height:46px!important;
  margin-right:8px!important;
}
body.layout-smarttv .catalog-search input{
  height:46px!important;
  min-height:46px!important;
  border:2px solid #444!important;
  border-radius:3px 0 0 3px!important;
  background:#171717!important;
  color:#fff!important;
}
body.layout-smarttv .catalog-search-submit{
  width:50px!important;
  min-width:50px!important;
  height:46px!important;
  min-height:46px!important;
  border:2px solid #444!important;
  border-left:0!important;
  border-radius:0 3px 3px 0!important;
  background:#242424!important;
}
body.layout-smarttv #refresh{
  width:110px!important;
  min-width:110px!important;
  height:46px!important;
  min-height:46px!important;
  border:2px solid #444!important;
  border-radius:3px!important;
  background:#171717!important;
}
body.layout-smarttv .section-head{
  min-height:48px!important;
  margin:0 0 7px!important;
  padding:0 2px 7px!important;
  border-bottom:2px solid #333!important;
}
body.layout-smarttv .section-head .eyebrow{display:none!important}
body.layout-smarttv .section-head h2{
  margin:7px 0 0!important;
  font-size:1.05rem!important;
}
body.layout-smarttv .count{
  min-width:44px;
  border-radius:3px!important;
  background:#252525!important;
  font-size:.72rem!important;
}

body.layout-smarttv .content-grid,
body.layout-smarttv.view-live .content-grid,
body.layout-smarttv.view-vod .content-grid,
body.layout-smarttv.view-series .content-grid{
  display:block!important;
  width:100%!important;
}
body.layout-smarttv .media-card,
body.layout-smarttv.view-live .media-card,
body.layout-smarttv.view-vod .media-card,
body.layout-smarttv.view-series .media-card{
  display:-webkit-box!important;
  display:-webkit-flex!important;
  display:flex!important;
  width:100%!important;
  min-width:0!important;
  height:86px!important;
  min-height:86px!important;
  margin:0 0 7px!important;
  overflow:hidden!important;
  border:3px solid #353535!important;
  border-radius:3px!important;
  background:#151515!important;
}
body.layout-smarttv .media-card>img,
body.layout-smarttv.view-live .media-card>img{
  -webkit-box-flex:0;
  -webkit-flex:0 0 82px;
  flex:0 0 82px;
  display:block!important;
  width:82px!important;
  min-width:82px!important;
  height:80px!important;
  min-height:80px!important;
  margin:0!important;
  padding:5px!important;
  border:0!important;
  border-right:2px solid #333!important;
  border-radius:0!important;
  background:#080808!important;
  object-fit:contain!important;
}
body.layout-smarttv.view-vod .media-card>img,
body.layout-smarttv.view-series .media-card>img{
  object-fit:cover!important;
}
body.layout-smarttv .media-body,
body.layout-smarttv.view-live .media-body{
  -webkit-box-flex:1;
  -webkit-flex:1 1 auto;
  flex:1 1 auto;
  min-width:0!important;
  min-height:80px!important;
  margin:0!important;
  padding:10px 48px 8px 12px!important;
  overflow:hidden!important;
}
body.layout-smarttv .media-body strong,
body.layout-smarttv.view-live .media-body strong{
  display:block!important;
  overflow:hidden!important;
  color:#fff!important;
  font-size:.94rem!important;
  line-height:1.25!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
body.layout-smarttv .media-action{
  display:block!important;
  margin-top:5px!important;
  color:#aaa!important;
  font-size:.69rem!important;
}
body.layout-smarttv .channel-guide{
  display:block!important;
  margin-top:5px!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
}
body.layout-smarttv .channel-guide>span{
  display:block!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
body.layout-smarttv .channel-guide>span+span{display:none!important}
body.layout-smarttv .channel-guide b{
  margin-right:5px;
  color:#f4b400!important;
  font-size:.64rem!important;
}
body.layout-smarttv .channel-guide em{
  color:#bbb!important;
  font-size:.7rem!important;
}
body.layout-smarttv .favorite,
body.layout-smarttv .remove-recent{
  top:19px!important;
  right:7px!important;
  width:40px!important;
  min-width:40px!important;
  height:40px!important;
  min-height:40px!important;
  border:2px solid #555!important;
  border-radius:3px!important;
  background:#090909!important;
}
body.layout-smarttv .load-more{
  display:block;
  width:100%!important;
  min-height:52px!important;
  margin:8px 0 0!important;
  border:3px solid #f4b400!important;
  border-radius:3px!important;
  background:#171717!important;
}
body.layout-smarttv .mobile-nav{display:none!important}

body.layout-smarttv :focus{
  position:relative;
  z-index:30;
  outline:5px solid #fff!important;
  outline-offset:-1px!important;
  box-shadow:0 0 0 5px #f4b400!important;
}
body.layout-smarttv .media-card:focus,
body.layout-smarttv .launch-card:focus{
  border-color:#f4b400!important;
  background:#292000!important;
  color:#fff!important;
}
body.layout-smarttv .media-card:focus .media-body strong,
body.layout-smarttv .launch-card:focus strong{
  color:#fff!important;
}

body.layout-smarttv .media-details-backdrop{background:#000!important}
body.layout-smarttv .media-details-card{
  width:92%!important;
  height:82%!important;
  min-height:0!important;
  overflow:hidden!important;
  border:4px solid #f4b400!important;
  border-radius:4px!important;
  background:#101010!important;
}
body.layout-smarttv .media-details-image{width:34%!important;opacity:.55!important}
body.layout-smarttv .media-details-copy{
  width:66%!important;
  margin-left:34%!important;
  padding:34px!important;
  background:#101010!important;
}
body.layout-smarttv .media-details-copy h2{font-size:2rem!important}
body.layout-smarttv .media-details-actions .btn{
  min-width:180px!important;
  min-height:52px!important;
  border-radius:3px!important;
}

@media(max-width:1100px){
  body.layout-smarttv .shell{padding:0 10px 8px!important}
  body.layout-smarttv .topbar{height:58px!important;min-height:58px!important}
  body.layout-smarttv .client-actions .btn{min-width:78px!important;padding:7px 8px!important}
  body.layout-smarttv .layout-home{height:calc(100vh - 68px);margin-top:8px!important;padding:20px!important}
  body.layout-smarttv .layout-welcome{margin-bottom:13px!important}
  body.layout-smarttv .layout-welcome h2{font-size:1.55rem!important}
  body.layout-smarttv .launch-card{height:130px!important;min-height:130px!important;padding:17px!important}
  body.layout-smarttv .launch-icon{margin-bottom:13px!important}
  body.layout-smarttv .experience{height:calc(100vh - 64px);margin-top:6px}
  body.layout-smarttv .tabs{height:48px!important;min-height:48px!important;margin-bottom:6px!important}
  body.layout-smarttv .tab{min-height:44px!important;font-size:.63rem!important}
  body.layout-smarttv .catalog-panel,
  body.layout-smarttv .player-panel{height:calc(100vh - 124px)!important}
  body.layout-smarttv.has-playback:not(.view-home) .catalog-panel{width:40%!important;margin-right:7px!important}
  body.layout-smarttv .catalog-tools #category{width:44%!important;min-width:145px!important}
  body.layout-smarttv #refresh{display:none!important}
  body.layout-smarttv .player-panel video{height:calc(100vh - 210px)!important}
}

/*
 * 3.79 — proteção final contra estilos antigos dos layouts.
 * Mantida no fim do arquivo de propósito.
 */
html.phone-remote-fullscreen,
html.browser-native-fullscreen,
html.phone-remote-fullscreen body,
html.browser-native-fullscreen body{
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#000!important;
}

html.phone-remote-fullscreen body #playerPanel,
html.browser-native-fullscreen body #playerPanel,
body #playerPanel:fullscreen,
body #playerPanel:-webkit-full-screen{
  position:fixed!important;
  z-index:2147483647!important;
  inset:0!important;
  display:block!important;
  width:100vw!important;
  height:100vh!important;
  height:100dvh!important;
  min-width:100vw!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#000!important;
  transform:none!important;
}

html.phone-remote-fullscreen body #playerPanel .playing-header,
html.phone-remote-fullscreen body #playerPanel .status,
html.phone-remote-fullscreen body #playerPanel .next-episode,
html.phone-remote-fullscreen body #playerPanel .player-mini-close,
html.browser-native-fullscreen body #playerPanel .playing-header,
html.browser-native-fullscreen body #playerPanel .status,
html.browser-native-fullscreen body #playerPanel .next-episode,
html.browser-native-fullscreen body #playerPanel .player-mini-close,
body #playerPanel:fullscreen .playing-header,
body #playerPanel:fullscreen .status,
body #playerPanel:fullscreen .next-episode,
body #playerPanel:fullscreen .player-mini-close,
body #playerPanel:-webkit-full-screen .playing-header,
body #playerPanel:-webkit-full-screen .status,
body #playerPanel:-webkit-full-screen .next-episode,
body #playerPanel:-webkit-full-screen .player-mini-close{
  display:none!important;
}

html.phone-remote-fullscreen body #playerPanel video,
html.browser-native-fullscreen body #playerPanel video,
body #playerPanel:fullscreen video,
body #playerPanel:-webkit-full-screen video{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100vw!important;
  height:100vh!important;
  height:100dvh!important;
  min-width:100vw!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#000!important;
  object-fit:contain!important;
  aspect-ratio:auto!important;
  transform:none!important;
}

/*
 * 3.82 — tela cheia estável.
 * O player permanece no mesmo ponto do DOM para não interromper o decoder das
 * TVs Samsung ao entrar ou sair da ampliação pelo controle do celular.
 */
html.phone-remote-fullscreen body #playerPanel{
  contain:none!important;
  isolation:isolate!important;
}

/*
 * 3.84 — Estilo Bob Player.
 * Organização inspirada no fluxo solicitado: categorias primeiro, quatro
 * cards com a lateral aberta e seis cards quando o catálogo é ampliado.
 */
.preview-bob{
  grid-template-columns:26% 1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:4px;
  background:#07152b;
}
.preview-bob i{
  border:1px solid #3d8bd8;
  border-radius:3px;
  background:linear-gradient(145deg,#0b74c7,#19c7dd);
}
.preview-bob i:first-child{grid-row:1/-1;background:#0a203b}
.preview-bob i:nth-child(2){background:#0d87dc}
.preview-bob i:nth-child(3){background:#16bfd7}

body.layout-bob{
  --bob-bg:#061329;
  --bob-panel:#0a1c35;
  --bob-panel-2:#0c2645;
  --bob-blue:#128ada;
  --bob-cyan:#18c6dc;
  --bob-line:#2a608c;
  background:
    radial-gradient(circle at 78% 12%,rgba(18,138,218,.22),transparent 35%),
    linear-gradient(145deg,#061329 0%,#07172e 48%,#07101f 100%);
  color:#f5fbff;
}
.layout-bob .home-tab{display:inline-flex}
.layout-bob .shell{width:100%;max-width:none;padding:14px 20px 24px}
.layout-bob .topbar{
  min-height:66px;
  margin-bottom:12px;
  padding:10px 14px;
  border:1px solid rgba(78,151,207,.34);
  border-radius:10px;
  background:rgba(5,21,42,.94);
  box-shadow:0 10px 30px rgba(0,0,0,.3);
}
.layout-bob .brand-mark{
  background:linear-gradient(145deg,var(--bob-blue),var(--bob-cyan));
  color:#fff;
}
.layout-bob .btn{
  border-color:#3677a8;
  border-radius:7px;
  background:#0c3155;
  color:#fff;
}
.layout-bob .btn:hover,.layout-bob .btn:focus{border-color:var(--bob-cyan);background:#0d4f80}
.layout-bob .layout-home{
  min-height:calc(100vh - 104px);
  padding:clamp(28px,4vw,64px);
  border:1px solid rgba(61,139,216,.46);
  border-radius:14px;
  background:
    radial-gradient(circle at 50% 0,rgba(24,198,220,.16),transparent 43%),
    linear-gradient(150deg,rgba(9,33,62,.98),rgba(5,17,35,.98));
}
.layout-bob .layout-welcome{text-align:center}
.layout-bob .layout-welcome .eyebrow{color:var(--bob-cyan)}
.layout-bob .layout-welcome h2{
  margin:7px 0 5px;
  font-size:clamp(2rem,4vw,3.6rem);
  letter-spacing:-.04em;
}
.layout-bob .layout-welcome p{color:#9fc6e3}
.layout-bob .layout-launcher{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:14px;
  width:min(1380px,100%);
  margin:30px auto 0;
}
.layout-bob .launch-card{
  min-height:126px;
  padding:20px;
  border:1px solid rgba(100,193,243,.56);
  border-radius:9px;
  background:linear-gradient(145deg,#0b2b50,#0a203b);
  color:#fff;
  text-align:left;
  box-shadow:0 14px 32px rgba(0,0,0,.28);
}
.layout-bob .launch-card:nth-child(-n+3){
  grid-column:span 2;
  min-height:238px;
  padding:30px;
}
.layout-bob .launch-card:nth-child(n+4){grid-column:span 2}
.layout-bob .launch-card.live{background:linear-gradient(145deg,#0e78c5,#0b4b89)}
.layout-bob .launch-card.vod{background:linear-gradient(145deg,#11a2d3,#0b6da7)}
.layout-bob .launch-card.series{background:linear-gradient(145deg,#16bed3,#0a77a2)}
.layout-bob .launch-card.history{display:grid!important}
.layout-bob .launch-card.favorites,.layout-bob .launch-card.account{display:grid}
.layout-bob .launch-icon{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  margin:0 0 24px;
  border:1px solid rgba(255,255,255,.46);
  border-radius:50%;
  background:rgba(3,19,37,.38);
  font-size:1.45rem;
}
.layout-bob .launch-card:nth-child(-n+3) strong{font-size:clamp(1.25rem,2vw,2rem)}
.layout-bob .launch-card small{display:block;margin-top:7px;color:#d7f5ff}
.layout-bob .launch-card:hover,.layout-bob .launch-card:focus{
  transform:translateY(-4px);
  border-color:#fff;
  box-shadow:0 0 0 4px var(--bob-cyan),0 22px 46px rgba(0,0,0,.38);
}
.layout-bob .home-dashboard{display:none}
.layout-bob.view-home .experience{display:none!important}

/*
 * Cada atalho principal do Bob Player representa uma tela exclusiva.
 * O atributo data-bob-section acompanha o estado do JavaScript e impede que
 * painéis remanescentes de outra seção reapareçam por regras de layouts
 * carregadas anteriormente.
 */
.layout-bob[data-bob-section="home"] .category-rail,
.layout-bob[data-bob-section="home"] .catalog-panel,
.layout-bob[data-bob-section="home"] .player-panel,
.layout-bob[data-bob-section="home"] .tabs{
  display:none!important;
}
.layout-bob[data-bob-section="live"] .media-details,
.layout-bob[data-bob-section="series"] .media-details{
  display:none!important;
}

.layout-bob .experience{gap:12px}
.layout-bob .tabs{
  min-height:54px;
  padding:6px;
  border:1px solid rgba(68,132,183,.42);
  border-radius:9px;
  background:#071a31;
}
.layout-bob .tab{
  min-height:40px;
  border-radius:6px;
  color:#9fc5df;
}
.layout-bob .tab.active{
  background:linear-gradient(145deg,var(--bob-blue),#0d6aaa);
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);
}
.layout-bob .category-rail{
  border-color:var(--bob-line);
  border-radius:9px;
  background:#071a31;
}
.layout-bob .rail-head{border-color:#234d70;background:#0a2240}
.layout-bob .category-rail-list{padding:8px}
.layout-bob .category-rail-item{
  min-height:47px;
  margin-bottom:4px;
  border:1px solid transparent;
  border-radius:5px;
  color:#b9d7ec;
  font-size:.8rem;
  font-weight:850;
}
.layout-bob .category-rail-item:hover,.layout-bob .category-rail-item.active,.layout-bob .category-rail-item:focus{
  border-color:#61d8e8;
  background:linear-gradient(90deg,#0e77ba,#0b4a79);
  color:#fff;
}
.layout-bob .catalog-panel,.layout-bob .player-panel{
  border-color:var(--bob-line);
  border-radius:9px;
  background:linear-gradient(145deg,#0a1c35,#07172b);
}
.layout-bob .catalog-fixed-header{
  position:sticky;
  z-index:4;
  top:0;
  padding-bottom:9px;
  background:linear-gradient(180deg,#0a1c35 82%,transparent);
}
.layout-bob .catalog-tools{
  padding:10px;
  border:1px solid #28587d;
  border-radius:7px;
  background:#07182c;
}
.layout-bob .catalog-tools #category{display:none}
.layout-bob .catalog-tools input,.layout-bob .catalog-tools select{
  border-color:#315f82;
  background:#071326;
  color:#fff;
}
.layout-bob .section-head{
  margin:5px 0 12px;
  padding:10px 12px;
  border:1px solid #244e71;
  border-radius:7px;
  background:#0b2340;
}
.layout-bob .section-head .eyebrow{color:var(--bob-cyan)}
.layout-bob .count{background:#0b4f7e;color:#e9fbff}
.layout-bob .content-grid{gap:13px}
.layout-bob .media-card{
  overflow:hidden;
  border:1px solid #2b587b;
  border-radius:7px;
  background:#0a203a;
  box-shadow:0 9px 22px rgba(0,0,0,.25);
}
.layout-bob .media-card:hover,.layout-bob .media-card:focus{
  transform:translateY(-3px);
  border-color:#fff;
  outline:3px solid var(--bob-cyan)!important;
  outline-offset:1px;
  box-shadow:0 0 0 2px #fff,0 15px 30px rgba(0,0,0,.42);
}
.layout-bob .card-vod>img,.layout-bob .card-series>img{
  width:100%;
  aspect-ratio:2/3;
  object-fit:cover;
  background:#071326;
}
.layout-bob .media-body{padding:9px 36px 10px 9px}
.layout-bob .media-body>strong{
  display:-webkit-box;
  min-height:2.3em;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  font-size:.75rem;
  line-height:1.15;
}
.layout-bob .media-meta{color:#80badf}
.layout-bob .media-action{border-color:#2a6b96;background:#0a3152;color:#dff8ff}
.layout-bob .favorite{background:rgba(4,20,38,.86)}
.layout-bob .media-card.is-playing{
  border-color:var(--bob-cyan)!important;
  background:#0b3455!important;
  box-shadow:0 0 0 3px var(--bob-cyan),0 14px 34px rgba(0,0,0,.45)!important;
}
.layout-bob .playing-copy>span{color:var(--bob-cyan)}
.layout-bob .player-panel video{background:#000}
.layout-bob .status{border-color:#264f70;background:#061326;color:#a8c9df}
.layout-bob .bob-category-prompt{display:grid!important;grid-template-columns:1fr!important;place-items:center;min-height:360px}
.layout-bob .bob-category-prompt-card{
  display:grid;
  place-items:center;
  width:min(620px,92%);
  padding:42px;
  border:1px dashed #3d85b8;
  border-radius:12px;
  background:linear-gradient(145deg,#0b2b4b,#081a31);
  text-align:center;
}
.layout-bob .bob-category-prompt-card span{
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  margin-bottom:18px;
  border-radius:50%;
  background:var(--bob-blue);
  font-size:1.35rem;
  font-weight:950;
}
.layout-bob .bob-category-prompt-card strong{font-size:1.35rem}
.layout-bob .bob-category-prompt-card small{max-width:510px;margin-top:9px;color:#a9cce4;line-height:1.5}
.layout-bob .media-details-card{
  min-height:min(720px,88vh);
  border:2px solid #3b87bb;
  border-radius:10px;
  background:#071326;
}
.layout-bob .media-details-copy{background:linear-gradient(90deg,rgba(5,17,34,.99) 0%,rgba(5,17,34,.93) 65%,transparent)}
.layout-bob .media-details-label,.layout-bob .media-details-meta{color:var(--bob-cyan)}
.layout-bob .media-details-hint{
  width:max-content;
  max-width:100%;
  margin:18px 0 4px;
  padding:10px 14px;
  border:1px solid rgba(89,213,232,.72);
  border-radius:999px;
  background:rgba(10,78,116,.62);
  color:#e9fdff;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.layout-bob .bob-movie-details #mediaDetailsWatch{
  min-width:220px;
  min-height:54px;
  border-color:#72ebf5;
  background:linear-gradient(145deg,var(--bob-blue),#0b70aa);
  box-shadow:0 8px 24px rgba(4,127,189,.34);
}
.layout-bob .bob-movie-details #mediaDetailsWatch:focus{
  outline:4px solid #fff!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 8px var(--bob-cyan),0 14px 34px rgba(0,0,0,.45)!important;
}
.layout-bob .bob-movie-details #mediaDetailsWatch:disabled{
  cursor:wait;
  opacity:.72;
}
.layout-bob .series-hero,.layout-bob .season-browser{
  border:1px solid #2b587b;
  border-radius:8px;
  background:#081b32;
}
.layout-bob .season-tab{border-color:#2d668f;background:#0a2948}
.layout-bob .season-tab.active{background:var(--bob-blue);color:#fff}
.layout-bob .episode-row{border-color:#2a5778;background:#0a213b}

@media(min-width:901px){
  .layout-bob:not(.view-home) .experience{
    grid-template-columns:280px minmax(0,1fr);
    grid-template-areas:"tabs tabs" "categories catalog";
    align-items:start;
  }
  .layout-bob:not(.view-home) .category-rail{
    position:sticky;
    top:12px;
    max-height:calc(100vh - 105px);
  }
  .layout-bob:not(.view-home) .category-rail-list{max-height:calc(100vh - 170px)}
  .layout-bob:not(.view-home) .catalog-panel{
    min-height:calc(100vh - 105px);
    max-height:calc(100vh - 105px);
    padding:12px;
    overflow:auto;
  }
  .layout-bob:not(.view-home):not(.has-playback) .player-panel{display:none}
  .layout-bob.view-vod .content-grid,.layout-bob.view-series .content-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .layout-bob.view-live:not(.has-playback) .content-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .layout-bob.view-live:not(.has-playback) .media-card{
    display:grid;
    grid-template-columns:72px minmax(0,1fr);
    min-height:84px;
  }
  .layout-bob.view-live:not(.has-playback) .media-card>img{
    width:72px;
    height:100%;
    min-height:84px;
    padding:7px;
    object-fit:contain;
    background:#061326;
  }
  .layout-bob.view-live.has-playback .experience{
    grid-template-columns:230px 370px minmax(0,1fr);
    grid-template-areas:"tabs tabs tabs" "categories catalog player";
  }
  .layout-bob.view-live.has-playback .catalog-panel{min-height:0}
  .layout-bob.view-live.has-playback .player-panel{
    position:sticky;
    top:12px;
    align-self:start;
    margin:0;
  }
  .layout-bob.view-live.has-playback .content-grid{
    display:flex;
    flex-direction:column;
    gap:7px;
  }
  .layout-bob.view-live.has-playback .media-card{
    display:grid;
    grid-template-columns:72px minmax(0,1fr);
    min-height:76px;
  }
  .layout-bob.view-live.has-playback .media-card>img{
    width:72px;
    height:100%;
    min-height:76px;
    padding:7px;
    object-fit:contain;
    background:#061326;
  }
  .layout-bob.view-live.has-playback .channel-guide{display:none}
  .layout-bob.has-playback:not(.view-live) .experience{
    grid-template-columns:280px minmax(0,1fr);
    grid-template-areas:"tabs tabs" "player player" "categories catalog";
  }
  .layout-bob.has-playback:not(.view-live) .player-panel{
    width:min(1280px,100%);
    margin:0 auto;
  }
  .layout-bob.bob-catalog-expanded:not(.view-home):not(.view-live) .experience,
  .layout-bob.bob-catalog-expanded.view-live:not(.has-playback) .experience{
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"tabs" "catalog";
  }
  .layout-bob.bob-catalog-expanded:not(.view-home) .category-rail,
  .layout-bob.bob-series-open:not(.view-home) .category-rail{display:none}
  .layout-bob.bob-series-open:not(.view-home) .player-panel{display:none}
  .layout-bob.bob-catalog-expanded:not(.view-home) .content-grid{
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
  .layout-bob.bob-catalog-expanded.view-live.has-playback .experience{
    grid-template-columns:430px minmax(0,1fr);
    grid-template-areas:"tabs tabs" "catalog player";
  }
  .layout-bob.bob-catalog-expanded.view-live.has-playback .content-grid{
    display:flex;
    flex-direction:column;
  }
  .layout-bob.bob-series-open:not(.view-home) .experience{
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"tabs" "catalog";
  }
  .layout-bob.bob-series-open .catalog-panel{
    width:min(1450px,100%);
    margin:0 auto;
  }
}

@media(max-width:1100px) and (min-width:901px){
  .layout-bob .shell{padding-inline:10px}
  .layout-bob:not(.view-home) .experience{grid-template-columns:230px minmax(0,1fr)}
  .layout-bob.view-vod .content-grid,.layout-bob.view-series .content-grid,.layout-bob.view-live:not(.has-playback) .content-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .layout-bob.bob-catalog-expanded:not(.view-home) .content-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .layout-bob .media-body>strong{font-size:.68rem}
}

@media(max-width:900px){
  .layout-bob .shell{padding:8px 8px 80px}
  .layout-bob .layout-home{padding:24px 14px}
  .layout-bob .layout-launcher{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .layout-bob .launch-card:nth-child(-n+3),.layout-bob .launch-card:nth-child(n+4){grid-column:span 1;min-height:145px;padding:18px}
  .layout-bob .launch-card:first-child{grid-column:1/-1}
  .layout-bob .launch-icon{width:48px;height:48px;margin-bottom:13px}
  .layout-bob .catalog-panel{padding:11px}
  .layout-bob.view-vod .content-grid,.layout-bob.view-series .content-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .layout-bob.view-live .content-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .layout-bob .category-rail{background:#071a31}
}

@media(max-width:600px){
  .layout-bob .layout-welcome h2{font-size:1.8rem}
  .layout-bob .launch-card:nth-child(-n+3),.layout-bob .launch-card:nth-child(n+4){min-height:126px}
  .layout-bob.view-vod .content-grid,.layout-bob.view-series .content-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .layout-bob.view-live .content-grid{grid-template-columns:1fr!important}
  .layout-bob .bob-category-prompt-card{padding:28px 18px}
}

/* Versão 3.97: pesquisa confirmada e limitada à seção/categoria atual. */
body:not(.view-home) .catalog-tools .catalog-search #search{
  padding-right:154px!important;
}

body:not(.view-home) .catalog-search-submit{
  width:142px!important;
  min-width:142px!important;
  grid-template-columns:22px auto!important;
  gap:8px!important;
  padding:0 13px!important;
  font-size:.68rem!important;
  letter-spacing:.035em;
  white-space:nowrap;
}

.catalog-search-submit span{display:block}
.catalog-search-submit:disabled{cursor:wait;opacity:.78}
.catalog-search-submit.is-loading svg{animation:tvrgs-search-spin .8s linear infinite}
.catalog-search.has-pending-search #search{
  border-color:color-mix(in srgb,var(--primary) 80%,#fff)!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 24%,transparent);
}
.catalog-search.has-confirmed-search:not(.has-pending-search) #search{
  border-color:color-mix(in srgb,var(--primary) 58%,#555)!important;
}

@keyframes tvrgs-search-spin{to{transform:rotate(360deg)}}

@media(max-width:700px){
  body:not(.view-home) .catalog-tools .catalog-search #search{
    min-height:54px!important;
    padding-right:58px!important;
  }
  body:not(.view-home) .catalog-search-submit{
    width:48px!important;
    min-width:48px!important;
    grid-template-columns:1fr!important;
    padding:0!important;
  }
  .catalog-search-submit span{display:none}
}

/*
 * Versão 4.00 — filtros sem duplicação.
 *
 * Em telas de computador, todos os layouts abaixo já publicam as categorias
 * numa coluna ou faixa permanente. O seletor do cabeçalho representava a
 * mesma informação e foi removido. TVRGS Padrão e Smart TV Simples continuam
 * com o seletor, pois nesses dois modelos ele é a navegação principal.
 *
 * Em tablet/celular a lista de categorias vira um painel separado; por isso o
 * seletor permanece dentro da folha "Buscar e filtrar".
 */
@media(min-width:901px){
  body:not(.view-home):not(.layout-current):not(.layout-smarttv):not(.layout-bob) .catalog-tools #category{
    display:none!important;
    visibility:hidden!important;
    position:absolute!important;
    width:0!important;
    height:0!important;
    min-width:0!important;
    min-height:0!important;
    padding:0!important;
    border:0!important;
    overflow:hidden!important;
    pointer-events:none!important;
  }

  body:not(.view-home):not(.has-playback):not(.layout-current):not(.layout-smarttv):not(.layout-bob) .catalog-fixed-header .catalog-tools{
    grid-template-columns:minmax(260px,1fr) minmax(130px,.48fr) 150px!important;
  }

  body:not(.view-home):not(.has-playback):not(.layout-current):not(.layout-smarttv):not(.layout-bob) .catalog-tools .catalog-search{
    grid-column:1!important;
  }

  body:not(.view-home):not(.has-playback):not(.layout-current):not(.layout-smarttv):not(.layout-bob) .catalog-tools #sort{
    grid-column:2!important;
  }

  body:not(.view-home):not(.has-playback):not(.layout-current):not(.layout-smarttv):not(.layout-bob) .catalog-tools #refresh{
    grid-column:3!important;
  }

  body.has-playback:not(.view-home):not(.layout-current):not(.layout-smarttv):not(.layout-bob) .catalog-fixed-header .catalog-tools{
    grid-template-columns:minmax(0,1fr) minmax(120px,.58fr)!important;
  }

  body.has-playback:not(.view-home):not(.layout-current):not(.layout-smarttv):not(.layout-bob) .catalog-tools .catalog-search{
    grid-column:1/-1!important;
  }

  body.has-playback:not(.view-home):not(.layout-current):not(.layout-smarttv):not(.layout-bob) .catalog-tools #sort{
    grid-column:1!important;
  }

  body.has-playback:not(.view-home):not(.layout-current):not(.layout-smarttv):not(.layout-bob) .catalog-tools #refresh{
    grid-column:2!important;
  }
}

/* Versão 4.02: IBO com navegação hierárquica por grupos em cards */
body.layout-ibo.ibo-screen-groups .category-rail,
body.layout-ibo.ibo-screen-catalog .category-rail{
  display:none!important;
}

body.layout-ibo .ibo-group-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr))!important;
  gap:14px!important;
  align-content:start;
  padding:4px!important;
}

body.layout-ibo .ibo-group-card{
  position:relative;
  display:grid;
  grid-template-columns:58px minmax(0,1fr) 24px;
  align-items:center;
  gap:14px;
  min-height:112px;
  padding:17px;
  overflow:hidden;
  border:1px solid #343c51;
  border-radius:16px;
  background:
    radial-gradient(circle at 0 0,color-mix(in srgb,var(--primary) 20%,transparent),transparent 48%),
    linear-gradient(140deg,#242a3a,#12151d);
  color:#fff;
  text-align:left;
  box-shadow:0 12px 30px rgba(0,0,0,.25);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;
}

body.layout-ibo .ibo-group-card:hover,
body.layout-ibo .ibo-group-card:focus,
body.layout-ibo .ibo-group-card.tv-focused{
  z-index:2;
  transform:translateY(-3px) scale(1.015);
  border-color:var(--primary);
  outline:3px solid color-mix(in srgb,var(--primary) 72%,#fff);
  outline-offset:2px;
  background:
    radial-gradient(circle at 0 0,color-mix(in srgb,var(--primary) 38%,transparent),transparent 52%),
    linear-gradient(140deg,#2d3549,#151923);
  box-shadow:0 0 0 2px rgba(255,255,255,.16),0 18px 40px rgba(0,0,0,.44);
}

body.layout-ibo .ibo-group-icon{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:50%;
  background:var(--primary);
  color:#090b10;
  font-size:1rem;
  font-weight:950;
  box-shadow:0 9px 24px color-mix(in srgb,var(--primary) 26%,transparent);
}

body.layout-ibo .ibo-group-copy{
  display:grid;
  min-width:0;
  gap:6px;
}

body.layout-ibo .ibo-group-copy strong{
  overflow:hidden;
  color:#fff;
  font-size:.94rem;
  line-height:1.2;
  white-space:nowrap;
  text-overflow:ellipsis;
}

body.layout-ibo .ibo-group-copy small{
  color:#adb4c4;
  font-size:.68rem;
}

body.layout-ibo .ibo-group-arrow{
  color:var(--primary);
  font-size:2rem;
  font-weight:800;
  line-height:1;
}

body.layout-ibo .ibo-groups-back{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:10px 14px;
  border:1px solid #3d465e;
  border-radius:10px;
  background:#171c28;
  color:#fff;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.02em;
}

body.layout-ibo .ibo-groups-back:hover,
body.layout-ibo .ibo-groups-back:focus,
body.layout-ibo .ibo-groups-back.tv-focused{
  border-color:var(--primary);
  outline:3px solid color-mix(in srgb,var(--primary) 68%,#fff);
  outline-offset:2px;
  background:var(--primary);
  color:#08090c;
}

@media(max-width:700px){
  body.layout-ibo .ibo-group-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
  }

  body.layout-ibo .ibo-group-card{
    grid-template-columns:42px minmax(0,1fr);
    min-height:90px;
    padding:12px;
    gap:10px;
    border-radius:12px;
  }

  body.layout-ibo .ibo-group-icon{
    width:42px;
    height:42px;
    font-size:.75rem;
  }

  body.layout-ibo .ibo-group-copy strong{
    font-size:.75rem;
  }

  body.layout-ibo .ibo-group-copy small{
    font-size:.58rem;
  }

  body.layout-ibo .ibo-group-arrow{
    display:none;
  }
}

/* Versão 4.03: navegação hierárquica compartilhada pelos layouts */
body.layout-current{--hierarchy-accent:var(--primary);--hierarchy-surface:#182230;--hierarchy-surface-2:#0d141d}
body.layout-xciptv{--hierarchy-accent:#24b9ee;--hierarchy-surface:#10263b;--hierarchy-surface-2:#07121e}
body.layout-smarters{--hierarchy-accent:var(--primary);--hierarchy-surface:#25292c;--hierarchy-surface-2:#111315}
body.layout-cinema{--hierarchy-accent:#f17a2b;--hierarchy-surface:#25140d;--hierarchy-surface-2:#0d0907}
body.layout-premium{--hierarchy-accent:#f6c453;--hierarchy-surface:#2b2415;--hierarchy-surface-2:#12100a}
body.layout-tvbox{--hierarchy-accent:#38d3b4;--hierarchy-surface:#12302d;--hierarchy-surface-2:#071815}
body.layout-compact{--hierarchy-accent:var(--primary);--hierarchy-surface:#1d2430;--hierarchy-surface-2:#0d1118}
body.layout-netflix{--hierarchy-accent:#e50914;--hierarchy-surface:#261012;--hierarchy-surface-2:#0c0909}
body.layout-tivimate{--hierarchy-accent:#40a8ff;--hierarchy-surface:#13273a;--hierarchy-surface-2:#09131d}
body.layout-mobileone{--hierarchy-accent:#a56cff;--hierarchy-surface:#241839;--hierarchy-surface-2:#100a1b}
body.layout-tvguide{--hierarchy-accent:#34c978;--hierarchy-surface:#163125;--hierarchy-surface-2:#09170f}
body.layout-smarttv{--hierarchy-accent:var(--primary);--hierarchy-surface:#182635;--hierarchy-surface-2:#09121b}

body.hierarchy-flow-active.hierarchy-screen-groups .category-rail,
body.hierarchy-flow-active.hierarchy-screen-catalog .category-rail{
  display:none!important;
}

body.hierarchy-flow-active.hierarchy-screen-groups .catalog-tools,
body.hierarchy-flow-active.hierarchy-screen-groups .mobile-tools-open,
body.hierarchy-flow-active.hierarchy-screen-groups .category-rail-open{
  display:none!important;
}

body.hierarchy-flow-active.hierarchy-screen-catalog .catalog-tools #category,
body.hierarchy-flow-active.hierarchy-screen-catalog .category-rail-open{
  display:none!important;
}

body.hierarchical-navigation .hierarchy-group-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr))!important;
  gap:14px!important;
  align-content:start;
  width:100%;
  padding:5px!important;
}

body.hierarchical-navigation .hierarchy-group-card{
  position:relative;
  display:grid;
  grid-template-columns:56px minmax(0,1fr) 24px;
  align-items:center;
  gap:14px;
  min-height:108px;
  padding:16px;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--hierarchy-accent,var(--primary)) 25%,#46505e);
  border-radius:14px;
  background:
    radial-gradient(circle at 0 0,color-mix(in srgb,var(--hierarchy-accent,var(--primary)) 19%,transparent),transparent 50%),
    linear-gradient(140deg,var(--hierarchy-surface,#222a36),var(--hierarchy-surface-2,#0c1118));
  color:#fff;
  text-align:left;
  box-shadow:0 12px 28px rgba(0,0,0,.28);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;
}

body.hierarchical-navigation .hierarchy-group-card:hover,
body.hierarchical-navigation .hierarchy-group-card:focus,
body.hierarchical-navigation .hierarchy-group-card.tv-focused{
  z-index:2;
  transform:translateY(-3px) scale(1.015);
  border-color:var(--hierarchy-accent,var(--primary));
  outline:3px solid color-mix(in srgb,var(--hierarchy-accent,var(--primary)) 68%,#fff);
  outline-offset:2px;
  background:
    radial-gradient(circle at 0 0,color-mix(in srgb,var(--hierarchy-accent,var(--primary)) 34%,transparent),transparent 54%),
    linear-gradient(140deg,color-mix(in srgb,var(--hierarchy-surface,#222a36) 86%,#fff),var(--hierarchy-surface-2,#0c1118));
  box-shadow:0 0 0 2px rgba(255,255,255,.14),0 18px 40px rgba(0,0,0,.45);
}

body.hierarchical-navigation .hierarchy-group-icon{
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  border-radius:50%;
  background:var(--hierarchy-accent,var(--primary));
  color:#07090c;
  font-size:.92rem;
  font-weight:950;
  box-shadow:0 9px 24px color-mix(in srgb,var(--hierarchy-accent,var(--primary)) 28%,transparent);
}

body.hierarchical-navigation .hierarchy-group-copy{
  display:grid;
  min-width:0;
  gap:6px;
}

body.hierarchical-navigation .hierarchy-group-copy strong{
  overflow:hidden;
  color:#fff;
  font-size:.92rem;
  line-height:1.2;
  white-space:nowrap;
  text-overflow:ellipsis;
}

body.hierarchical-navigation .hierarchy-group-copy small{
  color:#b8c1ce;
  font-size:.67rem;
}

body.hierarchical-navigation .hierarchy-group-arrow{
  color:var(--hierarchy-accent,var(--primary));
  font-size:1.9rem;
  font-weight:900;
  line-height:1;
}

body.hierarchical-navigation .hierarchy-groups-back{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:10px 14px;
  border:1px solid color-mix(in srgb,var(--hierarchy-accent,var(--primary)) 42%,#46505e);
  border-radius:10px;
  background:var(--hierarchy-surface-2,#10151d);
  color:#fff;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.02em;
}

body.hierarchical-navigation .hierarchy-groups-back:hover,
body.hierarchical-navigation .hierarchy-groups-back:focus,
body.hierarchical-navigation .hierarchy-groups-back.tv-focused{
  border-color:var(--hierarchy-accent,var(--primary));
  outline:3px solid color-mix(in srgb,var(--hierarchy-accent,var(--primary)) 68%,#fff);
  outline-offset:2px;
  background:var(--hierarchy-accent,var(--primary));
  color:#07090c;
}

/* Netflix conserva a leitura em faixas horizontais. */
body.layout-netflix.hierarchy-flow-active .hierarchy-group-grid{
  grid-template-columns:none!important;
  grid-template-rows:repeat(2,minmax(112px,auto));
  grid-auto-flow:column;
  grid-auto-columns:minmax(250px,310px);
  overflow-x:auto;
  overflow-y:hidden;
  padding:10px 7px 22px!important;
  scroll-snap-type:x proximity;
}

body.layout-netflix .hierarchy-group-card{scroll-snap-align:start;border-radius:6px}

/* TiviMate mantém grupos com aparência de menu técnico. */
body.layout-tivimate.hierarchy-flow-active .hierarchy-group-grid{
  grid-template-columns:repeat(2,minmax(260px,1fr))!important;
}

body.layout-tivimate .hierarchy-group-card{
  min-height:88px;
  border-radius:8px;
}

/* Compacto usa cards menores sem perder legibilidade. */
body.layout-compact.hierarchy-flow-active .hierarchy-group-grid{
  grid-template-columns:repeat(auto-fill,minmax(190px,1fr))!important;
  gap:9px!important;
}

body.layout-compact .hierarchy-group-card{
  grid-template-columns:44px minmax(0,1fr) 18px;
  min-height:78px;
  padding:11px;
  gap:10px;
  border-radius:9px;
}

body.layout-compact .hierarchy-group-icon{width:44px;height:44px;font-size:.72rem}

@media(max-width:700px){
  body.hierarchical-navigation .hierarchy-group-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
  }

  body.hierarchical-navigation .hierarchy-group-card{
    grid-template-columns:42px minmax(0,1fr);
    min-height:88px;
    padding:11px;
    gap:9px;
    border-radius:11px;
  }

  body.hierarchical-navigation .hierarchy-group-icon{
    width:42px;
    height:42px;
    font-size:.72rem;
  }

  body.hierarchical-navigation .hierarchy-group-copy strong{font-size:.74rem}
  body.hierarchical-navigation .hierarchy-group-copy small{font-size:.57rem}
  body.hierarchical-navigation .hierarchy-group-arrow{display:none}
}

/* Versão 4.04: categorias de Filmes e Séries legíveis no IBO Player.
 * Canais conserva a grade aprovada da versão anterior. */
body.layout-ibo.ibo-screen-groups.view-vod .ibo-group-grid,
body.layout-ibo.ibo-screen-groups.view-series .ibo-group-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
  padding:6px!important;
}

body.layout-ibo.ibo-screen-groups.view-vod .ibo-group-card,
body.layout-ibo.ibo-screen-groups.view-series .ibo-group-card{
  grid-template-columns:52px minmax(0,1fr) 20px;
  min-height:104px;
  padding:16px;
  gap:13px;
}

body.layout-ibo.ibo-screen-groups.view-vod .ibo-group-icon,
body.layout-ibo.ibo-screen-groups.view-series .ibo-group-icon{
  width:52px;
  height:52px;
  font-size:.86rem;
}

body.layout-ibo.ibo-screen-groups.view-vod .ibo-group-copy,
body.layout-ibo.ibo-screen-groups.view-series .ibo-group-copy{
  gap:4px;
}

body.layout-ibo.ibo-screen-groups.view-vod .ibo-group-copy strong,
body.layout-ibo.ibo-screen-groups.view-series .ibo-group-copy strong{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  white-space:normal;
  text-overflow:clip;
  overflow-wrap:anywhere;
  color:#fff;
  font-size:1rem;
  line-height:1.25;
}

body.layout-ibo.ibo-screen-groups.view-vod .ibo-group-copy small,
body.layout-ibo.ibo-screen-groups.view-series .ibo-group-copy small{
  color:#c3cad7;
  font-size:.66rem;
  line-height:1.2;
}

@media(max-width:1500px){
  body.layout-ibo.ibo-screen-groups.view-vod .ibo-group-grid,
  body.layout-ibo.ibo-screen-groups.view-series .ibo-group-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:1050px){
  body.layout-ibo.ibo-screen-groups.view-vod .ibo-group-grid,
  body.layout-ibo.ibo-screen-groups.view-series .ibo-group-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:700px){
  body.layout-ibo.ibo-screen-groups.view-vod .ibo-group-grid,
  body.layout-ibo.ibo-screen-groups.view-series .ibo-group-grid{
    grid-template-columns:1fr!important;
    gap:9px!important;
  }

  body.layout-ibo.ibo-screen-groups.view-vod .ibo-group-card,
  body.layout-ibo.ibo-screen-groups.view-series .ibo-group-card{
    grid-template-columns:44px minmax(0,1fr);
    min-height:78px;
    padding:11px 13px;
    gap:11px;
  }

  body.layout-ibo.ibo-screen-groups.view-vod .ibo-group-icon,
  body.layout-ibo.ibo-screen-groups.view-series .ibo-group-icon{
    width:44px;
    height:44px;
    font-size:.74rem;
  }

  body.layout-ibo.ibo-screen-groups.view-vod .ibo-group-copy strong,
  body.layout-ibo.ibo-screen-groups.view-series .ibo-group-copy strong{
    font-size:.86rem;
  }
}
