/* MV Viagens: camada global de "modo app" para celular.
   Carregada em todas as páginas (site, painel, login e instalador) por app/view.php. */

html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body{max-width:100%;overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
body{-webkit-tap-highlight-color:transparent}
#mv-root{min-height:100vh;min-height:100dvh}
img,video,svg,canvas,iframe{max-width:100%}

/* Campos nunca passam da largura do contêiner. */
input,select,textarea{max-width:100%;min-width:0}
label{min-width:0}

/* Toque com cara de app: sem atraso de duplo toque, sem menu de "copiar" nos botões. */
@media (hover:none) and (pointer:coarse){
  html{touch-action:pan-x pan-y}
  a,button,[role="button"],[role="tab"],select,label,input[type="checkbox"],input[type="radio"],input[type="range"]{touch-action:manipulation}
  button,[role="button"],[role="tab"],.tabbar,.tabbar *,nav,nav *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
  img{-webkit-touch-callout:none;-webkit-user-drag:none}
  body{overscroll-behavior-x:none}
}

/* Celular e tablet pequeno. */
@media (max-width:900px){
  /* 16px é o mínimo para o iPhone não dar zoom ao tocar no campo. */
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea{font-size:16px !important}

  /* Datas: no iOS o campo tem largura mínima própria e estoura a grade. */
  input[type="date"],input[type="datetime-local"],input[type="time"],input[type="month"]{
    -webkit-appearance:none;appearance:none;display:block;width:100% !important;min-width:0 !important;
    box-sizing:border-box;line-height:1.25;text-align:left
  }
  input[type="date"]::-webkit-date-and-time-value,input[type="time"]::-webkit-date-and-time-value{text-align:left;margin:0}
  input[type="date"]::-webkit-calendar-picker-indicator{margin-left:auto}

  /* Itens de grade e de flex podem encolher até caber na tela. */
  [style*="display: grid"]>*,[style*="display:grid"]>*{min-width:0}

  /* Tabelas largas rolam dentro do próprio bloco, não a página. */
  table{max-width:100%}
}

/* Barra inferior fixa: respeita a área segura do iPhone. */
.tabbar{padding-bottom:calc(4px + env(safe-area-inset-bottom)) !important}
