.sa-section--galeria {
  background: #30A2DC;
  padding: clamp(96px, 100vh, 160px) 0;
}
.sa-section--galeria .sa-section__title { color: #fff; }

/* ── Mosaico 4 col × 2 filas ─────────────────────────────────── */
.sa-galeria-mosaic {
  display: grid;
  grid-template-columns: 3fr 2fr 3fr 2fr;
  grid-template-rows: repeat(2, clamp(180px, 20vw, 280px));
  gap: clamp(10px, 1.2vw, 18px);
}

/* Posicionamiento explícito de los 6 items */
.sa-galeria-card:nth-child(1) { grid-column: 1; grid-row: 1 / 3; }
.sa-galeria-card:nth-child(2) { grid-column: 2; grid-row: 1; }
.sa-galeria-card:nth-child(3) { grid-column: 2; grid-row: 2; }
.sa-galeria-card:nth-child(4) { grid-column: 3; grid-row: 1 / 3; }
.sa-galeria-card:nth-child(5) { grid-column: 4; grid-row: 1; }
.sa-galeria-card:nth-child(6) { grid-column: 4; grid-row: 2; }

/* ── Layout adaptativo según cantidad ─────────────────────────── */
.sa-galeria-mosaic[data-count="1"] .sa-galeria-card,
.sa-galeria-mosaic[data-count="2"] .sa-galeria-card,
.sa-galeria-mosaic[data-count="3"] .sa-galeria-card,
.sa-galeria-mosaic[data-count="4"] .sa-galeria-card,
.sa-galeria-mosaic[data-count="5"] .sa-galeria-card {
  grid-column: auto;
  grid-row: auto;
}
.sa-galeria-mosaic[data-count="1"] {
  grid-template-columns: minmax(0, 720px);
  grid-template-rows: clamp(280px, 30vw, 420px);
  justify-content: center;
}
.sa-galeria-mosaic[data-count="2"] {
  grid-template-columns: 1fr 1fr;
  grid-template-rows: clamp(220px, 24vw, 360px);
}
.sa-galeria-mosaic[data-count="3"] {
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: clamp(200px, 22vw, 320px);
}
.sa-galeria-mosaic[data-count="4"] {
  grid-template-columns: 1fr 1fr;
  grid-template-rows: repeat(2, clamp(200px, 22vw, 320px));
}
.sa-galeria-mosaic[data-count="5"] {
  grid-template-columns: 2fr 3fr 2fr;
  grid-template-rows: repeat(2, clamp(180px, 20vw, 280px));
}
.sa-galeria-mosaic[data-count="5"] .sa-galeria-card:nth-child(1) { grid-column: 1; grid-row: 1; }
.sa-galeria-mosaic[data-count="5"] .sa-galeria-card:nth-child(2) { grid-column: 1; grid-row: 2; }
.sa-galeria-mosaic[data-count="5"] .sa-galeria-card:nth-child(3) { grid-column: 2; grid-row: 1 / 3; }
.sa-galeria-mosaic[data-count="5"] .sa-galeria-card:nth-child(4) { grid-column: 3; grid-row: 1; }
.sa-galeria-mosaic[data-count="5"] .sa-galeria-card:nth-child(5) { grid-column: 3; grid-row: 2; }

/* ── Tarjeta ─────────────────────────────────────────────────── */
.sa-galeria-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.sa-galeria-card__thumb {
  flex: 1;
  min-height: 0;
  overflow: hidden;
  margin: 0;
  position: relative;
}
.sa-galeria-card__thumb img,
.sa-galeria-card__thumb-ph {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.sa-galeria-card__thumb-ph { background: #b8c8d4; }
.sa-galeria-card__thumb img { transition: transform .35s; }
.sa-galeria-card:hover .sa-galeria-card__thumb img { transform: scale(1.04); }

.sa-galeria-card__body {
  padding: clamp(10px, 1.1vw, 16px) clamp(12px, 1.3vw, 18px);
  flex-shrink: 0;
}
.sa-galeria-card__title {
  font-size: clamp(11px, 0.95vw, 14px);
  font-weight: 700;
  text-transform: uppercase;
  color: #111;
  margin-bottom: 6px;
  line-height: 1.2;
}
.sa-galeria-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.sa-galeria-card__date {
  font-size: clamp(10px, 0.8vw, 12px);
  font-weight: 500;
  color: var(--sc-orange);
}
.sa-galeria-card__btn {
  font-size: clamp(9px, 0.72vw, 11px);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  background: var(--sc-blue);
  color: #fff;
  padding: 5px 12px;
  border-radius: 999px;
  white-space: nowrap;
  transition: filter .2s;
}
.sa-galeria-card__btn:hover { filter: brightness(.9); }

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 900px) {
  .sa-galeria-mosaic {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
  }
  .sa-galeria-card:nth-child(n) {
    grid-column: auto;
    grid-row: auto;
  }
}
