/* DEV DOMAIN · responsive navigation stability layer
   Keeps desktop nav spacious and switches to the existing drawer before overflow. */
header .container.nav{
  width:100%!important;
  max-width:1380px!important;
  padding-left:clamp(18px,2vw,28px)!important;
  padding-right:clamp(18px,2vw,28px)!important;
  gap:20px!important;
}
header .container.nav > .brand{
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
  min-width:max-content;
}
header .container.nav > .brand img{
  width:auto!important;
  max-width:150px!important;
  height:42px!important;
  object-fit:contain;
}
header .container.nav > nav{
  flex:1 1 auto!important;
  min-width:0!important;
  justify-content:center!important;
}
header .container.nav > nav > ul{
  width:max-content;
  max-width:none;
  justify-content:center;
  gap:clamp(8px,.72vw,14px)!important;
}
header .container.nav > nav > ul > li{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
header .container.nav > nav a,
header .container.nav .nav-dropdown-toggle{
  font-size:clamp(12px,.84vw,14px)!important;
  white-space:nowrap!important;
}
header .container.nav > div:last-child{
  flex:0 0 auto;
  margin-left:0!important;
}
header .container.nav > div:last-child > .cta{
  margin-left:0!important;
}

/* Dynamic fit mode: activated only when the complete row no longer fits. */
header.dd-nav-collapsed .container.nav > nav{
  display:none!important;
}
header.dd-nav-collapsed .container.nav{
  justify-content:space-between!important;
}
header.dd-nav-collapsed .hamb,
header.dd-nav-collapsed .hamburger{
  display:flex!important;
  flex:0 0 auto!important;
}
header.dd-nav-collapsed .container.nav > div:last-child{
  margin-left:auto!important;
}
@media (min-width:769px){
  header.dd-nav-collapsed .container.nav > div:last-child > .cta{
    display:inline-flex!important;
  }
}

/* Compact desktop: enough breathing room without squeezing text. */
@media (max-width:1360px) and (min-width:1201px){
  header .container.nav{gap:14px!important}
  header .container.nav > .brand img{height:38px!important;max-width:142px!important}
  header .container.nav > nav > ul{gap:8px!important}
  header .container.nav > nav a,
  header .container.nav .nav-dropdown-toggle{font-size:12.5px!important}
  header .container.nav > div:last-child > .cta{padding:9px 14px!important;font-size:12px!important}
}

/* Tablet / mobile always uses the existing drawer where available. */
@media (max-width:1200px){
  header:has(.hamb) .container.nav > nav,
  header:has(.hamburger) .container.nav > nav{display:none!important}
  header:has(.hamb) .hamb,
  header:has(.hamburger) .hamburger{display:flex!important}
  header:has(.hamb) .container.nav,
  header:has(.hamburger) .container.nav{justify-content:space-between!important}
  header:has(.hamb) .container.nav > div:last-child,
  header:has(.hamburger) .container.nav > div:last-child{margin-left:auto!important}
}
@media (max-width:768px){
  header .container.nav{
    min-height:68px;
    height:auto!important;
    padding-left:16px!important;
    padding-right:16px!important;
    gap:12px!important;
  }
  header .container.nav > .brand img{
    height:38px!important;
    max-width:138px!important;
  }
  header:has(.hamb) .container.nav > div:last-child > .cta,
  header:has(.hamburger) .container.nav > div:last-child > .cta,
  header.dd-nav-collapsed .container.nav > div:last-child > .cta{
    display:none!important;
  }
  .drawer{
    width:min(92vw,380px)!important;
    max-width:100%!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
}
@media (max-width:420px){
  header .container.nav{min-height:64px!important}
  header .container.nav > .brand img{height:35px!important;max-width:126px!important}
  header .hamb,header .hamburger{width:42px!important;height:42px!important}
}

/* Closed drawers must never sit over header controls. */
.drawer{pointer-events:none}
.drawer.open{pointer-events:auto}
@media (max-width:768px){
  header .back-link{display:none!important}
}
