/* Faithful Father — Grid Patterns helper styles */
/* Responsive columns */
.ff-grid .wp-block-post-template{
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 1024px){
  .ff-grid .wp-block-post-template{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .ff-grid .wp-block-post-template{ grid-template-columns: 1fr; }
}

/* Consistent image aspect + hover */
.ff-grid .wp-block-post-featured-image{
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border-radius: 12px;
}
.ff-grid .wp-block-post-featured-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .2s ease;
}
.ff-grid .wp-block-post-featured-image a:hover img{ transform: scale(1.03); }

/* Equal-height cards using flex */
.ff-grid .wp-block-post{ display: flex; }
.ff-grid .ff-card{
  display: flex;
  flex-direction: column;
  height: 100%;
}
.ff-grid .ff-card .wp-block-post-title{ margin-top: .6rem; }
.ff-grid .ff-card .wp-block-post-date{ margin-top: auto; color: #6b7280; font-size: 0.9rem; }

/* Category badge overlay */
.ff-thumb { position: relative; }
.ff-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--ff-gold, #CBA135);
  color: var(--ff-navy, #0A1F44);
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 13px;
  line-height: 1;
}
.ff-badge a { color: inherit; text-decoration: none; }