/* ============================================================
   E-FONIJ — Scroll silencieux (global, neutre)
   Masque les barres de défilement sur toute l'application sans
   désactiver le défilement, ni modifier la palette/les composants.
   À charger sur le layout principal + landing.
   ============================================================ */

html {
    scroll-behavior: smooth;
    scrollbar-width: none;        /* Firefox */
    -ms-overflow-style: none;     /* IE / vieux Edge */
}

body {
    scrollbar-width: none;        /* Firefox */
    -ms-overflow-style: none;     /* IE / vieux Edge */
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;                /* Chrome / Safari / Edge */
}

/* Conteneurs internes défilables : scroll silencieux cohérent */
.ef-silent-scroll,
.app-wrapper,
.main-content,
.modal-body,
.offcanvas-body,
.dropdown-menu,
.table-responsive {
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.ef-silent-scroll::-webkit-scrollbar,
.app-wrapper::-webkit-scrollbar,
.main-content::-webkit-scrollbar,
.modal-body::-webkit-scrollbar,
.offcanvas-body::-webkit-scrollbar,
.dropdown-menu::-webkit-scrollbar,
.table-responsive::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}

/* === Footer back-office : hauteur réduite + ancré (fixe) au scroll ===
   Cible le <footer> du thème admin (sans classe), pas les footers de cartes. */
footer:not([class]) {
    position: fixed;
    left: var(--sidebar-width, 18rem);
    right: 0;
    bottom: 0;
    z-index: 1020;
    background: #ffffff;
    border-top: 1px solid #e9ecef;
    box-shadow: 0 -1px 6px rgba(15, 23, 42, 0.05);
}
footer:not([class]) .container-fluid {
    padding-top: 0.3rem;
    padding-bottom: 0.3rem;
}
footer:not([class]) .footer-text {
    font-size: 0.78rem;
    line-height: 1.25;
}
/* Le contenu ne doit pas être masqué par le footer fixe. */
main {
    padding-bottom: 3rem;
}
/* Sidebar repliée / mobile : footer pleine largeur. */
@media (max-width: 1024px) {
    footer:not([class]) {
        left: 0;
    }
}
