/* ==========================================================================
   ANONSHIELD — cores do modo claro e do modo escuro
   --------------------------------------------------------------------------
   O interruptor (o mascote Anon) troca o atributo data-tema do <html> entre
   "claro" e "escuro". Este arquivo diz o que cada modo significa.

   DE ONDE VÊM OS VALORES
   O modo claro é medido do site que já existe, não inventado:
     navy #014C6D · tinta #15232b · apoio #647682 · superfície #F4F5F7 ·
     borda #E2E7EA
   O modo escuro é derivado desses, não escolhido do zero:
     --fundo #101a20 é a tinta do site (#15232b) puxada para baixo. Isso mantém
     o mesmo viés azulado da marca, então o escuro parece o mesmo site à noite
     e não outro site.
     --navy-texto #4db3dc é o navy #014C6D clareado até passar de 4,5:1 de
     contraste sobre esse fundo. Navy escuro sobre fundo escuro ninguém lê.

   DECISÃO DO DONO: OS CARDS FICAM CLAROS NOS DOIS MODOS.
   Moldura escura, conteúdo em "papel" claro. É padrão comum em loja, porque o
   logo do produto precisa de fundo claro para não sumir — e é o que dispensa
   mexer nas 174 imagens do site, que têm fundo branco assado dentro do arquivo.

   O QUE ESTE ARQUIVO AINDA NÃO FAZ
   Ele define as variáveis. Aplicar essas variáveis ao CSS do tema WordPress é
   trabalho separado: são 591 cores espalhadas (15 delas cobrem quase tudo) e
   23 valores escritos dentro do HTML. Enquanto isso não acontecer, o modo
   escuro pega só o que usar var(--...).
   ========================================================================== */

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0Q5nw.woff2) format('woff2');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WlhyyTh89Y.woff2) format('woff2');
}

:root {
  --tinta:      #15232b;
  --apoio:      #647682;
  --fundo:      #ffffff;
  --superficie: #F4F5F7;
  --borda:      #E2E7EA;
  --navy:       #014C6D;
  --navy-texto: #014C6D;
  --card:       #ffffff;
  --card-borda: #E2E7EA;
  --sombra:     rgba(6, 40, 58, .10);
}

html[data-tema="escuro"] {
  --tinta:      #e8eef2;
  --apoio:      #9fb0bc;
  --fundo:      #101a20;
  --superficie: #17242c;
  --borda:      #26363f;
  --navy:       #0d5f83;
  --navy-texto: #4db3dc;
  --card:       #ffffff;      /* decisão do dono: card continua claro */
  --card-borda: #26363f;
  --sombra:     rgba(0, 0, 0, .45);
}

/* A TROCA É INSTANTÂNEA, DE PROPÓSITO.
   Aqui havia `transition: background-color .2s` no body. Parecia boa ideia —
   troca suave em vez de susto — mas o resultado foi o contrário: com muitos
   elementos repintando cada um no seu tempo, o site parecia escurecer por
   partes. Sem transição, ele vira de uma vez, que é o que se espera de um
   interruptor.

   Quem quiser o esmaecido de volta mexe aqui e no tema-escuro.css. */


/* ==========================================================================
   AJUSTES DOS CARDS DE PRODUTO (grade)
   --------------------------------------------------------------------------
   Aqui porque tema.css e' o unico CSS nosso carregado em TODAS as paginas
   (home, categorias, /shop/ e produto). Uma regra so' pega todos os cards.

   1) BOTAO DE COMPRA reexibido. O widget escondia com
      `.uc-button-addcart{display:none}` porque o add-to-cart via AJAX precisa
      de backend WooCommerce. O dono vai implementar o backend, entao o botao
      volta a aparecer.
   2) PRECO FANTASMA em dolar escondido. Cada card trazia DOIS precos: o
      `.uc_regular_price--single` com um valor em US$ assado da loja antiga
      (ex.: $1.81, $10.88) e o `.uc_price` com o valor real (R$ ou
      "Preco a definir"). Escondemos so' o dolar; o real continua.
   Reversivel: apagar esta secao volta ao estado anterior.
   ========================================================================== */

/* respiro entre o preco e o botao — hierarquia pedida pelo dono (a imagem 1
   tinha o botao colado no preco) */
.uc_post_grid_style_one_button {
  margin-top: 14px !important;
}

/* botao FINO: uma linha, icone + texto centralizados. Antes ele vinha alto e o
   texto quebrava em duas linhas (imagem 1). Agora cabe elegante embaixo, no
   estilo da imagem 3. Padding vertical baixo, sem altura minima, nowrap. */
.uc_post_grid_style_one_button > button,
.uc_post_grid_style_one_button > a,
.uc-button-addcart {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 10px 16px !important;
  min-height: 0 !important;
  height: auto !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

/* o miolo do botao (icone + rotulo) tambem em linha, sem esticar */
.uc-button-addcart .ue-inner-btn-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: auto !important;
  margin: 0 !important;
}

/* Esconde TODO .uc_regular_price, nao so' o --single. Motivo: alem do dolar
   fantasma (--single, com US$ dos cards do /shop/), alguns cards (ex.: "mais
   procurados" da home) trazem um <div class="uc_regular_price"> VAZIO, sem
   --single. Vazio, mas continua sendo um flex-item — e o gap:8px do
   .ue_grid_prices empurrava o .uc_price ~8px pra direita, desalinhando o preco
   do nome/descricao (que estao na margem esquerda). Escondendo-o, o preco
   encosta a esquerda, alinhado com o texto de cima. Nunca exibimos preco
   riscado, entao esconder todos e' seguro. */
.ue_grid_prices .uc_regular_price {
  display: none !important;
}

/* 3) PRECO CENTRALIZADO VERTICALMENTE entre a descricao e o botao.
      Estava desequilibrado (~32% de folga em cima, ~68% embaixo): o preco tem
      margin-bottom 9px e o botao margin-top 14px, somando ~23px ABAIXO contra
      poucos px ACIMA — o preco encostava no nome. Reequilibro empurrando o
      preco pra baixo: +margem em cima, -margem embaixo (troca ~6px de um lado
      pro outro, sem mudar a altura do card nem o respiro do botao). Alvo ~50/50.
      So' o .uc_price (o dolar ao lado esta display:none). Vale p/ todo card uc_.
      Ajuste fino: mexer nestes dois valores. Reversivel. */
.uc_price {
  margin-top: 6px !important;
  margin-bottom: 3px !important;
}



/* ==========================================================================
   FUNDO DO CARD UNIFICADO (modo claro)
   --------------------------------------------------------------------------
   O card de produto tem duas superficies: a moldura da imagem
   (.uc_post_image / os wrappers) e o miolo de conteudo (.uc_content). No modo
   claro a moldura vinha com um cinza levissimo do tema e o miolo era branco —
   o card parecia partido em dois tons na linha do nome. Aqui as duas ficam
   brancas, iguais. Borda e sombra do card nao sao tocadas (continuam separando
   o card do fundo da pagina).

   So no modo claro: `html:not([data-tema="escuro"])`. O escuro ja e' tratado
   em tema-escuro.css (secao 4b), e pintar branco aqui sem essa guarda
   estragaria o modo escuro.
   ========================================================================== */
html:not([data-tema="escuro"]) .uc_post_grid_style_one_item,
html:not([data-tema="escuro"]) .uc_post_grid_style_one_image-wrapper,
html:not([data-tema="escuro"]) .uc_post_grid_style_one_image,
html:not([data-tema="escuro"]) .uc_post_image,
html:not([data-tema="escuro"]) .uc_post_image a,
html:not([data-tema="escuro"]) .uc_content,
html:not([data-tema="escuro"]) .uc_post_grid_style_one_content,
html:not([data-tema="escuro"]) .ue_grid_item_bottom,
html:not([data-tema="escuro"]) .ue_grid_prices,
html:not([data-tema="escuro"]) .ue_category_wrapper,
html:not([data-tema="escuro"]) .uc_post_grid_style_one_button {
  background-color: #ffffff !important;
}

/* nenhuma linha divisoria cinza dentro do card (a "linha" que restava). So as
   superficies internas — a borda EXTERNA do card (.uc_post_grid_style_one_item)
   nao entra aqui, para o card continuar destacado do fundo da pagina. */
html:not([data-tema="escuro"]) .uc_content,
html:not([data-tema="escuro"]) .uc_post_image,
html:not([data-tema="escuro"]) .uc_post_grid_style_one_image,
html:not([data-tema="escuro"]) .ue_grid_item_bottom,
html:not([data-tema="escuro"]) .ue_grid_prices {
  border-color: transparent !important;
}


/* ==========================================================================
   FUNDO DO CARD DA VITRINE .exc (home "Escolha pela sua area") — modo claro
   --------------------------------------------------------------------------
   Outra familia de card, so na home. O wrapper da imagem (.exc-item-img) tinha
   `background:#F4F5F7` de proposito — um "quadro" cinza em volta da imagem,
   copiado do padrao de bundles do tema. O dono quer branco, igual aos cards de
   categoria. Miramos so `.exc .exc-item-img` (nao o #F4F5F7 global, que a
   etiqueta de contagem e o slider usam de forma legitima).

   Nao afeta a animacao de "acender" os cards: aquilo e' filter no <img> +
   opacity no .exc-item-body, derivados de --act; o fundo do wrapper e' fixo.
   So no modo claro. */
html:not([data-tema="escuro"]) .exc .exc-item-img {
  background: #ffffff !important;
}


/* ==========================================================================
   HOVER DO BOTAO "Ver a colecao" (card Autodesk do hero)
   --------------------------------------------------------------------------
   O botao branco .mc-shop fica azul (o mesmo azul de link do header, #2b7bb9)
   com texto branco SO quando o mouse esta EXATAMENTE sobre ele (:hover no
   proprio .mc-shop) — nao no card inteiro. A seta usa stroke=currentColor,
   entao acompanha. Especificidade (0,4,0) + !important vence a regra do tema
   que fixa a cor do texto do .mc-shop.
   ========================================================================== */
.mc-hero2 .mc-feat .mc-shop {
  transition: background .18s ease, color .18s ease;
}

.mc-hero2 .mc-feat .mc-shop:hover {
  background: #2b7bb9 !important;
  color: #ffffff !important;
}


/* ==========================================================================
   MENU PRINCIPAL: SUBLINHADO SO' NO HOVER (nunca permanente)
   --------------------------------------------------------------------------
   O efeito pointer-underline do Elementor mostra o traco por OPACITY em quatro
   estados: :hover, :focus, .elementor-item-active e .highlighted. Os dois
   ultimos sao PERMANENTES — e o Elementor marca .highlighted (via JS) no item
   cuja URL casa com a pagina, o que deixava o "BIM" com o traco fixo na home.
   O dono quer o traco so' quando o mouse passa sobre o item.

   ABORDAGEM A PROVA DE ESTADO: em vez de enumerar os estados que escondem
   (ja tentamos duas vezes e sempre escapa um — :focus, uma classe nova do JS),
   zeramos o traco em TODOS os estados e devolvemos SO' no :hover. Nao importa
   POR QUE o Elementor acende o traco (active, highlighted, focus, classe
   injetada no runtime): aqui ele so' aparece com o mouse sobre o item, que e'
   exatamente o que o dono pediu.

   Miramos `.e--pointer-underline` (a nav do topo, desktop) e o `::after`, que
   e' o proprio elemento do traco no Elementor — nao toca em mais nada. O
   :hover tem especificidade maior que a base, entao vence quando o mouse entra.
   ========================================================================== */
.e--pointer-underline .elementor-item::after {
  opacity: 0 !important;
}
.e--pointer-underline .elementor-item:hover::after {
  opacity: 1 !important;
}


/* ==========================================================================
   MENU DO TOPO (709dc03): FIM DA MARCACAO PERMANENTE DO 1o ITEM
   --------------------------------------------------------------------------
   AQUI ESTAVA O BUG DE VERDADE. Nao era o ::after do pointer (a nav visivel e'
   e--pointer-none, sem barra ::after), nem cache. O traco do topo e' um
   `border-bottom: 3px solid transparent` nos itens, e o post-242628.css (CSS
   custom da pagina) tinha um seletor de FALLBACK:

     ...709dc03 .elementor-nav-menu:not(:has(.current-menu-item, ...))
        > li:first-child > .elementor-item { border-bottom-color:#8fd0f0 }

   Le-se: "se NENHUM item casa com a pagina atual, acenda o traco do PRIMEIRO
   item". Na home nada casa (nao e' pagina de categoria), entao o BIM (1o item)
   ficava com o traco aceso o tempo todo. Era proposital (mostrar algo ativo),
   mas o dono quer o traco SO' no hover.

   Correcao: zerar o border-bottom de todos os itens do topo quando NAO estao
   em :hover. O :hover do proprio post-242628.css continua acendendo o traco de
   quem o mouse toca. A especificidade aqui e' (0,8,1) — maior que a do fallback
   (0,7,1) — com !important, entao vence sem depender da ordem de carga.
   ========================================================================== */
.elementor-242628 .elementor-element.elementor-element-709dc03 .elementor-nav-menu--main .elementor-nav-menu li > .elementor-item.elementor-item:not(:hover) {
  border-bottom-color: transparent !important;
}


/* ==========================================================================
   DESCRICAO CURTA NO CARD DA VITRINE (.exc, home)
   --------------------------------------------------------------------------
   Uma linha de contexto sob o nome do produto ("BIM para arquitetura...").
   Vem do catalogo/descricoes_cards.txt, injetada por aplicar_descricoes.py.
   Limitada a 2 linhas (line-clamp) e com min-height reservando 2 linhas, para
   que precos e botoes dos cards continuem alinhados na grade mesmo quando uma
   descricao ocupa 1 linha e a vizinha ocupa 2. Cor de apoio (cinza da marca).
   So' existe na home, entao mira `.exc`.
   ========================================================================== */
.exc .exc-item-desc {
  margin: 4px 0 2px;
  font-size: 13px;
  line-height: 1.35;
  color: var(--apoio);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(2 * 1.35em);
}

/* ==========================================================================
   ESPACAMENTO DO CARD DA VITRINE (.exc) IGUALADO AO CARD DA GRADE /shop/
   --------------------------------------------------------------------------
   O card .exc vinha com ~30% mais respiro vertical entre os textos que o card
   uc_ de /shop/: o corpo usava gap:9px uniforme (titulo->descricao dava ~15px)
   e o rodape gap:11px. Aqui o ritmo fica IGUAL ao de /shop/:
     - titulo -> descricao = 4px   (via .exc-item-desc margin-top, como .uc_desc-as)
     - preco  -> botao      = 17px  (preco mt6/mb3 + botao mt14, como .uc_price +
                                     .uc_post_grid_style_one_button)
   Este arquivo carrega no <head>, ANTES do <style> inline da secao (que fica no
   corpo). Mesma especificidade -> o inline venceria pela ordem, entao usamos
   !important (mesmo padrao ja usado nas outras regras .exc/uc_ deste arquivo).
   So' mexe em ESPACAMENTO; cor, tamanho de fonte e a animacao de acender (--act)
   ficam intactos. Escopo .exc (so existe na home) -> nao toca /shop/. */
.exc .exc-item-body { gap: 0 !important; padding: 16px 18px 18px 18px !important; }
.exc .exc-cat { margin-bottom: 8px !important; }
.exc .exc-item-bottom { gap: 0 !important; padding-top: 0 !important; }
.exc a.exc-cta { margin-top: 14px !important; }

/* ==========================================================================
   PRECO DA VITRINE (.exc) IGUAL AOS CARDS uc_ DAS OUTRAS SECOES
   --------------------------------------------------------------------------
   O preco era 14px cinza (#546e7a), peso normal — deixava a box "sem forca"
   perto dos cards uc_. Padrao uc_ (post-242461.css): Montserrat 22px, peso 700,
   escuro. (margem 6/3 mantem o ritmo do /shop/.)

   A IMAGEM foi DEIXADA COMO ESTAVA (quadrada 1:1, com a moldura branca de 14px
   e cantos arredondados no topo). Tentei antes deixa-la 200px edge-to-edge como
   o uc_, mas isso CORTAVA o topo do box (cover num container mais baixo) e tirava
   a moldura/borda que "abraca" o card — o dono reprovou. A moldura vem do <style>
   inline (.exc-item-img{padding:14px 14px 0}) + a regra de fundo branco logo
   acima; por isso NAO ha override de imagem aqui. */
.exc .exc-price {
  font-family: 'Montserrat', -apple-system, 'Segoe UI', Roboto, sans-serif !important;
  font-size: 22px !important; font-weight: 700 !important; color: #15232b !important;
  margin: 6px 0 3px !important;
}


/* ==========================================================================
   DESCRICAO CURTA NO CARD DA GRADE WOOCOMMERCE (.uc_desc-as)
   --------------------------------------------------------------------------
   Mesma ideia da vitrine (.exc-item-desc), mas para os cards da grade uc_ das
   paginas de LISTAGEM (shop, categorias, "mais procurados" da home). Injetada
   por aplicar_descricoes_grade.py logo apos o .uc_title. Duas linhas no maximo
   (line-clamp) para nao desalinhar a grade. Cor de apoio (cinza da marca).
   NAO aplicada nas grades "voce tambem pode gostar" dentro das paginas de
   produto, de proposito (evita poluir a pagina do produto).
   ========================================================================== */
.uc_desc-as {
  margin: 4px 0 2px;
  font-size: 13px;
  line-height: 1.35;
  color: var(--apoio);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(2 * 1.35em);
}

/* ==========================================================================
   CARDS DE PRODUTO: ARTE INTEGRAL 1:1 (SEM CORTES)
   ========================================================================== */
.uc_post_image img,
.uc_post_grid_style_one_image img,
.exc .exc-item-img img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
}

/* ==========================================================================
   CARDS DE PRODUTO: PADRAO DE PRECO OPCAO A (PIX EM DESTAQUE ,90)
   ========================================================================== */
.as-card-price {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 6px 0 2px 0;
  text-align: left;
}
.as-card-price__de {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 12px;
  color: #8A97A3;
  text-decoration: line-through;
  line-height: 1.2;
}
.as-card-price__pix {
  display: flex;
  align-items: baseline;
  gap: 4px;
  line-height: 1;
  margin: 2px 0;
}
.as-card-price__cifrao {
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #16a34a;
}
.as-card-price__valor {
  font-family: 'Montserrat', sans-serif;
  font-size: 25px;
  font-weight: 800;
  color: #16a34a;
  letter-spacing: -0.5px;
}
.as-card-price__subpix {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 11.5px;
  font-weight: 600;
  color: #15803d;
  display: flex;
  align-items: center;
  gap: 4px;
  line-height: 1.3;
}
.as-card-price__subcartao {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 11.5px;
  color: #5B6B78;
  margin-top: 2px;
  line-height: 1.3;
}
.as-card-price__subcartao strong {
  color: #132A36;
  font-weight: 600;
}
.as-card-price__sob-consulta {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: #5B6B78;
  margin: 4px 0;
}

/* ==========================================================================
   RODAPÉ: MENU SOFTWARE (CLASSES/CATEGORIAS)
   ========================================================================== */
.elementor-element.elementor-element-da66d6b > .elementor-widget-container,
.as-footer-software-menu > .elementor-widget-container {
  padding: 0px 0px 30px 0px;
}
.elementor-element.elementor-element-da66d6b .elementor-nav-menu .elementor-item,
.as-footer-software-menu .elementor-nav-menu .elementor-item {
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #FFFFFF99 !important;
  fill: #FFFFFF99 !important;
  padding: 0 !important;
  text-decoration: none !important;
  transition: color 0.2s ease, fill 0.2s ease !important;
  display: inline-block !important;
}
.elementor-element.elementor-element-da66d6b .elementor-nav-menu .elementor-item:hover,
.as-footer-software-menu .elementor-nav-menu .elementor-item:hover {
  color: #FFFFFF !important;
  fill: #FFFFFF !important;
}
.elementor-element.elementor-element-da66d6b .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child),
.as-footer-software-menu .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child) {
  margin-bottom: 16px !important;
}

/* ==========================================================================
   PÁGINA: CURSOS EM BREVE
   ========================================================================== */
.as-cursos-wrapper {
  padding: 60px 20px 80px 20px;
  background-color: #F8FAFC;
  min-height: calc(100vh - 450px);
}
.as-cursos-container {
  max-width: 1200px;
  margin: 0 auto;
}
.as-cursos-hero {
  text-align: center;
  max-width: 780px;
  margin: 0 auto 50px auto;
}
.as-cursos-badge {
  display: inline-block;
  padding: 6px 14px;
  background: rgba(22, 163, 74, 0.12);
  color: #16a34a;
  border: 1px solid rgba(22, 163, 74, 0.3);
  border-radius: 999px;
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.5px;
  margin-bottom: 18px;
}
.as-cursos-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 38px;
  font-weight: 800;
  color: #0F172A;
  line-height: 1.2;
  margin-bottom: 16px;
  letter-spacing: -0.5px;
}
.as-cursos-subtitle {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 16px;
  color: #475569;
  line-height: 1.6;
}
.as-cursos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
  margin-bottom: 50px;
}
.as-curso-card {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 30px 24px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  display: flex;
  flex-direction: column;
}
.as-curso-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}
.as-curso-icon {
  font-size: 36px;
  margin-bottom: 16px;
}
.as-curso-name {
  font-family: 'Montserrat', sans-serif;
  font-size: 19px;
  font-weight: 700;
  color: #0F172A;
  margin-bottom: 10px;
}
.as-curso-desc {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 13.5px;
  color: #64748B;
  line-height: 1.5;
  flex-grow: 1;
  margin-bottom: 20px;
}
.as-curso-tag {
  align-self: flex-start;
  display: inline-block;
  padding: 4px 10px;
  background: #F1F5F9;
  color: #334155;
  border-radius: 6px;
  font-size: 11.5px;
  font-weight: 600;
}
.as-cursos-cta {
  background: linear-gradient(135deg, #0F172A 0%, #1E293B 100%);
  border-radius: 20px;
  padding: 40px;
  color: #FFFFFF;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.15);
}
.as-cursos-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 24px;
}
.as-cursos-cta-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 24px;
  font-weight: 700;
  color: #FFFFFF;
  margin-bottom: 8px;
}
.as-cursos-cta-sub {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 14.5px;
  color: #94A3B8;
  max-width: 600px;
  line-height: 1.5;
  margin: 0;
}
.as-cursos-cta-btns {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}
.as-cursos-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 24px;
  border-radius: 10px;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none !important;
  transition: all 0.2s ease;
}
.as-cursos-btn--primary {
  background-color: #16a34a;
  color: #FFFFFF !important;
}
.as-cursos-btn--primary:hover {
  background-color: #15803d;
  transform: translateY(-2px);
}
.as-cursos-btn--outline {
  background-color: transparent;
  color: #FFFFFF !important;
  border: 1px solid rgba(255, 255, 255, 0.25);
}
.as-cursos-btn--outline:hover {
  background-color: rgba(255, 255, 255, 0.1);
  border-color: #FFFFFF;
}

/* Modo Escuro */
html[data-tema="escuro"] .as-cursos-wrapper {
  background-color: #070B0E;
}
html[data-tema="escuro"] .as-cursos-title {
  color: #F8FAFC;
}
html[data-tema="escuro"] .as-cursos-subtitle {
  color: #94A3B8;
}
html[data-tema="escuro"] .as-curso-card {
  background: #0D161C;
  border-color: #1E2D38;
}
html[data-tema="escuro"] .as-curso-name {
  color: #F8FAFC;
}
html[data-tema="escuro"] .as-curso-desc {
  color: #94A3B8;
}
html[data-tema="escuro"] .as-curso-tag {
  background: #16232D;
  color: #94A3B8;
}
html[data-tema="escuro"] .as-cursos-cta {
  background: #0D161C;
  border: 1px solid #1E2D38;
}

/* ==========================================================================
   PÁGINA CURSOS: MASTERCLASS PRO GRID & CARDS
   ========================================================================== */
.as-hero-proof {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  font-size: 13px;
  color: #64748B;
  font-weight: 600;
  margin-top: 14px;
}
.as-hero-proof-item {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.as-cursos-grid-pro {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
  margin-bottom: 50px;
}
.as-card-curso {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.05);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.as-card-curso:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.09);
  border-color: rgba(22, 163, 74, 0.4);
}
.as-card-curso-media {
  position: relative;
  background: #0B131A;
  height: 170px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.as-card-curso-bg {
  position: absolute;
  inset: 0;
  opacity: 0.15;
  background-size: cover;
  background-position: center;
  filter: blur(8px);
  transform: scale(1.1);
}
.as-card-curso-badge-live {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  background: rgba(15, 23, 42, 0.85);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #4ade80;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.as-card-curso-badge-live::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 8px #22c55e;
}
.as-card-curso-covers {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
}
.as-card-curso-thumb {
  width: 96px;
  height: 96px;
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.5);
  border: 2px solid rgba(255, 255, 255, 0.15);
  object-fit: contain;
  background: #132A36;
  transition: transform 0.25s ease;
}
.as-card-curso-thumb.thumb-1 {
  transform: rotate(-6deg) scale(0.95);
  z-index: 1;
}
.as-card-curso-thumb.thumb-2 {
  transform: rotate(6deg) scale(1);
  z-index: 2;
  margin-left: -22px;
}
.as-card-curso:hover .as-card-curso-thumb.thumb-1 {
  transform: rotate(-10deg) translateX(-4px) scale(0.98);
}
.as-card-curso:hover .as-card-curso-thumb.thumb-2 {
  transform: rotate(10deg) translateX(4px) scale(1.04);
}
.as-card-curso-body {
  padding: 22px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.as-card-curso-cat {
  font-family: 'Montserrat', sans-serif;
  font-size: 11.5px;
  font-weight: 700;
  color: #16a34a;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  margin-bottom: 6px;
}
.as-card-curso-h2 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  color: #0F172A !important;
  line-height: 1.3 !important;
  margin-bottom: 10px !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
}
.as-card-curso-p {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 13.5px;
  color: #64748B;
  line-height: 1.5;
  margin-bottom: 16px;
}
.as-card-curso-topics {
  list-style: none;
  padding: 0;
  margin: 0 0 18px 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex-grow: 1;
}
.as-card-curso-topics li {
  font-size: 12.5px;
  color: #475569;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  line-height: 1.4;
}
.as-chk {
  color: #16a34a;
  font-weight: 800;
  font-size: 14px;
  line-height: 1;
  flex-shrink: 0;
  margin-top: 1px;
}
.as-card-curso-stack {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
  margin-bottom: 18px;
  padding-top: 12px;
  border-top: 1px dashed #E2E8F0;
}
.as-stack-lbl {
  font-size: 11px;
  font-weight: 600;
  color: #64748B;
}
.as-pill {
  font-size: 11px;
  font-weight: 600;
  padding: 2px 7px;
  background: #F1F5F9;
  color: #334155;
  border-radius: 6px;
  border: 1px solid #E2E8F0;
}
.as-card-curso-cta {
  width: 100%;
  padding: 12px 14px;
  border-radius: 10px;
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  text-decoration: none !important;
  background: #16a34a;
  color: #FFFFFF !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: all 0.2s ease;
  box-shadow: 0 4px 12px rgba(22, 163, 74, 0.25);
}
.as-card-curso-cta:hover {
  background: #15803d;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(22, 163, 74, 0.35);
}

/* BANNER VIP ALTO CONTRASTE */
.as-vip-card-container {
  margin-top: 20px;
}
.as-vip-card-box {
  background: linear-gradient(135deg, #0B131A 0%, #162633 100%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 20px;
  padding: 36px 32px;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 28px;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.2);
}
.as-vip-card-info {
  max-width: 620px;
}
.as-vip-badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(22, 163, 74, 0.2);
  border: 1px solid rgba(74, 222, 128, 0.4);
  color: #4ade80;
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 999px;
  margin-bottom: 12px;
}
.as-vip-heading {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  color: #FFFFFF !important;
  line-height: 1.25 !important;
  margin-bottom: 10px !important;
}
.as-vip-paragraph {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 14.5px;
  color: #94A3B8;
  line-height: 1.5;
  margin: 0;
}
.as-vip-card-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 280px;
}
.as-btn-vip-wa {
  background: #16a34a;
  color: #FFFFFF !important;
  padding: 13px 20px;
  border-radius: 12px;
  font-family: 'Montserrat', sans-serif;
  font-size: 13.5px;
  font-weight: 800;
  text-decoration: none !important;
  text-align: center;
  box-shadow: 0 4px 15px rgba(22, 163, 74, 0.4);
  transition: all 0.2s ease;
}
.as-btn-vip-wa:hover {
  background: #15803d;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(22, 163, 74, 0.5);
}
.as-btn-vip-shop {
  background: transparent;
  color: #CBD5E1 !important;
  padding: 10px 16px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none !important;
  text-align: center;
  border: 1px solid rgba(255, 255, 255, 0.15);
  transition: all 0.2s ease;
}
.as-btn-vip-shop:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #FFFFFF !important;
}

/* Modo Escuro */
html[data-tema="escuro"] .as-card-curso {
  background: #0D161C;
  border-color: #1E2D38;
}
html[data-tema="escuro"] .as-card-curso-h2 {
  color: #F8FAFC !important;
}
html[data-tema="escuro"] .as-card-curso-p {
  color: #94A3B8;
}
html[data-tema="escuro"] .as-card-curso-topics li {
  color: #94A3B8;
}
html[data-tema="escuro"] .as-pill {
  background: #16232D;
  color: #94A3B8;
  border-color: #1E2D38;
}
html[data-tema="escuro"] .as-card-curso-stack {
  border-top-color: #1E2D38;
}
html[data-tema="escuro"] .as-hero-proof {
  color: #94A3B8;
}



/* ==========================================================================
   ANONSHIELD — PREVIEW FLUTUANTE NOS CARDS (VARIAÇÃO 1 ★ RECOMENDADA)
   ========================================================================== */
.uc_post_grid_style_one_image-wrapper,
.card-img-wrapper,
.exc-item-img {
  position: relative !important;
}

.exc-item-img .btn-preview-v1 {
  top: 10px !important;
  right: 10px !important;
}

.btn-preview-v1 {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  background: rgba(15, 23, 42, 0.76) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 12px !important;
  padding: 3.5px 8px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 3.5px !important;
  cursor: pointer !important;
  z-index: 10 !important;
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18) !important;
  line-height: 1 !important;
  text-decoration: none !important;
  user-select: none !important;
}
.btn-preview-v1:hover {
  background: rgba(15, 23, 42, 0.94) !important;
  transform: scale(1.04) !important;
  border-color: rgba(255, 255, 255, 0.45) !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.28) !important;
  color: #38bdf8 !important;
}
.btn-preview-v1 svg {
  width: 10px !important;
  height: 10px !important;
  max-width: 10px !important;
  max-height: 10px !important;
  display: inline-block !important;
  vertical-align: middle !important;
  flex-shrink: 0 !important;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
}
.btn-preview-v1 .as-btn-emoji {
  font-size: 12px !important;
  line-height: 1 !important;
  display: inline-block !important;
  vertical-align: middle !important;
  font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif !important;
  margin-right: 1px !important;
}

/* Selo sobre a imagem do card de bundle */
.as-bundle-badge {
  position: absolute !important;
  top: 8px !important;
  left: 8px !important;
  background: rgba(14, 116, 144, 0.88) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  color: #ffffff !important;
  border: 1px solid rgba(56, 189, 248, 0.45) !important;
  border-radius: 12px !important;
  padding: 3.5px 8px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.4px !important;
  text-transform: uppercase !important;
  z-index: 10 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important;
  line-height: 1 !important;
  pointer-events: none !important;
}

/* Pill destacando a composição de softwares logo abaixo do título */
.as-bundle-apps-pill {
  display: inline-flex !important;
  align-items: center !important;
  background: rgba(56, 189, 248, 0.12) !important;
  color: #0284c7 !important;
  border: 1px solid rgba(56, 189, 248, 0.3) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  padding: 3px 8px !important;
  border-radius: 6px !important;
  margin: 4px 0 6px 0 !important;
  width: fit-content !important;
  letter-spacing: 0.2px !important;
}
html[data-tema="escuro"] .as-bundle-apps-pill {
  background: rgba(56, 189, 248, 0.16) !important;
  color: #38bdf8 !important;
  border-color: rgba(56, 189, 248, 0.35) !important;
}

/* ==========================================================================
   MODAL DE PREVIEW CIRÚRGICO GLOBAL
   ========================================================================== */
.as-preview-modal-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: rgba(15, 23, 42, 0.88) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  z-index: 99990 !important; /* Inferior à gaveta do carrinho (99999) para ela sobrepor */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 16px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 0.22s ease !important;
}
.as-preview-modal-overlay.active {
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Quando o carrinho abre sobre o preview: preview fica aberto no fundo, mais escurecido */
body.as-cart-aberto .as-preview-modal-overlay.active {
  pointer-events: none !important;
}
body.as-cart-aberto .as-preview-modal-box {
  transform: scale(0.97) !important;
  filter: brightness(0.75) !important;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), filter 0.3s ease !important;
}

.as-preview-modal-box {
  background: #f8fafc !important;
  color: #0f172a !important;
  width: 100% !important;
  max-width: 1020px !important;
  border-radius: 24px !important;
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.35) !important;
  position: relative !important;
  overflow: hidden !important;
  max-height: 94vh !important;
  overflow-y: auto !important;
  transform: scale(0.96) !important;
  transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), filter 0.3s ease !important;
  padding: 30px 28px !important;
  box-sizing: border-box !important;
}
.as-preview-modal-overlay.active .as-preview-modal-box {
  transform: scale(1) !important;
}

.as-preview-drag-handle {
  display: none !important;
}

.as-preview-modal-close {
  position: absolute !important;
  top: 18px !important;
  right: 20px !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: #e2e8f0 !important;
  border: none !important;
  font-size: 22px !important;
  color: #475569 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.2s, color 0.2s !important;
  z-index: 20 !important;
  line-height: 1 !important;
}
.as-preview-modal-close:hover {
  background: #cbd5e1 !important;
  color: #0f172a !important;
}

.as-preview-modal-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr) !important;
  gap: 28px !important;
  align-items: start !important;
  width: 100% !important;
}

.as-preview-col-left {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  width: 100% !important;
}

.as-preview-breadcrumb {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  color: #64748b !important;
  margin-bottom: 12px !important;
}
.as-preview-breadcrumb a {
  color: #0284c7 !important;
  text-decoration: none !important;
}
.as-preview-breadcrumb span {
  color: #0f172a !important;
  font-weight: 600 !important;
}

.as-preview-hero-wrap {
  background: #ffffff !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.03) !important;
  margin-bottom: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
}
.as-preview-hero-img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: 18px !important;
  display: block !important;
}

/* CARROSSEL ABRAÇADEIRA */
.as-preview-as-vit {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}
.as-preview-as-vit__tit {
  font-family: 'Inter', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  color: #5B6B78 !important;
  margin: 0 0 8px !important;
}
.as-preview-as-vit__pista {
  display: flex !important;
  gap: 12px !important;
  background: #F4F5F7 !important;
  border: 1px solid #E2E7EA !important;
  border-radius: 14px !important;
  padding: 10px 12px !important;
  overflow-x: auto !important;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 16px), transparent 100%) !important;
  mask-image: linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 16px), transparent 100%) !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  cursor: grab !important;
}
.as-preview-as-vit__pista::-webkit-scrollbar { display: none !important; }
.as-preview-as-vit__item {
  display: block !important;
  flex: 0 0 auto !important;
  width: 90px !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  transition: transform 0.15s ease !important;
}
.as-preview-as-vit__cx {
  display: block !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 6px rgba(10, 40, 60, 0.08) !important;
  transition: transform .15s ease !important;
}
.as-preview-as-vit__item:hover .as-preview-as-vit__cx {
  transform: translateY(-2px) !important;
  box-shadow: 0 5px 14px rgba(10, 40, 60, 0.16) !important;
}
.as-preview-as-vit__cx img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: 10px !important;
}
.as-preview-as-vit__nm {
  display: block !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #132A36 !important;
  text-align: center !important;
  margin-top: 5px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* COLUNA DIREITA */
.as-preview-col-right {
  min-width: 0 !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}
.as-preview-product-box {
  background: #ffffff !important;
  border-radius: 20px !important;
  border: 1px solid #e2e8f0 !important;
  padding: 28px 30px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
  min-width: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.as-preview-prod-main-title {
  font-family: 'Poppins', sans-serif !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  line-height: 1.2 !important;
  margin-bottom: 14px !important;
}
.as-preview-prod-checks {
  list-style: none !important;
  margin-bottom: 20px !important;
  padding: 0 !important;
}
.as-preview-prod-checks li {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13.5px !important;
  color: #334155 !important;
  margin-bottom: 6px !important;
  font-weight: 500 !important;
}
.as-preview-prod-checks svg {
  color: #22c55e !important;
  flex-shrink: 0 !important;
  width: 16px !important;
  height: 16px !important;
}

.as-preview-price-container { margin-bottom: 22px !important; }
.as-preview-big-price {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 32px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 4px !important;
  line-height: 1 !important;
  margin-bottom: 6px !important;
}
.as-preview-big-price small { font-size: 18px !important; font-weight: 700 !important; }
.as-preview-pix-row {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #16a34a !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-bottom: 4px !important;
}
.as-preview-pix-badge-off {
  background: #dcfce7 !important;
  color: #15803d !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  padding: 2px 8px !important;
  border-radius: 4px !important;
}
.as-preview-card-row {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  color: #64748b !important;
}
.as-preview-card-row strong { color: #1e293b !important; }

/* SELETOR DE VERSÕES (PILLS) */
.as-preview-v3-action {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  margin-bottom: 20px !important;
}
.as-preview-v3-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  color: #64748b !important;
}
.as-preview-v3-header strong { color: #0f172a !important; }
.as-preview-v3-pills {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}
.as-preview-v3-pill {
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 10px !important;
  padding: 8px 14px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
}
.as-preview-v3-pill:hover {
  border-color: #94a3b8 !important;
  background: #f8fafc !important;
}
.as-preview-v3-pill.selected {
  border-color: #22c55e !important;
  background: #ecfdf5 !important;
  color: #15803d !important;
  box-shadow: 0 2px 8px rgba(34, 197, 94, 0.18) !important;
}
.as-preview-v3-badge {
  font-size: 9px !important;
  font-weight: 800 !important;
  background: #22c55e !important;
  color: #ffffff !important;
  padding: 2px 5px !important;
  border-radius: 4px !important;
  text-transform: uppercase !important;
}
.as-preview-btn-cart {
  width: 100% !important;
  background: #2ECC71 !important;
  color: #ffffff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-size: 15.5px !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 15px 20px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  transition: background 0.15s ease, transform 0.15s ease !important;
  box-shadow: 0 4px 14px rgba(46, 204, 113, 0.25) !important;
}
.as-preview-btn-cart:hover {
  background: #27AE60 !important;
  transform: translateY(-1px) !important;
}
.as-preview-btn-cart:active {
  transform: translateY(0) !important;
}

/* SELOS OFICIAIS (ABAIXO DO BOTAO DE COMPRA) */
.as-preview-mc-chips {
  display: flex !important;
  gap: 8px !important;
  margin-bottom: 22px !important;
}
.as-preview-mc-chips span {
  flex: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 9px !important;
  padding: 9px 8px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: #334155 !important;
  white-space: nowrap !important;
}
.as-preview-mc-chips svg {
  width: 15px !important;
  height: 15px !important;
  color: #0284c7 !important;
  flex-shrink: 0 !important;
}
.as-preview-pay-section {
  border-top: 1px solid #f1f5f9 !important;
  padding-top: 14px !important;
}
.as-preview-pay-title {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #64748b !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 8px !important;
}
.as-preview-pay-flags {
  max-width: 260px !important;
  display: block !important;
  height: auto !important;
}

/* MODO ESCURO DO MODAL */
html[data-tema="escuro"] .as-preview-modal-box {
  background: #0B1924 !important;
  color: #F1F5F9 !important;
  border: 1px solid #1E3A4D !important;
}
html[data-tema="escuro"] .as-preview-modal-close {
  background: #1E3A4D !important;
  color: #94A3B8 !important;
}
html[data-tema="escuro"] .as-preview-modal-close:hover {
  background: #2A4D66 !important;
  color: #FFFFFF !important;
}
html[data-tema="escuro"] .as-preview-breadcrumb span {
  color: #F1F5F9 !important;
}
html[data-tema="escuro"] .as-preview-hero-wrap {
  background: #132A36 !important;
  border-color: #1E3A4D !important;
}
html[data-tema="escuro"] .as-preview-as-vit__pista {
  background: #132A36 !important;
  border-color: #1E3A4D !important;
}
html[data-tema="escuro"] .as-preview-as-vit__nm {
  color: #F1F5F9 !important;
}
html[data-tema="escuro"] .as-preview-product-box {
  background: #132A36 !important;
  border-color: #1E3A4D !important;
}
html[data-tema="escuro"] .as-preview-prod-main-title {
  color: #F1F5F9 !important;
}
html[data-tema="escuro"] .as-preview-prod-checks li {
  color: #CBD5E1 !important;
}
html[data-tema="escuro"] .as-preview-prod-checks strong {
  color: #F1F5F9 !important;
}
html[data-tema="escuro"] .as-preview-big-price {
  color: #F1F5F9 !important;
}
html[data-tema="escuro"] .as-preview-card-row {
  color: #94A3B8 !important;
}
html[data-tema="escuro"] .as-preview-card-row strong {
  color: #F1F5F9 !important;
}
html[data-tema="escuro"] .as-preview-v3-header strong {
  color: #F1F5F9 !important;
}
html[data-tema="escuro"] .as-preview-v3-pill {
  background: #1E3A4D !important;
  border-color: #2A4D66 !important;
  color: #F1F5F9 !important;
}
html[data-tema="escuro"] .as-preview-v3-pill:hover {
  border-color: #38BDF8 !important;
}
html[data-tema="escuro"] .as-preview-v3-pill.selected {
  background: rgba(34, 197, 94, 0.15) !important;
  border-color: #22C55E !important;
  color: #4ADE80 !important;
}
html[data-tema="escuro"] .as-preview-mc-chips span {
  background: #1E3A4D !important;
  border-color: #2A4D66 !important;
  color: #CBD5E1 !important;
}
html[data-tema="escuro"] .as-preview-pay-section {
  border-top-color: #1E3A4D !important;
}
html[data-tema="escuro"] .as-preview-pay-title {
  color: #94A3B8 !important;
}

/* Bloqueio de rolagem do fundo enquanto preview está ativo */
html.as-preview-aberto,
body.as-preview-aberto {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

/* ==========================================================================
   PREVIEW MODAL MOBILE — OPÇÃO 1 (BOTTOM SHEET PRO — APROVADA)
   ========================================================================== */
@media (max-width: 767px) {
  html.as-preview-aberto,
  body.as-preview-aberto {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  /* Botão Espiar otimizado para toque no celular */
  .btn-preview-v1 {
    top: 8px !important;
    right: 8px !important;
    padding: 4px 9px !important;
    font-size: 10.5px !important;
    gap: 4px !important;
  }
  .btn-preview-v1 .as-btn-emoji {
    font-size: 13px !important;
  }

  .as-preview-modal-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    height: 100dvh !important;
    padding: 0 !important;
    align-items: flex-end !important;
    justify-content: center !important;
    overflow: hidden !important;
    overscroll-behavior: none !important;
    touch-action: none !important;
  }
  .as-preview-modal-box {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 94vh !important;
    height: 94dvh !important;
    max-height: 94vh !important;
    max-height: 94dvh !important;
    border-radius: 24px 24px 0 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    transform: translateY(100%) !important;
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.5) !important;
    background: #f8fafc !important;
    overflow: hidden !important;
    overscroll-behavior: contain !important;
    touch-action: pan-y !important;
    will-change: transform;
  }
  .as-preview-modal-overlay.active .as-preview-modal-box {
    transform: translateY(0) !important;
  }
  .as-preview-modal-box.is-dragging {
    transition: none !important;
    user-select: none !important;
  }
  html[data-tema="escuro"] .as-preview-modal-box {
    background: #0B1924 !important;
    border-top: 1px solid #1E3A4D !important;
  }

  /* Puxador superior (Drag handle tátil, clicável e com feedback dinâmico) */
  .as-preview-drag-handle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer !important;
    touch-action: none !important;
    background: transparent !important;
    border: none !important;
    flex-shrink: 0 !important;
    -webkit-tap-highlight-color: transparent !important;
    user-select: none !important;
    position: relative !important;
    z-index: 15 !important;
  }
  .as-preview-drag-handle::after {
    content: "" !important;
    display: block !important;
    width: 48px !important;
    height: 5px !important;
    background: #cbd5e1 !important;
    border-radius: 4px !important;
    transition: background 0.15s ease, transform 0.15s ease !important;
  }
  .as-preview-drag-handle:active::after,
  .as-preview-modal-box.is-dragging .as-preview-drag-handle::after {
    background: #94a3b8 !important;
    transform: scaleX(1.15) !important;
  }
  html[data-tema="escuro"] .as-preview-drag-handle::after {
    background: #475569 !important;
  }
  html[data-tema="escuro"] .as-preview-drag-handle:active::after,
  html[data-tema="escuro"] .as-preview-modal-box.is-dragging .as-preview-drag-handle::after {
    background: #64748b !important;
  }

  /* Botão fechar [X] ergonômico no topo */
  .as-preview-modal-close {
    position: absolute !important;
    top: 10px !important;
    right: 14px !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    font-size: 20px !important;
    line-height: 1 !important;
  }

  /* Grid interna como container de scroll suave */
  .as-preview-modal-grid {
    display: grid !important;
    grid-template-columns: 96px 1fr !important;
    column-gap: 12px !important;
    row-gap: 12px !important;
    align-items: start !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    padding: 8px 14px max(24px, env(safe-area-inset-bottom, 24px)) !important;
    flex: 1 !important;
    touch-action: pan-y !important;
  }
  .as-preview-modal-grid::-webkit-scrollbar { display: none !important; }

  /* Desaninhamento cirúrgico de wrappers: elimina visual 'card dentro de card' */
  .as-preview-col-left { display: contents !important; }
  .as-preview-col-right { display: contents !important; }
  .as-preview-product-box {
    display: contents !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
  }

  /* 1. Breadcrumb no topo */
  .as-preview-breadcrumb {
    grid-column: 1 / -1 !important;
    order: 1 !important;
    font-size: 11px !important;
    margin: 0 !important;
    padding-right: 36px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* 2. Imagem Hero 3D Compacta */
  .as-preview-hero-wrap {
    grid-column: 1 !important;
    grid-row: 2 / span 2 !important;
    order: 2 !important;
    width: 96px !important;
    height: 96px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    margin: 0 !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
  }
  html[data-tema="escuro"] .as-preview-hero-wrap {
    border-color: #1E3A4D !important;
  }
  .as-preview-hero-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 12px !important;
  }

  /* 3. Título do Software (ao lado da imagem) */
  .as-preview-prod-main-title {
    grid-column: 2 !important;
    grid-row: 2 !important;
    order: 3 !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    margin: 0 !important;
  }

  /* 4. Checklist de Detalhes (ao lado da imagem, abaixo do título) */
  .as-preview-prod-checks {
    grid-column: 2 !important;
    grid-row: 3 !important;
    order: 4 !important;
    font-size: 11px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .as-preview-prod-checks li {
    font-size: 11px !important;
    margin-bottom: 2px !important;
    gap: 4px !important;
  }
  .as-preview-prod-checks svg {
    width: 12px !important;
    height: 12px !important;
  }

  /* 5. Bloco de Bundle (se aplicável) */
  #as-bundle-injected-block {
    grid-column: 1 / -1 !important;
    order: 5 !important;
    margin: 0 !important;
  }

  /* 6. Bloco de Preços Unificado (PIX 15% OFF & Cartão) */
  .as-preview-price-container {
    grid-column: 1 / -1 !important;
    order: 6 !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 10px 12px !important;
    margin: 0 !important;
  }
  html[data-tema="escuro"] .as-preview-price-container {
    background: #132A36 !important;
    border-color: #1E3A4D !important;
  }
  .as-preview-big-price {
    font-size: 24px !important;
    margin-bottom: 4px !important;
  }
  .as-preview-big-price small { font-size: 14px !important; }
  .as-preview-pix-row {
    font-size: 12.5px !important;
    margin-bottom: 2px !important;
  }
  .as-preview-card-row {
    font-size: 11.5px !important;
  }

  /* 7. Seletor de Versões + Botão de Adicionar ao Carrinho */
  .as-preview-v3-action {
    grid-column: 1 / -1 !important;
    order: 7 !important;
    gap: 8px !important;
    margin: 0 !important;
  }
  .as-preview-v3-header {
    font-size: 11px !important;
  }
  .as-preview-v3-pills {
    gap: 6px !important;
  }
  .as-preview-v3-pill {
    padding: 6px 11px !important;
    font-size: 11.5px !important;
    border-radius: 8px !important;
  }
  .as-preview-btn-cart {
    padding: 13px 14px !important;
    font-size: 14px !important;
    border-radius: 12px !important;
  }

  /* 8. Selos Oficiais Padronizados (Anti-Corte em 3 colunas) */
  .as-preview-mc-chips {
    grid-column: 1 / -1 !important;
    order: 8 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 6px !important;
    margin: 0 !important;
  }
  .as-preview-mc-chips span {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 3px !important;
    padding: 6px 3px !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    white-space: normal !important;
    border-radius: 8px !important;
  }
  .as-preview-mc-chips svg {
    width: 14px !important;
    height: 14px !important;
  }

  /* 9. Pagamento Seguro */
  .as-preview-pay-section {
    grid-column: 1 / -1 !important;
    order: 9 !important;
    border-top: 1px solid #e2e8f0 !important;
    padding-top: 8px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    margin: 0 !important;
  }
  html[data-tema="escuro"] .as-preview-pay-section {
    border-top-color: #1E3A4D !important;
  }
  .as-preview-pay-title {
    font-size: 10px !important;
    margin-bottom: 5px !important;
  }
  .as-preview-pay-flags {
    max-width: 200px !important;
  }

  /* 10. Selo Oficial RA Reviews (se ativo) */
  #as-pv-ra-box {
    grid-column: 1 / -1 !important;
    order: 10 !important;
    margin: 0 !important;
  }

  /* 11. "Também pode gostar" REPOSICIONADO NO FINAL DO MODAL */
  .as-preview-as-vit {
    grid-column: 1 / -1 !important;
    order: 11 !important;
    border-top: 1px solid #e2e8f0 !important;
    padding-top: 10px !important;
    margin-top: 4px !important;
  }
  html[data-tema="escuro"] .as-preview-as-vit {
    border-top-color: #1E3A4D !important;
  }
  .as-preview-as-vit__tit {
    font-size: 10.5px !important;
    margin-bottom: 8px !important;
  }
  .as-preview-as-vit__pista {
    padding: 8px 10px !important;
    border-radius: 10px !important;
    gap: 8px !important;
  }
  .as-preview-as-vit__item {
    width: 68px !important;
  }
  .as-preview-as-vit__cx {
    border-radius: 8px !important;
  }
  .as-preview-as-vit__cx img {
    border-radius: 8px !important;
  }
  .as-preview-as-vit__nm {
    font-size: 9.5px !important;
  }
}

/* ==========================================================================
   INTEGRAÇÃO RA REVIEWS (RECLAME AQUI) — VARIAÇÃO 1 (ORIGINAL & RECOMENDADA)
   ========================================================================== */
.ra-card-micro-row {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: left !important;
  gap: 6px !important;
  margin: 3px 0 5px !important;
  font-size: 11.5px !important;
  line-height: 1.2 !important;
}
.ra-card-micro-row .ra-stars {
  color: #f59e0b !important;
  font-size: 11px !important;
  letter-spacing: -1px !important;
}
.ra-card-micro-row .ra-score {
  font-weight: 700 !important;
  color: #15232b !important;
}
html[data-tema="escuro"] .ra-card-micro-row .ra-score {
  color: #e8eef2 !important;
}
.exc-item .ra-card-micro-row .ra-score {
  color: #15232b !important;
}
.ra-card-micro-row .ra-count {
  color: #8c9ba5 !important;
  font-size: 11px !important;
}
.ra-card-micro-row .ra-tag {
  background: rgba(25, 178, 87, 0.12) !important;
  color: #128a42 !important;
  font-weight: 700 !important;
  font-size: 10px !important;
  padding: 1px 6px !important;
  border-radius: 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
}

.as-pv-ra-native-seal {
  margin-top: 14px !important;
  padding: 11px 14px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  display: flex;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  transition: border-color 0.2s !important;
}
.as-pv-ra-native-seal.hidden,
.as-pv-ra-native-seal[style*="display: none"],
.as-pv-ra-native-seal[style*="display:none"] {
  display: none !important;
}
html[data-tema="escuro"] .as-pv-ra-native-seal {
  background: #0d1a24 !important;
  border-color: #1E3A4D !important;
}
.as-pv-ra-native-left {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.as-pv-ra-logo-badge {
  background: #19b257 !important;
  color: #ffffff !important;
  font-weight: 900 !important;
  font-size: 10px !important;
  padding: 4px 6px !important;
  border-radius: 6px !important;
  letter-spacing: 0.5px !important;
  line-height: 1 !important;
}
.as-pv-ra-info {
  display: flex !important;
  flex-direction: column !important;
}
.as-pv-ra-info-title {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
}
html[data-tema="escuro"] .as-pv-ra-info-title {
  color: #f1f5f9 !important;
}
.as-pv-ra-info-sub {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  color: #64748b !important;
}
html[data-tema="escuro"] .as-pv-ra-info-sub {
  color: #94a3b8 !important;
}
.as-pv-ra-btn-link {
  background: transparent !important;
  border: none !important;
  color: #0284c7 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  text-decoration: underline !important;
  padding: 0 !important;
  white-space: nowrap !important;
}
.as-pv-ra-btn-link:hover { color: #0369a1 !important; }

/* ==========================================================================
   ESTILOS DEDICADOS PARA BUNDLES / COMBOS (ANONSHIELD OFICIAL)
   ========================================================================== */
.as-bundle-split-section {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  margin-bottom: 16px !important;
}
html[data-tema="escuro"] .as-bundle-split-section {
  background: #0B1924 !important;
  border-color: #1E3A4D !important;
}
.as-bundle-split-title {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: #64748b !important;
  margin-bottom: 8px !important;
  display: flex !important;
  justify-content: space-between !important;
}
html[data-tema="escuro"] .as-bundle-split-title {
  color: #94a3b8 !important;
}
.as-bundle-split-grid {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 10px !important;
}
.as-bundle-split-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 9px !important;
  padding: 8px 10px !important;
  position: relative !important;
}
html[data-tema="escuro"] .as-bundle-split-card {
  background: #132A36 !important;
  border-color: #1E3A4D !important;
}
.as-split-badge-tag {
  font-size: 9.5px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  color: #004c6d !important;
  background: rgba(0, 76, 109, 0.08) !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
  display: inline-block !important;
  margin-bottom: 3px !important;
}
html[data-tema="escuro"] .as-split-badge-tag {
  color: #38bdf8 !important;
  background: rgba(2, 132, 199, 0.15) !important;
}
.as-split-software-name {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}
html[data-tema="escuro"] .as-split-software-name {
  color: #f1f5f9 !important;
}
.as-split-ver-dinamica {
  color: #16a34a !important;
  font-weight: 800 !important;
}
html[data-tema="escuro"] .as-split-ver-dinamica {
  color: #4ade80 !important;
}
.as-split-sub {
  font-size: 11px !important;
  color: #64748b !important;
  margin: 2px 0 4px 0 !important;
  line-height: 1.2 !important;
}
html[data-tema="escuro"] .as-split-sub {
  color: #94a3b8 !important;
}
.as-split-val-avulso {
  font-size: 10.5px !important;
  color: #94a3b8 !important;
}
.as-split-val-avulso span {
  text-decoration: line-through !important;
  color: #ef4444 !important;
  font-weight: 600 !important;
}
.as-bundle-split-plus {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  color: #004c6d !important;
  background: #e2e8f0 !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
html[data-tema="escuro"] .as-bundle-split-plus {
  background: #1E3A4D !important;
  color: #38bdf8 !important;
}
.as-bundle-split-math {
  background: rgba(34, 197, 94, 0.08) !important;
  border: 1px solid rgba(34, 197, 94, 0.22) !important;
  border-radius: 8px !important;
  padding: 7px 12px !important;
  font-size: 11.5px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  color: #334155 !important;
}
html[data-tema="escuro"] .as-bundle-split-math {
  background: rgba(34, 197, 94, 0.1) !important;
  border-color: rgba(34, 197, 94, 0.25) !important;
  color: #cbd5e1 !important;
}
.as-bundle-math-sum {
  font-weight: 500 !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
}
.as-bundle-math-sum s {
  color: #ef4444 !important;
  font-weight: 600 !important;
}
.as-bundle-math-eco {
  background: #16a34a !important;
  color: #ffffff !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  padding: 3px 8px !important;
  border-radius: 5px !important;
  letter-spacing: 0.5px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}
html[data-tema="escuro"] .as-bundle-math-eco {
  background: #16a34a !important;
  color: #ffffff !important;
}

/* Botões 'Ver todos →' da Home */
.elementor-element-21e40b5 .elementor-button,
.elementor-element-a1c0d10 .elementor-button {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: #f1f5f9 !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  transition: all 0.2s ease !important;
}
.elementor-element-21e40b5 .elementor-button:hover,
.elementor-element-a1c0d10 .elementor-button:hover {
  background: rgba(255, 255, 255, 0.18) !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
  color: #ffffff !important;
}
html:not([data-tema="escuro"]) .elementor-element-21e40b5 .elementor-button,
html:not([data-tema="escuro"]) .elementor-element-a1c0d10 .elementor-button {
  background: #f1f5f9 !important;
  border: 1px solid #cbd5e1 !important;
  color: #0f172a !important;
}
html:not([data-tema="escuro"]) .elementor-element-21e40b5 .elementor-button:hover,
html:not([data-tema="escuro"]) .elementor-element-a1c0d10 .elementor-button:hover {
  background: #e2e8f0 !important;
  color: #0284c7 !important;
}



/* ==========================================================================
   BOTÃO UNIVERSAL ADICIONAR AO CARRINHO (IGUAL AOS OUTROS CARDS)
   ========================================================================== */
.uc_post_grid_style_one_button .uc-button-addcart,
.uc-button-addcart {
  background-color: #2ECC71 !important;
  color: #ffffff !important;
  border-radius: 10px !important;
  border: none !important;
  padding: 10px 16px !important;
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease, transform 0.2s ease !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin-top: 0 !important;
  box-sizing: border-box !important;
}

.uc_post_grid_style_one_button .uc-button-addcart:hover,
.uc-button-addcart:hover {
  background-color: #27AE60 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

.uc-button-addcart .ue-inner-btn-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
}

.uc-button-addcart .ue-inner-btn-wrapper > span:first-child {
  display: inline-flex !important;
  width: 18px !important;
  height: 18px !important;
  align-items: center !important;
  justify-content: center !important;
}

.uc-button-addcart .ue-inner-btn-wrapper > span:first-child::before {
  content: "" !important;
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%2220%22%20r%3D%221.5%22%2F%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%2220%22%20r%3D%221.5%22%2F%3E%3Cpath%20d%3D%22M2%203h3l2.4%2012.4a2%202%200%200%200%202%201.6h8.7a2%202%200%200%200%202-1.6L23%207H6%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat !important;
}

/* ==========================================================================
   ENQUADRAMENTO INTEGRAL DAS IMAGENS DOS PRODUTOS (PROPORÇÃO 1:1 SEM CORTES)
   --------------------------------------------------------------------------
   Todas as artes do catálogo são quadradas 1:1 (600x600, 1024x1024, etc.).
   O Elementor forçava 'height: 190px/200px' com 'object-fit: cover', o que
   cortava a base dos suportes metálicos dos bundles e as mesas dos softwares.
   Com aspect-ratio: 1/1, height: auto e padding zero no wrapper, 100% da
   imagem é exibida com fidelidade total e cantos superiores arredondados.
   ========================================================================== */
.uc_post_grid_style_one_image-wrapper,
.ue-woo-grid .uc_post_grid_style_one_image-wrapper {
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 16px 16px 0 0 !important;
  overflow: hidden !important;
}

.uc_post_grid_style_one_image,
.ue-woo-grid .uc_post_grid_style_one_image,
.uc_post_image,
.ue-woo-grid .uc_post_image {
  height: auto !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  display: block !important;
}

.ue-woo-grid .uc_post_image img,
.uc_post_grid_style_one_wrap .uc_post_image img,
.uc_post_grid_style_one_item .uc_post_image img {
  height: 100% !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 16px 16px 0 0 !important;
}

/* ==========================================================================
   GRADE DE PRODUTOS MOBILE UNIFICADA (1 COLUNA CHEIA / 100% WIDTH)
   --------------------------------------------------------------------------
   - Transforma a grade de produtos em 1 coluna full-width no celular.
   - Elimina corte de texto no botão "Adicionar ao carrinho".
   - Torna o botão de compra um tap target amplo (mínimo 44px de altura).
   - Garante que a imagem 3D, títulos e valores tenham proporções premium.
   ========================================================================== */
@media (max-width: 767px) {
  .ue-woo-grid,
  .uc_post_grid_style_one_wrap.ue-woo-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .ue-woo-grid .uc_post_grid_style_one_item,
  .uc_post_grid_style_one_wrap.ue-woo-grid .uc_post_grid_style_one_item {
    max-width: 440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .ue-woo-grid .uc_title,
  .ue-woo-grid .uc_title a {
    font-size: 16px !important;
    line-height: 1.35 !important;
  }

  .ue-woo-grid .padding {
    padding: 16px 18px 18px 18px !important;
  }

  .ue-woo-grid .uc_price {
    font-size: 21px !important;
    margin: 0 0 8px 0 !important;
  }

  .ue-woo-grid .uc_post_grid_style_one_button > a,
  .ue-woo-grid .uc-button-addcart,
  .ue-woo-grid .added_to_cart {
    font-size: 14px !important;
    padding: 11px 16px !important;
    border-radius: 10px !important;
    min-height: 44px !important;
  }
}

/* ==========================================================================
   ACELERAÇÃO DE RENDERIZAÇÃO & FLUIDEZ (CONTENT-VISIBILITY & GPU COMPOSITING)
   --------------------------------------------------------------------------
   - content-visibility: auto adia o layout e renderização de cards fora do
     viewport, acelerando a pintura inicial e reduzindo o consumo de CPU/GPU
     em catálogos com dezenas de itens (ex: /shop/ com 50+ produtos).
   - touch-action: manipulation remove o atraso de 300ms de duplo toque no mobile.
   ========================================================================== */
.ue-woo-grid .uc_post_grid_style_one_item,
.uc_post_grid_style_one_wrap .uc_post_grid_style_one_item {
  content-visibility: auto;
  contain-intrinsic-size: auto 450px;
}

/* Eliminar atraso de 300ms de toque em botões e links no celular */
button,
a,
input,
select,
.uc-button-addcart,
.as-bundle-card-btn,
.as-filtro__item,
.as-btn {
  touch-action: manipulation !important;
}

/* Scroll suave e responsivo no iOS/Android com prevenção contra overflow horizontal */
html, body {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overflow-x: hidden !important;
  max-width: 100% !important;
}

/* ==========================================================================
   CABEÇALHO MOBILE — OPÇÃO 3 (MINIMALISTA CLEAN COM CORES 100% FIÉIS)
   --------------------------------------------------------------------------
   - Cores oficiais extraídas das variáveis do Elementor:
     Navy #004C6D (--e-global-color-350621d)
     Rail grafite linear-gradient(180deg, #333E4F 0%, #242E3B 50%, #1A212B 100%)
     Branco #FFFFFF, Verde WhatsApp #25D366
   - Isolamento estrito: media query (max-width: 767px) aplicada exclusivamente
     no container .elementor-element-2733e3a. Zero impacto na versão Desktop (>767px).
   ========================================================================== */
@media (max-width: 767px) {
  /* 1. Container Geral do Header Mobile */
  .elementor-242628 .elementor-element.elementor-element-2733e3a,
  .elementor-element-2733e3a {
    background: linear-gradient(180deg, #333E4F 0%, #242E3B 50%, #1A212B 100%) !important;
    border-bottom: 1px solid rgba(71, 86, 107, 0.60) !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    position: relative !important;
  }

  .elementor-242628 .elementor-element.elementor-element-773fc40,
  .elementor-element-2733e3a .elementor-element-773fc40,
  .elementor-element-2733e3a .e-con-inner,
  .elementor-242628 .elementor-element.elementor-element-b70b389,
  .elementor-element-2733e3a .elementor-element-b70b389,
  .elementor-242628 .elementor-element.elementor-element-11bb35a,
  .elementor-element-2733e3a .elementor-element-11bb35a,
  .elementor-element-2733e3a .elementor-widget-nav-menu,
  .elementor-element-2733e3a .elementor-element-11bb35a .elementor-widget-container {
    position: static !important;
  }

  /* 2. Container Superior */
  .elementor-242628 .elementor-element.elementor-element-773fc40,
  .elementor-element-773fc40 {
    padding: 10px 14px 12px 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .elementor-element-773fc40 > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    row-gap: 10px !important;
    column-gap: 6px !important;
  }

  /* 3. Logo Responsivo (Linha 1, Esquerda) */
  .elementor-242628 .elementor-element.elementor-element-bd2712d,
  .elementor-element-bd2712d {
    order: 1 !important;
    --width: auto !important;
    width: auto !important;
    max-width: 180px !important;
    flex: 0 0 auto !important;
    margin-right: auto !important;
    display: flex !important;
    align-items: center !important;
  }

  .elementor-element-bd2712d img {
    width: 165px !important;
    max-width: 165px !important;
    height: auto !important;
    display: block !important;
    object-fit: contain !important;
  }

  @media (max-width: 360px) {
    .elementor-242628 .elementor-element.elementor-element-bd2712d,
    .elementor-element-bd2712d {
      max-width: 145px !important;
    }
    .elementor-element-bd2712d img {
      width: 140px !important;
      max-width: 140px !important;
    }
  }

  /* 4. Agrupamento de Ações (Linha 1, Direita) */
  .elementor-242628 .elementor-element.elementor-element-b70b389,
  .elementor-element-b70b389 {
    order: 2 !important;
    --width: auto !important;
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .elementor-element-b70b389 .b1-actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }

  .elementor-element-b70b389 .b1-lnk {
    width: 36px !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    position: relative !important;
    text-decoration: none !important;
    border-radius: 8px !important;
    transition: background 0.15s ease !important;
  }

  .elementor-element-b70b389 .b1-lnk:hover {
    background: rgba(255, 255, 255, 0.08) !important;
  }

  .elementor-element-b70b389 .b1-lnk svg {
    width: 21px !important;
    height: 21px !important;
    stroke: #ffffff !important;
  }

  /* Ícone de WhatsApp verde oficial */
  .elementor-element-b70b389 .as-header-wa svg,
  .elementor-element-b70b389 a[href*="wa.me"] svg {
    stroke: #25D366 !important;
  }

  /* Badge do Carrinho */
  .elementor-element-b70b389 .as-cart-count {
    position: absolute !important;
    top: 2px !important;
    right: 2px !important;
    background: #10B981 !important;
    color: #ffffff !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    width: 16px !important;
    height: 16px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1.5px solid #242E3B !important;
    line-height: 1 !important;
  }

  /* 5. Botão de 3 Linhas (Hambúrguer) — Linha 1, Extrema Direita com Margem Segura */
  .elementor-242628 .elementor-element.elementor-element-11bb35a,
  .elementor-element-11bb35a {
    order: 3 !important;
    width: 38px !important;
    max-width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    flex: 0 0 38px !important;
    margin: 0 0 0 4px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .elementor-element-11bb35a .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .elementor-element-11bb35a .elementor-menu-toggle {
    background: #004C6D !important;
    color: #ffffff !important;
    border-radius: 10px !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25) !important;
    border: none !important;
    transition: background 0.15s ease, transform 0.1s ease !important;
  }

  .elementor-element-11bb35a .elementor-menu-toggle:active {
    transform: scale(0.95);
  }

  .elementor-element-11bb35a .elementor-menu-toggle i {
    color: #ffffff !important;
    font-size: 19px !important;
    line-height: 1 !important;
  }

  .elementor-element-11bb35a .elementor-menu-toggle svg {
    fill: #ffffff !important;
    width: 19px !important;
    height: 19px !important;
  }

  /* Esconder menu horizontal desktop dentro do header mobile */
  .elementor-element-2733e3a .elementor-nav-menu--main {
    display: none !important;
  }

  /* Gaveta Dropdown Aberta do Menu Mobile */
  .elementor-element-2733e3a nav.elementor-nav-menu--dropdown {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    box-shadow: 0 20px 44px rgba(10, 40, 60, 0.25) !important;
    z-index: 999999 !important;
    border-top: 1px solid #eef1f3 !important;
    max-height: 80vh !important;
    overflow-y: auto !important;
  }

  /* 6. Barra de Busca Opção 3: Minimalista Clean com Lupa Integrada à Esquerda (Linha 2) */
  .elementor-242628 .elementor-element.elementor-element-d3223ee,
  .elementor-element-d3223ee {
    order: 4 !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    display: block !important;
  }

  .elementor-element-d3223ee .elementor-widget-aws,
  .elementor-element-d3223ee .aws-container,
  .elementor-242628 .elementor-element.elementor-element-336e18e,
  .elementor-242628 .elementor-element.elementor-element-336e18e .aws-container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .elementor-242628 .elementor-element.elementor-element-336e18e .aws-search-form,
  .elementor-element-d3223ee .aws-search-form {
    display: flex !important;
    flex-direction: row-reverse !important;
    align-items: center !important;
    justify-content: flex-end !important;
    background: #ffffff !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 12px !important;
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 8px 0 6px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }

  /* Lupa de pesquisa integrada à esquerda (sem botão circular destacado) */
  .elementor-242628 .elementor-element.elementor-element-336e18e .aws-search-form .aws-search-btn.aws-form-btn,
  .elementor-element-d3223ee .aws-search-form .aws-search-btn.aws-form-btn {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    width: 32px !important;
    min-width: 32px !important;
    max-width: 32px !important;
    height: 38px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    flex: 0 0 32px !important;
    box-shadow: none !important;
  }

  .elementor-242628 .elementor-element.elementor-element-336e18e .aws-search-form .aws-search-btn.aws-form-btn svg,
  .elementor-element-d3223ee .aws-search-form .aws-search-btn.aws-form-btn svg {
    fill: #004C6D !important;
    stroke: #004C6D !important;
    width: 19px !important;
    height: 19px !important;
  }

  /* Wrapper do input */
  .elementor-242628 .elementor-element.elementor-element-336e18e .aws-search-form .aws-wrapper,
  .elementor-element-d3223ee .aws-search-form .aws-wrapper {
    flex: 1 1 auto !important;
    width: calc(100% - 34px) !important;
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
  }

  .elementor-242628 .elementor-element.elementor-element-336e18e .aws-search-field,
  .elementor-element-d3223ee .aws-search-field {
    width: 100% !important;
    height: 38px !important;
    border: none !important;
    background: transparent !important;
    padding: 0 6px !important;
    font-size: 13.5px !important;
    color: #15232b !important;
    outline: none !important;
    box-shadow: none !important;
  }

  .elementor-242628 .elementor-element.elementor-element-336e18e .aws-search-field::placeholder,
  .elementor-element-d3223ee .aws-search-field::placeholder {
    color: #64748b !important;
    font-size: 13px !important;
    opacity: 1 !important;
  }

  .elementor-242628 .elementor-element.elementor-element-336e18e .aws-search-clear,
  .elementor-element-d3223ee .aws-search-clear {
    right: 8px !important;
  }
}

/* ==========================================================================
   PÁGINAS INSTITUCIONAIS / POLÍTICAS (Entrega, Termos, Privacidade)
   ========================================================================== */
.as-policy-container {
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: 40px 20px 60px !important;
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  line-height: 1.7 !important;
}

/* Neutralizar vazamento de letter-spacing: -2px e falta de respiro do Elementor */
.as-policy-container,
.as-policy-container h1,
.as-policy-container h2,
.as-policy-container h3,
.as-policy-container h4,
.as-policy-container h5,
.as-policy-container h6,
.as-policy-container p,
.as-policy-container li,
.as-policy-container span,
.as-policy-container strong,
.as-policy-title,
.as-bm-title,
.as-legal-content,
.as-legal-content h1,
.as-legal-content h2,
.as-legal-content h3,
.as-legal-content h4,
.elementor-widget-text-editor h1,
.elementor-widget-text-editor h2,
.elementor-widget-text-editor h3,
.elementor-widget-text-editor h4 {
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  letter-spacing: 0.2px !important;
}

.as-policy-header {
  margin-bottom: 32px !important;
  text-align: left !important;
}

.as-policy-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: rgba(16, 185, 129, 0.12) !important;
  color: #10b981 !important;
  border: 1px solid rgba(16, 185, 129, 0.28) !important;
  padding: 5px 12px !important;
  border-radius: 999px !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.6px !important;
  text-transform: uppercase !important;
  margin-bottom: 14px !important;
}

.as-policy-title {
  font-size: 30px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  margin: 0 0 14px !important;
  letter-spacing: 0.2px !important;
}

.as-policy-subtitle {
  font-size: 15.5px !important;
  line-height: 1.65 !important;
  letter-spacing: 0.05px !important;
  margin: 0 !important;
}

/* Callout Box do Modelo de Negócio (Teste antes de pagar) */
.as-business-model-box {
  border-radius: 16px !important;
  padding: 26px 28px !important;
  margin: 32px 0 38px !important;
  border: 1.5px solid #10b981 !important;
  box-shadow: 0 8px 24px rgba(16, 185, 129, 0.08) !important;
  position: relative !important;
}

.as-bm-badge {
  display: inline-block !important;
  background: #10b981 !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.8px !important;
  padding: 4px 11px !important;
  border-radius: 6px !important;
  margin-bottom: 14px !important;
}

.as-bm-title {
  font-size: 21px !important;
  font-weight: 700 !important;
  margin: 0 0 14px !important;
  line-height: 1.45 !important;
  letter-spacing: 0.25px !important;
}

.as-bm-desc {
  font-size: 14.5px !important;
  line-height: 1.7 !important;
  letter-spacing: 0.05px !important;
  margin: 0 0 22px !important;
}

.as-bm-steps {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 14px !important;
  margin-top: 18px !important;
}

.as-step-item {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  border-radius: 12px !important;
  padding: 16px 14px !important;
  transition: transform 0.2s ease !important;
}

.as-step-num {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: #10b981 !important;
  color: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.as-step-item strong {
  display: block !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.15px !important;
}

.as-step-item span {
  display: block !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

/* Seções de Texto */
.as-policy-section {
  margin-bottom: 34px !important;
}

.as-policy-section h3 {
  font-size: 19px !important;
  font-weight: 700 !important;
  margin: 0 0 14px !important;
  padding-bottom: 10px !important;
  line-height: 1.4 !important;
  letter-spacing: 0.2px !important;
  border-bottom: 1px solid rgba(148, 163, 184, 0.2) !important;
}

.as-policy-section p {
  font-size: 14.5px !important;
  line-height: 1.7 !important;
  margin: 0 0 12px !important;
  letter-spacing: 0.05px !important;
}

.as-policy-section ul {
  padding-left: 20px !important;
  margin: 12px 0 16px !important;
}

.as-policy-section li {
  font-size: 14px !important;
  line-height: 1.65 !important;
  margin-bottom: 10px !important;
  letter-spacing: 0.05px !important;
}

/* Cards de Benefícios no Rodapé */
.as-policy-cards {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
  margin: 36px 0 !important;
}

.as-pcard {
  border-radius: 14px !important;
  padding: 20px 16px !important;
  text-align: center !important;
  border: 1px solid rgba(148, 163, 184, 0.2) !important;
}

.as-pcard-icon {
  font-size: 28px !important;
  margin-bottom: 10px !important;
  line-height: 1 !important;
}

.as-pcard h4 {
  font-size: 15px !important;
  font-weight: 700 !important;
  margin: 0 0 8px !important;
  line-height: 1.35 !important;
  letter-spacing: 0.15px !important;
}

.as-pcard p {
  font-size: 12.5px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* CTA WhatsApp */
.as-policy-cta {
  text-align: center !important;
  margin-top: 40px !important;
  padding: 28px 20px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(37, 211, 102, 0.3) !important;
}

.as-policy-cta p {
  font-size: 15px !important;
  font-weight: 600 !important;
  margin: 0 0 16px !important;
}

.as-policy-btn-wa {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  background: linear-gradient(135deg, #25D366 0%, #128C7E 100%) !important;
  color: #ffffff !important;
  padding: 13px 28px !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: 0 6px 18px rgba(37, 211, 102, 0.28) !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease !important;
}

.as-policy-btn-wa:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(37, 211, 102, 0.38) !important;
  color: #ffffff !important;
}

/* Cores Modo Escuro */
html[data-tema="escuro"] .as-policy-title,
html[data-tema="escuro"] .as-bm-title,
html[data-tema="escuro"] .as-policy-section h3,
html[data-tema="escuro"] .as-pcard h4,
html[data-tema="escuro"] .as-step-item strong {
  color: #f8fafc !important;
}

html[data-tema="escuro"] .as-policy-subtitle,
html[data-tema="escuro"] .as-bm-desc,
html[data-tema="escuro"] .as-policy-section p,
html[data-tema="escuro"] .as-policy-section li,
html[data-tema="escuro"] .as-pcard p,
html[data-tema="escuro"] .as-step-item span,
html[data-tema="escuro"] .as-policy-cta p {
  color: #cbd5e1 !important;
}

html[data-tema="escuro"] .as-business-model-box {
  background: rgba(16, 185, 129, 0.05) !important;
  border-color: rgba(16, 185, 129, 0.4) !important;
}

html[data-tema="escuro"] .as-step-item {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
}

html[data-tema="escuro"] .as-pcard {
  background: rgba(255, 255, 255, 0.03) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

html[data-tema="escuro"] .as-policy-cta {
  background: rgba(37, 211, 102, 0.04) !important;
}

/* Cores Modo Claro */
html:not([data-tema="escuro"]) .as-policy-title,
html:not([data-tema="escuro"]) .as-bm-title,
html:not([data-tema="escuro"]) .as-policy-section h3,
html:not([data-tema="escuro"]) .as-pcard h4,
html:not([data-tema="escuro"]) .as-step-item strong {
  color: #0f172a !important;
}

html:not([data-tema="escuro"]) .as-policy-subtitle,
html:not([data-tema="escuro"]) .as-bm-desc,
html:not([data-tema="escuro"]) .as-policy-section p,
html:not([data-tema="escuro"]) .as-policy-section li,
html:not([data-tema="escuro"]) .as-pcard p,
html:not([data-tema="escuro"]) .as-step-item span,
html:not([data-tema="escuro"]) .as-policy-cta p {
  color: #334155 !important;
}

html:not([data-tema="escuro"]) .as-business-model-box {
  background: #f0fdf4 !important;
  border-color: #10b981 !important;
}

html:not([data-tema="escuro"]) .as-step-item {
  background: #ffffff !important;
  border: 1px solid rgba(16, 185, 129, 0.2) !important;
}

html:not([data-tema="escuro"]) .as-pcard {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04) !important;
}

html:not([data-tema="escuro"]) .as-policy-cta {
  background: #f0fdf4 !important;
}

/* Esconder cabeçalho duplicado Beaver Builder nas páginas de políticas */
.fl-post-233803 .fl-post-header,
.page-id-233803 .fl-post-header {
  display: none !important;
}

/* Responsividade Mobile */
@media (max-width: 767px) {
  .as-policy-container {
    padding: 24px 16px 40px !important;
  }
  .as-policy-title {
    font-size: 24px !important;
    line-height: 1.35 !important;
    letter-spacing: 0.2px !important;
    margin-bottom: 12px !important;
  }
  .as-policy-subtitle {
    font-size: 14.5px !important;
    line-height: 1.6 !important;
  }
  .as-business-model-box {
    padding: 20px 16px !important;
  }
  .as-bm-badge {
    margin-bottom: 12px !important;
  }
  .as-bm-title {
    font-size: 18.5px !important;
    line-height: 1.45 !important;
    letter-spacing: 0.25px !important;
    margin-bottom: 12px !important;
  }
  .as-bm-desc {
    font-size: 14px !important;
    line-height: 1.65 !important;
    margin-bottom: 18px !important;
  }
  .as-bm-steps {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .as-step-item {
    padding: 12px 10px !important;
  }
  .as-policy-cards {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .as-pcard {
    text-align: left !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    padding: 16px 14px !important;
  }
  .as-pcard-icon {
    font-size: 24px !important;
    margin-bottom: 0 !important;
    flex-shrink: 0 !important;
  }
  .as-policy-btn-wa {
    width: 100% !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 480px) {
  .as-bm-steps {
    grid-template-columns: 1fr !important;
  }
}

/* ==========================================================================
   MEGA-DROPDOWNS FLUTUANTES (MALETAS BIM, CAM, ENGENHARIA & AUTODESK)
   Apenas para desktop (min-width: 1025px), preservando o drawer mobile 100%.
   ========================================================================== */
@media (min-width: 1025px) {
  /* Item pai do menu */
  .elementor-nav-menu--main .as-bim-menu-item,
  .elementor-nav-menu--main .as-cam-menu-item,
  .elementor-nav-menu--main .as-eng-menu-item,
  .elementor-nav-menu--main .as-autodesk-menu-item,
  .elementor-nav-menu--main .as-odonto-menu-item {
    position: relative !important;
  }

  /* Painel Flutuante da Maleta */
  .elementor-nav-menu--main ul.as-bim-maleta,
  .elementor-nav-menu--main ul.as-cam-maleta,
  .elementor-nav-menu--main ul.as-eng-maleta,
  .elementor-nav-menu--main ul.as-autodesk-maleta,
  .elementor-nav-menu--main ul.as-odonto-maleta,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-bim-maleta,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-cam-maleta,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-eng-maleta,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-autodesk-maleta,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-odonto-maleta,
  ul.sub-menu.as-bim-maleta,
  ul.sub-menu.as-cam-maleta,
  ul.sub-menu.as-eng-maleta,
  ul.sub-menu.as-autodesk-maleta,
  ul.sub-menu.as-odonto-maleta {
    display: grid !important;
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 0 !important;
    width: 530px !important;
    max-width: 92vw !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 14px !important;
    background: #17242c !important; /* Cor exata e idêntica ao header (#17242c) */
    background-color: #17242c !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 16px !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.75),
                0 0 0 1px rgba(255, 255, 255, 0.08),
                0 0 35px rgba(56, 189, 248, 0.12) !important;
    z-index: 999999 !important;
    list-style: none !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;

    /* Estado Normal (Fechado) */
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(6px) !important;
    transition: opacity 0.15s cubic-bezier(0.16, 1, 0.3, 1),
                visibility 0.15s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.15s cubic-bezier(0.16, 1, 0.3, 1) !important;
  }

  /* Alinhamento à direita para a maleta de Odontologia Digital */
  .elementor-nav-menu--main ul.as-odonto-maleta,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-odonto-maleta,
  ul.sub-menu.as-odonto-maleta {
    left: auto !important;
    right: 0 !important;
  }

  /* Ponte invisível expandida para tolerância no deslocamento do mouse */
  .elementor-nav-menu--main ul.as-bim-maleta::before,
  .elementor-nav-menu--main ul.as-cam-maleta::before,
  .elementor-nav-menu--main ul.as-eng-maleta::before,
  .elementor-nav-menu--main ul.as-autodesk-maleta::before,
  .elementor-nav-menu--main ul.as-odonto-maleta::before {
    content: '' !important;
    position: absolute !important;
    top: -24px !important;
    left: -20px !important;
    right: -20px !important;
    height: 24px !important;
    background: transparent !important;
    display: block !important;
  }

  /* Seta do topo desativada */
  .elementor-nav-menu--main ul.as-bim-maleta::after,
  .elementor-nav-menu--main ul.as-cam-maleta::after,
  .elementor-nav-menu--main ul.as-eng-maleta::after,
  .elementor-nav-menu--main ul.as-autodesk-maleta::after,
  .elementor-nav-menu--main ul.as-odonto-maleta::after {
    display: none !important;
  }

  /* Abertura da Maleta no Hover ou Focus: IMEDIATA (delay 0s) */
  .elementor-nav-menu--main .as-bim-menu-item:hover > ul.as-bim-maleta,
  .elementor-nav-menu--main .as-bim-menu-item:focus-within > ul.as-bim-maleta,
  .elementor-nav-menu--main .as-bim-menu-item.highlighted > ul.as-bim-maleta,
  .elementor-nav-menu--main .as-bim-menu-item.as-maleta-hover > ul.as-bim-maleta,
  .elementor-nav-menu--main ul.as-bim-maleta.as-maleta-hover,
  .elementor-nav-menu--main ul.as-bim-maleta:hover,
  .elementor-nav-menu--main .as-cam-menu-item:hover > ul.as-cam-maleta,
  .elementor-nav-menu--main .as-cam-menu-item:focus-within > ul.as-cam-maleta,
  .elementor-nav-menu--main .as-cam-menu-item.highlighted > ul.as-cam-maleta,
  .elementor-nav-menu--main .as-cam-menu-item.as-maleta-hover > ul.as-cam-maleta,
  .elementor-nav-menu--main ul.as-cam-maleta.as-maleta-hover,
  .elementor-nav-menu--main ul.as-cam-maleta:hover,
  .elementor-nav-menu--main .as-eng-menu-item:hover > ul.as-eng-maleta,
  .elementor-nav-menu--main .as-eng-menu-item:focus-within > ul.as-eng-maleta,
  .elementor-nav-menu--main .as-eng-menu-item.highlighted > ul.as-eng-maleta,
  .elementor-nav-menu--main .as-eng-menu-item.as-maleta-hover > ul.as-eng-maleta,
  .elementor-nav-menu--main ul.as-eng-maleta.as-maleta-hover,
  .elementor-nav-menu--main ul.as-eng-maleta:hover,
  .elementor-nav-menu--main .as-autodesk-menu-item:hover > ul.as-autodesk-maleta,
  .elementor-nav-menu--main .as-autodesk-menu-item:focus-within > ul.as-autodesk-maleta,
  .elementor-nav-menu--main .as-autodesk-menu-item.highlighted > ul.as-autodesk-maleta,
  .elementor-nav-menu--main .as-autodesk-menu-item.as-maleta-hover > ul.as-autodesk-maleta,
  .elementor-nav-menu--main ul.as-autodesk-maleta.as-maleta-hover,
  .elementor-nav-menu--main ul.as-autodesk-maleta:hover,
  .elementor-nav-menu--main .as-odonto-menu-item:hover > ul.as-odonto-maleta,
  .elementor-nav-menu--main .as-odonto-menu-item:focus-within > ul.as-odonto-maleta,
  .elementor-nav-menu--main .as-odonto-menu-item.highlighted > ul.as-odonto-maleta,
  .elementor-nav-menu--main .as-odonto-menu-item.as-maleta-hover > ul.as-odonto-maleta,
  .elementor-nav-menu--main ul.as-odonto-maleta.as-maleta-hover,
  .elementor-nav-menu--main ul.as-odonto-maleta:hover {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
    transition: opacity 0.18s cubic-bezier(0.16, 1, 0.3, 1) 0s,
                visibility 0.18s cubic-bezier(0.16, 1, 0.3, 1) 0s,
                transform 0.18s cubic-bezier(0.16, 1, 0.3, 1) 0s !important;
  }

  /* Itens e Links da Maleta */
  .elementor-nav-menu--main ul.as-bim-maleta li.as-bim-card-item,
  .elementor-nav-menu--main ul.as-cam-maleta li.as-bim-card-item,
  .elementor-nav-menu--main ul.as-eng-maleta li.as-bim-card-item,
  .elementor-nav-menu--main ul.as-autodesk-maleta li.as-bim-card-item,
  .elementor-nav-menu--main ul.as-odonto-maleta li.as-bim-card-item,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-bim-maleta li.as-bim-card-item,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-cam-maleta li.as-bim-card-item,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-eng-maleta li.as-bim-card-item,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-autodesk-maleta li.as-bim-card-item,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-odonto-maleta li.as-bim-card-item {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
  }

  .elementor-nav-menu--main ul.as-bim-maleta .as-bim-card-link,
  .elementor-nav-menu--main ul.as-cam-maleta .as-bim-card-link,
  .elementor-nav-menu--main ul.as-eng-maleta .as-bim-card-link,
  .elementor-nav-menu--main ul.as-autodesk-maleta .as-bim-card-link,
  .elementor-nav-menu--main ul.as-odonto-maleta .as-bim-card-link,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-bim-maleta .as-bim-card-link,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-cam-maleta .as-bim-card-link,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-eng-maleta .as-bim-card-link,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-autodesk-maleta .as-bim-card-link,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-odonto-maleta .as-bim-card-link {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 9px 12px !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.035) !important;
    border: 1px solid rgba(255, 255, 255, 0.07) !important;
    text-decoration: none !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }

  .elementor-nav-menu--main ul.as-bim-maleta .as-bim-card-link:hover,
  .elementor-nav-menu--main ul.as-cam-maleta .as-bim-card-link:hover,
  .elementor-nav-menu--main ul.as-eng-maleta .as-bim-card-link:hover,
  .elementor-nav-menu--main ul.as-autodesk-maleta .as-bim-card-link:hover,
  .elementor-nav-menu--main ul.as-odonto-maleta .as-bim-card-link:hover,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-bim-maleta .as-bim-card-link:hover,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-cam-maleta .as-bim-card-link:hover,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-eng-maleta .as-bim-card-link:hover,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-autodesk-maleta .as-bim-card-link:hover,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-odonto-maleta .as-bim-card-link:hover {
    background: rgba(56, 189, 248, 0.12) !important;
    border-color: rgba(56, 189, 248, 0.38) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25), 0 0 12px rgba(56, 189, 248, 0.12) !important;
  }

  /* Ícone Oficial com cantos arredondados modernos estilo App Icon */
  .elementor-nav-menu--main ul.as-bim-maleta .as-bim-icon-wrapper,
  .elementor-nav-menu--main ul.as-cam-maleta .as-bim-icon-wrapper,
  .elementor-nav-menu--main ul.as-eng-maleta .as-bim-icon-wrapper,
  .elementor-nav-menu--main ul.as-autodesk-maleta .as-bim-icon-wrapper,
  .elementor-nav-menu--main ul.as-odonto-maleta .as-bim-icon-wrapper,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-bim-maleta .as-bim-icon-wrapper,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-cam-maleta .as-bim-icon-wrapper,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-eng-maleta .as-bim-icon-wrapper,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-autodesk-maleta .as-bim-icon-wrapper,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-odonto-maleta .as-bim-icon-wrapper {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: none !important;
    border-radius: 9px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25) !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s !important;
  }

  .elementor-nav-menu--main ul.as-bim-maleta .as-bim-card-link:hover .as-bim-icon-wrapper,
  .elementor-nav-menu--main ul.as-cam-maleta .as-bim-card-link:hover .as-bim-icon-wrapper,
  .elementor-nav-menu--main ul.as-eng-maleta .as-bim-card-link:hover .as-bim-icon-wrapper,
  .elementor-nav-menu--main ul.as-autodesk-maleta .as-bim-card-link:hover .as-bim-icon-wrapper,
  .elementor-nav-menu--main ul.as-odonto-maleta .as-bim-card-link:hover .as-bim-icon-wrapper,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-bim-maleta .as-bim-card-link:hover .as-bim-icon-wrapper,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-cam-maleta .as-bim-card-link:hover .as-bim-icon-wrapper,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-eng-maleta .as-bim-card-link:hover .as-bim-icon-wrapper,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-autodesk-maleta .as-bim-card-link:hover .as-bim-icon-wrapper,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-odonto-maleta .as-bim-card-link:hover .as-bim-icon-wrapper {
    transform: scale(1.08) !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.35) !important;
  }

  .elementor-nav-menu--main ul.as-bim-maleta .as-bim-icon-img,
  .elementor-nav-menu--main ul.as-cam-maleta .as-bim-icon-img,
  .elementor-nav-menu--main ul.as-eng-maleta .as-bim-icon-img,
  .elementor-nav-menu--main ul.as-autodesk-maleta .as-bim-icon-img,
  .elementor-nav-menu--main ul.as-odonto-maleta .as-bim-icon-img,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-bim-maleta .as-bim-icon-img,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-cam-maleta .as-bim-icon-img,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-eng-maleta .as-bim-icon-img,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-autodesk-maleta .as-bim-icon-img,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-odonto-maleta .as-bim-icon-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 9px !important;
    display: block !important;
    filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.4)) !important;
    transition: filter 0.2s !important;
  }

  .elementor-nav-menu--main ul.as-bim-maleta .as-bim-card-link:hover .as-bim-icon-img,
  .elementor-nav-menu--main ul.as-cam-maleta .as-bim-card-link:hover .as-bim-icon-img,
  .elementor-nav-menu--main ul.as-eng-maleta .as-bim-card-link:hover .as-bim-icon-img,
  .elementor-nav-menu--main ul.as-autodesk-maleta .as-bim-card-link:hover .as-bim-icon-img,
  .elementor-nav-menu--main ul.as-odonto-maleta .as-bim-card-link:hover .as-bim-icon-img,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-bim-maleta .as-bim-card-link:hover .as-bim-icon-img,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-cam-maleta .as-bim-card-link:hover .as-bim-icon-img,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-eng-maleta .as-bim-card-link:hover .as-bim-icon-img,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-autodesk-maleta .as-bim-card-link:hover .as-bim-icon-img,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-odonto-maleta .as-bim-card-link:hover .as-bim-icon-img {
    filter: drop-shadow(0 2px 10px rgba(56, 189, 248, 0.5)) !important;
  }

  /* Informações de Texto do Card */
  .elementor-nav-menu--main ul.as-bim-maleta .as-bim-card-info,
  .elementor-nav-menu--main ul.as-cam-maleta .as-bim-card-info,
  .elementor-nav-menu--main ul.as-eng-maleta .as-bim-card-info,
  .elementor-nav-menu--main ul.as-autodesk-maleta .as-bim-card-info,
  .elementor-nav-menu--main ul.as-odonto-maleta .as-bim-card-info,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-bim-maleta .as-bim-card-info,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-cam-maleta .as-bim-card-info,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-eng-maleta .as-bim-card-info,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-autodesk-maleta .as-bim-card-info,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-odonto-maleta .as-bim-card-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .elementor-nav-menu--main ul.as-bim-maleta .as-bim-card-name,
  .elementor-nav-menu--main ul.as-cam-maleta .as-bim-card-name,
  .elementor-nav-menu--main ul.as-eng-maleta .as-bim-card-name,
  .elementor-nav-menu--main ul.as-autodesk-maleta .as-bim-card-name,
  .elementor-nav-menu--main ul.as-odonto-maleta .as-bim-card-name,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-bim-maleta .as-bim-card-name,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-cam-maleta .as-bim-card-name,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-eng-maleta .as-bim-card-name,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-autodesk-maleta .as-bim-card-name,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-odonto-maleta .as-bim-card-name {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #f8fafc !important;
    letter-spacing: -0.2px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.25 !important;
    transition: color 0.2s !important;
  }

  .elementor-nav-menu--main ul.as-bim-maleta .as-bim-card-link:hover .as-bim-card-name,
  .elementor-nav-menu--main ul.as-cam-maleta .as-bim-card-link:hover .as-bim-card-name,
  .elementor-nav-menu--main ul.as-eng-maleta .as-bim-card-link:hover .as-bim-card-name,
  .elementor-nav-menu--main ul.as-autodesk-maleta .as-bim-card-link:hover .as-bim-card-name,
  .elementor-nav-menu--main ul.as-odonto-maleta .as-bim-card-link:hover .as-bim-card-name,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-bim-maleta .as-bim-card-link:hover .as-bim-card-name,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-cam-maleta .as-bim-card-link:hover .as-bim-card-name,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-eng-maleta .as-bim-card-link:hover .as-bim-card-name,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-autodesk-maleta .as-bim-card-link:hover .as-bim-card-name,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-odonto-maleta .as-bim-card-link:hover .as-bim-card-name {
    color: #38bdf8 !important;
  }

  .elementor-nav-menu--main ul.as-bim-maleta .as-bim-card-desc,
  .elementor-nav-menu--main ul.as-cam-maleta .as-bim-card-desc,
  .elementor-nav-menu--main ul.as-eng-maleta .as-bim-card-desc,
  .elementor-nav-menu--main ul.as-autodesk-maleta .as-bim-card-desc,
  .elementor-nav-menu--main ul.as-odonto-maleta .as-bim-card-desc,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-bim-maleta .as-bim-card-desc,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-cam-maleta .as-bim-card-desc,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-eng-maleta .as-bim-card-desc,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-autodesk-maleta .as-bim-card-desc,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-odonto-maleta .as-bim-card-desc {
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    color: #94a3b8 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.2 !important;
  }

  /* Linha em Destaque: Autodesk Suite */
  .elementor-nav-menu--main ul.as-bim-maleta li.as-bim-suite-item,
  .elementor-nav-menu--main ul.as-cam-maleta li.as-bim-suite-item,
  .elementor-nav-menu--main ul.as-eng-maleta li.as-bim-suite-item,
  .elementor-nav-menu--main ul.as-autodesk-maleta li.as-bim-suite-item,
  .elementor-nav-menu--main ul.as-odonto-maleta li.as-bim-suite-item,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-bim-maleta li.as-bim-suite-item,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-cam-maleta li.as-bim-suite-item,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-eng-maleta li.as-bim-suite-item,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-autodesk-maleta li.as-bim-suite-item,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-odonto-maleta li.as-bim-suite-item {
    grid-column: 1 / -1 !important;
    margin-top: 4px !important;
  }

  .elementor-nav-menu--main ul.as-bim-maleta .as-bim-suite-link,
  .elementor-nav-menu--main ul.as-cam-maleta .as-bim-suite-link,
  .elementor-nav-menu--main ul.as-eng-maleta .as-bim-suite-link,
  .elementor-nav-menu--main ul.as-autodesk-maleta .as-bim-suite-link,
  .elementor-nav-menu--main ul.as-odonto-maleta .as-bim-suite-link,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-bim-maleta .as-bim-suite-link,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-cam-maleta .as-bim-suite-link,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-eng-maleta .as-bim-suite-link,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-autodesk-maleta .as-bim-suite-link,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-odonto-maleta .as-bim-suite-link {
    background: linear-gradient(90deg, rgba(56, 189, 248, 0.12) 0%, rgba(23, 36, 44, 0.9) 100%) !important;
    border: 1px solid rgba(56, 189, 248, 0.3) !important;
    padding: 10px 12px !important;
  }

  .elementor-nav-menu--main ul.as-bim-maleta .as-bim-suite-link:hover,
  .elementor-nav-menu--main ul.as-cam-maleta .as-bim-suite-link:hover,
  .elementor-nav-menu--main ul.as-eng-maleta .as-bim-suite-link:hover,
  .elementor-nav-menu--main ul.as-autodesk-maleta .as-bim-suite-link:hover,
  .elementor-nav-menu--main ul.as-odonto-maleta .as-bim-suite-link:hover,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-bim-maleta .as-bim-suite-link:hover,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-cam-maleta .as-bim-suite-link:hover,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-eng-maleta .as-bim-suite-link:hover,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-autodesk-maleta .as-bim-suite-link:hover,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-odonto-maleta .as-bim-suite-link:hover {
    background: linear-gradient(90deg, rgba(56, 189, 248, 0.22) 0%, rgba(23, 36, 44, 0.95) 100%) !important;
    border-color: #38bdf8 !important;
    transform: translateY(-1px) !important;
  }

  .elementor-nav-menu--main ul.as-bim-tag,
  .elementor-nav-menu--main ul.as-cam-tag,
  .elementor-nav-menu--main ul.as-eng-tag,
  .elementor-nav-menu--main ul.as-autodesk-tag,
  .elementor-nav-menu--main ul.as-odonto-tag,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-bim-tag,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-cam-tag,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-eng-tag,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-autodesk-tag,
  .elementor-242628 .elementor-element.elementor-element-709dc03 ul.as-odonto-tag {
    font-size: 9.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    background: #0284c7 !important;
    color: #ffffff !important;
    padding: 2px 7px !important;
    border-radius: 9999px !important;
    margin-left: 6px !important;
    vertical-align: middle !important;
    display: inline-block !important;
  }

  /* Badge e itens estáticos da Odontologia Digital */
  .as-odonto-badge {
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: 0.4px !important;
    text-transform: uppercase !important;
    background: rgba(245, 158, 11, 0.18) !important;
    color: #fbbf24 !important;
    border: 1px solid rgba(245, 158, 11, 0.35) !important;
    padding: 2px 7px !important;
    border-radius: 9999px !important;
    margin-left: 6px !important;
    vertical-align: middle !important;
    display: inline-block !important;
  }

  .elementor-nav-menu--main ul.as-odonto-maleta .as-odonto-placeholder {
    opacity: 0.8 !important;
    cursor: default !important;
    border-style: dashed !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
  }

  .elementor-nav-menu--main ul.as-odonto-maleta .as-odonto-placeholder:hover {
    opacity: 1 !important;
    background: rgba(245, 158, 11, 0.06) !important;
    border-color: rgba(245, 158, 11, 0.4) !important;
    transform: translateY(-1px) translateX(2px) !important;
  }
}

/* ==========================================================================
   AnonShield Image DRM & Anti-Copy Protection (O Melhor dos 2 Mundos)
   --------------------------------------------------------------------------
   - Clique com o botão esquerdo na caixa: navega normalmente para o produto.
   - Botão "Espiar": abre o preview sem conflito.
   - Clique com o botão direito: bloqueado contra salvar/copiar imagem.
   - Arrasto (drag-and-drop para o desktop): 100% desativado.
   ========================================================================== */
img, picture, canvas, .uc_post_image img, .as-card img, .product-card img, .woocommerce-product-gallery img {
  -webkit-user-drag: none !important;
  -khtml-user-drag: none !important;
  -moz-user-drag: none !important;
  -o-user-drag: none !important;
  user-drag: none !important;
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important;
}

.uc_post_grid_style_one_image-wrapper {
  position: relative !important;
  user-select: none !important;
  -webkit-user-select: none !important;
}

/* A caixa/link da imagem volta a ser 100% clicável para navegação */
.uc_post_grid_style_one_image,
.uc_post_grid_style_one_image-wrapper a.uc_post_grid_style_one_image {
  pointer-events: auto !important;
  cursor: pointer !important;
  display: block !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -webkit-user-drag: none !important;
  user-drag: none !important;
}

.uc_post_image {
  position: relative !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
  cursor: pointer !important;
}

/* A imagem não intercepta o clique do link, permitindo que o <a> funcione limpo */
.uc_post_image img {
  pointer-events: none !important;
  -webkit-user-drag: none !important;
  user-drag: none !important;
}

/* Garante que o botão 'Espiar' continue 100% clicável com prioridade */
.btn-preview-v1,
[data-as-preview-btn],
.as-pv-card {
  pointer-events: auto !important;
  cursor: pointer !important;
  z-index: 20 !important;
  position: absolute !important;
}

/* Toda a área de conteúdo do card (parte branca) com cursor pointer */
.uc_content {
  cursor: pointer !important;
}

.uc_content .uc_title a,
.uc_content .ue_category_label,
.uc-button-addcart {
  cursor: pointer !important;
}




