/* AJAX-search */
.ajax_recherche i{
    color: #980000;
}

/* gtanslate.io */
.gt_float_switcher{
    box-shadow: none!important;
}

/* bouton ajouter panier */

.btn_panier a{
    width: 100%!important;
}

.btn_panier .elementor-button-text{
    flex-grow: 0;
}

/* carousel page d'accueil */

.legend-img{
  width: 40vw;
  height: max-content;
  background-color: rgba(255, 255, 255, 0.658);
  position: absolute;
  top: calc(30% );
  right: 5vw;
  padding: 30px;
  text-align: start;
}

.legend-img .titre{
    font-weight: 800;
    font-size: 1.3em;
    color: black;
    text-align: start;
}

@media (max-width: 768px) {
    .legend-img{
        width: 80vw;
        top: calc(30% );
        right: 5vw;
        padding: 20px;

    }

    .legend-img .titre{
        font-size: 1em;
    }
}

/* module bien etre */

.psbienetre .titre{
    font-size: 1.3rem ;
    font-weight: 700;
    color: black;
}

.psbienetre .blockbientre{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 20px;
    align-items: flex-start;
    justify-content: space-around;
}

.psbienetre .blockbientre .articlebienetre{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    padding: 6px 4px;
    flex: 0 0 70px;
    width: 70px;
    min-width: 70px;
    box-sizing: border-box;
    text-align: center;
    color: #000;
    transition: transform 0.12s ease, background-color 0.12s ease;
    border-radius: 6px;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.psbienetre .blockbientre .articlebienetre img{
    /* fallback when an img wrapper is not present */
    max-width: 48px;
    max-height: 48px;
    width: auto;
    height: auto;
    display: block;
    object-fit: contain;
}

/* Wrapper around the image to ensure fixed size and alignment */
.psbienetre .blockbientre .articlebienetre .img-wrapper{
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto; /* center horizontally inside 70px box */
}
.psbienetre .blockbientre .articlebienetre .img-wrapper img{
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    display: block;
    object-fit: contain;
}

/* Hover/focus feedback */
.psbienetre .blockbientre .articlebienetre:hover{
    background-color: rgba(0, 0, 0, 0.03);
    transform: translateY(-3px);
}

.psbienetre .blockbientre .articlebienetre:focus{
    outline: 2px solid #CD9B9A;
    outline-offset: 2px;
}

.psbienetre .blockbientre .articlebienetre p{
    margin: 0;
    font-size: 0.82rem;
    font-weight: 600;
    color: #000;
    white-space: normal; /* allow wrapping onto multiple lines */
    overflow-wrap: break-word; /* break long words if necessary */
    word-wrap: break-word; /* legacy */
    hyphens: auto;
    line-height: 1.1;
}

/* Keep fixed 70px width across screens; on very small screens allow slight decrease */
@media (max-width: 520px) {
    .psbienetre .blockbientre .articlebienetre{
        flex: 0 0 60px;
        width: 60px;
        min-width: 60px;
        max-width: 60px;
    }

    .psbienetre .blockbientre{
        gap: 35px;
    }

}





/* module ps_blog */
    /* Articles de blog */
.section-blog::before {position: absolute;top: 50%;left: 0;right: 0;bottom: 0;background-color: rgba(196,214,164,.4);content: " ";}

.blockblog{display:grid;grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));gap: 1.6rem;padding: 1rem 0;}
.blockblog a{background:#ffffff;border-radius: 10px;}
.blockblog a img{width: 100%;height: auto;border-radius: 10px 10px 0 0;max-height: 340px;object-fit:contain;}
.blockblog a h4{text-align: center;padding: 1rem;color: black;margin: 0;}

@media (min-width: 900px) { 
    .blockblog {grid-template-columns: repeat(3, 1fr);}
}

@media (max-width: 600px) { 
    .blockblog {grid-template-columns: repeat(1, 1fr);}
}

@media (max-width: 768px) {
    .section-blog::before {top: 25%;}
}
@media (max-width: 1024px) {
    .section-blog::before {top: 30%;}
}

.blockblog p{
    font-weight: 600;
    font-size: 1em;
    color: #000000;
    background-color: white;
    text-align: start;
    position: absolute;
    /* top: 10px;
    left: 10px; */
    padding: 10px 15px;
    border: 1.5px solid #CD9B9A;
}

.blockblog h4{
    color:black;

}


/* module ps_caracteristiques */
.caracteristiques a{
    color:black;
}


.boxcaracteristiques{
    /* Using Flexbox instead of Grid to provide similar responsive behavior */
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 20px;
    align-items: flex-start; /* keep items aligned at top */
}

.boxcaracteristiques .caracteristiques img{
    width: 40px;
    height: auto;
    max-height: 50px;
    object-fit: contain;
}

.boxcaracteristiques .caracteristiques{
    display: flex;
    align-items: center;
    gap: 10px;
    /* allow items to wrap like the grid minmax(200px, 1fr):
       - min-width is 200px
       - items can grow to fill available space
    */
    flex: 1 1 200px;
    min-width: 200px;
    box-sizing: border-box;
}



.boxcaracteristiques .caracteristiques p{
    margin: 0;
    color: #000000;
}

.boxcaracteristiques .caracteristiques .caracteristiquestexte{
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.boxcaracteristiques .caracteristiques .caracteristiquestexte .titre{
    font-weight: 700;
}

/* Responsive behavior: ensure items stack on small screens */
@media (max-width: 600px) {
    .boxcaracteristiques .caracteristiques{
        flex-basis: 100%;
    }
}


/* mdules ps_bio */
.ps_bio img{
    width: 50px;
    height: auto;
    max-height: 100px;
    object-fit: contain;
}

.ps_bio_miniature{
    position: absolute;
    bottom: 19px;
}

.ps_bio_miniature img{
    width: 50px;
    height: auto;
    max-height: 100px;
    object-fit: contain;
}

/* ps_composition */
.pscomposition p{
    color: black;
}

.pscomposition .titre{
    font-weight: 500;
    font-size: 1.5em;
    color: black;
    margin-bottom: 10px;
}

.pscomposition a{
    color: black;
    text-decoration: none;
}