/* Forzado de 2 columnas con CSS GRID */
.playas-camaras-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important; /* Fuerza 2 columnas iguales */
  gap: 20px !important;
  width: 100% !important;
  margin: 20px 0 !important;
}

.playas-camaras-wrapper .camara-container {
  box-sizing: border-box !important;
  background: #f8f8f8;
  padding: 15px;
  border-radius: 6px;
  border: 1px solid #eee;
  min-width: 0; /* Evita que el contenido desborde el grid */
}

.playas-camaras-wrapper .camara-title {
  font-size: 0.95rem;
  font-weight: bold;
  margin-bottom: 10px;
  text-align: center;
  color: #333;
  line-height: 1.2;
}

/* Efectos de la imagen */
.playas-camaras-wrapper .camara-live {
  width: 100%;
  height: auto;
  display: block;
  transition: opacity 0.5s ease, filter 0.3s ease !important;
}

/* Estado Loading al hacer clic */
.playas-camaras-wrapper .camara-live.is-loading {
  filter: blur(3px) grayscale(100%) brightness(0.6) !important;
  opacity: 0.7 !important;
  cursor: wait !important;
  pointer-events: none;
}

/* Efecto hover en modo reintento (error) */
.playas-camaras-wrapper .camara-live[style*="cursor: pointer"]:hover {
  filter: brightness(0.8);
  outline: 2px solid #007bff;
}

/* Responsive: solo 1 columna en móviles muy pequeños */
@media (max-width: 480px) {
  .playas-camaras-wrapper {
    grid-template-columns: 1fr !important;
  }
}