/* ============================================================
 * POP — overrides do redesign player-facing.
 * Carregado depois de estilo.css. Escopo: html[theme^="pop"].
 * Variantes: pop (52), pop-gold (53), pop-black (54).
 * ============================================================ */

/* ---------- Tokens compartilhados (estrutura/medidas) ---------- */
html[theme^="pop"] {
    --pop-radius-sm: 8px;
    --pop-radius-md: 12px;
    --pop-radius-lg: 16px;
    --pop-radius-pill: 999px;
    --pop-shadow-card: 0 4px 16px rgba(0, 0, 0, 0.08);
    --pop-shadow-elev: 0 8px 24px rgba(0, 0, 0, 0.12);
    --pop-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

    /* Mapeamento completo das CSS vars que a SPA consome.
     * Definido aqui (escopo compartilhado) pq todas as variantes pop usam
     * o mesmo mapeamento; cada variante so redefine os --pop-* abaixo e
     * a cascata resolve. Sem isso, vars nao-definidas viram transparente
     * (modal login, cards, etc.). */
    --theme-main-color: var(--pop-primary);
    --theme-bg-color: var(--pop-bg);
    --theme-money: var(--pop-danger);
    --theme-top-bar: var(--pop-primary);
    --theme-white-color: var(--pop-surface);
    --theme-tite-color: var(--pop-text);
    --theme-tips: var(--pop-text-muted);

    --theme-template-color: var(--pop-surface);
    --theme-header-color: var(--pop-surface);
    --theme-default-icon: var(--pop-text-muted);
    --theme-search-icon: var(--pop-text-muted);
    --theme-error: var(--pop-danger);
    --theme-reduce-money: var(--pop-danger);
    --theme-rises-money: var(--pop-primary);
    --theme-withdraw-money: var(--pop-danger);
    --theme-line-color: var(--pop-border);
    --theme-light-line-color: var(--pop-border);
    --theme-sidebar-color: var(--pop-surface);
    --theme-float: var(--pop-surface);
    --theme-head-button-bg: rgba(255, 255, 255, 0.18);
    --theme-head-button-text: var(--pop-surface);
    --theme-top-button: var(--pop-surface);
    --theme-text-button: var(--pop-surface);
    --theme-unclickable: var(--pop-text-muted);
}

/* ---------- Variante: pop (verde + azul, claro) ---------- */
html[theme="pop"] {
    --pop-primary: #16a34a;         /* verde principal */
    --pop-primary-dark: #15803d;
    --pop-accent: #2563eb;          /* azul vibrante */
    --pop-accent-dark: #1d4ed8;
    --pop-bg: #f5f7fb;
    --pop-surface: #ffffff;
    --pop-text: #111827;
    --pop-text-muted: #6b7280;
    --pop-border: #e5e7eb;
    --pop-vip: #f59e0b;             /* amarelo VIP */
    --pop-danger: #dc2626;          /* vermelho valor/badge */
    /* Gradient extraido do mockup oficial (3 paradas oklch).
     * Fallback hex pra browsers sem oklch (Safari <15.4, Edge antigo). */
    --pop-header-gradient: linear-gradient(135deg, #2c8a4a 0%, #1e4d8b 50%, #1e3a8a 100%);
    --pop-header-gradient: linear-gradient(135deg, oklch(55% .22 145) 0%, oklch(40% .2 220) 50%, oklch(38% .2 262) 100%);
    /* Gradient da pagina inteira (vertical pra acompanhar scroll do mobile). */
    /* Background full-screen do tema: imagem unica em /pop-assets/bg.avif.
     * Usada como fundo das paginas e do modal de login (substitui gradient).
     * --pop-page-bg-color e a cor solida extraida do bg pra evitar flash
     * branco enquanto o avif baixa (preload no index.php tambem ajuda). */
    --pop-page-bg-color: #1e3a8a;
    --pop-page-bg: url("/pop-assets/bg.avif") center top / cover no-repeat, var(--pop-page-bg-color);
}

/* ---------- Variante: pop-gold (verde + dourado, premium claro) ---------- */
html[theme="pop-gold"] {
    --pop-primary: #16a34a;
    --pop-primary-dark: #15803d;
    --pop-accent: #d4a017;          /* dourado */
    --pop-accent-dark: #b8860b;
    --pop-bg: #faf7ef;
    --pop-surface: #ffffff;
    --pop-text: #1f2937;
    --pop-text-muted: #78716c;
    --pop-border: #ece4d0;
    --pop-vip: #d4a017;
    --pop-danger: #b91c1c;
    --pop-header-gradient: linear-gradient(135deg, #16a34a 0%, #d4a017 100%);
}

/* ---------- Variante: pop-black (dark, grafite + acentos) ---------- */
html[theme="pop-black"] {
    --pop-primary: #22c55e;
    --pop-primary-dark: #16a34a;
    --pop-accent: #facc15;          /* dourado claro p/ contraste no dark */
    --pop-accent-dark: #ca8a04;
    --pop-bg: #0a0a0a;
    --pop-surface: #1a1a1a;
    --pop-text: #f5f5f5;
    --pop-text-muted: #a1a1aa;
    --pop-border: #2d2d2d;
    --pop-vip: #facc15;
    --pop-danger: #ef4444;
    --pop-header-gradient: linear-gradient(135deg, #16a34a 0%, #0a0a0a 100%);

    /* Override: no dark, top-bar nao usa primary (verde brilhante demais),
     * fica em bg-color escuro pra harmonizar com o gradient do header. */
    --theme-top-bar: var(--pop-bg);
}

/* ---------- Variante: pop-copa (Copa do Mundo — verde/azul/dourado) ----------
 * Herda 100% da engine POP (pop.js gateia por theme^="pop"; o mapeamento de
 * --theme-* mora no escopo compartilhado). So redefine paleta + o bg full-screen
 * pra arte da Copa (/pop-assets/copa-bg.avif). A unica feature exclusiva desta
 * variante e a secao "Ganhadores ao Vivo" (.pop-winners), gateada mais abaixo
 * em html[theme="pop-copa"]. */
html[theme="pop-copa"] {
    --pop-primary: #16a34a;         /* verde Brasil */
    --pop-primary-dark: #15803d;
    --pop-accent: #d4a017;          /* dourado taca */
    --pop-accent-dark: #b8860b;
    --pop-bg: #f3f6fb;
    --pop-surface: #ffffff;
    --pop-text: #111827;
    --pop-text-muted: #6b7280;
    --pop-border: #e5e7eb;
    --pop-vip: #f59e0b;
    --pop-danger: #dc2626;
    --pop-header-gradient: linear-gradient(135deg, #2c8a4a 0%, #1e4d8b 50%, #1e3a8a 100%);
    --pop-header-gradient: linear-gradient(135deg, oklch(55% .22 145) 0%, oklch(40% .2 220) 50%, oklch(38% .2 262) 100%);
    /* Mesmo esquema do bg do pop: cor solida de fallback evita flash branco
     * enquanto o avif baixa (preload condicional no index.php tambem ajuda). */
    --pop-page-bg-color: #1e3a8a;
    --pop-page-bg: url("/pop-assets/copa-bg.avif") center top / cover no-repeat, var(--pop-page-bg-color);
}

/* ---------- Variante: pop-orange (laranja sobre claro) ----------
 * Herda 100% da engine POP (gate por theme^="pop"). So redefine a paleta:
 * superficies brancas/claras + acento laranja (mesma estrutura do tema "pop"
 * base, que ja e claro), e o bg full-screen pop-assets/bg-orange-home.avif
 * (mesmo arquivo usado na home e no form de login/registro via --pop-page-bg).
 * Tema CLARO: superficies (cards, modais, header de conteudo) brancas e texto
 * escuro. Os botoes/textos que referenciam --pop-primary ficam laranja. */
html[theme="pop-orange"] {
    --pop-primary: #f97316;         /* laranja principal */
    --pop-primary-dark: #ea580c;
    --pop-accent: #fb923c;          /* laranja claro */
    --pop-accent-dark: #c2410c;
    --pop-bg: #fdf6f0;              /* fundo de pagina claro e quente (quase branco) */
    --pop-surface: #ffffff;         /* cards/modais/superficies brancas */
    --pop-text: #1c1917;            /* texto quase preto (quente) */
    --pop-text-muted: #78716c;      /* cinza quente */
    --pop-border: #f0e6dd;          /* borda clara quente */
    --pop-vip: #f59e0b;             /* ambar VIP */
    --pop-danger: #ef4444;
    --pop-header-gradient: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
    /* Cor solida de fallback (laranja) enquanto o avif baixa — evita flash
     * branco no carregamento (preload no index.php tambem ajuda). */
    --pop-page-bg-color: #f97316;
    --pop-page-bg: url("/pop-assets/bg-orange-home.avif") center top / cover no-repeat, var(--pop-page-bg-color);
}

/* ---------- Marcador de smoke test (remover na Fase 2) ----------
 * Smoke test: com config.tema = 52/53/54, a borda colorida confirma
 * que pop.css carregou e o atributo theme está ativo.
 */
html[theme^="pop"] body::before {
    content: "POP " attr(theme) " ✓";
    position: fixed;
    bottom: 8px;
    right: 8px;
    z-index: 99999;
    padding: 4px 10px;
    border-radius: var(--pop-radius-pill);
    background: var(--pop-primary);
    color: var(--pop-surface);
    font: 11px/1.4 var(--pop-font);
    box-shadow: var(--pop-shadow-card);
    pointer-events: none;
}

/* ============================================================
 * Fase 2 — Top bar / Header (mobile + desktop)
 * Background gradient + contraste branco nos icones nativos.
 * Toggle do menu permanece a esquerda; logo NAO vai no header.
 * ============================================================ */

/* A SPA tem multiplas variantes de header (5+ classes _headerBox_*hash*_LL).
 * O componente ativo depende da rota/breakpoint, e os white-themes do bundle
 * sobrescrevem 1wa3q especificamente — usar attr selector cobre todas as
 * variantes presentes e futuras sem mapear cada hash.
 *
 * !important pq o default da SPA aplica background-color: var(--theme-top-bar)
 * com specificity igual; sem !important o gradient nao vence quando o tema
 * nao tem regra dedicada (caso do pop). */
html[theme^="pop"] [class*="_headerBox_"]:not([class*="InBox"]),
html[theme^="pop"] [class*="_headerContainer_"],
html[theme^="pop"] [class*="_topBarBox_"] {
    background: var(--pop-header-gradient) !important;
    background-color: transparent !important;
    color: var(--pop-surface) !important;
    padding-top: env(safe-area-inset-top, 0);
}

/* Icones nativos do header em branco pra contraste sobre o gradient.
 * SVGs herdam color via currentColor; alguns usam fill direto, ambos cobertos. */
html[theme^="pop"] [class*="_headerBox_"]:not([class*="InBox"]) svg,
html[theme^="pop"] [class*="_headerContainer_"] svg,
html[theme^="pop"] [class*="_topBarBox_"] svg {
    color: var(--pop-surface);
    fill: currentColor;
}

/* ============================================================
 * Fase 2b — Background gradiente DENTRO do container central
 * Em desktop o site e centralizado num container de max-width 750rem.
 * O gradient deve ficar DENTRO desse container (atras dos cards), e
 * o resto da viewport (margens laterais) fica branco.
 * Em mobile o container ocupa 100% da largura, entao o gradient cobre tudo.
 * ============================================================ */
html[theme^="pop"],
html[theme^="pop"] body {
    /* Cor solida do bg.avif como fallback. Antes mesmo do avif baixar e do
     * container interno montar (React), html/body ficam azuis — evita flash
     * branco que ficava visivel enquanto a SPA inicializava e o ranking
     * (injetado por pop.js) chegava primeiro que a imagem de fundo. */
    background-color: var(--pop-page-bg-color) !important;
}

/* Containers de pagina (max-width 750rem em desktop, 100% em mobile)
 * recebem o gradient. Lista cobre home + layouts PC comuns; cada tema
 * base do bundle normalmente sobrescreve com uma background-image
 * dedicada — pop usa gradient via var. */
html[theme^="pop"] ._homeContainer_18i9o_55,
html[theme^="pop"] ._container_13kdd_55,
html[theme^="pop"] ._container_ybvgx_55 {
    background: var(--pop-page-bg) !important;
    background-attachment: fixed !important;
    min-height: 100vh;
}

/* Wrappers internos com _bgColor_* aplicam --theme-bg-color e tapam o
 * gradient do container. Neutralizar pra deixar o gradient atravessar
 * ate os cards/seções. */
html[theme^="pop"] [class*="_bgColor_"],
html[theme^="pop"] .skeletonPageBg {
    background-color: transparent !important;
    background-image: none !important;
}

/* ============================================================
 * Fase 2c — Header logado: saldo + Depositar no formato pill (mockup cliente)
 *
 * Estrutura SPA (logado):
 *   _rightBox_1wa3q_173
 *     _moneyBox_1wa3q_184   -> flag (hidden) + R$ valor + freshIcon refresh
 *     _despositOutBtnBox_   -> _despositBtn_ "Depositar" + _line_ + _triangLeIconBox_
 *
 * Objetivo: um unico container escuro arredondado envolvendo o saldo (a
 * esquerda) e o botao verde "Depositar +" (a direita). Refresh fica como
 * icone pequeno no canto. Click no saldo (detalhes) e click no refresh
 * sao preservados — nenhum elemento e removido do DOM, apenas estilizado.
 * Linha separadora + chevron de menu rapido sao escondidos pra match com
 * a referencia mais limpa (saque continua acessivel via /withdraw).
 *
 * Sino de notificacoes mantido com estilo branco + badge vermelho.
 * Attr selector cobre todas as variantes (1wa3q + futuras).
 * ============================================================ */

/* Wrapper externo vira a pill escura — apenas quando logado (has moneyBox),
 * para nao afetar o estado deslogado (login/registro com seus proprios estilos). */
html[theme^="pop"] [class*="_rightBox_1wa3q_"]:has([class*="_moneyBox_"]) {
    background: rgba(13, 36, 73, 0.55) !important;
    border: 2rem solid rgba(255, 255, 255, 0.20) !important;
    border-radius: 16rem !important;
    padding: 4rem !important;
    gap: 4rem !important;
    backdrop-filter: blur(6px);
    align-items: center !important;
}

/* MoneyBox interno: transparente (parent ja tem bg), valor + label "Saldo" empilhados.
 * padding-right reserva espaco pro refresh (icone 24rem absoluto em right:6rem -> 30rem
 * usados + 6rem de respiro). min-width sobe pra caber saldos de 4-5 digitos sem aperto. */
html[theme^="pop"] [class*="_moneyBox_"] {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 4rem 36rem 4rem 14rem !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    position: relative;
    min-width: 140rem;
}

/* Flag do pais escondida — nao consta na referencia */
html[theme^="pop"] [class*="_moneyBox_"] [class*="_moneyIcon_"] {
    display: none !important;
}

/* Valor R$ — branco, bold, tamanho destacado */
html[theme^="pop"] [class*="_moneyBox_"] [class*="_moneySpan_"],
html[theme^="pop"] [class*="_moneyBox_"] [class*="_moneySpan_"] [class*="_number_"],
html[theme^="pop"] [class*="_moneyBox_"] [class*="_customDN_"],
html[theme^="pop"] [class*="_moneyBox_"] [class*="_customDN_"] * {
    color: #fff !important;
    font-weight: 700 !important;
}
html[theme^="pop"] [class*="_moneyBox_"] [class*="_customDN_"] {
    font-size: 22rem !important;
    line-height: 1.1 !important;
}

/* Refresh: branco, tamanho proximo ao font-size do valor; clique preservado.
 * Centralizado verticalmente via top:50% + translateY (sem o label "Saldo"
 * embaixo, alinhar pelo topo deixava o icone descolado do meio do valor R$). */
html[theme^="pop"] [class*="_moneyBox_"] [class*="_freshIcon_"] {
    position: absolute !important;
    top: 50% !important;
    right: 6rem !important;
    transform: translateY(-50%);
    width: 24rem !important;
    height: 24rem !important;
    color: #fff !important;
    cursor: pointer;
}
html[theme^="pop"] [class*="_moneyBox_"] [class*="_freshIcon_"] svg,
html[theme^="pop"] [class*="_moneyBox_"] [class*="_freshIcon_"] svg * {
    width: 100% !important;
    height: 100% !important;
    color: #fff !important;
    fill: #fff !important;
    stroke: #fff !important;
}

/* Container do botao depositar: transparente, sem borda, sem padding extra */
html[theme^="pop"] [class*="_despositOutBtnBox_"] {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    gap: 0 !important;
    box-shadow: none !important;
}

/* Linha separadora + chevron do menu rapido escondidos (visual limpo da ref) */
html[theme^="pop"] [class*="_despositOutBtnBox_"] [class*="_line_"],
html[theme^="pop"] [class*="_despositOutBtnBox_"] [class*="_triangLeIconBox_"] {
    display: none !important;
}

/* Botao Depositar — pill verde com "+" via pseudo-elemento */
html[theme^="pop"] [class*="_despositBtn_"],
html[theme^="pop"] [class*="_depositBtn_"],
html[theme^="pop"] [class*="_rechargeBtn_"] {
    background: linear-gradient(180deg, var(--pop-primary) 0%, var(--pop-primary-dark) 100%) !important;
    color: #fff !important;
    border-radius: 12rem !important;
    border: none !important;
    padding: 0 14rem 0 18rem !important;
    height: 48rem !important;
    font-size: 16rem !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 12px rgba(22, 163, 74, 0.45), inset 0 -2rem 0 rgba(0, 0, 0, 0.18) !important;
    display: flex !important;
    align-items: center !important;
    gap: 8rem !important;
    white-space: nowrap;
}

html[theme^="pop"] [class*="_despositBtn_"]::after {
    content: "+";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22rem;
    height: 22rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.28);
    color: #fff;
    font-size: 18rem;
    font-weight: 700;
    line-height: 1;
}

/* Sino de notificacoes branco + badge contagem vermelho */
html[theme^="pop"] [class*="_messageBox_"] svg,
html[theme^="pop"] [class*="_messageIcon_"] svg {
    color: var(--pop-surface);
    fill: currentColor;
}

html[theme^="pop"] [class*="_messageBox_"] [class*="_num_"] {
    background: var(--pop-danger) !important;
    color: var(--pop-surface) !important;
    border: 2rem solid var(--pop-surface) !important;
}

/* ============================================================
 * Fase 2c-extra — Menu toggle, search icon, logo size, greeting block
 *
 * Mockup do cliente: logo POP a esquerda + bloco com "Ola, {user}" + badge
 * "VIP {n}" + "ID: {uid}" empilhado. Menu toggle e icone search em branco
 * pra contrastar com o gradient do header.
 * ============================================================ */

/* Menu toggle (hamburger) — SVG e descendentes em branco
 * Bundle aplica `svg *` com fill var(--theme-default-icon); precisamos cobrir
 * o `*` pra pintar todos paths/g/rect filhos. */
html[theme^="pop"] [class*="_menuIcon_1wa3q_"] {
    color: #fff !important;
}
html[theme^="pop"] [class*="_menuIcon_1wa3q_"] svg,
html[theme^="pop"] [class*="_menuIcon_1wa3q_"] svg * {
    fill: #fff !important;
    stroke: currentColor;
}

/* Icone search no canto direito — branco */
html[theme^="pop"] [class*="_headerBox_search_"] {
    color: #fff !important;
}
html[theme^="pop"] [class*="_headerBox_search_"] svg,
html[theme^="pop"] [class*="_headerBox_search_"] svg * {
    fill: #fff !important;
}

/* Back arrow (botao voltar) nas pages internas — branco pra contrastar
 * com o gradient do header. Cobre stroke (line icons) e fill (filled). */
html[theme^="pop"] [class*="_back_1es3h_"] {
    color: #fff !important;
}
html[theme^="pop"] [class*="_back_1es3h_"] svg,
html[theme^="pop"] [class*="_back_1es3h_"] svg * {
    fill: #fff !important;
    stroke: #fff !important;
}

/* Logo POP um pouco maior (default era 210/230rem max-width e 64rem max-height).
 * Bumpamos height-cap (mais relevante pra logo circular) e width-cap mantido alto
 * pra logos retangulares nao apertarem. Aspect ratio mantida via auto. */
html[theme^="pop"] [class*="_logo_1wa3q_"] {
    max-width: 240rem !important;
    max-height: 88rem !important;
    height: auto !important;
    width: auto !important;
}

/* Bloco greeting injetado por pop.js (pop-user-info) — fica entre logo e rightBox */
html[theme^="pop"] .pop-user-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4rem;
    padding: 0 8rem;
    color: #fff;
    line-height: 1.15;
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
}

html[theme^="pop"] .pop-user-info .pop-user-row {
    display: flex;
    align-items: center;
    gap: 6rem;
    min-width: 0;
}

html[theme^="pop"] .pop-user-info .pop-user-greeting {
    font-size: 16rem;
    font-weight: 600;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 180rem;
}

html[theme^="pop"] .pop-user-info .pop-vip-badge {
    background: linear-gradient(180deg, #facc15 0%, #ca8a04 100%);
    color: #1f2937;
    font-size: 11rem;
    font-weight: 800;
    padding: 2rem 8rem;
    border-radius: 6rem;
    letter-spacing: 0.5rem;
    text-transform: uppercase;
    line-height: 1;
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.25);
    flex-shrink: 0;
}

html[theme^="pop"] .pop-user-info .pop-user-id {
    font-size: 13rem;
    color: rgba(255, 255, 255, 0.85);
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

html[theme^="pop"] .pop-user-info .pop-user-copy {
    background: none;
    border: none;
    padding: 0;
    margin-left: 2rem;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.75);
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
}

html[theme^="pop"] .pop-user-info .pop-user-copy svg {
    width: 12rem;
    height: 12rem;
}

html[theme^="pop"] .pop-user-info .pop-user-copy:hover {
    color: #fff;
}

/* ============================================================
 * Fase 2d — Bottom nav (homebars)
 * Branco solido, sombra suave, ancorado no fundo. Item ativo (pill verde)
 * sera tratado quando o seletor interno for confirmado via DOM live.
 * ============================================================ */
html[theme^="pop"] [class*="_homebarsBox_"],
html[theme^="pop"] [class*="_homebarsBoxBg_"] {
    background-color: var(--pop-surface) !important;
    background-image: none !important;
    color: var(--pop-text-muted) !important;
    border-top: 1rem solid var(--pop-border) !important;
    box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.08) !important;
}

/* No pop-black o bottom nav deve continuar escuro (consistencia com o tema) */
html[theme="pop-black"] [class*="_homebarsBox_"],
html[theme="pop-black"] [class*="_homebarsBoxBg_"] {
    background-color: var(--pop-surface) !important;  /* #1a1a1a no dark */
    color: var(--pop-text-muted) !important;
    border-top-color: var(--pop-border) !important;
    box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.5) !important;
}

/* ============================================================
 * Fase 2e — Login/Registro full-screen
 * Transforma o modal floating em pagina full-screen com:
 *   gradient atras + logo POP + headings + form + trust badges + copyright
 * Trust badges, copyright e hero (logo+headings) sao injetados via pop.js.
 * ============================================================ */

/* Overlay/wrapper full-screen com gradient, layout column centralizado
 * que cabe em 100vh sem scroll (compacto).
 * Aplicado SO em .pop-login-modal (marca colocada pelo pop.js quando detecta
 * _loginBox_ visivel) — pra nao transformar outros popups como o SIGAP
 * regulatorio que abre no boot e usa o mesmo _modalBox_*. */
html[theme^="pop"] .pop-login-modal {
    background: var(--pop-page-bg) !important;
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    left: 0 !important;
    top: 0 !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-y: auto !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    z-index: 9999 !important;
}

/* Box interno: column flex, max 420px, paddings compactos */
html[theme^="pop"] .pop-login-modal [class*="_inBox_"] {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 420px !important;
    min-height: 100vh;
    margin: 0 auto !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 12px 16px 24px !important;
    box-sizing: border-box;
}

/* Hero (logo + headings) — compacto pra caber no viewport */
.pop-login-hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    color: var(--pop-surface);
    padding: 8px 8px 4px;
    flex-shrink: 0;
}
.pop-login-logo {
    max-width: 120px;
    width: 36vw;
    max-height: 22vh;
    height: auto;
    object-fit: contain;
    margin-bottom: 8px;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.3));
}
/* COPA: logo POP FUT e mais detalhado/largo — dá mais espaco que o cap de 120px */
html[theme="pop-copa"] .pop-login-logo {
    max-width: 200px;
    width: 56vw;
    max-height: 26vh;
}

/* Form card (loginBox) — ilha branca compacta.
 * O bundle implementa Login/Registro como SLIDER horizontal: _inSetBox_ contem
 * 2 paineis (_loginType_ + _reg_) lado a lado, e tab "Registro" aplica
 * _leftAnimate_ (transform: translateX(-718rem)) pra deslizar.
 * NAO podemos forcar flex-column em _loginBox_ — isso colapsa o slider e os
 * paineis com margin-left:96rem ficam fora da tela.
 * Em vez disso, mantemos o slider e remapeamos as larguras pra %. */
html[theme^="pop"] .pop-login-modal [class*="_loginBox_"] {
    position: relative !important;
    background-color: var(--pop-surface) !important;
    border-radius: var(--pop-radius-lg) !important;
    box-shadow: var(--pop-shadow-elev) !important;
    padding: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
}

/* Slider container: 200% pra caber 2 paineis de 50% lado a lado.
 * Tab "Registro" aciona _leftAnimate_ que normalmente translata -718rem
 * (largura calibrada do bundle); aqui sobrescrevemos pra -50%. */
html[theme^="pop"] .pop-login-modal [class*="_inSetBox_"] {
    width: 200% !important;
    display: flex !important;
    flex-direction: row !important;
    transform: translateX(0) !important;
    transition: transform 0.25s ease !important;
}
html[theme^="pop"] .pop-login-modal [class*="_inSetBox_"][class*="_leftAnimate_"] {
    transform: translateX(-50%) !important;
}

/* Cada painel (Login / Registro) ocupa metade do _inSetBox_ (= 100% do
 * _loginBox_). Zera margin-left:96rem e width:622rem fixos do bundle.
 * Sem padding interno + sem shadow/border (pra nao parecer "sombra" no
 * lado esquerdo do container). */
html[theme^="pop"] .pop-login-modal [class*="_loginType_"],
html[theme^="pop"] .pop-login-modal [class*="_inSetBox_"] > *,
html[theme^="pop"] .pop-login-modal [class*="_reg_"] {
    width: 50% !important;
    max-width: 50% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Inputs e botoes dentro dos paineis: 100% do painel (que ja eh 50% do slider).
 * Reset position absoluto que poderia jogar pra fora. */
html[theme^="pop"] .pop-login-modal [class*="_loginInput_"],
html[theme^="pop"] .pop-login-modal [class*="_submitButton_"],
html[theme^="pop"] .pop-login-modal [class*="_inputBox_"],
html[theme^="pop"] .pop-login-modal [class*="_inputContainer_"] {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: auto !important;
    right: auto !important;
    box-sizing: border-box !important;
}

/* ASSIMETRIA Login x Registro:
 * O painel de Login (<Login/>) tem root com classe _loginBox_<hash> que nosso
 * reset acima estica pra width:100% — entao os campos preenchem o painel.
 * O painel de Registro e um <div class="_loginType_<hash>"> envolvendo
 * <Register/>, cujo root e um <div> SEM classe (e dentro dele outro <div> nu +
 * o <form>). Como nao ha _loginBox_ pra capturar, essa cadeia de divs nus nao
 * recebe o stretch e os campos do cadastro encolhem pro conteudo, colados a
 * esquerda. Replicamos o stretch forcando a cadeia do Registro a 100%. */
html[theme^="pop"] .pop-login-modal [class*="_loginType_"] > div,
html[theme^="pop"] .pop-login-modal [class*="_loginType_"] > div > div,
html[theme^="pop"] .pop-login-modal [class*="_loginType_"] form {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

/* Esconde logo BSbet antigo (hero POP ja injetado pelo pop.js).
 * 3 fontes possiveis de "logo dentro do form":
 *  (1) bundle _logo_* (ex: _logo_13u7f_92, _logo_12w2x_88)
 *  (2) bundle _logoBox_/_topLogo_
 *  (3) .logo-inserida — div injetado por script PHP em index.php que cola
 *      logo BSbet + "Cadastre-se e ganhe R$7.777" no topo do _loginBox_
 * Excluir _logo_12383_* (social login do _threeLoginBox_, fora deste escopo).
 * NAO esconder _titleBox_ — sao as tabs Login/Registro que disparam o slider! */
html[theme^="pop"] [class*="_loginBox_"] [class*="_logoBox_"],
html[theme^="pop"] [class*="_loginBox_"] [class*="_topLogo_"],
html[theme^="pop"] [class*="_loginBox_"] > [class^="_logo_"],
html[theme^="pop"] [class*="_loginBox_"] > div[class*="_logo_"],
html[theme^="pop"] [class*="_loginBox_"] [class*="_logo_"]:not([class*="_loginBox_"]):not([class*="_loginType_"]),
html[theme^="pop"] .logo-inserida,
html[theme^="pop"] [class*="_loginBox_"] .logo-inserida {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* Tabs Login/Registro — barra de selecao no topo do card */
html[theme^="pop"] .pop-login-modal [class*="_titleBox_"] {
    display: flex !important;
    width: 100% !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    border-bottom: 1px solid var(--pop-border) !important;
    justify-content: space-around !important;
    align-items: stretch !important;
}
html[theme^="pop"] .pop-login-modal [class*="_titleBox_"] [class*="_item_"] {
    flex: 1 !important;
    width: auto !important;
    height: auto !important;
    padding: 12px 8px !important;
    margin: 0 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--pop-text-muted) !important;
    border-bottom: 2px solid transparent !important;
    cursor: pointer !important;
    justify-content: center !important;
    align-items: center !important;
}
html[theme^="pop"] .pop-login-modal [class*="_titleBox_"] [class*="_item_"] svg {
    width: 18px !important;
    height: 18px !important;
    margin-right: 6px !important;
}
html[theme^="pop"] .pop-login-modal [class*="_titleBox_"] [class*="_titleContentActive_"] {
    color: var(--pop-primary) !important;
    border-bottom-color: var(--pop-primary) !important;
}
html[theme^="pop"] .pop-login-modal [class*="_titleBox_"] [class*="_titleContentActive_"] *,
html[theme^="pop"] .pop-login-modal [class*="_titleBox_"] [class*="_titleContentActive_"] svg * {
    fill: var(--pop-primary) !important;
}

/* Esconde close btn original SO no modal de login (escopado em .pop-login-modal)
 * pra nao afetar X de outros popups (ex: SIGAP regulatorio). */
html[theme^="pop"] .pop-login-modal [class*="_clsoeBtn_"],
html[theme^="pop"] .pop-login-modal [class*="_closeBtn_"] {
    display: none !important;
}

/* Tabs Registro/Login */
html[theme^="pop"] [class*="_loginType_"] {
    margin: 0 0 12px !important;
    border-bottom: 1px solid var(--pop-border);
}

/* Inputs */
html[theme^="pop"] [class*="_loginBox_"] [class*="_loginInput_"] {
    background-color: var(--pop-surface) !important;
    border: 1px solid var(--pop-border) !important;
    border-radius: var(--pop-radius-md) !important;
    margin-bottom: 10px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    padding-left: 12px !important;
}

/* Esconde icones internos do input (user/lock/email SVGs) — eles aparecem
 * com background/separador que parece "sombra" do lado esquerdo do input.
 * Inputs ficam limpos so com texto/placeholder. */
html[theme^="pop"] .pop-login-modal [class*="_loginInput_"] [class*="_inputIcon_"],
html[theme^="pop"] .pop-login-modal [class*="_loginInput_"] > svg:first-child,
html[theme^="pop"] .pop-login-modal [class*="_loginInput_"] [class*="_icon_"] {
    display: none !important;
}

/* Forca cor escura legivel em todos os textos do form (que tem fundo branco).
 * Sem isso, qualquer color herdada de ancestrais (gradient escuro) deixa
 * placeholder/labels invisiveis em branco-sobre-branco. */
html[theme^="pop"] [class*="_loginBox_"],
html[theme^="pop"] [class*="_loginBox_"] *:not(button):not([class*="_submitButton_"]) {
    color: var(--pop-text) !important;
}
html[theme^="pop"] [class*="_loginBox_"] input,
html[theme^="pop"] [class*="_loginBox_"] textarea {
    color: var(--pop-text) !important;
    background: transparent !important;
}
html[theme^="pop"] [class*="_loginBox_"] input::placeholder,
html[theme^="pop"] [class*="_loginBox_"] textarea::placeholder {
    color: var(--pop-text-muted) !important;
    opacity: 1;
}
/* Tab ativo (Registro vs Login) verde POP */
html[theme^="pop"] [class*="_loginType_"] [class*="_active_"],
html[theme^="pop"] [class*="_loginType_"] [class*="_selected_"] {
    color: var(--pop-primary) !important;
    border-bottom-color: var(--pop-primary) !important;
}

/* Botao submit (Registro/Login) — verde POP */
html[theme^="pop"] [class*="_loginBox_"] [class*="_submitButton_"],
html[theme^="pop"] [class*="_loginBox_"] button[type="submit"] {
    background: var(--pop-primary) !important;
    color: var(--pop-surface) !important;
    border: none !important;
    border-radius: var(--pop-radius-md) !important;
    font-weight: 700;
    box-shadow: var(--pop-shadow-card);
    transition: background 0.2s ease;
    margin-top: 8px !important;
}
html[theme^="pop"] [class*="_loginBox_"] [class*="_submitButton_"]:hover,
html[theme^="pop"] [class*="_loginBox_"] button[type="submit"]:hover {
    background: var(--pop-primary-dark) !important;
}

/* ---------- pop-orange: form de login/registro em fundo BRANCO ----------
 * Na variante pop-orange o --pop-surface e marrom escuro; o cliente quer o
 * card do form (e inputs) brancos com texto laranja. Mesma especificidade das
 * regras genericas acima, declarado depois => vence por ordem de fonte. */
html[theme="pop-orange"] .pop-login-modal [class*="_loginBox_"],
html[theme="pop-orange"] .pop-login-modal [class*="_loginInput_"],
html[theme="pop-orange"] [class*="_loginBox_"] [class*="_loginInput_"] {
    background: #ffffff !important;
    background-color: #ffffff !important;
}
/* Borda laranja sutil nos inputs sobre o branco */
html[theme="pop-orange"] [class*="_loginBox_"] [class*="_loginInput_"] {
    border-color: var(--pop-primary) !important;
}
/* Letras laranja: todo texto do card (exceto botao submit) */
html[theme="pop-orange"] [class*="_loginBox_"],
html[theme="pop-orange"] [class*="_loginBox_"] *:not(button):not([class*="_submitButton_"]) {
    color: var(--pop-primary-dark) !important;
}
html[theme="pop-orange"] [class*="_loginBox_"] input,
html[theme="pop-orange"] [class*="_loginBox_"] textarea {
    color: var(--pop-primary-dark) !important;
    background: transparent !important;
}
html[theme="pop-orange"] [class*="_loginBox_"] input::placeholder,
html[theme="pop-orange"] [class*="_loginBox_"] textarea::placeholder {
    color: var(--pop-accent) !important;
    opacity: 1;
}
/* Tab inativa em laranja suave; ativa reafirmada em laranja solido depois
 * (mesma especificidade da inativa, declarada por ultimo => vence). */
html[theme="pop-orange"] .pop-login-modal [class*="_titleBox_"] [class*="_item_"] {
    color: var(--pop-accent) !important;
}
html[theme="pop-orange"] .pop-login-modal [class*="_titleBox_"] [class*="_titleContentActive_"] {
    color: var(--pop-primary) !important;
}
html[theme="pop-orange"] .pop-login-modal [class*="_titleBox_"] {
    border-bottom-color: var(--pop-primary) !important;
}
/* Botao submit: laranja com texto branco (legibilidade sobre o fill) */
html[theme="pop-orange"] [class*="_loginBox_"] [class*="_submitButton_"],
html[theme="pop-orange"] [class*="_loginBox_"] button[type="submit"] {
    color: #ffffff !important;
}
/* Espacamento reduzido entre campos do form (registro tem varios campos) */
html[theme="pop-orange"] [class*="_loginBox_"] [class*="_loginInput_"] {
    margin-bottom: 6px !important;
}
/* Fundo da pagina de login/registro usa bg-orange.avif (a home usa
 * bg-orange-home.avif via --pop-page-bg). Mesma especificidade da regra
 * generica .pop-login-modal acima, declarada depois => vence por ordem. */
html[theme="pop-orange"] .pop-login-modal {
    background: url("/uploads/bg-orange.avif") center top / cover no-repeat,
        var(--pop-page-bg-color) !important;
}
/* A arte de fundo do registro ja traz o logotipo — esconder o logo injetado
 * (o hero so contem o logo, entao colapsa o container pra nao deixar gap). */
html[theme="pop-orange"] .pop-login-logo,
html[theme="pop-orange"] .pop-login-hero {
    display: none !important;
}
/* Sem o hero, o card subia ate o topo e tapava o logotipo da arte de fundo.
 * Empurra o form pra baixo pra deixar o topo da imagem visivel. Ajuste o
 * valor conforme a altura do logo na arte. */
html[theme="pop-orange"] .pop-login-modal [class*="_inBox_"] {
    padding-top: 32vh !important;
}

/* ---------- pop-orange: popup de aviso (notice) com fundo branco ----------
 * O container do popup (_alert_box_ > div) tem `background: var(--theme-template-color)`
 * inline = --pop-surface (marrom). Forcamos branco. O titulo do popup (campo
 * obrigatorio do admin) renderiza como texto branco em cima do conteudo; como
 * o design vem todo no HTML do "Conteudo", escondemos esse titulo da SPA — mas
 * SO quando ha conteudo depois dele (:not(:last-child)), pra nunca esconder o
 * proprio conteudo de popups sem titulo. */
html[theme="pop-orange"] [class*="_alert_box_"] > div:first-child {
    background: #ffffff !important;
    color: #1c1917;
    /* A SPA poe padding: 30rem inline, que come largura e faz o badge dos
     * botoes (pilula absoluta) vazar/cortar. Reduzimos pra liberar espaco. */
    padding: 24rem 14rem !important;
    /* Defesa: o card ja vem com box-sizing:border-box inline; reforcamos para
     * o padding caber dentro dos 687rem e nunca vazar do wrapper. */
    box-sizing: border-box !important;
    max-width: 100% !important;
}
html[theme="pop-orange"] [class*="_alert_box_"] > div:first-child > div > div:first-child:not(:last-child) {
    display: none !important;
}
/* O container do conteudo (onde entra o HTML do admin via dangerouslySetInnerHTML)
 * tem `overflow-y: auto` inline. Pela spec, overflow-y nao-visivel forca
 * overflow-x a computar como `auto` tambem => qualquer conteudo mais largo que a
 * caixa (ex.: titulo com white-space:nowrap) gera ROLAGEM HORIZONTAL e, como o
 * conteudo e centralizado, o popup abre "deslocado pra direita" (o inicio fica
 * cortado/rolado). Forcamos overflow-x:hidden e quebra de palavra. */
html[theme="pop-orange"] [class*="_alert_box_"] > div:first-child > div > div:last-child {
    overflow-x: hidden !important;
    overflow-wrap: anywhere;
    max-width: 100% !important;
}

/* Trust badges (injetado pelo pop.js) — compacto */
.pop-login-extras {
    margin-top: 10px;
    padding: 0 2px;
    flex-shrink: 0;
}
.pop-copyright {
    text-align: center;
    color: #000000;
    font: 500 10px/1.5 var(--pop-font);
    padding: 8px 4px 12px;
    flex-shrink: 0;
}

/* Close button injetado no canto superior direito do overlay.
 * !important em tudo porque o bundle SPA pode reaplicar estilos em buttons. */
.pop-close-btn {
    position: fixed !important;
    top: 12px !important;
    right: 12px !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    border: none !important;
    background: rgba(0, 0, 0, 0.45) !important;
    color: #fff !important;
    font: 700 24px/1 var(--pop-font) !important;
    cursor: pointer !important;
    z-index: 100000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.pop-close-btn:hover {
    background: rgba(0, 0, 0, 0.65) !important;
}

/* ============================================================
 * Fase 3 — Remover ShortcutsBar (linha acima do carousel)
 *
 * O bundle renderiza um <ShortcutsBar/> em index-DJTJyvRw-*.js (~L1196)
 * com 6 itens hardcoded: Promo / Recompensas / Juros / Rebate / Tarefas /
 * Novo usuario. O container e um <div> com STYLE inline (sem className),
 * impossivel de mirar por class selector. Cada item tem um <img> com
 * src="/uploads/{promo|recompensas|juros|rebate|tarefas|new-user}.avif".
 *
 * Usamos :has() pra subir do img ate o grid pai (3 niveis acima) e
 * esconder o container inteiro. Suporte: Chrome 105+, Safari 15.4+,
 * Firefox 121+ (todos lancados antes de 2024).
 *
 * pop-copa NAO reusa o nativo: tem labels/links/icones/ordem proprios, entao
 * injeta a propria barra (.pop-shortcuts, via pop.js ensureCopaShortcuts) com
 * SVGs de /pop-assets. O nativo fica escondido em TODA a familia pop (incl.
 * copa); a barra injetada usa /pop-assets/*.svg, fora do alcance deste seletor
 * (que mira /uploads/*.avif).
 * ============================================================ */
/* A regra que esconde o bar saiu daqui: agora vale para TODOS os temas e
 * mora no bloco theme-agnostico do index.php (busque por "ShortcutsBar").
 * O texto acima fica porque explica por que a copa nao perde nada com isso —
 * ela injeta a propria barra com SVGs de /pop-assets. */

/* ============================================================
 * Atalhos da Copa — barra PROPRIA injetada (pop.js ensureCopaShortcuts),
 * abaixo dos banners. Markup nosso (sem inline styles do bundle), entao
 * dispensa !important. Alvo (referencia): card branco arredondado, icone
 * (SVG) + label escuro em texto puro embaixo.
 *
 *   .pop-shortcuts          -> grid 6 col (card)
 *     .pop-shortcut         -> item clicavel (coluna icone + label)
 *       .pop-shortcut-ico   -> SVG do /pop-assets
 *       .pop-shortcut-label -> texto do atalho
 * ============================================================ */
html[theme="pop-copa"] .pop-shortcuts {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 2px;
    margin: 2px 10px 10px;
    padding: 12px 4px 10px;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06), inset 0 0 0 1px rgba(0, 0, 0, 0.04);
}

html[theme="pop-copa"] .pop-shortcut {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    min-width: 0;
    text-align: center;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

html[theme="pop-copa"] .pop-shortcut:active {
    transform: scale(0.94);
}

html[theme="pop-copa"] .pop-shortcut-ico {
    width: 34px;
    height: 34px;
    display: block;
    object-fit: contain;
}

/* Label: texto limpo escuro embaixo do icone; quebra em 2 linhas se preciso
 * (ex.: "Indique e Ganhe"). */
html[theme="pop-copa"] .pop-shortcut-label {
    font-size: 10px;
    font-weight: 600;
    color: #1f2937;
    line-height: 1.2;
    white-space: normal;
}

/* Altura do item do banner: bundle entrega curto e distorce a imagem.
 * Aumenta pra preservar proporcao. */
html[theme^="pop"] [class*="_bannerItemBox_"] {
    height: 320rem !important;
}

/* ============================================================
 * Fase 4 — Marquee de ganhadores (_noticeBox_1djuc_55)
 * Bundle entrega faixa escura com borda fina; mockup pede pill branca
 * com megafone verde + texto escuro + jogo verde + valor vermelho.
 * Esconde _searchBox_ e _messageBox_ (icones a direita, fora do mockup).
 * ============================================================ */
html[theme^="pop"] [class*="_noticeBox_"] {
    background-color: var(--pop-surface) !important;
    border: none !important;
    border-radius: var(--pop-radius-pill) !important;
    height: auto !important;
    min-height: 48px !important;
    padding: 8px 16px !important;
    margin: 12px !important;
    box-shadow: var(--pop-shadow-card) !important;
    color: var(--pop-text) !important;
    gap: 10px !important;
}

/* COPA: oculta o marquee nativo (_noticeBox_) — fora do layout de ref.
 * NB: continua no DOM (display:none, nao removido), entao segue servindo
 * de ancora pra injecao de .pop-ranking / .pop-winners em pop.js. */
html[theme="pop-copa"] [class*="_noticeBox_"] {
    display: none !important;
}

/* Megafone verde POP */
html[theme^="pop"] [class*="_noticeBox_"] [class*="_voiceIconBox_"] {
    width: 22px !important;
    height: 22px !important;
    flex-shrink: 0 !important;
}
html[theme^="pop"] [class*="_noticeBox_"] [class*="_voiceIconBox_"] > svg,
html[theme^="pop"] [class*="_noticeBox_"] [class*="_voiceIconBox_"] svg {
    width: 100% !important;
    height: 100% !important;
}
html[theme^="pop"] [class*="_noticeBox_"] [class*="_voiceIconBox_"] svg,
html[theme^="pop"] [class*="_noticeBox_"] [class*="_voiceIconBox_"] svg * {
    fill: var(--pop-primary) !important;
}

/* Marquee text: muda altura e fonte (bundle usa 22rem = absurdo no nosso layout) */
html[theme^="pop"] [class*="_noticeBox_"] [class*="_textBox_"] {
    flex: 1 !important;
    height: 32px !important;
    width: auto !important;
    min-width: 0 !important;
}
html[theme^="pop"] [class*="_noticeBox_"] [class*="_textBox_"] span {
    color: var(--pop-text) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}
html[theme^="pop"] [class*="_noticeBox_"] [class*="_textBox_"] span[class*="_name_"] {
    color: var(--pop-text) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
}
html[theme^="pop"] [class*="_noticeBox_"] [class*="_textBox_"] span[class*="_gameName_"] {
    color: var(--pop-primary) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
}
html[theme^="pop"] [class*="_noticeBox_"] [class*="_textBox_"] span[class*="_winText_"] {
    color: var(--pop-text) !important;
    font-size: 13px !important;
}
html[theme^="pop"] [class*="_noticeBox_"] [class*="_textBox_"] span[class*="_money_"] {
    color: var(--pop-danger) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
}

/* Esconder botoes a direita (_searchBox_ pesquisa, _messageBox_ notificacao):
 * mockup POP nao mostra esses controles dentro do marquee. */
html[theme^="pop"] [class*="_noticeBox_"] [class*="_searchBox_"],
html[theme^="pop"] [class*="_noticeBox_"] [class*="_messageBox_"] {
    display: none !important;
}

/* ============================================================
 * Fase 7 — Banner JACKPOT com contador textual.
 * O bundle atual fornece .jackpot-real-number com um valor ficticio crescente;
 * pop.js mantem a injecao antiga apenas como fallback para bundles velhos.
 * ============================================================ */
html[theme^="pop"] [class*="_numsBox_"] > [class*="_num_"],
html[theme^="pop"] [class*="_numsBox_"] > [class*="_str_"] {
    display: none !important;
}

/* Centraliza tanto o contador nativo quanto o fallback. */
html[theme^="pop"] [class*="_numsBox_"] {
    justify-content: center !important;
    align-items: center !important;
}

/* Mesmo desenho da regra global do bundle (index-Bo7yKkP3*.css,
 * ._pot_container_ ._numsBox_ .jackpot-real-number), que tem especificidade
 * maior e vence nos temas POP. Esta aqui existe para o fallback que o pop.js
 * injeta em bundles antigos — se divergir, o fallback fica com outra cara. */
html[theme^="pop"] .pop-jackpot-counter {
    display: inline-block;
    font-family: "Times New Roman", Times, "Liberation Serif", "Nimbus Roman",
        "Noto Serif", "Droid Serif", serif;
    font-weight: 700;
    font-size: clamp(24px, 7vw, 52px);
    letter-spacing: 0;
    line-height: 1;
    font-variant-numeric: lining-nums tabular-nums;
    white-space: nowrap;
    user-select: none;
    color: #FFFF6D;
    -webkit-text-stroke: 1px #C1352F;
    paint-order: stroke fill;
    text-shadow:
        0 2px 0 #96271F,
        0 4px 6px rgba(0, 0, 0, 0.45);
}

/* ============================================================
 * Copa — Banner da Raspadinha no lugar do Jackpot.
 *
 * O Jackpot nativo (_pot_container_) e escondido; pop.js injeta
 * .pop-rasp-banner no mesmo slot (clica -> /raspadinha).
 * ============================================================ */
html[theme="pop-copa"] [class*="_pot_container_"],
html[theme="pop-orange"] [class*="_pot_container_"] {
    display: none !important;
}

/* O card de raspadinha nativo (index.php, #rasp-home-card) e generico de
 * todos os temas; na copa o ponto de entrada e o .pop-rasp-banner no slot
 * do jackpot, entao escondemos o card duplicado aqui. */
html[theme="pop-copa"] #rasp-home-card,
html[theme="pop-orange"] #rasp-home-card {
    display: none !important;
}

html[theme^="pop"] .pop-rasp-banner {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 8px 12px 12px;
    padding: 22px 16px 20px;
    border-radius: 16px;
    overflow: hidden;
    cursor: pointer;
    background:
        linear-gradient(180deg, rgba(7, 42, 21, 0.30) 0%, rgba(7, 42, 21, 0.72) 100%),
        url('/pop-assets/bg-raspadinha.avif') center / cover no-repeat;
    box-shadow:
        0 8px 22px -8px rgba(0, 0, 0, 0.45),
        inset 0 0 0 1.5px rgba(255, 210, 26, 0.45);
    transition: transform 0.06s ease, filter 0.15s ease;
    -webkit-tap-highlight-color: transparent;
}
html[theme^="pop"] .pop-rasp-banner:active {
    transform: translateY(1px);
    filter: brightness(0.97);
}

html[theme^="pop"] .pop-rasp-banner-title {
    display: block;
    width: auto;
    max-width: min(280px, 70%);
    height: auto;
    filter: drop-shadow(0 3px 8px rgba(0, 0, 0, 0.5));
    pointer-events: none;
}

html[theme^="pop"] .pop-rasp-banner-cta {
    display: inline-block;
    padding: 9px 26px;
    border-radius: 999px;
    font-family: var(--pop-font);
    font-weight: 800;
    font-size: 15px;
    letter-spacing: 0.3px;
    color: #072a7a;
    background: linear-gradient(180deg, #fff6bf 0%, #ffd21a 45%, #f2a900 100%);
    box-shadow:
        0 6px 14px -4px rgba(0, 0, 0, 0.45),
        inset 0 1px 0 rgba(255, 255, 255, 0.6);
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35);
    pointer-events: none;
}

/* ---------- pop-orange: banner da raspadinha em tom quente ----------
 * Recolore o overlay (verde Copa -> marrom/laranja escuro) e o CTA (gold+azul
 * Copa -> laranja). A arte raster de fundo (/pop-assets/bg-raspadinha.avif) e o
 * titulo (/pop-assets/title-raspadinha.avif "Raspadinha da Copa") AINDA sao da
 * Copa — trocar por versao laranja quando houver. */
html[theme="pop-orange"] .pop-rasp-banner {
    background:
        linear-gradient(180deg, rgba(40, 16, 4, 0.30) 0%, rgba(40, 16, 4, 0.74) 100%),
        url('/pop-assets/bg-raspadinha.avif') center / cover no-repeat;
    box-shadow:
        0 8px 22px -8px rgba(0, 0, 0, 0.45),
        inset 0 0 0 1.5px rgba(249, 115, 22, 0.55);
}
html[theme="pop-orange"] .pop-rasp-banner-cta {
    color: #111111;
    background: linear-gradient(180deg, #ffd9a8 0%, #f97316 55%, #ea580c 100%);
}

/* ============================================================
 * Fase 6 — Ranking dos Grandes Prêmios
 *
 * Bloco injetado por pop.js logo apos _noticeBox_ (marquee). 5 cards
 * horizontais com imagem do jogo, badge WG, nome, codigo POP***** mascarado
 * e valor aleatorio entre R$2 e R$5000. Imagens em /pop-assets/pop-ranking-cards/.
 * ============================================================ */
html[theme^="pop"] .pop-ranking {
    margin: 12px 10px;
    padding: 14px 12px;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06), inset 0 0 0 1px rgba(0, 0, 0, 0.04);
    overflow: hidden;
}

html[theme^="pop"] .pop-ranking-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

html[theme^="pop"] .pop-ranking-icon {
    font-size: 18px;
    line-height: 1;
}

html[theme^="pop"] .pop-ranking-title {
    flex: 1;
    font-size: 13px;
    font-weight: 800;
    color: #1a1a1a;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    line-height: 1.1;
}

html[theme^="pop"] .pop-ranking-cards {
    overflow: hidden;
    width: 100%;
    /* Mascara suave nas bordas pra fade-in/out dos cards */
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
            mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
}

html[theme^="pop"] .pop-ranking-track {
    display: flex;
    gap: 8px;
    width: max-content;
    /* pointer-events:none garante que tap/scroll do usuario nao afete o loop */
    pointer-events: none;
    animation: pop-ranking-scroll 28s linear infinite;
    will-change: transform;
}

/* translateX(-50%) por causa da duplicacao do conjunto de cards
 * (n cards renderizados duas vezes -> ciclo perfeito sem "salto") */
@keyframes pop-ranking-scroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

html[theme^="pop"] .pop-ranking-card {
    flex: 0 0 96px;
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.06);
    display: flex;
    flex-direction: column;
}

html[theme^="pop"] .pop-ranking-img-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #f5f5f5;
    overflow: hidden;
}

html[theme^="pop"] .pop-ranking-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

html[theme^="pop"] .pop-ranking-badge {
    position: absolute;
    top: 4px;
    right: 4px;
    background: linear-gradient(180deg, #ffd700 0%, #ff8c00 100%);
    color: #fff;
    font-size: 9px;
    font-weight: 800;
    padding: 2px 5px;
    border-radius: 4px;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);
    letter-spacing: 0.5px;
    line-height: 1;
}

html[theme^="pop"] .pop-ranking-info {
    padding: 6px 6px 8px;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

html[theme^="pop"] .pop-ranking-name {
    font-size: 10px;
    font-weight: 700;
    color: #1a1a1a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.1;
}

html[theme^="pop"] .pop-ranking-user {
    font-size: 9px;
    color: #888;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
}

html[theme^="pop"] .pop-ranking-prize {
    font-size: 12px;
    font-weight: 800;
    color: var(--pop-danger, #e53935);
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
    margin-top: 2px;
}

/* ============================================================
 * Ganhadores ao Vivo (.pop-winners) — EXCLUSIVO do tema pop-copa.
 * Mesma mecanica do ranking (marquee infinito com track duplicada),
 * mas cards horizontais: avatar + @user*** + "Ganhou" + valor verde.
 * Feed 100% client-side (pop.js / ensureLiveWinners), sem backend.
 * ============================================================ */
html[theme^="pop"] .pop-winners {
    margin: 12px 10px;
    padding: 14px 12px;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06), inset 0 0 0 1px rgba(0, 0, 0, 0.04);
    overflow: hidden;
}

html[theme^="pop"] .pop-winners-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

/* Bolinha verde pulsante = sinal "ao vivo" (igual ao mockup) */
html[theme^="pop"] .pop-winners-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.6);
    animation: pop-winners-pulse 1.6s ease-out infinite;
    flex: 0 0 auto;
}

@keyframes pop-winners-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.55); }
    70%  { box-shadow: 0 0 0 7px rgba(34, 197, 94, 0); }
    100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}

html[theme^="pop"] .pop-winners-title {
    flex: 1;
    font-size: 13px;
    font-weight: 800;
    color: #1a1a1a;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    line-height: 1.1;
}

html[theme^="pop"] .pop-winners-cards {
    overflow: hidden;
    width: 100%;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
            mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
}

html[theme^="pop"] .pop-winners-track {
    display: flex;
    gap: 8px;
    width: max-content;
    pointer-events: none;
    /* Reusa o keyframe do ranking (translateX 0 -> -50%, ciclo perfeito
     * graças à track duplicada). Velocidade um tico mais rápida = "ao vivo". */
    animation: pop-ranking-scroll 24s linear infinite;
    will-change: transform;
}

html[theme^="pop"] .pop-winners-card {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 8px 12px 8px 8px;
    /* Card levemente arredondado (nao pilula) com sombra sutil pra destacar
     * do fundo branco da arte do bg. So o avatar e 100% redondo. */
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.04);
    border-radius: 5px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.10);
}

html[theme^="pop"] .pop-winners-avatar {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    border: 2px solid #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
}

html[theme^="pop"] .pop-winners-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

html[theme^="pop"] .pop-winners-info {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}

html[theme^="pop"] .pop-winners-user {
    font-size: 11px;
    font-weight: 700;
    color: #1a1a1a;
    white-space: nowrap;
    line-height: 1.15;
}

html[theme^="pop"] .pop-winners-label {
    font-size: 9px;
    color: #6b7280;
    line-height: 1.1;
}

html[theme^="pop"] .pop-winners-prize {
    font-size: 12.5px;
    font-weight: 800;
    color: var(--pop-primary);
    font-variant-numeric: tabular-nums;
    line-height: 1.15;
    white-space: nowrap;
}

/* ============================================================
 * Fase 8 — Bottom nav POP
 *
 * Container _homebarsBox_ fica fixo no rodape. Bundle ja troca a cor do
 * item ativo via --theme-main-color (mapeado pra --pop-primary). Aqui
 * trocamos: fundo branco no container, pill verde arredondado no item
 * ativo (envolve icone + label), icones/labels neutros no inativo.
 *
 * Estrutura: _homebarsBox_ > div (cada item). Item ativo recebe
 * classe _active_*. Conteudo do item: SVG + <span> com label.
 * ============================================================ */
html[theme^="pop"] [class*="_homebarsBox_"] {
    background-color: #fff !important;
    color: #6b7280 !important;
    /* Flutuante dentro do container "phone-frame" do SPA. Bundle ja usa
     * position:absolute + bottom:0 + width:100% — mantemos absolute (o ancestral
     * positionado e o frame da app), so descolamos das bordas com left/right/bottom
     * pra dar visual flutuante. Usando `fixed` aqui faria o nav vazar pra fora do
     * container no desktop (onde o frame e centralizado e tem largura limitada). */
    position: absolute !important;
    left: 12px !important;
    right: 12px !important;
    bottom: calc(12px + env(safe-area-inset-bottom)) !important;
    width: auto !important;
    height: auto !important;
    min-height: 64px;
    border-radius: 24px !important;
    border-top: none !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18), 0 2px 8px rgba(0, 0, 0, 0.08) !important;
    padding: 6px 8px !important;
    align-items: center;
}

/* Reserva espaco no scroll pra o conteudo nao ficar coberto pelo nav flutuante */
html[theme^="pop"] [class*="_homeContainer_"],
html[theme^="pop"] [class*="_container_13kdd_"],
html[theme^="pop"] [class*="_container_ybvgx_"] {
    padding-bottom: calc(88px + env(safe-area-inset-bottom)) !important;
}

/* Cada item: coluna icone + label, neutros */
html[theme^="pop"] [class*="_homebarsBox_"] > div {
    margin-top: 0 !important;
    height: 88rem;
    padding: 8rem 10rem;
    border-radius: 999px;
    transition: background-color 0.18s ease, color 0.18s ease;
    justify-content: center !important;
    gap: 4rem;
}

/* COPA: item ativo do bottom nav quadrado com cantos levemente arredondados
 * (5px) em vez da pill (999px) dos demais temas pop. */
html[theme="pop-copa"] [class*="_homebarsBox_"] > div {
    border-radius: 5px !important;
}

html[theme^="pop"] [class*="_homebarsBox_"] > div svg {
    width: 38rem !important;
    height: 38rem !important;
    margin-bottom: 0 !important;
}

html[theme^="pop"] [class*="_homebarsBox_"] > div svg *[stroke] {
    stroke: #6b7280 !important;
}
html[theme^="pop"] [class*="_homebarsBox_"] > div svg *[fill] {
    fill: #6b7280 !important;
}

html[theme^="pop"] [class*="_homebarsBox_"] > div span {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #6b7280 !important;
    line-height: 1.1;
}

/* Pill verde no item ativo: pinta fundo, vira icones/label brancos.
 * Bundle injeta _active_tecje_* no div ativo. */
html[theme^="pop"] [class*="_homebarsBox_"] > div[class*="_active_"] {
    background: linear-gradient(180deg, var(--pop-primary) 0%, var(--pop-primary-dark, #15803d) 100%) !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(22, 163, 74, 0.35);
}

html[theme^="pop"] [class*="_homebarsBox_"] > div[class*="_active_"] svg *[stroke] {
    stroke: #fff !important;
}
html[theme^="pop"] [class*="_homebarsBox_"] > div[class*="_active_"] svg *[fill] {
    fill: #fff !important;
}
/* Bundle marca caminhos especiais (cusFill/cusPath) com cores fixas — sobrescreve */
html[theme^="pop"] [class*="_homebarsBox_"] > div[class*="_active_"] svg .cusFill,
html[theme^="pop"] [class*="_homebarsBox_"] > div[class*="_active_"] svg .cusFill4,
html[theme^="pop"] [class*="_homebarsBox_"] > div[class*="_active_"] svg .cusFill5,
html[theme^="pop"] [class*="_homebarsBox_"] > div[class*="_active_"] svg .cusPath {
    fill: #fff !important;
    stroke: #fff !important;
}

html[theme^="pop"] [class*="_homebarsBox_"] > div[class*="_active_"] span {
    color: #fff !important;
    font-weight: 700 !important;
}

/* Reordena os itens visiveis pra ordem POP:
 *   Inicio, Comecar (Agent), Ofertas (Promo), Suporte (ex-Deposito), Perfil.
 * Bundle vem com Inicio, Promocao, Agent, Deposito, Perfil — `order` corrige
 * sem mexer no backend. */
html[theme^="pop"] [class*="_homebarsBox_"] > div[data-pop-nav-role="home"]    { order: 1; }
html[theme^="pop"] [class*="_homebarsBox_"] > div[data-pop-nav-role="agent"]   { order: 2; }
html[theme^="pop"] [class*="_homebarsBox_"] > div[data-pop-nav-role="promo"]   { order: 3; }
html[theme^="pop"] [class*="_homebarsBox_"] > div[data-pop-nav-role="deposit"] { order: 4; }
html[theme^="pop"] [class*="_homebarsBox_"] > div[data-pop-nav-role="profile"] { order: 5; }

/* ============================================================
 * Fase 2b — Header buttons LOGIN / REGISTRO (mockup cliente)
 *
 * Selectors do bundle:
 *   _loginBtn_1wa3q_198 / _registerBtn_1wa3q_577
 * Bundle entrega divs simples com texto, sem icone. POP adiciona icones
 * via ::before usando SVG inline (data URI) pra evitar request extra.
 * LOGIN: outlined, fundo azul-escuro semi, borda azul clara, texto branco.
 * REGISTRO: gradiente verde solido, texto branco, sombra verde.
 * ============================================================ */
html[theme^="pop"] [class*="_loginBtn_1wa3q_"] {
    background-color: rgba(13, 36, 73, 0.55) !important;
    color: #fff !important;
    border: 2rem solid rgba(255, 255, 255, 0.35) !important;
    border-radius: 14rem !important;
    padding: 0 22rem !important;
    width: auto !important;
    min-width: 132rem;
    height: 56rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.6rem;
    gap: 10rem;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

html[theme^="pop"] [class*="_loginBtn_1wa3q_"]::before {
    content: "";
    display: inline-block;
    width: 22rem;
    height: 22rem;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='8' r='4'/><path d='M4 21c0-4 4-7 8-7s8 3 8 7'/></svg>");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

html[theme^="pop"] [class*="_registerBtn_1wa3q_"] {
    background: linear-gradient(180deg, var(--pop-primary) 0%, var(--pop-primary-dark) 100%) !important;
    color: #fff !important;
    border: 2rem solid rgba(255, 255, 255, 0.55) !important;
    border-radius: 14rem !important;
    padding: 0 22rem !important;
    width: auto !important;
    min-width: 152rem;
    height: 56rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.6rem;
    gap: 10rem;
    box-shadow: 0 6rem 18rem rgba(22, 163, 74, 0.45), inset 0 -3rem 0 rgba(0, 0, 0, 0.18);
}

html[theme^="pop"] [class*="_registerBtn_1wa3q_"]::before {
    content: "";
    display: inline-block;
    width: 22rem;
    height: 22rem;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><circle cx='10' cy='8' r='4'/><path d='M2 21c0-4 4-7 8-7s8 3 8 7'/><path d='M19 8v6M16 11h6'/></svg>");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

/* ============================================================
 * Fase 6b — Ranking cards (mockup cliente)
 *
 * Cards portrait com fundo escuro gradient (no lugar do branco), badges
 * PG (amarelo, top-left) + HOT (vermelho, top-right), nome branco, preco
 * dourado. JS injeta as classes .pop-ranking-badge-pg / .pop-ranking-badge-hot.
 * Container .pop-ranking continua branco — so muda visual interno.
 * ============================================================ */
html[theme^="pop"] .pop-ranking {
    background: rgba(255, 255, 255, 0.06) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25), inset 0 0 0 1px rgba(255, 255, 255, 0.12) !important;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

html[theme^="pop"] .pop-ranking-title {
    color: rgb(10, 4, 1) !important;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}

html[theme^="pop"] .pop-ranking-icon {
    filter: drop-shadow(0 0 6px rgba(255, 153, 0, 0.7));
}

html[theme^="pop"] .pop-ranking-card {
    flex: 0 0 110px;
    background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
}

html[theme^="pop"] .pop-ranking-img-wrap {
    aspect-ratio: 3 / 4;
    background: #0f172a;
    overflow: hidden;
}

/* Gradient escuro no rodape da imagem pra preco ficar legivel */
html[theme^="pop"] .pop-ranking-img-wrap::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 45%;
    background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.85) 100%);
    pointer-events: none;
}

/* Badge PG (top-left, amarelo) */
html[theme^="pop"] .pop-ranking-badge-pg {
    position: absolute;
    top: 5px;
    left: 5px;
    z-index: 2;
    background: linear-gradient(180deg, #facc15 0%, #ca8a04 100%);
    color: #1a1a1a;
    font-size: 9px;
    font-weight: 900;
    padding: 2px 5px;
    border-radius: 4px;
    line-height: 1;
    letter-spacing: 0.4px;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

/* Badge HOT (top-right, vermelho) — substitui o WG anterior */
html[theme^="pop"] .pop-ranking-badge {
    z-index: 2;
    background: linear-gradient(180deg, #ef4444 0%, #b91c1c 100%);
    font-size: 9px;
    font-weight: 900;
    color: #fff;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.4);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

/* Preco sobreposto na base da imagem (mockup: nome ja vem na arte) */
html[theme^="pop"] .pop-ranking-prize {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 6px;
    z-index: 2;
    text-align: center;
    color: #fbbf24 !important;
    font-size: 13px !important;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85), 0 0 8px rgba(0, 0, 0, 0.6);
    pointer-events: none;
}

/* ============================================================
 * Fase 2c — Game Tabs (POPULAR / SLOTS / RECENTE / FAVORITOS / AO VIVO)
 *
 * Bundle: _gameTabsBox_ wrapper, _gameTabs_ row, _tabItemBox_ item,
 * ._select_ classe do ativo, _icons_ SVG. Default usa underline 3rem +
 * cor var(--theme-main-color). POP troca pra pill verde no ativo,
 * tabs inativas com texto/icone brancos sobre o bg da pagina.
 * ============================================================ */
html[theme^="pop"] [class*="_gameTabsBox_"] {
    background-color: transparent !important;
    border-bottom: none !important;
    height: auto !important;
    padding: 8rem 0 !important;
    margin-top: 32rem !important;
    /* Bundle aplica z-index:50 (com position:relative) — remove pra deixar o
     * empilhamento natural igual ao _gameTabs_ interno. */
    z-index: auto !important;
}

/* Setas sempre visiveis. Bundle adiciona _hiden_1i1na_220 com
 * transform:scaleX(0) quando o leftLine/rightLine ref entra no viewport;
 * cancelamos pra manter ambas as setas ancoradas. */
html[theme^="pop"] [class*="_gameTabsBox_"] [class*="_leftArrowBox_"],
html[theme^="pop"] [class*="_gameTabsBox_"] [class*="_rightArrowBox_"] {
    transform: none !important;
}

/* Bundle: _gameTabs_ tem overflow-x:auto + width:calc(100% - 48rem) + margin:auto
 * pra deixar espaco lateral pras setas (_leftArrowBox_/_rightArrowBox_ absolutas).
 * NUNCA usar justify-content/align-items aqui — sao flex CENTER que quebram
 * scroll horizontal (itens do inicio ficam inacessiveis quando overflow). */
html[theme^="pop"] [class*="_gameTabs_1i1na_"] {
    scrollbar-width: none;
}
html[theme^="pop"] [class*="_gameTabs_1i1na_"]::-webkit-scrollbar {
    display: none;
}

/* _container_1i1na_270 e o flex parent REAL das tabs. margin:auto centraliza
 * quando ha sobra de espaco; quando os botoes excedem _gameTabs_, vira no-op
 * e as setas tomam conta de navegar via scrollLeft. */
html[theme^="pop"] [class*="_gameTabs_1i1na_"] [class*="_container_1i1na_"] {
    gap: 16rem !important;
    align-items: center !important;
    margin: 0 auto !important;
}

/* Cada tab: bg branco translucido, bordas arredondadas, padding generoso.
 * flex-shrink:0 + white-space:nowrap no span garantem que botao+texto NUNCA
 * encolhem — overflow vira responsabilidade das setas do bundle. */
html[theme^="pop"] [class*="_tabItemBox_1i1na_"] {
    width: auto !important;
    min-width: 180rem;
    height: 110rem !important;
    padding: 16rem 32rem !important;
    border-radius: 8rem !important;
    border-bottom: none !important;
    background-color: rgba(255, 255, 255, 0.12) !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12rem !important;
    flex-shrink: 0 !important;
    transition: background-color 0.2s ease;
}

/* Underline default do bundle removida */
html[theme^="pop"] [class*="_tabItemBox_1i1na_"]::after {
    display: none !important;
}

/* COPA: o bg da home tem regioes CLARAS onde a barra de tabs cai, entao o
 * pill branco translucido (rgba 255,.12) deixava o texto/icone branco da tab
 * INATIVA ilegivel (branco sobre branco). Pill escuro translucido restaura o
 * contraste independente do trecho do bg embaixo; a tab ativa segue verde. */
html[theme="pop-copa"] [class*="_tabItemBox_1i1na_"]:not([class*="_select_1i1na_"]) {
    background-color: rgba(15, 23, 42, 0.55) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}

/* Icones (SVG) brancos no inativo */
html[theme^="pop"] [class*="_tabItemBox_1i1na_"] [class*="_icons_1i1na_"],
html[theme^="pop"] [class*="_tabItemBox_1i1na_"] [class*="_icon_1i1na_"] {
    width: 56rem !important;
    height: 56rem !important;
    fill: #fff !important;
    flex-shrink: 0 !important;
}
html[theme^="pop"] [class*="_tabItemBox_1i1na_"] [class*="_icons_1i1na_"] *,
html[theme^="pop"] [class*="_tabItemBox_1i1na_"] [class*="_icon_1i1na_"] * {
    fill: #fff !important;
    fill-opacity: 0.9 !important;
}

/* Label: nowrap + flex-shrink:0 = nunca quebra/encolhe, botao expande p/ caber */
html[theme^="pop"] [class*="_tabItemBox_1i1na_"] span {
    width: auto !important;
    margin-top: 0 !important;
    font-size: 26rem !important;
    font-weight: 700 !important;
    color: #fff !important;
    line-height: 1 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    -webkit-line-clamp: unset !important;
    overflow: visible !important;
}

/* ATIVO: pill verde com brilho, icone+texto brancos solidos */
html[theme^="pop"] [class*="_tabItemBox_1i1na_"][class*="_select_1i1na_"] {
    background: linear-gradient(180deg, var(--pop-primary) 0%, var(--pop-primary-dark, #15803d) 100%) !important;
    box-shadow: 0 4px 14px rgba(22, 163, 74, 0.45), inset 0 -2rem 0 rgba(0, 0, 0, 0.18);
}

html[theme^="pop"] [class*="_tabItemBox_1i1na_"][class*="_select_1i1na_"] span {
    color: #fff !important;
}

html[theme^="pop"] [class*="_tabItemBox_1i1na_"][class*="_select_1i1na_"] [class*="_icons_1i1na_"],
html[theme^="pop"] [class*="_tabItemBox_1i1na_"][class*="_select_1i1na_"] [class*="_icon_1i1na_"] {
    fill: #fff !important;
}
html[theme^="pop"] [class*="_tabItemBox_1i1na_"][class*="_select_1i1na_"] [class*="_icons_1i1na_"] *,
html[theme^="pop"] [class*="_tabItemBox_1i1na_"][class*="_select_1i1na_"] [class*="_icon_1i1na_"] * {
    fill: #fff !important;
    fill-opacity: 1 !important;
}

/* TopBar (titulo de secao, ex.: "Popular"): sem bg, texto branco */
html[theme^="pop"] [class*="_topBarBox_1p4p2_"] {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    color: #fff !important;
}
html[theme^="pop"] [class*="_topBarBox_1p4p2_"] * {
    color: #fff !important;
}
/* COPA: bg da home e claro -> titulos de secao + contagem ("A exibir X jogos")
 * em preto pra legibilidade (no pop/gold/black o bg e escuro, segue branco). */
html[theme="pop-copa"] [class*="_topBarBox_1p4p2_"],
html[theme="pop-copa"] [class*="_topBarBox_1p4p2_"] * {
    color: #111827 !important;
}

/* GameBox (grid dinamico dos jogos): cada item com fundo azul escuro */
html[theme^="pop"] [class*="_gameBox_trpke_"].grid-dynamic-override > * {
    background-color: #0f172a !important;
    border-radius: 10px;
    overflow: hidden;
}

/* ============================================================
 * Tela /agent (Promoção) — nova tab "Começar" + dashboard
 *
 * pop.js injeta:
 *  1. <div class="pop-agent-tab-comecar"> como primeira tab na barra de
 *     tabs nativa (cloando classes do sample pra herdar layout SPA).
 *  2. <div class="pop-agent-dashboard"> como SIBLING do body do React
 *     (no parent comum), pra poder togglear via CSS sem mexer com a
 *     reconciliacao do React em tab switches.
 *
 * Toggle de visibilidade controlado por html.pop-agent-our-tab-active:
 *  - Ativa: hide body do React (.pop-route-agent), show dashboard
 *  - Inativa: show body, hide dashboard
 *
 * Tabs nativas existentes (Link de Convite / Meus Dados / Desempenho /
 * Comissão) continuam intactas, apenas deslocadas pra direita.
 * ============================================================ */

/* --------- Toggle de visibilidade body <-> dashboard --------- */

/* Dashboard escondido por default na rota /agent — so aparece quando
 * nossa tab "Começar" estiver ativa. */
html[theme^="pop"].pop-route-agent .pop-agent-dashboard {
    display: none;
}
html[theme^="pop"].pop-route-agent.pop-agent-our-tab-active .pop-agent-dashboard {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 12px 10px 20px;
}

/* Quando nossa tab esta ativa, esconde o body do React (conteudo da tab
 * atualmente selecionada na SPA). Cobre o hash atual _body_1e39i_*. */
html[theme^="pop"].pop-route-agent.pop-agent-our-tab-active [class*="_body_1e39i_"] {
    display: none !important;
}

/* --------- Estilo visual da nossa tab "Começar" --------- */

/* Nossa tab clona a estrutura interna do ultimo tab existente, entao
 * herda padding/alinhamento identicos aos irmaos sem forcar display.
 *
 * Posicionada via order:-1 (parent e flex) — DOM real fica no fim,
 * visualmente aparece no inicio. Append-at-end e mais seguro contra
 * a reconciliacao do React (que rebusca filhos no boot pos-reload e
 * pode remover children inseridos antes da posicao 0).
 *
 * margin-right confirmado via teste live — parent usa justify-content
 * em vez de gap, e o ultimo tab (clonado) nao tem margin-right que
 * os demais carregam. */
html[theme^="pop"] .pop-agent-tab-comecar {
    cursor: pointer;
    order: -1;
    margin-right: 10px !important;
}
html[theme^="pop"] .pop-agent-tab-comecar,
html[theme^="pop"] .pop-agent-tab-comecar * {
    color: #6b7280 !important;
}

/* Estado ativo: cor verde + underline (mesmo padrao do game tabs POP). */
html[theme^="pop"] .pop-agent-tab-comecar.pop-tab-is-active,
html[theme^="pop"] .pop-agent-tab-comecar.pop-tab-is-active * {
    color: var(--pop-primary, #16a34a) !important;
}
html[theme^="pop"] .pop-agent-tab-comecar.pop-tab-is-active {
    border-bottom: 3px solid var(--pop-primary, #16a34a) !important;
    font-weight: 700 !important;
}

/* Quando nossa tab esta ativa, suprime o visual ativo das tabs irmas
 * (Link de Convite etc continuam com a "active class" do React, mas
 * visualmente devem aparecer inativas). Cobre cor + underline + bold.
 * Usa irmaos diretos da nossa tab dentro da barra; selector parental
 * pega qualquer container de tabs do agent. */
html[theme^="pop"].pop-agent-our-tab-active
[class*="_tabs"] > *:not(.pop-agent-tab-comecar),
html[theme^="pop"].pop-agent-our-tab-active
[class*="_tabs"] > *:not(.pop-agent-tab-comecar) *,
html[theme^="pop"].pop-agent-our-tab-active
[class*="_navTab"] > *:not(.pop-agent-tab-comecar),
html[theme^="pop"].pop-agent-our-tab-active
[class*="_navTab"] > *:not(.pop-agent-tab-comecar) * {
    color: #6b7280 !important;
    border-bottom-color: transparent !important;
    font-weight: 500 !important;
}

html[theme^="pop"] .pop-agent-card {
    background: #fff;
    border-radius: 14px;
    padding: 16px 14px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06), inset 0 0 0 1px rgba(0, 0, 0, 0.03);
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    max-width: 100%;
}

/* ---------- Top card: avatar mascote + info + medalha ---------- */
html[theme^="pop"] .pop-agent-top {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 14px;
    align-items: start;
    padding-right: 92px; /* espaço pra medalha absoluta */
    min-height: 110px;
}

html[theme^="pop"] .pop-agent-avatar-wrap {
    position: relative;
    width: 80px;
    height: 80px;
}

html[theme^="pop"] .pop-agent-mascote {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    background: radial-gradient(circle, #fef3c7 0%, #fcd34d 100%);
    border: 3px solid #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
    display: block;
}

html[theme^="pop"] .pop-agent-edit {
    position: absolute;
    bottom: -2px;
    left: -2px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: linear-gradient(180deg, var(--pop-primary) 0%, var(--pop-primary-dark) 100%);
    color: #fff;
    border: 2px solid #fff;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    padding: 0;
}

html[theme^="pop"] .pop-agent-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

html[theme^="pop"] .pop-agent-info-label {
    font-size: 12px;
    color: #94a3b8;
    font-weight: 500;
    line-height: 1.2;
}

html[theme^="pop"] .pop-agent-info-row {
    display: flex;
    align-items: center;
    gap: 6px;
}

html[theme^="pop"] .pop-agent-info-uid {
    font-size: 15px;
    font-weight: 800;
    color: var(--pop-primary);
    letter-spacing: 0.2px;
}

html[theme^="pop"] .pop-agent-copy {
    background: none;
    border: none;
    padding: 4px;
    cursor: pointer;
    color: #64748b;
    display: inline-flex;
    align-items: center;
    border-radius: 4px;
    transition: color 0.15s ease;
}
html[theme^="pop"] .pop-agent-copy:hover { color: var(--pop-primary); }

html[theme^="pop"] .pop-agent-badge {
    align-self: flex-start;
    background: #fef3c7;
    color: #92400e;
    font-size: 12px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 999px;
    margin-top: 2px;
}

html[theme^="pop"] .pop-agent-stats {
    display: flex;
    flex-direction: column;
    gap: 8px;
    text-align: left;
}

html[theme^="pop"] .pop-agent-stat-value {
    font-size: 16px;
    font-weight: 700;
    color: #1f2937;
}
html[theme^="pop"] .pop-agent-stat-date {
    font-size: 14px;
    font-weight: 700;
    color: var(--pop-primary);
}

html[theme^="pop"] .pop-agent-medal {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 80px;
    height: 80px;
    object-fit: contain;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));
    pointer-events: none;
}

/* ---------- Comissao card ---------- */
html[theme^="pop"] .pop-agent-section-title {
    font-size: 16px;
    font-weight: 700;
    color: #1f2937;
    margin-bottom: 4px;
}

html[theme^="pop"] .pop-agent-comissao-timer {
    font-size: 12px;
    color: #94a3b8;
    margin-bottom: 14px;
}

html[theme^="pop"] .pop-agent-comissao-grid {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 12px;
    align-items: center;
    padding-bottom: 14px;
    margin-bottom: 14px;
    border-bottom: 1px solid #f1f5f9;
}
html[theme^="pop"] .pop-agent-comissao-grid-two {
    grid-template-columns: 1fr 1fr;
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}

html[theme^="pop"] .pop-agent-value {
    font-size: 16px;
    font-weight: 700;
    color: #1f2937;
}
html[theme^="pop"] .pop-agent-value-orange { color: #f59e0b !important; }

html[theme^="pop"] .pop-agent-btn {
    border: none;
    cursor: pointer;
    font-weight: 700;
    border-radius: 10px;
    padding: 0 28px;
    height: 42px;
    font-size: 14px;
    color: #fff;
    transition: transform 0.1s ease;
}
html[theme^="pop"] .pop-agent-btn:active { transform: scale(0.97); }
html[theme^="pop"] .pop-agent-btn-green {
    background: linear-gradient(180deg, var(--pop-primary) 0%, var(--pop-primary-dark) 100%);
    box-shadow: 0 4px 12px rgba(22, 163, 74, 0.35);
}

/* ---------- Ticker pill gradiente ---------- */
html[theme^="pop"] .pop-agent-ticker {
    position: relative;
    background: linear-gradient(90deg, #4f46e5 0%, #9333ea 50%, #ec4899 100%);
    border-radius: 14px;
    padding: 10px 78px 10px 14px;
    min-height: 44px;
    display: flex;
    align-items: center;
    box-shadow: 0 4px 14px rgba(147, 51, 234, 0.3);
    /* SEM overflow:hidden no ticker — moedas precisam escapar pra cima.
     * O clipping de marquee fica no .pop-agent-ticker-viewport interno. */
}

/* Moedas: flutuam ACIMA da pill, escapando o topo do ticker e cobrindo
 * o canto inferior do card de Comissao acima. z-index alto pra ficar
 * sobre qualquer card vizinho. */
html[theme^="pop"] .pop-agent-ticker-coins {
    position: absolute;
    right: 6px;
    top: -28px;
    width: 78px;
    height: 78px;
    object-fit: contain;
    z-index: 10;
    filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.35));
    pointer-events: none;
}

html[theme^="pop"] .pop-agent-ticker-viewport {
    overflow: hidden;
    width: 100%;
    mask-image: linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 24px), transparent);
}

html[theme^="pop"] .pop-agent-ticker-track {
    display: inline-flex;
    gap: 0;
    white-space: nowrap;
    animation: pop-agent-ticker-scroll 24s linear infinite;
    will-change: transform;
}

@keyframes pop-agent-ticker-scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

html[theme^="pop"] .pop-agent-ticker-item {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 0 18px;
    color: #fde68a;
    font-weight: 700;
    font-size: 13px;
}
html[theme^="pop"] .pop-agent-ticker-text { color: #fff; font-weight: 500; }
html[theme^="pop"] .pop-agent-ticker-text b { color: #fde68a; font-weight: 700; }
html[theme^="pop"] .pop-agent-ticker-prize { color: #fde68a !important; font-weight: 700; }
html[theme^="pop"] .pop-agent-ticker-emoji { font-size: 16px; }
html[theme^="pop"] .pop-agent-ticker-divider {
    width: 1px;
    height: 14px;
    background: rgba(255, 255, 255, 0.4);
}

/* ---------- Convidar amigos ---------- */
html[theme^="pop"] .pop-agent-invite-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding-bottom: 12px;
    margin-bottom: 14px;
    border-bottom: 1px solid #f1f5f9;
}

html[theme^="pop"] .pop-agent-invite-code-line {
    font-size: 12px;
    color: #94a3b8;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

html[theme^="pop"] .pop-agent-invite-code {
    color: var(--pop-primary);
    font-weight: 700;
    font-size: 14px;
}

html[theme^="pop"] .pop-agent-invite-body {
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr);
    gap: 12px;
    align-items: stretch;
    min-width: 0;
}

html[theme^="pop"] .pop-agent-qr-col {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
}

html[theme^="pop"] .pop-agent-qr-frame {
    width: 100%;
    aspect-ratio: 1;
    background: #fff;
    border-radius: 10px;
    padding: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #f1f5f9;
}
html[theme^="pop"] .pop-agent-qr-frame canvas,
html[theme^="pop"] .pop-agent-qr-frame img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
    display: block;
}

html[theme^="pop"] .pop-agent-save-qr {
    background: linear-gradient(180deg, var(--pop-primary) 0%, var(--pop-primary-dark) 100%);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 8px 6px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    width: 100%;
    line-height: 1.2;
    box-shadow: 0 2px 8px rgba(22, 163, 74, 0.3);
}

html[theme^="pop"] .pop-agent-invite-right {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
    /* impede que o filho com input estoure o grid track */
}

html[theme^="pop"] .pop-agent-url-row {
    display: flex;
    align-items: center;
    gap: 4px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 6px 8px;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

html[theme^="pop"] .pop-agent-url-icon {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}

html[theme^="pop"] .pop-agent-url-input {
    flex: 1;
    border: none;
    background: transparent;
    font-size: 13px;
    color: #475569;
    min-width: 0;
    outline: none;
    overflow: hidden;
    text-overflow: ellipsis;
}

html[theme^="pop"] .pop-agent-url-toggle,
html[theme^="pop"] .pop-agent-url-row .pop-agent-copy {
    background: none;
    border: none;
    color: #64748b;
    cursor: pointer;
    padding: 4px;
    display: inline-flex;
    align-items: center;
}

html[theme^="pop"] .pop-agent-socials {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
    min-width: 0;
    max-width: 100%;
}

html[theme^="pop"] .pop-agent-social {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    font-size: 10px;
    color: #475569;
    font-weight: 500;
    padding: 2px 0;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: center;
    width: 100%;
}

html[theme^="pop"] .pop-agent-social > span:last-child {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

html[theme^="pop"] .pop-agent-social-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
html[theme^="pop"] .pop-agent-social-icon svg {
    width: 16px;
    height: 16px;
}
html[theme^="pop"] .pop-agent-social-share { background: linear-gradient(180deg, var(--pop-primary) 0%, var(--pop-primary-dark) 100%); }
html[theme^="pop"] .pop-agent-social-instagram { background: radial-gradient(circle at 30% 110%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285aeb 90%); }
html[theme^="pop"] .pop-agent-social-telegram { background: #229ed9; }
html[theme^="pop"] .pop-agent-social-facebook { background: #1877f2; }

/* ---------- Par de botoes: Criar subnivel / Taxa de Comissao ---------- */
html[theme^="pop"] .pop-agent-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin: 0 2px;
}

html[theme^="pop"] .pop-agent-action {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    border-radius: 12px;
    border: none;
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    text-align: left;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}
html[theme^="pop"] .pop-agent-action-green {
    background: linear-gradient(180deg, var(--pop-primary) 0%, var(--pop-primary-dark) 100%);
    box-shadow: 0 4px 14px rgba(22, 163, 74, 0.4);
}
html[theme^="pop"] .pop-agent-action-orange {
    background: linear-gradient(180deg, #fb923c 0%, #ea580c 100%);
    box-shadow: 0 4px 14px rgba(234, 88, 12, 0.4);
}

html[theme^="pop"] .pop-agent-action-ico {
    flex-shrink: 0;
    display: inline-flex;
}
html[theme^="pop"] .pop-agent-action-text {
    flex: 1;
}
html[theme^="pop"] .pop-agent-action-chev {
    font-size: 20px;
    line-height: 1;
    opacity: 0.9;
}

/* ---------- Recompensas cumulativas ---------- */
html[theme^="pop"] .pop-agent-cumulative {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 12px;
    align-items: center;
}
html[theme^="pop"] .pop-agent-cumulative-text {
    font-size: 13px;
    color: #475569;
}

/* ---------- Tab Meus Dados: bloco POP de visao consolidada ---------- */
/* Listagem vertical injetada antes do .report nativo. Mantem todo o
 * conteudo original abaixo. Modelo de comissao e 1 nivel — so mostra
 * dados diretos. */
html[theme^="pop"] .pop-mydata-block {
    margin: 12px 12px 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    font-family: var(--pop-font);
}
html[theme^="pop"] .pop-mydata-section {
    background: var(--pop-surface);
    border-radius: var(--pop-radius-md);
    box-shadow: var(--pop-shadow-card);
    overflow: hidden;
}
html[theme^="pop"] .pop-mydata-section-hero {
    background: linear-gradient(135deg, var(--pop-primary) 0%, var(--pop-primary-dark) 100%);
    color: var(--pop-surface);
    padding: 14px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
html[theme^="pop"] .pop-mydata-hero-label {
    font-size: 14px;
    font-weight: 600;
    opacity: 0.95;
}
html[theme^="pop"] .pop-mydata-hero-value {
    font-size: 22px;
    font-weight: 800;
    color: var(--pop-vip);
}
html[theme^="pop"] .pop-mydata-header {
    padding: 10px 14px;
    font-size: 13px;
    font-weight: 700;
    color: var(--pop-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    border-bottom: 1px solid var(--pop-border);
    background: rgba(0, 0, 0, 0.02);
}
html[theme^="pop"] .pop-mydata-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 14px;
    border-bottom: 1px solid var(--pop-border);
    font-size: 14px;
}
html[theme^="pop"] .pop-mydata-row:last-child {
    border-bottom: none;
}
html[theme^="pop"] .pop-mydata-row-sub {
    padding-left: 26px;
    font-size: 13px;
    color: var(--pop-text-muted);
}
html[theme^="pop"] .pop-mydata-label {
    color: var(--pop-text);
    flex: 1;
    padding-right: 12px;
}
html[theme^="pop"] .pop-mydata-row-sub .pop-mydata-label {
    color: var(--pop-text-muted);
}
html[theme^="pop"] .pop-mydata-value {
    font-weight: 700;
    color: var(--pop-text);
    white-space: nowrap;
}
html[theme^="pop"] .pop-mydata-value-gold {
    color: var(--pop-vip);
}

/* ============================================================
 * Home actions: par de botoes (Deposito / Saques) injetado pelo
 * pop.js logo apos _noticeBox_ e antes do _pot_container_.
 * Forma trapezoidal: corte diagonal entre os dois, conforme
 * sugestao do cliente (clip-path: polygon(0 0, 100 0, 80 100, 0 100)).
 * Diagonais coincidem com overlap exato (W=55.555%, O=11.111%):
 *   diag verde top em 50% total, bottom em 40% total
 *   diag azul  top em 50% total, bottom em 40% total
 * ============================================================ */
html[theme^="pop"] .pop-home-actions {
    display: flex;
    gap: 0;
    margin: 12px 12px 8px;
    padding: 0;
    align-items: stretch;
}
/* Esconde os elementos injetados ate o parent (_h5PageContentBox_) estabilizar
 * a largura — o bundle calcula width via getPageHtmlFontSize() E aplica
 * nested="1" + carrega o chunk CSS de 750rem; ate la o parent fica em
 * width:100% (fallback) e nossos elementos esticam 100vw. JS marca .pop-stable
 * quando getBoundingClientRect do parent indica que o constraint chegou. */
html[theme^="pop"] .pop-ranking:not(.pop-stable),
html[theme^="pop"] .pop-winners:not(.pop-stable),
html[theme^="pop"] .pop-shortcuts:not(.pop-stable),
html[theme^="pop"] .pop-rasp-banner:not(.pop-stable),
html[theme^="pop"] .pop-home-actions:not(.pop-stable) {
    visibility: hidden;
}
/* Cap de largura dos elementos injetados, independente do bundle.
 * O parent (_h5PageContentBox_) so e constrangido a 750rem quando o chunk
 * CSS do bundle chega; ate la fica width:100% e os filhos esticam ate o
 * viewport (layout shift no desktop). Com max-width fixo em px + centering,
 * a largura fica estavel desde o primeiro frame, com ou sem o chunk.
 * O min() preserva os gutters laterais (~12px) no mobile, onde o container
 * e mais estreito que 400px — la nada muda visualmente. */
html[theme^="pop"] .pop-ranking,
html[theme^="pop"] .pop-winners,
html[theme^="pop"] .pop-shortcuts,
html[theme^="pop"] .pop-rasp-banner,
html[theme^="pop"] .pop-home-actions {
    max-width: min(400px, calc(100% - 24px));
    margin-left: auto !important;
    margin-right: auto !important;
}
html[theme^="pop"] .pop-home-action {
    flex: 0 0 55.555%;
    border: none;
    outline: none;
    cursor: pointer;
    padding: 16px 20px;
    font-family: var(--pop-font);
    font-size: 17px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.2px;
    /* Volume:
     *  - outer shadow profunda -> separa do fundo
     *  - inset top: highlight branco fino -> sensacao de botão em relevo
     *  - inset bottom: linha escura -> "lip" interno na base
     */
    box-shadow:
        0 4px 12px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.35),
        inset 0 -2px 0 rgba(0, 0, 0, 0.15);
    transition: filter 0.15s ease, transform 0.05s ease, box-shadow 0.15s ease;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
}
html[theme^="pop"] .pop-home-action:active {
    transform: translateY(1px);
    box-shadow:
        0 2px 6px rgba(0, 0, 0, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.2),
        inset 0 -1px 0 rgba(0, 0, 0, 0.15);
}
html[theme^="pop"] .pop-home-action:hover {
    filter: brightness(1.06);
}
html[theme^="pop"] .pop-home-action-deposit {
    /* Gradiente 3-stop: leve clareada no topo -> base -> escurecida no rodape */
    background: linear-gradient(
        180deg,
        color-mix(in srgb, var(--pop-primary) 92%, #fff) 0%,
        var(--pop-primary) 45%,
        color-mix(in srgb, var(--pop-primary) 86%, #000) 100%
    );
    clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 0% 100%);
    /* Arredonda so as bordas que NAO formam o encaixe diagonal */
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
    /* compensa o corte: empurra label pra esquerda do triangulo perdido */
    padding-right: calc(20px + 11.111%);
    z-index: 1;
}
html[theme^="pop"] .pop-home-action-withdraw {
    background: linear-gradient(
        180deg,
        color-mix(in srgb, var(--pop-accent) 92%, #fff) 0%,
        var(--pop-accent) 45%,
        color-mix(in srgb, var(--pop-accent) 86%, #000) 100%
    );
    clip-path: polygon(20% 0%, 100% 0%, 100% 100%, 0% 100%);
    /* Arredonda so as bordas que NAO formam o encaixe diagonal */
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
    margin-left: -11.111%;
    /* compensa o corte: empurra label pra direita do triangulo perdido */
    padding-left: calc(20px + 11.111%);
}
html[theme="pop-black"] .pop-home-action-withdraw {
    color: #111;
}

/* ============================================================
 * Botao "Carregar Mais" — texto e icone brancos
 * Ambas as classes (_more_yhb1i_ + _loadMoreBtn_*) vivem no MESMO
 * elemento (string className), entao seletor composto sem espaco.
 * Hash-classes do loadMoreBtn mudam por chunk (_1p4p2_ / _trpke_)
 * — usamos prefixo estavel _loadMoreBtn_. SVG usa fill/stroke, nao color.
 * ============================================================ */
html[theme^="pop"] [class*="_more_"][class*="_loadMoreBtn_"],
html[theme^="pop"] [class*="_more_"][class*="_loadMoreBtn_"] *,
html[theme^="pop"] [class*="_more_"][class*="_loadMoreBtn_"] svg,
html[theme^="pop"] [class*="_more_"][class*="_loadMoreBtn_"] svg * {
    color: #fff !important;
    fill: #fff !important;
    stroke: #fff !important;
}
/* COPA: "Carregar mais" preto sobre o bg claro da home */
html[theme="pop-copa"] [class*="_more_"][class*="_loadMoreBtn_"],
html[theme="pop-copa"] [class*="_more_"][class*="_loadMoreBtn_"] *,
html[theme="pop-copa"] [class*="_more_"][class*="_loadMoreBtn_"] svg,
html[theme="pop-copa"] [class*="_more_"][class*="_loadMoreBtn_"] svg * {
    color: #111827 !important;
    fill: #111827 !important;
    stroke: #111827 !important;
}
/* POP-ORANGE: "Carregar mais" preto (mesmo seletor duplo do copa pra ter a
 * especificidade necessaria; o bloco preto generico usava so [_loadMoreBtn_]
 * e perdia pra regra branca composta acima). Cobre texto + seta (fill/stroke). */
html[theme="pop-orange"] [class*="_more_"][class*="_loadMoreBtn_"],
html[theme="pop-orange"] [class*="_more_"][class*="_loadMoreBtn_"] *,
html[theme="pop-orange"] [class*="_more_"][class*="_loadMoreBtn_"] svg,
html[theme="pop-orange"] [class*="_more_"][class*="_loadMoreBtn_"] svg * {
    color: #000 !important;
    fill: #000 !important;
    stroke: #000 !important;
}

/* ============================================================
 * /venuegame — sidebar de categorias
 * Bundle pinta .siderbar-item.false (inativo) com #f6e6ed (rosa) e
 * .siderbar-item-active com --theme-main-color (verde POP). Mantemos
 * o verde no ativo (default) e trocamos o inativo pra azul accent POP
 * com texto/icone branco pra legibilidade.
 * ============================================================ */
html[theme^="pop"] [class*="_siderbar_"] .siderbar-item.false {
    background-color: var(--pop-accent) !important;
    color: #fff !important;
    border-color: transparent !important;
}
html[theme^="pop"] [class*="_siderbar_"] .siderbar-item.false > div {
    color: #fff !important;
}
html[theme^="pop"] [class*="_siderbar_"] .siderbar-item.false svg,
html[theme^="pop"] [class*="_siderbar_"] .siderbar-item.false svg * {
    color: #fff !important;
    fill: #fff !important;
}

/* ============================================================
 * Form de registro (/api/member/reg)
 * Reordenacao do form (telefone pro topo) e injecao do campo "Nome real"
 * sao feitas via DOM em pop.js (insertBefore). NAO usamos flex+order
 * porque o container tem outros filhos (titulo, indicador de forca,
 * checkbox, botao de submit) que ficariam fora de lugar com order:0
 * default. So estilizamos o texto auxiliar abaixo do nome real.
 * ============================================================ */
html[theme^="pop"] .pop-register-aux {
    color: #f59e0b;
    font-size: 22rem;
    line-height: 1.35;
    margin: 6rem 0 12rem;
    padding: 0 4rem;
    font-weight: 500;
}

/* Label "Cadastro de senha" injetada antes do input de senha.
 * Texto verde POP. Icone com fundo circular verde + asteriscos brancos
 * (currentColor do SVG vira #fff por causa do `color` no proprio SVG). */
html[theme^="pop"] .pop-register-pw-label {
    display: flex;
    align-items: center;
    gap: 8rem;
    color: var(--pop-primary, #16a34a);
    font-size: 26rem;
    line-height: 1.4;
    margin: 12rem 0 6rem;
    padding: 0 4rem;
    font-weight: 600;
}
html[theme^="pop"] .pop-register-pw-label svg {
    width: 18rem;
    height: 18rem;
    padding: 4rem;
    background: var(--pop-primary, #16a34a);
    color: #fff;
    border-radius: 50%;
    flex-shrink: 0;
    box-sizing: content-box;
}

/* ============================================================
 * Tabs POP no _gameTabsBox_ + secoes POP no _gamesBox_.
 * Os tabs sao clones de _tabItemBox_1i1na_ (herdam classe hash do bundle
 * pra flex-column + padding + cores de tema). Sobrepomos com .pop-game-tab
 * pra customizar o icone (emoji) e o tamanho do span.
 * ============================================================ */
html[theme^="pop"] .pop-game-tab .pop-game-tab-icon {
    width: 54rem;
    height: 40rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 36rem;
    line-height: 1;
}
html[theme^="pop"] .pop-game-tab > span {
    font-size: 22rem;
    margin-top: 4rem;
    text-align: center;
    white-space: nowrap;
}

/* Secao injetada no _gamesBox_fasfu_. Espelha o spacing do _typeGameBox_trpke_
 * sem replicar a CSS Module hash do bundle (pra nao quebrar quando o build
 * for refeito). Grade 3 cols, ate 6 jogos = 2 linhas. */
html[theme^="pop"] .pop-game-section {
    padding: 16rem 12rem 24rem;
    background: transparent;
}
html[theme^="pop"] .pop-game-section-title {
    display: flex;
    align-items: center;
    gap: 10rem;
    padding: 8rem 4rem 14rem;
    font-size: 28rem;
    font-weight: 700;
    color: var(--pop-primary, #16a34a);
}
html[theme^="pop"] .pop-game-section-icon {
    font-size: 32rem;
    line-height: 1;
}
html[theme^="pop"] .pop-game-section-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10rem;
}
html[theme^="pop"] .pop-game-tile {
    position: relative;
    cursor: pointer;
    border-radius: 12rem;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.18);
    transition: transform 0.12s ease;
}
html[theme^="pop"] .pop-game-tile:active {
    transform: scale(0.96);
}
html[theme^="pop"] .pop-game-tile-img {
    /* Aspect ratio do _logoBox_eua6c_242 (Popular): 218rem x 290rem ~= 0.752.
     * Antes era 1:1 (quadrado) e cortava as bordas dos banners. */
    aspect-ratio: 218 / 290;
    width: 100%;
    display: block;
    overflow: hidden;
}
html[theme^="pop"] .pop-game-tile-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Textos brancos em seletores espalhados do bundle + secao POP.
 * Partial-match em [class*="..."] sobrevive a rebuild que troca o hash.
 * !important porque o bundle tem regras com mais especificidade (ex.:
 * `._typeGameBox_trpke_55 ._title_trpke_60 ._logoBox_trpke_65 span`). */
html[theme^="pop"] [class*="_tips_1p4p2_"],
html[theme^="pop"] [class*="_tips_1p4p2_"] *,
html[theme^="pop"] .pop-game-section-name,
html[theme^="pop"] [class*="_logoBox_trpke_"],
html[theme^="pop"] [class*="_logoBox_trpke_"] *,
html[theme^="pop"] [class*="_btmLoadMoreBox_trpke_"],
html[theme^="pop"] [class*="_btmLoadMoreBox_trpke_"] *,
html[theme^="pop"] [class*="_tipsBox_1m925_"],
html[theme^="pop"] [class*="_tipsBox_1m925_"] *,
html[theme^="pop"] [class*="_title_trpke_"],
html[theme^="pop"] [class*="_title_trpke_"] *,
html[theme^="pop"] [class*="_all_trpke_"],
html[theme^="pop"] [class*="_all_trpke_"] *,
html[theme^="pop"] .maps_list,
html[theme^="pop"] .maps_list *,
html[theme^="pop"] .maps_list_col,
html[theme^="pop"] .maps_list_col *,
html[theme^="pop"] .map_list_col_title,
html[theme^="pop"] .map_list_col_title *,
html[theme^="pop"] .itemTitle,
html[theme^="pop"] .itemTitle * {
    color: #fff !important;
}

/* ============================================================
 * COPA — mesmos textos, mas PRETOS (bg da home e claro, nao escuro).
 * Espelha a lista branca acima com theme="pop-copa"; vem DEPOIS e com
 * especificidade >= entao vence por ordem. Inclui extras nao cobertos
 * pela regra branca (img_list_title, _detailTip_, reserved, group_name).
 * ============================================================ */
html[theme="pop-copa"] [class*="_tips_1p4p2_"],
html[theme="pop-copa"] [class*="_tips_1p4p2_"] *,
html[theme="pop-copa"] [class*="_tips_trpke_"],
html[theme="pop-copa"] [class*="_tips_trpke_"] *,
html[theme="pop-copa"] .pop-game-section-name,
html[theme="pop-copa"] [class*="_logoBox_trpke_"],
html[theme="pop-copa"] [class*="_logoBox_trpke_"] *,
html[theme="pop-copa"] [class*="_btmLoadMoreBox_trpke_"],
html[theme="pop-copa"] [class*="_btmLoadMoreBox_trpke_"] *,
html[theme="pop-copa"] [class*="_tipsBox_1m925_"],
html[theme="pop-copa"] [class*="_tipsBox_1m925_"] *,
html[theme="pop-copa"] [class*="_detailTip_1m925_"],
html[theme="pop-copa"] [class*="_detailTip_1m925_"] *,
html[theme="pop-copa"] [class*="_title_trpke_"],
html[theme="pop-copa"] [class*="_title_trpke_"] *,
html[theme="pop-copa"] [class*="_all_trpke_"],
html[theme="pop-copa"] [class*="_all_trpke_"] *,
html[theme="pop-copa"] .maps_list,
html[theme="pop-copa"] .maps_list *,
html[theme="pop-copa"] .maps_list_col,
html[theme="pop-copa"] .maps_list_col *,
html[theme="pop-copa"] .map_list_col_title,
html[theme="pop-copa"] .map_list_col_title *,
html[theme="pop-copa"] .itemTitle,
html[theme="pop-copa"] .itemTitle *,
html[theme="pop-copa"] .img_list_title,
html[theme="pop-copa"] .img_list_title *,
html[theme="pop-copa"] .reserved,
html[theme="pop-copa"] .reserved *,
html[theme="pop-copa"] .group_name,
html[theme="pop-copa"] .pop-ranking-title {
    color: #111827 !important;
    text-shadow: none !important;
}

/* ============================================================
 * POP-ORANGE — mesmos textos em PRETO (tema claro, como a copa). Espelha a
 * lista branca/copa acima; vem DEPOIS entao vence por ordem de fonte (a regra
 * branca theme^="pop" nao mais sobrepoe). Inclui extras pedidos: topBarBox
 * span, "Carregar mais" (+ seta), titulo das secoes, _styl1Company_.
 * ============================================================ */
html[theme="pop-orange"] [class*="_tips_1p4p2_"],
html[theme="pop-orange"] [class*="_tips_1p4p2_"] *,
html[theme="pop-orange"] [class*="_tips_trpke_"],
html[theme="pop-orange"] [class*="_tips_trpke_"] *,
html[theme="pop-orange"] .pop-game-section-title,
html[theme="pop-orange"] .pop-game-section-name,
html[theme="pop-orange"] .pop-game-section-icon,
html[theme="pop-orange"] [class*="_topBarBox_"] span,
html[theme="pop-orange"] [class*="_loadMoreBtn_"],
html[theme="pop-orange"] [class*="_loadMoreBtn_"] *,
html[theme="pop-orange"] [class*="_logoBox_trpke_"],
html[theme="pop-orange"] [class*="_logoBox_trpke_"] *,
html[theme="pop-orange"] [class*="_btmLoadMoreBox_trpke_"],
html[theme="pop-orange"] [class*="_btmLoadMoreBox_trpke_"] *,
html[theme="pop-orange"] [class*="_tipsBox_1m925_"],
html[theme="pop-orange"] [class*="_tipsBox_1m925_"] *,
html[theme="pop-orange"] [class*="_styl1Company_"],
html[theme="pop-orange"] [class*="_styl1Company_"] *,
html[theme="pop-orange"] [class*="_detailTip_1m925_"],
html[theme="pop-orange"] [class*="_detailTip_1m925_"] *,
html[theme="pop-orange"] [class*="_title_trpke_"],
html[theme="pop-orange"] [class*="_title_trpke_"] *,
html[theme="pop-orange"] [class*="_all_trpke_"],
html[theme="pop-orange"] [class*="_all_trpke_"] *,
html[theme="pop-orange"] .maps_list,
html[theme="pop-orange"] .maps_list *,
html[theme="pop-orange"] .maps_list_col,
html[theme="pop-orange"] .maps_list_col *,
html[theme="pop-orange"] .map_list_col_title,
html[theme="pop-orange"] .map_list_col_title *,
html[theme="pop-orange"] .itemTitle,
html[theme="pop-orange"] .itemTitle *,
html[theme="pop-orange"] .img_list_title,
html[theme="pop-orange"] .img_list_title *,
html[theme="pop-orange"] .reserved,
html[theme="pop-orange"] .reserved *,
html[theme="pop-orange"] .group_name {
    color: #000 !important;
    text-shadow: none !important;
}
/* Tabs de jogos: so os INATIVOS em preto (o ativo mantem _select_) */
html[theme="pop-orange"] [class*="_gameTabs_"] [class*="_tabItemBox_"]:not([class*="_select_"]),
html[theme="pop-orange"] [class*="_gameTabs_"] [class*="_tabItemBox_"]:not([class*="_select_"]) span {
    color: #000 !important;
}
/* Seta dourada (svg fill inline) do "Carregar mais" em preto */
html[theme="pop-orange"] [class*="_loadMoreBtn_"] svg path {
    fill: #000 !important;
}

/* COPA — card do Ranking dos Grandes Premios volta a ser card branco
 * solido (a versao glass escura foi feita pro bg escuro do pop; na copa
 * fica invisivel). Combina com o card de Ganhadores ao Vivo ao lado. */
html[theme="pop-copa"] .pop-ranking {
    background: #fff !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06), inset 0 0 0 1px rgba(0, 0, 0, 0.04) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* COPA — oculta a label "Cadastro de senha" e as trust badges. O logo POP
 * FUT (logo.png) e mais alto que o logo-pop padrao; esses dois blocos
 * empurram o conteudo e cortam o topo do logo no modal de registro. Mantidos
 * nos demais temas pop. */
html[theme="pop-copa"] .pop-register-pw-label {
    display: none !important;
}
