/* =============================================================================
   skin-karta.css — afinação sobre o tema Layout2:PhantomBlue
   -----------------------------------------------------------------------------
   O tema base vem PRONTO no bundle (são 22 no Layout2, trocados pelo registro em
   `temas`). Este arquivo só cobre o que o tema não acerta sozinho em relação à
   referência. É carregado por ÚLTIMO no index.php, ocupando o slot que antes
   apontava para `skin-orange.css` — arquivo que nunca existiu e dava 404.

   REGRA DESTE ARQUIVO: nada aqui pode depender do nome do tema.
   O `banner-nocrop.css` foi escrito escopado em `.malt-green`; ao trocar para
   PhantomBlue TODOS os seletores dele deixaram de casar e os banners voltaram a
   ser cortados. Foi exatamente o que aconteceu. Aqui os seletores são neutros,
   para sobreviver à próxima troca de tema.

   Este arquivo ABSORVEU os dois CSS de banner que existiam antes, e ambos foram
   apagados do disco e do index.php:
     - banner-nocrop.css    100% escopado em `.malt-green`, morto desde a troca
                            de tema. A seção 2 abaixo faz o mesmo, sem escopo.
     - banner-fullwidth.css estava VIVO — cuidava do recuo lateral do carrossel.
                            Copiado para a seção 2, não descartado.
   ============================================================================= */


/* -----------------------------------------------------------------------------
   1. LOGO
   -----------------------------------------------------------------------------
   Dois problemas distintos:

   a) NÃO APARECIA. A URL saía como "http://host//uploads/logo.png" — barra
      dupla, 404. E o bundle só dá tamanho ao logo depois que a imagem carrega:
      `.logo` nasce `width:0;height:0` e só ganha dimensão ao receber a classe
      `good-img`. Sem carregar, ficava 0×0 — invisível, não "quebrado".
      Corrigido no index.php (rtrim na base da URL), não aqui.

   b) TAMANHO. O bundle local dá `max-width:7.5rem; height:1.75rem`; a
      referência usa `height:2.25rem` com largura livre. Igualado abaixo.
   -------------------------------------------------------------------------- */
.logo-wrap .logo.good-img,
.header-logo .logo,
.logo-wrap.layout2 .logo.good-img {
    width: auto !important;
    max-width: 11rem !important;   /* teto generoso: a referência não corta */
    height: 2.25rem !important;    /* = 36px na base de 16px */
    object-fit: contain !important;
}


/* -----------------------------------------------------------------------------
   2. BANNERS 1672 × 941 SEM CORTE
   -----------------------------------------------------------------------------
   As artes chegam em 1672×941 (≈16:9) tanto no carrossel da home quanto em
   promoções. Os slots do tema usam proporção mais larga com `cover`, então a
   imagem perdia topo e base.

   Aqui o slot assume a MESMA proporção da arte e a imagem usa `contain`: aparece
   inteira, sem cortar nem distorcer.
   -------------------------------------------------------------------------- */

/* --- carrossel da home --- */
.swiper-poster,
.swiper-poster .swiper,
.swiper-poster .swiper-slide {
    height: auto !important;
    aspect-ratio: 1672 / 941 !important;
}
.swiper-poster .poster-img,
.swiper-poster .swiper-slide img,
.swiper-poster img,
.swiper-poster ion-img {
    object-fit: contain !important;
    width: 100% !important;
    height: 100% !important;
}

/* --- recuo lateral do carrossel ---
   Herdado do antigo `banner-fullwidth.css`, que foi absorvido aqui. Estas
   regras NAO eram mortas: sem elas o `.swiper-poster` volta a somar DOIS
   recuos laterais (padding `px-3` ~.75rem + margem ~.75rem = ~1.5rem de cada
   lado) e o banner fica visivelmente mais estreito que os boxes de baixo, que
   usam so' o gutter padrao de .75rem.

   A margem faz o recuo e o width compensa para nao estourar a largura. */
.swiper-poster.px-3,
.swiper-poster {
    box-sizing: border-box !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-inline: .75rem !important;
    width: calc(100% - 1.5rem) !important;
    max-width: calc(100% - 1.5rem) !important;
}

/* --- cards de promoção (/main/promo) ---
   O card traz `background:url(...)` inline com `background-size:100% auto` e uma
   `min-height` fixa: é a min-height que corta. Zeramos e damos a proporção. */
.activity-wrap .rounded-top,
.activity-wrap .activity-img {
    aspect-ratio: 1672 / 941 !important;
    min-height: 0 !important;
    height: auto !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
}
.activity-wrap .rounded-top img,
.activity-wrap .rounded-top ion-img {
    object-fit: contain !important;
    width: 100% !important;
    height: 100% !important;
}


/* -----------------------------------------------------------------------------
   3. SELO SOBRE O BOTÃO "REGISTRO"
   -----------------------------------------------------------------------------
   O componente EXISTE no bundle (`.rewardTag`, presente no CSS e no JS) e o dado
   que o alimenta está ligado: a página serve `"rewardSwitch": true` com
   `"buttonShowAmount": "1-98.8"`. Ou seja, não falta código nem configuração.

   O que se garante aqui é a POSIÇÃO da referência — canto superior direito,
   sobreposto ao botão — e que nenhuma regra do tema o esconda.
   -------------------------------------------------------------------------- */
.register-btn-warpper,
.register-btn-warper,
.btn-wrap {
    position: relative !important;
    overflow: visible !important;
}
.register-btn-warpper .rewardTag,
.register-btn-warper .rewardTag,
.btn-wrap .rewardTag {
    position: absolute !important;
    top: -.5rem !important;
    right: -.25rem !important;
    z-index: 10 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: none;   /* o selo é enfeite: o clique é do botão */
}


/* -----------------------------------------------------------------------------
   4. TELA DE DEPÓSITO — limpeza
   -----------------------------------------------------------------------------
   Duas coisas saem daqui. Nenhuma é mudança de dado: são elementos que o
   template renderiza e que atrapalham a tela de depósito.

   a) LINHA DE SUPORTE
      "Se você tiver dúvidas ou problemas, entre em contato com o suporte ao
      cliente. Obrigado! 😊 suporte online."
      Ocupa o topo do modal, empurra o valor e as opções para baixo, e oferece
      uma saída (falar com o suporte) bem no momento em que o jogador ia pagar.
      É um <p> com um <span class="client"> dentro — `class:"client"` aparece
      UMA vez no bundle inteiro, então o `:has()` abaixo não pega nada além
      desta linha.

   b) SELO "RECO" SOBRE O PIX
      Vem de `tags = 'RECOMMEND'` no metodo de pagamento.

      O OUTRO selo, o "+0,00%", NAO se resolve aqui — e' dado, nao estilo. Vinha
      de `tags = 'GIVE_AWAY'` com bonus vazio: o front faz
      `"+" + Number(tagValue).toFixed(2) + "%"` e `Number("")` e' 0. Corrigido no
      `api/v1/api.php`, que agora manda `NOTHING` quando nao ha bonus. As regras
      de CSS que eu tinha tentado aqui foram removidas: nao resolviam o problema
      e `.tag-list li .tag` e' generico o bastante para apagar selos legitimos em
      outras telas.

      O "RECO" da' para resolver pelo painel quando a opcao existir:
      Configuracoes > metodos de pagamento tem o select de `tags`, mas ele so'
      oferece RECOMMEND e GIVE_AWAY — falta um "Nenhum". Ate' la', fica no CSS.
   -------------------------------------------------------------------------- */

/* a) linha de suporte no topo do modal de depósito */
p:has(> .client) {
    display: none !important;
}

/* b) o selo "RECO" sobre o PIX NAO e' tratado aqui.
   A regra que existia neste ponto mirava `.pay-method-wrap .pay-method-item
   .tag-icon-wrap` e casava ZERO elementos — medido no navegador. Era CSS morto:
   o selo continuava na tela e a regra so' enganava quem lesse o arquivo.

   A marcacao real e' a MESMA do antigo "+0,00%":

       <ul class="channel-list flex-start tag-list">
         <li class="active">
           <div class="tag"><ion-icon class="rectangle"></ion-icon><i>RECO</i></div>
           pix
         </li>
       </ul>

   Ou seja: e' DADO, nao estilo. Vem de `pay_type_sub_list.tags = 'RECOMMEND'`.
   O caminho certo e' o mesmo que resolveu o "+0,00%" — mandar `NOTHING` — e isso
   pertence ao painel, em Configuracoes > metodos de pagamento, cujo select de
   `tags` hoje so' oferece RECOMMEND e GIVE_AWAY. Falta a opcao "Nenhum".
   Esconder por CSS aqui exigiria um seletor generico (`.tag-list li .tag`) capaz
   de apagar selos legitimos em outras telas — foi por isso que nao foi feito. */


/* -----------------------------------------------------------------------------
   5. BOTOES "ENTRAR" / "REGISTRO" NO CABECALHO
   -----------------------------------------------------------------------------
   Empilhavam em duas linhas no iPhone (13 e 17 Pro Max), empurrando o cabecalho
   para baixo. A causa e' folga negativa de menos de UM PIXEL:

       .button-box.layout1   largura 174px    flex-wrap: wrap   gap 8,82px
       botoes                83 + 83 = 165px
       necessario            83 + 8,82 + 83 = 174,82px

   Faltavam 0,82px. No Chrome o arredondamento cabia; no Safari a mesma fonte
   mede um fio mais larga, estoura, e o `wrap` vira quebra de linha inteira.

   `nowrap` impede a quebra e `min-width: 0` deixa os botoes encolherem esse
   fio em vez de transbordar. Fica escrito aqui, e nao no tema, porque a margem
   e' apertada demais para depender de arredondamento de fonte.
   -------------------------------------------------------------------------- */
.button-box.layout1,
.button-box {
    flex-wrap: nowrap !important;
}
.button-box.layout1 > *,
.button-box > * {
    min-width: 0;
    flex-shrink: 1;
}
