/* Full-width, responsive footer */
footer .container {
    max-width: 100% !important;
    width: 100%;
    padding-left: clamp(16px, 5vw, 80px);
    padding-right: clamp(16px, 5vw, 80px);
}
footer > .container > .row {
    display: grid;
    grid-template-columns: 1.5fr 1.4fr 0.8fr 1.1fr;
    gap: 32px 48px;
    margin: 0;
}
footer > .container > .row > [class*="col-"] {
    width: 100%;
    max-width: none;
    padding: 0;
    flex: none;
}
footer > .container > .row .row { margin: 0; }
footer > .container > .row .row > [class*="col-"] { width: 100%; max-width: none; padding: 0; }
footer .widget { margin-bottom: 0; }
footer .widget h5, footer h5 { margin-bottom: 18px; letter-spacing: .5px; }
footer .widget p { text-align: left !important; line-height: 1.7; margin: 0; }
footer address.s1 span { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 12px; line-height: 1.6; word-break: break-word; }
footer address.s1 span i { margin-top: 4px; flex: 0 0 18px; }
footer .widget ul { padding: 0; margin: 0; list-style: none; }
footer .widget ul li { margin-bottom: 8px; }
footer .social-icons { display: flex; flex-wrap: wrap; gap: 10px; }
footer .social-icons a { margin: 0 !important; }
footer .social-icons img { height: 36px !important; width: auto; transition: transform .2s; }
footer .social-icons a:hover img { transform: translateY(-3px); }

footer .subfooter .container { padding-top: 0; padding-bottom: 0; }
footer .subfooter .de-flex { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 24px; }
footer .subfooter .menu-simple { display: flex; flex-wrap: wrap; gap: 16px; margin: 0; padding: 0; }
footer .subfooter .menu-simple li { margin: 0 !important; }

@media (max-width: 991px) {
    footer > .container > .row { grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width: 575px) {
    footer > .container > .row { grid-template-columns: 1fr; gap: 28px; }
    footer .subfooter .de-flex { flex-direction: column; text-align: center; }
    footer .subfooter .menu-simple { justify-content: center; }
}
