/* PrimeFlix v3.15.0 — Phase 5 UX, responsive & accessibility polish */
:root{
  --pf-focus-ring:0 0 0 3px rgba(124,58,237,.42),0 0 0 1px rgba(255,255,255,.92);
  --pf-touch:44px;
  --pf-content-max:1600px;
}
html{scroll-padding-top:84px}
body{overflow-x:hidden}
.pf-skip-link{position:fixed;left:16px;top:12px;z-index:100000;transform:translateY(-160%);padding:11px 16px;border-radius:10px;background:#fff;color:#090910;font-weight:800;text-decoration:none;box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform .18s ease}
.pf-skip-link:focus{transform:translateY(0)}
#pf-main:focus{outline:none}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:none!important;box-shadow:var(--pf-focus-ring)!important}
:where(button,.pfbtn-prim,.pfbtn-sec,.pfn-btn,.pf-nav-icon,.pf-mobile-nav-item,.pf-tlv2-group,.pf-tlv2-ch){min-height:var(--pf-touch)}
button:disabled,[aria-disabled="true"]{cursor:not-allowed;opacity:.58}
img{max-width:100%;height:auto}
iframe{max-width:100%}
.sr-only,.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Better status/empty states */
.pf-empty-state,.pfsr-empty,.pf-tlv2-empty{max-width:680px;margin-inline:auto;text-align:center}
.pf-empty-state p,.pfsr-empty p,.pf-tlv2-empty p{line-height:1.65}
[role="status"],[aria-live]{contain:layout style}

/* Navigation semantics + current item */
.pf-nav-link[aria-current="page"],.pf-mobile-nav-item[aria-current="page"]{color:#fff}
.pf-nav-link[aria-current="page"]::after{transform:scaleX(1);opacity:1}
.pf-nav-drop-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.pf-nav-drop-btn svg{transition:transform .2s ease}

/* Modal hardening */
[role="dialog"][aria-modal="true"]{overscroll-behavior:contain}
body.pf-modal-lock{overflow:hidden!important}

/* Responsive rhythm without changing visual identity */
@media(max-width:1200px){
  :root{--pf-content-pad:clamp(16px,3vw,34px)}
  .pf-sect,.pf-section,.pf10-sect,.pf10-top10-sect{max-width:100%}
}
@media(max-width:768px){
  html{scroll-padding-top:70px}
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
  #pf-footer{display:none!important}
  .pf-mobile-nav{padding-bottom:env(safe-area-inset-bottom,0px)}
  .pf-mobile-nav-item{min-width:0;touch-action:manipulation}
  .pf-auth-card,.login-box,.pfmod-box{max-height:min(88dvh,760px);overflow:auto;overscroll-behavior:contain}
  .pf-sect-head,.pf-section-header{gap:10px}
  .pf-sect-title,.pf-section-title{line-height:1.2}
  input,select,textarea{font-size:16px!important} /* prevent iOS zoom */
}
@media(max-width:480px){
  :root{--pf-touch:46px}
  .pf-skip-link{left:8px;right:8px;text-align:center}
  .pf-mobile-nav-items{gap:0}
  .pf-mobile-nav-item{font-size:10px}
  .pf-auth-card,.login-box{border-radius:18px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media(prefers-contrast:more){
  :where(.pf-nav-link,.pf-footer-link,.pf-mobile-nav-item){text-decoration-thickness:2px}
  :where(button,input,select,textarea){border-color:rgba(255,255,255,.55)!important}
}

/* Phase 5 semantic control resets */
.pf-profile-tab{background:transparent;border:0;border-bottom:2px solid transparent;font:inherit;cursor:pointer}
.pf-profile-tab[aria-selected="true"]{color:var(--pf-text);border-bottom-color:var(--pf-accent)}
.pf-faq-q{width:100%;background:transparent;border:0;padding:0;text-align:left;font:inherit;cursor:pointer;color:inherit}
.pf-faq-a[hidden]{display:none!important}
.pf-auth-gate{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:96px 24px 48px;max-width:620px;margin:0 auto;color:#f1f0f8}
.pf-auth-gate>svg{margin-bottom:20px;color:#7c3aed}
.pf-auth-gate h1,.pf-auth-gate h2{color:#f1f0f8;font-size:clamp(1.35rem,3vw,1.75rem);font-weight:800;margin:0 0 10px}
.pf-auth-gate p{color:rgba(241,240,248,.62);font-size:.95rem;margin:0 0 24px;line-height:1.65}
.pf-auth-gate-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.pf-auth-gate-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:12px 24px;border-radius:999px;background:#7c3aed;color:#fff;font-weight:800;font-size:.95rem;text-decoration:none;border:1px solid transparent;cursor:pointer;font-family:inherit}
.pf-auth-gate-btn:hover{background:#6d28d9}
.pf-auth-gate-ghost{background:transparent;border-color:rgba(255,255,255,.16)}
.pf-auth-gate-ghost:hover{background:rgba(255,255,255,.07)}
.pfsea-ep[role="button"]{cursor:pointer}
