
/* BPS Marketplace - scoped, bootstrap-like, theme-safe */
.bpsm { --gap:12px; font-family: inherit; }
.bpsm * { box-sizing: border-box; }
.bpsm .bpsm-title { margin: 0 0 12px; font-size: 1.25rem; }
.bpsm .bpsm-alert { background:#fff8e1; border:1px solid #ffe082; padding:10px 12px; border-radius:8px; }

/* Tabs */
.bpsm .bpsm-tabs { display:flex; gap: var(--gap); margin-bottom: var(--gap); flex-wrap: wrap; }
.bpsm .bpsm-tab { background:#f1f5f9; border:1px solid #e2e8f0; padding:8px 12px; border-radius:8px; cursor:pointer; }
.bpsm .bpsm-tab-active { background:#e0f2fe; border-color:#90cdf4; }
.bpsm .bpsm-tab-pane { display:none; }
.bpsm .bpsm-tab-pane-active { display:block; }

/* Form */
.bpsm .bpsm-form label { display:block; font-weight:600; margin:8px 0 4px; }
.bpsm .bpsm-input, .bpsm .bpsm-select, .bpsm textarea.bpsm-input { width:100%; padding:8px 10px; border:1px solid #cbd5e1; border-radius:8px; background:#fff; }
.bpsm .bpsm-btn { display:inline-block; padding:8px 12px; border-radius:8px; border:1px solid #2563eb; background:#3b82f6; color:#fff; text-decoration:none; }
.bpsm .bpsm-btn:hover { filter:brightness(0.98); }
.bpsm .bpsm-btn-small { padding:4px 8px; font-size:0.875rem; }
.bpsm .bpsm-btn-danger { background:#ef4444; border-color:#dc2626; }
.bpsm .bpsm-link { color:#2563eb; text-decoration:underline; cursor:pointer; }

/* Box + Tables */
.bpsm .bpsm-box { background:#fff; border:1px solid #e2e8f0; border-radius:12px; padding:12px; margin-bottom:12px; }
.bpsm .bpsm-table { width:100%; border-collapse: collapse; }
.bpsm .bpsm-table th, .bpsm .bpsm-table td { border-bottom:1px solid #e2e8f0; padding:8px; text-align:left; }

/* Cards / Grid */
.bpsm .bpsm-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(220px,1fr)); gap: 12px; }
.bpsm .bpsm-card { background:#fff; border:1px solid #e2e8f0; border-radius:12px; overflow:hidden; display:flex; flex-direction:column; }
.bpsm .bpsm-card-img { width:100%; height:180px; object-fit:cover; display:block; }
.bpsm .bpsm-card-body { padding:10px; display:flex; flex-direction:column; gap:8px; }
.bpsm .bpsm-card-title { font-weight:700; }
.bpsm .bpsm-card-price { font-weight:600; }

/* Pagination */
.bpsm .bpsm-pagination { margin-top: 12px; }
.bpsm .bpsm-pagination .page-numbers { padding:6px 10px; border:1px solid #e2e8f0; border-radius:8px; margin-right:6px; text-decoration:none; }

/* Chat layout */
.bpsm .bpsm-chat-wrap{ display:grid; grid-template-columns: 280px 1fr; gap:12px; }
@media (max-width: 820px){ .bpsm .bpsm-chat-wrap{ grid-template-columns: 1fr; } }
.bpsm .bpsm-chat-sidebar{ background:#fff; border:1px solid #e2e8f0; border-radius:12px; padding:8px; }
.bpsm .bpsm-chat-list{ display:flex; flex-direction:column; gap:6px; max-height:70vh; overflow:auto; }
.bpsm .bpsm-chat-item{ display:flex; gap:10px; padding:8px; border:1px solid #e2e8f0; border-radius:10px; text-decoration:none; color:inherit; align-items:center; }
.bpsm .bpsm-chat-item-active{ background:#e0f2fe; border-color:#90cdf4; }
.bpsm .bpsm-chat-avatar{ width:36px; height:36px; border-radius:50%; background:#ddd; display:flex; align-items:center; justify-content:center; font-weight:700; }
.bpsm .bpsm-chat-meta{ display:flex; gap:6px; align-items:center; justify-content:space-between; width:100%; }
.bpsm .bpsm-chat-name{ font-weight:600; }
.bpsm .bpsm-chat-time{ font-size:.8rem; color:#64748b; }

.bpsm .bpsm-chat-main{ background:#fff; border:1px solid #e2e8f0; border-radius:12px; display:flex; flex-direction:column; min-height:60vh; }
.bpsm .bpsm-chat-header{ padding:10px 12px; border-bottom:1px solid #e2e8f0; font-weight:700; }
.bpsm .bpsm-chat-body{ padding:12px; flex:1; overflow:auto; display:flex; flex-direction:column; gap:8px; background:#f8fafc; }
.bpsm .bpsm-bubble{ max-width:72%; padding:8px 10px; border-radius:12px; position:relative; }
.bpsm .bpsm-bubble-me{ align-self:flex-end; background:#dcfce7; border:1px solid #bbf7d0; }
.bpsm .bpsm-bubble-you{ align-self:flex-start; background:#e2e8f0; border:1px solid #cbd5e1; }
.bpsm .bpsm-bubble-name{ font-size:.8rem; font-weight:600; margin-bottom:4px; color:#334155; }
.bpsm .bpsm-bubble-text{ white-space:pre-wrap; }
.bpsm .bpsm-bubble-time{ font-size:.75rem; color:#64748b; margin-top:4px; text-align:right; }
.bpsm .bpsm-chat-reply{ padding:10px 12px; border-top:1px solid #e2e8f0; }

/* Product detail row layout */
.bpsm .bpsm-product-card-row{ display:grid; grid-template-columns: 180px 1fr; gap:12px; }
@media (max-width: 640px){ .bpsm .bpsm-product-card-row{ grid-template-columns: 1fr; } }
.bpsm .bpsm-square-180{ width:180px; height:180px; object-fit:cover; border-radius:12px; }


/* --- BPS Marketplace Modern Dashboard Styles (added) --- */
.bpsm{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Noto Sans',Arial,sans-serif;line-height:1.5;color:#0f172a}
.bpsm .bpsm-tabs{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}
.bpsm .bpsm-tab{appearance:none;border:0;background:#e2e8f0;padding:.6rem .9rem;border-radius:.75rem;cursor:pointer;font-weight:600}
.bpsm .bpsm-tab-active{background:#0ea5e9;color:#fff;box-shadow:0 6px 18px rgba(14,165,233,.35)}
.bpsm .bpsm-tab:focus{outline:3px solid rgba(14,165,233,.35);outline-offset:2px}
.bpsm .bpsm-tab-pane{animation:fadeIn .25s ease}
@keyframes fadeIn{from{opacity:.7;transform:translateY(4px)}to{opacity:1;transform:none}}

.bpsm .bpsm-box{background:#ffffff;border:1px solid #e2e8f0;border-radius:1rem;padding:1rem;margin-bottom:1rem;box-shadow:0 6px 24px rgba(2,6,23,.06)}
.bpsm .bpsm-form .bpsm-input, .bpsm .bpsm-form input[type=text], .bpsm .bpsm-form input[type=number], .bpsm .bpsm-form select, .bpsm .bpsm-form textarea{
  width:100%;padding:.65rem .8rem;border:1px solid #cbd5e1;border-radius:.75rem;background:#f8fafc
}
.bpsm .bpsm-form .bpsm-input:focus{border-color:#0ea5e9;box-shadow:0 0 0 4px rgba(14,165,233,.15);outline:none}
.bpsm .bpsm-btn{display:inline-flex;align-items:center;gap:.4rem;border:0;background:#0ea5e9;color:#fff;padding:.7rem 1rem;border-radius:.9rem;font-weight:700;cursor:pointer}
.bpsm .bpsm-btn:hover{filter:brightness(1.05)}

.bpsm .bpsm-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:.5rem}
.bpsm .bpsm-table thead th{position:sticky;top:0;background:#f1f5f9;text-align:left;padding:.6rem;border-bottom:1px solid #e2e8f0}
.bpsm .bpsm-table tbody td{padding:.6rem;border-bottom:1px dashed #e2e8f0}
.bpsm .bpsm-card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;overflow:hidden;box-shadow:0 8px 28px rgba(2,6,23,.08)}
.bpsm .bpsm-card-img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.bpsm .bpsm-card-body{padding:.9rem}
.bpsm .bpsm-card-title{font-weight:800;font-size:1rem;margin-bottom:.25rem}
.bpsm .bpsm-card-price{font-weight:700;opacity:.9;margin-bottom:.5rem}

.bpsm .bpsm-alert{background:#fef3c7;border:1px solid #fde68a;color:#92400e;padding:.8rem 1rem;border-radius:.75rem;margin-bottom:1rem}
/* toast already exists; add subtle glow */
.bpsm .bpsm-toast{box-shadow:0 8px 28px rgba(2,6,23,.25);border-radius:.9rem;padding:.8rem 1rem;background:#111827;color:#fff}


/* --- Windows/Fluent-like Tabs & Arabic RTL Fixes (added) --- */
.bpsm .bpsm-tabs{display:flex;gap:.25rem;margin-bottom:12px;background:#f3f3f3;padding:6px;border-radius:10px;border:1px solid #e5e5e5}
.bpsm .bpsm-tab{appearance:none;border:1px solid transparent;background:transparent;padding:8px 14px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .15s ease}
.bpsm .bpsm-tab:hover{background:#ffffffcc;border-color:#e5e5e5}
.bpsm .bpsm-tab-active{background:#fff;border-color:#e5e5e5;box-shadow:0 1px 0 rgba(0,0,0,.06),0 6px 18px rgba(0,0,0,.06)}
.bpsm .bpsm-tab-pane{animation:fadeIn .2s ease}
@keyframes fadeIn{from{opacity:.85;transform:translateY(2px)}to{opacity:1;transform:none}}

/* General modern visuals */
.bpsm .bpsm-box{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px;margin-bottom:12px;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.bpsm .bpsm-form .bpsm-input, .bpsm .bpsm-form input[type=text], .bpsm .bpsm-form input[type=number], .bpsm .bpsm-form select, .bpsm .bpsm-form textarea{
  width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc
}
.bpsm .bpsm-form .bpsm-input:focus{border-color:#0ea5e9;box-shadow:0 0 0 4px rgba(14,165,233,.15);outline:none}
.bpsm .bpsm-btn{display:inline-flex;align-items:center;border:0;background:#0ea5e9;color:#fff;padding:10px 14px;border-radius:10px;font-weight:700;cursor:pointer}
.bpsm .bpsm-btn:hover{filter:brightness(1.05)}

/* Cards/Table */
.bpsm .bpsm-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:.5rem}
.bpsm .bpsm-table thead th{background:#f8fafc;text-align:left;padding:10px;border-bottom:1px solid #e2e8f0}
.bpsm .bpsm-table tbody td{padding:10px;border-bottom:1px dashed #e2e8f0}
.bpsm .bpsm-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;box-shadow:0 8px 28px rgba(2,6,23,.08)}
.bpsm .bpsm-card-img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.bpsm .bpsm-card-body{padding:12px}
.bpsm .bpsm-card-title{font-weight:800;font-size:1rem;margin-bottom:.25rem}
.bpsm .bpsm-card-price{font-weight:700;opacity:.9;margin-bottom:.5rem}

.bpsm .bpsm-alert{background:#fef3c7;border:1px solid #fde68a;color:#92400e;padding:12px 14px;border-radius:10px;margin-bottom:12px}

/* Arabic-specific RTL fixes (do not affect Persian) */
.bpsm.lang-ar{direction:rtl}
.bpsm.lang-ar .bpsm-table thead th,
.bpsm.lang-ar .bpsm-table tbody td{ text-align:right }
.bpsm.lang-ar .bpsm-form label{ display:block; text-align:right }
.bpsm.lang-ar .bpsm-tab{ font-family: 'Noto Naskh Arabic', Tahoma, Arial, sans-serif }
.bpsm.lang-ar input, .bpsm.lang-ar select, .bpsm.lang-ar textarea{ text-align:right }

/* --- Vendor Shop Page (sidebar + products) --- */
.bpsm .bpsm-shop-grid{ display:grid; grid-template-columns: 320px 1fr; gap:12px; align-items:start; }
@media (max-width: 820px){ .bpsm .bpsm-shop-grid{ grid-template-columns: 1fr; } }
.bpsm .bpsm-shop-sidebar{ background:#fff; border:1px solid #e2e8f0; border-radius:12px; padding:12px; box-shadow:0 8px 24px rgba(0,0,0,.06); }
.bpsm .bpsm-shop-products{ background:#fff; border:1px solid #e2e8f0; border-radius:12px; padding:12px; box-shadow:0 8px 24px rgba(0,0,0,.06); }
.bpsm .bpsm-shop-logo{ width:100%; max-height:220px; object-fit:contain; border-radius:12px; background:#f8fafc; border:1px solid #e2e8f0; margin-bottom:10px; }
.bpsm .bpsm-shop-name{ margin:0 0 8px; }
.bpsm .bpsm-shop-about{ margin-bottom:10px; color:#334155; }
.bpsm .bpsm-shop-address{ margin:10px 0; color:#334155; }
.bpsm .bpsm-shop-map{ width:100%; height:220px; border:0; border-radius:12px; }
.bpsm .bpsm-shop-map-wrap{ margin:10px 0; }
.bpsm .bpsm-shop-buttons{ display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.bpsm .bpsm-load-wrap{ margin-top:12px; display:flex; flex-direction:column; align-items:center; gap:8px; }
.bpsm .bpsm-load-status{ font-size:.9rem; color:#64748b; }

/* --- Vendor Dashboard: Shop Settings --- */
.bpsm .bpsm-shop-logo-row{ display:flex; gap:12px; align-items:center; margin:8px 0 12px; }
.bpsm .bpsm-shop-logo-preview img{ width:72px; height:72px; border-radius:12px; object-fit:cover; border:1px solid #e2e8f0; background:#fff; }
.bpsm .bpsm-shop-logo-actions{ display:flex; gap:8px; flex-wrap:wrap; }
.bpsm .bpsm-shop-lang-wrap{ display:grid; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); gap:12px; margin-top:12px; }
.bpsm .bpsm-shop-lang{ border:1px dashed #e2e8f0; border-radius:12px; padding:12px; background:#f8fafc; }
.bpsm .bpsm-shop-lang-title{ font-weight:800; margin-bottom:8px; }
