/* One compact pre-footer treatment for every page. Uses the footer's .wrap grid. */
.footer-social {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  color: var(--paper);
  background: var(--pine);
  border: 0;
  border-radius: 0;
}
.footer-social::before,
.footer-social::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: var(--gold-divider-height);
  background: var(--gold-divider-fill);
  box-shadow: var(--gold-divider-shadow);
  pointer-events: none;
}
.footer-social::before { top: 0; }
.footer-social::after { bottom: 0; }
.footer-social-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  padding-top: 18px;
  padding-bottom: 18px;
}
.footer-social-message {
  min-width: 0;
  margin: 0;
  font: 600 20px/1.45 'Fraunces', Georgia, serif;
}
.footer-social-buttons {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  min-width: 0;
}
.footer-social-buttons .social-art-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 180px;
  max-width: 100%;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  transition: transform .18s;
}
.footer-social-buttons img {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 3px 3px #001b1733);
}
.footer-social-buttons .social-art-link:hover { transform: translateY(-2px); }
/* The band supplies the shared lower rule; avoid doubling the footer's rule. */
.footer-social + .site-footer::before { content: none; }
@media (max-width: 720px) {
  .footer-social-inner { grid-template-columns: 1fr; gap: 10px; text-align: center; }
  .footer-social-buttons { justify-content: center; }
}
@media (max-width: 600px) {
  .footer-social-inner { padding-top: 20px; padding-bottom: 18px; gap: 12px; }
  .footer-social-message { font-size: 18px; }
  .footer-social-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 180px)); gap: 10px; }
  .footer-social-buttons .social-art-link { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .footer-social-buttons .social-art-link { transition: none; }
}
