
/* ============================================================
   KOSOVA TV V3241.1 — FINAL DEVICE POLISH
   Final micro-polish for desktop / tablet / mobile.
   Playback remains untouched.
   ============================================================ */

:root{
  --v32411-bg:#04070c;
  --v32411-panel:#0a1017;
  --v32411-panel2:#0f1621;
  --v32411-line:rgba(255,255,255,.08);
  --v32411-line-2:rgba(255,255,255,.12);
  --v32411-red:#ff2348;
  --v32411-muted:#95a3b4;
}

html.ktv-v32411,
html.ktv-v32411 body{
  background:
    radial-gradient(circle at 8% 0%,rgba(52,113,201,.11),transparent 28%),
    radial-gradient(circle at 90% 2%,rgba(255,35,72,.10),transparent 24%),
    var(--v32411-bg);
}

/* ===== Player global ===== */
html.ktv-v32411 #live .player-shell{
  width:min(1560px,calc(100vw - 18px));
  height:min(920px,calc(100vh - 18px));
  border-radius:22px;
}

html.ktv-v32411 #live .player-top,
html.ktv-v32411 #live .player-header{
  min-height:62px;
}

html.ktv-v32411 #live .player-drawer{
  width:395px;
  min-width:395px;
  max-width:395px;
}

html.ktv-v32411 .ktv-v3239-nowbar,
html.ktv-v32411 .ktv-v3241-nowbar{
  border-top:1px solid var(--v32411-line);
  background:linear-gradient(180deg,rgba(255,255,255,.012),transparent),#081018;
}

html.ktv-v32411 .ktv-v3239-action,
html.ktv-v32411 .ktv-v3241-action{
  min-height:38px;
  border-radius:12px;
}

html.ktv-v32411 #drawerList .drawer-channel,
html.ktv-v32411 #drawerList .drawer-channel.active{
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
html.ktv-v32411 #drawerList .drawer-channel:hover{
  transform:translateY(-1px);
}

/* Cleaner drawer: keep only one search row */
html.ktv-v32411 .ktv-v32411-hide-duplicate{display:none !important;}

/* Desktop / tablet proportions */
@media (min-width:761px){
  html.ktv-v32411 #live .video-wrap{
    display:flex;
    flex-direction:column;
    justify-content:center;
    background:#04070b;
  }

  html.ktv-v32411 #live video{
    max-height:calc(100vh - 250px);
    background:#000;
  }
}

@media (max-width:1180px){
  html.ktv-v32411 #live .player-shell{
    width:calc(100vw - 12px);
    height:calc(100vh - 12px);
    border-radius:18px;
  }
  html.ktv-v32411 #live .player-drawer{
    width:350px;
    min-width:350px;
    max-width:350px;
  }
}

/* ===== Mobile critical polish ===== */
@media (max-width:760px){
  html.ktv-v32411 #live{
    padding:0;
    background:#02050a;
  }

  html.ktv-v32411 #live .player-shell{
    width:100vw;
    height:100dvh;
    min-height:100dvh;
    border-radius:0;
    border:0;
    box-shadow:none;
    display:flex;
    flex-direction:column;
  }

  html.ktv-v32411 #live .player-top,
  html.ktv-v32411 #live .player-header{
    min-height:56px;
    padding:0 10px;
  }

  /* much cleaner video block on mobile */
  html.ktv-v32411 #live .video-wrap{
    position:relative;
    flex:0 0 auto;
    background:#000;
  }

  html.ktv-v32411 #live video,
  html.ktv-v32411 #live .video-wrap video{
    width:100%;
    height:auto;
    max-height:34dvh;
    aspect-ratio:16/9;
    object-fit:contain;
    background:#000;
  }

  html.ktv-v32411 #playerEmpty{
    min-height:28dvh;
  }

  /* channel info bar stays visible and professional */
  html.ktv-v32411 .ktv-v3239-nowbar,
  html.ktv-v32411 .ktv-v3241-nowbar{
    position:sticky;
    bottom:0;
    z-index:4;
    padding:10px 10px calc(10px + env(safe-area-inset-bottom));
    grid-template-columns:minmax(0,1fr);
    gap:10px;
    background:linear-gradient(180deg,rgba(4,8,12,.92),rgba(4,8,12,.98));
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
  }

  html.ktv-v32411 .ktv-v3239-nowleft,
  html.ktv-v32411 .ktv-v3241-nowleft{
    gap:10px;
  }

  html.ktv-v32411 .ktv-v3239-nowlogo,
  html.ktv-v32411 .ktv-v3239-nowfallback,
  html.ktv-v32411 .ktv-v3241-nowlogo,
  html.ktv-v32411 .ktv-v3241-nowfallback{
    width:40px;
    height:40px;
    border-radius:11px;
  }

  html.ktv-v32411 .ktv-v3239-nowtitle b,
  html.ktv-v32411 .ktv-v3241-nowtitle b{
    font-size:13px;
  }

  /* horizontal compact action row for mobile */
  html.ktv-v32411 .ktv-v3239-nowactions,
  html.ktv-v32411 .ktv-v3241-nowactions{
    display:flex !important;
    gap:8px;
    overflow-x:auto;
    padding-bottom:2px;
    scrollbar-width:none;
  }
  html.ktv-v32411 .ktv-v3239-nowactions::-webkit-scrollbar,
  html.ktv-v32411 .ktv-v3241-nowactions::-webkit-scrollbar{display:none}

  html.ktv-v32411 .ktv-v3239-action,
  html.ktv-v32411 .ktv-v3241-action{
    min-width:44px;
    min-height:40px;
    padding:0 11px;
    flex:0 0 auto;
    font-size:10px;
  }

  /* bottom sheet drawer improved */
  html.ktv-v32411 #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(--v32411-line-2);
    border-radius:22px 22px 0 0;
    transform:translateY(104%);
    box-shadow:0 -24px 80px rgba(0,0,0,.56);
    z-index:55;
    overflow:hidden;
  }

  html.ktv-v32411 #live.drawer-open .player-drawer{
    transform:translateY(0);
  }

  html.ktv-v32411 #live .player-drawer:before{
    content:"";
    display:block;
    width:46px;
    height:4px;
    margin:8px auto 2px;
    border-radius:999px;
    background:rgba(255,255,255,.25);
  }

  html.ktv-v32411 .ktv-v3239-drawer-head,
  html.ktv-v32411 .ktv-v3241-drawer-head{
    padding:8px 12px 10px;
  }

  html.ktv-v32411 #drawerSearch{
    height:42px;
    font-size:12px;
    border-radius:12px;
  }

  html.ktv-v32411 .ktv-v3239-cats,
  html.ktv-v32411 .ktv-v3241-cats{
    gap:7px;
  }

  html.ktv-v32411 .ktv-v3239-cat,
  html.ktv-v32411 .ktv-v3241-cat{
    height:31px;
    padding:0 11px;
    font-size:8px;
  }

  html.ktv-v32411 #drawerList{
    padding:8px 8px calc(18px + env(safe-area-inset-bottom));
    overscroll-behavior:contain;
  }

  html.ktv-v32411 #drawerList .drawer-channel{
    min-height:58px;
    grid-template-columns:40px minmax(0,1fr) auto;
    gap:9px;
    padding:7px 8px;
    border-radius:13px;
  }

  html.ktv-v32411 #drawerList .drawer-channel img,
  html.ktv-v32411 #drawerList .drawer-fallback{
    width:40px;
    height:40px;
    border-radius:10px;
  }

  /* compact any legacy control bar if present */
  html.ktv-v32411 .player-controls,
  html.ktv-v32411 .bottom-controls,
  html.ktv-v32411 .live-actions{
    gap:8px;
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:2px;
    scrollbar-width:none;
  }
  html.ktv-v32411 .player-controls::-webkit-scrollbar,
  html.ktv-v32411 .bottom-controls::-webkit-scrollbar,
  html.ktv-v32411 .live-actions::-webkit-scrollbar{display:none}
}

@media (max-width:420px){
  html.ktv-v32411 #live .player-top,
  html.ktv-v32411 #live .player-header{
    min-height:54px;
    padding:0 9px;
  }

  html.ktv-v32411 #live .player-drawer{
    height:80dvh;
    border-radius:20px 20px 0 0;
  }

  html.ktv-v32411 #live video,
  html.ktv-v32411 #live .video-wrap video{
    max-height:30dvh;
  }
}
