/* Hà Tiên Network Header V2.2 — stable top menu and one responsive navigation tree. */
.htn-header {
    position: sticky;
    z-index: 250;
    top: 0;
    min-height: var(--ht-shell-header, 88px);
    overflow: visible;
    isolation: isolate;
    border-bottom: 1px solid var(--ht-shell-line, rgba(255,255,255,.14));
    background: rgba(7,17,22,.97);
    color: #fff;
    box-shadow: 0 12px 38px rgba(0,0,0,.16);
    backdrop-filter: blur(16px);
}

.admin-bar .htn-header { top: 32px; }

.htn-inner {
    width: min(calc(100% - 32px), 1320px);
    min-height: var(--ht-shell-header, 88px);
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: clamp(16px, 1.6vw, 26px);
    margin-inline: auto;
    overflow: visible;
}

.htn-brand {
    min-width: 0;
    max-width: 250px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #fff;
    text-decoration: none;
}

.htn-brand--has-logo { max-width: 160px; }
.htn-brand--has-logo .htn-brand-copy { display: none; }
.htn-logo { min-width: 0; display: inline-flex; align-items: center; }
.htn-logo-image { width: auto; max-width: 154px; max-height: 58px; object-fit: contain; }
.htn-brand-mark {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    display: inline-grid;
    place-items: center;
    border: 1px solid var(--ht-shell-gold, #d6aa6d);
    color: var(--ht-shell-gold-light, #e4bd87);
    font-weight: 700;
}

.htn-brand-copy { min-width: 0; display: grid; gap: 3px; max-width: 190px; }
.htn-brand-copy strong { color: #fff; font-size: 15px; line-height: 1.2; }
.htn-brand-copy small { color: #c2c9cc; font-size: 10px; line-height: 1.35; letter-spacing: .075em; }

.htn-actions {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(8px, .8vw, 14px);
    overflow: visible;
}

.htn-nav { min-width: 0; flex: 1 1 auto; overflow: visible; }
.htn-menu,
.htn-submenu { margin: 0; padding: 0; list-style: none; }
.htn-menu {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(2px, .42vw, 8px);
}

.htn-menu-item { position: relative; min-width: 0; }
.htn-menu-line { min-height: 52px; display: flex; align-items: center; }
.htn-menu-link,
.htn-menu-label {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    padding: 0 3px;
    color: #fff;
    font-size: clamp(14px, 1vw, 15px);
    font-weight: 600;
    line-height: 1.25;
    text-decoration: none;
    white-space: nowrap;
}
.htn-menu-label--parent { cursor: default; }
.htn-menu-link:hover,
.htn-menu-link:focus-visible { color: var(--ht-shell-gold-light, #e4bd87); }

.htn-submenu-toggle {
    width: 36px;
    min-width: 36px;
    height: 44px;
    display: inline-grid;
    place-items: center;
    border: 0;
    background: transparent;
    color: var(--ht-shell-gold-light, #e4bd87);
    cursor: pointer;
}
.htn-submenu-toggle[aria-expanded="true"] > span[aria-hidden="true"] { transform: rotate(180deg); }

.htn-submenu {
    position: absolute;
    z-index: 280;
    top: calc(100% - 1px);
    left: -12px;
    width: min(320px, 84vw);
    display: none;
    padding: 10px;
    border: 1px solid var(--ht-shell-line, rgba(255,255,255,.14));
    background: #0a1823;
    box-shadow: 0 24px 56px rgba(0,0,0,.35);
}
.htn-menu > .htn-menu-item:nth-last-child(-n+2) > .htn-submenu { right: 0; left: auto; }
.htn-submenu li + li { border-top: 1px solid rgba(255,255,255,.07); }
.htn-submenu .htn-menu-line { width: 100%; min-height: 0; align-items: stretch; }
.htn-submenu .htn-menu-link,
.htn-submenu .htn-menu-label {
    min-height: 48px;
    flex: 1 1 auto;
    padding: 10px 12px;
    color: #e9eef0;
    font-size: 14px;
    line-height: 1.4;
    white-space: normal;
}
.htn-submenu .htn-submenu-toggle { width: 44px; min-width: 44px; height: 48px; }
.htn-submenu .htn-submenu {
    position: static;
    width: 100%;
    margin: 0 0 8px;
    padding: 0 0 0 14px;
    border: 0;
    background: transparent;
    box-shadow: none;
}
.htn-submenu a:hover,
.htn-submenu a:focus-visible { color: var(--ht-shell-gold-light, #e4bd87); }

@media (min-width: 1300px) {
    .htn-has-children:hover > .htn-submenu,
    .htn-has-children:focus-within > .htn-submenu,
    .htn-has-children.htn-submenu-open > .htn-submenu { display: block; }
}

.htn-language {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #c2c9cc;
    font-size: 13px;
    white-space: nowrap;
}
.htn-language__current { color: #fff; font-weight: 600; }
.htn-language__option { opacity: .62; }

.htn-cta {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 15px;
    border: 1px solid var(--ht-shell-gold, #d6aa6d);
    border-radius: 4px;
    color: var(--ht-shell-gold-light, #e4bd87);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.25;
    text-decoration: none;
    white-space: nowrap;
}
.htn-cta:hover,
.htn-cta:focus-visible { background: var(--ht-shell-gold, #d6aa6d); color: #071116; }

.htn-mobile-toggle,
.htn-backdrop { display: none; }

.htn-mobile-toggle {
    width: 52px;
    height: 52px;
    place-items: center;
    border: 1px solid rgba(214,170,109,.45);
    border-radius: 4px;
    background: transparent;
    color: #fff;
    cursor: pointer;
}
.htn-mobile-toggle__icon { width: 22px; display: grid; gap: 5px; }
.htn-mobile-toggle__icon span { height: 2px; display: block; background: currentColor; }

@media (max-width: 1439px) and (min-width: 1300px) {
    .htn-inner { gap: 14px; }
    .htn-logo-image { max-width: 144px; }
    .htn-menu { gap: 2px; }
    .htn-menu-link,
    .htn-menu-label { font-size: 13px; }
    .htn-submenu-toggle { width: 32px; min-width: 32px; }
    .htn-cta { padding-inline: 12px; font-size: 13px; }
}

@media (max-width: 1299px) {
    .htn-header { min-height: 76px; }
    .htn-inner {
        width: min(calc(100% - 36px), 1240px);
        min-height: 76px;
        display: flex;
        justify-content: space-between;
        gap: 18px;
    }
    .htn-brand { max-width: min(70vw, 210px); }
    .htn-brand-copy { display: none; }
    .htn-logo-image { max-width: 154px; max-height: 52px; }
    .htn-actions { flex: 0 0 auto; }
    .htn-mobile-toggle { display: inline-grid; }
    .htn-language,
    .htn-cta { display: none; }

    .htn-nav {
        position: fixed;
        z-index: 310;
        top: 76px;
        right: 0;
        width: min(92vw, 440px);
        height: calc(100dvh - 76px);
        overflow-y: auto;
        padding: 18px 22px 36px;
        border-left: 1px solid rgba(214,170,109,.35);
        background: #071116;
        box-shadow: -24px 0 60px rgba(0,0,0,.4);
        transform: translate3d(104%, 0, 0);
        visibility: hidden;
        pointer-events: none;
        transition: transform .2s ease, visibility 0s linear .2s;
        overscroll-behavior: contain;
    }
    .admin-bar .htn-nav { top: 108px; height: calc(100dvh - 108px); }
    .htn-header.htn-menu-open .htn-nav {
        transform: translate3d(0, 0, 0);
        visibility: visible;
        pointer-events: auto;
        transition-delay: 0s;
    }
    .htn-menu { display: grid; gap: 0; }
    .htn-menu-item { border-bottom: 1px solid rgba(255,255,255,.12); }
    .htn-menu-line { min-height: 56px; justify-content: space-between; }
    .htn-menu-link,
    .htn-menu-label { min-height: 56px; flex: 1; font-size: 17px; white-space: normal; }
    .htn-submenu-toggle { width: 48px; min-width: 48px; height: 48px; font-size: 18px; }
    .htn-submenu,
    .htn-submenu .htn-submenu {
        position: static;
        width: 100%;
        display: none;
        margin: 0;
        padding: 0 0 12px 14px;
        border: 0;
        background: transparent;
        box-shadow: none;
    }
    .htn-submenu-open > .htn-submenu { display: block; }
    .htn-submenu .htn-menu-item { border-bottom: 0; }
    .htn-submenu .htn-menu-link,
    .htn-submenu .htn-menu-label { min-height: 48px; font-size: 16px; }

    .htn-backdrop {
        position: fixed;
        z-index: 300;
        inset: 0;
        border: 0;
        background: rgba(0,0,0,.58);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }
    .htn-header.htn-menu-open .htn-backdrop {
        display: block;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
}

@media (max-width: 782px) {
    .admin-bar .htn-header { top: 0; }
    .admin-bar .htn-nav,
    .htn-nav { top: 76px; height: calc(100dvh - 76px); }
    .htn-inner { width: min(calc(100% - 28px), 1240px); }
    .htn-logo-image { max-width: 150px; }
}

html.htn-scroll-lock { overflow: hidden; }

@supports not (height: 100dvh) {
    @media (max-width: 1299px) {
        .htn-nav { height: calc(100vh - 76px); }
        .admin-bar .htn-nav { height: calc(100vh - 108px); }
    }
}

@media (prefers-reduced-motion: reduce) {
    .htn-nav,
    .htn-submenu-toggle > span[aria-hidden="true"] { transition: none !important; }
}
