.cost-calculator { margin-top: 32px; padding: 28px; border: 1px solid var(--border-strong); border-radius: var(--radius); scroll-margin-top: 180px; }
.cost-calculator h3 { font-size: 22px; font-weight: 600; }
.cost-calculator .cost-snapshot { margin: 12px 0 24px; color: var(--text-secondary); font-size: 13px; }
.cost-calculator-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 28px; align-items: start; }
.cost-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 16px; }
.cost-fields > div { display: flex; flex-direction: column; }
.cost-fields label { display: block; margin-bottom: 8px; color: var(--text-secondary); font-size: 13px; line-height: 1.6; }
.cost-fields input { width: 100%; min-height: 48px; margin-top: auto; padding: 12px; border: 1px solid var(--border-strong); border-radius: 8px; background: #fff; color: var(--text); font: inherit; font-variant-numeric: tabular-nums; }
.cost-fields input:focus-visible { outline: 3px solid rgba(var(--brand-blue-rgb), .18); outline-offset: 2px; border-color: var(--brand-blue); }
.cost-fields input[aria-invalid="true"] { border-color: #b42318; }
.cost-calculator #cost-input-note, .cost-calculator #cost-error { font-size: 12px; line-height: 1.8; }
.cost-calculator #cost-error { color: #b42318; }
.cost-result { padding: 24px; border-radius: var(--radius); background: rgba(var(--brand-blue-rgb), .06); min-width: 0; }
.cost-result .cost-result-label { margin: 0 0 8px; font-size: 14px; }
#cost-total { display: block; font-size: clamp(28px, 3.5vw, 42px); line-height: 1.3; font-weight: 600; color: var(--brand-blue); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.cost-currency { font-size: 12px; color: var(--text-secondary); }
.cost-result #cost-model-name { margin: 16px 0 0; font-size: 14px; font-weight: 500; }
.cost-breakdown { margin-top: 16px; border-top: 1px solid var(--border); }
.cost-breakdown > div { display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--border); font-size: 13px; }
.cost-breakdown dt { color: var(--text-secondary); }
.cost-breakdown dd { text-align: right; font-variant-numeric: tabular-nums; }
.cost-breakdown small { display: block; margin-top: 4px; font-size: 11px; color: var(--text-secondary); overflow-wrap: anywhere; }
.cost-result #cost-request-price, .cost-result #cost-free-note { font-size: 12px; line-height: 1.8; }
.cost-result .btn { width: 100%; margin-top: 20px; padding-inline: 12px; font-size: 13px; text-align: center; }
.cost-billing { margin-top: 24px; border-top: 1px solid var(--border); padding-top: 18px; font-size: 13px; }
.cost-billing summary { cursor: pointer; font-weight: 500; }
.cost-billing p { overflow-wrap: anywhere; }
@media (max-width: 768px) {
  .cost-calculator { padding: 20px; }
  .cost-calculator-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .cost-fields { gap: 16px 12px; }
  .cost-result { padding: 20px; }
}
@media (max-width: 380px) {
  .cost-fields { grid-template-columns: minmax(0, 1fr); }
}
