.footer-publico {
    margin-top: 70px;
    background: #000000;
    color: #ffffff;
    border-top: 4px solid #fecf0c;
}
.footer-container {
    width: 100%;
    max-width: 1380px;
    margin: 0 auto;
    padding: 58px 26px 48px;
    display: grid;
    grid-template-columns: 1.35fr .8fr .9fr .9fr;
    gap: 42px;
}
.footer-logo { display: inline-flex; align-items: center; text-decoration: none; color: #ffffff; }
.footer-logo img { max-width: 118px; max-height: 118px; width: auto; height: auto; object-fit: contain; display: block; background: #fff; padding: 8px; border-radius: 8px; filter: drop-shadow(0 12px 24px rgba(254,207,12,.16)); }
.footer-logo strong { font-size: 28px; font-weight: 950; }
.footer-desc { max-width: 390px; margin: 24px 0 0; color: #ffffff; opacity: .78; font-size: 15px; line-height: 1.8; }
.footer-socials { display: flex; align-items: center; gap: 10px; margin-top: 24px; }
.footer-socials a { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: #ffffff; border: 1px solid #ffffff; transition: transform .2s ease, background .2s ease; }
.footer-socials a:hover { background: #fecf0c; transform: translateY(-2px); }
.footer-socials img { width: 18px; height: 18px; display: block; }
.footer-col h4 { margin: 0 0 18px; color: #fecf0c; font-size: 14px; font-weight: 950; text-transform: uppercase; letter-spacing: .08em; }
.footer-col a { display: block; width: fit-content; color: #ffffff; opacity: .78; text-decoration: none; margin-bottom: 11px; font-size: 15px; font-weight: 650; transition: opacity .2s ease, color .2s ease, transform .2s ease; }
.footer-col a:hover { opacity: 1; color: #fecf0c; transform: translateX(3px); }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.14); padding: 18px 26px; display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap; color: #ffffff; font-size: 13px; opacity: .9; text-align: center; }
.footer-bottom a { color: #fecf0c; font-weight: 900; text-decoration: none; }
.footer-bottom a:hover { text-decoration: underline; }
@media (max-width: 980px) { .footer-container { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .footer-publico { margin-top: 44px; } .footer-container { grid-template-columns: 1fr; padding: 42px 22px 36px; text-align: left; gap: 30px; } .footer-logo img { max-width: 96px; max-height: 96px; } .footer-col a { width: auto; } .footer-bottom { align-items: flex-start; flex-direction: column; text-align: left; } }
