/* Footer – Light/Dark hybrid */
.footer {
  position: relative;
  background: var(--color-dark-bg);
  padding: calc(var(--space-4xl) + 80px) 0 var(--space-2xl);
  margin-top: -80px;
}
.footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 160px;
  background: linear-gradient(to bottom, var(--color-bg-primary), var(--color-dark-bg));
  pointer-events: none;
}
.footer-grid {
  display: grid; grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: var(--space-3xl); margin-bottom: var(--space-3xl);
}
.footer-brand p { font-size: var(--text-sm); margin-top: var(--space-md); max-width: 320px; color: var(--color-dark-text-secondary); }
.footer .nav-logo span { color: var(--color-dark-text); }
.footer-social { display: flex; gap: var(--space-md); margin-top: var(--space-lg); }
.footer-social a {
  width: 40px; height: 40px; border-radius: var(--radius-sm);
  border: 1px solid var(--color-dark-border); display: flex;
  align-items: center; justify-content: center; color: var(--color-dark-text-secondary);
  transition: all var(--transition-fast);
}
.footer-social a:hover { color: var(--color-cyan-light); border-color: var(--color-cyan-light); }
.footer-social a svg { width: 18px; height: 18px; }
.footer-col h4 {
  font-size: var(--text-sm); font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--color-dark-text); margin-bottom: var(--space-lg);
}
.footer-col a {
  display: block; font-size: var(--text-sm); color: var(--color-dark-text-secondary);
  padding: var(--space-xs) 0; transition: color var(--transition-fast);
}
.footer-col a:hover { color: var(--color-cyan-light); }
.footer-subscribe { margin-top: var(--space-xl); }
.footer-subscribe p { font-size: var(--text-sm); color: var(--color-dark-text-secondary); margin-bottom: var(--space-sm); }
.footer-bottom {
  padding-top: var(--space-xl); border-top: 1px solid var(--color-dark-border);
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: var(--space-md);
}
.footer-bottom p { font-size: var(--text-sm); color: var(--color-dark-text-secondary); }
.footer-bottom-links { display: flex; gap: var(--space-xl); }
.footer-bottom-links a { font-size: var(--text-sm); color: var(--color-dark-text-secondary); }
.footer-bottom-links a:hover { color: var(--color-cyan-light); }

@media (max-width: 768px) {
  .footer-grid { grid-template-columns: 1fr 1fr; gap: var(--space-2xl); }
  .footer-brand { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; text-align: center; }
}
@media (max-width: 480px) { .footer-grid { grid-template-columns: 1fr; } }
