/* Blog-specific styles */

/* Post Preview */
.post-preview {
  padding: var(--space-10) 0;
}

.post-preview-title {
  font-size: var(--text-xl);
  line-height: var(--text-xl-height);
  color: var(--text-primary);
}

@media (prefers-color-scheme: dark) {
  .post-preview-title {
    color: var(--color-gray-100);
  }
}

.post-preview-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.post-preview-link-text {
  font-weight: 600;
}

.post-preview-meta {
  margin-top: var(--space-2);
  color: var(--text-secondary);
  font-size: var(--text-sm);
  line-height: var(--text-sm-height);
}

@media (prefers-color-scheme: dark) {
  .post-preview-meta {
    color: var(--color-gray-400);
  }
}

.post-preview-summary {
  margin-top: var(--space-4);
}

.post-preview-readmore {
  display: block;
  margin-top: var(--space-6);
  color: var(--link-primary);
  font-weight: 600;
  text-decoration: none;
  transition: color 0.15s ease;
}

.post-preview-readmore:hover {
  color: var(--link-hover);
}

/* Blog Post Page */
.blog-post-header {
  /* Default styling from parent */
}

.blog-post-title {
  font-weight: 600;
  font-size: var(--text-3xl);
  line-height: var(--text-3xl-height);
  color: var(--text-primary);
}

@media (min-width: 1024px) {
  .blog-post-title {
    font-size: var(--text-4xl);
    line-height: var(--text-4xl-height);
  }
}

@media (prefers-color-scheme: dark) {
  .blog-post-title {
    color: var(--color-gray-100);
  }
}

.blog-post-meta {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: var(--space-4);
  color: var(--color-gray-500);
  font-size: var(--text-sm);
  line-height: var(--text-sm-height);
}

@media (min-width: 768px) {
  .blog-post-meta {
    flex-direction: row;
  }
}

@media (prefers-color-scheme: dark) {
  .blog-post-meta {
    color: var(--color-gray-400);
  }
}

.blog-post-separator {
  display: none;
  color: var(--color-gray-400);
}

@media (min-width: 768px) {
  .blog-post-separator {
    display: block;
  }
}

.blog-post-tags {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.blog-post-tag {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.375rem;
}

.blog-post-tag-separator {
  color: var(--color-gray-400);
}

.blog-post-tag-link {
  text-decoration: underline;
  text-decoration-color: var(--color-gray-300);
  color: var(--color-indigo-700);
  transition: text-decoration-color 0.15s ease;
}

.blog-post-tag-link:hover {
  text-decoration-color: var(--color-indigo-700);
}

@media (prefers-color-scheme: dark) {
  .blog-post-tag-link {
    color: var(--color-yellow-400);
    text-decoration-color: var(--color-gray-500);
  }
  
  .blog-post-tag-link:hover {
    text-decoration-color: var(--color-yellow-400);
  }
}

.blog-post-content {
  margin-top: var(--space-8);
}


/* Blog Index Page */
.blog-pagination-prev {
  display: block;
  margin-bottom: var(--space-12);
}

.blog-posts-list {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
}

.blog-posts-list > * {
  border-top: 2px solid var(--color-gray-100);
}

.blog-posts-list > *:first-child {
  border-top: none;
}

@media (prefers-color-scheme: dark) {
  .blog-posts-list > * {
    border-top-color: var(--color-gray-700);
  }
}

.blog-pagination-next {
  display: block;
  margin-top: var(--space-8);
}

/* Featured Post Preview */
.featured-post {
  padding: var(--space-10) 0;
}

.featured-post-title {
  font-size: var(--text-2xl);
  line-height: var(--text-2xl-height);
  color: var(--text-primary);
}

@media (min-width: 768px) {
  .featured-post-title {
    font-size: var(--text-3xl);
    line-height: var(--text-3xl-height);
  }
}

@media (prefers-color-scheme: dark) {
  .featured-post-title {
    color: var(--color-gray-100);
  }
}

.featured-post-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.featured-post-link-text {
  font-weight: 600;
}

.featured-post-meta {
  margin-top: var(--space-2);
  color: var(--text-secondary);
  font-size: var(--text-sm);
  line-height: var(--text-sm-height);
}

@media (prefers-color-scheme: dark) {
  .featured-post-meta {
    color: var(--color-gray-400);
  }
}

.featured-post-summary {
  margin-top: var(--space-6);
}

@media (min-width: 768px) {
  .featured-post-summary {
    font-size: var(--text-lg);
    line-height: var(--text-lg-height);
  }
}

.featured-post-readmore {
  display: block;
  margin-top: var(--space-6);
  color: var(--link-primary);
  font-weight: 600;
  text-decoration: none;
  transition: color 0.15s ease;
}

.featured-post-readmore:hover {
  color: var(--link-hover);
}

/* Blog list */
.blog-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.blog-pagination {
  display: flex;
  gap: var(--space-2);
  justify-content: center;
  padding: var(--space-8) 0;
}

.blog-header {
  margin-bottom: var(--space-8);
}

.blog-title {
  font-size: var(--text-3xl);
  line-height: var(--text-3xl-height);
  font-weight: 600;
  color: var(--text-primary);
}

@media (min-width: 768px) {
  .blog-title {
    font-size: var(--text-4xl);
    line-height: var(--text-4xl-height);
  }
}

@media (prefers-color-scheme: dark) {
  .blog-title {
    color: var(--color-gray-100);
  }
}

.blog-description {
  margin-top: var(--space-4);
  color: var(--text-secondary);
}

/* Blog post page */
.blog-post-header {
  margin-bottom: var(--space-8);
}

.blog-post-title {
  font-size: var(--text-3xl);
  line-height: var(--text-3xl-height);
  font-weight: 600;
  color: var(--text-primary);
}

@media (min-width: 768px) {
  .blog-post-title {
    font-size: var(--text-4xl);
    line-height: var(--text-4xl-height);
  }
}

@media (prefers-color-scheme: dark) {
  .blog-post-title {
    color: var(--color-gray-100);
  }
}

.blog-post-meta {
  margin-top: var(--space-4);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  color: var(--text-muted);
  font-size: var(--text-sm);
}

.blog-post-content {
  margin-top: var(--space-8);
}