/**
 * Showcase Pro blog styles.
 */

.blog-page,
.blog-posts-section,
body.blog,
body.archive,
body.single-post {
  background: var(--color-paper);
  color: var(--color-ink);
}

.blog-posts-section {
  padding-block: clamp(var(--space-2xl), 7vw, var(--space-4xl));
}

.blog-posts-section .section-header,
#shortcode-theme_blog_posts .section-header {
  width: min(calc(100% - (var(--page-gutter) * 2)), var(--content-width));
  margin: 0 auto var(--space-2xl);
  text-align: left;
}

#shortcode-theme_blog_posts {
background: var(--color-ink);
}

.blog-posts-section .section-title,
#shortcode-theme_blog_posts .section-title {
  margin: 0;
  color: var(--color-white);
  font-family: var(--font-display);
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-black);
  line-height: var(--line-height-heading);
  letter-spacing: var(--letter-spacing-tight);
}

#shortcode-theme_blog_posts .blog-grid,
#shortcode-theme_blog_posts .blog-posts-grid,
.blog-page #shortcode-theme_blog_posts .blog-list,
.blog-shortcode-list,
.blog .news-list,
.archive .site-main > .container {
  display: grid;
  width: min(calc(100% - (var(--page-gutter) * 2)), var(--content-width));
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-md);
  margin-inline: auto;
}

.blog .container {
  width: 100%;
}

#shortcode-theme_blog_posts .blog-card,
#shortcode-theme_blog_posts .blog-post-item,
.blog-shortcode-list .blog-card,
.blog .news-item,
.archive .site-main > .container article {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 18rem;
  overflow: hidden;
  border: var(--border-medium) solid rgb(26 20 16 / 12%);
  border-radius: var(--radius-xl);
  background: var(--color-surface);
  box-shadow: var(--shadow-soft);
  transition:
    transform var(--transition-slow),
    border-color var(--transition-base),
    box-shadow var(--transition-base);
}

#shortcode-theme_blog_posts .blog-card::before,
#shortcode-theme_blog_posts .blog-post-item::before,
.blog-shortcode-list .blog-card::before,
.blog .news-item::before,
.archive .site-main > .container article::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: .2rem;
  background: var(--color-primary);
}

#shortcode-theme_blog_posts .blog-card:hover,
#shortcode-theme_blog_posts .blog-post-item:hover,
.blog-shortcode-list .blog-card:hover,
.blog .news-item:hover,
.archive .site-main > .container article:hover {
  transform: translateY(var(--lift-distance));
  border-color: rgb(26 20 16 / 24%);
  box-shadow: var(--shadow-float);
}

#shortcode-theme_blog_posts .blog-card,
#shortcode-theme_blog_posts .blog-shortcode-list .blog-card,
.blog-page #shortcode-theme_blog_posts .blog-list .blog-card,
.blog-shortcode-list .blog-card,
.blog .news-item {
  padding: var(--space-lg);
}

#shortcode-theme_blog_posts .blog-image,
#shortcode-theme_blog_posts .blog-post-thumbnail,
.blog-shortcode-list .blog-image,
.blog .news-thumb,
.post-thumbnail {
  display: none;
}

#shortcode-theme_blog_posts .blog-content,
#shortcode-theme_blog_posts .blog-post-content,
.blog-shortcode-list .blog-content,
.blog .news-content,
.archive .entry-header,
.archive .entry-content,
.archive .entry-footer {
  position: relative;
  z-index: 1;
}

#shortcode-theme_blog_posts .blog-content,
#shortcode-theme_blog_posts .blog-post-content,
.blog-shortcode-list .blog-content,
.blog .news-content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-sm);
  width: 100%;
  padding: 0;
}

#shortcode-theme_blog_posts .blog-meta,
#shortcode-theme_blog_posts .blog-post-meta,
.blog .news-meta,
.single-post .blog-meta,
.archive .entry-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs);
  margin: 0 0 var(--space-xs);
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: .08em;
  line-height: 1.2;
  text-transform: uppercase;
}

#shortcode-theme_blog_posts .blog-category,
.blog .news-category,
.single-post .blog-category,
.archive .cat-links a,
.single-post .post-tags a {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: .24rem .58rem;
  border: var(--border-thin) solid rgb(26 20 16 / 12%);
  border-radius: var(--radius-pill);
  background: var(--color-primary-soft);
  color: var(--color-primary-dark);
  font-family: var(--font-mono);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: .08em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
}

#shortcode-theme_blog_posts h3,
#shortcode-theme_blog_posts .blog-post-title,
.blog .news-title,
.archive .entry-title {
  margin: 0;
  color: var(--color-ink);
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-heading);
  letter-spacing: var(--letter-spacing-tight);
}

#shortcode-theme_blog_posts h3 a,
#shortcode-theme_blog_posts .blog-post-title a,
.blog .news-title a,
.archive .entry-title a {
  color: inherit;
  text-decoration: none;
}

#shortcode-theme_blog_posts h3 a:hover,
#shortcode-theme_blog_posts .blog-post-title a:hover,
.blog .news-title a:hover,
.archive .entry-title a:hover {
  color: var(--color-primary);
}

#shortcode-theme_blog_posts .blog-content p,
#shortcode-theme_blog_posts .blog-post-excerpt,
.blog .news-excerpt,
.archive .entry-summary,
.archive .entry-content,
.single-post .entry-content {
  color: var(--color-muted-strong);
  font-size: var(--font-size-base);
  line-height: var(--line-height-body);
}

#shortcode-theme_blog_posts .blog-content p,
#shortcode-theme_blog_posts .blog-post-excerpt p,
.blog .news-excerpt,
.archive .entry-summary p,
.archive .entry-content p {
  margin: 0;
}

#shortcode-theme_blog_posts .blog-link,
#shortcode-theme_blog_posts .blog-post-read-more,
.blog .read-more-link,
.archive .read-more-link,
.blog-posts-footer .view-all-posts {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  width: fit-content;
  margin-top: auto;
  color: var(--color-primary);
  font-family: var(--font-mono);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: .08em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
}

#shortcode-theme_blog_posts .blog-link::after,
#shortcode-theme_blog_posts .blog-post-read-more::after,
.blog .read-more-link::after,
.archive .read-more-link::after,
.blog-posts-footer .view-all-posts::after {
  content: "->";
}

#shortcode-theme_blog_posts .blog-link:hover,
#shortcode-theme_blog_posts .blog-post-read-more:hover,
.blog .read-more-link:hover,
.archive .read-more-link:hover,
.blog-posts-footer .view-all-posts:hover {
  color: var(--color-secondary);
}

.blog-posts-footer {
  width: min(calc(100% - (var(--page-gutter) * 2)), var(--content-width));
  margin: var(--space-2xl) auto 0;
}


.blog-posts-footer .view-all-posts {
  background: var(--color-primary);
  border-color: var(--color-ink);
  color: var(--color-white);
  box-shadow: 4px 4px 0 var(--color-ink);
}

.blog-posts-footer .view-all-posts:hover {
  background: var(--color-secondary);
  color: var(--color-white);
  box-shadow: 6px 6px 0 var(--color-ink);
}

@media (max-width: 640px) {
  .blog-posts-footer {
    display: flex;
    justify-content: center;
  }
}

.blog-image-placeholder {
  display: flex;
  min-height: 14rem;
  align-items: center;
  justify-content: center;
  padding: var(--space-lg);
  background: var(--color-paper-deep);
  color: var(--color-primary);
  font-family: var(--font-mono);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing-wide);
  text-align: center;
  text-transform: uppercase;
}

.archive .site-main,
.single-post .site-main {
  padding-block: clamp(var(--space-2xl), 7vw, var(--space-4xl));
}

.single-post .site-main {
  padding-block-start: 0;
}

.single-post .breadcrumb-section + .blog {
  padding-block-start: clamp(var(--space-2xl), 6vw, var(--space-3xl));
}

.archive .page-header,
.blog .page-header,
.blog-index-header {
  width: min(calc(100% - (var(--page-gutter) * 2)), var(--content-width));
  margin: 0 auto var(--space-2xl);
}

.archive .page-title,
.blog .page-title,
.blog-index-header .page-title {
  margin: 0;
  color: var(--color-ink);
  font-family: var(--font-display);
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-black);
  line-height: var(--line-height-heading);
  letter-spacing: var(--letter-spacing-tight);
}

.archive .site-main > .container article {
  padding: var(--space-lg);
}

.archive .entry-header {
  margin-bottom: var(--space-md);
}

.archive .entry-content {
  display: grid;
  gap: var(--space-md);
}

.archive .entry-footer {
  margin-top: var(--space-lg);
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: var(--font-size-xs);
  letter-spacing: .06em;
  text-transform: uppercase;
}

.single-post .blog-article,
.single-post article.post {
  width: min(calc(100% - (var(--page-gutter) * 2)), var(--content-width-narrow));
  margin: 0 auto var(--space-2xl);
  padding: clamp(var(--space-xl), 5vw, var(--space-3xl));
  border: var(--border-soft);
  border-radius: var(--radius-xl);
  background: var(--color-surface);
  box-shadow: var(--shadow-soft);
}

.single-post .entry-header {
  margin-bottom: var(--space-xl);
}

.single-post .entry-title {
  margin: 0 0 var(--space-md);
  color: var(--color-ink);
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 7vw, 5rem);
  font-weight: var(--font-weight-black);
  line-height: var(--line-height-tight);
  letter-spacing: var(--letter-spacing-tight);
}

.single-post figure.blog-image,
.single-post .post-thumbnail {
  display: none;
}

.single-post .entry-content > * + * {
  margin-top: var(--space-lg);
}

.single-post .entry-content h2,
.single-post .entry-content h3 {
  color: var(--color-ink);
  font-family: var(--font-display);
  line-height: var(--line-height-heading);
}

.single-post .entry-content a {
  color: var(--color-primary);
  font-weight: var(--font-weight-semibold);
}

.single-post .entry-content blockquote {
  margin: var(--space-xl) 0;
  padding: var(--space-lg) var(--space-xl);
  border-left: .25rem solid var(--color-primary);
  border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
  background: var(--color-primary-soft);
  color: var(--color-ink);
  font-family: var(--font-display);
  font-size: var(--font-size-lg);
  font-style: italic;
}

.single-post .entry-footer {
  margin-top: var(--space-xl);
  padding-top: var(--space-lg);
  border-top: var(--border-soft);
}

.single-post .post-tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  margin-bottom: var(--space-lg);
}

.single-post .post-navigation .nav-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-md);
  margin-top: var(--space-xl);
}

.single-post .post-navigation a {
  display: block;
  height: 100%;
  padding: var(--space-md);
  border: var(--border-soft);
  border-radius: var(--radius-lg);
  background: var(--color-paper-light);
  color: var(--color-ink);
  font-weight: var(--font-weight-semibold);
  text-decoration: none;
}

.single-post .post-navigation a:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
}

#shortcode-theme_blog_posts .navigation.pagination,
.blog-page .navigation.pagination,
.archive .navigation.pagination {
  display: flex;
  width: min(calc(100% - (var(--page-gutter) * 2)), var(--content-width));
  justify-content: center;
  margin: var(--space-2xl) auto 0;
}

#shortcode-theme_blog_posts .navigation.pagination .nav-links,
.blog-page .navigation.pagination .nav-links,
.archive .navigation.pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-xs);
}

#shortcode-theme_blog_posts .navigation.pagination .page-numbers,
.blog-page .navigation.pagination .page-numbers,
.archive .navigation.pagination .page-numbers {
  display: inline-flex;
  min-width: 2.55rem;
  min-height: 2.55rem;
  align-items: center;
  justify-content: center;
  padding: .5rem .8rem;
  border: var(--border-soft);
  border-radius: var(--radius-pill);
  background: var(--color-surface);
  color: var(--color-ink);
  font-family: var(--font-mono);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}

#shortcode-theme_blog_posts .navigation.pagination .page-numbers.current,
.blog-page .navigation.pagination .page-numbers.current,
.archive .navigation.pagination .page-numbers.current {
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: var(--color-white);
}

#shortcode-theme_blog_posts .navigation.pagination .page-numbers:hover,
.blog-page .navigation.pagination .page-numbers:hover,
.archive .navigation.pagination .page-numbers:hover {
  border-color: var(--color-secondary);
  background: var(--color-secondary);
  color: var(--color-white);
}

@media (max-width: 980px) {
  #shortcode-theme_blog_posts .blog-grid,
  #shortcode-theme_blog_posts .blog-posts-grid,
  #shortcode-theme_blog_posts .blog-list,
  #shortcode-theme_blog_posts .blog-shortcode-list,
  .blog-shortcode-list,
  .blog .news-list,
  .archive .site-main > .container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  #shortcode-theme_blog_posts .blog-grid,
  #shortcode-theme_blog_posts .blog-posts-grid,
  #shortcode-theme_blog_posts .blog-list,
  #shortcode-theme_blog_posts .blog-shortcode-list,
  .blog-shortcode-list,
  .blog .news-list,
  .archive .site-main > .container {
    grid-template-columns: 1fr !important;
    width: min(calc(100% - 2rem), var(--content-width));
  }

  #shortcode-theme_blog_posts .blog-card,
  #shortcode-theme_blog_posts .blog-post-item,
  .blog-shortcode-list .blog-card,
  .blog .news-item,
  .archive .site-main > .container article {
    border-radius: var(--radius-lg);
  }

  #shortcode-theme_blog_posts .blog-content,
  #shortcode-theme_blog_posts .blog-post-content,
  .blog-shortcode-list .blog-content,
  .archive .site-main > .container article {
    padding: var(--space-md);
  }

  .blog .news-content {
    padding: 0;
  }

  .single-post .blog-article,
  .single-post article.post {
    width: min(calc(100% - 1.5rem), var(--content-width-narrow));
    padding: var(--space-lg);
  }

  .single-post .post-navigation .nav-links {
    grid-template-columns: 1fr;
  }
}
