.footer.im-site-footer { background: #edf5f5; color: #405d68; padding: 58px 0 0; margin: 0; border-top: 1px solid #d9e7e8; font-family: var(--im-font, 'Inter', 'Segoe UI', Arial, sans-serif); font-weight: 400; }
.im-site-footer .im-footer-container { width: min(1240px, calc(100% - 80px)); max-width: 1240px; padding: 0; }
.im-footer-grid { display: grid; grid-template-columns: 1.5fr 1fr .85fr 1.3fr; gap: 40px; padding-bottom: 42px; }
.im-footer-brand { max-width: 310px; }
.im-site-footer .im-footer-logo { display: inline-flex; align-items: center; }
.im-site-footer .im-footer-logo img { display: block; width: 150px !important; max-width: 150px !important; height: auto !important; }
.im-site-footer p.im-footer-statement { color: #254d5c; font-size: 17px; font-weight: 600; line-height: 1.55; margin: 22px 0 14px; }
.im-site-footer p.im-footer-description { color: #526f7b; font-size: 14px; line-height: 1.85; margin: 0; }
.im-site-footer .im-footer-column h2 { font-family: inherit; font-size: 15px; font-weight: 650; color: #234f60; line-height: 1.5; margin: 4px 0 21px; }
.im-site-footer .im-footer-column ul { list-style: none; padding: 0; margin: 0; }
.im-site-footer .im-footer-column li { padding: 0; margin: 0 0 13px; font-size: 14px; line-height: 1.65; }
.im-site-footer .im-footer-column a { color: #486773; text-decoration: none; }
.im-site-footer .im-footer-column a:hover { color: #126ca8; text-decoration: underline; text-underline-offset: 4px; }
.im-site-footer .im-footer-column > p { color: #526f7b; font-size: 14px; line-height: 1.85; margin: 0 0 18px; }
.im-footer-social { display: flex; align-items: center; gap: 9px; margin-top: 22px; }
.im-site-footer .im-footer-social a { display: flex; align-items: center; justify-content: center; width: 35px; height: 35px; background: #fff; border: 1px solid #d6e5e7; color: #426f7c; font-size: 15px; border-radius: 50%; transition: color .18s, border-color .18s, transform .18s; }
.im-site-footer .im-footer-social a:hover { color: #1674b7; border-color: #88b6cd; transform: translateY(-2px); text-decoration: none; }
.im-site-footer a.im-footer-whatsapp { display: flex; align-items: center; gap: 10px; padding: 13px; border: 1px solid #c6dfd4; background: #e3f1e9; border-radius: 6px; color: #246c50; text-decoration: none; transition: background .18s; }
.im-site-footer a.im-footer-whatsapp:hover { background: #d7ebdf; color: #1f6047; text-decoration: none; }
.im-footer-whatsapp > .fa-whatsapp { font-size: 27px; }
.im-footer-whatsapp > span { flex: 1; }
.im-footer-whatsapp strong { display: block; font-size: 12px; line-height: 1.5; font-weight: 650; }
.im-footer-whatsapp small { display: block; font-size: 13px; line-height: 1.5; margin-top: 3px; }
.im-footer-whatsapp > .fa-arrow-up { font-size: 11px; transform: rotate(45deg); }
.im-site-footer a.im-footer-message { display: inline-flex; gap: 10px; align-items: center; margin-top: 18px; color: #176fa6; font-size: 13px; font-weight: 600; }
.im-footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 24px; border-top: 1px solid #d5e3e6; padding: 22px 65px 25px 0; }
.im-site-footer .im-footer-bottom p { color: #637e89; font-size: 11px; line-height: 1.7; margin: 0; }
.im-footer-bottom > div { display: flex; flex-wrap: wrap; gap: 25px; }
.im-site-footer .im-footer-bottom a { color: #4d6d7b; font-size: 11px; line-height: 1.7; }
.im-site-footer .im-footer-bottom a:hover { color: #126ca8; }
.im-site-footer a:focus-visible { outline: 3px solid #1b83be; outline-offset: 4px; border-radius: 3px; }
.btn-whatsapp { display: block; position: fixed; width: 56px; height: 56px; right: 20px; bottom: 20px; border-radius: 50%; z-index: 999; }
.btn-whatsapp img { display: block; width: 100%; height: auto; }
@media (max-width:1199px) {
    .im-footer-grid { gap: 27px; grid-template-columns: 1.2fr 1fr .85fr 1.2fr; }
}
@media (max-width:991px) {
    .im-footer-grid { grid-template-columns: 1.1fr 1fr; gap: 38px 45px; }
    .im-footer-brand { max-width: 350px; }
    .im-footer-contact { max-width: 350px; }
}
@media (max-width:767px) {
    .footer.im-site-footer { padding-top: 38px; }
    .im-site-footer .im-footer-container { width: calc(100% - 40px); }
    .im-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 20px; padding-bottom: 30px; }
    .im-footer-brand, .im-footer-contact { grid-column: 1 / -1; max-width: none; }
    .im-site-footer p.im-footer-description { max-width: 420px; }
    .im-site-footer .im-footer-column h2 { margin-bottom: 17px; }
    .im-site-footer .im-footer-column li { font-size: 13px; }
    .im-site-footer a.im-footer-whatsapp { max-width: 370px; }
    .im-footer-bottom { display: block; padding: 20px 0 85px; }
    .im-footer-bottom > div { margin-top: 13px; gap: 12px 22px; }
}
@media (prefers-reduced-motion:reduce) {
    .im-site-footer .im-footer-social a, .im-site-footer a.im-footer-whatsapp { transition: none; }
}
