body {
    font-family: "Plus Jakarta Sans", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Sur mobile, iOS zoome automatiquement sur tout champ dont le texte fait moins de 16px.
   On force 16px sur petit écran pour éviter ce zoom gênant. */
@media (max-width: 639px) {
    input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
    select,
    textarea {
        font-size: 16px !important;
    }
}

/* Masque la barre de défilement des menus horizontaux sur mobile */
.scrollbar-none {
    scrollbar-width: none;
}
.scrollbar-none::-webkit-scrollbar {
    display: none;
}

/* ---- Navigation mobile ----------------------------------------------------
   Barre d'onglets en bas (admins) : on réserve sa hauteur en bas de page et on
   remonte les éléments flottants (bouton + Intervention, barres collantes).
   env(safe-area-inset-bottom) = zone de la barre d'accueil de l'iPhone. */
@media (max-width: 767px) {
    .mobile-fab {
        bottom: calc(1.5rem + env(safe-area-inset-bottom)) !important;
    }

    body.has-bottom-nav {
        padding-bottom: calc(4rem + env(safe-area-inset-bottom));
    }

    body.has-bottom-nav .mobile-fab {
        bottom: calc(5rem + env(safe-area-inset-bottom)) !important;
    }

    body.has-bottom-nav .sticky-mobile-bar {
        bottom: calc(4rem + env(safe-area-inset-bottom)) !important;
    }
}
