/*
 Theme Name:   Hello Editions
 Description:  Theme enfant pour Bokifa — Hello Editions
 Template:     bokifa
 Version:      1.2.0
 Text Domain:  helloeditions
*/

/* ============================================================
   DESIGN TOKENS
   Modifier ici pour changer le theme entier
   ============================================================ */
:root {
    --he-accent: #FFD16A;
    --he-accent-bg: #FFF9EB;
    --he-accent-selected: #FFFDF5;
    --he-accent-shadow: rgba(255, 209, 106, 0.2);
    --he-accent-glow: rgba(255, 209, 106, 0.15);
    --he-black: #000;
    --he-white: #fff;
    --he-text: #333;
    --he-text-muted: #7A7A7A;
    --he-text-light: #555;
    --he-border: #E2E2E2;
    --he-border-light: #F0F0F0;
    --he-bg-light: #FAFAFA;
    --he-font: 'Manrope', sans-serif;
    --he-font-btn: 'Space Grotesk', sans-serif;
    --he-radius-sm: 8px;
    --he-radius-md: 12px;
    --he-radius-lg: 16px;
    --he-radius-pill: 25px;
}

/* ============================================================
   GLOBAL — Masquer "Vendor:" vide (Dokan) partout
   ============================================================ */
.variation-Vendor,
dt.variation-Vendor,
dd.variation-Vendor {
    display: none !important;
}


/* ============================================================
   MINI-CART SIDEBAR (panier lateral Bokifa)
   ============================================================ */

.site-header-cart-side {
    display: flex;
    flex-direction: column;
}

/* Chaque article */
.site-header-cart-side .woocommerce-mini-cart-item {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 14px 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid var(--he-border-light);
    position: relative !important;
}
.site-header-cart-side .woocommerce-mini-cart-item:last-child {
    border-bottom: none !important;
}

/* Image produit */
.site-header-cart-side .wpr-mini-cart-image {
    width: 55px !important;
    min-width: 55px !important;
    flex-shrink: 0 !important;
}
.site-header-cart-side .wpr-mini-cart-image img {
    width: 55px !important;
    height: 75px !important;
    object-fit: cover !important;
    border-radius: 6px !important;
    display: block !important;
}

/* Titre + quantite */
.site-header-cart-side .wpr-mini-cart-name-and-quantity {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}
.site-header-cart-side .wpr-mini-cart-name {
    font-family: var(--he-font) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: var(--he-black) !important;
    display: block !important;
}
.site-header-cart-side .wpr-mini-cart-product-name a {
    text-decoration: none !important;
}
.site-header-cart-side .wpr-mini-cart-quantity {
    font-size: 12px !important;
    color: var(--he-text-muted) !important;
    line-height: 1.4 !important;
}

/* Bouton supprimer */
.site-header-cart-side .wpr-mini-cart-remove {
    position: absolute !important;
    top: 14px !important;
    right: 0 !important;
}
.site-header-cart-side .wpr-mini-cart-remove a {
    font-size: 16px !important;
    color: #AAA !important;
    text-decoration: none !important;
}
.site-header-cart-side .wpr-mini-cart-remove a:hover {
    color: var(--he-black) !important;
}

/* Sous-total */
.site-header-cart-side .woocommerce-mini-cart__total {
    font-family: var(--he-font) !important;
    font-size: 15px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

/* ---- Layout restructure (JS → classes CSS) ---- */
.site-header-cart-side .he-cart-active {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    overflow: hidden !important;
    position: relative !important;
}
.site-header-cart-side .he-cart-scroll {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 0 15px !important;
}
.site-header-cart-side .he-cart-footer {
    flex-shrink: 0 !important;
    position: relative !important;
    z-index: 9999 !important;
    width: 100% !important;
    padding: 10px 15px !important;
    border-top: 1px solid var(--he-border) !important;
    background: var(--he-white) !important;
    pointer-events: auto !important;
}
.site-header-cart-side .he-cart-total {
    position: static !important;
    width: 100% !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    transform: none !important;
}
.site-header-cart-side .he-cart-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

/* Boutons panier / commander */
.site-header-cart-side .he-btn {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    padding: 12px 20px !important;
    border-radius: var(--he-radius-pill) !important;
    font-family: var(--he-font-btn) !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    transition: background 0.3s, color 0.3s !important;
    overflow: visible !important;
    box-shadow: none !important;
    outline: none !important;
    position: relative !important;
    z-index: 9999 !important;
    pointer-events: auto !important;
}
.site-header-cart-side .he-btn::before,
.site-header-cart-side .he-btn::after {
    display: none !important;
    content: none !important;
}
.site-header-cart-side .he-btn-cart {
    background: transparent !important;
    color: var(--he-black) !important;
    border: 2px solid var(--he-black) !important;
}
.site-header-cart-side .he-btn-cart:hover {
    background: var(--he-black) !important;
    color: var(--he-white) !important;
}
.site-header-cart-side .he-btn-checkout {
    background: var(--he-accent) !important;
    color: var(--he-black) !important;
    border: none !important;
}
.site-header-cart-side .he-btn-checkout:hover {
    background: var(--he-black) !important;
    color: var(--he-white) !important;
}

/* Scrollbar discrete */
.site-header-cart-side ::-webkit-scrollbar { width: 3px; }
.site-header-cart-side ::-webkit-scrollbar-thumb { background: var(--he-border); border-radius: 3px; }


/* ============================================================
   RELATED PRODUCTS : grille 4 colonnes (anti-Swiper Bokifa)
   ============================================================ */

.related.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
}

/* Grille sur le conteneur de produits (ul.products / .swiper-wrapper) */
.related.products .swiper-wrapper {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    transform: none !important;
}

/* Reset des wrappers Bokifa (position/clip seulement, PAS de grid) */
.related .bokifa-con,
.related .bokifa-theme-swiper,
.related .bokifa-swiper-wrapper {
    display: block !important;
    transform: none !important;
    clip-path: none !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    overflow: visible !important;
}

.related.products .swiper-slide {
    width: 100% !important;
    margin-right: 0 !important;
}

/* Images produits : ratio couverture de livre uniforme */
.related.products li.product .product-transition {
    overflow: hidden !important;
}
.related.products li.product .product-transition a img {
    width: 100% !important;
    aspect-ratio: 2 / 3 !important;
    height: auto !important;
    object-fit: cover !important;
}

/* Masquer les fleches/pagination du slider (Swiper + Elementor) */
.related.products .swiper-button-next,
.related.products .swiper-button-prev,
.related.products .swiper-pagination,
.related.products .elementor-swiper-button {
    display: none !important;
}


/* ============================================================
   PAGE CHECKOUT (Commander)
   ============================================================ */

/* ---- Layout 2 colonnes ---- */
.woocommerce-checkout .col2-set {
    margin-bottom: 10px !important;
}
.woocommerce-checkout .col2-set .col-1 {
    padding-right: 25px !important;
}
.woocommerce-checkout .col2-set .col-2 {
    padding-left: 25px !important;
}

/* ---- Titres ---- */
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout #ship-to-different-address,
.woocommerce-checkout .woocommerce-additional-fields h3 {
    font-family: var(--he-font) !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    color: var(--he-black) !important;
    text-transform: none !important;
    font-style: normal !important;
    letter-spacing: 0 !important;
    margin-bottom: 18px !important;
    margin-top: 0 !important;
}

/* ---- Labels ---- */
.woocommerce-checkout .form-row label {
    font-family: var(--he-font) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--he-text) !important;
    margin-bottom: 4px !important;
    display: block !important;
}
.woocommerce-checkout .form-row label .required,
.woocommerce-checkout .form-row label abbr.required {
    color: var(--he-accent) !important;
    text-decoration: none !important;
}

/* ---- Champs de saisie ---- */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container--default .select2-selection--single {
    border: 1px solid var(--he-border) !important;
    border-radius: var(--he-radius-sm) !important;
    padding: 10px 14px !important;
    font-family: var(--he-font) !important;
    font-size: 13px !important;
    background: var(--he-bg-light) !important;
    color: var(--he-text) !important;
    box-shadow: none !important;
    outline: none !important;
    height: auto !important;
    line-height: 1.4 !important;
    transition: border-color 0.3s, box-shadow 0.3s !important;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
    border-color: var(--he-accent) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px var(--he-accent-shadow) !important;
    background: var(--he-white) !important;
}

/* Select2 */
.woocommerce-checkout .select2-container--default .select2-selection--single {
    min-height: 40px !important;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 40px !important;
    padding-left: 14px !important;
    font-size: 13px !important;
    font-family: var(--he-font) !important;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 40px !important;
}

/* ---- Espacement des champs ---- */
.woocommerce-checkout .form-row {
    margin-bottom: 14px !important;
}

/* ---- Radio & Checkbox ---- */
.woocommerce-checkout input[type="radio"],
.woocommerce-checkout input[type="checkbox"] {
    accent-color: var(--he-accent) !important;
}

/* ---- Sections shipping / notes ---- */
.woocommerce-checkout .woocommerce-shipping-fields {
    margin-top: 5px !important;
}
.woocommerce-checkout .woocommerce-additional-fields {
    margin-top: 25px !important;
    padding-top: 25px !important;
    border-top: 1px solid var(--he-border-light) !important;
}
.woocommerce-checkout .woocommerce-additional-fields h3 {
    font-size: 15px !important;
    margin-bottom: 10px !important;
}
.woocommerce-checkout .form-row textarea {
    min-height: 80px !important;
    resize: vertical !important;
}

/* ---- Code promo ---- */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
    background: var(--he-accent-bg) !important;
    border: none !important;
    border-left: 4px solid var(--he-accent) !important;
    border-top: none !important;
    border-radius: var(--he-radius-sm) !important;
    padding: 12px 18px !important;
    font-size: 13px !important;
    color: var(--he-text) !important;
    font-family: var(--he-font) !important;
    margin-bottom: 25px !important;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a {
    color: var(--he-black) !important;
    font-weight: 600 !important;
}

/* Formulaire coupon */
.woocommerce-checkout .checkout_coupon {
    border: 1px solid var(--he-border-light) !important;
    border-radius: var(--he-radius-md) !important;
    padding: 18px !important;
    margin-bottom: 25px !important;
    background: var(--he-bg-light) !important;
}
.woocommerce-checkout .checkout_coupon .button,
.woocommerce-checkout .checkout_coupon .btn-slip-effect {
    background: var(--he-black) !important;
    color: var(--he-white) !important;
    border: none !important;
    border-radius: var(--he-radius-sm) !important;
    padding: 10px 18px !important;
    font-family: var(--he-font) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
}
.woocommerce-checkout .checkout_coupon .button:hover {
    background: var(--he-accent) !important;
    color: var(--he-black) !important;
}

/* ---- Bloc recapitulatif ---- */
.woocommerce-checkout #order_review {
    background: var(--he-white) !important;
    border: 1px solid var(--he-border-light) !important;
    border-radius: var(--he-radius-lg) !important;
    padding: 24px !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04) !important;
}
.woocommerce-checkout #order_review_heading {
    margin-bottom: 16px !important;
}

/* ---- Table recapitulatif ---- */
.woocommerce-checkout .woocommerce-checkout-review-order-table {
    border: none !important;
    border-collapse: collapse !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
    font-family: var(--he-font) !important;
    font-size: 13px !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid var(--he-border-light) !important;
    color: var(--he-text) !important;
    background: none !important;
    line-height: 1.4 !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
    font-weight: 700 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    color: var(--he-text-muted) !important;
    letter-spacing: 0.5px !important;
    padding-bottom: 8px !important;
}

/* Noms de produits */
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--he-text) !important;
    line-height: 1.4 !important;
    padding-right: 10px !important;
}

/* PRIX — taille controlee */
.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-Price-amount,
.woocommerce-checkout .woocommerce-checkout-review-order-table .amount,
.woocommerce-checkout .woocommerce-checkout-review-order-table bdi {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--he-black) !important;
}

/* Ligne sous-total */
.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-subtotal td,
.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-subtotal th {
    font-size: 13px !important;
    font-weight: 500 !important;
    padding-top: 14px !important;
}

/* ---- Livraison — radio + label alignes ---- */
.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals th,
.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals td {
    font-size: 12px !important;
    vertical-align: top !important;
    padding: 12px 0 !important;
}
.woocommerce-checkout .woocommerce-shipping-totals td .woocommerce-shipping-methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.woocommerce-checkout .woocommerce-shipping-totals td .woocommerce-shipping-methods li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    padding: 6px 0 !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
}
.woocommerce-checkout .woocommerce-shipping-totals td .woocommerce-shipping-methods li input[type="radio"].shipping_method {
    flex-shrink: 0 !important;
    width: 16px !important;
    height: 16px !important;
    margin-top: 2px !important;
    accent-color: var(--he-accent) !important;
}
.woocommerce-checkout .woocommerce-shipping-totals td .woocommerce-shipping-methods li label {
    font-weight: 400 !important;
    font-size: 12px !important;
    color: var(--he-text) !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    margin-right: 0 !important;
    flex: 1 !important;
}
.woocommerce-checkout .woocommerce-shipping-totals td .woocommerce-shipping-methods .woocommerce-Price-amount,
.woocommerce-checkout .woocommerce-shipping-totals td .woocommerce-shipping-methods .amount {
    font-size: 12px !important;
    font-weight: 600 !important;
}

/* TOTAL */
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--he-black) !important;
    border-bottom: none !important;
    border-top: 2px solid var(--he-accent) !important;
    padding-top: 16px !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount,
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total .amount,
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total bdi {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--he-black) !important;
}
.woocommerce-checkout .order-total .includes_tax,
.woocommerce-checkout .order-total small {
    font-size: 11px !important;
    font-weight: 400 !important;
    color: var(--he-text-muted) !important;
}
.woocommerce-checkout .order-total .includes_tax .woocommerce-Price-amount,
.woocommerce-checkout .order-total .includes_tax .amount,
.woocommerce-checkout .order-total small .woocommerce-Price-amount {
    font-size: 11px !important;
    font-weight: 500 !important;
    color: var(--he-text-muted) !important;
}

/* ---- Masquer message PayPal dans le recap ---- */
.woocommerce-checkout .ppcp-messages {
    display: none !important;
}

/* ---- Checkbox "Expedier a une adresse differente" ---- */
.woocommerce-checkout #ship-to-different-address {
    font-size: 15px !important;
    margin-top: 0 !important;
    margin-bottom: 18px !important;
}
.woocommerce-checkout #ship-to-different-address label {
    font-size: 15px !important;
    font-weight: 600 !important;
    font-style: normal !important;
}

/* ---- Bloc Paiement (cartes) ---- */
.woocommerce-checkout #payment {
    background: var(--he-bg-light) !important;
    border: none !important;
    border-radius: 14px !important;
    padding: 20px !important;
    margin-top: 20px !important;
}
.woocommerce-checkout #payment ul.payment_methods {
    border: none !important;
    padding: 0 !important;
    margin: 0 0 5px 0 !important;
}

/* Methode = carte */
.woocommerce-checkout #payment ul.payment_methods li {
    background: var(--he-white) !important;
    border: 1.5px solid var(--he-border) !important;
    border-radius: 10px !important;
    margin-bottom: 10px !important;
    padding: 14px 18px !important;
    transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
}

/* Methode selectionnee */
.woocommerce-checkout #payment ul.payment_methods li:has(input[type="radio"]:checked) {
    border-color: var(--he-accent) !important;
    box-shadow: 0 0 0 3px var(--he-accent-glow) !important;
    background: var(--he-accent-selected) !important;
}
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]:checked ~ label {
    color: var(--he-black) !important;
    font-weight: 600 !important;
}

/* Hover */
.woocommerce-checkout #payment ul.payment_methods li:hover {
    border-color: #ccc !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
}

/* Labels methodes */
.woocommerce-checkout #payment ul.payment_methods li > label {
    font-family: var(--he-font) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--he-text) !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

/* Radio paiement */
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
    accent-color: var(--he-accent) !important;
    width: 18px !important;
    height: 18px !important;
    margin-right: 4px !important;
    cursor: pointer !important;
}

/* Icone carte Stripe */
.woocommerce-checkout .stripe-cards-icon {
    margin-left: auto !important;
    height: 22px !important;
}

/* Payment box */
.woocommerce-checkout #payment .payment_box {
    background: transparent !important;
    color: var(--he-text-muted) !important;
    font-size: 12px !important;
    padding: 12px 0 2px 0 !important;
    margin: 0 !important;
    border-top: 1px solid var(--he-border-light) !important;
    margin-top: 12px !important;
    border-radius: 0 !important;
}
.woocommerce-checkout #payment .payment_box::before {
    display: none !important;
}
.woocommerce-checkout #payment .payment_box p {
    font-size: 12px !important;
    color: var(--he-text-muted) !important;
    margin: 0 !important;
    font-family: var(--he-font) !important;
}

/* Checkbox "Enregistrer" */
.woocommerce-checkout #payment .woocommerce-SavedPaymentMethods-saveNew {
    margin-top: 10px !important;
}
.woocommerce-checkout #payment .woocommerce-SavedPaymentMethods-saveNew label {
    font-size: 12px !important;
    color: var(--he-text-muted) !important;
    font-weight: 400 !important;
}

/* ---- FIX PayPal PPCP ---- */
.woocommerce-checkout .ppc-button-wrapper {
    position: relative !important;
    z-index: 1 !important;
    clear: both !important;
    overflow: hidden !important;
    width: 100% !important;
}
.woocommerce-checkout #ppc-button-ppcp-gateway {
    border-radius: var(--he-radius-pill) !important;
    overflow: hidden !important;
    margin-top: 5px !important;
}
.woocommerce-checkout #ppc-button-ppcp-applepay[style*="display: none"],
.woocommerce-checkout #ppc-button-ppcp-googlepay:empty {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ---- Centrer le bloc Commander ---- */
.woocommerce-checkout .form-row.place-order {
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    position: relative !important;
    z-index: 2 !important;
}

/* ---- CGV / Confidentialite ---- */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    margin-top: 5px !important;
    padding-top: 14px !important;
}
.woocommerce-checkout .woocommerce-privacy-policy-text p {
    font-family: var(--he-font) !important;
    font-size: 11px !important;
    color: var(--he-text-muted) !important;
    line-height: 1.5 !important;
    margin-bottom: 12px !important;
}
.woocommerce-checkout .woocommerce-privacy-policy-text a {
    color: var(--he-black) !important;
    font-weight: 600 !important;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .validate-required label {
    font-family: var(--he-font) !important;
    font-size: 12px !important;
    color: var(--he-text-light) !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 6px !important;
    line-height: 1.4 !important;
    cursor: pointer !important;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"]#terms {
    accent-color: var(--he-accent) !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    margin-top: 2px !important;
    cursor: pointer !important;
}

/* ---- Bouton Commander ---- */
.woocommerce-checkout #place_order {
    background: var(--he-accent) !important;
    color: var(--he-black) !important;
    border: none !important;
    border-radius: var(--he-radius-pill) !important;
    font-family: var(--he-font-btn) !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 14px 24px !important;
    width: 100% !important;
    margin-top: 14px !important;
    cursor: pointer !important;
    transition: background 0.3s, color 0.3s !important;
    position: relative !important;
    z-index: 10 !important;
    text-align: center !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}
.woocommerce-checkout #place_order:hover {
    background: var(--he-black) !important;
    color: var(--he-white) !important;
}

/* Forcer le texte interne centre (Bokifa) */
.woocommerce-checkout #place_order .bokifa_btn_text,
.woocommerce-checkout #place_order span {
    text-align: center !important;
    width: 100% !important;
    display: block !important;
}

/* Supprimer pseudo-elements Bokifa */
.woocommerce-checkout #place_order.btn-slip-effect::before,
.woocommerce-checkout #place_order.btn-slip-effect::after,
.woocommerce-checkout #place_order .bokifa_btn_text::before,
.woocommerce-checkout #place_order .bokifa_btn_text::after {
    display: none !important;
    content: none !important;
}

/* ---- Recaptcha PayPal ---- */
.woocommerce-checkout #ppcp-recaptcha-v2-container {
    margin: 10px 0 0 0 !important;
}


/* ============================================================
   PAGE COMMANDE RECUE / MERCI (order-received)
   ============================================================ */

/* ---- Message de confirmation ---- */
.woocommerce-order-received .woocommerce-thankyou-order-received,
.woocommerce-thankyou-order-received {
    background: var(--he-accent-bg) !important;
    border: none !important;
    border-left: 4px solid var(--he-accent) !important;
    border-radius: var(--he-radius-sm) !important;
    padding: 18px 22px !important;
    font-family: var(--he-font) !important;
    font-size: 15px !important;
    color: var(--he-black) !important;
    font-weight: 600 !important;
    margin-bottom: 28px !important;
}

/* ---- Titres des sections ---- */
.woocommerce-order-received h2,
.woocommerce-order-received .woocommerce-order-details h2,
.woocommerce-order-received .woocommerce-customer-details h2,
.woocommerce-order-received .woocommerce-column__title {
    font-family: var(--he-font) !important;
    color: var(--he-black) !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    font-style: normal !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin-bottom: 14px !important;
}

/* ---- Resume commande (cards) ---- */
.woocommerce-order-received .woocommerce-order-overview,
.woocommerce-thankyou-order-details {
    list-style: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    background: var(--he-white) !important;
    border: 1px solid var(--he-border-light) !important;
    border-radius: var(--he-radius-md) !important;
    padding: 0 !important;
    margin: 0 0 28px 0 !important;
    overflow: hidden;
}
.woocommerce-order-received .woocommerce-order-overview li,
.woocommerce-thankyou-order-details li {
    flex: 1;
    min-width: 120px;
    padding: 16px 18px !important;
    border-right: 1px solid var(--he-border-light);
    font-family: var(--he-font) !important;
    font-size: 11px !important;
    color: var(--he-text-muted) !important;
    margin: 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
}
.woocommerce-order-received .woocommerce-order-overview li:last-child,
.woocommerce-thankyou-order-details li:last-child {
    border-right: none;
}
.woocommerce-order-received .woocommerce-order-overview li strong,
.woocommerce-thankyou-order-details li strong {
    display: block;
    color: var(--he-black) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    margin-top: 4px;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* ---- Tableau details commande ---- */
.woocommerce-order-received table.woocommerce-table--order-details,
.woocommerce-order-received table.order_details {
    border: 1px solid var(--he-border-light) !important;
    border-collapse: collapse;
    border-radius: var(--he-radius-md);
    overflow: hidden;
    width: 100%;
}
.woocommerce-order-received table.woocommerce-table--order-details thead th,
.woocommerce-order-received table.order_details thead th {
    background: var(--he-bg-light) !important;
    font-family: var(--he-font) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: var(--he-text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-bottom: 1px solid var(--he-border-light) !important;
    padding: 12px 14px !important;
}
.woocommerce-order-received table.woocommerce-table--order-details tbody td,
.woocommerce-order-received table.order_details tbody td {
    font-family: var(--he-font) !important;
    font-size: 13px !important;
    color: var(--he-text) !important;
    border-bottom: 1px solid var(--he-border-light) !important;
    padding: 14px !important;
    vertical-align: middle !important;
    background: none !important;
}
.woocommerce-order-received table.woocommerce-table--order-details tbody td a {
    color: var(--he-black) !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

/* Prix dans le tableau merci */
.woocommerce-order-received table .woocommerce-Price-amount,
.woocommerce-order-received table .amount,
.woocommerce-order-received table bdi {
    font-size: 13px !important;
    font-weight: 600 !important;
}

/* Footer tableau */
.woocommerce-order-received table.woocommerce-table--order-details tfoot th,
.woocommerce-order-received table.order_details tfoot th {
    font-family: var(--he-font) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--he-text-muted) !important;
    padding: 10px 14px !important;
    text-align: left;
    background: none !important;
    border-top: 1px solid var(--he-border-light) !important;
}
.woocommerce-order-received table.woocommerce-table--order-details tfoot td,
.woocommerce-order-received table.order_details tfoot td {
    font-family: var(--he-font) !important;
    font-size: 13px !important;
    color: var(--he-black) !important;
    font-weight: 600 !important;
    padding: 10px 14px !important;
    background: none !important;
    border-top: 1px solid var(--he-border-light) !important;
}

/* Ligne total avec accent */
.woocommerce-order-received table tfoot tr:last-child th,
.woocommerce-order-received table tfoot tr:last-child td {
    border-top: 2px solid var(--he-accent) !important;
    font-size: 15px !important;
    padding-top: 14px !important;
}
.woocommerce-order-received table tfoot tr:last-child td {
    color: var(--he-black) !important;
    font-weight: 700 !important;
}
.woocommerce-order-received table tfoot tr:last-child .woocommerce-Price-amount,
.woocommerce-order-received table tfoot tr:last-child .amount,
.woocommerce-order-received table tfoot tr:last-child bdi {
    font-size: 15px !important;
    font-weight: 700 !important;
}

/* Notes TVA */
.woocommerce-order-received .includes_tax,
.woocommerce-order-received small.includes_tax {
    font-size: 11px !important;
    font-weight: 400 !important;
    color: var(--he-text-muted) !important;
}

/* ---- Adresses facturation / livraison ---- */
.woocommerce-order-received .woocommerce-customer-details {
    margin-top: 28px;
}
.woocommerce-order-received .woocommerce-columns--addresses {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
}
.woocommerce-order-received .woocommerce-column--billing-address,
.woocommerce-order-received .woocommerce-column--shipping-address {
    flex: 1;
    min-width: 240px;
    background: var(--he-white);
    border: 1px solid var(--he-border-light);
    border-radius: var(--he-radius-md);
    padding: 22px;
}
.woocommerce-order-received .woocommerce-customer-details address {
    font-style: normal;
    font-family: var(--he-font);
    font-size: 13px;
    color: var(--he-text-muted);
    line-height: 1.6;
}
.woocommerce-order-received .woocommerce-customer-details address p {
    margin: 0 0 3px 0;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 768px) {

    /* Related products */
    .related.products ul.products,
    .related.products .swiper-wrapper {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .related.products li.product .product-transition a img {
        aspect-ratio: 2 / 3 !important;
        height: auto !important;
    }

    /* Checkout colonnes */
    .woocommerce-checkout .col2-set .col-1,
    .woocommerce-checkout .col2-set .col-2 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Checkout */
    .woocommerce-checkout #order_review {
        padding: 16px !important;
        border-radius: var(--he-radius-md) !important;
    }
    .woocommerce-checkout #payment {
        padding: 14px !important;
        border-radius: 10px !important;
    }
    .woocommerce-checkout #payment ul.payment_methods li {
        padding: 12px 14px !important;
    }
    .woocommerce-checkout #place_order {
        padding: 13px 20px !important;
        font-size: 13px !important;
    }

    /* Commande recue */
    .woocommerce-order-received .woocommerce-order-overview,
    .woocommerce-thankyou-order-details {
        flex-direction: column !important;
        border-radius: 10px !important;
    }
    .woocommerce-order-received .woocommerce-order-overview li,
    .woocommerce-thankyou-order-details li {
        border-right: none;
        border-bottom: 1px solid var(--he-border-light);
        padding: 12px 16px !important;
    }
    .woocommerce-order-received .woocommerce-order-overview li:last-child,
    .woocommerce-thankyou-order-details li:last-child {
        border-bottom: none;
    }
    .woocommerce-order-received .woocommerce-columns--addresses {
        flex-direction: column !important;
    }
    .woocommerce-order-received .woocommerce-column--billing-address,
    .woocommerce-order-received .woocommerce-column--shipping-address {
        min-width: 100%;
    }
}