/* Ajustes de tela do BrazucaBet.
   Cada bloco aqui nasceu de um problema medido no site no ar. */

/* ------------------------------------------------------------------
   1) Sidebar travando ao passar o mouse
   Os tres brilhos decorativos da sidebar ficam animando sem parar
   (pulse-slow / float) com desfoque de ate' 64px em cima, e na frente deles
   ha' varios paineis e botoes com desfoque de fundo (backdrop-filter). Como o
   brilho se mexe o tempo todo, o que esta' ATRAS dos desfoques muda em todo
   quadro, obrigando o navegador a refazer todos eles, sem parar.
   Aqui so' sai o CUSTO: os brilhos continuam na tela e continuam animando.
   ------------------------------------------------------------------ */

/* o brilho ja' e' um degrade redondo que termina transparente, entao o
   desfoque gigante em cima nao muda o que aparece, so' pesa */
#menu-vertical .blur-3xl,
#menu-vertical .blur-2xl,
#menu-vertical .blur-xl {
    filter: none !important;
}

.nb-trava-overlay {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* No computador a sidebar e' uma coluna fixa sobre fundo liso, entao nenhum
   desses desfoques aparece na tela, so' custa. No celular ela vira gaveta por
   cima do conteudo, onde o desfoque aparece de verdade: la' fica como estava. */
@media (hover: hover) and (pointer: fine) {
    #menu-vertical,
    #menu-vertical * {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    #menu-vertical {
        /* camada propria: mexer na sidebar nao obriga a redesenhar o fundo */
        transform: translateZ(0);
    }

    /* transition: all faz o navegador vigiar todas as propriedades a cada
       hover; no hover destes itens so' muda cor de fundo */
    #menu-vertical a,
    #menu-vertical div,
    #menu-vertical span,
    #menu-vertical li {
        transition-property: background-color, border-color, color, fill, stroke, opacity, transform !important;
    }
}

/* ------------------------------------------------------------------
   2) Rolagem na tela de pagamento
   Medido em 375x667 (o celular mais apertado): o painel de deposito tinha
   788px de conteudo em 667px de tela, ou seja, 121px sobrando, e o botao
   "Gerar Pagamento" so' aparecia depois de rolar. Rolagem na hora de pagar
   derruba deposito.
   A arte promocional do topo sozinha ocupa 161px. Em tela baixa ela sai e o
   painel fecha em 667px exatos, com o botao a' vista. Em tela normal a arte
   continua aparecendo igual.
   ------------------------------------------------------------------ */
@media (max-height: 700px) {
    img[src*="deposito_celular"],
    img[src*="deposito_pc"] {
        display: none !important;
    }
}

/* ------------------------------------------------------------------
   3) Fundo azul do site aparecendo em blocos
   O fundo era uma imagem de 1920x1152 comprimida em 8 KB. Como ela e' quase
   toda degrade liso, essa compressao toda vira faixa/bloco na tela, e nao tem
   como recuperar: a informacao ja' se perdeu no arquivo.
   Aqui o mesmo fundo e' refeito com degrade de CSS, usando as cores MEDIDAS na
   propria imagem (amostra em 25 pontos, do #0c1f2d no canto superior esquerdo
   ao #001323 no canto inferior direito). Degrade de CSS nao tem compressao,
   entao nao cria bloco, e ainda sai de graca: zero download.
   De quebra, a imagem era pintada DUAS vezes (html e body); agora e' uma so'.
   ------------------------------------------------------------------ */
html {
    background-color: #001625 !important;
    background-image:
        radial-gradient(70% 50% at 3% -2%, #12293a 0%, rgba(18, 41, 58, 0) 72%),
        radial-gradient(55% 42% at 27% 47%, #05273a 0%, rgba(5, 39, 58, 0) 75%),
        radial-gradient(80% 65% at 52% 28%, #00243a 0%, rgba(0, 36, 58, 0) 78%),
        linear-gradient(158deg, #011d2e 0%, #001625 48%, #001020 100%) !important;
    background-attachment: fixed !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

body {
    background-image: none !important;
    background-color: transparent !important;
}

/* ------------------------------------------------------------------
   4) O presente da faixa do topo balancando
   So' mexe em transform, que e' o que a placa de video faz sozinha: nao
   obriga o navegador a recalcular nem repintar nada em volta.
   ------------------------------------------------------------------ */
@keyframes nb-presente-balanca {
    0%, 62%, 100% { transform: rotate(0deg) scale(1); }
    68%           { transform: rotate(-12deg) scale(1.08); }
    74%           { transform: rotate(10deg) scale(1.08); }
    80%           { transform: rotate(-7deg) scale(1.04); }
    86%           { transform: rotate(5deg) scale(1.02); }
    92%           { transform: rotate(-2deg) scale(1); }
}

.nb-presente-balanca {
    animation: nb-presente-balanca 2.8s ease-in-out infinite;
    transform-origin: 50% 85%;
    will-change: transform;
}

/* quem pediu menos animacao no proprio aparelho nao leva balanco */
@media (prefers-reduced-motion: reduce) {
    .nb-presente-balanca { animation: none; }
}

/* ------------------------------------------------------------------
   5) Tamanho dos selos novos do rodape
   O site ja' tinha uma regra propria limitando a altura das imagens do rodape,
   e ela cortava o LOTEP em 32px. Aqui cada selo tem a altura certa.
   Regra de qualidade: a altura NUNCA passa da altura real do arquivo, entao a
   tela sempre reduz e nunca amplia (ampliar e' o que borra).
   LOTEP tem 58px de altura real, EBAC tem 44px, e o IBIA e' vetor.
   ------------------------------------------------------------------ */
#footer .licenses img.nb-selo,
.licenses img.nb-selo {
    height: 24px !important;
    max-height: 24px !important;
    width: auto !important;
    display: block;
}

#footer .licenses img.nb-selo-lotep,
.licenses img.nb-selo-lotep {
    height: 44px !important;
    max-height: 44px !important;
}

/* ------------------------------------------------------------------
   6) Roleta no estilo da Gira Sorte da BetQuePaga, com as cores do BrazucaBet
   La' a roda inteira e' desenhada em vetor: aro escuro com 24 pontinhos
   dourados, fatias alternadas, rotulos girados junto com a fatia, ponteiro
   dourado em cima e medalhao no meio. Aqui e' a mesma arte e a mesma
   montagem, trocando o verde de la' pelo ciano da casa e o texto pelo nosso.
   Vetor em vez de imagem: nitido em qualquer tela, sem download e sem borrao.
   Camadas: o disco (z3) gira por baixo, aro e ponteiro (z5) ficam parados em
   cima e o medalhao (z6) no meio. O disco so' mexe em transform e os
   pontinhos so' em opacidade: nenhum dos dois manda recalcular layout.
   ------------------------------------------------------------------ */
.nb-roleta-moldura {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 5;
}

.nb-roleta-aro {
    position: absolute;
    inset: -4%;
    width: 108%;
    height: 108%;
    display: block;
    filter: drop-shadow(0 0 14px rgba(34, 199, 234, .28));
}

.nb-roleta-ponteiro {
    position: absolute;
    top: -5%;
    left: 50%;
    width: 11%;
    height: auto;
    transform: translateX(-50%);
    filter: drop-shadow(0 3px 5px rgba(0, 0, 0, .6));
}

/* os pontinhos do aro pulsam enquanto a roda gira, e so' enquanto gira */
@keyframes nb-roleta-pisca {
    0%, 100% { opacity: 1; }
    50%      { opacity: .35; }
}

.nb-roleta-moldura.piscando .nb-roleta-aro circle[r="2.6"] {
    animation: nb-roleta-pisca .55s ease-in-out infinite;
}

.nb-roleta-centro {
    border-radius: 50%;
    border: 3px solid #f3bf40;
    background: #061320;
    box-shadow: 0 0 0 3px #071220, 0 0 18px rgba(34, 199, 234, .35);
}

/* o disco fica por dentro do aro, sem borda nem sombra propria */
[data-roleta] {
    z-index: 3;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
}

/* ------------------------------------------------------------------
   7) "O que tem na roda"
   Fatia do mesmo tamanho nao quer dizer mesma chance. A lista mostra o
   "1 em N" real de cada premio, vindo do peso cadastrado no painel.
   ------------------------------------------------------------------ */
.nb-chances { margin-top: .25rem; }

.nb-chance-titulo {
    font-size: .8125rem;
    font-weight: 700;
    color: #cbd5e1;
    text-align: center;
    margin: 0 0 .5rem;
}

.nb-chance-lista {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: .375rem;
}

.nb-chance-linha {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .4rem .7rem;
    border-radius: .5rem;
    border: 1px solid rgba(34, 199, 234, .18);
    background: rgba(6, 19, 32, .55);
    font-size: .8125rem;
}

.nb-chance-nome { color: #93a4c4; font-weight: 600; }
.nb-chance-nome.nb-chance-premio { color: #22c7ea; }
.nb-chance-odd { color: #f3bf40; font-weight: 700; white-space: nowrap; }

@media (prefers-reduced-motion: reduce) {
    .nb-roleta-moldura.piscando .nb-roleta-aro circle { animation: none; }
}

/* ------------------------------------------------------------------
   8) Avisos do site (erro, sucesso, informacao)
   O aviso antigo usava classes de posicao que nao existem no CSS do site:
   nascia abaixo da borda da tela e atras das janelas, entao nenhum erro de
   login, cadastro, deposito ou saque aparecia para o jogador.
   Agora ele fica no topo, no centro, ACIMA de qualquer janela aberta (as
   janelas do site usam z-index 1900), com cor e icone por tipo e botao de
   fechar. Parado com o mouse em cima, ele nao some.
   ------------------------------------------------------------------ */
#nb-avisos {
    position: fixed;
    top: 16px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 6000;
    width: min(440px, calc(100vw - 24px));
    display: flex;
    flex-direction: column;
    gap: 8px;
    pointer-events: none;
}

.nb-aviso {
    pointer-events: auto;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 10px 12px 14px;
    border-radius: 12px;
    background: #0f1d31;
    border: 1px solid rgba(255, 255, 255, .08);
    border-left: 4px solid #22c7ea;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .5);
    color: #f1f5fb;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 500;
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity .22s ease, transform .22s ease;
}

.nb-aviso--in {
    opacity: 1;
    transform: translateY(0);
}

.nb-aviso--erro { border-left-color: #f04c5a; background: #231421; }
.nb-aviso--ok   { border-left-color: #2fd07e; background: #0f2426; }

.nb-aviso__ico {
    flex: none;
    width: 20px;
    height: 20px;
    margin-top: 0;
    fill: none;
    stroke: #22c7ea;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.nb-aviso--erro .nb-aviso__ico { stroke: #ff6b77; }
.nb-aviso--ok .nb-aviso__ico   { stroke: #3ee08f; }

.nb-aviso__txt {
    flex: 1;
    min-width: 0;
    padding-top: 1px;
    overflow-wrap: anywhere;
}

.nb-aviso__x {
    flex: none;
    width: 28px;
    height: 28px;
    margin: -4px 0 -4px 0;
    border-radius: 8px;
    display: grid;
    place-items: center;
    color: rgba(241, 245, 251, .6);
    background: transparent;
    cursor: pointer;
}

.nb-aviso__x:hover { background: rgba(255, 255, 255, .08); color: #fff; }

.nb-aviso__x svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
}

@media (prefers-reduced-motion: reduce) {
    .nb-aviso { transition: none; transform: none; }
}

/* ------------------------------------------------------------------
   9) Classes que os scripts usam e o CSS do site nunca teve
   Achadas cruzando cada classe escrita nos scripts com a folha de estilo:
   sem elas, grade saia em uma coluna, aviso de lista vazia ficava espremido
   num canto e o degrade escuro sob o nome do jogo nao existia.
   ------------------------------------------------------------------ */
.col-span-full { grid-column: 1 / -1; }
.grid-cols-\[1fr_90px\] { grid-template-columns: 1fr 90px; }
.h-6\.5 { height: 1.625rem; }
.leading-0 { line-height: 0; }
.min-w-auto { min-width: auto; }
.border-yellow-500\/40 { border-color: rgb(234 179 8 / .4); }
.from-black\/85 {
    --tw-gradient-from: rgb(0 0 0 / .85) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
@media (min-width: 768px) {
    .md\:px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
}

/* ------------------------------------------------------------------
   10) Erro embaixo do campo (login, cadastro, senha, endereco, codigo)
   Era 12px num vermelho apagado, facil de nao ver. Agora com icone,
   cor mais viva e espaco para respirar.
   ------------------------------------------------------------------ */
[data-erro-campo] {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin: 6px 0 2px 2px !important;
    font-size: 12.5px !important;
    line-height: 1.35;
    font-weight: 500;
    color: #ff7a85 !important;
}

[data-erro-campo]::before {
    content: "";
    flex: none;
    width: 14px;
    height: 14px;
    margin-top: 1px;
    background: currentColor;
    -webkit-mask: 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.4' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5.5M12 16.4v.1'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: 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.4' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5.5M12 16.4v.1'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ------------------------------------------------------------------
   11) Janela de deposito no computador
   Era uma coluna so': a foto (390px) em cima do formulario (618px), 1008px
   de altura numa tela de 768. O botao de pagar ficava 240px abaixo da borda.
   No computador agora e' foto de um lado e formulario do outro: a janela fica
   com a altura do formulario, centralizada, e nunca passa da tela (se a tela
   for baixa, so' o formulario rola por dentro, a foto fica parada).
   No celular nada muda.
   ------------------------------------------------------------------ */
@media (min-width: 700px) {
    .bg-muted-800:has(> .relative > div > img[src*="deposito_pc"]) {
        flex-direction: row !important;
        align-items: stretch;
        width: min(880px, calc(100vw - 48px)) !important;
        max-width: none !important;
        max-height: calc(100vh - 32px);
        overflow: hidden;
        border-radius: 18px;
    }

    /* coluna da foto */
    .bg-muted-800:has(> .relative > div > img[src*="deposito_pc"]) > .relative:first-child {
        flex: 0 0 clamp(250px, 38vw, 400px);
        display: flex;
        align-items: flex-end;
        justify-content: center;
        overflow: hidden;
        background:
            radial-gradient(75% 60% at 50% 62%, rgba(34, 199, 234, .30) 0%, rgba(34, 199, 234, 0) 70%),
            linear-gradient(180deg, #13294a 0%, #0b1a30 100%);
        border-right: 1px solid rgba(255, 255, 255, .06);
    }

    .bg-muted-800:has(> .relative > div > img[src*="deposito_pc"]) > .relative:first-child > div:first-child {
        width: 100%;
    }

    /* a foto tem 489px de largura real: aqui ela aparece com 400px, ou seja,
       reduzida, nunca ampliada (ampliar e' o que borra) */
    .bg-muted-800:has(> .relative > div > img[src*="deposito_pc"]) img[src*="deposito_pc"] {
        display: block;
        width: 100% !important;
        height: auto !important;
    }

    /* o X de cima da foto ficaria no meio da janela; o X do cabecalho do
       formulario faz o mesmo servico */
    .bg-muted-800:has(> .relative > div > img[src*="deposito_pc"]) > .relative:first-child > .nui-button-close {
        display: none !important;
    }

    /* coluna do formulario: rola por dentro so' se a tela for baixa */
    .bg-muted-800:has(> .relative > div > img[src*="deposito_pc"]) > .relative:last-child {
        flex: 1 1 auto;
        min-width: 0;
        display: flex;
        flex-direction: column;
        min-height: 0;
    }

    .bg-muted-800:has(> .relative > div > img[src*="deposito_pc"]) > .relative:last-child > form,
    .bg-muted-800:has(> .relative > div > img[src*="deposito_pc"]) > .relative:last-child > div:last-child {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        scrollbar-width: thin;
    }
}

/* passo a passo do deposito: so' aparece no computador, na coluna da foto */
.nb-dep-passos { display: none; }

@media (min-width: 700px) {
    .bg-muted-800:has(> .relative > div > img[src*="deposito_pc"]) > .relative:first-child {
        flex-direction: column;
        justify-content: space-between;
    }

    .nb-dep-passos {
        display: block;
        width: 100%;
        padding: 30px 30px 0;
        text-align: left;
    }

    .nb-dep-passos__titulo {
        margin: 0 0 16px;
        font-size: 19px;
        font-weight: 800;
        color: #fff;
        letter-spacing: -.01em;
    }

    .nb-dep-passos__lista {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        gap: 12px;
    }

    .nb-dep-passos__lista li {
        display: flex;
        align-items: flex-start;
        gap: 11px;
        font-size: 13.5px;
        line-height: 1.4;
        color: #c9d6e8;
    }

    .nb-dep-passos__lista span {
        flex: none;
        width: 24px;
        height: 24px;
        border-radius: 50%;
        display: grid;
        place-items: center;
        font-size: 12px;
        font-weight: 800;
        color: #06192a;
        background: #22c7ea;
    }

    .nb-dep-passos__nota {
        margin: 16px 0 0;
        font-size: 12px;
        color: #8ea3bf;
    }
}

/* ------------------------------------------------------------------
   12) Avatar do jogador
   No topo, o anel de nivel (45px) morava numa caixa de 36px e ficava quase
   todo escondido atras do circulo de 32px: sobrava um fio torto, e as
   iniciais em 14px encostavam na borda. Agora: caixa e anel de 42px, circulo
   de 24px dentro do anel (com folga), anel comecando no topo, iniciais proporcionais.
   Com foto, ela preenche o circulo recortada em quadrado (nunca esticada).
   ------------------------------------------------------------------ */
.inline-flex.size-9:has(> .relative > svg[role="progressbar"]) {
    width: 42px;
    height: 42px;
}

.relative:has(> .absolute .nui-avatar) > svg[role="progressbar"] {
    width: 42px;
    height: 42px;
    transform: rotate(-90deg);
}

.relative:has(> .absolute .nui-avatar) > svg[role="progressbar"] circle {
    stroke-width: 3;
}

.inline-flex.size-9 .nui-avatar-xs {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px;
    border-width: 0 !important;
    padding: 0 !important;
}

.inline-flex.size-9 .nui-avatar-xs .nui-avatar-inner {
    width: 100%;
    height: 100%;
}

.inline-flex.size-9 .nui-avatar-xs .nui-avatar-text {
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .02em;
}

.nui-avatar-lg .nui-avatar-text {
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
}

.nb-avatar--foto .nui-avatar-inner {
    overflow: hidden;
    border-radius: 9999px;
}

.nb-avatar-foto {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 9999px;
}

/* selo do rodape (931x170) estava espremido pela metade numa caixa de 128x48 */
#footer .licenses img {
    object-fit: contain;
}

/* ------------------------------------------------------------------
   13) Chat da comunidade
   Avatar com iniciais (cor fixa por pessoa) ou foto, selo VIP com a cor da
   faixa e o "fulano esta' digitando" com os tres pontinhos.
   ------------------------------------------------------------------ */
.nb-chat-lista { gap: 10px; }

.nb-chat-msg {
    display: flex;
    align-items: flex-start;
    gap: 9px;
}

.nb-chat-av {
    flex: none;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    overflow: hidden;
    font-size: 11px;
    font-weight: 800;
    color: #fff;
    letter-spacing: .02em;
}

.nb-chat-av__foto { width: 100%; height: 100%; object-fit: cover; display: block; }

.nb-chat-corpo {
    flex: 1;
    min-width: 0;
    padding: 7px 11px 8px;
    border-radius: 4px 14px 14px 14px;
    background: rgba(255, 255, 255, .045);
}

.nb-chat-msg--suporte .nb-chat-corpo {
    background: rgba(34, 199, 234, .10);
    border: 1px solid rgba(34, 199, 234, .28);
}

.nb-chat-topo {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11.5px;
    line-height: 1.2;
    margin-bottom: 2px;
}

.nb-chat-nome {
    font-weight: 700;
    color: #fff;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nb-chat-hora {
    margin-left: auto;
    color: #6f809b;
    font-size: 10.5px;
    flex: none;
}

.nb-chat-texto {
    font-size: 13.5px;
    line-height: 1.4;
    color: #dbe4f0;
    overflow-wrap: anywhere;
}

.nb-chat-selo {
    flex: none;
    padding: 1px 6px;
    border-radius: 999px;
    font-size: 9.5px;
    font-weight: 800;
    letter-spacing: .03em;
    line-height: 1.5;
}

.nb-chat-selo--base   { background: #2a3850; color: #b7c4d8; }
.nb-chat-selo--bronze { background: #5a3a24; color: #f2b27a; }
.nb-chat-selo--prata  { background: #3c4a60; color: #e3ebf7; }
.nb-chat-selo--ouro   { background: #5b4a14; color: #ffd76a; }
.nb-chat-selo--lenda  { background: #3f2466; color: #d7b8ff; }
.nb-chat-selo--suporte { background: #22c7ea; color: #04202b; }

.nb-chat-digitando {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 2px 16px 8px;
    font-size: 12px;
    color: #8ea3bf;
}

.nb-chat-digitando[hidden] { display: none; }
.nb-chat-digitando b { color: #c9d6e8; font-weight: 700; }

.nb-chat-pontos { display: inline-flex; gap: 3px; }

.nb-chat-pontos i {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #8ea3bf;
    animation: nb-chat-pula 1.1s ease-in-out infinite;
}

.nb-chat-pontos i:nth-child(2) { animation-delay: .15s; }
.nb-chat-pontos i:nth-child(3) { animation-delay: .3s; }

@keyframes nb-chat-pula {
    0%, 60%, 100% { transform: translateY(0); opacity: .45; }
    30%           { transform: translateY(-3px); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .nb-chat-pontos i { animation: none; opacity: .8; }
}

/* com o chat aberto a bolinha do atendimento tampava o botao de enviar */
.nb-chat-aberto [data-suporte-ia-botao] { display: none !important; }

/* ------------------------------------------------------------------
   14) Nota do Lighthouse (acessibilidade e boas praticas)
   - zoom liberado no celular: o site bloqueava a pinca (maximum-scale=1).
     Campo com letra menor que 16px faz o iPhone dar zoom sozinho ao tocar,
     por isso todo campo passa a ter 16px no celular.
   - botao "Cadastre-se" do topo: branco sobre #607bdd dava contraste 3,9
     (o minimo e' 4,5). O fundo escurece um pouco, o mesmo tom da marca.
   - bolinhas do carrossel: area de toque de 10px, o minimo e' 24px. O
     desenho continua de 10px; so' a area de toque cresce.
   - letra do rodape abaixo de 12px no celular.
   - logo com a proporcao presa (o HTML so' dava a altura).
   ------------------------------------------------------------------ */
@media (max-width: 767px) {
    input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea {
        font-size: 16px !important;
    }

    /* so' o que estava abaixo de 12px (medido pelo Lighthouse) */
    .hover__footer .data__text,
    #footer .footer-emails p,
    #footer small,
    #footer .xs\:text-\[11px\],
    #footer .text-\[10px\],
    #footer .text-\[11px\],
    #footer .text-xs {
        font-size: 12px !important;
    }
}

#auth-nav-container .nui-button-primary {
    background-color: #4f67cc !important;
}

#auth-nav-container .nui-button-primary:hover {
    background-color: #5a72d8 !important;
}

.embla__dot {
    width: 24px !important;
    height: 24px !important;
    border: 0 !important;
    background: transparent !important;
    margin-left: 0 !important;
}

.embla__dot::before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 2px solid rgb(30, 40, 64);
    background: rgba(30, 40, 64, .95);
    transition: background-color .2s;
}

.embla__dot.bg-primary-400::before {
    background: rgb(129, 151, 228);
}

img[src*="3e5bf9beb1903b25"] {
    object-fit: contain;
    aspect-ratio: 302 / 100;
    width: auto;
}

/* ------------------------------------------------------------------
   15) Banner principal ja' no tamanho certo antes do script
   O estilo original deixava cada slide do carrossel da home com metade da
   largura ate' o script do carrossel rodar e esticar para 100%. No celular
   lento isso acontecia perto dos 8 segundos, e o navegador contava o banner
   como "aparecendo" so' ali (a nota de velocidade despencava). Aqui o CSS ja'
   desenha igual ao que o script vai deixar: um slide por vez, largura toda.
   ------------------------------------------------------------------ */
.embla[data-v-0062cd6e] { overflow: hidden; }

.embla[data-v-0062cd6e] > .embla__container,
.embla__container[data-v-0062cd6e] {
    display: flex;
}

.embla__container[data-v-0062cd6e] > .embla__slide {
    flex: 0 0 100%;
    min-width: 0;
}

/* 16. celular: bolinha do atendimento (e o painel dela) acima da barra de baixo, sem cobrir "Perfil" */
body:has(.mobile-nav) [data-suporte-ia-botao] {
    bottom: calc(76px + env(safe-area-inset-bottom)) !important;
}
body:has(.mobile-nav) [data-suporte-ia] {
    bottom: calc(76px + env(safe-area-inset-bottom)) !important;
    max-height: calc(100vh - 140px);
    max-height: calc(100dvh - 140px);
}
body.nb-tem-nav-celular [data-suporte-ia-botao] { bottom: calc(76px + env(safe-area-inset-bottom)) !important; }
body.nb-tem-nav-celular [data-suporte-ia] { bottom: calc(76px + env(safe-area-inset-bottom)) !important; max-height: calc(100vh - 140px); max-height: calc(100dvh - 140px); }

/* 17. celular: o X solto em cima da arte do deposito cobria o "R$4.700".
   Cada etapa (valor e aguardando pagamento) ja tem o proprio X no cabecalho,
   igual no computador (bloco 11). */
.bg-muted-800:has(> .relative > div > img[src*="deposito_pc"]) > .relative:first-child > .nui-button-close {
    display: none !important;
}

/* 18. celular: abas da conta (Minha conta / Transacoes / Historico / Verificacao).
   A aba ativa perdia as classes de tamanho e ficava em 14px quebrando em duas
   linhas, enquanto as outras ficavam em 9px. Todas iguais e legiveis (nome comprido quebra em duas linhas). */
@media (max-width: 767px) {
    .relative.z-\[6\].flex.items-center.rounded-\[14px\] > * {
        padding-left: 4px !important;
        padding-right: 4px !important;
    }
    .relative.z-\[6\].flex.items-center.rounded-\[14px\] > * > span.text-center {
        font-size: 11px !important;
        line-height: 1.2;
        font-weight: 600;
        white-space: normal;
        color: #fff;
    }
}

/* 19. deposito: o valor escolhido ficava com texto lilas embacado, mais apagado
   que os outros (parecia desativado). Agora e' o mais forte da grade. */
[class*="text-shadow:_0_0px_8px_rgb(var(--color-primary-300))"] {
    color: #fff !important;
    text-shadow: 0 0 10px rgb(var(--color-primary-400) / .55) !important;
    background-color: rgb(var(--color-primary-500) / .22) !important;
}

/* 20. faixa de provedores: provedor com jogo e sem logo entra com o nome */
.nb-prov-nome {
    display: block;
    color: #fff;
    font-weight: 700;
    font-size: 15px;
    line-height: 1.15;
    text-align: center;
    letter-spacing: .01em;
    white-space: nowrap;
}

/* 21. degrade das bordas das faixas que rolam de lado: era so' enfeite, mas ficava
   por cima e engolia o toque (o ultimo atalho visivel nao abria no celular) */
.absolute.top-0.h-full.w-16[class*="bg-gradient-to-"] {
    pointer-events: none;
}


/* 22. lista dos filtros "Provedores" e "Tipo" da pagina de jogos */
.nb-lista {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    min-width: 220px;
    max-height: min(360px, 60vh);
    overflow-y: auto;
    z-index: 60;
    padding: 6px;
    border-radius: 12px;
    background: rgb(var(--color-muted-800));
    border: 1px solid rgb(var(--color-muted-700));
    box-shadow: 0 18px 40px rgba(0, 0, 0, .45);
    scrollbar-width: thin;
}
.nb-lista__item {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 8px;
    color: rgb(var(--color-muted-200));
    font-size: 14px;
    font-weight: 600;
    text-align: left;
}
.nb-lista__item:hover,
.nb-lista__item:focus-visible { background: rgb(var(--color-muted-700)); color: #fff; outline: none; }
.nb-lista__item.is-atual { color: #fff; background: rgb(var(--color-primary-500) / .22); }
.nb-lista__item small { color: rgb(var(--color-muted-400)); font-size: 12px; font-weight: 600; }

/* 23. filtros da pagina de jogos no celular: a seta ocupava 40px e o nome
   ficava cortado ("Provedo..") */
@media (max-width: 639px) {
    button[data-nb-filtro].nui-listbox-button { padding-left: 10px !important; padding-right: 4px !important; }
    button[data-nb-filtro] .nui-listbox-chevron { width: 22px !important; min-width: 22px !important; }
    button[data-nb-filtro] .nui-listbox-button-inner > div { font-size: 12px !important; color: rgb(var(--color-muted-200)) !important; max-width: none !important; flex: 1 1 auto; min-width: 0; }
}

/* 24. respostas das perguntas frequentes e Modo Raio ligado */
.nb-faq-resposta {
    padding: 0 4px 16px;
    color: rgb(var(--color-muted-300));
    font-size: 14px;
    line-height: 1.55;
}
[is-open="true"] > button[aria-expanded="true"] > span[aria-hidden="true"] { transform: rotate(180deg); }
button.nb-raio-on {
    background: linear-gradient(90deg, rgb(var(--color-primary-500)), rgb(var(--color-primary-600))) !important;
    color: #fff !important;
    box-shadow: 0 0 0 1px rgb(var(--color-primary-300) / .5), 0 6px 18px rgb(var(--color-primary-500) / .35);
}

/* 25. rodape aberto: o botao ja diz "Ver menos" (o estilo original repetia o texto) */
#footer .footer_text.opened:before { content: none; }

/* 26. aviso de limite do deposito, embaixo do valor */
.nb-limite-dep { margin: 6px 2px 0; font-size: 12px; font-weight: 600; color: rgb(var(--color-danger-400)); }

/* 27. Botao ocupado: giro + texto enquanto espera o servidor (ajustes_interface.js, 18) */
[data-nb-ocupado] { display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; cursor: progress; }
.nb-giro { width: 16px; height: 16px; flex: 0 0 16px; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; animation: nb-giro .7s linear infinite; }
@keyframes nb-giro { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .nb-giro { animation-duration: 2s; } }

/* 28. Topo novo do jogador (ajustes_interface.js, 19) */
.nb-topo-novo .nb-cap-caixa { padding-right: 0 !important; margin-left: auto !important; margin-right: 6px !important; flex: 0 0 auto !important; width: auto !important; }
.nb-cap { display: inline-flex; align-items: center; gap: 10px; height: 44px; padding: 0 5px 0 14px; border-radius: 999px; background: #141d30; border: 1px solid #26314a; white-space: nowrap; }
.nb-cap svg { width: 100%; height: 100%; display: block; }
.nb-cap-ico { width: 18px; height: 18px; color: #8fb4ff; flex: 0 0 18px; }
.nb-cap-txt { display: flex; flex-direction: column; line-height: 1.15; min-width: 0; }
.nb-cap-val { color: #fff; font-size: 15px; font-weight: 800; letter-spacing: -.01em; }
.nb-cap-bonus { display: flex; align-items: center; gap: 6px; color: #8fb4ff; font-size: 11px; font-weight: 500; }
.nb-barrinha { display: inline-block; width: 44px; height: 4px; border-radius: 9px; background: #26314a; overflow: hidden; font-style: normal; }
.nb-barrinha b { display: block; height: 100%; background: #8fb4ff; border-radius: 9px; }
.nb-barrinha-ouro b { background: #f7c873; }
.nb-cap-olho { width: 26px; height: 26px; padding: 4px; color: #8a93a6; border-radius: 50%; flex: 0 0 26px; }
.nb-cap-olho:hover { color: #fff; background: rgba(255,255,255,.06); }
.nb-cap-dep { position: relative; height: 34px; display: inline-flex; align-items: center; gap: 6px; padding: 0 16px; border-radius: 999px; background: #22c55e; color: #052e16; font-size: 13px; font-weight: 800; transition: filter .15s, transform .15s; }
.nb-cap-dep:hover { filter: brightness(1.08); }
.nb-cap-dep:active { transform: scale(.97); }
.nb-cap-dep-ico { width: 15px; height: 15px; flex: 0 0 15px; }
.nb-cap-mais, .nb-cap-tag { display: none; }
.nb-cap-oferta { background: #f7c873; color: #412402; }
.nb-cap-prazo { background: #412402; color: #f7c873; border-radius: 6px; padding: 1px 6px; font-size: 11px; font-weight: 700; }
.nb-topo-novo [data-open-account] { background: transparent !important; }
.nb-nivel { display: inline-flex; align-items: center; gap: 6px; color: #f7c873; font-size: 11px; font-weight: 600; line-height: 1; }
.nb-nivel .nb-barrinha { width: 40px; }
.nb-topo-novo [data-sessao="sobrenome"] { line-height: 1 !important; margin-top: 3px; }
.nb-topo-novo [data-notificacoes] > span:last-child, .nb-topo-novo [data-open-chat] > span:last-child { border-radius: 50% !important; background: transparent !important; border-color: #26314a !important; color: #c9d2e3 !important; width: 36px; justify-content: center; }
.nb-menu-celular { display: none; }
.nb-menu-ico { color: rgb(var(--color-muted-300) / .6); }
.nb-menu-ico svg { width: 26px; height: 26px; }
.nb-menu-conta { position: absolute; top: -2px; right: -4px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px; background: #ef4444; color: #fff; font-size: 10px; font-weight: 700; line-height: 17px; text-align: center; }

/* tela media: o botao encurta para "Depositar" com a etiqueta 2X no canto */
@media (max-width: 1439px) {
    .nb-cap-prazo, .nb-cap-dep-extra { display: none; }
    .nb-cap-tag { display: block; position: absolute; top: -8px; right: -6px; background: #ef4444; color: #fff; font-size: 9px; font-weight: 800; line-height: 1; padding: 3px 4px; border-radius: 6px; }
}
@media (max-width: 1023px) {
    .nb-cap-ico, .nb-cap-olho { display: none; }
    .nb-cap { gap: 8px; padding-left: 12px; }
}

@media (max-width: 639px) {
    .nb-cap { height: 38px; padding: 0 4px 0 12px; gap: 8px; }
    .nb-cap-ico, .nb-cap-olho, .nb-cap-dep-txt, .nb-cap-dep-ico, .nb-cap-prazo, .nb-cap-bonus { display: none !important; }
    .nb-cap-val { font-size: 14px; }
    .nb-cap-dep { width: 30px; height: 30px; padding: 0; justify-content: center; }
    .nb-cap-mais { display: block; width: 15px; height: 15px; }
    .nb-cap-tag { display: block; position: absolute; top: -8px; right: -8px; background: #ef4444; color: #fff; font-size: 9px; font-weight: 800; line-height: 1; padding: 3px 4px; border-radius: 6px; }
    .nb-topo-novo [data-notificacoes], .nb-topo-novo [data-open-chat] { display: none !important; }
    .nb-topo-novo [data-notificacoes], .nb-topo-novo [data-open-chat] { display: none !important; }
    .nb-topo-novo .nb-conta-caixa { display: inline-flex !important; }
    .nb-topo-novo .nb-conta-caixa [data-open-account] { padding: 0 !important; gap: 0 !important; }
    .nb-topo-novo .nb-conta-caixa [data-open-account] > div, .nb-topo-novo .nb-conta-caixa [data-seta-conta] { display: none !important; }
    .nb-topo-novo [data-open-account] { position: relative; }
    .nb-topo-novo [data-open-account].nb-tem-aviso::after { content: ''; position: absolute; top: 0; right: 0; width: 10px; height: 10px; border-radius: 50%; background: #ef4444; border: 2px solid #0b1424; }
    .nb-menu-celular { display: block; }
    /* o menu da conta nunca tinha aparecido no celular: foto, selo e nome se sobrepunham */
    .nb-topo-novo [data-account-dropdown] > .p-6 { padding-top: 22px !important; }
    .nb-topo-novo [data-account-dropdown] > .p-6 > div:first-child { justify-content: flex-start !important; gap: 16px !important; min-height: 96px; }
}

/* 29. Roleta no formato da Gira Sorte (BetQuePaga) com arte e cores da BrazucaBet:
   cartao ilustrado no menu + janela por cima do site (sistema_promos.js, NB.abrirRoleta) */
.nb-cartao-roleta { display: block; width: 100%; margin: 0 0 10px; padding: 0; border: 0; background: none; text-align: left; cursor: pointer; border-radius: 12px; overflow: hidden; box-shadow: 0 0 0 1px rgba(34,199,234,.35), 0 8px 18px rgba(0,0,0,.35); transition: transform .15s, box-shadow .15s; }
#menu-vertical .buttons .nb-cartao-roleta { height: auto !important; font-size: inherit; }
.nb-cartao-roleta:hover { transform: translateY(-1px); box-shadow: 0 0 0 1px rgba(34,199,234,.7), 0 10px 22px rgba(0,0,0,.4); }
.nb-cr-arte { position: relative; display: block; aspect-ratio: 600 / 336; background: #11c9e6; }
.nb-cr-arte img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; object-fit: cover; display: block; margin: 0 !important; }
.nb-cr-titulo { position: absolute; left: 7%; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; gap: 4px; }
.nb-cr-titulo b { font-size: 17px; line-height: .95; font-weight: 900; font-style: italic; color: #fff; text-transform: uppercase; letter-spacing: -.01em; text-shadow: 0 2px 0 #0b3a6e, 0 3px 8px rgba(11,58,110,.45); }
.nb-cr-titulo i { font-style: normal; font-size: 10px; font-weight: 800; color: #0b1f3a; background: #ffd23f; border-radius: 4px; padding: 2px 6px; align-self: flex-start; text-transform: uppercase; letter-spacing: .03em; }
.nb-cr-botao { display: flex; align-items: center; justify-content: center; gap: 6px; height: 34px; background: linear-gradient(180deg,#2f6bff,#1f4fd6); color: #fff; font-size: 12.5px; font-weight: 800; }
.nb-cr-botao svg { width: 15px; height: 15px; }

html.nb-jr-aberta, html.nb-jr-aberta body { overflow: hidden; }
.nb-jr-fundo { position: fixed; inset: 0; z-index: 5000; background: rgba(3,8,18,.72); display: flex; align-items: flex-start; justify-content: center; padding: 28px 12px; overflow-y: auto; }
.nb-jr { position: relative; width: 100%; max-width: 420px; background: #0c1628; border: 1px solid #1f3352; border-radius: 16px; padding: 0 16px 18px; box-shadow: 0 24px 60px rgba(0,0,0,.55); }
.nb-jr-fechar { position: absolute; top: 10px; right: 10px; z-index: 3; width: 32px; height: 32px; padding: 7px; border-radius: 50%; background: rgba(6,16,32,.72); color: #fff; }
.nb-jr-fechar svg { width: 100%; height: 100%; display: block; }
.nb-jr-capa { position: relative; margin: 0 -16px; aspect-ratio: 800 / 300; border-radius: 16px 16px 0 0; overflow: hidden; background: #11c9e6; }
.nb-jr-capa img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; }
.nb-jr-titulo { position: absolute; left: 7%; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; gap: 6px; }
.nb-jr-titulo b { font-size: 30px; line-height: .95; font-weight: 900; font-style: italic; color: #fff; text-transform: uppercase; text-shadow: 0 3px 0 #0b3a6e, 0 4px 10px rgba(11,58,110,.45); }
.nb-jr-titulo span { font-size: 11px; font-weight: 800; color: #0b1f3a; background: #ffd23f; border-radius: 5px; padding: 3px 8px; align-self: flex-start; text-transform: uppercase; letter-spacing: .03em; }
.nb-jr-numeros { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; margin: 12px 0 10px; font-size: 12.5px; color: #93a4c4; }
.nb-jr-numeros b { color: #ffd23f; }
.nb-jr-area { display: flex; flex-direction: column; align-items: center; gap: 14px; }
.nb-jr-palco { position: relative; width: min(100%, 310px); aspect-ratio: 1; margin: 6px auto 0; }
.nb-jr-disco { position: absolute; inset: 0; border-radius: 50%; overflow: hidden; transition: transform 4.5s cubic-bezier(.17,.67,.12,.99); }
.nb-jr-palco .nb-roleta-moldura { position: absolute; inset: 0; pointer-events: none; }
.nb-jr-centro { position: absolute; left: 50%; top: 50%; width: 23%; aspect-ratio: 1; transform: translate(-50%,-50%); border-radius: 50%; overflow: hidden; z-index: 6; border: 3px solid #f3bf40; box-shadow: 0 0 0 3px #071220, 0 0 18px rgba(34,199,234,.4); background: #11c9e6; }
.nb-jr-centro img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; display: block; }
.nb-jr-girar { width: 100%; height: 48px; border-radius: 12px; background: linear-gradient(180deg,#ffd76a,#f3bf40 55%,#c9921c); color: #1f1405; font-size: 16px; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; box-shadow: 0 4px 0 #8a5f0c; transition: transform .1s, filter .15s; }
.nb-jr-girar:hover { filter: brightness(1.06); }
.nb-jr-girar:active { transform: translateY(2px); box-shadow: 0 2px 0 #8a5f0c; }
.nb-jr-girar:disabled { filter: grayscale(.7) brightness(.7); cursor: not-allowed; }
.nb-jr-regra { font-size: 11.5px; color: #7f8fad; text-align: center; margin: -4px 0 0; line-height: 1.45; }
.nb-jr-chances { width: 100%; border-top: 1px solid #1f3352; padding-top: 12px; }
.nb-jr-vazio { text-align: center; color: #93a4c4; font-size: 14px; padding: 28px 8px; }
@media (max-width: 420px) {
    .nb-jr-fundo { padding: 12px 8px; }
    .nb-jr-titulo b { font-size: 22px; }
    .nb-jr-palco { width: min(100%, 280px); }
}

/* 30. Qualquer aparelho (teste de 17 telas, 26/09)
   - tablet e celular deitado: campo com letra < 16px faz o iPhone/iPad dar zoom sozinho;
   - topo do jogador de 640 a 1279px (iPad, notebook pequeno): as abas Cassino/Esportes eram
     esmagadas pelo saldo ate' sumir. Ali o topo fica como no celular: so' a foto da conta,
     sininho e chat dentro do menu da conta;
   - "Copiar" do Pix tinha 16px de altura para o dedo;
   - telas de 280 a 360px (Galaxy Fold, iPhone SE antigo): abas do login e "R$ 10.000"
     quebravam em duas linhas. */
@media (pointer: coarse) {
    input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea { font-size: 16px !important; }
}
@media (min-width: 640px) and (max-width: 1279px) {
    .left.big > .relative.overflow-hidden { flex-shrink: 0 !important; }
    .nb-cap-ico, .nb-cap-olho { display: none; }
    .nb-cap { gap: 8px; padding-left: 12px; }
    .nb-topo-novo [data-notificacoes], .nb-topo-novo [data-open-chat] { display: none !important; }
    .nb-topo-novo .nb-conta-caixa [data-open-account] { padding: 0 !important; gap: 0 !important; }
    .nb-topo-novo .nb-conta-caixa [data-open-account] > div, .nb-topo-novo .nb-conta-caixa [data-seta-conta] { display: none !important; }
    .nb-topo-novo [data-open-account] { position: relative; }
    .nb-topo-novo [data-open-account].nb-tem-aviso::after { content: ''; position: absolute; top: 0; right: 0; width: 10px; height: 10px; border-radius: 50%; background: #ef4444; border: 2px solid #0b1424; }
    .nb-menu-celular { display: block; }
    .nb-topo-novo [data-account-dropdown] > .p-6 { padding-top: 22px !important; }
    .nb-topo-novo [data-account-dropdown] > .p-6 > div:first-child { justify-content: flex-start !important; gap: 16px !important; min-height: 96px; }
}
/* menu da conta: a foto ficava por cima do e-mail em qualquer largura (no celular ja' era corrigido) */
.nb-topo-novo [data-account-dropdown] > .p-6 { padding-top: 22px !important; }
.nb-topo-novo [data-account-dropdown] > .p-6 > div:first-child { justify-content: flex-start !important; gap: 16px !important; min-height: 96px; }
[data-copiar-pix] { min-height: 44px; min-width: 72px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; font-size: 13px !important; }
[data-copiar-pix]:active { background: rgba(255, 255, 255, .08); }
@media (max-width: 360px) {
    [data-switch-auth] { white-space: nowrap; padding-left: 10px !important; padding-right: 10px !important; }
    [data-chip] { white-space: nowrap; font-size: 14px !important; }
}
@media (max-width: 300px) {
    [data-switch-auth] { font-size: 13px !important; }
    [data-chip] { font-size: 12.5px !important; }
}
/* celular/tablet: com o menu lateral aberto a bolinha de ajuda ficava por cima dos itens do menu */
@media (max-width: 1023px) {
    body:has(#menu-vertical.open) [data-suporte-ia-botao] { display: none !important; }
}
/* telas de 280 a 360px: "Cadastre-se" do topo e "Girar agora" da faixa quebravam em duas linhas */
@media (max-width: 360px) {
    [data-dd-action-name="register_open_click"] { white-space: nowrap; padding-left: 12px !important; padding-right: 12px !important; }
    .buttons.h-user .ml-2 { margin-left: 4px !important; }
    a[data-href="/roleta"].nui-button-small { white-space: nowrap; padding-left: 10px !important; padding-right: 10px !important; }
    .content span[data-v-34e2c878] { font-size: 12px !important; line-height: 1.2; }
}
/* barra de baixo: os 7 botoes dividem a largura por igual (no Galaxy Fold dobrado o "Perfil" saia da tela) */
.mobile-menu-bar__wrapper > .mobile-menu-bar__item { flex: 1 1 0 !important; min-width: 0 !important; }
@media (max-width: 300px) {
    .mobile-menu-bar__wrapper > .mobile-menu-bar__item { font-size: 9px !important; letter-spacing: -.02em; padding-left: 0 !important; padding-right: 0 !important; }
    .mobile-menu-bar__wrapper > .mobile-menu-bar__item * { white-space: nowrap; }
}
/* PageSpeed: imagem que so ganha endereco depois do 1o quadro nao mostra o texto alternativo nesse quadro */
img[data-nb-src] { visibility: hidden; }
/* menu aberto no tablet (640-1023px): o logo da barra lateral de computador aparecia junto com o do cabecalho do menu */
@media (max-width: 1023px) {
    #menu-vertical .px-5.pr-20.py-4 > a.navbar-brand { display: none !important; }
    #menu-vertical .px-5.pr-20.py-4:has(> a.navbar-brand) { display: none !important; }
}
/* acessibilidade: texto dos filtros de Jogos (Provedores/Tipo) tinha contraste baixo */
.truncate.text-muted-300.dark\:text-muted-500[data-v-2ca2d663] { color: rgb(var(--color-muted-300)) !important; }

/* ==================================================================
   31. VISUAL NOTURNO (30/09): fundo quase preto com o azul da casa,
   botoes principais com brilho, campos e janelas mais modernos e arte
   nas janelas de Entrar e Cadastro. As cores seguem as variaveis do
   tema: a tela "Marca e visual" do admin continua trocando tudo.
   ------------------------------------------------------------------ */
:root {
    --color-background: 11 15 27;
    --color-muted-600: 58 69 94;
    --color-muted-700: 33 42 64;
    --color-muted-800: 19 26 42;
    --color-muted-900: 11 15 27;
    --color-muted-950: 5 8 16;
    --nb-brilho: 0 0 0 1px rgb(255 255 255 / .06) inset, 0 8px 24px -6px rgb(var(--color-primary-500) / .6), 0 0 22px -2px rgb(var(--color-primary-500) / .45);
}
html {
    background-color: #03060d !important;
    background-image:
        radial-gradient(70% 55% at 50% -8%, #0c1c42 0%, rgba(12, 28, 66, 0) 70%),
        linear-gradient(180deg, #050a17 0%, #03060d 55%, #020409 100%) !important;
}

/* barra de aviso do topo: faixa em degrade com brilho, nao mais um bloco chapado */
.bg-primary-500.w-full.z-\[100\] {
    background: linear-gradient(90deg, rgb(var(--color-primary-700)) 0%, rgb(var(--color-primary-500)) 50%, rgb(var(--color-primary-700)) 100%) !important;
    box-shadow: 0 1px 0 rgb(255 255 255 / .08) inset, 0 6px 24px -8px rgb(var(--color-primary-500) / .7);
}

/* menu lateral e topo mais escuros, com filete de luz na divisa */
#menu-vertical { background: linear-gradient(180deg, #060a15 0%, #04070f 100%) !important; box-shadow: 1px 0 0 rgb(255 255 255 / .05); }

/* ---------- botoes principais com brilho e reflexo que passa no hover ---------- */
.nui-button.nui-button-solid.nui-button-primary,
#auth-nav-container .nui-button-primary,
.nb-dep-btn, button[type="submit"].nui-button-primary {
    background-image:
        linear-gradient(110deg, transparent 30%, rgb(255 255 255 / .28) 48%, transparent 66%),
        linear-gradient(180deg, rgb(var(--color-primary-400)) 0%, rgb(var(--color-primary-600)) 100%) !important;
    background-size: 260% 100%, 100% 100% !important;
    background-position: 130% 0, 0 0 !important;
    background-repeat: no-repeat !important;
    box-shadow: var(--nb-brilho) !important;
    transition: background-position .7s ease, box-shadow .25s ease, transform .15s ease, filter .2s ease !important;
    text-shadow: 0 1px 1px rgb(0 0 0 / .25);
}
.nui-button.nui-button-solid.nui-button-primary:hover,
#auth-nav-container .nui-button-primary:hover,
button[type="submit"].nui-button-primary:hover {
    background-position: -30% 0, 0 0 !important;
    box-shadow: 0 0 0 1px rgb(255 255 255 / .1) inset, 0 10px 30px -6px rgb(var(--color-primary-500) / .75), 0 0 30px 0 rgb(var(--color-primary-400) / .55) !important;
    filter: brightness(1.06);
}
.nui-button.nui-button-solid.nui-button-primary:active,
button[type="submit"].nui-button-primary:active { transform: translateY(1px); }
/* o "Cadastre-se" do topo respira de leve, chamando o olho sem piscar */
@keyframes nb-respira {
    0%, 100% { box-shadow: 0 0 0 1px rgb(255 255 255 / .06) inset, 0 8px 24px -6px rgb(var(--color-primary-500) / .55), 0 0 16px -2px rgb(var(--color-primary-500) / .35); }
    50% { box-shadow: 0 0 0 1px rgb(255 255 255 / .1) inset, 0 8px 28px -4px rgb(var(--color-primary-500) / .8), 0 0 28px 0 rgb(var(--color-primary-400) / .6); }
}
#auth-nav-container .nui-button-primary { animation: nb-respira 2.8s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) {
    #auth-nav-container .nui-button-primary { animation: none; }
    .nui-button.nui-button-solid.nui-button-primary, #auth-nav-container .nui-button-primary, button[type="submit"].nui-button-primary { transition: none !important; }
}

/* cartoes de jogo: sobem um pouco e acendem a borda com a cor da casa */
.bg-cover.item.group.rounded-lg { transition: transform .22s ease, box-shadow .22s ease; }
@media (hover: hover) {
    .bg-cover.item.group.rounded-lg:hover {
        transform: translateY(-3px);
        box-shadow: 0 0 0 1px rgb(var(--color-primary-400) / .7), 0 14px 30px -10px rgb(var(--color-primary-500) / .75);
    }
}
/* atalhos de categoria (Caixas, Mini Roleta, Cassino...): vidro escuro com borda de luz */
.shrink-0.mr-4 > a > .bg-muted-700\/80 {
    background: linear-gradient(180deg, rgb(255 255 255 / .06) 0%, rgb(255 255 255 / .015) 100%), rgb(var(--color-muted-800)) !important;
    box-shadow: 0 0 0 1px rgb(255 255 255 / .07) inset;
    transition: box-shadow .2s ease, transform .2s ease;
}
@media (hover: hover) {
    .shrink-0.mr-4 > a:hover { opacity: 1 !important; }
    .shrink-0.mr-4 > a:hover > .bg-muted-700\/80 {
        box-shadow: 0 0 0 1px rgb(var(--color-primary-400) / .75) inset, 0 0 20px -6px rgb(var(--color-primary-500) / .9);
        transform: translateY(-1px);
    }
}

/* ---------- campos: fundo escuro, borda fina e anel de luz ao focar ---------- */
.nui-input-wrapper .nui-input {
    background-color: rgb(5 8 16 / .72) !important;
    border-color: rgb(255 255 255 / .08) !important;
    transition: border-color .2s ease, box-shadow .2s ease !important;
}
.nui-input-wrapper .nui-input:focus {
    border-color: rgb(var(--color-primary-500) / .9) !important;
    box-shadow: 0 0 0 3px rgb(var(--color-primary-500) / .22), 0 0 18px -4px rgb(var(--color-primary-500) / .6) !important;
}

/* ---------- janelas (entrar, cadastro, deposito): vidro escuro com borda de luz ---------- */
.nb-modal-backdrop { backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.nb-modal-backdrop .bg-muted-800.shadow-xl {
    background: linear-gradient(180deg, #0d1324 0%, #080c18 100%) !important;
    box-shadow: 0 0 0 1px rgb(255 255 255 / .07), 0 30px 80px -20px rgb(0 0 0 / .8), 0 0 60px -30px rgb(var(--color-primary-500) / .6) !important;
    border-radius: 20px !important;
    overflow: hidden;
}
@media (max-width: 639px) {
    .nb-modal-backdrop .bg-muted-800.shadow-xl { border-radius: 20px 20px 0 0 !important; }
}

/* ---------- arte ao lado do formulario de Entrar e de Cadastro ---------- */
.nb-auth-arte { display: none; }
@media (min-width: 900px) {
    .nb-modal-backdrop .shadow-xl.nb-com-arte { max-width: 828px !important; width: 828px !important; }
    .nb-auth-arte {
        display: block; position: relative; flex: 0 0 380px; width: 380px; min-height: 560px;
        overflow: hidden; background: #050913; isolation: isolate;
    }
    .nb-auth-arte > img {
        position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 100%;
        z-index: -1; animation: nb-arte-entra .6s ease both;
    }
    .nb-auth-arte::after {
        content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
        background: linear-gradient(180deg, rgb(5 9 19 / .85) 0%, rgb(5 9 19 / .2) 34%, rgb(5 9 19 / 0) 50%, rgb(5 9 19 / .55) 100%);
    }
    .nb-auth-arte__texto { position: absolute; top: 34px; left: 24px; right: 24px; text-align: center; }
    .nb-auth-arte[data-modo="login"] .nb-auth-arte__texto { top: 26px; }
    .nb-auth-arte[data-modo="login"] .nb-auth-arte__titulo { font-size: 30px; margin-top: 10px; }
    .nb-auth-arte[data-modo="login"] .nb-auth-arte__titulo em { font-size: 50px; white-space: nowrap; }
    .nb-auth-arte[data-modo="login"] .nb-auth-arte__sub { font-size: 13.5px; margin-top: 8px; }
    .nb-auth-arte__selo {
        display: inline-block; padding: 5px 12px; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
        color: #0b1020; background: linear-gradient(180deg, rgb(var(--bonus-accent-light)) 0%, rgb(var(--bonus-accent)) 100%);
        box-shadow: 0 0 18px -2px rgb(var(--bonus-accent) / .7);
    }
    .nb-auth-arte__titulo {
        display: block; margin-top: 14px; font-size: 34px; line-height: 1.02; font-weight: 900; font-style: italic; letter-spacing: -.02em;
        color: #fff; text-transform: uppercase; text-shadow: 0 3px 0 rgb(var(--color-primary-800)), 0 8px 26px rgb(0 0 0 / .6);
    }
    .nb-auth-arte__titulo em {
        font-style: italic; display: block; font-size: 64px; line-height: .95;
        background: linear-gradient(180deg, #fff6cf 0%, rgb(var(--bonus-accent)) 55%, #c98a00 100%);
        -webkit-background-clip: text; background-clip: text; color: transparent;
        filter: drop-shadow(0 3px 0 rgb(var(--bonus-accent-dark))) drop-shadow(0 0 22px rgb(var(--bonus-accent) / .45));
        text-shadow: none;
    }
    .nb-auth-arte__sub { display: block; margin-top: 10px; font-size: 15px; font-weight: 700; color: rgb(255 255 255 / .92); text-shadow: 0 2px 10px rgb(0 0 0 / .7); }
    .nb-auth-arte__rodape {
        position: absolute; left: 0; right: 0; bottom: 14px; text-align: center; font-size: 11px; font-weight: 600; color: rgb(255 255 255 / .6); letter-spacing: .02em;
    }
    @keyframes nb-arte-entra { from { opacity: 0; transform: scale(1.04); } to { opacity: 1; transform: none; } }
    @media (prefers-reduced-motion: reduce) { .nb-auth-arte > img { animation: none; } }
}
/* celular e tablet em pe': faixa curta com a oferta em cima do formulario */
@media (max-width: 899px) {
    .nb-auth-arte--faixa {
        display: flex; align-items: center; gap: 12px; position: relative; overflow: hidden;
        margin: 0; padding: 12px 16px; min-height: 76px;
        background: linear-gradient(90deg, rgb(5 9 19 / .92) 0%, rgb(5 9 19 / .55) 60%, rgb(5 9 19 / .15) 100%), var(--nb-arte-faixa) right 30% / cover no-repeat, #050913;
        border-bottom: 1px solid rgb(255 255 255 / .06);
    }
    .nb-auth-arte--faixa .nb-auth-arte__texto { text-align: left; }
    .nb-auth-arte--faixa .nb-auth-arte__selo { display: inline-block; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: rgb(var(--bonus-accent)); }
    .nb-auth-arte--faixa .nb-auth-arte__titulo { display: block; font-size: 19px; line-height: 1.1; font-weight: 900; color: #fff; }
    .nb-auth-arte--faixa .nb-auth-arte__titulo em { font-style: normal; color: rgb(var(--bonus-accent)); }
    .nb-auth-arte--faixa .nb-auth-arte__sub { display: block; font-size: 12px; font-weight: 600; color: rgb(255 255 255 / .8); }
    .nb-auth-arte--faixa > img, .nb-auth-arte--faixa .nb-auth-arte__rodape { display: none; }
}

/* ==================================================================
   32. SEM PISCADA NO F5 (01/10): o dono via "outra versao" por meio
   segundo ao recarregar. Tres causas, tres consertos:
   a) topo de visitante antes do topo logado -> a pagina mostra na hora
      o ultimo topo logado guardado no aparelho (script logo depois do
      #auth-nav-container) e o saldo fica em brilho ate o valor novo chegar;
   b) cartao da Roleta da Sorte entrava depois e empurrava o menu -> o
      espaco dele fica reservado desde o primeiro quadro;
   c) icones so apareciam quando o app.js pintava -> cada icone ja tem a
      sua regra aqui (lista no fim do arquivo).
   ------------------------------------------------------------------ */
/* aparelho com topo logado guardado: o topo de visitante nao chega a aparecer */
html.nb-tem-topo #auth-nav-container .buttons.h-user { visibility: hidden; }
@keyframes nb-esqueleto { from { background-position: 130% 0, 0 0; } to { background-position: -30% 0, 0 0; } }
#auth-nav-container:has(> [data-nb-cedo]) .nb-cap-val,
#auth-nav-container:has(> [data-nb-cedo]) .nb-cap-bonus,
#auth-nav-container:has(> [data-nb-cedo]) [data-nb-balance] {
    color: transparent !important;
    border-radius: 6px;
    background: linear-gradient(110deg, transparent 30%, rgb(255 255 255 / .14) 50%, transparent 70%) 0 0 / 250% 100%, rgb(255 255 255 / .08);
    animation: nb-esqueleto 1.2s linear infinite;
}
#menu-vertical .buttons.\!pt-5:not(:has(> .nb-cartao-roleta)):not(.nb-sem-cartao)::before {
    content: ""; display: block; height: 34px; padding-top: 56%; margin-bottom: 10px; border-radius: 12px;
    background: linear-gradient(110deg, transparent 30%, rgb(255 255 255 / .06) 50%, transparent 70%) 0 0 / 250% 100%, rgb(var(--color-muted-800));
    animation: nb-esqueleto 1.4s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
    #auth-nav-container .nb-cap-val, #auth-nav-container .nb-cap-bonus, #menu-vertical .buttons.\!pt-5::before { animation: none !important; }
}
:where(.i-flagpack\:br){background:url(/assets/icones/flagpack/br.svg) no-repeat center/contain;display:inline-block}
:where(.i-lucide\:chevron-down){-webkit-mask:url(/assets/icones/lucide/chevron-down.svg) no-repeat center/contain;mask:url(/assets/icones/lucide/chevron-down.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-lucide\:search){-webkit-mask:url(/assets/icones/lucide/search.svg) no-repeat center/contain;mask:url(/assets/icones/lucide/search.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-lucide\:x){-webkit-mask:url(/assets/icones/lucide/x.svg) no-repeat center/contain;mask:url(/assets/icones/lucide/x.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:add-line){-webkit-mask:url(/assets/icones/mingcute/add-line.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/add-line.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:aiming-fill){-webkit-mask:url(/assets/icones/mingcute/aiming-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/aiming-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:american-football-fill){-webkit-mask:url(/assets/icones/mingcute/american-football-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/american-football-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:apple-fill){-webkit-mask:url(/assets/icones/mingcute/apple-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/apple-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:arrow-down-line){-webkit-mask:url(/assets/icones/mingcute/arrow-down-line.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/arrow-down-line.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:arrow-right-fill){-webkit-mask:url(/assets/icones/mingcute/arrow-right-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/arrow-right-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:baseball-fill){-webkit-mask:url(/assets/icones/mingcute/baseball-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/baseball-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:basketball-fill){-webkit-mask:url(/assets/icones/mingcute/basketball-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/basketball-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:cellphone-2-fill){-webkit-mask:url(/assets/icones/mingcute/cellphone-2-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/cellphone-2-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:check-fill){-webkit-mask:url(/assets/icones/mingcute/check-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/check-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:check-line){-webkit-mask:url(/assets/icones/mingcute/check-line.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/check-line.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:close-circle-fill){-webkit-mask:url(/assets/icones/mingcute/close-circle-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/close-circle-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:close-fill){-webkit-mask:url(/assets/icones/mingcute/close-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/close-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:close-line){-webkit-mask:url(/assets/icones/mingcute/close-line.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/close-line.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:copy-2-line){-webkit-mask:url(/assets/icones/mingcute/copy-2-line.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/copy-2-line.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:currency-dollar-2-line){-webkit-mask:url(/assets/icones/mingcute/currency-dollar-2-line.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/currency-dollar-2-line.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:currency-dollar-fill){-webkit-mask:url(/assets/icones/mingcute/currency-dollar-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/currency-dollar-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:direction-dot-line){-webkit-mask:url(/assets/icones/mingcute/direction-dot-line.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/direction-dot-line.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:down-fill){-webkit-mask:url(/assets/icones/mingcute/down-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/down-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:down-line){-webkit-mask:url(/assets/icones/mingcute/down-line.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/down-line.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:edit-2-line){-webkit-mask:url(/assets/icones/mingcute/edit-2-line.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/edit-2-line.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:facebook-fill){-webkit-mask:url(/assets/icones/mingcute/facebook-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/facebook-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:flag-2-line){-webkit-mask:url(/assets/icones/mingcute/flag-2-line.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/flag-2-line.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:football-fill){-webkit-mask:url(/assets/icones/mingcute/football-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/football-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:forbid-circle-line){-webkit-mask:url(/assets/icones/mingcute/forbid-circle-line.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/forbid-circle-line.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:game-2-fill){-webkit-mask:url(/assets/icones/mingcute/game-2-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/game-2-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:game-2-line){-webkit-mask:url(/assets/icones/mingcute/game-2-line.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/game-2-line.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:gift-fill){-webkit-mask:url(/assets/icones/mingcute/gift-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/gift-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:greatwall-line){-webkit-mask:url(/assets/icones/mingcute/greatwall-line.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/greatwall-line.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:hashtag-line){-webkit-mask:url(/assets/icones/mingcute/hashtag-line.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/hashtag-line.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:home-4-line){-webkit-mask:url(/assets/icones/mingcute/home-4-line.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/home-4-line.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:inbox-line){-webkit-mask:url(/assets/icones/mingcute/inbox-line.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/inbox-line.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:information-line){-webkit-mask:url(/assets/icones/mingcute/information-line.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/information-line.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:instagram-fill){-webkit-mask:url(/assets/icones/mingcute/instagram-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/instagram-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:left-line){-webkit-mask:url(/assets/icones/mingcute/left-line.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/left-line.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:loading-line){-webkit-mask:url(/assets/icones/mingcute/loading-line.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/loading-line.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:lock-fill){-webkit-mask:url(/assets/icones/mingcute/lock-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/lock-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:mail-line){-webkit-mask:url(/assets/icones/mingcute/mail-line.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/mail-line.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:mail-send-fill){-webkit-mask:url(/assets/icones/mingcute/mail-send-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/mail-send-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:minimize-line){-webkit-mask:url(/assets/icones/mingcute/minimize-line.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/minimize-line.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:paw-fill){-webkit-mask:url(/assets/icones/mingcute/paw-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/paw-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:phone-line){-webkit-mask:url(/assets/icones/mingcute/phone-line.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/phone-line.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:pingpong-fill){-webkit-mask:url(/assets/icones/mingcute/pingpong-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/pingpong-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:play-fill){-webkit-mask:url(/assets/icones/mingcute/play-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/play-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:qrcode-2-line){-webkit-mask:url(/assets/icones/mingcute/qrcode-2-line.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/qrcode-2-line.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:right-line){-webkit-mask:url(/assets/icones/mingcute/right-line.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/right-line.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:search-2-fill){-webkit-mask:url(/assets/icones/mingcute/search-2-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/search-2-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:search-2-line){-webkit-mask:url(/assets/icones/mingcute/search-2-line.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/search-2-line.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:settings-4-fill){-webkit-mask:url(/assets/icones/mingcute/settings-4-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/settings-4-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:share-2-fill){-webkit-mask:url(/assets/icones/mingcute/share-2-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/share-2-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:social-x-fill){-webkit-mask:url(/assets/icones/mingcute/social-x-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/social-x-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:spade-fill){-webkit-mask:url(/assets/icones/mingcute/spade-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/spade-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:sword-fill){-webkit-mask:url(/assets/icones/mingcute/sword-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/sword-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:telegram-fill){-webkit-mask:url(/assets/icones/mingcute/telegram-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/telegram-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:trophy-fill){-webkit-mask:url(/assets/icones/mingcute/trophy-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/trophy-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:whatsapp-fill){-webkit-mask:url(/assets/icones/mingcute/whatsapp-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/whatsapp-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-mingcute\:windows-fill){-webkit-mask:url(/assets/icones/mingcute/windows-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/windows-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-ph\:airplane-fill){-webkit-mask:url(/assets/icones/ph/airplane-fill.svg) no-repeat center/contain;mask:url(/assets/icones/ph/airplane-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-ph\:at-duotone){-webkit-mask:url(/assets/icones/ph/at-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/ph/at-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-ph\:bomb-fill){-webkit-mask:url(/assets/icones/ph/bomb-fill.svg) no-repeat center/contain;mask:url(/assets/icones/ph/bomb-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-ph\:caret-down){-webkit-mask:url(/assets/icones/ph/caret-down.svg) no-repeat center/contain;mask:url(/assets/icones/ph/caret-down.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-ph\:check-circle-bold){-webkit-mask:url(/assets/icones/ph/check-circle-bold.svg) no-repeat center/contain;mask:url(/assets/icones/ph/check-circle-bold.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-ph\:dice-five-fill){-webkit-mask:url(/assets/icones/ph/dice-five-fill.svg) no-repeat center/contain;mask:url(/assets/icones/ph/dice-five-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-ph\:eye-fill){-webkit-mask:url(/assets/icones/ph/eye-fill.svg) no-repeat center/contain;mask:url(/assets/icones/ph/eye-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-ph\:eye-slash-fill){-webkit-mask:url(/assets/icones/ph/eye-slash-fill.svg) no-repeat center/contain;mask:url(/assets/icones/ph/eye-slash-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-ph\:heart-straight-fill){-webkit-mask:url(/assets/icones/ph/heart-straight-fill.svg) no-repeat center/contain;mask:url(/assets/icones/ph/heart-straight-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-ph\:heart-straight-light){-webkit-mask:url(/assets/icones/ph/heart-straight-light.svg) no-repeat center/contain;mask:url(/assets/icones/ph/heart-straight-light.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-ph\:identification-badge-bold){-webkit-mask:url(/assets/icones/ph/identification-badge-bold.svg) no-repeat center/contain;mask:url(/assets/icones/ph/identification-badge-bold.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-ph\:identification-card-bold){-webkit-mask:url(/assets/icones/ph/identification-card-bold.svg) no-repeat center/contain;mask:url(/assets/icones/ph/identification-card-bold.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-ph\:lock-bold){-webkit-mask:url(/assets/icones/ph/lock-bold.svg) no-repeat center/contain;mask:url(/assets/icones/ph/lock-bold.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-ph\:lock-key-bold){-webkit-mask:url(/assets/icones/ph/lock-key-bold.svg) no-repeat center/contain;mask:url(/assets/icones/ph/lock-key-bold.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-ph\:password-bold){-webkit-mask:url(/assets/icones/ph/password-bold.svg) no-repeat center/contain;mask:url(/assets/icones/ph/password-bold.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-ph\:soccer-ball-duotone){-webkit-mask:url(/assets/icones/ph/soccer-ball-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/ph/soccer-ball-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-ph\:tennis-ball-fill){-webkit-mask:url(/assets/icones/ph/tennis-ball-fill.svg) no-repeat center/contain;mask:url(/assets/icones/ph/tennis-ball-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-ph\:x-circle-bold){-webkit-mask:url(/assets/icones/ph/x-circle-bold.svg) no-repeat center/contain;mask:url(/assets/icones/ph/x-circle-bold.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-ri\:fullscreen-fill){-webkit-mask:url(/assets/icones/ri/fullscreen-fill.svg) no-repeat center/contain;mask:url(/assets/icones/ri/fullscreen-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:airbuds-case-minimalistic-bold-duotone){-webkit-mask:url(/assets/icones/solar/airbuds-case-minimalistic-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/airbuds-case-minimalistic-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:alarm-play-bold-duotone){-webkit-mask:url(/assets/icones/solar/alarm-play-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/alarm-play-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:arrow-down-bold-duotone){-webkit-mask:url(/assets/icones/solar/arrow-down-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/arrow-down-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:arrow-left-bold-duotone){-webkit-mask:url(/assets/icones/solar/arrow-left-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/arrow-left-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:arrow-right-bold){-webkit-mask:url(/assets/icones/solar/arrow-right-bold.svg) no-repeat center/contain;mask:url(/assets/icones/solar/arrow-right-bold.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:arrow-up-bold-duotone){-webkit-mask:url(/assets/icones/solar/arrow-up-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/arrow-up-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:basketball-bold-duotone){-webkit-mask:url(/assets/icones/solar/basketball-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/basketball-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:bell-bold-duotone){-webkit-mask:url(/assets/icones/solar/bell-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/bell-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:bell-off-bold-duotone){-webkit-mask:url(/assets/icones/solar/bell-off-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/bell-off-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:book-bookmark-bold){-webkit-mask:url(/assets/icones/solar/book-bookmark-bold.svg) no-repeat center/contain;mask:url(/assets/icones/solar/book-bookmark-bold.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:box-bold-duotone){-webkit-mask:url(/assets/icones/solar/box-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/box-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:box-minimalistic-bold-duotone){-webkit-mask:url(/assets/icones/solar/box-minimalistic-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/box-minimalistic-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:buildings-2-bold-duotone){-webkit-mask:url(/assets/icones/solar/buildings-2-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/buildings-2-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:calendar-bold-duotone){-webkit-mask:url(/assets/icones/solar/calendar-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/calendar-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:chat-round-dots-bold-duotone){-webkit-mask:url(/assets/icones/solar/chat-round-dots-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/chat-round-dots-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:chat-round-unread-bold){-webkit-mask:url(/assets/icones/solar/chat-round-unread-bold.svg) no-repeat center/contain;mask:url(/assets/icones/solar/chat-round-unread-bold.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:chat-round-unread-bold-duotone){-webkit-mask:url(/assets/icones/solar/chat-round-unread-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/chat-round-unread-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:check-circle-bold){-webkit-mask:url(/assets/icones/solar/check-circle-bold.svg) no-repeat center/contain;mask:url(/assets/icones/solar/check-circle-bold.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:check-circle-bold-duotone){-webkit-mask:url(/assets/icones/solar/check-circle-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/check-circle-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:city-bold-duotone){-webkit-mask:url(/assets/icones/solar/city-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/city-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:clapperboard-play-bold-duotone){-webkit-mask:url(/assets/icones/solar/clapperboard-play-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/clapperboard-play-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:clock-circle-bold-duotone){-webkit-mask:url(/assets/icones/solar/clock-circle-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/clock-circle-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:cup-star-bold-duotone){-webkit-mask:url(/assets/icones/solar/cup-star-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/cup-star-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:delivery-bold-duotone){-webkit-mask:url(/assets/icones/solar/delivery-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/delivery-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:dollar-bold){-webkit-mask:url(/assets/icones/solar/dollar-bold.svg) no-repeat center/contain;mask:url(/assets/icones/solar/dollar-bold.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:dollar-bold-duotone){-webkit-mask:url(/assets/icones/solar/dollar-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/dollar-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:dollar-minimalistic-bold-duotone){-webkit-mask:url(/assets/icones/solar/dollar-minimalistic-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/dollar-minimalistic-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:filter-bold-duotone){-webkit-mask:url(/assets/icones/solar/filter-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/filter-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:flag-bold-duotone){-webkit-mask:url(/assets/icones/solar/flag-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/flag-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:gameboy-bold-duotone){-webkit-mask:url(/assets/icones/solar/gameboy-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/gameboy-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:gamepad-bold-duotone){-webkit-mask:url(/assets/icones/solar/gamepad-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/gamepad-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:gift-bold-duotone){-webkit-mask:url(/assets/icones/solar/gift-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/gift-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:history-2-line-duotone){-webkit-mask:url(/assets/icones/solar/history-2-line-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/history-2-line-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:history-bold){-webkit-mask:url(/assets/icones/solar/history-bold.svg) no-repeat center/contain;mask:url(/assets/icones/solar/history-bold.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:home-bold-duotone){-webkit-mask:url(/assets/icones/solar/home-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/home-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:inbox-bold-duotone){-webkit-mask:url(/assets/icones/solar/inbox-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/inbox-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:info-circle-bold){-webkit-mask:url(/assets/icones/solar/info-circle-bold.svg) no-repeat center/contain;mask:url(/assets/icones/solar/info-circle-bold.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:key-minimalistic-square-bold-duotone){-webkit-mask:url(/assets/icones/solar/key-minimalistic-square-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/key-minimalistic-square-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:letter-opened-bold-duotone){-webkit-mask:url(/assets/icones/solar/letter-opened-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/letter-opened-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:lightning-bold){-webkit-mask:url(/assets/icones/solar/lightning-bold.svg) no-repeat center/contain;mask:url(/assets/icones/solar/lightning-bold.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:lock-keyhole-bold-duotone){-webkit-mask:url(/assets/icones/solar/lock-keyhole-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/lock-keyhole-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:lock-keyhole-outline){-webkit-mask:url(/assets/icones/solar/lock-keyhole-outline.svg) no-repeat center/contain;mask:url(/assets/icones/solar/lock-keyhole-outline.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:login-2-bold-duotone){-webkit-mask:url(/assets/icones/solar/login-2-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/login-2-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:login-3-bold-duotone){-webkit-mask:url(/assets/icones/solar/login-3-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/login-3-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:map-point-bold-duotone){-webkit-mask:url(/assets/icones/solar/map-point-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/map-point-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:meditation-broken){-webkit-mask:url(/assets/icones/solar/meditation-broken.svg) no-repeat center/contain;mask:url(/assets/icones/solar/meditation-broken.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:money-bag-bold-duotone){-webkit-mask:url(/assets/icones/solar/money-bag-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/money-bag-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:plain-2-bold){-webkit-mask:url(/assets/icones/solar/plain-2-bold.svg) no-repeat center/contain;mask:url(/assets/icones/solar/plain-2-bold.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:play-bold){-webkit-mask:url(/assets/icones/solar/play-bold.svg) no-repeat center/contain;mask:url(/assets/icones/solar/play-bold.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:play-circle-bold-duotone){-webkit-mask:url(/assets/icones/solar/play-circle-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/play-circle-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:remote-controller-minimalistic-linear){-webkit-mask:url(/assets/icones/solar/remote-controller-minimalistic-linear.svg) no-repeat center/contain;mask:url(/assets/icones/solar/remote-controller-minimalistic-linear.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:rocket-bold-duotone){-webkit-mask:url(/assets/icones/solar/rocket-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/rocket-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:server-2-bold-duotone){-webkit-mask:url(/assets/icones/solar/server-2-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/server-2-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:shield-check-bold){-webkit-mask:url(/assets/icones/solar/shield-check-bold.svg) no-repeat center/contain;mask:url(/assets/icones/solar/shield-check-bold.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:shield-check-bold-duotone){-webkit-mask:url(/assets/icones/solar/shield-check-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/shield-check-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:square-transfer-vertical-bold-duotone){-webkit-mask:url(/assets/icones/solar/square-transfer-vertical-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/square-transfer-vertical-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:star-bold){-webkit-mask:url(/assets/icones/solar/star-bold.svg) no-repeat center/contain;mask:url(/assets/icones/solar/star-bold.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:stars-bold-duotone){-webkit-mask:url(/assets/icones/solar/stars-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/stars-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:streets-bold-duotone){-webkit-mask:url(/assets/icones/solar/streets-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/streets-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:sun-bold-duotone){-webkit-mask:url(/assets/icones/solar/sun-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/sun-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:tag-price-bold-duotone){-webkit-mask:url(/assets/icones/solar/tag-price-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/tag-price-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:target-bold-duotone){-webkit-mask:url(/assets/icones/solar/target-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/target-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:ticker-star-bold){-webkit-mask:url(/assets/icones/solar/ticker-star-bold.svg) no-repeat center/contain;mask:url(/assets/icones/solar/ticker-star-bold.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:ticket-bold-duotone){-webkit-mask:url(/assets/icones/solar/ticket-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/ticket-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:ticket-sale-bold-duotone){-webkit-mask:url(/assets/icones/solar/ticket-sale-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/ticket-sale-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:upload-bold-duotone){-webkit-mask:url(/assets/icones/solar/upload-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/upload-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:user-bold){-webkit-mask:url(/assets/icones/solar/user-bold.svg) no-repeat center/contain;mask:url(/assets/icones/solar/user-bold.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:user-bold-duotone){-webkit-mask:url(/assets/icones/solar/user-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/user-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:video-frame-play-vertical-bold-duotone){-webkit-mask:url(/assets/icones/solar/video-frame-play-vertical-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/video-frame-play-vertical-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:wallet-money-bold){-webkit-mask:url(/assets/icones/solar/wallet-money-bold.svg) no-repeat center/contain;mask:url(/assets/icones/solar/wallet-money-bold.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}
:where(.i-solar\:wallet-money-bold-duotone){-webkit-mask:url(/assets/icones/solar/wallet-money-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/wallet-money-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}

/* ==================================================================
   33. LOGO SEM DEFORMAR (01/10): o PageSpeed acusou "imagem com proporcao
   errada" na logo nova (mais larga que a antiga). Vale pra qualquer logo
   publicada em Marca e visual.
   ------------------------------------------------------------------ */
.app-logo img, .logo-container img, .navbar-brand img { width: auto !important; max-width: 100%; object-fit: contain; }

/* ==================================================================
   34. TABLET (01/10): de 640 a 991 px o menu e' gaveta (de 992 em diante
   vira a barra lateral fixa de computador). O molde abria essa gaveta na
   tela inteira, com logo e cartao da roleta gigantes, e nao mostrava logo
   no topo. Agora a gaveta tem 400 px, a logo de dentro fica no tamanho
   normal e, de 768 a 991 px (onde cabe), o topo mostra a logo a esquerda.
   ------------------------------------------------------------------ */
@media (min-width: 640px) and (max-width: 991px) {
    #menu-vertical { width: 400px !important; max-width: 400px; box-shadow: 24px 0 60px -10px rgb(0 0 0 / .7); }
    #menu-vertical .logo-container img { max-height: 44px; }
}
@media (min-width: 768px) and (max-width: 991px) {
    .navbar-logo:has(.logo-container.md\:hidden) { order: -1; margin-right: 14px; }
    .navbar-brand > .logo-container.md\:hidden { display: flex !important; }
}

/* ==================================================================
   35. FAIXA "ULTIMOS GANHOS" SEM PULO (01/10): ela nascia escondida
   (style display:none) e o sistema_jogos.js so' mostrava quando os ganhos
   chegavam: no celular lento tudo abaixo descia ~120 px (CLS 0,074).
   Agora o espaco dela ja vem reservado, com brilho, e o conteudo aparece
   dentro dele (classe nb-ganhos-pronto, bloco 22 do ajustes_interface.js).
   Sem ganho nenhum pra mostrar, ela some (nb-sem-ganhos).
   ------------------------------------------------------------------ */
[data-ganhos].all-last-wins-container { display: block !important; min-height: 133px; }
@media (max-width: 639px) { [data-ganhos].all-last-wins-container { min-height: 114px; } }
@media (max-width: 374px) { [data-ganhos].all-last-wins-container { min-height: 130px; } }
@media (min-width: 1280px) { [data-ganhos].all-last-wins-container { min-height: 128px; } }
[data-ganhos].all-last-wins-container:not(.nb-ganhos-pronto) {
    border-radius: 14px;
    background: linear-gradient(110deg, transparent 30%, rgb(255 255 255 / .05) 50%, transparent 70%) 0 0 / 250% 100%, rgb(var(--color-muted-800) / .7);
    animation: nb-esqueleto 1.4s linear infinite;
}
[data-ganhos].all-last-wins-container:not(.nb-ganhos-pronto) > * { visibility: hidden; }
[data-ganhos].all-last-wins-container.nb-sem-ganhos { display: none !important; }

/* 36. botao Menu de baixo nasce como "menu" (01/10; antes nascia como X e trocava) */
:where(.i-mingcute\:menu-fill){-webkit-mask:url(/assets/icones/mingcute/menu-fill.svg) no-repeat center/contain;mask:url(/assets/icones/mingcute/menu-fill.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}

/* 37. Oferta no Depositar (dono 01/10): botao verde normal + notinha 3D "100%" pendurada no
   canto, flutuando de leve. Clicar nela tambem abre o deposito (esta dentro do botao). */
.nb-cap-dep.nb-cap-tem-oferta { padding-right: 34px; margin-right: 10px; }
.nb-cap-nota { max-width: none; position: absolute; top: -14px; right: -15px; width: 48px; height: auto; pointer-events: none; filter: drop-shadow(0 3px 4px rgba(0,0,0,.5)); transform-origin: 40% 70%; animation: nb-nota 3.4s ease-in-out infinite; }
@keyframes nb-nota { 0%, 100% { transform: translateY(0) rotate(-8deg); } 50% { transform: translateY(-3px) rotate(3deg); } }
@media (max-width: 639px) {
    .nb-cap-dep.nb-cap-tem-oferta { padding: 0; margin-right: 0; }
    .nb-cap-nota { top: -19px; right: -13px; width: 33px; }
}
@media (prefers-reduced-motion: reduce) { .nb-cap-nota { animation: none; transform: rotate(-8deg); } }

/* 38. Barra embaixo do jogo no PC (ajustes_interface.js, 24) + respiro dos lados: em 1440 o jogo
   encostava na borda direita da tela. */
.max-w-\[1420px\].m-auto:has(> div > .pb-4 > [data-jogo-quadro]), .max-w-\[1420px\].m-auto:has([data-jogo-quadro]) { padding-left: 20px; padding-right: 20px; }
.nb-jogo-barra { padding: 12px 12px 12px 12px !important; border-radius: 16px !important; border: 1px solid rgba(96,123,221,.22) !important; background: linear-gradient(180deg, rgba(20,29,48,.95), rgba(11,15,27,.95)) !important; box-shadow: 0 10px 30px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.05); }
.nb-jogo-barra > .flex { align-items: center; gap: 16px; }
.nb-jb-info { display: flex !important; align-items: center; gap: 14px; min-width: 0; }
.nb-jb-info > .flex-col { min-width: 0; }
.nb-jb-capa { width: 52px; height: 52px; flex: 0 0 52px; border-radius: 12px; background: #141d30 center / cover no-repeat; box-shadow: 0 0 0 1px rgba(255,255,255,.08), 0 6px 14px rgba(0,0,0,.45); }
.nb-jogo-barra [data-jogo-nome] { color: #fff; font-size: 17px; font-weight: 800; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nb-jogo-barra [data-jogo-provedor] { display: inline-flex; align-self: flex-start; margin-top: 5px; padding: 2px 9px; border-radius: 999px; background: rgba(96,123,221,.15); color: #b4c3ff; font-size: 11.5px !important; font-weight: 600 !important; line-height: 1.5; }
.nb-jogo-barra [data-jogo-provedor]:empty { display: none; }
.nb-jb-acoes { display: flex; align-items: center; gap: 8px !important; flex: 0 0 auto; }
.nb-jb-pilula { height: 40px; padding: 0 15px; border-radius: 999px; display: inline-flex !important; align-items: center; gap: 8px !important; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.09); color: #d6ddf0; font-size: 13px; font-weight: 600; cursor: pointer; white-space: nowrap; transition: background .15s, border-color .15s, color .15s, transform .15s; }
.nb-jb-pilula:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.18); color: #fff; }
.nb-jb-pilula:active { transform: scale(.97); }
.nb-jb-pilula svg, .nb-jb-pilula .iconify { width: 18px !important; height: 18px !important; flex: 0 0 18px; }
.nb-jb-curtir small { color: inherit !important; font-size: 13px !important; font-weight: 700; }
.nb-jb-curtir:has(.i-ph\:heart-straight-fill) { color: #ff6b86; background: rgba(255,93,122,.1); border-color: rgba(255,93,122,.35); }
.nb-jb-dep { background: #22c55e; border-color: transparent; color: #052e16; font-weight: 800; padding: 0 18px; box-shadow: 0 0 0 1px rgba(34,197,94,.35), 0 6px 18px rgba(34,197,94,.28); }
.nb-jb-dep:hover { background: #2ad46a; color: #052e16; border-color: transparent; }
@media (max-width: 1100px) {
    .nb-jb-acoes .nb-jb-pilula:not(.nb-jb-dep):not(.nb-jb-curtir) span:not(.iconify) { display: none; }
    .nb-jb-acoes .nb-jb-pilula:not(.nb-jb-dep):not(.nb-jb-curtir) { width: 40px; padding: 0; justify-content: center; }
}
/* no PC a bolinha do atendimento ficava 76px acima do canto (regra da barra de baixo do celular,
   que no PC nem aparece) e caia em cima dos botoes da barra do jogo */
@media (min-width: 992px) {
    body:has([data-jogo-quadro]) [data-suporte-ia-botao] { bottom: 16px !important; }
    body:has([data-jogo-quadro]) [data-suporte-ia] { bottom: 16px !important; }
}

/* 39. Tela de jogo sem "pisca de deslogado" (dono 01/10): o HTML nasce com o cadeado "Voce
   precisa entrar para jogar". Para quem estava logado (topo guardado, classe nb-tem-topo) o
   cadeado fica escondido e aparece um carregando ate o jogo abrir. Se a sessao tiver caido, o
   ajustes_interface.js (bloco 21) tira a classe e o cadeado volta. */
html.nb-tem-topo:not(.nb-jogo-sem-espera) [data-jogo-trava] > div > * { visibility: hidden; }
html.nb-tem-topo:not(.nb-jogo-sem-espera) [data-jogo-trava] > div { position: relative; }
html.nb-tem-topo:not(.nb-jogo-sem-espera) [data-jogo-trava] > div::before { content: ''; position: absolute; left: 50%; top: 50%; width: 46px; height: 46px; margin: -23px 0 0 -23px; border-radius: 50%; border: 3px solid rgba(255,255,255,.14); border-top-color: rgb(var(--color-primary-500)); animation: nb-gira-jogo .8s linear infinite; }
@keyframes nb-gira-jogo { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { html.nb-tem-topo:not(.nb-jogo-sem-espera) [data-jogo-trava] > div::before { animation-duration: 2.4s; } }
.nb-jb-curtir small { min-width: 1ch; }
:where(.i-solar\:play-bold){-webkit-mask:url(/assets/icones/solar/play-bold.svg) no-repeat center/contain;mask:url(/assets/icones/solar/play-bold.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}

/* 40. Topo logado sem "piscar o desenho antigo" (dono 01/10): o app.js desenha o saldo no formato
   original (selo BRL, botao dourado +PIX, sobrenome) e o ajustes_interface.js (bloco 19) troca
   pela capsula nova logo depois; nesse intervalo o desenho antigo aparecia por 1 quadro. Ele fica
   invisivel ate ser trocado. Trava: se a troca nao acontecer, aparece sozinho em 2,5 s. */
#auth-nav-container .mx-auto:has([data-nb-balance]),
#auth-nav-container [data-sessao="sobrenome"]:not(:has(.nb-nivel)) { visibility: hidden; animation: nb-revela-topo 0s 2.5s forwards; }
@keyframes nb-revela-topo { to { visibility: visible; } }

/* 41. Tela de jogo: capas dos "Relacionados" do HTML (do site original) escondidas ate a fileira
   de verdade chegar (ajustes_interface.js, 26) */
body:has([data-jogo-quadro]) [data-carrossel] .embla__container:not(.nb-rel-pronto) img { visibility: hidden; }

/* 42. Pagina /afiliados (afiliados.js): programa de afiliados. Cores da casa via variaveis do tema. */
.nb-af-hero { margin-bottom: 20px !important; }
.nb-af-hero h1 { text-wrap: balance; }
.nb-af-hero p b { color: #ffd45a; font-weight: 800; }
.nb-af-selos { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; padding: 0; list-style: none; }
.nb-af-selos li { display: inline-flex; align-items: center; gap: 7px; padding: 7px 12px; border-radius: 999px; background: rgba(3,6,13,.45); border: 1px solid rgba(255,255,255,.1); color: #e6ebf7; font-size: 13px; font-weight: 600; backdrop-filter: blur(6px); }
.nb-af-selos li::before { content: ''; width: 14px; height: 14px; border-radius: 50%; background: #22c55e url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23052e16' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / 10px no-repeat; flex: 0 0 14px; }
.nb-af-hero-arte { flex: 0 0 auto; width: min(400px, 42%); margin: -10px 0 0; align-self: center; }
.nb-af-hero-arte img { display: block; width: 100%; height: auto; filter: drop-shadow(0 18px 40px rgba(0,0,0,.45)); animation: nb-af-flutua 6s ease-in-out infinite; }
@keyframes nb-af-flutua { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@media (max-width: 767px) {
    .nb-af-hero-arte { width: 200px; margin: 0 auto 18px; order: -1; }
    .nb-af-selos { margin-bottom: 18px; }
}
@media (prefers-reduced-motion: reduce) { .nb-af-hero-arte img { animation: none; } }

.nb-af-corpo { padding-bottom: 40px; }
.nb-af { min-height: 260px; }
.nb-af-esqueleto { display: grid; grid-template-columns: 1.6fr 1fr; gap: 16px; }
.nb-af-esqueleto i { display: block; border-radius: 16px; background: linear-gradient(90deg, rgb(var(--color-muted-900)) 0%, rgb(var(--color-muted-800) / .6) 50%, rgb(var(--color-muted-900)) 100%) 0 0 / 200% 100%; animation: nb-af-brilho 1.4s linear infinite; }
.nb-af-esq-a, .nb-af-esq-b { height: 210px; }
.nb-af-esq-c { grid-column: 1 / -1; height: 96px; }
@keyframes nb-af-brilho { to { background-position: -200% 0; } }
.nb-af.nb-af-pronto { animation: nb-af-entra .25s ease-out; }
@keyframes nb-af-entra { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

.nb-af-cartao { position: relative; border-radius: 18px; padding: 22px; background: linear-gradient(180deg, rgb(var(--color-muted-900) / .96), rgb(var(--color-muted-950) / .96)); border: 1px solid rgb(var(--color-primary-500) / .18); box-shadow: 0 16px 40px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.04); }
.nb-af-cartao h2 { margin: 0 0 6px; color: #fff; font-size: 22px; font-weight: 800; letter-spacing: -.01em; }
.nb-af-sub { margin: 0 0 16px; color: rgb(var(--color-muted-300)); font-size: 14.5px; line-height: 1.5; }
.nb-af-entrada { max-width: 820px; margin: 0 auto; }
.nb-af-rotulo { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; color: rgb(var(--color-muted-300)); font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.nb-af-rotulo svg { width: 18px; height: 18px; color: rgb(var(--color-primary-400)); }

.nb-af-passos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 16px 0 18px; }
.nb-af-passos > div { display: flex; flex-direction: column; gap: 4px; padding: 16px; border-radius: 14px; background: rgb(var(--color-muted-950) / .7); border: 1px solid rgba(255,255,255,.06); }
.nb-af-passos i { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; margin-bottom: 6px; border-radius: 50%; background: rgb(var(--color-primary-500)); color: #fff; font-style: normal; font-weight: 800; box-shadow: 0 0 18px rgb(var(--color-primary-500) / .45); }
.nb-af-passos b { color: #fff; font-size: 15px; }
.nb-af-passos span { color: rgb(var(--color-muted-400)); font-size: 13px; line-height: 1.45; }

.nb-af-plano { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; margin: 0 0 16px; }
.nb-af-plano-item { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 14px; background: linear-gradient(135deg, rgba(255,198,28,.12), rgba(255,198,28,.03)); border: 1px solid rgba(255,198,28,.28); }
.nb-af-plano-item b { color: #ffd45a; font-size: 26px; font-weight: 900; white-space: nowrap; letter-spacing: -.02em; }
.nb-af-plano-item span { color: #e6ebf7; font-size: 13.5px; line-height: 1.4; }

.nb-af-acoes { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.nb-af-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 20px; border-radius: 12px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.05); color: #fff; font-size: 14.5px; font-weight: 700; cursor: pointer; transition: transform .15s, filter .15s, background .15s; text-decoration: none; }
.nb-af-btn:hover { background: rgba(255,255,255,.09); }
.nb-af-btn:active { transform: scale(.98); }
.nb-af-btn svg { width: 18px; height: 18px; }
.nb-af-btn-forte { background: rgb(var(--color-primary-500)); border-color: transparent; box-shadow: 0 8px 24px rgb(var(--color-primary-500) / .35); }
.nb-af-btn-forte:hover { background: rgb(var(--color-primary-400)); }
.nb-af-btn-verde { width: 100%; background: #22c55e; color: #052e16; border-color: transparent; box-shadow: 0 8px 24px rgba(34,197,94,.3); }
.nb-af-btn-verde:hover { background: #2ad46a; }
.nb-af-btn[disabled] { opacity: .45; cursor: not-allowed; box-shadow: none; filter: grayscale(.4); }
.nb-af-btn.nb-af-ocupado { position: relative; color: transparent !important; }
.nb-af-btn.nb-af-ocupado::after { content: ''; position: absolute; width: 18px; height: 18px; border-radius: 50%; border: 2px solid rgba(255,255,255,.35); border-top-color: #fff; animation: nb-gira-jogo .7s linear infinite; }
.nb-af-btn.nb-af-feito { background: #22c55e !important; color: #052e16; }

.nb-af-aceite { display: flex; align-items: center; gap: 10px; margin-top: 12px; color: #e6ebf7; font-size: 14px; cursor: pointer; }
.nb-af-aceite input { width: 20px; height: 20px; accent-color: rgb(var(--color-primary-500)); flex: 0 0 20px; }
.nb-af-aguarde { width: 52px; height: 52px; margin-bottom: 10px; padding: 12px; border-radius: 50%; background: rgba(255,198,28,.14); color: #ffd45a; }

.nb-af-regras { margin-top: 16px; border-radius: 12px; background: rgb(var(--color-muted-950) / .6); border: 1px solid rgba(255,255,255,.06); }
.nb-af-regras summary { padding: 13px 16px; color: #dfe5f3; font-weight: 700; font-size: 14px; cursor: pointer; list-style: none; }
.nb-af-regras summary::-webkit-details-marker { display: none; }
.nb-af-regras summary::after { content: "+"; float: right; color: rgb(var(--color-primary-400)); font-weight: 800; }
.nb-af-regras[open] summary::after { content: "\2212"; }
.nb-af-regras ol { margin: 0; padding: 0 18px 14px 36px; color: rgb(var(--color-muted-300)); font-size: 13.5px; line-height: 1.55; }
.nb-af-regras li { margin-bottom: 6px; }

.nb-af-grade { display: grid; grid-template-columns: 1.6fr 1fr; gap: 16px; }
.nb-af-link { display: flex; gap: 8px; }
.nb-af-link input { flex: 1; min-width: 0; height: 48px; padding: 0 14px; border-radius: 12px; border: 1px solid rgb(var(--color-primary-500) / .35); background: rgb(var(--color-muted-950)); color: #fff; font-size: 15px; font-weight: 600; outline: none; }
.nb-af-link input:focus { border-color: rgb(var(--color-primary-400)); box-shadow: 0 0 0 3px rgb(var(--color-primary-500) / .25); }
.nb-af-link-previa { margin-bottom: 14px; padding: 13px 14px; border-radius: 12px; border: 1px dashed rgb(var(--color-primary-500) / .45); color: #fff; font-weight: 600; word-break: break-all; }
.nb-af-compartilha { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }
.nb-af-chip { display: inline-flex; align-items: center; gap: 7px; height: 38px; padding: 0 14px; border-radius: 999px; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.05); color: #e6ebf7; font-size: 13px; font-weight: 700; cursor: pointer; text-decoration: none; }
.nb-af-chip:hover { background: rgba(255,255,255,.1); color: #fff; }
.nb-af-chip svg { width: 17px; height: 17px; }
.nb-af-zap svg { color: #25d366; }
.nb-af-tg svg { color: #2aabee; }
.nb-af-codigo { margin-left: auto; color: rgb(var(--color-muted-400)); font-size: 13px; }
.nb-af-codigo b { color: #fff; letter-spacing: .06em; }
.nb-af-qr { display: flex; align-items: center; gap: 16px; margin-top: 14px; padding: 14px; border-radius: 14px; background: #fff; width: fit-content; }
.nb-af-qr[hidden] { display: none; }
.nb-af-qr img { width: 160px; height: 160px; image-rendering: pixelated; }
.nb-af-qr .nb-af-btn { background: #0b0f1b; }
.nb-af-plano-mini { margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.06); color: rgb(var(--color-muted-300)); font-size: 13.5px; }
.nb-af-plano-mini b { color: #ffd45a; }

.nb-af-cartao-saldo { display: flex; flex-direction: column; background: radial-gradient(120% 80% at 100% 0%, rgba(34,197,94,.14), transparent 60%), linear-gradient(180deg, rgb(var(--color-muted-900) / .96), rgb(var(--color-muted-950) / .96)); }
.nb-af-saldo { margin: 0 0 14px; color: #fff; font-size: 38px; font-weight: 900; letter-spacing: -.02em; line-height: 1; }
.nb-af-dica { margin-top: 10px; color: rgb(var(--color-muted-400)); font-size: 12.5px; line-height: 1.45; }
.nb-af-dica-alerta { color: #ffd45a; }
.nb-af-mini { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: auto; padding-top: 14px; }
.nb-af-mini div { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: 12px; background: rgba(255,255,255,.04); }
.nb-af-mini span { color: rgb(var(--color-muted-400)); font-size: 12px; }
.nb-af-mini b { color: #fff; font-size: 15px; }

.nb-af-numeros { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 16px 0; }
.nb-af-numeros > div { display: flex; flex-direction: column; gap: 2px; padding: 16px; border-radius: 16px; background: rgb(var(--color-muted-900) / .9); border: 1px solid rgba(255,255,255,.06); }
.nb-af-numeros span { color: rgb(var(--color-muted-400)); font-size: 12.5px; font-weight: 600; }
.nb-af-numeros b { color: #fff; font-size: 26px; font-weight: 900; letter-spacing: -.02em; }
.nb-af-numeros i { color: rgb(var(--color-muted-500)); font-size: 12px; font-style: normal; }

.nb-af-abas { display: flex; gap: 6px; margin-bottom: 12px; padding: 4px; border-radius: 12px; background: rgb(var(--color-muted-950)); width: fit-content; }
.nb-af-abas button { height: 38px; padding: 0 18px; border-radius: 9px; border: 0; background: transparent; color: rgb(var(--color-muted-400)); font-weight: 700; font-size: 14px; cursor: pointer; }
.nb-af-abas button[aria-selected="true"] { background: rgb(var(--color-primary-500)); color: #fff; }
.nb-af-linha { display: flex; justify-content: space-between; gap: 12px; padding: 13px 4px; border-bottom: 1px solid rgba(255,255,255,.06); }
.nb-af-linha:last-of-type { border-bottom: 0; }
.nb-af-linha-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.nb-af-linha-txt b { color: #fff; font-size: 14px; }
.nb-af-linha-txt span { color: rgb(var(--color-muted-300)); font-size: 13px; }
.nb-af-linha-txt em { color: rgb(var(--color-muted-500)); font-size: 12px; font-style: normal; }
.nb-af-linha-val { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; flex: 0 0 auto; text-align: right; }
.nb-af-linha-val b { color: #fff; font-size: 15px; }
.nb-af-linha-val small { color: rgb(var(--color-muted-500)); font-size: 11.5px; }
.nb-af-neg { color: #f87171 !important; }
.nb-af-tag { display: inline-flex; padding: 3px 9px; border-radius: 999px; font-size: 11.5px; font-weight: 700; white-space: nowrap; }
.nb-af-tag-ok { background: rgba(34,197,94,.15); color: #4ade80; }
.nb-af-tag-info { background: rgb(var(--color-primary-500) / .18); color: rgb(var(--color-primary-300)); }
.nb-af-tag-alerta { background: rgba(255,198,28,.15); color: #ffd45a; }
.nb-af-tag-ruim { background: rgba(239,68,68,.15); color: #f87171; }
.nb-af-tag-neutro { background: rgba(255,255,255,.07); color: rgb(var(--color-muted-300)); }
.nb-af-vazio { padding: 26px 8px; color: rgb(var(--color-muted-400)); font-size: 14px; text-align: center; }
.nb-af-mais { display: flex; margin: 12px auto 0; }
.nb-af-faixa { margin-bottom: 14px; padding: 13px 16px; border-radius: 12px; background: rgba(255,198,28,.12); border: 1px solid rgba(255,198,28,.3); color: #ffe08a; font-size: 14px; }

/* 43. Carrossel "Ultimos Ganhos" - marquee rotativo (01/10 v2) */
.wins-carousel { display: flex; align-items: center; min-width: 0; overflow: hidden; gap: 8px; padding: 6px 0; }
/* card-destaque: layout horizontal igual ao trilho mas maior e com borda primaria */
.nb-gw-dest-wrap { flex-shrink: 0; display: flex; align-items: center; padding-right: 10px; border-right: 1px solid rgba(255,255,255,.08); }
.nb-gw-dest { display: flex; flex-direction: row; align-items: center; gap: 10px; padding: 8px 14px 8px 10px; border-radius: 14px; background: linear-gradient(135deg, rgba(var(--color-primary-600),.22) 0%, rgba(var(--color-primary-900),.14) 100%); border: 1px solid rgba(var(--color-primary-400),.3); flex-shrink: 0; }
.nb-gw-dest-img { width: 54px; height: 72px; border-radius: 9px; overflow: hidden; background: rgb(var(--color-muted-700)); flex-shrink: 0; box-shadow: 0 4px 12px rgba(0,0,0,.4); }
.nb-gw-dest-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nb-gw-dest-info { display: flex; flex-direction: column; gap: 3px; }
.nb-gw-dest-valor { font-size: 18px; font-weight: 900; color: #fff; line-height: 1.1; white-space: nowrap; }
.nb-gw-dest-player { font-size: 11px; color: rgb(var(--color-muted-300)); white-space: nowrap; }
.nb-gw-dest-jogo { font-size: 11px; color: rgb(var(--color-muted-400)); white-space: nowrap; }
/* pista = overflow:hidden com degrade nas bordas */
.nb-gw-pista { flex: 1; overflow: hidden; position: relative; min-width: 0; align-self: stretch; display: flex; align-items: center; }
.nb-gw-pista::before, .nb-gw-pista::after { content: ''; position: absolute; top: 0; bottom: 0; width: 40px; z-index: 2; pointer-events: none; }
.nb-gw-pista::before { left: 0; background: linear-gradient(to right, rgb(var(--color-muted-900)), transparent); }
.nb-gw-pista::after { right: 0; background: linear-gradient(to left, rgb(var(--color-muted-900)), transparent); }
/* trilho: duplicado para loop sem emenda */
.nb-gw-trilho { display: flex; gap: 8px; width: max-content; animation: nb-gw-scroll 30s linear infinite; }
.nb-gw-pista:hover .nb-gw-trilho { animation-play-state: paused; }
@keyframes nb-gw-scroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
/* card individual */
.nb-gw-card { display: flex; flex-direction: row; align-items: center; gap: 9px; padding: 8px 14px 8px 9px; border-radius: 12px; background: rgb(var(--color-muted-800) / .8); border: 1px solid rgba(255,255,255,.07); white-space: nowrap; flex-shrink: 0; transition: background .15s, border-color .15s; }
.nb-gw-card:hover { background: rgb(var(--color-muted-700) / .8); }
.nb-gw-img { width: 40px; height: 54px; border-radius: 7px; overflow: hidden; background: rgb(var(--color-muted-700)); flex-shrink: 0; }
.nb-gw-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nb-gw-info { display: flex; flex-direction: column; gap: 2px; }
.nb-gw-player { font-size: 11px; color: rgb(var(--color-muted-300)); font-weight: 500; }
.nb-gw-valor { font-size: 15px; font-weight: 800; color: #fff; display: flex; align-items: center; gap: 4px; }
.nb-gw-jogo { font-size: 10.5px; color: rgb(var(--color-muted-400)); display: flex; align-items: center; gap: 4px; }
.nb-gw-tempo { font-size: 10px; color: rgb(var(--color-muted-500)); }
/* tiers: cor do valor */
.nb-gw-card--alto .nb-gw-valor, .nb-gw-dest.nb-gw-card--alto .nb-gw-dest-valor { color: #fcd34d; }
.nb-gw-card--trofeu .nb-gw-valor, .nb-gw-dest.nb-gw-card--trofeu .nb-gw-dest-valor { color: #f59e0b; }
.nb-gw-card--mega .nb-gw-valor, .nb-gw-dest.nb-gw-card--mega .nb-gw-dest-valor { color: #f59e0b; text-shadow: 0 0 14px rgba(245,158,11,.5); }
.nb-gw-card--alto { border-color: rgba(252,211,77,.2); }
.nb-gw-card--trofeu { border-color: rgba(245,158,11,.25); }
.nb-gw-card--mega { border-color: rgba(245,158,11,.35); box-shadow: 0 0 10px rgba(245,158,11,.12); }
.nb-gw-mega { font-size: 9px; font-weight: 900; letter-spacing: .4px; padding: 1px 5px; border-radius: 4px; background: linear-gradient(135deg, #f59e0b, #ef4444); color: #fff; }
.nb-gw-trofeu { display: inline-block; width: 13px; height: 13px; flex-shrink: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23f59e0b'%3E%3Cpath d='M19 5h-1V3H6v2H5C3.9 5 3 5.9 3 7v1c0 2.55 1.92 4.63 4.39 4.94A5.01 5.01 0 0 0 11 15.9V18H9v2h6v-2h-2v-2.1a5.01 5.01 0 0 0 3.61-2.96C19.08 12.63 21 10.55 21 8V7c0-1.1-.9-2-2-2zm-2 3c0 1.86-1.28 3.41-3 3.86V7h3v1zm-8 0V7h3v4.86C10.28 11.41 9 9.86 9 8z'/%3E%3C/svg%3E") center/contain no-repeat; }
/* ganho novo */
.nb-gw-novo { border-color: rgba(34,197,94,.45) !important; animation: nb-gw-flash 8s forwards; }
@keyframes nb-gw-flash { 0%,10% { box-shadow: 0 0 0 2px rgba(34,197,94,.45); } 100% { box-shadow: none; } }
.nb-gw-agora { font-size: 9.5px; font-weight: 700; background: #22c55e; color: #052e16; border-radius: 4px; padding: 0 5px; line-height: 16px; flex-shrink: 0; }
/* mobile: destaque some, pista ocupa tudo */
@media (max-width: 639px) {
    .nb-gw-dest-wrap { display: none; }
    .nb-gw-img { width: 34px; height: 46px; }
    .nb-gw-valor { font-size: 13px; }
    .nb-gw-player { font-size: 10px; }
    .nb-gw-jogo { font-size: 10px; }
    .nb-gw-pista::before, .nb-gw-pista::after { width: 24px; }
}
@media (prefers-reduced-motion: reduce) { .nb-gw-trilho { animation: none; } }

/* 44. Para animacoes de fundo do sidebar (02/10) - gradientes pulsantes do menu lateral */
#menu-vertical .animate-pulse-slow,
#menu-vertical .animate-float {
    animation: none !important;
    opacity: .18;
}
/* 45. Anel de rank do avatar no topo: sem transicao (o topo e' refeito a cada 4s no jogo) */
#auth-nav-container svg[role="progressbar"] .circle-value { transition: none !important; }

.nb-af-faq { max-width: 820px; margin: 34px auto 0; }
.nb-af-faq h2 { margin: 0 0 12px; color: #fff; font-size: 20px; font-weight: 800; }
.nb-af-faq details { margin-bottom: 8px; border-radius: 12px; background: rgb(var(--color-muted-900) / .9); border: 1px solid rgba(255,255,255,.06); }
.nb-af-faq summary { padding: 15px 16px; color: #fff; font-weight: 700; font-size: 15px; cursor: pointer; list-style: none; }
.nb-af-faq summary::-webkit-details-marker { display: none; }
.nb-af-faq summary::after { content: "+"; float: right; color: rgb(var(--color-primary-400)); font-weight: 800; }
.nb-af-faq details[open] summary::after { content: "\2212"; }
.nb-af-faq p { margin: 0; padding: 0 16px 16px; color: rgb(var(--color-muted-300)); font-size: 14px; line-height: 1.6; }
.nb-af-faq p b { color: #ffd45a; }

@media (max-width: 1023px) {
    .nb-af-grade, .nb-af-esqueleto { grid-template-columns: 1fr; }
    .nb-af-numeros { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 639px) {
    .nb-af-cartao { padding: 16px; border-radius: 16px; }
    .nb-af-passos { grid-template-columns: 1fr; }
    .nb-af-link { flex-direction: column; }
    .nb-af-link .nb-af-btn { width: 100%; }
    .nb-af-codigo { margin-left: 0; width: 100%; }
    .nb-af-saldo { font-size: 32px; }
    .nb-af-numeros b { font-size: 22px; }
    .nb-af-acoes .nb-af-btn { flex: 1 1 100%; }
    .nb-af-qr { flex-direction: column; width: 100%; }
}
:where(.i-solar\:users-group-rounded-bold-duotone){-webkit-mask:url(/assets/icones/solar/users-group-rounded-bold-duotone.svg) no-repeat center/contain;mask:url(/assets/icones/solar/users-group-rounded-bold-duotone.svg) no-repeat center/contain;background-color:currentColor;display:inline-block}

/* 46. Cadastro (04/10, dono): so' o CPF (o nome vem da consulta) e a senha uma vez so';
   arte do cadastro preenchida com as vantagens da casa, sem aviso de rollover */
[data-painel-modal] form .space-y-2 > .nui-input-wrapper:has([data-nome-cadastro]),
[data-painel-modal] form .space-y-2 > div:has([data-senha-confirma]) { display: none !important; }
.nb-auth-arte__vant { display: none; }
@media (min-width: 900px) {
    .nb-auth-arte[data-modo="register"] { min-height: 600px; background: radial-gradient(120% 70% at 50% 30%, #13246b 0%, #050913 70%); }
    .nb-auth-arte[data-modo="register"] > img {
        inset: auto 0 -84px 0; height: auto; object-fit: contain;
        -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 24%); mask-image: linear-gradient(180deg, transparent 0, #000 24%);
    }
    .nb-auth-arte[data-modo="register"]::after { background: linear-gradient(180deg, rgb(5 9 19 / .7) 0%, rgb(5 9 19 / .15) 40%, rgb(5 9 19 / 0) 60%, rgb(5 9 19 / .65) 100%); }
    .nb-auth-arte[data-modo="register"] .nb-auth-arte__texto { top: 30px; }
    .nb-auth-arte__vant { display: grid; gap: 8px; list-style: none; margin: 20px 0 0; padding: 0; text-align: left; }
    .nb-auth-arte__vant li {
        display: flex; align-items: center; gap: 12px; padding: 9px 12px; border-radius: 14px;
        background: linear-gradient(90deg, rgb(12 22 60 / .82), rgb(12 22 60 / .5)); border: 1px solid rgb(255 214 107 / .22);
        -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); box-shadow: 0 8px 20px rgb(0 0 0 / .35);
        animation: nb-vant .5s ease both;
    }
    .nb-auth-arte__vant li:nth-child(2) { animation-delay: .08s; }
    .nb-auth-arte__vant li:nth-child(3) { animation-delay: .16s; }
    .nb-auth-arte__vant i {
        flex: 0 0 34px; height: 34px; border-radius: 10px; display: flex; align-items: center; justify-content: center; color: #1a1200;
        background: linear-gradient(180deg, rgb(var(--bonus-accent-light)), rgb(var(--bonus-accent))); box-shadow: 0 0 14px -2px rgb(var(--bonus-accent) / .7);
    }
    .nb-auth-arte__vant i svg { width: 20px; height: 20px; }
    .nb-auth-arte__vant b { display: block; font-size: 13.5px; line-height: 1.15; font-weight: 800; color: #fff; }
    .nb-auth-arte__vant small { display: block; margin-top: 2px; font-size: 11.5px; color: rgb(220 228 255 / .78); }
    @keyframes nb-vant { from { opacity: 0; transform: translateX(-10px); } to { opacity: 1; transform: none; } }
}
@media (max-width: 899px) {
    .nb-auth-arte--faixa {
        min-height: 92px; padding: 14px 16px;
        background: linear-gradient(90deg, rgb(5 9 19 / .96) 0%, rgb(5 9 19 / .7) 50%, rgb(5 9 19 / .05) 100%),
            var(--nb-arte-faixa) right -8px top calc(46px - 49vw) / 56vw auto no-repeat,
            radial-gradient(circle at 82% 50%, rgb(47 91 255 / .55), transparent 62%), #050913;
    }
    .nb-auth-arte--faixa .nb-auth-arte__selo {
        padding: 3px 9px; border-radius: 999px; color: #1a1200;
        background: linear-gradient(180deg, rgb(var(--bonus-accent-light)), rgb(var(--bonus-accent)));
    }
    .nb-auth-arte--faixa .nb-auth-arte__titulo { margin-top: 5px; font-size: 23px; font-style: italic; text-transform: uppercase; letter-spacing: -.01em; }
    .nb-auth-arte--faixa .nb-auth-arte__titulo em {
        background: linear-gradient(180deg, #fff6cf 0%, rgb(var(--bonus-accent)) 60%, #c98a00 100%);
        -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 2px 0 rgb(0 0 0 / .45));
    }
    .nb-auth-arte--faixa .nb-auth-arte__sub { margin-top: 3px; font-size: 12.5px; color: rgb(255 255 255 / .88); }
}
/* tela baixa (notebook) e celular: cabecalho do cadastro mais curto para o botao caber sem rolar */
@media (max-height: 820px), (max-width: 899px) {
    [data-painel-modal] .text-center:has(+ div form[data-form="register"]) > p.nui-paragraph { display: none; }
    [data-painel-modal] .text-center:has(+ div form[data-form="register"]) .logo > div { height: 58px; }
}
@media (max-width: 899px) and (max-height: 760px) {
    .nb-auth-arte--faixa { min-height: 80px; padding: 10px 16px; }
    [data-painel-modal] .text-center:has(+ div form[data-form="register"]) .logo > div { height: 44px; }
}
/* tablet em pe' (640-899): a faixa da oferta ia para o lado e espremia o formulario; vai para cima */
@media (min-width: 600px) and (max-width: 899px) {
    .nb-modal-backdrop .flex.flex-row.items-stretch.relative:has(> .nb-auth-arte--faixa) { flex-wrap: wrap; }
    .nb-modal-backdrop .flex.flex-row.items-stretch.relative > .nb-auth-arte--faixa { flex: 0 0 100%; width: 100%; }
    .nb-modal-backdrop .flex.flex-row.items-stretch.relative > .nb-auth-arte--faixa + * { flex: 1 1 100%; min-width: 0; }
}
/* celular de tela baixa (iPhone SE, Android 640): o botao Cadastrar precisa caber sem rolar */
@media (max-width: 899px) and (max-height: 700px) {
    [data-painel-modal] .text-center:has(+ div form[data-form="register"]) { display: none; }
    .nb-modal-backdrop .nb-auth-arte--faixa { min-height: 64px; padding: 8px 14px; }
    .nb-modal-backdrop .nb-auth-arte--faixa .nb-auth-arte__titulo { font-size: 19px; margin-top: 3px; }
    .nb-modal-backdrop .nb-auth-arte--faixa .nb-auth-arte__sub { font-size: 11.5px; margin-top: 1px; }
    [data-painel-modal]:has(form[data-form="register"]) [data-switch-auth] { height: 50px; }
    [data-painel-modal] form[data-form="register"] .mb-6 > .mt-6 { margin-top: 12px; }
}
@media (max-width: 899px) and (max-height: 660px) {
    [data-painel-modal] form[data-form="register"] .w-full.text-xs.pt-2:has([data-codigo-ref]) { display: none; }
}
@media (max-width: 899px) and (max-height: 600px) {
    .nb-modal-backdrop .nb-auth-arte--faixa .nb-auth-arte__selo { display: none; }
    [data-painel-modal] form[data-form="register"] [data-barras-senha] { display: none; }
    [data-painel-modal] form[data-form="register"] .mb-6 > .mt-6 { margin-top: 8px; }
    .nb-modal-backdrop .nb-auth-arte--faixa { min-height: 52px; }
    .nb-modal-backdrop .nb-auth-arte--faixa .nb-auth-arte__sub { display: none; }
    [data-painel-modal]:has(form[data-form="register"]) [data-switch-auth] { height: 44px; }
    [data-painel-modal] .px-8.py-4:has(> form[data-form="register"]) { padding-top: 6px; padding-bottom: 6px; }
    [data-painel-modal] form[data-form="register"] { margin-top: 0; }
}
/* Vitrine (25/10/2026): faixa enorme (5K+) pulsa */
.nb-gw-card--mega { animation: nb-gw-pulso 2.4s ease-in-out infinite; }
@keyframes nb-gw-pulso { 50% { box-shadow: 0 0 20px rgba(245,158,11,.5); } }
@media (prefers-reduced-motion: reduce) { .nb-gw-card--mega { animation: none; } }

/* 27/10 celular no padrao Rainbet: 4 jogos por linha nas faixas da home (antes 2,5 por linha), vao de 8px; tablet 5 */
@media (max-width:520px){
  .embla__container:has(> .embla__slide[data-v-07a0d07c]){column-gap:8px!important}
  .embla__slide[data-v-07a0d07c]{flex:0 0 calc(25% - 6px)!important;min-width:0!important;margin-right:0!important}
  .carousel-scroller[data-v-4e90a3a6]{gap:8px!important}
  .carousel-scroller[data-v-4e90a3a6] > .item[data-v-4e90a3a6]{width:calc(25% - 6px)!important;min-width:0!important}
}
@media (min-width:521px) and (max-width:768px){
  .embla__container:has(> .embla__slide[data-v-07a0d07c]){column-gap:10px!important}
  .embla__slide[data-v-07a0d07c]{flex:0 0 calc(20% - 8px)!important;min-width:0!important;margin-right:0!important}
  .carousel-scroller[data-v-4e90a3a6]{gap:10px!important}
  .carousel-scroller[data-v-4e90a3a6] > .item[data-v-4e90a3a6]{width:calc(20% - 8px)!important;min-width:0!important}
}
/* 27/10 pagina "Ver todos" (/games) no celular: era 5 por linha com capa de 50px; agora 3 por linha (~110px), como as paginas de categoria da Rainbet */
@media (max-width:520px){
  .grid[data-v-db3608f4]{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .grid[data-v-db3608f4] > .px-2[data-v-db3608f4]{padding-left:0!important;padding-right:0!important}
}

/* 30/10/2026 fluidez da home: animacao infinita fora da tela pausada; bloco fora da tela nao pintado (ver fluidez.js) */
html body .fz-off, html body .fz-off-b::before, html body .fz-off-a::after { animation-play-state: paused !important; }
.fz-cv { content-visibility: auto; }
/* mesmas sombras de antes + 1 sombra transparente do tamanho maximo: a area pintada nao muda a cada quadro e o Chrome nao refaz as camadas da pagina toda */
@keyframes nb-gw-pulso { 0%, 100% { box-shadow: 0 0 0 0 transparent, 0 0 20px rgba(245,158,11,0); } 50% { box-shadow: 0 0 20px rgba(245,158,11,.5), 0 0 20px rgba(245,158,11,0); } }
@keyframes nb-respira {
    0%, 100% { box-shadow: 0 0 0 1px rgb(255 255 255 / .06) inset, 0 8px 24px -6px rgb(var(--color-primary-500) / .55), 0 0 16px -2px rgb(var(--color-primary-500) / .35), 0 0 36px 0 transparent; }
    50% { box-shadow: 0 0 0 1px rgb(255 255 255 / .1) inset, 0 8px 28px -4px rgb(var(--color-primary-500) / .8), 0 0 28px 0 rgb(var(--color-primary-400) / .6), 0 0 36px 0 transparent; }
}
/* o fundo do html vai para a camada fixa #fz-fundo (fluidez.js), com o mesmo desenho */
html.fz-fundo { background-image: none !important; background-attachment: scroll !important; }
html.fz-fundo body, html.fz-fundo #main-container { background-attachment: scroll !important; }
