/* Canonical Balance IT marketing footer. Loaded after city-specific CSS. */
#navbar.glass-nav {
  background: #fff !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* New city dossiers do not render the legacy sticky CTA, so they must not
   retain its inline body spacer below the canonical city directory. */
body:has(#cities-seo-grid):not(:has([id^="sticky-cta-"])) {
  padding-bottom: 0 !important;
}

footer:has(> #footer-container) {
  box-sizing: border-box !important;
  width: 100% !important;
  margin: auto 0 0 !important;
  padding: 4rem 0 2rem !important;
  overflow: visible !important;
  border: 0 !important;
  border-top: 1px solid #e2e8f0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #0f172a !important;
  transform: none !important;
}

footer:has(> #footer-container) #footer-container {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  padding: 0 1rem !important;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  line-height: 1.5 !important;
}

footer:has(> #footer-container) #footer-container > .grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 2rem !important;
  width: 100% !important;
  margin: 0 0 3rem !important;
  padding: 0 !important;
}

footer:has(> #footer-container) #footer-container > .grid > div {
  box-sizing: border-box !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1rem !important;
  line-height: 1.5rem !important;
}

footer:has(> #footer-container) #footer-container > .grid > div:first-child {
  min-height: 9.75rem !important;
}

footer:has(> #footer-container) #footer-container > .grid > div:first-child > .flex {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: .75rem !important;
  margin: 0 0 1rem !important;
}

footer:has(> #footer-container) #footer-container > .grid > div:first-child svg {
  width: auto !important;
  height: 2rem !important;
  flex: 0 0 auto !important;
}

footer:has(> #footer-container) #footer-container > .grid > div:first-child > .flex > span {
  font-size: 1.125rem !important;
  line-height: 1.75rem !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

footer:has(> #footer-container) #footer-container :where(h2, h3, p, ul, li) {
  overflow-wrap: normal !important;
  word-break: normal !important;
}

footer:has(> #footer-container) #footer-container h2,
footer:has(> #footer-container) #footer-container h3 {
  margin: 0 0 1rem !important;
  font-size: 1rem !important;
  line-height: 1.5rem !important;
  font-weight: 700 !important;
}

footer:has(> #footer-container) #footer-container ul {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  font-size: .875rem !important;
  line-height: 1.25rem !important;
}

footer:has(> #footer-container) #footer-container li {
  display: list-item !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

footer:has(> #footer-container) #footer-container li + li { margin-top: .5rem !important; }

footer:has(> #footer-container) #footer-container a {
  display: inline !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  min-width: 0 !important;
  align-items: initial !important;
  justify-content: initial !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: normal !important;
  font-size: .875rem !important;
  line-height: 1.25rem !important;
}

footer:has(> #footer-container) #footer-container > .grid > div:first-child > a {
  line-height: 1.125rem !important;
}

footer:has(> #footer-container) #footer-container > .grid > div:first-child > p {
  margin: 0 0 1.5rem !important;
  font-size: .875rem !important;
  line-height: 1.25rem !important;
}

footer:has(> #footer-container) #footer-container > .grid > div:nth-child(3) > .h-6 {
  display: none !important;
  height: 1.5rem !important;
  margin: 0 0 1rem !important;
}

footer:has(> #footer-container) #footer-container > .border-t {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  margin: 0 !important;
  padding: 2rem 0 0 !important;
  border-top: 1px solid #e2e8f0 !important;
  font-size: .75rem !important;
  line-height: 1rem !important;
}

footer:has(> #footer-container) #footer-container > .border-t p { margin: 0 !important; }

#cities-seo-grid {
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 3.5rem 0 3rem !important;
  overflow-x: clip !important;
  border-top: 1px solid #e2e8f0 !important;
  background: #f8fafc !important;
}

#cities-seo-grid > .container {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}

@media (min-width: 640px) {
  footer:has(> #footer-container) #footer-container,
  #cities-seo-grid > .container { max-width: 640px !important; }
}

@media (min-width: 768px) {
  footer:has(> #footer-container) #footer-container,
  #cities-seo-grid > .container { max-width: 768px !important; }

  footer:has(> #footer-container) #footer-container > .grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }


  footer:has(> #footer-container) #footer-container > .grid > div:first-child {
    min-height: 0 !important;
  }


  footer:has(> #footer-container) #footer-container > .grid > div:nth-child(3) > .h-6 {
    display: block !important;
  }

  footer:has(> #footer-container) #footer-container > .border-t {
    flex-direction: row !important;
  }
}

@media (min-width: 1024px) {
  footer:has(> #footer-container) #footer-container,
  #cities-seo-grid > .container { max-width: 1024px !important; }
}

@media (min-width: 1280px) {
  footer:has(> #footer-container) #footer-container,
  #cities-seo-grid > .container { max-width: 1280px !important; }
}

@media (min-width: 1536px) {
  footer:has(> #footer-container) #footer-container,
  #cities-seo-grid > .container { max-width: 1536px !important; }
}
