/* Abuja Leadership Coach — Header Fit & Horizontal Overflow Repair v5.0.1
   Keeps the premium desktop header while preventing the navigation/account/CTA
   cluster from forcing the document wider than the viewport. */

html,body{max-width:100%;overflow-x:clip}
@supports not (overflow:clip){html,body{overflow-x:hidden}}

.alc-header,.alc-topbar,.alc-mainbar{width:100%;max-width:100%}
.alc-topbar-inner,
.alc-mainbar-inner{
  width:min(1520px,calc(100% - 40px))!important;
  max-width:1520px!important;
  margin-inline:auto!important;
}

.alc-mainbar-inner{
  gap:clamp(12px,1.25vw,22px)!important;
  justify-content:flex-start!important;
}

.alc-brand{
  flex:0 1 270px!important;
  min-width:205px!important;
  max-width:270px!important;
}
.alc-brand img{
  display:block!important;
  width:min(100%,270px)!important;
  max-width:270px!important;
  height:auto!important;
  max-height:58px!important;
  object-fit:contain!important;
}

.alc-mainbar-inner>nav{
  flex:1 1 auto!important;
  min-width:0!important;
  display:flex;
  justify-content:center;
}
.alc-nav{
  flex:0 1 auto!important;
  min-width:0!important;
  gap:clamp(0px,.22vw,4px)!important;
  flex-wrap:nowrap!important;
}
.alc-nav-link{
  padding-inline:clamp(8px,.65vw,12px)!important;
  font-size:clamp(.82rem,.72vw,.93rem)!important;
  white-space:nowrap!important;
}

.alc-actions{
  flex:0 0 auto!important;
  min-width:0!important;
  gap:8px!important;
  margin-left:auto;
}
.alc-account{flex:0 0 auto;min-width:0}
.alc-account-trigger{
  max-width:175px;
  min-width:46px;
}
.alc-account-name{
  max-width:92px!important;
}
.alc-actions>.alc-btn.gold{
  flex:0 0 auto;
  max-width:250px;
  padding-inline:clamp(14px,1vw,20px)!important;
  font-size:clamp(.80rem,.72vw,.90rem)!important;
  white-space:nowrap!important;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Keep large mega menus inside the viewport instead of creating page width. */
.alc-mega{
  width:min(780px,calc(100vw - 40px))!important;
  max-width:calc(100vw - 40px)!important;
}
.alc-nav-item:first-child .alc-mega,
.alc-nav-item:nth-child(2) .alc-mega{
  left:0!important;
  transform:translateY(8px)!important;
}
.alc-nav-item:first-child:hover .alc-mega,
.alc-nav-item:first-child:focus-within .alc-mega,
.alc-nav-item:first-child.is-open .alc-mega,
.alc-nav-item:nth-child(2):hover .alc-mega,
.alc-nav-item:nth-child(2):focus-within .alc-mega,
.alc-nav-item:nth-child(2).is-open .alc-mega{
  transform:translateY(0)!important;
}
.alc-nav-item:nth-last-child(-n+2) .alc-mega{
  left:auto!important;
  right:0!important;
  transform:translateY(8px)!important;
}
.alc-nav-item:nth-last-child(-n+2):hover .alc-mega,
.alc-nav-item:nth-last-child(-n+2):focus-within .alc-mega,
.alc-nav-item:nth-last-child(-n+2).is-open .alc-mega{
  transform:translateY(0)!important;
}

/* Compact desktop tier. The full navigation remains visible, but uses less width. */
@media (max-width:1500px){
  .alc-topbar-inner,.alc-mainbar-inner{
    width:min(1360px,calc(100% - 28px))!important;
  }
  .alc-mainbar-inner{gap:10px!important}
  .alc-brand{
    flex-basis:225px!important;
    min-width:190px!important;
    max-width:225px!important;
  }
  .alc-brand img{
    max-width:225px!important;
    max-height:50px!important;
  }
  .alc-nav-link{
    padding-inline:8px!important;
    font-size:.82rem!important;
  }
  .alc-account-name{display:none!important}
  .alc-account-trigger{padding-right:9px!important}
  .alc-actions>.alc-btn.gold{
    max-width:205px;
    padding-inline:14px!important;
    font-size:.80rem!important;
  }
}

/* Switch to the purpose-built mobile/off-canvas navigation before the row can overflow. */
@media (max-width:1260px){
  .alc-topbar{display:none!important}
  .alc-mainbar-inner{
    width:min(100% - 28px,1180px)!important;
    min-height:74px!important;
    justify-content:space-between!important;
    gap:12px!important;
  }
  .alc-mainbar-inner>nav,
  .alc-nav{display:none!important}
  .alc-actions>.alc-btn.gold{display:none!important}
  .alc-mobile-toggle{display:inline-flex!important}
  .alc-account-name{display:none!important}
  .alc-brand{
    flex:0 1 245px!important;
    min-width:0!important;
    max-width:245px!important;
  }
  .alc-brand img{
    width:auto!important;
    max-width:245px!important;
    max-height:48px!important;
  }
}

@media (max-width:620px){
  .alc-mainbar-inner{width:calc(100% - 24px)!important}
  .alc-account{display:none!important}
  .alc-brand{max-width:min(230px,calc(100vw - 88px))!important}
  .alc-brand img{max-width:100%!important;max-height:44px!important}
  .alc-mobile-toggle{flex:0 0 46px!important}
}
