/* IBCC equivalence calculator (template-parts/tool-ibcc-calculator.php) */
.sp-ibcc .sp-pagehead .sp-lead {max-width:62ch;margin:12px auto 0}
.sp-ibcc-settings {display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:24px;padding-bottom:22px;border-bottom:1px solid var(--sp-line)}
.sp-ibcc-settings .sp-field {margin:0}
.sp-ibcc-settings select {width:100%;min-height:44px}
.sp-ibcc-heading {font-size:17px;margin:4px 0 4px}
.sp-ibcc-heading + .sp-field-help {margin:0 0 12px}
.sp-ibcc-rows__head,.sp-ibcc-row {display:grid;grid-template-columns:minmax(0,1fr) 112px 92px;gap:10px;align-items:center}
.sp-ibcc-rows__head {font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--sp-ink-muted);padding:0 12px 6px}
.sp-ibcc-rows__head span:last-child,.sp-ibcc-row__marks {text-align:right}
.sp-ibcc-rows {display:grid;gap:6px;margin-bottom:22px}
.sp-ibcc-row {background:#FAF9F5;border:1px solid var(--sp-line);border-radius:10px;padding:6px 12px;transition:opacity var(--sp-dur-fast) var(--sp-ease)}
.sp-ibcc-row select {width:100%;min-height:40px;border:1px solid var(--sp-line-strong);border-radius:8px;background:#fff;padding:0 8px;font:inherit;font-size:14px;color:var(--sp-ink)}
.sp-ibcc-row__subject {font-weight:600;font-size:14.5px;color:var(--sp-ink)}
.sp-ibcc-row__marks {font-family:var(--sp-font-display);font-weight:800;font-size:17px;color:var(--sp-action)}
.sp-ibcc-row.is-bad {border-color:#C0392B;background:#FDF2F2}
.sp-ibcc-row.is-bad .sp-ibcc-row__marks {color:#C0392B;font-size:12.5px;font-family:inherit}
.sp-ibcc-row.is-excluded {opacity:.5}
.sp-ibcc-row.is-excluded .sp-ibcc-row__marks {text-decoration:line-through}
.sp-ibcc-excluded-note {font-size:13px;color:var(--sp-ink-muted);margin:-12px 0 22px}
.sp-calc-alert p {margin:0}
.sp-calc-alert p + p {margin-top:6px}
.sp-calc-alert.is-warning {background:#FFF8E6;border-left-color:#C08A1E;color:#5C4210}
.sp-ibcc-score {font-size:42px}
.sp-ibcc-carry {margin-top:20px;padding-top:16px;border-top:1px solid var(--sp-line)}
.sp-ibcc-carry p {font-size:13px;font-weight:700;color:var(--sp-ink);margin:0 0 10px}
.sp-ibcc-carry__links {display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sp-ibcc-carry__links .sp-btn {justify-content:center;width:100%}
.sp-ibcc-disclaimer {font-size:12px;color:var(--sp-ink-muted);margin:16px 0 0;text-align:center}
.sp-ibcc-tables {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:20px;align-items:start;margin:20px 0}
.sp-ibcc-tables .sp-table__wrap {border:1px solid var(--sp-line);border-radius:14px}
.sp-ibcc-tables .sp-table th,.sp-ibcc-tables .sp-table td {padding:10px 14px}
.sp-ibcc-tables caption {font-weight:700;color:var(--sp-ink)}
.sp-ibcc-steps {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.sp-ibcc-steps > div {background:#fff;border:1px solid var(--sp-line);border-radius:16px;padding:22px 24px}
.sp-ibcc-steps h3 {margin-top:0}
.sp-ibcc-rule {background:var(--sp-cream-alt);border:1px solid var(--sp-line);border-radius:20px;padding:28px 32px}
.sp-ibcc-rule h2 {margin-top:0}
.sp-ibcc-explain p,.sp-ibcc-rule p,.sp-ibcc-example p,.sp-ibcc-apply p {max-width:72ch}
@media (max-width: 900px) {
  .sp-ibcc-tables,.sp-ibcc-steps {grid-template-columns:minmax(0,1fr)}
}
@media (max-width: 560px) {
  .sp-ibcc-rows__head,.sp-ibcc-row {grid-template-columns:minmax(0,1fr) 96px 64px;gap:8px}
  .sp-ibcc-row {padding:6px 10px}
  .sp-ibcc-rule {padding:22px 18px}
}
