/* v1105 — Public header zoom-safe responsive hardening.
   Purpose: prevent logo/menu overlap and duplicate Apply Now at browser zoom 110–125%
   and on narrow desktop widths, without changing the normal desktop design. */

/* Desktop and zoomed-desktop: one Apply Now only, nav stays in one safe row. */
@media (min-width: 1101px){
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar{
    overflow:visible !important;
  }

  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .container.nav,
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .nav{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:clamp(12px, 1.15vw, 24px) !important;
    padding-left:clamp(28px, 2.7vw, 56px) !important;
    padding-right:clamp(28px, 2.7vw, 56px) !important;
    overflow:visible !important;
  }

  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .brand.brand-logo,
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .brand-logo,
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .brand{
    flex:0 0 clamp(220px, 15.2vw, 310px) !important;
    width:clamp(220px, 15.2vw, 310px) !important;
    max-width:clamp(220px, 15.2vw, 310px) !important;
    min-width:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    overflow:hidden !important;
    z-index:3 !important;
  }

  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .brand.brand-logo img,
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .brand-logo img,
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .brand img{
    display:block !important;
    width:100% !important;
    max-width:clamp(210px, 14.4vw, 300px) !important;
    height:auto !important;
    object-fit:contain !important;
  }

  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .navlinks{
    flex:1 1 auto !important;
    min-width:0 !important;
    max-width:none !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:clamp(10px, .95vw, 22px) !important;
    overflow:visible !important;
    white-space:nowrap !important;
  }

  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .navlinks > a{
    flex:0 0 auto !important;
    white-space:nowrap !important;
    min-width:0 !important;
    font-size:clamp(14px, .86vw, 18px) !important;
    line-height:1.15 !important;
    letter-spacing:-.015em !important;
  }

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

  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .navlinks .btn,
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .navlinks .nav-apply-btn{
    padding:clamp(12px, .92vw, 18px) clamp(18px, 1.55vw, 32px) !important;
    min-width:clamp(118px, 7.6vw, 170px) !important;
    max-width:190px !important;
    text-align:center !important;
    justify-content:center !important;
  }

  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .mobile-only,
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .mobile-only.btn,
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar > .mobile-only{
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }
}

/* Narrow desktop / high zoom guard: compact the same desktop row before it can collide. */
@media (min-width: 1101px) and (max-width: 1560px){
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .container.nav,
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .nav{
    gap:10px !important;
    padding-left:30px !important;
    padding-right:30px !important;
  }

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

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

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

  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .navlinks > a{
    font-size:15px !important;
  }

  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .vge-hot-dot{
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
  }

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

/* Last-resort desktop compression for 125% zoom / narrow laptop widths.
   Keep links readable and still prevent overlap. */
@media (min-width: 1101px) and (max-width: 1320px){
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .container.nav,
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .nav{
    gap:8px !important;
    padding-left:20px !important;
    padding-right:20px !important;
  }

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

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

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

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

  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .vge-hot-dot{
    width:24px !important;
    height:24px !important;
    min-width:24px !important;
  }

  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .navlinks .btn,
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .navlinks .nav-apply-btn{
    min-width:98px !important;
    padding:11px 14px !important;
  }
}

/* Tablet/mobile: desktop Apply Now hidden, mobile Apply Now may show once. */
@media (max-width: 1100px){
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .navlinks .nav-apply-btn,
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .navlinks > a.btn{
    display:none !important;
  }

  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .mobile-only.btn,
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .mobile-only{
    display:inline-flex !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .container.nav,
  html body:not(.vge-admin-page):not(.admin-body):not([class*="admin"]) .topbar .nav{
    max-width:100% !important;
    overflow:visible !important;
  }
}
