/**
 * woocommerce.css — Style WooCommerce Belle Époque
 *
 * Boutique / Fiche produit / Panier / Checkout
 * Palette : noir #0a0908 / or #c9a96e / blanc cassé #f5f0e8
 * Typo    : Cormorant Garamond
 */

/* ─────────────────────────────────────────────────────────
   VARIABLES GLOBALES
───────────────────────────────────────────────────────── */
:root {
    --be-noir:       #0a0908;
    --be-noir-2:     #1a1814;
    --be-noir-3:     #111009;
    --be-or:         #c9a96e;
    --be-or-clair:   #e8d5b0;
    --be-blanc:      #f5f0e8;
    --be-muted:      rgba(245, 240, 232, 0.45);
    --be-border:     rgba(201, 169, 110, 0.18);
    --be-radius:     2px;
    --be-font:       'Cormorant Garamond', Georgia, serif;
}

/* Typographie globale — em en Cormorant Garamond */
body em,
h1 em, h2 em, h3 em, h4 em,
p em,
.hero-dm-title em,
.hero-pt-title em,
.dm-definition-title em,
.dm-cta-title em,
.dm-how-title em,
.dm-tarifs-title em,
.dm-cibles-title em,
.dm-stats-title em {
    font-family: 'Cormorant Garamond', serif !important;
    font-style: italic !important;
}

/* ─────────────────────────────────────────────────────────
   FOND DE PAGE — Toutes les pages WooCommerce
───────────────────────────────────────────────────────── */

body.woocommerce,
body.woocommerce-page,
body.woocommerce-cart,
body.woocommerce-checkout {
    background-color: var(--be-noir) !important;
}

body.woocommerce .site-main,
body.woocommerce-page .site-main,
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.woocommerce #primary,
body.woocommerce-page #primary,
body.woocommerce-cart #primary,
body.woocommerce-checkout #primary,
body.woocommerce .content-area,
body.woocommerce-page .content-area,
body.woocommerce-cart .content-area,
body.woocommerce-checkout .content-area,
body.woocommerce #inner-wrap,
body.woocommerce-page #inner-wrap,
body.woocommerce-cart #inner-wrap,
body.woocommerce-checkout #inner-wrap {
    background-color: var(--be-noir) !important;
}

/* ─────────────────────────────────────────────────────────
   BREADCRUMB
───────────────────────────────────────────────────────── */

.woocommerce-breadcrumb,
.woocommerce nav.woocommerce-breadcrumb {
    font-family: var(--be-font);
    font-size: 12px;
    letter-spacing: 0.08em;
    color: var(--be-muted) !important;
    margin-bottom: 32px;
}

.woocommerce-breadcrumb a {
    color: rgba(201, 169, 110, 0.5) !important;
    text-decoration: none;
}

.woocommerce-breadcrumb a:hover {
    color: var(--be-or) !important;
}

/* ─────────────────────────────────────────────────────────
   NOTICES (ajouté au panier, erreurs, succès)
───────────────────────────────────────────────────────── */

.woocommerce-message,
.woocommerce-info {
    background: rgba(201, 169, 110, 0.06) !important;
    border-top: 3px solid var(--be-or) !important;
    color: var(--be-blanc) !important;
    font-family: var(--be-font);
    font-size: 14px;
    border-radius: 0 0 var(--be-radius) var(--be-radius);
    padding: 16px 20px;
}

.woocommerce-message::before,
.woocommerce-info::before {
    color: var(--be-or) !important;
}

.woocommerce-error {
    background: rgba(192, 57, 43, 0.06) !important;
    border-top: 3px solid #c0392b !important;
    color: var(--be-blanc) !important;
    font-family: var(--be-font);
    border-radius: 0 0 var(--be-radius) var(--be-radius);
}

/* Bouton dans les notices */
.woocommerce-message .button,
.woocommerce-info .button {
    background: var(--be-or) !important;
    color: var(--be-noir) !important;
    border: none !important;
    font-size: 11px !important;
    letter-spacing: 0.2em;
    font-family: var(--be-font) !important;
    padding: 8px 20px !important;
    border-radius: var(--be-radius) !important;
}

/* ─────────────────────────────────────────────────────────
   1. BOUTIQUE — Liste des produits
───────────────────────────────────────────────────────── */

/* Titre de page boutique */
.woocommerce-shop h1.page-title,
.woocommerce .woocommerce-products-header__title {
    font-family: var(--be-font);
    font-weight: 400;
    font-size: 42px;
    letter-spacing: 0.08em;
    color: var(--be-or-clair);
    text-align: center;
    margin-bottom: 48px;
}

/* Barre de résultats / tri */
.woocommerce-result-count {
    font-family: var(--be-font);
    font-size: 12px;
    letter-spacing: 0.1em;
    color: var(--be-muted);
    font-style: italic;
}

.woocommerce-ordering select {
    background: var(--be-noir-2) !important;
    border: 1px solid var(--be-border) !important;
    color: var(--be-muted) !important;
    font-family: var(--be-font) !important;
    font-size: 12px;
    letter-spacing: 0.08em;
    padding: 8px 32px 8px 14px !important;
    border-radius: var(--be-radius) !important;
}

/* Grille produits */
.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 24px;
}

.woocommerce ul.products li.product {
    background: var(--be-noir-2) !important;
    border: 1px solid var(--be-border);
    border-radius: var(--be-radius);
    overflow: hidden;
    transition: border-color 0.3s ease, transform 0.3s ease;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce ul.products li.product:hover {
    border-color: rgba(201, 169, 110, 0.45);
    transform: translateY(-3px);
}

/* Image produit */
.woocommerce ul.products li.product img {
    display: block;
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.woocommerce ul.products li.product:hover img {
    transform: scale(1.03);
}

/* Infos produit */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--be-font) !important;
    font-size: 20px !important;
    font-weight: 400;
    color: var(--be-or-clair) !important;
    padding: 16px 20px 4px !important;
    letter-spacing: 0.03em;
}

.woocommerce ul.products li.product .price {
    font-family: var(--be-font) !important;
    font-size: 15px !important;
    color: var(--be-muted) !important;
    padding: 0 20px 20px !important;
    display: block;
}

/* Bouton "Ajouter au panier" sur la grille */
.woocommerce ul.products li.product .button {
    display: block;
    width: calc(100% - 40px);
    margin: 0 20px 20px !important;
    background: transparent !important;
    color: var(--be-or) !important;
    border: 1px solid var(--be-border) !important;
    font-family: var(--be-font) !important;
    font-size: 11px !important;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    padding: 11px 0 !important;
    text-align: center;
    border-radius: var(--be-radius) !important;
    transition: all 0.25s ease;
}

.woocommerce ul.products li.product .button:hover {
    background: rgba(201, 169, 110, 0.08) !important;
    border-color: var(--be-or) !important;
}

/* ─────────────────────────────────────────────────────────
   2. FICHE PRODUIT
───────────────────────────────────────────────────────── */

/* Titre */
.woocommerce div.product h1.product_title {
    font-family: var(--be-font) !important;
    font-weight: 400;
    font-size: 38px;
    color: var(--be-or-clair) !important;
    letter-spacing: 0.04em;
    margin-bottom: 12px;
}

/* Prix */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-family: var(--be-font) !important;
    font-size: 24px !important;
    color: var(--be-or) !important;
    margin-bottom: 12px;
}

/* Stock */
.woocommerce div.product p.stock {
    font-family: var(--be-font) !important;
    font-size: 12px !important;
    letter-spacing: 0.1em;
    color: var(--be-muted) !important;
    font-style: italic;
}

/* Description courte */
.woocommerce div.product div.woocommerce-product-details__short-description {
    font-family: var(--be-font);
    font-size: 16px;
    color: var(--be-muted);
    line-height: 1.7;
    font-style: italic;
    border-top: 1px solid var(--be-border);
    border-bottom: 1px solid var(--be-border);
    padding: 16px 0;
    margin: 16px 0;
}

/* Bouton Ajouter au panier — fiche produit */
.woocommerce div.product .single_add_to_cart_button,
.woocommerce div.product button.single_add_to_cart_button {
    background: transparent !important;
    color: var(--be-or) !important;
    border: 1px solid rgba(201, 169, 110, 0.5) !important;
    font-family: var(--be-font) !important;
    font-size: 12px !important;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    padding: 16px 40px !important;
    border-radius: var(--be-radius) !important;
    transition: all 0.25s ease;
    box-shadow: none !important;
}

.woocommerce div.product .single_add_to_cart_button:hover {
    background: rgba(201, 169, 110, 0.08) !important;
    border-color: var(--be-or) !important;
}

/* Onglets (Informations complémentaires / Avis) */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    border-bottom: 1px solid var(--be-border);
    padding: 0;
    margin-bottom: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    margin: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-family: var(--be-font) !important;
    font-size: 11px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--be-muted) !important;
    padding: 12px 20px !important;
    display: block;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    border-bottom-color: var(--be-or) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--be-or) !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
    background: var(--be-noir-2);
    border: 1px solid var(--be-border);
    border-top: none;
    padding: 24px;
    font-family: var(--be-font);
    color: var(--be-muted);
    font-size: 15px;
    line-height: 1.7;
}

/* Tableau infos complémentaires */
.woocommerce div.product .woocommerce-product-attributes th,
.woocommerce div.product .woocommerce-product-attributes td {
    font-family: var(--be-font);
    font-size: 14px;
    color: var(--be-muted);
    border-color: var(--be-border) !important;
    padding: 10px 16px;
}

.woocommerce div.product .woocommerce-product-attributes th {
    color: var(--be-or) !important;
    font-size: 11px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    font-weight: 400;
}

/* ─────────────────────────────────────────────────────────
   3. PANIER
───────────────────────────────────────────────────────── */

/* Tableau panier */
.woocommerce-cart table.cart {
    background: transparent;
    border-collapse: collapse;
    width: 100%;
}

.woocommerce-cart table.cart th {
    font-family: var(--be-font) !important;
    font-size: 10px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--be-or) !important;
    font-weight: 400;
    padding: 14px 12px;
    border-bottom: 1px solid var(--be-border) !important;
    background: transparent !important;
}

.woocommerce-cart table.cart td {
    background: var(--be-noir-2) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
    padding: 20px 12px !important;
    vertical-align: middle;
    font-family: var(--be-font);
    color: rgba(245, 240, 232, 0.7);
}

/* Nom du produit dans le panier */
.woocommerce-cart table.cart td.product-name a {
    font-family: var(--be-font) !important;
    font-size: 17px;
    font-weight: 400;
    color: var(--be-or-clair) !important;
    text-decoration: none;
    letter-spacing: 0.02em;
}

.woocommerce-cart table.cart td.product-name dl.variation {
    font-size: 13px;
    color: var(--be-muted);
    font-style: italic;
}

/* Prix panier */
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-subtotal {
    font-size: 16px;
    color: var(--be-or) !important;
}

/* Quantité panier */
.woocommerce-cart table.cart td.product-quantity input[type="number"] {
    background: var(--be-noir-3) !important;
    border: 1px solid var(--be-border) !important;
    color: var(--be-blanc) !important;
    font-family: var(--be-font) !important;
    text-align: center;
    width: 64px;
    padding: 8px !important;
    border-radius: var(--be-radius) !important;
}

/* Bouton supprimer */
.woocommerce-cart table.cart td.product-remove a.remove {
    color: var(--be-muted) !important;
    font-size: 18px;
    transition: color 0.2s;
}

.woocommerce-cart table.cart td.product-remove a.remove:hover {
    color: #c0392b !important;
    background: transparent !important;
}

/* Actions panier (code promo + mettre à jour) */
.woocommerce-cart table.cart td.actions {
    background: transparent !important;
    border-top: 1px solid var(--be-border) !important;
    padding-top: 20px !important;
}

.woocommerce-cart table.cart td.actions input[type="text"] {
    background: var(--be-noir-2) !important;
    border: 1px solid var(--be-border) !important;
    color: var(--be-blanc) !important;
    font-family: var(--be-font) !important;
    padding: 11px 16px !important;
    border-radius: var(--be-radius) !important;
    font-size: 14px;
}

/* Total panier */
.woocommerce-cart .cart-collaterals .cart_totals {
    background: var(--be-noir-2);
    border: 1px solid var(--be-border);
    border-radius: var(--be-radius);
    padding: 28px;
}

.woocommerce-cart .cart_totals h2 {
    font-family: var(--be-font) !important;
    font-size: 13px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--be-or) !important;
    font-weight: 400;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--be-border);
    padding-bottom: 14px;
}

.woocommerce-cart .cart_totals table {
    width: 100%;
}

.woocommerce-cart .cart_totals table th {
    font-family: var(--be-font) !important;
    font-size: 12px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--be-muted) !important;
    font-weight: 400;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255,255,255,0.04) !important;
}

.woocommerce-cart .cart_totals table td {
    font-family: var(--be-font) !important;
    color: var(--be-or-clair) !important;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255,255,255,0.04) !important;
    text-align: right;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
    font-size: 18px;
    color: var(--be-or) !important;
    border-bottom: none !important;
    padding-top: 16px;
}

/* Bouton "Valider la commande" dans le panier */
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    display: block;
    width: 100%;
    background: transparent !important;
    color: var(--be-or) !important;
    border: 1px solid rgba(201, 169, 110, 0.5) !important;
    font-family: var(--be-font) !important;
    font-size: 12px !important;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    padding: 16px 0 !important;
    text-align: center;
    border-radius: var(--be-radius) !important;
    margin-top: 16px;
    transition: all 0.25s ease;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
    background: rgba(201, 169, 110, 0.08) !important;
    border-color: var(--be-or) !important;
}

/* ─────────────────────────────────────────────────────────
   4. CHECKOUT
───────────────────────────────────────────────────────── */

/* Titres de section */
.woocommerce-checkout h2,
.woocommerce-checkout h3 {
    font-family: var(--be-font) !important;
    font-weight: 400;
    color: var(--be-or-clair) !important;
    font-size: 22px;
    letter-spacing: 0.05em;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--be-border);
    padding-bottom: 12px;
}

/* Labels */
.woocommerce-checkout .woocommerce-checkout label,
.woocommerce-checkout form .form-row label {
    font-family: var(--be-font) !important;
    font-size: 11px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--be-muted) !important;
    margin-bottom: 6px;
    display: block;
}

/* Inputs checkout */
.woocommerce-checkout .woocommerce-checkout input[type="text"],
.woocommerce-checkout .woocommerce-checkout input[type="email"],
.woocommerce-checkout .woocommerce-checkout input[type="tel"],
.woocommerce-checkout .woocommerce-checkout textarea,
.woocommerce-checkout .woocommerce-checkout select,
.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row select {
    background: var(--be-noir-2) !important;
    border: 1px solid var(--be-border) !important;
    color: rgba(245, 240, 232, 0.8) !important;
    font-family: var(--be-font) !important;
    font-size: 15px !important;
    padding: 12px 16px !important;
    border-radius: var(--be-radius) !important;
    width: 100%;
    transition: border-color 0.2s ease;
}

.woocommerce-checkout form .form-row input.input-text:focus,
.woocommerce-checkout form .form-row select:focus {
    border-color: rgba(201, 169, 110, 0.5) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(201, 169, 110, 0.06) !important;
}

/* Adresse sauvegardée */
.woocommerce-checkout .woocommerce-address-fields .woocommerce-SavedAddresses,
.woocommerce-checkout address.woocommerce-Address {
    background: var(--be-noir-2);
    border: 1px solid var(--be-border);
    border-radius: var(--be-radius);
    padding: 16px 20px;
    font-family: var(--be-font);
    font-size: 14px;
    color: var(--be-muted);
    font-style: italic;
    line-height: 1.7;
}

/* Lien "Modifier" */
.woocommerce-checkout .woocommerce-address-fields a,
.woocommerce-checkout address a {
    color: var(--be-or) !important;
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    font-style: normal;
}

/* Options de livraison */
.woocommerce-checkout .woocommerce-shipping-fields .shipping_method {
    background: var(--be-noir-2);
    border: 1px solid var(--be-border);
    border-radius: var(--be-radius);
    padding: 14px 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: var(--be-font);
    font-size: 15px;
    color: rgba(245, 240, 232, 0.7);
    margin-bottom: 8px;
    cursor: pointer;
    transition: border-color 0.2s;
}

.woocommerce-checkout .woocommerce-shipping-fields .shipping_method:has(input:checked) {
    border-color: rgba(201, 169, 110, 0.4);
    background: rgba(201, 169, 110, 0.04);
}

/* Options de paiement */
.woocommerce-checkout #payment {
    background: transparent !important;
    border-radius: var(--be-radius);
}

.woocommerce-checkout #payment ul.payment_methods {
    border-bottom: 1px solid var(--be-border) !important;
    padding: 0;
    margin-bottom: 16px;
}

.woocommerce-checkout #payment ul.payment_methods li {
    background: var(--be-noir-2) !important;
    border: 1px solid var(--be-border) !important;
    border-radius: var(--be-radius);
    padding: 14px 18px !important;
    margin-bottom: 8px;
    font-family: var(--be-font);
    font-size: 15px;
    color: rgba(245, 240, 232, 0.7);
    transition: border-color 0.2s;
}

.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) {
    border-color: rgba(201, 169, 110, 0.4) !important;
    background: rgba(201, 169, 110, 0.04) !important;
}

.woocommerce-checkout #payment ul.payment_methods li label {
    font-size: 15px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: rgba(245, 240, 232, 0.7) !important;
}

/* Résumé commande */
.woocommerce-checkout #order_review_heading {
    font-family: var(--be-font) !important;
    font-size: 13px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--be-or) !important;
    font-weight: 400;
    border-bottom: 1px solid var(--be-border);
    padding-bottom: 12px;
    margin-bottom: 16px;
}

.woocommerce-checkout table.shop_table {
    background: var(--be-noir-2);
    border: 1px solid var(--be-border) !important;
    border-radius: var(--be-radius);
    overflow: hidden;
    font-family: var(--be-font);
}

.woocommerce-checkout table.shop_table th {
    font-size: 10px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--be-or) !important;
    font-weight: 400;
    background: var(--be-noir-3) !important;
    padding: 12px 18px !important;
    border-bottom: 1px solid var(--be-border) !important;
}

.woocommerce-checkout table.shop_table td {
    padding: 14px 18px !important;
    color: rgba(245, 240, 232, 0.7) !important;
    border-bottom: 1px solid rgba(255,255,255,0.04) !important;
    font-size: 14px;
}

.woocommerce-checkout table.shop_table .order-total td,
.woocommerce-checkout table.shop_table .order-total th {
    color: var(--be-or) !important;
    font-size: 17px;
}

/* Checkbox "même adresse" / "note commande" */
.woocommerce-checkout input[type="checkbox"] {
    accent-color: var(--be-or);
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    font-family: var(--be-font);
    font-size: 13px;
    color: var(--be-muted);
    font-style: italic;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a {
    color: var(--be-or) !important;
}

/* Bouton "Commander" */
.woocommerce-checkout #place_order {
    display: block;
    width: 100%;
    background: transparent !important;
    color: var(--be-or) !important;
    border: 1px solid rgba(201, 169, 110, 0.5) !important;
    font-family: var(--be-font) !important;
    font-size: 12px !important;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    padding: 18px 0 !important;
    border-radius: var(--be-radius) !important;
    cursor: pointer;
    transition: all 0.25s ease;
    margin-top: 20px;
    box-shadow: none !important;
}

.woocommerce-checkout #place_order:hover {
    background: rgba(201, 169, 110, 0.08) !important;
    border-color: var(--be-or) !important;
}

/* Lien "Retour au panier" */
.woocommerce-checkout .return-to-shop a,
.woocommerce-checkout a.showcoupon {
    color: var(--be-or) !important;
    font-family: var(--be-font);
    font-size: 13px;
    font-style: italic;
    text-decoration: none;
    border-bottom: 1px solid rgba(201, 169, 110, 0.3);
}

/* Radio buttons */
.woocommerce-checkout input[type="radio"] {
    accent-color: var(--be-or);
}

/* Panier vide */
.woocommerce-cart .woocommerce-cart-form ~ .cart-empty,
.woocommerce p.cart-empty {
    font-family: var(--be-font);
    font-size: 18px;
    color: var(--be-muted);
    font-style: italic;
    text-align: center;
    padding: 60px 0;
}

.woocommerce .return-to-shop .button {
    background: transparent !important;
    color: var(--be-or) !important;
    border: 1px solid var(--be-border) !important;
    font-family: var(--be-font) !important;
    font-size: 11px !important;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    padding: 12px 28px !important;
    border-radius: var(--be-radius) !important;
}

/* Boutons génériques WooCommerce */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    font-family: var(--be-font) !important;
    border-radius: var(--be-radius) !important;
}

/* ─────────────────────────────────────────────────────────
   5. SCROLL — Personnalisation barre de défilement
───────────────────────────────────────────────────────── */

::-webkit-scrollbar {
    width: 6px;
}

::-webkit-scrollbar-track {
    background: var(--be-noir);
}

::-webkit-scrollbar-thumb {
    background: rgba(201, 169, 110, 0.25);
    border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(201, 169, 110, 0.45);
}

/* ─────────────────────────────────────────────────────────
   6. CORRECTIONS — Overrides Kadence
───────────────────────────────────────────────────────── */

/* Carte produit — fond blanc du bas */
.woocommerce ul.products li.product .product-details,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product footer,
.woocommerce ul.products li.product .product-footer {
    background: var(--be-noir-2) !important;
}

/* Force tout le contenu de la carte en sombre */
.woocommerce ul.products li.product * {
    background-color: transparent;
}
.woocommerce ul.products li.product {
    background: var(--be-noir-2) !important;
}

/* Date picker — fond blanc sur fiche produit */
.rental-date-picker {
    background: var(--be-noir-2) !important;
    border-color: var(--be-border) !important;
}

.rental-date-picker__label {
    color: rgba(245, 240, 232, 0.5) !important;
}

.rental-date-picker__input,
.rental-date-picker .flatpickr-input {
    background: var(--be-noir-3) !important;
    border-color: var(--be-border) !important;
    color: var(--be-blanc) !important;
}

.rental-date-picker__hint {
    color: var(--be-muted) !important;
}

/* Bouton "Commander" et "Valider la commande" — override bleu Stripe/Woo */
.woocommerce-checkout #place_order,
.woocommerce-checkout button#place_order,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-button,
.wc-block-components-checkout-place-order-button,
.wc-block-components-button.wc-block-components-checkout-place-order-button {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--be-or) !important;
    border: 1px solid rgba(201, 169, 110, 0.5) !important;
    box-shadow: none !important;
}

/* Bouton "Valider la commande" dans le panier (block checkout) */
.wp-block-woocommerce-proceed-to-checkout-block a,
.wc-block-cart__submit-button {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--be-or) !important;
    border: 1px solid rgba(201, 169, 110, 0.5) !important;
    font-family: var(--be-font) !important;
    letter-spacing: 0.2em;
    box-shadow: none !important;
}

/* Footer blanc */
body.woocommerce .site-footer,
body.woocommerce-cart .site-footer,
body.woocommerce-checkout .site-footer,
body.woocommerce-page .site-footer,
body.woocommerce #colophon,
body.woocommerce-cart #colophon,
body.woocommerce-checkout #colophon {
    background-color: var(--be-noir) !important;
    border-top: 1px solid var(--be-border);
}

/* Zone titre boutique — fond gris Kadence */
.woocommerce-shop .wp-block-kadence-header,
body.woocommerce .entry-hero,
body.woocommerce .page-hero,
body.woocommerce .woocommerce-products-header {
    background: var(--be-noir) !important;
}

/* Inputs checkout — blanc visible */
.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-select select,
.wc-block-components-text-input input,
.wc-block-components-select select {
    background: var(--be-noir-2) !important;
    border-color: var(--be-border) !important;
    color: var(--be-blanc) !important;
}

/* Bloc adresse checkout */
.wc-block-components-address-card,
.wc-block-components-shipping-rates-control__package {
    background: var(--be-noir-2) !important;
    border-color: var(--be-border) !important;
    color: rgba(245, 240, 232, 0.7) !important;
}

/* Supprime le hero/titre sur la page boutique */
.woocommerce-shop .entry-hero,
.woocommerce-shop .product-archive-hero-section,
.woocommerce-shop .entry-hero-container-inner,
.woocommerce-shop .hero-section-overlay {
    display: none !important;
}

/* Fond clair sur les images produit pour les PNGs transparents */
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail,
.woocommerce ul.products li.product img {
    background-color: #f0ece4 !important;
    padding: 0px;
}

/* Masque les onglets sur les fiches produit de location */
.single-product .woocommerce-tabs {
    display: none !important;
}

.woocommerce div.product .single_add_to_cart_button,
.woocommerce div.product button.single_add_to_cart_button {
    background: transparent !important;
    color: var(--be-or) !important;
    border: 1px solid rgba(201, 169, 110, 0.5) !important;
    font-family: var(--be-font) !important;
    font-size: 12px !important;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    padding: 16px 40px !important;
    border-radius: var(--be-radius) !important;
    transition: all 0.25s ease;
    box-shadow: none !important;
    line-height: 1 !important;        /* ← fix décalage texte */
    display: inline-flex !important;  /* ← fix alignement */
    align-items: center !important;
    justify-content: center !important;
}

/* Fond clair pour les images PNG transparentes */
.woocommerce div.product .woocommerce-product-gallery__image {
    background-color: #f0ece4 !important;
    border-radius: var(--be-radius);
    padding: 0px;
}

/* Bouton "Louer" sur la grille boutique */
.woocommerce ul.products li.product a.rental-loop-btn {
    display: block;
    margin: 16px 20px 20px !important;  /* ← marge autour */
    background: transparent !important;
    color: var(--be-or) !important;
    border: 1px solid var(--be-border) !important;
    font-family: var(--be-font) !important;
    font-size: 11px !important;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    padding: 14px 14px 14px !important;         /* ← plus de hauteur */
    text-align: center;
    border-radius: var(--be-radius) !important;
    transition: all 0.25s ease;
    text-decoration: none;
}

.woocommerce ul.products li.product a.rental-loop-btn:hover {
    background: rgba(201, 169, 110, 0.08) !important;
    border-color: var(--be-or) !important;
}

/* ─────────────────────────────────────────────────────────
   7. PANIER VIDE
───────────────────────────────────────────────────────── */

/* Icône et message panier vide */
.woocommerce-cart .woocommerce-cart-form ~ *,
.woocommerce-cart .cart-empty-page {
    text-align: center;
}

.woocommerce-cart .woocommerce-cart__empty-page {
    padding: 60px 20px;
    text-align: center;
}

/* Emoji triste — on le cache, on met notre style */
.woocommerce-cart .wp-block-woocommerce-empty-cart-block svg,
.woocommerce-cart .wc-empty-cart-message img {
    display: none;
}

/* Message panier vide */
.woocommerce-cart p.cart-empty,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block p {
    font-family: var(--be-font) !important;
    font-size: 22px !important;
    color: var(--be-muted) !important;
    font-style: italic;
    letter-spacing: 0.05em;
    text-align: center;
    padding: 60px 0 20px;
}

/* Titre "Nouveau dans la boutique" */
.woocommerce-cart .wp-block-woocommerce-empty-cart-block h2,
.woocommerce-cart .cross-sells h2,
.woocommerce-cart .empty-cart-cross-sells h2 {
    font-family: var(--be-font) !important;
    font-weight: 400 !important;
    font-size: 28px !important;
    color: var(--be-or-clair) !important;
    letter-spacing: 0.08em;
    text-align: center;
    margin-bottom: 32px;
}

/* Bouton "Retour à la boutique" */
.woocommerce-cart .wc-block-cart__empty-cart__image ~ a,
.woocommerce-cart .return-to-shop .button,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block a.button {
    background: transparent !important;
    color: var(--be-or) !important;
    border: 1px solid rgba(201, 169, 110, 0.4) !important;
    font-family: var(--be-font) !important;
    font-size: 11px !important;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    padding: 12px 28px !important;
    border-radius: var(--be-radius) !important;
    text-decoration: none;
    display: inline-block;
    transition: all 0.25s ease;
    margin-bottom: 48px;
}

.woocommerce-cart .return-to-shop .button:hover {
    background: rgba(201, 169, 110, 0.08) !important;
    border-color: var(--be-or) !important;
}

/* ─────────────────────────────────────────────────────────
   7. PANIER VIDE — Cartes produits suggérés
───────────────────────────────────────────────────────── */
/* Override Kadence content-bg sur les cartes bloc */
.wc-block-grid__product.content-bg,
.wc-block-grid__product.content-bg .product-details,
.wc-block-grid__product.content-bg .product-preview,
.wc-block-grid__product.content-bg > div:last-child,
.wc-block-grid__product.content-bg > div {
    background-color: var(--be-noir-2) !important;
    background: var(--be-noir-2) !important;
}

.wc-block-grid__product.product-loop-boxed:hover .product-details,
.wc-block-grid__product.product-loop-boxed:hover > div:last-child {
    background-color: var(--be-noir-2) !important;
}
/* Container carte */
.wc-block-grid__product.product-loop-boxed {
    background: var(--be-noir-2) !important;
    border: 1px solid rgba(201, 169, 110, 0.2) !important;
    border-radius: var(--be-radius) !important;
    overflow: hidden !important;
    box-shadow: none !important;
    transition: border-color 0.3s ease, transform 0.3s ease !important;
}

.wc-block-grid__product.product-loop-boxed:hover {
    border-color: rgba(201, 169, 110, 0.45) !important;
    transform: translateY(-3px) !important;
}

/* Fond clair pour PNG transparents — image uniquement */
.wc-block-grid__product.product-loop-boxed .wc-block-grid__product-image {
    background-color: #f0ece4 !important;
}

/* Reset fond sur textes */
.wc-block-grid__product.product-loop-boxed .wc-block-grid__product-title {
    background: transparent !important;
    font-family: var(--be-font) !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: var(--be-or-clair) !important;
    padding: 14px 18px 4px !important;
}

.wc-block-grid__product.product-loop-boxed .wc-block-grid__product-price {
    background: transparent !important;
    font-family: var(--be-font) !important;
    color: var(--be-muted) !important;
    padding: 0 18px 12px !important;
}

.wc-block-grid__product.product-loop-boxed .wc-block-grid__product-add-to-cart {
    background: transparent !important;
    padding: 0 16px 16px !important;
}

/* Bouton Louer dans les blocs */
.wc-block-grid__product .rental-loop-btn {
    display: block !important;
    background: transparent !important;
    color: var(--be-or) !important;
    border: 1px solid var(--be-border) !important;
    font-family: var(--be-font) !important;
    font-size: 11px !important;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    padding: 11px 0 !important;
    text-align: center;
    border-radius: var(--be-radius) !important;
    text-decoration: none;
    transition: all 0.25s ease;
}

.wc-block-grid__product .rental-loop-btn:hover {
    background: rgba(201, 169, 110, 0.08) !important;
    border-color: var(--be-or) !important;
}

/* Fond clair pour PNG transparents — panier vide */
.wc-block-grid__product a.wc-block-grid__product-link {
    background-color: #f0ece4 !important;
    display: block;
}

/* ── Bloc panier WooCommerce (Gutenberg) — lisibilité ── */

/* Fond du bloc */
.wp-block-woocommerce-cart,
.wc-block-cart {
    background: transparent !important;
}

/* Nom du produit */
.wc-block-cart-item__product a,
.wc-block-cart-items .wc-block-cart-item__product-name {
    color: var(--be-or-clair) !important;
    font-family: var(--be-font) !important;
    font-size: 17px !important;
    text-decoration: none !important;
}

/* Prix */
.wc-block-cart-item__total .woocommerce-Price-amount,
.wc-block-cart-item__prices .woocommerce-Price-amount {
    color: var(--be-or) !important;
    font-family: var(--be-font) !important;
}

/* Meta (date de début) */
.wc-block-cart-item__product .wc-block-components-product-metadata,
.wc-block-cart-item__product dl,
.wc-block-cart-item__product dl dt,
.wc-block-cart-item__product dl dd {
    color: var(--be-muted) !important;
    font-size: 13px !important;
    font-style: italic;
}

/* Headers tableau */
.wc-block-cart-items__header span {
    color: var(--be-or) !important;
    font-family: var(--be-font) !important;
    font-size: 10px !important;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

/* Fond des lignes */
.wc-block-cart-items__row {
    background: var(--be-noir-2) !important;
    border-bottom: 1px solid rgba(255,255,255,0.04) !important;
}

/* Bouton supprimer */
.wc-block-cart-item__remove-link {
    color: var(--be-muted) !important;
    font-size: 12px !important;
}

/* Total sidebar */
.wc-block-cart__sidebar .wc-block-components-totals-item__label,
.wc-block-cart__sidebar .wc-block-components-totals-item__value {
    color: rgba(245, 240, 232, 0.7) !important;
    font-family: var(--be-font) !important;
}

/* Total final */
.wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: var(--be-or) !important;
    font-size: 18px !important;
}

/* ── Lisibilité totaux sidebar panier ── */
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value,
.wc-block-components-totals-item span,
.wc-block-cart__sidebar span,
.wc-block-cart__sidebar p {
    color: rgba(245, 240, 232, 0.75) !important;
    font-family: var(--be-font) !important;
}

/* Sous-total / Forfait labels */
.wc-block-components-totals-shipping .wc-block-components-totals-item__label,
.wc-block-components-totals-coupon .wc-block-components-totals-item__label {
    color: rgba(245, 240, 232, 0.6) !important;
}

/* Total estimé — plus visible */
.wc-block-components-totals-footer-item span {
    color: var(--be-or) !important;
    font-size: 17px !important;
}

/* "Ajouter des codes promo" */
.wc-block-components-totals-coupon__button,
.wc-block-components-panel__button {
    color: var(--be-muted) !important;
    font-family: var(--be-font) !important;
    font-size: 13px !important;
}

/* Header colonnes PRODUIT / TOTAL */
.wc-block-cart-items__header .wc-block-cart-items__header-product,
.wc-block-cart-items__header .wc-block-cart-items__header-total {
    color: var(--be-or) !important;
    font-size: 10px !important;
    letter-spacing: 0.25em !important;
}

/* Prix sous le nom produit */
.wc-block-cart-item__prices {
    color: var(--be-muted) !important;
}

/* Quantité */
.wc-block-components-quantity-selector__input {
    color: var(--be-blanc) !important;
    background: var(--be-noir-3) !important;
    border-color: var(--be-border) !important;
}

/* ── Bloc checkout — lisibilité générale ── */
.wc-block-checkout,
.wc-block-components-checkout-step,
.wc-block-components-form,
.wc-block-checkout__payment-method {
    color: rgba(245, 240, 232, 0.8) !important;
}

/* Labels et textes checkout */
.wc-block-components-checkout-step__title,
.wc-block-components-checkout-step__description,
.wc-block-components-checkout-step p,
.wc-block-components-checkout-step span,
.wc-block-components-checkout-step label {
    color: rgba(245, 240, 232, 0.75) !important;
    font-family: var(--be-font) !important;
}

/* Options de paiement */
.wc-block-components-payment-method-label,
.wc-block-components-payment-method-label__brand,
.wc-block-checkout__payment-method label,
.wc-block-checkout__payment-method p,
.wc-block-checkout__payment-method span {
    color: rgba(245, 240, 232, 0.75) !important;
    font-family: var(--be-font) !important;
}

/* Texte mode test Stripe */
.wc-block-checkout__payment-method .payment_box p,
.wc-block-components-payment-method-description {
    color: var(--be-muted) !important;
    font-size: 13px !important;
    font-style: italic;
}

/* Options livraison */
.wc-block-components-radio-control__label,
.wc-block-components-radio-control__description {
    color: rgba(245, 240, 232, 0.75) !important;
    font-family: var(--be-font) !important;
}

/* Checkbox labels */
.wc-block-components-checkbox__label {
    color: rgba(245, 240, 232, 0.6) !important;
    font-size: 13px !important;
    font-style: italic;
}

/* Inputs Stripe */
.wc-block-gateway-container input,
.wc-block-components-stripe-input {
    background: var(--be-noir-3) !important;
    border-color: var(--be-border) !important;
    color: var(--be-blanc) !important;
}