/**
 * Shared social icons — theme-neutral base styles.
 */

.lq-social-icons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--lq-social-icon-gap, 0.75rem);
}

.lq-social-icons--align-left {
  justify-content: flex-start;
}

.lq-social-icons--align-center {
  justify-content: center;
}

.lq-social-icons--align-right {
  justify-content: flex-end;
}

.lq-social-icons__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--lq-social-icon-color, inherit);
  background: var(--lq-social-icon-background, transparent);
  border: var(--lq-social-icon-border, 0);
  border-radius: var(--lq-social-icon-radius, 0);
  padding: var(--lq-social-icon-padding, 0);
  text-decoration: none;
  line-height: 0;
  transition:
    color 0.2s ease,
    background-color 0.2s ease,
    border-color 0.2s ease;
}

.lq-social-icons__link:hover {
  color: var(--lq-social-icon-hover-color, currentColor);
  background: var(--lq-social-icon-hover-background, transparent);
}

.lq-social-icons__link:focus-visible {
  color: var(
    --lq-social-icon-focus-color,
    var(--lq-social-icon-hover-color, currentColor)
  );
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

.lq-social-icons__icon {
  display: block;
  width: var(--lq-social-icon-size, 1em);
  height: var(--lq-social-icon-size, 1em);
  transform: translateY(var(--lq-social-icon-vertical-offset, 0));
  line-height: 0;
}

.lq-social-icons__icon svg,
.lq-social-icons__icon img,
.lq-social-icons__icon i {
  display: block;
  width: 100%;
  height: 100%;
}

.lq-social-icons__icon i {
  font-size: var(--lq-social-icon-size, 1em);
  line-height: 1;
  width: auto;
  height: auto;
}

.lq-social-icons__icon img {
  object-fit: contain;
}

.lq-social-icons__svg {
  fill: currentColor;
}

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