/* BPS Marketplace: Tijara design layer. Loaded after mkt.css; maps the marketplace UI to the Tijara tokens
   (--tj-* are printed by the Tijara theme; fallbacks keep it usable without it). RTL/LTR safe (logical properties). */
.bpsm,
.bpsm.bpsm-dashboard{
  --bpsm-primary:var(--tj-primary,#0E7490);
  --bpsm-primary-2:var(--tj-primary-d,#0B5F76);
  --bpsm-danger:var(--tj-red,#C8102E);
  --bpsm-success:var(--tj-green,#15803D);
  --bpsm-muted:var(--tj-muted,#5B6B78);
  --bpsm-text:var(--tj-ink,#13222F);
  --bpsm-border:var(--tj-line,#E3EAF0);
  --bpsm-radius:18px;
  font-family:inherit;color:var(--tj-ink,#13222F);
}
.bpsm button,.bpsm input,.bpsm select,.bpsm textarea{font-family:inherit}
.bpsm .bpsm-title{font-size:1.4rem;color:var(--tj-navy,#0A2540)}
.bpsm .bpsm-alert{background:var(--tj-soft,#F4F8FB);border:1px solid var(--tj-line,#E3EAF0);border-inline-start:4px solid var(--tj-primary,#0E7490);border-radius:12px;padding:12px 16px}
.bpsm .bpsm-alert-danger{border-inline-start-color:var(--tj-red,#C8102E);background:#fdf0f2}

/* ---- buttons ---- */
.bpsm .bpsm-btn,
.bpsm a.bpsm-btn,
.bpsm .bpsm-btn-primary,
.bpsm input[type=submit].bpsm-btn,
.bpsm button.bpsm-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.45em;
  background:var(--tj-primary,#0E7490)!important;background-image:none!important;color:#fff!important;
  border:2px solid var(--tj-primary,#0E7490)!important;border-radius:999px!important;
  padding:.62em 1.3em!important;font-weight:600!important;font-size:.95rem;line-height:1.3!important;text-decoration:none!important;box-shadow:none!important;min-height:0!important;
  transition:background-color .18s,border-color .18s,transform .18s;cursor:pointer;
}
.bpsm .bpsm-btn:hover,.bpsm a.bpsm-btn:hover{background:var(--tj-primary-d,#0B5F76)!important;border-color:var(--tj-primary-d,#0B5F76)!important;color:#fff!important;transform:translateY(-1px);filter:none}
.bpsm .bpsm-btn-small{padding:.35em .9em;font-size:.85rem}
.bpsm .bpsm-btn-danger,.bpsm a.bpsm-btn-danger,.bpsm button.bpsm-btn-danger{background:var(--tj-red,#C8102E)!important;background-image:none!important;border-color:var(--tj-red,#C8102E)!important;box-shadow:none!important}
.bpsm .bpsm-btn-danger:hover{background:#a50d26!important;border-color:#a50d26!important}
.bpsm .bpsm-link{color:var(--tj-primary,#0E7490)}

/* ---- inputs ---- */
.bpsm .bpsm-input,.bpsm .bpsm-select,.bpsm textarea.bpsm-input,
.bpsm .bpsm-form input[type=text],.bpsm .bpsm-form input[type=number],.bpsm .bpsm-form input[type=email],
.bpsm .bpsm-form input[type=url],.bpsm .bpsm-form input[type=tel],.bpsm .bpsm-form input[type=date],
.bpsm .bpsm-form select,.bpsm .bpsm-form textarea{
  width:100%;padding:.65em .9em;border:1.5px solid var(--tj-line,#E3EAF0);border-radius:12px;background:#fff;color:var(--tj-ink,#13222F);font:inherit;
}
.bpsm .bpsm-input:focus,.bpsm .bpsm-form input:focus,.bpsm .bpsm-form select:focus,.bpsm .bpsm-form textarea:focus{
  outline:none;border-color:var(--tj-primary,#0E7490);box-shadow:0 0 0 4px rgba(14,116,144,.15);
}
.bpsm .bpsm-form label{font-weight:600;font-size:.92rem;margin:10px 0 5px}

/* ---- boxes / tables ---- */
.bpsm .bpsm-box{background:#fff;border:1px solid var(--tj-line,#E3EAF0);border-radius:var(--bpsm-radius);padding:18px;box-shadow:0 8px 26px rgba(10,37,64,.05)}
.bpsm .bpsm-table{width:100%;border-collapse:collapse}
.bpsm .bpsm-table th,.bpsm .bpsm-table td{text-align:start;border-bottom:1px solid var(--tj-line,#E3EAF0);padding:10px 12px}
.bpsm .bpsm-table th{background:var(--tj-soft,#F4F8FB);font-weight:700;color:var(--tj-navy,#0A2540)}

/* ---- product / shop cards ---- */
.bpsm .bpsm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px;align-items:stretch}
.bpsm .bpsm-card{background:#fff;border:1px solid var(--tj-line,#E3EAF0);border-radius:var(--bpsm-radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s}
.bpsm .bpsm-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(10,37,64,.10);border-color:#c9d9e5}
.bpsm .bpsm-card-media{display:block;background:var(--tj-soft,#F4F8FB)}
.bpsm .bpsm-card-img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
.bpsm .bpsm-card-body{padding:16px;display:flex;flex-direction:column;gap:10px;flex:1}
.bpsm .bpsm-card-title{font-weight:700;font-size:1.02rem;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bpsm .bpsm-card-title a{color:var(--tj-navy,#0A2540);text-decoration:none}
.bpsm .bpsm-card-title a:hover{color:var(--tj-primary,#0E7490)}
.bpsm .bpsm-card-price{font-weight:800;color:var(--tj-primary,#0E7490);font-size:1.02rem}
.bpsm .bpsm-card-body .bpsm-btn{margin-top:auto;align-self:stretch}
.bpsm .bpsm-shop-card .bpsm-card-body{align-items:flex-start}
.bpsm .bpsm-shop-card .bpsm-btn{align-self:flex-start}
.bpsm .bpsm-shop-logo{border-radius:16px;border:1px solid var(--tj-line,#E3EAF0);background:#fff}
.bpsm .bpsm-shop-name{color:var(--tj-navy,#0A2540)}

/* ---- market layout: filter sidebar + results ---- */
.bpsm .bpsm-market-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:28px;align-items:start}
.bpsm .bpsm-filters{position:sticky;top:96px}
.bpsm .bpsm-filters .bpsm-box{margin:0}
.bpsm .bpsm-filters-title{margin:0 0 4px;font-size:1.05rem;color:var(--tj-navy,#0A2540)}
.bpsm .bpsm-filter-fields{display:grid;gap:2px}
.bpsm .bpsm-filter-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.bpsm .bpsm-filter-actions .bpsm-btn{flex:1}
.bpsm .bpsm-results-bar{margin:0 0 16px;color:var(--tj-muted,#5B6B78);font-size:.95rem}
.bpsm .bpsm-results-bar strong{color:var(--tj-navy,#0A2540);font-size:1.1rem}
@media (max-width:960px){.bpsm .bpsm-market-layout{grid-template-columns:1fr}.bpsm .bpsm-filters{position:static}}

/* ---- pagination ---- */
.bpsm .bpsm-pagination{margin-top:28px}
.bpsm .bpsm-pagination ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;justify-content:center}
.bpsm .bpsm-pagination .page-numbers{display:inline-flex;min-width:42px;height:42px;align-items:center;justify-content:center;margin:0;padding:0 12px;border:1px solid var(--tj-line,#E3EAF0);border-radius:12px;text-decoration:none;color:var(--tj-navy,#0A2540);background:#fff}
.bpsm .bpsm-pagination .page-numbers:hover{border-color:var(--tj-primary,#0E7490);color:var(--tj-primary,#0E7490)}
.bpsm .bpsm-pagination .current{background:var(--tj-primary,#0E7490);border-color:var(--tj-primary,#0E7490);color:#fff}

/* ---- dashboard ---- */
.bpsm .bpsm-dash-shell{background:var(--tj-soft,#F4F8FB);border:1px solid var(--tj-line,#E3EAF0);border-radius:26px;box-shadow:none}
.bpsm .bpsm-dash-sidebar{background:#fff;border:1px solid var(--tj-line,#E3EAF0);box-shadow:0 8px 26px rgba(10,37,64,.05);backdrop-filter:none}
.bpsm .bpsm-dash-brand{background:rgba(14,116,144,.07);border-color:rgba(14,116,144,.15)}
.bpsm .bpsm-dash-avatar{background:var(--tj-navy,#0A2540);color:var(--tj-brand,#3CC4E0);box-shadow:none}
.bpsm .bpsm-dash-nav .bpsm-tab{color:var(--tj-ink,#13222F)}
.bpsm .bpsm-dash-nav .bpsm-tab-active{background:rgba(14,116,144,.08);color:var(--tj-primary,#0E7490);border-color:rgba(14,116,144,.25);box-shadow:none}
.bpsm .bpsm-tab-active .bpsm-tab-ico{background:var(--tj-primary,#0E7490);color:#fff}
.bpsm .bpsm-tab{background:#fff;border:1px solid var(--tj-line,#E3EAF0)}
.bpsm .bpsm-tab-active{background:rgba(14,116,144,.08);border-color:rgba(14,116,144,.3);color:var(--tj-primary,#0E7490);box-shadow:none}
.bpsm .bpsm-dash-hero{background:radial-gradient(520px 260px at 90% -20%,rgba(60,196,224,.30),transparent 65%),linear-gradient(135deg,var(--tj-navy,#0A2540),var(--tj-navy-2,#0F3557));box-shadow:none}
.bpsm .bpsm-eyebrow{color:var(--tj-primary,#0E7490)}
.bpsm .bpsm-plan-top strong,.bpsm .bpsm-request-summary span{color:var(--tj-primary,#0E7490);background:rgba(14,116,144,.08)}
.bpsm .bpsm-plan-card{border-radius:var(--bpsm-radius);border-color:var(--tj-line,#E3EAF0)}
.bpsm .bpsm-current-plan-card{border-radius:var(--bpsm-radius)}
.bpsm .bpsm-vendor-prompt{border-radius:22px}

/* ---- chat ---- */
.bpsm .bpsm-chat-item-active{background:rgba(14,116,144,.08);border-color:rgba(14,116,144,.3)}
.bpsm .bpsm-bubble-me{background:rgba(14,116,144,.1);border-color:rgba(14,116,144,.25)}
.bpsm .bpsm-bubble-time{text-align:end}
.bpsm.bpsm-dashboard .bpsm-chat-body{background:var(--tj-soft,#F4F8FB)}

@media (max-width:900px){.bpsm .bpsm-dash-shell{grid-template-columns:1fr}.bpsm .bpsm-dash-sidebar{position:static}}

/* ---- product details ---- */
.bpsm .bpsm-product-card-row{display:grid;grid-template-columns:minmax(220px,380px) minmax(0,1fr);gap:28px;align-items:start;padding:22px}
.bpsm .bpsm-product-card-row:hover{transform:none;box-shadow:none}
.bpsm .bpsm-product-card-row .bpsm-card-img,.bpsm .bpsm-square-180{width:100%;max-width:380px;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:16px;background:var(--tj-soft,#F4F8FB)}
.bpsm .bpsm-product-card-row .bpsm-card-body{padding:0;gap:14px}
.bpsm .bpsm-product-card-row .bpsm-card-title{font-size:1.5rem;-webkit-line-clamp:unset;display:block}
.bpsm .bpsm-product-card-row .bpsm-card-price{font-size:1.4rem}
.bpsm .bpsm-desc{color:var(--tj-ink,#13222F);line-height:1.9}
@media (max-width:760px){.bpsm .bpsm-product-card-row{grid-template-columns:1fr}.bpsm .bpsm-product-card-row .bpsm-card-img{max-width:none}}

/* chat with the seller: button, sign-in dialog / inline prompt, product context */
.bpsm .bpsm-chat-cta{margin:12px 0}
.bpsm-chat-dialog{border:0;border-radius:22px;padding:30px;max-width:min(94vw,520px);width:100%;box-shadow:0 30px 80px rgba(10,37,64,.35);color:var(--tj-ink,#13222F)}
.bpsm-chat-dialog::backdrop{background:rgba(10,37,64,.55);backdrop-filter:blur(2px)}
.bpsm-dialog-close{position:absolute;inset-block-start:10px;inset-inline-end:14px;border:0;background:transparent;font-size:1.8rem;line-height:1;color:#5b6b7a;cursor:pointer}
.bpsm-chat-gate{text-align:center}
.bpsm-chat-gate h4{margin:0 0 .5em;color:var(--tj-navy,#0A2540);font-size:1.25rem}
.bpsm-chat-gate p{margin:0 0 1.2em;color:#4a5b6a;line-height:1.8}
.bpsm-chat-gate-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.bpsm-chat-gate-actions .tj-btn{flex:1 1 150px}
.bpsm-chat-gate-wrap .bpsm-chat-gate{max-width:560px;margin:10px auto;padding:30px;background:#fff;border:1px solid var(--tj-line,#E3EAF0);border-radius:22px;box-shadow:0 12px 34px rgba(10,37,64,.07)}
.bpsm-chat-about{margin:0 0 10px;padding:10px 14px;background:var(--tj-soft,#F4F8FB);border-radius:12px;font-size:.92rem}
