/* Variables de couleur (pour référence, ne sont pas de vraies variables CSS ici sans :root) */
/* --ufapt-green: #a4d65e; */
/* --ufapt-green-darker: #92c94e; */
/* --ufapt-border-gray: #d1d5db; */
/* --ufapt-focus-ring: rgba(164, 214, 94, 0.5); */

/* Style du contenu principal WooCommerce */     
.woocommerce-MyAccount-navigation,
#wc-stripe-update-subs-payment-method-card_field,
#update_all_subscriptions_addresses_field,
.woocommerce-result-count,
.woocommerce-ordering {
    display: none !important;
}
.woocommerce-MyAccount-content {            
    padding: 0 !important;            
    width: 100% !important;        
    padding-bottom: 2rem !important; /* Ajoute de l'espace en bas du contenu principal */
}                
/* Améliorer les titres WooCommerce */
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
    color: #1f2937 !important;
    font-weight: 600 !important;
    margin-bottom: 1.5rem !important;
    padding-bottom: 0.75rem !important;
    border-bottom: 2px solid #e5e7eb !important;
}

/* Style des tableaux WooCommerce */
.woocommerce-orders-table,
.woocommerce table.shop_table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-bottom: 2rem !important;
    background: white !important;
    border-radius: 0.5rem !important;
    overflow: hidden !important;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1) !important;
}

#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment {
    background: transparent !important;
    border-radius: 5px;
}

#add_payment_method #payment ul.payment_methods, .woocommerce-cart #payment ul.payment_methods, .woocommerce-checkout #payment ul.payment_methods {
border-bottom: 0px solid #68577d24 !important;
}

.woocommerce-orders-table th,
.woocommerce table.shop_table th {
    background-color: #f9fafb !important;
    color: #374151 !important;
    font-weight: 600 !important;
    padding: 1rem !important;
    text-align: left !important;
    border-bottom: 1px solid #e5e7eb !important;
}

.woocommerce-orders-table td,
.woocommerce table.shop_table td {
    padding: 1rem !important;
    border-bottom: 1px solid #f3f4f6 !important;
    color: #6b7280 !important;
}

.woocommerce-orders-table tr:hover,
.woocommerce table.shop_table tr:hover {
    background-color: #f9fafb !important;
}

/* Style des actions/boutons dans les tableaux */
.woocommerce-orders-table .button,
.woocommerce table.shop_table .button,
.woocommerce .button {
    background-color: #a4d65e !important;
    color: white !important;
    border: none !important;
    padding: 0.5rem 1rem !important;
    border-radius: 0.375rem !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    display: inline-block !important;
    transition: all 0.2s !important;
}

.woocommerce-orders-table .button:hover,
.woocommerce table.shop_table .button:hover,
.woocommerce .button:hover {
    background-color: #92c94e !important;
    transform: translateY(-1px) !important;
}

/* Messages et alertes WooCommerce - Style UFAPT Amélioré */
.woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message, /* Pour les messages hors MyAccount-content */
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
    padding: 1rem 1.25rem !important;
    border-radius: 0.375rem !important; /* 6px */
    margin-bottom: 1.5rem !important;
    border-width: 1px !important;
    border-style: solid !important;
    border-left-width: 4px !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05) !important;
}

.woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-message {
    border-color: #a4d65e !important;
    border-left-color: #a4d65e !important; /* Maintenir la bordure gauche plus épaisse */
    background-color: #f0fdf4 !important; /* Fond vert très pâle */
    color: #166534 !important; /* Texte vert foncé */
}

.woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-info {
    border-color: #60a5fa !important; /* Bleu pour info */
    border-left-color: #60a5fa !important;
    background-color: #eff6ff !important; /* Fond bleu très pâle */
    color: #1d4ed8 !important; /* Texte bleu foncé */
}

.woocommerce-MyAccount-content .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-error {
    border-color: #f87171 !important; /* Rouge pour erreur */
    border-left-color: #f87171 !important;
    background-color: #fef2f2 !important; /* Fond rouge très pâle */
    color: #dc2626 !important; /* Texte rouge foncé */
}

.woocommerce form .form-row {
    margin-bottom: 1rem !important;
}

.woocommerce form .form-row label {
    font-weight: 500 !important;
    margin-bottom: 0.5rem !important;
    display: block !important;
}

.woocommerce form input[type="text"],
.woocommerce form input[type="email"],
.woocommerce form input[type="password"],
.woocommerce form textarea,
.woocommerce form select {
    width: 100% !important;
    padding: 0.625rem 0.875rem !important;
    border: 1px solid #d1d5db !important;
    border-radius: 0.375rem !important;
    font-size: 0.875rem !important;
    line-height: 1.25rem !important;
    color: #374151 !important;
    background-color: #fff !important;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
}

.woocommerce form input[type="text"]:focus,
.woocommerce form input[type="email"]:focus,
.woocommerce form input[type="password"]:focus,
.woocommerce form textarea:focus,
.woocommerce form select:focus {
    border-color: #a4d65e !important;
    outline: 0 !important;
    box-shadow: 0 0 0 0.2rem rgba(164, 214, 94, 0.25) !important;
}

/* Placeholder style */
.woocommerce form input::placeholder,
.woocommerce form textarea::placeholder {
    color: #9ca3af !important;
    opacity: 1;
}

/* Style pour les champs de mot de passe avec potentiel icône oeil */
.woocommerce form .woocommerce-form-row--password {
    position: relative;
}

.woocommerce form .woocommerce-form-row--password .show-password-input {
    position: absolute;
    top: 50%;
    right: 0.75rem;
    transform: translateY(-50%);
    padding: 0.25rem;
    color: #9ca3af;
    cursor: pointer;
    line-height: 1;
}

.woocommerce form .woocommerce-form-row--password .show-password-input:hover {
    color: #a4d65e;
}

.woocommerce form input[type="submit"],
.woocommerce form button.button {
    background-color: #a4d65e !important;
    color: white !important;
    padding: 0.625rem 1.25rem !important;
    border: 1px solid transparent !important;
    border-radius: 0.375rem !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, transform 0.1s ease-out !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.woocommerce form input[type="submit"]:hover,
.woocommerce form button.button:hover {
    background-color: #92c94e !important;
    border-color: #92c94e !important;
    transform: translateY(-1px) !important;
}

/* Styles spécifiques pour les labels si nécessaire (ceux existants sont déjà bons) */
.woocommerce form .form-row label {
    color: #374151 !important;
    font-weight: 500 !important;
    margin-bottom: 0.375rem !important;
    display: block !important;
}

.woocommerce form .form-row label .required {
    color: #ef4444 !important;
    font-weight: normal !important;
    margin-left: 0.25rem;
}

/* Responsive WooCommerce */
@media (max-width: 768px) {
    .woocommerce-MyAccount-content {
        padding-left: 0 !important;
        margin-top: 1rem !important;
    }
}

/* Styles pour la page des Moyens de Paiement */

/* Conteneur pour chaque méthode de paiement listée */
.woocommerce-account .wc-payment-methods li,
.woocommerce-account .wc-empty-payment-methods {
    list-style: none outside none !important;
    padding: 1.25rem !important; /* 20px */
    margin-bottom: 1rem !important;
    background-color: #f9fafb !important; /* Fond gris très clair */
    border: 1px solid #e5e7eb !important; /* Bordure grise standard */
    border-radius: 0.375rem !important; /* 6px */
}

.woocommerce-account .wc-payment-methods li:last-child,
.woocommerce-account .wc-empty-payment-methods:last-child {
    margin-bottom: 0 !important;
}

/* Style des boutons radio pour la sélection de la méthode */
.woocommerce-account .wc-payment-methods input[type="radio"] {
    opacity: 0 !important; /* Masquer le radio natif */
    position: absolute !important;
    left: -9999px !important;
}

.woocommerce-account .wc-payment-methods label {
    display: flex !important;
    align-items: center !important;
    cursor: pointer !important;
    font-size: 1rem !important; /* 16px */
    color: #374151 !important;
    font-weight: 500 !important;
}

.woocommerce-account .wc-payment-methods label::before {
    content: '';
    display: inline-block;
    width: 1.25em; /* Taille relative à la police */
    height: 1.25em;
    margin-right: 0.75em;
    border: 2px solid #d1d5db; /* Bordure grise */
    border-radius: 50%;
    background-color: #fff;
    transition: all 0.2s ease-in-out;
}

.woocommerce-account .wc-payment-methods input[type="radio"]:checked + label::before {
    border-color: #a4d65e; /* Vert UFAPT */
    background-color: #a4d65e; /* Vert UFAPT */
    box-shadow: inset 0 0 0 3px white; /* Point central blanc */
}

/* Style pour le bloc d'information "Mode TEST" (si c'est un .woocommerce-info) */
.woocommerce-account .payment_methods_page .woocommerce-info {
    background-color: #f0f9ff !important; /* Fond bleu clair pour info */
    border-left-color: #3b82f6 !important; /* Bordure bleue pour info */
    color: #0c4a6e !important;
    padding: 1rem !important;
    border-radius: 0.375rem !important;
    margin-bottom: 1rem !important;
}

/* Affichage des cartes enregistrées */
.woocommerce-account ul.wc-saved-payment-methods {
    padding: 0 !important;
    margin: 1rem 0 0 0 !important; /* Marge au-dessus si après des options */
    list-style: none outside none !important;
}

.woocommerce-account li.wc-saved-payment-method {
    background-color: #ffffff !important; /* Fond blanc pour la carte */
    border: 1px solid #e5e7eb !important; /* Bordure grise claire standard */
    padding: 1rem 1.25rem !important;
    border-radius: 0.375rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 1.5rem !important; /* Augmenter la marge en dessous pour l'espacement */
}

.woocommerce-account .wc-saved-payment-method-type,
.woocommerce-account .wc-saved-payment-method-last4,
.woocommerce-account .wc-saved-payment-method-expires {
    font-size: 0.875rem !important;
    color: #374151 !important; /* Texte gris foncé pour meilleure lisibilité */
}

.woocommerce-account .wc-saved-payment-method-brand {
    margin-right: 0.75rem;
    max-height: 24px;
}

.woocommerce-account .wc-saved-payment-method-actions .button {
    background-color: transparent !important;
    color: #a4d65e !important;
    padding: 0.25rem 0.5rem !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    text-decoration: underline !important;
    border: none !important;
    box-shadow: none !important;
}

.woocommerce-account .wc-saved-payment-method-actions .button:hover {
    color: #92c94e !important;
}

/* Checkbox "Mettre à jour..." */
.woocommerce-account .woocommerce-SavedPaymentMethods-saveNew input[type="checkbox"] {
    opacity: 0 !important; /* Masquer la checkbox native */
    position: absolute !important;
    left: -9999px !important;
}

.woocommerce-account .woocommerce-SavedPaymentMethods-saveNew label {
    display: flex !important;
    align-items: center !important;
    cursor: pointer !important;
    font-size: 0.875rem !important; /* 14px */
    color: #374151 !important;
    font-weight: normal !important; /* Pas en gras */
}

.woocommerce-account .woocommerce-SavedPaymentMethods-saveNew label::before {
    content: '';
    display: inline-block;
    width: 1.125em; /* Un peu plus petit que radio */
    height: 1.125em;
    margin-right: 0.625em;
    border: 2px solid #d1d5db; /* Bordure grise */
    border-radius: 0.25rem; /* Carré avec coins arrondis */
    background-color: #fff;
    transition: all 0.2s ease-in-out;
    line-height: 1;
}

.woocommerce-account .woocommerce-SavedPaymentMethods-saveNew input[type="checkbox"]:checked + label::before {
    border-color: #a4d65e; /* Vert UFAPT */
    background-color: #a4d65e; /* Vert UFAPT */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 70%;
}

/* Bouton "Ajouter un moyen de paiement" */
.woocommerce-account .wc-payment-gateway-add-payment-method-button .button {
    /* Les styles de .woocommerce form button.button devraient déjà s'appliquer */
    /* On s'assure qu'il est bien visible et stylé comme un bouton principal */
    display: inline-block !important; 
    margin-top: 2rem !important; /* Augmenter l'espace au-dessus du bouton "Ajouter..." */
}

.woocommerce-account .payment_box {
    background-color: #f9fafb !important;
    padding: 1rem !important;
    margin-top: 1rem !important;
    border-radius: 0.375rem !important;
    border-top: 2px solid #a4d65e !important; /* Ligne verte au-dessus du formulaire de carte */
}

.woocommerce-account .payment_box p {
    font-size: 0.875rem !important;
    color: #4b5563 !important;
}

.woocommerce-account .payment_box .form-row {
    margin-bottom: 0.75rem !important; /* Espacement réduit dans le payment_box */
}

/* Styles spécifiques pour la page Ajouter un Moyen de Paiement (/account/add-payment-method/) */

/* Conteneur général pour les options de paiement sur la page d'ajout */
.woocommerce #add_payment_method .payment_methods {
    padding: 0 !important;
    margin-bottom: 1.5rem !important;
}

.woocommerce #add_payment_method .payment_methods li.woocommerce-PaymentMethod {
    list-style: none outside none !important;
    padding: 1.25rem !important;
    margin-bottom: 1rem !important;
    background-color: #f9fafb !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 0.375rem !important;
}

/* Style des boutons radio pour la sélection de la méthode sur la page d'ajout */
.woocommerce #add_payment_method .payment_methods input[type="radio"] {
    opacity: 0 !important;
    position: absolute !important;
    left: -9999px !important;
}

.woocommerce #add_payment_method .payment_methods label {
    display: flex !important;
    align-items: center !important;
    cursor: pointer !important;
    font-size: 1rem !important;
    color: #374151 !important;
    font-weight: 500 !important;
    line-height: 1.5 !important; /* Pour un meilleur alignement vertical avec l'icône radio */
}

.woocommerce #add_payment_method .payment_methods label img.stripe-cards-icon {
    margin-left: 0.5rem;
    height: 20px; /* Ajuster la taille des icônes de carte */
}

.woocommerce #add_payment_method .payment_methods label::before {
    content: '';
    display: inline-block;
    width: 1.25em;
    height: 1.25em;
    margin-right: 0.75em;
    border: 2px solid #d1d5db;
    border-radius: 50%;
    background-color: #fff;
    transition: all 0.2s ease-in-out;
    flex-shrink: 0; /* Empêcher le rétrécissement */
}

.woocommerce #add_payment_method .payment_methods input[type="radio"]:checked + label::before {
    border-color: #a4d65e;
    background-color: #a4d65e;
    box-shadow: inset 0 0 0 3px white;
}

/* Style pour le message "Mode TEST" - COULEUR CORRIGÉE */
.woocommerce #add_payment_method .payment_box p.testmode-info {
    background-color: #e9f5db !important; /* Vert UFAPT très pâle (comme les fonds d'icônes) */
    border: 1px solid #c3e6cb !important; /* Bordure vert pâle */
    color: #5a7d2c !important; /* Texte vert UFAPT foncé */
    padding: 0.75rem 1rem !important;
    border-radius: 0.375rem !important;
    margin-bottom: 1rem !important;
    font-size: 0.875rem !important;
    line-height: 1.4 !important;
}

.woocommerce #add_payment_method .payment_box p.testmode-info a {
    color: #a4d65e !important; /* Lien vert UFAPT */
    text-decoration: underline !important;
}
.woocommerce #add_payment_method .payment_box p.testmode-info a:hover {
    color: #92c94e !important; /* Vert UFAPT plus foncé */
}

/* Style du conteneur de formulaire Stripe et de son contenu pour éviter la superposition */
.woocommerce #add_payment_method .woocommerce-PaymentBox.payment_box {
    background-color: #f9fafb !important;
    padding: 1.25rem !important;
    margin-top: 1rem !important;
    border-radius: 0.375rem !important;
    border: 1px solid #e5e7eb !important;
    border-top: 3px solid #a4d65e !important;
}

/* Espacement pour les éléments à l'intérieur du payment_box pour éviter la superposition */
.woocommerce #add_payment_method .woocommerce-PaymentBox.payment_box > * + * {
    margin-top: 1rem !important; /* Ajoute une marge supérieure à tous les enfants directs sauf le premier */
}

.woocommerce #add_payment_method .woocommerce-PaymentBox.payment_box p,
.woocommerce #add_payment_method .woocommerce-PaymentBox.payment_box .form-row,
.woocommerce #add_payment_method .woocommerce-PaymentBox.payment_box fieldset,
.woocommerce #add_payment_method .woocommerce-PaymentBox.payment_box .wc-stripe-upe-element {
    margin-bottom: 1rem !important; /* Marge inférieure par défaut pour les principaux blocs */
}

/* Ajustement spécifique si un fieldset est le dernier élément, pour éviter double marge avec le conteneur */
.woocommerce #add_payment_method .woocommerce-PaymentBox.payment_box fieldset:last-child {
    margin-bottom: 0 !important;
}

/* Style pour la carte enregistrée (si elle apparaît dans ce contexte) */
/* Il est possible que les styles de .wc-saved-payment-method soient déjà appliqués si la structure est la même */
.woocommerce #add_payment_method .woocommerce-PaymentBox.payment_box ul.wc-saved-payment-methods {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
}
.woocommerce #add_payment_method .woocommerce-PaymentBox.payment_box li.wc-saved-payment-method {
    background-color: #eef2ff !important; /* Un gris-bleu très pâle pour la carte enregistrée, pour la distinguer */
    border: 1px solid #c7d2fe !important;
    /* Les autres styles de .wc-saved-payment-method (padding, border-radius etc.) s'appliqueront */
}

/* S'assurer que les fieldsets dans le payment box n'ajoutent pas de marges excessives */
.woocommerce #add_payment_method .woocommerce-PaymentBox.payment_box fieldset#wc-stripe-upe-form {
    padding: 0 !important; /* Stripe UPE form fieldset a parfois son propre padding */
    margin: 0 !important; /* Réinitialiser marges pour ce fieldset spécifique */
}

/* Checkbox "En fournissant vos informations..." (si elle existe et cause des problèmes) */
/* Si c'est une simple <p> avec une <input type="checkbox"> dedans */
.woocommerce #add_payment_method .woocommerce-PaymentBox.payment_box p input[type="checkbox"] + label {
    /* Assurer un style cohérent pour les checkboxes ici aussi */
    /* Les styles généraux de checkbox devraient s'appliquer, mais on peut forcer si besoin */
    display: flex !important;
    align-items: center !important;
    font-size: 0.875rem !important;
}

.woocommerce #add_payment_method .woocommerce-PaymentBox.payment_box p input[type="checkbox"] + label::before {
    /* Utiliser les styles de checkbox personnalisée définis précédemment */
    content: '';
    display: inline-block;
    width: 1.125em;
    height: 1.125em;
    margin-right: 0.625em;
    border: 2px solid #d1d5db;
    border-radius: 0.25rem;
    background-color: #fff;
    transition: all 0.2s ease-in-out;
    line-height: 1;
    flex-shrink: 0;
}

.woocommerce #add_payment_method .woocommerce-PaymentBox.payment_box p input[type="checkbox"]:checked + label::before {
    border-color: #a4d65e;
    background-color: #a4d65e;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 70%;
}

/* Checkbox "Mettre à jour le mode de paiement pour tous mes abonnements..." */
.woocommerce #add_payment_method input[type="checkbox"].wc-stripe-update-all-subscriptions-payment-method {
    opacity: 0 !important;
    position: absolute !important;
    left: -9999px !important;
}

.woocommerce #add_payment_method label[for="wc-stripe-update-subs-payment-method-card"] {
    display: flex !important;
    align-items: center !important;
    cursor: pointer !important;
    font-size: 0.875rem !important;
    color: #374151 !important;
    font-weight: normal !important;
    margin-top: 0.5rem !important; /* Espacement au-dessus */
}

.woocommerce #add_payment_method label[for="wc-stripe-update-subs-payment-method-card"]::before {
    content: '';
    display: inline-block;
    width: 1.125em;
    height: 1.125em;
    margin-right: 0.625em;
    border: 2px solid #d1d5db;
    border-radius: 0.25rem;
    background-color: #fff;
    transition: all 0.2s ease-in-out;
    line-height: 1;
    flex-shrink: 0;
}

.woocommerce #add_payment_method input[type="checkbox"].wc-stripe-update-all-subscriptions-payment-method:checked + label[for="wc-stripe-update-subs-payment-method-card"]::before {
    border-color: #a4d65e;
    background-color: #a4d65e;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 70%;
}

/* Bouton "Ajouter un moyen de paiement" sur la page d'ajout */
.woocommerce #add_payment_method #place_order.button {
    /* Les styles de .woocommerce form button.button devraient déjà s'appliquer largement */
    /* On s'assure qu'il est bien stylé comme un bouton principal UFAPT */
    background-color: #a4d65e !important;
    color: white !important;
    padding: 0.75rem 1.5rem !important; /* Assurer un padding généreux */
    border-radius: 0.375rem !important;
    font-weight: 600 !important;
    width: auto !important; /* Permettre au bouton de s'adapter à son contenu */
    display: inline-block !important;
    margin-top: 1rem !important;
}

.woocommerce #add_payment_method #place_order.button:hover {
    background-color: #92c94e !important;
    transform: translateY(-1px) !important;
}

/* Pour le fieldset caché contenant la checkbox "Enregistrer les informations..." */
.woocommerce #add_payment_method .woocommerce-PaymentBox--stripe fieldset[style*="display:none"],
.woocommerce #add_payment_method .woocommerce-PaymentBox--stripe fieldset[style*="display: none"] {
    /* Peut-être ajouter un margin-bottom:0 ou padding-bottom:0 pour éviter l'espace s'il en prend */
    /* Mais comme il est display:none, il ne devrait pas poser de souci d'affichage */
}

/* Correction pour la superposition et le style sur la page des moyens de paiement (VIEW) */

/* Bloc affichant une carte enregistrée (ex: Carte De Crédit Visa) */
.woocommerce-account ul.wc-saved-payment-methods li.wc-saved-payment-method,
.woocommerce #add_payment_method .woocommerce-PaymentBox.payment_box li.wc-saved-payment-method /* Au cas où il apparaîtrait aussi ici */
{
    background-color: #ffffff !important; /* Fond blanc pour la carte */
    border: 1px solid #e5e7eb !important; /* Bordure grise claire standard */
    padding: 1rem 1.25rem !important;
    border-radius: 0.375rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 1.5rem !important; /* Augmenter la marge en dessous pour l'espacement */
}

/* S'assurer que le texte à l'intérieur du bloc de carte est bien stylé */
.woocommerce-account li.wc-saved-payment-method .wc-saved-payment-method-type,
.woocommerce-account li.wc-saved-payment-method .wc-saved-payment-method-last4,
.woocommerce-account li.wc-saved-payment-method .wc-saved-payment-method-expires {
    font-size: 0.875rem !important;
    color: #374151 !important; /* Texte gris foncé pour meilleure lisibilité */
}

.woocommerce-account li.wc-saved-payment-method .wc-saved-payment-method-brand {
    margin-right: 0.75rem;
    max-height: 24px;
}

.woocommerce-account li.wc-saved-payment-method .wc-saved-payment-method-actions .button {
    background-color: transparent !important;
    color: #a4d65e !important;
    padding: 0.25rem 0.5rem !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    text-decoration: underline !important;
    border: none !important;
    box-shadow: none !important;
}

.woocommerce-account li.wc-saved-payment-method .wc-saved-payment-method-actions .button:hover {
    color: #92c94e !important;
}

/* Paragraphe contenant la checkbox "Mettre à jour le mode de paiement pour tous mes abonnements en cours" */
/* Ceci cible la checkbox spécifique vue dans le HTML précédent pour la page add-payment-method, 
   et on espère une structure similaire pour la page view-payment-methods si la checkbox y apparaît */
.woocommerce-account p.form-row[id*="wc-stripe-update-subs-payment-method"],
.woocommerce #add_payment_method p.form-row[id*="wc-stripe-update-subs-payment-method"] {
    margin-top: 1.5rem !important; /* Marge supérieure pour éviter la superposition */
    margin-bottom: 1rem !important; /* Marge inférieure pour l'espacement avant le prochain élément */
    padding: 0 !important; /* S'assurer qu'il n'y a pas de padding interne qui cause des problèmes */
    clear: both; /* Au cas où il y aurait des flottants */
}

/* Styles pour la checkbox "En fournissant vos informations de carte bancaire..." (si c'est elle qui est mal placée) */
/* Ceci est un style plus générique pour des paragraphes dans le payment_box qui pourraient contenir cette info */
.woocommerce #add_payment_method .woocommerce-PaymentBox.payment_box p.form-row,
.woocommerce-account .payment_methods_page .woocommerce-PaymentBox.payment_box p.form-row /* Pourrait être sur la page de vue aussi */
{
    font-size: 0.875rem !important;
    color: #4b5563 !important;
    margin-top: 1rem !important; /* Espacement par rapport à l'élément précédent (ex: carte Stripe) */
    margin-bottom: 1rem !important;
}

.woocommerce #add_payment_method .woocommerce-PaymentBox.payment_box p.form-row input[type="checkbox"],
.woocommerce-account .payment_methods_page .woocommerce-PaymentBox.payment_box p.form-row input[type="checkbox"] {
    /* Assurer que la checkbox native est bien masquée si on la style avec ::before */
    opacity: 0 !important;
    position: absolute !important;
    left: -9999px !important;
}

.woocommerce #add_payment_method .woocommerce-PaymentBox.payment_box p.form-row label,
.woocommerce-account .payment_methods_page .woocommerce-PaymentBox.payment_box p.form-row label {
    display: flex !important;
    align-items: center !important;
    cursor: pointer !important;
    font-size: 0.875rem !important;
    color: #374151 !important;
    font-weight: normal !important;
}

.woocommerce #add_payment_method .woocommerce-PaymentBox.payment_box p.form-row label::before,
.woocommerce-account .payment_methods_page .woocommerce-PaymentBox.payment_box p.form-row label::before {
    content: '';
    display: inline-block;
    width: 1.125em;
    height: 1.125em;
    margin-right: 0.625em;
    border: 2px solid #d1d5db;
    border-radius: 0.25rem;
    background-color: #fff;
    transition: all 0.2s ease-in-out;
    line-height: 1;
    flex-shrink: 0;
}

.woocommerce #add_payment_method .woocommerce-PaymentBox.payment_box p.form-row input[type="checkbox"]:checked + label::before,
.woocommerce-account .payment_methods_page .woocommerce-PaymentBox.payment_box p.form-row input[type="checkbox"]:checked + label::before {
    border-color: #a4d65e;
    background-color: #a4d65e;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 70%;
}

/* Styles pour la page Adresses (/account/edit-address/) - NOUVELLE TENTATIVE COHÉRENTE */

/* Message d'introduction (s'il existe et doit être stylé) */
.woocommerce-MyAccount-content > p:first-of-type,
body.woocommerce-edit-address .woocommerce-MyAccount-content > p:first-of-type {
    font-size: 0.875rem !important;
    color: #4b5563 !important;
    margin-bottom: 1.5rem !important;
    padding: 0.75rem 1rem !important;
    background-color: #f3f4f6 !important; /* Fond gris très clair */
    border-left: 3px solid #a4d65e !important; /* Bordure verte UFAPT */
    border-radius: 0.25rem !important;
    line-height: 1.5 !important;
}

.woocommerce-account .woocommerce-Addresses.col2-set,
.woocommerce-page .addresses.col2-set {
    display: grid !important;
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    gap: 1.5rem !important; /* Espacement cohérent avec dashboard si applicable */
    margin-top: 1rem !important;
}

@media (min-width: 768px) {
    .woocommerce-account .woocommerce-Addresses.col2-set,
    .woocommerce-page .addresses.col2-set {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Style de chaque bloc d'adresse (carte) - ALIGNÉ AVEC DASHBOARD */
.woocommerce-Address,
body.woocommerce-edit-address .woocommerce-Address {
    background-color: #ffffff !important;
    border: 1px solid #e5e7eb !important; /* Bordure grise Tailwind `border-gray-200` */
    border-radius: 0.375rem !important; /* `rounded-md` */
    padding: 1rem !important; /* `p-4` */
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1) !important; /* `shadow-md` pour plus de relief */
    display: flex !important;
    flex-direction: column !important;
    min-height: 160px; /* Ajusté pour contenu typique d'adresse */
}

/* En-tête du bloc d'adresse */
.woocommerce-Address .woocommerce-Address-title,
body.woocommerce-edit-address .woocommerce-Address .woocommerce-Address-title {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    border-bottom: 1px solid #f3f4f6 !important; /* `border-gray-100` plus subtil */
    padding-bottom: 0.75rem !important;
    margin-bottom: 0.75rem !important; /* Espace entre header et contenu adresse */
}

.woocommerce-Address .woocommerce-Address-title h2,
body.woocommerce-edit-address .woocommerce-Address .woocommerce-Address-title h2 {
    font-size: 1.125rem !important; /* `text-lg` (18px) */
    font-weight: 600 !important; /* `font-semibold` */
    color: #374151 !important; /* `text-gray-700` */
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* BOUTON MODIFIER - VISUEL IDENTIQUE AU BOUTON "ACCÉDER" DE L'EXEMPLE */
.woocommerce-Address .woocommerce-Address-title a.edit,
body.woocommerce-edit-address .woocommerce-Address .woocommerce-Address-title a.edit {
    display: inline-block !important;
    background-color: #a4d65e !important; /* Vert UFAPT */
    color: white !important;
    padding: 0.5rem 1rem !important; /* 8px vertical, 16px horizontal (py-2 px-4) */
    font-size: 0.875rem !important; /* 14px (text-sm) */
    font-weight: 600 !important; /* `font-semibold` */
    border-radius: 0.375rem !important; /* 6px (rounded-md) */
    text-decoration: none !important;
    border: 1px solid transparent !important;
    transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out !important;
    line-height: 1.4 !important; /* Assure une bonne hauteur de ligne pour le texte */
    text-align: center;
}

.woocommerce-Address .woocommerce-Address-title a.edit:hover,
body.woocommerce-edit-address .woocommerce-Address .woocommerce-Address-title a.edit:hover {
    background-color: #93c452 !important; /* Vert UFAPT plus foncé */
    color: white !important;
    border-color: transparent !important;
}

/* Contenu de l'adresse (texte) */
.woocommerce-Address address,
body.woocommerce-edit-address .woocommerce-Address address {
    font-style: normal !important;
    font-size: 0.875rem !important; /* `text-sm` (14px) */
    color: #4b5563 !important; /* `text-gray-600` */
    line-height: 1.6 !important;
    flex-grow: 1;
    margin-top: 0; /* Le margin-bottom du header s'en occupe */
}

/* Suppression de la règle que l'utilisateur a pu ajouter manuellement pour éviter conflit */
/* .woocommerce-Address-title.title .edit { ... } */

/* Styles pour Checkbox WooCommerce - Cohérence UFAPT - Ajustement pour page Adresses */

/* Masquer la checkbox native */
.woocommerce form .form-row input[type="checkbox"],
.woocommerce-page form .form-row input[type="checkbox"] {
    opacity: 0 !important;
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
}

/* Style du label qui va devenir la checkbox visible - AJUSTEMENT FINAL POUR ADRESSES */
.woocommerce form .form-row label[for*="checkbox"],
.woocommerce form .form-row label.checkbox,
.woocommerce-page form .form-row label[for*="checkbox"],
.woocommerce-page form .form-row label.checkbox,
form.woocommerce-EditAddressForm .form-row label[for*="checkbox"],
form.woocommerce-EditAddressForm .form-row label.checkbox
{
    display: inline-flex !important;
    align-items: center !important;
    cursor: pointer !important;
    font-size: 0.875rem !important;
    color: #374151 !important;
    font-weight: normal !important;
    position: relative !important;
    padding-left: 2.4em !important; /* Augmentation significative (ex: ~34px si 1em=14px) */
    min-height: 1.5em;
    line-height: 1.45 !important; /* Ajustement mineur pour alignement vertical du texte */
    margin-bottom: 0.5rem !important;
    text-indent: 0 !important; /* Assurer aucun décalage de texte hérité */
    -webkit-text-indent: 0 !important; /* Pour compatibilité */
    overflow: visible !important; /* S'assurer que le contenu n'est pas coupé de manière inattendue */
}

/* Style du pseudo-élément ::before (la boîte de la checkbox) - AJUSTEMENT FINAL POUR ADRESSES */
.woocommerce form .form-row label[for*="checkbox"]::before,
.woocommerce form .form-row label.checkbox::before,
.woocommerce-page form .form-row label[for*="checkbox"]::before,
.woocommerce-page form .form-row label.checkbox::before,
form.woocommerce-EditAddressForm .form-row label[for*="checkbox"]::before,
form.woocommerce-EditAddressForm .form-row label.checkbox::before {
    content: '';
    position: absolute !important;
    left: 0.4em !important; /* Positionné à l'intérieur du nouveau padding (ex: ~5-6px from left edge) */
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: inline-block !important;
    width: 1.2em !important;  /* Taille de la boîte (ex: ~17px) */
    height: 1.2em !important; /* Taille de la boîte */
    border: 2px solid #d1d5db !important;
    border-radius: 0.25rem !important;
    background-color: #fff !important;
    transition: all 0.2s ease-in-out !important;
    flex-shrink: 0; /* Empêcher le rétrécissement si l'espace est compté */
}

/* Style lorsque la checkbox est cochée */
.woocommerce form .form-row input[type="checkbox"]:checked + label[for*="checkbox"]::before,
.woocommerce form .form-row input[type="checkbox"]:checked + label.checkbox::before,
.woocommerce-page form .form-row input[type="checkbox"]:checked + label[for*="checkbox"]::before,
.woocommerce-page form .form-row input[type="checkbox"]:checked + label.checkbox::before,
form.woocommerce-EditAddressForm .form-row input[type="checkbox"]:checked + label[for*="checkbox"]::before,
form.woocommerce-EditAddressForm .form-row input[type="checkbox"]:checked + label.checkbox::before {
    border-color: #a4d65e !important;
    background-color: #a4d65e !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 70% !important;
}

/* Optionnel: focus style pour l'accessibilité */
.woocommerce form .form-row input[type="checkbox"]:focus + label[for*="checkbox"]::before,
.woocommerce form .form-row input[type="checkbox"]:focus + label.checkbox::before,
.woocommerce-page form .form-row input[type="checkbox"]:focus + label[for*="checkbox"]::before,
.woocommerce-page form .form-row input[type="checkbox"]:focus + label.checkbox::before,
form.woocommerce-EditAddressForm .form-row input[type="checkbox"]:focus + label[for*="checkbox"]::before,
form.woocommerce-EditAddressForm .form-row input[type="checkbox"]:focus + label.checkbox::before {
    outline: 2px solid transparent !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 2px rgba(164, 214, 94, 0.5) !important;
}

/* Styles pour la page "Mon Abonnement Actuel" (/account/view-subscription/) - SANS .woocommerce-account lorsque possible */

/* Style général pour les tables sur cette page */
.subscription_details,
.order_details,
#woocommerce-subscriptions-related-orders-table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0;
    margin-bottom: 2rem !important;
    background-color: #ffffff !important;
    border-radius: 0.5rem !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.07), 0 2px 4px -2px rgba(0, 0, 0, 0.05) !important;
    overflow: hidden !important;
}

.subscription_details th,
.subscription_details td,
.order_details th,
.order_details td,
#woocommerce-subscriptions-related-orders-table th,
#woocommerce-subscriptions-related-orders-table td {
    padding: 0.875rem 1.25rem !important;
    text-align: left !important;
    border-bottom: 1px solid #f3f4f6 !important;
    font-size: 0.875rem !important;
    color: #374151; 
}

.subscription_details tr:last-child td,
.order_details tbody tr:last-child td,
.order_details tfoot tr:last-child th,
.order_details tfoot tr:last-child td,
#woocommerce-subscriptions-related-orders-table tbody tr:last-child td {
    border-bottom: none !important;
}

.subscription_details th,
.order_details th,
#woocommerce-subscriptions-related-orders-table th {
    background-color: #f9fafb !important;
    font-weight: 600 !important;
    color: #1f2937 !important;
}

.subscription_details td:last-child {
    /* text-align: right !important; */
}

.subscription_details .button,
#woocommerce-subscriptions-related-orders-table .button {
    background-color: #a4d65e !important;
    color: white !important;
    padding: 0.5rem 1rem !important;
    border-radius: 0.375rem !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    border: 1px solid transparent !important;
    transition: background-color 0.2s ease-in-out !important;
    margin-right: 0.5rem !important;
    margin-bottom: 0.5rem !important;
    display: inline-block !important;
    line-height: 1.4 !important;
}

.subscription_details .button:last-child,
#woocommerce-subscriptions-related-orders-table .button:last-child {
    margin-right: 0 !important;
}

.subscription_details .button:hover,
#woocommerce-subscriptions-related-orders-table .button:hover {
    background-color: #93c452 !important;
    color: white !important;
}

.subscription_details .button.cancel {
    background-color: #f3f4f6 !important;
    color: #374151 !important;
    border: 1px solid #d1d5db !important;
}

.subscription_details .button.cancel:hover {
    background-color: #e5e7eb !important;
    color: #1f2937 !important;
    border-color: #adb5bd !important;
}

/* Titres de section (h2) - Toujours scopé à .woocommerce-MyAccount-content pour éviter conflits */
.woocommerce-MyAccount-content h2 {
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    color: #1f2937 !important;
    margin-top: 2.5rem !important;
    margin-bottom: 1.25rem !important;
    padding-bottom: 0.625rem !important;
    border-bottom: 2px solid #a4d65e !important;
}

.woocommerce-MyAccount-content h2:first-of-type {
    margin-top: 0 !important;
}

/* Section Adresses de facturation/livraison en bas de page Mon Abonnement - CORRECTIF LAYOUT */
section.woocommerce-customer-details > section.woocommerce-columns.addresses {
    display: grid !important;
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important; /* Une colonne par défaut */
    gap: 1.5rem !important; /* Espacement entre les cartes */
    margin-top: 1.5rem !important; /* Espace au-dessus de la section d'adresses */
    padding: 0 !important; /* S'assurer qu'il n'y a pas de padding sur le conteneur de la grille qui interfère */
}

/* Deux colonnes sur les écrans plus larges */
@media (min-width: 768px) {
    section.woocommerce-customer-details > section.woocommerce-columns.addresses {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

section.woocommerce-customer-details .woocommerce-column {
    background-color: #ffffff !important;
    border: 1px solid #e5e7eb !important; /* Bordure style Tailwind `border-gray-200` */
    border-radius: 0.5rem !important; /* Coins arrondis style Tailwind `rounded-lg` */
    padding: 1.25rem !important; /* Padding interne style Tailwind `p-5` */
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.07), 0 2px 4px -2px rgba(0, 0, 0, 0.05) !important; /* Ombre subtile */
    display: flex !important; /* Pour un meilleur contrôle interne si besoin */
    flex-direction: column !important;
}

section.woocommerce-customer-details .woocommerce-column .woocommerce-column__title {
    font-size: 1.125rem !important; /* Taille de police `text-lg` */
    font-weight: 600 !important; /* Graisse `font-semibold` */
    color: #1f2937 !important; /* Couleur `text-gray-800` */
    margin-top: 0 !important;
    margin-bottom: 0.75rem !important; /* Espace sous le titre */
    padding-bottom: 0.5rem !important; /* Espace dans le padding sous le titre */
    border-bottom: 1px solid #f3f4f6 !important; /* Ligne de séparation `border-gray-100` */
}

section.woocommerce-customer-details .woocommerce-column address {
    font-style: normal !important;
    font-size: 0.875rem !important; /* Taille de police `text-sm` */
    color: #4b5563 !important; /* Couleur `text-gray-600` */
    line-height: 1.6 !important; /* Hauteur de ligne */
    flex-grow: 1; /* Permet à l'adresse de prendre l'espace vertical disponible */
}

section.woocommerce-customer-details .woocommerce-column address p {
    margin-bottom: 0.25rem !important; /* Espace entre les lignes de l'adresse si ce sont des <p> */
}

section.woocommerce-customer-details .woocommerce-column address p.woocommerce-customer-details--email {
    margin-top: 0.5rem !important; /* Espace au-dessus de l'email */
    word-break: break-all; /* Pour éviter que l'email ne casse le layout */
}

/* Clearfix à la fin */
.clear {
    clear: both !important;
    display: block !important;
    height: 0 !important;
    visibility: hidden !important;
}

.col2-set::before {
    display: none !important;
}

/* Styles pour la page Boutique (Shop) dans le dashboard UFAPT */
.ufapt-woocommerce-shop-container ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important; /* Augmenté minmax pour des cartes plus larges */
    gap: 1.5rem !important; /* 24px */
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

/* Cibler la div.card à l'intérieur du li.product généré par WooCommerce */
.ufapt-woocommerce-shop-container ul.products li.product {
    background-color: transparent !important; /* Le li parent doit être transparent */
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    margin-bottom: 0 !important; /* Annule la marge par défaut de li.product */
}

.ufapt-woocommerce-shop-container ul.products li.product div.card {
    /* Les styles de la carte sont maintenant dans content-product.php,
       mais on peut ajouter des ajustements spécifiques si nécessaire ici.
       Assurons-nous que la carte prend toute la hauteur du li si besoin. */
    height: 100%;
}

.ufapt-woocommerce-shop-container ul.products li.product figure a img {
    /* Styles pour l'image du produit dans la carte */
    width: 100% !important;
    height: 100% !important; /* L'image remplit la figure */
    object-fit: cover !important; /* Assure que l'image couvre bien sans déformation */
    border-radius: 0.375rem !important; /* rounded-md pour l'image, si figure n'a pas de coins arrondis */
    transition: transform 0.3s ease-in-out;
}

.ufapt-woocommerce-shop-container ul.products li.product figure a:hover img {
    transform: scale(1.05);
}

.ufapt-woocommerce-shop-container ul.products li.product .woocommerce-loop-product__title {
    /* Le style est géré par les classes card-title et Tailwind dans content-product.php */
    /* Mais on s'assure qu'il n'y a pas de conflit */
    font-size: inherit !important;
    font-weight: inherit !important;
    color: inherit !important;
    margin-bottom: 0 !important;
    line-height: inherit !important;
}

.ufapt-woocommerce-shop-container ul.products li.product .price {
    font-size: 1rem !important; /* text-base pour le prix */
    color: #374151 !important; /* text-gray-700 */
    margin-bottom: 0.75rem !important; /* Espace sous le prix */
    font-weight: 600 !important;
}

.ufapt-woocommerce-shop-container ul.products li.product .price ins .amount,
.ufapt-woocommerce-shop-container ul.products li.product .price .amount {
    color: #a4d65e !important; /* Vert UFAPT pour le prix */
    font-weight: 700 !important;
    font-size: 1.125rem !important; /* text-lg pour le montant */
    text-decoration: none !important;
}

/* Style pour le bouton "Ajouter au panier" pour qu'il ressemble à un bouton DaisyUI/UFAPT */
.ufapt-woocommerce-shop-container ul.products li.product .button,
.ufapt-woocommerce-shop-container .woocommerce a.button,
.ufapt-woocommerce-shop-container .woocommerce button.button,
.ufapt-woocommerce-shop-container .woocommerce input.button {
    background-color: #a4d65e !important; /* Vert UFAPT */
    border-color: #a4d65e !important;
    color: white !important;
    padding: 0.625rem 1.25rem !important; /* Ajuster le padding */
    border-radius: 0.375rem !important; /* rounded-md */
    font-size: 0.875rem !important; /* text-sm */
    font-weight: 600 !important;
    text-align: center !important;
    text-decoration: none !important;
    display: inline-block !important; /* Pour que le bouton ne prenne pas toute la largeur sauf si spécifié par .btn-block */
    line-height: 1.5 !important;
    transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out !important;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important; /* Ombre subtile */
}

.ufapt-woocommerce-shop-container ul.products li.product .button:hover,
.ufapt-woocommerce-shop-container .woocommerce a.button:hover,
.ufapt-woocommerce-shop-container .woocommerce button.button:hover,
.ufapt-woocommerce-shop-container .woocommerce input.button:hover {
    background-color: #93c452 !important; /* Vert UFAPT plus foncé */
    border-color: #93c452 !important;
    color: white !important;
}

/* Si le bouton a la classe .loading */
.ufapt-woocommerce-shop-container ul.products li.product .button.loading::after {
    border-color: white white white transparent !important; /* Spinner blanc */
}

/* Masquer les éléments non désirés sur la page boutique */
.ufapt-woocommerce-shop-container .woocommerce-result-count,
.ufapt-woocommerce-shop-container .woocommerce-ordering {
    display: none !important;
}

/* Masquer le bouton GPay de Stripe sur la page produit */
#wc-stripe-express-checkout-element {
    display: none !important;
}

/* Styles pour la page Panier - Gestion du débordement des totaux */
.cart_totals table {
    table-layout: fixed;
    width: 100%;
}

.cart_totals th,
.cart_totals td {
    word-wrap: break-word;
    overflow-wrap: break-word; /* Ajout pour meilleure compatibilité */
    hyphens: auto; /* Optionnel, pour couper les mots proprement si supporté */
}

.cart_totals .woocommerce-shipping-totals th,
.cart_totals .woocommerce-shipping-totals td {
    padding-left: 0.5rem; /* Ajuster si nécessaire */
    padding-right: 0.5rem; /* Ajuster si nécessaire */
}

.cart_totals .woocommerce-shipping-destination {
    font-size: 0.8em; /* Rendre le texte de destination plus petit */
    color: #555;
}

.cart_totals #shipping_method {
    list-style: none;
    padding: 0;
    margin: 0;
}

.cart_totals #shipping_method li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.25rem;
}

.cart_totals #shipping_method li label {
    margin-right: 0.5rem; /* Espace entre le label de la méthode et son prix */
    flex-grow: 1; /* Permet au label de prendre l'espace */
    /* word-break: break-all; */ /* Déjà géré par les styles td/th plus généraux */
}

.cart_totals #shipping_method li .amount {
    white-space: nowrap; /* Empêche le prix de la livraison de passer à la ligne */
    flex-shrink: 0; /* Empêche le prix de rétrécir */
}

.cart_totals .wc-proceed-to-checkout a.checkout-button {
    box-sizing: border-box; /* S'assure que padding et border sont inclus dans la largeur/hauteur */
    width: 100% !important; /* Assure que le bouton prend toute la largeur de son conteneur */
    /* Les autres styles btn btn-primary btn-block sont déjà là */
}

/* Assurer que le conteneur des totaux lui-même ne dépasse pas à cause de min-width */
.cart-collaterals .cart_totals {
    min-width: 0; /* Important pour les contextes flex */
}

