/* ============================================================
 *  OPTIMISATION MOBILE — expérience type application native
 *  (empaquetage Capacitor + usage navigateur mobile)
 * ============================================================ */

/* --- 1. Suppression du « pull-to-refresh » indésirable --------
 * Le rechargement accidentel de la page par glissement vers le
 * bas fait perdre des saisies en cours (formulaire produit,
 * réponse à un client). `none` sur les deux axes verticaux ;
 * les conteneurs à défilement interne restent fonctionnels.
 */
html, body {
    overscroll-behavior-y: none;
}

/* Barre inférieure : masquée par défaut (desktop). */
.nav-mobile { display: none; }

/* --- 2. Mobile ≤ 768 px -------------------------------------- */
@media (max-width: 768px) {

    /* Anti-zoom involontaire : tout champ de saisie à 16 px
     * minimum — en dessous, iOS/Android dézoome automatiquement
     * à la prise de focus. */
    input, select, textarea {
        font-size: 16px !important;
    }

    /* Zones de clic confortables : cibles tactiles ≥ 48 px
     * (recommandation d'accessibilité et de confort). */
    .bouton {
        min-height: 48px;
    }
    .nav-app a {
        min-height: 48px;
        display: flex;
        align-items: center;
    }
    .tableau th,
    .tableau td {
        padding: 13px 11px;
    }

    /* Barre de navigation inférieure fixe (5 destinations,
     * icônes SVG + libellés, glassmorphism, marges sûres iOS). */
    .nav-mobile {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 900;
        background: var(--verre, rgba(15 23 42 / .92));
        -webkit-backdrop-filter: blur(14px);
        backdrop-filter: blur(14px);
        border-top: 1px solid var(--bordure);
        padding: 6px 4px calc(6px + env(safe-area-inset-bottom, 0px));
        justify-content: space-around;
    }
    .nav-mobile a {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 2px;
        flex: 1;
        min-height: 48px;
        justify-content: center;
        color: var(--texte-doux);
        text-decoration: none;
        font-size: .62rem;
        font-weight: 600;
        letter-spacing: .2px;
        border-radius: 10px;
        transition: color .18s ease, background .18s ease;
    }
    .nav-mobile a svg {
        width: 22px;
        height: 22px;
    }
    .nav-mobile a.actif {
        color: var(--principale-claire, #d97706);
    }
    .nav-mobile a:active {
        background: rgb(148 163 184 / .12);
    }
    .nav-mobile__badge {
        position: absolute;
        top: 2px;
        right: calc(50% - 26px);
        min-width: 17px;
        height: 17px;
        padding: 0 4px;
        border-radius: 9px;
        background: #dc2626;
        color: #fff;
        font-size: .6rem;
        font-weight: 700;
        line-height: 17px;
        text-align: center;
    }

    /* Espace pour ne pas finir sous la barre (contenu principal). */
    main {
        padding-bottom: calc(74px + env(safe-area-inset-bottom, 0px));
    }
    .pied {
        padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px));
    }
    /* Le widget de chat flottant remonte au-dessus de la barre. */
    .wchat__bulle {
        bottom: calc(74px + env(safe-area-inset-bottom, 0px));
    }
}

/* --- 3. WebView Capacitor : désactivation de l'élastique ------ */
html.capacitor .nav-mobile {
    padding-bottom: calc(6px + env(safe-area-inset-bottom, 0px));
}