/* "Watch the film" button + player (front/partials/film-button.php, film-modal.php) */
.kfilm-btn { gap:.5rem; }
.kfilm-btn__icon { flex:none; }
.kfilm-btn__len { opacity:.65; font-weight:600; font-size:.85em; }
.kfilm { box-sizing:border-box; max-width:94vw; width:min(1100px,94vw); padding:0; border:0; border-radius:16px; background:#05070c; color:#f4f1ec; overflow:hidden; box-shadow:0 40px 120px -20px rgba(0,0,0,.7); }
.kfilm::backdrop { background:rgba(5,7,12,.82); backdrop-filter:blur(6px); }
.kfilm__bar { display:flex; align-items:center; gap:1rem; padding:.7rem 1rem; }
.kfilm__title { margin:0; flex:1; font-weight:700; font-size:.95rem; color:#f4f1ec; }
.kfilm__more { color:rgba(244,241,236,.7); font-size:.85rem; }
.kfilm__more:hover { color:#fff; }
.kfilm__close { width:2.2rem; height:2.2rem; border:0; border-radius:50%; background:rgba(255,255,255,.08); color:#fff; font-size:1.5rem; line-height:1; cursor:pointer; }
.kfilm__close:hover { background:rgba(255,255,255,.18); }
.kfilm__close:focus-visible, .kfilm__more:focus-visible { outline:3px solid #fff; outline-offset:2px; }
.kfilm__video { display:block; box-sizing:border-box; width:100%; height:auto; max-width:100%; max-height:calc(100vh - 8rem); aspect-ratio:16/9; object-fit:contain; background:#000; }

/* ---- staff profile-menu card ---- */
.pm-film { padding:10px 12px 2px; border-top:1px solid var(--pm-line, rgba(124,143,172,.2)); }
.pm-film__card { position:relative; display:flex; align-items:center; gap:12px; width:100%; padding:8px 10px 8px 8px; border:1px solid rgba(255,101,11,.28); border-radius:14px; background:linear-gradient(120deg, rgba(255,101,11,.10), rgba(125,180,255,.10)); color:inherit; font:inherit; text-align:left; cursor:pointer; overflow:hidden; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.pm-film__card:hover { transform:translateY(-1px); border-color:rgba(255,101,11,.55); box-shadow:0 10px 26px -12px rgba(255,101,11,.55); }
.pm-film__card:focus-visible { outline:3px solid #ff650b; outline-offset:2px; }
.pm-film__thumb { position:relative; flex:none; width:68px; height:44px; border-radius:9px; background:#05070c center/cover; display:grid; place-items:center; color:#fff; overflow:hidden; box-shadow:inset 0 0 0 1px rgba(255,255,255,.12); }
.pm-film__thumb::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 50%, rgba(5,7,12,.15), rgba(5,7,12,.55)); }
.pm-film__ring { position:absolute; width:30px; height:30px; border-radius:50%; border:2px solid rgba(255,255,255,.55); }
.pm-film__play { position:relative; filter:drop-shadow(0 1px 4px rgba(0,0,0,.6)); }
.pm-film__txt { display:flex; flex-direction:column; min-width:0; gap:2px; flex:1; }
.pm-film__txt b { display:flex; align-items:center; gap:6px; font-size:.86rem; font-weight:800; }
.pm-film__txt small { font-size:.72rem; opacity:.7; line-height:1.25; }
.pm-film__new { font-style:normal; font-size:.58rem; letter-spacing:.12em; text-transform:uppercase; padding:2px 6px; border-radius:99px; background:#ff650b; color:#1a0c03; }
.pm-film__len { flex:none; align-self:flex-start; font-size:.68rem; font-weight:700; opacity:.6; font-variant-numeric:tabular-nums; }
@media (prefers-reduced-motion: no-preference) {
  .pm-film__ring { animation:pm-film-pulse 2.4s ease-out infinite; }
  .pm-film__card::after { content:""; position:absolute; inset:0; background:linear-gradient(105deg, transparent 35%, rgba(255,255,255,.22) 50%, transparent 65%); transform:translateX(-120%); animation:pm-film-sheen 5s ease-in-out 1.2s infinite; pointer-events:none; }
}
@keyframes pm-film-pulse { 0% { transform:scale(.8); opacity:.9; } 100% { transform:scale(1.5); opacity:0; } }
@keyframes pm-film-sheen { 0%, 60% { transform:translateX(-120%); } 100% { transform:translateX(120%); } }

/* ---- staff player ---- */
.kfilm--staff .kfilm__bar { padding:.6rem .8rem; }
.kfilm__tabs { display:flex; gap:.35rem; flex:1; flex-wrap:wrap; }
.kfilm__tabs button { display:inline-flex; align-items:baseline; gap:.45rem; border:1px solid rgba(255,255,255,.14); border-radius:999px; background:transparent; color:rgba(244,241,236,.78); padding:.42rem .95rem; font:inherit; font-size:.85rem; font-weight:700; cursor:pointer; }
.kfilm__tabs button small { opacity:.6; font-weight:600; font-size:.8em; }
.kfilm__tabs button:hover { color:#fff; border-color:rgba(255,255,255,.35); }
.kfilm__tabs button.is-on { background:#ff650b; border-color:#ff650b; color:#1a0c03; }
.kfilm__tabs button:focus-visible { outline:3px solid #fff; outline-offset:2px; }
.kfilm__foot { display:flex; align-items:center; gap:1rem; padding:.7rem 1rem .85rem; flex-wrap:wrap; }
.kfilm__note { margin:0; flex:1; min-width:12rem; font-size:.8rem; color:rgba(244,241,236,.6); }
.kfilm__dl { display:inline-flex; align-items:center; gap:.5rem; padding:.55rem 1.1rem; border-radius:999px; background:#ff650b; color:#1a0c03 !important; font-weight:800; font-size:.88rem; text-decoration:none; transition:transform .2s ease, box-shadow .2s ease; }
.kfilm__dl:hover { transform:translateY(-1px); box-shadow:0 10px 28px -10px rgba(255,101,11,.7); color:#1a0c03 !important; }
.kfilm__dl:focus-visible { outline:3px solid #fff; outline-offset:2px; }
