/* Keep calculator inputs and result cards usable on narrow phones. */
.calculator-section .calc-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
}
.calculator-section .calc-grid > * { min-width: 0; }
.calculator-section .savings-banner { display: block; }
.calculator-section .big-number,
.calculator-section .stat-value,
.calculator-section .summary-item .value { overflow-wrap: anywhere; }
.calculator-section input,
.calculator-section select { max-width: 100%; min-width: 0; }

@media (max-width: 600px) {
  .calculator-section { padding: 2rem 1rem; }
  .calculator-section .calculator-container { padding: 1.5rem 1rem; }
  .calculator-section .card { padding: 1.25rem 1rem; }
  .calculator-section .input-section { padding: 1.25rem 1rem; }
  .calculator-section .input-row { flex-direction: column; align-items: stretch; gap: .35rem; }
  .calculator-section .input-row input { width: 100%; }
  .calculator-section .actions { flex-wrap: wrap; }
  .calculator-section .actions .btn { flex: 1 1 100%; }
  .calculator-section .result-row { flex-wrap: wrap; gap: .4rem; }
  .calculator-section .summary-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr)); }
  .calculator-section .comparison-grid,
  .calculator-section .comparison { grid-template-columns: minmax(0, 1fr); }
}
