/* ================= КАЛЬКУЛЯТОР — «Мастер Ремонта» (инженерный) ================= */
/* Классы и структура не менялись — только палитра и типографика. */

#calculator-wrapp {
    max-width: 1000px;
    margin: 0 auto;
    font-family: 'Inter', -apple-system, Segoe UI, Roboto, sans-serif;
    color: var(--mr-text, #22303F);
}

.calc-header {
    text-align: center;
    margin-bottom: 30px;
    padding: 26px 24px;
    background: var(--mr-bg-alt, #E9EEF5);
    border: 1px solid var(--mr-border, #DCE3EC);
    border-radius: var(--mr-radius, 14px);
}

.calc-header h2 {
    font-family: 'Prata', Georgia, serif;
    color: var(--mr-ink, #0F2137);
    font-size: 26px;
    margin-bottom: 10px;
}

.calc-header p {
    color: var(--mr-muted, #5A6B7D);
    margin: 0;
}

.calc-container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

.calc-section {
    background: var(--mr-surface, #fff);
    padding: 22px;
    border: 1px solid var(--mr-border, #DCE3EC);
    border-radius: var(--mr-radius, 14px);
    box-shadow: 0 1px 2px rgba(15, 33, 55, .06);
}

.calc-section h3 {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    color: var(--mr-ink, #0F2137);
    margin-bottom: 15px;
    font-size: 17px;
}

.input-group { margin-bottom: 15px; }

.input-group label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    font-size: 14px;
    color: var(--mr-ink, #0F2137);
}

.input-hint {
    font-size: 12px;
    color: var(--mr-muted, #5A6B7D);
    margin-top: 5px;
}

input[type="number"], select {
    width: 100%;
    padding: 12px 14px;
    border: 1.5px solid var(--mr-border, #DCE3EC);
    border-radius: var(--mr-radius-btn, 10px);
    font-size: 16px;
    font-family: inherit;
    color: var(--mr-text, #22303F);
    background: #fff;
    transition: border-color .2s ease, box-shadow .2s ease;
}

input[type="number"]:focus, select:focus {
    border-color: var(--mr-accent, #F2A33C);
    box-shadow: 0 0 0 3px rgba(242, 163, 60, .18);
    outline: none;
}

.checkbox-label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
}

.btn-calculate, .btn-primary {
    background: var(--mr-accent, #F2A33C);
    color: var(--mr-ink, #0F2137);
    padding: 15px 32px;
    border: none;
    border-radius: var(--mr-radius-btn, 10px);
    font-size: 16px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(242, 163, 60, .30);
    transition: background .25s, transform .25s, box-shadow .25s;
}

.btn-calculate:hover, .btn-primary:hover {
    background: var(--mr-accent-dk, #D98A1F);
    transform: translateY(-2px);
    box-shadow: 0 10px 26px rgba(242, 163, 60, .40);
}

.calc-actions {
    text-align: center;
    margin: 22px 0;
}

.calc-result {
    background: var(--mr-accent-soft, #FDEBD1);
    padding: 22px;
    border: 1px solid var(--mr-border, #DCE3EC);
    border-radius: var(--mr-radius, 14px);
    margin-top: 20px;
}

.calc-result h3 {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    color: var(--mr-ink, #0F2137);
    margin-bottom: 10px;
}

.result-complex, .result-simple { text-align: center; }

.complex-reasons {
    text-align: left;
    margin-top: 15px;
}

.complex-reasons ul {
    margin: 10px 0;
    padding-left: 20px;
}

.discount-note {
    color: var(--mr-accent-text, #9A5A00);
    font-weight: 700;
}

.calc-footer {
    margin-top: 20px;
    padding: 16px 20px;
    background: var(--mr-bg-alt, #E9EEF5);
    border-left: 3px solid var(--mr-accent, #F2A33C);
    border-radius: var(--mr-radius-btn, 10px);
    text-align: center;
    color: var(--mr-muted, #5A6B7D);
    font-size: 14px;
}

.red-border { border-color: #C0392B !important; }

sup.red { color: #C0392B; }

@media (min-width: 768px) {
    /* Секции лежат ВНУТРИ <form>, поэтому сетку задаём форме,
       а не .calc-container (иначе форма занимает лишь половину ширины). */
    #calculator {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    #calculator .calc-section:nth-child(3),
    #calculator .calc-section:nth-child(4),
    #calculator .calc-actions {
        grid-column: span 2;
    }
}

/* ================= ФОРМА ЗАЯВКИ (#contact) ================= */
/* Изоляция классом .mr-form-card / .nb-callback-card */

.mr-form-card,
.nb-callback-card {
    font-family: 'Inter', -apple-system, Segoe UI, Roboto, sans-serif;
}

.mr-form-card .wpforms-container,
.mr-form-card .wpforms-form,
.nb-callback-card .wpforms-container,
.nb-callback-card .wpforms-form {
    margin: 0;
}

.mr-form-card .wpforms-field,
.nb-callback-card .wpforms-field {
    padding: 0 0 14px;
}

.mr-form-card .wpforms-form input[type="text"],
.mr-form-card .wpforms-form input[type="tel"],
.mr-form-card .wpforms-form input[type="email"],
.mr-form-card .wpforms-form textarea,
.nb-callback-card .wpforms-form input[type="text"],
.nb-callback-card .wpforms-form input[type="tel"],
.nb-callback-card .wpforms-form input[type="email"],
.nb-callback-card .wpforms-form textarea {
    width: 100%;
    border: 1.5px solid var(--mr-border, #DCE3EC);
    border-radius: var(--mr-radius-btn, 10px);
    padding: 14px 16px;
    font-size: 16px;
    font-family: inherit;
    background: #fff;
    color: var(--mr-text, #22303F);
    transition: border-color .2s ease, box-shadow .2s ease;
}

.mr-form-card .wpforms-form input:focus,
.mr-form-card .wpforms-form textarea:focus,
.nb-callback-card .wpforms-form input:focus,
.nb-callback-card .wpforms-form textarea:focus {
    border-color: var(--mr-accent, #F2A33C);
    box-shadow: 0 0 0 3px rgba(242, 163, 60, .18);
    outline: none;
}

.mr-form-card .wpforms-form .wpforms-field-label,
.nb-callback-card .wpforms-form .wpforms-field-label {
    font-weight: 600;
    color: var(--mr-ink, #0F2137);
    font-size: 14px;
    margin-bottom: 6px;
}

.mr-form-card .wpforms-form .wpforms-submit,
.nb-callback-card .wpforms-form .wpforms-submit {
    width: 100%;
    background: var(--mr-accent, #F2A33C) !important;
    color: var(--mr-ink, #0F2137) !important;
    border: none;
    border-radius: var(--mr-radius-btn, 10px) !important;
    padding: 15px 24px;
    font-size: 16px;
    font-weight: 600;
    min-height: 50px;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(242, 163, 60, .30);
    transition: background .25s, transform .25s, box-shadow .25s;
}

.mr-form-card .wpforms-form .wpforms-submit:hover,
.nb-callback-card .wpforms-form .wpforms-submit:hover {
    background: var(--mr-accent-dk, #D98A1F) !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 26px rgba(242, 163, 60, .40);
}

.mr-form-card .wpforms-error,
.nb-callback-card .wpforms-error {
    color: #C0392B;
    font-size: 13px;
    margin-top: 4px;
}

.mr-form-card .wpforms-confirmation-container-full,
.nb-callback-card .wpforms-confirmation-container-full {
    border: none;
    border-radius: var(--mr-radius, 14px);
    background: var(--mr-accent-soft, #FDEBD1);
    color: var(--mr-ink, #0F2137);
}

@media (max-width: 600px) {
    .mr-form-card,
    .nb-callback-card {
        padding: 20px 16px;
    }
}
