/*
 * ABUBAKER TRANSPORT LLC — responsive approved header v4
 * Scope: public header only.
 * Desktop: compact approved brand + visible navigation links.
 * Tablet/mobile: prominent compact brand + hamburger dropdown.
 */

.header-approved-v4.site-header{
  position:relative;
  z-index:1000;
  background:#fff;
}

/* Top contact strip */
.header-approved-v4 .site-topbar{
  background:#052a4c;
  color:#eaf2f8;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.header-approved-v4 .topbar-inner{
  min-height:34px;
  gap:18px;
  font-size:11px;
}
.header-approved-v4 .topbar-links{
  gap:16px;
}

/* Main desktop header */
.header-approved-v4 .nav-shell{
  position:relative;
  background:#fff;
  border-bottom:3px solid #f46a0a;
  box-shadow:0 6px 18px rgba(5,42,76,.10);
}
.header-approved-v4 .nav-inner{
  position:relative;
  min-height:96px;
  height:auto;
  padding:8px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

/* Approved compact brand artwork */
.header-approved-v4 .brand-approved-v4{
  display:flex;
  align-items:center;
  flex:0 0 clamp(300px,30vw,390px);
  width:clamp(300px,30vw,390px);
  max-width:none;
  min-width:0;
  line-height:0;
}
.header-approved-v4 .brand-logo-approved-v4{
  display:block;
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  max-height:82px;
  object-fit:contain;
  object-position:left center;
  filter:none !important;
}

/* Desktop navigation stays visible */
.header-approved-v4 .nav-toggle{
  display:none;
}
.header-approved-v4 .site-nav{
  position:static;
  inset:auto;
  width:auto;
  max-width:none;
  max-height:none;
  overflow:visible;
  display:flex;
  align-items:center;
  flex-direction:row;
  justify-content:flex-end;
  gap:clamp(11px,1.25vw,20px);
  padding:0;
  color:#062b4f;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.header-approved-v4 .site-nav>a:not(.btn),
.header-approved-v4 .nav-group>a{
  position:relative;
  display:flex;
  align-items:center;
  width:auto;
  min-height:44px;
  padding:12px 0;
  color:#062b4f;
  border:0;
  text-decoration:none;
}
.header-approved-v4 .site-nav>a:not(.btn)::after,
.header-approved-v4 .nav-group>a::after{
  content:"";
  display:block;
  position:absolute;
  left:0;
  right:100%;
  bottom:7px;
  height:3px;
  border-radius:3px;
  background:#f46a0a;
  transition:right .2s ease;
}
.header-approved-v4 .site-nav>a.active::after,
.header-approved-v4 .site-nav>a:hover::after,
.header-approved-v4 .nav-group.active>a::after,
.header-approved-v4 .nav-group:hover>a::after{
  right:0;
}
.header-approved-v4 .site-nav>a:hover,
.header-approved-v4 .site-nav>a.active,
.header-approved-v4 .nav-group:hover>a,
.header-approved-v4 .nav-group.active>a{
  color:#f46a0a;
}
.header-approved-v4 .nav-group{
  position:relative;
  display:flex;
  align-items:center;
  width:auto;
  height:auto;
}
.header-approved-v4 .nav-group small{
  margin-left:4px;
  font-size:10px;
}
.header-approved-v4 .nav-dropdown{
  position:absolute;
  z-index:1200;
  left:-18px;
  top:calc(100% - 2px);
  width:270px;
  margin:0;
  padding:9px;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  color:#062b4f;
  background:#fff;
  border:1px solid rgba(6,43,79,.10);
  border-radius:10px;
  box-shadow:0 22px 48px rgba(5,42,76,.20);
  transition:.18s ease;
}
.header-approved-v4 .nav-group:hover .nav-dropdown,
.header-approved-v4 .nav-group:focus-within .nav-dropdown{
  opacity:1;
  visibility:visible;
  transform:none;
}
.header-approved-v4 .nav-dropdown a{
  display:block;
  padding:10px 11px;
  color:#062b4f;
  border-radius:7px;
  white-space:normal;
}
.header-approved-v4 .nav-dropdown a:hover,
.header-approved-v4 .nav-dropdown a.active{
  background:#f4f8fb;
  color:#f46a0a;
}
.header-approved-v4 .nav-quote{
  flex:0 0 auto;
  min-height:42px;
  margin:0 0 0 2px;
  padding:11px 15px;
  border-radius:7px;
  justify-content:center;
  font-size:11px;
  letter-spacing:.01em;
}

/* Slightly tighter wide-tablet / small-laptop desktop layout */
@media (max-width:1180px) and (min-width:981px){
  .header-approved-v4 .nav-inner{gap:15px;}
  .header-approved-v4 .brand-approved-v4{
    flex-basis:310px;
    width:310px;
  }
  .header-approved-v4 .site-nav{
    gap:11px;
    font-size:11px;
  }
  .header-approved-v4 .nav-quote{
    padding:10px 11px;
    font-size:10px;
  }
}

/* Tablet/mobile menu */
@media (max-width:980px){
  .header-approved-v4 .nav-inner{
    min-height:84px;
    padding:7px 0;
    gap:12px;
  }
  .header-approved-v4 .brand-approved-v4{
    flex:0 1 390px;
    width:min(390px,calc(100% - 58px));
    max-width:calc(100% - 58px);
  }
  .header-approved-v4 .brand-logo-approved-v4{
    max-height:70px;
  }
  .header-approved-v4 .nav-toggle{
    display:flex;
    position:relative;
    flex:0 0 46px;
    width:46px;
    height:46px;
    padding:0;
    border:1px solid rgba(6,43,79,.15);
    border-radius:9px;
    background:#fff;
    flex-direction:column;
    gap:5px;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    box-shadow:0 4px 12px rgba(6,43,79,.08);
  }
  .header-approved-v4 .nav-toggle span{
    display:block;
    width:25px;
    height:2.5px;
    border-radius:20px;
    background:#062b4f;
  }
  .header-approved-v4 .nav-toggle span:nth-child(2){background:#f46a0a;}
  .header-approved-v4 .nav-toggle b{
    position:absolute;
    width:1px;
    height:1px;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
  }

  .header-approved-v4 .site-nav{
    position:absolute;
    z-index:1300;
    top:100%;
    left:0;
    right:0;
    width:100%;
    max-height:calc(100vh - 105px);
    overflow-y:auto;
    display:none;
    align-items:stretch;
    flex-direction:column;
    gap:0;
    padding:12px 18px 18px;
    color:#eaf2f8;
    background:#052a4c;
    border-top:3px solid #f46a0a;
    border-radius:0;
    box-shadow:0 20px 40px rgba(0,18,36,.28);
    white-space:normal;
  }
  .header-approved-v4 .site-nav.open{display:flex;}
  .header-approved-v4 .site-nav>a:not(.btn),
  .header-approved-v4 .nav-group>a{
    display:flex;
    width:100%;
    min-height:44px;
    padding:12px 8px;
    color:#eef5fa;
    border-bottom:1px solid rgba(255,255,255,.09);
  }
  .header-approved-v4 .site-nav>a:not(.btn)::after,
  .header-approved-v4 .nav-group>a::after{display:none;}
  .header-approved-v4 .site-nav>a:hover,
  .header-approved-v4 .site-nav>a.active,
  .header-approved-v4 .nav-group>a:hover,
  .header-approved-v4 .nav-group.active>a{color:#ff8734;}
  .header-approved-v4 .nav-group{
    display:block;
    width:100%;
  }
  .header-approved-v4 .nav-dropdown{
    position:static;
    width:100%;
    margin:3px 0 7px;
    padding:5px 7px;
    opacity:1;
    visibility:visible;
    transform:none;
    color:#eaf2f8;
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.06);
    border-radius:8px;
    box-shadow:none;
  }
  .header-approved-v4 .nav-dropdown a{
    padding:9px 10px;
    color:#eaf2f8;
  }
  .header-approved-v4 .nav-dropdown a:hover,
  .header-approved-v4 .nav-dropdown a.active{
    background:rgba(255,255,255,.08);
    color:#ff8734;
  }
  .header-approved-v4 .nav-quote{
    width:100%;
    margin-top:10px;
    min-height:44px;
    font-size:11px;
  }
}

/* Phone refinements */
@media (max-width:620px){
  .header-approved-v4 .site-topbar{
    display:none;
  }
  .header-approved-v4 .nav-inner{
    min-height:76px;
    padding:6px 0;
    gap:8px;
  }
  .header-approved-v4 .brand-approved-v4{
    flex-basis:auto;
    width:min(285px,calc(100% - 50px));
    max-width:calc(100% - 50px);
  }
  .header-approved-v4 .brand-logo-approved-v4{
    max-height:62px;
  }
  .header-approved-v4 .nav-toggle{
    flex-basis:42px;
    width:42px;
    height:42px;
    border-radius:8px;
  }
  .header-approved-v4 .nav-toggle span{width:23px;}
  .header-approved-v4 .site-nav{
    max-height:calc(100vh - 76px);
    padding-left:14px;
    padding-right:14px;
  }
}

@media (max-width:380px){
  .header-approved-v4 .nav-inner{min-height:70px;}
  .header-approved-v4 .brand-approved-v4{
    width:calc(100% - 46px);
    max-width:calc(100% - 46px);
  }
  .header-approved-v4 .brand-logo-approved-v4{max-height:56px;}
  .header-approved-v4 .nav-toggle{
    flex-basis:39px;
    width:39px;
    height:39px;
  }
}
