/* ========= Touch Support (mobile & desktop) ========= */

:root {
  /* Altura real do viewport em mobile (corrige a barra de endereço do iOS/Android) */
  --vh: 1vh;
}

/* Mantém o comportamento natural de rolagem da página */
html, body {
  height: 100%;
  overscroll-behavior-y: contain; /* evita "puxar para atualizar" interferindo em áreas internas */
}

body {
  /* remove highlight azul em iOS/Android ao tocar */
  -webkit-tap-highlight-color: transparent;

  /* sugere aos navegadores priorizar gestos (toque/scroll) em vez de duplo toque */
  touch-action: manipulation;

  /* scroll suave para navegações âncora / chamadas JS */
  scroll-behavior: smooth;
}

/* Garante altura mínima correta do conteúdo no mobile */
main#content, #content {
  min-height: calc(var(--vh, 1vh) * 100);
}

/* ===== Utilitários para áreas roláveis por toque ===== */

/* Coloque data-touch-scroll-y em colunas/sidebars/listas que precisam rolar verticalmente */
[data-touch-scroll-y]{
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; /* inércia no iOS */
  touch-action: pan-y pinch-zoom;    /* rolagem vertical + zoom por pinça */
}

/* Coloque data-touch-scroll-x em carrosséis/containers que rolam horizontalmente */
[data-touch-scroll-x]{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; /* inércia no iOS */
  touch-action: pan-x;               /* rolagem horizontal suave por gesto */
  white-space: nowrap;               /* comum em listas/card carrossel */
}

/* Tabelas largas (Bootstrap) — rolagem horizontal por gesto */
.table-responsive {
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
}

/* Evitar seleção de texto acidental em áreas de gesto (se necessário) */
.no-select {
  user-select: none;
  -webkit-user-select: none;
}

/* Zona onde você mesmo vai gerenciar todos os gestos (opcional) */
.gesture-zone {
  touch-action: none;
}

/* Pequenas melhorias de acessibilidade por padrão */
.has-touch *:focus {
  outline: none;
}
