/* =========================================================
   MENÚ COMPARTIDO: submenú «Más», divisor y barra móvil
   (se carga después del css de cada página)
   ========================================================= */
.nav-divider { width: 1px; height: 1.5rem; background: rgba(44,62,80,.2); margin: 0 .25rem; }
.dark .nav-divider { background: rgba(255,255,255,.2); }

#navbar .nav-link { white-space: nowrap; }
#navbar .nav-link.active { color: var(--c-primary, #00BCD4); }
.dark #navbar .nav-link.active { color: var(--c-secondary, #FFC107); }
#navbar .nav-link.active::after { width: 100%; }
.mobile-nav-link.active { background: rgba(0,188,212,.12); color: var(--c-primary, #00BCD4); }
.dark .mobile-nav-link.active { background: rgba(255,193,7,.12); color: var(--c-secondary, #FFC107); }

.nav-dropdown { position: relative; }
.nav-dropdown-btn { background: none; border: 0; cursor: pointer; font-family: inherit; }
.nav-chevron { transition: transform .25s cubic-bezier(.22,1,.36,1); }
.nav-dropdown:hover .nav-chevron, .nav-dropdown:focus-within .nav-chevron, .nav-dropdown.open .nav-chevron { transform: rotate(180deg); }
.nav-dropdown-panel {
    position: absolute; top: calc(100% + .35rem); right: 0; min-width: 15rem; padding: .5rem;
    background: #fff; border: 1px solid rgba(0,0,0,.06); border-radius: 1rem;
    box-shadow: 0 20px 40px -10px rgba(0,0,0,.3);
    opacity: 0; visibility: hidden; transform: translateY(-.5rem);
    transition: opacity .2s ease, transform .25s cubic-bezier(.22,1,.36,1), visibility 0s linear .25s;
}
.dark .nav-dropdown-panel { background: #34495E; border-color: rgba(255,255,255,.08); }
.nav-dropdown-panel::before { content: ""; position: absolute; top: -.6rem; left: 0; right: 0; height: .6rem; }
.nav-dropdown:hover .nav-dropdown-panel, .nav-dropdown:focus-within .nav-dropdown-panel, .nav-dropdown.open .nav-dropdown-panel {
    opacity: 1; visibility: visible; transform: none;
    transition: opacity .2s ease, transform .25s cubic-bezier(.22,1,.36,1), visibility 0s;
}
.nav-dropdown-panel a {
    display: flex; align-items: center; gap: .75rem; padding: .6rem .75rem; border-radius: .6rem;
    font-weight: 700; font-size: .95rem; color: #2C3E50;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.dark .nav-dropdown-panel a { color: #E5EEF5; }
.nav-dropdown-panel a i { width: 1.25rem; text-align: center; color: #00BCD4; }
.dark .nav-dropdown-panel a i { color: #FFC107; }
.nav-dropdown-panel a:hover { background: rgba(0,188,212,.12); color: #00BCD4; transform: translateX(3px); }
.dark .nav-dropdown-panel a:hover { background: rgba(255,193,7,.12); color: #FFC107; }

.mobile-bar-login {
    display: inline-flex; align-items: center; padding: .45rem .75rem; border-radius: 999px;
    font-weight: 700; font-size: .9rem; color: #00BCD4; border: 2px solid #00BCD4;
}
.dark .mobile-bar-login { color: #FFC107; border-color: #FFC107; }
.mobile-nav-title { padding: .75rem 1rem .25rem; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #6B7280; }
.dark .mobile-nav-title { color: #9CA3AF; }

[data-auth].hidden { display: none !important; }

/* Globito de avisos (mensajes y solicitudes nuevas) */
.msg-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 1.15rem; height: 1.15rem; padding: 0 .3rem; margin-left: .25rem;
    border-radius: 999px; background: #EF4444; color: #fff; font-size: .7rem; font-weight: 700; line-height: 1; vertical-align: middle; }
.msg-badge.hidden { display: none; }
