/* Adaptação para celular — camada única compartilhada por todas as páginas.
   Regras !important porque o layout é inline. Desktop (>=821px) fica intacto. */

@media (min-width: 821px) {
  .vx-menu, .vx-mobile-bar { display: none !important; }
}

@media (max-width: 820px) {
  /* Contêineres */
  [style*="max-width: 1200px"] { padding-left: 18px !important; padding-right: 18px !important; }
  section > [style*="max-width: 1200px"] { padding-top: 44px !important; padding-bottom: 44px !important; }
  footer > [style*="max-width: 1200px"] { padding-top: 36px !important; padding-bottom: 28px !important; }
  header [style*="max-width: 1200px"] { padding-top: 10px !important; padding-bottom: 10px !important; gap: 12px !important; }

  /* Colunas empilham */
  [style*="grid-template-columns"] { grid-template-columns: 1fr !important; gap: 16px !important; }
  [style*="repeat(5, 1fr)"] { grid-template-columns: repeat(2, 1fr) !important; gap: 22px 18px !important; }

  /* Escala de texto */
  h1 { font-size: 32px !important; line-height: 1.16 !important; letter-spacing: -0.02em !important; }
  h2 { font-size: 25px !important; line-height: 1.26 !important; }
  h3 { font-size: 17px !important; }
  p[style*="font-size: 19px"], p[style*="font-size: 18px"], p[style*="font-size: 17px"] { font-size: 16.5px !important; }
  [style*="font-size: 40px"], [style*="font-size: 36px"], [style*="font-size: 34px"] { font-size: 26px !important; }

  /* Nada estoura a largura da tela */
  img, svg { max-width: 100% !important; }
  [style*="overflow-x"] { -webkit-overflow-scrolling: touch; }

  /* Cabeçalho: menu em botão */
  .vx-nav-desktop, .vx-header-cta { display: none !important; }
  .vx-menu { display: block !important; margin-left: auto !important; }

  /* Barra fixa de contato (isenta do colapso de colunas acima) */
  .vx-mobile-bar { display: grid !important; grid-template-columns: 1fr 1fr !important; }
  body { padding-bottom: 86px !important; }

  /* Colunas laterais fixas não fazem sentido em coluna única */
  [style*="position: sticky"]:not(header) { position: static !important; }

  /* Âncoras não param atrás do cabeçalho fixo */
  [id] { scroll-margin-top: 84px; }

  /* Alvos de toque */
  summary, .vx-menu a { min-height: 48px; }
  button { min-height: 44px !important; }
  input, select { min-height: 44px !important; }
  textarea { min-height: 88px !important; }
  [style*="flex-direction: column"] > a, [style*="flex-wrap: wrap"] > a[style*="border: 1px"],
  [style*="grid-template-columns"] > a, [style*="flex-wrap: wrap"] > a {
    min-height: 44px; display: inline-flex !important; align-items: center;
  }
  /* Trilha de navegação ("Início › Operadoras › Amil") */
  [style*="gap: 8px"][style*="align-items: center"] > a {
    min-height: 40px; display: inline-flex !important; align-items: center;
  }
}
