/* custom.css — casinodemo (Bicho Nacional). Carregado DEPOIS do brand.css (regra 1 do CLAUDE.md).
 * Layout fica FLUIDO como no topzinho.com. Este arquivo só esconde slides que vieram
 * sem imagem na captura (lazy-load fora da tela em 1440px). Na fase 2 os carrosséis
 * passam a ser gerados pelo PHP com os jogos reais e isto deixa de ser necessário. */

/* card de jogo capturado sem <img> (tem um <div> vazio no lugar) */
.swiper-slide:has(> .game-card > .game-card__image > div:first-child) { display: none; }

/* provedor capturado sem logo */
.swiper-slide:has(> .casino-provider-item-wrapper > .provider-item:empty) { display: none; }

/* header em 1 linha (device=desktop): mostra 8 itens no menu, o resto fica no "Mais" (como o topzinho faz por JS) */
html[device="desktop"] ul[data-qa-id="navigation-list"] > li:nth-child(n+9) { display: none; }

/* logo provisoria (Aposta Muito, 580x100) e larga demais pro espaco do header (160x56); limita ate vir a logo do Bicho Nacional */
.header .header__logo { max-width: 200px !important; height: auto !important; max-height: var(--header-logo-height) !important; object-fit: contain; }

/* header LOGADO e mais largo (sino + saldo + depositar + avatar): mostra 6 itens no menu, resto no "Mais" */
html[device="desktop"] .header:has(.balance-wrap) ul[data-qa-id="navigation-list"] > li:nth-child(n+7) { display: none; }
.header .header__logo { max-width: 160px !important; }
/* widget de saldo vira link (o dropdown original era JS do Vue) */
.balance-wrap { cursor: pointer; }

/* tela de jogo: modo "semi tela cheia" (frame ocupa a janela inteira) */
.game-dialog.cd-semifull { position: fixed !important; inset: 0 !important; z-index: 9999 !important; background: #000; }
.game-dialog.cd-semifull .game-dialog__content, .game-dialog.cd-semifull .game-dialog__body { width: 100% !important; height: 100% !important; max-width: none !important; padding: 0 !important; }
.game-dialog.cd-semifull .game-iframe-wrap { height: calc(100% - 54px) !important; }

/* select nativo com a cara dos inputs do design (usado no saque) */
.cd-select { position: relative; display: block; }
.cd-select__label { position: absolute; top: 10px; left: 16px; font-size: 13px; opacity: .7; pointer-events: none; }
.cd-select__el { width: 100%; height: 100%; min-height: 64px; padding: 26px 44px 8px 16px; background: transparent; border: 0; outline: 0; color: inherit; font: inherit; font-weight: 600; appearance: none; -webkit-appearance: none; cursor: pointer; }
.cd-select__el option { background: var(--paper-main, #111); color: var(--text-main, #fff); }
.cd-select__arrow { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); pointer-events: none; opacity: .8; }

/* select do saque: label fixo em cima, valor embaixo (nao usa .label do design) */
.cd-select { display: block !important; height: 64px !important; padding: 0 !important; }
.cd-select__label { position: absolute !important; top: 11px !important; left: 16px !important; font-size: 12px !important; line-height: 1 !important; opacity: .65; transform: none !important; }
.cd-select__el { position: absolute; inset: 0; padding: 26px 44px 0 16px !important; font-size: 16px; }

/* widget "Jogo da sorte" do topzinho (imagens perdidas na captura): fora */
.lucky-game-widget { display: none !important; }

/* lateral do cassino: 2o bloco = "temas" do topzinho (777, Asia, Egito...) sem icones e sem equivalente nosso -> fora */
.left-sidebar .expander + .expander { display: none !important; }

/* dropdown do "Mais" (header) — visual dos cards do topzinho */
.header .more-menu-wrap { position: relative; }
.cd-more { position: absolute; top: calc(100% + 10px); right: 0; min-width: 290px; padding: 10px; border-radius: 16px; background: var(--paper-main, #111); box-shadow: 0 16px 40px rgba(0,0,0,.45); z-index: 700; display: flex; flex-direction: column; gap: 8px; }
.cd-more__item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-radius: 12px; background: var(--paper-dark, #1d1d1d); color: var(--text-main, #fff); font-weight: 700; text-decoration: none; }
.cd-more__item:hover { background: var(--secondary-main, #333); }
.cd-more__item img { width: 44px; height: 44px; object-fit: contain; }
.button--menu-more-open .icon-arrow-down { transform: rotate(180deg); }

/* menu lateral mobile: bloco de links do perfil (injetado pelo app) */
.cd-mob-perfil ul { display: flex; flex-direction: column; gap: 6px; padding: 8px 0 12px; }
.cd-mob-perfil .nav-item { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 12px; background: var(--paper-dark, #1d1d1d); color: var(--text-main, #fff); font-weight: 700; text-decoration: none; }
.cd-mob-perfil .nav-item i { font-size: 20px; opacity: .9; }

/* cards capturados com placeholder do UX (vencedores, rally, esportes, reels): fora */
.recent-winners li:has(img[src$="placeholder.svg"]),
.swiper-slide:has(> .game-card img[src$="placeholder.svg"]),
.swiper-slide:has(> .spin-rally-card img[src$="placeholder.svg"]),
.game-slider > li:has(> .game-card img[src$="placeholder.svg"]) { display: none !important; }

/* banner no celular: um slide por vez -> sem esmaecer o nao-ativo */
html[device="mobile"] .carousel__slide { opacity: 1 !important; }

/* banner principal (main-placard): todos os slides em opacidade total, nao so o ativo */
.main-placard .carousel__slide { opacity: 1 !important; }

/* brilho ("flash") dos botoes: mais lento e visivel; tambem nos "Todos" e "Depositar" */
html[skin="default"] .button--animation-sign-up:before { animation-duration: 3s !important; width: 60px !important; }
.widget-header-view-all, .header-deposit-button, [aria-label="Depositar"].button--filled-primary-main { position: relative; overflow: hidden; }
.widget-header-view-all:before, .header-deposit-button:before, [aria-label="Depositar"].button--filled-primary-main:before {
  content: ""; position: absolute; top: -10px; left: -100%; width: 50px; height: 60px; z-index: 0; pointer-events: none;
  background: color-mix(in srgb, var(--white) 55%, transparent); filter: blur(10px); rotate: -60deg; transform-origin: center;
  animation: btnSignUpAnim 3.6s ease-in-out infinite;
}
.widget-header-view-all > *, .header-deposit-button > * { position: relative; z-index: 1; }

/* menu lateral mobile deslizante (injetado pelo app) */
.burger-sidebar--mobile { transition: transform .3s ease !important; top: var(--header-height); }
.cd-menu-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.55); opacity: 0; pointer-events: none; transition: opacity .3s ease; z-index: 414; }
.cd-menu-backdrop--on { opacity: 1; pointer-events: auto; }

/* telas desktop servidas ao celular (saldo, saque, QR, senha, bonus, historico...): sem barras laterais, conteudo em tela cheia */
html[device="mobile"] .left-sidebar, html[device="mobile"] .left-sidebar--profile, html[device="mobile"] .left-sidebar--gamex { display: none !important; }
html[device="mobile"] .main-container.without-right-sidebar .main-content, html[device="mobile"] .main-container .main-content { width: 100% !important; max-width: 100% !important; padding-inline: 12px; box-sizing: border-box; }
html[device="mobile"] .main-container.without-right-sidebar { padding-inline: 0 !important; }
html[device="mobile"] .payment-history__list, html[device="mobile"] .bonuses-list { grid-template-columns: 1fr !important; max-width: 100% !important; }
html[device="mobile"] .tabs-list { overflow-x: auto; -webkit-overflow-scrolling: touch; }
html[device="mobile"] .game-list.game-list--swiper-default { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } /* minmax(0,…): sem ele a coluna cresce até a largura da imagem (width="200") e a grade passa da tela */
html[device="mobile"] .qr-code-widget img { max-width: 100%; height: auto; }

/* QR do PIX no celular: menor, pra caber QR + codigo copia-e-cola na mesma tela */
html[device="mobile"] .deposit-qr-container__image img { max-width: 180px !important; width: 180px; height: auto; margin: 0 auto; display: block; }
html[device="mobile"] .deposit-qr-container { padding-bottom: 90px; }



/* perfil: nascimento e genero (sem coluna no banco ainda) ficam escondidos */
.profile-info-form .form-input:has(#select-day), .profile-info-form .form-input:has(#select-month), .profile-info-form .form-input:has(#select-year), .profile-info-form .form-input:has(#select-gender), .profile-info-form .group:has(#select-day), .profile-info-form label:has(#select-gender) { display: none !important; }

/* popup configuravel (cd_popups) — usa o .dialog do design */
.cd-popup { align-items: center; }
.cd-popup .dialog__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.7); }
.cd-popup__content { position: relative; width: min(440px, calc(100% - 32px)); max-height: calc(100% - 32px); overflow: auto; border-radius: 20px; background: var(--paper-main, #111); color: var(--text-main, #fff); box-shadow: 0 24px 60px rgba(0,0,0,.6); }
.cd-popup .dialog__header { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px 0; }
.cd-popup .dialog__header h2 { margin: 0; font-size: 20px; font-weight: 800; }
.cd-popup .dialog__header .icon-close { cursor: pointer; font-size: 20px; padding: 6px; }
.cd-popup .dialog__body { padding: 12px 18px 18px; }
.cd-popup__img { width: 100%; height: auto; border-radius: 14px; display: block; }
.cd-popup__text { margin: 0; font-size: 15px; line-height: 1.45; opacity: .92; }
.cd-popup__btn { margin-top: 4px; text-decoration: none; }

/* favoritos: estrela apagada = nao favorito; acesa = favorito */
.game-card__favorites { opacity: .55; transition: opacity .15s, color .15s; }
.game-card__favorites.cd-fav-on { opacity: 1; color: #ffc53d !important; }

/* estrela de favoritos: mais visivel e clicavel no iOS (precisa de cursor:pointer) */
.game-card__favorites { cursor: pointer !important; opacity: .8; -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
.game-card__favorites.cd-fav-on { opacity: 1; color: #ffc53d !important; }

/* celular: botoes da barra do jogo (X, tela cheia, nova aba, depositar) com area de toque maior e espaco entre eles */
html[device="mobile"] .icon-close[role="button"], html[device="mobile"] [aria-label="Close Dialog"], html[device="mobile"] [aria-label="Fechar"], html[device="mobile"] .cd-game-close { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; font-size: 22px; }
html[device="mobile"] .cd-game-tools, html[device="mobile"] .game-launch__actions, html[device="mobile"] .header--game-launch .actions { gap: 14px !important; }
html[device="mobile"] .cd-game-tools button, html[device="mobile"] .header--game-launch .actions button { min-width: 44px; min-height: 44px; }

/* ============================================================================
   TORNEIOS — página própria (telas/torneios.html + telas/torneio-detalhe.html; back: app/torneios_pagina.php)
   Componentes: tournament-card, tournament-hero, tournament-metric, tournament-rank-row, tournament-prize-row, tournament-game
   Só tokens do brand.css. Celular = mesma tela com html[device="mobile"] (+ media query pra janela estreita).
   ============================================================================ */
.tournaments, .tournament { width: 100%; max-width: 1200px; margin: 0 auto; padding: 28px 24px 48px; color: var(--text-main); box-sizing: border-box; }
.tournaments *, .tournament * { box-sizing: border-box; }
.tournaments__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 8px; flex-wrap: wrap; }
.tournaments__intro h1 { margin: 0; font-size: 32px; line-height: 1.1; font-weight: 700; letter-spacing: -.02em; }
.tournaments__intro p { margin: 6px 0 0; color: var(--secondary-light); font-size: 15px; }
.tournaments__actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.tournaments__tabs { display: flex; gap: 4px; padding: 4px; background: var(--paper-dark); border: 1px solid var(--paper-light); border-radius: 12px; }
.tournaments__tab { padding: 8px 14px; border: 0; border-radius: 9px; background: none; color: var(--secondary-light); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; white-space: nowrap; }
.tournaments__tab--active { background: var(--secondary-main); color: var(--text-main); }
.tournaments__rally { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px; border-radius: 10px; border: 1px solid var(--secondary-main); background: var(--paper-dark); color: var(--text-main); font-size: 13px; font-weight: 600; text-decoration: none; }
.tournaments__rally i { color: var(--primary-main); }
.tournaments__title { display: flex; align-items: center; gap: 10px; margin: 28px 0 14px; font-size: 18px; font-weight: 600; }
.tournaments__count { font-size: 12px; color: var(--secondary-light); background: var(--paper-dark); border: 1px solid var(--paper-light); padding: 2px 8px; border-radius: 99px; }
.tournaments__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.tournaments__grid .empty-block { grid-column: 1 / -1; }

/* tag/pílula */
.tournament-tag { display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 10px; border-radius: 99px; font-size: 11px; font-weight: 600; background: rgba(10,11,10,.6); color: var(--text-main); border: 1px solid rgba(255,255,255,.18); backdrop-filter: blur(6px); white-space: nowrap; }
.tournament-tag--live { color: var(--primary-main); border-color: var(--primary-main); background: rgba(10,11,10,.7); }
.tournament-tag--live::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--primary-main); animation: cd-tor-pulse 1.4s infinite; }
.tournament-tag--soon { color: var(--info-main); border-color: var(--info-main); }
.tournament-tag--end { color: var(--secondary-light); border-color: var(--secondary-main); }
.tournament-tag--count i { font-size: 13px; }
@keyframes cd-tor-pulse { 50% { opacity: .3; } }

/* posição (1/2/3 = ouro/prata/bronze) */
.tournament-pos { display: inline-grid; place-items: center; min-width: 28px; height: 26px; padding: 0 6px; border-radius: 7px; font-size: 12px; font-weight: 700; background: var(--paper-light); border: 1px solid var(--secondary-main); color: var(--text-main); }
.tournament-pos--1 { background: #E8B93A; border-color: #E8B93A; color: #0A0B0A; }
.tournament-pos--2 { background: #C9CCD3; border-color: #C9CCD3; color: #0A0B0A; }
.tournament-pos--3 { background: #C9824F; border-color: #C9824F; color: #0A0B0A; }

/* card da lista */
.tournament-card { display: flex; flex-direction: column; overflow: hidden; border-radius: 14px; background: var(--paper-dark); border: 1px solid var(--paper-light); color: var(--text-main); text-decoration: none; transition: border-color .2s, transform .2s; }
.tournament-card:hover { border-color: var(--secondary-dark); transform: translateY(-2px); }
.tournament-card__art { position: relative; aspect-ratio: 16 / 8; overflow: hidden; background: radial-gradient(120% 90% at 85% 10%, var(--primary-dark), transparent 60%), var(--paper-light); }
.tournament-card__art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tournament-card__art--blur img { inset: -20px; width: calc(100% + 40px); height: calc(100% + 40px); filter: blur(14px) saturate(1.3) brightness(.6); }
.tournament-card__tags { position: absolute; top: 12px; left: 12px; right: 12px; display: flex; gap: 6px; flex-wrap: wrap; }
.tournament-card__art > .tournament-tag--count { position: absolute; left: 12px; bottom: 12px; }
.tournament-card__body { display: flex; flex-direction: column; gap: 14px; flex: 1; padding: 16px; }
.tournament-card__title { margin: 0; font-size: 17px; font-weight: 600; }
.tournament-card__call { margin: 4px 0 0; font-size: 13px; line-height: 1.4; color: var(--secondary-light); }
.tournament-podium { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.tournament-podium__item { display: flex; align-items: center; gap: 8px; padding: 8px; border-radius: 10px; background: var(--papaer-tertiary); border: 1px solid var(--paper-light); min-width: 0; }
.tournament-podium__item .tournament-pos { min-width: 22px; height: 22px; font-size: 11px; }
.tournament-podium__item b { font-size: 13px; line-height: 1.2; overflow-wrap: anywhere; }
.tournament-card__foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 14px; border-top: 1px dashed var(--secondary-main); }
.tournament-card__foot small { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--secondary-light); }
.tournament-card__foot b { font-size: 20px; font-weight: 700; color: var(--primary-main); }
.tournament-card__time { text-align: right; }
.tournament-card__time b { font-size: 14px; color: var(--text-main); font-variant-numeric: tabular-nums; }
.tournament-card--end { opacity: .75; }
.tournament-card--end .tournament-card__foot b { color: var(--text-main); }

/* detalhe */
.tournament__back { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 16px; color: var(--secondary-light); font-size: 14px; text-decoration: none; }
.tournament-hero { position: relative; overflow: hidden; border-radius: 18px; border: 1px solid var(--paper-light); background: var(--paper-dark); min-height: 340px; display: flex; }
.tournament-hero__art { position: absolute; inset: 0; background: radial-gradient(120% 90% at 85% 10%, var(--primary-dark), transparent 60%), var(--paper-light); }
.tournament-hero__art img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tournament-hero__art--blur img { filter: blur(18px) saturate(1.3) brightness(.55); transform: scale(1.15); }
.tournament-hero__in { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; gap: 12px; width: 100%; padding: 28px 32px; background: linear-gradient(90deg, rgba(10,11,10,.92) 0%, rgba(10,11,10,.55) 50%, transparent 80%); }
.tournament-hero__in h1 { margin: 0; max-width: 600px; font-size: 40px; line-height: 1.05; font-weight: 700; letter-spacing: -.03em; color: #fff; }
.tournament-hero__in p { margin: 0; max-width: 500px; font-size: 15px; line-height: 1.45; color: #ECEAE4; }
.tournament-hero__cta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.tournament-hero__note { font-size: 13px; color: #B8BAB2; }
.tournament-hero__note--ok { color: var(--primary-main); }
.tournament-btn { display: inline-flex; align-items: center; justify-content: center; height: 42px; padding: 0 18px; border-radius: 10px; border: 1px solid rgba(255,255,255,.2); background: rgba(10,11,10,.55); color: #fff; font: inherit; font-size: 14px; font-weight: 600; text-decoration: none; cursor: pointer; white-space: nowrap; }
.tournament-btn--primary { background: var(--primary-main); border-color: var(--primary-main); color: var(--text-dark); }
.tournament-btn:disabled { opacity: .6; cursor: default; }
.tournament-countdown { position: absolute; top: 20px; right: 20px; z-index: 2; display: flex; align-items: center; gap: 10px; padding: 8px 12px; border-radius: 12px; background: rgba(10,11,10,.75); border: 1px solid rgba(255,255,255,.14); backdrop-filter: blur(8px); color: #fff; }
.tournament-countdown small { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: #B8BAB2; }
.tournament-countdown__n { display: flex; gap: 4px; font-variant-numeric: tabular-nums; }
.tournament-countdown__n span { min-width: 30px; padding: 4px 6px; border-radius: 6px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); text-align: center; font-size: 15px; font-weight: 700; }
.tournament-countdown__n i { align-self: center; font-style: normal; color: #8A8C84; }
.tournament-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 18px 0 26px; }
.tournament-metric { padding: 16px; border-radius: 14px; background: var(--paper-dark); border: 1px solid var(--paper-light); }
.tournament-metric small { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--secondary-light); }
.tournament-metric small i { color: var(--primary-main); }
.tournament-metric b { display: block; margin-top: 6px; font-size: 20px; font-weight: 700; letter-spacing: -.02em; }
.tournament-metric__hl { color: var(--primary-main); }
.tournament-metric em { display: block; margin-top: 2px; font-style: normal; font-size: 12px; color: var(--secondary-light); }
.tournament__cols { display: grid; grid-template-columns: 1.6fr 1fr; gap: 18px; align-items: start; }
.tournament-box { overflow: hidden; border-radius: 14px; background: var(--paper-dark); border: 1px solid var(--paper-light); }
.tournament-box__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 16px 18px; border-bottom: 1px solid var(--paper-light); }
.tournament-box__head h2 { margin: 0; font-size: 16px; font-weight: 600; }
.tournament-box__head small { font-size: 12px; color: var(--secondary-light); }
.tournament-ranking__table { width: 100%; border-collapse: collapse; font-size: 14px; font-variant-numeric: tabular-nums; }
.tournament-ranking__table th { padding: 10px 18px; text-align: left; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .07em; color: var(--secondary-light); }
.tournament-ranking__table td { padding: 11px 18px; border-top: 1px solid var(--paper-light); }
.tournament-ranking__table th:last-child, .tournament-ranking__table td:last-child { text-align: right; }
.tournament-rank__who { display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.tournament-rank__avatar { display: grid; place-items: center; width: 26px; height: 26px; flex: none; border-radius: 50%; background: var(--secondary-main); font-size: 10px; font-weight: 600; color: #B8BAB2; }
.tournament-rank__me { margin-left: 4px; padding: 2px 6px; border-radius: 5px; background: var(--primary-main); color: var(--text-dark); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.tournament-rank__pts, .tournament-rank__prize { white-space: nowrap; }
.tournament-rank__prize--top { color: var(--primary-main); font-weight: 600; }
.tournament-rank--me td { background: var(--primary-dark); border-top-color: var(--primary-main); }
.tournament-rank--me .tournament-rank__avatar { background: var(--primary-main); color: var(--text-dark); }
.tournament-rank--gap td { padding: 4px; text-align: center !important; font-size: 12px; letter-spacing: .3em; color: var(--secondary-light); }
.tournament-rank--vazio td { padding: 24px 18px; text-align: center !important; color: var(--secondary-light); }
.tournament-prize { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 18px; border-top: 1px solid var(--paper-light); font-size: 14px; }
.tournament-prizes__rows .tournament-prize:first-child { border-top: 0; }
.tournament-prize__pos { display: flex; align-items: center; gap: 12px; }
.tournament-prize b { white-space: nowrap; font-variant-numeric: tabular-nums; }
.tournament-prizes__foot { margin: 0; padding: 12px 18px 16px; border-top: 1px solid var(--paper-light); font-size: 12px; line-height: 1.5; color: var(--secondary-light); }
.tournament-games__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.tournament-game { display: block; min-width: 0; color: var(--text-main); text-decoration: none; }
.tournament-game__img { aspect-ratio: 1; overflow: hidden; border-radius: 12px; background: radial-gradient(120% 90% at 85% 10%, var(--primary-dark), transparent 60%), var(--paper-light); border: 1px solid var(--paper-light); }
.tournament-game__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tournament-game p { margin: 8px 0 0; font-size: 13px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tournament-game small { font-size: 11px; color: var(--secondary-light); }
.tournament-rules { margin-top: 26px; }
.tournament-rules summary { display: flex; justify-content: space-between; padding: 16px 18px; font-weight: 600; cursor: pointer; list-style: none; }
.tournament-rules summary::-webkit-details-marker { display: none; }
.tournament-rules summary::after { content: "+"; color: var(--secondary-light); font-size: 18px; }
.tournament-rules[open] summary::after { content: "–"; }
.tournament-rules__list { margin: 0; padding: 0 18px 18px 38px !important; list-style: decimal !important; font-size: 14px; line-height: 1.7; color: #B8BAB2; }

.tournament-rules__list li { display: list-item; }

/* tablet / celular */
@media (max-width: 1100px) { .tournaments__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tournament-games__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .tournaments, .tournament { padding: 18px 16px 32px; }
  .tournaments__head { flex-direction: column; align-items: stretch; }
  .tournaments__intro h1 { font-size: 26px; }
  .tournaments__actions { flex-direction: column; align-items: stretch; }
  .tournaments__tabs { overflow-x: auto; scrollbar-width: none; }
  .tournaments__tab { flex: 1; }
  .tournaments__rally { justify-content: center; }
  .tournaments__grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .tournaments__tab { padding: 8px 10px; }
  .tournament-podium__item { flex-direction: column; align-items: flex-start; gap: 6px; }
  .tournament-podium__item b { white-space: nowrap; }
  .tournament-hero { min-height: 460px; }
  .tournament-hero__in { padding: 18px; background: linear-gradient(0deg, rgba(10,11,10,.96) 0%, rgba(10,11,10,.7) 45%, transparent 75%); }
  .tournament-hero__in h1 { font-size: 28px; }
  .tournament-hero__in p { font-size: 14px; }
  .tournament-hero__cta { width: 100%; }
  .tournament-hero__cta .tournament-btn { flex: 1; }
  .tournament-hero__note { width: 100%; }
  .tournament-countdown { left: 16px; right: 16px; top: 16px; justify-content: space-between; }
  .tournament-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .tournament-metric { padding: 14px; }
  .tournament-metric b { font-size: 16px; }
  .tournament__cols { grid-template-columns: minmax(0, 1fr); }
  .tournament-ranking__table th, .tournament-ranking__table td { padding-left: 10px; padding-right: 10px; }
  .tournament-rank__avatar { display: none; }
  .tournament-games__grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .tournament-game { flex: 0 0 40%; scroll-snap-align: start; }
}

/* home (desktop e celular): busca de jogos logo abaixo do banner (telas/home, logado-home, mobile-home, mobile-logado-home; seção BUSCA DE JOGOS). Enter → cassino-todos&q= (app/lobby.php) */
.home-search { width: min(1040px, 78vw); margin: 14px auto 6px; }
.home-search .form-input, .home-search .input-field { width: 100%; }
.home-search .input-field { height: 48px; border-radius: 12px; }
html[device="mobile"] .home-search { width: auto; margin: 12px 0 4px; }
html[device="mobile"] .home-search .input-field { height: 44px; }

/* home: "Os Mais Jogados" (top 10; partial top10-item, gerado por cd_top10_bloco() em app/lobby.php). O main.css do tema já posiciona
   .game-slider--top10 / .top-ten-text (era um <canvas>); aqui o número vira texto vazado na cor da marca e a fileira rola de lado. */
.game-slider--top10 { display: flex; gap: 6px; overflow-x: auto; overflow-y: hidden; padding: 4px 0 8px; scrollbar-width: none; scroll-snap-type: x proximity; }
.game-slider--top10::-webkit-scrollbar { display: none; }
.game-slider--top10 li { flex: 0 0 auto; scroll-snap-align: start; cursor: pointer; }
.game-slider--top10 li .game-card { position: relative; z-index: 1; margin-inline-start: 72px; }
.game-slider--top10 .top-ten-text { z-index: 0; top: auto; bottom: 34px; inset-inline-start: 0; width: auto; text-align: left; font-size: 128px; line-height: .8; font-weight: 700; letter-spacing: -6px; color: var(--main-background); -webkit-text-stroke: 3px var(--primary-main); paint-order: stroke fill; user-select: none; }
.game-slider--top10 li:first-child .top-ten-text { color: var(--primary-main); -webkit-text-stroke: 0; }
html[device="mobile"] .game-slider--top10 li .game-card { margin-inline-start: 40px; }
html[device="mobile"] .game-slider--top10 .top-ten-text { font-size: 76px; letter-spacing: -4px; -webkit-text-stroke-width: 2px; bottom: 30px; }
