:root{--bg:#080f1e;--s:#101d32;--panel:#172841;--border:#344966;--text:#f5f8ff;--muted:#a9bbd4;--gold:#f7cf65;--aqua:#52bdda}*{box-sizing:border-box}html,body{height:100%;margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}body{overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--border);color:var(--text);background:#213957}button:focus,input:focus,select:focus,.tile:focus{outline:4px solid var(--gold)!important;outline-offset:3px;box-shadow:0 0 20px #f7cf6550}button:disabled{opacity:.48;cursor:default}.shell{display:flex;min-height:100%;height:100%;background:radial-gradient(ellipse at 85% 0%,#17355c 0%,var(--bg) 60%)}.sidebar{width:248px;min-width:248px;background:#091426eb;border-right:1px solid #243855;padding:32px 14px;display:flex;flex-direction:column}.logo{font-size:34px;font-weight:900;letter-spacing:1px;padding:5px 14px 38px}.logo b{color:var(--gold)}.logo span{display:block;font-size:15px;color:var(--muted);margin-top:3px;font-weight:normal}.logo small{color:#79d3c8;font-size:11px}.nav{display:flex;align-items:center;gap:13px;width:100%;background:transparent;border-color:transparent;text-align:left;padding:13px 14px;border-radius:12px;margin-bottom:8px;font-size:18px;min-height:53px}.nav span{font-size:25px;color:#85b5db;width:25px;text-align:center}.nav.active{background:#244469;border-color:#4a749d;color:white}.sidebar-footer{margin-top:auto;padding:14px 8px;font-size:13px;color:var(--muted)}.conn{color:#b8cbdd;margin-bottom:8px}.conn.online{color:#7fe7b0}.app-area{flex:1;min-width:0;padding:33px 38px 15px;display:flex;flex-direction:column}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:14px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:#93b8d4;margin:0 0 10px}.topbar h1{font-size:31px;margin:0;line-height:1.18}.status-pill{padding:9px 12px;border:1px solid #4f6a89;background:#152842;border-radius:999px;color:#d5e9fc;font-weight:bold;font-size:12px;white-space:nowrap}#screen{overflow:auto;min-height:0;flex:1;padding:12px 5px 60px;scrollbar-width:thin;scrollbar-color:#516e90 transparent}.hero{background:linear-gradient(110deg,#21466e,#102b4c 65%,#18334f);border:1px solid #466689;border-radius:19px;padding:36px;margin-bottom:26px;min-height:215px}.hero h2{font-size:36px;margin:0 0 12px}.hero p{font-size:18px;line-height:1.5;color:#d0e0f1;max-width:780px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.cta{border:1px solid #e8c069;background:var(--gold);color:#101a29;border-radius:12px;padding:14px 19px;font-weight:800;font-size:18px}.secondary{background:#264b76;border-color:#567ca2;border-radius:11px;padding:12px 17px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:12px 0 17px}.section-head h2{font-size:23px;margin:0}.muted,.hint{color:var(--muted);font-size:15px}.grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.tile{display:block;min-width:0;width:100%;padding:0;text-align:left;border:1px solid #35506e;border-radius:14px;overflow:hidden;background:#162940;position:relative}.art{width:100%;height:250px;background:linear-gradient(130deg,#335a7e,#152641);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.art img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.art .initial{font-size:56px;font-weight:900;color:#ffffff58}.tile-text{padding:13px;min-height:79px}.tile-text strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:17px}.tile-text small{display:block;white-space:nowrap;text-overflow:ellipsis;color:var(--muted);font-size:12px;margin-top:5px}.badged{position:absolute;top:10px;left:9px;background:#071a2adb;padding:5px 8px;border-radius:6px;font-size:11px;color:#f2dfae}.filter-row{display:flex;gap:11px;margin:0 0 20px;flex-wrap:wrap}.chip{padding:10px 15px;border-radius:999px;min-height:42px;background:#183553;color:#eaf4ff}.chip.active{background:var(--gold);color:#14233b;border-color:var(--gold);font-weight:bold}.input-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:22px}.text-input{padding:14px 17px;background:#0e213b;border:2px solid #4b6785;border-radius:10px;color:white;font-size:19px;min-width:180px;max-width:100%;width:550px}.panel{padding:25px;background:#162840;border:1px solid #365474;border-radius:14px;margin-bottom:16px}.panel p{color:#bccde2;line-height:1.5}.panel h2{margin:0 0 13px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field label{display:block;color:#d2e4f6;font-size:15px;font-weight:bold;margin-bottom:8px}.field .text-input{width:100%}.details{display:grid;grid-template-columns:230px 1fr;gap:28px}.details .art{border-radius:12px}.details h2{font-size:32px;margin:0 0 14px}.details p{font-size:17px;line-height:1.6;color:#c9dcf1}.list{display:grid;gap:9px}.list button{padding:15px 17px;min-height:57px;text-align:left;background:#203958;border-radius:9px}.list button small{float:right;color:#b6c9db}.empty{padding:34px;background:#162840;border:1px dashed #54718e;border-radius:13px;color:#c4d4e9;font-size:18px}.toast{position:absolute;bottom:20px;left:285px;background:#243954;border:1px solid #85a3bf;border-radius:8px;padding:14px 18px;max-width:700px;display:none;z-index:20}.toast.visible{display:block}.player-view{position:fixed;inset:0;background:black;z-index:40;overflow:hidden}.player-view.hidden{display:none}.player-view video{width:100%;height:100%;background:#000;object-fit:contain}.video-osd{position:absolute;inset:0;background:linear-gradient(to bottom,#020814c9,transparent 32%,transparent 64%,#020814dc);display:flex;justify-content:space-between;flex-direction:column;padding:32px 40px;transition:opacity .3s}.video-osd.hide-osd{opacity:0;pointer-events:none}.video-top{display:flex;align-items:start;justify-content:space-between}.video-top h2{font-size:30px;margin:5px 0}.video-top p{color:#b8c8e2}.video-bottom{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.pill{background:#1b3455d9;border:1px solid #6b85a5;border-radius:11px;padding:13px 17px;min-height:52px;font-size:17px}.video-status{padding:13px 18px;background:#1b293edc;border-radius:8px;max-width:80%;align-self:center;font-size:18px}.video-status:empty{display:none}.small{font-size:12px;color:#a9c1d5}.warning{border-left:4px solid var(--gold);padding-left:15px}.blue{color:#84caed}@media(max-width:1050px){.sidebar{width:200px;min-width:200px;padding:20px 9px}.app-area{padding:20px 22px}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.nav{font-size:15px}.toast{left:220px}}@media(max-width:650px){.sidebar{width:140px;min-width:140px;padding:10px 5px}.logo{font-size:20px;padding:10px}.nav{font-size:12px;padding:8px 5px}.nav span{font-size:16px;width:16px}.app-area{padding:12px}.topbar h1{font-size:23px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{padding:19px}.hero h2{font-size:24px}.fields,.details{grid-template-columns:1fr}.toast{left:155px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Commandes du lecteur : lisibles et navigables a la telecommande VIDAA. */
.player-progress{display:flex;align-items:center;gap:18px;width:100%;margin-bottom:14px}.player-progress input{flex:1;min-width:0;accent-color:var(--gold);height:30px}.player-progress input:disabled{opacity:.35}.player-progress .small{min-width:145px;text-align:right}.player-controls{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}.player-controls button{min-height:48px;padding:9px 14px}

/* Affichage adaptatif pour la télécommande : conserver les commandes dans la zone visible. */
.video-bottom{display:block;max-height:48vh;overflow-y:auto;padding:8px 4px 16px}.player-controls{justify-content:flex-start;gap:8px}.player-controls .pill{font-size:15px;min-height:48px;padding:8px 12px}.video-osd{padding:22px 28px}.player-progress{margin-bottom:10px}@media(max-height:650px){.video-top h2{font-size:22px}.video-osd{padding:12px 18px}.video-bottom{max-height:55vh}}

/* MAX TV : refonte salon, priorité aux contenus plutôt qu'aux réglages. */
:root{--bg:#090d14;--s:#101722;--panel:#182231;--border:#29394c;--gold:#efc36e;--aqua:#8da9ff}
.shell{background:#0b111c}.sidebar{width:205px;min-width:205px;background:#101722;border-right:1px solid #283445;padding:24px 12px}.logo{font-size:30px;padding:8px 14px 26px}.nav{min-height:48px;font-size:16px;margin-bottom:3px;border-radius:9px}.nav.active{background:#273c5b;border-color:#4c6588}
.app-area{padding:22px 26px 12px;background:linear-gradient(135deg,#101b2b,#0b111c 75%)}.topbar{padding-bottom:10px}.topbar h1{font-size:27px}.eyebrow{font-size:10px;letter-spacing:1.3px}.status-pill{font-size:11px}
#screen{padding:8px 3px 32px}.hero{background:linear-gradient(110deg,#192e4c,#172338);border:1px solid #304762;min-height:180px;padding:26px}.hero h2{font-size:30px}.hero p{font-size:15px}
.filter-row{display:flex;flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;gap:8px;padding:7px 4px 16px;margin-bottom:12px;scrollbar-width:thin}.filter-row .chip{white-space:nowrap;flex:0 0 auto;min-height:40px;padding:8px 13px;background:#1b2a3c;border:1px solid #34465e;border-radius:8px}.filter-row .chip.active{background:#d5aa59;color:#111722;border-color:#d5aa59}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:14px}.tile{border-radius:11px;overflow:hidden;background:#172435;border:1px solid #34475e;text-align:left}.tile .art{background:linear-gradient(145deg,#263d57,#121d2d)}.tile-text{padding:10px}.tile-text strong{font-size:14px;line-height:1.35}.tile-text small{font-size:11px}
.video-osd{background:linear-gradient(to bottom,#03070dce,transparent 25%,transparent 62%,#020509eb);padding:18px 24px;transition:none}.video-top h2{font-size:23px}.video-top p{font-size:13px;margin:4px 0}.video-bottom{max-height:39vh;overflow-y:auto;background:#0a111bd9;border:1px solid #314156;border-radius:12px;padding:12px 14px}.player-controls{justify-content:flex-start;gap:7px}.player-controls .pill{min-height:43px;font-size:14px;padding:7px 11px;background:#1b2a3b}.player-top-actions{display:flex;gap:8px;align-items:flex-start}.video-status{max-width:75%;font-size:15px}
@media(max-width:950px){.sidebar{width:165px;min-width:165px}.app-area{padding:16px}.grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}

.channel-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:9px}.channel-row{display:flex;align-items:center;text-align:left;gap:12px;min-height:64px;border:1px solid #334357;background:#152235;border-radius:10px;padding:8px 12px}.channel-icon{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;background:#2b4561;border-radius:8px;color:#e3eaf4;font-size:20px;font-weight:bold}.channel-label{font-size:14px;line-height:1.35;overflow:hidden;text-overflow:ellipsis}.channel-open{margin-left:auto;color:#eac578}.channel-row:focus{background:#304663}

.catalog-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.refresh-catalog{min-height:43px;padding:8px 15px;white-space:nowrap;background:#273f57;border:1px solid #55708e;color:#f4f6fc}.refresh-catalog:focus{outline:3px solid #f2cb78}.section-head{align-items:center;gap:12px}.filter-row{scroll-behavior:smooth}

/* MAX TV CINEMA : identité anthracite et or, conçue pour 10-foot UI. */
:root{--bg:#08090b;--s:#121315;--panel:#191a1d;--border:#37383b;--text:#f5f4f1;--muted:#b2b1ae;--gold:#f4c96d;--aqua:#d5c19c}
html,body{background:#08090b;color:#f5f4f1}button{background:#222326;border-color:#414144;color:#f5f4f1}
button:focus,input:focus,select:focus,.tile:focus{outline:3px solid #f4c96d!important;outline-offset:2px;box-shadow:0 0 0 2px #0b0b0b,0 0 20px #f4c96d33}
.shell{background:#0c0d0f}.sidebar{background:#111214;border-right:1px solid #343437;width:196px;min-width:196px;padding:24px 11px}
.logo{font-size:30px;padding:6px 13px 26px}.logo b{color:#f4c96d}.logo small{color:#e7c77d}
.nav{font-size:16px;min-height:48px;margin-bottom:3px;border-radius:8px}.nav span{color:#b9b8b3}.nav.active{background:#2c2b27;border-color:#8e7950;color:#fff}
.app-area{background:radial-gradient(ellipse at 75% 0%,#242220 0%,#101113 42%,#0b0c0e 85%);padding:22px 27px 12px}
.eyebrow{color:#b9a780}.topbar h1{font-size:27px}.status-pill{background:#25231f;border-color:#6b5a3c;color:#f4d9a0}
#screen{scrollbar-color:#7e6b49 #181818}.hero{background:linear-gradient(115deg,#29251f,#19191a 58%,#111214);border:1px solid #61503a;min-height:195px;padding:29px}.hero h2{font-size:32px}.hero p{color:#c9c6c0;font-size:16px}
.cta{background:#edc46d;color:#17140e;border-color:#edc46d}.secondary{background:#292929;border-color:#52504b;color:#f3f0eb}.panel{background:#1a1b1d;border-color:#393939}.panel p{color:#c5c4c0}
.grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:15px}.tile{background:#1a1b1d;border:1px solid #383839;border-radius:8px}.art{background:linear-gradient(140deg,#38332c,#191a1b);height:226px}.tile-text{padding:10px;min-height:66px}.tile-text strong{font-size:14px;line-height:1.35}.tile-text small{font-size:11px}
.badged{background:#171614dd;color:#e9cf9b}.chip{background:#242426;border-color:#474545;color:#eae8e3;border-radius:7px}.chip.active{background:#edc46d;color:#1b1915;border-color:#edc46d}
.filter-row{margin-bottom:12px}.channel-list{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}.channel-row{background:#1d1e20;border-color:#3c3c3e}.channel-icon{background:#37332b;color:#f4d79d}.channel-row:focus{background:#39352e}.channel-open{color:#edc46d}
.video-osd{background:linear-gradient(to bottom,#050505c7,transparent 25%,transparent 62%,#070707ef)}.video-bottom{background:#111111d9;border-color:#4d4941}.player-controls .pill{background:#292929;border-color:#56514a}
.text-input{background:#18191b;border-color:#56514a}.refresh-catalog{background:#38332a;border-color:#847052;color:#f5e1b7}
.catalog-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:0 0 16px}.catalog-toolbar button,.catalog-toolbar select{min-height:43px;border-radius:8px;padding:8px 12px}.catalog-toolbar select{background:#272727;color:#f7f3ed;border:1px solid #666058}
.category-drawer{margin:0 0 15px;padding:12px;border:1px solid #49443a;border-radius:10px;background:#19191a}.category-drawer summary{cursor:pointer;color:#f4d79d;font-weight:700;padding:5px}.category-drawer .filter-row{margin:12px 0 0;flex-wrap:wrap!important;max-height:160px;overflow:auto}
.library-title{margin:12px 0;font-size:19px}.library-quick{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.library-quick button{min-height:45px;border-radius:9px;padding:9px 16px}
@media(max-width:850px){.sidebar{width:150px;min-width:150px}.app-area{padding:14px}.grid{grid-template-columns:repeat(auto-fill,minmax(115px,1fr))}.art{height:190px}}

/* MAX TV : profondeur visuelle, nouveautés du portail et affiches mises en valeur */
.app-area{background:radial-gradient(ellipse 90% 60% at 90% -15%,#3a3027 0%,#171718 48%,#0a0b0d 100%);background-attachment:local}
.sidebar{background:linear-gradient(180deg,#1b1b1d,#0d0e10 70%)}.topbar{border-bottom:1px solid #3a3329}
.tile{position:relative;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.tile:focus,.tile:hover{transform:translateY(-3px);border-color:#eac477;box-shadow:0 10px 24px #0009}.tile .art img{object-fit:cover;width:100%;height:100%}
.arrival-badge{position:absolute;right:8px;top:8px;background:#e8c274;color:#211a0e;font-size:10px;font-weight:800;letter-spacing:.7px;padding:5px 7px;border-radius:4px;z-index:2}
.catalog-explain{font-size:12px;color:#b9b4aa;margin:0 0 12px;line-height:1.5}.library-quick{padding-bottom:4px}

/* Fluidité MAX TV : mouvements courts et doux, sans effet agressif. */
#screen{scroll-behavior:smooth;scrollbar-gutter:stable;will-change:scroll-position}
#screen>.grid,#screen>.channel-list,#screen>.details,#screen>.hero{animation:max-reveal .19s ease-out both}
@keyframes max-reveal{from{opacity:.72;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.nav,.chip,.secondary,.cta,.channel-row,.tile{transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease,color .16s ease}
.tile,.channel-row{transform:translateZ(0);backface-visibility:hidden}
.tile:focus,.channel-row:focus,.nav:focus,.chip:focus{box-shadow:0 0 0 2px #e8c57455,0 8px 26px #0008}
.tile:focus{transform:translateY(-3px) scale(1.015)}.channel-row:focus{transform:translateX(3px)}
.catalog-loading .grid,.catalog-loading .channel-list{opacity:.55;pointer-events:none;transition:opacity .16s ease}
@media(prefers-reduced-motion:reduce){#screen{scroll-behavior:auto}#screen>.grid,#screen>.channel-list,#screen>.details,#screen>.hero{animation:none}.nav,.chip,.secondary,.cta,.channel-row,.tile{transition:none}.tile:focus,.channel-row:focus{transform:none}}

/* TV-first: focus on content, not portal diagnostics. Original categories remain in drawer. */
.catalog-explain{display:none}
.catalog-actions .muted{font-size:11px;opacity:.65}
.catalog-toolbar{margin:0 0 12px;gap:8px}
.category-drawer{margin:0 0 16px;opacity:.85}
.library-quick{gap:8px;margin:0 0 10px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}
.library-quick .chip{white-space:nowrap;flex:0 0 auto}
.grid{gap:16px}
.tile{border-radius:12px;overflow:hidden;background:#202124}
.tile .art{border-radius:10px 10px 0 0}
.tile:focus,.tile:focus-visible{outline:2px solid #f2cc7e;outline-offset:2px;transform:scale(1.025);z-index:3}
.channel-row{border-radius:10px}
.channel-row:focus,.channel-row:focus-visible{outline:2px solid #f2cc7e;outline-offset:1px}
#screen{scroll-behavior:auto}
@media(min-width:1100px){.grid{grid-template-columns:repeat(auto-fill,minmax(158px,1fr))}}

/* TiviMax-inspired original layout, charcoal and gold only */
.tv-layout{display:grid;grid-template-columns:minmax(170px,24%) minmax(0,1fr);gap:18px;min-height:65vh}
.tv-category-rail{background:#131313;border:1px solid #39332a;border-radius:12px;padding:12px 8px;min-width:0}
.tv-rail-label{color:#c5a56a;font-size:11px;font-weight:800;letter-spacing:1.3px;padding:9px 12px 14px}
.tv-category-scroll{display:flex;flex-direction:column;gap:3px;max-height:72vh;overflow-y:auto;scrollbar-color:#8c7142 #161616}
.tv-category{background:transparent;color:#dedbd3;border:1px solid transparent;border-radius:7px;padding:11px 12px;text-align:left;white-space:normal;overflow-wrap:anywhere;font:inherit;cursor:pointer}
.tv-category.active{background:#393024;border-color:#cba45d;color:#ffe1a0}
.tv-category:focus{outline:2px solid #f2c875;outline-offset:-2px;background:#453722;color:white}
.tv-content{min-width:0}.tv-content-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.tv-content-head h2{font-size:21px;line-height:1.25;margin:0}
.tv-content .grid{grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:13px}
.tv-content .channel-list{display:grid;grid-template-columns:1fr;gap:6px}
.tv-content .channel-row{background:#22211f;border:1px solid #403b34;color:#f2efe8}
.tv-content .channel-icon{background:#3b3428;color:#e7c67f}
.tv-pager{display:flex;align-items:center;justify-content:center;gap:12px;padding:22px 4px;color:#bcb5a7}
.tile .art{background:linear-gradient(145deg,#302b23,#161616)!important}
.tile .art:not(:has(img)){background:#27231d!important}
.tile .art img{background:#25211b}
@media(max-width:720px){.tv-layout{grid-template-columns:135px minmax(0,1fr);gap:9px}.tv-category{font-size:12px;padding:9px 6px}.tv-content .grid{grid-template-columns:repeat(auto-fill,minmax(105px,1fr))}.tv-content-head h2{font-size:16px}}

/* MAX TV 1.1 - palette strictement anthracite/or, aucune couleur bleue */
:root{--bg:#090909;--s:#161616;--panel:#22201d;--border:#51483a;--text:#f6f2e9;--muted:#b7afa2;--gold:#eac47c;--aqua:#caa769}
html,body,.shell{background:#090909;color:#f6f2e9}
.shell{background:linear-gradient(135deg,#11100f 0%,#191713 48%,#090909 100%)}
.sidebar{background:#10100f;border-color:#393229}
.sidebar-footer,.eyebrow,.muted,.hint,.tile-text small{color:#b9b0a1}
.logo small,.nav span,.conn,.conn.online{color:#dfc18a}
.nav{color:#ded9d0}.nav.active,.nav:focus{background:#383022;border-color:#b28f56;color:#fff3d9}
.app-area{background:radial-gradient(ellipse at 70% -20%,#30271d 0%,#151413 54%,#0c0c0c 100%)}
.topbar{border-color:#393126}.status-pill{background:#242018;border-color:#77613c;color:#e6c78d}
button,.secondary,.chip,.list button{background:#2c2925;border-color:#554c40;color:#f1ece3}
button:hover,.secondary:hover,.chip:hover{background:#403626;border-color:#c39e5b}
.chip.active,.cta{background:#eac47c;color:#241b0e;border-color:#eac47c}
.hero{background:linear-gradient(115deg,#2d271f,#1a1917 65%,#24201b);border-color:#62523a}
.hero p,.details p,.panel p{color:#c8c0b3}
.panel,.empty,.tile,.channel-row{background:#201e1b;border-color:#4a4134;color:#f4efe5}
.art,.tile .art,.tile .art:not(:has(img)){background:linear-gradient(140deg,#383229,#1b1a18)!important}
.art .initial{font-size:32px;color:#ad9770}
.badged{background:#17140edc;color:#f3d79f}
.text-input{background:#161513;border-color:#716047;color:#f6f0e6}
.field label,.list button small{color:#d7c5a5}
.toast{background:#282219;border-color:#b69458;color:#f6e7ca}
.tv-layout{grid-template-columns:minmax(170px,24%) minmax(0,1fr);gap:14px}
.tv-category-rail{background:#151412;border-color:#393229}
.tv-category-scroll{scrollbar-color:#9b8052 #1a1917}
.tv-content .channel-row{background:#29251f;border-color:#4e4332}
.tv-content .channel-icon{background:#3e3324;color:#f4cf85}
.tv-content .grid{grid-template-columns:repeat(auto-fill,minmax(138px,1fr))}
.tv-content-head{position:sticky;top:0;z-index:4;padding:8px 0 12px;background:#151412}
.tv-pager{color:#c6b79f}
#catalogSentinel{height:2px}
#screen{scrollbar-color:#92764a transparent;scroll-behavior:auto}
.tile:focus,.tile:focus-visible,.tv-category:focus,.channel-row:focus{outline:2px solid #f2ce87!important;outline-offset:1px;box-shadow:0 4px 18px #0009}
@media(prefers-reduced-motion:reduce){.tile,.tv-category,.channel-row{transition:none!important;transform:none!important}}

/* Third rail: focus preview. Hidden on small screens, never blocks playback. */
.tv-layout{grid-template-columns:minmax(150px,20%) minmax(0,1fr) minmax(180px,22%);align-items:start}
.tv-preview{background:#171614;border:1px solid #443b2e;border-radius:12px;padding:15px;min-width:0;position:sticky;top:0;max-height:76vh;overflow:auto}
.tv-preview-poster{height:205px;border-radius:8px;background:linear-gradient(140deg,#332c23,#181715);overflow:hidden}
.tv-preview-poster img{height:100%;width:100%;object-fit:contain}
.tv-preview h3{font-size:18px;line-height:1.3;margin:15px 0 8px;overflow-wrap:anywhere}
.tv-preview p{font-size:13px;line-height:1.5;color:#c4b9a6}
.tv-preview .tv-preview-hint{color:#eac47c;font-weight:bold}
.tv-preview-empty{color:#b6a990;font-size:14px;line-height:1.5;padding:18px 4px}
@media(max-width:1050px){.tv-layout{grid-template-columns:minmax(150px,24%) minmax(0,1fr)}.tv-preview{display:none}}

/* Mini-TV : lecture directe dans la troisième colonne */
.tv-mini-frame{position:relative;height:auto;aspect-ratio:16/9;background:#000;display:flex;align-items:center;justify-content:center}
.tv-mini-frame video{width:100%;height:100%;object-fit:contain;background:#000}
.tv-mini-status{position:absolute;left:8px;bottom:8px;right:8px;font-size:12px;color:#fff1d7;background:#15120dcc;border-radius:5px;padding:5px;pointer-events:none}
.tv-mini-status:empty{display:none}
.tv-preview .cta{width:100%;font-size:13px;padding:10px;margin-top:8px}

/* Grand écran instantané : on agrandit le même lecteur, sans recréer le flux. */
body.mini-tv-expanded #tvPreview{position:fixed!important;inset:0!important;z-index:10000!important;width:100vw!important;height:100vh!important;max-width:none!important;background:#050505!important;border:0!important;border-radius:0!important;padding:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
body.mini-tv-expanded #tvPreview .tv-mini-frame{width:100%!important;height:calc(100vh - 54px)!important;aspect-ratio:auto!important;flex:1!important;min-height:0!important}
body.mini-tv-expanded #tvPreview .tv-mini-frame video{width:100%!important;height:100%!important;object-fit:contain!important}
body.mini-tv-expanded #tvPreview h3{display:none!important}
body.mini-tv-expanded #tvPreview [data-action="miniFullscreen"]{flex:none!important;align-self:center!important;width:auto!important;margin:6px!important;padding:8px 24px!important}
body.mini-tv-expanded #tvPreview .tv-mini-status{bottom:20px}

/* VOD : sélection d'épisodes accessible à la télécommande. */
.vod-episode-list{display:flex;flex-direction:column;gap:7px;max-height:280px;overflow-y:auto;margin:10px 0 15px}
.vod-episode-list button{text-align:left;width:100%;flex-shrink:0}
.tv-preview>[data-action="previewDetail"]{width:100%;margin-top:8px}

/* VOD detail floats over the running miniature: do not recreate or detach the video. */
#tvPreview{position:relative}
.vod-detail-overlay{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.70);padding:12px;box-sizing:border-box;overflow:auto}
.vod-detail-card{width:100%;max-height:100%;overflow:auto;box-sizing:border-box;padding:16px;background:rgba(17,17,19,.94);border:1px solid rgba(211,175,92,.5);border-radius:12px;color:#fff;box-shadow:0 8px 30px rgba(0,0,0,.4)}
.vod-detail-card h2{font-size:1.1rem;margin:12px 0 8px}
.vod-detail-card p{line-height:1.5}
.vod-detail-card .vod-detail-close{width:100%;text-align:center}
.vod-detail-card .cta{width:100%;margin-top:10px}

/* Fiche en transparence : le même flux vidéo reste visible sous le texte. */
#tvPreview.vod-detail-open{min-height:410px;overflow:hidden!important;isolation:isolate}
#tvPreview.vod-detail-open>.tv-mini-frame{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;border-radius:0!important;z-index:0}
#tvPreview.vod-detail-open>.tv-mini-frame video{width:100%!important;height:100%!important;object-fit:cover!important}
#tvPreview.vod-detail-open>.tv-mini-frame .tv-mini-status{z-index:1}
#tvPreview.vod-detail-open>.vod-detail-overlay{position:absolute!important;inset:0!important;z-index:10!important;background:rgba(0,0,0,.28)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding:12px!important}
#tvPreview.vod-detail-open .vod-detail-card{background:rgba(12,12,14,.64)!important;border:1px solid rgba(211,175,92,.65)!important;box-shadow:0 5px 24px rgba(0,0,0,.25)!important;max-height:100%;overflow:auto}
#tvPreview.vod-detail-open .vod-detail-card p{color:#fff!important;text-shadow:0 1px 2px #000}
#tvPreview.vod-detail-open>h3,#tvPreview.vod-detail-open>[data-action="miniFullscreen"],#tvPreview.vod-detail-open>[data-action="previewDetail"]{visibility:hidden}

/* Informations flottantes : sans boutons ni cadre, sortie automatique au survol. */
#tvPreview.vod-detail-open .vod-detail-overlay{pointer-events:none!important;animation:vodInfoAppear .18s ease-out both!important;align-items:flex-end!important}
#tvPreview.vod-detail-open .vod-detail-card{border:0!important;border-radius:8px!important;background:linear-gradient(0deg,rgba(0,0,0,.72),rgba(0,0,0,.28))!important;box-shadow:none!important;padding:16px!important}
#tvPreview.vod-detail-open .vod-detail-overlay{background:transparent!important}
@keyframes vodInfoAppear{from{opacity:0}to{opacity:1}}

/* VIDAA : le mini lecteur agrandi recouvre réellement toute l'interface. */
body.mini-tv-expanded #tvPreview{position:fixed!important;inset:0!important;top:0!important;left:0!important;right:0!important;bottom:0!important;transform:none!important;margin:0!important;max-height:100vh!important;height:100vh!important;min-height:100vh!important;z-index:2147483000!important}
body.mini-tv-expanded #tvPreview>.tv-mini-frame{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:100%!important;max-height:none!important;flex:none!important;border:0!important;border-radius:0!important}
body.mini-tv-expanded #tvPreview>.tv-mini-frame video{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important}
body.mini-tv-expanded #tvPreview>[data-action="miniFullscreen"]{position:absolute!important;z-index:5!important;left:50%!important;bottom:18px!important;transform:translateX(-50%)!important;width:auto!important;min-width:135px!important;opacity:.86!important}
body.mini-tv-expanded #tvPreview>[data-action="previewDetail"]{display:none!important}
/* Une seule indication de focus : la rubrique active ne ressemble plus au curseur. */
.nav.active:not(:focus),.tv-category.active:not(:focus){outline:none!important;box-shadow:none!important}

/* Deuxième test VIDAA : commandes accessibles uniquement en mode agrandi. */
#tvPreview .mini-test-controls{display:none}
body.mini-tv-expanded #tvPreview .mini-test-controls{display:flex!important;position:absolute!important;z-index:6!important;left:12px!important;right:12px!important;bottom:75px!important;justify-content:center!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;pointer-events:auto!important}
body.mini-tv-expanded #tvPreview .mini-test-controls button{background:#171717e8!important;color:#fff!important;border:1px solid #b99554!important;border-radius:7px!important;padding:10px 16px!important;min-height:42px!important}
body.mini-tv-expanded #tvPreview #miniTestStatus{color:#fff!important;background:#000b!important;padding:9px 12px!important;border-radius:7px!important;font-size:13px!important}

/* VIDAA: commandes lisibles et focus stable sans déplacement des éléments. */
.mini-test-controls{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important;justify-content:center!important;padding:8px!important}
.mini-test-controls button{min-height:42px!important;padding:9px 14px!important;font-size:15px!important;transform:none!important;transition:none!important}
body.mini-tv-expanded #tvPreview .mini-test-controls{position:absolute!important;left:0!important;right:0!important;bottom:48px!important;z-index:12!important;background:rgba(0,0,0,.55)!important}
body.mini-tv-expanded #tvPreview [data-action="miniFullscreen"]{z-index:13!important;min-height:38px!important}
body.mini-tv-expanded #tvPreview button:focus{outline:2px solid #eac47c!important;outline-offset:1px!important;box-shadow:0 0 0 2px #111!important;transform:none!important}

/* MAX TV lecteur salon : commandes compactes, temporisées, sans rechargement du flux. */
#tvPreview{position:relative}#tvPreview .mini-test-controls{z-index:25}body.mini-tv-expanded #tvPreview .mini-test-controls{position:absolute!important;bottom:0;left:0;right:0;width:100%;padding:14px 24px 18px;background:linear-gradient(transparent,rgba(0,0,0,.86));transition:opacity .22s;max-height:45vh;overflow-y:auto}body.mini-tv-expanded #tvPreview.mini-controls-hidden .mini-test-controls{opacity:0;pointer-events:none}body.mini-tv-expanded #tvPreview.mini-controls-hidden .tv-mini-status{opacity:0;pointer-events:none}.mini-progress{display:flex;align-items:center;gap:16px;width:100%;margin-bottom:10px}.mini-progress input{flex:1;min-width:0;accent-color:#efc36e;height:20px}.mini-progress span{font-size:13px;color:#fff;white-space:nowrap}.mini-control-row{display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap}.mini-control-row button,.mini-player-settings button{min-height:38px;padding:7px 12px;border-radius:9px;font-size:13px;background:rgba(15,24,36,.85);color:white;border:1px solid #70829b}.mini-player-settings:not([hidden]){display:flex;gap:8px;justify-content:center;flex-wrap:wrap;padding:10px;background:rgba(5,10,20,.92);border-radius:10px;margin-top:8px}.mini-player-settings[hidden]{display:none!important}#miniTestStatus:empty{display:none}#miniTestStatus{display:block;text-align:center;font-size:12px;color:#e5ecf5;margin-top:5px}body.mini-tv-expanded #tvPreview .tv-mini-frame video{object-fit:contain}#player .video-bottom{max-height:38vh;overflow:auto;padding:12px 16px;border-radius:16px;background:rgba(6,14,25,.82);backdrop-filter:blur(5px)}#player .player-controls{justify-content:center;gap:6px}#player .player-controls .pill{min-height:38px;padding:6px 10px;font-size:13px}#player .video-osd{padding:22px 32px}#player .player-progress{margin-bottom:8px}

/* Options supplémentaires du lecteur, adaptées à la télécommande VIDAA. */
#tvPreview .mini-player-settings:not([hidden]){max-height:33vh;overflow-y:auto;align-content:start;scrollbar-width:thin}#tvPreview .mini-player-settings button:focus,#tvPreview .mini-control-row button:focus{outline:2px solid #f1cb75;outline-offset:2px}#tvPreview .mini-progress input:focus{outline:2px solid #f1cb75}#tvPreview .tv-mini-frame{display:flex;align-items:center;justify-content:center;overflow:hidden}body.mini-tv-expanded #tvPreview:not(.vod-detail-open) .tv-mini-frame video{object-fit:inherit;max-width:100%;max-height:100%}#tvPreview .mini-player-settings button{white-space:normal}

/* MAX TV : ergonomie salon VIDAA. Priorite aux commandes de telecommande. */
:root{--bg:#08090b;--s:#121417;--panel:#1c1e22;--border:#34363b;--text:#f6f4ee;--muted:#b3b0a9;--gold:#cba867;--aqua:#cba867}
.shell{background:radial-gradient(ellipse at 70% 0%,#26221c 0%,#090a0c 62%)!important}
.sidebar{background:#0d0e10!important;border-right:1px solid #2b2a27!important}
button{cursor:default}
button:focus,input:focus,select:focus,.tile:focus,.channel-row:focus,.tv-category:focus{outline:2px solid #d5b67c!important;outline-offset:0!important;box-shadow:inset 0 0 0 1px #d5b67c55!important;transform:none!important}
button:focus:not(:focus-visible),input:focus:not(:focus-visible){outline:2px solid #d5b67c!important}
.channel-row:focus,.tv-category:focus{background:#34312a!important;color:#fff!important}
.tv-category.active{background:#29261f!important;border-color:#8c754c!important}
#tvPreview .mini-test-controls{gap:0!important}
#tvPreview .mini-control-row{display:flex!important;gap:10px!important;align-items:center!important;justify-content:center!important}
#tvPreview .mini-control-row button{border:0!important;background:transparent!important;color:#e8e3d9!important;min-width:48px!important;min-height:48px!important;border-radius:50%!important;padding:8px!important;font-size:14px!important}
#tvPreview .mini-control-row button:focus{background:#6b5735!important;color:#fff!important}
body.mini-tv-expanded #tvPreview .mini-test-controls{left:5%!important;right:5%!important;bottom:4%!important;background:linear-gradient(transparent,#08090be8 30%,#08090bf7)!important;padding:36px 22px 18px!important;border-radius:16px!important}
body.mini-tv-expanded #tvPreview [data-action="miniFullscreen"]{position:absolute!important;right:4%!important;bottom:2%!important;z-index:8!important;background:#201f1dcc!important;color:#fff!important;border:1px solid #716249!important;border-radius:28px!important;font-size:14px!important}
body.mini-tv-expanded #tvPreview.mini-controls-hidden [data-action="miniFullscreen"]{display:none!important}
body.mini-tv-expanded #tvPreview.mini-controls-hidden .mini-test-controls{display:none!important}
body.mini-tv-expanded #tvPreview #miniSettings{max-height:65vh!important;overflow-y:auto!important;background:#141516f5!important;border:1px solid #62543b!important;border-radius:16px!important;padding:20px!important}
@media(max-width:900px){.sidebar{width:86px!important;min-width:86px!important;padding:16px 7px!important}.logo{font-size:20px!important;padding:8px!important}.nav{gap:6px!important}.tv-layout{grid-template-columns:minmax(145px,28%) minmax(0,1fr)!important}}

/* MAX TV SALON phase 1 : ergonomie D-pad, surcouches TV, aucune modification du flux */
:root{--tv-gold:#caa66b;--tv-ink:#080a0c;--tv-panel:#161a1e}
body{background:var(--tv-ink)!important;color:#f3f1ed}
.shell,.app-area,.topbar,.sidebar,.tv-category-rail,.tv-content,.tv-preview{background-color:#101317!important}
.sidebar{border-right:1px solid rgba(202,166,107,.22)!important}
.nav,.tv-category,.channel-row,.chip,.secondary,.cta{transition:background-color .12s ease,color .12s ease,border-color .12s ease!important}
.nav,.tv-category{border-radius:9px!important}
.nav.active,.tv-category.active{background:rgba(202,166,107,.15)!important;color:#e7c58c!important}
.channel-row{background:#1b1e22!important;border:1px solid transparent!important;border-radius:9px!important;min-height:50px!important;margin-bottom:5px!important;text-align:left!important}
.channel-row:hover,.channel-row:focus-visible,.tile:focus-visible,.tv-category:focus-visible,.nav:focus-visible{background:#2b2a27!important;color:#fff!important;border-color:var(--tv-gold)!important;outline:none!important;box-shadow:inset 3px 0 0 var(--tv-gold)!important;transform:none!important}
.channel-row:focus:not(:focus-visible),.tile:focus:not(:focus-visible){outline:none!important}
.tv-category.active:not(:focus-visible),.nav.active:not(:focus-visible){box-shadow:none!important;outline:none!important}
button:focus,button:focus-visible{outline-offset:0}
.tv-layout{gap:12px!important}
.tv-preview{border:1px solid rgba(202,166,107,.2)!important;border-radius:12px!important}
#tvPreview .mini-control-row button,#tvPreview .mini-player-settings button{background:#1b1c1e!important;color:#f4f0e9!important;border:1px solid rgba(202,166,107,.24)!important;border-radius:10px!important}
#tvPreview .mini-control-row button:focus-visible,#tvPreview .mini-player-settings button:focus-visible{background:#443928!important;border-color:var(--tv-gold)!important;outline:0!important;box-shadow:inset 0 -3px 0 var(--tv-gold)!important}
#tvPreview .mini-player-settings:not([hidden]){position:relative;flex-direction:column;align-items:stretch;max-width:420px;margin:10px auto;background:#101215f5!important;border:1px solid #6b5637;border-radius:16px!important;padding:16px!important}
body.mini-tv-expanded #tvPreview .mini-test-controls{background:linear-gradient(transparent,rgba(0,0,0,.96))!important;padding:24px 4vw 28px!important}
body.mini-tv-expanded #tvPreview .mini-control-row{flex-wrap:nowrap!important;justify-content:center!important}
body.mini-tv-expanded #tvPreview .mini-control-row button{min-height:46px!important;padding:10px 16px!important}
body.mini-tv-expanded #tvPreview>.tv-mini-frame video{object-fit:contain}
body.mini-tv-expanded #tvPreview.mini-controls-hidden>[data-action="miniFullscreen"]{opacity:0!important;pointer-events:none!important}
body.mini-tv-expanded #tvPreview.mini-controls-hidden .mini-test-controls{visibility:hidden!important}
body.mini-tv-expanded #tvPreview>.tv-mini-frame{background:#000!important}
body.mini-tv-expanded #tvPreview .mini-player-settings:not([hidden]){position:absolute!important;right:3vw!important;bottom:100px!important;z-index:35!important;max-height:65vh!important;overflow:auto!important;box-shadow:0 20px 80px #000b!important}
#tvPreview .mini-progress input{accent-color:var(--tv-gold)!important}
@media(min-width:1200px){.sidebar{width:178px!important}.tv-category-rail{min-width:190px!important}.tv-preview{min-width:285px!important}}
@media(max-width:900px){.tv-layout{gap:7px!important}.tv-category-rail{min-width:150px!important}.tv-preview{min-width:210px!important}}


/* MAX TV 1.0.2 : sélection TV = un seul focus, état actif = discret */
.sidebar .nav.active,.tv-category.active,.library-quick .chip.active{background:rgba(198,157,91,.10)!important;border-color:transparent!important;box-shadow:none!important;outline:0!important;color:#d9c29a!important}
.sidebar .nav:focus,.sidebar .nav:focus-visible,.tv-category:focus,.tv-category:focus-visible,.channel-row:focus,.channel-row:focus-visible,.tile:focus,.tile:focus-visible,.library-quick .chip:focus-visible{outline:none!important;box-shadow:inset 3px 0 0 #d7b16b!important;background:#39352e!important;border-color:transparent!important;color:#fff!important}
.tv-category.active:not(:focus),.sidebar .nav.active:not(:focus){outline:0!important;box-shadow:none!important}
#tvPreview{position:relative!important;background:#111315!important}
#tvPreview .tv-mini-frame{position:relative!important}
#tvPreview .mini-test-controls{position:absolute!important;z-index:8!important;top:0!important;left:0!important;right:0!important;bottom:auto!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-end!important;gap:7px!important;padding:9px!important;background:linear-gradient(transparent,rgba(0,0,0,.92))!important;border-radius:9px!important;opacity:0!important;pointer-events:none!important;transition:opacity .2s ease!important}
#tvPreview:focus-within .mini-test-controls,#tvPreview:hover .mini-test-controls{opacity:1!important;pointer-events:auto!important}
#tvPreview .mini-control-row{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:5px!important}
#tvPreview .mini-control-row button{background:rgba(20,21,23,.86)!important;border:1px solid rgba(210,177,115,.35)!important;color:#f3f0eb!important;border-radius:7px!important;font-size:11px!important;min-height:30px!important;padding:5px 7px!important}
#tvPreview .mini-progress{width:100%!important;margin:0!important}
#tvPreview>.cta[data-action="miniFullscreen"],#tvPreview>.secondary[data-action="previewDetail"]{position:absolute!important;top:9px!important;right:10px!important;z-index:9!important;width:auto!important;margin:0!important;min-height:32px!important;padding:6px 10px!important;font-size:12px!important;background:rgba(10,12,14,.88)!important;border:1px solid rgba(215,177,107,.35)!important;opacity:0!important}
#tvPreview>.secondary[data-action="previewDetail"]{top:47px!important}
#tvPreview:focus-within>.cta[data-action="miniFullscreen"],#tvPreview:focus-within>.secondary[data-action="previewDetail"],#tvPreview:hover>.cta[data-action="miniFullscreen"],#tvPreview:hover>.secondary[data-action="previewDetail"]{opacity:1!important}
#tvPreview .mini-player-settings:not([hidden]){position:absolute!important;z-index:20!important;right:8px!important;top:8px!important;bottom:auto!important;left:auto!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:7px!important;width:min(88%,290px)!important;max-height:90%!important;overflow-y:auto!important;background:rgba(15,17,20,.98)!important;border:1px solid #8b7149!important;border-radius:12px!important;padding:12px!important;box-shadow:0 15px 45px #000c!important}
#tvPreview .mini-player-settings button{background:#252525!important;color:#eee!important;border-color:#4a4032!important;text-align:left!important;min-height:36px!important}
body.mini-tv-expanded #tvPreview .mini-test-controls{position:absolute!important;top:auto!important;bottom:16px!important;left:4vw!important;right:4vw!important;z-index:11!important;opacity:1!important;pointer-events:auto!important;padding:20px!important}
body.mini-tv-expanded #tvPreview.mini-controls-hidden .mini-test-controls,body.mini-tv-expanded #tvPreview.mini-controls-hidden>.cta[data-action="miniFullscreen"]{opacity:0!important;pointer-events:none!important;visibility:hidden!important}
body.mini-tv-expanded #tvPreview .mini-control-row button{min-height:42px!important;font-size:14px!important;padding:9px 13px!important}
body.mini-tv-expanded #tvPreview .mini-player-settings:not([hidden]){position:absolute!important;top:auto!important;right:4vw!important;bottom:100px!important;max-height:65vh!important;width:min(360px,85vw)!important}
body.mini-tv-expanded #tvPreview>.cta[data-action="miniFullscreen"]{position:absolute!important;top:15px!important;right:20px!important;left:auto!important;bottom:auto!important;width:auto!important;z-index:12!important}


/* MAX TV navigation v2: aperçu simple, commandes réellement réservées au plein écran */
body:not(.mini-tv-expanded) #tvPreview .mini-test-controls{display:none!important;visibility:hidden!important;pointer-events:none!important}
body:not(.mini-tv-expanded) #tvPreview>.cta[data-action="miniFullscreen"]{position:absolute!important;top:8px!important;right:8px!important;left:auto!important;bottom:auto!important;display:block!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;z-index:12!important;min-height:40px!important;background:rgba(15,16,18,.94)!important;color:#fff!important;border:1px solid #a98b57!important;font-size:13px!important}
body:not(.mini-tv-expanded) #tvPreview>.secondary[data-action="previewDetail"]{position:absolute!important;top:54px!important;right:8px!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
body.mini-tv-expanded #tvPreview:not(.mini-controls-hidden) .mini-test-controls{display:flex!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
body.mini-tv-expanded #tvPreview.mini-controls-hidden .mini-test-controls{display:none!important}
body.mini-tv-expanded #tvPreview .mini-player-settings:not([hidden]){display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
.tv-category.active:not(:focus),.sidebar .nav.active:not(:focus){box-shadow:none!important;border-color:transparent!important}
.tv-category:focus-visible,.channel-row:focus-visible,.tile:focus-visible{outline:2px solid #d6b57d!important;outline-offset:-2px!important}


/* VIDAA salon: un seul indicateur de focus, aucun cadre jaune autour du téléviseur */
body.mini-tv-expanded #tvPreview,body.mini-tv-expanded #tvPreview:focus,body.mini-tv-expanded #tvMiniVideo:focus,body.mini-tv-expanded #tvMiniVideo:focus-visible{outline:none!important;box-shadow:none!important;border:0!important}
body.mini-tv-expanded #tvPreview .tv-mini-frame,body.mini-tv-expanded #tvPreview .tv-mini-frame:focus{outline:0!important;border:0!important;box-shadow:none!important}
.tv-layout{grid-template-columns:minmax(180px,22%) minmax(0,1fr) minmax(210px,24%)!important;gap:10px!important}
.tv-category-rail{min-height:65vh!important;align-self:stretch!important;overflow:hidden!important}
.tv-category-scroll{max-height:calc(100vh - 170px)!important;overflow-y:auto!important;min-height:260px!important}
.tv-category:focus,.channel-row:focus,.tile:focus{outline:2px solid rgba(244,204,126,.8)!important;outline-offset:-2px!important;box-shadow:none!important;transform:none!important}
.tv-category.active:not(:focus){outline:none!important;box-shadow:none!important}
body.mini-tv-expanded #tvPreview .mini-test-controls{border:0!important;box-shadow:none!important}
@media(max-width:950px){.tv-layout{grid-template-columns:minmax(150px,24%) minmax(0,1fr)!important}.tv-preview{grid-column:2!important}}


/* MAX TV salon / TiviMax-inspired original UI, Netflix-like motion. TV-first, no browser chrome. */
:root{--tv-accent:#c9aa75;--tv-bg:#0e1014;--tv-surface:#191c23}
.shell{background:var(--tv-bg)!important;color:#f3f1ed!important}
.sidebar{background:#101218!important;border-right:1px solid #272b32!important}
.sidebar .nav{border-radius:9px!important;transition:background-color 110ms ease,color 110ms ease!important}
.sidebar .nav.active:not(:focus){background:#23252b!important;color:#e8e3d8!important;border-color:transparent!important}
.tv-layout{grid-template-columns:minmax(170px,21%) minmax(0,1fr) minmax(205px,25%)!important;gap:10px!important;align-items:start!important}
.tv-category-rail{min-width:0!important;max-width:none!important;min-height:64vh!important;background:#15171d!important;border:1px solid #272b32!important;overflow:hidden!important}
.tv-category-scroll{min-height:40vh!important;max-height:calc(100vh - 175px)!important;overflow-y:auto!important}
.tv-category{font-size:14px!important;line-height:1.3!important;min-height:42px!important;border-radius:8px!important;padding:9px 11px!important;transition:background-color 110ms ease!important}
.tv-category.active:not(:focus){background:#333137!important;color:#eee4d4!important;border:0!important;box-shadow:inset 3px 0 var(--tv-accent)!important}
.tv-content{min-width:0!important;overflow:hidden!important}
.channel-list{display:flex!important;flex-direction:column!important;gap:3px!important}
.channel-row{min-height:47px!important;background:#20242c!important;color:#f0f0f1!important;border:1px solid transparent!important;border-radius:7px!important;transition:background-color 100ms ease!important;transform:none!important}
.channel-row:hover,.channel-row:focus{background:#353941!important}
.tv-preview{background:#171a20!important;border:1px solid #2d313a!important;border-radius:10px!important;overflow:hidden!important}
.grid .tile,.tv-catalog-grid .tile{transition:background-color 110ms ease,transform 130ms ease!important}
.tile:focus,.tile:focus-visible{transform:translateY(-7px) scale(1.075)!important;z-index:10!important;position:relative!important;box-shadow:0 12px 30px rgba(0,0,0,.7),0 0 0 2px var(--tv-accent)!important;filter:brightness(1.1)!important}
.tv-category:focus,.tv-category:focus-visible,.channel-row:focus,.channel-row:focus-visible,.sidebar .nav:focus,.sidebar .nav:focus-visible{outline:2px solid var(--tv-accent)!important;outline-offset:-2px!important;box-shadow:none!important}.tile:focus,.tile:focus-visible{outline:none!important}
body.mini-tv-expanded #tvPreview,body.mini-tv-expanded #tvPreview:focus,body.mini-tv-expanded #tvMiniVideo,body.mini-tv-expanded #tvMiniVideo:focus,body.mini-tv-expanded #tvMiniVideo:focus-visible,body.mini-tv-expanded #tvPreview .tv-mini-frame{outline:none!important;box-shadow:none!important;border:0!important}
body.mini-tv-expanded #tvPreview{background:#000!important}
body.mini-tv-expanded #tvPreview .mini-test-controls{background:linear-gradient(transparent,rgba(0,0,0,.78))!important;border:0!important}
body:not(.mini-tv-expanded) #tvPreview .mini-test-controls{display:none!important;pointer-events:none!important}
body:not(.mini-tv-expanded) #tvPreview>[data-action="miniFullscreen"]{position:absolute!important;top:8px!important;right:8px!important;z-index:12!important;display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;background:rgba(20,21,25,.92)!important;color:#fff!important;min-height:38px!important;font-size:13px!important}
@media(max-width:960px){.tv-layout{grid-template-columns:minmax(160px,27%) minmax(0,1fr)!important}.tv-preview{grid-column:2!important}}
@media(prefers-reduced-motion:reduce){.tile,.channel-row,.tv-category{transition:none!important}}
