/* ===== Ajuste mobile compartilhado (Android + iOS) ===== */
/* iOS: evita reflow de fonte ao girar o aparelho */
html { -webkit-text-size-adjust: 100%; }

/* Evita rolagem horizontal em qualquer tela */
html, body { max-width: 100%; overflow-x: hidden; }

@media (max-width: 768px) {
  /* Mídia e tabelas nunca estouram a largura */
  img, svg, video, iframe, canvas, table, pre { max-width: 100% !important; height: auto; }
  table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }

  /* iOS: campos com fonte < 16px forçam zoom automático; padroniza em 16px */
  input, select, textarea, button { font-size: 16px !important; max-width: 100%; }

  /* Grades multi-coluna viram coluna única e compacta */
  .grade, .grid, .grid2, .grid3, .cards, .colunas, .row-cards, .listagem .grade {
    display: block !important;
  }
  .grade > *, .grid > *, .grid2 > *, .cards > *, .colunas > * {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    float: none !important;
  }
  article.card, .card, .card-eb {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 12px !important;
  }

  /* Containers: compacta os paddings laterais grandes */
  .container, .wrapc, .wrap, .conteudo, .content, .box, main, section, article, .lay, .tela {
    padding-left: 14px !important;
    padding-right: 14px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  /* Reduz títulos muito grandes para caber na tela */
  h1 { font-size: 1.45rem !important; line-height: 1.25 !important; }
  h2 { font-size: 1.2rem !important; line-height: 1.3 !important; }
  h3 { font-size: 1.05rem !important; }

  /* Formulário: cada campo em linha inteira */
  form .campo, form .form-group, form .col, form .coluna, fieldset .campo {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
  }
  label { display: block; }

  /* Botões em largura cheia para toque confortável */
  .btn, .botao, button[type=submit], .btn-cta {
    width: 100% !important;
    max-width: 100% !important;
    display: inline-flex;
    justify-content: center;
  }

  /* Espaçamentos verticais mais enxutos */
  section, .bloco, .card, article.card { margin-bottom: 14px !important; }
}

/* iOS: respeita a área segura (notch) em barras fixas */
@supports (padding: max(0px)) {
  header, .header, .topo, .navbar { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
}

/* ===== Remove ícones de acessibilidade em TODOS os dispositivos (mobile + desktop) ===== */
div[vw], div[vw].enabled, div[vw-access-button], div[vw-plugin-wrapper], div[vw-plugin-top-wrapper],
[class*="vlibras"]:not(body):not(html), [class*="vpw-"]:not(body):not(html), [class*="vw-"]:not(body):not(html),
#INDbtnWrap, #INDmenu, #INDmenu-btn, #INDWrap, #INDshadowRootWrap, #INDShadowRootHost,
#vlibras-access, #vlibras-access-wrapper, #vlibras-button, #vlibras-popup,
.acess-fab, .afont, .topo-fab, .acessibilidade-btn, .a11y-fab,
[data-acess-toggle], [data-acessibilidade],
[aria-label*="acessibilidade" i], [aria-label*="accessibility" i],
[title*="Acessibilidade" i], [title*="Accessibility" i] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
