
/* ============================================================
   KOSOVA TV V3241 — UNIFIED PREMIUM POLISH
   Homepage + Player polish layer over V3239/V3240.
   Playback remains untouched.
   ============================================================ */

:root{
  --v3241-bg:#04070c;
  --v3241-panel:#0b1017;
  --v3241-panel2:#0f1620;
  --v3241-panel3:#121b27;
  --v3241-line:rgba(255,255,255,.08);
  --v3241-line-2:rgba(255,255,255,.12);
  --v3241-text:#f5f8fc;
  --v3241-muted:#9aa7b6;
  --v3241-red:#ff2348;
  --v3241-red-2:#d91438;
  --v3241-red-soft:rgba(255,35,72,.12);
  --v3241-green:#32d583;
  --v3241-shadow:0 22px 80px rgba(0,0,0,.34);
  --v3241-radius-xl:24px;
  --v3241-radius-lg:18px;
  --v3241-radius-md:14px;
}

html.ktv-v3241,
html.ktv-v3241 body{
  background:
    radial-gradient(circle at 8% 0%,rgba(66,127,218,.12),transparent 28%),
    radial-gradient(circle at 90% 4%,rgba(255,35,72,.11),transparent 22%),
    var(--v3241-bg);
  color:var(--v3241-text);
}

/* ===== Site shell / homepage ===== */
html.ktv-v3241 header,
html.ktv-v3241 .site-header,
html.ktv-v3241 .topbar{
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  background:rgba(5,9,14,.86) !important;
  border-bottom:1px solid var(--v3241-line) !important;
}

html.ktv-v3241 .site-header,
html.ktv-v3241 header{
  position:sticky;
  top:0;
  z-index:40;
}

html.ktv-v3241 .hero,
html.ktv-v3241 .hero-banner,
html.ktv-v3241 .hero-section,
html.ktv-v3241 .landing-hero{
  position:relative;
  overflow:hidden;
  border:1px solid var(--v3241-line);
  border-radius:28px;
  background:
    linear-gradient(90deg,rgba(2,5,10,.92) 0%,rgba(2,5,10,.82) 34%,rgba(2,5,10,.44) 64%,rgba(2,5,10,.28) 100%),
    radial-gradient(circle at 70% 30%,rgba(255,35,72,.08),transparent 24%),
    #0a1017;
  box-shadow:var(--v3241-shadow);
}

html.ktv-v3241 .hero::after,
html.ktv-v3241 .hero-banner::after,
html.ktv-v3241 .hero-section::after,
html.ktv-v3241 .landing-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(4,7,12,.36));
  pointer-events:none;
}

html.ktv-v3241 .hero h1,
html.ktv-v3241 .hero-banner h1,
html.ktv-v3241 .hero-section h1,
html.ktv-v3241 .landing-hero h1{
  letter-spacing:-.03em;
  line-height:.95;
}

html.ktv-v3241 .kpi-card,
html.ktv-v3241 .stat-card,
html.ktv-v3241 .metric-card{
  background:linear-gradient(180deg,#0e141d,#0b1118) !important;
  border:1px solid var(--v3241-line) !important;
  border-radius:18px !important;
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}

html.ktv-v3241 .channel-card,
html.ktv-v3241 .rail-card,
html.ktv-v3241 .poster-card,
html.ktv-v3241 .guide-card,
html.ktv-v3241 .movie-card,
html.ktv-v3241 .content-card{
  border-radius:18px !important;
  border:1px solid var(--v3241-line) !important;
  background:linear-gradient(180deg,#0d141c,#091018) !important;
  box-shadow:0 10px 30px rgba(0,0,0,.14);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

html.ktv-v3241 .channel-card:hover,
html.ktv-v3241 .rail-card:hover,
html.ktv-v3241 .poster-card:hover,
html.ktv-v3241 .guide-card:hover,
html.ktv-v3241 .movie-card:hover,
html.ktv-v3241 .content-card:hover{
  transform:translateY(-3px);
  border-color:var(--v3241-line-2) !important;
  box-shadow:0 18px 44px rgba(0,0,0,.22);
}

html.ktv-v3241 .section-title,
html.ktv-v3241 h2.section,
html.ktv-v3241 .rail-title{
  letter-spacing:-.02em;
}

html.ktv-v3241 .btn,
html.ktv-v3241 .button,
html.ktv-v3241 .cta-btn,
html.ktv-v3241 button.primary,
html.ktv-v3241 a.primary{
  border-radius:14px;
}

html.ktv-v3241 .btn-primary,
html.ktv-v3241 .button-primary,
html.ktv-v3241 .cta-primary,
html.ktv-v3241 .vip-pass{
  background:linear-gradient(135deg,var(--v3241-red),var(--v3241-red-2)) !important;
  border-color:transparent !important;
  box-shadow:0 16px 34px rgba(255,35,72,.22);
}

html.ktv-v3241 .badge-live,
html.ktv-v3241 .live-pill,
html.ktv-v3241 .tag-live{
  background:var(--v3241-red) !important;
  color:#fff !important;
}

/* ===== Player overlay ===== */
html.ktv-v3241 #live{
  padding:12px;
  background:rgba(2,5,9,.94);
}

html.ktv-v3241 #live .player-shell{
  width:min(1540px,calc(100vw - 24px));
  height:min(900px,calc(100vh - 24px));
  border-radius:24px;
  overflow:hidden;
  border:1px solid var(--v3241-line-2);
  background:linear-gradient(180deg,#070b11,#05080c);
  box-shadow:0 30px 120px rgba(0,0,0,.56);
}

html.ktv-v3241 #live .player-top,
html.ktv-v3241 #live .player-header{
  min-height:66px;
  padding:0 14px;
  border-bottom:1px solid var(--v3241-line);
  background:linear-gradient(180deg,rgba(255,255,255,.02),transparent),#081019;
}

html.ktv-v3241 #live .video-wrap{
  background:#04070b;
}

html.ktv-v3241 #live .player-drawer{
  width:430px;
  min-width:430px;
  max-width:430px;
  border-left:1px solid var(--v3241-line);
  background:
    radial-gradient(circle at 50% -10%,rgba(255,35,72,.08),transparent 30%),
    linear-gradient(180deg,#0c121a,#081018);
}

html.ktv-v3241 .ktv-v3239-offline-card{
  width:min(560px,90%);
  padding:26px 26px;
  border-radius:24px;
  border:1px solid var(--v3241-line-2);
  background:rgba(8,12,18,.78);
  box-shadow:0 24px 70px rgba(0,0,0,.34);
}

html.ktv-v3241 .ktv-v3239-offline-card b{font-size:20px}

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

html.ktv-v3241 .ktv-v3239-nowlogo,
html.ktv-v3241 .ktv-v3239-nowfallback{width:50px;height:50px;border-radius:14px}
html.ktv-v3241 .ktv-v3239-nowtitle b{font-size:15px}
html.ktv-v3241 .ktv-v3239-nowcopy small{font-size:10px;color:var(--v3241-muted)}
html.ktv-v3241 .ktv-v3239-action{
  min-height:39px;
  border-radius:12px;
  border:1px solid var(--v3241-line-2);
  background:rgba(255,255,255,.04);
}

html.ktv-v3241 .ktv-v3239-drawer-head{
  padding:15px 14px 12px;
  border-bottom:1px solid var(--v3241-line);
  background:rgba(10,15,22,.98);
}
html.ktv-v3241 .ktv-v3239-drawer-title b{font-size:17px}
html.ktv-v3241 .ktv-v3239-drawer-title small{font-size:10px;color:var(--v3241-muted)}
html.ktv-v3241 #drawerSearch{
  height:44px;
  border-radius:13px;
  border:1px solid var(--v3241-line-2);
  background:#101722;
}
html.ktv-v3241 .ktv-v3239-cat{
  height:33px;
  padding:0 12px;
  border-radius:999px;
  background:#111923;
  border:1px solid var(--v3241-line);
}
html.ktv-v3241 .ktv-v3239-cat.active{
  background:linear-gradient(135deg,var(--v3241-red),#d91636);
}
html.ktv-v3241 #drawerList{
  padding:10px 10px 16px;
}
html.ktv-v3241 #drawerList .drawer-channel{
  min-height:66px;
  grid-template-columns:48px minmax(0,1fr) auto;
  padding:8px 10px;
  border-radius:15px;
  background:#101823;
}
html.ktv-v3241 #drawerList .drawer-channel img,
html.ktv-v3241 #drawerList .drawer-fallback{width:48px;height:48px;border-radius:11px}
html.ktv-v3241 #drawerList .drawer-channel.active{
  background:linear-gradient(90deg,rgba(255,35,72,.18),#121a24 70%);
}

/* ===== Responsive ===== */
@media (max-width:1180px){
  html.ktv-v3241 #live{padding:8px}
  html.ktv-v3241 #live .player-shell{width:calc(100vw - 16px);height:calc(100vh - 16px);border-radius:20px}
  html.ktv-v3241 #live .player-drawer{width:360px;min-width:360px;max-width:360px}
  html.ktv-v3241 .hero,
  html.ktv-v3241 .hero-banner,
  html.ktv-v3241 .hero-section,
  html.ktv-v3241 .landing-hero{border-radius:24px}
}

@media (max-width:760px){
  html.ktv-v3241 #live{padding:0;background:#02050a}
  html.ktv-v3241 #live .player-shell{width:100vw;height:100dvh;min-height:100dvh;border:0;border-radius:0;box-shadow:none}
  html.ktv-v3241 #live .player-top,
  html.ktv-v3241 #live .player-header{min-height:58px;padding:0 12px}
  html.ktv-v3241 #live .player-drawer{
    position:absolute;left:0;right:0;bottom:0;top:auto;
    width:100%;min-width:0;max-width:none;
    height:min(74dvh,700px);
    border-left:0;border-top:1px solid var(--v3241-line);
    border-radius:24px 24px 0 0;
    transform:translateY(104%);
    box-shadow:0 -24px 80px rgba(0,0,0,.54);
    z-index:55;
  }
  html.ktv-v3241 #live.drawer-open .player-drawer{transform:translateY(0)}
  html.ktv-v3241 #live .player-drawer:before{content:"";display:block;width:42px;height:4px;margin:8px auto 0;border-radius:999px;background:rgba(255,255,255,.22)}
  html.ktv-v3241 .ktv-v3239-drawer-head{padding:10px 12px 10px}
  html.ktv-v3241 #drawerList{padding:8px 8px calc(24px + env(safe-area-inset-bottom))}
  html.ktv-v3241 #drawerList .drawer-channel{min-height:60px;grid-template-columns:42px minmax(0,1fr) auto;gap:9px;padding:7px 8px;border-radius:13px}
  html.ktv-v3241 #drawerList .drawer-channel img,
  html.ktv-v3241 #drawerList .drawer-fallback{width:42px;height:42px}
  html.ktv-v3241 .ktv-v3239-nowbar{grid-template-columns:minmax(0,1fr);gap:10px;padding:11px 12px}
  html.ktv-v3241 .ktv-v3239-nowactions{display:none}
  html.ktv-v3241 .ktv-v3239-nowlogo,
  html.ktv-v3241 .ktv-v3239-nowfallback{width:42px;height:42px;border-radius:12px}
  html.ktv-v3241 .ktv-v3239-nowtitle b{font-size:13px}
  html.ktv-v3241 .ktv-v3239-live-pill{height:20px;font-size:8px}
  html.ktv-v3241 .ktv-v3239-offline-card{width:min(92%,420px);padding:18px 16px;border-radius:18px}
  html.ktv-v3241 .ktv-v3239-offline-card b{font-size:16px}

  html.ktv-v3241 .hero,
  html.ktv-v3241 .hero-banner,
  html.ktv-v3241 .hero-section,
  html.ktv-v3241 .landing-hero{
    border-radius:0;
    border-left:0;
    border-right:0;
  }
}
