/* Shared social footer: quiet, centered icons with generous click targets. */
.social-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.social-links li { display: flex; margin: 0; padding: 0; }

.social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border-radius: 50%;
  color: var(--ink-soft);
  background: transparent;
  text-decoration: none;
  line-height: 1;
  transition: color 160ms ease, background-color 160ms ease;
}

.social-link svg {
  display: block;
  width: 20px;
  height: 20px;
  flex: none;
  pointer-events: none;
}

a.social-link:hover {
  color: var(--accent);
  background: var(--accent-tint);
  text-decoration: none;
}

.social-link:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
  border-radius: 50%;
}

.social-link[aria-disabled="true"] {
  color: var(--ink-faint);
  opacity: .55;
  cursor: default;
}

/* Existing page footers keep their text links and copyright on their own row. */
.footer-social { flex: 1 0 100%; width: 100%; }
.mixtape-social-footer { padding-top: 1.5rem; }

@media (prefers-reduced-motion: reduce) {
  .social-link { transition: none; }
}

@media print {
  .footer-social, .mixtape-social-footer { display: none; }
}
