﻿/* ===============================
   🔥 FUTURISTIC GLASS NAVBAR
=============================== */
.glass-nav {
    background: linear-gradient( 135deg, rgba(10, 15, 28, 0.72) 0%, rgba(22, 35, 65, 0.72) 50%, rgba(15, 25, 47, 0.72) 100% );
    backdrop-filter: blur(12px) saturate(180%);
    -webkit-backdrop-filter: blur(12px) saturate(180%);
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 8px 20px rgba(0,0,0,0.35);
}

    /* Brand text */
    .glass-nav .navbar-brand {
        font-size: 1.25rem;
        letter-spacing: 0.5px;
        color: #ffffff !important;
        text-shadow: 0 0 6px rgba(255,255,255,0.45);
    }

    /* Navbar links */
    .glass-nav .nav-link {
        color: #dfe8ff !important;
        font-weight: 500;
        padding: 0.65rem 1rem;
        transition: color .25s ease, text-shadow .25s ease;
    }

        .glass-nav .nav-link:hover,
        .glass-nav .nav-link:focus {
            color: #ffffff !important;
            text-shadow: 0 0 6px rgba(255,255,255,0.7);
        }

        /* Active link */
        .glass-nav .nav-link.active {
            color: #ffffff !important;
            text-shadow: 0 0 8px rgba(0,255,255,0.9);
        }

    /* Mobile toggler */
    .glass-nav .navbar-toggler {
        border-color: rgba(255,255,255,0.4);
    }

    .glass-nav .navbar-toggler-icon {
        filter: brightness(1.6);
    }

    /* Dropdown menus */
    .glass-nav .dropdown-menu {
        background: rgba(26, 36, 60, 0.85);
        backdrop-filter: blur(8px);
        border: 1px solid rgba(255,255,255,0.15);
    }

    .glass-nav .dropdown-item {
        color: #dfe8ff;
    }

        .glass-nav .dropdown-item:hover {
            background: rgba(255,255,255,0.12);
            color: white;
        }



/* ------------------------------------------------------------------
   NAVBAR (Frosted Glass)
------------------------------------------------------------------ */
.navbar {
    position: sticky;
    top: 0;
    z-index: 1030;
    backdrop-filter: blur(10px);
    background: rgba(33, 37, 41, 0.75);
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.25);
}

.navbar-brand {
    color: #fff !important;
    text-shadow: 0 0 6px rgba(255, 255, 255, 0.7);
    font-weight: 700;
    transition: text-shadow 0.3s ease;
}

    .navbar-brand:hover {
        text-shadow: 0 0 12px rgba(255, 255, 255, 0.9);
    }

.navbar .nav-link {
    color: #dee2e6 !important;
    position: relative;
    transition: color 0.3s ease, text-shadow 0.3s ease;
    padding-bottom: 4px;
}

.navbar-nav .nav-link {
    display: flex;
    align-items: center;
}

/* Underline animation */
.navbar .nav-link::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 0;
    height: 5px;
    background: #fff;
    transition: all 0.3s ease;
    transform: translateX(-50%);
    opacity: 0;
}

.navbar .nav-link:hover::after,
.navbar .nav-link.active::after {
    width: 100%;
    opacity: 1;
}

.navbar .nav-link:hover,
.navbar .nav-link.active {
    color: #fff !important;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.9);
}

@media (max-width: 991.98px) {
    .navbar-collapse {
        overflow: visible;
    }
    .navbar-nav .dropdown-menu {
        position: static;
        float: none;
        width: 100%;
    }
}
.navbar .nav-link::after {
    pointer-events: none;
}





/* ------------------------------------------------------------------
   Mobile menu
------------------------------------------------------------------ */

.mobile-glass {
    background: linear-gradient( 135deg, rgba(10, 15, 28, 0.95), rgba(22, 35, 65, 0.95) );
    backdrop-filter: blur(14px);
}

/* Hamburger Icon */
.navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba%28255, 255, 255, 255, 1%29' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

/* Offcanvas Mobile Glass */
.offcanvas.mobile-glass {
    background: rgba(20, 30, 50, 0.95);
    backdrop-filter: blur(14px);
    z-index: 1080;
}

    /* Mobile Offcanvas body links */
    .offcanvas.mobile-glass .nav-link,
    .offcanvas.mobile-glass .dropdown-item {
        color: #fff;
    }

        .offcanvas.mobile-glass .nav-link:hover,
        .offcanvas.mobile-glass .dropdown-item:hover {
            background: rgba(255, 255, 255, 0.1);
            color: #fff;
        }

/* Ensure dropdowns inside offcanvas expand */
.offcanvas .dropdown-menu {
    position: static;
    float: none;
    width: 100%;
}

/* Adjust padding for mobile menu items */
.offcanvas-body ul.navbar-nav {
    padding-left: 0;
}

/* Make mobile offcanvas full width on small screens */
@media (max-width: 991.98px) {
    .offcanvas.mobile-glass {
        width: 100% !important; /* full width */
        max-width: 100% !important; /* override bootstrap default max */
        height: 100vh; /* full viewport height */
    }

    /* Optional: make offcanvas scrollable if content overflows */
    .offcanvas-body {
        overflow-y: auto;
    }
}

@media (min-width: 992px) {
    .navbar .dropdown:hover > .dropdown-menu {
        display: block;
        margin-top: 0;
    }
}

.navbar .dropdown-toggle::after {
    display: none; /* kill Bootstrap caret */
}

.navbar .dropdown-toggle i.bi-chevron-down {
    transition: transform 0.25s ease;
}

.navbar .dropdown.show i.bi-chevron-down {
    transform: rotate(180deg);
}

/* ===============================
   Dropdown chevron UNDER label
=============================== */

/* Stack text + chevron vertically */
.nav-dropdown-label {
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1.1;
}

/* Main text stays readable */
.nav-dropdown-text {
    display: flex;
    align-items: center;
    white-space: nowrap;
}

/* Chevron styling */
.dropdown-chevron {
    font-size: 0.7rem;
    margin-top: 2px;
    opacity: 0.7;
    transition: transform 0.25s ease, opacity 0.25s ease;
}

/* Rotate chevron when open */
.nav-item.dropdown.show .dropdown-chevron {
    transform: rotate(180deg);
    opacity: 1;
}
/* Normalize dropdown label height so chevrons align */
.nav-dropdown-label {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Force consistent height for the top text row */
.nav-dropdown-text {
    display: flex;
    align-items: center;
    min-height: 24px; /* 👈 MATCHES icon/image height */
    line-height: 1.1;
}
/* Ensure all nav links share the same vertical rhythm */
.navbar .nav-link {
    display: flex;
    align-items: center;
}

/* Wrap non-dropdown items into the same vertical structure */
/* Non-dropdown links stay normal */
.navbar .nav-item:not(.dropdown) .nav-link {
    flex-direction: row;
    align-items: center;
}
/* Reserve chevron space only for dropdowns */
.nav-item.dropdown .nav-dropdown-label::after {
    content: '';
    display: block;
}
/* Icon-only nav items */
.navbar .nav-link i.bi {
    line-height: 1;
}
