﻿/* ===== Footer siempre fijo al viewport, sin hueco de sidebar ===== */
.footer.app-footer.fixed-viewport-bottom {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important; /* ocupa todo el ancho visible */
    max-width: 100% !important;
    margin-left: 0 !important;
    transform: none !important; /* por si algún ancestro aplica transform */
    background: var(--bs-body-bg, #fff);
    border-top: 1px solid rgba(0,0,0,.08);
    box-shadow: 0 -2px 8px rgba(0,0,0,.04);
    z-index: 1030; /* debajo de modales de Bootstrap (1050) */
}

/* Algunos temas empujan específicamente el footer con data-attributes:
   anulamos cualquier regla que lo desplace cuando NO hay sidebar */
body.no-sidebar .footer.app-footer.fixed-viewport-bottom,
body.no-sidebar [data-layout] .footer.app-footer.fixed-viewport-bottom,
body.no-sidebar[data-sidebar-size] .footer.app-footer.fixed-viewport-bottom {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    margin-left: 0 !important;
}

/* Compactar un poquito el alto */
.footer.app-footer .container-fluid {
    padding-top: .5rem;
    padding-bottom: .5rem;
}

/* En móviles, centrado limpio */
@media (max-width: 575.98px) {
    .footer.app-footer .text-sm-end {
        text-align: center !important;
    }
}

/* Espacio para notch/iOS si aplica */
.footer.app-footer {
    padding-bottom: calc(env(safe-area-inset-bottom, 0) + .5rem);
}
