/* Escala fixa na largura do aparelho, com rolagem normal por um dedo. */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  touch-action: pan-x pan-y;
}
body { min-inline-size: 0; overflow-wrap: anywhere; }
input, select, textarea, fieldset { min-inline-size: 0; }
img, video, canvas, iframe { max-inline-size: 100%; }
.app { inline-size: 100%; min-height: 100svh; }
.app .pagina, .app .conteudo, .app .card, .modal-caixa { min-inline-size: 0; max-inline-size: 100%; }

/* Campos pequenos fazem o Safari ampliar a página ao abrir o teclado. */
@media (max-width: 1024px), (pointer: coarse) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]),
  select, textarea, [contenteditable="true"] {
    font-size: 16px !important;
    max-inline-size: 100%;
  }
  .app .pagina {
    padding-inline-start: max(14px, env(safe-area-inset-left));
    padding-inline-end: max(14px, env(safe-area-inset-right));
    padding-bottom: max(60px, env(safe-area-inset-bottom));
  }
  .modal-caixa { max-height: calc(100dvh - 32px); }
  fieldset { max-inline-size: 100%; }
}
