/* LDU Quote Request Styles */

/* Hide prices everywhere */
.price, 
.amount, 
.woocommerce-Price-amount {
    display: none !important;
}

/* Hide price/subtotal columns in cart and checkout */
.woocommerce-cart-form__cart-item .product-price,
.woocommerce-cart-form__cart-item .product-subtotal,
th.product-price,
th.product-subtotal,
td.product-subtotal,
.shop_table.cart .product-price,
.shop_table.cart .product-subtotal,
.shop_table.woocommerce-checkout-review-order-table th.product-total,
.shop_table.woocommerce-checkout-review-order-table td.product-total,
.woocommerce-checkout-review-order-table .cart-subtotal,
.woocommerce-checkout-review-order-table .order-total,
.cart_totals table,
.cart_totals h2,
.coupon,
.cart-collaterals .cart_totals table,
/* Aggressive hiding for checkout totals, tfoot, and block-based checkouts */
.shop_table tfoot,
tr.cart-subtotal,
tr.order-total,
.cart-subtotal,
.order-total,
.wc-block-components-totals-item--subtotal,
.wc-block-components-totals-footer-item,
.wc-block-components-totals-discount,
.checkout-order-total,
.checkout-subtotal,
/* Kapee theme specific cart headers and borders */
/* Kapee theme specific cart headers and borders */
.cart-collaterals h2,
.cart-collaterals h2.cart-totals-title,
th.product-total,
td.product-total,
.wp-block-woocommerce-cart-order-summary-totals-block,
.wp-block-woocommerce-checkout-order-summary-subtotal-block,
.wp-block-woocommerce-checkout-order-summary-fee-block,
.wp-block-woocommerce-checkout-order-summary-discount-block,
.wc-block-components-totals-item--subtotal,
.wc-block-components-totals-footer-item {
    display: none !important;
}

/* Garder le bouton "Procéder à la soumission du devis" visible dans le panier
   classique : il est rendu À L'INTÉRIEUR de .cart_totals, dont on ne masque
   que le tableau de prix et le titre (pas le conteneur entier). */
.cart_totals,
.cart-collaterals .cart_totals-inner,
.wc-proceed-to-checkout,
.wc-proceed-to-checkout .checkout-button,
.cart_totals .checkout-button {
    display: block !important;
}

/* BUT MAKE SURE PRODUCTS ARE VISIBLE */
div.wp-block-woocommerce-checkout-order-summary-cart-items-block.wc-block-components-totals-wrapper,
.wp-block-woocommerce-checkout-order-summary-cart-items-block,
.wp-block-woocommerce-cart-order-summary-block {
    display: block !important;
    visibility: visible !important;
}

/* Ensure the product items maintain their flex/grid layout */
.wc-block-components-order-summary-item {
    display: flex !important;
    align-items: center !important;
}

/* Hide the product description so only the image and title show */
.wc-block-components-product-metadata__description,
.wc-block-components-product-metadata {
    display: none !important;
}

/* Ensure no stray borders remain in the cart totals box */
.cart-collaterals,
.cart-collaterals .cart_totals,
.cart-collaterals .cart_totals-inner,
.cart-totals-title {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
}

/* Remove stray horizontal lines from empty checkout totals blocks */
.wp-block-woocommerce-checkout-order-summary-cart-items-block,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper,
.wp-block-woocommerce-cart-order-summary-totals-block {
    border-top: none !important;
    border-bottom: none !important;
}

/* Ensure the submit button on checkout matches the style */
body.woocommerce-checkout #payment #place_order,
body.woocommerce-cart .cart-collaterals .checkout-button,
#place_order,
.checkout-button,
a.checkout-button {
    background-color: #F3D01A !important;
    color: #000 !important;
    font-weight: bold !important;
    border: none !important;
}

/* Button hover states for all quote buttons */
body.woocommerce-checkout #payment #place_order:hover,
body.woocommerce-cart .cart-collaterals .checkout-button:hover,
#place_order:hover,
.checkout-button:hover,
a.checkout-button:hover,
.single_add_to_cart_button:hover,
button.single_add_to_cart_button:hover,
.add_to_cart_button:hover,
a.add_to_cart_button:hover {
    background-color: #F3D01A !important;
    color: #000000 !important;
    opacity: 1 !important;
    border: none !important;
    box-shadow: none !important;
}

/* ============================================================
   LDU — Style moderne Panier & Checkout (charte du site)
   Or #F3D01A · Noir #1a1d20 · responsive mobile inclus
   ============================================================ */

body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce {
    color: #2c2f33;
}

/* ---------- PANIER ---------- */

/* Tableau du panier façon carte */
body.woocommerce-cart table.shop_table.cart {
    border: 1px solid #ececec;
    border-radius: 12px;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    box-shadow: 0 4px 18px rgba(0,0,0,.04);
    background: #fff;
}
body.woocommerce-cart table.cart thead th {
    background: #1a1d20;
    color: #fff;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: .6px;
    padding: 16px 18px;
    border: none;
}
body.woocommerce-cart table.cart td {
    padding: 18px;
    border-top: 1px solid #f0f0f2;
    vertical-align: middle;
}
body.woocommerce-cart table.cart td.product-thumbnail img {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid #eee;
}
body.woocommerce-cart table.cart td.product-name a {
    color: #1a1d20;
    font-weight: 600;
    text-decoration: none;
}
body.woocommerce-cart table.cart td.product-name a:hover {
    color: #c9a500;
}

/* Champ quantité */
body.woocommerce-cart .quantity input.qty {
    width: 64px;
    padding: 8px;
    border: 1px solid #d8d8d8;
    border-radius: 8px;
    text-align: center;
    font-weight: 600;
}

/* Bouton retirer (croix) */
body.woocommerce-cart td.product-remove a.remove {
    color: #c0392b !important;
    font-size: 20px;
    border-radius: 50%;
    transition: all .2s;
}
body.woocommerce-cart td.product-remove a.remove:hover {
    background: #c0392b !important;
    color: #fff !important;
}

/* Barre d'actions (mettre à jour le panier) */
body.woocommerce-cart .cart .actions .button {
    background: #f1f1f1;
    color: #1a1d20;
    border-radius: 8px;
    font-weight: 600;
    border: none;
    padding: 12px 20px;
}

/* Conteneur du bouton panier (injecté après le tableau) */
body.woocommerce-cart .ldu-cart-proceed {
    margin: 24px 0 0;
    padding: 0;
    max-width: 380px;
    margin-left: auto;
}

/* Bouton principal "Procéder à la soumission du devis" — pleine largeur forcée */
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    background: #F3D01A !important;
    color: #1a1d20 !important;
    font-weight: 700;
    font-size: 15px;
    line-height: 1.2;
    text-align: center;
    padding: 16px 24px;
    border-radius: 10px;
    border: none;
    box-shadow: 0 6px 16px rgba(243,208,26,.35);
    transition: transform .15s, box-shadow .15s, background .15s;
}
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
    background: #ffd91f !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(243,208,26,.45);
}

/* ---------- CHECKOUT ---------- */

/* Note : le champ mot de passe "Créer un compte" est injecté dans le fieldset
   account via woocommerce_checkout_fields (voir class-ldu-quote-checkout).
   Le conteneur .create-account reste caché par défaut : il s'ouvre tout seul
   quand la case "Créer un compte ?" est cochée. */
body.woocommerce-checkout .woocommerce-account-fields .create-account {
    margin-top: 14px;
}

/* ── Page Lost Password (Mot de passe oublié) — split panel ───────────────────*/

body.woocommerce-account.woocommerce-lost-password {
    background: #f9f9f9;
}

/* Le conteneur split est construit en JS (.ldu-lostpw-split) */
.ldu-lostpw-split {
    display: flex;
    max-width: 760px;
    margin: 40px auto;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #ececec;
    background: #fff;
    box-shadow: 0 6px 24px rgba(0,0,0,.06);
    min-height: 360px;
}

/* Panneau jaune (gauche) */
.ldu-lostpw-aside {
    flex: 0 0 42%;
    background: #F3D01A;
    color: #1a1d20;
    padding: 44px 34px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.ldu-lostpw-aside .ldu-lostpw-icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: #1a1d20;
    color: #F3D01A;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
}

.ldu-lostpw-aside .ldu-lostpw-icon svg {
    width: 28px;
    height: 28px;
}

.ldu-lostpw-aside h2 {
    margin: 0 0 12px !important;
    font-size: 24px;
    font-weight: 700;
    color: #1a1d20 !important;
    line-height: 1.2;
}

.ldu-lostpw-aside p {
    margin: 0 !important;
    font-size: 14px;
    line-height: 1.6;
    color: #4a3f00 !important;
}

/* Panneau formulaire (droite) */
.ldu-lostpw-main {
    flex: 1;
    padding: 44px 36px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* On masque le texte d'intro d'origine (déjà repris dans le panneau jaune) */
.ldu-lostpw-main form.woocommerce-ResetPassword > p:first-of-type,
.ldu-lostpw-main form.lost_reset_password > p:first-of-type {
    display: none;
}

.ldu-lostpw-main label {
    color: #4a4d52 !important;
    font-weight: 600;
    font-size: 13px;
    margin-bottom: 8px;
    display: block;
}

.ldu-lostpw-main input[type="text"],
.ldu-lostpw-main input[type="email"] {
    width: 100% !important;
    padding: 13px 14px !important;
    border: 1px solid #d8d8d8 !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
    transition: border-color .15s, box-shadow .15s !important;
}

.ldu-lostpw-main input[type="text"]:focus,
.ldu-lostpw-main input[type="email"]:focus {
    border-color: #F3D01A !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(243,208,26,.18) !important;
}

.ldu-lostpw-main button[type="submit"],
.ldu-lostpw-main input[type="submit"] {
    background: #F3D01A !important;
    color: #1a1d20 !important;
    font-weight: 700;
    font-size: 14px;
    padding: 14px 24px !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer;
    transition: all .15s;
    width: 100%;
    margin-top: 6px;
}

.ldu-lostpw-main button[type="submit"]:hover,
.ldu-lostpw-main input[type="submit"]:hover {
    background: #ffd91f !important;
    transform: translateY(-2px);
}

.ldu-lostpw-main .form-row,
.ldu-lostpw-main p.woocommerce-form-row {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 0 18px !important;
}

/* Lien retour à la connexion (injecté en JS) */
.ldu-lostpw-back {
    display: block;
    text-align: center;
    font-size: 13px;
    color: #666 !important;
    margin-top: 18px;
    text-decoration: none;
}

.ldu-lostpw-back:hover {
    color: #1a1d20 !important;
}

/* Responsive : empilé sur mobile */
@media (max-width: 600px) {
    .ldu-lostpw-split {
        flex-direction: column;
        margin: 24px 16px;
    }
    .ldu-lostpw-aside {
        flex: none;
        padding: 32px 28px;
    }
    .ldu-lostpw-main {
        padding: 32px 28px;
    }
}

/* ── Pages Connexion / S'inscrire (thème Kapee) — harmonisées split panel ─────*/

/* Carte split (onglet actif uniquement, pour ne pas casser la bascule) */
body.woocommerce-account .customer-login,
body.woocommerce-account .customer-signup {
    max-width: 760px;
    margin: 40px auto;
    border-radius: 16px !important;
    overflow: hidden !important;
    border: 1px solid #ececec;
    background: #fff;
    box-shadow: 0 6px 24px rgba(0,0,0,.06);
    min-height: 360px;
}

/* Coins arrondis forcés sur le panneau jaune (le thème surcharge l'overflow) */
body.woocommerce-account .customer-login-left,
body.woocommerce-account .customer-signup-left {
    border-radius: 16px 0 0 16px;
}

body.woocommerce-account .customer-login.active,
body.woocommerce-account .customer-signup.active {
    display: flex !important;
}

body.woocommerce-account .customer-login:not(.active),
body.woocommerce-account .customer-signup:not(.active) {
    display: none !important;
}

/* Panneau jaune (gauche) */
body.woocommerce-account .customer-login-left,
body.woocommerce-account .customer-signup-left {
    flex: 0 0 42%;
    background: #F3D01A;
    color: #1a1d20;
    padding: 44px 34px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Boîte icône noire (cohérente avec mot de passe oublié) */
body.woocommerce-account .customer-login-left::before,
body.woocommerce-account .customer-signup-left::before {
    content: "";
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background-color: #1a1d20;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 28px 28px;
    margin-bottom: 22px;
}

body.woocommerce-account .customer-login-left::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F3D01A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M6 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2'/%3E%3C/svg%3E");
}

body.woocommerce-account .customer-signup-left::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F3D01A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='4'/%3E%3Cpath d='M3 21v-2a4 4 0 0 1 4-4h4'/%3E%3Cpath d='M16 11h6M19 8v6'/%3E%3C/svg%3E");
}

body.woocommerce-account .customer-login-left h2,
body.woocommerce-account .customer-signup-left h2 {
    margin: 0 0 12px !important;
    font-size: 24px;
    font-weight: 700;
    color: #1a1d20 !important;
    line-height: 1.2;
}

body.woocommerce-account .customer-login-left p,
body.woocommerce-account .customer-signup-left p,
body.woocommerce-account .customer-signup-left .woocommerce-privacy-policy-text p {
    margin: 0 !important;
    font-size: 14px;
    line-height: 1.6;
    color: #4a3f00 !important;
}

body.woocommerce-account .customer-signup-left a {
    color: #1a1d20 !important;
    text-decoration: underline;
}

/* Panneau formulaire (droite) */
body.woocommerce-account .customer-login-right,
body.woocommerce-account .customer-signup-right {
    flex: 1;
    padding: 40px 36px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

body.woocommerce-account .customer-login-right .form-row,
body.woocommerce-account .customer-signup-right .form-row {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 0 16px !important;
}

body.woocommerce-account .customer-login-right input.input-text,
body.woocommerce-account .customer-signup-right input.input-text {
    width: 100% !important;
    padding: 13px 14px !important;
    border: 1px solid #d8d8d8 !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
    transition: border-color .15s, box-shadow .15s !important;
}

body.woocommerce-account .customer-login-right input.input-text:focus,
body.woocommerce-account .customer-signup-right input.input-text:focus {
    border-color: #F3D01A !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(243,208,26,.18) !important;
}

/* Bouton principal (jaune pleine largeur) */
body.woocommerce-account .customer-login-right button[type="submit"],
body.woocommerce-account .customer-signup-right button[type="submit"] {
    background: #F3D01A !important;
    color: #1a1d20 !important;
    font-weight: 700;
    font-size: 14px;
    padding: 14px 24px !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer;
    transition: all .15s;
    width: 100%;
}

body.woocommerce-account .customer-login-right button[type="submit"]:hover,
body.woocommerce-account .customer-signup-right button[type="submit"]:hover {
    background: #ffd91f !important;
    transform: translateY(-2px);
}

/* Bouton secondaire "Nouveau ? S'inscrire" (contour) */
body.woocommerce-account .customer-login-right .new-signup.button,
body.woocommerce-account .customer-signup-right .new-login.button {
    display: block;
    text-align: center;
    background: #fff !important;
    color: #1a1d20 !important;
    font-weight: 600;
    font-size: 13px;
    padding: 12px 18px !important;
    border: 1px solid #d8d8d8 !important;
    border-radius: 8px !important;
    text-decoration: none;
    transition: all .15s;
}

body.woocommerce-account .customer-login-right .new-signup.button:hover,
body.woocommerce-account .customer-signup-right .new-login.button:hover {
    border-color: #F3D01A !important;
    background: #fffdf0 !important;
}

/* Lignes "Se souvenir / Mot de passe oublié" */
body.woocommerce-account .woocommerce-rememberme-lost_password {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 13px;
}

body.woocommerce-account .woocommerce-LostPassword {
    color: #666 !important;
}

body.woocommerce-account .woocommerce-LostPassword:hover {
    color: #1a1d20 !important;
}

/* Responsive : empilé sur mobile */
@media (max-width: 600px) {
    body.woocommerce-account .customer-login.active,
    body.woocommerce-account .customer-signup.active {
        flex-direction: column;
        margin: 24px 16px;
    }
    body.woocommerce-account .customer-login-left,
    body.woocommerce-account .customer-signup-left,
    body.woocommerce-account .customer-login-right,
    body.woocommerce-account .customer-signup-right {
        flex: none;
        padding: 32px 28px;
    }
    body.woocommerce-account .customer-login-left,
    body.woocommerce-account .customer-signup-left {
        border-radius: 16px 16px 0 0;
    }
}

/* ── Page My Account (Mon Compte) ──────────────────────────────────────────────*/

body.woocommerce-account {
    background: #f9f9f9;
}

body.woocommerce-account .woocommerce,
body.woocommerce-account .woocommerce-account {
    background: #fff;
}

/* IMPORTANT : tout est scopé à .woocommerce (contenu) pour NE PAS toucher le footer */
body.woocommerce-account .woocommerce h1,
body.woocommerce-account .woocommerce h2,
body.woocommerce-account .woocommerce h3,
body.woocommerce-account .woocommerce h4,
body.woocommerce-account .woocommerce h5,
body.woocommerce-account .woocommerce h6 {
    color: #1a1d20 !important;
}

body.woocommerce-account .woocommerce-MyAccount-content p,
body.woocommerce-account .woocommerce-MyAccount-content a,
body.woocommerce-account .woocommerce-MyAccount-navigation a,
body.woocommerce-account .woocommerce-table td,
body.woocommerce-account .woocommerce-table th {
    color: #1a1d20 !important;
}

body.woocommerce-account .woocommerce-table {
    border-color: #e0e0e0 !important;
}

body.woocommerce-account .woocommerce-table td,
body.woocommerce-account .woocommerce-table th {
    border-color: #e0e0e0 !important;
    padding: 12px 14px !important;
}

body.woocommerce-account .woocommerce-table th {
    background: #f5f5f5 !important;
    font-weight: 700;
}

body.woocommerce-account .woocommerce .woocommerce-button,
body.woocommerce-account .woocommerce .woocommerce-form button,
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content button {
    background: #F3D01A !important;
    color: #1a1d20 !important;
    font-weight: 700;
    border: none !important;
    border-radius: 6px !important;
    padding: 10px 18px !important;
    transition: all .15s;
}

body.woocommerce-account .woocommerce .woocommerce-button:hover,
body.woocommerce-account .woocommerce .woocommerce-form button:hover,
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content button:hover {
    background: #ffd91f !important;
    transform: translateY(-2px);
}

body.woocommerce-account .woocommerce-form input[type="text"],
body.woocommerce-account .woocommerce-form input[type="email"],
body.woocommerce-account .woocommerce-form input[type="password"] {
    border: 1px solid #d8d8d8 !important;
    border-radius: 6px !important;
    padding: 10px 12px !important;
    transition: border-color .15s !important;
}

body.woocommerce-account .woocommerce-form input:focus {
    border-color: #F3D01A !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(243,208,26,.18) !important;
}

/* ── Tableau de bord (navigation + contenu) — façon carte cohérente ───────────*/

/* Colonne navigation : carte arrondie + ombre (comme connexion) */
body.woocommerce-account .woocommerce-MyAccount-navigation {
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #ececec;
    box-shadow: 0 6px 24px rgba(0,0,0,.06);
    background: #fff;
}

/* En-tête jaune (avatar + nom) ajouté par le thème : on arrondit le haut */
body.woocommerce-account .woocommerce-MyAccount-navigation > div:first-child,
body.woocommerce-account .woocommerce-MyAccount-navigation .myaccount-user,
body.woocommerce-account .woocommerce-MyAccount-navigation .user-info {
    border-radius: 16px 16px 0 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    border-bottom: 1px solid #f0f0f0;
    margin: 0 !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
    border-bottom: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 14px 22px !important;
    color: #1a1d20 !important;
    font-weight: 500;
    text-decoration: none;
    transition: background .15s, color .15s, box-shadow .15s;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    background: #fffdf0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    background: #F3D01A;
    color: #1a1d20 !important;
    font-weight: 700;
    box-shadow: inset 4px 0 0 #1a1d20;
}

/* Colonne contenu : carte arrondie */
body.woocommerce-account .woocommerce-MyAccount-content {
    background: #fff;
    border-radius: 16px;
    border: 1px solid #ececec;
    box-shadow: 0 6px 24px rgba(0,0,0,.06);
    padding: 32px !important;
}

body.woocommerce-account .woocommerce-MyAccount-content a:not(.button) {
    color: #1a1d20 !important;
    text-decoration: underline;
}

/* Espace entre les colonnes : on remplace le float du thème par un flex avec
   gap (les deux cartes étaient collées). :has() = uniquement sur le dashboard,
   pas sur la page connexion qui partage le même conteneur .woocommerce. */
@media (min-width: 769px) {
    body.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
        display: flex;
        align-items: flex-start;
        gap: 24px;
    }
    body.woocommerce-account .woocommerce-MyAccount-navigation {
        flex: 0 0 280px;
        float: none !important;
        width: auto !important;
        margin: 0 !important;
    }
    body.woocommerce-account .woocommerce-MyAccount-content {
        flex: 1 1 auto;
        min-width: 0;
        float: none !important;
        width: auto !important;
        margin: 0 !important;
    }
}

/* Responsive : navigation au-dessus du contenu sur mobile */
@media (max-width: 600px) {
    body.woocommerce-account .woocommerce-MyAccount-navigation {
        margin-bottom: 20px;
    }
    body.woocommerce-account .woocommerce-MyAccount-content {
        padding: 24px !important;
    }
}

/* ── Accordion Login/Register dans "Détails de facturation" ───────────────────*/

.ldu-checkout-login-accordion {
    margin-bottom: 20px;
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 12px;
    overflow: hidden;
}

.ldu-checkout-login-accordion-btn {
    width: 100%;
    background: #f9f9f9;
    color: #1a1d20;
    border: none;
    border-bottom: 1px solid #ececec;
    padding: 14px 16px;
    font-size: 13px;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
    transition: background .15s;
}

.ldu-checkout-login-accordion-btn:hover {
    background: #f0f0f0;
}

.ldu-checkout-login-accordion-btn.open {
    background: #fff;
    border-bottom-color: transparent;
}

.ldu-checkout-login-accordion-content {
    padding: 20px;
}

/* Tabs dans l'accordion */
.ldu-checkout-login-tabs-nav {
    display: flex;
    gap: 0;
    margin-bottom: 16px;
    border-bottom: 1px solid #ececec;
}

.ldu-checkout-login-tab-btn {
    flex: 1;
    background: transparent;
    color: #666;
    border: none;
    padding: 12px 14px;
    font-size: 12px;
    font-weight: 600;
    text-align: center;
    cursor: pointer;
    transition: all .15s;
    border-bottom: 2px solid transparent;
}

.ldu-checkout-login-tab-btn:hover {
    color: #1a1d20;
}

.ldu-checkout-login-tab-btn.active {
    color: #1a1d20;
    border-bottom-color: #F3D01A;
}

.ldu-checkout-login-tab {
    display: none;
}

.ldu-checkout-login-tab.active {
    display: block;
}

/* Formulaires dans les tabs */
.ldu-checkout-login-form,
.ldu-checkout-register-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ldu-checkout-login-form .form-group,
.ldu-checkout-register-form .form-group {
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ldu-checkout-login-form label,
.ldu-checkout-register-form label {
    font-size: 12px;
    font-weight: 600;
    color: #4a4d52;
    margin-bottom: 4px;
}

.ldu-checkout-login-form input[type="text"],
.ldu-checkout-login-form input[type="password"],
.ldu-checkout-register-form input[type="email"],
.ldu-checkout-register-form input[type="password"] {
    width: 100% !important;
    padding: 10px 12px !important;
    border: 1px solid #d8d8d8 !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    box-sizing: border-box !important;
    transition: border-color .15s !important;
}

.ldu-checkout-login-form input:focus,
.ldu-checkout-register-form input:focus {
    border-color: #F3D01A !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(243,208,26,.18) !important;
}

/* Case "Se souvenir de moi" (login) */
.ldu-login-remember {
    flex-direction: row !important;
    align-items: center;
    gap: 6px;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #4a4d52;
    margin: 0 !important;
}

.ldu-login-remember input[type="checkbox"] {
    width: auto !important;
    margin: 0;
}

.ldu-checkout-login-btn,
.ldu-checkout-register-btn {
    background: #F3D01A !important;
    color: #1a1d20 !important;
    font-weight: 700;
    font-size: 13px;
    padding: 11px 18px !important;
    border: none !important;
    border-radius: 6px !important;
    cursor: pointer;
    transition: all .15s;
    width: 100%;
}

.ldu-checkout-login-btn:hover,
.ldu-checkout-register-btn:hover {
    background: #ffd91f !important;
    transform: translateY(-1px);
}

.ldu-checkout-login-btn:disabled,
.ldu-checkout-register-btn:disabled {
    opacity: .6;
    cursor: not-allowed;
    transform: none;
}

.ldu-checkout-register-form small {
    font-size: 11px;
    color: #888;
}

/* Le formulaire de facturation occupe toute la largeur de sa colonne :
   en mode devis la colonne "livraison" est vide, on annule donc le 48% que
   WooCommerce applique par défaut aux .col-1 / .col-2 (sinon le form est tassé). */
body.woocommerce-checkout #customer_details.col2-set,
body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2 {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* Layout 2 colonnes sur desktop (formulaire à gauche, résumé à droite).
   Flexbox + wrap : robuste face aux éléments dynamiques (bloc d'erreurs,
   titres) qui prennent toute la largeur sur leur propre ligne. */
@media (min-width: 993px) {
    body.woocommerce-checkout form.checkout.woocommerce-checkout {
        display: flex;
        flex-wrap: wrap;
        gap: 0 32px;
        align-items: flex-start;
    }
    /* Tout enfant direct non prévu (notices, titres) passe en pleine largeur */
    body.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup,
    body.woocommerce-checkout form.checkout > .woocommerce-error,
    body.woocommerce-checkout form.checkout > .woocommerce-info,
    body.woocommerce-checkout form.checkout > .woocommerce-message {
        flex: 0 0 100%;
        width: 100%;
    }
    body.woocommerce-checkout #customer_details {
        flex: 1 1 0;
        min-width: 0;
    }
    body.woocommerce-checkout #order_review_heading { display: none; }
    body.woocommerce-checkout #order_review {
        flex: 0 0 400px;
        position: sticky;
        top: 24px;
    }
}

/* Sections façon carte */
body.woocommerce-checkout #customer_details .woocommerce-billing-fields,
body.woocommerce-checkout #customer_details .woocommerce-shipping-fields,
body.woocommerce-checkout #customer_details .woocommerce-additional-fields,
body.woocommerce-checkout #order_review {
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 12px;
    padding: 28px;
    box-shadow: 0 4px 18px rgba(0,0,0,.04);
    margin-bottom: 24px;
    overflow: hidden; /* pour clipper les barres noires aux coins arrondis */
}

/* Site devis = pas de livraison : on masque entièrement le conteneur
   d'expédition (sinon il s'affiche en carte blanche fantôme, vide). */
body.woocommerce-checkout #customer_details .woocommerce-shipping-fields {
    display: none !important;
}

/* Titres de section → barre noire pleine largeur (même style que l'en-tête du panier).
   margin négatif = la barre épouse les bords de la carte (padding 28px). */
body.woocommerce-checkout #customer_details h3 {
    background: #1a1d20;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .6px;
    margin: -28px -28px 24px;
    padding: 16px 28px;
    border: none;
}

/* En-tête "PRODUIT" du résumé → même barre noire.
   On sort le tableau du padding de la carte pour que la barre atteigne les bords. */
body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table {
    margin: -28px -28px 20px;
    width: calc(100% + 56px);
    border-collapse: collapse;
}
body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table thead th {
    background: #1a1d20 !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .6px;
    padding: 16px 28px !important;
    border: none !important;
    text-align: left;
}
body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table thead th.product-name {
    width: 100% !important;
}
/* Réinsère le retrait des lignes produits après le margin négatif du tableau */
body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tbody td {
    padding-left: 28px !important;
    padding-right: 28px !important;
}

/* Libellés des champs */
body.woocommerce-checkout .form-row label {
    font-weight: 600;
    font-size: 13px;
    color: #4a4d52;
    margin-bottom: 6px;
    display: block;
}

/* Champs de saisie */
body.woocommerce-checkout .input-text,
body.woocommerce-checkout input[type="text"],
body.woocommerce-checkout input[type="email"],
body.woocommerce-checkout input[type="tel"],
body.woocommerce-checkout textarea,
body.woocommerce-checkout select {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #d8d8d8;
    border-radius: 8px;
    font-size: 14px;
    background: #fff;
    box-sizing: border-box;
    transition: border-color .15s, box-shadow .15s;
}
body.woocommerce-checkout .input-text:focus,
body.woocommerce-checkout textarea:focus,
body.woocommerce-checkout select:focus {
    border-color: #F3D01A;
    box-shadow: 0 0 0 3px rgba(243,208,26,.18);
    outline: none;
}

/* Tableau résumé de commande */
body.woocommerce-checkout .woocommerce-checkout-review-order-table {
    border: none;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td {
    padding: 12px 0;
    border-bottom: 1px solid #f0f0f2;
}

/* Bouton "Demander le devis" — pleine largeur forcée (le thème impose sa propre
   largeur, on surcharge avec !important pour éviter le texte sur 2 lignes) */
body.woocommerce-checkout #place_order,
body.woocommerce-checkout .place-order #place_order,
body.woocommerce-checkout button#place_order {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    background: #F3D01A !important;
    color: #1a1d20 !important;
    font-weight: 700;
    font-size: 15px;
    line-height: 1.2;
    white-space: nowrap;
    text-align: center;
    padding: 16px 20px;
    border-radius: 10px;
    border: none;
    box-shadow: 0 6px 16px rgba(243,208,26,.35);
    transition: transform .15s, box-shadow .15s, background .15s;
    margin-top: 16px;
}
body.woocommerce-checkout #place_order:hover {
    background: #ffd91f !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(243,208,26,.45);
}

/* La zone qui contient le bouton (parfois centrée/contrainte par le thème) */
body.woocommerce-checkout #payment .form-row.place-order,
body.woocommerce-checkout .woocommerce-checkout-payment .place-order {
    width: 100% !important;
    text-align: left !important;
    padding: 0 !important;
}

/* Vignettes produits dans le résumé */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item .product-thumbnail img,
body.woocommerce-checkout #order_review .product-name img {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid #eee;
    margin-right: 10px;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name {
    font-weight: 600;
    color: #1a1d20;
    font-size: 13px;
    line-height: 1.4;
}

/* Texte politique de confidentialité plus discret */
body.woocommerce-checkout .woocommerce-privacy-policy-text {
    font-size: 12px;
    color: #888;
    line-height: 1.5;
    margin-top: 16px;
}

/* Notices et messages aux couleurs de la charte */
body.woocommerce-cart .woocommerce-message,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce .woocommerce-info {
    border-top-color: #F3D01A;
    border-radius: 8px;
}
body.woocommerce-cart .woocommerce-error {
    border-radius: 8px;
}

/* ── Checkout : on masque TOUS les textes "X est obligatoire" ───────────────
   (boîte d'erreurs en haut + messages sous chaque champ). On ne garde que la
   bordure rouge visuelle autour des champs invalides (.woocommerce-invalid). */

/* Boîte d'erreurs en haut du formulaire */
body.woocommerce-checkout .woocommerce-NoticeGroup,
body.woocommerce-checkout .woocommerce-notices-wrapper > .woocommerce-error,
body.woocommerce-checkout form.checkout > .woocommerce-error,
body.woocommerce-checkout > .woocommerce-error {
    display: none !important;
}

/* Messages d'erreur inline sous chaque champ */
body.woocommerce-checkout .form-row .woocommerce-error,
body.woocommerce-checkout .woocommerce-invalid .woocommerce-error,
body.woocommerce-checkout span.woocommerce-error,
body.woocommerce-checkout p.form-row .woocommerce-error,
body.woocommerce-checkout .wc-block-components-validation-error {
    display: none !important;
}

/* On conserve / renforce la bordure rouge comme seul signal visuel */
body.woocommerce-checkout .woocommerce-invalid input.input-text,
body.woocommerce-checkout .woocommerce-invalid select,
body.woocommerce-checkout .woocommerce-invalid textarea,
body.woocommerce-checkout .woocommerce-invalid-required-field input.input-text {
    border-color: #c0392b !important;
    box-shadow: 0 0 0 3px rgba(192,57,43,.10) !important;
}

/* ---------- RESPONSIVE TABLETTE (≤ 992px : checkout en 1 colonne) ---------- */
@media (max-width: 992px) {
    body.woocommerce-checkout #order_review {
        position: static !important;
        margin-top: 8px;
    }
    body.woocommerce-checkout #customer_details .woocommerce-billing-fields,
    body.woocommerce-checkout #order_review {
        padding: 24px;
    }
}

/* ---------- RESPONSIVE MOBILE (≤ 768px) ---------- */
@media (max-width: 768px) {
    /* Panier : chaque ligne produit devient une carte propre en grille */
    body.woocommerce-cart table.cart thead { display: none !important; }

    body.woocommerce-cart table.shop_table.cart,
    body.woocommerce-cart table.cart tbody {
        display: block !important;
        width: 100% !important;
    }

    /* Une ligne = vignette à gauche, nom + croix en haut, quantité en bas */
    body.woocommerce-cart table.cart tr.woocommerce-cart-form__cart-item {
        display: grid !important;
        grid-template-columns: 64px 1fr auto;
        grid-template-areas:
            "thumb name   remove"
            "thumb qty    qty";
        gap: 6px 14px;
        align-items: center;
        padding: 16px 14px !important;
        border-bottom: 1px solid #f0f0f2 !important;
        border-top: none !important;
    }
    body.woocommerce-cart table.cart tr.woocommerce-cart-form__cart-item td {
        display: block !important;
        width: auto !important;
        border: none !important;
        padding: 0 !important;
        text-align: left !important;
    }
    body.woocommerce-cart table.cart td::before { display: none !important; }

    body.woocommerce-cart td.product-thumbnail { grid-area: thumb; }
    body.woocommerce-cart td.product-thumbnail img {
        width: 64px !important;
        height: 64px !important;
        margin: 0 !important;
    }
    body.woocommerce-cart td.product-name { grid-area: name; line-height: 1.35; }
    body.woocommerce-cart td.product-remove {
        grid-area: remove;
        text-align: right !important;
    }
    body.woocommerce-cart td.product-quantity { grid-area: qty; }
    body.woocommerce-cart td.product-quantity .quantity { display: inline-flex; align-items: center; }

    /* Ligne "actions" (mettre à jour le panier) en pleine largeur */
    body.woocommerce-cart table.cart tr:not(.woocommerce-cart-form__cart-item) td.actions {
        display: block !important;
        width: 100% !important;
        padding: 14px !important;
        text-align: center !important;
    }

    /* Bouton du panier en pleine largeur sur mobile */
    body.woocommerce-cart .ldu-cart-proceed {
        max-width: 100% !important;
        margin: 20px 0 0 !important;
    }

    /* Checkout : champs, sections et bouton pleine largeur */
    body.woocommerce-checkout #customer_details .woocommerce-billing-fields,
    body.woocommerce-checkout #customer_details .woocommerce-additional-fields,
    body.woocommerce-checkout #order_review {
        padding: 20px;
    }
    /* Barres noires : marges négatives alignées sur le padding mobile (20px) */
    body.woocommerce-checkout #customer_details h3 {
        margin: -20px -20px 20px;
        padding: 14px 20px;
    }
    body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table {
        margin: -20px -20px 18px;
        width: calc(100% + 40px);
    }
    body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table thead th {
        padding: 14px 20px !important;
    }
    body.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tbody td {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    body.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
    body.woocommerce-checkout #place_order {
        font-size: 15px;
        padding: 15px 20px;
    }
}

