.blog-gallery {
  max-width: 1100px;
  margin: 60px auto;
  padding: 0 20px;

  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
  gap: 60px;
}

.page-title {
  font-family: var(--title-font);
    font-size: 3rem;
    text-align: center;
    padding: 40px;
}

/* MAIN CARD */
.blog-card {
  background: var(--vanilla);
  border-radius: 40px;
  overflow: hidden;

  border: 8px solid var(--dark-slate);

  max-width: 600px; /* optional constraint */
  margin: 0 auto;

  cursor: pointer;
  transition: transform 0.25s ease;
}

.blog-card:hover {
  transform: translateY(-6px);
}

/* IMAGE SECTION */
.blog-image-wrapper {
  width: 100%;
  aspect-ratio: 12 / 7; /* 600x350 ratio */
  overflow: hidden;
  border-bottom: 8px solid var(--dark-slate);
}

.blog-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* CONTENT SECTION */
.blog-content {
  padding: 28px 36px 32px 36px;
  text-align: center;
}

/* TITLE */
.blog-title {
  font-family: var(--title-font);
  font-size: 34px;
  margin: 0 0 14px 0;
}

.blog-title::after {
  content: "";
  display: block;
  width: 80px;
  height: 3px;
  background: var(--powder-blue);
  margin: 14px auto 0 auto;
  border-radius: 3px;
}

/* SUBTITLE (left aligned per your request) */
.blog-subtitle {
  font-size: 17px;
  line-height: 1.6;
  text-align: left;
  margin: 0 0 18px 0;
}

/* DATE */
.blog-date {
  font-size: 16px;
  opacity: 0.8;
}