/* Contractor browser (partner-browser.js): the Find a partner page and the estimator panel */
.pb-filters{ display:grid; grid-template-columns:repeat(auto-fit, minmax(190px, 1fr)); gap:10px; margin:14px 0 14px; }
.pb-filters input, .pb-filters select{ width:100%; }
.pb-status{ color:#555; font-size:14.5px; margin:0 0 12px; }
.pb-link{ background:none; border:0; padding:0; color:var(--teal, #20555F); font-weight:700; text-decoration:underline; cursor:pointer; font:inherit; }
.pb-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(290px, 1fr)); gap:16px; }
.pb-card{ border:1px solid #d9d9d9; border-radius:14px; background:#fff; padding:16px; display:flex; flex-direction:column; gap:8px; }
.pb-head{ display:flex; gap:12px; align-items:center; }
.pb-logo{ width:64px; height:64px; border:1px solid #e4e4e1; border-radius:10px; background:#fff; display:grid; place-items:center; overflow:hidden; flex:none; }
.pb-logo img{ max-width:100%; max-height:100%; object-fit:contain; }
.pb-logo span{ font-weight:700; font-size:22px; color:#20555F; }
.pb-card h3{ margin:0; font-size:18px; }
.pb-meta{ color:#555; font-size:14px; margin:0; }
.pb-pills{ display:flex; flex-wrap:wrap; gap:6px; }
.pb-pill{ background:#e8eef0; color:#20555F; border-radius:20px; padding:3px 10px; font-size:12.5px; font-weight:700; }
.pb-about{ font-size:14.5px; margin:0; display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden; }
.pb-reg{ font-size:13px; color:#555; margin:0; }
.pb-photos{ display:flex; gap:6px; flex-wrap:wrap; }
.pb-photos a{ display:block; width:76px; height:76px; border-radius:8px; overflow:hidden; border:1px solid #e4e4e1; }
.pb-photos img{ width:100%; height:100%; object-fit:cover; display:block; }
.pb-card .btn{ margin-top:4px; align-self:flex-start; }
.pb-form{ display:grid; gap:10px; margin-top:8px; }
.pb-f{ display:grid; gap:4px; font-size:14px; }
.pb-f span{ font-weight:700; }
.pb-f input, .pb-f textarea{ width:100%; }
.pb-err{ color:#a3352d; font-weight:600; margin:0; }
.pb-ok{ color:#1e5a2d; font-weight:700; margin:8px 0 0; }
/* estimator panel */
.cpick{ border:1.5px solid #bccaCC; border-radius:14px; background:#fff; padding:16px 18px; margin-top:6px; }
.cpick h4{ margin:0 0 4px; font-size:16px; }
.cpick p.cp-note{ margin:0 0 10px; color:#555; font-size:13.5px; }
.cpick .cp-chip{ display:inline-block; background:#d3e6e4; color:#1b505b; border-radius:20px; padding:3px 12px; font-size:13px; font-weight:700; margin:0 0 10px; }
