/* v517L — Global public header balanced size + Contact restore
   Scope: customer-facing public pages only. This file loads last and overrides older v517F/H/J header rules.
   Goal: consistent readable nav size, logo-safe spacing, and Contact visible on Useful Guide when desktop space allows. */

@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(34px,4.2vw,88px) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:clamp(22px,2.2vw,40px) !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 clamp(260px,17vw,320px) !important;
    width:clamp(260px,17vw,320px) !important;
    min-width:clamp(260px,17vw,320px) !important;
    max-width:clamp(260px,17vw,320px) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    overflow:visible !important;
    margin:0 !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:clamp(248px,16vw,310px) !important;
    max-height:54px !important;
    object-fit:contain !important;
    object-position:left center !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;
    flex-wrap:nowrap !important;
    gap:clamp(12px,1.15vw,22px) !important;
    padding-left:0 !important;
    overflow:visible !important;
  }

  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .navlinks a:not(.btn){
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:clamp(16px,.92vw,18px) !important;
    line-height:1.12 !important;
    font-weight:780 !important;
    padding:9px 2px !important;
    white-space:nowrap !important;
    letter-spacing:-.012em !important;
  }

  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .navlinks a[href="/contact.html"],
  body.useful-guide-page .topbar .navlinks a[href="/contact.html"],
  body.useful-article-page .topbar .navlinks a[href="/contact.html"]{
    display:inline-flex !important;
  }

  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .navlinks a.active-nav:not(.btn){
    padding:10px 16px !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{
    display:inline-flex !important;
    flex:0 0 auto !important;
    min-height:48px !important;
    padding:12px 24px !important;
    font-size:17px !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
  }
}

@media (min-width:1121px) and (max-width:1500px){
  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:20px !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:245px !important;
    width:245px !important;
    min-width:245px !important;
    max-width:245px !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:238px !important;
    max-height:50px !important;
  }

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

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

  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .navlinks a.active-nav:not(.btn){
    padding-left:13px !important;
    padding-right:13px !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:20px !important;
    padding-right:20px !important;
    font-size:16px !important;
  }
}

@media (min-width:1121px) and (max-width:1280px){
  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:24px !important;
    padding-right:24px !important;
    gap:12px !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:210px !important;
    width:210px !important;
    min-width:210px !important;
    max-width:210px !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:204px !important;
    max-height:46px !important;
  }

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

  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .navlinks a:not(.btn){
    font-size:14.5px !important;
    letter-spacing:-.02em !important;
  }

  body:not([class*="admin"]):not(.admin-body):not(.vge-admin-page) .topbar .navlinks a.active-nav:not(.btn){
    padding-left:10px !important;
    padding-right:10px !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:44px !important;
    padding-left:16px !important;
    padding-right:16px !important;
    font-size:15px !important;
  }
}

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