html body footer#milobras-site-footer {
    display: block !important;
    width: 100%;
    height: auto;
    margin: 28px 0 0;
    padding: 32px 0 24px;
    border: 0;
    border-top: 1px solid #d8dcda;
    background: #fff;
    color: #606861;
    box-shadow: none;
    font: 400 13px/20px Roboto, sans-serif;
    text-align: left;
    letter-spacing: 0;
    box-sizing: border-box;
}
#milobras-site-footer *, #milobras-site-footer *::before, #milobras-site-footer *::after { box-sizing: border-box; }
html body #milobras-site-footer .milobras-site-footer__inner { float: none; margin-top: 0; margin-bottom: 0; }
#milobras-site-footer .milobras-site-footer__grid { display: grid; grid-template-columns: 1.45fr 1fr 1fr 1.05fr; gap: 36px; }
#milobras-site-footer .milobras-site-footer__grid > * { min-width: 0; }
#milobras-site-footer .milobras-site-footer__primary,
#milobras-site-footer .milobras-site-footer__secondary { display: contents; }
#milobras-site-footer .milobras-site-footer__mobile-address { display: none; }
#milobras-site-footer .milobras-site-footer__mobile-location { display: none; }
html body #milobras-site-footer p { margin: 0; padding: 0; font: inherit; color: inherit; }
html body #milobras-site-footer a { color: inherit; text-decoration: none; font: inherit; text-shadow: none; }
html body #milobras-site-footer a:not(.milobras-site-footer__quote):is(:hover, :focus-visible) { color: #86d500; text-decoration: none; }
html body #milobras-site-footer a:not(.milobras-site-footer__quote):is(:hover, :focus-visible) * { color: inherit; text-decoration: none; }
#milobras-site-footer a:focus-visible { outline: 2px solid #76b600; outline-offset: 4px; }
#milobras-site-footer .milobras-site-footer__logo { display: block; width: 165px; max-width: 100%; margin: 0 0 12px; }
#milobras-site-footer .milobras-site-footer__logo img { display: block; width: 100%; height: auto; margin: 0; }
#milobras-site-footer .milobras-site-footer__brand p { max-width: 340px; }
html body #milobras-site-footer .milobras-site-footer__quote {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 44px; margin: 16px 0 0; padding: 11px 22px;
    background: #86d500; border: 1px solid #86d500; color: #34403b;
    font: 700 13px/20px 'Roboto Condensed', sans-serif; text-transform: uppercase;
}

html body #milobras-site-footer .milobras-site-footer__quote:hover { background: #78c000; border-color: #78c000; text-decoration: none; }
html body #milobras-site-footer h2 {
    margin: 3px 0 13px; padding: 0; border: 0; background: none;
    color: #34403b; font: 700 15px/22px 'Roboto Condensed', sans-serif;
    letter-spacing: 0; text-transform: uppercase; text-align: left;
}
#milobras-site-footer h2::after { content: ''; display: block; width: 60px; height: 2px; margin-top: 11px; background: #86d500; }
html body #milobras-site-footer ul { display: block; list-style: none; padding: 0; margin: 0; float: none; }
html body #milobras-site-footer li { display: block; list-style: none; padding: 0; margin: 0 0 5px; float: none; border: 0; }
#milobras-site-footer .milobras-site-footer__phones li { margin-bottom: 0; }
html body #milobras-site-footer .milobras-site-footer__phones a,
html body #text-10 a.milobras-contact-phone-link { display: inline-flex; align-items: center; gap: 8px; }
#milobras-site-footer .milobras-site-footer__phone-icon,
#text-10 .milobras-contact-phone-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 18px; width: 18px; height: 18px; font-size: 16px; line-height: 18px; color: #606861; }
#milobras-site-footer .milobras-site-footer__phone-icon--whatsapp,
#text-10 .milobras-contact-phone-icon--whatsapp { color: #25d366; }
#milobras-site-footer address { margin: 12px 0 0; padding: 0; font: inherit; font-style: normal; color: inherit; }
#milobras-site-footer .milobras-site-footer__bottom { display: flex; justify-content: space-between; align-items: center; gap: 18px 30px; margin-top: 34px; color: #7a827c; font-size: 12px; line-height: 20px; }
html body #milobras-site-footer .milobras-site-footer__bottom ul { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px 12px; }
html body #milobras-site-footer .milobras-site-footer__bottom li { margin: 0; }
@media (max-width: 991px) and (min-width: 768px) {
    #milobras-site-footer .milobras-site-footer__grid { grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 22px; }
    #milobras-site-footer .milobras-site-footer__bottom { align-items: flex-start; }
}
@media (min-width: 768px) {
    html body #wpfront-scroll-top-container { display: none !important; }
}
@media (min-width: 769px) {
    html body .strong-view:is(.default, .wpmtst-default) .wpmtst-testimonial-image.testimonial-image img { border: 0 !important; padding: 0 !important; box-shadow: none !important; }
    html body .AreaSpot.AreaTestemunhos .SideTestemunhos .wpmtst-testimonial-inner { display: flow-root !important; padding: 20px 24px !important; }
    /* Match the visible letter tops to the photograph, not the line box. */
    html body .AreaSpot.AreaTestemunhos .SideTestemunhos .wpmtst-testimonial-content p:first-of-type { transform: translateY(-4px); }
}
@media (max-width: 767px) {
    html body footer#milobras-site-footer { margin-top: 24px; padding: 26px 0 22px; font-size: 14px; line-height: 21px; }
    html body footer#milobras-site-footer { padding-left: 0 !important; padding-right: 0 !important; }
    html body #milobras-site-footer .milobras-site-footer__inner { width: 100%; max-width: none; padding-left: 0 !important; padding-right: 0 !important; }
    #milobras-site-footer .milobras-site-footer__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 26px 22px; }
    #milobras-site-footer .milobras-site-footer__brand, #milobras-site-footer .milobras-site-footer__contacts { grid-column: 1 / -1; }
    /* Match the header's 195px logo at scale .85 and its responsive column. */
    #milobras-site-footer .milobras-site-footer__logo { width: 165.75px; max-width: calc(85% - 119px); }
    #milobras-site-footer .milobras-site-footer__brand p { max-width: none; }
    html body #milobras-site-footer h2 { margin-top: 0; font-size: 15px; line-height: 22px; }
    html body #milobras-site-footer li { margin-bottom: 8px; }
    #milobras-site-footer .milobras-site-footer__phones li { margin-bottom: 4px; }
    #milobras-site-footer .milobras-site-footer__bottom { flex-direction: column; align-items: center; margin-top: 26px; gap: 16px; font-size: 12px; text-align: center; }
    #milobras-site-footer .milobras-site-footer__bottom > nav,
    #milobras-site-footer .milobras-site-footer__copyright { width: 100%; }
    html body #milobras-site-footer .milobras-site-footer__bottom ul { justify-content: center; gap: 8px 15px; }
    #milobras-site-footer .milobras-site-footer__copyright { order: 2; }
    html body #wpfront-scroll-top-container, html body.codex-mobile-quote-banner-active button#wpfront-scroll-top-container { bottom: 90px !important; right: 6px !important; width: 40px !important; height: 40px !important; }
    html body #wpfront-scroll-top-container img { width: 40px !important; height: 40px !important; }
}
@media (max-width: 360px) {
    #milobras-site-footer .milobras-site-footer__logo { max-width: calc(85% - 114.75px); }
}
@media (max-width: 340px) {
    /* The existing narrow header row extends 3px beyond its container. */
    #milobras-site-footer .milobras-site-footer__logo { max-width: calc(85% - 109.65px); transform: translateX(-3px); }
}

/* Compact, balanced desktop footer; tablet and mobile retain their layout. */
@media (min-width: 1200px) {
    html body #milobras-site-footer .milobras-site-footer__inner {
        width: calc(100% - 80px) !important;
        max-width: 1160px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    html body #milobras-site-footer .milobras-site-footer__grid {
        grid-template-columns: minmax(0, 280fr) minmax(0, 220fr) minmax(0, 150fr) minmax(0, 190fr);
        gap: 52px;
    }
    html body #milobras-site-footer .milobras-site-footer__contacts { width: max-content; max-width: 100%; justify-self: end; }
    html body #milobras-site-footer .milobras-site-footer__brand p { max-width: 260px; }
    html body #milobras-site-footer .milobras-site-footer__quote { width: 165px; padding-left: 0; padding-right: 0; }
    html body #milobras-site-footer .milobras-site-footer__bottom {
        justify-content: center;
        flex-wrap: wrap;
        gap: 8px 80px;
        margin-top: 28px;
        text-align: center;
    }
    html body #milobras-site-footer .milobras-site-footer__bottom ul { justify-content: center; }
}

/* Approved mobile four-block footer; retain the site's existing outer scaling. */
@media (max-width: 767px) {
    html body footer#milobras-site-footer { padding-top: 22px; padding-bottom: 18px; font-size: 13px; line-height: 19px; }
    html body #milobras-site-footer .milobras-site-footer__grid {
        grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
        gap: 20px 22px;
        align-items: start;
    }
    #milobras-site-footer .milobras-site-footer__primary,
    #milobras-site-footer .milobras-site-footer__secondary { display: block; min-width: 0; }
    html body #milobras-site-footer .milobras-site-footer__brand {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 14px 12px;
        align-items: center;
        grid-column: 1 / -1;
    }
    html body #milobras-site-footer .milobras-site-footer__logo {
        grid-column: 1; grid-row: 1;
        width: 148px; max-width: 100%; margin: 0; transform: none;
    }
    html body #milobras-site-footer .milobras-site-footer__brand > p { grid-column: 1 / -1; grid-row: 2; max-width: none; }
    html body #milobras-site-footer .milobras-site-footer__quote {
        grid-column: 2; grid-row: 1; justify-self: end;
        width: 148px; max-width: 100%; min-height: 32px;
        margin: 0; padding: 5px 6px; border: 0;
        font-size: 12px; line-height: 17px;
        text-align: center;
    }
    html body #milobras-site-footer h2::after { width: 38px; margin-top: 7px; }
    html body #milobras-site-footer .milobras-site-footer__column li { margin: 0; }
    html body #milobras-site-footer .milobras-site-footer__column > ul:not(.milobras-site-footer__phones) a {
        display: flex; align-items: center;
        min-height: 24px; padding: 2px 0;
        font-size: 13px; line-height: 19px;
    }
    html body #milobras-site-footer .milobras-site-footer__mobile-address {
        display: block; margin: 16px 0 0; padding: 12px 0 0;
        border-top: 1px solid #e1e5df;
        font: 400 12px/18px Roboto, sans-serif;
    }
    #milobras-site-footer .milobras-site-footer__mobile-address strong { font-weight: 500; }
    html body #milobras-site-footer .milobras-site-footer__contacts {
        width: auto; max-width: none;
        margin-top: 16px; padding-top: 12px;
        border-top: 0;
    }
    #milobras-site-footer .milobras-site-footer__contacts > address { display: none; }
    html body #milobras-site-footer .milobras-site-footer__phones a {
        display: flex; min-height: 24px; gap: 8px;
        font-size: 13px; line-height: 19px; white-space: nowrap;
    }
    #milobras-site-footer .milobras-site-footer__phone-icon { flex-basis: 15px; width: 15px; height: 15px; font-size: 15px; line-height: 15px; }
    html body #milobras-site-footer .milobras-site-footer__bottom {
        flex-direction: column; gap: 8px;
        margin-top: 18px; padding-top: 12px;
        border-top: 1px solid #e1e5df;
        font-size: 11px; line-height: 17px;
    }
    html body #milobras-site-footer .milobras-site-footer__bottom ul { gap: 0 16px; }
    html body #milobras-site-footer .milobras-site-footer__bottom a { display: inline-flex; align-items: center; min-height: 28px; font-size: 11px; line-height: 16px; }
    html body #milobras-site-footer .milobras-site-footer__copyright { font-size: 11px; line-height: 17px; }
    /* Reuse the existing typography layer, with footer-only specificity. */
    @layer milobras-mobile-typography {
        html body footer#milobras-site-footer h2 { margin: 0 0 10px !important; font-size: 17px !important; line-height: 23px !important; }
        html body footer#milobras-site-footer .milobras-site-footer__brand > p { font-size: 13px !important; line-height: 19px !important; }
    }
}
@media (max-width: 360px) {
    html body #milobras-site-footer .milobras-site-footer__grid { column-gap: 16px; }
    html body #milobras-site-footer .milobras-site-footer__phones a { gap: 6px; }
}

/* Keep the original independent columns; add only the address label. */
@media (max-width: 767px) {
    html body #milobras-site-footer .milobras-site-footer__mobile-location {
        display: block;
        margin: 8px 0 0; padding: 0;
        border-top: 0;
    }
    html body #milobras-site-footer .milobras-site-footer__mobile-address {
        margin: 0; padding: 0; border: 0;
    }
}

/* Align the four link/address blocks with the existing quote button. */
@media (max-width: 767px) {
    html body #milobras-site-footer .milobras-site-footer__grid {
        container-type: inline-size;
        --footer-column-gap: 22px;
    }
    html body #milobras-site-footer .milobras-site-footer__primary,
    html body #milobras-site-footer .milobras-site-footer__secondary {
        transform: translateX(calc((100cqw - var(--footer-column-gap)) / 2.12 - min(148px, (100cqw - 12px) / 2)));
    }
    html body #milobras-site-footer .milobras-site-footer__secondary {
        width: min(148px, calc((100cqw - 12px) / 2));
    }
}
@media (max-width: 360px) {
    html body #milobras-site-footer .milobras-site-footer__grid { --footer-column-gap: 16px; }
}

/* Extend the divider on every screen; preserve the content grid and page scale. */
html body footer#milobras-site-footer { position: relative; }
html body footer#milobras-site-footer::before {
    content: '';
    position: absolute;
    top: -1px;
    left: 0;
    right: 0;
    height: 1px;
    background: #d8dcda;
    box-shadow: 0 0 0 100vmax #d8dcda;
    clip-path: inset(0 -100vmax);
    pointer-events: none;
}

/* Use a real full-width line box on phones, without clipped shadow painting. */
@media (max-width: 767px) {
    html body footer#milobras-site-footer::before {
        left: -20px;
        right: -20px;
        box-shadow: none;
        clip-path: none;
    }
}
