/*
 * mobile-tap-targets.css
 *
 * Garantit que tous les éléments tappables font au moins 44×44 CSS px sur mobile
 * (recommandation Apple HIG / WCAG 2.5.5). Ne s'applique QUE sur ≤ 768px pour ne
 * pas affecter le layout desktop existant.
 *
 * Utilise `min-block-size` / `min-inline-size` plutôt que `min-height/width` pour
 * être logique (RTL safe).
 */

@media (max-width: 768px) {
  /* Boutons et liens d'action génériques */
  button,
  [role="button"],
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  a.btn,
  a.btn-primary,
  a.btn-secondary,
  a.btn-outline,
  a.nav-cta,
  .pwd-toggle,
  .admin-icon-btn {
    min-height: 44px;
    min-width: 44px;
  }

  /* Zone tap des liens de nav (footer / nav publique) */
  .footer-col a,
  .nav-links a {
    display: inline-block;
    padding: 8px 0;
    line-height: 1.5;
  }

  /* Inputs et checkboxes (zone tap autour) */
  input[type="checkbox"],
  input[type="radio"] {
    min-height: 24px;
    min-width: 24px;
  }

  /* Sécurise les anchors qui contiennent juste du texte court */
  a[href]:not(.btn):not(.nav-logo):not(.brand) {
    padding-top: 2px;
    padding-bottom: 2px;
  }
}

/* Désactive le zoom automatique iOS sur les inputs (taille < 16px = zoom) */
@media (max-width: 768px) {
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="search"],
  input[type="tel"],
  input[type="url"],
  input[type="number"],
  textarea,
  select {
    font-size: max(16px, 1em);
  }
}
