/* TENXPORTAL header: the single responsive navigation component. */
.tenx-header{position:sticky;z-index:1000;isolation:isolate;top:0;height:var(--header-height,76px);border-bottom:1px solid transparent;background:rgba(255,255,255,.98);transition:border-color .2s,box-shadow .2s}
.tenx-header.scrolled{border-color:var(--line);box-shadow:0 8px 30px var(--shadow-faint)}
body.admin-bar .tenx-header{top:32px}
.tenx-header-inner{position:relative;display:flex;align-items:center;height:var(--header-height,76px);gap:clamp(18px,2vw,32px)}
.tenx-brand{display:flex;flex:0 0 auto;align-items:center;min-width:1px}
.tenx-brand .custom-logo-link{display:flex;align-items:center}
.tenx-brand .custom-logo{display:block;width:auto;max-width:190px;max-height:46px}
.tenx-brand-empty{display:block;width:1px;height:46px}
.tenx-desktop-navigation{display:flex;flex:1;align-items:center;align-self:stretch;min-width:0}
.tenx-desktop-navigation>.nav-list{justify-content:flex-end;gap:clamp(12px,1.2vw,24px)}
.tenx-desktop-navigation>.nav-list>li{display:flex;align-items:center;height:100%}
.tenx-desktop-navigation .nav-list a,.tenx-desktop-navigation .nav-link{position:relative;font-size:clamp(.78rem,.77vw,.9rem);font-weight:590;white-space:nowrap}
.tenx-desktop-actions{display:flex;flex:0 0 auto;align-items:center;gap:clamp(10px,1vw,16px)}
.tenx-desktop-actions .icon-button{min-width:44px;min-height:44px}
.tenx-header-cta{white-space:nowrap}
.tenx-mobile-actions,.tenx-mobile-navigation{display:none}
.tenx-menu-close{display:none}

.tenx-mobile-menu,.tenx-mobile-submenu{margin:0;padding:0;list-style:none}
.tenx-mobile-navigation[aria-hidden="true"]{visibility:hidden;pointer-events:none}

@media(max-width:1180px){
 body.tenx-mobile-menu-open{overflow:hidden}
 .tenx-desktop-navigation,.tenx-desktop-actions{display:none!important}
 .tenx-mobile-actions{display:flex;position:absolute;z-index:132;top:50%;right:0;align-items:center;gap:4px;margin:0;transform:translateY(-50%)}
 .tenx-mobile-actions .icon-button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:6px;border:0;background:transparent}
 .tenx-mobile-menu-toggle[aria-expanded="true"] .tenx-menu-open{display:none}
 .tenx-mobile-menu-toggle[aria-expanded="true"] .tenx-menu-close{display:inline-grid}
 .tenx-mobile-navigation{display:block;position:fixed;z-index:125;inset:var(--header-height,76px) 0 0;visibility:hidden;pointer-events:none}
 body.admin-bar .tenx-mobile-navigation{top:calc(var(--header-height,76px) + 32px)}
 body.tenx-mobile-menu-open .tenx-mobile-navigation{visibility:visible;pointer-events:auto}
 .tenx-mobile-overlay{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(10,10,10,.3)}
 .tenx-mobile-menu-panel{position:relative;width:min(100%,520px);height:100%;margin-left:auto;padding:20px 24px 34px;overflow-y:auto;background:var(--color-white)}
 .tenx-mobile-menu>li{border-bottom:1px solid var(--line)}
 .tenx-mobile-menu>li>a,.tenx-mobile-accordion-toggle{display:flex;width:100%;min-height:58px;align-items:center;justify-content:space-between;padding:10px 4px;border:0;background:transparent;color:var(--ink);font-size:1.05rem;font-weight:650;text-align:left}
 .tenx-mobile-accordion-toggle span{font-size:1.5rem;transition:transform .18s}
 .tenx-mobile-accordion-toggle[aria-expanded="true"] span{transform:rotate(90deg)}
 .tenx-mobile-submenu{padding:0 4px 14px 18px}
 .tenx-mobile-submenu[hidden]{display:none}
 .tenx-mobile-submenu a{display:flex;min-height:46px;align-items:center;color:var(--muted);font-size:.94rem}
 .tenx-mobile-menu-actions{display:grid;gap:14px;margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
 .tenx-mobile-login{display:inline-flex;min-height:44px;align-items:center;font-weight:700}
 .tenx-mobile-cta{width:100%}
 .tenx-header .mega-menu{display:none!important}
}

@media(max-width:782px){
 body.admin-bar .tenx-header{top:46px}
 body.admin-bar .tenx-mobile-navigation{top:calc(var(--header-height,76px) + 46px)}
}

@media(max-width:720px){
 .tenx-header,.tenx-header-inner{height:68px}
 .tenx-brand .custom-logo{max-width:145px;max-height:38px}
 .tenx-brand-empty{height:38px}
 .tenx-mobile-navigation{top:68px}
 body.admin-bar .tenx-mobile-navigation{top:114px}
}
