
/* ============================================================
   KOSOVA TV V3243.2 — PWA APP DRAWER
   PWA / standalone only.
   Desktop and normal desktop browser remain untouched.
   ============================================================ */

html.ktv-pwa-v32432,
html.ktv-pwa-v32432 body{
  background:#02050a !important;
  overscroll-behavior:none !important;
}

html.ktv-pwa-v32432 #live{
  padding:0 !important;
  background:#02050a !important;
}

html.ktv-pwa-v32432 #live .player-shell{
  position:relative !important;
  width:100vw !important;
  height:100dvh !important;
  min-height:100dvh !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
  background:#02050a !important;
}

/* Compact app header */
html.ktv-pwa-v32432 #live .player-top,
html.ktv-pwa-v32432 #live .player-header{
  min-height:54px !important;
  padding:
    max(7px,env(safe-area-inset-top))
    10px
    7px !important;
  background:rgba(5,9,14,.97) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
}

/* Video area */
html.ktv-pwa-v32432 #live .video-wrap{
  position:relative !important;
  width:100% !important;
  background:#000 !important;
  overflow:hidden !important;
}

html.ktv-pwa-v32432 #live video{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:38dvh !important;
  aspect-ratio:16/9 !important;
  object-fit:contain !important;
  background:#000 !important;
}

/* PWA CHANNEL DRAWER — true overlay bottom sheet */
html.ktv-pwa-v32432 #live .player-drawer{
  position:absolute !important;
  z-index:110 !important;
  left:8px !important;
  right:8px !important;
  bottom:8px !important;
  top:auto !important;

  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  height:min(76dvh,720px) !important;

  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:24px !important;

  background:
    radial-gradient(circle at 50% -12%,rgba(255,35,72,.10),transparent 28%),
    rgba(8,13,20,.985) !important;

  box-shadow:
    0 -20px 70px rgba(0,0,0,.56),
    0 24px 80px rgba(0,0,0,.40) !important;

  backdrop-filter:blur(20px) !important;
  -webkit-backdrop-filter:blur(20px) !important;

  overflow:hidden !important;

  transform:translateY(calc(100% + 28px)) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;

  transition:
    transform .24s cubic-bezier(.2,.75,.2,1),
    opacity .18s ease,
    visibility .18s ease !important;
}

/* Open state: support current player classes */
html.ktv-pwa-v32432 #live.drawer-open .player-drawer,
html.ktv-pwa-v32432 #live .player-shell.drawer-open .player-drawer,
html.ktv-pwa-v32432 #live .player-drawer.open,
html.ktv-pwa-v32432 #live .player-drawer.active{
  transform:translateY(0) !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}

/* Pull handle */
html.ktv-pwa-v32432 #live .player-drawer::before{
  content:"" !important;
  display:block !important;
  width:46px !important;
  height:4px !important;
  margin:9px auto 3px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.25) !important;
}

/* Dim video while list is open */
html.ktv-pwa-v32432 #live.drawer-open .player-shell::after{
  content:"" !important;
  position:absolute !important;
  inset:54px 0 0 !important;
  z-index:100 !important;
  background:rgba(0,0,0,.42) !important;
  backdrop-filter:blur(1.5px) !important;
  -webkit-backdrop-filter:blur(1.5px) !important;
  pointer-events:none !important;
}

html.ktv-pwa-v32432 #live.drawer-open .player-drawer{
  z-index:120 !important;
}

/* Drawer top */
html.ktv-pwa-v32432 #live .player-drawer .drawer-head,
html.ktv-pwa-v32432 #live .player-drawer .drawer-header,
html.ktv-pwa-v32432 #live .player-drawer .ktv-v3239-drawer-head{
  padding:8px 12px 10px !important;
  background:rgba(8,13,20,.99) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}

html.ktv-pwa-v32432 #drawerSearch{
  width:100% !important;
  height:44px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:13px !important;
  background:#101923 !important;
  color:#fff !important;
  padding:0 14px !important;
  font-size:13px !important;
  outline:none !important;
}

html.ktv-pwa-v32432 #drawerSearch:focus{
  border-color:rgba(255,35,72,.65) !important;
  box-shadow:0 0 0 3px rgba(255,35,72,.10) !important;
}

/* Category chips */
html.ktv-pwa-v32432 .player-drawer .cat-tab,
html.ktv-pwa-v32432 .player-drawer [data-cat],
html.ktv-pwa-v32432 .player-drawer .ktv-category-chip,
html.ktv-pwa-v32432 .player-drawer .ktv-v3239-cat{
  flex:0 0 auto !important;
  min-height:32px !important;
  padding:0 12px !important;
  border-radius:999px !important;
  white-space:nowrap !important;
}

/* Channel list */
html.ktv-pwa-v32432 #drawerList{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  height:auto !important;
  max-height:calc(76dvh - 150px) !important;
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior:contain !important;
  padding:
    8px
    8px
    calc(16px + env(safe-area-inset-bottom)) !important;
  scrollbar-width:none !important;
}

html.ktv-pwa-v32432 #drawerList::-webkit-scrollbar{
  display:none !important;
}

html.ktv-pwa-v32432 #drawerList .drawer-channel{
  display:grid !important;
  grid-template-columns:44px minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:9px !important;

  width:100% !important;
  min-height:60px !important;
  margin:0 0 7px !important;
  padding:7px 9px !important;

  border-radius:14px !important;
  border:1px solid transparent !important;

  background:rgba(17,25,35,.94) !important;
  color:#fff !important;
  text-align:left !important;

  transition:
    transform .14s ease,
    background .14s ease,
    border-color .14s ease !important;
}

html.ktv-pwa-v32432 #drawerList .drawer-channel:active{
  transform:scale(.985) !important;
}

html.ktv-pwa-v32432 #drawerList .drawer-channel.active{
  background:
    linear-gradient(90deg,rgba(255,35,72,.20),rgba(17,25,35,.96) 74%) !important;
  border-color:rgba(255,35,72,.55) !important;
  box-shadow:inset 3px 0 0 #ff2348 !important;
}

html.ktv-pwa-v32432 #drawerList .drawer-channel img,
html.ktv-pwa-v32432 #drawerList .drawer-fallback{
  width:44px !important;
  height:44px !important;
  border-radius:11px !important;
  object-fit:contain !important;
  background:#f2f4f7 !important;
}

html.ktv-pwa-v32432 #drawerList .drawer-channel b{
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  font-size:12px !important;
}

html.ktv-pwa-v32432 #drawerList .drawer-channel small{
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  color:#94a2b2 !important;
  font-size:9px !important;
}

/* Current channel / lower player controls */
html.ktv-pwa-v32432 #live .ktv-v3239-nowbar,
html.ktv-pwa-v32432 #live .now-playing,
html.ktv-pwa-v32432 #live .player-meta{
  border-top:1px solid rgba(255,255,255,.08) !important;
  background:rgba(7,12,18,.98) !important;
  padding-bottom:max(10px,env(safe-area-inset-bottom)) !important;
}

/* smaller phones */
@media (max-width:420px){
  html.ktv-pwa-v32432 #live video{
    max-height:34dvh !important;
  }

  html.ktv-pwa-v32432 #live .player-drawer{
    left:6px !important;
    right:6px !important;
    bottom:6px !important;
    height:78dvh !important;
    border-radius:22px !important;
  }

  html.ktv-pwa-v32432 #drawerList{
    max-height:calc(78dvh - 150px) !important;
  }
}
