/* Enforce Close O Matic header font weight */
.main-header .navigation > li > a,
.main-header .navigation li a {
  font-weight: 800; /* or 700 if your main site uses bold */
}

/* === Blog Card Layout Fixes (Quadruple Decker Cheese Edition) === */

.bricklayer {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
  gap: 28px;
  margin-top: 40px;
}

.card {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.card:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

.card-image img {
  width: 100%;
  height: 240px;
  object-fit: cover;
}

.card-body {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4; /* Show 4 lines of summary text */
  overflow: hidden;
  min-height: 6.6em; /* keeps the cards uniform */
  line-height: 1.65;
}

.card-title a,
.card-title h5,
.card-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; /* limit to 2 lines */
  overflow: hidden;
}

@media (max-width: 768px) {
  .bricklayer {
    grid-template-columns: 1fr;
  }
  .card-image img {
    height: 220px;
  }
}

/* === Category Page Layout Enhancements (Cheese Refinement v2) === */

/* Adds vertical spacing below hero area (even if class differs) */
#body-wrapper.section,
.section.blog-listing,
.blog-listing.section {
  padding-top: 60px;
  padding-bottom: 90px;
}

/* Adds breathing room between top content (category heading/summary) and cards */
.category-hero,
.content-title,
.category-description,
.taxonomy-content {
  margin-bottom: 50px;
}

/* Ensures category card grid matches home */
.bricklayer {
  margin-top: 40px;
  gap: 32px;
}