/* Rodapé institucional compartilhado. */
body #footer.solutto-footer { position: relative; overflow: hidden; margin: 0; padding: 30px 0; border: 0; background: #004271; color: #fff; }
body #footer.solutto-footer::before, body #footer.solutto-footer::after { content: ""; position: absolute; top: 0; bottom: 0; width: max(0px, calc((100% - 1170px) / 2)); opacity: .45; pointer-events: none; }
body #footer.solutto-footer::before { left: 0; background: url("../img/segment-overview-outline-pattern.svg#left") left center / auto 100% no-repeat; -webkit-mask-image: linear-gradient(to right, #000 35%, transparent 100%); mask-image: linear-gradient(to right, #000 35%, transparent 100%); }
body #footer.solutto-footer::after { right: 0; background: url("../img/segment-overview-outline-pattern.svg#right") right center / auto 100% no-repeat; -webkit-mask-image: linear-gradient(to left, #000 35%, transparent 100%); mask-image: linear-gradient(to left, #000 35%, transparent 100%); }
body #footer.solutto-footer .footer-content { position: relative; padding-right: 290px; }
body #footer.solutto-footer .footer-main { display: grid; grid-template-columns: minmax(170px, 1.2fr) repeat(2, minmax(135px, 1fr)); gap: 24px; align-items: start; }
body #footer.solutto-footer .footer-brand img { display: block; width: 112px; max-width: 100%; height: auto; }
body #footer.solutto-footer .footer-social { display: flex; align-items: center; gap: 16px; margin-top: 16px; }
body #footer.solutto-footer .footer-social a { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; color: #fff; font-size: 17px; text-decoration: none; }
body #footer.solutto-footer .footer-social a:hover, body #footer.solutto-footer .footer-social a:focus-visible { color: #8dc63f; }
body #footer.solutto-footer .footer-contact h5 { margin: 0 0 9px; color: #fff; font-size: 14px; line-height: 1.3; }
body #footer.solutto-footer .footer-contact a { color: #e6f0f3; font-size: 14px; white-space: nowrap; text-decoration: none; }
body #footer.solutto-footer .footer-contact .fa { margin-right: 5px; color: #58d3ce; }
body #footer.solutto-footer .footer-contact a:hover, body #footer.solutto-footer .footer-links a:hover { color: #8dc63f; }
body #footer.solutto-footer .footer-meta { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 24px; margin-top: 20px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .22); }
body #footer.solutto-footer .footer-meta p { margin: 0; color: #e0edf1; font-size: 12px; }
body #footer.solutto-footer .footer-links { display: flex; flex-wrap: wrap; gap: 8px 20px; }
body #footer.solutto-footer .footer-links a { color: #fff; font-size: 13px; text-decoration: none; }
body #footer.solutto-footer a:focus-visible { outline: 2px solid #8dc63f; outline-offset: 3px; }
@media (min-width: 992px) and (max-width: 1199px) {
  body #footer.solutto-footer::before, body #footer.solutto-footer::after { width: max(0px, calc((100% - 970px) / 2)); }
}
@media (max-width: 991px) {
  body #footer.solutto-footer .footer-content { padding-right: 15px; }
  body #footer.solutto-footer { padding-bottom: 125px; }
  body #footer.solutto-footer::before { top: auto; bottom: 0; width: 100%; height: 100px; background: url("../img/segment-overview-outline-pattern.svg#left") left bottom / auto 100% no-repeat, url("../img/segment-overview-outline-pattern.svg#right") right bottom / auto 100% no-repeat; -webkit-mask-image: linear-gradient(to top, #000 35%, transparent 100%); mask-image: linear-gradient(to top, #000 35%, transparent 100%); }
  body #footer.solutto-footer::after { display: none; }
}
@media (max-width: 575px) {
  body #footer.solutto-footer .footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 14px; }
  body #footer.solutto-footer .footer-brand { grid-column: 1 / -1; }
  body #footer.solutto-footer .footer-brand img { width: 100px; }
  body #footer.solutto-footer .footer-social { margin-top: 12px; }
  body #footer.solutto-footer .footer-meta { align-items: flex-start; flex-direction: column; }
  body #footer.solutto-footer .footer-links { gap: 8px 16px; }
}
