/* Styles généraux */
.woocommerce-page {
    color: var(--text-color);
}

/* Positionner les messages d'erreur en haut du contenu */
body.woocommerce-lost-password .woocommerce-notices-wrapper,
body.woocommerce-lost-password .woocommerce-error,
body.woocommerce-lost-password .woocommerce-message,
body.woocommerce-lost-password .woocommerce-info {
    position: relative;
    width: 100%;
    max-width: 600px;
    margin: 0 auto 20px auto !important;
    left: 0 !important;
    right: 0 !important;
    float: none !important;
    clear: both !important;
}

/* S'assurer que le conteneur de notices est au-dessus du contenu */
body.woocommerce-lost-password .entry-content {
    display: flex;
    flex-direction: column;
}

body.woocommerce-lost-password .entry-content .woocommerce-notices-wrapper {
    order: -1;
}

/* Masquer les éléments de tri et compteur */
.woocommerce-result-count,
.woocommerce-ordering {
    display: none !important;
}

/* Gérer les pseudo-éléments qui prennent de l'espace */
.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none !important;
}

.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
    display: none !important;
}

/* Liste des produits */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, 350px) !important;
    justify-content: center !important;
    gap: 2rem !important;
    padding: 2rem !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    clear: both !important;
}

.woocommerce ul.products .cta-button.off {
    margin-left: 0 !important;
    margin-bottom: 10px !important;
}

/* Supprimer les marges et flottants par défaut */
.woocommerce ul.products li.product, 
.woocommerce-page ul.products li.product {
    float: none !important;
    clear: none !important;
    width: 100% !important;
    margin: 0 !important;
}

.woocommerce ul.products li.product {
    padding: 1rem !important;
    background: var(--primary-fonce);
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-light);
    display: flex !important;
    flex-direction: column;
    transition: var(--transition) !important;
}

.woocommerce ul.products li.product:hover {
    box-shadow: var(--shadow-hover);
}

/* Titre du produit */
.woocommerce ul.products li.product h2.woocommerce-loop-product__title {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;  /* Limite le titre à 2 lignes */
    -webkit-box-orient: vertical;
    font-size: 2rem !important;
    color: var(--text-color);
    text-align: center;
    padding: 0 !important;
    margin-bottom: 1rem;
    transition: var(--transition) !important;
}
li.product h2.woocommerce-loop-product__title em {
    display:block;
    margin-top: 5px;
    font-size: 1rem !important;
    color: var(--text-color);
}
.woocommerce ul.products li.product .product-short-description h4 {
    color: var(--text-color);
    text-align: center;
    padding: 0 !important;
    margin-bottom: 1rem;
    padding-bottom: 0.25rem;
    transition: var(--transition) !important;
    max-width: 230px;
    margin-left: auto;
    margin-right: auto;
    font-weight: 100 !important;
    font-style: italic;
}
.woocommerce ul.products li.product .product-short-description h4 em {
    font-weight: 600 !important;
}

/* Prix */
.woocommerce ul.products li.product .price {
    color: var(--text-color) !important;
    font-size: 3rem !important;
    font-weight: 500;
    text-align: center;
    margin-bottom: 1.25rem !important;
}

.woocommerce ul.products li.product .price del {
    color: rgba(255, 255, 255, 0.6) !important;
    font-weight: 500;
}

.woocommerce ul.products li.product .price ins {
    text-decoration: none;
    font-weight: 500;
}

/* Image du produit */
.woocommerce ul.products li.product a img {
    margin-bottom: 1.5rem !important;
    border-radius: var(--border-radius);
    transition: var(--transition) !important;
}

.woocommerce ul.products li.product:hover h2.woocommerce-loop-product__title  {
    color: var(--accent-color);
}
.woocommerce ul.products li.product:hover a img {
    opacity: 0.6;
}

/* Bouton d'ajout au panier */
.woocommerce ul.products li.product .button {
    width: 100% !important;
    margin-top: 0 !important;
    font-size: 1.25rem;
    line-height: 1.5;
    display: inline-block;
    text-align: center;
    background-color: var(--accent-color);
    color: var(--primary-fonce);
    padding: 1rem 2rem;
    border-radius: var(--border-radius);
    border: 1px solid var(--accent-color);
    text-decoration: none;
    font-weight: bold;
    transition: var(--transition) !important;
}
.woocommerce ul.products li.product .button:hover {
    background-color: var(--secondary-fonce);
    color: var(--text-color);
    border: 1px solid var(--text-color);
}
.woocommerce ul.products li.product a.wc-forward {
    width: 100% !important;
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 1.5;
    display: inline-block;
    background-color: var(--primary-fonce);
    color: var(--accent-color);
    border-radius: var(--border-radius);
    border: 1px solid var(--accent-color);
    padding: 1rem 2rem;
    margin-top: 0 !important;
    text-align: center;
}
.woocommerce ul.products li.product a.wc-forward:hover {
    background-color: var(--secondary-fonce);
    color:  var(--text-color);
    border: 1px solid  var(--text-color);
}
.woocommerce ul.products li.product .button.added {
    display: none !important;
}

/* Badge promo */
.woocommerce span.onsale {
    background-color: var(--accent-color) !important;
    border-radius: 50px !important;
    padding: 0.5em 1em !important;
    min-height: auto !important;
    min-width: auto !important;
    line-height: normal !important;
    color: var(--primary-fonce);
}

/* Messages WooCommerce */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
   background: var(--primary-fonce) !important;
   color: var(--text-color) !important;
   border-radius: var(--border-radius) !important;
   border: none !important;
   outline: none !important;
   margin: 0 auto 1rem !important;
   display: flex !important;
   align-items: center !important;
   justify-content: flex-start !important;
   gap: 0 !important;
   padding: 1rem 1.5rem 1rem 4.5rem !important;
   position: relative !important;
   max-width: 1200px;
   box-sizing: border-box !important;
}

.woocommerce-dashboard .woocommerce-message,
.woocommerce-dashboard .woocommerce-info,
.woocommerce-dashboard .woocommerce-error {
   padding-left: 1.5rem !important;
}

/* Gérer les divs imbriqués - le div interne ne doit pas avoir de styles qui interfèrent */
.woocommerce-message .woocommerce-message,
.woocommerce-info .woocommerce-info,
.woocommerce-error .woocommerce-error {
   background: transparent !important;
   border: none !important;
   padding: 0 !important;
   margin: 0 !important;
   border-radius: 0 !important;
   position: static !important;
   max-width: none !important;
   display: contents !important;
}

/* S'assurer qu'il n'y a qu'un seul crochet - masquer tous les crochets des éléments imbriqués */
.woocommerce-message .woocommerce-message::before,
.woocommerce-info .woocommerce-info::before,
.woocommerce-error .woocommerce-error::before,
.woocommerce-notices-wrapper .woocommerce-message .woocommerce-message::before,
.woocommerce-notices-wrapper .woocommerce-info .woocommerce-info::before,
.woocommerce-notices-wrapper .woocommerce-error .woocommerce-error::before {
   display: none !important;
   content: none !important;
}

/* Masquer aussi les crochets potentiels dans les wrapper */
.woocommerce-notices-wrapper .woocommerce-message::before:not(:first-child),
.woocommerce-notices-wrapper .woocommerce-info::before:not(:first-child),
.woocommerce-notices-wrapper .woocommerce-error::before:not(:first-child) {
   display: none !important;
}

.wc-block-components-notice-snackbar-list {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: 1200px !important;
}
.wc-block-components-notice-snackbar-list div {
    width: 100% !important;
    max-width: 1200px !important;
}
.wc-block-components-notice-snackbar-list div div {
    background: var(--primary-fonce) !important;
    color: var(--text-color) !important;
    border-radius: var(--border-radius) !important;
    border: none !important;
    outline: none !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    padding: 1rem !important;
    position: relative !important;
}
.wc-block-components-notice-banner>.wc-block-components-notice-banner__content {
    -ms-grid-row-align: left !important;
    align-self: left !important;
    left: 0 !important;
    margin-left: 0 !important;
}
.wc-block-components-notice-snackbar-list div svg {
    display: none !important;
}
.wc-block-components-chip .wc-block-components-chip__remove {
    cursor: pointer !important;
}

/* Style de l'icône before */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
   display: flex !important;
   align-items: center !important;
   height: 100% !important;
   position: absolute !important;
   top: 0 !important;
   left: 2rem !important;
   color: var(--accent-color) !important;
}

/* Icône spécifique pour les messages d'erreur */
.woocommerce-error::before {
   color: #ff4444 !important;
}

/* Styles spécifiques pour les messages d'erreur en structure UL/LI */
ul.woocommerce-error {
   background: var(--primary-fonce) !important;
   color: var(--text-color) !important;
   border-radius: var(--border-radius) !important;
   border: none !important;
   outline: none !important;
   margin: 0 auto 1rem !important;
   display: flex !important;
   align-items: center !important;
   justify-content: flex-start !important;
   gap: 0 !important;
   padding: 1rem 1.5rem 1rem 4rem !important;
   position: relative !important;
   max-width: 1200px;
   box-sizing: border-box !important;
   list-style: none !important;
}

ul.woocommerce-error li {
   display: flex !important;
   align-items: center !important;
   width: 100% !important;
   margin: 0 !important;
   padding: 0 !important;
   list-style: none !important;
}

ul.woocommerce-error::before {
   display: flex !important;
   align-items: center !important;
   height: 100% !important;
   position: absolute !important;
   top: 0 !important;
   left: 2rem !important;
   color: #ff4444 !important;
}

ul.woocommerce-error .button {
   flex-shrink: 0 !important;
   margin-left: auto !important;
   margin-right: 0 !important;
   margin-top: 0 !important;
   margin-bottom: 0 !important;
   white-space: nowrap !important;
}

/* Style pour le bouton dans le message */
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
   flex-shrink: 0 !important;
   margin-left: 20px !important;
   margin-right: 0 !important;
   margin-top: 0 !important;
   margin-bottom: 0 !important;
   white-space: nowrap !important;
}
@media (max-width: 768px) {
    body.woocommerce .woocommerce-message .button,
    body.woocommerce .woocommerce-info .button,
    body.woocommerce .woocommerce-error .button,
    body.woocommerce ul.woocommerce-error .button {
        margin-top: 1rem !important;
        float: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    
    ul.woocommerce-error {
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        gap: 15px !important;
        padding: 15px !important;
    }
    
    ul.woocommerce-error::before {
        display: none !important;
    }
    
    ul.woocommerce-error li {
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        width: 100% !important;
    }
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul {
    border: none;
}

.woocommerce nav.woocommerce-pagination ul li {
    border: none;
    margin: 0 5px;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    background: var(--primary-fonce);
    color: var(--text-color);
    border-radius: var(--border-radius);
    padding: 0.5em 1em;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--accent-color);
    color: var(--text-color);
}


/* Amélioration de l'affichage des notices WooCommerce sur mobile */
@media screen and (max-width: 768px) {
    .woocommerce-notices-wrapper {
        margin: 0;
    }

    .woocommerce-message {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 15px;
        padding: 15px !important;
        margin: 0;
        border-radius: 8px;
    }

    .woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before {
        display: none !important;
    }

    .woocommerce-message .button {
        float: none !important;
        width: 100%;
        margin-top: 10px;
        padding: 12px;
        text-align: center;
        border-radius: 4px;
        order: 2;
        margin: 0 auto !important;
    }
}


/* Style du compteur de panier */
.cart-contents-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition) !important;
    position: absolute;
    top: -6px;
    right: -8px;
    background-color: var(--accent-color);
    color: var(--primary-fonce);
    font-size: 11px;
    padding: 2px 4px;
    border-radius: 50%;
    min-width: 15px;
    height: 15px;
    text-align: center;
    font-weight: bold;
    line-height: 1.2;
}
/* Animation shake pour le compteur */
.cart-contents-count.shake {
    animation: shake 0.5s cubic-bezier(.36,.07,.19,.97) both;
    transform: translate3d(0, 0, 0);
}
@keyframes shake {
    10%, 90% { transform: translate3d(-1px, 0, 0); }
    20%, 80% { transform: translate3d(2px, 0, 0); }
    30%, 50%, 70% { transform: translate3d(-4px, 0, 0); }
    40%, 60% { transform: translate3d(4px, 0, 0); }
}

/* Page fiche produit unique */
.single-product .site-content {
    margin-top: 4.5rem;
}
.single-product div.product {
    margin: 2rem auto;
    max-width: 1200px;
}

/* Styles pour les variations de produits (Variation Swatches) */
.single-product .variations {
    border: none !important;
    margin-bottom: 2rem !important;
}

.single-product .variations tbody {
    display: block !important;
}

.single-product .variations tr {
    display: flex !important;
    flex-direction: column !important;
    border: none !important;
}

.single-product .variations th.label {
    display: block !important;
    width: 100% !important;
    padding: 0 0 1rem 0 !important;
    text-align: left !important;
    border: none !important;
}

.single-product .variations th.label label {
    font-size: 1.5rem !important;
    font-weight: bold !important;
    color: var(--text-color) !important;
}

/* Nom de la variation sélectionnée */
.single-product .variations th.label .woo-selected-variation-item-name {
    display: inline-block !important;
    margin-left: 0.5rem !important;
    font-size: 1.5rem !important;
    color: var(--accent-color) !important;
    font-weight: bold !important;
}

.single-product .variations td.value {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    border: none !important;
}

/* Container des boutons de variation */
.single-product .variable-items-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 1rem !important;
    list-style: none !important;
    margin: 0 0 1rem 0 !important;
    padding: 0 !important;
}

/* Chaque bouton de variation */
.single-product .variable-item {
    flex: 1 1 0 !important;
    max-width: 200px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.single-product .variable-item-contents {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 60px !important;
    padding: 1rem 2.5rem !important;
    background-color: var(--primary-fonce) !important;
    border: 1px solid var(--accent-color) !important;
    border-radius: var(--border-radius) !important;
    cursor: pointer !important;
    transition: var(--transition) !important;
    position: relative !important;
}

.single-product .variable-item-span {
    font-size: 1.25rem !important;
    font-weight: bold !important;
    color: var(--text-color) !important;
    text-transform: capitalize !important;
    transition: var(--transition) !important;
}

/* État hover */
.single-product .variable-item:hover .variable-item-contents {
    border-color: var(--accent-color) !important;
    background-color: var(--secondary-fonce) !important;
}

.single-product .variable-item:hover .variable-item-span {
    color: var(--accent-color) !important;
}

/* État sélectionné */
.single-product .variable-item.selected .variable-item-contents,
.single-product .variable-item[aria-checked="true"] .variable-item-contents {
    background-color: var(--accent-color) !important;
    border-color: var(--accent-color) !important;
}

.single-product .variable-item.selected .variable-item-span,
.single-product .variable-item[aria-checked="true"] .variable-item-span {
    color: var(--primary-fonce) !important;
}

/* Icône de coche pour la variation sélectionnée */
.single-product .variable-item.selected .variable-item-contents::after,
.single-product .variable-item[aria-checked="true"] .variable-item-contents::after {
/*     content: '' !important;
    position: absolute !important;
    right: 15px !important;
    top: 50% !important;
    transform: translateY(-50%) rotate(45deg) !important;
    width: 8px !important;
    height: 16px !important;
    border: solid var(--primary-fonce) !important;
    border-width: 0 3px 3px 0 !important; */
    display: none !important;
}

/* Bouton "Effacer" - masqué car on peut cliquer de nouveau sur la variation */
.single-product .reset_variations {
    display: none !important;
}

/* Masquer le select natif */
.single-product .woo-variation-raw-select {
    display: none !important;
}

/* État désactivé pour les variations non disponibles */
.single-product .variable-item.disabled .variable-item-contents,
.single-product .variable-item[aria-disabled="true"] .variable-item-contents {
    opacity: 0.4 !important;
    cursor: not-allowed !important;
    background-color: var(--primary-fonce) !important;
    border-color: var(--third-pale) !important;
}

.single-product .variable-item.disabled:hover .variable-item-contents,
.single-product .variable-item[aria-disabled="true"]:hover .variable-item-contents {
    border-color: var(--third-pale) !important;
    background-color: var(--primary-fonce) !important;
}

.single-product .variable-item.disabled .variable-item-span,
.single-product .variable-item[aria-disabled="true"] .variable-item-span {
    color: rgba(255, 255, 255, 0.4) !important;
}

.single-product div.product .product_title {
    font-size: 3.5rem;
    color: var(--text-color);
    margin-bottom: 1rem;
    text-align: left;
}
.single-product div.product .product_title em {
    display:block;
    margin-top: 5px;
    font-size: 1.5rem !important;
    color: var(--text-color);
}

.single-product div.product .price {
    color: var(--text-color) !important;
    font-size: 3rem !important;
    font-weight: 500;
    margin: 0 0 1rem 0;
}

.single-product div.product .price del {
    color: rgba(255, 255, 255, 0.6) !important;
    font-size: 2rem;
    font-weight: 500;
}

.single-product div.product .price ins {
    text-decoration: none;
    font-weight: 500;
}

.single-product div.product .stock.in-stock {
    display: none;
}

.single-product div.product .woocommerce-product-gallery {
    border-radius: var(--border-radius);
}

.single-product div.product .woocommerce-product-gallery img {
    border-radius: var(--border-radius);
}

.single-product div.product form.cart {
    margin-top: 2rem;
}

.single-product .product-description ul.features li {
    font-size: 100%;
}

.wc-block-components-quantity-selector:after {
    border: none !important;
}


/* customisation gallery image produit fiche pour fleches slider */
.single-product .slick-arrow.flaticon-back, 
.single-product .slick-arrow.flaticon-right-arrow {
    font-size: 0;
    line-height: 0;
    position: absolute !important;
    top: 50% !important;
    display: block !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    transform: translateY(-50%) !important;
    cursor: pointer !important;
    border: 2px solid #000 !important;
    border-radius: 50% !important;
    background: #000 !important;
    z-index: 10 !important;
    margin-top: 0 !important;
}
.single-product .slick-arrow.flaticon-back {
    left: -18px !important;
}
.single-product .slick-arrow.flaticon-right-arrow {
    right: -18px !important;
}
.single-product .slick-arrow.flaticon-back:before, 
.single-product .slick-arrow.flaticon-right-arrow:before {
    font-family: none !important;
    font-size: 0 !important;
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 12px !important;
    height: 12px !important;
    border-top: 2px solid #fff !important;
    border-right: 2px solid #fff !important;
    opacity: 1 !important;
}
.single-product .slick-arrow.flaticon-back:before {
    transform: translate(-25%, -50%) rotate(-135deg) !important;
}
.single-product .slick-arrow.flaticon-right-arrow:before {
    transform: translate(-75%, -50%) rotate(45deg) !important;
}
.single-product .slick-arrow:hover {
    background: #000 !important;
    border: 2px solid var(--accent-color) !important;
}
.single-product .slick-arrow:hover:before {
    opacity: 1;
    border-top: 2px solid var(--accent-color) !important;
    border-right: 2px solid var(--accent-color) !important;
}



/* Égalisation hauteur sélecteur quantité et bouton panier */
.single-product div.product form.cart {
    display: flex !important;
    align-items: stretch !important;
}

.single-product div.product form.cart .quantity {
    margin: 0 10px 0 0 !important;
    float: none !important;
    outline: none !important;
}

.single-product div.product form.cart .quantity input {
    height: 100%;
    padding: 0.75em;
    border: 1px solid #ddd;
    border-radius: var(--border-radius) !important;
    min-height: 45px;
    font-weight: bold !important;
    font-size: 1.25rem;
    line-height: 1.5;
}

.single-product div.product form.cart .button {
    margin: 0;
    padding: 0.75em 1.5em;
    min-height: 45px;
    font-size: 1.25rem;
    line-height: 1.5;
    outline: none !important;
}

.single-product div.product .quantity .qty {
    background: var(--primary-fonce);
    border: 1px solid var(--accent-color);
    color: var(--text-color);
    border-radius: var(--border-radius);
    padding: 0.5rem;
    width: 5em;
}

.single-product div.product .single_add_to_cart_button {
    background-color: var(--accent-color) !important;
    color: var(--primary-fonce) !important;
    padding: 1rem 2rem !important;
    border-radius: var(--border-radius) !important;
    border: 1px solid var(--accent-color) !important;
    font-weight: bold !important;
    transition: var(--transition) !important;
}

.single-product div.product .single_add_to_cart_button:hover {
    background-color: var(--secondary-fonce) !important;
    color: var(--text-color) !important;
    border-color: var(--text-color) !important;
}

.single-product #colophon.site-footer {
    position: relative;
    clear: both;
    width: 100%;
}

.single-product .site-main {
    overflow: hidden;
    padding-bottom: 30px;
}


/* Structure générale de la page du panier */
.wp-block-woocommerce-cart {
    max-width: 1200px;
    margin: 2rem auto;
    padding: 0 1rem;
}

body.woocommerce-cart .wc-block-components-quantity-selector input {
    font-size: 1.5rem;
    background: var(--accent-color) !important;
    color: var(--primary-fonce) !important;
    border-radius: 50% !important;
}
/* cacher quantité cart de entete vu qu'il ne se met pas à jour live selon la quantité et pour focus au bon endroit */
body.woocommerce-cart header .cart-contents-count, 
body.woocommerce-checkout header .cart-contents-count {
    display: none;
}

/* active icon header selon panier, commande, account */
body.woocommerce-cart header a.cart-contents svg, 
body.woocommerce-checkout header a.cart-contents svg, 
body.woocommerce-account header a.account-link svg, 
body.single-product header li.boutique a {
    color: var(--accent-color);
}

/* cacher description produits et thead  */
body.woocommerce-cart .wc-block-cart-items thead  {
    display: none;
}
/* contenu cart */
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items {
    margin-bottom: 0 !important;
}
.wp-block-woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__row, 
.woocommerce-account .woocommerce-MyAccount-navigation, 
.woocommerce-account .woocommerce-MyAccount-content {
    display: grid !important;
    grid-template-columns: 200px 1fr auto !important;
    gap: 0 !important;
    margin-bottom: 1rem !important;
    padding: 0 !important;
    border: 1px solid var(--third-pale) !important;
    border-radius: var(--border-radius) !important;
}
.wp-block-woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__row:last-child {
    margin-bottom: 0 !important;
}
/* Alignement du header avec les éléments du panier */
.wp-block-woocommerce-cart table.wc-block-cart-items {
    border-spacing: 0 !important;
    width: 100% !important;
}

.wc-block-components-sidebar-layout .wc-block-components-main {
    padding-right: 2rem !important;
}

.wp-block-cart-items__header {
    display: grid !important;
    grid-template-columns: 100px 1fr auto !important;
    gap: 1rem !important;
    padding: 1rem !important;
    background: var(--primary-fonce) !important;
    border-radius: var(--border-radius) !important;
    margin-bottom: 1rem !important;
    align-items: center !important;
}

.wc-block-cart-items__header-image,
.wc-block-cart-items__header-product,
.wc-block-cart-items__header-total {
    font-weight: bold !important;
    text-transform: uppercase !important;
    font-size: 1rem !important;
    color: var(--text-color) !important;
}

.wc-block-components-product-details__value {
    text-transform: capitalize !important;
    font-weight: 700 !important;
}
.wc-block-components-product-metadata {
    font-weight: 700 !important;
}

/* Styles pour la sidebar et code promo et compte */
.wc-block-components-sidebar, 
.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register, 
.wc-block-components-express-payment, 
.wc-block-components-form .wc-block-components-checkout-step, 
body.woocommerce-lost-password .entry-content .woocommerce .lost_reset_password {
    padding: 2rem !important;
    border: 1px solid var(--third-pale) !important;
    border-radius: var(--border-radius) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Zone code promo */
.wc-block-components-totals-coupon {
    border: 1px solid var(--third-pale) !important;
    border-radius: var(--border-radius) !important;
    font-size: 14px !important;
    padding: 1rem !important;
    margin-bottom: 0 !important;
}

.wc-block-components-form .wc-block-components-text-input label, .wc-block-components-text-input label {
    left: 1rem !important;
    top: 0 !important;
    transform: translateY(0.85em) !important;
}
body.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input.is-active label, 
.wc-block-components-form .wc-block-components-text-input input:-webkit-autofill+label, .wc-block-components-form .wc-block-components-text-input.is-active label, .wc-block-components-text-input input:-webkit-autofill+label, .wc-block-components-text-input.is-active label, 
a.wc-block-components-checkout-return-to-cart-button {
    display: none !important;
}
.wc-blocks-components-select .wc-blocks-components-select__select {
    border-radius: 0 !important;
    color: var(--text-color) !important;
    outline: none !important;
}

.wc-block-components-validation-error {
    color: var(--accent-color) !important;
    font-size: 1rem !important;
}

/* Totaux */
.wp-block-woocommerce-cart-order-summary-totals-block {
    padding-bottom: 0 !important;
}

body.woocommerce-cart .wc-block-components-sidebar .wc-block-cart__totals-title {
    display: none !important;
}

body.woocommerce-cart .wc-block-components-totals-wrapper {
    padding: 0 !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon {
    margin-bottom: 1.5rem !important;
}

body.woocommerce-cart .wc-block-components-totals-item {
    margin-bottom: 1rem !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.wc-block-components-totals-item__value {
    font-weight: bold !important;
    color: var(--text-color) !important;
}

.wc-block-components-totals-item__label {
    font-weight: bold !important;
    color: var(--text-color) !important;
}

.wc-block-components-totals-item.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-item.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size: 2rem !important;
}

/* Style pour les colonnes */
.wp-block-woocommerce-cart .wc-block-cart-items td {
    padding: 2rem !important;
    background: transparent !important;
    margin: 0 !important;
}

.wp-block-woocommerce-cart .wc-block-cart-items td.wc-block-cart-item__image, 
.wp-block-woocommerce-cart .wc-block-cart-items td.wc-block-cart-item__product {
    padding-right: 0 !important;
}

.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-components-quantity-selector {
    margin-top: 20px !important;
}
.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-components-quantity-selector input {
    width: 37px !important;
    min-width: 37px !important;
    height: 37px !important;
    padding: 4px 6px 6px 4px !important;
}
.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
    font-size: 1.5rem !important;
    min-width: 30px !important;
    opacity: 1 !important;
    transition: var(--transition) !important;
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}
.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover {
    color: var(--accent-color) !important;
}
.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__image img {
    border-radius: var(--border-radius) !important;
}
p.lost_password {
    margin-bottom: 0;
}
.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row a.wc-block-components-product-name {
    text-decoration: none !important;
    font-size: 1.15rem !important;
    margin-bottom: 7px !important;
    color: var(--text-color) !important;
}
.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row a.wc-block-components-product-name {
    font-size: 1.5rem !important;
    font-weight: 600;
}
.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
    font-size: 14px !important;
}
.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row a.wc-block-components-product-name:hover,
.wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity button.wc-block-cart-item__remove-link:hover, 
p.lost_password a:hover {
    color: var(--accent-color) !important;
    transition: var(--transition) !important;
}
body.woocommerce-cart .wc-block-cart__submit {
    margin: 1.5rem 0 0 !important;
}

/* panier vide */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .with-empty-cart-icon:before {
    content: '';
    display: block;
    height: 5em;
    margin: -2.5rem auto 1rem;
    background-color: transparent;
    background-image: url('/wp-content/themes/convojeu/assets/icons/mascotte_surpris.png?v20250828-1');
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 5em;
    max-width: 200px;
    mask-image: none !important;
    -webkit-mask-image: none !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-separator, 
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-heading.has-text-align-center, 
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new {
    display: none;
}
body.woocommerce-cart .entry-content .wp-block-woocommerce-empty-cart-block h2.wc-block-cart__empty-cart__title {
    display: block;
    font-size: 2rem;
    margin: 0;
}


/* Zone code promo */
.wc-block-coupon-code {
    background: var(--primary-fonce);
    border-radius: var(--border-radius);
    padding: 1rem;
    margin-bottom: 1rem;
}

.wc-block-coupon-code__input {
    background: var(--primary-fonce);
    border: 1px solid var(--accent-color);
    color: var(--text-color);
    border-radius: var(--border-radius);
    padding: 0.5rem 1rem;
}

/* Boutons */
.wc-block-cart__submit-button,
.wc-block-coupon-code__button, 
.wc-block-components-button:not(.is-link) {
    background-color: var(--accent-color) !important;
    color: var(--primary-fonce) !important;
    padding: 1rem 2rem !important;
    border-radius: var(--border-radius) !important;
    border: 1px solid var(--accent-color) !important;
    font-weight: bold !important;
    transition: var(--transition) !important;
    text-decoration: none !important;
    min-height: auto !important;
}

.wc-block-cart__submit-button:hover,
.wc-block-coupon-code__button:hover, 
.wc-block-components-button:not(.is-link):hover {
    background-color: var(--secondary-fonce) !important;
    color: var(--text-color) !important;
    border-color: var(--text-color) !important;
}


/* Page Validation commande */
.woocommerce-checkout .entry-content {
    max-width: 1200px;
    margin: 0 auto;
}

.wp-block-woocommerce-checkout .wc-block-checkout__login-prompt {
    float: none !important;
    margin-top: 0 !important;
}

#customer_details {
    background: var(--primary-fonce);
    border-radius: var(--border-radius);
    padding: 2rem;
    margin-bottom: 2rem;
}

.woocommerce-checkout h3 {
    color: var(--text-color);
    font-size: 1.5rem;
    line-height: 1.3 !important;
    margin-bottom: 1.5rem;
}


.wc-block-components-order-summary .wc-block-components-order-summary-item__quantity {
    font-size: 1.25rem;
    background: var(--accent-color) !important;
    color: var(--primary-fonce) !important;
    border-radius: 50% !important;
    border: none !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    padding: 4px 5px 5px 4px !important;
}



/* Style de base uniformisé pour tous les champs incluant autofill */
/* Ajouter aux sélecteurs existants pour inclure Stripe et textarea */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="password"],
.wc-blocks-components-select .wc-blocks-components-select__select,
.select2-container--default .select2-selection--single,
/* Ajout explicite des textarea */
textarea.input-text,
textarea.wc-block-components-textarea {
    background-color: var(--secondary-fonce) !important;
    -webkit-box-shadow: 0 0 0px 1000px var(--secondary-fonce) inset !important;
    box-shadow: 0 0 0px 1000px var(--secondary-fonce) inset !important;
    -webkit-text-fill-color: var(--text-color) !important;
    color: var(--text-color) !important;
    border: 1px solid var(--third-pale) !important;
    border-radius: var(--border-radius) !important;
    padding: 1rem !important;
    font-size: 1.25rem !important;
    line-height: 1.5 !important;
    width: 100% !important;
    height: 67px !important;
    min-height: 67px !important;
    transition: var(--transition) !important;
}

/* Styles spécifiques pour les textarea */
textarea.input-text,
textarea.wc-block-components-textarea {
    height: auto !important;
    min-height: 150px !important;
    resize: vertical !important;
}

/* Renforcement des styles autofill */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--text-color) !important;
    -webkit-box-shadow: 0 0 0px 1000px var(--secondary-fonce) inset !important;
    box-shadow: 0 0 0px 1000px var(--secondary-fonce) inset !important;
    transition: background-color 5000s ease-in-out 0s !important;
    caret-color: var(--text-color) !important;
}

.woocommerce-input-wrapper input:-webkit-autofill,
.woocommerce form input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #000 inset !important;
    -webkit-text-fill-color: #333333 !important;
}
.woocommerce-input-wrapper input:-webkit-autofill:focus,
.woocommerce form input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px #000 inset !important;
    -webkit-text-fill-color: #333333 !important;
}

/* Style de base uniformisé pour tous les champs incluant autofill */
.woocommerce form .form-row select,
.wc-blocks-components-select .wc-blocks-components-select__select,
.select2-container--default .select2-selection--single,
select.wc-block-components-select {
    /* Style de base */
    background-color: var(--secondary-fonce) !important;
    border: 1px solid var(--third-pale) !important;
    border-radius: var(--border-radius) !important;
    color: var(--text-color) !important;
    width: 100% !important;
    min-height: 67px !important;
    height: 67px !important;
    padding: 0 3rem 0 1rem !important;
    font-size: 1.25rem !important;
    line-height: 1.5 !important;    
    
    /* Flèche personnalisée */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 1rem center !important;
    background-size: 1rem !important;    
    
    /* Retirer les styles natifs */
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    outline: none !important;
    cursor: pointer !important;
    box-shadow: none !important;
    
    /* Transition */
    transition: var(--transition) !important;
}

/* Styles spécifiques pour les selects avec autofill */
.woocommerce form .form-row select:-webkit-autofill,
.woocommerce form .form-row select:-webkit-autofill:hover,
.woocommerce form .form-row select:-webkit-autofill:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:-webkit-autofill,
.wc-blocks-components-select .wc-blocks-components-select__select:-webkit-autofill:hover,
.wc-blocks-components-select .wc-blocks-components-select__select:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--text-color) !important;
    -webkit-box-shadow: 0 0 0px 1000px var(--secondary-fonce) inset !important;
    box-shadow: 0 0 0px 1000px var(--secondary-fonce) inset !important;
    background-color: var(--secondary-fonce) !important;
    color: var(--text-color) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 1rem center !important;
    background-size: 1rem !important;
}

/* Style au hover */
.woocommerce form .form-row select:hover,
.wc-blocks-components-select .wc-blocks-components-select__select:hover,
.select2-container--default .select2-selection--single:hover,
select.wc-block-components-select:hover {
    background-color: var(--secondary-fonce) !important;
    border-color: var(--accent-color) !important;
    color: var(--text-color) !important;
}

/* Style au focus */
.woocommerce form .form-row select:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus,
.select2-container--default .select2-selection--single:focus,
select.wc-block-components-select:focus {
    background-color: var(--secondary-fonce) !important;
    border-color: var(--accent-color) !important;
    color: var(--text-color) !important;
    box-shadow: 0 0 0 1px var(--accent-color) !important;
    outline: none !important;
}

/* Forcer les styles pour les options */
.woocommerce form .form-row select option,
.wc-blocks-components-select .wc-blocks-components-select__select option,
select.wc-block-components-select option {
    background-color: var(--secondary-fonce) !important;
    color: var(--text-color) !important;
    padding: 1rem !important;
}

/* Supprimer la flèche native */
.woocommerce form .form-row select::-ms-expand {
    display: none !important;
}

/* Masquer la flèche SVG supplémentaire des selects */
.wc-blocks-components-select__expand,
svg.wc-blocks-components-select__expand,
.wc-blocks-components-select .wc-blocks-components-select__expand {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* S'assurer que le conteneur maintient les styles */
.wc-blocks-components-select .wc-blocks-components-select__container {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    height: inherit !important;
}


/* S'assurer que le conteneur du select ne montre pas non plus la flèche */
.wc-blocks-components-select {
    position: relative !important;
}

/* Renforcer la position de notre flèche personnalisée */
.woocommerce form .form-row select,
.wc-blocks-components-select .wc-blocks-components-select__select {
    position: relative !important;
    z-index: 1 !important;
}

/* S'assurer que le texte est correctement aligné verticalement */
.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 67px !important;
    padding-left: 1rem !important;
    color: var(--text-color) !important;
}

/* Uniformisation des labels et placeholders */
.woocommerce form .form-row label,
.wc-block-components-text-input label,
.woocommerce form .form-row input.input-text::placeholder,
.woocommerce form .form-row textarea::placeholder,
.wc-block-components-text-input input::placeholder {
    font-size: 1.25rem !important;
    color: var(--text-color) !important;
    line-height: 1.5 !important;
    margin-bottom: 0.5rem !important;
}

/* Style du placeholder */
.woocommerce form .form-row input.input-text::placeholder,
.woocommerce form .form-row textarea::placeholder,
.wc-block-components-text-input input::placeholder {
    color: rgba(255, 255, 255, 0.6) !important;
    opacity: 1 !important;
}

/* Retirer les styles natifs des selects */
.woocommerce form .form-row select,
.wc-blocks-components-select .wc-blocks-components-select__select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}

/* Style focus uniformisé */
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.wc-block-components-text-input input:focus {
    border-color: var(--accent-color) !important;
    outline: none !important;
    color: var(--text-color) !important;
    -webkit-text-fill-color: var(--text-color) !important;
    box-shadow: 0 0 0px 1000px var(--secondary-fonce) inset !important;
}

/* Style pour les champs obligatoires */
.woocommerce form .form-row .required,
.wc-block-components-text-input label .required {
    color: var(--accent-color) !important;
    text-decoration: none !important;
    border: 0 !important;
}

#order_review {
    background: var(--primary-fonce);
    border-radius: var(--border-radius);
    padding: 2rem;
}

/* Mon compte */
.woocommerce-account .woocommerce {
    max-width: 1200px;
    margin: 2rem auto;
}
/* Retirer le header et H1 de la page Mon compte login/inscription */
body.woocommerce-account:not(.logged-in) header.entry-header {
    display: none !important;
}
body.woocommerce-account.logged-in .entry-content {
    padding-top: 2rem;
}
.woocommerce table.shop_table, .woocommerce table.shop_table tbody th, .woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th, .woocommerce table.shop_table td, .woocommerce .woocommerce-customer-details address {
    border: none !important;
}
.woocommerce table.shop_table th:first-child, .woocommerce table.shop_table td:first-child {
    padding-left: 0 !important;
}
.woocommerce .woocommerce-customer-details address {
    padding: 0 !important;
}
.woocommerce-account .woocommerce button.button {
    margin-top: 1rem;
}


.woocommerce form .form-row input.input-text[type="password"] {
    padding-right: 25px !important;
}
.woocommerce form .show-password-input, .woocommerce-page form .show-password-input {
    width: 25px !important;
    background-color: var(--secondary-fonce) !important;
    padding-left: 5px;
}
.woocommerce form .show-password-input::before, .woocommerce-page form .show-password-input::before {
    background-image: url(/wp-content/themes/convojeu/assets/icons/oeil_reveler.svg) !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    width: 22px !important;
    height: 22px !important;
}

.woocommerce-account .entry-content h2 {
    font-size: 2rem;
    margin: 0 0 1rem;
}

.woocommerce-account form .form-row {
    padding: 0 !important;
    margin: 0 0 1rem !important;
}

/* Style du conteneur du label */
.woocommerce form .form-row label.woocommerce-form__label-for-checkbox, 
.wc-block-components-checkbox label {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 1.5rem !important;
    margin-top: 0.5rem !important;
    cursor: pointer !important;
}
.wp-block-woocommerce-checkout-order-note-block .wc-block-components-checkbox label {
    margin-top: 0 !important;
}
.woocommerce-privacy-policy-text {
    display: none !important;
}

/* Style de base de la case à cocher */
.woocommerce-form__input-checkbox, 
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    border: 2px solid var(--third-pale) !important;
    border-radius: 4px !important;
    background: var(--secondary-fonce) !important;
    cursor: pointer !important;
    position: relative !important;
    vertical-align: middle !important;
    transition: var(--transition) !important;
    margin: 0 !important;
    font-size: 1rem !important;
    line-height: 1!important;
    padding: 0 !important;
    padding-inline: 0 !important;
}

/* État hover de la case */
.woocommerce-form__input-checkbox:hover, 
.wc-block-components-checkbox .wc-block-components-checkbox__input:hover {
    border-color: var(--accent-color) !important;
    box-shadow: 0 0 0 1px rgba(255, 214, 0, 0.1) !important;
}

/* État focus de la case */
.woocommerce-form__input-checkbox:focus, 
.wc-block-components-checkbox .wc-block-components-checkbox__input:focus {
    border-color: var(--accent-color) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(255, 214, 0, 0.2) !important;
}

/* État coché de la case */
.woocommerce-form__input-checkbox:checked, 
.wc-block-components-checkbox .wc-block-components-checkbox__input:checked {
    background: var(--accent-color) !important;
    border-color: var(--accent-color) !important;
}

/* Création de la coche */
.woocommerce-form__input-checkbox:checked::after, 
.wc-block-components-checkbox .wc-block-components-checkbox__input:checked::after {
    content: '' !important;
    position: absolute !important;
    left: 8px !important;
    top: 3px !important;
    width: 5px !important;
    height: 12px !important;
    border: solid var(--primary-fonce) !important;
    border-width: 0 3px 3px 0 !important;
    transform: rotate(45deg) !important;
    transition: var(--transition) !important;
}

/* Style du texte */
.woocommerce-form__label-for-checkbox span, 
.wc-block-components-checkbox span.wc-block-components-checkbox__label {
    font-size: 1.15rem !important;
    margin-left: 12px !important;
    color: var(--text-color) !important;
    transition: var(--transition) !important;
}

/* État hover du texte */
.woocommerce-form__label-for-checkbox:hover span, 
.wc-block-components-checkbox span.wc-block-components-checkbox__label:hover {
    color: var(--accent-color) !important;
}

/* Animation de la coche au clic */
.woocommerce-form__input-checkbox:checked::after, 
.wc-block-components-checkbox .wc-block-components-checkbox__input:checked::after {
    animation: checkmark 0.2s ease-in-out forwards;
}

@keyframes checkmark {
    0% {
        opacity: 0;
        transform: rotate(45deg) scale(0.8);
    }
    100% {
        opacity: 1;
        transform: rotate(45deg) scale(1);
    }
}

.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:before, 
.wc-block-components-checkbox .wc-block-components-checkbox__mark {
    display: none !important;
}


.woocommerce-account .woocommerce-MyAccount-navigation, 
.woocommerce-account .woocommerce-MyAccount-content {
    display: block !important;
    padding: 2rem !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    color: var(--text-color);
    text-decoration: none !important;
    transition: var(--transition) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
    border-top: 1px solid #5b5b5b !important;
    padding-top: 0.8rem !important;
    margin-top: 1rem !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-content p {
    margin-top: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-content a:not(.button), .wc-block-components-address-card__edit, 
p.content a, .wc-block-checkout__terms a {
    text-decoration: underline;
    color: var(--text-color);
    transition: var(--transition) !important;
}

.woocommerce-account .addresses .title .edit {
    float: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover, 
.woocommerce-account .woocommerce-MyAccount-content a:hover, 
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):hover, .wc-block-components-address-card__edit:hover, 
p.content a:hover, .wc-block-checkout__terms a:hover {
    color: var(--accent-color);
}

.woocommerce-account .woocommerce-info {
    background: transparent !important;
    gap: 0 !important;
    padding: 0 !important;
    margin-bottom: 2rem !important;
    padding-bottom: 2rem !important;
    border-bottom: 1px solid #5b5b5b !important;
    border-radius: 0 !important;
    color: var(--text-color) !important;
 }
 .woocommerce-account .woocommerce-info::before, .woocommerce-account .woocommerce-message::before {
     display: none !important;
 }


.woo-icons .account-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 2px solid #ffffff;
    border-radius: 50%;
    background-color: #000000;
    padding: 3px;
    box-sizing: border-box;
    transition: var(--transition);
}

body:not(.logged-in) .woo-icons .account-link svg {
    color: #ffffff;
    transition: var(--transition);
}
body:not(.logged-in) .woo-icons .account-link:hover {
    border: 2px solid var(--accent-color);
}
body:not(.logged-in) .woo-icons .account-link:hover svg {
    color: var(--accent-color);
}

/* Style spécifique quand connecté */
body.logged-in .woo-icons .account-link {
    background-color: var(--accent-color);
    border: 2px solid var(--accent-color);
}
/* icône en noir quand connecté */
body.logged-in .woo-icons .account-link svg {
    color: #000000;
}
/* Style hover quand connecté */
body.logged-in .woo-icons .account-link:hover {
    background-color: #000000;
    border: 2px solid var(--accent-color);
}
body.logged-in .woo-icons .account-link:hover svg {
    color: var(--accent-color);
}


/* Boutons globaux */
/* Styles uniformes pour tous les boutons jaunes */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wc-block-cart__submit-button,
.wc-block-coupon-code__button,
.wc-block-components-button:not(.is-link),
.woocommerce-button, 
.wp-block-woocommerce-checkout a.wc-block-checkout__login-prompt {
    background-color: var(--accent-color) !important;
    color: var(--primary-fonce) !important;
    padding: 1rem 2rem !important;
    border-radius: var(--border-radius) !important;
    border: 1px solid var(--accent-color) !important;
    font-weight: bold !important;
    font-size: 1.25rem !important;
    transition: var(--transition) !important;
    min-height: 63px !important;  /* Pour garantir une hauteur minimale uniforme */
    height: 63px !important;      /* Force la même hauteur que le bouton du panier */
    line-height: 1.5 !important;  /* Pour centrer verticalement le texte */
    display: inline-flex !important; /* Pour un meilleur alignement vertical */
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    /* width: 325px;
    max-width: 325px; */
}

.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover, 
.wp-block-woocommerce-checkout a.wc-block-checkout__login-prompt:hover {
    background-color: var(--secondary-fonce) !important;
    color: var(--text-color) !important;
    border-color: var(--text-color) !important;
}

.woocommerce .woocommerce-MyAccount-content a.button {
    margin-bottom: 1rem;
    margin-right: 1rem;
}

/* inputs, labels et placeholders plus petits, comme promo code */
.wc-block-components-totals-coupon__form .wc-block-components-text-input input[type="text"], 
.wc-block-components-totals-coupon__form .wc-block-components-button:not(.is-link), 
.wp-block-woocommerce-checkout a.wc-block-checkout__login-prompt {
    height: 50px !important;
    min-height: 50px !important;
    font-size: 1rem !important;
    line-height: 1 !important;
}
.wc-block-components-totals-coupon__form .wc-block-components-text-input label {
    font-size: 1rem !important;
    line-height: 1 !important;
    margin-bottom: 0 !important;
    transform: translateY(1rem) !important;
}
.wc-block-components-totals-coupon__form .wc-block-components-text-input.is-active label {
    display: none !important;
}

/* validation commande */
.wp-block-woocommerce-checkout-contact-information-block .wc-block-components-checkout-step__heading {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    margin-bottom: 2rem !important;
}
.wp-block-woocommerce-checkout-contact-information-block .wc-block-components-checkout-step__heading::before {
    margin: 0 !important;
    flex-grow: 1 !important;
}
.woocommerce-checkout .wc-block-checkout__contact-fields.wp-block-woocommerce-checkout-contact-information-block {
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
}
.wp-block-woocommerce-checkout-contact-information-block a.wc-block-checkout__login-prompt {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 150px !important;
    margin: 0 !important;
    text-decoration: none !important;
    height: auto !important;
    min-height: auto !important;
}
.wp-block-woocommerce-checkout-contact-information-block .wc-block-components-checkout-step__heading, 
.wp-block-woocommerce-checkout-contact-information-block .wc-block-components-checkout-step__container {
    padding: 2rem !important;
    border: 1px solid var(--third-pale) !important;
    border-radius: var(--border-radius) !important;
    margin-top: 0 !important;
    margin-bottom: 1rem !important;
}
.wp-block-woocommerce-checkout-contact-information-block .wc-block-components-checkout-step__heading::before {
    color: var(--text-color);
    font-size: 1.25rem !important;
}
body.logged-in .wp-block-woocommerce-checkout-contact-information-block .wc-block-components-checkout-step__heading,
.wp-block-woocommerce-checkout .wc-block-checkout__guest-checkout-notice, 
.wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-checkout-step__description, 
.wp-block-woocommerce-checkout-billing-address-block .wc-block-components-checkout-step__description {
    display: none !important;
}
body.logged-in .wp-block-woocommerce-checkout-contact-information-block .wc-block-components-checkout-step__description::before {
    font-size: 1.5rem !important;
    line-height: 1.2;
    font-weight: bold;
    margin: 0;
    padding: 0;
}
.wp-block-woocommerce-checkout-contact-information-block .wc-block-components-checkout-step__container {
    margin-bottom: 0 !important;
}
.wc-block-components-express-payment--checkout .wc-block-components-express-payment__title {
    flex-grow: inherit !important;
    transform: none !important;
    margin: 2rem auto !important;
}
.wc-block-components-express-payment--checkout .wc-block-components-express-payment__content {
    border: none !important;
    padding: 2rem !important;
    margin: 2rem 0 0 !important;
}
.wc-block-checkout__payment-method .wc-block-components-radio-control__label>span {
    width: 100% !important;
}
.wc-block-checkout__payment-method .wc-block-components-checkout-step__content {
    padding-top: 0 !important;
}
.is-large .wp-block-woocommerce-checkout-order-summary-block, .wp-block-woocommerce-checkout-order-summary-totals-block, 
.wc-block-components-totals-wrapper {
    border: none !important;
    border-radius: 0 !important;
}
.is-large .wc-block-components-sidebar .wc-block-components-panel, .is-large .wc-block-components-sidebar .wc-block-components-totals-item {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.is-large .wc-block-components-sidebar .wc-block-components-totals-coupon {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}
.wc-block-checkout__payment-method h2.wc-block-components-title, 
.wc-block-checkout__payment-method .wc-block-components-radio-control__label>span>span, 
.wc-block-components-totals-shipping .wc-block-components-shipping-address, 
.wc-block-components-totals-shipping fieldset.wc-block-components-totals-shipping__fieldset, 
.wp-block-woocommerce-cart-order-summary-shipping-block .wc-block-components-totals-item__description,
.wp-block-woocommerce-checkout-order-summary-shipping-block .wc-block-components-totals-item__description,  
.wp-block-woocommerce-checkout-order-summary-cart-items-block .wc-block-components-order-summary .wc-block-components-panel__button, 
.is-mobile .wc-block-components-form .wc-block-components-checkout-step:after,
.is-small .wc-block-components-form .wc-block-components-checkout-step:after {
    display: none !important;
}


/* livraison */
.wp-block-woocommerce-cart-order-summary-shipping-block .wc-block-components-totals-item__description {
    display: none !important;
}
/* .wp-block-woocommerce-cart-order-summary-shipping-block .wc-block-components-totals-item__description,
.wp-block-woocommerce-checkout-order-summary-shipping-block .wc-block-components-totals-item__description {
    display: block !important;
    text-align: left;
} */


.wc-block-components-totals-shipping .wc-block-components-totals-item strong {
    text-transform: none !important;
    font-weight: bold !important;
}
.wc-block-checkout__payment-method .wc-block-components-radio-control__label span {
    font-size: 1.25em !important;
    font-weight: bold !important;
}
.wc-block-components-form .wc-block-components-checkout-step {
    margin-bottom: 1rem !important;
}
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted, .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
    border-radius: none !important;
    box-shadow: none !important;
}
.wc-block-checkout__payment-method .wc-block-components-radio-control.disable-radio-control .wc-block-components-radio-control__option, 
.wc-block-components-radio-control-accordion-content {
    padding: 0 !important;
}
.wc-block-checkout__terms.wc-block-checkout__terms--with-separator {
    border: none !important;
    padding-top: 1rem !important;
}
.TermsText, .wc-block-components-address-card__edit {
    font-size: 14px !important;
}
.wc-block-components-address-card {
    border: none !important;
    border-radius: 0 !important;
    padding: 1em 0 0 !important;
}


/* Responsive */
@media (max-width: 1200px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 350px) !important;
    }
}


@media (max-width: 1023px) {
    .wc-block-components-sidebar-layout .wc-block-components-main, .wc-block-components-sidebar-layout .wc-block-components-sidebar {
        padding: 0;
        width: 100% !important;
    }
    .wc-block-components-sidebar-layout .wc-block-components-main {
        padding-right: 0 !important;
        padding-bottom: 2rem !important;
    }
}

@media (max-width: 768px) {
    .single-product div.product {
        margin: 0 auto 2rem;
    }
    .single-product div.product,
    .woocommerce-cart .woocommerce,
    .woocommerce-checkout,
    .woocommerce-account .woocommerce {
        padding: 0;
    }
    
    /* Styles variations pour mobile */
    .single-product .variations th.label label {
        font-size: 1.25rem !important;
    }
    
    .single-product .variations th.label .woo-selected-variation-item-name {
        font-size: 1.25rem !important;
    }
    
    .single-product .variable-items-wrapper {
        gap: 0.75rem !important;
    }
    
    .single-product .variable-item {
        flex: 1 1 0 !important;
        max-width: 150px !important;
    }
    
    .single-product .variable-item-contents {
        min-height: 50px !important;
        padding: 0.75rem 2rem !important;
    }
    
    .single-product .variable-item-span {
        font-size: 1rem !important;
    }
    
    .single-product .variable-item.selected .variable-item-contents::after,
    .single-product .variable-item[aria-checked="true"] .variable-item-contents::after {
        right: 10px !important;
        width: 6px !important;
        height: 12px !important;
        border-width: 0 2px 2px 0 !important;
    }
    .woocommerce-account .woocommerce {
        margin: 0 auto;
    }
    .woocommerce-account .entry-content h2 {
        font-size: 1.5rem;
        margin: 0 0 1.5rem;
    }
    .single-product .site-content {
        margin-top: 3rem;
    }
    .single-product div.product .product_title {
        font-size: 2.5rem !important;
    }
    .single-product div.product .price, .woocommerce ul.products li.product .price {
        font-size: 2.25rem !important;
    }
    .wpgs-lightbox-icon::before {
        display: none !important;
    }
    .is-mobile .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper, .is-small .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper {
        padding-left: 0;
        padding-right: 0;
    }
    .wp-block-woocommerce-checkout-contact-information-block .wc-block-components-checkout-step__heading, 
    .wp-block-woocommerce-checkout-contact-information-block .wc-block-components-checkout-step__container {
        padding: 1.5rem !important;
    }
    .woocommerce table.shop_table_responsive tr td::before {
        color: var(--text-color);
    }
    
    .woocommerce-cart table.cart td.actions .coupon .input-text {
        width: 100%;
        margin-bottom: 1rem;
    }
    
    .woocommerce-cart table.cart td.actions .coupon .button {
        width: 100%;
    }

    .woocommerce ul.products {
        grid-template-columns: 350px !important;
    }

    .woocommerce ul.products li.product {
        margin: 0 auto !important;
        height: auto !important;
    }

    .wp-block-woocommerce-cart {
        padding: 0 !important;
    }

    /* Forcer l'affichage en bloc pour chaque ligne du tableau du panier */
    body.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items tr.wc-block-cart-items__row {
        display: block !important;
        margin-bottom: 1.5rem !important;
    }

    /* Ajustements spécifiques pour la cellule image et produit */
    body.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__image,
    body.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__product  {
        display: inline-block !important;
        width: 50% !important;
        text-align: left !important;
        clear: both !important;
        border: none !important;
        padding-bottom: 0 !important;
        vertical-align: top !important;
    }
    
    /* Centrer l'image du produit */
    body.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__image img {
        display: block !important;
        margin: 0 auto !important;
        max-width: 200px !important;
    }

    /* Ajuster l'espacement entre les cellules */
    body.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items td {
        padding: 0.75rem !important;
    }

    /* Ajuster la cellule total */
    body.woocommerce-cart .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-item__total {
        display: block !important;
        width: 100% !important;
        text-align: right !important;
        border-top: 1px solid var(--third-pale) !important;
        margin-top: 0.5rem !important;
        padding-top: 1rem !important;
    }
    .wp-block-woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
        font-size: 60% !important;
    }
    .wc-block-components-sidebar-layout .wc-block-components-main {
        padding-bottom: 0 !important;
    }

    .wc-block-components-sidebar {
        padding: 1rem !important;
        margin-bottom: 1rem !important;
    }
    .wc-block-cart__submit-button, .wc-block-coupon-code__button, .wc-block-components-button:not(.is-link) {
        font-size: 1rem !important;
    }
    .woocommerce form .form-row label, .wc-block-components-text-input label,
    .woocommerce form .form-row input.input-text::placeholder,
    .woocommerce form .form-row textarea::placeholder, .wc-block-components-text-input input::placeholder, 
    .wc-block-components-address-form__address_2-toggle {
        font-size: 1rem !important;
        line-height: 1.25 !important;
        margin-bottom: 0.25rem !important;
    }
    /* Style de base uniformisé pour tous les champs incluant autofill */
    /* Ajouter aux sélecteurs existants pour inclure Stripe et textarea */
        .woocommerce form .form-row input.input-text,
        .woocommerce form .form-row textarea,
        .woocommerce form .form-row select,
        .wc-block-components-text-input input[type="text"],
        .wc-block-components-text-input input[type="email"],
        .wc-block-components-text-input input[type="tel"],
        .wc-block-components-text-input input[type="password"],
        .wc-blocks-components-select .wc-blocks-components-select__select,
        .select2-container--default .select2-selection--single,
        /* Ajout explicite des textarea */
        textarea.input-text,
        textarea.wc-block-components-textarea {
            padding: 1rem !important;
            font-size: 1rem !important;
            line-height: 1.25 !important;
            height: 50px !important;
            min-height: 50px !important;
        }
        /* Styles spécifiques pour les textarea */
        textarea.input-text,
        textarea.wc-block-components-textarea {
            min-height: 125px !important;
        }
        .woocommerce #respond input#submit,
        .woocommerce a.button,
        .woocommerce button.button,
        .woocommerce input.button,
        .wc-block-cart__submit-button,
        .wc-block-coupon-code__button,
        .wc-block-components-button:not(.is-link),
        .woocommerce-button, 
        .wp-block-woocommerce-checkout a.wc-block-checkout__login-prompt, 
        .cta-button.off, .cta-button.off:visited, 
        .cta-button, .cta-button:visited {
            padding: 1rem 1.5rem !important;
            font-size: 1rem !important;
            min-height: 50px !important;
            height: inherit !important;
            line-height: 1.25 !important;
            max-width: 300px;
        }
        .single-product div.product form.cart .quantity input {
            font-size: 1rem;
            line-height: 1.25;
        }
        /* Style de base uniformisé pour tous les champs incluant autofill */
        .woocommerce form .form-row select,
        .wc-blocks-components-select .wc-blocks-components-select__select,
        .select2-container--default .select2-selection--single,
        select.wc-block-components-select {
            min-height: 50px !important;
            height: 50px !important;
            padding: 0 2.25rem 0 0.75rem !important;
            font-size: 1rem !important;
            line-height: 1.25 !important;
        }
        /* inputs, labels et placeholders plus petits, comme promo code */
        .wc-block-components-totals-coupon__form .wc-block-components-text-input input[type="text"], 
        .wc-block-components-totals-coupon__form .wc-block-components-button:not(.is-link), 
        .wp-block-woocommerce-checkout a.wc-block-checkout__login-prompt {
            height: 40px !important;
            min-height: 40px !important;
            font-size: 0.75rem !important;
        }
}

@media (max-width: 480px) {
    .woocommerce ul.products {
        grid-template-columns: 1fr !important;
        padding: 0 !important;
    }
    
    .woocommerce ul.products li.product {
        padding: 1rem !important;
    }
}

/* ========================================
   MULTI-VARIATION SELECTION STYLES
   ======================================== */

/* Container principal de sélection multiple */
.multi-variation-container {
    background: var(--secondary-fonce);
    border: 1px solid var(--third-pale);
    border-radius: var(--border-radius);
    padding: 2rem;
    margin: 2rem 0;
}

/* Header avec titre et bouton effacer */
.multi-variation-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--third-pale);
}

.multi-variation-header h4 {
    color: var(--text-color);
    font-size: 1.5rem;
    margin: 0;
    font-weight: bold;
}

.clear-all-selections {
    background: transparent;
    color: var(--text-color);
    border: 1px solid var(--third-pale);
    padding: 0.5rem 1rem;
    border-radius: var(--border-radius);
    font-size: 1rem;
    cursor: pointer;
    transition: var(--transition);
}

.clear-all-selections:hover {
    background: var(--primary-fonce);
    color: var(--accent-color);
    border-color: var(--accent-color);
}

/* Liste des variations sélectionnées */
.multi-variation-list {
    min-height: 25px;
    margin-bottom: 1.5rem;
}

.multi-variation-item {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--third-pale);
    border-radius: var(--border-radius);
    padding: 1rem;
    transition: var(--transition);
}

.multi-variation-item:last-child {
    margin-bottom: 0;
}

.variation-title {
    color: var(--text-color);
    font-size: 1.15rem;
    font-weight: 600;
    flex: 1;
    text-transform: capitalize;
}

/* Contrôles de quantité */
.variation-controls {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.qty-btn {
    background: var(--accent-color);
    color: var(--primary-fonce);
    border: none;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    font-size: 1.25rem;
    font-weight: bold;
    cursor: pointer;
    transition: var(--transition);
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.qty-btn:hover {
    background: var(--secondary-fonce);
    color: var(--accent-color);
}

.variation-qty {
    width: 50px;
    text-align: center;
    background: var(--secondary-fonce);
    border: 1px solid var(--third-pale);
    border-radius: var(--border-radius);
    color: var(--text-color);
    font-size: 1rem;
    font-weight: bold;
    padding: 0.25rem;
    transition: var(--transition);
}

.variation-qty:focus {
    border-color: var(--accent-color);
    outline: none;
}

/* .remove-variation {
    background: transparent;
    color: var(--text-color);
    border: 1px solid var(--third-pale);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    font-weight: bold;
    cursor: pointer;
    transition: var(--transition);
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    margin-left: 0.5rem;
    padding: 0 0 4px 0;
    font-size: 18px;
}

.remove-variation:hover {
    background: #ff4444;
    border-color: #ff4444;
    color: white;
} */

.remove-variation {
    display: none !important;
}

/* Actions et total */
.multi-variation-actions {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.add-all-to-cart {
    background-color: var(--accent-color) !important;
    color: var(--primary-fonce) !important;
    padding: 1rem 2rem !important;
    border-radius: var(--border-radius) !important;
    border: 1px solid var(--accent-color) !important;
    font-weight: bold !important;
    font-size: 1.25rem !important;
    cursor: pointer !important;
    transition: var(--transition) !important;
    width: 100%;
}

.add-all-to-cart:hover:not(:disabled) {
    background-color: var(--secondary-fonce) !important;
    color: var(--text-color) !important;
    border-color: var(--text-color) !important;
}

.add-all-to-cart:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.multi-variation-total {
    text-align: right;
    color: var(--text-color);
    font-size: 1.5rem;
}

.multi-variation-total strong {
    color: var(--accent-color);
}

/* État sélectionné multiple pour les boutons de variation */
.single-product .variable-item.multi-selected .variable-item-contents {
    background-color: var(--accent-color) !important;
    border-color: var(--accent-color) !important;
}

.single-product .variable-item.multi-selected .variable-item-span {
    color: var(--primary-fonce) !important;
}

/* Indicateur visuel pour la sélection multiple */
.single-product .variable-item .variable-item-contents::before {
    content: '✓' !important;
    position: absolute;
    top: -3px;
    right: -3px;
    background-color: var(--text-color);
    color: var(--primary-fonce);
    border-radius: 50%;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.single-product .variable-item.multi-selected .variable-item-contents::before {
    opacity: 1;
}

/* Ajustement du padding pour laisser place à la coche */
.single-product .variable-item.multi-selected .variable-item-contents {
    padding-left: 3rem !important;
}

/* Message vide */
.multi-variation-list:empty::after {
    content: 'Sélectionne une ou plusieurs éditions ci-dessus';
    display: block;
    text-align: center;
    font-style: italic;
    padding: 1rem 2rem;
    font-size: 1.25rem;
}

/* Produits virtuels - pas de contrôles de quantité */
.multi-variation-container[data-virtual="true"] .qty-btn,
.multi-variation-container[data-virtual="true"] .variation-qty {
    display: none !important;
}

.multi-variation-container[data-virtual="true"] .variation-controls {
    justify-content: flex-end !important;
}

/* Masquer le bouton original et la quantité quand le système multi-variation est actif */
.single-product .variations_form:has(.multi-variation-container) .single_add_to_cart_button,
.single-product .variations_form:has(.multi-variation-container) .quantity {
    display: none !important;
}

/* Responsive */
@media (max-width: 768px) {
    .multi-variation-container {
        padding: 1.5rem;
    }

    .multi-variation-header h4 {
        font-size: 1.25rem;
    }

    .clear-all-selections {
        font-size: 0.875rem;
        padding: 0.5rem 0.75rem;
    }

    .multi-variation-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }

    .variation-title {
        font-size: 1rem;
        width: 100%;
    }

    .variation-controls {
        width: 100%;
        justify-content: flex-end;
    }

    .add-all-to-cart {
        font-size: 1rem !important;
        padding: 0.875rem 1.5rem !important;
    }

    .multi-variation-total {
        font-size: 1.25rem;
    }

    .single-product .variable-item.multi-selected .variable-item-contents::before {
        font-size: 1.25rem !important;
        left: 8px !important;
    }

    .single-product .variable-item.multi-selected .variable-item-contents {
        padding-left: 2.5rem !important;
    }
}

@media (max-width: 480px) {
    .multi-variation-container {
        padding: 1rem;
        margin: 1.5rem 0;
    }

    .multi-variation-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }

    .clear-all-selections {
        width: 100%;
        text-align: center;
    }

    .variation-qty {
        width: 45px;
    }

    .qty-btn {
        width: 28px;
        height: 28px;
        font-size: 1rem;
    }

/*     .remove-variation {
        width: 28px;
        height: 28px;
        font-size: 1.25rem;
    } */
}