/* Cost calculator on /ime/pricing/. Shown only when ime/calc.js runs. */
.calc { background: var(--card); border: 1px solid var(--line); border-radius: var(--r-tile); padding: var(--space-3); margin: 0 0 var(--space-3); }
.calc[hidden] { display: none; }
.calc h3, .calc h2 { margin: 0 0 var(--space-2); font-size: 1.2rem; }
.calc-in { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-3); margin: 0 0 var(--space-3); }
.calc-in label { display: flex; flex-direction: column; gap: 6px; font-weight: 600; font-size: 0.95rem; color: var(--ink); }
.calc-in input { width: 11rem; font: inherit; font-weight: 400; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--ground); color: var(--ink); }
.calc-in input:focus-visible { outline: 3px solid rgba(21, 113, 113, 0.45); outline-offset: 1px; border-color: var(--accent); }
.calc-out { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2) var(--space-3); margin: 0 0 var(--space-2); }
@media (min-width: 1100px) { .calc-out { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.calc-out div { border-top: 1px solid var(--line); padding-top: 8px; }
.calc-out dt { font-size: 0.875rem; color: var(--ink-mute); }
.calc-out dd { margin: 2px 0 0; font-size: 1.15rem; font-weight: 600; color: var(--accent-deep); font-variant-numeric: tabular-nums; }
.calc--quote .calc-cost { display: none; }
.calc-note { margin: 6px 0 0; font-size: 0.95rem; color: var(--ink-mute); }
.calc-note strong { color: var(--ink); }
@media (max-width: 480px) { .calc-in input { width: 100%; } .calc-in label { flex: 1 1 100%; } }
/* on a phone each result is one line, its label at the left and its value at the right, so no label wraps and
   every value sits on its label's line (audit A-11) */
@media (max-width: 560px) {
  .calc-out { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .calc-out div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 10px 0; }
  .calc-out dd { margin: 0; white-space: nowrap; }
}
