/* Wholesale Sourcing — frontend */
.ws-btn{display:inline-block;background:#1d4ed8;color:#fff;border:0;border-radius:8px;padding:10px 20px;font-weight:600;cursor:pointer;text-decoration:none;line-height:1.2;transition:opacity .15s}
.ws-btn:hover{opacity:.9;color:#fff}
.ws-btn--ghost{background:transparent;color:#1d4ed8;border:1px solid #1d4ed8}
.ws-btn--sm{padding:6px 12px;font-size:13px;border-radius:6px}
.ws-btn--auction{background:#b45309}
.ws-btn--offer{background:#0f766e}
.ws-muted{color:#7c828d}
.ws-hint{color:#8a90a0;font-weight:400;font-size:12px}
.ws-empty{background:#f8f9fb;border:1px dashed #d7dbe4;padding:16px;border-radius:8px;color:#5b6472}
.ws-card{background:#fff;border:1px solid #e6e8ee;border-radius:12px;padding:22px;max-width:860px;box-shadow:0 2px 8px rgba(15,23,42,.04)}
.ws-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ws-grid2 label{display:block;font-size:14px;font-weight:600}
.ws-grid2 input,.ws-grid2 select,.ws-grid2 textarea{width:100%;font-weight:400;margin-top:4px;padding:8px;border:1px solid #d7dbe4;border-radius:6px}
.ws-span2{grid-column:span 2}
.ws-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.ws-check{display:flex;gap:8px;align-items:flex-start;margin:14px 0}
.ws-form-msg{margin-left:10px;color:#1c7c3c;font-weight:600}
.ws-form-note{font-size:12.5px;background:#fffbe8;border:1px solid #f1e4b0;padding:8px 12px;border-radius:6px}
.ws-form-msg.is-error{color:#b42318}
.ws-gate{background:#f8f9fb;border:1px solid #e6e8ee;border-radius:12px;padding:24px;text-align:center;max-width:560px;margin:18px auto}
.ws-table{width:100%;border-collapse:collapse;margin:10px 0}
.ws-table th,.ws-table td{padding:9px 10px;border-bottom:1px solid #eceef3;text-align:left;font-size:14px;vertical-align:top}
.ws-table th{background:#f8f9fb;font-size:12.5px;text-transform:uppercase;letter-spacing:.03em;color:#5b6472}
.ws-badge{display:inline-block;padding:2px 10px;border-radius:20px;background:#eef1f5;font-size:11.5px;font-weight:600;color:#4b5563}
.ws-badge--open{background:#e3f5e8;color:#1c7c3c}
.ws-badge--review{background:#fff2d9;color:#9a6700}
.ws-badge--closed,.ws-badge--expired{background:#fbeaea;color:#a12622}
.ws-badge--seed{background:#fdf3d8;color:#8a6d1a}
.ws-badge--live{background:#e3f2f8;color:#1d4ed8}
/* trust banner */
.ws-trust-banner{display:flex;gap:10px;background:linear-gradient(90deg,#eff6ff,#f0fdf4);border:1px solid #bfdbfe;border-radius:10px;padding:12px 14px;margin:14px 0}
.ws-trust-banner__icon{font-size:20px}
.ws-trust-banner p{margin:0;font-size:13.5px;color:#334155}
/* marketplace */
.ws-market__filters{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0;align-items:center}
.ws-market__filters input[type=search]{flex:1;min-width:200px;padding:9px 12px;border:1px solid #d7dbe4;border-radius:8px}
.ws-market__filters select{padding:9px;border:1px solid #d7dbe4;border-radius:8px;min-width:170px}
.ws-market__count{color:#5b6472}
.ws-market__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.ws-card-item{background:#fff;border:1px solid #e6e8ee;border-radius:12px;padding:16px;position:relative;display:flex;flex-direction:column;gap:8px;transition:box-shadow .15s}
.ws-card-item:hover{box-shadow:0 6px 18px rgba(15,23,42,.08)}
.ws-card-item--featured{border-color:#1d4ed8;box-shadow:0 4px 14px rgba(29,78,216,.12)}
.ws-card-item h3{margin:0;font-size:16px;line-height:1.35}
.ws-card-item h3 a{color:#111827;text-decoration:none}
.ws-chip{display:inline-block;background:#eef4ff;color:#1d4ed8;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:20px;text-decoration:none;text-transform:uppercase;letter-spacing:.04em}
.ws-card-item__facts{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13.5px;color:#4b5563}
.ws-card-item__foot{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:8px;border-top:1px solid #f1f3f7;font-size:12.5px}
.ws-card-item__foot .ws-btn{margin-left:auto}
.ws-pager{display:flex;gap:6px;margin:20px 0}
.ws-pager a,.ws-pager__cur{padding:6px 12px;border:1px solid #d7dbe4;border-radius:6px;text-decoration:none;color:#374151}
.ws-pager__cur{background:#1d4ed8;color:#fff;border-color:#1d4ed8}
/* request facts */
.ws-request-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0}
.ws-request-facts div{background:#f8f9fb;border-radius:10px;padding:10px 12px}
.ws-request-facts span{display:block;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}
.ws-request-facts strong{font-size:15px;color:#111827}
/* responses */
.ws-responses-list{display:flex;flex-direction:column;gap:12px;margin:14px 0}
.ws-response{border:1px solid #e6e8ee;border-radius:10px;padding:14px;background:#fff}
.ws-response--shortlisted{border-color:#1c7c3c;background:#f4fcf6}
.ws-response__head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ws-response__facts{display:flex;gap:14px;color:#4b5563;font-size:13.5px;margin:8px 0}
.ws-response__actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.ws-files{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0}
.ws-file{font-size:13px;color:#1d4ed8;text-decoration:none;background:#eef4ff;padding:4px 10px;border-radius:6px}
/* CTAs */
.ws-ctas{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0}
.ws-bnpl-hint{width:100%;font-size:13.5px;color:#4b5563;background:#f8f9fb;border-radius:8px;padding:8px 12px;display:flex;align-items:center;gap:8px}
.ws-auction-live{width:100%;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:10px 14px;color:#7c2d12;font-size:14px}
.ws-auction-live__pulse{display:inline-block;width:9px;height:9px;border-radius:50%;background:#ea580c;margin-right:8px;animation:ws-pulse 1.2s infinite}
@keyframes ws-pulse{0%{opacity:1}50%{opacity:.35}100%{opacity:1}}
.ws-auction-countdown{font-variant-numeric:tabular-nums;font-weight:700}
/* tiers */
.ws-tiers{margin:12px 0;max-width:420px}
.ws-tiers h4{margin:0 0 6px;font-size:14px}
.ws-tier-table{width:100%;border-collapse:collapse;font-size:13.5px}
.ws-tier-table th,.ws-tier-table td{padding:6px 10px;border:1px solid #eceef3}
.ws-tier-table th{background:#f8f9fb}
.ws-tier-teaser a{font-size:13px}
/* modals */
.ws-modal{position:fixed;inset:0;background:rgba(15,23,42,.55);display:none;align-items:center;justify-content:center;z-index:99999;padding:16px}
.ws-modal.is-open{display:flex}
.ws-modal__box{background:#fff;border-radius:14px;max-width:480px;width:100%;padding:22px;position:relative;max-height:90vh;overflow:auto}
.ws-modal__close{position:absolute;top:10px;right:12px;background:none;border:0;font-size:22px;cursor:pointer;color:#6b7280}
.ws-modal__box label{display:block;font-weight:600;font-size:14px;margin:10px 0 4px}
.ws-modal__box input,.ws-modal__box textarea,.ws-modal__box select{width:100%;padding:9px;border:1px solid #d7dbe4;border-radius:6px;font-weight:400}
/* contracts */
.ws-contract__head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ws-contract__body{white-space:pre-wrap;background:#fff;border:1px solid #e6e8ee;border-radius:10px;padding:22px;font-family:Georgia,serif;font-size:14.5px;line-height:1.65;overflow-x:auto}
.ws-contract__note{background:#fffbe8;border:1px solid #f1e4b0;border-radius:8px;padding:10px 14px;margin:10px 0}
.ws-contract__sigs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}
.ws-sig-box{border:1px dashed #cbd5e1;border-radius:10px;padding:14px}
.ws-sig-img{max-width:220px;background:#fff;border:1px solid #eef;border-radius:6px;margin-top:8px}
#ws-sign-canvas{border:1px dashed #94a3b8;border-radius:8px;background:#fbfcfe;cursor:crosshair;display:block;margin:10px 0;max-width:100%}
.ws-contract__review{background:#f8f9fb;border-radius:10px;padding:14px;margin:14px 0}
.ws-contract__review textarea{width:100%}
/* credit grid */
.ws-credit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin:12px 0}
.ws-credit-card{border:1px solid #e6e8ee;border-radius:12px;padding:16px;text-align:center}
.ws-credit-card__amount{font-size:22px;font-weight:700;color:#1d4ed8;margin:6px 0 12px}
.ws-credit-balance strong{font-size:26px}
/* programs */
.ws-programs{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin:10px 0}
.ws-copy-row{display:flex;gap:8px;margin:10px 0}
.ws-copy-row input{flex:1;padding:8px;border:1px solid #d7dbe4;border-radius:6px;font-size:13px}
.ws-inline-form label{display:block;font-weight:600;font-size:13.5px;margin:8px 0 4px}
.ws-inline-form input,.ws-inline-form textarea{width:100%;padding:8px;border:1px solid #d7dbe4;border-radius:6px;font-weight:400}
/* currency */
.ws-currency-switcher{display:inline-flex;gap:8px;align-items:center}
.ws-currency-switcher select{padding:7px 10px;border:1px solid #d7dbe4;border-radius:6px}
/* verified */
.ws-verified-wrap{display:inline-flex;vertical-align:middle}
/* checkout terms */
.ws-checkout-terms{background:#f8f9fb;border:1px solid #e6e8ee;border-radius:10px;padding:16px;margin:16px 0}
.ws-checkout-terms .ws-check{margin:8px 0}
#ws-bank-fields{margin-top:10px;display:grid;gap:10px}
.ws-checkout-terms label{font-size:14px}
/* responsive */
@media (max-width:768px){
.ws-grid2{grid-template-columns:1fr}
.ws-span2{grid-column:span 1}
.ws-contract__sigs{grid-template-columns:1fr}
.ws-ov-grid{grid-template-columns:repeat(2,1fr)}
}
/* empty-state sourcing prompt */
.ws-empty-state{margin:28px auto;padding:38px 24px 30px;max-width:640px;text-align:center;background:#fff;border:1px solid #e6e8ee;border-radius:16px;box-shadow:0 8px 30px rgba(15,23,42,.06)}
.ws-empty-state__icon{color:#1d4ed8;opacity:.9}
.ws-empty-state__icon svg{display:block;margin:0 auto 6px}
.ws-empty-state__title{margin:10px 0 6px;font-size:22px;line-height:1.3;color:#111827;word-wrap:break-word}
.ws-empty-state__text{margin:0 auto 18px;max-width:460px;color:#4b5563;font-size:14.5px;line-height:1.6}
.ws-empty-state__actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.ws-empty-state__btn{min-width:200px;text-align:center}
.ws-empty-state__hint{margin:14px auto 0;font-size:12.5px;color:#6b7280;max-width:460px}
@media (max-width:600px){.ws-empty-state__btn{width:100%}.ws-empty-state{padding:28px 16px 22px}}
/* AI member assistant output */
.ws-ai-output{margin-top:12px;background:#f8f9fb;border:1px solid #e6e8ee;border-radius:10px;padding:14px;font-size:14px;line-height:1.65;white-space:pre-wrap;color:#1f2937}
/* v1.3.0 — category chips row */
.ws-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.ws-chip--active{background:#1d4ed8;color:#fff}
.ws-chip--active:hover{opacity:1}
/* card flags */
.ws-card-item__flags{display:flex;gap:6px;margin:6px 0 0}
.ws-card-item{position:relative}
.ws-flag{display:inline-block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:20px}
.ws-flag--featured{background:#fdf3d8;color:#8a6d1a}
.ws-flag--new{background:#e3f5e8;color:#1c7c3c}
.ws-flag--status.ws-flag--expired{background:#fbeaea;color:#a12622}
.ws-flag--status.ws-flag--closed{background:#eceef2;color:#4a5462}
.ws-flag--status.ws-flag--review{background:#fff2d9;color:#9a6700}
/* plugin archive templates */
.ws-archive-wrap{max-width:1180px;margin:0 auto;padding:0 16px 40px}
.ws-market--archive .ws-market__head{margin:26px 0 6px}
.ws-market__title{margin:0 0 8px;font-size:30px;line-height:1.2}
.ws-market__intro{color:#5b6472;max-width:760px;margin:0 0 6px}
.ws-market__shoplink{margin:4px 0 8px}
.ws-market__shoplink a{font-weight:600;text-decoration:none}
.ws-pager .page-numbers{display:inline-block;padding:6px 12px;margin-right:4px;background:#f8f9fb;border:1px solid #e6e8ee;border-radius:6px;text-decoration:none;color:#1f2937}
.ws-pager .page-numbers.current{background:#1d4ed8;border-color:#1d4ed8;color:#fff}
.ws-pager .page-numbers:hover{opacity:.85}
/* login gate with inline form */
.ws-gate--login{text-align:left;max-width:460px}
.ws-gate--login p.label{font-weight:600}
.ws-gate--login .login-remember{margin:8px 0}
.ws-gate--login input.input{width:100%;padding:9px;border:1px solid #d7dbe4;border-radius:8px}
.ws-gate__links{display:flex;gap:16px;margin-top:12px}
.ws-gate__links a{font-weight:600;text-decoration:none}
/* shop → sourcing funnel */
.ws-shop-funnel{margin:26px 0;padding:20px 22px;background:linear-gradient(90deg,#eff6ff,#f0fdf4);border:1px solid #bfdbfe;border-radius:12px}
.ws-shop-funnel h3{margin:0 0 6px}
.ws-shop-funnel p{margin:0 0 10px;color:#334155}
/* AI member assistant extras */
.ws-ai-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.ws-ai-chip{background:#eef4ff;border:1px solid #c7d8fb;color:#1d4ed8;font-size:12.5px;padding:6px 12px;border-radius:20px;cursor:pointer;text-align:left}
.ws-ai-chip:hover{background:#dbe7fd}
.ws-ai-credits{font-size:13.5px;color:#4b5563;margin:8px 0}
.ws-ai-usage{font-size:12px;margin-top:6px}
/* 1.4.0 — CTA + B2B additions */
.ws-btn--buynow{background:#047857}
.ws-btn--sample{background:#6d28d9}
.ws-listing-meta{margin:8px 0;font-size:13.5px;color:#5b6472;background:#f8f9fb;border:1px solid #eceef3;border-radius:8px;padding:8px 12px;display:inline-block}
.ws-login-price{font-weight:600;color:#1d4ed8;text-decoration:none}
.ws-login-price:hover{text-decoration:underline}
.ws-modal__note{background:#f8f9fb;border:1px solid #eceef3;border-radius:8px;padding:10px 12px;font-size:13.5px;color:#5b6472}
.ws-quick-order{margin:20px 0}
.ws-quick-order .ws-qo-rows input[type=text]{width:100%;padding:8px;border:1px solid #d7dbe4;border-radius:6px}
.ws-quick-order .ws-qo-rows input[type=number]{width:100%;padding:8px;border:1px solid #d7dbe4;border-radius:6px}
.ws-quick-order textarea{width:100%;margin-top:4px;padding:9px;border:1px solid #d7dbe4;border-radius:8px;font-family:inherit}
.ws-quick-order label{display:block;font-size:14px;font-weight:600;margin-top:14px}
.ws-wcfm-cta{display:inline-block;margin:0 18px 8px 0;font-size:14px}
