/*
 * Réglages tactiles / Safari iOS : le navigateur zoome au focus tant que le champ
 * a une taille de police calculée strictement inférieure à 16px.
 */

@media (max-width: 767px), (hover: none) and (pointer: coarse) {
  html {
    -webkit-text-size-adjust: 100%;
  }

  body {
    padding-left: env(safe-area-inset-left, 0px);
    padding-right: env(safe-area-inset-right, 0px);
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }

  header.app-header {
    /* Le haut de l’écran (encoche) : le body gère les côtés pour tout le contenu. */
    padding-top: max(0.9rem, env(safe-area-inset-top, 0px));
  }

  textarea,
  select,
  input[list],
  input[type="text"],
  input[type="search"],
  input[type="email"],
  input[type="password"],
  input[type="tel"],
  input[type="url"],
  input[type="number"],
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  input[type="month"],
  input[type="week"],
  input[type="color"] {
    font-size: 16px !important;
    line-height: 1.35;
  }

  /* Champs souvent surchargés par des règles plus spécifiques dans app.css */
  textarea.domain-catalog-desc,
  .bottles-feed-main-row input[type="text"],
  .bottles-feed-main-row input[type="date"],
  .bottles-feed-main-row input[type="time"],
  input.bottles-ref-inline-num,
  input.bottles-growth-inline,
  input.wine-qty-input,
  input.wine-participant-name-input,
  .family-select,
  .users-inline-form input[type="text"],
  .account-profile .profile-name-input,
  .account-profile .profile-pwd-input {
    font-size: 16px !important;
    line-height: 1.35;
  }

  /*
   * Saisie dans les tableaux : le table peut hériter une police plus petite ;
   * garde au moins 16px pour éviter le zoom au focus (Safari iOS).
   */
  .table-wrap input[type="text"],
  .table-wrap input[type="number"],
  table input[type="text"],
  table input[type="number"] {
    font-size: 16px !important;
    line-height: 1.35;
  }
}
