/**
 * Navbar — mobile: menu hamburger, danh sách dọc, vùng chạm rộng
 */
@media (max-width: 991.98px) {
    body {
        overflow-x: clip;
    }

    body.tms-mobile-editor-mode {
        overflow-x: hidden;
    }

    nav.navbar.bg-primary-custom {
        position: relative;
        z-index: 1080;
        overflow: visible !important;
        flex-wrap: wrap;
        align-items: center;
        padding: 0.45rem 0.65rem;
        gap: 0;
    }

    nav.navbar.bg-primary-custom .navbar-brand {
        flex: 0 0 auto;
        margin-right: auto;
        padding-top: 0;
        padding-bottom: 0;
    }

    nav.navbar.bg-primary-custom .navbar-toggler {
        flex: 0 0 auto;
        margin-left: 0.35rem;
        padding: 0.35rem 0.55rem;
        border: 1px solid rgba(255, 255, 255, 0.55);
        border-radius: 0.35rem;
    }

    nav.navbar.bg-primary-custom .navbar-toggler-icon {
        width: 1.35rem;
        height: 1.35rem;
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.95)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    }

    nav.navbar.bg-primary-custom .navbar-collapse {
        flex-basis: 100%;
        flex-grow: 1;
        align-items: stretch;
        margin-top: 0.35rem;
        padding-top: 0.25rem;
        border-top: 1px solid rgba(255, 255, 255, 0.2);
    }

    nav.navbar.bg-primary-custom .navbar-collapse .nav {
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: flex-start !important;
        align-items: stretch;
        width: 100%;
        min-width: 0;
        margin: 0;
        padding: 0 0 0.35rem;
        gap: 0;
        overflow: visible !important;
    }

    nav.navbar.bg-primary-custom .navbar-collapse .nav-item {
        flex: 0 0 auto;
        width: 100%;
        position: relative;
        overflow: visible !important;
    }

    nav.navbar.bg-primary-custom .navbar-collapse .nav-item.dropdown {
        position: relative;
    }

    nav.navbar.bg-primary-custom .navbar-collapse .nav-link {
        display: block;
        width: 100%;
        padding: 0.7rem 1rem;
        font-size: 1rem;
        line-height: 1.35;
        white-space: normal;
        touch-action: manipulation;
    }

    nav.navbar.bg-primary-custom .navbar-collapse .dropdown-menu,
    nav.navbar.bg-primary-custom .navbar-collapse .dropdown-menu.dropdown-menu-right {
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        float: none;
        width: 100%;
        min-width: 0;
        max-width: none;
        margin: 0;
        padding: 0;
        border: none;
        border-radius: 0;
        box-shadow: none;
        background: rgba(0, 0, 0, 0.14);
    }

    nav.navbar.bg-primary-custom .navbar-collapse .dropdown-item {
        padding: 0.65rem 1rem 0.65rem 1.5rem;
        font-size: 0.95rem;
        line-height: 1.35;
        color: #fff;
        white-space: normal;
        word-break: break-word;
    }

    nav.navbar.bg-primary-custom .navbar-collapse .dropdown-item:hover,
    nav.navbar.bg-primary-custom .navbar-collapse .dropdown-item:focus {
        background: rgba(255, 255, 255, 0.12);
        color: #fff;
    }

    main,
    main > .container-fluid {
        overflow-x: clip;
        overflow-y: visible;
    }
}

/* Desktop ≥992px: giữ menu ngang như cũ */
@media (min-width: 992px) {
    nav.navbar.bg-primary-custom .navbar-collapse .nav {
        flex-direction: row;
        flex-wrap: nowrap;
    }
}
