/**
 * Mobile Touch Targets - Universal Fix
 * Garantisce che tutti gli elementi interattivi abbiano touch target adeguati
 */

@media (max-width: 767.98px) {
  /* Touch Target Universale Minimo */
  button,
  a.btn,
  .btn,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  .nav-link,
  .dropdown-item,
  .page-link {
    min-height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.65rem 1rem;
  }

  /* CTA Bottoni Primari */
  .btn-primary,
  .btn-success,
  .mobile-fab,
  .hero-actions .btn {
    min-height: 48px;
    min-width: 48px;
    padding: 0.75rem 1.25rem;
    font-size: 0.95rem;
    font-weight: 600;
  }

  /* Mobile Bottom Navigation */
  .mobile-bottom-nav-btn {
    min-height: 64px;
    padding: 0.75rem 0.5rem;
  }

  /* Form Inputs */
  .form-control,
  .form-select,
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="number"],
  input[type="date"],
  input[type="password"],
  select,
  textarea {
    min-height: 48px;
    padding: 0.75rem 1rem;
    font-size: 1rem;
  }

  /* Checkbox e Radio Buttons */
  .form-check-input {
    width: 1.5rem;
    height: 1.5rem;
    cursor: pointer;
  }

  /* Dropdown Menu Items */
  .dropdown-menu .dropdown-item {
    min-height: 48px;
    padding: 0.75rem 1rem;
    display: flex;
    align-items: center;
  }

  /* Table Action Buttons */
  .table .btn-sm {
    min-height: 40px;
    min-width: 40px;
    padding: 0.5rem;
  }

  /* Spacing tra elementi interattivi */
  .btn-group .btn + .btn {
    margin-left: 8px;
  }

  .d-flex.gap-2 > .btn {
    margin: 0 4px 8px 0;
  }
}

/* iPhone SE e schermi molto piccoli */
@media (max-width: 390px) {
  .btn {
    min-height: 44px;
    padding: 0.65rem 0.85rem;
  }

  .btn-primary {
    min-height: 48px;
  }
}
