/* Blog/archive page background */
.blog, 
.archive {
  background-color: #114109; /* dark green background */
  padding: 40px 0;
}

/* Archive page header ("Archives") */
.archive .page-header,
.blog .page-header,
.archive .page-title,
.blog .page-title {
  color: #d9d9d9; /* grey heading */
  text-align: center;
  margin-bottom: 40px;
}

/* Blog/archive grid layout - 3 columns */
.blog #main, 
.archive #main,
.blog .posts, 
.archive .posts {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); /* flexible 3 across */
  gap: 30px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

/* Each article card */
.blog article, 
.archive article {
  display: flex;
  flex-direction: column;
  border: 1px solid #1f6f12; /* darker green border */
  border-radius: 12px;
  overflow: hidden;
  background: #18550f; /* green outer card */
  box-shadow: 0 3px 10px rgba(0,0,0,0.08);
  transition: all 0.3s ease;
  padding: 20px;
  color: #d9d9d9;
}

/* Hover effect on article cards */
.blog article:hover, 
.archive article:hover {
  transform: translateY(-8px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.25);
}

/* Featured image */
.blog article img, 
.archive article img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: 8px;
  margin-bottom: 15px;
}

/* Titles inside blog cards */
.blog article h2, 
.blog article h2 a,
.archive article h2,
.archive article h2 a {
  font-size: 1.54rem;
  margin: 15px 0;
  line-height: 1.3;
  text-align: center;
  color: #d9d9d9 !important;
  text-decoration: none;
  transition: color 0.2s ease;
}

/* Hover state for titles */
.blog article h2 a:hover,
.archive article h2 a:hover {
  color: #ffffff !important;
}

/* Excerpts inside blog cards */
.blog article .entry-summary, 
.archive article .entry-summary {
  font-size: 0.95rem;
  line-height: 1.5;
  color: #d9d9d9 !important;
  margin-top: auto;

  display: -webkit-box;
  -webkit-line-clamp: 3; /* limit to 3 lines */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  min-height: 4.5em; /* keeps consistent height */
}

/* Read More link */
.blog article .read-more, 
.archive article .read-more {
  display: inline-block;
  margin-top: 10px;
  font-size: 0.9rem;
  color: #ffffff;
  text-decoration: underline;
  transition: color 0.2s ease;
}

.blog article .read-more:hover, 
.archive article .read-more:hover {
  color: #d9d9d9; /* softer grey hover */
}
