/* ===== Shared Component Styles ===== */

/* Footer inner wrapper (avoids clash with homepage .wrap) */
.site-footer-wrap {
  max-width: var(--max-width, 1120px);
  margin: 0 auto;
  padding: 0 24px;
}

/* Brand mark in topbar — enhanced dot */
.docs-brand-mark {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--accent-cyan), var(--accent-purple));
  box-shadow: 0 0 22px rgba(0, 229, 255, 0.35);
  flex-shrink: 0;
}

/* ===== Footer ===== */
footer {
  padding: 60px 0 32px;
  border-top: 1px solid var(--border-subtle);
}

.footer-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-bottom: 40px;
}

.footer-col h4 {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 0.85rem;
  margin-bottom: 16px;
}

.footer-col ul { list-style: none; }

.footer-col li {
  margin-bottom: 8px;
}

.footer-col a {
  font-size: 0.85rem;
  color: var(--text-secondary);
  transition: color 0.2s;
}

.footer-col a:hover { color: var(--text-primary); }

.footer-col .coming-soon {
  font-size: 0.85rem;
  color: var(--text-muted);
}

.footer-bottom {
  text-align: center;
  font-size: 0.78rem;
  color: var(--text-muted);
  padding-top: 24px;
  border-top: 1px solid var(--border-subtle);
}

@media (max-width: 1023px) {
  .footer-grid { grid-template-columns: 1fr; }
}

@media (max-width: 860px) {
  .site-footer-wrap { padding: 0 20px; }
}

@media (max-width: 639px) {
  .site-footer-wrap { padding: 0 16px; }
}
