/**
 * @file
 * Galería de imágenes – Estilos para los bloques programáticos.
 */

/* ── Grid de imágenes ──
 * Max 3 columnas, min 250px ancho, 10px gap
 * Estilo de imagen: large (480×480)
 */
.galeria-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 20px;
}

/* Responsive: en pantallas medianas 2 columnas */
@media (max-width: 800px) {
  .galeria-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Responsive: en móviles 1 columna */
@media (max-width: 500px) {
  .galeria-grid {
    grid-template-columns: 1fr;
  }
}

.galeria-item {
  overflow: hidden;
  border-radius: 4px;
  line-height: 0;
  min-width: 250px;
}

.galeria-item img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.galeria-item a:hover img {
  transform: scale(1.02);
}

/* ── Tabs ──
 * Replicando estilos de .galeria-general .filters-row--top .bef-links-use-ajax ul
 */
.galeria-tabs-wrapper {
  margin-bottom: 16px;
}

.galeria-tabs {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  gap: 20px;
  padding: 20px 0;
  border-bottom: none;
}

.galeria-tab {
  display: inline-block;
  padding: 15px 0;
  text-decoration: none;
  color: #666 !important;
  font-size: 16px;
  border-bottom: 1px solid #999;
  white-space: nowrap;
  transition: color 0.2s, border-color 0.2s;
}

.galeria-tab:hover {
  border-bottom: 2px solid #0056b3;
  color: #000 !important;
  font-weight: 700;
}

.galeria-tab--active {
  border-bottom: 2px solid #0056b3;
  padding: 15px 0;
  font-weight: 700;
  color: #000 !important;
}

.galeria-tabs-toggle {
  margin-top: 8px;
  color: #000 !important;
  font-weight: 700;
  background-color: #f5f5f5;
  padding: 10px;
  border-radius: 4px;
  border: none;
  cursor: pointer;
}

/* ── Vacío ── */
.galeria-empty {
  text-align: center;
  color: #888;
  padding: 40px 20px;
  font-size: 15px;
}

/* ── Responsive tabs ── */
@media (max-width: 600px) {
  .galeria-tab {
    padding: 8px 10px;
    font-size: 13px;
  }
}
