/* One shared footer, with the same synced contact widget used in the service hero. */
.ctb-footer { border-top: 3px solid #109cde; }
.ctb-footer .ctb-footer-columns { gap: 24px; }
.ctb-footer .ctb-footer-section {
 min-width: 0;
 padding: clamp(20px, 2vw, 28px);
 background: #ffffff04;
 border: 1px solid #ffffff26;
 border-top: 3px solid #109cde;
 border-radius: 10px;
}
.ctb-footer h2, .ctb-footer h3 {
 font-size: clamp(20px, 2vw, 24px);
 line-height: 1.25;
 letter-spacing: -.01em;
}
.ctb-footer .ctb-footer-section > h2 { margin-block: 0 20px; }
.ctb-footer .ctb-footer-contact > .wp-block-site-logo { margin-block: 0 20px; }
.ctb-footer .ctb-footer-contact > p { margin-block: 0 16px; }
.ctb-footer .ctb-footer-about { margin-top: 24px; padding-top: 24px; border-top: 1px solid #ffffff26; }
.ctb-footer .ctb-footer-about > h3 { margin-block: 0 20px; }
.ctb-footer .ctb-footer-form { padding: 0; }
.ctb-contact-widget { min-width: 0; color: #333; font-family: Arial, sans-serif; }
.ctb-footer .ctb-contact-widget {
 margin-top: 24px;
 padding: 22px;
 background: #fff;
 border: 1px solid #dce4eb;
 border-radius: 8px;
}
.ctb-footer .ctb-footer-form > .ctb-contact-widget {
 margin-top: 0;
 padding: clamp(20px, 2vw, 28px);
 border: 0;
 border-radius: 0 0 8px 8px;
}
.ctb-footer .ctb-footer-form .nf-form-title h3 {
 font-size: clamp(20px, 2vw, 24px);
 font-weight: 700;
 line-height: 1.25;
 margin-bottom: 12px;
}
.ctb-footer .ctb-contact-widget :where(label, h3) { color: #333; }
.ctb-footer .ctb-contact-widget .nf-form-cont { margin-bottom: 0; }
.ctb-footer .ctb-contact-widget .nf-field-label label { font-size: 13px; }
.ctb-footer .ctb-contact-widget .ctb-service-contact-links a { color: #087db5; }
.ctb-footer .ctb-contact-widget .ctb-service-contact-links p { font-size: 16px; }
.ctb-footer .ctb-partner-logos { gap: 12px; }
.ctb-footer .ctb-partner-logos .wp-block-image { margin: 0; }
.ctb-footer .ctb-partner-logos img {
 display: block;
 width: 110px;
 height: 110px;
 aspect-ratio: 1;
 object-fit: cover;
 object-position: center;
 border-radius: 50%;
}
.ctb-footer .wp-block-latest-posts.wp-block-latest-posts__list {
 list-style: disc outside;
 margin-block: 0 20px;
 padding-left: 20px;
}
.ctb-footer .wp-block-latest-posts.wp-block-latest-posts__list li {
 display: list-item;
 padding-left: 4px;
 margin-bottom: 14px;
 line-height: 1.55;
}
.ctb-footer .wp-block-latest-posts li::marker { color: #6ecbfa; }
.ctb-footer .ctb-footer-bottom { gap: 12px 24px; }

@media (min-width: 782px) and (max-width: 1050px) {
 .ctb-footer .ctb-footer-columns { flex-wrap: wrap !important; }
 .ctb-footer .ctb-footer-contact, .ctb-footer .ctb-footer-form { flex-basis: calc(50% - 12px) !important; }
 .ctb-footer .ctb-footer-blog { flex-basis: 100% !important; }
}
@media (max-width: 781px) {
 .ctb-footer .ctb-footer-columns { gap: 0; }
 .ctb-footer .ctb-footer-section {
  flex-basis: 100% !important;
  padding: 28px 0;
  background: transparent;
  border: 0;
  border-radius: 0;
 }
 .ctb-footer .ctb-footer-section:first-child { padding-top: 0; }
 .ctb-footer .ctb-footer-section + .ctb-footer-section { border-top: 1px solid #ffffff38; }
 .ctb-footer .ctb-contact-widget { padding: 20px; }
 .ctb-footer .ctb-footer-form > .ctb-contact-widget { padding: 20px; border: 1px solid #dce4eb; border-radius: 8px; }
 .ctb-footer .ctb-footer-bottom { margin-top: 0; }
}
