/* catalog page — loaded AFTER site.css; reuses its tokens. Clean, light, readable. */
.cat-head{background:var(--bg2);border-bottom:1px solid var(--line)}
.cat-head .wrap{padding:38px 28px 34px}
.cat-head .kick{font-family:"Roboto Mono",monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);font-weight:600;margin:0 0 9px}
.cat-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;flex-wrap:wrap}
.cat-head h1{font-size:32px;letter-spacing:-.01em;margin:0}
.cat-search{position:relative;flex:1 1 360px;max-width:480px}
.cat-search svg{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#9aa8b6}
#q{width:100%;padding:14px 16px 14px 44px;border:1px solid #d4dde6;border-radius:10px;background:#fff;font-size:15px;outline:none;color:var(--ink)}
#q:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(31,120,230,.14)}

.cat-main{padding:30px 28px 70px}
/* chips */
.cats{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--line);background:#fff;color:var(--slate);padding:7px 14px;border-radius:8px;font-size:13.5px;cursor:pointer;transition:all .14s}
.chip:hover{border-color:#bcd0ec;color:var(--ink)}
.chip.on{background:var(--blue);border-color:var(--blue);color:#fff}
.chip .n{opacity:.6;margin-left:6px;font-family:"Roboto Mono",monospace;font-size:12px}
.result-bar{padding:18px 0 18px;color:var(--muted);font-size:13.5px}
#count strong{color:var(--ink)}
/* grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:transform .16s,box-shadow .16s,border-color .16s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#cfe0f6}
.card-img{height:172px;background:#f1f5fa center/contain no-repeat;border-bottom:1px solid var(--line)}
.card-img.ph{display:flex;align-items:center;justify-content:center;color:#b6c6d4;font-size:12.5px}
.card-body{padding:15px 16px 17px;display:flex;flex-direction:column;gap:8px;flex:1}
.card-cat{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--blue);font-weight:600;font-family:"Roboto Mono",monospace}
.card-name{font-size:15.5px;font-weight:500;margin:0;line-height:1.3}
.card-pn{display:flex;flex-wrap:wrap;gap:5px}
.pn{font-family:"Roboto Mono",monospace;font-size:11.5px;background:#eef3f9;color:#1c3a5c;padding:2px 8px;border-radius:5px;border:1px solid #e1eaf3}
.card-desc{font-size:12.5px;color:var(--muted);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.empty{text-align:center;color:var(--muted);padding:60px 0}
.linklike{background:none;border:none;color:var(--blue);cursor:pointer;text-decoration:underline;font-size:inherit}
/* detail */
.detail{padding:8px 0 30px}
.back{display:inline-flex;align-items:center;gap:8px;background:none;border:none;color:var(--slate);cursor:pointer;font-size:14px;padding:6px 0;margin-bottom:18px}
.back:hover{color:var(--blue)}
.detail-top{display:grid;grid-template-columns:minmax(0,420px) 1fr;gap:44px;align-items:start}
.detail-figure{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;align-items:center;justify-content:center;min-height:300px}
.detail-figure img{max-width:100%;max-height:360px}
.detail-figure.ph{color:#b6c6d4}
.detail-cat{font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--blue);font-weight:600;font-family:"Roboto Mono",monospace}
.detail h1{font-size:28px;margin:8px 0 14px;line-height:1.18;letter-spacing:-.01em}
.detail-pn{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}
.detail-pn .pn{font-size:13px;padding:5px 12px}
.detail-desc{font-size:16.5px;color:var(--slate);margin:0 0 6px}
.detail-cap{font-size:13px;color:var(--muted);white-space:pre-line}
.specs{margin-top:34px}
.specs h2{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600;font-family:"Roboto Mono",monospace;margin:0;padding-bottom:10px;border-bottom:2px solid var(--blue)}
.spec-row{display:grid;grid-template-columns:230px 1fr;gap:24px;padding:14px 2px;border-bottom:1px solid var(--line)}
.spec-label{font-weight:500;color:var(--ink);font-size:14px}
.spec-val{color:var(--slate);white-space:pre-line;font-family:"Roboto Mono",monospace;font-size:13.5px}
.note{margin-top:26px;padding:14px 16px;background:#eef4fc;border:1px solid #cfe0f6;border-left:3px solid var(--blue);border-radius:8px;font-size:13.5px;color:#23425f;white-space:pre-line}
@media(max-width:760px){.cat-search{flex-basis:100%;max-width:none}.detail-top{grid-template-columns:1fr;gap:22px}.spec-row{grid-template-columns:1fr;gap:2px}}

/* ============ request-a-quote (RFQ) ============ */
.qbadge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:8px;border-radius:9px;background:#fff;color:var(--blue);font-size:11.5px;font-weight:700;font-family:"Roboto Mono",monospace}
.card-foot{margin-top:auto;padding-top:11px}
.add-btn{width:100%;border:1px solid #cfe0f6;background:#fff;color:var(--blue);font-weight:500;font-size:13px;padding:8px 10px;border-radius:8px;cursor:pointer;transition:all .14s;font-family:inherit}
.add-btn:hover{background:#eef4fc;border-color:var(--blue)}
.add-btn.on{background:var(--blue);border-color:var(--blue);color:#fff}
.add-lg{width:auto;padding:12px 22px;font-size:14.5px}
.detail-actions{display:flex;align-items:center;gap:18px;margin-top:24px;flex-wrap:wrap}
.q-link{background:none;border:none;color:var(--slate);cursor:pointer;font-size:14px;text-decoration:underline;font-family:inherit}
.q-link:hover{color:var(--blue)}
.drawer-backdrop{position:fixed;inset:0;background:rgba(10,24,47,.5);backdrop-filter:blur(2px);z-index:60;animation:qfade .2s ease}
@keyframes qfade{from{opacity:0}to{opacity:1}}
.drawer{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:92vw;background:#fff;z-index:61;display:flex;flex-direction:column;box-shadow:-24px 0 60px rgba(10,24,47,.28);transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1)}
.drawer.open{transform:none}
.q-head{display:flex;align-items:flex-start;gap:14px;padding:22px 22px 18px;border-bottom:1px solid var(--line)}
.q-head h2{margin:0;font-size:20px}
.q-sub{margin:5px 0 0;font-size:12.5px;color:var(--muted);line-height:1.5}
.q-close{margin-left:auto;background:none;border:none;font-size:26px;line-height:1;color:var(--muted);cursor:pointer;padding:0 2px}
.q-close:hover{color:var(--ink)}
.q-scroll{flex:1;overflow-y:auto;padding:18px 22px}
.q-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.q-item{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:9px 10px}
.q-thumb{width:46px;height:46px;border-radius:7px;background:#f1f5fa center/contain no-repeat;border:1px solid var(--line);flex:none}
.q-meta{min-width:0;flex:1}
.q-name{font-size:13.5px;font-weight:500;line-height:1.25}
.q-pn{font-size:11px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.q-rm{background:none;border:none;color:#b6c3d1;font-size:20px;line-height:1;cursor:pointer;flex:none;padding:0 4px}
.q-rm:hover{color:#d93025}
.q-empty{text-align:center;color:var(--muted);padding:30px 10px}
.q-empty-ic{width:44px;height:44px;border-radius:50%;border:2px dashed #c5d4e6;color:#9fb4cd;display:flex;align-items:center;justify-content:center;font-size:24px;margin:0 auto 12px}
.q-empty .sub{font-size:12.5px;margin-top:4px}
.q-form{margin-top:20px;border-top:1px solid var(--line);padding-top:18px}
.q-form h3{margin:0 0 12px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-family:"Roboto Mono",monospace}
.q-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.q-form label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--slate);font-weight:500}
.q-form .q-full{margin-top:11px}
.q-form input,.q-form textarea{border:1px solid #d4dde6;border-radius:8px;padding:9px 11px;font-size:14px;font-family:inherit;color:var(--ink);outline:none;background:#fff}
.q-form input:focus,.q-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(31,120,230,.13)}
.q-form textarea{resize:vertical}
.q-foot{display:flex;align-items:center;gap:14px;padding:15px 22px;border-top:1px solid var(--line);background:var(--bg2)}
.q-foot-n{font-size:13px;color:var(--slate)}
.q-foot .btn{margin-left:auto}
.q-foot .btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.q-success{text-align:center;padding:34px 18px}
.q-check{width:56px;height:56px;border-radius:50%;background:var(--blue);color:#fff;font-size:30px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.q-success h3{margin:0 0 8px;font-size:20px}
.q-success p{font-size:14px;color:var(--slate);margin:0 auto 20px;max-width:300px;line-height:1.6}
@media(max-width:680px){.drawer{width:100%;max-width:100%}.q-grid{grid-template-columns:1fr}.nav-cta .quote-open{display:inline-flex}}
