/* Investment casting calculators.
   Palette and radii match the finder plugin's sheet so the tools do not look
   bolted on. Every colour is stated rather than inherited: this block renders
   inside a page template whose ink colour is not knowable from here. */

.icc{
  --icc-ink:#191c1d; --icc-mute:#5b5f64; --icc-line:#D1D5DB;
  --icc-bg:#f8f9fa; --icc-surface:#ffffff;
  --icc-primary:#0a2540; --icc-accent:#345076;
  --icc-ok:#1B5E20; --icc-warn:#8a5810; --icc-bad:#ba1a1a;
  --icc-radius:4px;
  color:var(--icc-ink); font-size:15px; line-height:1.55;
}
.icc *{box-sizing:border-box}

/* ── Jump nav ─────────────────────────────────────────────────────────── */
.icc-nav{
  display:flex;flex-wrap:wrap;gap:8px;
  padding:0 0 18px;margin:0 0 28px;border-bottom:1px solid var(--icc-line);
}
.icc-nav-link{
  display:inline-block;padding:7px 14px;border:1px solid var(--icc-line);
  border-radius:999px;background:var(--icc-surface);
  font-size:13.5px;font-weight:600;color:var(--icc-accent);text-decoration:none;
  transition:border-color .12s,background .12s,color .12s;
}
.icc-nav-link:hover{border-color:var(--icc-accent);background:var(--icc-bg)}
.icc-nav-link:focus-visible{outline:2px solid var(--icc-accent);outline-offset:2px}

/* ── Tool card ────────────────────────────────────────────────────────── */
.icc-tool{
  border:1px solid var(--icc-line);border-radius:var(--icc-radius);
  background:var(--icc-surface);padding:22px 24px 24px;margin:0 0 22px;
  scroll-margin-top:96px;
}
.icc-tool h2{margin:0 0 6px;font-size:19px;line-height:1.3;font-weight:700;color:var(--icc-ink)}
.icc-lead{margin:0 0 18px;font-size:14px;line-height:1.6;color:var(--icc-mute);max-width:72ch}

/* ── Inputs ───────────────────────────────────────────────────────────── */
.icc-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:14px 18px;margin:0 0 14px;
}
.icc-grid label{
  display:flex;flex-direction:column;gap:6px;
  font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  color:var(--icc-mute);min-width:0;
}
.icc-unit{
  margin-left:6px;font-weight:600;text-transform:none;letter-spacing:0;
  color:var(--icc-accent);
}
.icc-grid input,.icc-grid select{
  height:42px;padding:0 12px;width:100%;
  border:1.5px solid var(--icc-line);border-radius:var(--icc-radius);
  background:var(--icc-surface);color:var(--icc-ink);
  font:inherit;font-size:14px;font-weight:500;text-transform:none;letter-spacing:0;
}
.icc-grid select{padding-right:8px}
.icc-grid input:focus,.icc-grid select:focus{outline:2px solid var(--icc-accent);outline-offset:1px;border-color:var(--icc-accent)}

/* ── Result ───────────────────────────────────────────────────────────── */
.icc-out{
  display:block;margin:14px 0 0;padding:16px 18px;
  background:var(--icc-bg);border:1px solid var(--icc-line);
  border-left:3px solid var(--icc-accent);border-radius:var(--icc-radius);
  font-size:15px;line-height:1.6;color:var(--icc-ink);
}
.icc-out:empty{display:none}
.icc-out strong{font-weight:700;color:var(--icc-primary);font-variant-numeric:tabular-nums}
.icc-sub{color:var(--icc-mute);font-size:13px}
.icc-row{display:block;margin-top:8px;font-size:14px}
.icc-note{
  display:block;margin-top:12px;padding-top:10px;border-top:1px solid var(--icc-line);
  font-size:13px;line-height:1.55;color:var(--icc-mute);
}
.icc-need{color:var(--icc-mute);font-size:14px}
.icc-ok{color:var(--icc-ok);font-weight:650}
.icc-warn{color:var(--icc-warn);font-weight:650}
.icc-bad{color:var(--icc-bad);font-weight:650}

/* ── Hint / caveat ────────────────────────────────────────────────────── */
.icc-hint{
  margin:0;padding:12px 14px;
  background:var(--icc-bg);border:1px dashed var(--icc-line);border-radius:var(--icc-radius);
  font-size:13px;line-height:1.6;color:var(--icc-mute);
}
.icc-hint strong{color:var(--icc-ink);font-weight:700}

/* ── Density table ────────────────────────────────────────────────────── */
.icc-table-wrap{margin-top:18px;overflow-x:auto}
.icc-table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:520px}
.icc-table th,.icc-table td{
  padding:8px 12px;text-align:left;border-bottom:1px solid var(--icc-line);vertical-align:top;
}
.icc-table th{
  font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  color:var(--icc-mute);background:var(--icc-bg);
}
.icc-table td:nth-child(2){font-variant-numeric:tabular-nums;white-space:nowrap}

.icc-foot{
  margin:26px 0 0;padding-top:16px;border-top:1px solid var(--icc-line);
  font-size:13px;line-height:1.6;color:var(--icc-mute);
}

@media (max-width:640px){
  .icc-tool{padding:18px 16px 20px}
  .icc-grid{grid-template-columns:1fr}
  .icc-nav{gap:6px}
  .icc-nav-link{font-size:12.5px;padding:6px 11px}
}
