/* three-column-fix.css - Layout de 3 columnas para tamaños específicos */

/* Layout base para la galería - usando CSS Grid para control total */
.gallery-grid {
  display: grid;
  gap: 20px;
  width: 100%;
}

/* Por defecto 4 columnas en desktop */
@media (min-width: 1200px) {
  .gallery-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* Tamaño específico problemático (~1182px): 3 columnas */
@media (min-width: 1100px) and (max-width: 1199px) {
  /* 3 columnas explícitas */
  .gallery-grid {
    grid-template-columns: repeat(3, 1fr);
    /* Plantilla de grid personalizada: 2 filas completas y la tercera centralizada */
    grid-template-areas: 
      "item1 item2 item3"
      "item4 item5 item6"
      ". item7 item8";
  }
  
  /* Asignar cada elemento a su área específica */
  .gallery-item:nth-child(1) { grid-area: item1; }
  .gallery-item:nth-child(2) { grid-area: item2; }
  .gallery-item:nth-child(3) { grid-area: item3; }
  .gallery-item:nth-child(4) { grid-area: item4; }
  .gallery-item:nth-child(5) { grid-area: item5; }
  .gallery-item:nth-child(6) { grid-area: item6; }
  .gallery-item:nth-child(7) { grid-area: item7; }
  .gallery-item:nth-child(8) { grid-area: item8; }
  
  /* Ajustar márgenes y padding */
  #galeria {
    padding: 1rem !important;
  }
  
  /* Reducir tamaño de texto */
  .gallery-caption h5 {
    font-size: 0.9rem;
  }
  
  .gallery-caption p {
    font-size: 0.8rem;
  }
  
  /* Asegurar que las imágenes se ajusten correctamente */
  .gallery-img {
    max-width: 100%;
    height: auto;
  }
  
  /* Ajustes para menú lateral y contenido */
  .sidebar-modern {
    width: 50px !important;
  }
  
  .main-content {
    margin-left: 50px !important;
    width: calc(100% - 50px) !important;
  }
}

/* Tablets: 2 columnas */
@media (min-width: 768px) and (max-width: 1099px) {
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Móvil: 1 columna */
@media (max-width: 767px) {
  .gallery-grid {
    grid-template-columns: 1fr;
  }
}

/* Estilos específicos para los elementos de galería */
.gallery-item {
  position: relative;
  transition: transform 0.3s ease;
  overflow: hidden;
}

.gallery-img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  transition: transform 0.3s ease;
  cursor: pointer;
}

.gallery-img:hover {
  transform: scale(1.05);
}

.gallery-caption {
  margin-top: 10px;
}

/* Correcciones específicas para pantallas medianas */
@media (min-width: 1150px) and (max-width: 1250px) {
  .gallery-grid {
    gap: 15px;
  }
  
  .gallery-caption {
    margin-top: 7px;
  }
}