/* Somente integração e correções pontuais. Requer marketing-medico.css original. */
.klm-form-honeypot { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip-path:inset(50%)!important; opacity:0!important; pointer-events:none!important; }
.klm-testimonials-widget { width:100%; max-width:100%; }
.klm-testimonials-widget iframe { max-width:100%; }
.klm-form-feedback,.kl-pp-form-feedback { margin-top:1rem; }
.klm-footer-kl { background:#112b31; color:#effaf5; padding:4rem 0 1rem; }
.klm-footer-kl a { display:inline-block; color:#cde5d9; text-decoration:underline; text-underline-offset:3px; }
.klm-footer-kl nav a { display:block; margin-top:.65rem; }
.klm-footer-kl strong { display:block; margin-bottom:1rem; font-size:1.05rem; }
.klm-footer-kl p { line-height:1.7; }
.klm-footer-kl-bottom { border-top:1px solid #ffffff24; margin-top:3rem; padding-top:1rem; font-size:.86rem; }
/* KL Médico — linkagem do footer; adicionar após o CSS de integração existente. */
.klm-footer-kl .klm-footer-seo-links {
  border-top: 1px solid rgba(255,255,255,.15);
  margin-top: 2.75rem;
  padding-top: 2.5rem;
}
.klm-footer-kl .klm-footer-seo-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  column-gap: 1.5rem;
  align-items: start;
}
.klm-footer-kl .klm-footer-seo-grid a,
.klm-footer-kl .klm-footer-region a {
  font-size: .91rem;
  line-height: 1.55;
  text-decoration: none;
}
.klm-footer-kl a:hover,
.klm-footer-kl a:focus-visible {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.klm-footer-kl .klm-footer-cities {
  border-top: 1px solid rgba(255,255,255,.15);
  margin-top: 2.75rem;
  padding-top: 1.5rem;
}
.klm-footer-kl .klm-footer-cities summary {
  color: #effaf5;
  font-size: 1.05rem;
  font-weight: 700;
  cursor: pointer;
  padding: .5rem 0;
}
.klm-footer-kl .klm-footer-cities summary:focus-visible {
  outline: 2px solid #dce8d8;
  outline-offset: 5px;
}
.klm-footer-kl .klm-footer-cities-hint {
  font-weight: 400;
  opacity: .8;
}
.klm-footer-kl .klm-footer-cities-description {
  max-width: 760px;
  margin: 1rem 0 1.5rem;
  color: #cde5d9;
}
.klm-footer-kl .klm-footer-cities-grid {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 1.6rem;
}
.klm-footer-kl .klm-footer-region strong {
  margin-bottom: .8rem;
}
@media (max-width: 991.98px) {
  .klm-footer-kl .klm-footer-cities-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
}
@media (max-width: 575.98px) {
  .klm-footer-kl .klm-footer-seo-grid,
  .klm-footer-kl .klm-footer-cities-grid {
    grid-template-columns: 1fr;
  }
  .klm-footer-kl .klm-footer-seo-links {
    margin-top: 2rem;
    padding-top: 2rem;
  }
}
