
/* ============================================================
   KOSOVA TV V3241.5 — PREMIUM APP UI
   Safe additive UI layer. No DOM moving. No playback changes.
   ============================================================ */
:root{
  --pbg:#05080d;--ppanel:#0b1119;--ppanel2:#101824;--pline:rgba(255,255,255,.08);
  --pline2:rgba(255,255,255,.13);--ptxt:#f7f9fc;--pmuted:#8f9cad;
  --pred:#ff2348;--pred2:#d91638;--predsoft:rgba(255,35,72,.14);--pgold:#f4ba45;
}
html.ktv-v32415,html.ktv-v32415 body{background:radial-gradient(circle at 8% 0%,rgba(55,112,198,.12),transparent 28%),radial-gradient(circle at 92% 0%,rgba(255,35,72,.10),transparent 24%),var(--pbg);color:var(--ptxt)}

/* premium shell */
html.ktv-v32415 #live .player-shell{border:1px solid var(--pline2);background:linear-gradient(180deg,#070b11,#05080d);box-shadow:0 34px 120px rgba(0,0,0,.56)}
html.ktv-v32415 #live .player-top,html.ktv-v32415 #live .player-header{background:linear-gradient(180deg,rgba(255,255,255,.022),transparent),#081019;border-bottom:1px solid var(--pline)}

/* desktop channel drawer */
html.ktv-v32415 #live .player-drawer{width:410px;min-width:410px;max-width:410px;background:radial-gradient(circle at 50% -10%,rgba(255,35,72,.08),transparent 30%),linear-gradient(180deg,#0c131c,#081018);border-left:1px solid var(--pline);box-shadow:-22px 0 65px rgba(0,0,0,.24)}
html.ktv-v32415 .ktv-v3239-drawer-head,html.ktv-v32415 .ktv-v3241-drawer-head{padding:14px 14px 12px;background:rgba(10,15,22,.97);border-bottom:1px solid var(--pline);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
html.ktv-v32415 .ktv-v3239-drawer-title b,html.ktv-v32415 .ktv-v3241-drawer-title b{font-size:16px;letter-spacing:-.01em}
html.ktv-v32415 .ktv-v3239-drawer-title small,html.ktv-v32415 .ktv-v3241-drawer-title small{color:var(--pmuted);font-size:10px}
html.ktv-v32415 #drawerSearch{height:44px;border-radius:13px;background:#0f1722;border:1px solid var(--pline2);padding-left:38px;color:#fff;transition:.16s ease}
html.ktv-v32415 #drawerSearch:focus{border-color:rgba(255,35,72,.58);box-shadow:0 0 0 3px rgba(255,35,72,.10)}
html.ktv-v32415 .ktv-v3239-cat,html.ktv-v32415 .ktv-v3241-cat{height:33px;padding:0 12px;border-radius:999px;background:#111a25;border:1px solid var(--pline);color:#aab5c3;font-size:9px;font-weight:800;transition:.15s ease}
html.ktv-v32415 .ktv-v3239-cat:hover,html.ktv-v32415 .ktv-v3241-cat:hover{background:#16202d;color:#fff}
html.ktv-v32415 .ktv-v3239-cat.active,html.ktv-v32415 .ktv-v3241-cat.active{background:linear-gradient(135deg,var(--pred),var(--pred2));border-color:transparent;color:#fff;box-shadow:0 10px 24px rgba(255,35,72,.18)}
html.ktv-v32415 #drawerList{padding:10px 9px 18px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}
html.ktv-v32415 #drawerList::-webkit-scrollbar{width:6px}
html.ktv-v32415 #drawerList::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:99px}
html.ktv-v32415 #drawerList .drawer-channel{min-height:64px;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:10px;margin:0 0 7px;padding:8px 10px;border-radius:15px;background:linear-gradient(180deg,#111a25,#0e1620);border:1px solid transparent;color:#fff;box-shadow:0 8px 20px rgba(0,0,0,.10);transition:.16s ease}
html.ktv-v32415 #drawerList .drawer-channel:hover{transform:translateY(-1px);background:#151f2c;border-color:var(--pline2);box-shadow:0 12px 28px rgba(0,0,0,.16)}
html.ktv-v32415 #drawerList .drawer-channel.active{background:linear-gradient(90deg,rgba(255,35,72,.18),#121b27 68%);border-color:rgba(255,35,72,.5);box-shadow:inset 3px 0 0 var(--pred),0 12px 30px rgba(0,0,0,.16)}
html.ktv-v32415 #drawerList .drawer-channel img,html.ktv-v32415 #drawerList .drawer-fallback{width:46px;height:46px;border-radius:11px;background:linear-gradient(180deg,#f6f8fb,#e8edf3);object-fit:contain;border:1px solid rgba(0,0,0,.05)}
html.ktv-v32415 #drawerList .drawer-channel b{font-size:12px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.ktv-v32415 #drawerList .drawer-channel small{font-size:9px;color:#8391a3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.ktv-v32415 #drawerList .drawer-channel em{height:22px;min-width:40px;padding:0 7px;border-radius:999px;font-size:8px;font-style:normal;font-weight:900;background:rgba(255,35,72,.12);border:1px solid rgba(255,35,72,.28);color:#fff}
html.ktv-v32415 #drawerList .drawer-channel.locked em{background:rgba(244,186,69,.10);border-color:rgba(244,186,69,.28);color:#ffd57c}

/* now playing bar */
html.ktv-v32415 .ktv-v3239-nowbar,html.ktv-v32415 .ktv-v3241-nowbar{background:linear-gradient(180deg,rgba(255,255,255,.016),transparent),#091018;border-top:1px solid var(--pline)}
html.ktv-v32415 .ktv-v3239-action,html.ktv-v32415 .ktv-v3241-action{border:1px solid var(--pline2);background:rgba(255,255,255,.04);border-radius:12px;min-height:38px;transition:.15s ease}
html.ktv-v32415 .ktv-v3239-action:hover,html.ktv-v32415 .ktv-v3241-action:hover{background:rgba(255,255,255,.075);transform:translateY(-1px)}

/* SVG icon system */
.ktv-svg-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:currentColor}
.ktv-svg-icon svg{width:100%;height:100%;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ktv-svg-only{font-size:0!important;line-height:0!important}
.ktv-svg-only .ktv-svg-icon{width:20px;height:20px}

/* better button look */
html.ktv-v32415 .ktv-iconized{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important}
html.ktv-v32415 #favoriteBtn,html.ktv-v32415 #shareBtn,html.ktv-v32415 #pipBtn,html.ktv-v32415 #reloadBtn,html.ktv-v32415 #sleepBtn,html.ktv-v32415 #channelDrawerBtn{border-radius:12px!important;border:1px solid var(--pline2)!important;background:rgba(255,255,255,.04)!important;color:#fff!important}

/* PWA/App polish */
html.ktv-v32415 body{overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}
html.ktv-v32415 button,html.ktv-v32415 a{-webkit-tap-highlight-color:transparent}

/* tablet */
@media (max-width:1180px){
  html.ktv-v32415 #live .player-drawer{width:350px;min-width:350px;max-width:350px}
  html.ktv-v32415 #drawerList .drawer-channel{grid-template-columns:44px minmax(0,1fr) auto}
  html.ktv-v32415 #drawerList .drawer-channel img,html.ktv-v32415 #drawerList .drawer-fallback{width:44px;height:44px}
}

/* mobile / app */
@media (max-width:760px){
  html.ktv-v32415 #live{padding:0;background:#02050a}
  html.ktv-v32415 #live .player-shell{width:100vw;height:100dvh;min-height:100dvh;border:0;border-radius:0;box-shadow:none}
  html.ktv-v32415 #live .player-top,html.ktv-v32415 #live .player-header{min-height:56px;padding:0 10px}
  html.ktv-v32415 #live .player-drawer{position:absolute;left:0;right:0;bottom:0;top:auto;width:100%;min-width:0;max-width:none;height:78dvh;border-left:0;border-top:1px solid var(--pline2);border-radius:22px 22px 0 0;transform:translateY(104%);box-shadow:0 -24px 80px rgba(0,0,0,.55);z-index:55;overflow:hidden;padding-bottom:env(safe-area-inset-bottom)}
  html.ktv-v32415 #live.drawer-open .player-drawer{transform:translateY(0)}
  html.ktv-v32415 #live .player-drawer:before{content:"";display:block;width:44px;height:4px;margin:8px auto 2px;border-radius:999px;background:rgba(255,255,255,.24)}
  html.ktv-v32415 .ktv-v3239-drawer-head,html.ktv-v32415 .ktv-v3241-drawer-head{padding:9px 12px 10px;position:sticky;top:0;z-index:4;background:rgba(9,14,21,.98)}
  html.ktv-v32415 #drawerSearch{height:42px;font-size:12px}
  html.ktv-v32415 .ktv-v3239-cat,html.ktv-v32415 .ktv-v3241-cat{height:31px;padding:0 11px;font-size:8px}
  html.ktv-v32415 #drawerList{padding:8px 8px calc(18px + env(safe-area-inset-bottom))}
  html.ktv-v32415 #drawerList .drawer-channel{min-height:58px;grid-template-columns:40px minmax(0,1fr) auto;gap:9px;padding:7px 8px;border-radius:13px}
  html.ktv-v32415 #drawerList .drawer-channel img,html.ktv-v32415 #drawerList .drawer-fallback{width:40px;height:40px;border-radius:10px}
  html.ktv-v32415 .ktv-v3239-nowbar,html.ktv-v32415 .ktv-v3241-nowbar{padding:10px 10px calc(10px + env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr);gap:9px;background:linear-gradient(180deg,rgba(4,8,12,.92),rgba(4,8,12,.98));backdrop-filter:blur(10px)}
  html.ktv-v32415 .ktv-v3239-nowactions,html.ktv-v32415 .ktv-v3241-nowactions{display:flex!important;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
  html.ktv-v32415 .ktv-v3239-nowactions::-webkit-scrollbar,html.ktv-v32415 .ktv-v3241-nowactions::-webkit-scrollbar{display:none}
  html.ktv-v32415 .ktv-v3239-action,html.ktv-v32415 .ktv-v3241-action{min-width:42px;min-height:40px;padding:0 10px;flex:0 0 auto;font-size:10px}
  html.ktv-v32415 .ktv-svg-icon{width:19px;height:19px}
}

@media (max-width:420px){
  html.ktv-v32415 #live .player-drawer{height:80dvh;border-radius:20px 20px 0 0}
  html.ktv-v32415 #live .player-top,html.ktv-v32415 #live .player-header{min-height:54px;padding:0 9px}
}
