.site-footer { background:var(--footer-bg); color:var(--footer-text); margin-top:auto; }
.footer-widgets { padding:var(--space-4xl) 0 var(--space-2xl); }
.footer-widgets-grid { display:grid; gap:var(--space-2xl); }
.footer-cols-1 { grid-template-columns:1fr; }
.footer-cols-2 { grid-template-columns:repeat(2,1fr); }
.footer-cols-3 { grid-template-columns:repeat(3,1fr); }
.footer-cols-4 { grid-template-columns:repeat(4,1fr); }
.footer-cols-5 { grid-template-columns:repeat(5,1fr); }
.site-footer .widget { background:transparent; padding:0; }
.site-footer .widget-title { color:var(--footer-heading); border-color:rgba(255,255,255,.2); }
.site-footer .widget a { color:var(--footer-text); }
.site-footer .widget a:hover { color:var(--footer-heading); }
.site-footer .widget ul { list-style:none; padding:0; }
.site-footer .widget ul li { padding:.25rem 0; border-bottom:1px solid rgba(255,255,255,.05); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1); padding:var(--space-lg) 0; }
.footer-bottom-inner { display:flex; align-items:center; justify-content:space-between; gap:var(--space-lg); flex-wrap:wrap; }
.copyright { font-size:var(--font-size-sm); color:var(--footer-text); margin:0; }
.footer-navigation .footer-menu { display:flex; gap:var(--space-md); list-style:none; padding:0; margin:0; flex-wrap:wrap; }
.footer-navigation .footer-menu a { font-size:var(--font-size-sm); color:var(--footer-text); }
.footer-navigation .footer-menu a:hover { color:var(--footer-heading); }
@media(max-width:1024px) { .footer-cols-4,.footer-cols-5 { grid-template-columns:repeat(2,1fr); } }
@media(max-width:640px)  { .footer-cols-2,.footer-cols-3,.footer-cols-4,.footer-cols-5 { grid-template-columns:1fr; } .footer-bottom-inner { flex-direction:column; text-align:center; } }

/* ── Legal Menu ────────────────────────────────────────────── */
.footer-legal-menu { display:flex; flex-wrap:wrap; align-items:center; gap:.25rem; list-style:none; padding:0; margin:0; }
.footer-legal-menu li { position:relative; }
.footer-legal-menu li + li::before { content:"·"; margin-right:.25rem; opacity:.5; }
.footer-legal-menu a { font-size:var(--font-size-sm); color:var(--footer-text); text-decoration:none; transition:color var(--transition-fast); }
.footer-legal-menu a:hover { color:var(--footer-heading); }

/* ── Footer Social Icons ───────────────────────────────────── */
.footer-social-icons { display:flex; align-items:center; gap:.5rem; flex-shrink:0; margin-left:auto; }
.footer-social-icon { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:var(--radius-md,6px); border:1px solid rgba(255,255,255,.1); color:var(--footer-social-color,#94a3b8); text-decoration:none; transition:color var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast); }
.footer-social-icon:hover { color:var(--footer-social-hover,#fff) !important; background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.2); }
.footer-social-custom-img { width:18px; height:18px; object-fit:contain; display:block; filter:brightness(0) invert(.6); transition:filter var(--transition-fast); }
.footer-social-icon:hover .footer-social-custom-img { filter:brightness(0) invert(1); }

/* ── Footer Centered extras ────────────────────────────────── */
.footer-centered .footer-social-icons { justify-content:center; margin-left:0; margin-top:.5rem; }
.footer-bottom-centered { display:flex; align-items:center; flex-wrap:wrap; justify-content:center; gap:.5rem 1rem; }
.footer-bottom-centered .copyright { margin:0; }
.footer-bottom-centered .footer-legal-menu { justify-content:center; }

/* ── Footer Minimal extras ─────────────────────────────────── */
.footer-minimal-inner { display:flex; align-items:center; flex-wrap:wrap; gap:.75rem 1.5rem; padding:.875rem 0; }
.footer-minimal-inner .copyright { margin:0; }
.footer-minimal-inner .footer-social-icons { margin-left:auto; }

/* ── Mobile ────────────────────────────────────────────────── */
@media(max-width:640px) {
    .footer-social-icons { margin-left:0; }
    .footer-minimal-inner { flex-direction:column; align-items:flex-start; }
    .footer-minimal-inner .footer-social-icons { margin-left:0; }
}