/* ============================================
   🚫 FIX PARA ZOOM AUTOMÁTICO NO MOBILE
   ============================================ */

/* Prevenção de zoom em dispositivos móveis */
@media screen and (max-width: 768px) {
  
  /* Configurações globais */
  html {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
  }
  
  body {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
  }
  
  /* Permite seleção apenas em campos de input */
  input, textarea, select {
    -webkit-user-select: text;
    -khtml-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text;
    font-size: 16px !important;
    -webkit-appearance: none;
    -webkit-border-radius: 0;
    border-radius: 0;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
  }
  
  /* Previne zoom em todos os tipos de input */
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="password"],
  input[type="number"],
  input[type="search"],
  input[type="url"],
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  textarea,
  select {
    font-size: 16px !important;
    -webkit-appearance: none;
    -webkit-border-radius: 0;
    border-radius: 0;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    -webkit-tap-highlight-color: transparent;
  }
  
  /* Campos de formulário específicos */
  .form-control,
  .form-control input,
  .vld-cpf,
  .vld-email,
  .vld-phone,
  .vld-chave,
  .vld-cep,
  .vld-cnpj {
    font-size: 16px !important;
    -webkit-appearance: none;
    -webkit-border-radius: 0;
    border-radius: 0;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    -webkit-tap-highlight-color: transparent;
  }
  
  /* Placeholders também em 16px */
  input::placeholder,
  textarea::placeholder,
  .form-control::placeholder {
    font-size: 16px !important;
  }
  
  /* Previne zoom em elementos clicáveis */
  button,
  .btn,
  .btn-primary,
  .btn-secondary,
  .btn-success,
  .btn-danger,
  .btn-warning,
  .btn-info,
  .btn-light,
  .btn-dark {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
  }
  
  /* Links e elementos interativos */
  a {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
  }
  
  /* Previne zoom em elementos específicos do projeto */
  .navbar,
  .navbar-nav,
  .nav-link,
  .dropdown-menu,
  .modal,
  .popup {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
  }
  
  /* Configurações específicas para iOS */
  @supports (-webkit-touch-callout: none) {
    input, textarea, select {
      font-size: 16px !important;
      -webkit-appearance: none;
      -webkit-border-radius: 0;
      border-radius: 0;
      transform: translateZ(0);
      -webkit-transform: translateZ(0);
    }
  }
  
  /* Configurações específicas para Android */
  @media screen and (-webkit-min-device-pixel-ratio: 0) {
    input, textarea, select {
      font-size: 16px !important;
      -webkit-appearance: none;
      -webkit-border-radius: 0;
      border-radius: 0;
      transform: translateZ(0);
      -webkit-transform: translateZ(0);
    }
  }
}

/* Configurações adicionais para telas muito pequenas */
@media screen and (max-width: 480px) {
  input, textarea, select {
    font-size: 16px !important;
    min-height: 44px; /* Tamanho mínimo recomendado para touch */
  }
  
  .form-control {
    min-height: 44px;
    font-size: 16px !important;
  }
}

/* Prevenção de zoom em orientação landscape */
@media screen and (max-width: 768px) and (orientation: landscape) {
  input, textarea, select {
    font-size: 16px !important;
    -webkit-appearance: none;
    -webkit-border-radius: 0;
    border-radius: 0;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
  }
}
