/* v517J — Global public header consistency lock
   Scope: customer-facing public pages only (excludes admin/internal bodies).
   Goal: make the top navigation/logo consistent across Home, Useful Guide, and all child pages.
   - Prevent menu labels from overlapping the logo.
   - Stop Useful Guide nav from becoming too small.
   - Stop other pages from using oversized nav text.
   - Switch to compact mobile/tablet header below 1120px. */

@media (min-width:1121px){
  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .container.nav,
  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .nav{
    width:100% !important;
    max-width:none !important;
    min-height:78px !important;
    padding:12px clamp(30px,4vw,72px) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:24px !important;
    box-sizing:border-box !important;
  }

  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .brand.brand-logo,
  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .brand-logo{
    flex:0 0 245px !important;
    width:245px !important;
    max-width:245px !important;
    min-width:245px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    margin:0 !important;
    overflow:visible !important;
  }

  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .brand-logo img,
  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .brand img,
  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar img.logo-dark{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:238px !important;
    max-height:52px !important;
    object-fit:contain !important;
  }

  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .navlinks{
    flex:1 1 auto !important;
    min-width:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:clamp(10px,1vw,18px) !important;
    flex-wrap:nowrap !important;
    padding-left:0 !important;
  }

  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .navlinks a:not(.btn){
    font-size:15.5px !important;
    line-height:1.1 !important;
    font-weight:760 !important;
    padding:9px 4px !important;
    white-space:nowrap !important;
    letter-spacing:-.012em !important;
  }

  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .navlinks a.active-nav:not(.btn){
    padding:10px 14px !important;
    border-radius:999px !important;
  }

  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .navlinks .nav-apply-btn,
  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .navlinks a.btn{
    min-height:46px !important;
    padding:11px 22px !important;
    font-size:16px !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
    flex:0 0 auto !important;
  }
}

@media (min-width:1121px) and (max-width:1380px){
  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .container.nav,
  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .nav{
    padding-left:36px !important;
    padding-right:36px !important;
    gap:18px !important;
  }

  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .brand.brand-logo,
  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .brand-logo{
    flex-basis:220px !important;
    width:220px !important;
    min-width:220px !important;
    max-width:220px !important;
  }

  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .brand-logo img,
  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .brand img,
  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar img.logo-dark{
    max-width:214px !important;
    max-height:48px !important;
  }

  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .navlinks{
    gap:9px !important;
  }

  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .navlinks a:not(.btn){
    font-size:14.4px !important;
    padding-left:3px !important;
    padding-right:3px !important;
  }

  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .navlinks a.active-nav:not(.btn){
    padding-left:11px !important;
    padding-right:11px !important;
  }

  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .navlinks .nav-apply-btn,
  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .navlinks a.btn{
    padding-left:18px !important;
    padding-right:18px !important;
    font-size:15.2px !important;
  }
}

@media (min-width:1121px) and (max-width:1220px){
  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .navlinks a[href="/contact.html"]{
    display:none !important;
  }
}

@media (min-width:1121px) and (max-width:1180px){
  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .navlinks a[href="/tracking.html"]{
    display:none !important;
  }
}

/* Tablet/mobile: keep header clean instead of squeezing the whole desktop menu. */
@media (max-width:1120px){
  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .container.nav,
  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .nav{
    min-height:70px !important;
    padding:12px 16px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
  }

  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .navlinks{
    display:none !important;
  }

  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .brand.brand-logo,
  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .brand-logo{
    flex:1 1 auto !important;
    min-width:0 !important;
    max-width:calc(100% - 122px) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    overflow:hidden !important;
  }

  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .brand-logo img,
  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .brand img,
  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar img.logo-dark{
    width:auto !important;
    height:auto !important;
    max-width:min(225px,58vw) !important;
    max-height:44px !important;
    object-fit:contain !important;
  }

  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .mobile-only,
  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .btn.mobile-only{
    display:inline-flex !important;
    flex:0 0 auto !important;
    width:auto !important;
    min-height:40px !important;
    padding:9px 14px !important;
    font-size:13px !important;
    font-weight:800 !important;
    white-space:nowrap !important;
  }
}

@media (max-width:520px){
  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .container.nav,
  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .nav{
    padding-left:12px !important;
    padding-right:12px !important;
  }

  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .brand-logo img,
  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .brand img,
  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar img.logo-dark{
    max-width:min(198px,54vw) !important;
    max-height:38px !important;
  }

  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .mobile-only,
  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .btn.mobile-only{
    padding:8px 11px !important;
    font-size:12px !important;
  }
}
