/* Sem a "ancoragem de rolagem" do navegador (01/10/2026): o campinho, o painel e o placar se redesenham a cada
   segundo e, no Safari do iPhone, a âncora sumia junto e a página descia sozinha até o rodapé. As alturas
   que mudavam sozinhas (relógio, aviso do painel, faixa de avisos) já ficam reservadas. */
html, body { overflow-anchor: none; }
/*
 * A moldura do site novo (reformulação aprovada pelo dono em 28/09/2026): anúncio
 * global, cabeçalho, menu recolhido, menu aberto, barra de baixo do celular e rodapé.
 *
 * Tudo aqui vale só com html.lusa-novo (a prévia com chave, ou SITE_NOVO ligado). As
 * classes são .nv-*; o que vem do layout antigo (.main-container, .content-area, o
 * sino .ln-* e o menu do perfil) só recebe o ajuste que a moldura nova precisa.
 */

html.lusa-novo {
    --nv-topo: 60px;
    --nv-trilho: 76px;
    --nv-baixo: 0px;
    --nv-fundo: #0e1013;
    --nv-fundo-2: #14171b;
    --nv-cartao: #1b1f24;
    --nv-linha: #2a3037;
    --nv-linha-2: #3a424b;
    --nv-texto-2: #b9bec5;
    --nv-texto-3: #737a83;
    --nv-verde: #00ff88;
    --nv-vermelho: #e63946;
}

/* ------------------------------------------------------------------ o esqueleto */
html.lusa-novo body { background-color: var(--nv-fundo); background-image: none; padding-bottom: var(--nv-baixo); }
html.lusa-novo .main-container { display: flex; gap: 0; max-width: none; width: 100%; margin: 0; padding: 0; min-height: calc(100vh - var(--nv-topo)); }
/* Recorta o que passar da largura sem virar área de rolagem (o que gruda no topo continua grudando). */
html.lusa-novo .content-area { flex: 1 1 0; min-width: 0; padding: 20px 20px 28px; overflow-x: clip; overflow-y: visible; }
html.lusa-novo .content-area > * { max-width: 1560px; margin-left: auto; margin-right: auto; }
html.lusa-novo .sidebar-backdrop { display: none !important; }

.nv-selo { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 17px; padding: 0 5px; border-radius: 999px; font-size: 10px; font-weight: 800; line-height: 1; box-sizing: border-box; }
.nv-selo[hidden] { display: none !important; }
/* O contador de jogos ao vivo (opção B, 01/10/2026): cinza com o ponto vermelho, não mais a bolinha
   vermelha de aviso. O mesmo em todo lugar: menu, barra de baixo, abas, esportes e ligas. */
.nv-selo-vivo { gap: 4px; background: #2a3037; color: #fff; }
.nv-selo-vivo::before { content: ""; flex: none; width: 5px; height: 5px; border-radius: 50%; background: #ff5a5a; }
/* O ponto preso à linha dos números (01/10/2026: "a bolinha não está alinhada com o número"). No meio
   da etiqueta, o ponto ficava até 1 px acima ou abaixo dos números, conforme a letra do aparelho.
   Alinhado pela linha de base e erguido até o meio da altura dos números (.36em), ele acompanha
   qualquer letra; a linha inteira continua no meio da etiqueta (align-content) e nunca quebra. */
.nv-selo-vivo { flex-wrap: wrap; align-content: center; align-items: baseline; }
.nv-selo-vivo::before { position: relative; top: calc(2.5px - .36em); }
.nv-tr-item .nv-selo-vivo, .nv-bx-icone .nv-selo-vivo { box-shadow: 0 0 0 2px var(--nv-fundo, #0e1013); }
/* No menu lateral o contador (mais largo com o ponto) vai para o canto, sem tapar o desenho. */
.nv-tr-item .nv-selo-vivo { top: 2px; right: 3px; }

/* O relógio do jogo ao vivo (opção B, public/js/novo/relogio.js): o tempo em branco e, embaixo, a
   barra das partes do jogo com o ponto vermelho na ponta. A parte em curso que o feed não mede vai
   listrada; sem a parte do jogo, só o texto com o ponto. Uma coisa viva por bloco: o ponto. */
.rv { display: inline-flex; flex-direction: column; gap: 5px; min-width: 0; vertical-align: middle; }
.rv-t { display: inline-flex; align-items: baseline; gap: 5px; color: #fff; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rv-t small { font-size: .8em; font-weight: 800; color: #8a919a; }
.rv-ponto { align-self: center; flex: none; width: 6px; height: 6px; border-radius: 50%; background: #ff5a5a; box-shadow: 0 0 0 3px rgba(255, 90, 90, .22); }
.rv-barra { display: flex; gap: 3px; width: 100%; min-width: 56px; max-width: 120px; height: 4px; }
.rv-barra i { position: relative; flex: 1; border-radius: 2px; background: #2a3037; }
.rv-barra b { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 2px; background: #e9edf1; }
.rv-barra b.incerto { width: 100%; background: repeating-linear-gradient(135deg, rgba(233, 237, 241, .6) 0 3px, rgba(233, 237, 241, .16) 3px 6px); }
.rv-barra em { position: absolute; top: 50%; width: 8px; height: 8px; margin: -4px 0 0 -4px; border-radius: 50%; background: #ff5a5a; box-shadow: 0 0 0 3px rgba(255, 90, 90, .25); }
.rv.pausa .rv-t { color: #b9bec5; }
.rv.pausa .rv-barra b { background: #737a83; }
/* Na página do jogo: maior, com a barra larga. */
.rv.g { align-items: center; gap: 8px; width: 100%; }
.rv.g .rv-t { font-size: 15px; }
.rv.g .rv-barra { max-width: 320px; height: 6px; gap: 4px; }
.rv.g .rv-barra em { width: 12px; height: 12px; margin: -6px 0 0 -6px; }
@media (prefers-reduced-motion: no-preference) {
    .rv-barra em, .rv-ponto { animation: rv-vivo 1.6s ease-in-out infinite; }
}
@keyframes rv-vivo { 50% { opacity: .35; } }
.nv-selo-verde { background: #00ff88; color: #0e1013; }
/* O selo "Novo" de um produto (as Previsões nas duas primeiras semanas): amarelo, o destaque da casa. */
.nv-selo-estreia { background: #ffd43b; color: #0e1013; letter-spacing: .04em; text-transform: uppercase; }

.nv-btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; height: 38px; padding: 0 16px; border: 0; border-radius: 999px; background: #00ff88; color: #0e1013; font: inherit; font-size: 13.5px; font-weight: 800; white-space: nowrap; cursor: pointer; }
.nv-btn:hover { background: #33ffa0; }
.nv-btn-sec { background: rgba(0, 0, 0, .25); border: 1px solid rgba(255, 255, 255, .2); color: #fff; }
.nv-btn-sec:hover { background: rgba(0, 0, 0, .4); }
.nv-btn:focus-visible, .nv-tr-item:focus-visible, .nv-mi:focus-visible, .nv-bx-item:focus-visible, .nv-topo-menu:focus-visible, .nv-atalho:focus-visible { outline: 2px solid #00ff88; outline-offset: 2px; }

/* Marca LusaBet em vetor (novo/marca.blade.php): cada lugar dá a altura, a largura acompanha. */
.lb-marca { display: block; width: auto; max-width: 100%; object-fit: contain; object-position: left center; }
.nv-logo-nome { display: inline-flex; align-items: center; text-decoration: none; }
.nv-logo-nome .lb-marca { height: 20px; }

/* ------------------------------------------------------------------ anúncio global */
.nv-anuncio { position: relative; display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 36px; padding: 6px 46px; box-sizing: border-box; font-size: 13px; font-weight: 600; line-height: 1.35; text-align: center; background: #0b3b2a; border-bottom: 1px solid rgba(0, 255, 136, .33); color: #d7fbe9; --nv-an: #00ff88; }
.nv-anuncio[hidden] { display: none; }
.nv-an-promo { background: #3b2f07; border-bottom-color: rgba(255, 212, 59, .33); color: #fff3c4; --nv-an: #ffd43b; }
.nv-an-aviso { background: #3b2207; border-bottom-color: rgba(255, 159, 67, .33); color: #ffe2c4; --nv-an: #ff9f43; }
.nv-an-urgente { background: #3b0d12; border-bottom-color: rgba(255, 77, 94, .33); color: #ffd0d5; --nv-an: #ff4d5e; }
.nv-an-icone { flex: none; width: 16px; height: 16px; background: var(--nv-an); -webkit-mask: var(--nv-an-desenho) center / contain no-repeat; mask: var(--nv-an-desenho) center / contain no-repeat;
    --nv-an-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 11 18-5v12L3 14v-3z'/%3E%3Cpath d='M11.6 16.8a3 3 0 1 1-5.8-1.6'/%3E%3C/svg%3E"); }
.nv-an-aviso .nv-an-icone, .nv-an-urgente .nv-an-icone { --nv-an-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 9v4M12 17h.01M10.3 4l-8 14a2 2 0 0 0 1.7 3h16a2 2 0 0 0 1.7-3l-8-14a2 2 0 0 0-3.4 0z'/%3E%3C/svg%3E"); }
.nv-an-promo .nv-an-icone { --nv-an-desenho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12v10H4V12M2 7h20v5H2zM12 22V7M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7zM12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z'/%3E%3C/svg%3E"); }
.nv-an-texto { min-width: 0; }
.nv-an-botao { flex: none; color: var(--nv-an); font-weight: 800; text-decoration: none; white-space: nowrap; }
.nv-an-botao:hover { text-decoration: underline; }
.nv-an-pontos { flex: none; display: inline-flex; gap: 4px; }
.nv-an-pontos i { width: 5px; height: 5px; border-radius: 50%; background: currentColor; opacity: .35; }
.nv-an-pontos i.ativo { opacity: 1; background: var(--nv-an); }
.nv-an-fechar { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 0; border-radius: 50%; background: transparent; color: inherit; opacity: .75; cursor: pointer; }
.nv-an-fechar:hover { opacity: 1; background: rgba(0, 0, 0, .25); }
.nv-an-fechar[hidden] { display: none; }

/* ------------------------------------------------------------------ cabeçalho */
.nv-topo { position: sticky; top: 0; z-index: 1000; display: flex; align-items: center; gap: 14px; height: var(--nv-topo); padding: 0 20px 0 0; box-sizing: border-box; background: linear-gradient(90deg, #073d2b, #0a4a34); border-bottom: 1px solid #0f5a40; }
.nv-topo-menu { flex: none; display: flex; align-items: center; justify-content: center; width: var(--nv-trilho); height: 100%; border: 0; background: transparent; color: #d7fbe9; cursor: pointer; }
.nv-topo-menu:hover { color: #fff; background: rgba(0, 0, 0, .15); }
.nv-logo { flex: none; display: flex; align-items: center; width: 150px; text-decoration: none; }
.nv-logo .lb-marca { height: 24px; }

html.lusa-novo .nv-busca { position: relative; flex: 1 1 200px; max-width: 480px; min-width: 0; display: flex; align-items: center; gap: 9px; height: 40px; margin: 0; padding: 0 12px 0 14px; box-sizing: border-box; background: rgba(0, 0, 0, .28); border: 1px solid rgba(255, 255, 255, .16); border-radius: 999px; color: #b8e8d2; }
html.lusa-novo .nv-busca:focus-within { border-color: #00ff88; background: rgba(0, 0, 0, .4); }
html.lusa-novo .nv-busca > svg { flex: none; width: 16px; height: 16px; }
html.lusa-novo .nv-busca input { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; color: #fff; font: inherit; font-size: 13.5px; }
html.lusa-novo .nv-busca input::placeholder { color: #b8e8d2; opacity: .85; }
.nv-busca-tecla { flex: none; padding: 2px 7px; border-radius: 6px; border: 1px solid rgba(255, 255, 255, .22); font: inherit; font-size: 10.5px; font-weight: 700; color: #b8e8d2; white-space: nowrap; }
html.lusa-novo .nv-busca .nav-busca-resultados { top: calc(100% + 8px); left: 0; right: 0; }

.nv-topo-direita { flex: none; margin-left: auto; display: flex; align-items: center; gap: 10px; }
/* O aviso de conexão do FIFA só aparece quando a conexão cai (quem liga e desliga é o core). */
html.lusa-novo .nv-topo .live-indicator { flex: none; }
.nv-conta { align-items: center; gap: 10px; min-width: 0; }
.nv-visitante { display: flex; align-items: center; gap: 8px; }

.nv-saldo { display: flex; align-items: center; gap: 6px; height: 40px; padding: 0 5px 0 14px; box-sizing: border-box; background: rgba(0, 0, 0, .28); border: 1px solid rgba(255, 255, 255, .16); border-radius: 999px; cursor: pointer; white-space: nowrap; }
.nv-saldo-texto { display: flex; align-items: baseline; gap: 7px; }
.nv-saldo-rotulo { font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #b8e8d2; }
.nv-saldo-valor { font-size: 14px; font-weight: 800; color: #fff; }
.nv-saldo-botao { display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #b8e8d2; cursor: pointer; }
.nv-saldo-botao:hover { color: #fff; background: rgba(255, 255, 255, .1); }
.nv-saldo-botao svg { width: 15px; height: 15px; }
.nv-saldo .eye-off, .nv-saldo .balance-eye-btn.is-hidden .eye-on { display: none; }
.nv-saldo .balance-eye-btn.is-hidden .eye-off { display: block; }
.nv-depositar { display: inline-flex; align-items: center; gap: 5px; height: 30px; padding: 0 13px; border: 0; border-radius: 999px; background: #00ff88; color: #0e1013; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
.nv-depositar:hover { background: #33ffa0; }

.nv-apostas { position: relative; display: flex; align-items: center; gap: 7px; height: 40px; padding: 0 12px; border-radius: 999px; background: rgba(0, 0, 0, .18); color: #fff; font-size: 13px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.nv-apostas:hover { background: rgba(0, 0, 0, .32); }
.nv-apostas svg { width: 17px; height: 17px; flex: none; }

/* O sino e o menu do perfil são os que já existem: aqui só o tamanho do botão. */
html.lusa-novo .nv-conta .ln-bell, html.lusa-novo .nv-conta .profile-avatar { width: 40px; height: 40px; border-radius: 50%; }

/* O que é fixo na tela e abre logo abaixo do cabeçalho segue o fim dele (estrutura.js mede):
   com o anúncio global à vista, o cabeçalho começa mais embaixo. */
html.lusa-novo .sp-aviso-gol { top: calc(var(--nv-sob-o-topo, var(--nv-topo)) + 8px); }
html.lusa-novo .ln-toasts { top: calc(var(--nv-sob-o-topo, var(--nv-topo)) + 8px); }

/* ------------------------------------------------------------------ trilho (computador) */
.nv-trilho { flex: none; position: sticky; top: var(--nv-topo); align-self: flex-start; width: var(--nv-trilho); height: calc(100vh - var(--nv-topo)); box-sizing: border-box; padding: 10px 0 14px; display: flex; flex-direction: column; align-items: center; gap: 3px; background: var(--nv-fundo-2, #14171b); border-right: 1px solid var(--nv-linha, #2a3037); overflow-y: auto; scrollbar-width: none; }
.nv-trilho::-webkit-scrollbar { display: none; }
.nv-tr-item { position: relative; flex: none; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; width: 68px; min-height: 54px; padding: 7px 2px 6px; box-sizing: border-box; border-radius: 12px; color: #b9bec5; font-size: 10.5px; font-weight: 600; line-height: 1.15; text-align: center; text-decoration: none; }
.nv-tr-item:hover { background: rgba(255, 255, 255, .05); color: #fff; }
.nv-tr-item.ativo { background: rgba(0, 255, 136, .12); color: #fff; font-weight: 800; }
.nv-tr-item.ativo .nv-tr-icone { color: #00ff88; }
.nv-tr-item.ativo::before { content: ""; position: absolute; left: -4px; top: 14px; bottom: 14px; width: 3px; border-radius: 2px; background: #00ff88; }
.nv-tr-icone { display: flex; }
.nv-tr-nome { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-width: 100%; }
.nv-tr-item .nv-selo { position: absolute; top: 3px; right: 8px; height: 15px; min-width: 15px; padding: 0 4px; font-size: 9px; }
/* O "Novo" é mais largo que um número: fica no canto, sem tapar o desenho do produto. */
.nv-tr-item .nv-selo-estreia { top: 0; right: 1px; height: 13px; padding: 0 4px; font-size: 7.5px; letter-spacing: .03em; }
.nv-tr-risco { flex: none; width: 40px; height: 1px; margin: 6px 0; background: var(--nv-linha, #2a3037); }
.nv-tr-abrir { flex: none; display: flex; align-items: center; justify-content: center; width: 44px; height: 28px; margin-top: 10px; border: 1px solid var(--nv-linha-2, #3a424b); border-radius: 999px; background: transparent; color: #b9bec5; cursor: pointer; }
.nv-tr-abrir:hover { color: #fff; border-color: #5d646d; }

/* ------------------------------------------------------------------ menu aberto / gaveta */
.nv-fundo { position: fixed; inset: 0; z-index: 2050; background: rgba(0, 0, 0, .6); opacity: 0; visibility: hidden; transition: opacity .2s ease, visibility .2s; }
.nv-menu { position: fixed; left: 0; top: 0; bottom: 0; z-index: 2100; width: 296px; max-width: 86vw; box-sizing: border-box; padding: 10px 10px 16px; display: flex; flex-direction: column; gap: 2px; background: #14171b; border-right: 1px solid #2a3037; box-shadow: 24px 0 60px rgba(0, 0, 0, .55); overflow-y: auto; transform: translateX(-102%); visibility: hidden; transition: transform .22s cubic-bezier(.22, 1, .36, 1), visibility .22s; }
html.nv-menu-aberto .nv-fundo { opacity: 1; visibility: visible; }
html.nv-menu-aberto .nv-menu { transform: none; visibility: visible; }
html.nv-menu-aberto { overflow: hidden; }
.nv-menu-topo { flex: none; display: flex; align-items: center; justify-content: space-between; height: 44px; padding: 0 4px 0 10px; }
.nv-menu-fechar { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 0; border-radius: 50%; background: #232930; color: #fff; cursor: pointer; }
.nv-menu-conta { flex: none; display: none; margin: 4px 0 8px; }
.nv-mc-logado, .nv-mc-visitante { align-items: center; gap: 10px; padding: 12px; border-radius: 12px; }
.nv-mc-logado { display: none; justify-content: space-between; background: linear-gradient(135deg, #0d6b47, #073d2b); }
.nv-mc-visitante { display: grid; grid-template-columns: 1fr 1.3fr; background: #1b1f24; border: 1px solid #2a3037; }
html.lusa-logado .nv-mc-logado { display: flex; }
html.lusa-logado .nv-mc-visitante { display: none; }
.nv-mc-saldo { display: grid; line-height: 1.2; }
.nv-mc-saldo small { font-size: 10.5px; font-weight: 800; letter-spacing: .08em; color: #b8e8d2; }
.nv-mc-saldo b { font-size: 20px; color: #fff; }
/* Depositar e Sacar lado a lado; em tela estreita, um em cima do outro. */
.nv-mc-logado { flex-wrap: wrap; }
.nv-mc-acoes { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.nv-mc-acoes .nv-btn-sec { background: rgba(0, 0, 0, .25); border-color: rgba(255, 255, 255, .45); color: #fff; }
.nv-menu-lista { display: flex; flex-direction: column; gap: 2px; }
.nv-menu-grupo { margin: 14px 12px 5px; font-size: 10.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #737a83; }
.nv-mi { display: flex; align-items: center; gap: 11px; width: 100%; min-height: 42px; padding: 0 12px; box-sizing: border-box; border: 0; border-radius: 10px; background: transparent; color: #d5d9de; font: inherit; font-size: 14px; font-weight: 600; text-align: left; text-decoration: none; cursor: pointer; }
.nv-mi:hover { background: rgba(255, 255, 255, .05); color: #fff; }
.nv-mi.ativo { background: rgba(0, 255, 136, .12); color: #fff; font-weight: 800; }
.nv-mi.ativo .nv-mi-icone { color: #00ff88; }
.nv-mi-icone { flex: none; display: flex; }
.nv-mi-nome { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nv-mi-destaque { color: #ffd43b; }
.nv-mi-sair { color: #ff7a86; }
.nv-so-logado { display: none; flex-direction: column; gap: 2px; }
html.lusa-logado .nv-so-logado { display: flex; }
.nv-atalhos { display: flex; flex-direction: column; gap: 2px; }
.nv-atalho { display: flex; align-items: center; gap: 11px; min-height: 38px; padding: 0 12px; border-radius: 10px; color: #d5d9de; font-size: 13.5px; font-weight: 600; text-decoration: none; }
.nv-atalho:hover { background: rgba(255, 255, 255, .05); color: #fff; }
.nv-atalho-icone { flex: none; display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 7px; color: #fff; }
.nv-menu-banner { flex: none; margin-top: auto; padding-top: 14px; }
.nv-menu-banner:empty { display: none; }

/* ------------------------------------------------------------------ barra de baixo (celular) */
.nv-baixo { display: none; }

/* ------------------------------------------------------------------ rodapé */
/* Um rodapé só (02/10/2026): a marca com as redes e o contato, os caminhos do site em colunas,
   pagamentos e idioma, o jogo responsável com onde pedir ajuda, a licença (só com a prova do
   regulador, App\Support\Licenca) e a linha do copyright. O friso vermelho e amarelo no alto é
   o mesmo do aviso de maiores de 18. */
.nv-rodape { --nv-rd-fundo: #14171b; position: relative; margin-top: 12px; padding: 30px 28px 26px calc(var(--nv-trilho, 76px) + 28px); background: var(--nv-rd-fundo); border-top: 1px solid #2a3037; color: #b9bec5; font-size: 13.5px; }
.nv-rodape::before { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 3px; background: linear-gradient(90deg, #ff5a5a 0 50%, #ffd43b 50% 100%); }
.nv-rodape-dentro { display: grid; grid-template-columns: 1.4fr repeat(4, minmax(0, 1fr)); gap: 24px 20px; max-width: 1560px; margin: 0 auto; }
.nv-rd-marca { display: grid; gap: 12px; align-content: start; justify-items: start; }
.nv-rd-marca .nv-logo-nome .lb-marca { height: 26px; }
.nv-rd-marca p { margin: 0; max-width: 260px; font-size: 12.5px; line-height: 1.5; color: #737a83; }
.nv-rd-redes { display: flex; gap: 8px; }
.nv-rd-redes a { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: #1b1f24; border: 1px solid #2a3037; color: #b9bec5; }
.nv-rd-redes a:hover { color: #0e1013; background: #00ff88; border-color: #00ff88; }
.nv-rd-contato { display: grid; gap: 6px; font-size: 13px; }
.nv-rd-contato a { display: inline-flex; align-items: center; gap: 6px; color: #b9bec5; text-decoration: none; }
.nv-rd-contato a:hover { color: #fff; }
.nv-rd-coluna { display: grid; gap: 8px; align-content: start; }
.nv-rd-titulo, .nv-rd-rotulo { margin: 0; font-size: 11.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #737a83; }
.nv-rd-rotulo { display: inline-flex; align-items: center; gap: 6px; margin-right: 4px; }
.nv-rd-coluna a { color: #b9bec5; font-size: 13.5px; text-decoration: none; }
.nv-rd-coluna a:hover { color: #fff; }

/* pagamentos e idioma, numa faixa */
.nv-rd-faixa { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; max-width: 1560px; margin: 24px auto 0; padding-top: 18px; border-top: 1px solid #2a3037; }
.nv-rd-pagamentos, .nv-rd-idiomas { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 8px; }
.nv-rd-pag { display: inline-flex; align-items: center; gap: 7px; height: 30px; padding: 0 12px 0 9px; border-radius: 999px; border: 1px solid #2a3037; background: #1b1f24; color: #e9edf1; font-size: 12.5px; font-weight: 700; --nv-rd-fundo: #1b1f24; }
.nv-rd-pag svg { flex: none; }
/* O idioma do site: vale neste aparelho (cookie) e, com login feito, também para os avisos da conta. */
.nv-rd-idiomas a { display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border-radius: 999px; border: 1px solid #2a3037; color: #b9bec5; font-size: 12.5px; font-weight: 700; text-decoration: none; }
.nv-rd-idiomas a:hover { color: #fff; border-color: #3a424b; }
.nv-rd-idiomas a.ativo { color: #00ff88; border-color: rgba(0, 255, 136, .5); background: rgba(0, 255, 136, .1); }

/* jogo responsável */
.nv-rd-responsavel { display: flex; align-items: flex-start; gap: 16px; max-width: 1560px; margin: 20px auto 0; padding: 16px 18px; border-radius: 14px; background: #1b1f24; border: 1px solid #2a3037; }
.nv-rd-18 { flex: none; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; border: 3px solid #ff4d5e; font-family: "Barlow Condensed", Inter, system-ui, sans-serif; font-style: italic; font-size: 19px; font-weight: 900; color: #fff; background: rgba(255, 77, 94, .1); }
.nv-rd-responsavel-texto { display: grid; gap: 6px; min-width: 0; }
.nv-rd-responsavel-texto p { margin: 0; font-size: 13px; line-height: 1.55; color: #b9bec5; }
.nv-rd-responsavel-texto b { color: #fff; }
.nv-rd-ajuda { display: flex; flex-wrap: wrap; gap: 4px 14px; }
.nv-rd-ajuda span { color: #737a83; }
.nv-rd-ajuda a { color: #7dffc0; font-weight: 700; text-decoration: none; }
.nv-rd-ajuda a:hover { color: #fff; }
.nv-rd-ajuda small { font-size: 12px; font-weight: 500; color: #737a83; }

/* os ícones do painel (ÍCONES DO RODAPÉ): cada um numa caixa na sua proporção, com a dica por cima */
.nv-rd-icones { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 12px; max-width: 1560px; margin: 16px auto 0; }
.nv-rd-icone { position: relative; display: flex; align-items: center; justify-content: center; height: 44px; aspect-ratio: var(--nv-rd-l, 1) / var(--nv-rd-a, 1); padding: 4px; box-sizing: border-box; border-radius: 10px; background: #1b1f24; border: 1px solid #2a3037; color: inherit; text-decoration: none; transition: border-color .15s, transform .15s; }
a.nv-rd-icone:hover, .nv-rd-icone:focus-visible { border-color: #3a424b; transform: translateY(-1px); }
/* O ícone com a dica aberta fica por cima dos vizinhos (a dica pode passar por cima da fileira de cima). */
.nv-rd-icone:hover, .nv-rd-icone:focus-visible, .nv-rd-icone.nv-rd-dica-aberta { z-index: 2; }
.nv-rd-icone:focus-visible { outline: 2px solid #00ff88; outline-offset: 2px; }
.nv-rd-icone img { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.nv-rd-dica { position: absolute; left: 50%; bottom: calc(100% + 10px); z-index: 20; display: grid; gap: 3px; width: max-content; max-width: min(260px, calc(100vw - 32px)); padding: 9px 12px; box-sizing: border-box; border-radius: 10px; background: #0e1013; border: 1px solid #3a424b; box-shadow: 0 14px 40px rgba(0, 0, 0, .55); color: #b9bec5; font-size: 12.5px; font-weight: 500; line-height: 1.4; text-align: left; white-space: normal;
    transform: translate(calc(-50% + var(--nv-rd-dx, 0px)), 4px); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .15s, transform .15s, visibility .15s; }
.nv-rd-dica b { color: #fff; font-size: 13px; font-weight: 800; }
/* a seta fica apontando para o ícone mesmo quando a caixa foi empurrada para caber na tela (--nv-rd-dx) */
.nv-rd-dica::after { content: ""; position: absolute; left: calc(50% - var(--nv-rd-dx, 0px)); bottom: -6px; width: 10px; height: 10px; transform: translateX(-50%) rotate(45deg); background: #0e1013; border-right: 1px solid #3a424b; border-bottom: 1px solid #3a424b; }
.nv-rd-icone:hover .nv-rd-dica, .nv-rd-icone:focus-visible .nv-rd-dica, .nv-rd-icone.nv-rd-dica-aberta .nv-rd-dica { opacity: 1; visibility: visible; transform: translate(calc(-50% + var(--nv-rd-dx, 0px)), 0); }
@media (prefers-reduced-motion: reduce) { .nv-rd-dica, .nv-rd-icone { transition: none; } }

/* a licença (só aparece com os dados dos documentos reais) */
.nv-rd-licenca { display: flex; align-items: center; gap: 20px; max-width: 1560px; margin: 16px auto 0; padding: 16px 18px; border-radius: 14px; border: 1px solid #2a3037; }
.nv-rd-selo { flex: none; display: block; line-height: 0; }
.nv-rd-selo img { width: 110px; height: auto; border-radius: 6px; }
.nv-rd-licenca-texto { display: grid; gap: 6px; }
.nv-rd-licenca-texto p { margin: 0; font-size: 12.5px; line-height: 1.55; color: #b9bec5; }
.nv-rd-licenca-texto a { color: #7dffc0; font-weight: 700; text-decoration: none; }
.nv-rd-licenca-texto a:hover { color: #fff; }
/* A titularidade (comunicado de 03/10/2026): a nota que leva ao comunicado e quem é o titular do site. */
.nv-rd-titular { display: flex; align-items: flex-start; gap: 14px; max-width: 1560px; margin: 16px auto 0; padding: 14px 18px; border-radius: 14px; border: 1px solid #4a4326; background: #1d1b14; }
.nv-rd-titular-icone { flex: none; display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 10px; background: rgba(255, 212, 59, .12); color: #ffd43b; }
.nv-rd-titular-texto { display: grid; gap: 4px; min-width: 0; }
.nv-rd-titular-texto p { margin: 0; font-size: 13px; line-height: 1.55; color: #c9cdd3; }
.nv-rd-titular-texto b { color: #fff; }
.nv-rd-titular-texto a { color: #7dffc0; font-weight: 700; text-decoration: none; white-space: nowrap; }
.nv-rd-titular-texto a:hover { color: #fff; }
.nv-rd-titular-texto a:focus-visible { outline: 2px solid #00ff88; outline-offset: 2px; border-radius: 4px; }
.nv-rd-titular-texto .nv-rd-titular-dados { font-size: 12.5px; color: #9aa1aa; }

/* a base: copyright, e-mails e voltar ao topo */
.nv-rd-base { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 24px; max-width: 1560px; margin: 20px auto 0; padding-top: 16px; border-top: 1px solid #2a3037; font-size: 12.5px; color: #737a83; }
.nv-rd-base p { margin: 0; }
.nv-rd-emails { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.nv-rd-emails a { color: #737a83; text-decoration: none; }
.nv-rd-emails a:hover { color: #fff; }
.nv-rd-emails b { color: #b9bec5; font-weight: 700; }
.nv-rd-topo { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 14px 0 10px; border-radius: 999px; border: 1px solid #2a3037; background: #1b1f24; color: #b9bec5; font: inherit; font-size: 12.5px; font-weight: 700; cursor: pointer; }
.nv-rd-topo:hover { color: #fff; border-color: #3a424b; }
.nv-rd-topo:focus-visible, .nv-rd-redes a:focus-visible, .nv-rd-coluna a:focus-visible, .nv-rd-idiomas a:focus-visible, .nv-rd-ajuda a:focus-visible, .nv-rd-licenca a:focus-visible { outline: 2px solid #00ff88; outline-offset: 2px; }

/* ------------------------------------------------------------------ telas menores */
@media (max-width: 1400px) {
    .nv-saldo-rotulo, .nv-saldo-atualizar { display: none; }
}
@media (max-width: 1200px) {
    .nv-apostas-texto { display: none; }
    .nv-apostas { width: 40px; padding: 0; justify-content: center; }
    .nv-apostas .nv-selo { position: absolute; top: -3px; right: -4px; border: 2px solid #073d2b; height: 19px; min-width: 19px; }
}
@media (max-width: 1024px) {
    html.lusa-novo .nv-busca { display: none; }
    .nv-saldo-rotulo, .nv-saldo-atualizar { display: none; }
}

@media (max-width: 768px) {
    html.lusa-novo { --nv-topo: 54px; --nv-trilho: 0px; --nv-baixo: calc(60px + env(safe-area-inset-bottom, 0px)); }
    html.lusa-novo .content-area { padding: 12px; }
    .nv-trilho { display: none; }
    .nv-topo { gap: 8px; padding: 0 10px 0 0; }
    .nv-topo-menu { width: 46px; }
    /* A marca é mais larga que o texto antigo: em tela estreita com conta aberta ela encolhe, não empurra o sino. */
    .nv-logo { width: auto; flex: 0 1 auto; min-width: 0; }
    .nv-logo .lb-marca { height: 17px; }
    .nv-topo-direita, .nv-conta { gap: 7px; }
    .nv-saldo { height: 40px; padding: 0 5px 0 12px; gap: 5px; }
    .nv-saldo-valor { font-size: 13px; }
    .nv-saldo .balance-eye-btn { display: none; }
    .nv-depositar { width: 30px; height: 30px; padding: 0; justify-content: center; border-radius: 50%; }
    .nv-depositar-texto { display: none; }
    .nv-apostas, html.lusa-novo .nv-conta .ln-bell { width: 40px; height: 40px; }
    html.lusa-novo .nv-conta .profile-menu { display: none; }
    .nv-visitante .nv-btn { height: 34px; padding: 0 12px; font-size: 12.5px; }
    /* No celular o aviso de conexão vira um ponto: o texto não cabe ao lado do saldo. */
    html.lusa-novo .nv-topo .live-indicator { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50%; font-size: 0; overflow: hidden; background: #e63946 !important; }
    html.lusa-novo .nv-topo .live-indicator > * { display: none; }
    .nv-anuncio { justify-content: flex-start; min-height: 34px; padding: 5px 40px 5px 10px; font-size: 12px; text-align: left; }
    .nv-an-pontos { display: none; }
    .nv-menu { width: 326px; }
    .nv-menu-conta { display: block; }
    .nv-atalhos { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 0 4px; }
    .nv-atalho { min-height: 40px; padding: 0 10px; gap: 8px; background: #1b1f24; border: 1px solid #2a3037; font-size: 12px; }

    .nv-baixo { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1150; display: flex; height: var(--nv-baixo); padding-bottom: env(safe-area-inset-bottom, 0px); box-sizing: border-box; background: #14171b; border-top: 1px solid #2a3037; box-shadow: 0 -8px 30px rgba(0, 0, 0, .5); }
    .nv-bx-item { position: relative; flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; color: #b9bec5; font-size: 10.5px; font-weight: 600; text-decoration: none; }
    .nv-bx-item.ativo { color: #00ff88; font-weight: 800; }
    .nv-bx-item.ativo::before { content: ""; position: absolute; top: 0; left: 22%; right: 22%; height: 3px; border-radius: 0 0 3px 3px; background: #00ff88; }
    .nv-bx-icone { position: relative; display: flex; }
    .nv-bx-icone .nv-selo { position: absolute; top: -5px; left: calc(100% - 8px); height: 15px; min-width: 15px; padding: 0 4px; font-size: 9px; }
    .nv-bx-nome { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

    html.lusa-novo .ln-panel { top: calc(var(--nv-sob-o-topo, var(--nv-topo)) + 6px); max-height: calc(100dvh - var(--nv-sob-o-topo, var(--nv-topo)) - var(--nv-baixo) - 14px); }

    /* O bilhete fica logo acima da barra de baixo. */
    html.lusa-novo .sp-slip { bottom: var(--nv-baixo); }

    .nv-rodape { padding: 22px 14px 20px; }
    .nv-rodape-dentro { grid-template-columns: 1fr 1fr; gap: 20px 12px; }
    .nv-rd-marca { grid-column: 1 / -1; }
    .nv-rd-faixa, .nv-rd-licenca, .nv-rd-base { flex-direction: column; align-items: flex-start; }
    .nv-rd-responsavel { padding: 14px; gap: 12px; }
    .nv-rd-icone { height: 40px; }
    .nv-rd-topo { align-self: center; }
}

@media (prefers-reduced-motion: reduce) {
    .nv-menu, .nv-fundo { transition: none; }
}

/* ------------------------------------------------------------------ um bilhete só (etapa 3) */
/* O bilhete do FIFA 24h e do eBasket abre no mesmo lugar do bilhete dos esportes: embaixo, no
   centro, sem escurecer a página (dá para seguir o placar e as odds enquanto se aposta). */
html.lusa-novo.nv-bilhete-fifa .sp-slip { display: none !important; }
html.lusa-novo .nv-bf-selo { margin-left: 4px; padding: 2px 8px; border-radius: 999px; background: rgba(0, 255, 136, .12); border: 1px solid rgba(0, 255, 136, .3);
    color: #7dffc0; font-size: 11px; font-weight: 800; white-space: nowrap; }
html.lusa-novo .nv-bf-aviso { display: flex; align-items: center; gap: 10px; padding: 9px 16px; background: rgba(255, 212, 59, .08); border-bottom: 1px solid var(--border);
    color: var(--text-secondary); font-size: 12.5px; line-height: 1.35; }
html.lusa-novo .nv-bf-aviso[hidden] { display: none; }
html.lusa-novo .nv-bf-aviso span { flex: 1; min-width: 0; }
html.lusa-novo .nv-bf-aviso button { flex: none; height: 30px; padding: 0 12px; border-radius: 8px; border: 1px solid var(--border-light); background: transparent;
    color: var(--text-main); font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
html.lusa-novo .nv-bf-aviso button:hover { border-color: var(--primary); color: var(--primary); }

@media (min-width: 769px) {
    html.lusa-novo .bet-slip-modal { background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; align-items: flex-end; pointer-events: none; z-index: 1210; }
    html.lusa-novo .bet-slip-modal .bet-slip-content { pointer-events: auto; width: min(460px, calc(100vw - 24px)); max-width: 460px; margin: 0 0 12px;
        max-height: calc(100vh - 88px); max-height: calc(100dvh - 88px); box-shadow: 0 18px 50px rgba(0, 0, 0, .6); border-color: rgba(0, 255, 136, .28); }
}

/* ------------------------------------------------------------------ a busca do site (public/js/novo/busca.js) */
html.lusa-novo .nv-busca .nb-painel { top: calc(100% + 8px); left: 0; right: auto; width: min(720px, calc(100vw - 40px)); min-width: 0; max-height: min(74vh, 640px); padding: 0 0 8px; border-radius: 16px; background: #1b1f24; border: 1px solid #3a424b; box-shadow: 0 30px 80px rgba(0, 0, 0, .75); color: #fff; }
.nv-busca-fechar { display: none; flex: none; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #d7fbe9; cursor: pointer; }
html.lusa-novo .nv-busca input::-webkit-search-cancel-button { display: none; }
.nb-abas { position: sticky; top: 0; z-index: 1; display: flex; gap: 6px; padding: 12px 16px 8px; background: #1b1f24; overflow-x: auto; scrollbar-width: none; }
.nb-abas::-webkit-scrollbar { display: none; }
.nb-pilula { flex: none; display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; border-radius: 999px; border: 1px solid #2a3037; background: #15181c; color: #b9bec5; font: inherit; font-size: 12.5px; font-weight: 700; white-space: nowrap; cursor: pointer; }
.nb-pilula:hover { color: #fff; border-color: #3a424b; }
.nb-pilula b { font-weight: 800; color: #737a83; }
.nb-pilula.ativo { background: rgba(0, 255, 136, .12); border-color: rgba(0, 255, 136, .5); color: #00ff88; }
.nb-pilula.ativo b { color: #00ff88; opacity: .8; }
.ne-icone-esporte { display: inline-block; flex: none; object-fit: contain; vertical-align: middle; }
/* Os ícones coloridos da navegação (proposta A): a cor fica na imagem; o item escolhido continua marcado pelo fundo e pelo nome verde. */
.nv-icone { display: block; flex: none; object-fit: contain; }
.nb-pilula svg { width: 13px; height: 13px; }
.nb-grupo { display: flex; align-items: center; gap: 8px; padding: 12px 16px 4px; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #737a83; }
.nb-grupo i { padding: 1px 6px; border-radius: 6px; background: #2a3037; color: #b9bec5; font-style: normal; letter-spacing: 0; }
.nb-link { margin-left: auto; display: inline-flex; align-items: center; gap: 3px; padding: 0; border: 0; background: transparent; color: #00ff88 !important; font: inherit; font-size: 12px; font-weight: 700; letter-spacing: 0; text-transform: none; text-decoration: none; cursor: pointer; }
.nb-link svg { width: 13px; height: 13px; }
.nb-link:hover { text-decoration: underline; }
.nb-item { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 8px 16px; color: #fff !important; text-decoration: none; }
.nb-item:hover, .nb-item.ativo { background: rgba(255, 255, 255, .055); }
.nb-icone { position: relative; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 10px; overflow: hidden; background: rgba(0, 255, 136, .13); color: #00ff88; }
.nb-icone img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nb-icone .ne-icone-esporte { position: static; width: 18px; height: 18px; object-fit: contain; }
.nb-roxo { background: rgba(167, 139, 250, .15); color: #a78bfa; }
.nb-amarelo { background: rgba(255, 212, 59, .14); color: #ffd43b; }
.nb-azul { background: rgba(96, 165, 250, .15); color: #60a5fa; }
.nb-rosa { background: rgba(244, 114, 182, .15); color: #f472b6; }
.nb-texto { display: grid; min-width: 0; }
.nb-texto b { font-size: 14px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nb-texto small { font-size: 12px; color: #737a83; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nb-painel mark { background: transparent; color: #00ff88; }
.nb-vivo { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 800; color: #ff4d5e; white-space: nowrap; }
.nb-vivo i { width: 6px; height: 6px; border-radius: 50%; background: #ff4d5e; }
.nb-jogar { display: inline-flex; align-items: center; height: 28px; padding: 0 12px; border-radius: 999px; background: #00ff88; color: #0e1013; font-size: 12px; font-weight: 800; }
.nb-recentes { display: flex; flex-wrap: wrap; gap: 6px; padding: 4px 16px 6px; }
.nb-dica, .nb-espera { padding: 12px 16px 8px; font-size: 12.5px; color: #737a83; }
.nb-espera { display: flex; align-items: center; gap: 10px; padding: 18px 16px; }
.nb-gira { width: 16px; height: 16px; border-radius: 50%; border: 2px solid #2a3037; border-top-color: #00ff88; animation: nb-gira .8s linear infinite; }
@keyframes nb-gira { to { transform: rotate(360deg); } }
.nb-vazio { display: grid; gap: 4px; padding: 22px 16px 16px; font-size: 13px; color: #737a83; }
.nb-vazio b { font-size: 15px; color: #fff; overflow-wrap: anywhere; }
.nv-mi-busca { display: none; }

@media (max-width: 1024px) {
    /* O campo não cabe no cabeçalho: a busca abre em tela cheia pelo menu. */
    .nv-mi-busca { display: flex; }
    html.lusa-novo.nv-busca-cheia { overflow: hidden; }
    html.lusa-novo.nv-busca-cheia .nv-busca { display: flex; position: fixed; left: 0; right: 0; top: 0; z-index: 1400; max-width: none; height: 56px; padding: 0 6px 0 16px; border: 0; border-bottom: 1px solid #0f5a40; border-radius: 0; background: #073d2b; }
    html.lusa-novo.nv-busca-cheia .nv-busca input { font-size: 16px; }
    html.lusa-novo.nv-busca-cheia .nv-busca-tecla { display: none; }
    html.lusa-novo.nv-busca-cheia .nv-busca-fechar { display: flex; }
    html.lusa-novo.nv-busca-cheia .nv-busca .nb-painel { position: fixed; left: 0; right: 0; top: 56px; bottom: var(--nv-baixo, 0px); width: auto; max-height: none; border: 0; border-radius: 0; box-shadow: none; background: #14171b; }
    html.lusa-novo.nv-busca-cheia .nv-busca .nb-painel[hidden] { display: block; }
    html.lusa-novo.nv-busca-cheia .nb-abas { background: #14171b; }
}
@media (prefers-reduced-motion: reduce) { .nb-gira { animation: none; } }

/* ------------------------------------------------------------------ o sino do site novo (public/js/novo/sino.js) */
.ln-lados { display: flex; gap: 4px; padding: 8px 10px 0; }
.ln-lados button { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 34px; padding: 0 10px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: #b9bec5; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.ln-lados button:hover { color: #fff; }
.ln-lados button.ativo { color: #00ff88; border-bottom-color: #00ff88; }
.ln-lados button b { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 17px; padding: 0 5px; border-radius: 999px; background: #00ff88; color: #0e1013; font-size: 10px; font-weight: 800; }
.ln-lados button b[hidden] { display: none; }
.ln-central { display: flex; align-items: center; justify-content: center; min-height: 42px; border-top: 1px solid #2a3037; color: #00ff88 !important; font-size: 13px; font-weight: 800; text-decoration: none; }
.ln-central:hover { background: rgba(0, 255, 136, .06); }

/* a faixa da mensagem importante */
.nv-importante { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 36px; padding: 6px 16px; box-sizing: border-box; background: #3b2207; border-bottom: 1px solid rgba(255, 159, 67, .4); color: #ffe2c4; font-size: 13px; font-weight: 600; line-height: 1.35; text-align: center; }
.nv-importante[hidden] { display: none; }
.nv-imp-icone { flex: none; width: 16px; height: 16px; background: #ff9f43; -webkit-mask: var(--nv-imp) center / contain no-repeat; mask: var(--nv-imp) center / contain no-repeat;
    --nv-imp: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 9v4M12 17h.01M10.3 4l-8 14a2 2 0 0 0 1.7 3h16a2 2 0 0 0 1.7-3l-8-14a2 2 0 0 0-3.4 0z'/%3E%3C/svg%3E"); }
.nv-imp-texto { min-width: 0; overflow-wrap: anywhere; }
.nv-imp-texto b { color: #ff9f43; }
.nv-imp-botao { flex: none; padding: 3px 11px; border-radius: 999px; background: #ff9f43; color: #0e1013 !important; font-size: 12px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.nv-imp-botao:hover { background: #ffb469; }

/* ------------------------------------------------------------------ aviso da primeira visita (+18 e cookies)
 * Toma a página quase toda (pedido do dono, 30/09/2026): o fundo escurece e borra, a página para
 * de rolar (html.nv-maior-aberto) e a caixa fica no meio, com o selo 18+ grande. Azulejo Lusa:
 * o friso vermelho e amarelo no alto e o azulejo fraco atrás. */
html.nv-maior-aberto, html.nv-maior-aberto body { overflow: hidden; }
.nv-maior { position: fixed; inset: 0; z-index: 3000; display: flex; align-items: center; justify-content: center; padding: 24px 16px;
    background: rgba(5, 9, 7, .88); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); animation: nv-maior-entrar .3s ease-out; }
.nv-maior[hidden] { display: none; }
.nv-maior-caixa { position: relative; isolation: isolate; overflow: auto; width: min(640px, 100%); max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px);
    display: grid; justify-items: center; gap: 18px; padding: 44px 36px 30px; border-radius: 26px; text-align: center;
    background: radial-gradient(120% 90% at 50% 0%, #0d3222 0%, #0e1013 72%); border: 1px solid rgba(0, 255, 136, .22); box-shadow: 0 40px 120px rgba(0, 0, 0, .75); }
.nv-maior-caixa::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .07; background-size: 64px 64px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%2300ff88' stroke-width='1.6'%3E%3Cpath d='M0 26A26 26 0 0 0 26 0M74 0A26 26 0 0 0 100 26M100 74A26 26 0 0 0 74 100M26 100A26 26 0 0 0 0 74'/%3E%3Crect x='31' y='31' width='38' height='38'/%3E%3Crect x='31' y='31' width='38' height='38' transform='rotate(45 50 50)'/%3E%3Ccircle cx='50' cy='50' r='9'/%3E%3C/g%3E%3C/svg%3E");
    -webkit-mask-image: linear-gradient(to bottom, #000 30%, transparent 85%); mask-image: linear-gradient(to bottom, #000 30%, transparent 85%); }
.nv-maior-caixa::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: linear-gradient(90deg, #ff5a5a 0 50%, #ffd43b 50% 100%); }
.nv-maior-selo { display: flex; align-items: center; justify-content: center; width: 124px; height: 124px; border-radius: 50%; border: 5px solid #ff4d5e;
    font-family: "Barlow Condensed", Inter, system-ui, sans-serif; font-style: italic; font-size: 54px; font-weight: 900; letter-spacing: -.02em; color: #fff;
    background: rgba(255, 77, 94, .1); box-shadow: 0 0 0 10px rgba(255, 77, 94, .12), 0 0 60px rgba(255, 77, 94, .35); }
.nv-maior-titulo { max-width: 18ch; font-size: clamp(26px, 5vw, 36px); font-weight: 900; line-height: 1.1; letter-spacing: -.02em; color: #fff; text-wrap: balance; }
.nv-maior-texto { margin: 0; max-width: 48ch; font-size: 15px; line-height: 1.55; color: #b9bec5; }
.nv-maior-texto a { color: #00ff88; }
.nv-maior-acoes { display: grid; gap: 10px; width: 100%; max-width: 400px; margin-top: 4px; }
.nv-maior-acoes .nv-btn { height: 56px; font-size: 16px; justify-content: center; border-radius: 14px; }
.nv-maior-pe { font-size: 12.5px; font-weight: 700; color: #737a83; }
@keyframes nv-maior-entrar { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 760px) {
    .nv-maior { padding: 12px; align-items: stretch; }
    .nv-maior-caixa { align-content: center; padding: 36px 20px 24px; gap: 16px; border-radius: 22px; max-height: none; }
    .nv-maior-selo { width: 104px; height: 104px; font-size: 46px; border-width: 4px; }
    .nv-maior-texto { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) { .nv-maior { animation: none; } }

/* ------------------------------------------------------------------ avisos rápidos (LusaAviso) */
.nv-aviso { display: flex; align-items: center; gap: 12px; text-decoration: none; color: inherit; cursor: pointer; }
.nv-aviso > div { flex: 1; min-width: 0; }
.nv-aviso-botao { flex: none; padding: 5px 12px; border-radius: 999px; background: #00ff88; color: #0e1013; font-size: 12px; font-weight: 800; white-space: nowrap; }
.nv-aviso-ruim { border-color: rgba(248, 113, 113, .5) !important; }

/* ------------------------------------------------------------------ aposta rápida (public/js/novo/aposta-rapida.js) */
.nv-rapida { position: fixed; left: calc(var(--nv-trilho, 76px) + 16px); bottom: calc(var(--nv-baixo, 0px) + 16px); z-index: 990; display: flex; align-items: center; gap: 10px; padding: 8px 8px 8px 12px; border-radius: 999px; background: #2b2005; border: 1px solid rgba(255, 212, 59, .55); box-shadow: 0 12px 34px rgba(0, 0, 0, .55); color: #fff; }
.nv-rapida[hidden] { display: none; }
.nv-rapida-raio { flex: none; width: 18px; height: 18px; background: #ffd43b; -webkit-mask: var(--nv-raio) center / contain no-repeat; mask: var(--nv-raio) center / contain no-repeat;
    --nv-raio: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 2 4 14h7l-1 8 9-12h-7z'/%3E%3C/svg%3E"); }
.nv-rapida-texto { display: grid; line-height: 1.2; }
.nv-rapida-texto b { font-size: 12.5px; color: #ffd43b; }
.nv-rapida-texto small { font-size: 11.5px; color: #e9dcae; }
.nv-rapida button { flex: none; height: 30px; padding: 0 12px; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .12); color: #fff; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.nv-rapida button:hover { background: rgba(255, 255, 255, .22); }
@media (max-width: 768px) {
    .nv-rapida { left: 8px; right: auto; bottom: calc(var(--nv-baixo, 60px) + 8px); padding: 6px 6px 6px 10px; }
    .nv-rapida-texto small { display: none; }
    /* Com o bilhete aberto, a etiqueta sai da frente dele. */
    body.sp-slip-open .nv-rapida, html.nv-bilhete-fifa .nv-rapida { display: none; }
}

/* "novo" ao lado do link das novidades, no menu */
.nv-selo-novo { margin-left: auto; padding: 1px 7px; border-radius: 999px; background: rgba(0, 255, 136, .14); border: 1px solid rgba(0, 255, 136, .4); color: #7dffc0;
    font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }

/* O contador ao vivo nunca quebra o ponto para outra linha (no canto do ícone o espaço é curto). */
.nv-selo-vivo, .nv-tr-item .nv-selo-vivo, .nv-bx-icone .nv-selo-vivo { min-width: max-content; }
