/* Social share block — same circular icon language as site messengers. */
.page-share {
  margin: 1.5rem auto 0.75rem;
  padding-top: 1.15rem;
  border-top: 1px solid rgba(26, 26, 26, 0.12);
}

.share {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.share-label {
  font-size: 12px;
  color: var(--ink-soft, #5a574e);
  letter-spacing: 0.02em;
}

.share-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.share-icons a,
.share-icons button {
  position: relative;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border-radius: 50%;
  border: 1px solid rgba(26, 26, 26, 0.14);
  background: transparent;
  color: var(--ink, #1a1a1a);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}

.share-icons a:hover,
.share-icons button:hover,
.share-icons button.is-copied {
  color: var(--accent, #e0151f);
  background: rgba(224, 21, 31, 0.08);
}

.share-icons svg {
  width: 18px;
  height: 18px;
}

.share-icons a[data-tip]::after,
.share-icons button[data-tip]::after {
  content: attr(data-tip);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 8px);
  transform: translateX(-50%);
  padding: 5px 8px;
  border-radius: 6px;
  background: var(--ink, #1a1a1a);
  color: #fff;
  font-size: 11px;
  line-height: 1.2;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease;
  z-index: 5;
}

.share-icons a[data-tip]:hover::after,
.share-icons a[data-tip]:focus-visible::after,
.share-icons button[data-tip]:hover::after,
.share-icons button[data-tip]:focus-visible::after {
  opacity: 1;
}

.share--compact .share-icons a,
.share--compact .share-icons button {
  width: 34px;
  height: 34px;
}

.share--compact .share-icons svg {
  width: 16px;
  height: 16px;
}
