/* ==================== 17. ДОПОЛНИТЕЛЬНЫЕ СТИЛИ КАЛЬКУЛЯТОРА ==================== */
.transport-selection-box,
.text-input-box,
.add-address-box,
.date-selection-box,
.phone-input-box,
.route-selection-box,
.intermediate-address-box {
    background: var(--white);
    border: 2px solid var(--gray-200);
    border-radius: var(--border-radius);
    width: 100%;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: var(--shadow-soft);
    min-height: 70px;
    padding: 1rem 1.5rem;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.loading-methods-box,
.intermediate-loading-methods-box {
    background: var(--white);
    border: 2px solid var(--gray-200);
    border-radius: var(--border-radius);
    width: 100%;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: var(--shadow-soft);
    padding: 1.25rem 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0.75rem;
}

.additional-services-box {
    background: var(--white);
    border: 2px solid var(--gray-200);
    border-radius: var(--border-radius);
    width: 100%;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: var(--shadow-soft);
    padding: 1.5rem 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 1rem;
}

.total-price-box {
    background: var(--white);
    border: 2px solid var(--gray-200);
    border-radius: var(--border-radius);
    width: 100%;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: var(--shadow-soft);
    padding: 1.25rem 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 1rem;
}

.transport-selection-box:hover,
.text-input-box:hover,
.add-address-box:hover,
.date-selection-box:hover,
.phone-input-box:hover,
.route-selection-box:hover,
.intermediate-address-box:hover,
.loading-methods-box:hover,
.intermediate-loading-methods-box:hover,
.additional-services-box:hover,
.total-price-box:hover {
    border-color: var(--primary-blue);
    box-shadow: var(--shadow-medium);
    transform: translateY(-2px);
}

.calculator-body {
    padding: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.calculator-row.address-row {
    display: flex;
    gap: 1rem;
    width: 100%;
}

.calculator-row.address-row .calculator-col {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.address-input-wrapper {
    margin-bottom: 0;
}

.loading-methods-box {
    margin: 0;
}

.add-address-box {
    margin-top: -0.75rem;
}

.calculator-row.address-row {
    margin-bottom: -0.75rem;
}

.calculator-row.address-row + .add-address-box {
    margin-top: -0.75rem;
}

.intermediate-addresses-row {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.intermediate-address-item {
    background: var(--gray-50);
    border: 2px solid var(--gray-200);
    border-radius: var(--border-radius);
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.intermediate-address-content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.intermediate-address-row {
    display: flex;
    gap: 1rem;
    align-items: stretch;
}

.intermediate-addresses-row {
    gap: 0;
}

.intermediate-address-item {
    margin-top: 1.5rem;
    margin-bottom: 0;
    padding: 1rem;
    gap: 0.75rem;
}

.intermediate-addresses-row > .intermediate-address-item:first-child {
    margin-top: 1rem;
    margin-bottom: 0;
}

.intermediate-addresses-row > .intermediate-address-item:not(:first-child) {
    margin-top: 1.5rem;
    margin-bottom: 0;
}

.intermediate-addresses-row > .intermediate-address-item:last-child {
    margin-bottom: 0.5rem;
}

.intermediate-loading-methods-box {
    padding: 0.875rem 1rem;
    min-height: 65px;
    gap: 0.5rem;
    margin-top: 0.25rem;
    margin-bottom: 0;
}

