/* =================================================
   TRIPIFINE FLYOUT MENU  —  dropdown-menu.css
   Uses tf- prefix to avoid conflicts with theme CSS
   ================================================= */

/* ── Level 1: first dropdown ── */
.main-menu > ul > li.menu-item-has-children {
    position: relative;
}

.main-menu > ul > li.menu-item-has-children > ul.tf-sub-menu {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    min-width: 220px;
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 10px 36px rgba(0,0,0,0.14);
    border: 1px solid rgba(0,0,0,0.07);
    padding: 8px 0;
    list-style: none;
    margin: 0;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(10px);
    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s;
}

.main-menu > ul > li.menu-item-has-children:hover > ul.tf-sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

/* ── Level 1 links ── */
.main-menu ul.tf-sub-menu > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px;
    font-size: 14px;
    color: #333333;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.14s, color 0.14s;
    gap: 10px;
}

.main-menu ul.tf-sub-menu > li > a:hover {
    background: #fff6f2;
    color: #e8612c;
}

/* ── Arrow icon ── */
.tf-arrow {
    font-size: 11px;
    color: #bbbbbb;
    transition: color 0.14s, transform 0.2s;
    display: inline-block;
    line-height: 1;
}

.main-menu ul.tf-sub-menu > li.tf-has-flyout:hover > a .tf-arrow {
    color: #e8612c;
    transform: translateX(2px);
}

/* ── Level 2: flyout ── */
.main-menu ul.tf-sub-menu > li.tf-has-flyout {
    position: relative;
}

.main-menu ul.tf-sub-menu > li.tf-has-flyout > ul.tf-flyout {
    position: absolute;
    top: -8px;
    left: 100%;
    min-width: 200px;
    max-height: 360px;
    overflow-y: auto;
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 10px 36px rgba(0,0,0,0.14);
    border: 1px solid rgba(0,0,0,0.07);
    padding: 8px 0;
    list-style: none;
    margin: 0;
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(10px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}

.main-menu ul.tf-sub-menu > li.tf-has-flyout:hover > ul.tf-flyout {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0);
}

/* Flip LEFT when near screen edge (added by JS) */
.main-menu ul.tf-sub-menu > li.tf-has-flyout.tf-flip-left > ul.tf-flyout {
    left: auto;
    right: 100%;
    transform: translateX(-10px);
}
.main-menu ul.tf-sub-menu > li.tf-has-flyout.tf-flip-left:hover > ul.tf-flyout {
    transform: translateX(0);
}

/* ── Level 2 links ── */
.main-menu ul.tf-flyout > li > a {
    display: block;
    padding: 9px 20px;
    font-size: 13.5px;
    color: #444444;
    font-weight: 400;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.14s, color 0.14s, padding-left 0.14s;
}

.main-menu ul.tf-flyout > li > a:hover {
    background: #fff6f2;
    color: #e8612c;
    padding-left: 26px;
}

/* ── Scrollbar for long lists ── */
.main-menu ul.tf-flyout::-webkit-scrollbar { width: 4px; }
.main-menu ul.tf-flyout::-webkit-scrollbar-track { background: #f5f5f5; border-radius: 4px; }
.main-menu ul.tf-flyout::-webkit-scrollbar-thumb { background: #ddd; border-radius: 4px; }

/* ── Divider between Domestic & International ── */
.main-menu ul.tf-sub-menu > li + li.tf-has-flyout {
    border-top: 1px solid #f2f2f2;
    margin-top: 4px;
    padding-top: 4px;
}

/* ============================================
   MOBILE: nested accordion
   ============================================ */
.th-mobile-menu ul li.menu-item-has-children > .sub-menu {
    display: none;
    padding-left: 14px;
    border-left: 2px solid #f0f0f0;
    margin-left: 10px;
    margin-top: 4px;
}

.th-mobile-menu ul li.menu-item-has-children.tf-open > .sub-menu {
    display: block;
}

.th-mobile-menu ul li.menu-item-has-children > a .tf-mob-toggle {
    float: right;
    font-size: 18px;
    font-weight: 300;
    color: #aaa;
    line-height: 1;
    transition: transform 0.2s;
}

.th-mobile-menu ul li.menu-item-has-children.tf-open > a .tf-mob-toggle {
    transform: rotate(45deg);
    color: #e8612c;
}