/**
 * Styles personnalisés pour WooCommerce
 * Intégration avec Tailwind CSS
 */

/* Réinitialisation des styles de base pour éviter les conflits */
.woocommerce *, 
.woocommerce-page * {
    box-sizing: border-box;
}

/* Correction pour les grilles de produits */
.products {
    display: grid !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Pour s'assurer que WooCommerce n'ajoute pas ses propres marges */
.woocommerce ul.products {
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 1.5rem;
}

@media (min-width: 640px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 768px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* Pour éliminer le float et width par défaut de WooCommerce */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    clear: none !important;
}

/* Liste des produits */
.woocommerce ul.products li.product, 
.woocommerce-page ul.products li.product {
    @apply bg-white rounded shadow-md transition-all duration-300 overflow-hidden;
}

.woocommerce ul.products li.product:hover, 
.woocommerce-page ul.products li.product:hover {
    @apply shadow-lg transform -translate-y-1;
}

/* Titres des produits */
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    @apply text-lg font-medium text-gray-800 px-4 !important;
    font-family: "Manrope", sans-serif !important;
    letter-spacing: 0.2em !important;
}

/* Prix des produits */
.woocommerce ul.products li.product .price {
    @apply text-primary font-bold px-4 !important;
}

/* Boutons */
.woocommerce .button,
.woocommerce-page .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    @apply bg-primary text-white px-4 py-2 rounded uppercase font-medium transition-colors duration-300 !important;
    font-family: "Manrope", sans-serif !important;
    letter-spacing: 0.2em !important;
}

.woocommerce .button:hover,
.woocommerce-page .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
    @apply bg-white text-primary border border-primary !important;
}

/* Page produit unique */
.woocommerce div.product div.summary {
    @apply px-6 !important;
}

.woocommerce div.product .product_title {
    @apply text-2xl uppercase !important;
    font-family: "Manrope", sans-serif !important;
    letter-spacing: 0.2em !important;
}

/* Système d'onglets sur la page produit */
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    @apply rounded-t bg-gray-100 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    @apply bg-white !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
    @apply p-6 bg-white !important;
}

/* Panier */
.woocommerce-cart table.cart td.actions .coupon .input-text {
    @apply px-4 py-2 border border-gray-300 rounded !important;
}

/* Checkout */
.woocommerce-checkout #customer_details {
    @apply mb-8 !important;
}

.woocommerce form .form-row input.input-text, 
.woocommerce form .form-row textarea {
    @apply px-4 py-2 border border-gray-300 rounded w-full !important;
}

/* Messages de notification */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    @apply p-4 bg-none mb-6 rounded !important;
}

.woocommerce-message,
.woocommerce-info {
    @apply bg-none border-l-primary !important;
}

.woocommerce-info {
    color: white !important;
}

.woocommerce-error {
    @apply bg-red-100 border-l-red-500 !important;
}

/* Fil d'Ariane */
.woocommerce .woocommerce-breadcrumb {
    @apply text-sm text-gray-600 mb-6 !important;
}

/* Mobile */
@media (max-width: 768px) {
    .woocommerce ul.products[class*=columns-] li.product, 
    .woocommerce-page ul.products[class*=columns-] li.product {
        @apply w-full !important;
    }
    
    .woocommerce-page table.cart td.actions .coupon .input-text, 
    .woocommerce-page table.cart td.actions .coupon .button {
        @apply w-full mb-2 !important;
    }
} 

:root {
    --primary-color: #be123c;
    --responsive--alignwide-width: 1440px; 
}

/* Grille des miniatures de produits */
.product-thumbnails {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.5rem;
    margin-top: 1rem;
}

/* Conteneur de miniature avec ratio 1:1 */
.thumbnail-container {
    position: relative;
    width: 100%;
    padding-bottom: 100%; /* Rapport d'aspect 1:1 (carré) */
    overflow: hidden;
    border-radius: 0.375rem;
    cursor: pointer;
    border: 1px solid transparent;
    transition: border-color 0.2s;
}

/* Etat actif des miniatures */
.thumbnail-container.active {
    border-color: var(--primary-color, #be123c);
}

/* Etat survol des miniatures */
.thumbnail-container:hover {
    border-color: var(--primary-color, #be123c);
}

/* Positionnement des images dans les miniatures */
.thumbnail-container img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Image principale du produit */
.woocommerce-product-gallery__wrapper img.wp-post-image {
    width: 100%;
    height: auto;
    object-fit: cover;
    transition: all 0.3s ease;
}

.woocommerce-product-gallery__wrapper img.wp-post-image:hover {
    transform: scale(1.05);
}

/* Désactiver le curseur pointer sur les images */
.woocommerce-product-gallery__wrapper a,
.woocommerce-product-gallery__image-no-photoswipe a {
    cursor: default !important;
}

.woocommerce-product-gallery__wrapper a img {
    cursor: default !important;
}

/* Adaptations mobiles pour la galerie */
@media (max-width: 640px) {
    .product-thumbnails {
        grid-template-columns: repeat(4, 1fr);
        gap: 0.25rem;
    }
}

/* Stylisation du bouton de validation de commande WooCommerce Blocks */
.wc-block-cart__submit-button,
.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 1rem 1.5rem !important;
    background-color: var(--primary-color, #be123c) !important;
    color: white !important;
    border: 2px solid var(--primary-color, #be123c) !important;
    font-size: 1.125rem !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    transition: all 0.3s ease !important;
    border-radius: 0.375rem !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
    margin-top: 1rem !important;
}

.wc-block-cart__submit-button:hover,
.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained:hover {
    background-color: white !important;
    color: var(--primary-color, #be123c) !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;
    transform: translateY(-2px) !important;
}

/* Stylisation du bouton de validation de commande (Commander) WooCommerce Blocks */
.wc-block-components-checkout-place-order-button,
.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.contained {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1rem 1.5rem !important;
    background-color: var(--primary-color, #be123c) !important;
    color: white !important;
    border: 2px solid var(--primary-color, #be123c) !important;
    font-size: 1.125rem !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    transition: all 0.3s ease !important;
    border-radius: 0.375rem !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
    margin-top: 1rem !important;
    font-family: "Manrope", sans-serif !important;
}

.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.contained:hover {
    background-color: white !important;
    color: var(--primary-color, #be123c) !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;
    transform: translateY(-2px) !important;
}

/* Style global du conteneur des totaux */
.wc-block-cart__totals-title,
.wp-block-woocommerce-cart-order-summary-heading-block .wc-block-cart__totals-title {
    font-size: 1.25rem !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    margin-bottom: 1rem !important;
    padding-bottom: 0.5rem !important;
    border-bottom: 1px solid #e5e7eb !important;
}

.wp-block-woocommerce-cart-order-summary-block {
    background-color: white !important;
    border-radius: 0.5rem !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
    padding: 1.5rem !important;
}

.wc-block-components-totals-item {
    padding: 0.5rem 0 !important;
    border-bottom: 1px solid #f3f4f6 !important;
}

.wc-block-components-totals-item.wc-block-components-totals-footer-item {
    border-bottom: none !important;
    font-weight: bold !important;
}

.wc-block-components-totals-item.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: var(--primary-color, #be123c) !important;
    font-size: 1.25rem !important;
} 

.woocommerce-breadcrumb {
    display: none;
}

.woocommerce-sorting-container {
    display: none !important;
}

.woocommerce-ordering {
    display: none;
}

.pswp__top-bar {
    display: none !important;
}

.pswp__bottom-bar {
    display: none !important;
}

.pswp__bg {
    background-color: #ffffff !important;
    opacity: 0.8 !important;
}

.wc-block-components-product-badge {
    display: none !important;
}

.woocommerce-notices-wrapper {
    display: none !important;
}

.in-stock {
    font-size: 1rem !important;
}

/* =================================================================
   STYLES ADDITIONNELS POUR LA PAGE PANIER
   ================================================================= */

/* Champs de quantité dans le panier */
.woocommerce table.cart .quantity input.qty,
.woocommerce .cart .quantity input.qty,
.woocommerce-cart-form .quantity input.qty {
    width: 3rem !important;
    max-width: 3rem !important;
    min-width: 3rem !important;
    text-align: center !important;
    border: 1px solid #d1d5db !important;
    border-radius: 0.375rem !important;
    padding: 0.25rem !important;
    margin: 0 !important;
    background: white !important;
    font-size: 0.875rem !important;
    height: 2.5rem !important;
    flex-shrink: 0 !important;
}

.woocommerce table.cart .quantity input.qty:focus,
.woocommerce .cart .quantity input.qty:focus {
    outline: none !important;
    border-color: #be123c !important;
    box-shadow: 0 0 0 2px rgba(190, 18, 60, 0.2) !important;
}

/* Animation pour les transitions du panier */
.woocommerce-cart-form {
    animation: fadeInCart 0.3s ease-in-out;
}

@keyframes fadeInCart {
    from { 
        opacity: 0; 
        transform: translateY(10px); 
    }
    to { 
        opacity: 1; 
        transform: translateY(0); 
    }
}

/* Amélioration de l'accessibilité pour les boutons du panier */
.woocommerce-cart-form button:focus, 
.woocommerce-cart-form a:focus {
    outline: 2px solid #be123c !important;
    outline-offset: 2px !important;
}

/* Style du bouton de mise à jour */
.woocommerce button[name="update_cart"],
.woocommerce-cart-form button[name="update_cart"] {
    display: inline-flex !important;
    visibility: visible !important;
    background-color: #be123c !important;
    color: white !important;
}

.woocommerce button[name="update_cart"]:hover,
.woocommerce-cart-form button[name="update_cart"]:hover {
    background-color: #9f1033 !important;
}

/* Conteneur de quantité responsive */
.woocommerce table.cart .quantity,
.woocommerce .cart .quantity,
.woocommerce-cart-form .quantity {
    display: inline-block;
    margin: 0;
    flex-shrink: 0;
}

/* Styles spécifiques pour le nouveau layout de panier personnalisé */
.woocommerce-cart-form .quantity {
    max-width: 3rem;
    width: 3rem;
}

/* Amélioration du layout mobile pour la quantité */
@media (max-width: 767px) {
    .woocommerce-cart-form .quantity {
        margin-left: auto;
    }
}

/* Masquer les flèches des champs numériques UNIQUEMENT dans le panier */
.woocommerce table.cart .quantity input[type="number"]::-webkit-outer-spin-button,
.woocommerce table.cart .quantity input[type="number"]::-webkit-inner-spin-button,
.woocommerce .cart .quantity input[type="number"]::-webkit-outer-spin-button,
.woocommerce .cart .quantity input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.woocommerce table.cart .quantity input[type="number"],
.woocommerce .cart .quantity input[type="number"] {
    -moz-appearance: textfield;
}

/* Forcer l'affichage des flèches sur les pages produit avec règles très spécifiques */
.woocommerce div.product .quantity input[type="number"]::-webkit-outer-spin-button,
.woocommerce div.product .quantity input[type="number"]::-webkit-inner-spin-button,
.woocommerce-variation-add-to-cart .quantity input[type="number"]::-webkit-outer-spin-button,
.woocommerce-variation-add-to-cart .quantity input[type="number"]::-webkit-inner-spin-button,
.single-product .quantity input[type="number"]::-webkit-outer-spin-button,
.single-product .quantity input[type="number"]::-webkit-inner-spin-button,
.woocommerce .single_variation_wrap .quantity input[type="number"]::-webkit-outer-spin-button,
.woocommerce .single_variation_wrap .quantity input[type="number"]::-webkit-inner-spin-button,
.woocommerce form.variations_form .quantity input[type="number"]::-webkit-outer-spin-button,
.woocommerce form.variations_form .quantity input[type="number"]::-webkit-inner-spin-button,
.woocommerce form.cart .quantity input[type="number"]::-webkit-outer-spin-button,
.woocommerce form.cart .quantity input[type="number"]::-webkit-inner-spin-button,
body.single-product .quantity input[type="number"]::-webkit-outer-spin-button,
body.single-product .quantity input[type="number"]::-webkit-inner-spin-button,
body.woocommerce div.product .quantity input[type="number"]::-webkit-outer-spin-button,
body.woocommerce div.product .quantity input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: auto !important;
    margin: 0 !important;
    height: auto !important;
    opacity: 1 !important;
    display: block !important;
}

.woocommerce div.product .quantity input[type="number"],
.woocommerce-variation-add-to-cart .quantity input[type="number"],
.single-product .quantity input[type="number"],
.woocommerce .single_variation_wrap .quantity input[type="number"],
.woocommerce form.variations_form .quantity input[type="number"],
.woocommerce form.cart .quantity input[type="number"],
body.single-product .quantity input[type="number"],
body.woocommerce div.product .quantity input[type="number"] {
    -moz-appearance: number-input !important;
    -webkit-appearance: auto !important;
}

/* =================================================================
   STYLES POUR LES MÉTHODES D'EXPÉDITION
   ================================================================= */

/* Conteneur principal des méthodes d'expédition */
.woocommerce-shipping-methods {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

/* Éléments de liste des méthodes d'expédition */
.woocommerce-shipping-methods li {
    list-style: none !important;
    margin: 0 0 0.75rem 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    position: relative;
}

.woocommerce-shipping-methods li:last-child {
    margin-bottom: 0 !important;
}

/* Masquer complètement les inputs radio */
.woocommerce-shipping-methods input[type="radio"] {
    display: none !important;
}

/* Stylisation des labels */
.woocommerce-shipping-methods label {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    padding: 0.75rem 1rem !important;
    margin: 0 !important;
    background: #f9fafb !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 0.5rem !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    font-size: 0.875rem !important;
    line-height: 1.4 !important;
    color: #374151 !important;
}

.woocommerce-shipping-methods label:hover {
    background: #f3f4f6 !important;
    border-color: #be123c !important;
}

.woocommerce-shipping-methods input[type="radio"]:checked + label {
    background: #fef2f2 !important;
    border-color: #be123c !important;
    color: #111827 !important;
}

/* Stylisation des prix dans les labels */
.woocommerce-shipping-methods label .woocommerce-Price-amount {
    font-weight: 600 !important;
    color: #be123c !important;
    margin-left: auto !important;
}

.woocommerce-shipping-methods label .woocommerce-Price-currencySymbol {
    font-weight: 600 !important;
}

/* Layout responsive pour les labels */
.woocommerce-shipping-methods label {
    justify-content: space-between !important;
    flex-wrap: wrap !important;
}

@media (max-width: 640px) {
    .woocommerce-shipping-methods label {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    
    .woocommerce-shipping-methods label .woocommerce-Price-amount {
        margin-left: 0 !important;
        margin-top: 0.25rem !important;
        text-align: left !important;
    }
}

/* Amélioration du contraste pour l'accessibilité */
.woocommerce-shipping-methods label:focus-within {
    box-shadow: 0 0 0 2px rgba(190, 18, 60, 0.2) !important;
}

.woocommerce-shipping-destination{
    display: none !important;
}

.shipping-calculator-button{
    display: none !important;
}

.wc-block-components-checkout-step {
    padding: 24px 24px !important;
    border: solid 2px #be123c !important;
    border-radius: 10px !important;
}

.wc-block-components-address-form__email {
    margin-top: 14px !important;
}

.wc-block-checkout__order-notes {
    display: none !important;
}

.wp-block-woocommerce-checkout-totals-block {
    margin-top: 0 !important;
    padding: 24px 24px !important;
    border: solid 2px #be123c !important;
    border-radius: 10px !important;
    top: 60px !important;
}

.checkout-order-summary-block-fill-wrapper {
    margin-top: 0 !important;
    padding: 24px 24px !important;
    border: solid 2px #be123c !important;
    border-radius: 10px !important;
}

.wc-block-components-totals-coupon {
    margin-top: 0 !important;
    padding: 24px 24px !important;
    border: solid 2px #be123c !important;
    border-radius: 10px !important;
    margin-bottom: 40px !important;
}

.wp-block-woocommerce-checkout-order-summary-coupon-form-block {
    padding: 0 !important;
}

.wc-block-components-checkout-order-summary__title {
    margin-top: 0 !important;
}

.wc-block-components-order-summary {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.wp-block-woocommerce-checkout-order-summary-block.checkout-order-summary-block-fill-wrapper {
    border: solid 2px #be123c !important;
    border-radius: 10px !important;
}

.wc-block-components-totals-wrapper,
.wc-block-components-checkout-order-summary__content,
.wp-block-woocommerce-checkout-order-summary-block  {
    border: none !important;
}

.checkout-order-summary-block-fill-wrapper {
    border: none !important;
}

.wp-block-woocommerce-checkout-order-summary-block .checkout-order-summary-block-fill {
    border: none !important;
}

.wc-block-components-title,
.wc-block-components-checkout-order-summary__title-text {
    font-family: "Manrope", sans-serif !important;
    font-size: 1.35rem !important;
    line-height: 1.1 !important;
    letter-spacing: 0.2em !important;
    margin-bottom: 0.1 !important;
    text-transform: uppercase !important;
    margin-left: 0 !important;
    font-weight: 400 !important;
}

.wc-block-components-checkout-step__heading {
    margin-top: 0 !important;
}

.wc-block-components-checkout-order-summary__title-text {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.wc-block-components-totals-wrapper {
    padding-bottom: 0 !important;
}

.wc-block-components-checkout-order-summary__title {
    padding: 0 !important;
    border: none !important;
}

/* Supprimer tous les contours des options de livraison */
.wc-block-components-radio-control__option,
.wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control__option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked::after {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Supprimer les contours du conteneur radio-control */
.wc-block-components-radio-control,
.wc-block-components-radio-control--highlight-checked,
.wc-block-components-radio-control--highlight-checked--first-selected {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: 0 !important;
}

/* Supprimer les focus states qui pourraient créer des contours */
.wc-block-components-radio-control__option:focus,
.wc-block-components-radio-control__option:focus-within,
.wc-block-components-radio-control__input:focus + .wc-block-components-radio-control__option-layout {
    outline: none !important;
    box-shadow: none !important;
    border: none !important;
}

.wc-block-components-product-metadata {
    display: none !important;
}

.wc-block-components-checkout-step::after,
.wc-block-components-radio-control__option::after {
    display: none !important;
    height: 0 !important;
}

.wc-block-components-checkout-step::before {
    display: none !important;
    height: 0 !important;
}

.wp-block-woocommerce-checkout-terms-block {
    border: none !important;
}

.ppcp-messages {
    display: none !important;
}

.wc-block-editor-components-block-icon {
    display: none !important;
}

.wc-block-components-payment-methods__save-card-info {
    display: none !important;
}

/* Correction pour les images CompressX dans l'archive des ateliers */
.ateliers-list .atelier-card .lg\:w-2\/5 img,
.ateliers-list .atelier-card img.wp-post-image {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* S'assurer que le conteneur parent a la bonne hauteur */
.ateliers-list .atelier-card .lg\:w-2\/5 {
    height: 100% !important;
    min-height: 200px !important;
}

.ateliers-list .atelier-card .lg\:w-2\/5 > div {
    height: 100% !important;
}

/* =================================================================
   PERSONNALISATION DU BOUTON CODES PROMO / CARTE CADEAU
   ================================================================= */

/* Modification du contenu et style du bouton codes promo */
.wc-block-components-panel__button:hover {
    color: #be123c !important;
}

/* Masquer le texte original et afficher le nouveau */
.wc-block-components-panel__button::after {
    content: "Payer avec une carte cadeau" !important;
    display: inline !important;
    font-family: "Manrope", sans-serif !important;
    font-size: 1.35rem !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.2em !important;
    line-height: 1.1 !important;
}

/* Masquer le texte original */
.wc-block-components-panel__button {
    font-size: 0 !important;
}

/* =================================================================
   STYLISATION DU BOUTON D'APPLICATION DES COUPONS
   ================================================================= */

/* Stylisation du bouton d'application des coupons */
.wc-block-components-totals-coupon__button,
.wc-block-components-button.wp-element-button.wc-block-components-totals-coupon__button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1rem 1.5rem !important;
    background-color: var(--primary-color, #be123c) !important;
    color: white !important;
    border: 2px solid var(--primary-color, #be123c) !important;
    font-size: 1.125rem !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    transition: all 0.3s ease !important;
    border-radius: 0.375rem !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
    margin-top: 0rem !important;
    font-family: "Manrope", sans-serif !important;
    cursor: pointer !important;
}

.wc-block-components-totals-coupon__button:hover,
.wc-block-components-button.wp-element-button.wc-block-components-totals-coupon__button:hover {
    background-color: white !important;
    color: var(--primary-color, #be123c) !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;
    transform: translateY(-2px) !important;
}

.wc-block-components-payment-method-icons {
    display: none !important;
}

/* =================================================================
   STYLES POUR LA MISE À JOUR AUTOMATIQUE DES TOTAUX (CARTES CADEAUX)
   ================================================================= */

/* Style pour les cartes cadeaux appliquées */
.pwgc-applied-gift-cards {
    margin-top: 1rem;
    padding: 1rem;
    background-color: #fef2f2;
    border-left: 4px solid #be123c;
    border-radius: 0.375rem;
}

.pwgc-applied-gift-cards-title {
    font-family: "Manrope", sans-serif !important;
    font-weight: 600;
    color: #be123c;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.875rem;
}

/* Traduction forcée en français pour "Gift cards applied" */
.pwgc-applied-gift-cards-title {
    font-size: 0 !important;
}

.pwgc-applied-gift-cards-title::before {
    content: "Carte cadeau appliquée" !important;
    font-size: 0.875rem !important;
    display: block;
}

.pwgc-applied-gift-cards-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.pwgc-applied-gift-cards-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0;
}

.pwgc-gift-card-number {
    font-family: "Courier New", monospace;
    font-size: 0.875rem;
    color: #374151;
    font-weight: 600;
}

.pwgc-gift-card-balance {
    font-size: 0.75rem;
    color: #6b7280;
    margin-top: 0.25rem;
}

.pwgc-gift-card-amount {
    font-weight: 700;
    color: #be123c;
    font-size: 1rem;
}

.pwgc-remove-gift-card {
    background: transparent;
    border: none;
    color: #ef4444;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    padding: 0 0.5rem;
    margin-left: 0.5rem;
    transition: color 0.2s ease;
}

.pwgc-remove-gift-card:hover {
    color: #dc2626;
}

/* Amélioration du formulaire d'application de carte cadeau */
#pwgc-redeem-gift-card-form label {
    font-size: 0 !important;
}

#pwgc-redeem-gift-card-form label::before {
    content: "Vous avez une carte cadeau ?" !important;
    font-size: 0.875rem !important;
    display: block;
    margin-bottom: 0.5rem;
    font-family: "Manrope", sans-serif !important;
    color: #374151;
}

#pwgc-redeem-gift-card-form input[type="text"] {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid #d1d5db;
    border-radius: 0.375rem;
    font-size: 0.875rem;
    margin-bottom: 0.75rem;
    transition: border-color 0.2s ease;
}

#pwgc-redeem-gift-card-form input[type="text"]:focus {
    outline: none;
    border-color: #be123c;
    box-shadow: 0 0 0 2px rgba(190, 18, 60, 0.2);
}

.pwgc-apply-gift-card-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 0.75rem 1rem !important;
    background-color: #be123c !important;
    color: white !important;
    border: 2px solid #be123c !important;
    font-size: 0.875rem !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    transition: all 0.3s ease !important;
    border-radius: 0.375rem !important;
    cursor: pointer !important;
    font-family: "Manrope", sans-serif !important;
}

.pwgc-apply-gift-card-button:hover {
    background-color: white !important;
    color: #be123c !important;
    transform: translateY(-1px) !important;
}

/* =================================================================
   STYLES POUR LA PAGE DE CONFIRMATION DE COMMANDE (THANK YOU PAGE)
   ================================================================= */

/* Message de remerciement */
.woocommerce-notice--success.woocommerce-thankyou-order-received {
    background-color: #fef2f2 !important;
    border-left: 4px solid #be123c !important;
    padding: 1.25rem 1.5rem !important;
    border-radius: 0.5rem !important;
    color: #111827 !important;
    font-family: "Manrope", sans-serif !important;
    font-size: 1.125rem !important;
    font-weight: 500 !important;
    margin-bottom: 2rem !important;
}

/* Liste des détails de commande (numéro, date, total, paiement) */
.woocommerce-order-overview {
    list-style: disc !important;
    padding-left: 1.5rem !important;
    margin: 2rem 0 !important;
}

.woocommerce-order-overview li {
    list-style: disc !important;
    margin-bottom: 0.75rem !important;
    color: #374151 !important;
}

.woocommerce-order-overview strong {
    color: #be123c !important;
    font-weight: 600 !important;
}

/* Logo des méthodes de paiement */
.wc-payment-gateway-method-logo-wrapper img {
    max-height: 24px !important;
    vertical-align: middle !important;
    margin-right: 0.5rem !important;
}

/* Section des détails de commande */
.woocommerce-order-details {
    margin: 2.5rem 0 !important;
}

.woocommerce-order-details__title {
    font-family: "Manrope", sans-serif !important;
    font-size: 1.5rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.2em !important;
    font-weight: 400 !important;
    margin-bottom: 1.5rem !important;
    color: #111827 !important;
}

/* Tableau des détails de commande */
.woocommerce-table--order-details {
    width: 100% !important;
    background: white !important;
    border: 1px solid #000 !important;
    border-collapse: collapse !important;
}

.woocommerce-table--order-details thead {
    background-color: white !important;
}

.woocommerce-table--order-details th {
    font-family: "Manrope", sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    padding: 1rem 1.25rem !important;
    text-align: left !important;
    color: #000 !important;
    border: 1px solid #000 !important;
}

.woocommerce-table--order-details td {
    padding: 1rem 1.25rem !important;
    border: 1px solid #000 !important;
}

.woocommerce-table--order-details tfoot th {
    background-color: white !important;
    font-weight: 600 !important;
    text-align: left !important;
    border: 1px solid #000 !important;
}

.woocommerce-table--order-details tfoot td {
    background-color: white !important;
    font-weight: 600 !important;
    color: #be123c !important;
    border: 1px solid #000 !important;
}

/* Métadonnées des produits (Pour, De, Carte Cadeau) */
.wc-item-meta {
    list-style: none !important;
    padding: 0 !important;
    margin: 0.75rem 0 0 0 !important;
}

.wc-item-meta li {
    list-style: none !important;
    margin: 0.5rem 0 !important;
    font-size: 0.875rem !important;
}

.wc-item-meta-label {
    display: inline-block !important;
    font-weight: 600 !important;
    color: #6b7280 !important;
    margin-right: 0.5rem !important;
}

.wc-item-meta p {
    display: inline !important;
    margin: 0 !important;
    color: #374151 !important;
}

/* Section adresse de facturation */
.woocommerce-customer-details {
    margin: 2.5rem 0 !important;
    background: white !important;
    padding: 1.5rem !important;
    border-radius: 0.5rem !important;
    border: 1px solid #e5e7eb !important;
}

.woocommerce-column__title {
    font-family: "Manrope", sans-serif !important;
    font-size: 1.5rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.2em !important;
    font-weight: 400 !important;
    margin-bottom: 1rem !important;
    color: #111827 !important;
}

.woocommerce-customer-details address {
    font-style: normal !important;
    line-height: 1.75 !important;
    color: #374151 !important;
}

.woocommerce-customer-details--phone,
.woocommerce-customer-details--email {
    margin: 0.5rem 0 !important;
    color: #6b7280 !important;
}

/* Responsive */
@media (max-width: 640px) {
    .woocommerce-order-overview {
        grid-template-columns: 1fr !important;
    }
    
    .woocommerce-table--order-details {
        font-size: 0.875rem !important;
    }
    
    .woocommerce-table--order-details th,
    .woocommerce-table--order-details td {
        padding: 0.75rem !important;
    }
}

.woocommerce-table__product-total {
    text-align: center !important;
}

.woocommerce-table__product-table.product-total{
    text-align: center !important;
}