.footer{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:80px 0 0;margin-top:auto}[data-theme=dark] .footer{background:#080c18;border-top-color:#1e2a40}.footer-grid{max-width:var(--max-width);margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:48px}.footer-logo{display:flex;align-items:center;gap:10px;margin-bottom:20px;text-decoration:none}.footer-logo-icon{width:42px;height:42px;background:var(--gradient-primary);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.1rem;font-family:var(--font-heading)}.footer-logo-text{font-family:var(--font-heading);font-size:1.25rem;font-weight:800;color:var(--text-primary)}.footer-logo-text span{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer-desc{color:var(--text-secondary);font-size:.92rem;line-height:1.8;margin-bottom:24px;max-width:280px}.footer-socials{display:flex;gap:10px}.social-icon{width:40px;height:40px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:.95rem;cursor:pointer;transition:var(--transition);text-decoration:none}.social-icon:hover{background:var(--gradient-primary);color:#fff;border-color:transparent;transform:translateY(-3px);box-shadow:var(--shadow-glow)}.footer-col-title{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:20px;position:relative;padding-bottom:12px}.footer-col-title::after{content:'';position:absolute;bottom:0;left:0;width:30px;height:3px;background:var(--gradient-primary);border-radius:var(--radius-full)}.footer-links{display:flex;flex-direction:column;gap:10px}.footer-link{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.91rem;text-decoration:none;transition:var(--transition)}.footer-link i{font-size:.7rem;color:var(--primary);transition:var(--transition)}.footer-link:hover{color:var(--primary);padding-left:4px}.footer-link:hover i{transform:translateX(3px)}.footer-newsletter-title{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.footer-newsletter-desc{font-size:.88rem;color:var(--text-secondary);margin-bottom:16px;line-height:1.6}.footer-subscribe{display:flex;flex-direction:column;gap:10px}.footer-subscribe input{width:100%;padding:11px 16px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);font-size:.88rem;transition:var(--transition)}.footer-subscribe input::placeholder{color:var(--text-muted)}.footer-subscribe input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,212,255,.1)}.footer-subscribe button{width:100%;justify-content:center;padding:11px 20px}.footer-contact-item{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px;color:var(--text-secondary);font-size:.88rem;line-height:1.5}.footer-contact-item i{color:var(--primary);margin-top:3px;flex-shrink:0;width:16px}.footer-bottom{margin-top:60px;border-top:1px solid var(--border-color);padding:20px 24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;max-width:var(--max-width);margin-left:auto;margin-right:auto}.copyright{font-size:.85rem;color:var(--text-muted)}.copyright span{color:var(--primary);font-weight:600}.footer-bottom-links{display:flex;gap:20px}.footer-bottom-link{font-size:.85rem;color:var(--text-muted);text-decoration:none;transition:var(--transition)}.footer-bottom-link:hover{color:var(--primary)}.footer-bottom-wrapper{background:var(--bg-secondary);border-top:1px solid var(--border-color)}[data-theme=dark] .footer-bottom-wrapper{background:#060910}@media (max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr;gap:40px}}@media (max-width:640px){.footer{padding-top:60px}.footer-grid{grid-template-columns:1fr 1fr;gap:32px 20px}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;text-align:center;padding:20px 16px}.footer-desc{max-width:100%}}