/*
 * 2DA Informatique — Parcours WooCommerce unifié
 * Version 1.0.0 — 2026-08-07
 * Scope : Mon compte · Panier · Checkout · Confirmation de commande
 *
 * Objectif principal : supprimer les conflits de couleurs Elementor/WPR
 * (notamment texte blanc sur cartes blanches) sans toucher aux produits.
 */

body.woocommerce-account,
body.woocommerce-cart,
body.woocommerce-checkout {
    --da2-flow-blue: #1B4FBF;
    --da2-flow-blue-dark: #123A91;
    --da2-flow-red: #E63329;
    --da2-flow-navy: #0F1B3C;
    --da2-flow-text: #1B2436;
    --da2-flow-muted: #667085;
    --da2-flow-line: #E3E8F2;
    --da2-flow-bg: #F4F6FB;
    --da2-flow-card: #FFFFFF;
    --da2-flow-success: #148A46;
    --da2-flow-radius: 14px;
    background: var(--da2-flow-bg) !important;
    color: var(--da2-flow-text) !important;
}

/* Elementor : les modèles de ces pages doivent rester clairs. */
body.woocommerce-account .elementor .e-con,
body.woocommerce-account .elementor .e-con-inner,
body.woocommerce-cart .elementor .e-con,
body.woocommerce-cart .elementor .e-con-inner,
body.woocommerce-checkout .elementor .e-con,
body.woocommerce-checkout .elementor .e-con-inner {
    background-color: var(--da2-flow-bg) !important;
    background-image: none !important;
}

/* Couleur de texte sûre, mais sans écraser les boutons/badges. */
body.woocommerce-account .woocommerce,
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce {
    color: var(--da2-flow-text) !important;
}
body.woocommerce-account .woocommerce p,
body.woocommerce-account .woocommerce li,
body.woocommerce-account .woocommerce label,
body.woocommerce-account .woocommerce legend,
body.woocommerce-account .woocommerce th,
body.woocommerce-account .woocommerce td,
body.woocommerce-cart .woocommerce p,
body.woocommerce-cart .woocommerce li,
body.woocommerce-cart .woocommerce label,
body.woocommerce-cart .woocommerce legend,
body.woocommerce-cart .woocommerce th,
body.woocommerce-cart .woocommerce td,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce p,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce li,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce label,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce legend {
    color: var(--da2-flow-text) !important;
}

body.woocommerce-account .woocommerce h1,
body.woocommerce-account .woocommerce h2,
body.woocommerce-account .woocommerce h3,
body.woocommerce-cart .woocommerce h1,
body.woocommerce-cart .woocommerce h2,
body.woocommerce-cart .woocommerce h3,
body.woocommerce-checkout .woocommerce h1,
body.woocommerce-checkout .woocommerce h2,
body.woocommerce-checkout .woocommerce h3 {
    color: var(--da2-flow-navy) !important;
    text-shadow: none !important;
    -webkit-text-fill-color: currentColor !important;
}

body.woocommerce-account .woocommerce a:not(.button),
body.woocommerce-cart .woocommerce a:not(.button),
body.woocommerce-checkout .woocommerce a:not(.button) {
    color: var(--da2-flow-blue) !important;
}
body.woocommerce-account .woocommerce a:not(.button):hover,
body.woocommerce-cart .woocommerce a:not(.button):hover,
body.woocommerce-checkout .woocommerce a:not(.button):hover {
    color: var(--da2-flow-red) !important;
}

/* Formulaires : fond blanc + texte sombre, y compris autofill. */
body.woocommerce-account .woocommerce input.input-text,
body.woocommerce-account .woocommerce input[type="text"],
body.woocommerce-account .woocommerce input[type="email"],
body.woocommerce-account .woocommerce input[type="password"],
body.woocommerce-account .woocommerce input[type="tel"],
body.woocommerce-account .woocommerce textarea,
body.woocommerce-account .woocommerce select,
body.woocommerce-cart .woocommerce input.input-text,
body.woocommerce-cart .woocommerce input[type="text"],
body.woocommerce-cart .woocommerce input[type="email"],
body.woocommerce-cart .woocommerce input[type="password"],
body.woocommerce-cart .woocommerce input[type="tel"],
body.woocommerce-cart .woocommerce textarea,
body.woocommerce-cart .woocommerce select,
body.woocommerce-checkout .woocommerce input.input-text,
body.woocommerce-checkout .woocommerce input[type="text"],
body.woocommerce-checkout .woocommerce input[type="email"],
body.woocommerce-checkout .woocommerce input[type="password"],
body.woocommerce-checkout .woocommerce input[type="tel"],
body.woocommerce-checkout .woocommerce textarea,
body.woocommerce-checkout .woocommerce select,
body.woocommerce-checkout .select2-container .select2-selection {
    color: var(--da2-flow-text) !important;
    -webkit-text-fill-color: var(--da2-flow-text) !important;
    background: #FFFFFF !important;
    border: 1px solid #D7DEEA !important;
    border-radius: 10px !important;
    box-shadow: none !important;
}
body.woocommerce-account .woocommerce input::placeholder,
body.woocommerce-cart .woocommerce input::placeholder,
body.woocommerce-checkout .woocommerce input::placeholder,
body.woocommerce-account .woocommerce textarea::placeholder,
body.woocommerce-checkout .woocommerce textarea::placeholder {
    color: #8A95A8 !important;
    opacity: 1 !important;
}
body.woocommerce-account .woocommerce input:-webkit-autofill,
body.woocommerce-cart .woocommerce input:-webkit-autofill,
body.woocommerce-checkout .woocommerce input:-webkit-autofill {
    -webkit-text-fill-color: var(--da2-flow-text) !important;
    box-shadow: 0 0 0 1000px #fff inset !important;
}

/* Cases à cocher visibles sur fond clair. */
body.woocommerce-account .woocommerce input[type="checkbox"],
body.woocommerce-checkout .woocommerce input[type="checkbox"] {
    accent-color: var(--da2-flow-blue);
}

/* Messages WooCommerce. */
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-error,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-error {
    background: #FFFFFF !important;
    color: var(--da2-flow-text) !important;
    border-radius: 10px !important;
    border-color: var(--da2-flow-line) !important;
    box-shadow: 0 2px 10px rgba(15, 27, 60, .05);
}
body.woocommerce-account .woocommerce-message *,
body.woocommerce-account .woocommerce-info *,
body.woocommerce-account .woocommerce-error *,
body.woocommerce-cart .woocommerce-message *,
body.woocommerce-cart .woocommerce-info *,
body.woocommerce-cart .woocommerce-error *,
body.woocommerce-checkout .woocommerce-message *,
body.woocommerce-checkout .woocommerce-info *,
body.woocommerce-checkout .woocommerce-error * {
    color: inherit !important;
}

/* ============================================================
   MON COMPTE / CONNEXION
   ============================================================ */
body.woocommerce-account .woocommerce {
    max-width: 1080px;
    margin: 0 auto;
    padding: 28px 16px 64px;
}
body.woocommerce-account #customer_login,
body.woocommerce-account form.woocommerce-form-login,
body.woocommerce-account form.woocommerce-form-register,
body.woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-account .woocommerce-MyAccount-navigation {
    color: var(--da2-flow-text) !important;
}
body.woocommerce-account form.woocommerce-form-login,
body.woocommerce-account form.woocommerce-form-register {
    background: #FFFFFF !important;
    border: 1px solid var(--da2-flow-line) !important;
    border-radius: var(--da2-flow-radius) !important;
    padding: 24px !important;
    box-shadow: 0 6px 22px rgba(15, 27, 60, .07);
}
body.woocommerce-account form.woocommerce-form-login p,
body.woocommerce-account form.woocommerce-form-register p,
body.woocommerce-account form.woocommerce-form-login label,
body.woocommerce-account form.woocommerce-form-register label,
body.woocommerce-account form.woocommerce-form-login .woocommerce-form__label span,
body.woocommerce-account form.woocommerce-form-register .woocommerce-form__label span {
    color: var(--da2-flow-text) !important;
    opacity: 1 !important;
}
body.woocommerce-account form.woocommerce-form-login .woocommerce-form-login__rememberme {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    margin: 8px 0 14px;
}
body.woocommerce-account .woocommerce-LostPassword {
    margin-top: 14px;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    margin: 0;
    padding: 8px;
    list-style: none;
    background: #FFFFFF;
    border: 1px solid var(--da2-flow-line);
    border-radius: var(--da2-flow-radius);
}
body.woocommerce-account .woocommerce-MyAccount-navigation li a {
    display: block;
    padding: 11px 13px;
    border-radius: 9px;
    text-decoration: none;
    color: var(--da2-flow-navy) !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
    background: #EDF3FF;
    color: var(--da2-flow-blue) !important;
}

/* ============================================================
   PANIER
   ============================================================ */
body.woocommerce-cart .woocommerce {
    max-width: 1180px;
    margin: 0 auto;
    padding: 26px 16px 64px;
}
body.woocommerce-cart .shop_table.cart,
body.woocommerce-cart .cart_totals {
    color: var(--da2-flow-text) !important;
    background: #FFFFFF !important;
}
body.woocommerce-cart .shop_table.cart th,
body.woocommerce-cart .shop_table.cart td,
body.woocommerce-cart .cart_totals th,
body.woocommerce-cart .cart_totals td,
body.woocommerce-cart .cart_totals h2,
body.woocommerce-cart .shop_table.cart .product-name,
body.woocommerce-cart .shop_table.cart .product-price,
body.woocommerce-cart .shop_table.cart .product-quantity,
body.woocommerce-cart .shop_table.cart .product-subtotal {
    color: var(--da2-flow-text) !important;
    -webkit-text-fill-color: currentColor !important;
}
body.woocommerce-cart .shop_table.cart .woocommerce-Price-amount,
body.woocommerce-cart .shop_table.cart .woocommerce-Price-amount bdi,
body.woocommerce-cart .cart_totals .woocommerce-Price-amount,
body.woocommerce-cart .cart_totals .woocommerce-Price-amount bdi {
    color: var(--da2-flow-navy) !important;
}
body.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount,
body.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount bdi {
    color: var(--da2-flow-red) !important;
}
body.woocommerce-cart .quantity .qty {
    min-width: 64px;
    color: var(--da2-flow-text) !important;
    background: #FFFFFF !important;
    border: 1px solid #D7DEEA !important;
    border-radius: 8px !important;
}

/* ============================================================
   CHECKOUT ACTIF (hors page de confirmation)
   Neutralise le vieux bloc .woocommerce-checkout de style.css qui
   forçait tout le texte en blanc.
   ============================================================ */
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-additional-fields,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review,
body.woocommerce-checkout:not(.woocommerce-order-received) #payment {
    color: var(--da2-flow-text) !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields *,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-additional-fields *,
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review *,
body.woocommerce-checkout:not(.woocommerce-order-received) #payment * {
    text-shadow: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment,
body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods {
    background: #FFFFFF !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment label,
body.woocommerce-checkout:not(.woocommerce-order-received) #payment p,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-privacy-policy-text,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-terms-and-conditions-wrapper,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form__label-for-checkbox span {
    color: var(--da2-flow-text) !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-terms-and-conditions-wrapper a {
    color: var(--da2-flow-blue) !important;
}

/* ============================================================
   CONFIRMATION / COMMANDE REÇUE
   C'est la correction principale de la capture : le body porte encore
   .woocommerce-checkout, mais l'ancien CSS mettait tout en blanc alors
   que le modèle Elementor est clair.
   ============================================================ */
body.woocommerce-order-received .woocommerce {
    max-width: 980px;
    margin: 0 auto;
    padding: 26px 16px 72px;
    color: var(--da2-flow-text) !important;
}
body.woocommerce-order-received .woocommerce-order {
    color: var(--da2-flow-text) !important;
}
body.woocommerce-order-received .woocommerce-order > p.woocommerce-notice,
body.woocommerce-order-received .woocommerce-thankyou-order-received {
    margin: 0 0 18px !important;
    padding: 18px 20px !important;
    background: #ECF8F1 !important;
    border: 1px solid #BFE8CE !important;
    border-left: 5px solid var(--da2-flow-success) !important;
    border-radius: 12px !important;
    color: #0F6A36 !important;
    font-size: clamp(18px, 3vw, 24px) !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    text-shadow: none !important;
    -webkit-text-fill-color: #0F6A36 !important;
}
body.woocommerce-order-received ul.woocommerce-order-overview,
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
    background: #FFFFFF !important;
    border: 1px solid var(--da2-flow-line) !important;
    border-radius: var(--da2-flow-radius) !important;
    box-shadow: 0 5px 18px rgba(15, 27, 60, .06);
}
body.woocommerce-order-received ul.woocommerce-order-overview {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin: 0 0 22px !important;
    padding: 0 !important;
    list-style: none !important;
    overflow: hidden;
}
body.woocommerce-order-received ul.woocommerce-order-overview li {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 16px 18px !important;
    border-right: 1px solid var(--da2-flow-line) !important;
    color: var(--da2-flow-muted) !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    text-transform: uppercase;
    letter-spacing: .05em;
}
body.woocommerce-order-received ul.woocommerce-order-overview li:last-child {
    border-right: 0 !important;
}
body.woocommerce-order-received ul.woocommerce-order-overview li strong {
    display: block;
    margin-top: 5px;
    color: var(--da2-flow-navy) !important;
    -webkit-text-fill-color: var(--da2-flow-navy) !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    text-transform: none;
    letter-spacing: 0;
}
body.woocommerce-order-received .woocommerce-order p,
body.woocommerce-order-received .woocommerce-order li,
body.woocommerce-order-received .woocommerce-order th,
body.woocommerce-order-received .woocommerce-order td,
body.woocommerce-order-received .woocommerce-order address,
body.woocommerce-order-received .woocommerce-order strong,
body.woocommerce-order-received .woocommerce-order bdi,
body.woocommerce-order-received .woocommerce-order span:not(.button):not(.dashicons) {
    color: var(--da2-flow-text) !important;
    text-shadow: none !important;
    -webkit-text-fill-color: currentColor !important;
}
body.woocommerce-order-received .woocommerce-order h2,
body.woocommerce-order-received .woocommerce-order h3 {
    color: var(--da2-flow-navy) !important;
    -webkit-text-fill-color: var(--da2-flow-navy) !important;
}
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
    padding: 22px !important;
    margin: 0 0 22px !important;
}
body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title {
    margin: 0 0 16px !important;
    font-size: clamp(20px, 3vw, 28px) !important;
}
body.woocommerce-order-received table.woocommerce-table--order-details {
    width: 100%;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: collapse !important;
    background: #FFFFFF !important;
}
body.woocommerce-order-received table.woocommerce-table--order-details th,
body.woocommerce-order-received table.woocommerce-table--order-details td {
    padding: 12px 10px !important;
    background: #FFFFFF !important;
    border-color: var(--da2-flow-line) !important;
    color: var(--da2-flow-text) !important;
    vertical-align: top;
}
body.woocommerce-order-received table.woocommerce-table--order-details thead th {
    color: var(--da2-flow-muted) !important;
    font-size: 12px !important;
    text-transform: uppercase;
    letter-spacing: .04em;
}
body.woocommerce-order-received table.woocommerce-table--order-details .woocommerce-Price-amount,
body.woocommerce-order-received table.woocommerce-table--order-details .woocommerce-Price-amount bdi {
    color: var(--da2-flow-navy) !important;
    -webkit-text-fill-color: var(--da2-flow-navy) !important;
    font-weight: 700;
}
body.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child th,
body.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child td,
body.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child .woocommerce-Price-amount,
body.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child .woocommerce-Price-amount bdi {
    color: var(--da2-flow-red) !important;
    -webkit-text-fill-color: var(--da2-flow-red) !important;
    font-size: 17px !important;
    font-weight: 800 !important;
}
body.woocommerce-order-received .woocommerce-customer-details address {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    line-height: 1.65 !important;
}

/* Tout pseudo-élément décoratif injecté par le thème ne doit pas blanchir le contenu. */
body.woocommerce-order-received .woocommerce-order *::before,
body.woocommerce-order-received .woocommerce-order *::after {
    text-shadow: none !important;
}

/* Responsive général */
@media (max-width: 767px) {
    body.woocommerce-account .woocommerce,
    body.woocommerce-cart .woocommerce,
    body.woocommerce-checkout .woocommerce {
        padding-left: 12px;
        padding-right: 12px;
    }

    body.woocommerce-account form.woocommerce-form-login,
    body.woocommerce-account form.woocommerce-form-register {
        padding: 18px !important;
    }

    body.woocommerce-order-received ul.woocommerce-order-overview {
        grid-template-columns: 1fr 1fr;
    }
    body.woocommerce-order-received ul.woocommerce-order-overview li {
        border-bottom: 1px solid var(--da2-flow-line) !important;
    }
    body.woocommerce-order-received ul.woocommerce-order-overview li:nth-child(2n) {
        border-right: 0 !important;
    }
    body.woocommerce-order-received ul.woocommerce-order-overview li:nth-last-child(-n+2) {
        border-bottom: 0 !important;
    }
    body.woocommerce-order-received .woocommerce-order-details,
    body.woocommerce-order-received .woocommerce-customer-details {
        padding: 16px !important;
    }
    body.woocommerce-order-received table.woocommerce-table--order-details th,
    body.woocommerce-order-received table.woocommerce-table--order-details td {
        padding: 10px 6px !important;
        font-size: 14px !important;
    }
}

@media (max-width: 420px) {
    body.woocommerce-order-received ul.woocommerce-order-overview {
        grid-template-columns: 1fr;
    }
    body.woocommerce-order-received ul.woocommerce-order-overview li,
    body.woocommerce-order-received ul.woocommerce-order-overview li:nth-child(2n),
    body.woocommerce-order-received ul.woocommerce-order-overview li:nth-last-child(-n+2) {
        border-right: 0 !important;
        border-bottom: 1px solid var(--da2-flow-line) !important;
    }
    body.woocommerce-order-received ul.woocommerce-order-overview li:last-child {
        border-bottom: 0 !important;
    }
}

/* ============================================================
   PARCOURS D'ACHAT UNIFIE — v1.8.4
   Panier > Informations > Confirmation
   ============================================================ */
.da2-purchase-progress {
    width: min(100%, 1340px);
    margin: 0 auto 28px;
    padding: 0 22px;
    box-sizing: border-box;
}

.da2-purchase-progress__list {
    display: flex;
    align-items: flex-start;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.da2-purchase-progress__step {
    position: relative;
    flex: 1 1 0;
    min-width: 0;
    text-align: center;
}

.da2-purchase-progress__step:not(:first-child)::before {
    content: "";
    position: absolute;
    top: 18px;
    right: 50%;
    width: 100%;
    height: 3px;
    border-radius: 999px;
    background: #dfe5f0;
    z-index: 0;
}

.da2-purchase-progress__step.is-done::before,
.da2-purchase-progress__step.is-current::before {
    background: #1b4fbf;
}

.da2-purchase-progress__inner {
    position: relative;
    z-index: 1;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    min-width: 78px;
    color: #7a8498 !important;
    text-decoration: none !important;
}

.da2-purchase-progress__circle {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 2px solid #dfe5f0;
    border-radius: 50%;
    background: #fff;
    color: #7a8498;
    font-size: 14px;
    line-height: 1;
    font-weight: 800;
    box-shadow: 0 2px 8px rgba(15, 27, 60, .06);
}

.da2-purchase-progress__label {
    font-size: 13px;
    line-height: 1.25;
    font-weight: 700;
    white-space: nowrap;
}

.da2-purchase-progress__step.is-done .da2-purchase-progress__circle {
    border-color: #1b4fbf;
    background: #1b4fbf;
    color: #fff;
}

.da2-purchase-progress__step.is-done .da2-purchase-progress__inner {
    color: #1b4fbf !important;
}

.da2-purchase-progress__step.is-current .da2-purchase-progress__circle {
    border-color: #e63329;
    background: #e63329;
    color: #fff;
    box-shadow: 0 0 0 5px rgba(230, 51, 41, .12);
}

.da2-purchase-progress__step.is-current .da2-purchase-progress__label {
    color: #0f1b3c;
    font-weight: 800;
}

.da2-purchase-progress__step.is-done a:hover .da2-purchase-progress__circle {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(27, 79, 191, .18);
}

/* Evite l'ancienne mini barre uniquement sur le panier v1.8.2. */
.woocommerce-cart .da2-cart-steps {
    display: none !important;
}

/* Sur la page panier, le compteur d'articles reste juste sous la progression. */
.woocommerce-cart .da2-cart-intro {
    margin-top: -8px;
}

@media (max-width: 767px) {
    .da2-purchase-progress {
        margin-bottom: 20px;
        padding: 0 16px;
    }

    .da2-purchase-progress__step:not(:first-child)::before {
        top: 15px;
        height: 2px;
    }

    .da2-purchase-progress__inner {
        gap: 6px;
        min-width: 0;
        width: 100%;
    }

    .da2-purchase-progress__circle {
        width: 32px;
        height: 32px;
        font-size: 12px;
    }

    .da2-purchase-progress__label {
        font-size: 11px;
        white-space: normal;
    }

    .da2-purchase-progress__step.is-current .da2-purchase-progress__circle {
        box-shadow: 0 0 0 4px rgba(230, 51, 41, .11);
    }
}

/* ══════════════════════════════════════════════════════════════
   FOOTER E-COMMERCE LEGER — v1.8.5
   Panier + Checkout + Confirmation
══════════════════════════════════════════════════════════════ */
.woocommerce-account #colophon,
.woocommerce-account footer.site-footer,
.woocommerce-cart #colophon,
.woocommerce-cart footer.site-footer,
.woocommerce-checkout #colophon,
.woocommerce-checkout footer.site-footer {
    display: none !important;
}

.da2-commerce-footer {
    width: 100%;
    clear: both;
    margin: 34px 0 0;
    padding: 0 18px 22px;
    background: transparent;
    box-sizing: border-box;
}

.da2-commerce-footer__inner {
    width: min(1180px, 100%);
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid rgba(15, 27, 60, .08);
    border-radius: 20px;
    background: #0f1b3c;
    color: #fff;
    box-shadow: 0 12px 34px rgba(15, 27, 60, .10);
}

.da2-commerce-footer__brand {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 10px;
    padding: 22px 24px 14px;
    text-align: center;
}

.da2-commerce-footer__name {
    color: #fff;
    font-size: 18px;
    line-height: 1.2;
    font-weight: 900;
    letter-spacing: .015em;
}

.da2-commerce-footer__tagline {
    color: rgba(255,255,255,.76);
    font-size: 13px;
    line-height: 1.4;
}

.da2-commerce-footer__trust {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px 22px;
    padding: 14px 24px;
    border-top: 1px solid rgba(255,255,255,.10);
    border-bottom: 1px solid rgba(255,255,255,.10);
    color: #fff;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 700;
}

.da2-commerce-footer__links {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 22px;
    padding: 15px 24px 10px;
}

.da2-commerce-footer__links a {
    color: rgba(255,255,255,.86) !important;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 600;
    text-decoration: none !important;
}

.da2-commerce-footer__links a:hover,
.da2-commerce-footer__links a:focus-visible {
    color: #fff !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

.da2-commerce-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px 14px;
    padding: 8px 24px 18px;
    color: rgba(255,255,255,.58);
    font-size: 11px;
    line-height: 1.45;
    text-align: center;
}

@media (max-width: 767px) {
    .da2-commerce-footer {
        margin-top: 24px;
        padding: 0 14px 18px;
    }

    .da2-commerce-footer__inner {
        border-radius: 16px;
    }

    .da2-commerce-footer__brand {
        flex-direction: column;
        align-items: center;
        gap: 4px;
        padding: 19px 16px 13px;
    }

    .da2-commerce-footer__name {
        font-size: 17px;
    }

    .da2-commerce-footer__trust {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 13px 18px;
        text-align: center;
        font-size: 12px;
    }

    .da2-commerce-footer__links {
        gap: 7px 16px;
        padding: 14px 16px 9px;
    }

    .da2-commerce-footer__links a {
        font-size: 12px;
    }

    .da2-commerce-footer__bottom {
        flex-direction: column;
        gap: 2px;
        padding: 6px 16px 15px;
    }
}

/* ══════════════════════════════════════════════════════════════
   v1.8.6 — Assainissement du tunnel d'achat
   - le panier/checkout prennent réellement toute la largeur utile
   - les sidebars/filtres catalogue ne doivent JAMAIS apparaître ici
   - couleurs explicites pour éliminer tout blanc-sur-blanc résiduel
══════════════════════════════════════════════════════════════ */

/* Le tunnel d'achat n'est pas une archive produit : aucune sidebar / aucun filtre catalogue. */
body.woocommerce-cart #secondary,
body.woocommerce-cart .widget-area,
body.woocommerce-cart .sidebar,
body.woocommerce-cart .shop-sidebar,
body.woocommerce-cart .wpr-filter,
body.woocommerce-cart [class*="wpr-filter"],
body.woocommerce-cart .wpc-filters-widget-content,
body.woocommerce-cart .wpc-filters-section,
body.woocommerce-cart .wpc-filters-open-button-container,
body.woocommerce-cart .woof,
body.woocommerce-cart .woof_sid,
body.woocommerce-cart .berocket_single_filter_widget,
body.woocommerce-cart .bapf_sfilter,
body.woocommerce-cart .prdctfltr-widget,
body.woocommerce-checkout #secondary,
body.woocommerce-checkout .widget-area,
body.woocommerce-checkout .sidebar,
body.woocommerce-checkout .shop-sidebar,
body.woocommerce-checkout .wpr-filter,
body.woocommerce-checkout [class*="wpr-filter"],
body.woocommerce-checkout .wpc-filters-widget-content,
body.woocommerce-checkout .wpc-filters-section,
body.woocommerce-checkout .wpc-filters-open-button-container,
body.woocommerce-checkout .woof,
body.woocommerce-checkout .woof_sid,
body.woocommerce-checkout .berocket_single_filter_widget,
body.woocommerce-checkout .bapf_sfilter,
body.woocommerce-checkout .prdctfltr-widget {
    display: none !important;
}

/* Annule les mises en page page+sidebar imposées par le thème parent. */
body.woocommerce-cart #content,
body.woocommerce-cart .site-content,
body.woocommerce-cart #primary,
body.woocommerce-cart .content-area,
body.woocommerce-cart main.site-main,
body.woocommerce-cart .site-main,
body.woocommerce-checkout #content,
body.woocommerce-checkout .site-content,
body.woocommerce-checkout #primary,
body.woocommerce-checkout .content-area,
body.woocommerce-checkout main.site-main,
body.woocommerce-checkout .site-main {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Le conteneur WooCommerce reste large et centré, sans devenir une micro-colonne. */
body.woocommerce-cart .woocommerce {
    width: min(100%, 1240px) !important;
    max-width: 1240px !important;
    margin-inline: auto !important;
    box-sizing: border-box !important;
}

/* Couleurs de secours strictes dans le panier : rien de blanc sauf sur fond sombre. */
body.woocommerce-cart .woocommerce,
body.woocommerce-cart .woocommerce table,
body.woocommerce-cart .woocommerce tbody,
body.woocommerce-cart .woocommerce tr,
body.woocommerce-cart .woocommerce td,
body.woocommerce-cart .woocommerce th,
body.woocommerce-cart .woocommerce p,
body.woocommerce-cart .woocommerce label,
body.woocommerce-cart .woocommerce span:not(.button):not(.dashicons),
body.woocommerce-cart .woocommerce strong,
body.woocommerce-cart .woocommerce bdi {
    text-shadow: none !important;
}
body.woocommerce-cart .woocommerce td,
body.woocommerce-cart .woocommerce th,
body.woocommerce-cart .woocommerce p,
body.woocommerce-cart .woocommerce label,
body.woocommerce-cart .woocommerce strong,
body.woocommerce-cart .woocommerce bdi {
    color: #0F1B3C !important;
    -webkit-text-fill-color: currentColor !important;
}
body.woocommerce-cart .woocommerce a:not(.button):not(.checkout-button) {
    color: #1B4FBF !important;
    -webkit-text-fill-color: currentColor !important;
}

/* Les CTA conservent volontairement leur texte blanc car leur fond est bleu/rouge. */
body.woocommerce-cart .woocommerce button.button,
body.woocommerce-cart .woocommerce a.button,
body.woocommerce-cart .woocommerce .checkout-button,
body.woocommerce-checkout .woocommerce button.button,
body.woocommerce-checkout .woocommerce a.button,
body.woocommerce-checkout .woocommerce #place_order {
    -webkit-text-fill-color: currentColor !important;
}

/* Footer e-commerce : styles autonomes, même si le thème parent force des couleurs. */
body.woocommerce-account .da2-commerce-footer,
body.woocommerce-cart .da2-commerce-footer,
body.woocommerce-checkout .da2-commerce-footer {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}
body.woocommerce-account .da2-commerce-footer__inner,
body.woocommerce-cart .da2-commerce-footer__inner,
body.woocommerce-checkout .da2-commerce-footer__inner {
    background: #0F1B3C !important;
    color: #FFFFFF !important;
}
body.woocommerce-account .da2-commerce-footer__inner *,
body.woocommerce-cart .da2-commerce-footer__inner *,
body.woocommerce-checkout .da2-commerce-footer__inner * {
    text-shadow: none !important;
}
body.woocommerce-account .da2-commerce-footer__name,
body.woocommerce-account .da2-commerce-footer__trust,
body.woocommerce-cart .da2-commerce-footer__name,
body.woocommerce-cart .da2-commerce-footer__trust,
body.woocommerce-checkout .da2-commerce-footer__name,
body.woocommerce-checkout .da2-commerce-footer__trust {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}
body.woocommerce-account .da2-commerce-footer__tagline,
body.woocommerce-account .da2-commerce-footer__links a,
body.woocommerce-account .da2-commerce-footer__bottom,
body.woocommerce-cart .da2-commerce-footer__tagline,
body.woocommerce-cart .da2-commerce-footer__links a,
body.woocommerce-cart .da2-commerce-footer__bottom,
body.woocommerce-checkout .da2-commerce-footer__tagline,
body.woocommerce-checkout .da2-commerce-footer__links a,
body.woocommerce-checkout .da2-commerce-footer__bottom {
    color: rgba(255,255,255,.82) !important;
    -webkit-text-fill-color: currentColor !important;
}

@media (min-width: 901px) {
    body.woocommerce-cart .woocommerce {
        padding-left: 28px !important;
        padding-right: 28px !important;
    }
}


/* ══════════════════════════════════════════════════════════════
   v1.8.10 — Filet de securite contre le footer Elementor/WPR
   Le PHP ci-dessus est la correction principale. Ces selecteurs
   ne s'appliquent qu'au tunnel d'achat.
══════════════════════════════════════════════════════════════ */
body.woocommerce-account .elementor-location-footer,
body.woocommerce-account [data-elementor-type="footer"],
body.woocommerce-account .wpr-theme-builder-footer,
body.woocommerce-account .wpr-footer-template,
body.woocommerce-account .wpr-template-footer,
body.woocommerce-cart .elementor-location-footer,
body.woocommerce-cart [data-elementor-type="footer"],
body.woocommerce-cart .wpr-theme-builder-footer,
body.woocommerce-cart .wpr-footer-template,
body.woocommerce-cart .wpr-template-footer,
body.woocommerce-checkout .elementor-location-footer,
body.woocommerce-checkout [data-elementor-type="footer"],
body.woocommerce-checkout .wpr-theme-builder-footer,
body.woocommerce-checkout .wpr-footer-template,
body.woocommerce-checkout .wpr-template-footer,
body.woocommerce-order-received .elementor-location-footer,
body.woocommerce-order-received [data-elementor-type="footer"],
body.woocommerce-order-received .wpr-theme-builder-footer,
body.woocommerce-order-received .wpr-footer-template,
body.woocommerce-order-received .wpr-template-footer,
body.woocommerce-account .da2-elementor-footer-suppressed,
body.woocommerce-cart .da2-elementor-footer-suppressed,
body.woocommerce-checkout .da2-elementor-footer-suppressed,
body.woocommerce-order-received .da2-elementor-footer-suppressed {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
}

/* v1.8.11 — Footer 2DA toujours visible avec Elementor actif */
body.woocommerce-account .da2-commerce-footer,
body.woocommerce-cart .da2-commerce-footer,
body.woocommerce-checkout .da2-commerce-footer,
body.woocommerce-order-received .da2-commerce-footer {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: 0 !important;
}

.da2-commerce-footer__trust a {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    text-decoration: none !important;
    font-weight: 700;
}

.da2-commerce-footer__trust a:hover,
.da2-commerce-footer__trust a:focus-visible {
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

/* v1.8.15 — Mon compte : aucune surcouche/footer Elementor blanc */
body.woocommerce-account .elementor-location-footer,
body.woocommerce-account [data-elementor-type="footer"],
body.woocommerce-account .wpr-theme-builder-footer,
body.woocommerce-account .wpr-footer-template,
body.woocommerce-account .wpr-template-footer,
body.woocommerce-account .da2-elementor-footer-suppressed {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
}

body.woocommerce-account .da2-commerce-footer {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: 0 !important;
}

/* ══════════════════════════════════════════════════════════════
   v1.8.13 — Breadcrumb discret au pied du tunnel d'achat
   Panier · Checkout · Confirmation
══════════════════════════════════════════════════════════════ */
.da2-bottom-breadcrumb {
    width: min(1180px, calc(100% - 36px));
    margin: 10px auto 4px;
    padding: 0;
    box-sizing: border-box;
    color: #6B7A99;
    font-size: 12px;
    line-height: 1.45;
}

.da2-bottom-breadcrumb__list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px 7px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.da2-bottom-breadcrumb__item {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0 !important;
    padding: 0 !important;
    color: #6B7A99 !important;
}

.da2-bottom-breadcrumb__item + .da2-bottom-breadcrumb__item::before {
    content: "›";
    color: #A8B2C7;
    font-weight: 700;
}

.da2-bottom-breadcrumb__item a {
    color: #1B4FBF !important;
    font-weight: 700;
    text-decoration: none !important;
}

.da2-bottom-breadcrumb__item a:hover,
.da2-bottom-breadcrumb__item a:focus-visible {
    color: #E63329 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
}

.da2-bottom-breadcrumb__item.is-current span {
    color: #0F1B3C !important;
    font-weight: 800;
}

/* Le breadcrumb remplace la grande respiration avant le footer. */
.da2-bottom-breadcrumb + .da2-commerce-footer {
    margin-top: 4px !important;
}

@media (max-width: 620px) {
    .da2-bottom-breadcrumb {
        width: calc(100% - 24px);
        margin-top: 8px;
        margin-bottom: 3px;
        font-size: 11.5px;
    }

    .da2-bottom-breadcrumb__list,
    .da2-bottom-breadcrumb__item {
        gap: 4px 6px;
    }
}

/* ══════════════════════════════════════════════════════════════
   v1.8.16 — Mon compte : refonte UI/UX, fond uniforme
   - supprime le fond violet Elementor autour de WooCommerce
   - connexion / inscription en deux cartes cohérentes
   - dashboard connecté plus lisible et plus compact
══════════════════════════════════════════════════════════════ */
body.woocommerce-account {
    --da2-account-bg: #F4F6FB;
    --da2-account-card: #FFFFFF;
    --da2-account-navy: #0F1B3C;
    --da2-account-blue: #1B4FBF;
    --da2-account-red: #E63329;
    --da2-account-muted: #667085;
    --da2-account-line: #DDE4F0;
    background: var(--da2-account-bg) !important;
}

/* Toute la zone centrale Mon compte partage le même fond clair.
   Le header et le footer Elementor sont volontairement exclus. */
body.woocommerce-account #content,
body.woocommerce-account .site-content,
body.woocommerce-account #primary,
body.woocommerce-account .content-area,
body.woocommerce-account main.site-main,
body.woocommerce-account .site-main,
body.woocommerce-account .entry-content,
body.woocommerce-account .page-content {
    background: var(--da2-account-bg) !important;
    background-image: none !important;
    box-shadow: none !important;
}

body.woocommerce-account #primary .elementor,
body.woocommerce-account #primary .elementor-section,
body.woocommerce-account #primary .elementor-section-wrap,
body.woocommerce-account #primary .elementor-container,
body.woocommerce-account #primary .elementor-column,
body.woocommerce-account #primary .elementor-column-wrap,
body.woocommerce-account #primary .elementor-widget-wrap,
body.woocommerce-account #primary .elementor-widget-container,
body.woocommerce-account #primary .e-con,
body.woocommerce-account #primary .e-con-inner,
body.woocommerce-account main.site-main .elementor,
body.woocommerce-account main.site-main .elementor-section,
body.woocommerce-account main.site-main .elementor-column-wrap,
body.woocommerce-account main.site-main .elementor-widget-wrap,
body.woocommerce-account main.site-main .elementor-widget-container,
body.woocommerce-account main.site-main .e-con,
body.woocommerce-account main.site-main .e-con-inner {
    background-color: transparent !important;
    background-image: none !important;
}

body.woocommerce-account .woocommerce {
    width: min(1180px, 100%) !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 34px 20px 28px !important;
    background: transparent !important;
    color: var(--da2-account-navy) !important;
    box-sizing: border-box !important;
}

/* ---------- Déconnecté : Connexion + inscription ---------- */
body.woocommerce-account:not(.logged-in) #customer_login {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start !important;
    gap: 28px !important;
    width: 100% !important;
    margin: 0 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login::before,
body.woocommerce-account:not(.logged-in) #customer_login::after {
    display: none !important;
    content: none !important;
}

body.woocommerce-account:not(.logged-in) #customer_login > .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login > .u-column2 {
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 28px !important;
    border: 1px solid var(--da2-account-line) !important;
    border-radius: 18px !important;
    background: var(--da2-account-card) !important;
    box-shadow: 0 10px 32px rgba(15, 27, 60, .07) !important;
    box-sizing: border-box !important;
}

/* Les titres WooCommerce sont hors des <form> : ils deviennent ici
   de vrais titres de carte, donc plus aucun texte sombre sur fond sombre. */
body.woocommerce-account:not(.logged-in) #customer_login > .u-column1 > h2,
body.woocommerce-account:not(.logged-in) #customer_login > .u-column2 > h2 {
    margin: 0 0 22px !important;
    padding: 0 0 15px !important;
    border-bottom: 1px solid var(--da2-account-line) !important;
    color: var(--da2-account-navy) !important;
    -webkit-text-fill-color: var(--da2-account-navy) !important;
    font-size: clamp(22px, 2vw, 28px) !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
    letter-spacing: -.025em !important;
    opacity: 1 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login form.woocommerce-form-login,
body.woocommerce-account:not(.logged-in) #customer_login form.woocommerce-form-register {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.woocommerce-account:not(.logged-in) #customer_login .form-row {
    margin: 0 0 18px !important;
    padding: 0 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login label {
    display: block !important;
    margin: 0 0 8px !important;
    color: var(--da2-account-navy) !important;
    -webkit-text-fill-color: var(--da2-account-navy) !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login input.input-text,
body.woocommerce-account:not(.logged-in) #customer_login input[type="text"],
body.woocommerce-account:not(.logged-in) #customer_login input[type="email"],
body.woocommerce-account:not(.logged-in) #customer_login input[type="password"] {
    width: 100% !important;
    min-height: 50px !important;
    padding: 11px 14px !important;
    border: 1px solid #CCD6E6 !important;
    border-radius: 11px !important;
    background: #FFFFFF !important;
    color: var(--da2-account-navy) !important;
    -webkit-text-fill-color: var(--da2-account-navy) !important;
    box-shadow: none !important;
    outline: none !important;
    transition: border-color .18s ease, box-shadow .18s ease !important;
}

body.woocommerce-account:not(.logged-in) #customer_login input.input-text:focus,
body.woocommerce-account:not(.logged-in) #customer_login input[type="text"]:focus,
body.woocommerce-account:not(.logged-in) #customer_login input[type="email"]:focus,
body.woocommerce-account:not(.logged-in) #customer_login input[type="password"]:focus {
    border-color: var(--da2-account-blue) !important;
    box-shadow: 0 0 0 3px rgba(27, 79, 191, .10) !important;
}

body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-button,
body.woocommerce-account:not(.logged-in) #customer_login button.button,
body.woocommerce-account:not(.logged-in) #customer_login input.button {
    min-height: 46px !important;
    padding: 0 24px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: var(--da2-account-blue) !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    font-size: 14px !important;
    line-height: 46px !important;
    font-weight: 800 !important;
    box-shadow: 0 8px 18px rgba(27, 79, 191, .18) !important;
}

body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-button:hover,
body.woocommerce-account:not(.logged-in) #customer_login button.button:hover,
body.woocommerce-account:not(.logged-in) #customer_login input.button:hover {
    background: #123A91 !important;
    transform: translateY(-1px);
}

body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__rememberme {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 0 10px !important;
    color: var(--da2-account-navy) !important;
    -webkit-text-fill-color: var(--da2-account-navy) !important;
}

body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-privacy-policy-text,
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-privacy-policy-text p,
body.woocommerce-account:not(.logged-in) #customer_login form.woocommerce-form-register > p:not(.form-row) {
    color: var(--da2-account-muted) !important;
    -webkit-text-fill-color: var(--da2-account-muted) !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-LostPassword {
    margin: 18px 0 0 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login a {
    color: var(--da2-account-blue) !important;
    -webkit-text-fill-color: var(--da2-account-blue) !important;
    text-underline-offset: 3px;
}

/* Connexion Google / providers externes : ne pas les faire ressembler au CTA principal. */
body.woocommerce-account:not(.logged-in) #customer_login [class*="google"] button,
body.woocommerce-account:not(.logged-in) #customer_login [class*="google"] a,
body.woocommerce-account:not(.logged-in) #customer_login .nsl-container a,
body.woocommerce-account:not(.logged-in) #customer_login .nsl-container button {
    background: #FFFFFF !important;
    color: var(--da2-account-navy) !important;
    -webkit-text-fill-color: var(--da2-account-navy) !important;
    border: 1px solid var(--da2-account-line) !important;
    box-shadow: none !important;
}

/* ---------- Connecté : navigation + contenu ---------- */
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
    margin: 0 0 18px !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    margin: 0 !important;
    padding: 9px !important;
    border: 1px solid var(--da2-account-line) !important;
    border-radius: 16px !important;
    background: #FFFFFF !important;
    box-shadow: 0 7px 24px rgba(15, 27, 60, .055) !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: 0 16px !important;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
    color: var(--da2-account-blue) !important;
    -webkit-text-fill-color: var(--da2-account-blue) !important;
    background: transparent !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li a:hover,
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li a:focus-visible {
    border-color: #DCE6FA !important;
    background: #EDF3FF !important;
    color: #123A91 !important;
    -webkit-text-fill-color: #123A91 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
    margin: 0 !important;
    padding: 28px 30px !important;
    border: 1px solid var(--da2-account-line) !important;
    border-radius: 16px !important;
    background: #FFFFFF !important;
    color: var(--da2-account-navy) !important;
    box-shadow: 0 8px 28px rgba(15, 27, 60, .06) !important;
    box-sizing: border-box !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content p,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content li,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content label,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content h2,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content h3,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content strong {
    color: var(--da2-account-navy) !important;
    -webkit-text-fill-color: var(--da2-account-navy) !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content a:not(.button) {
    color: var(--da2-account-blue) !important;
    -webkit-text-fill-color: var(--da2-account-blue) !important;
}

/* Le breadcrumb fait partie du même plan de fond : pas de bande blanche séparée. */
body.woocommerce-account .da2-bottom-breadcrumb {
    margin-top: 8px !important;
    margin-bottom: 6px !important;
    background: transparent !important;
}

body.woocommerce-account .da2-commerce-footer {
    margin-top: 4px !important;
}

@media (max-width: 900px) {
    body.woocommerce-account:not(.logged-in) #customer_login {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    body.woocommerce-account .woocommerce {
        padding-top: 24px !important;
    }
}

@media (max-width: 620px) {
    body.woocommerce-account .woocommerce {
        padding: 18px 12px 20px !important;
    }

    body.woocommerce-account:not(.logged-in) #customer_login > .u-column1,
    body.woocommerce-account:not(.logged-in) #customer_login > .u-column2 {
        padding: 20px !important;
        border-radius: 14px !important;
    }

    body.woocommerce-account:not(.logged-in) #customer_login > .u-column1 > h2,
    body.woocommerce-account:not(.logged-in) #customer_login > .u-column2 > h2 {
        margin-bottom: 18px !important;
        padding-bottom: 12px !important;
        font-size: 22px !important;
    }

    body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__rememberme {
        display: flex !important;
        margin: 12px 0 0 !important;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li a {
        width: 100% !important;
        padding: 0 10px !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
        padding: 20px !important;
        border-radius: 14px !important;
    }
}


/* ══════════════════════════════════════════════════════════════
   v1.8.17 — Mon compte : suppression définitive du fond bleu Elementor
   - le plan de page reste gris clair uniforme
   - les cartes WooCommerce restent blanches
   - le footer 2DA conserve son bleu nuit
══════════════════════════════════════════════════════════════ */
body.woocommerce-account,
body.woocommerce-account #page,
body.woocommerce-account .site,
body.woocommerce-account #content,
body.woocommerce-account .site-content,
body.woocommerce-account #primary,
body.woocommerce-account .content-area,
body.woocommerce-account main.site-main,
body.woocommerce-account .site-main,
body.woocommerce-account .entry-content,
body.woocommerce-account .page-content {
    background-color: #F4F6FB !important;
    background-image: none !important;
}

/* Elementor peut poser le fond sur plusieurs wrappers imbriqués.
   On les rend transparents ; le fond clair du body devient alors visible. */
body.woocommerce-account .elementor-section:not(.elementor-location-header *):not(.elementor-location-footer *),
body.woocommerce-account .elementor-section-wrap:not(.elementor-location-header *):not(.elementor-location-footer *),
body.woocommerce-account .elementor-container:not(.elementor-location-header *):not(.elementor-location-footer *),
body.woocommerce-account .elementor-column:not(.elementor-location-header *):not(.elementor-location-footer *),
body.woocommerce-account .elementor-column-wrap:not(.elementor-location-header *):not(.elementor-location-footer *),
body.woocommerce-account .elementor-widget-wrap:not(.elementor-location-header *):not(.elementor-location-footer *),
body.woocommerce-account .e-con:not(.elementor-location-header *):not(.elementor-location-footer *),
body.woocommerce-account .e-con-inner:not(.elementor-location-header *):not(.elementor-location-footer *) {
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* Le footer 2DA est volontairement conservé en bleu nuit. */
body.woocommerce-account .da2-commerce-footer,
body.woocommerce-account .da2-commerce-footer__inner {
    background-color: #0F1B3C !important;
}

/* ══════════════════════════════════════════════════════════════
   v1.8.18 — Breadcrumb réellement cliquable
   Elementor/Royal Elementor ne doit pas intercepter les clics.
══════════════════════════════════════════════════════════════ */
.da2-bottom-breadcrumb {
    position: relative !important;
    z-index: 50 !important;
    pointer-events: auto !important;
}

.da2-bottom-breadcrumb__list,
.da2-bottom-breadcrumb__item,
.da2-bottom-breadcrumb__item a,
.da2-bottom-breadcrumb__item span {
    position: relative !important;
    z-index: 51 !important;
}

.da2-bottom-breadcrumb__list,
.da2-bottom-breadcrumb__item,
.da2-bottom-breadcrumb__item a {
    pointer-events: auto !important;
}

.da2-bottom-breadcrumb__item::before {
    pointer-events: none !important;
}

.da2-bottom-breadcrumb__item a[aria-current="page"] {
    color: #0F1B3C !important;
    font-weight: 800 !important;
    cursor: pointer !important;
}
