/* PrimeFlix Web Premium · P245 · Phase 9/9
   TV Live + Legal + empty/error states + final desktop QA polish.
   Desktop web only; Home, detail and app surfaces remain isolated by bootstrap. */

body.pf-wps-final-p245{
  --pf-final-surface:rgba(12,13,18,.82);
  --pf-final-surface-2:rgba(18,19,26,.9);
  --pf-final-line:rgba(255,255,255,.085);
  --pf-final-text:#f7f5fb;
  --pf-final-muted:#aaa6b4;
  --pf-final-accent:#8b5cf6;
}

/* ---------- TV LIVE ---------- */
body.pf-wps-final-p245.pf-wps-route-tv-live .pf-tlv2{
  --lv-sidebar:336px;
  background:#050507!important;
}
body.pf-wps-final-p245.pf-wps-route-tv-live .pf-tlv2-sidebar{
  background:
    radial-gradient(circle at 20% 0,rgba(139,92,246,.12),transparent 28%),
    linear-gradient(180deg,rgba(13,14,20,.98),rgba(7,8,12,.98));
  border-right:1px solid rgba(255,255,255,.075)!important;
  box-shadow:18px 0 55px rgba(0,0,0,.34)!important;
}
body.pf-wps-final-p245.pf-wps-route-tv-live .pf-tlv2-sidebar::before{
  height:1px!important;
  background:linear-gradient(90deg,transparent,rgba(139,92,246,.95),rgba(236,72,153,.55),transparent)!important;
}
body.pf-wps-final-p245.pf-wps-route-tv-live .pf-tlv2-sb-head{
  padding:20px 16px 13px!important;
  background:linear-gradient(180deg,rgba(139,92,246,.07),transparent)!important;
}
body.pf-wps-final-p245.pf-wps-route-tv-live .pf-tlv2-sb-brand{
  font-size:.82rem!important;
  letter-spacing:.16em!important;
}
body.pf-wps-final-p245.pf-wps-route-tv-live .pf-tlv2-group{
  min-height:31px;
  padding:5px 12px!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.025)!important;
}
body.pf-wps-final-p245.pf-wps-route-tv-live .pf-tlv2-group.is-active{
  background:linear-gradient(135deg,rgba(124,58,237,.25),rgba(168,85,247,.12))!important;
  box-shadow:inset 0 0 0 1px rgba(167,139,250,.13)!important;
}
body.pf-wps-final-p245.pf-wps-route-tv-live .pf-tlv2-list{
  padding:10px 11px 18px!important;
  gap:6px!important;
}
body.pf-wps-final-p245.pf-wps-route-tv-live .pf-tlv2-ch{
  grid-template-columns:25px 54px minmax(0,1fr) auto!important;
  min-height:62px!important;
  padding:9px 10px!important;
  border-radius:13px!important;
  border-color:transparent!important;
  transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease!important;
}
body.pf-wps-final-p245.pf-wps-route-tv-live .pf-tlv2-ch:hover{
  transform:translateX(2px);
  background:rgba(255,255,255,.045)!important;
  border-color:rgba(139,92,246,.2)!important;
}
body.pf-wps-final-p245.pf-wps-route-tv-live .pf-tlv2-ch.is-active{
  background:linear-gradient(100deg,rgba(124,58,237,.2),rgba(255,255,255,.035))!important;
  border-color:rgba(139,92,246,.34)!important;
  box-shadow:0 9px 26px rgba(0,0,0,.2),inset 0 0 28px rgba(124,58,237,.055)!important;
}
body.pf-wps-final-p245.pf-wps-route-tv-live .pf-tlv2-ch-thumb{
  width:54px!important;height:39px!important;border-radius:9px!important;
  background:rgba(255,255,255,.055)!important;
}
body.pf-wps-final-p245.pf-wps-route-tv-live .pf-tlv2-ch-info strong{font-size:.86rem!important;letter-spacing:-.01em}
body.pf-wps-final-p245.pf-wps-route-tv-live .pf-tlv2-ch-info small{font-size:.71rem!important;color:rgba(255,255,255,.46)!important}
body.pf-wps-final-p245.pf-wps-route-tv-live .pf-tlv2-stage{
  background:
    radial-gradient(ellipse 65% 55% at 67% 42%,rgba(111,58,237,.065),transparent 70%),
    #020204!important;
}
body.pf-wps-final-p245.pf-wps-route-tv-live .pf-tlv2-stage::before{
  opacity:.32;
  background-size:64px 64px!important;
}
body.pf-wps-final-p245.pf-wps-route-tv-live .pf-tlv2-cinema{
  box-shadow:inset 0 0 90px rgba(0,0,0,.4);
}
body.pf-wps-final-p245.pf-wps-route-tv-live .pf-tlv2-infobar{
  border-top:1px solid rgba(255,255,255,.075)!important;
  background:linear-gradient(180deg,rgba(12,13,18,.96),rgba(7,8,12,.99))!important;
  min-height:64px;
}
body.pf-wps-final-p245.pf-wps-route-tv-live .pf-tv-live-heading{
  left:calc(336px + 28px)!important;
  top:82px!important;
  max-width:min(660px,52vw)!important;
}
body.pf-wps-final-p245.pf-wps-route-tv-live .pf-tv-live-heading h1{
  font-size:clamp(1.18rem,2vw,1.72rem)!important;
  letter-spacing:-.035em!important;
  text-shadow:0 3px 20px rgba(0,0,0,.58);
}
body.pf-wps-final-p245.pf-wps-route-tv-live .pf-tv-live-heading p{font-size:.8rem!important;color:rgba(255,255,255,.54)!important}
body.pf-wps-final-p245.pf-wps-route-tv-live .pf-tlv2-hbtn{
  background:rgba(8,9,13,.58)!important;
  border-color:rgba(255,255,255,.13)!important;
  backdrop-filter:blur(16px);
}

/* ---------- LEGAL / CONTACT ---------- */
body.pf-wps-final-p245[class*="pf-wps-route-"] .pflegal-shell{
  width:min(1320px,calc(100% - 56px));
  padding:112px 0 88px;
}
body.pf-wps-final-p245 .pflegal-hero{
  position:relative;overflow:hidden;padding:46px 48px 42px;border-radius:20px;
  border:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 82% 20%,rgba(124,58,237,.17),transparent 34%),
    radial-gradient(circle at 10% 100%,rgba(59,130,246,.075),transparent 32%),
    linear-gradient(145deg,rgba(17,18,25,.96),rgba(8,9,13,.98));
  box-shadow:0 26px 80px rgba(0,0,0,.28);
}
body.pf-wps-final-p245 .pflegal-hero::after{
  content:"PRIMEFLIX";position:absolute;right:32px;bottom:-18px;
  font-size:clamp(70px,10vw,150px);font-weight:950;letter-spacing:-.08em;
  color:rgba(255,255,255,.018);pointer-events:none;white-space:nowrap;
}
body.pf-wps-final-p245 .pflegal-hero>span{font-size:10px;letter-spacing:.19em;color:#c4b5fd}
body.pf-wps-final-p245 .pflegal-hero h1{max-width:800px;font-size:clamp(42px,5.3vw,72px);letter-spacing:-.055em;line-height:.96}
body.pf-wps-final-p245 .pflegal-hero p{font-size:15px;color:rgba(255,255,255,.61)}
body.pf-wps-final-p245 .pflegal-nav{gap:7px;padding:14px 0 20px}
body.pf-wps-final-p245 .pflegal-nav a{
  min-height:38px;display:inline-flex;align-items:center;padding:0 14px;border-radius:9px;
  border-color:rgba(255,255,255,.075);background:rgba(255,255,255,.025);font-size:13px;
  transition:.18s ease;
}
body.pf-wps-final-p245 .pflegal-nav a:hover,
body.pf-wps-final-p245 .pflegal-nav a.is-active{
  color:#fff;border-color:rgba(139,92,246,.38);background:rgba(124,58,237,.13)
}
body.pf-wps-final-p245 .pflegal-grid{grid-template-columns:minmax(0,1fr) 310px;gap:18px}
body.pf-wps-final-p245 .pflegal-body,body.pf-wps-final-p245 .pflegal-grid aside{
  border-color:rgba(255,255,255,.075);border-radius:16px;background:rgba(12,13,18,.83);
}
body.pf-wps-final-p245 .pflegal-body{padding:8px 34px}
body.pf-wps-final-p245 .pflegal-body section{padding:27px 0}
body.pf-wps-final-p245 .pflegal-body h2{font-size:14px;letter-spacing:.08em;color:#d8ccff}
body.pf-wps-final-p245 .pflegal-body p{font-size:14.5px;line-height:1.78;color:rgba(255,255,255,.62)}
body.pf-wps-final-p245 .pflegal-grid aside{padding:18px 20px;top:88px}
body.pf-wps-final-p245 .pflegal-grid aside strong{font-size:13.5px;color:rgba(255,255,255,.86)}

/* ---------- ACCESS ERRORS / 404 / EMPTY ---------- */
body.pf-wps-final-p245 .pf-access-error{
  min-height:calc(100vh - 64px);display:grid;place-items:center;padding:112px 28px 64px;
  background:
    radial-gradient(circle at 50% 8%,rgba(124,58,237,.13),transparent 32%),
    radial-gradient(circle at 15% 90%,rgba(59,130,246,.055),transparent 28%),
    #050507;color:#fff;
}
body.pf-wps-final-p245 .pf-access-error-card{
  width:min(820px,100%);position:relative;overflow:hidden;padding:52px 54px;border-radius:18px;
  border:1px solid rgba(255,255,255,.085);background:linear-gradient(145deg,rgba(17,18,24,.94),rgba(8,9,13,.98));
  box-shadow:0 34px 100px rgba(0,0,0,.38);text-align:center;
}
body.pf-wps-final-p245 .pf-access-error-card::before{
  content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,#8b5cf6,transparent)
}
body.pf-wps-final-p245 .pf-access-error-code{font-size:11px;font-weight:900;letter-spacing:.18em;color:#c4b5fd;text-transform:uppercase}
body.pf-wps-final-p245 .pf-access-error h1{margin:18px 0 11px;font-size:clamp(34px,5vw,58px);line-height:1;letter-spacing:-.045em}
body.pf-wps-final-p245 .pf-access-error p{margin:0 auto;max-width:620px;color:rgba(255,255,255,.59);font-size:15px;line-height:1.7}
body.pf-wps-final-p245 .pf-access-error-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:29px}
body.pf-wps-final-p245 .pf-access-error-actions a{min-height:44px;padding:0 18px;border-radius:10px;font-weight:850;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.09);color:#fff;background:rgba(255,255,255,.055)}
body.pf-wps-final-p245 .pf-access-error-actions a:first-child{background:linear-gradient(135deg,#6d28d9,#9333ea);border-color:rgba(167,139,250,.45);box-shadow:0 12px 32px rgba(109,40,217,.2)}

body.pf-wps-final-p245 .pf-tlv2-empty,
body.pf-wps-final-p245 .pf-empty,
body.pf-wps-final-p245 .pf-empty-state,
body.pf-wps-final-p245 .pf-search-empty,
body.pf-wps-final-p245 .pf-no-results{
  border:1px solid rgba(255,255,255,.075)!important;border-radius:15px!important;
  background:linear-gradient(145deg,rgba(17,18,24,.88),rgba(9,10,14,.92))!important;
  color:rgba(255,255,255,.68)!important;
}
body.pf-wps-final-p245 .pf-tlv2-empty{margin:auto;width:min(620px,calc(100% - 48px));padding:50px 34px;text-align:center}
body.pf-wps-final-p245 .pf-tlv2-empty h2{margin:0 0 8px;font-size:28px;letter-spacing:-.035em;color:#fff}
body.pf-wps-final-p245 .pf-tlv2-empty p{margin:0;color:rgba(255,255,255,.5)}

/* Generic WordPress content fallback: keep forgotten pages visually coherent. */
body.pf-wps-final-p245.pf-wps-route-generic main.container,
body.pf-wps-final-p245.pf-wps-route-generic .container{
  width:min(1180px,calc(100% - 52px));margin-inline:auto;
}
body.pf-wps-final-p245.pf-wps-route-generic article{
  margin-top:18px;padding:34px;border:1px solid var(--pf-final-line);border-radius:16px;background:var(--pf-final-surface);
}
body.pf-wps-final-p245.pf-wps-route-generic article h1{font-size:clamp(32px,4vw,54px);letter-spacing:-.045em}
body.pf-wps-final-p245.pf-wps-route-generic article p{color:var(--pf-final-muted);line-height:1.75}

@media (max-width:1100px){
  body.pf-wps-final-p245.pf-wps-route-tv-live .pf-tlv2{--lv-sidebar:300px}
  body.pf-wps-final-p245.pf-wps-route-tv-live .pf-tv-live-heading{left:324px!important}
  body.pf-wps-final-p245 .pflegal-shell{width:min(100% - 34px,1180px)}
  body.pf-wps-final-p245 .pflegal-grid{grid-template-columns:minmax(0,1fr) 270px}
}
@media (prefers-reduced-motion:reduce){
  body.pf-wps-final-p245 *{scroll-behavior:auto!important}
  body.pf-wps-final-p245.pf-wps-route-tv-live .pf-tlv2-ch{transition:none!important}
}
