
/* Player universal seguro + PIN adulto */
.adult-pin-modal{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.76);
    display:grid;
    place-items:center;
    z-index:999999;
    backdrop-filter:blur(10px);
}
.adult-pin-modal.hidden{display:none!important}
.adult-pin-box{
    width:min(420px,calc(100vw - 28px));
    background:linear-gradient(180deg,#111827,#060b16);
    color:#fff;
    border:1px solid rgba(255,255,255,.12);
    border-radius:22px;
    padding:22px;
    box-shadow:0 28px 80px rgba(0,0,0,.55);
}
.adult-pin-box h2{margin:0 0 8px;font-size:24px}
.adult-pin-box p{margin:0 0 16px;color:#cbd5e1}
.adult-pin-box input{
    width:100%;
    height:48px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.06);
    color:#fff;
    font-size:22px;
    text-align:center;
    letter-spacing:6px;
}
.adult-pin-actions{
    display:flex;
    gap:10px;
    margin-top:16px;
}
.adult-pin-actions button{
    flex:1;
    height:44px;
    border:0;
    border-radius:14px;
    color:#fff;
    font-weight:900;
    cursor:pointer;
    background:#1f2937;
}
.adult-pin-actions button:last-child{
    background:linear-gradient(135deg,#24b7ff,#5b2cff);
}
.adult-pin-error{
    margin-top:10px;
    color:#ff5d6c;
    font-weight:900;
}
.adult-pin-error.hidden{display:none!important}

.safe-player-overlay{
    position:fixed;
    inset:0;
    z-index:999998;
    background:#000;
}
.safe-player-overlay.hidden{display:none!important}
#safeVideo{
    width:100vw;
    height:100vh;
    background:#000;
    object-fit:contain;
}
.safe-player-top{
    position:absolute;
    left:0;
    right:0;
    top:0;
    z-index:2;
    min-height:84px;
    padding:18px 22px;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:16px;
    background:linear-gradient(180deg,rgba(0,0,0,.78),transparent);
    color:#fff;
}
.safe-player-top button{
    border:1px solid rgba(255,255,255,.14);
    background:rgba(15,23,42,.72);
    color:#fff;
    border-radius:999px;
    padding:10px 14px;
    font-weight:900;
    cursor:pointer;
}
.safe-player-top h2{margin:0;font-size:22px}
.safe-player-top p{margin:4px 0 0;color:#cbd5e1}
.badge-adulto{
    position:absolute;
    right:8px;
    top:8px;
    z-index:3;
    background:#ff1f36;
    color:#fff;
    border-radius:6px;
    padding:3px 6px;
    font-size:10px;
    font-weight:900;
}

/* Correção: botões do player sempre clicáveis acima do Video.js */
.safe-player-top{z-index:1000002!important;pointer-events:auto!important;}
.safe-player-top button{position:relative!important;z-index:1000003!important;pointer-events:auto!important;}
#safeVideo{position:relative!important;z-index:1!important;}

.universal-player-open{display:inline-flex;align-items:center;justify-content:center;margin-top:10px;padding:10px 14px;border-radius:12px;background:#0ea5e9;color:#fff!important;text-decoration:none;font-weight:800;box-shadow:0 10px 25px rgba(14,165,233,.25)}
.universal-player-open:hover{filter:brightness(1.08)}

/* Botões de fallback externo/VLC */
.universal-player-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 6px}
.universal-player-open{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 12px;border-radius:10px;background:#1f2937;color:#fff!important;text-decoration:none;font-weight:800;border:1px solid rgba(255,255,255,.14)}
.universal-player-open:hover{filter:brightness(1.12);transform:translateY(-1px)}
.universal-player-vlc{background:linear-gradient(135deg,#f97316,#ea580c);border-color:rgba(249,115,22,.5)}
.universal-player-vlc2{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-color:rgba(37,99,235,.5)}

/* VLC fallback injetado diretamente no erro do player */
.universal-player-vlc-injected{margin-top:12px}
.universal-player-vlc-actions{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:12px}
.universal-player-open{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.20);color:#fff!important;text-decoration:none!important;font-weight:800;font-size:13px;line-height:1;box-shadow:0 10px 25px rgba(0,0,0,.24)}
.universal-player-open:hover{filter:brightness(1.08);transform:translateY(-1px)}
.universal-player-vlc{background:linear-gradient(135deg,#f97316,#ea580c)!important;border-color:rgba(249,115,22,.55)!important}
.universal-player-vlc2{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;border-color:rgba(37,99,235,.55)!important}
.universal-player-vlc-help{display:block;margin-top:10px;color:#cbd5e1!important;font-size:12px;line-height:1.45}
.universal-player-vlc-warning{color:#fecaca;font-weight:700;font-size:13px}
@media(max-width:640px){.universal-player-vlc-actions{flex-direction:column}.universal-player-open{width:100%}}

/* Painel fixo VLC - permanece aberto mesmo se o player fechar/recarregar */
.vlc-sticky-overlay{
    position:fixed; inset:0; z-index:999999;
    display:flex; align-items:center; justify-content:center;
    background:rgba(2,6,23,.86); backdrop-filter:blur(8px);
    padding:18px; color:#fff; font-family:Arial,sans-serif;
}
.vlc-sticky-overlay.hidden{display:none!important}
.vlc-sticky-box{
    width:min(720px,96vw); border-radius:22px;
    background:linear-gradient(180deg,rgba(15,23,42,.98),rgba(2,6,23,.98));
    border:1px solid rgba(148,163,184,.25);
    box-shadow:0 30px 90px rgba(0,0,0,.65);
    padding:22px; text-align:center;
}
.vlc-sticky-icon{font-size:46px; line-height:1; margin-bottom:8px}
.vlc-sticky-box h2{margin:0 0 8px;font-size:24px;color:#fff}
.vlc-sticky-box p{margin:0 auto 14px;max-width:600px;color:#cbd5e1;line-height:1.5;font-size:14px}
.vlc-sticky-url{display:block;margin:12px 0;padding:10px;border-radius:12px;background:rgba(15,23,42,.9);border:1px solid rgba(148,163,184,.18);color:#94a3b8;font-size:12px;word-break:break-all;max-height:58px;overflow:auto}
.vlc-sticky-actions{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:16px}
.vlc-sticky-actions a,.vlc-sticky-actions button{
    border:0;border-radius:12px;padding:13px 16px;cursor:pointer;text-decoration:none;color:#fff;font-weight:800;
    background:rgba(30,41,59,.95);border:1px solid rgba(148,163,184,.24);font-size:14px;
}
.vlc-sticky-actions .vlc-main{background:linear-gradient(135deg,#f97316,#ea580c);border-color:rgba(249,115,22,.55)}
.vlc-sticky-actions .vlc-blue{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-color:rgba(37,99,235,.55)}
.vlc-sticky-actions .vlc-close{background:linear-gradient(135deg,#334155,#1e293b)}
.vlc-sticky-actions .vlc-copy{background:linear-gradient(135deg,#16a34a,#15803d)}
.vlc-sticky-note{display:block;margin-top:14px;color:#fef3c7;font-size:12px;line-height:1.45}
@media(max-width:640px){.vlc-sticky-actions{flex-direction:column}.vlc-sticky-actions a,.vlc-sticky-actions button{width:100%}.vlc-sticky-box{padding:18px}}


/* Correção final: modal VLC não fica preso e não bloqueia canais quando fechado */
body:not(.vlc-modal-open) #vlcStickyOverlay{display:none!important;}
#vlcStickyOverlay.hidden{display:none!important;}
.vlc-sticky-overlay{z-index:999999!important;}
.vlc-sticky-box{position:relative;pointer-events:auto;}
@media (min-width: 900px){.vlc-sticky-box{width:min(760px,78vw)!important;}}


/* VPS FFmpeg clean mode */
body:not(.vlc-modal-open) #vlcStickyOverlay,
#vlcStickyOverlay,
.vlc-sticky-overlay,
.universal-player-vlc-injected,
.universal-player-vlc-help{display:none!important;}
.universal-player-ffmpeg{
  background:linear-gradient(135deg,#16a34a,#0f766e)!important;
  border-color:rgba(45,212,191,.55)!important;
}
.universal-player-error small{display:block;margin-top:8px;color:#cbd5e1;line-height:1.45}
