.service-item span.service-icon img,
.service-item span.service-icon svg {
    max-width: 100%;
}

.tour_item .tour-content .tour-info input {
    width: auto;
    border-radius: 99px !important;
    font-size: 14px;
    border-color: var(--primary-color) !important;
    padding-top: 0;
    padding-bottom: 0;
    height: 30px;
}

.vne_wrap .vne_header .content .vne-menu ul li svg {
    margin-right: 5px;
}

.event-add-to-cart {
    border: 1px solid #F89B1D;
    border-radius: 20px;
    width: 100%;
}

.hotel-ulitis ul {
    flex-wrap: wrap;
}

a.button_style,
.form-select {
    cursor: pointer;
}

.vne-load-more .btn-load-more {
    background: var(--primary-color, #F89B1D);
    color: #fff;
    border: none;
    padding: 10px 30px;
    border-radius: 25px;
    font-size: 15px;
    cursor: pointer;
    transition: opacity .2s;
}

.vne-load-more .btn-load-more:hover {
    opacity: .85;
}

.vne-load-more .btn-load-more:disabled {
    opacity: .6;
    cursor: not-allowed;
}

.vne-load-more .btn-load-more i {
    margin-left: 5px;
}

.mgo_menu_list ul li a {
    font-size: x-small;
}

/* Hide chatbot/trip-planner powered-by branding */
#bp-chat-footer,
.tp-powered {
    display: none !important;
}

/* Hotel room terms - 2 columns + toggle */
.hotel-room .room-content .room-terms-list {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
}
.hotel-room .room-content .room-term-item {
    flex: 0 0 50%;
    max-width: 50%;
    padding: 0 5px;
    overflow: visible;
}
.hotel-room .room-content .room-term-item p {
    margin: 4px 0;
    gap: 8px;
    font-size: 13px;
    align-items: flex-start;
    word-break: break-word;
    overflow-wrap: break-word;
}
.hotel-room .room-content .room-term-item p svg,
.hotel-room .room-content .room-term-item p img {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
}
.room-term-hidden {
    display: none !important;
}
.room-terms-list.expanded .room-term-hidden {
    display: block !important;
    flex: 0 0 50%;
    max-width: 50%;
}
.room-terms-toggle {
    display: inline-block;
    margin-top: 6px;
    font-size: 13px;
    color: var(--primary-color, #1a73e8);
    cursor: pointer;
    text-decoration: none;
}
.room-terms-toggle:hover {
    text-decoration: underline;
}
.room-terms-toggle i {
    transition: transform 0.2s;
    font-size: 11px;
}
.room-terms-list.expanded + .room-terms-toggle i,
.filter-terms-list.expanded + .room-terms-toggle i {
    transform: rotate(180deg);
}

/* Filter quick search toggle */
.filter-term-hidden {
    display: none !important;
}
.filter-terms-list.expanded .filter-term-hidden {
    display: inline-block !important;
}.hotel_item.hotel_list .hotel-flex-featured {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0;
    margin: 10px 0;
    overflow: hidden;
    white-space: normal;
}

/* Placeholder (logo) fallback cho thumbnail hotel — không crop, không méo */
.hotel_item .hotel-thumbnail img.is-placeholder,
.hotel-room .room-gallery img.is-placeholder,
.room-thumbnail img.is-placeholder {
    object-fit: contain !important;
    object-position: center;
    padding: 20px;
    background: #f5f5f5;
    transform: none !important;
}
.hotel_item:hover .hotel-thumbnail img.is-placeholder {
    transform: none !important;
}

/* Nút "Chọn phòng" trong hotel detail header */
header#header-single .header-single-right .header-book .button_style,
header#header-single .header-single-right .header-book .button_single,
.header-book .button_single.button_style {
    padding: 15px 30px !important;
}
@media (max-width: 768px) {
    .button_single,
    a.button_single,
    .header-book .button_single {
        padding: 15px 30px !important;
    }
}

/* Ghi chú nhỏ dưới nút "Gửi yêu cầu" */
.contact-confirm-note {
    font-size: 10px;
    color: #dc2626;
    text-align: center;
    margin-top: 14px;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
}
.contact-confirm-note i,
.contact-confirm-note .fa,
.contact-confirm-note svg {
    font-size: 10px !important;
    color: #dc2626 !important;
    fill: #dc2626 !important;
}

/* Sức chứa: hiển thị icon x số lượng, phân biệt người lớn / trẻ em */
.room-list-peoples--compact {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
}
.room-list-peoples--compact .capacity-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 14px;
    color: #374151;
    line-height: 1;
}
.room-list-peoples--compact .capacity-item i,
.room-list-peoples--compact .capacity-item .capacity-icon {
    font-size: 18px;
    width: 18px;
    height: 18px;
    color: #2563eb;
    flex-shrink: 0;
}
.room-list-peoples--compact .capacity-item--child i,
.room-list-peoples--compact .capacity-item--child .capacity-icon {
    color: #f59e0b;
}
.room-list-peoples--compact .capacity-count {
    font-weight: 600;
}

/* "Liên hệ" trên 1 dòng, "Gửi yêu cầu" dòng dưới — cả 2 căn giữa */
.room-price-utilities.room-price-contact {
    width: 100%;
    text-align: center !important;
    align-items: center !important;
    flex-flow: column !important;
    justify-content: center !important;
    gap: 8px !important;
}
.hotel-room .room-list-utilities .room-price-utilities.room-price-contact .price-utilities-regular,
.room-price-utilities.room-price-contact .price-utilities-regular {
    text-align: center !important;
    align-items: center !important;
    width: 100%;
}
.room-price-utilities.room-price-contact .contact-inline {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px;
    width: 100%;
}
.room-price-utilities.room-price-contact .contact-inline > * {
    margin: 0 !important;
    float: none !important;
    text-align: center;
}
.room-price-utilities.room-price-contact .contact-inline .book-hotel-room {
    display: inline-block;
}
.room-price-utilities.room-price-contact .contact-inline .button_style {
    white-space: nowrap;
    display: inline-block;
}

/* Biến thể không có .contact-inline (hotel-room.blade.php): xếp inline trực tiếp */
.room-price-utilities.room-price-contact:not(:has(.contact-inline)) {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
}
.room-price-utilities.room-price-contact:not(:has(.contact-inline)) .price-utilities-title {
    flex-basis: 100%;
    text-align: center;
    margin-bottom: 4px;
}
.room-price-utilities.room-price-contact:not(:has(.contact-inline)) .price-utilities-regular,
.room-price-utilities.room-price-contact:not(:has(.contact-inline)) .book-hotel-room {
    margin: 0;
}
.room-price-utilities.room-price-contact:not(:has(.contact-inline)) .button_style {
    white-space: nowrap;
}

@media (max-width: 767.98px) {
    /* Hotel detail title: giảm font size cho mobile */
    header#header-single .header-single-left .header-single-head h1 {
        font-size: 20px !important;
        line-height: 1.3 !important;
        margin-bottom: 8px !important;
    }
    /* Sao + badge điểm + text review + số review trên 1 dòng */
    header#header-single .header-single-left .hotel-review {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 6px !important;
        font-size: 13px !important;
        white-space: nowrap !important;
        overflow: hidden;
    }
    header#header-single .header-single-left .hotel-review .star {
        display: inline-flex;
        flex-shrink: 0;
        gap: 1px;
    }
    header#header-single .header-single-left .hotel-review .star i {
        font-size: 12px !important;
    }
    header#header-single .header-single-left .hotel-review .review-point {
        flex-shrink: 0;
        font-size: 12px !important;
        padding: 2px 6px !important;
    }
    header#header-single .header-single-left .hotel-review strong {
        font-size: 13px !important;
        flex-shrink: 0;
    }
    /* Hotel detail header: giá trái + nút phải, căn đều 2 bên */
    header#header-single .header-single-right {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        width: 100%;
        gap: 15px;
    }
    header#header-single .header-single-right .header-single-price {
        flex: 0 1 auto;
        width: auto !important;
        text-align: left;
        margin: 0 !important;
        padding: 0 !important;
        align-self: center !important;
    }
    header#header-single .header-single-right .header-single-price p {
        margin: 0 !important;
        line-height: 1.3 !important;
    }
    header#header-single .header-single-right .header-book {
        flex: 0 0 auto;
        width: auto !important;
        text-align: right;
        margin: 0 !important;
        padding: 0 !important;
        align-self: center !important;
        display: flex;
        align-items: center;
    }
    /* Bỏ gạch đứng + margin trái để "Sức chứa" căn giữa đúng */
    .room-list-people {
        border-left: 0 !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
    }
    /* Mobile: Sức chứa (col 3) + Giá/Đặt phòng (col 4) chia đôi, sát lề */
    .hotel-room > .row > div:nth-child(3),
    .hotel-room > .row > div:nth-child(4) {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        width: 50% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .hotel-room > .row > div:nth-child(3) .room-list-people {
        padding-left: 0 !important;
    }
    .hotel-room > .row > div:nth-child(4) .room-list-utilities {
        padding-right: 0 !important;
    }
    .room-list-people-title {
        text-align: center;
    }
    .room-list-peoples--compact {
        justify-content: center;
    }
    .room-price-utilities.room-price-contact .contact-inline {
        flex-direction: row;
        justify-content: center;
    }
    /* Mobile: căn giữa toàn bộ khối giá/đặt phòng */
    .hotel-room .room-list-utilities,
    .hotel-room .room-list-utilities .room-price-utilities,
    .hotel-room .room-list-utilities .price-utilities-regular,
    .hotel-room .room-list-utilities .price-utilities-sale,
    .hotel-room .room-list-utilities .price-utilities-title,
    .hotel-room .room-list-utilities .price-regular,
    .hotel-room .room-list-utilities .room-utilitie-counter,
    .hotel-room .room-list-utilities .book-hotel-room {
        text-align: center !important;
        justify-content: center !important;
        align-items: center !important;
    }
    .hotel-room .room-list-utilities .room-price-utilities {
        flex-flow: column !important;
    }
    .room-list-utilities .book-hotel-room .button_style {
        display: inline-block;
    }
}
/* ===================================================
   MOBILE NAVIGATION PANEL (vne-mnav)
   MustGo: --primary-color #126BC4 (blue) → #00a0e6 (sky blue)
   =================================================== */
.vne_wrap .vne_header .bc-menu-mobile.vne-mnav {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 320px;
    max-width: 92vw;
    background: #fff;
    z-index: 9999;
    display: flex !important;
    flex-direction: column;
    overflow: hidden;
    transform: translateX(105%);
    transition: transform .32s cubic-bezier(.4,0,.2,1);
    box-shadow: -4px 0 32px rgba(0,0,0,.18);
    border-radius: 0;
}
.vne_wrap .vne_header .bc-menu-mobile.vne-mnav.active {
    transform: translateX(0);
}

/* ---- Header ---- */
.vne-mnav-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    background: var(--primary-color, #126BC4);
    flex-shrink: 0;
}
.vne-mnav-logo img {
    height: 38px;
    max-width: 150px;
    object-fit: contain;
}
.vne-mnav-close {
    background: rgba(255,255,255,.2);
    border: none;
    color: #fff;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 16px;
    transition: background .2s;
    flex-shrink: 0;
}
.vne-mnav-close:hover {
    background: rgba(255,255,255,.35);
}

/* ---- User section ---- */
.vne-mnav-user {
    flex-shrink: 0;
    border-bottom: 1px solid #f0f0f0;
}
.vne-mnav-guest {
    padding: 14px 16px;
    background: #fafafa;
}
.vne-mnav-guest p {
    margin: 0 0 10px;
    font-size: 13px;
    color: #777;
}
.vne-mnav-auth-btns {
    display: flex;
    gap: 8px;
}
.vne-mnav-btn-login,
.vne-mnav-btn-register {
    flex: 1;
    text-align: center;
    padding: 8px 12px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    transition: opacity .2s;
}
.vne-mnav-btn-login {
    background: var(--primary-color, #126BC4);
    color: #fff !important;
}
.vne-mnav-btn-register {
    background: #fff;
    color: var(--primary-color, #126BC4) !important;
    border: 1.5px solid var(--primary-color, #126BC4);
}
.vne-mnav-btn-login:hover,
.vne-mnav-btn-register:hover { opacity: .85; }

/* Logged-in profile — blue → sky blue gradient */
.vne-mnav-profile {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: linear-gradient(135deg, var(--primary-color, #126BC4) 0%, #00a0e6 100%);
}
.vne-mnav-avatar {
    flex-shrink: 0;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    overflow: hidden;
    border: 2.5px solid rgba(255,255,255,.7);
    background: rgba(255,255,255,.25);
    display: flex;
    align-items: center;
    justify-content: center;
}
.vne-mnav-avatar img {
    width: 46px;
    height: 46px;
    object-fit: cover;
    display: block;
}
.vne-mnav-avatar span {
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    line-height: 1;
}
.vne-mnav-profile-info {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}
.vne-mnav-profile-info strong {
    display: block;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.vne-mnav-profile-info small {
    display: block;
    color: rgba(255,255,255,.8);
    font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* User links */
.vne-mnav-user-links {
    list-style: none;
    margin: 0;
    padding: 6px 0;
    background: #fafafa;
}
.vne-mnav-user-links li a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 20px;
    font-size: 13.5px;
    color: #444 !important;
    text-decoration: none !important;
    transition: background .15s, color .15s;
}
.vne-mnav-user-links li a i {
    width: 16px;
    color: var(--primary-color, #126BC4);
    font-size: 14px;
    text-align: center;
    flex-shrink: 0;
}
.vne-mnav-user-links li a:hover {
    background: #f0f0f0;
    color: var(--primary-color, #126BC4) !important;
}
.vne-mnav-logout a {
    color: #e74c3c !important;
    border-top: 1px solid #eee;
    margin-top: 4px;
}
.vne-mnav-logout a i { color: #e74c3c !important; }

/* ---- Main menu ---- */
.vne_wrap .vne_header .bc-menu-mobile.vne-mnav .g-menu .main-menu > li.depth-0 {
    display: block !important;
}
.vne-mnav-menu {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    max-height: none !important;
}
.vne_wrap .vne_header .bc-menu-mobile.vne-mnav .g-menu {
    overflow-x: hidden !important;
    overflow-y: auto !important;
}
.vne_wrap .vne_header .bc-menu-mobile.vne-mnav .g-menu > ul.main-menu {
    padding: 0 !important;
    list-style: none;
}
.vne_wrap .vne_header .bc-menu-mobile.vne-mnav .vne-mnav-menu .main-menu.menu-generated > li.depth-0 {
    border-bottom: 1px solid #f2f2f2;
}
.vne_wrap .vne_header .bc-menu-mobile.vne-mnav .vne-mnav-menu .main-menu.menu-generated > li.depth-0 > a {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 13px 20px !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    color: #222 !important;
    text-decoration: none !important;
    transition: color .15s, background .15s;
    border-bottom: none !important;
    white-space: normal;
}
.vne_wrap .vne_header .bc-menu-mobile.vne-mnav .vne-mnav-menu .main-menu.menu-generated > li.depth-0 > a:hover,
.vne_wrap .vne_header .bc-menu-mobile.vne-mnav .vne-mnav-menu .main-menu.menu-generated > li.depth-0 > a:focus {
    color: var(--primary-color, #126BC4) !important;
    background: #f0f6ff;
}
.vne_wrap .vne_header .bc-menu-mobile.vne-mnav .vne-mnav-menu .main-menu.menu-generated > li.depth-0 > a > svg,
.vne_wrap .vne_header .bc-menu-mobile.vne-mnav .vne-mnav-menu .main-menu.menu-generated > li.depth-0 > a > img {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    margin-right: 10px;
    object-fit: contain;
}
.vne_wrap .vne_header .bc-menu-mobile.vne-mnav .vne-mnav-menu .main-menu.menu-generated > li.depth-0 > a > i.fa-angle-down,
.vne_wrap .vne_header .bc-menu-mobile.vne-mnav .vne-mnav-menu .main-menu.menu-generated > li.depth-0 > a > i.caret {
    margin-left: auto !important;
}
.vne_wrap .vne_header .bc-menu-mobile.vne-mnav .vne-mnav-menu .main-menu.menu-generated > li.depth-0 > a i.fa-angle-down,
.vne_wrap .vne_header .bc-menu-mobile.vne-mnav .vne-mnav-menu .main-menu.menu-generated > li.depth-0 > a i.caret {
    margin-left: auto !important;
    padding-left: 8px;
    font-size: 12px !important;
    color: #aaa;
    flex-shrink: 0;
    transition: transform .25s, color .2s;
    float: none !important;
}
.vne_wrap .vne_header .bc-menu-mobile.vne-mnav .vne-mnav-menu .main-menu.menu-generated > li.depth-0.open > a i.fa-angle-down,
.vne_wrap .vne_header .bc-menu-mobile.vne-mnav .vne-mnav-menu .main-menu.menu-generated > li.depth-0.open > a i.caret {
    transform: rotate(-180deg) !important;
    color: var(--primary-color, #126BC4);
}
.vne_wrap .vne_header .bc-menu-mobile.vne-mnav .vne-mnav-menu .main-menu.menu-generated > li.depth-0 > .mega,
.vne_wrap .vne_header .bc-menu-mobile.vne-mnav .vne-mnav-menu .main-menu.menu-generated > li.depth-0 > ul.children-menu {
    display: none !important;
    background: #f9f9f9;
    border-top: 1px solid #eee;
    padding: 0 !important;
}
.vne_wrap .vne_header .bc-menu-mobile.vne-mnav .vne-mnav-menu .main-menu.menu-generated > li.depth-0.open > .mega,
.vne_wrap .vne_header .bc-menu-mobile.vne-mnav .vne-mnav-menu .main-menu.menu-generated > li.depth-0.open > ul.children-menu {
    display: block !important;
}
/* Mega columns: stack vertically on mobile */
.vne-mnav-menu .mega [class*="col-"] {
    width: 100% !important;
    max-width: 100%;
    flex: 0 0 100%;
}
.vne-mnav-menu .mega .mega-title {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #999;
    padding: 10px 20px 4px;
    margin: 0;
}
/* Sub/mega links */
.vne-mnav-menu .mega a,
.vne-mnav-menu .children-menu a,
.vne-mnav-menu .sub-menu-wrap a,
.vne-mnav-menu li.depth-1 a {
    display: block;
    padding: 9px 28px;
    font-size: 13.5px;
    color: #555 !important;
    text-decoration: none !important;
    border-bottom: 1px solid #efefef;
    transition: color .15s, background .15s;
    white-space: normal;
}
.vne-mnav-menu .mega a:hover,
.vne-mnav-menu .children-menu a:hover,
.vne-mnav-menu li.depth-1 a:hover {
    color: var(--primary-color, #126BC4) !important;
    background: #fff;
}
/* Hide mega images/banners on mobile */
.vne-mnav-menu .mega img,
.vne-mnav-menu .mega-banner,
.vne-mnav-menu .mega .banner-item {
    display: none !important;
}
/* "..." more-dropdown inside mobile — hide it (items already rendered at root) */
.vne-mnav-menu .menu-more,
.vne-mnav-menu .more-dropdown {
    display: none !important;
}

/* ---- Footer ---- */
.vne-mnav-footer {
    flex-shrink: 0;
    background: #f7f7f7;
    border-top: 1px solid #eee;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.vne-mnav-hotline {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    font-weight: 600;
}
.vne-mnav-hotline i {
    color: var(--primary-color, #126BC4);
    font-size: 14px;
}
.vne-mnav-hotline a {
    color: #222 !important;
    text-decoration: none !important;
}
.vne-mnav-switches {
    display: flex;
    align-items: center;
    gap: 8px;
}
.vne-mnav-switches .lang-item,
.vne-mnav-switches .currency-item,
.vne-mnav-switches > li {
    list-style: none;
}

@media (max-width: 1023px) {
    .vne_wrap .vne_header .bc-menu-mobile.vne-mnav {
        display: flex !important;
    }
}


/* === Chat AI (widget tourkitweb #bp-chat-*) chuyển sang bên TRÁI, tránh trùng nút liên hệ bên phải === */
#bp-chat-btn { left: 24px !important; right: auto !important; }
@media (min-width: 481px) {
    #bp-chat-box { left: 24px !important; right: auto !important; }
}
@media (max-width: 480px) {
    #bp-chat-btn { left: 16px !important; right: auto !important; }
}

/* ==========================================================================
   BANNER ĐẦU TRANG (.hero_slide) — HIỆN NGAY, KHÔNG CHỜ JAVASCRIPT
   --------------------------------------------------------------------------
   owl.carousel.css để `.owl-carousel { display:none }` tới khi khởi tạo xong, mà
   jQuery + owl.carousel.min.js + main.js đều nằm cuối body → banner đầu trang chỉ
   hiện sau khi tải và chạy xong chỗ JS đó (LCP chậm, layout nhảy).

   Chưa khởi tạo thì hiện sẵn SLIDE ĐẦU (các slide sau ẩn để không xổ dọc); owl
   chạy xong sẽ thêm .owl-loaded và quy tắc này tự hết hiệu lực. Banner 1 slide thì
   main.js không khởi tạo owl nữa → slide đầu hiện luôn nhờ quy tắc này.
   ========================================================================== */
.hero_slide:not(.owl-loaded) {
    display: block;
}

.hero_slide:not(.owl-loaded) > .slide-item + .slide-item {
    display: none;
}

/* owl ép mọi ảnh trong slide `display:block; width:100%` (.owl-carousel .owl-item img) —
   banner không chạy owl (1 slide / chưa khởi tạo) cũng phải y như vậy, không lệch vài px. */
.hero_slide:not(.owl-loaded) > .slide-item img {
    display: block;
    width: 100%;
}

/* ==========================================================================
   MENU CHÍNH — DROPDOWN CHIA CỘT (22/10/2026)

   Mục cấp 1 có menu con HAI tầng (Menu v2: "Khách sạn - Resort" → Miền Bắc/Trung/Nam → tỉnh,
   "Tour du lịch" → Tour Outbound/nội địa → danh mục) xổ ra thành các CỘT: mục cấp 2 là tiêu đề
   cột, mục cấp 3 liệt kê ngay bên dưới — thay cho danh sách dọc + menu bay sang phải.

   Chỉ đổi cách trình bày: màu chữ, màu hover, cách hiện/ẩn vẫn theo luật của main.css.
   Nhận bằng :has() nên không phải bật "Mega menu" trong admin; trình duyệt chưa có :has() thì
   vẫn là dropdown dọc như cũ. Mục đã bật Mega menu dùng khung .mega riêng, không dính luật này.
   ========================================================================== */
@media (min-width: 769px) {
    .vne_wrap .vne_header .content .vne-menu ul li.depth-0 > .menu-dropdown:has(> li > .menu-dropdown) {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 12px 40px;
        width: max-content;
        max-width: calc(100vw - 40px);
        padding: 24px 32px 16px;
        border-top: 1px solid #EEEEEE;
    }

    /* Khung mở từ mục thứ 4 trở đi thì bám mép phải, như khung .mega của main.css */
    .vne_wrap .vne_header .content .vne-menu ul li.depth-0:nth-child(n+4) > .menu-dropdown:has(> li > .menu-dropdown) {
        left: auto;
        right: 0;
    }

    /* Cột */
    .vne_wrap .vne_header .content .vne-menu ul li.depth-0 > .menu-dropdown:has(> li > .menu-dropdown) > li {
        width: 200px;
        padding: 0;
    }

    /* Tiêu đề cột. padding/font-size phải !important: main.css ép `padding: 25px 10px !important;
       font-size: 15px !important` cho MỌI link menu ở màn 1190–1440px. */
    .vne_wrap .vne_header .content .vne-menu ul li.depth-0 > .menu-dropdown:has(> li > .menu-dropdown) > li > a {
        padding: 0 0 10px !important;
        font-size: 15px !important;
        font-weight: 700;
        text-transform: uppercase;
        border-bottom: 0;
    }

    .vne_wrap .vne_header .content .vne-menu ul li.depth-0 > .menu-dropdown:has(> li > .menu-dropdown) > li > a .caret {
        display: none;
    }

    /* Danh sách trong cột: luôn mở cùng khung. visibility kế thừa từ khung (KHÔNG đặt visible —
       con visible sẽ lộ ra cả khi khung cha đang ẩn). */
    .vne_wrap .vne_header .content .vne-menu ul li.depth-0 > .menu-dropdown:has(> li > .menu-dropdown) > li > .menu-dropdown {
        position: static;
        min-width: 0;
        padding: 0;
        background: transparent;
        box-shadow: none;
        opacity: 1;
        visibility: inherit;
        transition: none;
    }

    .vne_wrap .vne_header .content .vne-menu ul li.depth-0 > .menu-dropdown:has(> li > .menu-dropdown) > li > .menu-dropdown > li {
        padding: 0;
    }

    .vne_wrap .vne_header .content .vne-menu ul li.depth-0 > .menu-dropdown:has(> li > .menu-dropdown) > li > .menu-dropdown > li > a {
        padding: 7px 0 !important;
        font-size: 14px !important;
        font-weight: 400;
        border-bottom: 0;
    }
}
