/* Casting Finder + catalog + TOC + FAQ — lostwaxcasting.net
   CSS-standard only, minimal decoration, no emoji glyphs in content. */
:root{
  --icf-primary:#000f22;        /* steel blue */
  --icf-primary-2:#345076;
  --icf-accent:#C68119;         /* precision orange — fills and large text */
  --icf-accent-ink:#8a5810;     /* same hue, readable as text on white (4.9:1) */
  --icf-ink:#191c1d;
  --icf-muted:#5b5f64;
  --icf-line:#D1D5DB;
  --icf-bg:#f8f9fa;
  /* Was corrupted to `#icficf` by a global rename that rewrote every `fff`
     run, including the ones inside hex colours. An invalid value makes the
     custom property compute to nothing, so .icf-config lost its background
     entirely and the finder sat transparent on the dark hero. */
  --icf-surface:#ffffff;
  --icf-radius:4px;
}
.icf-config *,.icf-page *{box-sizing:border-box}

/* ── Configurator ─────────────────────────────────────────── */
.icf-config{background:var(--icf-surface);border:1px solid var(--icf-line);border-radius:var(--icf-radius);overflow:hidden}
.icf-config-inner{padding:clamp(18px,3vw,30px)}
.icf-config-banner{background:linear-gradient(135deg,#000f22 0%,#345076 100%);border:0;color:#fff}
.icf-config-banner .icf-config-title,.icf-config-banner .icf-config-sub{color:#fff}
.icf-config-banner .icf-form,.icf-config-banner .icf-step{color:var(--icf-ink)}
.icf-config-head{text-align:center;margin-bottom:18px}
.icf-config-title{font-size:clamp(20px,3vw,28px);font-weight:800;margin:0 0 6px;color:var(--icf-ink)}
.icf-config-sub{margin:0;color:var(--icf-muted);font-size:15px}
.icf-config-banner .icf-config-sub{color:rgba(255,255,255,.85)}

.icf-steps{list-style:none;display:flex;gap:8px;justify-content:center;padding:0;margin:0 0 22px;flex-wrap:wrap}
.icf-steps li{font-size:13px;font-weight:600;color:var(--icf-muted);padding:6px 14px;border-radius:999px;background:var(--icf-bg);border:1px solid var(--icf-line)}
.icf-steps li.is-active{background:var(--icf-primary);color:#fff;border-color:var(--icf-primary)}
.icf-config-banner .icf-steps li{background:rgba(255,255,255,.15);color:#fff;border-color:transparent}
.icf-config-banner .icf-steps li.is-active{background:#fff;color:var(--icf-primary)}

.icf-step{display:none}
.icf-step.is-active{display:block}
.icf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.icf-grid-2{grid-template-columns:repeat(2,1fr)}
.icf-grid-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:780px){.icf-grid,.icf-grid-2,.icf-grid-3{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.icf-grid,.icf-grid-2,.icf-grid-3{grid-template-columns:1fr}}
.icf-config-banner .icf-grid{background:#fff;padding:18px;border-radius:4px}

.icf-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.icf-lbl{font-size:12px;font-weight:700;color:var(--icf-ink);text-transform:uppercase;letter-spacing:.3px}
.icf-input{height:42px;padding:0 12px;border:1.5px solid var(--icf-line);border-radius:4px;font-size:14px;font-family:inherit;background:#fff;color:var(--icf-ink);width:100%}
textarea.icf-input{height:auto;padding:10px 12px}
.icf-input:focus{outline:none;border-color:var(--icf-primary);box-shadow:0 1px 2px rgba(0,15,34,.06)}
.icf-advanced{margin-top:14px;border:1px dashed var(--icf-line);border-radius:4px;padding:10px 14px}
.icf-advanced summary{cursor:pointer;font-weight:600;font-size:13px;color:var(--icf-primary)}
.icf-advanced .icf-grid-3{margin-top:12px}
/* Homepage banner only: Advanced filters text light on the blue background */
.icf-config-banner .icf-advanced summary{color:#fff}
.icf-config-banner .icf-advanced{border-color:rgba(255,255,255,.45)}

.icf-actions{display:flex;gap:12px;justify-content:center;margin-top:20px;flex-wrap:wrap}
.icf-btn{border:0;border-radius:4px;font-weight:700;font-size:15px;padding:0 24px;height:46px;cursor:pointer;font-family:inherit;transition:transform .12s,opacity .15s}
.icf-btn:hover{transform:translateY(-1px)}
.icf-btn-primary{background:var(--icf-accent);color:#fff}
.icf-btn-secondary{background:var(--icf-primary);color:#fff}
.icf-btn-ghost{background:transparent;border:1.5px solid var(--icf-line);color:var(--icf-ink)}

/* Results */
.icf-results{display:flex;flex-direction:column;gap:14px}
.icf-result-card{border:1px solid var(--icf-line);border-radius:6px;padding:16px 18px;background:#fff}
.icf-result-card.is-top{border-color:var(--icf-primary);box-shadow:0 1px 2px rgba(0,15,34,.06)}
.icf-result-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.icf-result-model{font-size:18px;font-weight:800;margin:0;color:var(--icf-ink)}
.icf-result-model a{color:inherit;text-decoration:none}
.icf-match{text-align:right;min-width:120px}
.icf-match-pct{font-size:22px;font-weight:800;color:var(--icf-primary)}
.icf-match-bar{height:8px;border-radius:4px;background:var(--icf-bg);overflow:hidden;margin-top:4px}
.icf-match-bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--icf-primary),var(--icf-primary-2))}
.icf-result-specs{list-style:none;padding:0;margin:12px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px 16px;font-size:13px;color:var(--icf-muted)}
@media(max-width:600px){.icf-result-specs{grid-template-columns:1fr 1fr}}
.icf-result-specs strong{color:var(--icf-ink)}
.icf-result-notes{margin:10px 0 0;font-size:12.5px;color:var(--icf-accent)}
.icf-result-actions{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}
.icf-result-actions .icf-btn{height:40px;font-size:14px}

.icf-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.icf-fieldset{border:1px solid var(--icf-line);border-radius:4px;padding:14px 16px;margin:0 0 16px}
.icf-fieldset legend{font-weight:700;padding:0 6px;color:var(--icf-primary)}
/* Sized explicitly rather than inherited from h3, because in compact mode
   this is a <p>: the caller's section already supplies the heading, and a
   second heading with the same text put a duplicate entry in the table of
   contents. Same look either way. */
.icf-form-title{margin:0 0 14px;font-size:1.17em;line-height:1.3}
.icf-form-msg{margin-top:12px;font-weight:600}
.icf-form-msg.ok{color:#15803d}.icf-form-msg.err{color:var(--icf-accent)}
.icf-selected-model{background:var(--icf-bg);border:1px solid var(--icf-line);border-radius:4px;padding:10px 14px;margin-bottom:14px;font-weight:600}
.icf-captcha{display:flex;align-items:center;justify-content:center;gap:12px;margin:6px 0 -2px}
.icf-captcha-img{display:block;width:136px;height:46px;border:1px solid var(--icf-line);border-radius:4px;background:#fff}
.icf-captcha-answer{max-width:104px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}
.icf-config-compact .icf-step-1,.icf-config-compact .icf-step-2{display:none}
@media(max-width:520px){.icf-captcha{justify-content:flex-start}.icf-captcha-answer{max-width:96px}}

/* ── Product / archive pages ──────────────────────────────── */
.icf-page{max-width:1180px;margin:0 auto;padding:24px 20px 60px}
.icf-breadcrumb{font-size:13px;color:var(--icf-muted);margin-bottom:18px;display:flex;gap:8px;flex-wrap:wrap}
.icf-breadcrumb a{color:var(--icf-primary);text-decoration:none}
.icf-product-layout{display:grid;grid-template-columns:240px 1fr;gap:36px;align-items:start}
@media(max-width:900px){.icf-product-layout{grid-template-columns:1fr}.icf-side{display:none}}
.icf-eyebrow{text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:700;color:var(--icf-accent);margin:0 0 6px}
.icf-product-title{font-size:clamp(24px,4vw,34px);font-weight:800;margin:0 0 10px;line-height:1.2}
.icf-product-excerpt{color:var(--icf-muted);font-size:16px;margin:0 0 22px}
.icf-spec-table{width:100%;border-collapse:collapse;margin:0 0 28px;font-size:14px}
.icf-spec-table th,.icf-spec-table td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--icf-line)}
.icf-spec-table th{width:38%;color:var(--icf-muted);font-weight:600}
.icf-article-body h2{font-size:22px;margin:30px 0 12px;scroll-margin-top:90px}
.icf-article-body h3{font-size:18px;margin:22px 0 10px;scroll-margin-top:90px}
.icf-article-body p,.icf-article-body li{font-size:15.5px;line-height:1.7;color:#43474d}
.icf-article-body ul{padding-left:20px}

/* TOC */
/* Offset from the site's fixed header + sticky sub-nav rather than a
   hardcoded figure, so this panel is never parked underneath them. */
.icf-side{position:sticky;top:calc(var(--lwc-chrome-h, 120px) + 16px);max-height:calc(100vh - var(--lwc-chrome-h, 120px) - 32px);overflow-y:auto;overscroll-behavior:contain}
.icf-toc{border-left:2px solid var(--icf-line);padding-left:16px}
.icf-toc-title{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--icf-muted);font-weight:700;margin:0 0 10px}
.icf-toc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.icf-toc-list a{color:var(--icf-muted);text-decoration:none;font-size:13.5px;line-height:1.4;display:block;border-left:2px solid transparent;margin-left:-18px;padding-left:16px}
.icf-toc-list a:hover{color:var(--icf-ink)}
.icf-toc-list a.is-active{color:var(--icf-primary);border-left-color:var(--icf-primary);font-weight:600}
.icf-toc-list .lvl-3{padding-left:28px;font-size:13px}
.icf-toc-list .lvl-4{padding-left:38px;font-size:12.5px}

/* FAQ */
.icf-faq{margin-top:36px}
.icf-faq h2{font-size:22px;margin:0 0 14px}
.icf-faq-item{border:1px solid var(--icf-line);border-radius:4px;margin-bottom:10px;background:#fff}
.icf-faq-item summary{cursor:pointer;font-weight:600;padding:13px 16px;font-size:15px}
.icf-faq-a{padding:0 16px 14px;color:#43474d;font-size:14.5px;line-height:1.65}

/* Archive grids */
.icf-archive-head{margin-bottom:26px}
.icf-archive-title{font-size:clamp(26px,4vw,38px);font-weight:800;margin:0 0 10px}
.icf-archive-intro{color:var(--icf-muted);font-size:16px;max-width:760px;line-height:1.6}
.icf-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:40px}
.icf-type-card{display:block;border:1px solid var(--icf-line);border-radius:6px;padding:18px;text-decoration:none;background:#fff;transition:border-color .15s,box-shadow .15s}
.icf-type-card:hover{border-color:var(--icf-primary);box-shadow:0 1px 2px rgba(0,15,34,.06)}
.icf-type-card-title{font-size:17px;font-weight:700;color:var(--icf-ink);margin:0 0 8px}
.icf-type-card-desc{font-size:13.5px;color:var(--icf-muted);margin:0 0 12px;line-height:1.5}
.icf-type-card-count{font-size:12px;font-weight:700;color:var(--icf-accent)}
.icf-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.icf-product-card{border:1px solid var(--icf-line);border-radius:6px;background:#fff;transition:border-color .15s,box-shadow .15s}
.icf-product-card:hover{border-color:var(--icf-primary);box-shadow:0 1px 2px rgba(0,15,34,.06)}
.icf-product-card-link{display:block;height:100%;padding:18px;text-decoration:none}
.icf-product-card-body{display:grid;grid-template-columns:minmax(0,1fr) 128px;gap:14px;align-items:end;min-height:170px}
.icf-product-card-copy{min-width:0}
.icf-product-card-model{font-size:16px;font-weight:800;color:var(--icf-ink);margin:0 0 12px}
.icf-product-card-specs{list-style:none;margin:0 0 12px;padding:0;font-size:13px;color:var(--icf-muted);display:flex;flex-direction:column;gap:4px}
.icf-product-card-specs strong{color:var(--icf-ink);font-weight:600}
.icf-product-card-cta{font-size:13px;font-weight:700;color:var(--icf-primary)}
.icf-product-card-thumb{display:block;align-self:end;width:128px;aspect-ratio:4/3;border:1px solid var(--icf-line);border-radius:4px;background:#f8f9fa;overflow:hidden}
.icf-product-card-thumb img{display:block;width:100%;height:100%;object-fit:contain;padding:6px}
@media(max-width:980px){.icf-type-grid,.icf-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.icf-type-grid,.icf-product-grid{grid-template-columns:1fr}.icf-product-card-body{grid-template-columns:minmax(0,1fr) 112px}.icf-product-card-thumb{width:112px}}
.icf-archive-cta{margin-top:48px;padding-top:32px;border-top:1px solid var(--icf-line)}
.icf-archive-cta h2{font-size:24px;margin:0 0 8px}
.icf-archive-cta>p{color:var(--icf-muted);margin:0 0 20px;max-width:680px}

/* ── Tab navigation ───────────────────────────────────────── */
.icf-tab-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;border-bottom:2px solid var(--icf-line);padding-bottom:0}
.icf-tab{display:inline-block;padding:10px 18px;font-size:14px;font-weight:600;color:var(--icf-muted);text-decoration:none;border-radius:4px 4px 0 0;border:1px solid transparent;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s,background .15s}
.icf-tab:hover{color:var(--icf-ink);background:var(--icf-bg)}
.icf-tab.is-active{color:var(--icf-primary);border-color:var(--icf-line);border-bottom-color:var(--icf-surface);background:var(--icf-surface)}
.icf-subtab-nav{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:24px}
.icf-subtab{display:inline-block;padding:6px 14px;font-size:13px;font-weight:600;color:var(--icf-muted);text-decoration:none;border:1.5px solid var(--icf-line);border-radius:999px;background:#fff;transition:color .15s,border-color .15s}
.icf-subtab:hover{border-color:var(--icf-primary);color:var(--icf-primary)}
.icf-subtab.is-active{background:var(--icf-primary);color:#fff;border-color:var(--icf-primary)}

/* ── 4-column product grid ────────────────────────────────── */
.icf-grid-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.icf-grid-4{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.icf-grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.icf-grid-4{grid-template-columns:1fr}}
.icf-product-card--acc{border-top:3px solid var(--icf-accent)}
.icf-product-card-badge{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--icf-accent);background:rgba(184,115,51,.07);padding:2px 8px;border-radius:4px;margin-bottom:8px}
.icf-no-results{color:var(--icf-muted);padding:32px 0;font-size:15px}

/* ── Finder empty state ───────────────────────────────────────
   Rendered inside .icf-results by finder.js when the match engine returns
   nothing. It lives on white inside the configurator and on the dark plate on
   the homepage, so every colour here is stated rather than inherited. */
.icf-results .icf-no-results{
  padding:22px 22px 20px;border:1px solid var(--icf-line);border-radius:var(--icf-radius);
  background:var(--icf-surface);color:var(--icf-ink);
}
.icf-nr-title{margin:0 0 8px;font-size:16px;line-height:1.35;font-weight:700;color:var(--icf-ink)}
.icf-nr-lead{margin:0 0 14px;font-size:13.5px;line-height:1.55;color:var(--icf-muted);max-width:60ch}
.icf-nr-filters{
  list-style:none;margin:0 0 14px;padding:12px 14px;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px 16px;
  background:var(--icf-bg);border:1px dashed var(--icf-line);border-radius:var(--icf-radius);
}
.icf-nr-filters li{min-width:0}
.icf-nr-filters span{
  display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;
  color:var(--icf-muted);
}
.icf-nr-filters strong{
  display:block;font-size:13px;font-weight:600;color:var(--icf-ink);
  overflow:hidden;text-overflow:ellipsis;
}
.icf-nr-hint{margin:0 0 14px;font-size:12.5px;line-height:1.55;color:var(--icf-muted);max-width:60ch}
.icf-nr-actions{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:480px){
  .icf-results .icf-no-results{padding:18px 16px}
  .icf-nr-filters{grid-template-columns:1fr}
  .icf-nr-actions .icf-btn{width:100%}
}

/* ── Pagination ───────────────────────────────────────────── */
.icf-pagination{margin:36px 0 0;display:flex;justify-content:center}
.icf-pagination .nav-links{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.icf-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border:1.5px solid var(--icf-line);border-radius:4px;font-size:14px;font-weight:600;color:var(--icf-muted);text-decoration:none;background:#fff;transition:border-color .15s,color .15s,background .15s}
.icf-pagination .page-numbers:hover{border-color:var(--icf-primary);color:var(--icf-primary)}
.icf-pagination .page-numbers.current{background:var(--icf-primary);border-color:var(--icf-primary);color:#fff}
.icf-pagination .page-numbers.dots{border-color:transparent;background:transparent;pointer-events:none}
.icf-pagination .prev,.icf-pagination .next{font-size:13px;padding:0 14px}


/* ── v3.0.1 additions: sidebar tech-library panel, accessories block,
      same-type product navigation ─────────────────────────────────────── */

/* Sidebar panel under the sticky TOC */
.icf-side-panel{margin-top:22px;padding-top:18px;border-top:1px solid var(--icf-line)}
.icf-side-panel-title{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--icf-muted);font-weight:700;margin:0 0 12px}
.icf-techlib-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.icf-techlib-list a{display:block;text-decoration:none;border:1px solid var(--icf-line);border-radius:4px;padding:10px 12px;transition:border-color .15s,box-shadow .15s,transform .12s}
.icf-techlib-list a:hover{border-color:var(--icf-primary);box-shadow:0 1px 2px rgba(0,15,34,.06);transform:translateY(-1px)}
.icf-techlib-link-title{display:block;font-weight:700;font-size:13.5px;color:var(--icf-primary);line-height:1.3;margin-bottom:3px}
.icf-techlib-link-desc{display:block;font-size:12px;color:var(--icf-muted);line-height:1.4}

/* Accessories & components block */
.icf-acc-section{margin-top:40px;padding-top:30px;border-top:1px solid var(--icf-line)}
.icf-acc-section h2{font-size:22px;margin:0 0 8px}
.icf-acc-intro{color:var(--icf-muted);font-size:14.5px;margin:0 0 20px;max-width:680px;line-height:1.6}
.icf-acc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.icf-acc-card{display:block;border:1px solid var(--icf-line);border-radius:6px;padding:16px;text-decoration:none;background:#fff;transition:border-color .15s,box-shadow .15s,transform .12s}
.icf-acc-card:hover{border-color:var(--icf-accent);box-shadow:0 1px 2px rgba(0,15,34,.06);transform:translateY(-2px)}
.icf-acc-card-title{font-size:15px;font-weight:700;color:var(--icf-ink);margin:0 0 6px}
.icf-acc-card-desc{font-size:12.5px;color:var(--icf-muted);line-height:1.45;margin:0 0 10px}
.icf-acc-card-count{font-size:11.5px;font-weight:700;color:var(--icf-accent)}

/* Same-type previous / next navigation */
.icf-stn{margin-top:36px;padding-top:26px;border-top:1px solid var(--icf-line)}
.icf-stn-title{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--icf-muted);font-weight:700;margin:0 0 14px}
.icf-stn-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){.icf-stn-row{grid-template-columns:1fr}}
.icf-stn-card{display:flex;flex-direction:column;gap:4px;border:1px solid var(--icf-line);border-radius:6px;padding:16px 18px;text-decoration:none;background:#fff;transition:border-color .15s,box-shadow .15s,transform .12s}
.icf-stn-card:hover{border-color:var(--icf-primary);box-shadow:0 1px 2px rgba(0,15,34,.06);transform:translateY(-2px)}
.icf-stn-next{text-align:right;align-items:flex-end}
.icf-stn-dir{font-size:12px;font-weight:700;color:var(--icf-accent);text-transform:uppercase;letter-spacing:.4px}
.icf-stn-model{font-size:16px;font-weight:800;color:var(--icf-ink)}
.icf-stn-meta{font-size:12.5px;color:var(--icf-muted)}

/* ── lostwaxcasting.net casting additions: archive subnav, product header, layout ── */
.icf-main{min-width:0}
.icf-product-head{margin-bottom:18px}
.icf-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--icf-primary);font-weight:700;margin:0 0 6px}
.icf-product-excerpt{color:var(--icf-muted);font-size:16px;line-height:1.6;margin:6px 0 0}
.icf-subnav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.icf-subnav-link{display:inline-block;padding:7px 14px;border:1px solid var(--icf-line);border-radius:999px;text-decoration:none;color:var(--icf-ink);font-size:13.5px;font-weight:600;background:#fff;transition:border-color .15s,color .15s,background .15s}
.icf-subnav-link:hover{border-color:var(--icf-primary);color:var(--icf-primary);background:var(--icf-bg)}
.icf-techlib-panel{margin-top:0}
.icf-config-compact .icf-config-inner{padding:0}
.aes-rec-grid{margin-top:18px}
/* Hero accent handled by theme; plugin keeps neutral surfaces */

/* ── Pagination (core the_posts_pagination output) ─────────────────────── */
.icf-page .navigation.pagination,.icf-page nav.pagination,.icf-archive-page .pagination{margin:38px 0 6px}
.icf-page .nav-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center}
.icf-page .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 14px;border:1px solid var(--icf-line);border-radius:4px;text-decoration:none;color:var(--icf-ink);font-weight:600;background:#fff;line-height:1;transition:border-color .15s,color .15s,background .15s}
.icf-page .page-numbers:hover{border-color:var(--icf-primary);color:var(--icf-primary)}
.icf-page .page-numbers.current{background:var(--icf-primary);color:#fff;border-color:var(--icf-primary)}
.icf-page .page-numbers.dots{border-color:transparent;background:transparent;min-width:auto;padding:0 4px}
.icf-page .page-numbers.prev,.icf-page .page-numbers.next{font-weight:700}

/* ── In-content product image ──────────────────────────────────────────── */
.icf-product-figure{margin:18px 0 24px;border:1px solid var(--icf-line);border-radius:6px;overflow:hidden;background:var(--icf-bg)}
.icf-product-figure img{display:block;width:100%;height:auto}
.icf-product-figure figcaption{padding:10px 14px;font-size:13px;color:var(--icf-muted);border-top:1px solid var(--icf-line);background:#fff}

/* ── Accessories module (rendered last) ────────────────────────────────── */
.icf-acc-section{margin-top:42px;padding-top:30px;border-top:2px solid var(--icf-line)}
.icf-acc-section h2{font-size:22px;margin:0 0 8px}
.icf-acc-intro{color:var(--icf-muted);font-size:14.5px;margin:0 0 18px;max-width:680px;line-height:1.6}
.icf-acc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.icf-acc-card{border:1px solid var(--icf-line);border-radius:6px;padding:15px 16px;background:#fff}
.icf-acc-card-title{font-size:15px;font-weight:700;color:var(--icf-ink);margin:0 0 6px}
.icf-acc-card-desc{font-size:13px;color:var(--icf-muted);line-height:1.5;margin:0}

/* ── Casting-specific additions ──────────────────────────────────────── */
.icf-table-wrap{overflow-x:auto;margin:14px 0 22px;border:1px solid var(--icf-line);border-radius:6px}
.icf-spec-table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:520px}
.icf-spec-table th,.icf-spec-table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--icf-line);white-space:nowrap}
.icf-spec-table thead th{background:var(--icf-primary);color:#fff;font-weight:600;position:sticky;top:0}
.icf-spec-table tbody tr:nth-child(even){background:var(--icf-bg)}
.icf-related-links{margin:8px 0 0;padding-left:18px;line-height:1.9}
.icf-related-links a{color:var(--icf-primary);font-weight:600;text-decoration:none}
.icf-related-links a:hover{text-decoration:underline}
.icf-result-sub{margin:4px 0 0;color:var(--icf-muted);font-size:13px}
.icf-result-price{display:inline-block;margin:6px 0;font-weight:700;color:var(--icf-accent-ink)}
.icf-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--icf-primary);font-weight:700;margin:0 0 6px}
.icf-product-excerpt{color:var(--icf-muted);font-size:16px;line-height:1.6;margin:6px 0 0}
.icf-subnav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.icf-subnav-link{display:inline-block;padding:7px 14px;border:1px solid var(--icf-line);border-radius:999px;text-decoration:none;color:var(--icf-ink);font-size:13.5px;font-weight:600;background:#fff}
.icf-subnav-link:hover{border-color:var(--icf-primary);color:var(--icf-primary)}
.icf-side-list{list-style:none;margin:0;padding:0}
.icf-side-list li{border-bottom:1px solid var(--icf-line)}
.icf-side-list a{display:block;padding:9px 0;text-decoration:none;color:var(--icf-ink)}
.icf-side-link-title{display:block;font-weight:600;font-size:13.5px}
.icf-side-link-meta{display:block;font-size:12px;color:var(--icf-muted)}
.icf-page .nav-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;margin:30px 0}
.icf-page .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 14px;border:1px solid var(--icf-line);border-radius:4px;text-decoration:none;color:var(--icf-ink);font-weight:600;background:#fff}
.icf-page .page-numbers.current{background:var(--icf-primary);color:#fff;border-color:var(--icf-primary)}
.icf-page .page-numbers:hover{border-color:var(--icf-primary);color:var(--icf-primary)}

/* ── Technical drawing (SVG schematic) ────────────────────────────────── */
.icf-drawing-section{margin:22px 0 26px}
.icf-dw-help{color:var(--icf-muted);font-size:14px;margin:0 0 12px}
.icf-drawing{border:1px solid var(--icf-line);border-radius:6px;background:#fff;padding:14px}
.icf-dw-svg{display:block;width:100%;max-width:560px;margin:0 auto;height:auto;background:repeating-linear-gradient(0deg,#f8f9fa,#f8f9fa 19px,#f3f4f5 20px),repeating-linear-gradient(90deg,#f8f9fa,#f8f9fa 19px,#f3f4f5 20px);border-radius:4px}
/* Parametric drawing — controls grid */
.icf-drawing{position:relative}
.icf-dw-help{margin:6px 0 14px;font-size:13.5px;color:var(--icf-muted);line-height:1.55}
.icf-dw-svg{display:block;width:100%;height:auto;max-height:340px;background:linear-gradient(180deg,#f8f9fa,#f8f9fa);border:1px solid var(--icf-line);border-radius:6px;padding:10px}
.icf-dw-caption{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px 14px;margin:10px 0 16px;padding:10px 14px;background:#f8f9fa;border:1px dashed var(--icf-line);border-radius:4px;font-size:13px;color:var(--icf-ink)}
.icf-dw-caption span{display:block;line-height:1.45}
.icf-dw-caption strong{color:var(--icf-muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.3px;display:block}
.icf-dw-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px 14px;margin:14px 0 4px;padding:14px 16px;background:#fff;border:1px solid var(--icf-line);border-radius:6px;box-shadow:0 1px 2px rgba(0,15,34,.06)}
.icf-dw-lbl{display:flex;flex-direction:column;gap:5px;font-size:13px}
.icf-dw-lbl-text{font-weight:600;color:var(--icf-ink);font-size:12.5px;letter-spacing:.2px}
.icf-dw-controls select{width:100%;padding:8px 30px 8px 11px;border:1px solid var(--icf-line);border-radius:4px;font-size:14px;line-height:1.3;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'><path fill='%231f3a5f' d='M6 8 0 0h12z'/></svg>") no-repeat right 10px center/10px 7px;appearance:none;-webkit-appearance:none;color:var(--icf-ink);cursor:pointer;transition:border-color .15s,box-shadow .15s}
.icf-dw-controls select:hover{border-color:var(--icf-primary)}
.icf-dw-controls select:focus{outline:none;border-color:var(--icf-primary);box-shadow:0 1px 2px rgba(0,15,34,.06)}
.icf-dw-rfq{margin:14px 0 4px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.icf-dw-rfq-hint{font-size:13px;color:var(--icf-muted)}
.icf-dw-quote{flex-shrink:0}
@media(max-width:600px){.icf-dw-controls{grid-template-columns:1fr 1fr;padding:12px 14px;gap:10px}.icf-dw-caption{grid-template-columns:1fr 1fr;font-size:12.5px}.icf-dw-rfq{flex-direction:column;align-items:stretch}.icf-dw-quote{width:100%}}
@media(max-width:380px){.icf-dw-controls,.icf-dw-caption{grid-template-columns:1fr}}

/* Selected-configuration panel inside the inquiry form */
.icf-selected-model{display:none;margin:0 0 14px;padding:12px 16px 14px;background:linear-gradient(180deg,#f4f8fc,#fff);border:1px solid var(--icf-primary);border-left:4px solid var(--icf-primary);border-radius:4px}
.icf-selected-model.is-on{display:block}
.icf-sel-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}
.icf-sel-title{font-weight:700;color:var(--icf-primary);font-size:14px;letter-spacing:.2px;text-transform:uppercase;margin:0}
.icf-sel-sub{font-size:12.5px;color:var(--icf-muted)}
.icf-sel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px 16px;margin:0;padding:0;list-style:none;font-size:13.5px}
.icf-sel-grid li{line-height:1.4}
.icf-sel-grid .k{display:block;font-size:11.5px;color:var(--icf-muted);text-transform:uppercase;letter-spacing:.3px;font-weight:600;margin-bottom:1px}
.icf-sel-grid .v{display:block;color:var(--icf-ink);font-weight:600}
@media(max-width:520px){.icf-sel-grid{grid-template-columns:1fr 1fr}}
.icf-dw-caption{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:center;margin-top:12px;font-size:12.5px;color:var(--icf-muted)}
.icf-dw-caption span strong{color:var(--icf-ink)}
/* SVG primitives */
/* ── Line types, ISO 128 ────────────────────────────────────────────────
   Type A  visible outline      continuous thick
   Type B  dimension / hatch    continuous thin
   Type E  hidden               dashed thin
   Type G  centre / pitch       long chain thin (dash-dot)
   The thick:thin ratio is 2:1. Everything is monochrome — a drawing that
   colours its dimensions reads as an infographic, not as a drawing. */
.fs-ln{fill:none;stroke:#191c1d;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.fs-thin{fill:none;stroke:#191c1d;stroke-width:.75}
.fs-cl{stroke:#191c1d;stroke-width:.65;stroke-dasharray:14 3 2.5 3;fill:none}
/* Minor diameter of a thread: ISO 6410 says thin CONTINUOUS, not dashed. */
.fs-thr{stroke:#191c1d;stroke-width:.75;fill:none}
.fs-hatch{stroke:#191c1d;stroke-width:.6;fill:none}
.fs-dim{fill:none;stroke:#191c1d;stroke-width:.7}
.fs-ext{fill:none;stroke:#191c1d;stroke-width:.7}
.fs-arrow{fill:#191c1d;stroke:none}
.fs-dot{fill:var(--icf-primary)}
.fs-tx{fill:#191c1d;font-size:10.5px;font-family:"ISOCPEUR","osifont",ui-monospace,Menlo,Consolas,monospace;letter-spacing:.02em}
.fs-sub{fill:var(--icf-muted);font-size:10px}
.fs-title{fill:var(--icf-ink);font-size:11px;font-weight:600}
.icf-result-drawing{margin-top:12px;border-top:1px dashed var(--icf-line);padding-top:12px}

/* refined thread + control layout */
/* Kept as an alias so older renderers that still ask for the dashed minor
   diameter get the correct thin continuous line instead. */
.fs-thr-d{stroke:#191c1d;stroke-width:.75;fill:none}
/* Hidden edge (feature behind the cutting plane) — dashed, per ISO 128.
   Used by the coupling-nut through-thread and the shaft-collar set-screw hole. */
.fs-hid{fill:none;stroke:#191c1d;stroke-width:.75;stroke-dasharray:6 3}

/* product page layout: schematic → RFQ → spec table */
.icf-quote-section{margin:22px 0;padding:18px 20px;background:var(--icf-bg);border:1px solid var(--icf-line);border-radius:6px}
.icf-quote-section h2{margin-top:0}
.icf-quote-help{margin:0 0 14px;color:var(--icf-muted);font-size:14px}
.icf-spec-section{margin:22px 0}
.icf-spec-help{margin:0 0 8px;color:var(--icf-muted);font-size:13px}
@media(max-width:600px){.icf-quote-section{padding:14px 16px}}

/* Tip lists used in SEO body sections */
.icf-bullets{margin:8px 0;padding-left:22px;list-style:disc}
.icf-bullets li{margin:6px 0;line-height:1.55}

/* Clickable spec-table rows — when the Casting SEO Pages plugin is active,
   each row that maps to a /guide/size/{size}-{product}/ page becomes a link.
   The whole <tr> reacts to hover/click; the first cell carries the real <a>. */
.icf-spec-table--linked tbody tr.icf-row-link{cursor:pointer;transition:background-color .12s ease}
.icf-spec-table--linked tbody tr.icf-row-link:hover,
.icf-spec-table--linked tbody tr.icf-row-link:focus{background:#edeeef;outline:none}
.icf-spec-table--linked tbody tr.icf-row-link:focus-within{background:#edeeef}
.icf-spec-table--linked tbody tr.icf-row-link .icf-row-link__a{color:var(--icf-primary,#345076);text-decoration:none;font-weight:600}
.icf-spec-table--linked tbody tr.icf-row-link:hover .icf-row-link__a{text-decoration:underline}
.icf-spec-table--linked tbody tr.icf-row-link::after{display:none}
.icf-spec-table--linked tbody tr.icf-row-link td:first-child{position:relative}

/* ═══ Answer-first spec summary (1.8.0) ══════════════════════════════════ */
.icf-answer { border-left:3px solid #345076; padding:0 0 0 1.15rem; margin:1.4rem 0 2rem; }
.icf-answer-lead { font-size:1.0625rem; line-height:1.65; color:#191c1d; margin:0 0 1rem; }
.icf-answer-points { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:.55rem 1.5rem; margin:0 0 .9rem; }
.icf-answer-point dt { font-size:.72rem; text-transform:uppercase; letter-spacing:.045em; color:#5b5f64; font-weight:600; margin:0 0 .1rem; }
.icf-answer-point dd { margin:0; font-size:1rem; color:#191c1d; font-weight:600; font-variant-numeric:tabular-nums; }
.icf-answer-note { font-size:.8125rem; line-height:1.5; color:#5b5f64; margin:0; }
@media (max-width:640px){ .icf-answer{padding-left:.9rem;} .icf-answer-lead{font-size:1rem;} }

/* ── Precision Industrial System alignment ─────────────────────────────── */
/* The finder is the densest tool on the site, so it leans hardest on the
   4/8px rhythm, hairline outlines and label-caps field labels. */
.icf-config{border-radius:4px}
.icf-config-banner{background:#000f22}
.icf-config-head{text-align:left}
.icf-config-title{font-size:clamp(24px,3vw,32px);font-weight:700;letter-spacing:-.015em}
.icf-config-sub{font-size:16px;line-height:24px}
.icf-eyebrow{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#C68119}
.icf-steps li{border-radius:2px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 10px}
.icf-lbl{letter-spacing:.1em;color:#43474d}
.icf-input{border-width:1px;border-radius:4px;height:40px}
.icf-input:focus{border-color:#345076;box-shadow:inset 0 0 0 1px #345076}
.icf-advanced{border-radius:4px}
.icf-btn{border-radius:4px;height:44px;font-size:14px;letter-spacing:.01em;
  transition:background-color .15s,border-color .15s,color .15s}
.icf-btn:hover{transform:none}
.icf-btn-primary{background:#C68119}
.icf-btn-primary:hover{background:#a86c12}
.icf-btn-secondary{background:#000f22}
.icf-btn-secondary:hover{background:#0a2540}
.icf-btn-ghost{border-width:1px;border-color:#D1D5DB;color:#000f22;background:#fff}
.icf-btn-ghost:hover{border-color:#345076;color:#345076}
/* Cards: border shift, not lift. */
.icf-product-card,.icf-type-card,.icf-acc-card,.icf-techlib-panel,.icf-toc{
  border-radius:4px;box-shadow:none;transition:border-color .15s}
.icf-product-card:hover,.icf-type-card:hover,.icf-acc-card:hover{
  border-color:#345076;box-shadow:none;transform:none}
.icf-product-card-model,.icf-type-card-title,.icf-acc-card-title{font-weight:700;font-size:16px}
.icf-type-card-count,.icf-acc-card-count{font-size:12px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:#5b5f64}
.icf-product-card-cta{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#345076}
/* Tabs read as a hairline rail with an engineering-blue active edge. */
.icf-tab-nav,.icf-subtab-nav{border-bottom:1px solid #D1D5DB;gap:0}
.icf-tab{border-radius:0;border:0;border-bottom:2px solid transparent;background:none;
  font-size:14px;font-weight:600;color:#43474d;padding:10px 16px}
.icf-tab:hover{color:#345076}
.icf-tab.is-active,.icf-tab[aria-selected="true"]{color:#345076;font-weight:700;
  border-bottom-color:#345076;background:none}
/* Data tables: steel header, zebra rows, horizontal scroll on mobile. */
.icf-table-wrap{border:1px solid #D1D5DB;border-radius:4px;overflow-x:auto}
.icf-table-wrap table{width:100%;border-collapse:collapse;font-size:14px;line-height:20px}
.icf-table-wrap th{background:#e1e3e4;color:#191c1d;font-size:12px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;text-align:left;padding:12px;
  border-bottom:1px solid #c4c6ce;white-space:nowrap}
.icf-table-wrap td{padding:12px;border-bottom:1px solid #D1D5DB}
.icf-table-wrap tbody tr:nth-child(even){background:#f8f9fa}
/* Standard markings and match meters. */
.icf-std,.icf-tag,.icf-match-pct{font-size:12px;font-weight:700;letter-spacing:.06em;
  border-radius:2px;background:#edeeef;color:#345076;padding:3px 7px}
.icf-match-bar{border-radius:2px;background:#e1e3e4;height:6px}
.icf-match-bar>span,.icf-match-bar i{background:#345076;border-radius:2px}
.icf-toc-title,.icf-form-title,.icf-archive-title{font-weight:700;letter-spacing:-.01em}
.icf-pagination a,.icf-pagination span{border-radius:4px;border:1px solid #D1D5DB;font-size:14px}
/* ── Banner variant: dark shell, light content ─────────────────────────────
   Only the header and the step rail sit on the dark shell. Every stage that
   holds real content — filters, matches, quote form — sits on a white plate.

   The plate sets a dark default color and each element then re-states its own
   role color (muted meta, accent price, blue emphasis) so the hierarchy inside
   the results survives; a blanket "make everything dark" would flatten it. */
.icf-config-banner .icf-config-title{color:#fff}
.icf-config-banner .icf-config-sub{color:rgba(255,255,255,.82)}
.icf-config-banner .icf-steps li{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22);color:#fff}
.icf-config-banner .icf-steps li.is-active{background:#C68119;border-color:#C68119;color:#fff}

/* The white plate. .icf-step wraps each of the three stages. */
.icf-config-banner .icf-step{background:#fff;color:#191c1d;padding:20px;border-radius:4px}
.icf-config-banner .icf-grid{background:transparent;padding:0;border-radius:0}

/* Ink roles inside the plate. */
.icf-config-banner .icf-step h2,
.icf-config-banner .icf-step h3,
.icf-config-banner .icf-step h4,
.icf-config-banner .icf-step strong,
.icf-config-banner .icf-result-model,
.icf-config-banner .icf-result-model a,
.icf-config-banner .icf-form-title,
.icf-config-banner .icf-selected-model,
.icf-config-banner .icf-result-specs strong{color:#191c1d}
.icf-config-banner .icf-step p,
.icf-config-banner .icf-step li,
.icf-config-banner .icf-result-sub,
.icf-config-banner .icf-result-specs,
.icf-config-banner .icf-result-specs li,
.icf-config-banner .icf-dw-help,
.icf-config-banner .icf-side-link-meta,
.icf-config-banner .icf-field-hint{color:#43474d}
.icf-config-banner .icf-lbl,
.icf-config-banner .icf-size-lbl,
.icf-config-banner .icf-step label{color:#43474d}
.icf-config-banner .icf-match-pct{color:#345076}
.icf-config-banner .icf-fieldset legend,
.icf-config-banner .icf-advanced summary{color:#345076}
/* Raised to beat the generic `.icf-step p` / `.icf-step span` rules above,
   and using the darker ink variant so small orange text clears 4.5:1. */
.icf-config-banner .icf-step .icf-result-price,
.icf-config-banner .icf-step .icf-result-notes{color:#8a5810}
.icf-config-banner .icf-form-msg.ok{color:#1B5E20}
.icf-config-banner .icf-form-msg.err{color:#ba1a1a}
.icf-config-banner .icf-no-results{color:#43474d}
/* The empty state on the dark hero plate: the card is white, so its own text
   colours have to be restated or they inherit the plate's white ink. */
.icf-config-banner .icf-nr-title{color:#16202b}
.icf-config-banner .icf-nr-lead,
.icf-config-banner .icf-nr-hint,
.icf-config-banner .icf-nr-filters span{color:#43474d}
.icf-config-banner .icf-nr-filters strong{color:#16202b}

/* Surfaces inside the plate. */
.icf-config-banner .icf-input{background:#fff;color:#191c1d;border-color:#D1D5DB}
.icf-config-banner .icf-input::placeholder{color:#74777e}
.icf-config-banner .icf-advanced,
.icf-config-banner .icf-fieldset,
.icf-config-banner .icf-result-card,
.icf-config-banner .icf-drawing{border-color:#D1D5DB;background:#fff}
.icf-config-banner .icf-result-card.is-top{border-color:#345076}
.icf-config-banner .icf-selected-model{background:#f8f9fa;border-color:#D1D5DB}
.icf-config-banner .icf-match-bar{background:#e1e3e4}
.icf-config-banner .icf-captcha-img{background:#fff;border-color:#D1D5DB}

/* Buttons on the white plate. */
.icf-config-banner .icf-btn-primary{background:#C68119;border:1px solid #C68119;color:#fff}
.icf-config-banner .icf-btn-primary:hover{background:#a86c12;border-color:#a86c12}
.icf-config-banner .icf-btn-secondary{background:#000f22;border:1px solid #000f22;color:#fff}
.icf-config-banner .icf-btn-secondary:hover{background:#0a2540;border-color:#0a2540}
.icf-config-banner .icf-btn-ghost{background:#fff;border:1px solid #D1D5DB;color:#000f22}
.icf-config-banner .icf-btn-ghost:hover{border-color:#345076;color:#345076}
/* Step 1 has a single action, so it spans the plate; steps 2 and 3 have two
   or more and keep their natural width. */
.icf-config-banner .icf-step-1 .icf-actions .icf-btn{width:100%}

/* In a narrow column — the hero, a sidebar — the six filters go two-up. */
.ehw-hero-tool .icf-grid,
.ehw-hero-tool .icf-grid-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ehw-hero-tool .icf-steps{display:flex;gap:6px;margin-bottom:16px}
.ehw-hero-tool .icf-steps li{font-size:11px;padding:5px 8px;letter-spacing:.06em}
.ehw-hero-tool .icf-actions{margin-top:16px}
.ehw-hero-tool .icf-result-specs{grid-template-columns:1fr 1fr}
@media(max-width:520px){
  .ehw-hero-tool .icf-grid,
  .ehw-hero-tool .icf-grid-3{grid-template-columns:1fr}
}

/* ── Result card: wrapper-independent colors, tighter layout ───────────────
   The colour rules above are scoped through `.icf-step`. If a caching layer
   ever serves a stale copy of part of this file, or a future markup change
   moves the results out of that wrapper, the text falls back to inheriting
   white from the dark hero. These rules key off the result card itself, so
   they hold regardless of what wraps it — a card is always on white. */
.icf-result-card{color:#191c1d}
.icf-result-card .icf-result-model,
.icf-result-card .icf-result-model a{color:#191c1d;text-decoration:none}
.icf-result-card .icf-result-sub{color:#43474d}
.icf-result-card .icf-result-specs,
.icf-result-card .icf-result-specs li{color:#43474d}
.icf-result-card .icf-result-specs strong{color:#191c1d}
.icf-result-card .icf-match-pct{color:#345076}
.icf-result-card .icf-result-price,
.icf-result-card .icf-result-notes{color:#8a5810}
.icf-result-card .icf-btn-ghost{color:#000f22;background:#fff;border:1px solid #D1D5DB}
.icf-result-card .icf-btn-primary{color:#fff}
.icf-result-card p{color:#43474d}

/* Denser card. The old one spent a lot of height on padding and on a match
   meter that sat in its own column. */
.icf-result-card{padding:14px 16px;border-radius:4px}
.icf-results{gap:10px}
.icf-result-top{align-items:center;gap:10px;flex-wrap:nowrap}
.icf-result-model{font-size:15px;line-height:20px;font-weight:700}
.icf-result-sub{margin:2px 0 0;font-size:12px;line-height:16px}
/* Match score becomes a compact chip instead of a column with a meter. */
.icf-match{min-width:0;flex:0 0 auto;text-align:right}
.icf-match-pct{display:inline-block;font-size:12px;font-weight:700;line-height:16px;
  padding:2px 7px;border-radius:2px;background:#edeeef;font-variant-numeric:tabular-nums}
.icf-match-bar{display:none}
/* Specs go two-up and lose a line of vertical space each. */
.icf-result-specs{margin:10px 0 0;gap:4px 14px;font-size:12px;line-height:16px;
  grid-template-columns:repeat(2,minmax(0,1fr))}
.icf-result-price{margin:8px 0 0;font-size:13px}
.icf-result-notes{margin:4px 0 0;font-size:12px;line-height:16px}
.icf-result-actions{margin-top:12px;gap:8px}
.icf-result-actions .icf-btn{height:34px;padding:0 12px;font-size:13px;
  display:inline-flex;align-items:center}
/* Inside the hero the panel is narrower still, so actions stack full width
   rather than wrapping into ragged rows. */
.ehw-hero-tool .icf-result-specs{grid-template-columns:repeat(2,minmax(0,1fr))}
.ehw-hero-tool .icf-result-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ehw-hero-tool .icf-result-actions .icf-btn{width:100%;justify-content:center}
.ehw-hero-tool .icf-result-actions .icf-btn:nth-child(3){grid-column:1 / -1}
.ehw-hero-tool .icf-config-inner{padding:20px}
.ehw-hero-tool .icf-config-banner .icf-step{padding:16px}

/* White on #C68119 is 3.20:1; the solid button fill uses the darker step so
   its label clears 4.5:1. Eyebrows and marks keep the bright value. */
.icf-btn-primary,
.icf-config-banner .icf-btn-primary,
.icf-result-card .icf-btn-primary{background:#9c6410;border-color:#9c6410;color:#fff}
.icf-btn-primary:hover,
.icf-config-banner .icf-btn-primary:hover{background:#8a5810;border-color:#8a5810}

/* ── Collapsible TOC branch ────────────────────────────────────────────────
   Sections marked [data-toc-collapse] (Materials & Grades) fold their
   sub-headings behind a twisty instead of listing dozens of them flat. */
.icf-toc-list .is-branch{position:relative;padding-left:18px}
.icf-toc-list .is-branch>a{display:inline-block}
.icf-toc-twist{position:absolute;left:0;top:3px;width:16px;height:16px;padding:0;
  border:0;background:none;cursor:pointer;color:#5b5f64;line-height:1}
.icf-toc-twist::before{content:"";display:block;width:6px;height:6px;margin:4px 0 0 3px;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(-45deg);transition:transform .15s}
.icf-toc-twist[aria-expanded="true"]::before{transform:rotate(45deg);margin-top:2px}
.icf-toc-twist:hover{color:#345076}
.icf-toc-twist::after{content:attr(data-count);position:absolute;left:20px;top:0;
  font-size:0;}
.icf-toc-sub{list-style:none;margin:4px 0 4px;padding:0 0 0 4px;
  border-left:1px solid #D1D5DB}
.icf-toc-sub[hidden]{display:none}
.icf-toc-sub a{font-size:12px;line-height:16px;color:#5b5f64}
.icf-toc-sub a:hover{color:#345076}

/* ═══════════════════════════════════════════════════════════════════════════
   TECHNICAL DRAWING — casting-drawing.js
   One <svg> per view in a responsive grid. The grid is what makes the mobile
   layout stack Front / Side / Section vertically instead of squeezing three
   drawings into a horizontal strip that gets cropped; the SVGs carry a
   viewBox and no fixed width, so each simply fills its cell.
   ═══════════════════════════════════════════════════════════════════════════ */
.icf-drawing{margin:8px 0 4px}
.ic-stage{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));align-items:start}
@media (max-width:640px){.ic-stage{grid-template-columns:1fr}}
.ic-view{margin:0;border:1px solid var(--lwc-line,#dbe1e8);border-radius:10px;background:#fff;padding:6px 6px 2px}
.ic-view svg.ic-svg{display:block;width:100%;height:auto}
.ic-view figcaption{font:600 11px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;
  text-transform:uppercase;color:#5d6b7a;text-align:center;padding:2px 0 6px}

/* Line weights follow the drawing spec: visible outline heavy, internal
   detail light, hidden structure dashed, centreline long-dash-dot. */
.ic-svg .ic-out{fill:none;stroke:#16202b;stroke-width:1.6;stroke-linejoin:round}
.ic-svg .ic-ln{fill:none;stroke:#16202b;stroke-width:.9;stroke-linejoin:round}
.ic-svg .ic-hid{fill:none;stroke:#16202b;stroke-width:.7;stroke-dasharray:4 2.5;opacity:.75}
.ic-svg .ic-cl{fill:none;stroke:#3b6ea5;stroke-width:.6;stroke-dasharray:9 2.5 1.5 2.5}
.ic-svg .ic-dim{fill:none;stroke:#8a3a12;stroke-width:.65}
.ic-svg .ic-ext{fill:none;stroke:#8a3a12;stroke-width:.5}
.ic-svg .ic-arrow{fill:#8a3a12;stroke:none}
.ic-svg .ic-hatch{stroke:#16202b;stroke-width:.45;opacity:.5}
.ic-svg .ic-tx{font:500 8.5px/1 ui-monospace,SFMono-Regular,Menlo,monospace;fill:#8a3a12}
.ic-svg .ic-sub{font:600 7.5px/1 ui-monospace,SFMono-Regular,Menlo,monospace;fill:#5d6b7a;letter-spacing:.1em}
.ic-svg .ic-note{font:500 7.5px/1 ui-monospace,SFMono-Regular,Menlo,monospace;fill:#5d6b7a}

@media (prefers-color-scheme:dark){
  .ic-view{background:#0f1720;border-color:#26323f}
  .ic-svg .ic-out,.ic-svg .ic-ln,.ic-svg .ic-hid{stroke:#dbe4ee}
  .ic-svg .ic-hatch{stroke:#dbe4ee}
  .ic-svg .ic-cl{stroke:#7fb0e0}
  .ic-svg .ic-dim,.ic-svg .ic-ext{stroke:#e8a06a}
  .ic-svg .ic-arrow{fill:#e8a06a}
  .ic-svg .ic-tx{fill:#e8a06a}
  .ic-svg .ic-sub,.ic-svg .ic-note{fill:#93a3b5}
}

/* Parameter controls under the drawing. */
.icf-dw-controls{display:grid;gap:10px 14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:16px 0 6px}
.icf-dw-lbl{display:flex;flex-direction:column;gap:4px;min-width:0}
.icf-dw-lbl-text{font:600 11px/1.4 system-ui,sans-serif;color:#4a5866;letter-spacing:.01em}
.icf-dw-lbl select{width:100%;padding:7px 9px;border:1px solid var(--lwc-line,#dbe1e8);border-radius:7px;
  background:#fff;font:500 13px/1.3 system-ui,sans-serif;color:#16202b}
.icf-dw-caption{display:flex;flex-wrap:wrap;gap:6px 16px;margin:12px 0 0;
  font:500 12px/1.6 system-ui,sans-serif;color:#4a5866}
.icf-dw-caption span strong{color:#16202b;font-weight:650}
.icf-dw-rfq{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0 0}
.icf-dw-rfq-hint{font:400 12px/1.5 system-ui,sans-serif;color:#6b7886}
.icf-dw-help,.icf-note{font:400 13px/1.65 system-ui,sans-serif;color:#5d6b7a;margin:.4em 0 1em}

/* ═══════════════════════════════════════════════════════════════════════════
   CROSS-LINKS — product ↔ guide ↔ application
   Sentences rather than a link list, so the block reads as content and not as
   a footer. Styled to sit quietly at the end of the page.
   ═══════════════════════════════════════════════════════════════════════════ */
.icf-crosslinks{margin:36px 0 8px;padding:20px 22px;border:1px solid var(--icf-line);
  border-radius:12px;background:var(--icf-bg,#f8f9fa)}
.icf-crosslinks h2{margin:0 0 10px;font-size:1.06rem}
.icf-crosslinks p{margin:0 0 10px;font:400 14.5px/1.75 system-ui,sans-serif;color:#3f4c59}
.icf-crosslinks p:last-child{margin-bottom:0}
.icf-crosslinks a{color:var(--icf-primary);text-decoration:underline;text-underline-offset:2px}
.icf-crosslinks a:hover{color:var(--icf-accent)}

@media (prefers-color-scheme:dark){
  .icf-crosslinks{background:#0f1720;border-color:#26323f}
  .icf-crosslinks p{color:#b6c2cf}
}
