/* ================= NAVBAR ================= */
.topbar {
    height: 60px;
    background-color: #212529;
    padding: 0;
    position: relative; /* ✅ Bootstrap fixed-top conflict fix */
    z-index: 1030;      /* ✅ Bootstrap navbar standard */
    overflow: hidden;   /* 🔥 prevent horizontal scroll */
}

/* Navbar full height + vertical center */
.topbar .navbar {
    height: 100%;
    min-height: 60px;
    display: flex;
    align-items: center;
    padding: 0;
    box-shadow: none !important;
    border: none !important;
    flex-wrap: wrap;    /* 🔥 allow wrapping on small screens */
}

/* Container alignment */
.topbar .navbar .container {
    display: flex;
    align-items: center;       /* vertical center */
    justify-content: center;   /* brand center */
    height: 100%;
    padding-left: 15px;
    padding-right: 15px;
    width: 100%;               /* 🔥 prevent overflow */
}

/* ================= TOPBAR TEXT ================= */
.topbar p > i {
    margin-right: 5px;
}

/* ================= LIST / GENERAL ================= */
li {
    list-style-type: none;
}

a {
    color: #0a0a0a;
    text-decoration: none;
}

a:hover,
a:focus {
    text-decoration: none;
    box-shadow: none;
}

/* ================= NAV LINKS ================= */
.navbar-nav .nav-item .nav-link {
    transition: color 0.3s ease, background-color 0.3s ease;
    line-height: normal;
    white-space: nowrap;   /* 🔥 prevent text wrap causing horizontal scroll */
}

/* ================= BACKGROUND ================= */
.mx-background-top-linear {
    background: linear-gradient(45deg, #6c6c6b 48%, #1b1e21 48%);
}

/* ================= DISABLE WAVES ================= */
.waves-effect {
    box-shadow: none !important;
    background: transparent !important;
}

/* ================= MOBILE FIX ================= */
@media (max-width: 991px) {
    /* Navbar container full width + no overflow */
    .topbar .navbar .container {
        flex-direction: column;   /* items vertically stack */
        justify-content: flex-start; /* brand top center */
        align-items: center;
        width: 100%;
        padding-left: 10px;
        padding-right: 10px;
    }

    /* Brand in center */
    .topbar .navbar .navbar-brand {
        margin-bottom: 10px;       /* space from toggle menu */
        text-align: center;
    }

    /* Collapse menu full width */
    .navbar-collapse {
        width: 100%;
        overflow: hidden;           /* prevent scroll */
    }

    .navbar-nav {
        flex-direction: column;
        width: 100%;
        align-items: center;        /* links center */
    }

    .navbar-nav .nav-item {
        width: 100%;
        text-align: center;
    }

    .navbar-nav .nav-link {
        width: 100%;
        padding: 10px 0;
        white-space: normal;        /* wrap text if needed */
    }

    /* Hamburger button fix */
    .navbar-toggler {
        align-self: flex-end;
        margin-bottom: 10px;
    }

    /* Prevent horizontal scroll */
    body, html {
        overflow-x: hidden;
    }
}