/* TrueBlueMD footer — same fonts/look on every page (home + privacy, etc.) */
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@300;400;500;700&family=Montserrat:wght@300;400;500;600;700&family=Roboto:ital,wght@0,200;0,300;0,400;0,500;0,700;1,400;1,500&display=swap");

.footer-16 {
  --tb-footer-default: #3c4049;
  --tb-footer-surface: #fff;
  --tb-footer-font: "Roboto", system-ui, sans-serif;
  background: linear-gradient(
    135deg,
    #174a94,
    color-mix(in srgb, #022352db, #667eea 30%)
  );
  color: #fff;
  font-family: var(--tb-footer-font);
  font-size: 15px;
  padding: 100px 0 0;
  margin-bottom: 0;
  border-top: 1px solid color-mix(in srgb, var(--tb-footer-default), transparent 92%);
  max-width: none;
}

/* Stop Centro Playfair (body) from leaking into footer links/text on non-home pages */
.footer-16,
.footer-16 p,
.footer-16 a,
.footer-16 h1,
.footer-16 h2,
.footer-16 h3,
.footer-16 h4,
.footer-16 h5,
.footer-16 h6,
.footer-16 span,
.footer-16 li,
.footer-16 button,
.footer-16 input {
  font-family: var(--tb-footer-font) !important;
}

footer.footer-16.footer {
  margin-bottom: 0;
  background-image: linear-gradient(
    135deg,
    #174a94,
    color-mix(in srgb, #022352db, #667eea 30%)
  ) !important;
}

.footer-16 .tb-footer-logo {
  width: 40%;
  max-width: 220px;
  height: auto;
}

.footer-16 .footer-main {
  margin-bottom: 80px;
}

.footer-16 .brand-section .logo {
  text-decoration: none;
}

.footer-16 .brand-section .brand-description {
  font-size: 18px;
  line-height: 1.7;
  color: #fff;
  font-weight: 300;
  max-width: 380px;
  margin: 0;
}

.footer-16 .footer-nav-wrapper {
  padding-left: 60px;
}

.footer-16 .nav-column {
  margin-bottom: 40px;
}

.footer-16 .nav-column h6,
body:has(.hero.section) .footer-16 .nav-column h6,
body:not(:has(.hero.section)) .footer-16 .nav-column h6 {
  font-size: 16px;
  font-weight: 700;
  color: #fff !important;
  margin-bottom: 24px;
  letter-spacing: 0.3px;
}

/* home.css sets navy headings on hero pages and loads after this file */
.footer-16 h1,
.footer-16 h2,
.footer-16 h3,
.footer-16 h4,
.footer-16 h5,
.footer-16 h6,
body:has(.hero.section) .footer-16 h1,
body:has(.hero.section) .footer-16 h2,
body:has(.hero.section) .footer-16 h3,
body:has(.hero.section) .footer-16 h4,
body:has(.hero.section) .footer-16 h5,
body:has(.hero.section) .footer-16 h6 {
  color: #fff !important;
}

.footer-16 .nav-column .footer-nav {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.footer-16 .nav-column .footer-nav a {
  color: #fff !important;
  text-decoration: none;
  font-size: 15px;
  font-weight: 300;
  transition: all 0.3s ease;
  line-height: 1.4;
}

.footer-16 .nav-column .footer-nav a:hover {
  color: #fff;
  transform: translateX(4px);
}

.footer-16 .footer-bottom {
  padding: 30px 0 40px;
  margin-bottom: 0;
}

.footer-16 .footer-bottom .row + .row {
  margin-top: 6px;
}

.footer-16 .tb-footer-copyright,
body:has(.hero.section) .footer-16 .footer-bottom .tb-footer-copyright {
  margin: 0;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.65;
  letter-spacing: 0.01em;
  color: #fff !important;
}

.footer-16 .tb-footer-privacy,
body:has(.hero.section) .footer-16 .footer-bottom a.tb-footer-privacy {
  display: inline-block;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.65;
  color: #fff !important;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.footer-16 .tb-footer-privacy:hover,
body:has(.hero.section) .footer-16 .footer-bottom a.tb-footer-privacy:hover {
  color: #fff;
  opacity: 0.88;
  text-decoration: none;
}

/* Newsletter band inside footer */
.footer-16 .tb-footer-newsletter.find-a-doctor {
  background: none;
  padding: 0;
}

.footer-16 .tb-footer-newsletter .search-section {
  max-width: 100%;
  margin: 0 auto 3rem;
}

.footer-16 .tb-footer-newsletter .search-title,
body:has(.hero.section) .footer-16 .tb-footer-newsletter .search-title {
  font-size: 2.5rem;
  font-weight: 500;
  color: #fff !important;
  margin-bottom: 1rem;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.footer-16 .tb-footer-newsletter .search-subtitle {
  font-size: 1.125rem;
  color: #fff;
  margin-bottom: 3rem;
  line-height: 1.6;
  font-weight: 300;
}

.footer-16 .tb-footer-newsletter .search-form .search-input-group {
  display: flex;
  align-items: stretch;
  background: var(--tb-footer-surface);
  border-radius: 60px;
  padding: 8px;
  box-shadow: 0 20px 60px color-mix(in srgb, var(--tb-footer-default), transparent 94%);
  transition: all 0.4s ease;
}

.footer-16 .tb-footer-newsletter .search-form .search-input-group:focus-within {
  box-shadow: 0 25px 80px color-mix(in srgb, #345292, transparent 90%);
}

.footer-16 .tb-footer-newsletter .search-form .input-wrapper {
  position: relative;
  flex: 1;
  display: flex;
  align-items: center;
}

.footer-16 .tb-footer-newsletter .search-form .input-wrapper i {
  position: absolute;
  left: 20px;
  color: color-mix(in srgb, var(--tb-footer-default), transparent 40%);
  font-size: 1.1rem;
  z-index: 2;
}

.footer-16 .tb-footer-newsletter .search-form .form-control {
  border: none;
  background: transparent;
  padding: 20px 20px 20px 50px;
  font-size: 1rem;
  color: var(--tb-footer-default);
  border-radius: 0;
  width: 100%;
  box-shadow: none;
}

.footer-16 .tb-footer-newsletter .search-form .form-control:focus {
  box-shadow: none;
  background: transparent;
  outline: none;
}

.footer-16 .tb-footer-newsletter .search-form .form-control::placeholder {
  color: color-mix(in srgb, var(--tb-footer-default), transparent 50%);
  font-weight: 300;
}

.footer-16 .tb-footer-newsletter .search-form .search-btn {
  background: #25b88f;
  color: #fff;
  border: none;
  border-radius: 50px;
  padding: 18px 32px;
  font-weight: 500;
  font-size: 1rem;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: all 0.3s ease;
  white-space: nowrap;
  cursor: pointer;
}

.footer-16 .tb-footer-newsletter .search-form .search-btn:hover {
  background: color-mix(in srgb, #345292, black 10%);
  transform: translateY(-2px);
  box-shadow: 0 10px 25px color-mix(in srgb, #345292, transparent 70%);
}

.footer-16 .tb-footer-newsletter .tb-form-response {
  display: none;
  margin-top: 12px;
  font-size: 0.95rem;
}

.footer-16 .tb-footer-newsletter .tb-form-response.is-visible {
  display: block;
}

.footer-16 .tb-footer-newsletter .tb-form-response.is-success {
  color: #b8f5d8;
}

.footer-16 .tb-footer-newsletter .tb-form-response.is-error {
  color: #ffd4d4;
}

@media (max-width: 991px) {
  .footer-16 .footer-nav-wrapper {
    padding-left: 0;
    margin-top: 50px;
  }
}

@media (max-width: 768px) {
  .footer-16 {
    padding: 70px 0 0;
  }

  .footer-16 .brand-section {
    text-align: center;
    margin-bottom: 50px;
  }

  .footer-16 .brand-section .brand-description {
    max-width: none;
    margin-left: auto;
    margin-right: auto;
  }

  .footer-16 .tb-footer-logo {
    width: 55%;
    max-width: 280px;
    margin: 0 auto;
  }

  .footer-16 .tb-footer-newsletter .search-title {
    font-size: 1.75rem;
  }

  .footer-16 .tb-footer-newsletter .search-form .search-input-group {
    flex-direction: column;
    border-radius: 24px;
    padding: 12px;
    gap: 8px;
  }

  .footer-16 .tb-footer-newsletter .search-form .search-btn {
    justify-content: center;
    width: 100%;
  }
}
