/* ============================================================
   Protemics — products.css
   Produkt-Uebersichts-/Listenseite (THz microprobes).
   Signature: logarithmische Auflösungsskala mit realen Sondenwerten.
   ============================================================ */

/* ---------- Breadcrumb (identisch zur Produktdetailseite) ---------- */
.crumb-bar{
  background:var(--paper-2);
  border-bottom:1px solid var(--hair);
}
.crumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  height:44px;
  padding-left:calc(var(--gutter) + 44px);
  font-family:var(--font-mono);
  font-size:var(--fs-label);
  letter-spacing:.06em;
  color:var(--mist);
}
.crumb a{transition:color .18s var(--ease)}
.crumb a:hover{color:var(--signal-dim)}
.crumb .sep{color:var(--mist);opacity:.6;user-select:none}
.crumb .cur{color:var(--graphite)}

/* ---------- Hero: Copy oben, Skala full-width darunter ---------- */
.hero-lead{
  max-width:660px;
  padding-bottom:52px;
}
.hero-lead h1{font-size:clamp(38px,4.6vw,60px)}

.scale-panel{
  border:1px solid var(--hair-dark);
  border-radius:var(--radius-lg);
  background:
    linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,0)),
    #08131C;
  margin-bottom:64px;
}
.scale-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 16px;
  border-bottom:1px solid var(--hair-dark);
  font-family:var(--font-mono);
  font-size:var(--fs-label);
  letter-spacing:.06em;
  color:#A9BBC5;
}
.scale-head .key{
  display:flex;
  gap:20px;
  align-items:center;
  letter-spacing:var(--tr-label);
  text-transform:uppercase;
  color:var(--ink-text-2);
}
.scale-head .key i{
  display:inline-block;
  width:8px;height:8px;
  border-radius:50%;
  margin-right:7px;
  vertical-align:middle;
}
.scale-head .key .k-best i{background:var(--amber)}
.scale-head .key .k-std i{background:var(--signal)}
.scale-panel svg{
  display:block;
  width:100%;
  height:auto;
  padding:6px 0 4px;
}

/* ---------- Filterleiste ---------- */
.filters{
  border-top:1px solid var(--hair);
  border-bottom:1px solid var(--hair);
  padding:22px 0;
  margin-bottom:0;
}
.fgroup{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:12px;
  padding:7px 0;
}
.fgroup > .flabel{
  flex:0 0 132px;
  font-family:var(--font-mono);
  font-size:var(--fs-label);
  letter-spacing:var(--tr-label);
  text-transform:uppercase;
  color:var(--mist);
}
.chip{
  font-family:var(--font-mono);
  font-size:12.5px;
  letter-spacing:.02em;
  color:var(--mist);
  background:transparent;
  border:1px solid var(--hair);
  border-radius:var(--radius);
  padding:7px 13px;
  cursor:pointer;
  transition:border-color .18s var(--ease),color .18s var(--ease),
             background .18s var(--ease);
}
.chip:hover{border-color:var(--signal-dim);color:var(--signal-dim)}
.chip[aria-pressed="true"]{
  background:var(--graphite);
  border-color:var(--graphite);
  color:var(--paper);
}
.fcount{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-top:16px;
  margin-top:10px;
  border-top:1px solid var(--hair);
  font-family:var(--font-mono);
  font-size:var(--fs-label);
  letter-spacing:.06em;
  color:var(--mist);
}
.freset{
  color:var(--signal-dim);
  background:none;
  border:0;
  padding:0;
  font:inherit;
  cursor:pointer;
}
.freset[hidden]{display:none}

/* ---------- Sonden-Liste (Datenblatt-Zeilen) ---------- */
.probe-list{border-bottom:1px solid var(--hair)}
.probe{
  display:grid;
  grid-template-columns:minmax(210px,1.15fr) 2fr auto;
  gap:32px;
  align-items:start;
  padding:30px 0;
  border-bottom:1px solid var(--hair);
  transition:padding-left .22s var(--ease),background .18s var(--ease);
}
.probe:last-child{border-bottom:0}
.probe:hover{padding-left:10px;background:var(--paper-2)}
.probe[hidden]{display:none}

.probe .pfn{
  font-family:var(--font-mono);
  font-size:var(--fs-label);
  letter-spacing:var(--tr-label);
  text-transform:uppercase;
  color:var(--signal-dim);
  display:block;
  margin-bottom:9px;
}
.probe h3{font-size:22px}
.probe .pdesc{
  margin-top:4px;
  color:var(--mist);
  font-size:15.5px;
  line-height:1.6;
}
.probe .pmeta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 22px;
  margin-top:16px;
}
.probe .pmeta span{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.04em;
  color:var(--mist);
}
.probe .pmeta b{
  font-weight:500;
  color:var(--graphite);
}
.probe .pgo{
  align-self:center;
  font-family:var(--font-mono);
  font-size:12.5px;
  color:var(--signal-dim);
  white-space:nowrap;
  transition:transform .2s var(--ease);
}
.probe:hover .pgo{transform:translateX(4px)}

/* Kennwert-Block rechts in der Zeile */
.probe .pkey{
  display:grid;
  gap:2px;
  min-width:118px;
}
.probe .pkey .kv{
  font-family:var(--font-display);
  font-weight:700;
  font-size:22px;
  letter-spacing:-.01em;
  color:var(--graphite);
}
.probe .pkey .kl{
  font-family:var(--font-mono);
  font-size:10.5px;
  letter-spacing:var(--tr-label);
  text-transform:uppercase;
  color:var(--mist);
}

/* leerer Filterzustand */
.empty{
  padding:56px 0;
  border-bottom:1px solid var(--hair);
  text-align:center;
}
.empty p{color:var(--mist);font-size:15.5px}
.empty[hidden]{display:none}

/* ---------- responsive ---------- */
@media (max-width:860px){
  .crumb{height:auto;padding:12px var(--gutter);row-gap:4px}
  .hero-lead{padding-bottom:38px}
  .scale-panel{margin-bottom:44px;overflow-x:auto}
  .scale-panel svg{min-width:680px}
  .scale-head{flex-direction:column;align-items:flex-start;gap:8px}
  .fgroup > .flabel{flex:0 0 100%}
  .probe{grid-template-columns:1fr;gap:16px;padding:26px 0}
  .probe .pkey{min-width:0}
  .probe .pgo{align-self:start}
}
