/* Shared contact navigation must not depend on optional widget styles. */
.footer-contact-cta { padding-top:34px; padding-bottom:34px; }
.footer-contact-cta .cta-content { padding-top:0; }
.footer-contact-cta .footer-contact-actions { display:flex; flex-direction:column; align-items:stretch; gap:18px; min-width:0; }
.footer-contact-cta .footer-contact-buttons { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.footer-contact-cta .footer-contact-buttons .btn { display:flex; align-items:center; justify-content:center; margin:0; min-height:48px; min-width:0; padding:12px 16px; white-space:normal; line-height:1.5; }
.footer-contact-cta .footer-contact-buttons .btn:first-child { grid-column:1 / -1; }
.footer-contact-cta .btn-brand { color:#09234a; background:#48c9d1; border:2px solid #48c9d1; }
.footer-contact-cta .btn-brand:hover,.footer-contact-cta .btn-brand:focus { color:#09234a; background:#8ae2e7; border-color:#8ae2e7; }
.footer-contact-cta .btn-outline-light { border:2px solid #fff; color:#fff; background:transparent; }
.footer-contact-cta .btn-outline-light:hover,.footer-contact-cta .btn-outline-light:focus { color:#0c169f; background:#fff; }
.footer-contact-cta .footer-direct-contact { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 20px; }
.footer-contact-cta .footer-direct-contact a { color:#fff; font-size:14px; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.footer-contact-cta .footer-direct-contact a:hover,.footer-contact-cta .footer-direct-contact a:focus { color:#fff; text-decoration-thickness:2px; }
.footer-contact-cta a:focus-visible { outline:3px solid #ffe082; outline-offset:4px; }
.footer .footer-widget a[href^="tel:"],
.footer .footer-widget a[href^="mailto:"] { color:#fff; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.footer .footer-widget a[href^="tel:"]:hover,
.footer .footer-widget a[href^="mailto:"]:hover { color:#fff; text-decoration-thickness:2px; }
.footer .footer-widget a:focus-visible { outline:3px solid #ffe082; outline-offset:4px; }
@media(max-width:991.98px) {
  .footer-contact-cta .cta-content { text-align:center; margin-bottom:24px; }
}
@media(max-width:575.98px) {
  /* Reserve room below the copyright for fixed back-to-top/contact controls. */
  .tiny-footer { padding-bottom:100px; }
  .tiny-footer p { white-space:normal; overflow-wrap:anywhere; }
  .footer-contact-cta { padding:28px 20px; }
  .footer-contact-cta .footer-contact-buttons { grid-template-columns:minmax(0,1fr); width:100%; }
  .footer-contact-cta .footer-direct-contact { flex-direction:column; align-items:center; gap:10px; }
}