.content-block {
  margin: 0 0 24px;
}

.content-block-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 16px;
}

.gallery-item {
  display: block;
  text-decoration: none;
}

.gallery-thumb {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 6px;
}

.gallery-caption {
  margin-top: 6px;
  font-size: 0.875rem;
  color: #555;
  text-align: center;
}

/* Logo galleries (e.g. corporate partner walls): logos aren't square, so
   cropping them with object-fit:cover (the default, right for photo grids)
   cuts off parts of the mark. Use a wider, uncropped tile instead.
   auto-fill with a capped track size (not auto-fit with 1fr) keeps each
   tile a consistent size regardless of item count -- a lone logo in a
   block otherwise stretches to fill the entire row width. */
.content-block-gallery--logo {
  grid-template-columns: repeat(auto-fill, minmax(140px, 180px));
  justify-content: start;
}

.content-block-gallery--logo .gallery-thumb {
  aspect-ratio: 3 / 2;
  object-fit: contain;
  background: #fff;
  border: 1px solid #eee;
  padding: 8px;
  border-radius: 4px;
}

/* House heading style for content blocks. The legacy Weebly theme colored
   each heading individually via inline <font color> (not preserved on
   import -- see sanitizeBodyHtml), so this is one consistent brand color
   for all headings rather than an attempt to reproduce which heading was
   red vs green on any given legacy page. */
.content-block-text h2 {
  color: #248d6c;
  font-size: 1.75rem;
  font-weight: 700;
  margin: 0 0 12px;
}

/* House accent color for a <span class="content-highlight">, replacing the
   legacy theme's per-instance inline <font color> (not preserved on
   import -- see sanitizeBodyHtml's CONTENT_HIGHLIGHT allowlist). */
.content-highlight {
  color: #e05252;
}
