/* ── OddsIQ V2 · CASSINO (frente cassino-v2, dono 24/10/2026 ~03h10) ────────────────────────────────────────────────────
   O cassino dentro da casca da V2, na tela inteira (sem max-width: em 2560 a grade ganha colunas). Só tokens do v2.css
   (claro e noturno pelo html[data-theme]); prefixo .v2c- (nada de .card/.hero/.ev soltos). Regras da casa: tudo pousa no
   chão (filete + espaço, nunca caixa com sombra); verde-claro = ação/ativo; branco = escolhido; amarelo só no foco e no
   botão do destaque; capas do fornecedor COMO VÊM (r12, cover só para encaixar a proporção da grade); arte do Runway só
   na moldura (destaques e categorias), com alfa — some no claro e no noturno igual. ── */
.v2c{--cw-pai:178px;--cw-ret:122px;--gw-pai:150px;--gw-ret:104px;--cg:12px;--rh:164px}
.v2c-in{min-width:0;padding:0 0 8px}
html.v2c-trava,html.v2c-trava body{overflow:hidden}

/* ── cabeçalho: título + busca, depois as áreas do cassino ── */
.v2c-cab{margin:0 var(--mg)}
.v2c-cab-l{display:grid;gap:10px;padding:16px 4px 10px}
.v2c-h1{display:flex;align-items:center;gap:10px;font-size:24px;line-height:1.1;font-weight:900;color:var(--ink)}
.v2c-h1 .ic svg{width:26px;height:26px;color:var(--acc)}
.v2c-bus{position:relative;display:flex;align-items:center;height:46px;border-radius:23px;background:var(--veu);color:var(--ink3);padding:0 6px 0 14px;gap:8px}
.v2c-bus:focus-within{box-shadow:inset 0 0 0 2px var(--acc);color:var(--ink)}
.v2c-bus input{flex:1;min-width:0;height:100%;border:0;background:none;outline:none;font-size:15px;font-weight:700;color:var(--ink)}
.v2c-bus input::placeholder{color:var(--ink4);font-weight:400}
.v2c-bus input::-webkit-search-cancel-button{display:none}
.v2c-bus-x{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--ink3)}
.v2c-bus-x[hidden]{display:none}
.v2c-bus-x:hover{background:var(--veu2);color:var(--ink)}
.v2c-nav{margin:0 0 2px}
.v2c-aba{height:48px;font-size:14.5px}
.v2c-aba .ic svg{width:19px;height:19px}
.v2c-aba[aria-current="page"]{color:var(--ink)}
.v2c-aba[aria-current="page"] .ic{color:var(--acc)}
.v2c-aba[aria-current="page"]::after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:3px;border-radius:2px 2px 0 0;background:var(--acc)}

/* ── seções ── */
.v2c-sec{margin:24px var(--mg) 0}
.v2c-st .ic svg{width:22px;height:22px;color:var(--acc)}
.v2c-big{font-size:22px}
.v2c-st .sec-n{margin-left:2px}
.v2c-corpo>.flyers{margin-top:14px}
.v2c-corpo>.carrega,.v2c-corpo>.vz{margin:0 var(--mg)}

/* ── destaques (as lâminas da V2: .flyers/.fly do v2.css; arte com alfa, texto em CSS). Sem nenhuma arte carregada, a
      faixa não existe (nada de texto solto no chão) ── */
.v2c-hero:not(.ok){display:none}
.v2c-fly:not(.ok){display:none}
.v2c-fly .fimg{mix-blend-mode:normal;object-position:var(--bp,78% 50%)}
.v2c-fly picture{display:contents}
.v2c-fly .fcta{display:inline-flex;align-items:center}
/* a pesquisa (24/10, gb/us/br): o destaque não pode empurrar os jogos — celular 172 px, mesa até 300 px */
.v2c-corpo>.flyers .fly{height:172px}
.v2c-corpo>.flyers .ft{font-size:18px}
.v2c-corpo>.flyers .fsub{font-size:12.5px}

/* ── trilhos (faixa que rola para o lado: o .rail da V2 ganha setas/arrasto do v2_app) ── */
.v2c-rail{display:grid;grid-auto-flow:column;grid-auto-columns:var(--cw-ret);gap:var(--cg);padding:2px 4px 8px;border-bottom:0;scroll-snap-type:x proximity;scroll-padding:0 4px}
.v2c-rail>*{scroll-snap-align:start}
.v2c-rail-pai{grid-auto-columns:var(--cw-pai)}
/* trilho MISTO (em alta, recentes, favoritos): mesma ALTURA de capa; a largura segue a proporção do jogo */
.v2c-rail-mix{grid-auto-columns:auto;align-items:start}
.v2c-rail-mix>.v2c-j{width:calc(var(--rh) * .75)}
.v2c-rail-mix>.v2c-pai{width:calc(var(--rh) * 4 / 3)}
.v2c-rail-mix .v2c-cap{height:var(--rh);aspect-ratio:auto}

/* ── cartão de jogo: a capa do fornecedor + nome + provedor + estrela. Ao vivo 4:3 (capa da mesa), slots/crash em pé ── */
.v2c-j{position:relative;display:grid;align-content:start;gap:6px;min-width:0}
.v2c-ab{display:block;width:100%;border-radius:12px;text-align:left}
.v2c-cap{position:relative;display:block;width:100%;aspect-ratio:3/4;border-radius:12px;overflow:hidden;background:var(--sur2);transition:transform .18s ease}
.v2c-pai .v2c-cap{aspect-ratio:4/3}
.v2c-cap img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.v2c-semcap{display:grid;place-items:center;padding:10px;text-align:center}
.v2c-semnm{font-size:13.5px;font-weight:900;line-height:1.2;color:var(--ink2)}
.v2c-ao{position:absolute;left:8px;top:8px;display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 7px;border-radius:10px;background:var(--live2);color:var(--sobre-cor);font-size:10.5px;font-weight:900;letter-spacing:.03em;text-transform:uppercase}
.v2c-ao::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.v2c-jogar{position:absolute;left:50%;top:50%;display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 16px 0 12px;border-radius:19px;background:var(--acc);color:var(--acc-ink);font-size:14px;font-weight:900;transform:translate(-50%,-50%) scale(.92);opacity:0;transition:opacity .16s,transform .16s;pointer-events:none}
.v2c-jogar .ic svg{width:16px;height:16px}
.v2c-li{display:flex;align-items:center;gap:2px;min-width:0;padding:0 2px}
.v2c-nm{flex:1;min-width:0;font-size:13.5px;font-weight:700;line-height:1.25;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v2c-fv{position:relative;flex:none;width:28px;height:28px;margin:-4px -4px -4px 0;display:grid;place-items:center;color:var(--ink4);border-radius:50%}
.v2c-fv::after{content:"";position:absolute;inset:-8px}
.v2c-fv .ic svg{width:17px;height:17px}
.v2c-fv:hover{color:var(--ink)}
.v2c-fv[aria-pressed="true"]{color:var(--amarelo)}
.v2c-fv[aria-pressed="true"] .ic svg{fill:currentColor}
html[data-theme="claro"] .v2c-fv[aria-pressed="true"]{color:#C99A00}
.v2c-pv{padding:0 2px;margin-top:-4px;font-size:12px;font-weight:700;color:var(--ink4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v2c-ab:focus-visible{outline:none}
.v2c-ab:focus-visible .v2c-cap{outline:2px solid var(--amarelo);outline-offset:2px}
html[data-theme="claro"] .v2c-ab:focus-visible .v2c-cap{outline-color:var(--acc)}
@media (hover:hover) and (pointer:fine){
  .v2c-ab:hover .v2c-cap{transform:translateY(-4px)}
  .v2c-ab:hover .v2c-cap img{filter:brightness(.82)}
  .v2c-ab:hover .v2c-jogar,.v2c-ab:focus-visible .v2c-jogar{opacity:1;transform:translate(-50%,-50%) scale(1)}
}
@media (prefers-reduced-motion:reduce){.v2c-cap,.v2c-jogar{transition:none}.v2c-ab:hover .v2c-cap{transform:none}}

/* ── grades (listas) — auto-fill: a tela inteira vira coluna, de 390 a 2560 ── */
.v2c-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--gw-ret),1fr));gap:16px var(--cg);padding:2px 4px}
.v2c-grade-pai{grid-template-columns:repeat(auto-fill,minmax(var(--gw-pai),1fr))}
/* slots em destaque (início): os 2 primeiros em dobro — a capa oficial grande chama o olho, sem arte nossa por cima */
@media (min-width:640px){
  .v2c-mosaico{grid-auto-flow:dense}
  .v2c-mosaico>.v2c-gr{grid-column:span 2;grid-row:span 2;display:flex;flex-direction:column}
  .v2c-mosaico>.v2c-gr .v2c-ab{flex:1;display:flex}
  .v2c-mosaico>.v2c-gr .v2c-cap{aspect-ratio:auto;flex:1;min-height:0}
  .v2c-mosaico>.v2c-gr .v2c-nm{font-size:15.5px}
}

/* ── categorias do ao vivo (início) — dono 24/10: "Use a linha B" = a CENA premium do Runway ocupa o cartão (4:5), cor
      própria da categoria por baixo enquanto carrega, título forte no terço de baixo; "movimento só ao passar o mouse" =
      o laço de vídeo (só no computador) entra por cima da cena quando começa a tocar ── */
.v2c-cats{grid-auto-columns:150px;gap:12px;padding-top:4px;padding-bottom:14px}
.v2c-ct{--cc:#2B3A35;position:relative;isolation:isolate;display:grid;align-content:end;aspect-ratio:4/5;min-width:0;border-radius:16px;color:#fff;overflow:hidden;
  background:var(--cc);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 24px -12px color-mix(in srgb,var(--cc),#000 30%);transition:transform .18s ease,box-shadow .18s ease}
.v2c-ct-bg,.v2c-ct-vd{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.v2c-ct-vd{z-index:-1;opacity:0;transition:opacity .25s ease}
.v2c-ct.a-mexer .v2c-ct-vd{opacity:1}
.v2c-ct::after{content:"";position:absolute;left:0;right:0;bottom:0;height:46%;z-index:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.62));pointer-events:none}
.v2c-ct-tx{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:7px;row-gap:1px;padding:0 12px 13px}
.v2c-ct-i{grid-row:span 2}
.v2c-ct-i svg{width:22px;height:22px;color:#fff;opacity:.92}
.v2c-ct-tx b{font-size:15.5px;font-weight:900;line-height:1.15;letter-spacing:.005em;text-shadow:0 1px 2px rgba(0,0,0,.35);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v2c-ct-tx>span:last-child{font-size:12px;font-weight:700;color:rgba(255,255,255,.8)}
.v2c-ct:focus-visible{outline:2px solid var(--amarelo);outline-offset:3px}
@media (hover:hover) and (pointer:fine){
  .v2c-ct:hover{transform:translateY(-5px);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 18px 30px -12px color-mix(in srgb,var(--cc),#000 10%)}
  .v2c-ct:hover .v2c-ct-bg{transform:scale(1.04)}
}
@media (prefers-reduced-motion:reduce){.v2c-ct,.v2c-ct-bg,.v2c-ct-vd{transition:none}.v2c-ct:hover{transform:none}.v2c-ct:hover .v2c-ct-bg{transform:none}}

/* ── FLYERS do topo (dono 24/10 ~11h): cena cinematográfica INTEIRA do Runway com a capa oficial integrada; a lâmina é
      escura nos dois temas (a cena é noite/estúdio) e o texto é branco por cima da sombra da própria cena, à esquerda ── */
.v2c-hero-fly .fly,html[data-theme="claro"] .v2c-hero-fly .fly{background:#0B0D0C;border-radius:14px}
html[data-theme="claro"] .v2c-hero-fly .fly .fimg{left:0;width:100%;-webkit-mask-image:none;mask-image:none;mix-blend-mode:normal}
.v2c-hero-fly .fly .fimg{mix-blend-mode:normal;-webkit-mask-image:none;mask-image:none;object-position:var(--bp,72% 50%)}
.v2c-hero-fly .fly::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.34) 34%,rgba(0,0,0,0) 58%),linear-gradient(0deg,rgba(0,0,0,.4) 0%,rgba(0,0,0,0) 30%)}
.v2c-hero-fly .fk{color:#3FD08C}
.v2c-hero-fly .ft{color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.45)}
.v2c-hero-fly .fsub{color:rgba(255,255,255,.88);text-shadow:0 1px 6px rgba(0,0,0,.5)}
.v2c-hero-fly .fcta{display:inline-flex;align-items:center;gap:6px}
.v2c-hero-fly .fcta:disabled{opacity:.55;cursor:default}
.v2c-hero-fly .fcta .ic svg{width:15px;height:15px}
.v2c-sb-bts{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.v2c-sb-mais{display:none;font-size:13.5px;font-weight:700;color:#fff;text-decoration:underline;text-underline-offset:3px}
.v2c-hero-fly .fdots{z-index:3}
.v2c-hero-fly .fdots button{background:rgba(255,255,255,.35)}
.v2c-hero-fly .fdots button i{background:#fff}
.v2c-corpo>.v2c-hero-fly .fly{height:200px}
.v2c-hero-fly .fly .fimg{object-position:var(--mp,66% 50%)}
@media (max-width:600px){.v2c-hero-fly .fsub{display:none}.v2c-hero-fly .ftx{width:62%}}
@media (min-width:601px){.v2c-hero-fly .fly .fimg{object-position:var(--bp,72% 50%)}}

/* ── menu da esquerda SÓ do cassino (≥1241; dono 24/10 ~04h20) — o resto do #menu some enquanto a área é o cassino ── */
.v2c-mn{display:none}
html.v2c-area #menu>:not(.v2c-mn){display:none!important}
html.v2c-area .v2c-mn{display:block}
.v2c-mn .mn-i .ic svg{color:var(--acc)}
.v2c-mn .mn-i[aria-current="true"] .nm{color:var(--ink)}
.v2c-mn-sub .ic svg{width:18px;height:18px}

/* ── filtros das listas ── */
.v2c-subs{padding-bottom:12px}
.v2c-subs .pl .ic svg{width:17px;height:17px}
.v2c-subs .pl[aria-current="true"] .ic{color:inherit}
.v2c-subs .pl .ic{color:var(--acc)}
.v2c-provf{display:flex;align-items:center;gap:6px;min-width:0;margin:0 0 12px;border-top:1px solid var(--fil2);padding-top:10px}
.v2c-provf-r{flex:none;padding-left:4px;font-size:12.5px;font-weight:700;color:var(--ink4)}
.v2c-provf .fx{flex:1}
.v2c-provp{padding-bottom:2px}
.v2c-provp .pl{height:32px;font-size:13px;padding:0 12px}
.v2c-filtro{display:inline-flex;align-items:center;gap:2px;height:28px;padding:0 4px 0 12px;border-radius:14px;background:var(--esc);color:var(--esc-ink);font-size:13px;font-weight:700}
.v2c-filtro a{width:24px;height:24px;display:grid;place-items:center;border-radius:50%}
.v2c-filtro .ic svg{width:14px;height:14px}
.v2c-mais{display:flex;flex-direction:column;align-items:center;gap:8px;margin:22px 0 4px}
.v2c-mais[hidden]{display:none}
.v2c-bt{height:44px;padding:0 26px;border-radius:22px;background:var(--esc);color:var(--esc-ink);font-size:14px;font-weight:900}
.v2c-bt:hover{filter:brightness(.94)}
.v2c-bt:disabled{opacity:.6;cursor:default}
.v2c-cnt{font-size:12.5px;font-weight:700;color:var(--ink4)}
.v2c-grupo{margin-top:10px}
.v2c-gt{display:flex;align-items:center;gap:8px;padding:12px 4px 10px;border-top:1px solid var(--fil2);font-size:16px;font-weight:900;color:var(--ink)}
.v2c-gt .ic svg{width:19px;height:19px;color:var(--acc)}

/* ── provedores: nome como o catálogo manda + quantos jogos; filete, sem caixa ── */
.v2c-provs{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));column-gap:20px}
.v2c-pvc{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-height:48px;padding:12px 4px;border-bottom:1px solid var(--fil2);min-width:0}
.v2c-pvc b{font-size:14.5px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v2c-pvc span{flex:none;font-size:12.5px;font-weight:700;color:var(--ink4)}
.v2c-pvc:hover b{color:var(--acc)}

/* ── jogo em tela cheia (o iframe do fornecedor; a barra é a nossa) ── */
/* r162 (dono 26/10 "os slots acabaram ficando fora de enquadramento"): a coluna da grade era `auto` e no Safari do
   iPhone o iframe cresce até o tamanho do conteúdo do jogo — a coluna esticava e o jogo era cortado nas bordas. Coluna
   presa à tela (minmax(0,1fr)), altura da área VISÍVEL (dvh: sem a barra do navegador por cima) e o iframe no truque
   do iOS (1px + min 100%: o iframe nunca passa do quadro). */
.v2c-jogo{position:fixed;top:0;left:0;right:0;height:100vh;height:100dvh;z-index:95;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);background:#000;padding-bottom:env(safe-area-inset-bottom,0px);overflow:hidden}
.v2c-jb{display:flex;align-items:center;gap:10px;height:50px;padding:0 8px 0 4px;background:linear-gradient(180deg,var(--topo1),var(--topo2));color:#fff}
.v2c-jx{display:inline-flex;align-items:center;gap:2px;height:40px;padding:0 12px 0 6px;border-radius:20px;font-size:14px;font-weight:900;color:#fff}
.v2c-jx:hover{background:rgba(255,255,255,.1)}
.v2c-jn{flex:1;min-width:0;font-size:14.5px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v2c-js{display:flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:17px;border:1.5px solid rgba(63,208,140,.55);background:rgba(0,0,0,.22);white-space:nowrap}
.v2c-js small{font-size:11px;font-weight:700;color:rgba(255,255,255,.72)}
.v2c-js b{font-size:13px;font-weight:700}
.v2c-jc{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff}
.v2c-jc:hover{background:rgba(255,255,255,.1)}
.v2c-jogo iframe{display:block;width:1px;min-width:100%;max-width:100%;height:1px;min-height:100%;max-height:100%;border:0;background:#000}
.v2c-jogo :focus-visible{outline-color:#FFDF1B}

/* ── larguras: celular (padrão) → tablet → mesa → tela grande ── */
@media (min-width:600px){
  .v2c{--cw-pai:220px;--cw-ret:150px;--gw-pai:200px;--gw-ret:140px;--cg:14px;--rh:200px}
  .v2c-cats{grid-auto-columns:176px}
}
@media (min-width:901px){
  .v2c-cab-l{grid-template-columns:auto minmax(260px,520px);justify-content:space-between;align-items:center;padding-top:20px}
  .v2c-h1{font-size:28px}
  .v2c-big{font-size:24px}
  .v2c-sec{margin-top:30px}
  .v2c-corpo>.flyers .fly{height:clamp(250px,19vw,340px)}
  .v2c-corpo>.flyers .ft{font-size:32px;line-height:1.02}
  .v2c-corpo>.flyers .fsub{font-size:15px}
  .v2c-cats{grid-auto-columns:200px;gap:16px}
}
@media (min-width:1241px){
  .v2c-cats{grid-auto-columns:calc((100% - 90px) / 6);gap:18px}
  .v2c-sb-mais{display:inline}
}
@media (min-width:1241px){
  .v2c{--cw-pai:250px;--cw-ret:168px;--gw-pai:220px;--gw-ret:158px;--cg:16px;--rh:232px}
  .v2c-cab,.v2c-sec{margin-left:0;margin-right:0}
  .v2c-corpo>.flyers{margin-left:0;margin-right:0}
}
@media (min-width:1900px){
  .v2c{--cw-pai:290px;--cw-ret:190px;--gw-pai:260px;--gw-ret:180px;--cg:18px;--rh:262px}
  .v2c-cats{grid-auto-columns:calc((100% - 90px) / 6)}
}
@media (max-width:420px){
  .v2c-jn{font-size:13.5px}
  .v2c-js small{display:none}
}
html[data-theme="claro"] .v2c-hero-fly .ftx{width:56%;max-width:none}
html[data-theme="claro"] .v2c-hero-fly .fk{color:#3FD08C}
@media (max-width:600px){html[data-theme="claro"] .v2c-hero-fly .ftx{width:62%}}
html[data-theme="claro"] .v2c-hero-fly .ft{color:#fff}
html[data-theme="claro"] .v2c-hero-fly .fsub{color:rgba(255,255,255,.88)}
