/* Sphinx Agent — shared site footer.
   Pages with this stylesheet linked render the standardized <footer class="footer"> block consistently.
   Source of truth — do not re-inline these rules per page. */

.footer {
  background: #0f172a;
  color: #9ca3af;
  padding: 48px 20px;
}
.dark .footer { background: #000; }

.footer-grid {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}
@media (min-width: 640px) { .footer-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .footer-grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; } }

.footer h4 {
  color: #fff;
  font-weight: 600;
  margin-bottom: 14px;
  font-size: 0.95rem;
}
.footer ul { list-style: none; padding: 0; margin: 0; }
.footer ul li { margin-bottom: 8px; }
.footer a {
  color: #9ca3af;
  text-decoration: none;
  font-size: 0.88rem;
  transition: color 0.2s;
}
.footer a:hover { color: #fff; }

.footer-bottom {
  max-width: 1100px;
  margin: 32px auto 0;
  padding-top: 24px;
  border-top: 1px solid #1e293b;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  font-size: 0.85rem;
}
.footer-bottom a { color: #f472b6; }
.footer-bottom a:hover { color: #D4AF37; }

@media (min-width: 1400px) {
  .footer-grid, .footer-bottom { max-width: 1300px; }
}
@media (min-width: 1800px) {
  .footer-grid, .footer-bottom { max-width: 1500px; }
}
