/**
 * Bootstrap 5 Layout Adjustments for Yfantis
 * Adapted from CLASS — navbar, dropdowns, responsive layout.
 */

/* Navbar height and logo */
.navbar { height: 56px; position: relative; }
.navbar-brand { padding-top: 0; padding-bottom: 0; height: 56px; display: flex; align-items: center; }
.navbar-brand img { height: 3rem; }
.navbar-toggler { padding: 0.5rem; margin-right: 1rem; }
.navbar-nav .nav-item { display: flex; align-items: center; }
.navbar-collapse { margin-left: 1rem; z-index: 1030; }

/* Dropdown menus */
.dropdown-menu {
    margin-top: 0.5rem; padding: 0.5rem 0; top: 100%;
    transform: none !important;
    background-color: var(--scolavisa-dark-blue);
    max-height: calc(100vh - 100px); overflow-y: auto;
}
.dropdown-item { padding: 0.5rem 1.5rem; color: #f8f9fa; }
.dropdown-item:hover, .dropdown-item:focus { background-color: rgba(255,255,255,0.1); color: #fff; }
.dropdown { position: relative; }
.navbar .dropdown-menu { position: absolute; }

/* Main content layout */
#layoutSidenav { display: flex; }
#layoutSidenav_content {
    position: relative; display: flex; flex-direction: column;
    justify-content: space-between; min-width: 0; flex-grow: 1;
    min-height: calc(100vh - 56px); margin-left: 0;
}
footer.py-2 { margin-top: auto; }

/* Form controls */
.form-control, .form-select { min-height: calc(1.5em + 0.75rem + 2px); padding: 0.375rem 0.75rem; }
.card-header { padding: 0.75rem 1.25rem; height: auto; display: flex; align-items: center; }
.card-body { padding: 1.25rem; }
.nav-link i { margin-right: 0.5rem; width: 1.25em; text-align: center; }

/* Mobile responsive */
@media (max-width: 992px) {
    .navbar-collapse {
        max-height: calc(100vh - 56px); overflow-y: auto; margin-left: 0;
        padding-top: 1rem; position: absolute; top: 56px; left: 0; right: 0;
        background-color: var(--scolavisa-dark-blue); z-index: 1030;
        box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    }
    .navbar .dropdown-menu {
        position: static; float: none; margin-top: 0; margin-bottom: 0.5rem;
        background-color: rgba(0, 0, 0, 0.15); border: none; box-shadow: none;
    }
    .navbar .dropdown-item { color: rgba(255, 255, 255, 0.85); padding: 0.5rem 1.5rem; }
    .navbar .dropdown-item:hover, .navbar .dropdown-item:focus { background-color: rgba(255, 255, 255, 0.1); color: #fff; }
    .navbar-nav { padding-left: 0; }
    .navbar-brand { max-width: calc(100% - 80px); }
    .navbar-nav .nav-item { margin-left: 0; padding-left: 1rem; }
}

/* Environment indicators */
.env-development .environment {
    background-image: url(/css/images/header_environment_devel.png);
    width: 120px;
    height: 40px;
    z-index: 99999;
    position: absolute;
}
.env-test .environment {
    background-image: url(/css/images/header_environment_test.png);
    width: 120px;
    height: 40px;
    z-index: 99999;
    position: absolute;
}
