/*
 * Estilos comunes del layout (views/layouts/main.php y sus parciales). Rendimiento (25/10): antes iban
 * en <style> dentro de cada página; aquí el navegador los guarda en caché.
 */

/* contenido fijo bajo la barra superior (main.php) */
.sticky-top {
    top: 70px; /* ajusta según altura de tu header/menu */
    z-index: 1020;
}

/* campana de notificaciones (topbar): el contenido largo (títulos, pestañas) se ajusta al ancho del menú en lugar de salirse */
.notif-menu { width: min(360px, calc(100vw - 24px)); max-width: calc(100vw - 24px); overflow: hidden }
.notif-menu .dropdown-item { white-space: normal }
.notif-menu .flex-grow-1 { min-width: 0 }
.notif-menu h6, .notif-menu p { overflow-wrap: anywhere; word-break: break-word }
.notif-menu .tab-content .text-muted.fs-13 { white-space: normal }
.notif-menu .nav-tabs { flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; scrollbar-width: none }
.notif-menu .nav-tabs::-webkit-scrollbar { display: none }
.notif-menu .nav-tabs .nav-link { white-space: nowrap; padding: .5rem .75rem }
.notif-menu .tab-pane > .d-flex { flex-wrap: wrap; gap: 6px }

/* pie de página (tests/partials/footer.php) */
/* =========================================
   MÓVIL OCULTO POR DEFECTO
   ========================================= */

.footer-mobile {
    display: none;
}


/* =========================================
   SOLO MÓVIL
   ========================================= */

@media (max-width: 575.98px) {

    .footer {
        min-height: auto !important;
    }

    .footer .row {
        min-height: 45px;
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }

    /* Ocultar textos */
    .footer-desktop {
        display: none !important;
    }

    /* Mostrar iconos móviles */
    .footer-mobile {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        font-size: 18px;
    }

    /* Mantener las 3 columnas */
    .footer .col-sm-2,
    .footer .col-sm-8 {
        width: auto;
        flex: 1 1 0;
    }

    /* Copyright */
    .footer .col-sm-2:first-child {
        text-align: left;
    }

    /* Iconos de políticas */
    .footer .col-sm-8 {
        display: flex;
        justify-content: center;
    }

    .footer .col-sm-8>div {
        flex-wrap: nowrap !important;
    }

    .footer-policy {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .footer-policy i {
        margin-right: 0 !important;
        font-size: 18px;
    }

    /* Desarrollo */
    .footer .col-sm-2:last-child {
        text-align: right;
    }

}
