/* CARRUSEL HERO */
.hero { 
    position: relative; 
    width: 100%;
    height: 450px; 
    background: #000; 
    border-bottom: 3px solid var(--neon-cyan);
    overflow: hidden;
    border-radius: 20px; /* Bordes redondeados para que no choque con el fondo */
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.carousel-item { display: none; width: 100%; height: 100%; }
.carousel-item.active { display: flex; justify-content: center; align-items: center; }
.carousel-item img { width: 100%; height: 100%; object-fit: contain; }

.prev, .next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.6);
    color: var(--neon-cyan);
    border: 1px solid var(--neon-cyan);
    padding: 15px;
    cursor: pointer;
    font-size: 20px;
    z-index: 10;
    transition: var(--transition);
}
.next { right: 15px; }
.prev { left: 15px; }
.prev:hover, .next:hover { background: var(--neon-cyan); color: #000; }

/* GRID Y CARDS INDEX */
.grid-productos {
    display: grid;
    /* Divide el espacio en 6 columnas iguales por defecto */
    grid-template-columns: repeat(6, 1fr); 
    gap: 20px; /* Reducimos un poco el gap para que quepan bien las 6 */
    justify-content: center;
    max-width: 1400px; /* Aumentamos el ancho máximo para que no se vean muy apretadas */
    margin: 0 auto;
    padding: 20px 0;
}

.card {
    /* Mismo contenido pero cambiamos el borde por uno neón cyan más fino */
    background: var(--card-bg);
    border: 1px solid rgba(0, 242, 255, 0.3);
    border-radius: 12px;
    padding: 20px;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.card img { 
    width: 100%; 
    height: 250px; 
    object-fit: cover; 
    border-radius: 8px; 
    margin-bottom: 15px; 
}

.card h3 {
    font-size: 1.1rem;
    margin: 10px 0;
    min-height: 3em;
    display: flex;
    align-items: center;
    justify-content: center;
}

.card:hover {
    transform: translateY(-10px);
    border-color: var(--neon-magenta);
    box-shadow: 0 0 20px var(--neon-magenta);
}

.price { 
    color: var(--neon-cyan); 
    font-weight: bold; 
    font-size: 1.2rem; 
    margin-top: auto;
    margin-bottom: 10px;
}

.save-btn {
    background: var(--neon-magenta); border: none; color: white;
    padding: 12px 20px; cursor: pointer; width: 100%; font-weight: bold;
}

@media (max-width: 768px) {
    .hero { height: 250px; }
}

@media (max-width: 1024px) {
    .grid-productos {
        /* Se verán 3 cards por fila */
        grid-template-columns: repeat(3, 1fr); 
        gap: 15px;
    }
}

@media (max-width: 600px) {
    .grid-productos {
        /* En celulares muy pequeños, podrías querer 2, 
           pero si prefieres mantener 3 como pediste: */
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
    }
    
    /* Ajuste de fuente para que el texto no se amontone en cards pequeñas */
    .card h3 {
        font-size: 0.8rem;
    }
    .price {
        font-size: 0.9rem;
    }
    .save-btn {
        padding: 8px 5px;
        font-size: 0.7rem;
    }
}

/* AJUSTE DE IMAGEN PARA CARDS MÁS PEQUEÑAS */
.card img {
    width: 100%;
    height: 180px; /* Bajamos un poco la altura para que la card no sea tan larga al ser estrecha */
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 10px;
}

/* CSS PARA COMUNIDAD /*

/* GRID DE COMUNIDAD */
.comunidad-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 Columnas iguales */
    gap: 30px;
    max-width: 1300px;
    margin: 0 auto;
    align-items: stretch;
}

.comunidad-item {
    background: var(--card-bg);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(0, 242, 255, 0.3);
    border-radius: 15px;
    overflow: hidden; /* Para que la imagen no se salga de los bordes redondeados */
    display: flex;
    flex-direction: column;
    transition: var(--transition);
}

.comunidad-item:hover {
    transform: translateY(-10px);
    border-color: var(--neon-magenta);
    box-shadow: 0 0 25px rgba(255, 0, 230, 0.2);
}

/* Contenido interno */
.comunidad-content {
    padding: 25px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

/* Imágenes dentro de los cuadros */
.comunidad-item img {
    width: 100%;
    height: 200px; /* Altura fija para que todos los cuadros se vean igual */
    object-fit: cover;
}

.comunidad-item.decoracion img {
    height: 100%; /* La primera imagen ocupa todo el cuadro */
}

/* Títulos y textos */
.comunidad-content h3 {
    font-family: 'Orbitron', sans-serif;
    color: var(--neon-cyan);
    font-size: 1.1rem;
    margin: 15px 0;
}

.comunidad-content p {
    font-size: 0.9rem;
    color: #ccc;
    margin-bottom: 20px;
}

/* BOTONES ESTILO NEÓN */
.btn-comunidad {
    display: inline-block;
    padding: 12px;
    background: var(--neon-magenta);
    color: white;
    text-decoration: none;
    font-weight: bold;
    border-radius: 5px;
    text-transform: uppercase;
    font-size: 0.8rem;
    transition: 0.3s;
    box-shadow: 0 0 10px var(--neon-magenta);
}

.btn-ig {
    background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
    box-shadow: 0 0 10px #dc2743;
}

.btn-comunidad:hover {
    filter: brightness(1.2);
    transform: scale(1.05);
}

/* RESPONSIVE: De 3 columnas a 1 en móviles */
@media (max-width: 900px) {
    .comunidad-grid {
        grid-template-columns: 1fr;
    }
    
    .comunidad-item.decoracion {
        display: none; /* Opcional: ocultar la decoración en móviles para ahorrar espacio */
    }
}