.footer {
  background: var(--bg-root); border-top: 1px solid var(--border-light);
}
.footer-container {
  max-width: 1440px; margin: 0 auto; padding: var(--space-12) var(--space-5) var(--space-8);
}
.footer-top {
  display: grid; grid-template-columns: 2fr repeat(4, 1fr);
  gap: var(--space-8); margin-bottom: var(--space-10);
}
.footer-brand { max-width: 260px; }
.footer-logo {
  display: flex; align-items: center; gap: var(--space-2);
  font-weight: 900; font-size: 1.125rem; color: var(--text-primary);
  margin-bottom: var(--space-3);
}
.footer-logo .logo-icon {
  width: 34px; height: 34px; border-radius: var(--radius-md);
  background: linear-gradient(135deg, var(--color-primary), var(--color-secondary));
  display: flex; align-items: center; justify-content: center;
}
.footer-logo .logo-icon svg { width: 20px; height: 20px; color: var(--text-white); }
.footer-logo .logo-text span { color: var(--color-primary); }
.footer-brand p { font-size: 0.8125rem; color: var(--text-muted); line-height: 1.7; margin-bottom: var(--space-4); }
.footer-social { display: flex; gap: var(--space-3); }
.footer-social a {
  display: flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: var(--radius-md);
  background: var(--bg-hover); color: var(--text-muted); transition: all var(--transition-fast);
}
.footer-social a:hover { background: var(--color-primary); color: var(--text-white); }
.footer-social a svg { width: 18px; height: 18px; }
.footer-col h4 { font-size: 0.875rem; font-weight: 600; color: var(--text-primary); margin-bottom: var(--space-3); }
.footer-col ul { display: flex; flex-direction: column; gap: var(--space-2); }
.footer-col a { font-size: 0.8125rem; color: var(--text-muted); transition: color var(--transition-fast); }
.footer-col a:hover { color: var(--color-primary); }
.footer-bottom {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: var(--space-5); border-top: 1px solid var(--border-light);
  font-size: 0.75rem; color: var(--text-muted);
}
.footer-bottom-links { display: flex; gap: var(--space-4); }
.footer-bottom-links a { color: var(--text-muted); }
.footer-bottom-links a:hover { color: var(--text-primary); }

@media (max-width: 1023px) {
  .footer-top { grid-template-columns: repeat(2, 1fr); gap: var(--space-6); }
  .footer-brand { grid-column: 1 / -1; max-width: none; }
}
@media (max-width: 767px) {
  .footer-top { grid-template-columns: 1fr 1fr; }
  .footer-bottom { flex-direction: column; gap: var(--space-3); text-align: center; }
}
@media (max-width: 480px) {
  .footer-top { grid-template-columns: 1fr; }
}

/* Mobile Bottom Dock */
.mobile-dock {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 64px;
  background: var(--bg-body);
  border-top: 1px solid var(--border-light);
  z-index: 90;
  align-items: center;
  justify-content: space-around;
  padding: 0 var(--space-4);
}
.dock-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  font-size: 0.625rem;
  color: var(--text-muted);
  transition: all var(--transition-fast);
}
.dock-item svg { width: 22px; height: 22px; }
.dock-item.active { color: var(--color-primary); }
.dock-item-publish {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--gradient-primary);
  color: var(--text-white);
  margin-top: -20px;
  box-shadow: var(--shadow-md);
}
.dock-item-publish svg { width: 22px; height: 22px; }

@media (max-width: 767px) {
  .mobile-dock { display: flex; }
  body { padding-bottom: 64px; }
}
