/* Header common */
.header-categories-menu{display:flex;align-items:center}
.site-header{transition:transform .28s ease,background .25s ease,box-shadow .25s ease,border-color .25s ease,max-width .25s ease,border-radius .25s ease,margin .25s ease,padding .25s ease}
.site-header .header-topline{display:none}
.site-header.is-hidden{transform:translateY(calc(-100% - 6px))}
.site-header.header-behavior-normal{position:relative!important;top:auto!important}
.site-header.header-behavior-sticky,.site-header.header-behavior-smart,.site-header.header-behavior-compact{position:sticky!important;top:0!important;z-index:5000!important}
.site-header.header-behavior-sticky,.site-header.header-behavior-compact{box-shadow:0 7px 22px rgba(16,42,67,.08)}
.site-header.is-compact .nav-wrap{min-height:58px!important}
.site-header.is-compact .brand-logo{max-height:36px!important}
.site-header.is-compact .brand-copy strong{font-size:12px!important}
.site-header.is-compact .brand-copy small{display:none!important}

/* 1 Classic */
.site-header.header-model-classic.is-scrolled .nav-wrap{min-height:64px}
.site-header.header-model-classic.is-scrolled .brand-logo{max-height:40px}

/* 2 Minimal Search Focus */
.site-header.header-model-minimal .main-nav>a:not(.header-route-action){font-size:0;padding-left:9px;padding-right:9px}
.site-header.header-model-minimal .main-nav>a:not(.header-route-action) span{display:none}
.site-header.header-model-minimal .nav-search{min-width:290px}
.site-header.header-model-minimal.is-scrolled .nav-search{min-width:340px}

/* 3 Two Tier Premium */
.site-header.header-model-two_tier .header-topline{display:block;background:var(--navy);color:#e8f2f5;font-size:10px}
.site-header.header-model-two_tier .header-topline-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:30px}
.header-topline-contact{display:flex;gap:12px;align-items:center}.header-topline-contact a{display:inline-flex;align-items:center;gap:4px;color:#d9ecf1;text-decoration:none}.header-topline-contact .ui-icon{width:12px;height:12px}
.site-header.header-model-two_tier.is-scrolled .header-topline{display:none}

/* 4 Mobile First Floating */
@media(max-width:720px){
  .site-header.header-model-mobile_floating{padding-bottom:72px}
  .site-header.header-model-mobile_floating .menu-toggle{display:none!important}
  .site-header.header-model-mobile_floating .main-nav{position:fixed!important;left:10px!important;right:10px!important;bottom:10px!important;top:auto!important;inset:auto 10px 10px!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px!important;padding:7px!important;background:rgba(16,42,67,.97)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:18px!important;box-shadow:0 18px 40px rgba(16,42,67,.25)!important;transform:none!important;opacity:1!important;pointer-events:auto!important;z-index:12000!important}
  .site-header.header-model-mobile_floating .main-nav>.nav-item{display:grid!important;place-items:center!important;color:#dcecf1!important;padding:7px 2px!important;font-size:9px!important}
  .site-header.header-model-mobile_floating .main-nav>.nav-item .ui-icon{width:18px!important;height:18px!important;margin-bottom:3px}
  .site-header.header-model-mobile_floating .main-nav>.nav-item span{font-size:9px!important;line-height:1.1}
  .site-header.header-model-mobile_floating .main-nav>.nav-item:nth-child(2),.site-header.header-model-mobile_floating .main-nav>.nav-item:nth-child(4){display:none!important}
  .site-header.header-model-mobile_floating .nav-search-wrap{position:fixed!important;left:10px;right:10px;bottom:82px;transform:none;pointer-events:auto;z-index:12001}
  .site-header.header-model-mobile_floating .nav-search{width:100%;margin:0;box-shadow:0 10px 24px rgba(16,42,67,.1)}
  .site-header.header-model-mobile_floating .nav-search input{width:100%}
  .site-header.header-model-mobile_floating .header-categories-menu{display:grid!important;place-items:stretch;width:100%;min-width:0}
  .site-header.header-model-mobile_floating .header-categories-menu .nav-item{display:grid!important;place-items:center;gap:3px;width:100%;min-width:0;padding:7px 2px!important;color:#dcecf1!important;border-radius:12px}
  .site-header.header-model-mobile_floating .header-categories-menu .nav-item .ui-icon{width:18px!important;height:18px!important;margin-bottom:3px}
  .site-header.header-model-mobile_floating .header-categories-menu .nav-item span{font-size:9px!important;line-height:1.1}
}

/* 5 Mega */
.site-header.header-model-mega .header-categories-menu{position:relative}
.site-header.header-model-mega .header-mega-panel{display:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);width:min(620px,calc(100vw - 30px));padding:14px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 60px rgba(16,42,67,.16);z-index:7000}
.site-header.header-model-mega .header-mega-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.site-header.header-model-mega .header-mega-grid a{display:block;padding:11px;border:1px solid #e7edef;border-radius:12px;text-decoration:none;color:var(--navy);background:#fbfdfd}
.site-header.header-model-mega .header-mega-grid a:hover,.site-header.header-model-mega.mega-open .header-mega-grid a{border-color:#c8e4e1}
.site-header.header-model-mega .header-mega-grid span,.site-header.header-model-mega .header-mega-grid small{display:block}.site-header.header-model-mega .header-mega-grid span{font-size:11px;font-weight:800}.site-header.header-model-mega .header-mega-grid small{margin-top:3px;font-size:9px;color:var(--muted)}
.site-header.header-model-mega .header-categories-menu:hover .header-mega-panel,.site-header.header-model-mega .header-categories-menu:focus-within .header-mega-panel,.site-header.header-model-mega.mega-open .header-mega-panel{display:block}
@media(max-width:720px){.site-header.header-model-mega .header-mega-panel{position:fixed;left:10px;right:10px;top:67px;transform:none;width:auto}.site-header.header-model-mega .header-mega-grid{grid-template-columns:1fr 1fr}}

/* 6 Floating Card */
.site-header.header-model-floating_card{width:min(calc(100% - 24px),1500px);margin:10px auto 0;border:1px solid rgba(223,231,233,.95);border-radius:20px;box-shadow:0 14px 34px rgba(16,42,67,.09);overflow:visible}
.site-header.header-model-floating_card.header-behavior-sticky,.site-header.header-model-floating_card.header-behavior-smart,.site-header.header-model-floating_card.header-behavior-compact{top:10px}
.site-header.header-model-floating_card .nav-wrap{min-height:70px}
@media(max-width:720px){.site-header.header-model-floating_card{width:calc(100% - 12px);margin:6px auto 0;border-radius:16px}.site-header.header-model-floating_card .nav-wrap{min-height:64px}}

/* 7 Hybrid side */
@media(min-width:1101px){
 body.header-layout-hybrid-side{padding-left:88px}
 body.header-layout-hybrid-side .site-footer,body.header-layout-hybrid-side #main-content{margin-left:0!important}
 .site-header.header-model-hybrid_side{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:88px!important;height:100vh!important;background:rgba(255,253,248,.96)!important;border-right:1px solid var(--line)!important;border-bottom:0!important;z-index:9000!important;box-shadow:8px 0 22px rgba(16,42,67,.06)}
 .site-header.header-model-hybrid_side .nav-wrap{height:100vh;min-height:0;display:flex;flex-direction:column;justify-content:flex-start;gap:16px;padding:18px 8px;box-sizing:border-box}
 .site-header.header-model-hybrid_side .brand{display:grid;justify-items:center;min-width:0}
 .site-header.header-model-hybrid_side .brand-copy{display:none}.site-header.header-model-hybrid_side .brand-logo{max-width:46px;max-height:46px}
 .site-header.header-model-hybrid_side .menu-toggle{display:none}
 .site-header.header-model-hybrid_side .main-nav{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:5px}
 .site-header.header-model-hybrid_side .nav-item{display:grid;place-items:center;gap:3px;padding:9px 3px;border-radius:11px;font-size:8px}
 .site-header.header-model-hybrid_side .nav-item .ui-icon{width:17px;height:17px}
 .site-header.header-model-hybrid_side .nav-item span{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:72px}
 .site-header.header-model-hybrid_side .nav-search-wrap{width:100%}.site-header.header-model-hybrid_side .nav-search{min-width:0;margin:0;padding:5px;border-radius:12px}.site-header.header-model-hybrid_side .nav-search input{display:none}.site-header.header-model-hybrid_side .nav-search button{width:32px;height:32px;margin:auto}.site-header.header-model-hybrid_side .header-categories-menu{width:100%}
}
@media(max-width:1100px){.site-header.header-model-hybrid_side{position:sticky!important;top:0!important}}

/* 8 Transparent to Solid */
.site-header.header-model-transparent[data-header-home="1"]{position:absolute!important;top:0!important;left:0;right:0;background:transparent!important;border-bottom-color:transparent!important;backdrop-filter:none!important;box-shadow:none!important;color:#fff}
.site-header.header-model-transparent[data-header-home="1"] .brand strong,.site-header.header-model-transparent[data-header-home="1"] .brand small,.site-header.header-model-transparent[data-header-home="1"] .nav-item{color:#fff}
.site-header.header-model-transparent[data-header-home="1"].is-transparent-scrolled{position:fixed!important;background:rgba(255,253,248,.96)!important;border-bottom-color:rgba(228,231,235,.85)!important;backdrop-filter:blur(14px)!important;box-shadow:0 8px 24px rgba(16,42,67,.08)!important;color:var(--navy)}
.site-header.header-model-transparent[data-header-home="1"].is-transparent-scrolled .brand strong,.site-header.header-model-transparent[data-header-home="1"].is-transparent-scrolled .brand small,.site-header.header-model-transparent[data-header-home="1"].is-transparent-scrolled .nav-item{color:var(--navy)}

/* 9 Icon driven */
.site-header.header-model-icon_driven .main-nav>a:not(.header-route-action) span{display:none}
.site-header.header-model-icon_driven .main-nav>a:not(.header-route-action){padding:10px}
.site-header.header-model-icon_driven .nav-search input{width:110px}

/* 10 Conversion first */
.site-header.header-model-conversion .header-route-action{background:var(--navy);color:#fff!important;box-shadow:0 9px 18px rgba(16,42,67,.16)}
.site-header.header-model-conversion .header-route-action:hover{transform:translateY(-1px)}
.site-header.header-model-conversion .nav-search{min-width:260px}

@media(max-width:980px){
 .site-header .header-mega-panel{max-width:calc(100vw - 24px)}
 .site-header.header-model-two_tier .header-topline-inner{padding:0 12px}
 .site-header.header-model-floating_card{margin-top:5px}
}
@media(max-width:720px){
 .site-header.header-model-minimal .nav-search{min-width:0;width:100%}
 .site-header.header-model-icon_driven .main-nav>a:not(.header-route-action) span{display:block;font-size:9px}
 .site-header.header-model-conversion .header-route-action{padding-inline:10px}
}
@media(max-width:720px){
  .site-header.header-model-icon_driven .main-nav{grid-template-columns:repeat(4,minmax(0,1fr))}
  .site-header.header-model-icon_driven .header-categories-menu{display:block}
  .site-header.header-model-conversion .header-route-action{font-size:10px}
}
.header-model-info{position:relative}
.header-model-info[data-tooltip]::after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%) translateY(4px);width:260px;max-width:min(72vw,260px);padding:10px 11px;border-radius:11px;background:var(--navy);color:#fff;font:500 10px/1.45 Inter,sans-serif;white-space:normal;text-align:left;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,transform .16s ease;z-index:15000;box-shadow:0 14px 30px rgba(16,42,67,.2)}
.header-model-info[data-tooltip]::before{content:'';position:absolute;left:50%;bottom:calc(100% + 3px);transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--navy);opacity:0;visibility:hidden;transition:opacity .16s ease;z-index:15001}
.header-model-info:hover::after,.header-model-info:focus::after,.header-model-info:hover::before,.header-model-info:focus::before{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
@media(max-width:620px){.header-model-info[data-tooltip]::after{left:auto;right:-8px;transform:translateX(0) translateY(4px);max-width:220px}.header-model-info:hover::after,.header-model-info:focus::after{transform:translateX(0) translateY(0)}.header-model-info[data-tooltip]::before{left:auto;right:6px;transform:none}}
@media(prefers-reduced-motion:reduce){.site-header{transition:none!important}.site-header.is-hidden{transform:none!important}}


/* v79: universal public header sticky engine
   Every sticky/smart/compact model uses fixed positioning so it remains visible even after deep scrolling.
   The JS engine reserves the header's space in #main-content to prevent overlap/jumps. */
@media (min-width:0px){
  .site-header.header-behavior-sticky,
  .site-header.header-behavior-smart,
  .site-header.header-behavior-compact{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    margin:0!important;
    z-index:10000!important;
  }
  body.site-header-fixed-space #main-content{
    padding-top:var(--site-header-space,0px)!important;
  }
  .site-header.header-model-hybrid_side.header-behavior-sticky,
  .site-header.header-model-hybrid_side.header-behavior-smart,
  .site-header.header-model-hybrid_side.header-behavior-compact{width:100%!important}
  .site-header.header-model-hybrid_side{
    /* desktop side-navigation has its own fixed geometry below */
  }
  .site-header.header-model-floating_card.header-behavior-sticky,
  .site-header.header-model-floating_card.header-behavior-smart,
  .site-header.header-model-floating_card.header-behavior-compact{
    left:50%!important;
    right:auto!important;
    width:min(calc(100% - 24px),1500px)!important;
    transform:translateX(-50%)!important;
    top:10px!important;
    margin:0!important;
  }
  .site-header.header-model-floating_card.header-behavior-sticky.is-hidden,
  .site-header.header-model-floating_card.header-behavior-smart.is-hidden,
  .site-header.header-model-floating_card.header-behavior-compact.is-hidden{
    transform:translate(-50%,-105%)!important;
  }
  .site-header.header-model-transparent.header-behavior-normal[data-header-home="1"]{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    width:100%!important;
    margin:0!important;
  }
  .site-header.header-model-transparent.header-behavior-normal[data-header-home="1"].is-scrolled{
    position:relative!important;
  }
  .site-header.header-model-transparent.header-behavior-sticky[data-header-home="1"].is-transparent-scrolled,
  .site-header.header-model-transparent.header-behavior-smart[data-header-home="1"].is-transparent-scrolled,
  .site-header.header-model-transparent.header-behavior-compact[data-header-home="1"].is-transparent-scrolled{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    margin:0!important;
  }
  .site-header.header-model-transparent.header-behavior-sticky[data-header-home="1"]:not(.is-transparent-scrolled),
  .site-header.header-model-transparent.header-behavior-smart[data-header-home="1"]:not(.is-transparent-scrolled),
  .site-header.header-model-transparent.header-behavior-compact[data-header-home="1"]:not(.is-transparent-scrolled){
    position:absolute!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    margin:0!important;
  }
}
@media (min-width:981px){
  /* Admin sidebar: fixed to the viewport on every desktop admin page; the page itself keeps the normal browser scrollbar. */
  body.admin-page .admin-side{
    position:fixed!important;
    inset:0 auto 0 0!important;
    width:250px!important;
    height:100vh!important;
    height:100dvh!important;
    max-height:none!important;
    overflow:hidden!important;
    overflow-y:hidden!important;
    overflow-x:hidden!important;
    z-index:12000!important;
  }
  body.admin-page .admin-main{
    margin-left:250px!important;
    width:calc(100% - 250px)!important;
    overflow:visible!important;
  }
}
@media(max-width:980px){
  body.site-header-fixed-space #main-content{padding-top:var(--site-header-space,0px)!important}
}
