    /* ===== СТИЛИ ТОЛЬКО ДЛЯ КАЛЬКУЛЯТОРА ===== */
main.main.calc{
    gap: 3rem;
}

    .calculator-card {
        background: var(--page-background-color-light, #ffffff);
/*         overflow: hidden; */
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    }

    .calc-grid {
        display: flex;
        flex-wrap: wrap;
        gap: 1.5rem;
        padding: 1.5rem;
    }

    .options-panel {
        flex: 1.2;
        min-width: 260px;
    }

	.result-panel {
		flex: 0.9;
		min-width: 280px;
		background: var(--page-background-color);
		padding: var(--padding-s);
		border: 1px solid rgba(0, 0, 0, 0.05);
		height: fit-content;
		position: sticky;
		top: var(--gap-l);
		align-self: flex-start;
	}

    .section-title {
        font-weight: 600;
        font-size: 1.2rem;
        margin-bottom: 1rem;
        border-left: 4px solid #f5a623;
        padding-left: 12px;
        color: var(--text-bright-color, #1a1a1a);
    }

    .service-group {
        background: var(--page-background-color-light, #ffffff);
        margin-bottom: 1.25rem;
        border: 1px solid rgba(0, 0, 0, 0.05);
        overflow: hidden;
    }

	.group-header {
		font-size: var(--typo-text-l-font-size);
		font-weight: var(--font-weight-title);
		padding: 1rem 1.3rem;
		background: var(--page-background-color);
		border-bottom: 1px solid rgba(0, 0, 0, 0.05);
		color: var(--text-bright-color);
	}

    .option-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0.75rem 1rem;
        border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    }

    .option-item:last-child {
        border-bottom: none;
    }

    .option-info {
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

	.option-name {
		font-size: var(--typo-text-l-font-size);
		font-weight: var(--font-weight-strong);
	}

	.option-desc {
		font-size: var(--typo-text-s-font-size);
		color: var(--text-light-color, #888);
	}

	.option-price {
		display: flex;
		align-items: center;
		gap: 8px;
		font-weight: var(--font-weight-strong);
		font-size: var(--typo-text-m-font-size);
	}

	input[type="checkbox"], input[type="radio"] {
		width: 1.1rem;
		height: 1.1rem;
		cursor: pointer;
		accent-color: var(--button-grey-background-color-hover);
	}

    .radio-group {
        display: flex;
        gap: 1rem;
        flex-wrap: wrap;
    }

    .radio-label {
        display: flex;
        align-items: center;
        gap: 6px;
        font-size: 0.9rem;
        cursor: pointer;
        padding: 4px 10px;
        border-radius: 40px;
        background: var(--page-background-color, #f5f5f5);
        transition: all 0.1s;
    }

    .radio-label.active {
        background: #f5a62320;
        border: 1px solid #f5a623;
    }

    .area-slider-block {
        padding: 0.75rem 1rem;
    }

    .area-header {
        display: flex;
        justify-content: space-between;
        margin-bottom: 8px;
        font-size: 0.85rem;
    }

    .area-value {
        font-weight: 600;
        background: var(--page-background-color, #f5f5f5);
        padding: 2px 8px;
        border-radius: 20px;
    }

	input[type="range"] {
		width: 100%;
		height: 8px;
		background: var(--button-grey-background-color-hover);
		border-radius: 3px;
		-webkit-appearance: none;
	}

    input[type="range"]:focus {
        outline: none;
    }

    input[type="range"]::-webkit-slider-thumb {
        -webkit-appearance: none;
        width: 16px;
        height: 16px;
        border-radius: 50%;
/*         background: #f5a623; */
		background: #333;
        cursor: pointer;
/*         border: 2px solid white;
        box-shadow: 0 1px 3px rgba(0,0,0,0.2); */
    }

	.total-price {
		font-size: var(--typo-title-l-font-size);
		font-weight: var(--font-weight-title);
		/* color: #f5a623; */
	}

    .total-currency {
        font-size: 1.2rem;
        font-weight: 500;
        color: #888;
    }

    .result-detail {
        margin-top: 1rem;
        padding-top: 1rem;
        border-top: 1px dashed #ddd;
    }

    .result-line {
        display: flex;
        justify-content: space-between;
        margin: 8px 0;
        font-size: 0.85rem;
    }

    .badge {
        background: #fef5e6;
        padding: 8px 12px;
        font-size: 0.75rem;
        margin-top: 1rem;
        text-align: center;
    }

    .footnote {
        font-size: 0.65rem;
        text-align: center;
        margin-top: 1rem;
        color: #888;
    }

    @media (max-width: 700px) {
        .calc-grid {
            flex-direction: column;
            padding: 1rem;
        }
    }