<?php
/**
 * lib/footer.php — Cierre común del layout del panel (shell Vvveb).
 */
declare(strict_types=1);
?>
            </div><!-- /.page -->

            <footer class="text-body-tertiary small px-3 py-3">
                IBO Ultra Panel · admin
            </footer>
        </main><!-- /.main -->
    </div><!-- /#container -->

    <script src="assets/vvveb/js/jquery.min.js"></script>
    <script src="assets/vvveb/js/popper.min.js"></script>
    <script src="assets/vvveb/js/bootstrap.min.js"></script>
    <script src="assets/vvveb/js/theme.js"></script>
    <script>
    // Sidebar off-canvas en mobile: el hamburguesa abre/cierra; se cierra al elegir
    // una opción del menú o al tocar fuera del sidebar.
    (function () {
        var container = document.getElementById('container');
        var toggle = document.querySelector('.sidebar-toggle');
        if (!container) { return; }
        // Deshace el colapso "solo-iconos" viejo (theme.js) que ocultaba los textos.
        container.classList.remove('small-nav');
        document.cookie = 'sidebar-size=;path=/;max-age=0';
        if (toggle) {
            toggle.addEventListener('click', function (e) {
                e.stopPropagation();
                container.classList.toggle('sidebar-open');
            });
        }
        document.querySelectorAll('.sidebar .nav-link, .sidebar .brand').forEach(function (a) {
            a.addEventListener('click', function () { container.classList.remove('sidebar-open'); });
        });
        container.addEventListener('click', function (e) {
            if (window.innerWidth < 992 && container.classList.contains('sidebar-open')
                && !e.target.closest('.sidebar') && !e.target.closest('.sidebar-toggle')) {
                container.classList.remove('sidebar-open');
            }
        });
    })();
    </script>
</body>
</html>
<?php
// Cierra el buffer de traducción abierto en header.php: traduce y emite.
i18n_end();
