/* Калькулятор автополива (/kalkulyator-avtopoliva) */
.calc-section h1 { font-size: 30px; margin: 0 0 10px; }
.calc-lead { font-size: 16px; color: #444; max-width: 760px; margin-bottom: 24px; }
.calc-grid { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 28px; align-items: start; }
.calc-form fieldset { border: 1px solid #dde5db; border-radius: 8px; padding: 14px 18px 8px; margin: 0 0 16px; background: #fff; }
.calc-form legend { width: auto; border: 0; font-size: 18px; font-weight: 700; padding: 0 6px; margin: 0; color: #2f7829; }
.calc-field { margin: 10px 0 14px; }
.calc-field label { display: block; font-weight: 700; margin-bottom: 4px; }
.calc-field input { width: 100%; max-width: 260px; height: 42px; padding: 6px 12px; font-size: 18px; border: 1px solid #c8d3c5; border-radius: 6px; }
.calc-field input:focus { outline: 2px solid #2f7829; outline-offset: 1px; border-color: #2f7829; }
.calc-hint { display: block; color: #777; font-size: 13px; margin-top: 4px; }
.calc-check { display: flex; gap: 8px; align-items: flex-start; font-weight: 400; margin: 6px 0 12px; cursor: pointer; }
.calc-check input { margin-top: 3px; flex: none; }
.calc-check[hidden] { display: none; }
.calc-options { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 12px; }
.calc-option { margin: 0; cursor: pointer; font-weight: 400; }
.calc-option input { position: absolute; opacity: 0; }
.calc-option span { display: inline-block; padding: 8px 14px; border: 1px solid #c8d3c5; border-radius: 20px; background: #fff; }
.calc-option input:checked + span { background: #2f7829; border-color: #2f7829; color: #fff; }
.calc-option input:focus-visible + span { outline: 2px solid #2f7829; outline-offset: 2px; }
.calc-result { position: sticky; top: 130px; }
.calc-result-inner { background: #f4f8f2; border: 1px solid #dde5db; border-radius: 10px; padding: 20px; }
.calc-empty { color: #666; font-size: 15px; }
.calc-label { color: #555; }
.calc-price { font-size: 30px; font-weight: 700; color: #2f7829; line-height: 1.2; margin: 4px 0 12px; white-space: nowrap; }
.calc-facts { list-style: none; padding: 0; margin: 0 0 10px; }
.calc-facts li { padding: 3px 0; }
.calc-min { color: #8a6d3b; font-size: 13px; }
.calc-details { margin: 8px 0; font-size: 13px; }
.calc-details summary { cursor: pointer; color: #2f7829; }
.calc-details table { width: 100%; margin-top: 6px; border-collapse: collapse; }
.calc-details td { padding: 3px 4px; border-top: 1px solid #e3ebe1; vertical-align: top; }
.calc-details td.num { text-align: right; white-space: nowrap; }
.calc-note { font-size: 12px; color: #777; margin: 10px 0 16px; }
.calc-lead-form { border-top: 1px solid #dde5db; padding-top: 14px; }
.calc-lead-form h2 { font-size: 20px; margin: 0 0 4px; }
.calc-lead-form .form-control { margin: 8px 0; height: 42px; font-size: 16px; }
.calc-lead-form .consent-field { font-size: 12px; line-height: 1.4; margin: 8px 0 12px; }
.calc-lead-form .consent-field label { font-weight: 400; display: flex; gap: 8px; align-items: flex-start; }
/* перекрывает общий стиль button[type=submit] сайта (синий, 1rem): зелёная кнопка на всю ширину, иконка-самолётик остаётся */
.calc-lead-form button.calc-submit[type="submit"] { position: relative; width: 100%; padding: 12px 12px 12px 36px; font-size: 16px; font-weight: 700; color: #fff;
    background-color: #2f7829; border: 1px solid #2f7829; border-radius: 6px; cursor: pointer; }
.calc-lead-form button.calc-submit[type="submit"]:hover { background-color: #25621f; border-color: #25621f; }
.calc-lead-form button.calc-submit[type="submit"]:focus { box-shadow: 0 0 0 3px rgba(47, 120, 41, .35); }
.calc-lead-form button.calc-submit[type="submit"]::before { left: 14px; }
.calc-lead-form button.calc-submit[type="submit"]:disabled { opacity: .6; }
.calc-lead-form .form-status { display: block; margin-top: 10px; font-weight: 600; }
.calc-lead-form .form-status.error { color: #c0392b; }
.calc-lead-form .form-status.success { color: #2f7829; }
.calc-more { margin-top: 30px; max-width: 760px; }
.calc-preview-bar { background: #fcf8e3; border-bottom: 1px solid #f0d78c; padding: 10px 16px; text-align: center; position: relative; z-index: 5; }
@media (max-width: 991px) {
    .calc-grid { grid-template-columns: 1fr; }
    .calc-result { position: static; }
}
@media (max-width: 480px) {
    .calc-section h1 { font-size: 24px; }
    .calc-price { font-size: 26px; white-space: normal; }
    .calc-field input { max-width: none; }
}
