/*
 * Aviso global de JavaScript obrigatório — duas camadas independentes:
 *
 * 1) <noscript> (#jsRequiredNotice): só existe no DOM quando o navegador
 *    tem JavaScript REALMENTE desabilitado na configuração (scripting
 *    disabled). Cobre esse caso.
 *
 * 2) Classe "no-js" em <html> (#jsRequiredFallback): cobre o caso em que
 *    JavaScript está "habilitado" na configuração do navegador, mas o
 *    script de bootstrap da aplicação é bloqueado por uma extensão
 *    (ad-blocker/privacy extension) ou por CSP — nesse cenário <noscript>
 *    NUNCA é processado (o parser considera scripting habilitado), então
 *    sem essa segunda camada o usuário veria uma tela em branco sem
 *    explicação. O <html> nasce com class="no-js"; o primeiro script da
 *    página (inline, sem dependências externas) remove essa classe. Se
 *    esse script não rodar, a classe permanece e o fallback aparece.
 */
body:has(#jsRequiredNotice) > *:not(noscript):not(#jsRequiredNotice) {
    display: none !important;
}

body:has(#jsRequiredNotice) > noscript {
    display: contents !important;
}

body:has(#jsRequiredNotice) #jsRequiredFallback {
    display: none !important;
}

.js-required-fallback-hidden {
    display: none !important;
}

html.no-js body > *:not(noscript):not(#jsRequiredFallback):not(#jsRequiredNotice) {
    display: none !important;
}

html.no-js .js-required-fallback-hidden {
    display: flex !important;
}

.js-required-overlay {
    position: fixed;
    inset: 0;
    z-index: 999999;
    background: #0f172a;
    color: #f8fafc;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    font-family: var(--font-primary);
    text-align: center;
}

.js-required-box {
    max-width: 560px;
}

.js-required-icon {
    font-size: 42px;
    margin-bottom: 16px;
}

.js-required-title {
    font-size: 1.4rem;
    margin: 0 0 16px;
    color: #f8fafc;
}

.js-required-text {
    font-size: 1rem;
    line-height: 1.6;
    margin: 0 0 12px;
    color: #cbd5e1;
}

.js-required-text-strong {
    font-size: 1rem;
    line-height: 1.6;
    margin: 0;
    color: #f8fafc;
    font-weight: 600;
}
