:root{--bg:#07070a;--panel:#0f1016;--card:#12131b;--muted:#b9bdd0;--chip:#1a1b24;--accent:#e11d2e;--accent2:#ff2d55;--border:rgba(255,255,255,.10);--shadow:0 14px 38px rgba(0,0,0,.55);}
body{background:var(--bg);color:#fff;font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;}
.text-muted{color:var(--muted)!important;}
.muted{color:var(--muted)!important;}
.form-control::placeholder{color:rgba(255,255,255,.55)!important;}
a{color:#fff;}
.navbar{background:rgba(8,12,22,.82)!important;backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.06);}
.navbar .container{display:flex;align-items:center;gap:14px;}
.navbar .nav-right{margin-left:auto;display:flex;align-items:center;gap:10px;}
.navbar input[type="text"], .navbar select{height:40px;border-radius:12px!important;border:1px solid rgba(255,255,255,.16)!important;background:rgba(255,255,255,.06)!important;color:#fff!important;}
.navbar input::placeholder{color:rgba(255,255,255,.55);}
.navbar .btn, .navbar button{height:40px;border-radius:12px;}
@media (max-width: 992px){
  .navbar .container{flex-wrap:wrap;}
  .navbar .nav-right{width:100%;margin-left:0;justify-content:flex-start;flex-wrap:wrap;}
  .navbar input[type="text"]{flex:1;min-width:160px;}
}
.card-dark{background:var(--card);border:0;border-radius:16px;}

/* Footer */
.site-footer{border-top:1px solid rgba(255,255,255,.06);background:rgba(8,12,22,.55);backdrop-filter:blur(10px);} 
.poster{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:14px;transition:transform .2s ease, filter .2s ease;}
.poster:hover{transform:scale(1.03);filter:brightness(1.05);}
.poster-detail{width:220px;max-width:46vw;box-shadow:0 22px 60px rgba(0,0,0,.55);}
.badge-float{position:absolute;top:10px;left:10px;}
.grid-card{position:relative;}
.small-muted{color:var(--muted);}
.chip{display:inline-block;padding:4px 10px;border-radius:999px;background:var(--chip);margin-right:6px;font-size:12px;color:#fff;}
.hero{position:relative;border-radius:18px;overflow:hidden;}
.hero-bg{width:100%;height:420px;object-fit:cover;filter:brightness(.55);}
.hero-overlay{position:absolute;inset:0;display:flex;align-items:end;padding:28px;}
.hero-box{max-width:760px;}
.hero-title{font-size:40px;margin:0;}
.hero-meta{color:var(--muted);margin-top:6px;}
.hero-actions{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap;}

/* Movie detail hero: keep poster readable on mobile, with blurred poster in the background */
.movie-hero{--bg:url('');}
.movie-hero::before{content:'';position:absolute;inset:-30px;background-image:var(--bg);background-size:cover;background-position:center;filter:blur(18px);transform:scale(1.15);opacity:.9;}
.movie-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,10,18,.88),rgba(6,10,18,.35));}
.movie-hero .hero-overlay{position:relative;z-index:2;align-items:flex-end;}

/* Player shell: locks to screen ratio and uses poster as subtle background */
.player-shell{--poster:url('');position:relative;border-radius:14px;overflow:hidden;background-image:var(--poster);background-size:cover;background-position:center;aspect-ratio:16/9;}
.player-shell::before{content:'';position:absolute;inset:-20px;background-image:var(--poster);background-size:cover;background-position:center;filter:blur(18px);transform:scale(1.15);opacity:.65;}
.player-shell::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.6));}
.player-shell video{position:relative;z-index:2;width:100%;height:100%;background:transparent;}
.channel-card{background:var(--card);border-radius:14px;padding:12px;display:flex;gap:10px;align-items:center;}
.channel-card img{width:48px;height:48px;border-radius:10px;object-fit:cover;}
.channel-card:hover{outline:1px solid rgba(255,255,255,.12);}
.section-title{display:flex;align-items:end;justify-content:space-between;}
.section-title h4{margin:0;}



.btn.active{background:#fff;color:#000;border-color:#fff;}
.nav-link.active{font-weight:700;text-decoration:underline;}

/* NETFLIX ROWS */
.section-title{font-size:1.35rem;font-weight:700;margin:22px 0 12px;}
.row-wrap{position:relative;}
.row-scroller{
  display:flex; gap:12px; overflow-x:auto; padding:6px 4px 16px;
  scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
}
.row-scroller::-webkit-scrollbar{height:8px}
.row-scroller::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:999px}
.card-tile{display:block;flex:0 0 auto;
  min-width:170px; max-width:170px; scroll-snap-align:start;
  border-radius:14px; overflow:hidden; background:#101318; box-shadow:0 8px 20px rgba(0,0,0,.35);
  transition:transform .15s ease, box-shadow .15s ease;
  cursor:pointer; text-decoration:none; color:inherit;
  position:relative;
}
.card-tile:hover{transform:translateY(-2px) scale(1.02); box-shadow:0 12px 28px rgba(0,0,0,.5);}
.card-tile img{width:100%; height:250px; object-fit:cover; display:block; background:#0b0d10;}
.tile-meta{padding:10px 10px 12px;}
.tile-title{font-size:.95rem;font-weight:700;line-height:1.2; margin:0 0 4px;}
.tile-sub{font-size:.8rem;opacity:.75;margin:0;}

.tile-badge{
  position:absolute;
  top:10px;
  left:10px;
  z-index:5;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.5px;
  color:#fff;
  background:linear-gradient(135deg,#ff2b52,#ff8a00);
  box-shadow:0 6px 18px rgba(255,43,82,.35);
  text-transform:uppercase;
}

/* Rating badge (bottom-left inside poster) */
.tile-rating{
  position:absolute;
  left:10px;
  bottom:10px;
  z-index:5;
  padding:4px 8px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.2px;
  color:#fff;
  background:rgba(0,0,0,.65);
  backdrop-filter: blur(6px);
  box-shadow:0 6px 18px rgba(0,0,0,.35);
}
.row-btn{
  position:absolute; top:38%; transform:translateY(-50%);
  width:42px; height:64px; border:0; border-radius:14px;
  background:rgba(0,0,0,.55); color:#fff; z-index:2;
  display:flex; align-items:center; justify-content:center;
  opacity:.0; transition:opacity .15s ease, background .15s ease;
}
.row-wrap:hover .row-btn{opacity:1}
.row-btn:hover{background:rgba(0,0,0,.75)}
.row-btn.left{left:-6px}
.row-btn.right{right:-6px}
.badge-pill{border-radius:999px;padding:.2rem .55rem;font-size:.72rem;}
.search-box{display:flex;gap:8px;align-items:center;}
.search-box .form-control, .search-box .custom-select{height:34px;font-size:.9rem;}
.search-box .btn{height:34px;padding:0 12px;}
.nav-active{background:#fff!important;color:#000!important;}

.row-scroller{align-items:flex-start;}

.card-tile img{background-image:url('/assets/placeholder_poster.svg');background-size:cover;background-position:center;}

/* Mobile polish */
@media (max-width: 576px){
  .hero-backdrop{height:320px;}
  .card-tile{min-width:140px; max-width:140px;}
  .card-tile img{height:205px;}
  .section-title{font-size:1.15rem; margin:16px 0 10px;}
  .movie-actions .btn{padding:.55rem .9rem; font-size:.95rem;}
  img.actor-profile{width:100%; max-height:420px; object-fit:cover;}
  .poster-detail{width:160px; max-height:40vh; object-fit:cover;}
  .hero-actions{flex-direction:column;align-items:stretch;}
  .hero-actions .btn{width:100%;}
  .player-shell{max-height:52vh;}
}

/* Make detail poster never overflow the viewport */
.poster-detail{height:auto; max-height:45vh; object-fit:cover;}

/* Cast grid images (mobile) */
.cast-grid .card img{aspect-ratio: 2 / 3; object-fit:cover;}

@media (max-width:576px){ img.actor-profile{max-height:320px;} }

@media (max-width:576px){ .row-btn{display:none;} }
.row-scroll{ -webkit-overflow-scrolling: touch; }

/* Actor page v53 (mobile friendly) */
.actor-hero{border-radius:18px;overflow:hidden}
.actor-avatar-img{width:120px;height:160px;object-fit:cover;border-radius:14px;display:block;border:1px solid rgba(255,255,255,.12);background:#111}

.poster-strip{display:flex;gap:12px;overflow-x:auto;padding:6px 2px 10px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.poster-strip::-webkit-scrollbar{height:8px}
.poster-strip::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:999px}

.poster-mini{flex:0 0 auto;width:120px;scroll-snap-align:start;text-decoration:none;color:#fff}
.poster-mini img{width:100%;height:180px;object-fit:cover;border-radius:14px;display:block;border:1px solid rgba(255,255,255,.10);background:#111}
.poster-mini-title{margin-top:8px;font-size:12px;line-height:1.25;opacity:.92;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

@media (min-width: 768px){
  .actor-avatar-img{width:160px;height:220px}
  .poster-mini{width:140px}
  .poster-mini img{height:210px}
}


/* ===== Premium Red/Black Theme ===== */
a{color:#fff;}
a:hover{color:#fff;opacity:.95;text-decoration:none;}
.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent2));border:none;box-shadow:0 10px 24px rgba(225,29,46,.25);}
.btn-primary:hover{filter:brightness(1.06);}
.btn-outline-light{border-color:rgba(255,255,255,.22);}
.badge-accent{background:rgba(225,29,46,.14);border:1px solid rgba(225,29,46,.35);color:#ffd2d8;}

.container{max-width:1200px;}
.card{background:rgba(18,19,27,.92);border:1px solid var(--border);box-shadow:none;}
.card:hover{transform:translateY(-2px);transition:transform .18s ease;}
.card-img-top{aspect-ratio:2/3;width:100%;height:auto;object-fit:cover;background:#0b0c10;}
/* Make titles clamp nicely */
.card-body .small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:34px;}

/* Nav: keep one line on desktop, drawer on mobile */
.navbar{background:rgba(5,6,10,.78)!important;border-bottom:1px solid rgba(255,255,255,.06);}
.navbar-brand{font-weight:800;letter-spacing:.2px;}
.navbar .navbar-nav{flex-wrap:nowrap;white-space:nowrap;}
.navbar .navbar-collapse{flex-grow:0;}
@media (min-width: 992px){
  .navbar .navbar-nav{gap:8px;}
}

/* Hero (Premium) */
.hero-premium{position:relative;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.08);background:#090a0f;}
.hero-premium .hero-bg{
  position:absolute;inset:0;
  background-size:cover;
  background-position:center;
  /* Background should look like the active poster/backdrop (blurred), not the posters themselves */
  filter:none;
  opacity:.18;
  transform:scale(1.03);
}
.hero-premium .hero-overlay{position:absolute;inset:0;background:radial-gradient(1200px 500px at 20% 40%, rgba(225,29,46,.22), rgba(0,0,0,0) 55%), linear-gradient(90deg, rgba(0,0,0,.84) 0%, rgba(0,0,0,.50) 58%, rgba(0,0,0,.18) 100%);}
.hero-premium .hero-inner{position:relative;padding:26px 22px;min-height:380px;display:flex;flex-direction:column;justify-content:center;}
.hero-premium h1{font-weight:900;line-height:1.05;margin:0 0 10px;font-size:2.15rem;}
.hero-premium .meta{opacity:.92;margin-bottom:12px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.hero-premium .meta .dot{opacity:.55}
.hero-premium .actions{display:flex;gap:10px;flex-wrap:wrap}
.hero-premium .actions .btn{padding:10px 16px;font-weight:700}

/* Cubik (3D coverflow) featured posters */
.hero-cubik{
  position:absolute; right:22px; top:18px; bottom:18px;
  width:min(520px, 46vw);
  display:flex; flex-direction:column; justify-content:center;
  pointer-events:auto;
  perspective:1200px;
  user-select:none;
  touch-action:pan-y;
}
.hero-cubik.is-dragging{cursor:grabbing}
.hero-cubik .cubik-track{
  position:relative;
  height:320px;
  display:block;
  transform-style:preserve-3d;
  margin:0 auto;
}
.hero-cubik .cubik-slide{
  position:absolute; top:0; left:50%;
  width:200px; aspect-ratio:2/3;
  transform-style:preserve-3d;
  transform-origin:center;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  background:#0b0c10;
  box-shadow:0 18px 44px rgba(0,0,0,.55);
  transition:transform .22s ease, opacity .22s ease, filter .22s ease;
  cursor:grab;
  padding:0;
}
.hero-cubik .cubik-slide img{width:100%;height:100%;object-fit:cover;display:block}
.hero-cubik .cubik-slide.is-active{filter:brightness(1.05)}
.hero-cubik .cubik-dots{
  display:flex; justify-content:center; gap:7px;
  margin-top:16px; opacity:.75;
}
.hero-cubik .cubik-dots .dot{
  width:7px;height:7px;border-radius:999px;
  background:rgba(255,255,255,.22);
}
.hero-cubik .cubik-dots .dot.is-active{background:var(--accent, #e11d2e); opacity:1}

@media (max-width: 992px){
  .hero-premium .hero-inner{min-height:360px;padding:22px 16px;}
  .hero-cubik{
    position:relative; right:auto; top:auto; bottom:auto;
    width:100%; margin-top:14px;
  }
  .hero-cubik .cubik-track{height:260px}
  .hero-cubik .cubik-slide{width:160px;border-radius:16px}
}
@media (max-width: 420px){
  .hero-cubik .cubik-track{height:240px}
  .hero-cubik .cubik-slide{width:148px}
}


/* Rows: smooth horizontal scroll on mobile */
.row-scroller{scroll-snap-type:x mandatory;}
.row-scroller .tile{scroll-snap-align:start;}
.tile{width:160px;flex:0 0 auto;}
.tile .tile-poster{aspect-ratio:2/3;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.10);background:#0b0c10;}
.tile .tile-poster img{width:100%;height:100%;object-fit:cover;}
.tile .tile-title{margin-top:8px;font-size:.92rem;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px;}
@media (max-width: 576px){
  .tile{width:140px;}
}

/* Actor page portrait */
.actor-portrait{width:120px;height:120px;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.10);background:#0b0c10;flex:0 0 auto;}
.actor-portrait img{width:100%;height:100%;object-fit:cover;}


/* ===== V56 Premium Polish ===== */
:root{
  --bg:#0b0b10;
  --panel:#111119;
  --panel2:#151524;
  --text:#e9e9ef;
  --muted:#a7a7b4;
  --accent:#e50914;
  --accent2:#ff2d2d;
  --radius:16px;
}

.container{max-width:1100px;}

.line-clamp-2{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.line-clamp-3{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* Card polish */
.card-premium{
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  border:1px solid rgba(255,255,255,.06);
  border-radius:var(--radius);
  box-shadow:0 16px 50px rgba(0,0,0,.45);
}

/* Actor header */
.actor-hero{
  position:relative;
  padding:18px;
  border-radius:var(--radius);
  overflow:hidden;
  background:linear-gradient(120deg, rgba(229,9,20,.18), rgba(0,0,0,.6));
  border:1px solid rgba(255,255,255,.07);
}
.actor-hero::before{
  content:"";
  position:absolute; inset:0;
  background:radial-gradient(700px 300px at 30% 20%, rgba(229,9,20,.25), transparent 60%),
             radial-gradient(600px 300px at 70% 80%, rgba(255,45,45,.12), transparent 60%);
  pointer-events:none;
}
.actor-hero-inner{
  position:relative;
  display:flex;
  gap:16px;
  align-items:flex-start;
}
.actor-avatar{
  width:110px; height:110px;
  border-radius:22px;
  overflow:hidden;
  flex:0 0 auto;
  background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.10);
}
.actor-avatar img{width:100%; height:100%; object-fit:cover; display:block;}
.actor-meta{flex:1; min-width:0;}
.actor-name{
  font-size:20px;
  font-weight:800;
  letter-spacing:.2px;
  margin:0 0 6px 0;
}
.badges{display:flex; gap:10px; flex-wrap:wrap; margin-top:8px;}
.badge-pill{
  font-size:12px;
  color:var(--text);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  padding:6px 10px;
  border-radius:999px;
}
.badge-pill b{color:var(--accent2); font-weight:800;}

/* Poster rail (Netflix row) */
.poster-rail{
  display:flex;
  gap:10px;
  overflow:auto;
  padding:10px 4px 2px;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
}
.poster-rail::-webkit-scrollbar{height:8px;}
.poster-rail::-webkit-scrollbar-thumb{background:rgba(255,255,255,.10); border-radius:999px;}
.rail-item{
  scroll-snap-align:start;
  flex:0 0 auto;
  width:110px;
}
.rail-poster{
  aspect-ratio:2/3;
  border-radius:14px;
  overflow:hidden;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 12px 30px rgba(0,0,0,.45);
}
.rail-poster img{width:100%; height:100%; object-fit:cover; display:block;}
.rail-title{
  margin-top:6px;
  font-size:12px;
  color:var(--muted);
}

/* Cast list page cards */
.cast-grid{
  display:grid;
  grid-template-columns:repeat(6, minmax(0,1fr));
  gap:12px;
}
@media(max-width:1100px){.cast-grid{grid-template-columns:repeat(5, minmax(0,1fr));}}
@media(max-width:900px){.cast-grid{grid-template-columns:repeat(4, minmax(0,1fr));}}
@media(max-width:700px){.cast-grid{grid-template-columns:repeat(3, minmax(0,1fr));}}
/* Mobile: keep 3 columns so cards stay small */
@media(max-width:520px){.cast-grid{grid-template-columns:repeat(3, minmax(0,1fr));}}

.cast-card{
  border-radius:18px;
  overflow:hidden;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);
  transition:transform .15s ease, border-color .15s ease;
}
.cast-card:hover{transform:translateY(-2px); border-color:rgba(229,9,20,.35);}
.cast-photo{
  aspect-ratio:2/3;
  overflow:hidden;
  background:rgba(0,0,0,.4);
}
.cast-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.cast-info{padding:10px;}
.cast-info .n{font-weight:800; font-size:14px; margin:0 0 4px 0;}
.cast-info .s{font-size:12px; color:var(--muted); margin:0;}

/* Mobile: make hero tighter and rails bigger */
@media(max-width:520px){
  .actor-avatar{width:92px; height:92px; border-radius:18px;}
  .actor-name{font-size:18px;}
  .rail-item{width:120px;}
}



/* Live TV */
.tv-page .tv-panel,.tv-page .tv-player{background:var(--panel);border:1px solid rgba(255,255,255,.08);border-radius:18px;box-shadow:var(--shadow);}
.tv-page .tv-featured{background:var(--panel);border:1px solid rgba(255,255,255,.08);border-radius:18px;box-shadow:var(--shadow);}
.tv-page .tv-featured-track{display:flex;gap:10px;overflow:auto;padding-bottom:4px;scrollbar-width:thin;}
.tv-page .tv-featured-btn{display:flex;align-items:center;gap:10px;min-width:190px;max-width:240px;padding:10px 12px;border-radius:14px;background:#0b0f14;border:1px solid rgba(255,255,255,.06);color:#dfe6ee;text-align:left;transition:transform .08s ease, background .15s ease, border-color .15s ease;}
.tv-page .tv-featured-btn:hover{background:#0e141d;border-color:rgba(255,255,255,.10);transform:translateY(-1px);}
.tv-page .tv-featured-logo{width:38px;height:38px;border-radius:12px;background:#1b2230;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto;}
.tv-page .tv-featured-logo img{width:100%;height:100%;object-fit:contain;background:#fff;padding:6px;}
.tv-page .tv-featured-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tv-page .tv-list{max-height:540px;overflow:auto;border-radius:14px;}
.tv-page .tv-item{background:#0b0f14;color:#dfe6ee;border-color:rgba(255,255,255,.06);}
.tv-page .tv-item:hover{background:#0e141d;}
.tv-page .tv-item.active{background:rgba(225,29,46,.16);border-color:rgba(225,29,46,.35);}
.tv-page .tv-logo{width:44px;height:44px;border-radius:12px;background:#1b2230;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto;}
.tv-page .tv-logo img{width:100%;height:100%;object-fit:contain;background:#fff;padding:6px;}
.tv-page .tv-pill{padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);}
.tv-page .tv-now-logo{width:34px;height:34px;border-radius:10px;background:#1b2230;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto;}
.tv-page .tv-now-logo img{width:100%;height:100%;object-fit:contain;background:#fff;padding:5px;}
.tv-page .tv-video-wrap{position:relative;border-radius:18px;overflow:hidden;background:#000;border:1px solid rgba(255,255,255,.10);}
.tv-page video{width:100%;height:min(520px,60vh);background:#000;}
.tv-page .tv-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 20%, rgba(225,29,46,.25), rgba(0,0,0,.7));}
.tv-page .tv-overlay-inner{text-align:center;padding:18px 16px;border-radius:16px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.10);backdrop-filter: blur(8px);}
.tv-page .tv-overlay-title{font-weight:800;font-size:1.1rem;}
.tv-page .tv-overlay-sub{font-size:.9rem;}
@media (max-width: 991px){
  .tv-page .tv-list{max-height:360px;}
  .tv-page video{height:48vh;}
}

@media (max-width: 520px){
  .tv-page .tv-featured-btn{min-width:160px;}
}


/* Home: Live TV slider */

.tv-home-slider{display:flex;gap:12px;overflow:auto;padding:4px 2px 10px;scrollbar-width:thin;}
.tv-home-card{display:flex;align-items:center;gap:10px;min-width:180px;max-width:240px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);text-decoration:none;transition:transform .12s ease, border-color .12s ease;}
.tv-home-card:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.16);}
.tv-home-logo{width:42px;height:42px;border-radius:14px;background:#1b2230;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto;}
.tv-home-logo img{width:100%;height:100%;object-fit:contain;background:#fff;padding:7px;}
.tv-home-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media (max-width: 576px){
  .tv-home-card{min-width:150px;padding:10px 12px;}
  .tv-home-logo{width:38px;height:38px;border-radius:12px;}
}


/* Live TV responsive */

@media (max-width: 992px){
  .tv-player .card-body{padding:14px!important;}
  .tv-panel .card-body{padding:14px!important;}
  .tv-list{max-height:360px;}
}
@media (max-width: 576px){
  .tv-featured-track{gap:10px;}
  .tv-featured-btn{min-width:150px;}
  .tv-list{max-height:320px;}
  .tv-item{padding:10px 12px;}
}

/* Premium polish */
.hero-premium .hero-bg{transition:opacity .18s ease;}

/* Subtle skeleton for slow images */
body:not(.is-ready) img[loading="lazy"],
body.is-ready img{filter:none;opacity:1;transition:filter .25s ease, opacity .25s ease;}

/* Better focus visibility */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible{outline:2px solid var(--accent, #e11d48);outline-offset:2px;}



@media (max-width: 576px){
  /* Mobile TV logo polish */
  .tv-home-logo{width:48px;height:48px;border-radius:16px;}
  .tv-home-logo img{padding:4px;background:rgba(255,255,255,.92);}
  .tv-home-card{min-width:170px;padding:12px 12px;}
  .tv-page .tv-featured-logo{width:46px;height:46px;border-radius:16px;}
  .tv-page .tv-featured-logo img{padding:4px;background:rgba(255,255,255,.92);}
  .tv-page .tv-logo{width:50px;height:50px;border-radius:16px;}
  .tv-page .tv-logo img{padding:4px;background:rgba(255,255,255,.92);}
  .tv-page .tv-now-logo{width:40px;height:40px;border-radius:14px;}
  .tv-page .tv-now-logo img{padding:3px;background:rgba(255,255,255,.92);}
  .tv-page .tv-item .btn{padding:.35rem .65rem;font-size:.85rem;}
}
@media (max-width: 420px){
  .tv-home-card{min-width:160px;}
  .tv-page .tv-featured-btn{min-width:150px;}
}


/* Premium UX polish */
.front-navbar{
  position: sticky;
  top: 0;
  z-index: 3000;
  background: rgba(7,7,10,.70);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--border);
}
.front-navbar .dropdown-menu{ z-index: 4000; }
.front-navbar .navbar-nav .dropdown-menu{
  margin-top: .5rem;
}
/* Home-only background image */
.home-page-bg{
  position: fixed;
  inset: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  opacity: .14;
  z-index: 0;
  pointer-events: none;
  filter: saturate(1.05) contrast(1.05);
}
body.home-page{ position: relative; }
body.home-page .container, body.home-page main{ position: relative; z-index: 1; }


/* Home Cubik title line */
.hero-premium .hero-inner{position:relative;}
.hero-premium .hero-titleline{
  position:absolute;
  left:64px;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  justify-content:flex-start;
  max-width:44%;
  pointer-events:none;
}
.hero-premium .hero-title-small{
  font-weight:800;
  font-size:1.25rem;
  letter-spacing:.2px;
  text-align:left;
  max-width:72ch;
  color:#fff;
  text-shadow:0 10px 22px rgba(0,0,0,.65);
}
@media (max-width: 992px){
  .hero-premium .hero-titleline{left:28px;max-width:58%;}
}
@media (max-width: 768px){
  .hero-premium .hero-titleline{left:18px;top:auto;bottom:18px;transform:none;max-width:68%;}
  .hero-premium .hero-title-small{font-size:1.05rem;}
}

.hero-cubik .cubik-slide{backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:transform;}
.hero-cubik .cubik-slide img{transform:translateZ(0);image-rendering:auto;}


/* Filters bar polish (movies/series/software pages) */
.page-filters{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}
.page-filters .form-control,
.page-filters select,
.page-filters input{
  height:38px;
  padding:6px 10px;
  font-size:14px;
  border-radius:10px;
}
.page-filters .btn{
  height:38px;
  padding:6px 14px;
  border-radius:10px;
}
@media (min-width: 992px){
  .page-filters{ flex-wrap:nowrap; }
  .page-filters .filter-select{ width:220px; }
  .page-filters .filter-input{ width:380px; }
}
/* Home: latest software cards */
.software-grid{
  display:grid;
  gap:16px;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media (min-width: 576px){ .software-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 992px){ .software-grid{ grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.software-card{
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 16px;
  padding: 12px;
  transition: transform .15s ease, border-color .15s ease;
}
.software-card:hover{ transform: translateY(-2px); border-color: rgba(255,255,255,.14); }
.software-card .thumb{
  width:100%;
  aspect-ratio: 16/10;
  border-radius: 12px;
  object-fit: cover;
  background: rgba(255,255,255,.04);
}
.software-card .title{
  margin-top:10px;
  font-weight: 700;
  font-size: 14px;
  color: #fff;
}
.software-card .meta{
  margin-top:4px;
  font-size:12px;
  opacity:.75;
}

/* Dark UI hardening (Bootstrap defaults are light) */
:root{--text:#ffffff;}
body, .card, .modal-content, .dropdown-menu, .list-group-item, .table{color:var(--text);}
.card, .modal-content, .dropdown-menu, .list-group-item{background-color:var(--card)!important;border-color:var(--border)!important;}
.table{--bs-table-color: #fff; --bs-table-bg: transparent; --bs-table-border-color: rgba(255,255,255,.10);}
.form-control, .form-select{background-color: rgba(255,255,255,.06)!important; border-color: rgba(255,255,255,.16)!important; color:#fff!important;}
.form-control:focus, .form-select:focus{box-shadow:none!important; border-color: rgba(225,29,46,.6)!important;}
.navbar-toggler{border-color: rgba(255,255,255,.18)!important;}
.dropdown-item{color:#fff;}
.dropdown-item:hover, .dropdown-item:focus{background: rgba(255,255,255,.08);}
