/* ==========================================================================
   27. Styles pour la Page Catalogue
   ========================================================================== */

.catalogue-container {
    max-width: 1400px;
    margin: 40px auto;
    padding: 0 20px;
}

.catalogue-container .section-title h1 {
    font-size: 2.8rem;
    font-weight: 800;
    text-align: center;
    margin-bottom: 15px;
    color: var(--color-dark-brown);
}

.catalogue-section {
    margin-bottom: 80px;
}

.catalogue-section-title {
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--color-medium-brown);
    margin-bottom: 40px;
    padding-bottom: 15px;
    border-bottom: 2px solid #f0f0f0;
}

/* La grille principale pour les produits et les packs */
.catalogue-grid {
    display: grid;
    gap: 30px;
    /* La clé de la responsivité : 4, 3, 2 colonnes */
    grid-template-columns: repeat(4, 1fr);
}

/* --- Style des cartes produits (réutilisation et ajustements) --- */

/* On rend la carte entière cliquable, sauf le bouton */
.product-link-wrapper {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

/* On ajoute un conteneur pour le bouton pour le centrer */
.product-action {
    padding: 0 25px 25px 25px;
}

.product-action .add-to-cart-btn {
    width: 100%;
    gap: 8px;
}

/* --- Style des cartes packs (réutilisation des styles .combo-card) --- */
/* Pas besoin de nouveaux styles si vous avez déjà ajouté ceux de la section combos */
.catalogue-grid .combo-footer {
    /* On s'assure que le bouton prend toute la largeur */
    display: block;
    text-align: center;
}

.catalogue-grid .combo-footer .combo-price {
    margin-bottom: 20px;
    align-items: center;
}

.catalogue-grid .combo-footer .add-to-cart-btn {
    width: 100%;
    gap: 8px;
}


/* ==========================================================================
   28. Responsivité pour la Page Catalogue
   ========================================================================== */

/* Pour les tablettes (jusqu'à 1200px) */
@media (max-width: 1200px) {
    .catalogue-grid {
        grid-template-columns: repeat(3, 1fr); /* 3 colonnes */
    }
}

/* Pour les petites tablettes et grands mobiles (jusqu'à 768px) */
@media (max-width: 768px) {
    .catalogue-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 colonnes */
    }
}

/* Pour les petits mobiles (jusqu'à 480px) */
@media (max-width: 576px) {
    .catalogue-grid {
        /* On passe à une seule colonne pour une lisibilité maximale */
        grid-template-columns: 1fr; 
        gap: 25px; /* On peut augmenter un peu l'écart vertical */
    }
    .product-info h3 {
        /* La police peut rester à sa taille normale maintenant */
        font-size: 1.4rem; 
    }
}
