/* Footer mobile compartilhado entre a home e as páginas do blog. */
@media (max-width: 640px) {
    footer .footer-map iframe { height: 190px !important; }
    footer .privacy-map-placeholder,
    footer .map-placeholder { min-height: 190px !important; padding: 1.5rem 1rem !important; }

    footer .footer-grid {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: .8rem !important;
        padding: 1rem !important;
    }

    footer .footer-col,
    footer .footer-col:first-child,
    footer .footer-col:nth-child(3),
    footer .footer-col:nth-child(4) {
        position: relative !important;
        grid-column: auto !important;
        display: block !important;
        padding: 1rem !important;
        border: 1px solid rgba(96,165,250,.14) !important;
        border-radius: 1rem !important;
        background: linear-gradient(145deg, rgba(30,41,59,.7), rgba(15,23,42,.45)) !important;
        box-shadow: inset 0 1px rgba(255,255,255,.025), 0 10px 28px rgba(2,6,23,.12) !important;
    }

    footer .footer-col:first-child {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: .75rem 1rem !important;
    }

    footer .footer-col:nth-child(3)::before { display: none !important; }
    footer .footer-brand { margin: 0 !important; }
    footer .footer-brand img { width: 42px !important; height: 42px !important; }
    footer .footer-brand strong { font-size: 1.08rem !important; }
    footer .footer-col:first-child > p {
        grid-column: 1 / -1 !important;
        margin: 0 !important;
        color: #94a3b8 !important;
        font-size: .78rem !important;
        line-height: 1.55 !important;
    }
    footer .footer-col:first-child .footer-social {
        grid-column: 2 !important;
        grid-row: 1 !important;
        margin: 0 !important;
    }
    footer .footer-social { gap: .35rem !important; }
    footer .footer-social a {
        width: 34px !important;
        height: 34px !important;
        padding: 0 !important;
        font-size: .78rem !important;
    }

    footer .footer-col h4 {
        margin: 0 0 .8rem !important;
        padding: 0 0 .55rem !important;
        color: #f8fafc !important;
        font-size: .88rem !important;
        font-weight: 800 !important;
    }
    footer .footer-col h4::after { width: 32px !important; height: 2px !important; }

    footer .footer-col ul { display: grid !important; gap: .4rem !important; }
    footer .footer-col:nth-child(2) ul { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    footer .footer-col:nth-child(3) ul { grid-template-columns: 1fr !important; }
    footer .footer-col li { margin: 0 !important; min-width: 0 !important; }
    footer .footer-col:nth-child(2) li a::before { display: none !important; }
    footer .footer-col li a {
        width: 100% !important;
        min-height: 42px !important;
        display: flex !important;
        align-items: center !important;
        margin: 0 !important;
        padding: .65rem .7rem !important;
        border: 1px solid rgba(96,165,250,.1) !important;
        border-radius: .7rem !important;
        background: rgba(15,23,42,.36) !important;
        color: #b9c7dc !important;
        font-size: .76rem !important;
        line-height: 1.35 !important;
    }
    footer .footer-col li a:hover,
    footer .footer-col li a:focus-visible {
        border-color: rgba(96,165,250,.32) !important;
        background: rgba(37,99,235,.16) !important;
        color: #dbeafe !important;
        transform: none !important;
    }

    footer .footer-col:nth-child(4) h4 { grid-column: auto !important; }
    footer .footer-contact-item,
    footer .footer-col:nth-child(4) .footer-contact-item:first-of-type {
        grid-column: auto !important;
        display: flex !important;
        align-items: flex-start !important;
        gap: .65rem !important;
        margin: 0 0 .4rem !important;
        padding: .7rem !important;
        border: 1px solid rgba(96,165,250,.1) !important;
        border-radius: .7rem !important;
        background: rgba(15,23,42,.36) !important;
    }
    footer .footer-contact-item:last-child { margin-bottom: 0 !important; }
    footer .footer-contact-item > i {
        width: 18px !important;
        margin: .15rem 0 0 !important;
        color: #60a5fa !important;
        font-size: .78rem !important;
        text-align: center !important;
    }
    footer .footer-contact-item a,
    footer .footer-grid .footer-col:nth-child(4) .footer-contact-item a,
    footer .footer-grid .footer-col:nth-child(4) .footer-map-address {
        width: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: #b9c7dc !important;
        font-size: .76rem !important;
        line-height: 1.5 !important;
        transform: none !important;
    }

    footer .footer-bottom { padding: 0 1rem 1rem !important; border-top: 0 !important; }
    footer .footer-bottom-inner {
        width: 100% !important;
        min-height: 0 !important;
        display: flex !important;
        align-items: center !important;
        flex-direction: column !important;
        gap: .65rem !important;
        padding: 1rem !important;
        border: 1px solid rgba(96,165,250,.12) !important;
        border-radius: 1rem !important;
        background: rgba(15,23,42,.48) !important;
        text-align: center !important;
    }
    footer .footer-bottom-inner > p,
    footer .footer-bottom-inner > span { margin: 0 !important; color: #64748b !important; font-size: .68rem !important; }
    footer .privacy-footer-actions { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: .45rem .8rem !important; }
    footer .privacy-footer-button,
    footer .privacy-link { font-size: .72rem !important; }
    footer .footer-credit a,
    footer .footer-bottom-inner > a:last-child {
        display: inline-flex !important;
        align-items: center !important;
        gap: .4rem !important;
        padding: .42rem .75rem !important;
        border: 1px solid rgba(56,189,248,.25) !important;
        border-radius: 999px !important;
        background: rgba(56,189,248,.06) !important;
        color: #7dd3fc !important;
        font-size: .7rem !important;
    }
}

@media (max-width: 380px) {
    footer .footer-col:first-child {
        grid-template-columns: 1fr !important;
        text-align: center !important;
    }
    footer .footer-brand,
    footer .footer-col:first-child .footer-social { justify-self: center !important; }
    footer .footer-col:first-child .footer-social { grid-column: 1 !important; grid-row: auto !important; }
}
