/* HANVIT B2B — 데모 스타일. 실제 프로젝트에서는 선정한 Theme의 디자인 토큰을 따른다. */
:root{
  --hv-ink:#14171a; --hv-mut:#6b7280; --hv-line:#e6e3dd; --hv-bg:#fffdf9;
  --hv-accent:#12604c; --hv-accent-soft:#eef6f3; --hv-warn:#b45309;
}
.hv-catalog{display:grid;grid-template-columns:250px 1fr;gap:28px;align-items:start;
  font:15px/1.6 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Pretendard",Segoe UI,sans-serif;color:var(--hv-ink)}
@media(max-width:820px){.hv-catalog{grid-template-columns:1fr}}
.hv-catalog.hv-loading{opacity:.55;transition:opacity .15s}

/* ---- facets ---- */
.hv-facets{border:1px solid var(--hv-line);border-radius:10px;padding:16px;background:#fff;position:sticky;top:16px}
.hv-facet-box{margin-bottom:18px;position:relative}
.hv-facet-box>label{display:block;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--hv-mut);font-weight:600;margin-bottom:7px}
.hv-facet-box input[type=search],.hv-facet-box input[type=number]{
  width:100%;padding:8px 10px;border:1px solid var(--hv-line);border-radius:6px;font:inherit;font-size:14px}
.hv-facet-box ul{list-style:none;margin:0;padding:0;max-height:210px;overflow:auto}
.hv-facet-box li{margin:0}
.hv-facet-box li label{display:flex;align-items:center;gap:7px;font-size:13.5px;padding:3px 0;cursor:pointer}
.hv-facet-box li label span{margin-left:auto;color:var(--hv-mut);font-size:12px;font-variant-numeric:tabular-nums}
.hv-facet-box li.hv-zero{opacity:.35}
.hv-range{display:flex;gap:6px}
.hv-reset{width:100%;padding:8px;border:1px solid var(--hv-line);background:#f7f5f1;border-radius:6px;
  font:inherit;font-size:13px;cursor:pointer}

/* ---- autocomplete ---- */
.hv-ac{display:none;position:absolute;z-index:40;left:0;right:0;background:#fff;border:1px solid var(--hv-line);
  border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.09);overflow:hidden;margin-top:4px}
.hv-ac.on{display:block}
.hv-ac a{display:flex;justify-content:space-between;gap:10px;padding:8px 11px;text-decoration:none;color:var(--hv-ink);font-size:13px}
.hv-ac a:hover{background:var(--hv-accent-soft)}
.hv-ac a span{color:var(--hv-mut);font-size:11.5px;white-space:nowrap}

/* ---- results ---- */
.hv-resulthead{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;
  font-size:13.5px;color:var(--hv-mut)}
.hv-resulthead b{color:var(--hv-ink);font-size:16px}
.hv-resulthead select{padding:6px 9px;border:1px solid var(--hv-line);border-radius:6px;font:inherit;font-size:13px}
.hv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:14px}
.hv-card{border:1px solid var(--hv-line);border-radius:10px;background:#fff;overflow:hidden;
  display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s}
.hv-card:hover{box-shadow:0 6px 18px rgba(0,0,0,.07);transform:translateY(-1px)}
.hv-card-body{display:block;padding:14px;text-decoration:none;color:inherit;flex:1}
.hv-badge{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--hv-accent);font-weight:700;min-height:14px}
.hv-card h3{font-size:14.5px;line-height:1.4;margin:5px 0 6px;font-weight:600}
.hv-sku{font-size:11.5px;color:var(--hv-mut);font-variant-numeric:tabular-nums}
.hv-price{margin:9px 0 6px;font-size:15px;font-weight:700}
.hv-price del{font-weight:400;opacity:.5;font-size:13px}
.hv-meta{font-size:11.5px;color:var(--hv-mut)}
.hv-meta .in{color:var(--hv-accent);font-weight:600}
.hv-meta .out{color:var(--hv-warn);font-weight:600}
.hv-card-cta{border-top:1px solid var(--hv-line);padding:9px 14px}
.hv-quote-btn{width:100%;padding:7px;border:1px solid var(--hv-accent);background:#fff;color:var(--hv-accent);
  border-radius:6px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.hv-quote-btn:hover{background:var(--hv-accent-soft)}
.hv-empty{padding:40px;text-align:center;color:var(--hv-mut);border:1px dashed var(--hv-line);border-radius:10px}
.hv-pager{display:flex;gap:5px;margin-top:20px;flex-wrap:wrap}
.hv-page{min-width:32px;padding:6px 9px;border:1px solid var(--hv-line);background:#fff;border-radius:6px;
  font:inherit;font-size:13px;cursor:pointer}
.hv-page.on{background:var(--hv-accent);color:#fff;border-color:var(--hv-accent)}

/* ---- product detail ---- */
.hv-spec{margin:20px 0}
.hv-spec h3,.hv-tier b{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--hv-mut)}
.hv-spec table,.hv-tier table{width:100%;border-collapse:collapse;margin-top:8px;font-size:13.5px}
.hv-spec th,.hv-tier th{text-align:left;color:var(--hv-mut);font-weight:500;padding:6px 10px 6px 0;
  border-bottom:1px solid var(--hv-line);white-space:nowrap}
.hv-spec td,.hv-tier td{padding:6px 0;border-bottom:1px solid var(--hv-line)}
.hv-tier{margin:18px 0;padding:14px;border:1px solid var(--hv-line);border-radius:9px;background:var(--hv-accent-soft)}
.hv-tier table{background:#fff;border-radius:6px}
.hv-tier td,.hv-tier th{padding:7px 10px}
.hv-locked p{font-size:13.5px;color:var(--hv-mut);margin:6px 0 10px}
.hv-btn,.hv-primary{display:inline-block;padding:9px 16px;border-radius:7px;font:inherit;font-size:13.5px;
  font-weight:600;cursor:pointer;text-decoration:none;border:1px solid var(--hv-line);background:#fff;color:var(--hv-ink)}
.hv-primary{background:var(--hv-accent);color:#fff;border-color:var(--hv-accent)}
.hv-cta-row{display:flex;gap:9px;margin:16px 0;flex-wrap:wrap}
.hv-cta-row .hv-quote-btn{width:auto;padding:10px 18px;font-size:14px;background:var(--hv-accent);color:#fff}
.hv-wa{display:inline-flex;align-items:center;padding:10px 16px;border:1px solid #25d366;color:#128c7e;
  border-radius:7px;text-decoration:none;font-size:13.5px;font-weight:600}

/* ---- modal ---- */
.hv-modal{position:fixed;inset:0;background:rgba(20,23,26,.5);display:flex;align-items:center;
  justify-content:center;z-index:9999;padding:20px}
.hv-modal[hidden]{display:none}
.hv-modal-inner{background:#fff;border-radius:12px;padding:26px;max-width:540px;width:100%;
  max-height:90vh;overflow:auto;position:relative;
  font:15px/1.6 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Pretendard",sans-serif}
.hv-modal-inner h3{margin:0 0 4px;font-size:18px}
.hv-modal-sub{color:var(--hv-mut);font-size:13px;margin:0 0 16px}
.hv-close{position:absolute;top:12px;right:14px;border:0;background:none;font-size:26px;line-height:1;
  cursor:pointer;color:var(--hv-mut)}
.hv-2col{display:grid;grid-template-columns:1fr 1fr;gap:11px}
@media(max-width:520px){.hv-2col{grid-template-columns:1fr}}
.hv-modal label{display:block;font-size:12px;color:var(--hv-mut);margin-bottom:11px}
.hv-modal input,.hv-modal textarea{width:100%;padding:9px 10px;border:1px solid var(--hv-line);
  border-radius:6px;font:inherit;font-size:14px;color:var(--hv-ink);margin-top:4px}
.hv-quote-msg{font-size:13px;margin-top:10px}
.hv-quote-msg.ok{color:var(--hv-accent)}
.hv-quote-msg.bad{color:#b91c1c}

/* ---- quick order ---- */
.hv-quick{border:1px solid var(--hv-line);border-radius:10px;padding:20px;background:#fff;
  font:15px/1.6 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Pretendard",sans-serif}
.hv-quick h3{margin:0 0 4px;font-size:17px}
.hv-quick .hv-sub{color:var(--hv-mut);font-size:13px;margin:0 0 16px}
.hv-quick-table{width:100%;border-collapse:collapse;font-size:13.5px}
.hv-quick-table th{text-align:left;font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;
  color:var(--hv-mut);border-bottom:1px solid var(--hv-line);padding:6px 8px 6px 0}
.hv-quick-table td{padding:7px 8px 7px 0;border-bottom:1px solid var(--hv-line);position:relative;vertical-align:top}
.hv-quick-table input{padding:7px 9px;border:1px solid var(--hv-line);border-radius:6px;font:inherit;font-size:13.5px}
.hv-q-search{width:100%}
.hv-q-qty{width:80px}
.hv-q-del{border:0;background:none;color:var(--hv-mut);font-size:18px;cursor:pointer}
.hv-quick-actions{display:flex;gap:9px;margin-top:16px}

/* ---- Product Detail 추가 영역 (Information / Commercial / Trust) ---- */
.hv-sec{margin:34px 0;padding-top:26px;border-top:1px solid var(--hv-line);
  font:15px/1.7 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Pretendard",sans-serif;color:var(--hv-ink)}
.hv-sec>h2{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--hv-accent);
  margin:0 0 18px;font-weight:700}
.hv-sec-block{margin-bottom:22px}
.hv-sec-block h3{font-size:14px;margin:0 0 8px;font-weight:700}
.hv-dim{color:var(--hv-mut)}
.hv-feat{margin:0;padding-left:18px}
.hv-feat li{margin:3px 0}
.hv-kv{width:100%;border-collapse:collapse;font-size:14px}
.hv-kv th{text-align:left;width:150px;color:var(--hv-mut);font-weight:500;padding:8px 12px 8px 0;
  border-bottom:1px solid var(--hv-line);vertical-align:top;white-space:nowrap}
.hv-kv td{padding:8px 0;border-bottom:1px solid var(--hv-line)}
.hv-note{margin-top:14px;padding:11px 14px;border-radius:8px;font-size:13.5px}
.hv-note-cold{background:#eef4fb;border:1px solid #cddff0;color:#1c4a75}

/* Documents */
.hv-docs{list-style:none;margin:0;padding:0}
.hv-docs li{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid var(--hv-line)}
.hv-doc{font-weight:600;color:var(--hv-accent);text-decoration:none}
.hv-docs li.hv-doc-locked .hv-doc{color:var(--hv-mut);font-weight:500}
.hv-doc-tag{font-size:10.5px;letter-spacing:.05em;padding:2px 7px;border-radius:99px;
  background:#f2efe9;color:var(--hv-mut)}
.hv-lock{margin-left:auto;font-size:12px;color:var(--hv-warn)}
.hv-lock::before{content:"🔒 ";}

/* Trust */
.hv-trust{list-style:none;margin:0 0 20px;padding:0}
.hv-trust li{padding:9px 0 9px 22px;position:relative;font-size:14px;border-bottom:1px solid var(--hv-line)}
.hv-trust li::before{content:"✔";position:absolute;left:0;color:var(--hv-accent);font-weight:700}
.hv-trust li.hv-warn::before{content:"⚠";color:var(--hv-warn)}
.hv-trust b{display:inline-block;margin-right:6px}

/* mini grid (Related / FBT / Alternatives) */
.hv-mini-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.hv-mini{display:block;border:1px solid var(--hv-line);border-radius:9px;padding:12px;
  text-decoration:none;color:inherit;background:#fff}
.hv-mini:hover{box-shadow:0 4px 14px rgba(0,0,0,.06)}
.hv-mini b{display:block;font-size:13px;line-height:1.4;margin-bottom:4px}
.hv-mini span{display:block;font-size:11px;color:var(--hv-mut);font-variant-numeric:tabular-nums}
.hv-mini em{display:block;font-style:normal;font-size:13px;font-weight:700;margin-top:6px}

/* ---- Resources ---- */
.hv-res{font:15px/1.7 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Pretendard",sans-serif}
.hv-res-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.hv-res-tabs a{padding:7px 14px;border:1px solid var(--hv-line);border-radius:99px;
  text-decoration:none;color:var(--hv-ink);font-size:13px;background:#fff}
.hv-res-tabs a.on{background:var(--hv-accent);color:#fff;border-color:var(--hv-accent)}
.hv-res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.hv-res-card{display:block;border:1px solid var(--hv-line);border-radius:10px;padding:18px;
  text-decoration:none;color:inherit;background:#fff}
.hv-res-card:hover{box-shadow:0 6px 18px rgba(0,0,0,.07)}
.hv-res-card h3{font-size:15px;margin:8px 0 6px;line-height:1.45}
.hv-res-card p{font-size:13px;color:var(--hv-mut);margin:0}
.hv-res-cta{margin-top:26px;padding:20px;border:1px solid var(--hv-line);border-radius:10px;
  background:var(--hv-accent-soft)}
.hv-res-cta p{margin:0 0 12px}
.hv-res-related{margin-top:30px}
