/**
 * BlogAuthorsPostsPage Styles
 * Posts filtered by a specific author.
 */

.header {
  padding-top: var(--section-spacing-md);
  padding-bottom: var(--section-spacing-xs);
}

.backLink {
  display: inline-flex;
  align-items: center;
  gap: var(--ai-spacing-xs);
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--ai-blue);
  text-decoration: none;
  margin-bottom: var(--ai-spacing-xl);
}

.backLink::before {
  content: '\2190';
}

.backLink:hover {
  text-decoration: underline;
}

.authorInfo {
  display: flex;
  align-items: flex-start;
  gap: var(--ai-spacing-xl);
}

.authorAvatar {
  flex-shrink: 0;
}

.authorImage {
  width: 100px;
  height: 100px;
  border-radius: var(--ai-radius-circle);
  object-fit: cover;
}

.authorPlaceholder {
  width: 100px;
  height: 100px;
  border-radius: var(--ai-radius-circle);
  background: var(--ai-blue-lighter);
  color: var(--ai-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3.6rem;
  font-weight: 700;
}

.authorDetails {
  display: flex;
  flex-direction: column;
  gap: var(--ai-spacing-xs);
}

.authorName {
  font-size: clamp(2.4rem, 2rem + 1.5vw, 3.6rem);
  font-weight: 700;
  line-height: 1.2;
  color: var(--ai-text-primary);
  margin: 0;
}

.authorTitle {
  font-size: 1.6rem;
  color: var(--ai-text-secondary);
  margin: 0;
  line-height: 1.4;
}

.postCount {
  font-size: 1.4rem;
  color: var(--ai-text-tertiary);
  margin: var(--ai-spacing-xs) 0 0 0;
}

.authorUrl {
  font-size: 1.4rem;
  color: var(--ai-blue);
  text-decoration: none;
  margin-top: var(--ai-spacing-sm);
}

.authorUrl:hover {
  text-decoration: underline;
}

.postsGrid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--ai-spacing-xl);
  padding-bottom: var(--ai-spacing-2xl);
}

@media (max-width: 992px) {
  .postsGrid {
    grid-template-columns: 1fr;
    gap: var(--ai-spacing-lg);
  }
}

@media (max-width: 768px) {
  .header {
    padding-top: var(--section-spacing-sm);
  }

  .authorInfo {
    flex-direction: column;
    gap: var(--ai-spacing-lg);
  }

  .authorImage,
  .authorPlaceholder {
    width: 80px;
    height: 80px;
  }

  .authorPlaceholder {
    font-size: 2.8rem;
  }
}
