.cd-price-calculator { max-width: 960px; }
.cd-price-calculator p { line-height: 1.7; }
.cd-price-calculator-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.5rem; margin: 1.5rem 0; }
.cd-price-calculator-input label { display: block; font-weight: 700; margin-bottom: .5rem; }
.cd-price-calculator-input input { box-sizing: border-box; width: 100%; max-width: 15rem; min-height: 3rem; padding: .65rem .8rem; border: 1px solid #727987; border-radius: .5rem; color: #1d2734; background: #fff; font: inherit; font-size: 1.15rem; }
.cd-price-calculator-input input:focus-visible { outline: 3px solid #dd542f; outline-offset: 3px; }
.cd-price-calculator-input input[aria-invalid="true"] { border: 2px solid #a1251b; }
.cd-price-calculator-input input:disabled { opacity: 1; color: #1d2734; background: #f6f6f6; }
.cd-price-calculator-hint, .cd-price-calculator-note, .cd-price-calculator-rate { color: #59616d; font-size: .95rem; }
.cd-price-calculator-error { color: #a1251b; font-weight: 600; }
.cd-price-calculator-error[hidden] { display: none; }
.cd-price-calculator-result { align-self: start; min-width: 0; padding: 1.1rem 1.2rem; border: 1px solid #f2d8d1; border-radius: .75rem; background: #fff; }
.cd-price-calculator-result p { margin: 0 0 .5rem; font-weight: 600; }
.cd-price-calculator-result output { display: block; overflow-wrap: anywhere; color: #1d2734; font-size: clamp(1.4rem, 4vw, 2.4rem); font-weight: 800; line-height: 1.4; }
.cd-price-calculator [data-calculator-contact] { display: inline-flex; max-width: 100%; box-sizing: border-box; white-space: normal; text-align: center; }
.cd-price-calculator [data-calculator-contact][aria-disabled="true"] { opacity: .65; cursor: not-allowed; }
@media (max-width: 640px) { .cd-price-calculator-grid { grid-template-columns: minmax(0, 1fr); gap: 1rem; } }
