/* ============================================================
   Beauty E-Shop — Frontend CSS
   ============================================================ */

:root {
    --be-primary:    #C9A96E;
    --be-secondary:  #1C1C1C;
    --be-bg:         #FAF7F2;
    --be-card-bg:    #FFFFFF;
    --be-radius:     10px;
    --be-btn-r:      10px;
    --be-font:       inherit;
    --be-text:       #1C1C1C;
    --be-muted:      #7A7A7A;
    --be-border:     #E8E2D9;
    --be-success:    #4A7C59;
    --be-error:      #B44C4C;
    --be-warning:    #B8860B;
    --be-gold:       #C9A96E;
    --be-cream:      #FAF7F2;
    --be-charcoal:   #1C1C1C;
}

/* ---- Dashboard Layout ---- */
.be-dashboard {
    display: flex;
    min-height: 80vh;
    background: var(--be-bg);
    gap: 0;
}

.be-dash-sidebar {
    width: 260px;
    background: var(--be-secondary);
    color: #fff;
    padding: 30px 20px;
    flex-shrink: 0;
    min-height: 100%;
}

.be-vendor-info {
    text-align: center;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(255,255,255,.15);
    margin-bottom: 24px;
}

.be-vendor-info img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--be-primary);
    margin-bottom: 12px;
}

.be-vendor-info h3 { margin: 0 0 8px; font-size: 16px; }

.be-stripe-alert {
    background: rgba(255,152,0,.2);
    border: 1px solid rgba(255,152,0,.4);
    border-radius: 8px;
    padding: 12px;
    margin-bottom: 20px;
    font-size: 13px;
}
.be-stripe-alert p { margin: 0 0 10px; }

.be-dash-nav { display: flex; flex-direction: column; gap: 4px; }
.be-nav-link {
    color: rgba(255,255,255,.7);
    text-decoration: none;
    padding: 10px 14px;
    border-radius: 8px;
    transition: all .2s;
    font-size: 14px;
}
.be-nav-link:hover, .be-nav-link.active {
    background: rgba(255,255,255,.15);
    color: #fff;
    text-decoration: none;
}

.be-dash-main { flex: 1; padding: 30px; overflow-y: auto; }

.be-tab { display: none; }
.be-tab.active { display: block; }

.be-tab-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.be-tab-header h2 { margin: 0; }

/* ---- Stats ---- */
.be-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 16px;
    margin-bottom: 30px;
}

.be-stat-card {
    background: var(--be-white);
    border-radius: var(--be-radius);
    padding: 20px;
    box-shadow: var(--be-shadow);
    text-align: center;
}
.be-stat-value { display: block; font-size: 26px; font-weight: 700; color: var(--be-primary); }
.be-stat-label { display: block; color: var(--be-muted); font-size: 13px; margin-top: 4px; }

/* ---- Table ---- */
.be-table { width: 100%; border-collapse: collapse; background: var(--be-white); border-radius: var(--be-radius); overflow: hidden; box-shadow: var(--be-shadow); }
.be-table th, .be-table td { padding: 12px 16px; text-align: left; border-bottom: 1px solid var(--be-border); font-size: 13px; }
.be-table th { background: var(--be-bg); font-weight: 600; color: var(--be-secondary); }
.be-table tr:last-child td { border-bottom: 0; }

/* ---- Products Grid ---- */
.be-products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

.be-product-card {
    background: var(--be-white);
    border-radius: var(--be-radius);
    box-shadow: var(--be-shadow);
    overflow: hidden;
    transition: transform .2s;
}
.be-product-card:hover { transform: translateY(-3px); }

.be-product-image { position: relative; }
.be-product-image img { width: 100%; height: 160px; object-fit: cover; display: block; }
.be-product-status { position: absolute; top: 8px; right: 8px; padding: 2px 8px; border-radius: 20px; font-size: 11px; background: #333; color: #fff; }
.be-status-publish { background: var(--be-success) !important; }
.be-status-draft   { background: var(--be-muted) !important; }
.be-status-pending { background: var(--be-warning) !important; }
.be-status-active  { background: var(--be-success) !important; }

.be-product-info { padding: 12px; }
.be-product-info h4 { margin: 0 0 6px; font-size: 14px; }
.be-product-price { font-weight: 600; color: var(--be-primary); }
.be-price-sale { color: var(--be-primary); margin-right: 6px; }
.be-price-old { text-decoration: line-through; color: var(--be-muted); font-size: 12px; }

.be-product-actions { padding: 10px 12px; border-top: 1px solid var(--be-border); display: flex; gap: 8px; }

/* ---- Form ---- */
.be-form-card {
    background: var(--be-white);
    border-radius: var(--be-radius);
    padding: 24px;
    box-shadow: var(--be-shadow);
    margin-bottom: 20px;
}

.be-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.be-form-group { display: flex; flex-direction: column; gap: 6px; }
.be-form-group.be-full { grid-column: 1 / -1; }
.be-form-group label { font-size: 13px; font-weight: 600; color: var(--be-secondary); }
.be-form-group input,
.be-form-group select,
.be-form-group textarea {
    border: 1px solid var(--be-border);
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 14px;
    outline: none;
    transition: border-color .2s;
    font-family: inherit;
}
.be-form-group input:focus,
.be-form-group select:focus,
.be-form-group textarea:focus { border-color: var(--be-primary); }

.be-form-actions { display: flex; gap: 12px; justify-content: flex-end; margin-top: 20px; }

/* ---- Buttons ---- */
.be-btn-primary {
    background: var(--be-primary);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 10px 20px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    transition: background .2s;
}
.be-btn-primary:hover { background: var(--be-primary-d); }

.be-btn-secondary {
    background: transparent;
    color: var(--be-muted);
    border: 1px solid var(--be-border);
    border-radius: 8px;
    padding: 10px 20px;
    cursor: pointer;
    font-size: 14px;
    transition: all .2s;
}
.be-btn-secondary:hover { border-color: var(--be-muted); color: var(--be-text); }

.be-btn-sm { background: var(--be-bg); border: 1px solid var(--be-border); border-radius: 6px; padding: 5px 10px; cursor: pointer; font-size: 12px; }
.be-btn-sm:hover { background: var(--be-border); }
.be-btn-danger { color: var(--be-error); border-color: rgba(244,67,54,.3); }
.be-btn-danger:hover { background: rgba(244,67,54,.1); }

/* ---- Badge ---- */
.be-badge { padding: 3px 10px; border-radius: 20px; font-size: 11px; font-weight: 600; }
.be-badge-completed { background: rgba(76,175,80,.15); color: #2e7d32; }
.be-badge-pending   { background: rgba(255,152,0,.15); color: #e65100; }
.be-badge-failed    { background: rgba(244,67,54,.15); color: #c62828; }

/* ---- Checkout ---- */
.be-checkout-page { background: var(--be-bg); min-height: 80vh; padding: 40px 20px; }
.be-checkout-container { max-width: 1100px; margin: 0 auto; }
.be-checkout-container h1 { margin-bottom: 30px; }

.be-checkout-grid { display: grid; grid-template-columns: 1fr 380px; gap: 30px; }

.be-checkout-form { background: var(--be-white); border-radius: var(--be-radius); padding: 30px; box-shadow: var(--be-shadow); }
.be-checkout-form h2 { font-size: 16px; margin: 0 0 16px; color: var(--be-secondary); }

.be-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

.be-btn-pay {
    width: 100%;
    background: var(--be-primary);
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 16px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    margin-top: 20px;
    transition: background .2s;
}
.be-btn-pay:hover:not(:disabled) { background: var(--be-primary-d); }
.be-btn-pay:disabled { opacity: .6; cursor: wait; }

.be-secure-notice { font-size: 12px; color: var(--be-muted); text-align: center; margin-top: 12px; }
.be-error { background: rgba(244,67,54,.1); color: var(--be-error); padding: 12px; border-radius: 8px; margin-top: 12px; font-size: 13px; }

/* Résumé commande */
.be-checkout-summary { background: var(--be-white); border-radius: var(--be-radius); padding: 24px; box-shadow: var(--be-shadow); align-self: start; }
.be-checkout-summary h2 { font-size: 16px; margin: 0 0 16px; }

.be-summary-item { display: flex; gap: 12px; align-items: flex-start; padding: 12px 0; border-bottom: 1px solid var(--be-border); }
.be-summary-item img { width: 56px; height: 56px; object-fit: cover; border-radius: 8px; flex-shrink: 0; }
.be-summary-title { font-size: 13px; font-weight: 600; }
.be-summary-vendor { font-size: 11px; color: var(--be-muted); }
.be-summary-qty { font-size: 12px; color: var(--be-muted); }
.be-summary-price { margin-left: auto; font-weight: 600; white-space: nowrap; }

.be-summary-total { display: flex; justify-content: space-between; padding-top: 16px; font-size: 16px; }
.be-summary-total strong { color: var(--be-primary); }

/* ---- Notification ---- */
.be-notification {
    position: fixed;
    bottom: 24px;
    right: 24px;
    padding: 14px 20px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    z-index: 99999;
    opacity: 0;
    transform: translateY(20px);
    transition: all .3s;
    box-shadow: 0 4px 20px rgba(0,0,0,.15);
}
.be-notif-show { opacity: 1; transform: translateY(0); }
.be-notif-success { background: var(--be-success); color: #fff; }
.be-notif-error   { background: var(--be-error); color: #fff; }

/* ---- Cart count ---- */
.be-cart-count {
    background: var(--be-primary);
    color: #fff;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    font-size: 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    margin-left: 4px;
}

.be-empty { color: var(--be-muted); font-style: italic; padding: 20px 0; }

/* ================================================================
   RESPONSIVE — Tablette (≤ 1024px)
   ================================================================ */
@media (max-width: 1024px) {
    .be-dashboard { flex-direction: column; }
    .be-dash-sidebar { width: 100%; min-height: auto; padding: 16px 12px; }
    .be-dash-sidebar .be-vendor-info { padding-bottom: 14px; margin-bottom: 14px; }
    .be-dash-sidebar .be-vendor-info img { width: 56px; height: 56px; }
    .be-sidebar-nav { display: flex; flex-wrap: wrap; gap: 4px; }
    .be-nav-item { padding: 8px 12px; font-size: 13px; border-radius: 8px; flex: none; }
    .be-nav-item.active { border-left: none; border-bottom: 2px solid var(--be-primary); }
    .be-dash-content { padding: 16px 12px; min-height: auto; }
    .be-checkout-grid { grid-template-columns: 1fr; }
    .be-form-grid { grid-template-columns: 1fr; }
    .be-stats-grid { grid-template-columns: 1fr 1fr; }
    .be-stats-row { grid-template-columns: repeat(2, 1fr) !important; }
    .be-messages-grid { grid-template-columns: 240px 1fr !important; }
}

/* ================================================================
   RESPONSIVE — Mobile (≤ 768px)
   ================================================================ */
@media (max-width: 768px) {
    /* Dashboard sidebar → nav horizontale compacte */
    .be-dash-sidebar { padding: 12px 8px; }
    .be-dash-sidebar .be-vendor-info { display: flex; align-items: center; gap: 12px; text-align: left; }
    .be-dash-sidebar .be-vendor-info img { width: 44px; height: 44px; flex-shrink: 0; }
    .be-dash-content { padding: 12px 8px; }
    .be-page-title { font-size: 18px !important; margin-bottom: 14px; }

    /* Grilles → 1 colonne */
    .be-products-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
    .be-stats-row { grid-template-columns: 1fr 1fr !important; gap: 10px; }
    .be-stats-grid { grid-template-columns: 1fr 1fr; }
    .be-form-grid { grid-template-columns: 1fr; }
    .be-settings-group { margin-bottom: 14px; }

    /* Cards */
    .be-card { border-radius: 10px; }
    .be-card-header { padding: 14px 14px 0; flex-wrap: wrap; gap: 8px; }
    .be-card-body { padding: 14px; }

    /* Tableau stock */
    .be-table { font-size: 12px; }
    .be-table th, .be-table td { padding: 8px 10px; }
    .be-quick-stock-input { width: 58px !important; }
    .be-stock-manual-grid { grid-template-columns: 1fr 1fr !important; }
    .be-stock-manual-grid > div:first-child { grid-column: 1 / -1; }
    .be-stock-manual-grid button { width: 100%; }

    /* Boutons */
    .be-btn { padding: 9px 14px; font-size: 13px; }
    .be-btn-sm { padding: 6px 10px; font-size: 12px; }

    /* Produits */
    .be-product-item { border-radius: 10px; }
    .be-product-item-thumb { height: 140px; }

    /* Commandes */
    .be-order-card { padding: 14px; }

    /* Fiche produit single */
    .be-product-grid { grid-template-columns: 1fr !important; gap: 20px !important; padding: 16px !important; }
    .be-product-title { font-size: 20px !important; }
    .be-product-price-main { font-size: 26px !important; }
    .be-qty-row { flex-wrap: wrap; }
    .be-related-grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }

    /* Boutique vendeur */
    .be-shop-header { flex-direction: column; gap: 12px; padding: 16px !important; }
    .be-shop-logo { width: 60px !important; height: 60px !important; }
    .be-shop-name { font-size: 20px !important; }
    .be-shop-meta { flex-wrap: wrap; gap: 6px; }

    /* Messages */
    .be-messages-grid { grid-template-columns: 1fr !important; height: auto !important; }
    .be-threads-list { max-height: 240px; }
    .be-msg-composer { padding: 10px 12px !important; gap: 8px !important; }
    .be-msg-composer textarea { font-size: 13px !important; }
    .be-msg-send-btn { padding: 0 14px !important; min-width: 0 !important; }

    /* Stripe banner */
    .be-stripe-banner { flex-direction: column; gap: 10px; padding: 14px; }
}

/* ================================================================
   RESPONSIVE — Petit mobile (≤ 480px)
   ================================================================ */
@media (max-width: 480px) {
    .be-products-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
    .be-stats-row { grid-template-columns: 1fr 1fr !important; }
    .be-product-grid { padding: 12px !important; }
    .be-product-title { font-size: 18px !important; }
    .be-related-grid { grid-template-columns: 1fr 1fr !important; }
    .be-scanner-bottom { padding: 10px 12px 16px; }
    .be-scanner-verify-btn { font-size: 14px; padding: 12px; }
    .be-nav-item { padding: 6px 10px; font-size: 12px; }
    .be-card-body { padding: 10px; }
    .be-btn { padding: 8px 12px; font-size: 13px; }
    .be-table th, .be-table td { padding: 6px 8px; font-size: 11px; }
    .be-shop-header { padding: 12px !important; }
    .be-page-title { font-size: 16px !important; }
    .be-stat-box { padding: 12px 10px; }
    .be-stat-box-value { font-size: 22px; }
    .be-order-card { padding: 10px; }
    .be-product-info-meta { flex-direction: column; gap: 8px; }
    .be-qty-row { gap: 8px; }
    .be-stock-manual-grid { grid-template-columns: 1fr !important; }
    .be-stock-manual-grid > div:first-child { grid-column: 1; }
}

/* ================================================================
   RESPONSIVE — Vendor shop (page boutique publique)
   ================================================================ */
@media (max-width: 768px) {
    .be-vendor-shop { padding: 0 10px 30px; }
    .be-shop-products-grid { grid-template-columns: 1fr 1fr !important; gap: 10px; }
    .be-product-card { border-radius: 10px; }
    .be-product-card-img { height: 160px; }
    .be-product-card-body { padding: 10px; }
    .be-product-card-title { font-size: 13px; }
    .be-product-card-price { font-size: 14px; }
    .be-shop-filters { flex-wrap: wrap; gap: 6px; padding: 10px; }
}

@media (max-width: 480px) {
    .be-shop-products-grid { grid-template-columns: 1fr 1fr !important; gap: 8px; }
    .be-product-card-img { height: 140px; }
}

/* =====================================================
   CHECKOUT — REDESIGN
   ===================================================== */
.be-checkout-page { background: #f8f5f2; min-height: 80vh; padding: 48px 20px; }
.be-checkout-container { max-width: 1080px; margin: 0 auto; }
.be-checkout-container > h1 { font-size: 28px; font-weight: 700; margin-bottom: 32px; color: #1a1a1a; }

.be-checkout-grid { display: grid; grid-template-columns: 1fr 380px; gap: 24px; align-items: start; }
.be-checkout-left { display: flex; flex-direction: column; gap: 20px; }

/* Cards */
.be-checkout-card { background: #fff; border-radius: 16px; padding: 28px; box-shadow: 0 2px 16px rgba(0,0,0,.06); }
.be-card-header { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; }
.be-card-icon { font-size: 20px; width: 36px; height: 36px; background: #fdf0f7; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.be-card-header h2 { font-size: 16px; font-weight: 700; color: #1a1a1a; margin: 0; flex: 1; }

/* Form */
.be-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.be-form-group { display: flex; flex-direction: column; gap: 6px; }
.be-form-group.be-full { grid-column: 1 / -1; }
.be-form-group label { font-size: 13px; font-weight: 600; color: #444; }
.be-form-group input {
    padding: 11px 14px; border: 1.5px solid #e8e8e8; border-radius: 10px;
    font-size: 14px; color: #1a1a1a; transition: border-color .2s;
    background: #fafafa; outline: none;
}
.be-form-group input:focus { border-color: #C9A96E; background: #fff; }
.be-form-group input::placeholder { color: #bbb; }

/* Payment block */
.be-payment-card { border: 2px solid #f0e8ff; }
.be-stripe-badges { margin-left: auto; }
.be-badge-stripe { font-size: 11px; color: #888; background: #f5f5f5; padding: 4px 10px; border-radius: 20px; }
.be-badge-stripe strong { color: #635bff; }

.be-payment-wrapper { position: relative; min-height: 60px; margin-bottom: 20px; }
.be-payment-loading {
    display: flex; align-items: center; gap: 10px;
    padding: 20px; color: #888; font-size: 14px;
    background: #fafafa; border-radius: 10px; border: 1.5px dashed #e0e0e0;
}
.be-payment-loading.hidden { display: none; }
.be-spinner {
    width: 18px; height: 18px; border: 2px solid #e0e0e0;
    border-top-color: #C9A96E; border-radius: 50%;
    animation: be-spin .7s linear infinite; flex-shrink: 0;
}
@keyframes be-spin { to { transform: rotate(360deg); } }

#be-payment-element { min-height: 0; }
#be-payment-element iframe { border-radius: 10px !important; }

/* Alerts */
.be-alert { padding: 12px 16px; border-radius: 10px; font-size: 14px; margin-bottom: 16px; }
.be-alert-warning { background: #fff8e1; border: 1px solid #ffe082; color: #7a5c00; }
.be-alert-error { background: #fce4ec; border: 1px solid #f48fb1; color: #c62828; }

/* Pay button */
.be-btn-pay {
    width: 100%; padding: 16px; margin-top: 20px;
    background: linear-gradient(135deg, #C9A96E, #b8925a);
    color: #fff; border: none; border-radius: 12px;
    font-size: 16px; font-weight: 700; cursor: pointer;
    display: flex; align-items: center; justify-content: center; gap: 8px;
    transition: transform .15s, box-shadow .15s;
    box-shadow: 0 4px 16px rgba(201,169,110,.35);
}
.be-btn-pay:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(201,169,110,.45); }
.be-btn-pay:active:not(:disabled) { transform: translateY(0); }
.be-btn-pay:disabled { opacity: .6; cursor: not-allowed; }
.be-btn-spinner {
    width: 16px; height: 16px; border: 2px solid rgba(255,255,255,.4);
    border-top-color: #fff; border-radius: 50%;
    animation: be-spin .7s linear infinite; display: inline-block;
}

.be-secure-badges {
    display: flex; gap: 16px; justify-content: center; flex-wrap: wrap;
    margin-top: 14px; font-size: 11px; color: #aaa;
}

/* Summary */
.be-checkout-summary { position: sticky; top: 20px; display: flex; flex-direction: column; gap: 16px; }
.be-summary-item { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid #f5f5f5; }
.be-summary-item:last-of-type { border-bottom: none; }
.be-summary-img { width: 56px; height: 56px; border-radius: 10px; object-fit: cover; flex-shrink: 0; }
.be-summary-info { flex: 1; min-width: 0; }
.be-summary-title { font-size: 14px; font-weight: 600; color: #1a1a1a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.be-summary-meta { font-size: 12px; color: #aaa; margin-top: 2px; }
.be-summary-qty { font-size: 12px; color: #888; margin-top: 2px; }
.be-summary-price { font-size: 14px; font-weight: 700; color: #C9A96E; flex-shrink: 0; }
.be-summary-divider { border: none; border-top: 1.5px solid #f0f0f0; margin: 8px 0; }
.be-summary-row { display: flex; justify-content: space-between; font-size: 13px; color: #888; padding: 4px 0; }
.be-text-success { color: #2e7d32; font-weight: 600; }
.be-summary-total { display: flex; justify-content: space-between; align-items: center; padding: 16px 0 0; margin-top: 8px; border-top: 2px solid #f0f0f0; }
.be-summary-total span { font-size: 15px; font-weight: 600; color: #1a1a1a; }
.be-summary-total strong { font-size: 20px; font-weight: 800; color: #C9A96E; }

/* Code promo (checkout) */
.be-coupon-block { margin: 14px 0 4px; }
.be-coupon-row { display: flex; gap: 8px; }
.be-coupon-row input { flex: 1; min-width: 0; border: 1.5px solid #e0e0e0; border-radius: 8px; padding: 9px 12px; font-size: 13px; box-sizing: border-box; text-transform: uppercase; }
.be-coupon-row input:focus { border-color: #C9A96E; outline: none; }
.be-coupon-feedback { font-size: 12px; margin-top: 8px; padding: 8px 10px; border-radius: 6px; line-height: 1.4; }
.be-coupon-feedback.be-coupon-ok { background: #e8f5e9; color: #2e7d32; }
.be-coupon-feedback.be-coupon-error { background: #fce4ec; color: #c62828; }

/* Points fidélité (checkout) — règles blindées avec !important pour
   résister à tout style externe (cache, thème, etc.) qui aurait pu
   surcharger le display par défaut d'un label/span. */
.be-loyalty-block { margin: 10px 0 4px !important; }
.be-loyalty-label {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 8px !important;
    cursor: pointer !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    color: #333 !important;
    background: #fdf6fa !important;
    border: 1px solid #f0d9e8 !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
}
.be-loyalty-checkbox {
    accent-color: #9c27b0 !important;
    flex: 0 0 auto !important;
    width: 16px !important;
    height: 16px !important;
    margin: 2px 0 0 !important;
}
.be-loyalty-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    white-space: normal !important;
}

/* Guarantees */
.be-guarantees { background: #fff; border-radius: 14px; padding: 20px; box-shadow: 0 2px 16px rgba(0,0,0,.06); display: flex; flex-direction: column; gap: 14px; }
.be-guarantee-item { display: flex; align-items: center; gap: 12px; }
.be-guarantee-icon { font-size: 20px; width: 40px; text-align: center; flex-shrink: 0; }
.be-guarantee-title { font-size: 13px; font-weight: 600; color: #1a1a1a; }
.be-guarantee-text { font-size: 12px; color: #aaa; margin-top: 2px; }

/* Responsive */
@media (max-width: 768px) {
    .be-checkout-grid { grid-template-columns: 1fr; }
    .be-checkout-summary { position: static; }
    .be-form-row { grid-template-columns: 1fr; }

    /* Sur mobile/tablette : Récapitulatif + bloc livraison doivent apparaître
       AVANT le bloc Paiement sécurisé. On "dissout" les colonnes (display:contents)
       pour que leurs cartes deviennent des items directs de la grille et puissent
       être réordonnées indépendamment avec `order`. */
    .be-checkout-left { display: contents; }
    .be-checkout-summary { display: contents; }

    .be-checkout-left > .be-checkout-card:not(.be-payment-card) { order: 1; } /* Vos informations */
    .be-checkout-summary > .be-checkout-card { order: 2; }                   /* Récapitulatif */
    .be-checkout-summary > .be-shipping-info-block { order: 3; }             /* Livraison / retours */
    .be-checkout-left > .be-payment-card { order: 4; }                       /* Paiement sécurisé */
}

/* ===== Bloc infos livraison/retours (checkout) ===== */
.be-shipping-info-block {
    background: #ffffff !important;
    border-radius: 12px !important;
    border: 1.5px solid #e8e8e8 !important;
    padding: 16px !important;
    margin-top: 12px !important;
    box-shadow: none !important;
}
.be-shipping-info-title {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
    color: #999 !important;
    margin-bottom: 12px !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}
.be-shipping-info-rows {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}
.be-shipping-info-row {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    border: none !important;
    padding: 0 !important;
    background: none !important;
}
.be-shipping-icon {
    font-size: 17px !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
    margin-top: 1px !important;
}
.be-shipping-label {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin-bottom: 2px !important;
}
.be-shipping-value {
    font-size: 12px !important;
    color: #666 !important;
    line-height: 1.4 !important;
}
.be-shipping-free { color: #2e7d32 !important; font-weight: 600 !important; }
.be-shipping-returns-ok { color: #2e7d32 !important; font-weight: 600 !important; }
.be-shipping-sep { color: #bbb !important; margin: 0 3px !important; }

/* ===== Scroll horizontal pour tableaux larges (ex: Commandes prestataire) ===== */
.be-table-scroll {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.be-table-scroll .be-table {
    min-width: 920px;
}
.be-table-scroll .be-table td:last-child {
    white-space: nowrap;
}
