:root {
    --warm-beige: rgb(141, 121, 77);
    --soft-grey: rgb(186, 180, 142);
    --light-grey: rgb(222, 227, 216);
    --dark-charcoal: rgb(40, 40, 32);
    --muted-olive: rgb(79, 74, 54);
}

body {
    font-family: 'Arial', sans-serif;
    color: var(--dark-charcoal);
    background-color: var(--light-grey);
    margin: 0;
    padding: 0;
}

a {
    color: var(--warm-beige);
    text-decoration: none;
}

a:hover {
    color: var(--muted-olive);
}

header {
    background-color: var(--dark-charcoal);
    color: var(--light-grey);
    padding: 20px 0;
}

/* Stylisation des sous-menus */
.navbar ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
}

.navbar li {
    position: relative;
    margin: 0 20px;
}

/* Style du menu déroulant */
.dropdown {
    position: relative;
    display: inline-block;
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: var(--soft-grey);
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.9);
    z-index: 1;
}

.dropdown-content a {
    color: var(--dark-charcoal);
    padding: 12px 16px;
    text-decoration: none;
    display: block;
}

.dropdown-content a:hover {
    background-color: var(--warm-beige);
}

.dropdown:hover .dropdown-content {
    display: block;
}

.dropbtn {
    color: var(--warm-beige);
    padding: 16px;
    font-size: 16px;
    border: none;
    cursor: pointer;
    background-color: var(--dark-charcoal);
}

.dropdown:hover .dropbtn {
    background-color: var(--muted-olive);
}

.logo {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.logo-container img {
    width: 50%; /* Ajustez la largeur selon vos besoins */
    height: auto; /* Pour conserver les proportions de l'image */
    border-radius: 4px; /* Rayon des coins arrondis pour l'image si nécessaire */
    margin-bottom: 20px; /* Espace sous l'image */
}




.container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 1200px;
    margin: auto;
}


.sidebar {
    background-color: #BAB48E; /* Couleur de fond de la barre latérale */
    padding: 20px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1); /* Ombre de la boîte pour la section des informations de contact */
}

.logo-container img {
    width: 100%; /* Ajustez la largeur selon vos besoins */
    height: auto; /* Pour conserver les proportions de l'image */
    border-radius: 4px; /* Rayon des coins arrondis pour l'image si nécessaire */
    margin-bottom: 20px; /* Espace sous l'image */
}

.contact-info {
    background-color: #ffffff; /* Couleur de fond pour les informations de contact */
    padding: 15px;
    border-radius: 4px; /* Rayon des coins arrondis */
    margin-bottom: 20px; /* Espace sous la section des informations de contact */
    box-shadow: 0 2px 5px rgba(0,0,0,0.1); /* Ombre de la boîte pour la section des informations de contact */
}

.contact-info p,
.contact-info a {
    margin: 5px 0; /* Espaces verticaux entre les éléments */
}

.contact-info a {
    color: #007bff; /* Couleur des liens */
    text-decoration: none; /* Pas de soulignement pour les liens */
}

/* Vous pouvez ajouter des médias queries pour ajuster la mise en page sur des écrans de tailles différentes */
@media (max-width: 768px) {
    .container {
        flex-direction: column;
    }
}


.main-content {
    flex: 1;
    margin: 20px;
    padding: 20px;
    background-color: rgb(186, 180, 142); /* soft grey for the main content */
    border-radius: 8px;
    width: calc(100% - 300px); /* adjust this based on your sidebar */
}









.category {
    margin-bottom: 30px;
    border-radius: 8px; /* Bordure arrondie pour chaque catégorie */
    padding: 15px;
    background-color: rgb(241, 239, 226); /* Couleur de fond neutre pour la catégorie */
}

.category:nth-child(odd) {
    background-color: rgb(234, 229, 220); /* Couleur de fond pour les catégories impaires */
}

.category:nth-child(even) {
    background-color: rgb(220, 216, 207); /* Couleur de fond pour les catégories paires */
}

.category h2 {
    color: rgb(40, 40, 32);
    margin-bottom: 10px;
    text-align: center; /* Ajout de cette propriété pour centrer le texte */
}

.category-body {
    display: flex;
    align-items: flex-start;
    padding-left: 1rem; /* Ajoute un rembourrage à gauche */
}

.category-info {
    /* Alignement à gauche plutôt qu'au centre */
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.category-products {
    flex-grow: 1; /* Les produits prendront l'espace restant */
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

/* Pour les images des produits, assurez-vous qu'elles sont également centrées et de la bonne taille */
.category-products img {
    max-width: 100px; /* Ajustez la largeur maximale selon vos besoins */
    height: auto; /* Pour conserver le ratio de l'image */
    display: block;
    margin: 10px auto; /* Centrer l'image horizontalement et ajouter de l'espace vertical */
}



.category-contact-info {
    width: 100%; 
    box-sizing: border-box; /* Le padding et la bordure sont inclus dans la largeur */
    padding-left: 1rem; /* Ajoute un rembourrage à gauche */
    display: flex;
    flex-direction: column;
    align-items: center; /* Centrer horizontalement dans la div */
    text-align: center; /* Centrer le texte dans les éléments */
}

.category-contact-info img {
    max-width: 80px; /* Taille maximale pour l'image */
    height: auto; /* Pour maintenir le ratio */
    margin-bottom: 10px; /* Espacement sous l'image */
}

.category-contact-info p,
.category-contact-info a {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0.5rem 0; /* Réduire la marge pour maximiser l'espace horizontal */
    width: calc(100% - 2rem); /* Réduire la largeur du texte pour le padding interne */
}


.category-logo {
    width: 100px; /* Ajustez selon la taille désirée */
    margin-right: 20px; /* Espacement entre le logo et le texte */
}

.category-details {
    flex-grow: 1; /* Permet au texte de prendre l'espace restant */
}



/* Vous pouvez ajouter une classe pour le téléphone pour gérer spécifiquement sa taille */
.category-contact-info .phone {
    max-width: 100%; /* Limite la largeur du numéro de téléphone à celle du conteneur */
}






.products-container {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch; /* Assure que tous les .product ont la même hauteur */
    position: relative; /* Position relative pour le conteneur des noms de produits */
}

.product {
    flex: 0 0 16.66%; /* Donne à chaque .product environ un sixième de la largeur du conteneur */
    max-width: 16.66%; /* Ajoute une largeur maximale pour éviter que le produit ne s'étire trop */
    margin: 5px; /* Espace autour de chaque produit */
    display: flex;
    justify-content: center; /* Centre l'image horizontalement */
    align-items: center; /* Centre l'image verticalement */
    min-height: 5rem; /* Hauteur minimale pour les produits avec moins d'articles */
    min-width: 5rem; /* Largeur minimale pour les produits avec moins d'articles */
}

.product img.product-image {
    height: 5rem; /* Hauteur fixe pour l'image */
    width: 5rem; /* Largeur fixe pour l'image */
    object-fit: contain; /* Assurez que l'image reste entière et bien proportionnée */
}

.product .product-name {
    display: none; /* Cache initialement le nom du produit */
    position: absolute; /* Position absolue relative à son parent positionné */
    bottom: 0; /* En bas du conteneur du produit */
    left: 0; /* Aligné à gauche du conteneur du produit */
    width: 100%; /* Pleine largeur du conteneur du produit */
    background-color: rgba(141, 121, 77, 0.85); /* Fond semi-transparent */
    color: white; /* Couleur du texte */
    padding: 5px;
    border-radius: 0 0 4px 4px; /* Coins arrondis en bas */
    text-align: center; /* Centrer le texte */
}

.product:hover .product-name {
    display: block; /* Affiche le nom du produit au survol */
    background-color: var(--dark-charcoal);
}


@media (min-width: 1024px) {
    .product {
        flex-basis: calc((1024px / 6) - 16px); /* Utilise une largeur fixe sur les grands écrans */
    }
}




footer {
    background-color: var(--muted-olive);
    color: var(--light-grey);
    padding: 20px 0;
    text-align: center;
}

footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

footer ul li {
    display: inline;
    margin: 0 15px;
}

footer a {
    color: var(--warm-beige);
    text-decoration: none;
    font-weight: bold;
}

footer a:hover {
    color: var(--soft-grey);
}