/* ==========================================================================
   Archive / Blog / Category — dark design for tefl.ai
   Fixes white-on-white text (Astra separate-container white boxes + the site's
   global white text colour) and modernises the header + post cards to match
   the site's dark aesthetic and the search-results page.
   Scoped to .archive (category/tag/author/date/taxonomy) and .blog (post index).
   ========================================================================== */

/* ---- Kill Astra's white boxes on these templates ---- */
.archive .ast-separate-container .ast-article-post,
.blog .ast-separate-container .ast-article-post,
.archive .site-content,
.blog .site-content { background: transparent !important; }

/* ---- Header banner ---- */
.archive .ast-archive-description,
.blog .ast-archive-description {
  background: linear-gradient(180deg, #0b1220 0%, #0a0f18 100%) !important;
  border: 1px solid #16202e;
  border-radius: 16px;
  padding: 42px 40px !important;
  margin-bottom: 34px !important;
  text-align: left;
}
.archive .ast-archive-title,
.blog .ast-archive-title {
  color: #ffffff !important;
  font-size: 38px;
  line-height: 1.15;
  font-weight: 800;
  margin: 0 0 14px 0;
}
.archive .ast-archive-description p,
.blog .ast-archive-description p {
  color: #c7d2e2 !important;          /* was invisible white */
  font-size: 17px;
  line-height: 1.6;
  max-width: 860px;
  margin: 0;
}

/* ---- Grid spacing ---- */
.archive .ast-row,
.blog .ast-row { row-gap: 28px; }
.archive .ast-article-post,
.blog .ast-article-post { display: flex; }   /* let inner stretch to equal height */

/* ---- Cards ---- */
.archive .ast-article-post .ast-article-inner,
.blog .ast-article-post .ast-article-inner {
  background: #0f141c !important;
  border: 1px solid #1e2836 !important;
  border-radius: 14px !important;
  padding: 0 0 22px 0 !important;      /* remove 27px box padding → image full-bleed */
  overflow: hidden;
  width: 100%;
  transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.archive .ast-article-post .ast-article-inner:hover,
.blog .ast-article-post .ast-article-inner:hover {
  border-color: #046BD2 !important;
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(0,0,0,.45);
}

/* Featured image — full-bleed top of card */
.archive .ast-blog-featured-section,
.blog .ast-blog-featured-section { margin: 0 !important; }
.archive .ast-blog-featured-section img,
.blog .ast-blog-featured-section img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
  border-radius: 0;
  margin: 0;
}

/* Category chip */
.archive .ast-taxonomy-container,
.blog .ast-taxonomy-container { display: inline-block; margin: 18px 22px 0 22px; }
.archive .cat-links a,
.blog .cat-links a {
  display: inline-block;
  background: #101c2e;
  color: #7db4ee;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: .6px;
  text-transform: uppercase;
  padding: 5px 11px;
  border-radius: 999px;
  text-decoration: none;
}
.archive .cat-links a:hover,
.blog .cat-links a:hover { background: #16273d; color: #a9cdf3; }

/* Title */
.archive .ast-article-post .entry-title,
.blog .ast-article-post .entry-title {
  margin: 12px 22px 8px 22px;
  font-size: 20px;
  line-height: 1.3;
  font-weight: 700;
}
.archive .ast-article-post .entry-title a,
.blog .ast-article-post .entry-title a { color: #ffffff !important; text-decoration: none; }
.archive .ast-article-post .ast-article-inner:hover .entry-title a,
.blog .ast-article-post .ast-article-inner:hover .entry-title a { color: #7db4ee !important; }

/* Excerpt — was invisible white */
.archive .ast-article-post .ast-excerpt-container,
.archive .ast-article-post .ast-excerpt-container p,
.archive .ast-article-post .post-content > p,
.blog .ast-article-post .ast-excerpt-container,
.blog .ast-article-post .ast-excerpt-container p,
.blog .ast-article-post .post-content > p {
  color: #9CA3AF !important;
  font-size: 14.5px;
  line-height: 1.6;
  margin: 0 22px !important;
}

/* Meta (author / date) */
.archive .ast-article-post .entry-header,
.blog .ast-article-post .entry-header { margin: 14px 22px 0 22px; padding: 0; border: 0; }
.archive .ast-article-post .entry-meta,
.blog .ast-article-post .entry-meta { font-size: 13px; }
.archive .ast-article-post .entry-meta a,
.archive .ast-article-post .entry-meta .posted-on,
.archive .ast-article-post .entry-meta .posted-on a,
.blog .ast-article-post .entry-meta a,
.blog .ast-article-post .entry-meta .posted-on,
.blog .ast-article-post .entry-meta .posted-on a { color: #7db4ee !important; }
.archive .ast-article-post .entry-meta .author-name,
.blog .ast-article-post .entry-meta .author-name { color: #c7d2de !important; font-weight: 600; }

/* Read more (if theme outputs it) */
.archive .ast-article-post .read-more a,
.archive .ast-article-post .ast-button,
.blog .ast-article-post .read-more a,
.blog .ast-article-post .ast-button {
  display: inline-block;
  margin: 16px 22px 0 22px;
  color: #7db4ee;
  font-weight: 700;
  text-decoration: none;
}
.archive .ast-article-post .read-more a:hover,
.blog .ast-article-post .read-more a:hover { text-decoration: underline; }

/* ---- Pagination (match search) ---- */
.archive .navigation.pagination,
.blog .navigation.pagination { margin-top: 38px; }
.archive .nav-links,
.blog .nav-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px; }
.archive .nav-links a,
.archive .nav-links .page-numbers,
.blog .nav-links a,
.blog .nav-links .page-numbers {
  color: #c7d2e2;
  text-decoration: none;
  padding: 8px 14px;
  border: 1.5px solid #1e2836;
  border-radius: 10px;
  background: #0f141c;
  font-size: 15px;
}
.archive .nav-links a:hover,
.blog .nav-links a:hover { border-color: #046BD2; color: #fff; }
.archive .nav-links .current,
.blog .nav-links .current { background: #046BD2; border-color: #046BD2; color: #fff; }
.archive .nav-links .screen-reader-text,
.blog .nav-links .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---- Responsive ---- */
@media (max-width: 921px) {
  .archive .ast-archive-description,
  .blog .ast-archive-description { padding: 30px 24px !important; }
  .archive .ast-archive-title,
  .blog .ast-archive-title { font-size: 30px; }
  .archive .ast-archive-description p,
  .blog .ast-archive-description p { font-size: 16px; }
}
