/**
 * CDTP — cart.css
 * Tunnel d'achat : panier (woocommerce-cart) + commande (woocommerce-checkout)
 * Design system : tokens.css (ancre CSS : var(--...))
 * Phase 6 — tunnel d'achat
 */


/* ══════════════════════════════════════════════════════════════
   0. RESET BLOCKSY — fond et couleurs par défaut sur ces pages
   ══════════════════════════════════════════════════════════════ */

.woocommerce-cart .site-main,
.woocommerce-checkout .site-main {
    background: transparent !important;
    color: var(--paper-200) !important;
}

/* Override Blocksy block containers */
.woocommerce-cart .ct-container,
.woocommerce-checkout .ct-container {
    max-width: 1200px !important;
    padding: 0 32px !important;
}

/* Forcer le contenu à pleine largeur du container — sans ça Blocksy applique
   `is-layout-constrained` qui rétrécit à ~620px et casse la grille produits. */
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-cart .entry-content.is-layout-constrained,
.woocommerce-checkout .entry-content.is-layout-constrained,
.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-checkout .wp-block-woocommerce-checkout {
    max-width: 100% !important;
    width: 100% !important;
}

/* Les enfants directs de entry-content héritent souvent d'une contrainte WP
   via --wp--style--global--content-size. On la neutralise. */
.woocommerce-cart .entry-content > *,
.woocommerce-checkout .entry-content > * {
    max-width: 100% !important;
}

/* Masquer le hero Blocksy natif (.hero-section + h1.page-title "Panier") —
   on a notre propre banner CDTP injecté via the_content. */
.woocommerce-cart .hero-section,
.woocommerce-checkout .hero-section,
.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header {
    display: none !important;
}


/* ══════════════════════════════════════════════════════════════
   1. BANNER PANIER / COMMANDE
   (identique à la boutique — reprend .cdtp-boutique-banner)
   ══════════════════════════════════════════════════════════════ */

.cdtp-tunnel-banner {
    padding: 48px 0 32px;
    border-bottom: 1px solid var(--ink-700);
    margin-bottom: 48px;
}

.cdtp-tunnel-banner__title {
    font-family: var(--font-blackletter) !important;
    font-size: clamp(2.4rem, 5vw, 4rem);
    font-weight: 400;
    color: var(--paper-100) !important;
    letter-spacing: 0.02em;
    line-height: 1;
    margin: 0 0 8px;
    text-transform: uppercase;
}

.cdtp-tunnel-banner__crumbs {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--fg-3) !important;
    margin-bottom: 20px;
}

.cdtp-tunnel-banner__crumbs a {
    color: var(--fg-3) !important;
    text-decoration: none;
    transition: color 120ms;
}

.cdtp-tunnel-banner__crumbs a:hover {
    color: var(--paper-200) !important;
}

.cdtp-tunnel-banner__crumbs-sep {
    opacity: 0.4;
}

/* Étapes tunnel (panier → commande) */
.cdtp-tunnel-steps {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-top: 16px;
    color: var(--product-green);
}

.cdtp-tunnel-step {
    color: var(--fg-3);
}

.cdtp-tunnel-step.is-active {
    color: var(--paper-100);
    font-weight: 700;
}

.cdtp-tunnel-step.is-done {
    color: var(--blood-400);
}

.cdtp-tunnel-step-sep {
    color: var(--ink-600);
}


/* ══════════════════════════════════════════════════════════════
   2. NOTICES WC (erreurs, infos, succès)
   ══════════════════════════════════════════════════════════════ */

.woocommerce-notices-wrapper {
    margin-bottom: 24px;
}

.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
    background: var(--ink-800) !important;
    border-top: 3px solid var(--blood-600) !important;
    color: var(--paper-200) !important;
    padding: 16px 20px !important;
    font-family: var(--font-mono) !important;
    font-size: 12px !important;
    letter-spacing: 0.05em !important;
    border-radius: 2px !important;
    list-style: none !important;
    box-shadow: none !important;
}

.woocommerce-error::before,
.woocommerce-message::before,
.woocommerce-info::before {
    display: none !important;
}

.woocommerce-error a,
.woocommerce-message a,
.woocommerce-info a {
    color: var(--blood-400) !important;
}


/* ══════════════════════════════════════════════════════════════
   3. PANIER VIDE
   ══════════════════════════════════════════════════════════════ */

.cart-empty.woocommerce-info {
    background: transparent !important;
    border: none !important;
    text-align: center;
    font-family: var(--font-sans) !important;
    font-size: 1rem !important;
    color: var(--fg-3) !important;
    padding: 64px 32px !important;
    letter-spacing: normal !important;
}

.return-to-shop {
    text-align: center;
    margin-top: 0;
    padding-bottom: 48px;
}

.return-to-shop .button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-mono) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase;
    color: var(--paper-100) !important;
    background: var(--blood-600) !important;
    border: none !important;
    border-radius: 2px !important;
    padding: 12px 28px !important;
    text-decoration: none !important;
    transition: background 150ms, transform 150ms;
    cursor: pointer;
    box-shadow: none !important;
}

.return-to-shop .button:hover {
    background: var(--blood-700) !important;
    transform: translateY(-1px);
}


/* ══════════════════════════════════════════════════════════════
   4. TABLE PANIER
   ══════════════════════════════════════════════════════════════ */

.woocommerce-cart-form {
    width: 100%;
}

.shop_table,
.shop_table_responsive {
    width: 100% !important;
    border-collapse: collapse !important;
    background: transparent !important;
    color: var(--paper-200) !important;
    border: none !important;
}

.shop_table th {
    font-family: var(--font-mono) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: var(--fg-3) !important;
    background: transparent !important;
    padding: 0 16px 16px !important;
    border: none !important;
    border-bottom: 1px solid var(--ink-700) !important;
}

.shop_table th.product-remove { width: 40px; }
.shop_table th.product-thumbnail { width: 80px; }

.shop_table td {
    padding: 20px 16px !important;
    border: none !important;
    border-bottom: 1px solid var(--ink-800) !important;
    vertical-align: middle !important;
    background: transparent !important;
    color: var(--paper-200) !important;
}

/* Image produit dans le panier */
.shop_table .product-thumbnail img {
    width: 72px !important;
    height: 72px !important;
    object-fit: contain !important;
    background: var(--ink-900) !important;
    border: 1px solid var(--ink-700) !important;
    border-radius: 2px !important;
    display: block;
}

/* Nom produit */
.shop_table .product-name a {
    font-family: var(--font-sans) !important;
    font-weight: 600 !important;
    color: var(--paper-100) !important;
    text-decoration: none !important;
    transition: color 120ms;
}

.shop_table .product-name a:hover {
    color: var(--blood-400) !important;
}

/* Sous-titre variation */
.shop_table .variation {
    font-family: var(--font-mono) !important;
    font-size: 11px !important;
    color: var(--fg-3) !important;
    margin-top: 4px;
}

/* Prix */
.shop_table .product-price .amount,
.shop_table .product-subtotal .amount {
    font-family: var(--font-mono) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--paper-100) !important;
}

/* Quantité */
.shop_table .product-quantity input[type="number"] {
    width: 60px !important;
    background: var(--ink-800) !important;
    border: 1px solid var(--ink-700) !important;
    color: var(--paper-100) !important;
    font-family: var(--font-mono) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-align: center !important;
    padding: 8px !important;
    border-radius: 2px !important;
    -moz-appearance: textfield !important;
    box-shadow: none !important;
    outline: none !important;
}

.shop_table .product-quantity input[type="number"]::-webkit-outer-spin-button,
.shop_table .product-quantity input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

.shop_table .product-quantity input[type="number"]:focus {
    border-color: var(--blood-600) !important;
}

/* Bouton supprimer */
.shop_table .product-remove a,
a.remove {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 300 !important;
    color: var(--fg-3) !important;
    background: transparent !important;
    border: 1px solid var(--ink-700) !important;
    border-radius: 2px !important;
    text-decoration: none !important;
    transition: all 120ms;
}

a.remove:hover {
    color: var(--paper-100) !important;
    background: var(--blood-700) !important;
    border-color: var(--blood-600) !important;
}

/* Bouton "Mettre à jour le panier" */
.woocommerce-cart-form .actions {
    display: flex !important;
    justify-content: flex-end !important;
    padding: 20px 0 0 !important;
    gap: 12px !important;
    border: none !important;
    background: transparent !important;
}

.woocommerce-cart-form .actions button[name="update_cart"],
.woocommerce-cart-form .actions .button {
    font-family: var(--font-mono) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: var(--fg-3) !important;
    background: transparent !important;
    border: 1px solid var(--ink-700) !important;
    border-radius: 2px !important;
    padding: 10px 20px !important;
    cursor: pointer !important;
    transition: all 120ms;
    box-shadow: none !important;
}

.woocommerce-cart-form .actions button[name="update_cart"]:not(:disabled):hover {
    color: var(--paper-200) !important;
    border-color: var(--ink-500) !important;
}

.woocommerce-cart-form .actions button[name="update_cart"]:disabled {
    opacity: 0.3 !important;
    cursor: not-allowed !important;
}

/* Coupon */
.woocommerce-cart-form .coupon {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.woocommerce-cart-form .coupon input[name="coupon_code"] {
    background: var(--ink-800) !important;
    border: 1px solid var(--ink-700) !important;
    color: var(--paper-200) !important;
    font-family: var(--font-mono) !important;
    font-size: 12px !important;
    padding: 10px 14px !important;
    border-radius: 2px !important;
    outline: none !important;
    box-shadow: none !important;
}

.woocommerce-cart-form .coupon input[name="coupon_code"]::placeholder {
    color: var(--fg-3);
    opacity: 1;
}

.woocommerce-cart-form .coupon input[name="coupon_code"]:focus {
    border-color: var(--blood-600) !important;
}

.woocommerce-cart-form .coupon .button {
    color: var(--fg-3) !important;
    border-color: var(--ink-700) !important;
}


/* ══════════════════════════════════════════════════════════════
   5. TOTAUX PANIER
   ══════════════════════════════════════════════════════════════ */

.cart-collaterals {
    display: flex !important;
    justify-content: flex-end !important;
    margin-top: 48px;
}

.cart_totals {
    width: 100%;
    max-width: 400px;
    background: var(--ink-900) !important;
    border: 1px solid var(--ink-700) !important;
    border-radius: 2px;
    padding: 32px !important;
}

.cart_totals h2 {
    font-family: var(--font-mono) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--fg-3) !important;
    margin: 0 0 24px !important;
    border: none !important;
}

.cart_totals .shop_table {
    border: none !important;
    background: transparent !important;
}

.cart_totals .shop_table th,
.cart_totals .shop_table td {
    padding: 10px 0 !important;
    border: none !important;
    border-bottom: 1px solid var(--ink-800) !important;
}

.cart_totals .shop_table th {
    font-size: 11px !important;
    color: var(--fg-3) !important;
    text-align: left !important;
}

.cart_totals .shop_table td {
    text-align: right !important;
    color: var(--paper-200) !important;
    font-family: var(--font-mono) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

/* Ligne total */
.cart_totals .order-total th,
.cart_totals .order-total td {
    padding-top: 20px !important;
    border-bottom: none !important;
    font-size: 15px !important;
    color: var(--paper-100) !important;
}

.cart_totals .order-total td .amount {
    color: var(--paper-100) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}

/* Sélection livraison */
.cart_totals .woocommerce-shipping-destination {
    font-size: 11px;
    color: var(--fg-3);
}

.cart_totals .shipping ul.shipping-calculator-shipping,
.cart_totals .woocommerce-shipping-methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 8px 0 0 !important;
}

.cart_totals .woocommerce-shipping-methods li {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 0;
    font-size: 12px;
    color: var(--paper-200) !important;
}

.cart_totals .woocommerce-shipping-methods input[type="radio"] {
    accent-color: var(--blood-600);
}

/* Bouton passer la commande */
.wc-proceed-to-checkout {
    margin-top: 24px !important;
}

.checkout-button,
.wc-proceed-to-checkout .checkout-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    font-family: var(--font-mono) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: var(--paper-100) !important;
    background: var(--blood-600) !important;
    border: none !important;
    border-radius: 2px !important;
    padding: 16px 32px !important;
    text-decoration: none !important;
    transition: background 150ms, transform 150ms;
    cursor: pointer !important;
    box-shadow: none !important;
}

.checkout-button:hover,
.wc-proceed-to-checkout .checkout-button:hover {
    background: var(--blood-700) !important;
    color: var(--paper-100) !important;
    transform: translateY(-1px);
}


/* ══════════════════════════════════════════════════════════════
   6. CROSS-SELLS (produits suggérés sur la page panier vide)
   ══════════════════════════════════════════════════════════════ */

.cross-sells {
    margin-top: 80px !important;
}

.cross-sells > h2,
.cross-sells h2.cross-sells-title {
    font-family: var(--font-blackletter) !important;
    font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
    font-weight: 400 !important;
    color: var(--paper-100) !important;
    letter-spacing: 0.02em !important;
    margin: 0 0 32px !important;
    border: none !important;
}

.cross-sells .products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

@media (max-width: 1024px) {
    .cross-sells .products { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 640px) {
    .cross-sells .products { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
}


/* ══════════════════════════════════════════════════════════════
   7. PAGE COMMANDE (woocommerce-checkout)
   ══════════════════════════════════════════════════════════════ */

/* Layout deux colonnes : formulaire gauche + récap droite */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
    color: var(--paper-200) !important;
}

.woocommerce-checkout .col2-set {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 48px !important;
    margin-bottom: 48px !important;
}

@media (max-width: 768px) {
    .woocommerce-checkout .col2-set { grid-template-columns: 1fr !important; }
}

.woocommerce-checkout .col2-set h3,
#order_review_heading {
    font-family: var(--font-mono) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--fg-3) !important;
    margin: 0 0 24px !important;
    border: none !important;
    padding: 0 !important;
}

/* Champs formulaire */
.woocommerce-checkout .form-row {
    margin-bottom: 16px !important;
}

.woocommerce-checkout .form-row label {
    display: block !important;
    font-family: var(--font-mono) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: var(--fg-3) !important;
    margin-bottom: 6px !important;
}

.woocommerce-checkout .form-row .required {
    color: var(--blood-500) !important;
}

.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
    width: 100% !important;
    background: var(--ink-800) !important;
    border: 1px solid var(--ink-700) !important;
    color: var(--paper-200) !important;
    font-family: var(--font-sans) !important;
    font-size: 14px !important;
    padding: 12px 14px !important;
    border-radius: 2px !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none;
    appearance: none;
}

.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
    border-color: var(--blood-600) !important;
    background: var(--ink-900) !important;
}

.woocommerce-checkout input::placeholder,
.woocommerce-checkout textarea::placeholder {
    color: var(--fg-3);
    opacity: 1;
}

.woocommerce-checkout select option {
    background: var(--ink-800);
    color: var(--paper-200);
}

/* Champ invalide */
.woocommerce-checkout .woocommerce-invalid input,
.woocommerce-checkout .woocommerce-invalid select {
    border-color: var(--blood-600) !important;
}

/* Récapitulatif commande */
#order_review {
    background: var(--ink-900) !important;
    border: 1px solid var(--ink-700) !important;
    border-radius: 2px;
    padding: 32px !important;
}

#order_review .shop_table th {
    font-size: 10px !important;
    color: var(--fg-3) !important;
}

#order_review .shop_table td {
    color: var(--paper-200) !important;
    font-family: var(--font-mono) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

#order_review .order-total th,
#order_review .order-total td {
    color: var(--paper-100) !important;
    font-size: 15px !important;
}

/* Méthodes de paiement */
.woocommerce-checkout #payment {
    background: var(--ink-900) !important;
    border: 1px solid var(--ink-700) !important;
    border-radius: 2px !important;
    margin-top: 32px;
}

.woocommerce-checkout #payment ul.payment_methods {
    list-style: none !important;
    padding: 20px 24px !important;
    margin: 0 !important;
    border-bottom: 1px solid var(--ink-700) !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    color: var(--paper-200) !important;
    font-family: var(--font-sans) !important;
    font-size: 14px !important;
}

.woocommerce-checkout #payment ul.payment_methods li label {
    cursor: pointer;
    font-size: 14px !important;
    color: var(--paper-200) !important;
    font-family: var(--font-sans) !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    font-weight: 400 !important;
}

.woocommerce-checkout #payment ul.payment_methods input[type="radio"] {
    accent-color: var(--blood-600);
    flex-shrink: 0;
}

.woocommerce-checkout #payment .payment_box {
    background: var(--ink-800) !important;
    border: none !important;
    color: var(--fg-3) !important;
    font-size: 13px !important;
    padding: 12px 24px !important;
    margin: 0 !important;
}

.woocommerce-checkout #payment .payment_box::before {
    display: none !important;
}

.woocommerce-checkout #payment .place-order {
    padding: 20px 24px !important;
}

/* Bouton "Passer la commande" */
#place_order {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    font-family: var(--font-mono) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: var(--paper-100) !important;
    background: var(--blood-600) !important;
    border: none !important;
    border-radius: 2px !important;
    padding: 18px 32px !important;
    cursor: pointer !important;
    transition: background 150ms, transform 150ms;
    box-shadow: none !important;
}

#place_order:hover {
    background: var(--blood-700) !important;
    transform: translateY(-1px);
}

/* Conditions générales */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    font-size: 12px !important;
    color: var(--fg-3) !important;
    margin-bottom: 16px !important;
}

.woocommerce-checkout .woocommerce-privacy-policy-text {
    font-size: 11px !important;
    color: var(--fg-3) !important;
}

.woocommerce-checkout .woocommerce-privacy-policy-text a {
    color: var(--blood-400) !important;
}

/* Checkbox conditions */
.woocommerce-checkout #terms {
    accent-color: var(--blood-600);
}


/* ══════════════════════════════════════════════════════════════
   8. PAGE CONFIRMATION COMMANDE (woocommerce-order-received)
   ══════════════════════════════════════════════════════════════ */

.woocommerce-order {
    color: var(--paper-200) !important;
}

.woocommerce-order p.woocommerce-notice--success,
.woocommerce-thankyou-order-received {
    font-family: var(--font-blackletter) !important;
    font-size: clamp(1.4rem, 3vw, 2rem) !important;
    font-weight: 400 !important;
    color: var(--paper-100) !important;
    margin-bottom: 32px;
}

.woocommerce-order-overview {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 40px !important;
    background: var(--ink-900) !important;
    border: 1px solid var(--ink-700) !important;
    border-radius: 2px !important;
}

.woocommerce-order-overview li {
    flex: 1 1 150px;
    padding: 20px 24px !important;
    border-right: 1px solid var(--ink-800) !important;
    color: var(--fg-3) !important;
    font-family: var(--font-mono) !important;
    font-size: 10px !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
}

.woocommerce-order-overview li:last-child {
    border-right: none !important;
}

.woocommerce-order-overview li strong {
    display: block;
    font-size: 14px !important;
    color: var(--paper-100) !important;
    margin-top: 4px;
    text-transform: none;
    letter-spacing: 0;
}


/* ══════════════════════════════════════════════════════════════
   8b. BLOCS GUTENBERG WOOCOMMERCE (Cart Blocks / Checkout Blocks)
   Le site utilise les blocs Gutenberg WC, pas le shortcode legacy.
   Les sélecteurs .wp-block-woocommerce-* ciblent ces blocs.
   ══════════════════════════════════════════════════════════════ */

/* Container des blocs panier */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
    color: var(--paper-200) !important;
}

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

/* ── PANIER VIDE (wc-block-empty-cart) ──────────────────────── */

.wp-block-woocommerce-empty-cart-block {
    text-align: center;
    padding: 32px 0 64px;
}

.wc-block-cart__empty-cart__title,
.with-empty-cart-icon {
    font-family: var(--font-blackletter) !important;
    font-size: clamp(1.6rem, 3.5vw, 2.4rem) !important;
    font-weight: 400 !important;
    color: var(--paper-100) !important;
    letter-spacing: 0.02em !important;
    margin: 24px 0 !important;
    text-transform: none !important;
}

/* Icône SVG du panier vide — masquée */
.with-empty-cart-icon::before,
.wc-block-cart__empty-cart__title::before {
    display: none !important;
}

/* Séparateur dots */
.wp-block-woocommerce-empty-cart-block .wp-block-separator.is-style-dots {
    color: var(--ink-600) !important;
    margin: 32px auto !important;
}

.wp-block-woocommerce-empty-cart-block .wp-block-separator.is-style-dots::before {
    color: var(--ink-600) !important;
}

/* Titre "Nouveau dans la boutique" sur panier vide */
.wp-block-woocommerce-empty-cart-block .wp-block-heading {
    font-family: var(--font-blackletter) !important;
    font-size: clamp(1.6rem, 3vw, 2.2rem) !important;
    font-weight: 400 !important;
    color: var(--paper-100) !important;
    letter-spacing: 0.02em !important;
    margin: 40px 0 24px !important;
    text-transform: none !important;
}

/* ── GRILLE PRODUITS (wc-block-grid) ─────────────────────────
   WC natif applique sur les <li> :
       flex: 1 0 25%; max-width: 25%;
   On garde le flex parent natif et on ajuste juste le gap. Le
   max-width: 25% par card reste fonctionnel tant que le container
   parent (entry-content) est élargi à 100%. */

.wc-block-grid__products {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 24px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Override de la règle WC `flex: 1 0 25%; max-width: 25%` :
   prendre en compte le gap (24px × 3 = 72px à répartir sur 4 cards). */
.wc-block-grid.has-4-columns .wc-block-grid__product {
    flex: 1 1 calc( 25% - 18px ) !important;
    max-width: calc( 25% - 18px ) !important;
}

@media (max-width: 1024px) {
    .wc-block-grid.has-4-columns .wc-block-grid__product {
        flex: 1 1 calc( 50% - 12px ) !important;
        max-width: calc( 50% - 12px ) !important;
    }
}

@media (max-width: 480px) {
    .wc-block-grid.has-4-columns .wc-block-grid__product {
        flex: 1 1 100% !important;
        max-width: 100% !important;
    }
}

.wc-block-grid__product {
    background: var(--ink-800) !important;
    border: 1px solid var(--ink-700) !important;
    box-shadow: 0 24px 60px -28px rgba(0,0,0,0.9), inset 0 1px 0 rgba(255,255,255,0.03) !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: left !important;
    list-style: none !important;
    overflow: hidden;
    display: flex !important;
    flex-direction: column;
    min-width: 0;
    cursor: pointer;
    transition: transform 120ms cubic-bezier(0.16,0.84,0.30,1), border-color 120ms !important;
}

.wc-block-grid__product:hover {
    transform: translateY(-2px) !important;
    border-color: var(--ink-600) !important;
}

.wc-block-grid__product-title,
.wc-block-grid__product-price,
.wc-block-grid__product-add-to-cart .wp-block-button__link {
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
}

.wc-block-grid__product-link {
    display: block !important;
    text-decoration: none !important;
    color: inherit !important;
}

.wc-block-grid__product-image {
    background: var(--ink-900) !important;
    padding: 0px !important;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wc-block-grid__product-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    background: transparent !important;
    margin: 0 !important;
}

.wc-block-grid__product-title {
    font-family: var(--font-display) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--paper-100) !important;
    padding: 20px 22px 4px !important;
    line-height: 1.05;
    letter-spacing: -0.01em !important;
    text-align: left;
}

.wc-block-grid__product-price {
    font-family: var(--font-mono) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--paper-100) !important;
    padding: 0 !important;
    display: block;
    text-align: right;
    border-top: 1px dashed var(--ink-700) !important;
    margin: 8px 22px 0 !important;
}

/* Bouton "Ajouter au panier" sur les cards de la grille (panier vide) */
.wc-block-grid__product-add-to-cart {
    padding: 0 22px 22px !important;
    margin: 8px 0 0 !important;
}

.wc-block-grid__product-add-to-cart .wp-block-button__link,
.wc-block-grid__product-add-to-cart a.add_to_cart_button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    font-family: var(--font-sans) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: var(--paper-100) !important;
    background: transparent !important;
    border: 1px solid var(--ink-500) !important;
    border-radius: 2px !important;
    padding: 12px 14px !important;
    text-decoration: none !important;
    transition: all 120ms cubic-bezier(0.16,0.84,0.30,1);
    box-shadow: none !important;
    cursor: pointer;
}

.wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
.wc-block-grid__product-add-to-cart a.add_to_cart_button:hover {
    background: var(--blood-600) !important;
    border-color: var(--blood-500) !important;
    color: var(--paper-100) !important;
}

.wc-block-grid__product-add-to-cart a.added::after {
    color: var(--paper-100) !important;
}

/* ── PANIER REMPLI (rendu React côté client) ────────────────── */

.wp-block-woocommerce-filled-cart-block {
    color: var(--paper-200) !important;
}

/* Items panier */
.wc-block-cart-items {
    width: 100% !important;
    background: transparent !important;
    color: var(--paper-200) !important;
}

.wc-block-cart-items th,
.wc-block-cart-items__header {
    font-family: var(--font-mono) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: var(--fg-3) !important;
    background: transparent !important;
    border-bottom: 1px solid var(--ink-700) !important;
    padding-bottom: 16px !important;
}

.wc-block-cart-items__row,
.wc-block-cart-items tr {
    border-bottom: 1px solid var(--ink-800) !important;
}

.wc-block-cart-items td {
    padding: 20px 16px !important;
    color: var(--paper-200) !important;
    background: transparent !important;
    border: none !important;
}

.wc-block-cart-item__product-name,
.wc-block-components-product-name {
    font-family: var(--font-sans) !important;
    font-weight: 600 !important;
    color: var(--paper-100) !important;
    text-decoration: none !important;
}

.wc-block-cart-item__product-name:hover {
    color: var(--blood-400) !important;
}

.wc-block-cart-item__image img,
.wc-block-components-product-image img {
    width: 72px !important;
    height: 72px !important;
    object-fit: contain !important;
    background: var(--paper-100) !important;
    border-radius: 2px !important;
}

.wc-block-formatted-money-amount,
.wc-block-components-formatted-money-amount {
    font-family: var(--font-mono) !important;
    font-weight: 700 !important;
    color: var(--paper-100) !important;
}

/* Quantity selector */
.wc-block-components-quantity-selector,
.wc-block-cart-item__quantity .wc-block-components-quantity-selector {
    background: var(--ink-800) !important;
    border: 1px solid var(--ink-700) !important;
    border-radius: 2px !important;
}

.wc-block-components-quantity-selector__input {
    background: transparent !important;
    color: var(--paper-100) !important;
    font-family: var(--font-mono) !important;
    font-weight: 700 !important;
    border: none !important;
}

.wc-block-components-quantity-selector__button {
    color: var(--paper-200) !important;
    background: transparent !important;
}

.wc-block-components-quantity-selector__button:hover {
    background: var(--ink-700) !important;
}

/* Totaux panier — le panneau "card" s'applique UNIQUEMENT au bloc cart.
   .wc-block-components-totals-wrapper est aussi utilisé par chaque ligne
   individuelle du checkout (subtotal, fee, discount, shipping) — on ne
   leur donne donc ni background ni border ici (voir section 12). */
.wp-block-woocommerce-cart-totals-block {
    background: var(--ink-900) !important;
    border: 1px solid var(--ink-700) !important;
    border-radius: 2px;
    padding: 32px !important;
    color: var(--paper-200) !important;
}

.wc-block-components-totals-item {
    color: var(--paper-200) !important;
    font-family: var(--font-mono) !important;
    font-size: 13px !important;
    padding: 8px 0 !important;
}

.wc-block-components-totals-item__label {
    color: var(--fg-3) !important;
}

.wc-block-components-totals-item__value {
    color: var(--paper-100) !important;
    font-weight: 700 !important;
}

.wc-block-components-totals-footer-item {
    border-top: 1px solid var(--ink-800) !important;
    padding-top: 16px !important;
    margin-top: 8px !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size: 18px !important;
    color: var(--paper-100) !important;
}

/* Boutons "Procéder à la commande" (block) */
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block a,
.wc-block-cart__submit-container .wc-block-components-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    font-family: var(--font-mono) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: var(--paper-100) !important;
    background: var(--blood-600) !important;
    border: none !important;
    border-radius: 2px !important;
    padding: 16px 32px !important;
    text-decoration: none !important;
    transition: background 150ms, transform 150ms;
    box-shadow: none !important;
    cursor: pointer;
}

.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block a:hover,
.wc-block-cart__submit-container .wc-block-components-button:hover {
    background: var(--blood-700) !important;
    color: var(--paper-100) !important;
    transform: translateY(-1px);
}

/* Inputs forms (coupon, address, etc.) dans les blocs */
.wc-block-components-text-input input,
.wc-block-components-address-form input,
.wc-block-components-address-form select,
.wc-block-components-text-input textarea {
    background: var(--ink-800) !important;
    border: 1px solid var(--ink-700) !important;
    color: var(--paper-200) !important;
    font-family: var(--font-sans) !important;
    border-radius: 2px !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-address-form input:focus,
.wc-block-components-address-form select:focus {
    border-color: var(--blood-600) !important;
}

.wc-block-components-text-input label,
.wc-block-components-address-form label {
    color: var(--fg-3) !important;
    font-family: var(--font-mono) !important;
    font-size: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.14em !important;
}

/* Cross-sells */
.wp-block-woocommerce-cart-cross-sells-block h2 {
    font-family: var(--font-blackletter) !important;
    font-size: clamp(1.4rem, 2.5vw, 2rem) !important;
    font-weight: 400 !important;
    color: var(--paper-100) !important;
    letter-spacing: 0.02em !important;
    margin: 48px 0 24px !important;
    text-transform: none !important;
}

.post-8 .wc-block-components-main,
.post-9 .wc-block-components-main {
    background: var(--ink-900) !important;
    border: 1px solid var(--ink-700) !important;
    padding: 0 20px !important;
    margin-right: 50px !important;
    width: calc(60% - 50px) !important;
}

/* Mobile : reset width uniquement — WC blocks gère lui-même le flex-direction
   via la classe .is-mobile (ne pas surcharger pour ne pas casser l'ordre natif). */
.wc-block-components-sidebar-layout.is-mobile .wc-block-components-main,
.wc-block-components-sidebar-layout.is-mobile .wc-block-components-sidebar {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

@media (max-width: 768px) {
    .post-8 .wc-block-components-main,
    .post-9 .wc-block-components-main {
        width: 100% !important;
        margin-right: 0 !important;
    }

    .wc-block-components-main,
    .wc-block-components-sidebar {
        width: 100% !important;
        max-width: 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}


/* ══════════════════════════════════════════════════════════════
   8c. CDTP-PRODUCT-CARD sur panier (.post-8) / commande (.post-9)
   Miroir fidèle de snipped.css : on ne ré-affirme que ce qui est
   strictement nécessaire (shop.css non chargé hors boutique).
   ══════════════════════════════════════════════════════════════ */

.post-8 .cdtp-product-card,
.post-9 .cdtp-product-card {
    position: relative !important;
    background: var(--ink-800) !important;
    border: 1px solid var(--ink-700) !important;
    box-shadow: 0 24px 60px -28px rgba(0,0,0,0.9), inset 0 1px 0 rgba(255,255,255,0.03) !important;
    display: flex !important;
    flex-direction: column !important;
    cursor: pointer !important;
    transition: transform 120ms cubic-bezier(0.16,0.84,0.30,1), border-color 120ms !important;
}

.post-8 .cdtp-product-card:hover,
.post-9 .cdtp-product-card:hover {
    transform: translateY(-2px) !important;
    border-color: var(--ink-600) !important;
}

.post-8 .cdtp-product-card__body,
.post-9 .cdtp-product-card__body {
    padding: 20px 22px 22px !important;
    display: grid !important;
    gap: 10px !important;
    flex: 1 !important;
}

.post-8 .cdtp-product-card__title,
.post-9 .cdtp-product-card__title {
    font-family: var(--font-display) !important;
    font-weight: 700 !important;
    font-size: 22px !important;
    line-height: 1.05 !important;
    letter-spacing: -0.01em !important;
    color: var(--paper-100) !important;
    margin: 0 !important;
}

.post-8 .cdtp-product-card__meta,
.post-9 .cdtp-product-card__meta {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    font-family: var(--font-mono) !important;
    font-size: 10px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: var(--fg-3) !important;
    padding-top: 8px !important;
    border-top: 1px dashed var(--ink-700) !important;
}

.post-8 .cdtp-product-card__material,
.post-9 .cdtp-product-card__material {
    color: var(--fg-3) !important;
}

.post-8 .cdtp-product-card__price,
.post-9 .cdtp-product-card__price {
    color: var(--paper-100) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    float: right;
}

.post-8 .cdtp-product-card__cta,
.post-9 .cdtp-product-card__cta {
    margin-top: 4px !important;
    width: 100% !important;
    font-family: var(--font-sans) !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    padding: 12px 14px !important;
    cursor: pointer !important;
    background: transparent !important;
    color: var(--paper-100) !important;
    border: 1px solid var(--ink-500) !important;
    border-radius: 2px !important;
    transition: all 120ms cubic-bezier(0.16,0.84,0.30,1) !important;
}

.post-8 .cdtp-product-card__cta:hover:not(:disabled),
.post-9 .cdtp-product-card__cta:hover:not(:disabled) {
    background: var(--blood-600) !important;
    border-color: var(--blood-500) !important;
}


/* ══════════════════════════════════════════════════════════════
   9. RESPONSIVE
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 782px) {
    .wc-block-cart .wc-block-cart__submit-container--sticky {
          background: var(--ink-900) !important;  /* fond sombre CDTP */
          border-top: 1px solid var(--ink-700);
          padding: 16px 20px;
      }

      .wc-block-cart .wc-block-cart__submit-container--sticky:before {
          box-shadow: 0 3px 20px 10px rgba(255,228,170,0.1) !important;
      }
}

@media (max-width: 768px) {
    .wc-block-components-payment-method-label,
    .wc-block-components-payment-method-icons, 
    .wc-block-components-payment-method-label + .wc-block-components-payment-method-icons {
        position: initial !important;
    }

    .woocommerce-cart .ct-container,
    .woocommerce-checkout .ct-container {
        padding: 0 16px !important;
    }

    .cart_totals {
        padding: 24px !important;
    }

    .woocommerce-checkout .col2-set {
        gap: 32px !important;
    }

    #order_review {
        padding: 20px !important;
    }

    .woocommerce-checkout #payment ul.payment_methods {
        padding: 16px !important;
    }

    .woocommerce-checkout #payment .place-order {
        padding: 16px !important;
    }

    /* Table panier responsive */
    .shop_table_responsive thead {
        display: none !important;
    }

    .shop_table_responsive tr,
    .shop_table_responsive td {
        display: block !important;
        width: 100% !important;
    }

    .shop_table_responsive td::before {
        content: attr(data-title) ': ';
        font-family: var(--font-mono);
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: var(--fg-3);
        display: inline-block;
        margin-right: 8px;
    }

    .shop_table_responsive td.product-remove::before,
    .shop_table_responsive td.product-thumbnail::before {
        display: none !important;
    }
}


/* ══════════════════════════════════════════════════════════════
   9b. BLOC CHECKOUT — corrections design & couleurs
   ══════════════════════════════════════════════════════════════ */

/* Bouton "Commander" — WC blocks défaut = bleu, on corrige en blood-red */
.wc-block-checkout__actions .wc-block-components-button,
.wc-block-checkout__actions button[type="submit"],
.wc-block-checkout__actions .wp-element-button,
.wc-block-checkout__actions_row .wc-block-components-button {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: var(--font-mono) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: var(--paper-100) !important;
    background: var(--blood-600) !important;
    border: none !important;
    border-radius: 2px !important;
    padding: 18px 32px !important;
    cursor: pointer !important;
    transition: background 150ms, transform 150ms !important;
    box-shadow: none !important;
}

.wc-block-checkout__actions .wc-block-components-button:hover,
.wc-block-checkout__actions .wp-element-button:hover {
    background: var(--blood-700) !important;
    transform: translateY(-1px);
}

/* Lien "Retour au panier" */
.wc-block-checkout__actions .wc-block-components-checkout-return-to-cart-button {
    font-family: var(--font-mono) !important;
    font-size: 10px !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: var(--fg-3) !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    transition: color 120ms !important;
}

.wc-block-checkout__actions .wc-block-components-checkout-return-to-cart-button:hover {
    color: var(--paper-200) !important;
}

/* Fieldsets de commande — reset border + espacement */
.wc-block-checkout__contact-fields,
.wc-block-checkout__billing-fields,
.wc-block-checkout__shipping-fields {
    border: none !important;
    padding: 0 !important;
    margin: 0 0 32px !important;
}

/* En-tête de chaque section du formulaire */
.wc-block-components-checkout-step__heading-container {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 20px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--ink-700) !important;
    background: transparent !important;
    cursor: default !important;
}

.wc-block-components-checkout-step__title {
    font-family: var(--font-mono) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--fg-3) !important;
    margin: 0 !important;
    border: none !important;
    padding: 0 !important;
}

/* Numéro d'étape */
.wc-block-components-checkout-step__heading-step-number {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    font-family: var(--font-mono) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    color: var(--paper-100) !important;
    background: var(--blood-700) !important;
    border-radius: 1px !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
}

/* Contenu des étapes — toujours visible */
.wc-block-components-checkout-step__content {
    display: block !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
}

/* Résumé commande dans la sidebar — titre */
.wc-block-components-checkout-order-summary__title-text {
    font-family: var(--font-mono) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--fg-3) !important;
}

.wc-block-components-checkout-order-summary__title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 0 16px !important;
    margin-bottom: 16px !important;
    border-bottom: 1px solid var(--ink-700) !important;
    cursor: pointer !important;
}

/* Cart block — image produit plus grande */
.wc-block-cart-item__image img,
.wc-block-components-product-image img {
    width: 80px !important;
    height: 80px !important;
    object-fit: contain !important;
    background: var(--ink-900) !important;
    border: 1px solid var(--ink-700) !important;
    border-radius: 2px !important;
}

/* Cart block — nom produit plus lisible */
.wc-block-cart-item__product-name,
.wc-block-cart-item__product-name a,
.wc-block-components-product-name {
    font-family: var(--font-sans) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--paper-100) !important;
    text-decoration: none !important;
    line-height: 1.2 !important;
}

.wc-block-cart-item__product-name a:hover {
    color: var(--blood-400) !important;
}

/* Supprimer du panier (block) */
.wc-block-cart-item__remove-link {
    font-family: var(--font-mono) !important;
    font-size: 10px !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: var(--fg-3) !important;
    text-decoration: none !important;
    transition: color 120ms !important;
}

.wc-block-cart-item__remove-link:hover {
    color: var(--blood-400) !important;
}

/* Prix dans la ligne produit du panier */
.wc-block-cart-item__prices .wc-block-formatted-money-amount,
.wc-block-cart-item__prices .price {
    font-family: var(--font-mono) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--paper-100) !important;
}

/* Label coupon code */
.wc-block-components-totals-coupon .wc-block-components-panel__button {
    font-family: var(--font-mono) !important;
    font-size: 11px !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer !important;
}

/* CGU + politique de confidentialité */
.wc-block-checkout__terms .wc-block-components-checkbox__label {
    font-family: var(--font-mono) !important;
    font-size: 11px !important;
    color: var(--fg-3) !important;
    letter-spacing: 0.02em !important;
}

.wc-block-checkout__terms .wc-block-components-checkbox__label a {
    color: var(--blood-400) !important;
}

.wc-block-checkout__terms input[type="checkbox"] {
    accent-color: var(--blood-600) !important;
}

/* ── Mobile checkout : empilage actions ─────────────────────── */
@media (max-width: 768px) {
    .post-8 .wc-block-components-main,
    .post-9 .wc-block-components-main {
        padding: 20px 16px !important;
        margin-bottom: 25px !important;
    }

    .wc-block-checkout__actions_row {
        flex-direction: column !important;
        gap: 12px !important;
    }

    /* Sidebar checkout order summary — toujours dépliée sur mobile */
    .wc-block-components-checkout-order-summary__content {
        display: block !important;
        height: auto !important;
    }
}


/* ══════════════════════════════════════════════════════════════
   10. PLUGIN BULK PRICING (wc-category-bulk-pricing)
   Override complet des styles inline du plugin (fond jaune/vert → CDTP)
   ══════════════════════════════════════════════════════════════ */

/* Notice sur la page produit */
.wc-cbp-product-notice {
    background: var(--ink-800) !important;
    border: none !important;
    border-left: 3px solid var(--blood-600) !important;
    border-radius: 0 2px 2px 0 !important;
    padding: 12px 16px !important;
    margin: 12px 0 16px !important;
    font-family: var(--font-mono) !important;
    font-size: 11px !important;
    letter-spacing: 0.05em !important;
    color: var(--paper-200) !important;
    line-height: 1.6 !important;
}

.wc-cbp-product-notice strong {
    color: var(--paper-100) !important;
}

/* Prix barré dans la ligne panier */
.wc-cbp-price-detail {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
}

.wc-cbp-price-detail del {
    color: var(--fg-3) !important;
    font-family: var(--font-mono) !important;
    font-size: 11px !important;
    text-decoration: line-through !important;
}

.wc-cbp-price-detail del .woocommerce-Price-amount {
    color: var(--fg-3) !important;
    font-size: 11px !important;
}

.wc-cbp-price-detail .woocommerce-Price-amount {
    font-family: var(--font-mono) !important;
    font-weight: 700 !important;
    color: var(--paper-100) !important;
}

/* Montant économisé (sous-total) */
.wc-cbp-subtotal { display: block !important; }

.wc-cbp-saving {
    color: var(--blood-400) !important;
    font-family: var(--font-mono) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
}

/* Encart upsell — version classic WC */
.wc-cbp-upsell-wrapper { margin: 0 0 24px !important; }

.wc-cbp-upsell-box {
    background: var(--ink-800) !important;
    border: 1px solid var(--ink-700) !important;
    border-left: 3px solid var(--blood-600) !important;
    border-radius: 0 2px 2px 0 !important;
    padding: 16px 20px !important;
    font-family: var(--font-mono) !important;
    font-size: 11px !important;
    letter-spacing: 0.04em !important;
    color: var(--paper-200) !important;
    line-height: 1.6 !important;
}

/* Encart upsell — version block cart (injecté par JS) */
.wc-cbp-block-upsell {
    background: var(--ink-800) !important;
    border: 1px solid var(--ink-700) !important;
    border-left: 3px solid var(--blood-600) !important;
    border-radius: 0 2px 2px 0 !important;
    padding: 16px 20px !important;
    margin: 0 0 24px !important;
    font-family: var(--font-mono) !important;
    font-size: 11px !important;
    letter-spacing: 0.04em !important;
    color: var(--paper-200) !important;
    line-height: 1.6 !important;
}

.wc-cbp-upsell-box > strong,
.wc-cbp-block-upsell > strong {
    display: block !important;
    margin-bottom: 8px !important;
    color: var(--paper-100) !important;
    font-size: 10px !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
}

.wc-cbp-upsell-item {
    margin: 6px 0 0 !important;
    color: var(--paper-200) !important;
    line-height: 1.6 !important;
}

.wc-cbp-upsell-item strong {
    color: var(--blood-400) !important;
    font-weight: 700 !important;
}


/* ══════════════════════════════════════════════════════════════
   11. FORMULAIRE COMMANDE — traitement complet
   WC Blocks utilise un système de labels flottants + combobox custom.
   ══════════════════════════════════════════════════════════════ */

/* Container global du formulaire block */
.wc-block-components-form,
.wc-block-checkout__form {
    background: transparent !important;
    color: var(--paper-200) !important;
}

/* ── Inputs à label flottant ────────────────────────────────── */

.wc-block-components-text-input {
    position: relative !important;
    margin-bottom: 16px !important;
}

.wc-block-components-text-input.has-error label, 
.wc-block-components-address-form .wc-block-components-text-input.has-error label{
    top: 38% !important;
}

/* Label flottant au repos (placeholder visible) */
.wc-block-components-text-input label,
.wc-block-components-address-form .wc-block-components-text-input label {
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-family: var(--font-sans) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    color: var(--fg-3) !important;
    pointer-events: none !important;
    transition: top 150ms, font-size 150ms, transform 150ms, color 150ms !important;
    z-index: 1 !important;
    background: transparent !important;
    padding: 0 !important;
    line-height: 1 !important;
}

/* Label flottant quand actif (.is-active = input avec valeur ou focus) */
.wc-block-components-text-input.is-active label,
.wc-block-components-address-form .wc-block-components-text-input.is-active label {
    top: 10px !important;
    transform: none !important;
    font-size: 10px !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: var(--fg-3) !important;
}

/* Input lui-même — avec padding-top pour le label flottant */
.wc-block-components-text-input input,
.wc-block-components-address-form input[type="text"],
.wc-block-components-address-form input[type="email"],
.wc-block-components-address-form input[type="tel"],
.wc-block-components-address-form input[type="password"] {
    width: 100% !important;
    height: 56px !important;
    padding: 22px 14px 8px !important;
    background: var(--ink-800) !important;
    border: 1px solid var(--ink-700) !important;
    border-radius: 2px !important;
    color: var(--paper-100) !important;
    font-family: var(--font-sans) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    transition: border-color 120ms !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-address-form input:focus {
    border-color: var(--blood-600) !important;
    background: var(--ink-900) !important;
}

.wc-block-components-text-input input::placeholder {
    color: transparent !important;
}

/* ── Selects pays / région (combobox Gutenberg) ─────────────── */

.wc-block-components-country-input,
.wc-block-components-state-input {
    position: relative !important;
    margin-bottom: 16px !important;
}

/* Wrapper du combobox */
.wc-block-components-country-input .components-base-control,
.wc-block-components-state-input .components-base-control,
.wc-block-components-address-form .components-base-control {
    margin-bottom: 0 !important;
}

/* Input combobox */
.wc-block-components-country-input input[type="text"],
.wc-block-components-state-input input[type="text"],
.components-combobox-control input[type="text"] {
    width: 100% !important;
    height: 56px !important;
    padding: 22px 36px 8px 14px !important;
    background: var(--ink-800) !important;
    border: 1px solid var(--ink-700) !important;
    border-radius: 2px !important;
    color: var(--paper-100) !important;
    font-family: var(--font-sans) !important;
    font-size: 14px !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    transition: border-color 120ms !important;
}

.wc-block-components-country-input input:focus,
.wc-block-components-state-input input:focus,
.components-combobox-control input:focus {
    border-color: var(--blood-600) !important;
    background: var(--ink-900) !important;
}

/* Label flottant du combobox */
.wc-block-components-country-input label,
.wc-block-components-state-input label,
.components-combobox-control label {
    position: absolute !important;
    left: 14px !important;
    top: 10px !important;
    font-family: var(--font-sans) !important;
    font-size: 10px !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: var(--fg-3) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    line-height: 1 !important;
}

/* Dropdown des suggestions combobox */
.components-form-token-field__suggestions-list,
.wc-block-components-country-input .components-form-token-field__suggestions-list {
    background: var(--ink-800) !important;
    border: 1px solid var(--ink-700) !important;
    border-top: none !important;
    border-radius: 0 0 2px 2px !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.6) !important;
    max-height: 240px !important;
    overflow-y: auto !important;
    z-index: 100 !important;
}

.components-form-token-field__suggestion {
    padding: 10px 14px !important;
    font-family: var(--font-sans) !important;
    font-size: 14px !important;
    color: var(--paper-200) !important;
    cursor: pointer !important;
    transition: background 100ms !important;
}

.components-form-token-field__suggestion:hover,
.components-form-token-field__suggestion.is-selected {
    background: var(--ink-700) !important;
    color: var(--paper-100) !important;
}

/* Native select (région / état certains pays) */
.wc-block-components-address-form select,
.wc-block-components-state-input select {
    width: 100% !important;
    height: 56px !important;
    padding: 22px 36px 8px 14px !important;
    background: var(--ink-800) !important;
    border: 1px solid var(--ink-700) !important;
    border-radius: 2px !important;
    color: var(--paper-100) !important;
    font-family: var(--font-sans) !important;
    font-size: 14px !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
}

.wc-block-components-address-form select:focus,
.wc-block-components-state-input select:focus {
    border-color: var(--blood-600) !important;
    background-color: var(--ink-900) !important;
}

.wc-block-components-address-form select option {
    background: var(--ink-800) !important;
    color: var(--paper-200) !important;
}

/* ── Erreurs de validation ──────────────────────────────────── */

.wc-block-components-validation-error {
    font-family: var(--font-mono) !important;
    font-size: 10px !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: var(--blood-400) !important;
    margin-top: 4px !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
}

.wc-block-components-validation-error p {
    margin: 0 !important;
    color: var(--blood-400) !important;
    font-size: 10px !important;
}

/* Input en erreur */
.wc-block-components-text-input.has-error input {
    border-color: var(--blood-600) !important;
}

/* ── Checkbox (CGU + newsletter) ────────────────────────────── */

.wc-block-components-checkbox {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
}

.wc-block-components-checkbox input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0 !important;
    accent-color: var(--blood-600) !important;
    margin: 2px 0 0 !important;
    cursor: pointer !important;
}

.wc-block-components-checkbox__label {
    font-family: var(--font-mono) !important;
    font-size: 11px !important;
    letter-spacing: 0.04em !important;
    color: var(--fg-3) !important;
    line-height: 1.6 !important;
    cursor: pointer !important;
}

.wc-block-components-checkbox__label a {
    color: var(--blood-400) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

/* ── Méthodes de livraison (radio + label) ──────────────────── */

.wc-block-components-radio-control {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.wc-block-components-radio-control-accordion-option,
.wc-block-components-radio-control__option {
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid var(--ink-800) !important;
    cursor: pointer !important;
}

.wc-block-components-radio-control-accordion-option:last-child,
.wc-block-components-radio-control__option:last-child {
    border-bottom: none !important;
}

.wc-block-components-radio-control__option-layout {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
}

.wc-block-components-radio-control__input {
    accent-color: var(--blood-600) !important;
    width: 16px !important;
    height: 16px !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
}

.wc-block-components-radio-control__option-content {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    flex: 1 !important;
}

.wc-block-components-radio-control__label {
    font-family: var(--font-sans) !important;
    font-size: 14px !important;
    color: var(--paper-200) !important;
    text-wrap:nowrap !important;
}

.wc-block-components-radio-control__description {
    font-family: var(--font-mono) !important;
    font-size: 11px !important;
    color: var(--fg-3) !important;
    letter-spacing: 0.04em !important;
}

/* Accordion livraison — panneau sélectionné */
.wc-block-components-radio-control-accordion-option__content {
    padding: 0 0 8px 26px !important;
}

/* ── Panel coupon code (collapse) ───────────────────────────── */

.wc-block-components-totals-coupon__form {
    display: flex !important;
    gap: 8px !important;
    align-items: center !important;
    margin-top: 12px !important;
}

.wc-block-components-totals-coupon__form input {
    flex: 1 !important;
    height: 44px !important;
    padding: 0 12px !important;
    background: var(--ink-800) !important;
    border: 1px solid var(--ink-700) !important;
    border-radius: 2px !important;
    color: var(--paper-200) !important;
    font-family: var(--font-mono) !important;
    font-size: 12px !important;
    outline: none !important;
}

.wc-block-components-totals-coupon__form input::placeholder {
    color: var(--fg-3) !important;
}

.wc-block-components-totals-coupon__form input:focus {
    border-color: var(--blood-600) !important;
}

.wc-block-components-totals-coupon__form button {
    height: 44px !important;
    padding: 0 16px !important;
    background: transparent !important;
    border: 1px solid var(--ink-700) !important;
    border-radius: 2px !important;
    color: var(--fg-3) !important;
    font-family: var(--font-mono) !important;
    font-size: 11px !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: all 120ms !important;
}

.wc-block-components-totals-coupon__form button:hover {
    border-color: var(--ink-500) !important;
    color: var(--paper-200) !important;
}

/* ── Sidebar checkout — background + padding ────────────────── */

.wc-block-components-sidebar,
.wc-block-checkout__sidebar {
    background: var(--ink-900) !important;
    border: 1px solid var(--ink-700) !important;
    border-radius: 2px !important;
    padding: 28px 24px !important;
}

/* Ordre récapitulatif — items liste */
.wc-block-components-checkout-order-summary-cart-items {
    margin: 0 !important;
    padding: 0 !important;
}

.wc-block-order-summary-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid var(--ink-800) !important;
}

.wc-block-order-summary-item:last-child { border-bottom: none !important; }

.wc-block-order-summary-item__image img {
    width: 56px !important;
    height: 56px !important;
    object-fit: contain !important;
    background: var(--ink-800) !important;
    border: 1px solid var(--ink-700) !important;
    border-radius: 2px !important;
}

.wc-block-order-summary-item__description {
    flex: 1 !important;
    min-width: 0 !important;
}

.wc-block-order-summary-item__product-name {
    font-family: var(--font-sans) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--paper-100) !important;
    line-height: 1.3 !important;
}

.wc-block-order-summary-item__individual-prices {
    font-family: var(--font-mono) !important;
    font-size: 11px !important;
    color: var(--fg-3) !important;
    margin-top: 2px !important;
}

.wc-block-order-summary-item__total-price {
    font-family: var(--font-mono) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--paper-100) !important;
    flex-shrink: 0 !important;
}

/* Sous-total / Total dans la sidebar */
.wc-block-components-totals-wrapper {
    margin-top: 16px !important;
}

/* ── Bouton "Soumettre la commande" — focus accessible ──────── */

.wc-block-checkout__actions .wc-block-components-button:focus-visible,
.wc-block-checkout__actions button[type="submit"]:focus-visible {
    outline: 2px solid var(--blood-400) !important;
    outline-offset: 2px !important;
}

/* Spinner de chargement (bleu WC → blood) */
.wc-block-components-spinner {
    border-color: var(--blood-600) !important;
    border-top-color: transparent !important;
}

/* Notices inline (succès coupon, erreur paiement) */
.wc-block-components-notice-banner {
    background: var(--ink-800) !important;
    border-left: 3px solid var(--blood-600) !important;
    border-radius: 0 2px 2px 0 !important;
    color: var(--paper-200) !important;
    font-family: var(--font-mono) !important;
    font-size: 11px !important;
    letter-spacing: 0.04em !important;
}

.wc-block-components-notice-banner.is-success {
    border-left-color: var(--blood-400) !important;
}

.wc-block-components-notice-banner.is-error {
    border-left-color: var(--blood-700) !important;
}

.wc-block-components-notice-banner__content {
    color: var(--paper-200) !important;
}

/* Section "Politique de retour / CGV" en bas du checkout */
.wc-block-checkout__policies {
    font-family: var(--font-mono) !important;
    font-size: 10px !important;
    color: var(--fg-3) !important;
    letter-spacing: 0.06em !important;
    text-align: center !important;
    margin-top: 16px !important;
}

.wc-block-checkout__policies a { color: var(--blood-400) !important; }


/* ══════════════════════════════════════════════════════════════
   12. CORRECTIONS VISUELLES RESTANTES
   ══════════════════════════════════════════════════════════════ */

/* ── Lignes totaux vides (remise=0, taxe=0) ─────────────────
   WC blocks rend des .wc-block-components-totals-item même quand
   il n'y a rien à afficher — ils créent des "boîtes fantômes".
   On réduit leur empreinte à zéro quand ils sont vides. */

.wc-block-components-totals-item:empty {
    display: none !important;
}

/* Items totaux sans texte visible (label absent) */
.wc-block-components-totals-item .wc-block-components-totals-item__label:empty,
.wc-block-components-totals-item:has(.wc-block-components-totals-item__label:empty) {
    display: none !important;
}

/* Réduction de padding entre chaque ligne de total — évite les boîtes */
.wc-block-components-totals-item {
    padding: 10px 0 !important;
    min-height: 0 !important;
}

/* Supprimer le background de chaque totals-item individuel
   (le fond est porté par le wrapper sidebar, pas par chaque ligne) */
.wc-block-components-totals-item,
.wc-block-components-totals-shipping,
.wc-block-components-totals-discount,
.wc-block-components-totals-taxes {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Ligne totale uniquement : séparateur visuel */
.wc-block-components-totals-footer-item {
    border-top: 1px solid var(--ink-700) !important;
    padding-top: 14px !important;
    margin-top: 4px !important;
}

/* ── Boîtes fantômes checkout — fee-block et discount-block vides ──
   Ces blocs héritaient du padding 32px de .wc-block-components-totals-wrapper.
   On les reset + on les masque quand ils n'ont pas de contenu React. */

.wc-block-components-totals-wrapper {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.wp-block-woocommerce-checkout-order-summary-fee-block,
.wp-block-woocommerce-checkout-order-summary-discount-block,
.wp-block-woocommerce-checkout-order-summary-subtotal-block,
.wp-block-woocommerce-checkout-order-summary-shipping-block,
.wp-block-woocommerce-checkout-order-summary-coupon-form-block {
    background: transparent !important;
    border: none !important;
    margin: 0 !important;
}

/* Masquer fee/discount quand vides (React n'a rien rendu à l'intérieur) */
.wp-block-woocommerce-checkout-order-summary-fee-block:empty,
.wp-block-woocommerce-checkout-order-summary-discount-block:empty {
    display: none !important;
}

/* ── Radio livraison + paiement — état sélectionné ──────────
   WC blocks applique un border bleu (#0071a1 ou similaire) sur
   l'option sélectionnée. :has(input:checked) override indépendamment
   de la classe JS ajoutée par WC blocks au runtime. */

.wc-block-components-radio-control-accordion-option {
    border: 1px solid var(--ink-700) !important;
    border-radius: 2px !important;
    margin-bottom: 8px !important;
    padding: 12px 16px !important;
    background: var(--ink-800) !important;
    transition: border-color 120ms !important;
}

.wc-block-components-radio-control-accordion-option:has(input:checked),
.wc-block-components-radio-control-accordion-option.is-selected,
.wc-block-components-radio-control-accordion-option[aria-checked="true"] {
    background: var(--ink-900) !important;
}

.wc-block-components-radio-control-accordion-option__heading {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
}

/* ── Section paiement — override bordure bleue WC ───────────
   Le wrapper de paiement (Stripe etc.) a un outline bleu par défaut. */

.wc-block-components-payment-methods,
.wc-block-components-payment-method-label,
.wc-block-components-payment-method-icons {
    background: transparent !important;
    position: relative;
    left: -10px;
}

.wc-block-components-payment-method-label +
.wc-block-components-payment-method-icons{
    position: relative;
    left: 10px;
}

.wc-block-components-radio-control__option {
    border: 1px solid var(--ink-700) !important;
    border-radius: 2px !important;
    margin-bottom: 8px !important;
    padding: 12px 16px !important;
    background: var(--ink-800) !important;
    padding-left: 50px !important;
}

.wc-blocks-components-select svg{
    display: none;
}

.wc-blocks-components-select .wc-blocks-components-select__label{
    color: var(--fg-3) !important;
}

/* Conteneur Stripe / méthode de paiement active */
.wc-block-components-payment-method__details-container {
    background: var(--ink-900) !important;
    border: none !important;
    border-top: 1px solid var(--ink-700) !important;
    padding: 16px 0 0 !important;
    margin-top: 8px !important;
}

/* Override focus/outline bleu WC sur les wrappers */
.wc-block-components-radio-control-accordion-option:focus-within,
.wc-block-components-radio-control__option:focus-within {
    outline: none !important;
    box-shadow: none !important;
}

/* ── Sidebar desktop — espacements sidebar items ────────────
   Réduire les séparateurs qui créent des blocs trop lourds */

.wc-block-components-sidebar {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

.wc-block-components-totals-wrapper > * + * {
    border-top: 1px solid var(--ink-800) !important;
}

/* Masquer le sous-titre "Résumé de la commande" dupliqué */
.wc-block-components-checkout-order-summary > .wc-block-components-checkout-order-summary__title {
    margin-bottom: 12px !important;
}

/* ── Notes de commande ──────────────────────────────────────── */

.wc-block-checkout__add-note {
    margin-bottom: 16px !important;
}

.wc-block-checkout__add-note label,
.wc-block-checkout__add-note .wc-block-components-checkbox__label {
    font-family: var(--font-mono) !important;
    font-size: 11px !important;
    color: var(--fg-3) !important;
    letter-spacing: 0.06em !important;
}

.wc-block-checkout__add-note textarea {
    width: 100% !important;
    background: var(--ink-800) !important;
    border: 1px solid var(--ink-700) !important;
    border-radius: 2px !important;
    color: var(--paper-200) !important;
    font-family: var(--font-sans) !important;
    font-size: 13px !important;
    padding: 12px 14px !important;
    margin-top: 8px !important;
    resize: vertical !important;
    outline: none !important;
    box-shadow: none !important;
    min-height: 80px !important;
}

.wc-block-checkout__add-note textarea:focus {
    border-color: var(--blood-600) !important;
}

/* ── Labels "COORDONNÉES" / "ADRESSE DE LIVRAISON" etc. ─────── */

.wc-block-components-checkout-step__title,
.wc-block-checkout__step-title {
    font-family: var(--font-mono) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    color: var(--fg-3) !important;
}

/* Sections titles "OPTIONS DE LIVRAISON" / "OPTIONS DE PAIEMENT" */
.wc-block-components-checkout-step__heading-content {
    font-family: var(--font-mono) !important;
    font-size: 10px !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    color: var(--fg-3) !important;
    display: block !important;
    padding: 20px 0 12px !important;
    border-bottom: 1px solid var(--ink-700) !important;
    margin-bottom: 12px !important;
}

/* Séparateurs entre les grandes étapes du checkout */
.wc-block-components-checkout-step + .wc-block-components-checkout-step {
    margin-top: 32px !important;
    padding-top: 0 !important;
}
