/* =========================================================
   DT411 NAV SYSTEM (TOP + BOTTOM) — SINGLE SOURCE OF TRUTH
   File: /dt411.tech/public/travelnurse/css/site.css
   ========================================================= */

:root{
  /* Single visible sticky header: one bar only (#bottomNav). Match its min-height (75px). */
  --nav-top-h: 0px;
  --nav-bottom-h: 80px;
}

/* -----------------------------
   TOP BAR (LOGO BAR) — FIX HEIGHT
------------------------------ */
.nav-top{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--nav-top-h);
  z-index: 1000;
  background: #fff;
}

/* Kill Bootstrap padding that makes the bar feel “tall” */
.nav-top .navbar{
  height: var(--nav-top-h);
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

/* Keep content vertically centered with NO extra top/bottom padding */
.nav-top .container{
  height: 100%;
  display: flex;
  align-items: center;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Brand/logo alignment: remove extra spacing */
.nav-top .navbar-brand{
  padding: 0 !important;
  margin: 0 !important;
  height: 100%;
  display: flex;
  align-items: center;
  line-height: 1;
}

/* Force the logo image to fit inside the bar cleanly */
.nav-top .navbar-brand img{
  max-height: calc(var(--nav-top-h) - 12px); /* keeps a small breathing room */
  width: auto;
  display: block;
  margin: 0 !important;
}

/* -----------------------------
   BOTTOM BAR (NAV LINKS BAR)
------------------------------ */
.nav-bottom{
  position: fixed;
  top: var(--nav-top-h);
  left: 0;
  width: 100%;
  height: var(--nav-bottom-h);
  z-index: 999;
  background: #0b1224; /* matches your live dark navy */
}

/* Prevent double padding making bar look “fatter/wider” */
#bottomNav .navbar{
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: var(--nav-bottom-h);
}

/* Make the row match height */
#bottomNav .container.bottomnav-row{
  height: var(--nav-bottom-h);
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
}

/* Left links group */
#bottomNav .bottomnav-links{
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 28px !important;
  flex-wrap: nowrap !important;
  min-width: 0;
}

/* Right contact group */
#bottomNav .bottomnav-contact{
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
}

/* Bottom bar link styling */
#bottomNav .nav-link{
  color: #fff !important;
  text-decoration: none !important;
  padding: 0 !important;
  line-height: var(--nav-bottom-h);
  opacity: 0.95;
}

#bottomNav .nav-link:hover{
  opacity: 1;
  text-decoration: underline !important;
}

/* Contact link styling */
#bottomNav .contact-link{
  color: #fff !important;
  text-decoration: none !important;
}

#bottomNav .contact-link strong{
  font-weight: 800 !important;
}

/* -----------------------------
   PAGE OFFSET (so content starts below fixed nav)
------------------------------ */
body{
  padding-top: calc(var(--nav-top-h) + var(--nav-bottom-h));
}

main{
  padding-top: 0 !important;
}

/* -----------------------------
   RESPONSIVE (stack cleanly)
------------------------------ */
@media (max-width: 992px){
  /* Mobile offcanvas nav links (tn911-cleanbar structure) */
  #bottomNav .tn911-cleanbar__offcanvas .nav-link{
    color: #0F172A !important;
    line-height: normal !important;
    padding: 6px 0 !important;
  }

  #bottomNav .container.bottomnav-row{
    flex-wrap: wrap !important;
    gap: 10px !important;
    height: auto !important;
    padding: 10px 0 !important;
  }

  #bottomNav .bottomnav-links{
    flex-wrap: wrap !important;
    gap: 14px !important;
    width: 100% !important;
  }

  #bottomNav .bottomnav-contact{
    width: 100% !important;
    margin-left: 0 !important;
    justify-content: flex-start !important;
  }

  #bottomNav .nav-link{
    line-height: normal !important;
    padding: 6px 0 !important;
  }
}

/* Landing pages: collapse internal sticky spacers (body already offsets for fixed nav) */
main.tn911-tnojobs-page .tn911-tnojobs-sticky-spacer,
main.tn911-resourceslp-page .tn911-resourceslp-sticky-spacer{
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Contract checklist: collapse internal sticky spacer (body already offsets for nav) */
main.tn911-resource-contract .tn911-resource-contract-sticky-spacer{
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Specialty group detail pages: remove extra margin-top clearance (body already offsets for nav) */
.tn911-sg-page{
  margin-top: 0 !important;
}

/* FAQs landing: remove extra clearance (body already offsets for nav) */
.tn911-faqslp-page{
  margin-top: 0 !important;
}

/* Pay state pages: remove redundant top padding (body already offsets for fixed nav) */
.tn911-paystate{
  padding-top: 0 !important;
}

/* Pay guides landing: remove redundant hero margin-top (body already offsets for fixed nav) */
.tn911-payguideslp-hero{
  margin-top: 0 !important;
}

/* ============================
   GAP FIXES (Pay Guides + Guides + Licensing)
   Added as overrides for redundant builder clearance.
   ============================ */

/* Pay guide subpages: remove redundant hero margin-top (body already offsets for fixed nav) */
.tn911-pay-howpack-hero{ margin-top: 0 !important; }
.tn911-pay-contract-hero{ margin-top: 0 !important; }
.tn911-pay-housing-hero{ margin-top: 0 !important; }
.tn911-pay-paycheck-hero{ margin-top: 0 !important; }

/* Guides landing: remove redundant container margin-top (body already offsets for fixed nav) */
.tn911-guideslp-hero .tn911-guideslp-container{
  margin-top: 0 !important;
}

/* Licensing landing: remove redundant container margin-top (body already offsets for fixed nav) */
.tn911-licensinglp-hero .tn911-licensinglp-container{
  margin-top: 0 !important;
}

/* Jobs Hub + Resources Hub subpages: prevent double header clearance (body already offsets) */
body:has(main a[href^="/travel-nurse-jobs/"]),
body:has(main a[href^="/travel-nurse-resources/"]){
  /* Only zero margin-top on tn911 wrappers inside main content */
  main div[class^="tn911-"][class$="-page"],
  main section[class^="tn911-"][class$="-page"]{
    margin-top: 0 !important;
  }
}

/* ============================
   GAP FIXES (Licensing Detail + Blog)
   ============================ */

/* Licensing detail family: remove redundant wrapper padding-top (body already offsets for fixed nav) */
[class*="tn911-lg-page-"]{
  padding-top: 0 !important;
}

/* Blog: remove redundant builder clearance (body already offsets for fixed nav) */
.tn911-blogmvp-page{
  margin-top: 0 !important;
}
.tn911-blogpostmvp-page{
  margin-top: 0 !important;
}

/* Support page: remove redundant wrapper margin-top (body already offsets for fixed nav) */
.tn911-contactpb-page{
  margin-top: 0 !important;
}

/* Pay Compare worksheet: remove redundant clearance (body already offsets for fixed nav) */
.tn911-pay-compare-page{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* If the hero had an injected top margin, neutralize it */
.tn911-pay-compare-hero{
  margin-top: 0 !important;
}

/* If this page includes an internal sticky spacer, collapse it */
.tn911-pay-compare-sticky-spacer{
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Pay Package Checklist: remove redundant clearance (body already offsets for fixed nav) */
.tn911-pay-checklist-page{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Add small breathing room under sticky nav */
.tn911-pay-checklist-hero{
  margin-top: 16px !important;
}

/* If this page includes an internal sticky spacer, collapse it */
.tn911-pay-checklist-sticky-spacer{
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
