/**
 * PrimeFlix 3.64.78 · P238
 * Web Premium System v1 — shared Desktop Web design contract.
 * Reference surfaces (Home + individual detail) are intentionally excluded by PHP.
 */

body.pf-web-premium-system{
  --pf-wps-bg:#050508;
  --pf-wps-bg-soft:#09090f;
  --pf-wps-surface:rgba(16,16,25,.78);
  --pf-wps-surface-strong:rgba(20,20,31,.94);
  --pf-wps-surface-raised:rgba(27,27,41,.94);
  --pf-wps-border:rgba(255,255,255,.075);
  --pf-wps-border-strong:rgba(255,255,255,.14);
  --pf-wps-text:#f7f5fb;
  --pf-wps-muted:#aaa5ba;
  --pf-wps-dim:#777184;
  --pf-wps-accent:#8b5cf6;
  --pf-wps-accent-2:#a78bfa;
  --pf-wps-accent-rgb:139,92,246;
  --pf-wps-radius-sm:10px;
  --pf-wps-radius:16px;
  --pf-wps-radius-lg:22px;
  --pf-wps-radius-xl:30px;
  --pf-wps-shadow:0 20px 65px rgba(0,0,0,.34);
  --pf-wps-shadow-soft:0 12px 38px rgba(0,0,0,.22);
  --pf-wps-gutter:clamp(22px,3.2vw,58px);
  --pf-wps-max:1680px;
  --pf-wps-ease:cubic-bezier(.2,.78,.24,1);
  --pf-wps-fast:180ms var(--pf-wps-ease);
  --pf-wps-normal:280ms var(--pf-wps-ease);
  color:var(--pf-wps-text);
  background:
    radial-gradient(900px 440px at 10% -8%,rgba(var(--pf-wps-accent-rgb),.075),transparent 66%),
    radial-gradient(840px 520px at 92% 8%,rgba(31,41,55,.16),transparent 70%),
    linear-gradient(180deg,#050508 0%,#07070c 46%,#050508 100%);
}

body.pf-web-premium-system::selection{background:rgba(var(--pf-wps-accent-rgb),.34);color:#fff}

/* Route identities: subtle accents only. Future phases consume the same tokens. */
body.pf-web-premium-system.pf-wps-route-movies{--pf-wps-accent:#8b5cf6;--pf-wps-accent-2:#c4b5fd;--pf-wps-accent-rgb:139,92,246}
body.pf-web-premium-system.pf-wps-route-series{--pf-wps-accent:#06b6d4;--pf-wps-accent-2:#67e8f9;--pf-wps-accent-rgb:6,182,212}
body.pf-web-premium-system.pf-wps-route-anime{--pf-wps-accent:#f59e0b;--pf-wps-accent-2:#fcd34d;--pf-wps-accent-rgb:245,158,11}
body.pf-web-premium-system.pf-wps-route-search{--pf-wps-accent:#a855f7;--pf-wps-accent-2:#d8b4fe;--pf-wps-accent-rgb:168,85,247}
body.pf-web-premium-system.pf-wps-route-explorar,
body.pf-web-premium-system.pf-wps-route-explore{--pf-wps-accent:#22c55e;--pf-wps-accent-2:#86efac;--pf-wps-accent-rgb:34,197,94}
body.pf-web-premium-system.pf-wps-route-genre,
body.pf-web-premium-system.pf-wps-route-generos{--pf-wps-accent:#ec4899;--pf-wps-accent-2:#f9a8d4;--pf-wps-accent-rgb:236,72,153}
body.pf-web-premium-system.pf-wps-route-actor,
body.pf-web-premium-system.pf-wps-route-personas{--pf-wps-accent:#14b8a6;--pf-wps-accent-2:#99f6e4;--pf-wps-accent-rgb:20,184,166}
body.pf-web-premium-system.pf-wps-route-actualidad{--pf-wps-accent:#f97316;--pf-wps-accent-2:#fdba74;--pf-wps-accent-rgb:249,115,22}
body.pf-web-premium-system.pf-wps-route-videos{--pf-wps-accent:#ef4444;--pf-wps-accent-2:#fca5a5;--pf-wps-accent-rgb:239,68,68}
body.pf-web-premium-system.pf-wps-route-cartelera{--pf-wps-accent:#eab308;--pf-wps-accent-2:#fde047;--pf-wps-accent-rgb:234,179,8}
body.pf-web-premium-system.pf-wps-route-comunidad{--pf-wps-accent:#3b82f6;--pf-wps-accent-2:#93c5fd;--pf-wps-accent-rgb:59,130,246}
body.pf-web-premium-system.pf-wps-route-profile{--pf-wps-accent:#8b5cf6;--pf-wps-accent-2:#c4b5fd;--pf-wps-accent-rgb:139,92,246}
body.pf-web-premium-system.pf-wps-route-plans{--pf-wps-accent:#f59e0b;--pf-wps-accent-2:#fde68a;--pf-wps-accent-rgb:245,158,11}
body.pf-web-premium-system.pf-wps-route-login{--pf-wps-accent:#7c3aed;--pf-wps-accent-2:#c4b5fd;--pf-wps-accent-rgb:124,58,237}
body.pf-web-premium-system.pf-wps-route-tv-live{--pf-wps-accent:#ef4444;--pf-wps-accent-2:#fca5a5;--pf-wps-accent-rgb:239,68,68}

/* Shared primitives available to every migration phase. */
body.pf-web-premium-system .pf-wps-shell{width:min(var(--pf-wps-max),100%);margin-inline:auto;padding-inline:var(--pf-wps-gutter)}
body.pf-web-premium-system .pf-wps-section{position:relative;padding-block:clamp(34px,4.2vw,72px)}
body.pf-web-premium-system .pf-wps-section::before{content:"";position:absolute;inset:0;border-top:1px solid rgba(255,255,255,.035);pointer-events:none}
body.pf-web-premium-system .pf-wps-panel{background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018));border:1px solid var(--pf-wps-border);border-radius:var(--pf-wps-radius-lg);box-shadow:var(--pf-wps-shadow-soft);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
body.pf-web-premium-system .pf-wps-panel--raised{background:linear-gradient(180deg,rgba(29,29,44,.92),rgba(15,15,24,.9));border-color:var(--pf-wps-border-strong);box-shadow:var(--pf-wps-shadow)}
body.pf-web-premium-system .pf-wps-eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--pf-wps-accent-2);font-size:.73rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
body.pf-web-premium-system .pf-wps-eyebrow::before{content:"";width:22px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--pf-wps-accent),var(--pf-wps-accent-2));box-shadow:0 0 18px rgba(var(--pf-wps-accent-rgb),.38)}
body.pf-web-premium-system .pf-wps-title{margin:0;color:var(--pf-wps-text);font-size:clamp(1.55rem,2.4vw,2.55rem);font-weight:900;line-height:1.06;letter-spacing:-.035em}
body.pf-web-premium-system .pf-wps-copy{color:var(--pf-wps-muted);font-size:clamp(.92rem,1vw,1.02rem);line-height:1.65}
body.pf-web-premium-system .pf-wps-divider{height:1px;background:linear-gradient(90deg,rgba(var(--pf-wps-accent-rgb),.5),rgba(255,255,255,.06) 32%,transparent)}

body.pf-web-premium-system :is(.pf-wps-btn,.pf-wps-icon-btn){font:inherit;color:inherit;transition:transform var(--pf-wps-fast),border-color var(--pf-wps-fast),background var(--pf-wps-fast),box-shadow var(--pf-wps-fast),color var(--pf-wps-fast)}
body.pf-web-premium-system .pf-wps-btn{min-height:42px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--pf-wps-border);border-radius:12px;background:rgba(255,255,255,.055);color:#f8f7fb;font-size:.86rem;font-weight:800;white-space:nowrap}
body.pf-web-premium-system .pf-wps-btn:hover{transform:translateY(-1px);border-color:rgba(var(--pf-wps-accent-rgb),.46);background:rgba(var(--pf-wps-accent-rgb),.12);box-shadow:0 10px 30px rgba(0,0,0,.24)}
body.pf-web-premium-system .pf-wps-btn--primary{border-color:rgba(var(--pf-wps-accent-rgb),.56);background:var(--pf-wps-accent);background:linear-gradient(135deg,var(--pf-wps-accent),color-mix(in srgb,var(--pf-wps-accent) 64%,#111));box-shadow:0 10px 28px rgba(var(--pf-wps-accent-rgb),.2)}
body.pf-web-premium-system .pf-wps-icon-btn{width:42px;height:42px;display:inline-grid;place-items:center;border:1px solid var(--pf-wps-border);border-radius:12px;background:rgba(255,255,255,.045)}
body.pf-web-premium-system .pf-wps-icon-btn:hover{border-color:rgba(var(--pf-wps-accent-rgb),.46);background:rgba(var(--pf-wps-accent-rgb),.12)}

body.pf-web-premium-system .pf-wps-chip{min-height:34px;padding:0 12px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--pf-wps-border);border-radius:999px;background:rgba(255,255,255,.035);color:var(--pf-wps-muted);font-size:.78rem;font-weight:750;transition:all var(--pf-wps-fast)}
body.pf-web-premium-system .pf-wps-chip:is(:hover,.is-active,[aria-pressed="true"]){color:#fff;border-color:rgba(var(--pf-wps-accent-rgb),.4);background:rgba(var(--pf-wps-accent-rgb),.13)}

body.pf-web-premium-system .pf-wps-field{width:100%;min-height:46px;padding:0 14px;border:1px solid var(--pf-wps-border);border-radius:12px;background:rgba(5,5,10,.68);color:#fff;outline:0;transition:border-color var(--pf-wps-fast),box-shadow var(--pf-wps-fast),background var(--pf-wps-fast)}
body.pf-web-premium-system textarea.pf-wps-field{min-height:110px;padding-block:12px;resize:vertical}
body.pf-web-premium-system .pf-wps-field:focus{border-color:rgba(var(--pf-wps-accent-rgb),.58);box-shadow:0 0 0 3px rgba(var(--pf-wps-accent-rgb),.12);background:rgba(8,8,14,.88)}
body.pf-web-premium-system .pf-wps-field::placeholder{color:#716b7d}

body.pf-web-premium-system .pf-wps-empty{min-height:230px;display:grid;place-items:center;text-align:center;padding:30px;border:1px dashed rgba(255,255,255,.1);border-radius:var(--pf-wps-radius-lg);background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.008));color:var(--pf-wps-muted)}
body.pf-web-premium-system .pf-wps-skeleton{position:relative;overflow:hidden;background:rgba(255,255,255,.04)}
body.pf-web-premium-system .pf-wps-skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-110%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.075),transparent);animation:pf-wps-shimmer 1.35s linear infinite}
@keyframes pf-wps-shimmer{to{transform:translateX(110%)}}

/* Shared accessibility / input polish for the remaining web surfaces. */
body.pf-web-premium-system :where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid rgba(var(--pf-wps-accent-rgb),.9);outline-offset:3px}
body.pf-web-premium-system :where(button,input,select,textarea){font-family:inherit}
body.pf-web-premium-system :where(input,select,textarea){accent-color:var(--pf-wps-accent)}
body.pf-web-premium-system :where(.pfsr-input,.pfex input,.pfex select,.pfg-type-tab,.pf-profile-page input,.pf-profile-page textarea,.pf-profile-page select,.pf-plans-page button,.login-page input){transition:border-color var(--pf-wps-fast),box-shadow var(--pf-wps-fast),background var(--pf-wps-fast),transform var(--pf-wps-fast)}

/* Consistent empty / loading language without restructuring existing pages. */
body.pf-web-premium-system :where(.pfsr-welcome,.pfsr-empty,.pfex-empty,.pfg-empty,.pf-empty-state){border-color:var(--pf-wps-border)!important;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01))!important;color:var(--pf-wps-muted)}

/* Neutral scrollbar; section-specific color enters only on interaction. */
body.pf-web-premium-system *{scrollbar-color:rgba(255,255,255,.18) transparent;scrollbar-width:thin}
body.pf-web-premium-system *::-webkit-scrollbar{width:7px;height:7px}
body.pf-web-premium-system *::-webkit-scrollbar-track{background:transparent}
body.pf-web-premium-system *::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:999px}
body.pf-web-premium-system *::-webkit-scrollbar-thumb:hover{background:rgba(var(--pf-wps-accent-rgb),.55)}

@media (max-width:1100px){
  body.pf-web-premium-system{--pf-wps-gutter:clamp(18px,2.5vw,32px)}
}

@media (prefers-reduced-motion:reduce){
  body.pf-web-premium-system *,body.pf-web-premium-system *::before,body.pf-web-premium-system *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

@supports not (backdrop-filter:blur(1px)){
  body.pf-web-premium-system .pf-wps-panel{background:rgba(17,17,26,.96)}
}
