/* Link Components and Variations */

/* Content Title Links (series titles, book titles) */
.content-title-link {
  color: var(--color-heading-primary);
  font-weight: var(--font-weight-medium);
  font-size: var(--font-size-2xl);
  border-radius: var(--border-radius-sm);
  transition: all var(--transition-normal);
  border: var(--border-width-sm) solid transparent;
  margin-bottom: 0;
}

.content-title-link:hover {
  color: var(--color-heading-secondary);
  background-color: var(--gold-bg-subtle);
  border-color: var(--gold-outline);
  box-shadow: var(--glow-gold);
  text-decoration: none;
}

.content-title-link:active,
.content-title-link:focus {
  color: var(--color-heading-tertiary);
  background-color: var(--gold-bg-medium);
  border-color: var(--gold-outline-strong);
  box-shadow: var(--glow-gold);
  outline: none;
  text-decoration: none;
}

/* The canonical title under a search hit that matched one of its variants */
.search-result-variant-of {
  display: block;
  color: var(--color-text-tertiary);
  font-size: var(--font-size-sm);
}

/* Author Links */
.author-link {
  color: var(--color-link-primary);
  padding: var(--space-xs) 0;
  margin-left: 0;
  margin-right: 0;
  border-radius: var(--border-radius-sm);
  transition: all var(--transition-normal);
  border: var(--border-width-sm) solid transparent;
}

.author-link:hover {
  color: var(--color-link-hover);
  background-color: var(--hover-bg-subtle);
  border-color: var(--hover-outline);
  text-decoration: none;
}

/* Action Links (View Details, etc.) */
.action-link {
  color: var(--color-link-primary);
  padding: var(--space-xs) var(--space-sm);
  border-radius: var(--border-radius-sm);
  transition: all var(--transition-normal);
  border: var(--border-width-sm) solid transparent;
}

.action-link:hover {
  color: var(--color-link-hover);
  background-color: var(--hover-bg-subtle);
  border-color: var(--hover-outline);
  text-decoration: none;
}

/* Cover/Image Links */
.cover-link {
  display: block;
  transition: all var(--transition-slow);
  border-radius: var(--border-radius-sm);
  overflow: hidden;
}

/* Only apply hover effects to actual links (a tags) */
a.cover-link:hover {
  box-shadow: var(--glow-purple);
}

a.cover-link:hover,
a.cover-link:focus {
  transform: scale(1.02);
  outline: var(--border-width-md) solid var(--color-link-primary);
  outline-offset: var(--border-width-md);
}

/* Author Section Styling */
.authors-list {
  margin-bottom: var(--space-md);
}

/* Mobile dense author spacing and title sizing */
@media (max-width: 768px) {
  .authors-list {
    margin-bottom: var(--space-mobile-sm);
  }

  /* Reduce content title size for density */
  .content-title-link {
    font-size: var(--font-size-xl); /* 2xl -> xl */
  }
}

.authors-section {
  margin-bottom: var(--space-sm);
  margin-top: var(--space-xs);
}

.author-separator {
  color: var(--color-text-secondary);
  margin-left: 0;
  margin-right: var(--space-xs);
}