/* =====================================================================
   GeraBet — Template "Royal Noite" (v5.5)
   Carregado depois do CSS padrão. Tudo fica sob body.tpl-royal, então
   o template Clássico não é afetado.
   Fontes: Lora e Noto Sans (SIL Open Font License 1.1) — ver fontes/LICENCA.txt
   ===================================================================== */

@font-face { font-family: "Royal Serif"; src: url("fontes/lora.woff") format("woff"); font-weight: 400 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Royal Serif"; src: url("fontes/lora-italic.woff") format("woff"); font-weight: 400 700; font-style: italic; font-display: swap; }
@font-face { font-family: "Royal Sans"; src: url("fontes/noto-sans-regular.woff") format("woff"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Royal Sans"; src: url("fontes/noto-sans-medium.woff") format("woff"); font-weight: 500 600; font-display: swap; }
@font-face { font-family: "Royal Sans"; src: url("fontes/noto-sans-bold.woff") format("woff"); font-weight: 700 900; font-display: swap; }

body.tpl-royal {
    --r-bg: #0c0a1c;
    --r-bg2: #120f27;
    --r-sup: #1a1535;
    --r-sup2: #221b44;
    --r-borda: rgba(167, 143, 255, .14);
    --r-violeta: #8b6cff;
    --r-violeta2: #b19cff;
    --r-ouro: #f2c14e;
    --r-ouro2: #ffdf8a;
    --r-texto: #f3f0ff;
    --r-mudo: #a49fc0;
    --r-verde: #3ddc97;
    --r-lateral: 248px;
    --r-serif: "Royal Serif", Georgia, "Times New Roman", serif;
    --r-sans: "Royal Sans", "Segoe UI", Roboto, Arial, sans-serif;

    background:
        radial-gradient(900px 520px at 75% -10%, rgba(139, 108, 255, .20), transparent 60%),
        radial-gradient(700px 420px at 0% 100%, rgba(242, 193, 78, .06), transparent 60%),
        var(--r-bg) !important;
    background-attachment: fixed !important;
    color: var(--r-texto);
    font-family: var(--r-sans) !important;
    -webkit-font-smoothing: antialiased;
}
body.tpl-royal *:not(i):not(.fa):not(.fas):not(.far):not(.fab):not(svg):not(svg *) { font-family: var(--r-sans); }
body.tpl-royal h1, body.tpl-royal h2, body.tpl-royal h3, body.tpl-royal h4,
body.tpl-royal .titulo-lista-jogos, body.tpl-royal .aovivo-titulo { font-family: var(--r-serif) !important; }

/* ---------- Botões do tema ---------- */
body.tpl-royal .royal-btn-ouro {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    background: linear-gradient(180deg, var(--r-ouro2), var(--r-ouro) 55%, #d99d22);
    color: #2a1a00 !important; font-weight: 700; font-size: 14px; text-decoration: none;
    border: 0; border-radius: 999px; padding: 11px 22px; cursor: pointer;
    box-shadow: 0 6px 20px rgba(242, 193, 78, .28), inset 0 1px 0 rgba(255, 255, 255, .6);
    transition: transform .15s, box-shadow .15s;
}
body.tpl-royal .royal-btn-ouro:hover { transform: translateY(-1px); box-shadow: 0 10px 26px rgba(242, 193, 78, .38), inset 0 1px 0 rgba(255, 255, 255, .6); }
body.tpl-royal .royal-btn-vidro {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    background: rgba(255, 255, 255, .06); color: var(--r-texto) !important; font-size: 14px; font-weight: 500; text-decoration: none;
    border: 1px solid var(--r-borda); border-radius: 999px; padding: 11px 22px; cursor: pointer;
}
body.tpl-royal .royal-btn-vidro:hover { background: rgba(255, 255, 255, .1); }
body.tpl-royal .royal-link { background: none; border: 0; padding: 0; color: var(--r-violeta2); font-size: 12px; cursor: pointer; text-decoration: underline; }

/* ---------- Menu lateral (computador) ---------- */
body.tpl-royal .royal-lateral { display: none; }
body.tpl-royal .royal-marca img { max-height: 42px; max-width: 170px; display: block; }
body.tpl-royal .royal-nav { display: flex; flex-direction: column; gap: 2px; }
body.tpl-royal .royal-nav a,
body.tpl-royal .royal-nav button {
    display: flex; align-items: center; gap: 14px; width: 100%; box-sizing: border-box;
    padding: 11px 14px; border-radius: 14px; border: 0; background: none; text-align: left;
    color: var(--r-mudo); font-size: 15px; font-weight: 500; text-decoration: none; cursor: pointer;
    transition: background .15s, color .15s;
}
body.tpl-royal .royal-nav a i, body.tpl-royal .royal-nav button i { width: 20px; text-align: center; font-size: 16px; }
body.tpl-royal .royal-nav a:hover, body.tpl-royal .royal-nav button:hover { background: rgba(139, 108, 255, .10); color: #fff; }
body.tpl-royal .royal-nav .on { background: linear-gradient(90deg, rgba(139, 108, 255, .24), rgba(139, 108, 255, .04)); color: #fff; box-shadow: inset 3px 0 0 var(--r-violeta); }
body.tpl-royal .royal-nav .on i { color: var(--r-violeta2); }
body.tpl-royal .royal-grupo { font-size: 11px; letter-spacing: 1.6px; color: #6f6a8e; text-transform: uppercase; padding: 16px 14px 6px; }
body.tpl-royal .royal-selo { margin-left: auto; font-style: normal; font-size: 10px; font-weight: 700; letter-spacing: .4px; background: var(--r-verde); color: #053; padding: 2px 7px; border-radius: 999px; }
body.tpl-royal .royal-selo.ouro { background: var(--r-ouro); color: #3a2500; }
body.tpl-royal .royal-promo { margin-top: auto; padding: 16px; border-radius: 18px; background: linear-gradient(160deg, #2a2150, #17122f); border: 1px solid rgba(242, 193, 78, .25); }
body.tpl-royal .royal-promo h4 { margin: 0; font-size: 17px; font-style: italic; color: var(--r-ouro2); font-weight: 700; }
body.tpl-royal .royal-promo p { font-size: 12.5px; color: var(--r-mudo); margin: 6px 0 12px; line-height: 1.5; }
body.tpl-royal .royal-promo p b { color: #fff; }
body.tpl-royal .royal-promo .royal-btn-ouro { width: 100%; padding: 10px 16px; }
body.tpl-royal .royal-barra { height: 8px; border-radius: 99px; background: rgba(255, 255, 255, .08); overflow: hidden; }
body.tpl-royal .royal-barra i { display: block; height: 100%; background: linear-gradient(90deg, var(--r-violeta), var(--r-ouro)); border-radius: 99px; }
body.tpl-royal .royal-promo small { display: flex; justify-content: space-between; align-items: center; font-size: 12px; color: #cfc8ee; margin-top: 8px; }

/* ---------- Topo ---------- */
body.tpl-royal .royal-topo {
    position: sticky; top: 0; z-index: 900;
    display: flex; align-items: center; gap: 12px;
    padding: 12px 16px;
    background: rgba(12, 10, 28, .82); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--r-borda);
}
body.tpl-royal .royal-marca-mob img { max-height: 32px; max-width: 130px; display: block; }
body.tpl-royal .royal-busca-vaga { flex: 1; min-width: 0; }
body.tpl-royal .royal-topo-dir { margin-left: auto; display: flex; align-items: center; gap: 10px; }
body.tpl-royal .royal-topo-dir > .royal-btn-ouro, body.tpl-royal .royal-topo-dir > .royal-btn-vidro { padding: 9px 16px; font-size: 13px; }
body.tpl-royal .royal-saldo { display: flex; align-items: center; gap: 8px; padding: 4px 4px 4px 14px; border-radius: 999px; background: var(--r-sup); border: 1px solid var(--r-borda); }
body.tpl-royal .royal-saldo small { display: none; }
body.tpl-royal .royal-saldo b { font-size: 14px; font-weight: 700; white-space: nowrap; }
body.tpl-royal .royal-saldo .royal-btn-ouro { width: 32px; height: 32px; padding: 0; font-size: 13px; }
body.tpl-royal .royal-saldo .royal-btn-ouro span { display: none; }
body.tpl-royal .royal-avatar { width: 38px; height: 38px; border-radius: 50%; border: 0; cursor: pointer; flex: none; background: linear-gradient(135deg, var(--r-violeta), #e27bff); color: #fff; font-weight: 700; font-size: 15px; }

/* ---------- Banner principal ---------- */
body.tpl-royal .royal-hero { display: block; margin: 14px 16px 0; }
body.tpl-royal .royal-banner {
    position: relative; overflow: hidden; border-radius: 22px; padding: 22px 20px 24px;
    background: linear-gradient(120deg, #2b1c68 0%, #3d1f7a 45%, #1a1236 100%);
    border: 1px solid rgba(177, 156, 255, .2);
}
body.tpl-royal .royal-arte { position: absolute; right: -96px; top: -30px; width: 340px; height: auto; pointer-events: none; opacity: .95; }
body.tpl-royal .royal-arte .moeda-extra { display: none; }
body.tpl-royal .royal-sobre { position: relative; display: block; max-width: 230px; font-size: 10.5px; letter-spacing: 2px; color: var(--r-ouro); font-weight: 700; }
body.tpl-royal .royal-banner h1 { position: relative; font-size: 27px; line-height: 1.1; margin: 8px 0 10px; font-weight: 700; max-width: 215px; color: #fff; }
body.tpl-royal .royal-banner h1 em { color: var(--r-ouro2); font-style: italic; }
body.tpl-royal .royal-banner p { position: relative; color: #d6cff5; font-size: 13.5px; line-height: 1.5; margin: 0 0 16px; max-width: 230px; }
body.tpl-royal .royal-acoes { position: relative; display: flex; gap: 10px; flex-wrap: wrap; }
body.tpl-royal .royal-acoes .royal-btn-vidro { display: none; }
body.tpl-royal .royal-lado { display: none; }
body.tpl-royal .royal-mini { position: relative; overflow: hidden; border-radius: 22px; padding: 20px 22px; border: 1px solid var(--r-borda); display: flex; flex-direction: column; justify-content: space-between; gap: 12px; }
body.tpl-royal .royal-mini h3 { margin: 0; font-size: 21px; font-weight: 700; color: #fff; }
body.tpl-royal .royal-mini p { margin: 4px 0 0; font-size: 13px; color: #d9d3f7; line-height: 1.45; }
body.tpl-royal .royal-mini .royal-btn-ouro, body.tpl-royal .royal-mini .royal-btn-vidro { align-self: flex-start; padding: 9px 18px; font-size: 13px; position: relative; z-index: 1; }
body.tpl-royal .royal-mini.roxo { background: linear-gradient(135deg, #6a3cf0, #3a1f9a); }
body.tpl-royal .royal-mini.verde { background: linear-gradient(135deg, #0f5c46, #0a2e2a); }
body.tpl-royal .royal-deco { position: absolute; right: -6px; bottom: -14px; font-size: 92px; opacity: .16; color: #fff; }

body.tpl-royal .royal-atalhos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 14px 16px 0; }
body.tpl-royal .royal-atalhos a, body.tpl-royal .royal-atalhos button {
    display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 12px 6px;
    border-radius: 16px; border: 1px solid var(--r-borda); background: var(--r-sup); color: #d9d3f7;
    font-size: 12.5px; text-decoration: none; cursor: pointer;
}
body.tpl-royal .royal-atalhos i { font-size: 20px; }
body.tpl-royal .royal-atalhos .ouro { color: var(--r-ouro); }
body.tpl-royal .royal-atalhos .verde { color: var(--r-verde); }
body.tpl-royal .royal-atalhos .violeta { color: var(--r-violeta2); }

/* ---------- Blocos padrão reaproveitados ---------- */
body.tpl-royal .botao-esporte { display: none !important; }

/* Resumo da conta (celular) */
body.tpl-royal .painel-resumo { margin: 14px 16px 0; padding: 0; max-width: none; gap: 12px; }
body.tpl-royal .cartao { background: var(--r-sup) !important; border: 1px solid var(--r-borda) !important; border-radius: 20px !important; box-shadow: none !important; color: var(--r-texto); }
body.tpl-royal .cartao-saldo { background: linear-gradient(150deg, #241b4d, #17122f) !important; }
body.tpl-royal .cartao-rotulo { color: var(--r-mudo) !important; }
body.tpl-royal .cartao-valor { font-family: var(--r-serif) !important; color: #fff; }
body.tpl-royal .cartao-texto { color: var(--r-mudo) !important; }
body.tpl-royal .botao-grande { background: linear-gradient(180deg, var(--r-ouro2), var(--r-ouro) 55%, #d99d22) !important; color: #2a1a00 !important; border: 0 !important; border-radius: 999px !important; font-weight: 700 !important; }
body.tpl-royal .botao-grande.secundario { background: rgba(255, 255, 255, .06) !important; color: var(--r-texto) !important; border: 1px solid var(--r-borda) !important; }
body.tpl-royal .barra { background: rgba(255, 255, 255, .08) !important; }
body.tpl-royal .barra i { background: linear-gradient(90deg, var(--r-violeta), var(--r-ouro)) !important; }
body.tpl-royal .etiqueta.liberado { background: rgba(61, 220, 151, .15) !important; color: var(--r-verde) !important; }
body.tpl-royal .etiqueta.bloqueado { background: rgba(242, 193, 78, .12) !important; color: var(--r-ouro) !important; }
body.tpl-royal .cartao-raspadinha { display: none !important; }
body.tpl-royal .painel-resumo:not(.so-saldo) { grid-template-columns: 1fr; }

/* Slider do painel */
body.tpl-royal .slider-wrapper { max-width: none; margin: 16px 16px 0; padding: 0; position: relative; }
body.tpl-royal .slider-container { border-radius: 20px; overflow: hidden; border: 1px solid var(--r-borda); }
body.tpl-royal .dots { margin-top: 10px; }
body.tpl-royal .dot { background: rgba(255, 255, 255, .25) !important; width: 8px; height: 8px; transition: width .2s; }
body.tpl-royal .dot.active { background: var(--r-ouro) !important; width: 24px; border-radius: 8px; }

/* Ganhos de hoje: faixa corrida */
body.tpl-royal .ganhos-container {
    max-width: none; margin: 16px 16px 0; padding: 0 !important; height: 64px;
    background: var(--r-bg2); border: 1px solid var(--r-borda); border-radius: 16px; overflow: hidden; box-sizing: border-box;
}
body.tpl-royal .ganhos-fixo { flex: 0 0 auto !important; background: transparent !important; padding: 0 14px !important; border-right: 1px solid var(--r-borda); gap: 8px; }
body.tpl-royal .ganhos-fixo i { font-size: 18px !important; color: var(--r-ouro) !important; }
body.tpl-royal .ganhos-fixo span { font-size: 11px; font-weight: 700; letter-spacing: 1.4px; color: var(--r-ouro); white-space: normal; max-width: 80px; }
body.tpl-royal .ganhos-slider .card { background: transparent !important; border-right: 1px solid var(--r-borda); border-radius: 0 !important; min-width: 200px; margin-right: 0 !important; padding: 8px 14px !important; color: var(--r-mudo); font-size: 12.5px; }
body.tpl-royal .ganhos-slider .card img { width: 40px !important; height: 40px !important; border-radius: 10px; object-fit: cover; margin-right: 10px; }
body.tpl-royal .ganhos-slider .card strong { color: #fff; font-weight: 600; }
body.tpl-royal .ganhos-slider .card .valor { color: var(--r-verde) !important; font-weight: 700; }

/* Busca */
body.tpl-royal .busca-container { max-width: none !important; width: auto !important; margin: 16px 16px 0 !important; padding: 0 !important; position: relative; box-sizing: border-box; }
body.tpl-royal .busca-input-icon { position: relative; }
body.tpl-royal .busca-input-icon i { color: #7d7899 !important; left: 18px !important; }
body.tpl-royal .busca-input {
    width: 100%; box-sizing: border-box; border-radius: 999px !important; padding: 13px 18px 13px 46px !important;
    background: var(--r-sup) !important; border: 1px solid var(--r-borda) !important; color: var(--r-texto) !important; font-size: 14.5px !important;
}
body.tpl-royal .busca-input:focus { outline: none; border-color: var(--r-violeta) !important; box-shadow: 0 0 0 3px rgba(139, 108, 255, .2); }
body.tpl-royal .busca-resultado { background: var(--r-sup) !important; border: 1px solid var(--r-borda); border-radius: 16px; margin-top: 8px; color: var(--r-texto); z-index: 950; }
body.tpl-royal .busca-resultado:empty { display: none; }
body.tpl-royal .royal-busca-vaga .busca-container { margin: 0 !important; max-width: 520px !important; }
body.tpl-royal .royal-busca-vaga .busca-resultado { position: absolute; left: 0; right: 0; top: 100%; max-height: 60vh; overflow: auto; box-shadow: 0 20px 40px rgba(0, 0, 0, .5); }

/* Listas de jogos */
body.tpl-royal .content-box { background: transparent !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
body.tpl-royal .container-conteudo { background: transparent !important; max-width: none !important; padding: 0 16px !important; margin: 0 !important; box-sizing: border-box; }
body.tpl-royal .container-conteudo .lista-jogos { padding-left: 0 !important; padding-right: 0 !important; }
body.tpl-royal .lista-jogos { background: transparent !important; max-width: none !important; margin: 0 !important; padding: 6px 16px 0 !important; }
body.tpl-royal .titulo-lista-jogos, body.tpl-royal .aovivo-titulo { font-size: 20px !important; font-weight: 700 !important; color: #fff !important; margin: 22px 0 12px !important; letter-spacing: 0; }
body.tpl-royal .lista-jogos .jogos-container { gap: 10px !important; max-width: none !important; }
body.tpl-royal .lista-jogos .jogo-card {
    background: var(--r-sup) !important; border: 1px solid rgba(255, 255, 255, .08); border-radius: 16px !important;
    min-width: 116px !important; width: 116px; height: auto !important; aspect-ratio: 3 / 4;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .35); transition: transform .2s, box-shadow .2s, border-color .2s;
}
body.tpl-royal .lista-jogos .jogo-card:hover { transform: translateY(-4px) !important; border-color: rgba(242, 193, 78, .5); box-shadow: 0 16px 30px rgba(0, 0, 0, .45), 0 0 0 1px rgba(242, 193, 78, .25); }
body.tpl-royal .lista-jogos .jogo-img { transform: none !important; object-fit: cover !important; object-position: center top !important; border-radius: 0 !important; background: var(--r-sup2) !important; }
body.tpl-royal .lista-jogos .jogo-overlay { background: linear-gradient(180deg, rgba(12, 10, 28, .1), rgba(12, 10, 28, .82)) !important; }
body.tpl-royal .lista-jogos .jogar-btn {
    background: linear-gradient(180deg, var(--r-ouro2), var(--r-ouro) 55%, #d99d22) !important; color: #2a1a00 !important;
    border-radius: 999px !important; font-weight: 700 !important; padding: 9px 16px !important; font-size: 12.5px !important;
    box-shadow: 0 6px 18px rgba(242, 193, 78, .3);
}
body.tpl-royal .btn-ver-mais {
    display: block; margin: 16px auto 4px !important; width: auto !important; min-width: 180px; padding: 11px 26px !important;
    background: rgba(255, 255, 255, .06) !important; color: var(--r-texto) !important; border: 1px solid var(--r-borda) !important; border-radius: 999px !important; font-weight: 500;
}
body.tpl-royal .btn-ver-mais:hover { border-color: var(--r-violeta) !important; }
body.tpl-royal .footer-line { background: var(--r-borda) !important; border-color: var(--r-borda) !important; }

/* Resultados ao vivo */
body.tpl-royal .aovivo-resultados { background: transparent !important; max-width: none !important; margin: 10px 0 0 !important; padding: 0 16px 10px !important; }
body.tpl-royal .aovivo-entry { background: var(--r-sup) !important; border: 1px solid var(--r-borda); border-radius: 14px !important; color: var(--r-mudo) !important; }
body.tpl-royal .aovivo-entry img { border-radius: 10px; }
body.tpl-royal .aovivo-info strong { color: #fff; }
body.tpl-royal .aovivo-amount { color: var(--r-verde) !important; font-weight: 700; }

/* Barra inferior do celular */
body.tpl-royal .royal-barra-inf {
    position: fixed; left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom)); z-index: 940; height: 64px;
    display: grid; grid-template-columns: repeat(5, 1fr); align-items: center;
    background: rgba(26, 21, 53, .94); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
    border: 1px solid var(--r-borda); border-radius: 22px; box-shadow: 0 10px 30px rgba(0, 0, 0, .55);
}
body.tpl-royal .royal-barra-inf a, body.tpl-royal .royal-barra-inf button {
    display: flex; flex-direction: column; align-items: center; gap: 4px; background: none; border: 0; padding: 0;
    color: var(--r-mudo); font-size: 10.5px; text-decoration: none; cursor: pointer;
}
body.tpl-royal .royal-barra-inf i { font-size: 18px; }
body.tpl-royal .royal-barra-inf .on { color: #fff; }
body.tpl-royal .royal-barra-inf .on i { color: var(--r-violeta2); }
body.tpl-royal .royal-barra-inf .royal-central { position: relative; top: -16px; }
body.tpl-royal .royal-barra-inf .royal-central b { width: 56px; height: 56px; padding: 0; border-radius: 50%; border: 4px solid var(--r-bg); font-size: 20px; }
body.tpl-royal .royal-barra-inf .royal-central span { color: var(--r-ouro); font-weight: 700; margin-top: -2px; }
body.tpl-royal { padding-bottom: 92px !important; }
body.tpl-royal .menu-inferior { display: none !important; }

/* Rodapé */
body.tpl-royal .container-footer { max-width: 100% !important; box-sizing: border-box; flex-wrap: wrap; }
body.tpl-royal .footer-column { min-width: 0; }
body.tpl-royal .footer { background: #0a0818 !important; border-top: 1px solid var(--r-borda); color: var(--r-mudo); }
body.tpl-royal .footer h4 { color: var(--r-ouro2) !important; font-style: italic; }
body.tpl-royal .footer a, body.tpl-royal .footer-text, body.tpl-royal .footer-bottom { color: var(--r-mudo) !important; }
body.tpl-royal .footer a:hover { color: #fff !important; }
body.tpl-royal .social-icons a { background: var(--r-sup) !important; border: 1px solid var(--r-borda); color: var(--r-violeta2) !important; }
body.tpl-royal .ver-mais-btn { color: var(--r-violeta2) !important; background: none !important; }

/* Modais, formulários e menus laterais padrão */
body.tpl-royal .overlay { background: rgba(6, 4, 16, .72) !important; backdrop-filter: blur(3px); }
body.tpl-royal .modal:not(.modal-auth) { background: linear-gradient(180deg, #1c1640, #140f2c) !important; border: 1px solid rgba(177, 156, 255, .22); border-radius: 22px !important; box-shadow: 0 30px 80px rgba(0, 0, 0, .6) !important; color: var(--r-texto); }
body.tpl-royal .modal-content h2 { color: #fff !important; font-size: 26px !important; font-weight: 700; }
body.tpl-royal .close-modal { color: var(--r-mudo) !important; }
body.tpl-royal .close-modal:hover { color: #fff !important; }
body.tpl-royal .input-icon input, body.tpl-royal .input-icon textarea, body.tpl-royal .input-icon select {
    background: rgba(255, 255, 255, .05) !important; border: 1px solid var(--r-borda) !important; color: var(--r-texto) !important; border-radius: 14px !important;
}
body.tpl-royal .input-icon input:focus, body.tpl-royal .input-icon textarea:focus { outline: none; border-color: var(--r-violeta) !important; box-shadow: 0 0 0 3px rgba(139, 108, 255, .2); }
body.tpl-royal .input-icon i { color: var(--r-violeta2) !important; }
body.tpl-royal .campo-rotulo { color: #cfc8ee !important; }
body.tpl-royal .submit-button, body.tpl-royal input.submit-button, body.tpl-royal button.submit-button {
    background: linear-gradient(180deg, var(--r-ouro2), var(--r-ouro) 55%, #d99d22) !important; color: #2a1a00 !important;
    border: 0 !important; border-radius: 999px !important; font-weight: 700 !important; box-shadow: 0 6px 20px rgba(242, 193, 78, .25);
}
body.tpl-royal .modal a, body.tpl-royal .recover-password a { color: var(--r-violeta2) !important; }
body.tpl-royal .sidebar, body.tpl-royal .sidebartermo { background: #140f2c !important; border-right: 1px solid var(--r-borda); }
body.tpl-royal .sidebar a { background: rgba(255, 255, 255, .04) !important; border: 1px solid var(--r-borda) !important; color: #d9d3f7 !important; border-radius: 14px !important; box-shadow: none !important; }
body.tpl-royal .sidebar a:hover { background: rgba(139, 108, 255, .12) !important; color: #fff !important; }
body.tpl-royal .sidebar a i, body.tpl-royal .sidebar .close-btn, body.tpl-royal .close-sidebartermo { color: var(--r-violeta2) !important; }
body.tpl-royal .sidebartermo-content, body.tpl-royal .sidebar-content { color: #d9d3f7; }

/* Páginas internas (extrato, afiliado) */
body.tpl-royal .extrato-titulo, body.tpl-royal .afiliado-titulo { font-size: 24px !important; color: #fff !important; text-align: left !important; margin: 24px 0 14px !important; font-weight: 700; }
body.tpl-royal .extrato-table-container, body.tpl-royal .afiliado-table-container { background: transparent !important; padding: 0 !important; max-width: none !important; overflow-x: auto; }
body.tpl-royal .afiliado-info, body.tpl-royal .afiliado-content-link { background: var(--r-sup) !important; border: 1px solid var(--r-borda); border-radius: 18px !important; color: #d9d3f7 !important; }
body.tpl-royal .pagination-btn { background: var(--r-sup) !important; border: 1px solid var(--r-borda) !important; color: var(--r-texto) !important; border-radius: 10px !important; }
body.tpl-royal .pagination-btn.active, body.tpl-royal .pagination-btn.ativo { background: var(--r-violeta) !important; color: #fff !important; }
body.tpl-royal .content-box table { background: var(--r-sup) !important; border-radius: 16px; overflow: hidden; }
body.tpl-royal .content-box th { background: var(--r-sup2) !important; color: var(--r-mudo) !important; }
body.tpl-royal .content-box td { border-color: var(--r-borda) !important; color: var(--r-texto); }

/* =====================================================================
   Computador (a partir de 1024 px): menu lateral fixo + conteúdo largo
   ===================================================================== */
@media (min-width: 1024px) {
    body.tpl-royal { padding-left: var(--r-lateral) !important; padding-bottom: 0 !important; }
    body.tpl-royal .royal-lateral {
        display: flex; flex-direction: column; gap: 22px;
        position: fixed; left: 0; top: 0; bottom: 0; width: var(--r-lateral); box-sizing: border-box; z-index: 920;
        padding: 24px 16px; overflow-y: auto;
        background: rgba(16, 13, 36, .92); border-right: 1px solid var(--r-borda);
    }
    body.tpl-royal .royal-marca-mob { display: none; }
    body.tpl-royal .royal-barra-inf { display: none; }

    body.tpl-royal .royal-topo { padding: 18px 34px; gap: 16px; background: rgba(12, 10, 28, .7); }
    body.tpl-royal .royal-saldo { padding: 6px 6px 6px 18px; gap: 12px; }
    body.tpl-royal .royal-saldo small { display: block; font-size: 11px; color: var(--r-mudo); line-height: 1; margin-bottom: 2px; }
    body.tpl-royal .royal-saldo b { font-size: 16px; }
    body.tpl-royal .royal-saldo .royal-btn-ouro { width: auto; height: auto; padding: 10px 18px; font-size: 14px; }
    body.tpl-royal .royal-saldo .royal-btn-ouro span { display: inline; }
    body.tpl-royal .royal-avatar { width: 44px; height: 44px; }
    body.tpl-royal .royal-topo-dir > .royal-btn-ouro, body.tpl-royal .royal-topo-dir > .royal-btn-vidro { padding: 11px 22px; font-size: 14px; }

    body.tpl-royal .royal-hero, body.tpl-royal .slider-wrapper, body.tpl-royal .ganhos-container,
    body.tpl-royal .busca-container, body.tpl-royal .lista-jogos, body.tpl-royal .aovivo-resultados,
    body.tpl-royal .painel-resumo, body.tpl-royal .royal-atalhos { max-width: 1240px !important; margin-left: auto !important; margin-right: auto !important; box-sizing: border-box; }
    body.tpl-royal .royal-hero { display: grid; grid-template-columns: 1fr 330px; gap: 18px; min-height: 330px; padding: 0 34px; margin-top: 24px; }
    body.tpl-royal .royal-banner { border-radius: 26px; padding: 44px 46px; display: flex; flex-direction: column; justify-content: center; }
    body.tpl-royal .royal-arte { right: -110px; top: -20px; width: 540px; }
    body.tpl-royal .royal-arte .moeda-extra { display: inline; }
    body.tpl-royal .royal-sobre { max-width: none; }
    body.tpl-royal .royal-sobre { font-size: 12px; letter-spacing: 2.4px; }
    body.tpl-royal .royal-banner h1 { font-size: 46px; line-height: 1.05; max-width: 540px; margin: 12px 0 14px; }
    body.tpl-royal .royal-banner p { font-size: 15.5px; max-width: 440px; margin-bottom: 22px; }
    body.tpl-royal .royal-acoes .royal-btn-ouro, body.tpl-royal .royal-acoes .royal-btn-vidro { display: inline-flex; padding: 14px 28px; font-size: 15px; }
    body.tpl-royal .royal-lado { display: grid; grid-template-rows: 1fr 1fr; gap: 18px; }
    body.tpl-royal .royal-atalhos { display: none; }

    body.tpl-royal .painel-resumo { display: none !important; }
    body.tpl-royal .slider-wrapper { padding: 0 34px; margin-top: 22px !important; }
    body.tpl-royal .ganhos-container { padding: 0 !important; margin-top: 20px !important; width: calc(100% - 68px); max-width: 1172px !important; }
    body.tpl-royal .ganhos-fixo span { max-width: none; white-space: nowrap; }
    body.tpl-royal .ganhos-fixo span br { display: none; }
    body.tpl-royal .busca-container { padding: 0 34px !important; }
    body.tpl-royal .royal-busca-vaga .busca-container { padding: 0 !important; }
    body.tpl-royal .lista-jogos, body.tpl-royal .aovivo-resultados { padding-left: 34px !important; padding-right: 34px !important; }
    body.tpl-royal .container-conteudo { max-width: 1240px !important; margin: 0 auto !important; padding: 0 34px !important; }
    body.tpl-royal .container-conteudo .lista-jogos { padding-left: 0 !important; padding-right: 0 !important; }
    body.tpl-royal .titulo-lista-jogos, body.tpl-royal .aovivo-titulo { font-size: 24px !important; margin: 30px 0 14px !important; }
    body.tpl-royal .lista-jogos .jogos-container { display: grid !important; grid-template-columns: repeat(7, minmax(0, 1fr)); overflow: visible !important; gap: 16px !important; }
    body.tpl-royal .lista-jogos .jogo-card { width: auto; min-width: 0 !important; border-radius: 18px !important; }
    body.tpl-royal .modal:not(.modal-auth) { max-width: 440px !important; }
    body.tpl-royal .sidebar { z-index: 960 !important; }
}
@media (min-width: 1024px) and (max-width: 1280px) {
    body.tpl-royal .lista-jogos .jogos-container { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    body.tpl-royal .royal-hero { grid-template-columns: 1fr 280px; }
    body.tpl-royal .royal-banner h1 { font-size: 38px; }
}

/* =====================================================================
   v5.7 — Telas de login / cadastro (estrutura em /assets/auth.css)
   ===================================================================== */
body.tpl-royal {
    --auth-fundo: #140f2c;
    --auth-texto: #f3f0ff;
    --auth-mudo: #a49fc0;
    --auth-borda: rgba(177, 156, 255, .22);
    --auth-campo: rgba(255, 255, 255, .05);
    --auth-campo-borda: rgba(167, 143, 255, .16);
    --auth-raio: 26px;
    --auth-raio-campo: 14px;
    --auth-arte: linear-gradient(160deg, #3d1f7a, #2b1c68 45%, #140f2c);
    --auth-botao: linear-gradient(180deg, #ffdf8a, #f2c14e 55%, #d99d22);
    --auth-botao-texto: #2a1a00;
    --auth-link: #b19cff;
}
body.tpl-royal .modal-auth .auth-abas button.ativo { background: linear-gradient(135deg, #8b6cff, #6a4cf0); color: #fff; }
body.tpl-royal .modal-auth .modal-content h2 { font-family: var(--r-serif) !important; font-weight: 700; }
body.tpl-royal .modal-auth .auth-arte h3 { font-family: var(--r-serif) !important; }
body.tpl-royal .modal-auth .auth-arte h3 em { color: #ffdf8a; font-style: italic; }
body.tpl-royal .modal-auth .auth-arte li i { color: #f2c14e; }
body.tpl-royal .modal-auth .create-account a { color: #ffdf8a !important; }
body.tpl-royal .modal-auth input.submit-button { box-shadow: 0 8px 24px rgba(242, 193, 78, .3); }
body.tpl-royal .royal-auth-moeda { right: -150px; top: -40px; width: 330px; }
body.tpl-royal .royal-auth-moeda .royal-arte { position: static; width: 100%; }
body.tpl-royal .royal-auth-moeda .moeda-extra { display: none; }
@media (min-width: 900px) {
    body.tpl-royal .royal-auth-moeda { right: auto; left: -70px; top: 80px; width: 520px; }
    body.tpl-royal .royal-auth-moeda .moeda-extra { display: inline; }
}
body.tpl-royal { --auth-fonte: var(--r-sans); }
html:has(body.tpl-royal) { scrollbar-color: #3a2f6b #0c0a1c; }
body.tpl-royal ::-webkit-scrollbar-thumb { background-color: #3a2f6b; }
body.tpl-royal .modal, body.tpl-royal .sidebar { scrollbar-color: #3a2f6b transparent; }
