footer.sticky-footer.footer-rodape {
    padding: var(--space-10, 40px) var(--space-12, 48px) var(--space-12, 48px);
    /* Cor primária da instância bem desbotada; o cinza fica como fallback. */
    background: var(--neutral-100, #f3f4f6);
    background: color-mix(in srgb, var(--primary) 8%, #fff);
    border-top: 1px solid var(--neutral-200, #e5e7eb);
    border-top-color: color-mix(in srgb, var(--primary) 15%, #fff);
    color: var(--neutral-600, #4b5563);
    font-size: var(--text-sm, 0.875rem);
}

.footer-rodape-colunas {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-8, 32px) var(--space-12, 48px);
    /* Largura máxima mantém as colunas próximas e centralizadas em telas largas. */
    max-width: 1040px;
    margin: 0 auto;
}

.footer-rodape-coluna {
    display: flex;
    flex-direction: column;
    gap: var(--space-3, 12px);
}

.footer-rodape-titulo {
    margin-bottom: var(--space-2, 8px);
    color: var(--neutral-800, #1f2937);
    color: color-mix(in srgb, var(--primary) 70%, #000);
    font-size: var(--text-base, 1rem);
}

.footer-rodape-link {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2, 8px);
    color: inherit !important;
    text-decoration: none !important;
}

.footer-rodape-link:hover {
    color: var(--primary) !important;
}

.footer-rodape-link i {
    width: 16px;
    text-align: center;
    color: var(--neutral-500, #6b7280);
    color: color-mix(in srgb, var(--primary) 55%, #fff);
}

@media (max-width: 767.98px) {
    footer.sticky-footer.footer-rodape {
        padding: var(--space-8, 32px) var(--space-5, 20px) var(--space-12, 48px);
    }

    .footer-rodape-colunas {
        grid-template-columns: minmax(0, 1fr);
        row-gap: var(--space-8, 32px);
    }

    .footer-rodape-coluna {
        gap: var(--space-1, 4px);
    }

    .footer-rodape-link {
        min-height: 32px;
    }
}
