.footer { background: var(--theme-footer-bg); color: var(--theme-footer-text); padding: 60px 0 30px; margin-top: 60px; }
.footer-top { display: flex; flex-direction: column; margin-bottom: 40px; padding-bottom: 36px; border-bottom: 1px solid rgba(255,255,255,.08); }
.footer-logo { display: flex; align-items: center; gap: 10px; font-weight: 800; font-size: 20px; color: #fff; margin-bottom: 10px; }
.footer-logo-icon { width: 34px; height: 34px; background: var(--theme-primary); border-radius: 8px; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 13px; color: #fff; }
.footer-desc { color: #94a3b8; font-size: 13px; max-width: 440px; line-height: 1.7; }
.footer-grid { display: grid; grid-template-columns: repeat(var(--sd-footer-columns, 6), 1fr); gap: 28px; margin-bottom: 40px; }
.footer-col-title { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: #fff; margin-bottom: 16px; }
.footer-links li { margin-bottom: 10px; }
.footer-links a { font-size: 13px; color: #64748b; transition: color .15s; }
.footer-links a:hover, .footer-links a:focus-visible { color: #fff; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.08); padding-top: 24px; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.footer-meta-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }
.footer-meta-links a { font-size: 12px; color: #64748b; transition: color .15s; }
.footer-meta-links a:hover { color: #fff; }
.social-row { display: flex; gap: 10px; }
.social-btn { width: 34px; height: 34px; border-radius: 50%; background: rgba(255,255,255,.08); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 14px; transition: background .15s; }
.social-btn:hover, .social-btn:focus-visible { background: var(--theme-primary); }
.footer-copy { font-size: 12px; color: #475569; text-align: center; }
.footer-sidebar-widgets { margin-bottom: 40px; }
