/* Styles pour la page produit */
.single-product .product {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
}



/* Section image produit */
.single-product .woocommerce-product-gallery {
    position: sticky;
    top: 20px;
}

/* Section détails produit */
.single-product .summary {
    padding: 20px 0;
}

/* Titre et Wishlist alignés */
.title-wishlist-container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: -10px;
}

.title-wishlist-container .product_title {
    flex: 1;
    margin: 0;
}

/* Styles pour la wishlist */
#desktop_wishlist {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
}

#desktop_wishlist:hover {
    opacity: 0.8;
}

#desktop_wishlist .yith-wcwl-add-button,
#desktop_wishlist .yith-wcwl-wishlistaddedbrowse,
#desktop_wishlist .yith-wcwl-wishlistexistsbrowse {
    display: flex !important;
    align-items: center;
    gap: 10px;
}

#desktop_wishlist .imgs {
    display: flex;
    align-items: center;
}

#desktop_wishlist img {
    width: 21px;
    height: 24.932px;
    object-fit: contain;
}

/* Cacher les éléments inutiles de YITH */
#desktop_wishlist .feedback,
#desktop_wishlist .view-wishlist,
#desktop_wishlist .separator {
    display: none !important;
}

/* Style quand le produit est dans la wishlist */
#desktop_wishlist .yith-wcwl-wishlistaddedbrowse .heart-empty,
#desktop_wishlist .yith-wcwl-wishlistexistsbrowse .heart-empty {
    display: none;
}

#desktop_wishlist .yith-wcwl-add-button .heart-filled {
    display: none;
}



/* Wishlist button text style */
.wish p {
    font-family: var(--police-worksans-regular);
    font-size: 16px;
    font-weight: 600;
    color: var(--couleur-11);
    cursor: pointer;
    transition: color 0.3s ease;
    text-decoration: underline;
}

.wish:hover p {
    color: var(--couleur-16);
}

.wish p.active {
    color: var(--couleur-11);
    font-weight: 500;
}

.wish {
    display: flex;
    align-items: center;
}

.wish .imgs {
    display: flex;
    align-items: center;
}



/* Titre du produit */
.single-product .product_title {
    color: var(--couleur-1);
    font-family: var(--police-worksans-regular);
    font-size: 50px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

/* Échelle de prix et reviews */
.price-range-reviews {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.price-range p {
    color: #99AAAC;
    font-family: var(--police-worksans-regular);
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

.etoile-div {
    display: flex;
    align-items: center;
}

/* Style spécifique pour NetReviews */
.price-range-reviews .etoile-div {
    display: flex;
    align-items: center;
}

.price-range-reviews .etoile-div .netreviews_stars_rate,
.price-range-reviews .etoile-div .nr-icon,
.price-range-reviews .etoile-div .av-product-award {
    display: flex;
    align-items: center;
}

.price-range-reviews .etoile-div .netreviews_review_rate_and_stars {
    display: flex;
    align-items: center;
}

.price-range-reviews .etoile-div .netreviews_reviews_rate,
.price-range-reviews .etoile-div a {
    font-family: var(--police-worksans-regular);
    font-size: 16px;
    color: #99AAAC;
    text-decoration: none;
    display: inline-block;
    vertical-align: middle;
}

/* Style pour les étoiles */
.price-range-reviews .etoile-div .nr-star {
    width: 16px !important;
    height: 16px !important;
    display: inline-block;
    vertical-align: middle;
}


/* Correction pour le chiffre 1 qui est décalé */
.price-range-reviews .etoile-div .woocommerce-review-link span {
    position: relative;
    top: 0;
    line-height: 16px;
}

.price-range-reviews .etoile-div .netreviews_bg_stars_big {
    display: inline-flex;
    vertical-align: middle;
}

/* Style pour le nombre d'avis */
.price-range-reviews .etoile-div .av-reviews-count, 
.etoile-div .woocommerce-review-link span,
.etoile-div .netreviews_reviews_rate {
    color: #99AAAC !important;
    font-family: var(--police-worksans-regular);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: none;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
}

.etoile-div .woocommerce-review-link {
    margin-left: 0 !important;
}

.etoile-div .woocommerce-product-rating.netreviews-product-rating>span {
    align-items: start !important;
}

.price-range-reviews .etoile-div .woocommerce-product-rating.netreviews-product-rating {
    margin-top: 0 !important;
    margin: 0 !important;
}

/* Augmenter la spécificité pour surcharger le style de NetReviews */
body .price-range-reviews .etoile-div .woocommerce-product-rating.netreviews-product-rating {
    margin-top: 0 !important;
    margin: 0 !important;
}

/* Ciblage encore plus spécifique */
html body .price-range-reviews .etoile-div .woocommerce-product-rating.netreviews-product-rating {
    margin-top: 0 !important;
    margin: 0 !important;
}

/* Ajustement pour l'affichage comme dans l'image */
.price-range-reviews .etoile-div a.netreviews_reviews_rate {
    color: #99AAAC;
    text-decoration: underline;
}

/* Nouvelles variations en boutons */

.variations-title {
    color: var(--couleur-1);
    font-family: var(--police-worksans-regular);
    font-size: 16px;
    font-weight: 700;
}

.variations-buttons {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.variation-button {
    border-radius: 5px;
    border: 2px solid #CDDBDD; /* Uniformisation à 2px pour tous les états */
    background: #FFF;
    display: flex;
    padding: 14px 29px; /* 1px de moins pour compenser la bordure plus large */
    justify-content: center;
    align-items: center;
    gap: 10px;
    font-family: var(--police-worksans-regular);
    font-size: 14px;
    transition: all 0.3s ease;
    color: #99AAAC;
    box-sizing: border-box; /* Pour garantir que le padding + border = même taille */
}

.variation-button:hover {
    border-color: var(--couleur-11);
    color: var(--couleur-11);
    cursor: pointer;
}

.variation-button.active {
    border-color: var(--couleur-11);
    background: #FFF;
    color: var(--couleur-11);
    font-weight: 700;
}

.variation-button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Prix et Stock alignés */
.price-stock-container {
    display: flex;
    flex-direction: column;
    gap: 5px;
    align-items: flex-start;

}

/* Première ligne de prix et stock */
.price-stock-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex: 1;
    width: 100%;
}

/* Prix */

.woocommerce-Price-amount.amount bdi, .woocommerce-Price-currencySymbol,
.price-stock-container p, .single-product .price .woocommerce-Price-currencySymbol {
    color: var(--couleur-1) !important;
    font-family: var(--police-worksans-regular);
    font-size: 30px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-transform: uppercase;
}

.single-product .price .woocommerce-Price-currencySymbol {
    font-size: inherit;
    color: inherit;
    font-family: inherit;
}

.stock-status {
    font-family: var(--police-worksans-regular);
    font-weight: 600;
    font-size: 0.9rem;
}

.in-stock {
    color: #6AE400;
    font-family: var(--police-worksans-regular);
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-transform: uppercase;
}

.out-of-stock {
    color: #e74c3c;
}

/* Catégories */
.single-product .product_meta {
    margin-bottom: 30px;
}

.single-product .product_meta .posted_in {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.single-product .product_meta .posted_in a {
    color: var(--couleur-11);
    text-decoration: none;
    padding: 5px 10px;
    border: 1px solid var(--couleur-11);
    border-radius: 3px;
    font-size: 0.9rem;
}

/* Reviews */


.single-product .star-rating {
    color: #ffd700;
}

/* Variations */
.single-product .variations {
    margin-bottom: 30px;
}

.single-product .variations td {
    padding: 10px 0;
}

.single-product .variations select {
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 3px;
    min-width: 200px;
}

/* Quantité */
.single-product .quantity {
    margin-bottom: 20px;
}

.single-product .quantity input {
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 3px;
    width: 80px;
}

/* Bouton ajouter au panier */
.single-product .single_add_to_cart_button {
    background-color: var(--couleur-1);
    color: white;
    padding: 15px 30px;
    border: none;
    border-radius: 3px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.single-product .single_add_to_cart_button:hover {
    background-color: var(--couleur-11);
}

/* Styles pour les nouvelles sections de la page produit */

/* Informations TVA et de paiement */

.woocommerce-Price-amount amount bdi {
    color: var(--couleur-2);
}


.vat-included {
    font-size: 0.85em;
    color: var(--couleur-2);
    font-family: var(--police-montserrat);
}

.woocommerce-Price-amount.amount bdi, .woocommerce-Price-currencySymbol {
    color: var(--couleur-2);
}

.vat-info {
    font-size: 0.85em;
    color: var(--couleur-2);
    font-family: var(--police-montserrat);
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    flex: 1;
}

.vat-info p {
    color: #99AAAC !important;
    font-family: var(--police-worksans-light);
    font-size: 16px !important;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-transform: none;
    margin: 0;
    text-align: right;
}

/* paiement 3x et 4x */
.payment-options {
    border-radius: 10px;
    border: 1px solid #CDDBDD;
    padding: 15px 25px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 50px;
    flex-wrap: wrap;
}

.payment-options-left {
    display: flex;
    align-items: center;
    gap: 25px;
}
.payment-options-left p {
    font-family: var(--police-worksans-bold);
}

.payment-options-right {
   text-align: right;
}

.payment-options span {
    color: var(--couleur-1);
    font-family: var(--police-worksans-regular);
    font-weight: 700;
}

.payment-logos {
    display: flex;
    align-items: center;
    gap: 15px;
}

.payment-logos img #alma-logo {
    width: 64px;
    height: 32px;
    aspect-ratio: 2/1;
}

.payment-logos img #paypal-logo {
    width: 78px;
    height: 24px;
    aspect-ratio: 13/4;
}



/* .learn-more {
    color: var(--couleur-11);
    font-family: var(--police-worksans-regular);
    font-weight: 700;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
} */


/* Informations de livraison */
.info-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    padding: 15px 25px;
    color: var(--couleur-1);
    margin-bottom: 10px;
    background-color: var(--couleur-5);
    font-family: var(--police-worksans-regular);
}

.info-row:first-child {
    margin-top: 0px !important;
    display: none;
}

.info-row:nth-child(2) {
    display: none !important;
}

.info-left,
.info-right {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
}

.info-right {
    justify-content: flex-end;
    min-width: fit-content;
}

.delivery-icon {
    width: 27px;
    height: 22px;
}


.loyalty-row .info-left {
    width: 100%;
    justify-content: flex-start;
}

/* Paiement sécurisé */
.secure-payment {
    padding: 15px 25px;
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-radius: 10px;
    border: 1px solid #CDDBDD;
    background: #F2FAFB;
}

.secure-payment p {
    margin: 0;
    color: var(--couleur-1);
    font-family: var(--police-worksans-regular);
    font-weight: 700;
    white-space: nowrap;
    flex-shrink: 0;
}

.payment-methods {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.payment-methods img {
    width: 33.073px;
    height: 21.57px;

}

.payment-methods img:hover {
    opacity: 0.8;
}

/* Responsive */
/* Gestion de l'affichage mobile/desktop */
.produit_mobile,
.produit_desktop {
    display: none;
}

@media only screen and (min-width: 1024px) {
    .produit_desktop {
        display: block;
    }


     
}

@media only screen and (max-width: 1023px) {
    .produit_mobile {
        display: block;
    }

    
    .title-wishlist-container {
        display: flex;
        flex-direction: column;
        justify-content: center !important;
        align-items: center !important;
        margin-bottom: 25px !important; 
    }
}

/* Styles spécifiques mobile */
.produit_mobile .selectSection {
    width: 100%;
}

.produit_mobile .variations-buttons {
    max-width: 100%;
    overflow-x: auto;
    padding-bottom: 10px;
    -webkit-overflow-scrolling: touch;
    display: flex;
    gap: 10px;
    flex-wrap: nowrap;
}

.produit_mobile .variation-button {
    flex: 0 0 auto;
    white-space: nowrap;
    box-sizing: border-box; /* Pour garantir que le dimensionnement inclut la bordure */
}

.produit_mobile .vat-info {
    margin: 5px 0;
}

@media screen and (max-width: 1024px) { 
        /* Responsive pour prix et stock */
        .price-stock-container {
            flex-direction: row !important;
            align-items: center !important;
            justify-content: center !important;
            gap: 15px;
            margin-bottom: 25px !important;
        }

        .price-stock-row {
            width: fit-content !important;
            flex: 0 !important;
        }

        .variations-container {
            margin-top: 25px;
            margin-bottom: 25px;
            text-align: center;
        }

        .produit_mobile .variations-buttons {
            justify-content: center !important;
        }

}

/* Ajustements responsives supplémentaires */
@media screen and (max-width: 768px) {
    .single-product .product {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .single-product .woocommerce-product-gallery {
        position: static;
    }
    
    .single-product .product_title {
        font-size: 2rem;
    }

    .produit_mobile .variations-buttons {
        max-width: 100%;

        display: flex;
        gap: 10px;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        margin: auto auto;
        margin-bottom: 25px;
    }
    
    .variation-button.active {
        border-color: var(--couleur-11);
        color: var(--couleur-11);
        font-weight: 700;
    }

    .single-product .price {
        font-size: 1.3rem;
    }

    /* Responsive pour échelle de prix et reviews */
    .price-range-reviews {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        margin-bottom: 25px;
    }

    .price-range p {
        font-size: 14px;
    }
    
    .price-range-reviews .etoile-div .nr-star {
        width: 14px !important;
        height: 14px !important;
    }
    
    .price-range-reviews .etoile-div .netreviews_reviews_rate,
    .price-range-reviews .etoile-div a,
    .price-range-reviews .etoile-div .av-reviews-count {
        font-size: 12px;
    }

    .info-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 15px;
    }
    
    .info-left,
    .info-right {
        width: 100%;
        justify-content: flex-start;
    }

    .info-left span,
    .info-right span {
        font-size: 0.9rem;
    }
    
    .payment-options {
        flex-direction: column;
        gap: 15px;
        padding: 12px 15px;
    }
    
    .payment-options-left {
       flex-direction: column;
       align-items: center;
       justify-content: center;
       gap: 10px;
    }

    .secure-payment {
        flex-direction: column;
        gap: 15px;
        align-items: flex-start;
        padding: 12px 15px;
    }
    
    .payment-methods {
        justify-content: flex-start;
        gap: 6px;
    }

    /* Responsive pour les variations en boutons */
    .variations-buttons {
        gap: 8px;
    }

    .variation-button {
        padding: 9px 15px; /* 1px de moins pour compenser la bordure de 2px */
        font-size: 0.9rem;
        min-width: 70px;
        box-sizing: border-box; /* Garantit que le dimensionnement inclut la bordure */
    }

    .variations-title {
        font-size: 16px;
        margin-bottom: 10px;
        text-align: center;
    }

    /* Responsive pour titre et wishlist */
    .title-wishlist-container {
        flex-direction: column;
        align-items: flex-start;
        gap: 0px;
    }

    .title-wishlist-container .product_title {
        font-size: 32px;
        width: 100%;
    }

    .title-wishlist-container .wish {
        align-self: center;
        margin-top: 0;
    }


    .stock-status {
        font-size: 0.85rem;
    }
} 

/* Styles pour les sections flexibles */
.produit_mobile_infos {
    margin-top: 50px;
    padding-top: 0;
    padding-bottom: 100px;
}

.produit_mobile_infos .maxWidth {
    max-width: 1200px;
    margin: 0 auto;
}

.section_info_a_ouvrir {
    border: 1px solid #CDDBDD;
    border-radius: 10px;
    margin-bottom: 15px;
    overflow: hidden;
}

.section_info_a_ouvrir .title {
    padding: 30px 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #F2FAFB;
    cursor: pointer;
}



.section_info_a_ouvrir .title .plus {
    width: 20px;
    height: 20px;
    position: relative;
    transition: transform 0.3s ease;
}

.section_info_a_ouvrir .title .plus:before,
.section_info_a_ouvrir .title .plus:after {
    content: '';
    position: absolute;
    background: var(--couleur-1);
    transition: transform 0.3s ease;
}

.section_info_a_ouvrir .title .plus:before {
    width: 2px;
    height: 20px;
    left: 9px;
    top: 0;
}

.section_info_a_ouvrir .title .plus:after {
    width: 20px;
    height: 2px;
    left: 0;
    top: 9px;
}

.section_info_a_ouvrir.active .title .plus:before {
    transform: rotate(90deg);
}

.section_info_a_ouvrir .content {
    padding: 0;
    max-height: 0;
    overflow: hidden;
    transition: all 0.3s ease;
}

.section_info_a_ouvrir.active .content {
    padding: 20px;
    max-height: 2000px;
}

/* Styles spécifiques pour les blocs d'information */
.section_info_a_ouvrir .bloc {
    margin-bottom: 20px;
}

.section_info_a_ouvrir .bloc:last-child {
    margin-bottom: 0;
}

.section_info_a_ouvrir .bloc h3 {
    font-family: var(--police-worksans-regular);
    font-size: 14px;
    color: var(--couleur-1);
    margin-bottom: 10px;
}

.section_info_a_ouvrir .bloc .desc {
    font-family: var(--police-worksans-light);
    font-size: 14px;
    color: var(--couleur-1);
    line-height: 1.5;
}

/* Styles pour les fiches techniques */
.section_info_a_ouvrir.fiches_techniques .bloc_telechargement {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #CDDBDD;
}

.section_info_a_ouvrir.fiches_techniques .bloc_telechargement:last-child {
    border-bottom: none;
}

/* Styles spécifiques pour .infos_fiches_avis */
.infos_fiches_avis .section_info_a_ouvrir .title h2 {
    font-size: 25px;
    transition: color .2s;
    display: flex;
    align-items: center;
    gap: 1rem;
    font-family: var(--police-butler_regular);
    font-weight: 700;
}

.infos_fiches_avis .section_info_a_ouvrir .title h2 .imgs {
    display: flex;
    align-items: center;
    gap: .3rem;
}

.infos_fiches_avis .section_info_a_ouvrir .title h2 img {
    height: 1.5rem;
}

.infos_fiches_avis .section_info_a_ouvrir .content {
    display: flex;
    gap: 2.5rem 2rem;
}

.infos_fiches_avis .information .content {
    flex-wrap: wrap;
    gap: 1.5rem 2rem;
}

.infos_fiches_avis .information .content .bloc {
    width: calc(50% - 1rem);
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.infos_fiches_avis .information .content .bloc h3 {
    font-family: var(--police-worksans-bold);
}

.infos_fiches_avis .fiches_techniques .content {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 2rem;
}

.infos_fiches_avis .fiches_techniques .content .bloc_telechargement {
    width: calc(50% - 1rem);
    display: flex;
    align-items: center;
    gap: 1rem;
}

.infos_fiches_avis .fiches_techniques .content .bloc_telechargement .titre {
    font-family: var(--police-worksans-bold);
}

.infos_fiches_avis .fiches_techniques .content .bloc_telechargement a {
    padding: .3rem .5rem;
    border-radius: 2px;
    background-color: var(--couleur-10);
    color: var(--couleur-1);
    font-family: var(--police-worksans-bold);
    display: flex;
    align-items: center;
    gap: .3rem;
}

.infos_fiches_avis .fiches_techniques .content .bloc_telechargement a img {
    height: 0.9rem;
    object-fit: contain;
}

/* Responsive pour les sections */
@media screen and (max-width: 1023px) {
    .infos_fiches_avis .information .content {
        gap: 1rem;
    }

    .infos_fiches_avis .information .content .bloc {
        width: 100%;
    }
}

.section_info_a_ouvrir.fiches_techniques .bloc_telechargement .titre {
    font-family: var(--police-worksans-regular);
    font-size: 14px;
    color: var(--couleur-1);
}

.section_info_a_ouvrir.fiches_techniques .bloc_telechargement a {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--couleur-11);
    text-decoration: none;
    font-family: var(--police-worksans-regular);
    font-size: 14px;
}

.section_info_a_ouvrir.fiches_techniques .bloc_telechargement a img {
    width: 20px;
    height: 20px;
}

/* Styles pour les avis */
.section_info_a_ouvrir.avis .title h2 .imgs {
    display: flex;
    gap: 2px;
}

.section_info_a_ouvrir.avis .title h2 .imgs img {
    width: 16px;
    height: 16px;
}

/* Ajustements responsives */
@media screen and (max-width: 768px) {
    .produit_mobile_infos {
        margin-top: 20px;
    }

    .section_info_a_ouvrir .title {
        padding: 12px 15px;
    }

    .section_info_a_ouvrir .title h2 {
        font-size: 14px;
    }

    .section_info_a_ouvrir.active .content {
        padding: 15px;
    }

    .section_info_a_ouvrir .bloc h3 {
        font-size: 13px;
    }

    .section_info_a_ouvrir .bloc .desc {
        font-size: 13px;
    }
} 