/* Hoofdmenu (views/layouts/main.php). Geladen met ?v=filemtime, zodat een upload meteen werkt.
   De menu-items hebben nog inline kleuren (linkOptions 'style'): daarom hier !important op de kleur. */

.maius-nav.navbar {
    background: linear-gradient(180deg, #2a2f3b 0%, #1f232c 100%) !important;
    border-bottom: 3px solid transparent;
    border-image: linear-gradient(90deg, #d4a73c 0%, #2bbbad 55%, #3b82c4 100%) 1;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .18);
    padding-top: .35rem;
    padding-bottom: .35rem;
    min-height: 58px;
}

.maius-nav .navbar-brand {
    margin-right: 1.25rem;
    padding: 0;
    transition: opacity .15s;
}
.maius-nav .navbar-brand:hover { opacity: .85; }

/* Links */
.maius-nav .nav.navbar { padding: 0; gap: 2px; align-items: center; }

.maius-nav .nav-item > .nav-link,
.maius-nav .nav > li > a {
    display: inline-flex;
    align-items: center;
    gap: 0;
    color: #e6e9ef !important;
    font-weight: 500;
    font-size: .92rem;
    line-height: 1.2;
    padding: .45rem .7rem !important;
    border-radius: 10px;
    position: relative;
    white-space: nowrap;
    transition: background-color .15s, color .15s;
}
.maius-nav .nav-item > .nav-link:hover,
.maius-nav .nav-item > .nav-link:focus,
.maius-nav .nav-item.show > .nav-link {
    background: rgba(255, 255, 255, .09);
    color: #fff !important;
    text-decoration: none;
}
.maius-nav .nav-item > .nav-link:focus-visible {
    outline: 2px solid #2bbbad;
    outline-offset: 1px;
}

/* Actieve pagina: lichte achtergrond en een streepje in de accentkleur */
.maius-nav .nav-item > .nav-link.active,
.maius-nav .nav-item.active > .nav-link {
    background: rgba(43, 187, 173, .16);
    color: #fff !important;
}
.maius-nav .nav-item > .nav-link.active::after,
.maius-nav .nav-item.active > .nav-link::after {
    content: "";
    position: absolute;
    left: .7rem;
    right: .7rem;
    bottom: -2px;
    height: 3px;
    border-radius: 3px;
    background: #2bbbad;
}

/* Font Awesome-iconen in de links (Home, Administratie, ...) */
.maius-nav .nav-link > svg.svg-inline--fa,
.maius-nav .nav-link > i.fas {
    opacity: .8;
    margin-right: 2px;
}

/* Geïllustreerde iconen */
.maius-nav .maius-menu-ill {
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    margin: -4px 7px -4px 0;
    border-radius: 50%;
    background: #f6f3ec;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, .08), 0 1px 3px rgba(0, 0, 0, .4);
    transition: transform .15s;
    flex: 0 0 auto;
}
.maius-nav .maius-menu-ill img { width: 22px; height: 22px; object-fit: contain; }
.maius-nav .nav-link:hover .maius-menu-ill { transform: translateY(-1px) scale(1.06); }
.maius-nav .nav-link.active .maius-menu-ill { box-shadow: 0 0 0 2px #2bbbad, 0 1px 3px rgba(0, 0, 0, .4); }

/* Pijltje van een uitklapmenu */
.maius-nav .dropdown-toggle::after {
    margin-left: .4em;
    opacity: .6;
    vertical-align: .15em;
}

/* Uitklapmenu's */
.maius-nav .dropdown-menu {
    border: 0;
    border-radius: 12px;
    padding: .4rem;
    margin-top: .35rem;
    min-width: 13rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .22), 0 0 0 1px rgba(15, 23, 42, .06);
    font-size: .92rem;
}
.maius-nav .dropdown-menu .dropdown-item,
.maius-nav .dropdown-menu > li > a {
    border-radius: 8px;
    padding: .45rem .75rem;
    color: #2a2f3b;
}
.maius-nav .dropdown-menu .dropdown-item:hover,
.maius-nav .dropdown-menu .dropdown-item:focus,
.maius-nav .dropdown-menu > li > a:hover {
    background: #eef7f6;
    color: #12665e;
}
.maius-nav .dropdown-menu .dropdown-item.active,
.maius-nav .dropdown-menu .dropdown-item:active {
    background: #2bbbad;
    color: #fff;
}
.maius-nav .dropdown-menu .dropdown-divider { margin: .35rem .25rem; }
.maius-nav .dropdown-menu .badge {
    background: #eef1f5;
    color: #4b5563;
    font-weight: 500;
    margin-left: .4rem;
}

/* Rechterkant: info, instellingen, avatar en uitloggen */
.maius-nav .nav.navbar.ml-auto { gap: 4px; }
.maius-nav .ml-auto > .nav-item > .nav-link {
    padding: .45rem .6rem !important;
}
.maius-nav .avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    object-fit: cover;
    margin: -6px 0 !important;
    box-shadow: 0 0 0 2px #1f232c, 0 0 0 4px rgba(43, 187, 173, .7);
    transition: box-shadow .15s;
}
.maius-nav .nav-link:hover .avatar {
    box-shadow: 0 0 0 2px #1f232c, 0 0 0 4px #2bbbad;
}
.maius-nav .nav li > form > button.logout {
    color: #e6e9ef !important;
    font-size: .85rem;
    font-weight: 500;
    line-height: 1.2;
    padding: .35rem .8rem !important;
    margin: 0 0 0 .25rem !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    border-radius: 999px;
    background: transparent;
    transition: background-color .15s, border-color .15s;
}
.maius-nav .nav li > form > button.logout:hover,
.maius-nav .nav li > form > button.logout:focus {
    background: rgba(255, 255, 255, .1);
    border-color: rgba(255, 255, 255, .45) !important;
    color: #fff !important;
    text-decoration: none;
}
.maius-nav .schoollogo_menu {
    display: block;
    width: auto;
    max-width: 64px;
    max-height: 26px;
    margin: 0 auto 3px !important;
    border-radius: 4px;
    padding: 1px 3px;
}

/* Kruimelpad onder het menu */
.breadcrumb.maius-kruimel {
    background: transparent;
    padding: .55rem 0 .25rem;
    margin: 0;
    font-size: .85rem;
}
.breadcrumb.maius-kruimel a { color: #2b7a72; }
.breadcrumb.maius-kruimel .breadcrumb-item.active { color: #6b7280; }

/* Smal scherm: menu uitgeklapt onder elkaar */
@media (max-width: 991.98px) {
    .maius-nav .navbar-collapse {
        margin-top: .5rem;
        padding-top: .5rem;
        border-top: 1px solid rgba(255, 255, 255, .1);
    }
    .maius-nav .nav.navbar { flex-direction: column; align-items: stretch; width: 100%; }
    .maius-nav .nav-item > .nav-link { width: 100%; }
    .maius-nav .nav-item > .nav-link.active::after { display: none; }
    .maius-nav .dropdown-menu { box-shadow: none; background: rgba(255, 255, 255, .04); }
    .maius-nav .dropdown-menu .dropdown-item { color: #e6e9ef; }
    .maius-nav .nav.navbar.ml-auto { flex-direction: row; align-items: center; }
}
