/* --- 1. RESET GLOBAL Y SECCIONES EXTERNAS --- */
/* Forzamos que las secciones globales ocupen todo el ancho y no se vean afectadas por el flex de productos */


/* --- 2. LAYOUT PRINCIPAL (Sidebar + Catálogo) --- */
.productos-page { 
    display: flex; 
    gap: 50px; 
    padding: 80px 9%; 
    align-items: flex-start; 
}
.sidebar { width: 280px; flex-shrink: 0; }
.sidebar h2 {color: var(--color-principal);}
.catalogo { flex-grow: 1; width: 100%; }
.catalogo h1 {color: var(--color-principal);}

/* --- 3. SIDEBAR (Acordeón) --- */
.filter-group { 
    background: #f4f4f4; 
    border-radius: 8px; 
    margin-bottom: 10px; 
    overflow: hidden;
}
.category-title { 
    padding: 15px; 
    margin: 0; 
    color: var(--color-principal); 
    cursor: pointer; 
    font-size: 1.1rem; 
    font-weight: 700;
}
.category-list { 
    list-style: none; 
    padding: 0; 
    margin: 0; 
    display: none; /* Oculto por defecto */
}
.category-list li a { 
    display: block; 
    padding: 12px 20px; 
    text-decoration: none; 
    color: var(--color-principal); 
    transition: 0.3s; 
}
.category-list li a:hover { 
    background: var(--color-principal); 
    color: white; 
}
.category-list li a.active { 
    background-color: var(--color-principal); 
    color: white; 
    font-weight: bold;
}

/* --- 4. GRID DE PRODUCTOS (4 columnas) --- */
.grid-productos { 
    display: grid; 
    grid-template-columns: repeat(4, 1fr); /* 4 columnas fijas */
    gap: 25px; 
}
.card { 
    background: white; 
    border-radius: 20px; 
    padding: 20px; 
    box-shadow: 0 4px 12px rgba(0,0,0,0.08); 
    transition: 0.3s;
}
.card:hover { transform: translateY(-5px); }
.card img { width: 100%; border-radius: 10px; }
.card h3 { 
    color: var(--color-principal); 
    font-size: 1.1rem; 
    margin-top: 15px; 
    line-height: 1.3;
}

/* --- 5. RESPONSIVIDAD --- */
/* Ajuste de columnas según el tamaño de pantalla */
@media (max-width: 1200px) { .grid-productos { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 900px) { .grid-productos { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 768px) { 
    .productos-page { flex-direction: column; } 
    .sidebar { width: 100%; }
    .grid-productos { grid-template-columns: 1fr; } 
}

/* --- 6. ESTILOS SECCIÓN MARCAS --- */
.marcas-section {
    padding: 0px 9%;
    background-color: #d0f0ffb8;
    width: 100%;
    box-sizing: border-box; /* Fundamental: incluye el padding en el ancho total */
    overflow: hidden;       /* Corta cualquier elemento que quiera salirse */
}
.marcas-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 60px;
    flex-wrap: wrap;
    max-width: 100%;        /* Evita que el contenedor sea más ancho que la pantalla */
}
.marca-item img {
    max-height: 500px;
    width: auto;
}