/* =====================================================================
   BizTorq — Wholesalers by product (/surat/textile-wholesalers/…)
   Load after market-detail-v3.css and shop-profile.css (uses their colours, cards and buttons)
   ===================================================================== */

/* ---------- Head ---------- */
.ws-head{padding:28px 28px 44px}
.ws-eyebrow{margin:0 0 8px;font-size:12.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--zari)}
.ws-lead{margin:14px 0 0;max-width:820px;font-size:16.5px;line-height:1.65;color:var(--text)}
.ws-stats{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 0;padding:0}
.ws-stats div{min-width:120px;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:var(--mist)}
.ws-stats dt{font-size:12.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.ws-stats dd{margin:2px 0 0;font:800 28px/1.1 'Bricolage Grotesque',system-ui,sans-serif;color:var(--ink)}
.ws-head__act{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.ws-head__act svg{width:18px;height:18px}

/* ---------- Filter bar ---------- */
.ws-bar{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin:4px 0 12px}
.ws-bar input[type=search]{flex:1 1 260px;min-height:46px;padding:0 16px;border:1.5px solid var(--line);border-radius:12px;font:inherit;font-size:15px;color:var(--ink);background:#fff}
.ws-bar input[type=search]:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 4px rgba(91,46,224,.12)}
.ws-toggle{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14.5px;color:var(--ink);cursor:pointer;user-select:none}
.ws-toggle input{width:18px;height:18px;accent-color:var(--violet)}
.ws-mkts{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 12px;margin:0 0 6px;scrollbar-width:thin}
.ws-mkts button{flex:none;min-height:36px;padding:0 13px;border:1.5px solid var(--line);border-radius:999px;background:#fff;font:inherit;font-size:13.5px;font-weight:700;color:var(--ink);cursor:pointer;white-space:nowrap}
.ws-mkts button b{margin-left:4px;color:var(--muted);font-weight:700}
.ws-mkts button:hover{border-color:var(--violet)}
.ws-mkts button.is-on{background:var(--ink);border-color:var(--ink);color:#fff}
.ws-mkts button.is-on b{color:var(--gold-l)}

/* ---------- Shop cards (extends .mk-shop) ---------- */
.ws-list .mk-shops{margin:0;padding:0;list-style:none;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.ws .mk-shop h3{gap:6px 8px}
.ws-score{padding:3px 7px;font-size:13px;border-radius:7px}
.ws-score svg{width:11px;height:11px}
.ws-badge{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:700;color:var(--ink)}
.ws-badge svg{width:14px;height:14px}
.ws-main{font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:6px;background:#FBF3DC;color:#8a6510}
.ws-deals{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 0;font-size:13px}
.ws-deals span{font-weight:700;color:var(--muted);margin-right:2px}
.ws-deals a,.ws-deals b{padding:4px 10px;border-radius:999px;font-weight:600;text-decoration:none}
.ws-deals a{background:var(--mist);color:var(--text)!important}
.ws-deals a:hover{background:#ece6fb;color:var(--violet)!important}
.ws-deals b{background:var(--violet);color:#fff}
.ws-add{margin:14px 0 0}

/* ---------- Side ---------- */
.ws-side{display:grid;gap:16px;position:sticky;top:calc(var(--mk-sticky-top) + 16px)}
.ws-links{list-style:none;margin:0 0 12px;padding:0}
.ws-links li+li{border-top:1px solid var(--line)}
.ws-links a{display:flex;justify-content:space-between;gap:12px;padding:10px 0;text-decoration:none;color:var(--ink)!important;font-weight:600;font-size:14.5px}
.ws-links a:hover span{color:var(--violet);text-decoration:underline;text-underline-offset:3px}
.ws-links small{flex:none;color:var(--muted);font-weight:700}
.ws-p{margin:0 0 14px;line-height:1.6;font-size:14.5px;color:var(--text)}
.ws-note{margin:0 0 64px;font-size:13.5px;line-height:1.6;color:var(--muted)}

/* ---------- Hub grid ---------- */
.ws-hub{padding:28px 0 4px}
.ws-h2{margin:0 0 14px;font-size:22px;color:var(--ink)}
.ws-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:0;padding:0;list-style:none}
.ws-tile{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px 18px 16px;transition:border-color .15s,box-shadow .15s}
.ws-tile:hover{border-color:#cfc4f2;box-shadow:var(--shadow)}
.ws-tile__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;text-decoration:none}
.ws-tile__head h3{margin:0;font-size:18px;line-height:1.25;color:var(--ink)}
.ws-tile__head:hover h3{color:var(--violet)}
.ws-tile__n{flex:none;min-width:44px;padding:6px 10px;border-radius:12px;background:var(--ink);color:var(--gold-l);text-align:center;font:800 18px/1 'Bricolage Grotesque',sans-serif}
.ws-tile__meta{margin:6px 0 12px;font-size:13px;font-weight:600;color:var(--muted)}
.ws-tile__shops{list-style:none;margin:0 0 12px;padding:0;flex:1}
.ws-tile__shops li{display:flex;flex-direction:column;padding:7px 0;border-top:1px dashed var(--line)}
.ws-tile__shops a{font-weight:700;font-size:14.5px;color:var(--ink)!important;text-decoration:none}
.ws-tile__shops a:hover{color:var(--violet)!important;text-decoration:underline}
.ws-tile__shops small{font-size:12.5px;color:var(--muted)}
.ws-tile__all{font-weight:800;font-size:14px;text-decoration:none}
.ws-hub__foot{padding-bottom:64px}

/* ---------- "Deals in" links on the shop profile and market page ---------- */
.pf-cats a{color:var(--text)!important;text-decoration:none}
.pf-cats a:hover{color:var(--violet)!important;text-decoration:underline}
.pf-cats li.is-main{background:var(--ink);color:#fff}
.pf-cats li.is-main a{color:#fff!important}
.mk-bycat{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none}
.mk-bycat a{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 13px;border:1.5px solid var(--line);border-radius:999px;background:#fff;font-weight:700;font-size:14px;text-decoration:none;color:var(--ink)!important}
.mk-bycat a:hover{border-color:var(--violet);color:var(--violet)!important}
.mk-bycat b{color:var(--muted);font-weight:700}

@media (max-width:980px){
  .ws-side{position:static}
}
@media (max-width:640px){
  .ws-head{padding:20px 18px 36px}
  .ws-lead{font-size:15.5px}
  .ws-stats div{flex:1;min-width:0;padding:10px 12px}
  .ws-stats dd{font-size:23px}
  .ws-head__act .pf-btn{flex:1 1 100%}
  .ws-grid{grid-template-columns:minmax(0,1fr)}
}
