/* CTA «расчёт стоимости» — переиспользуемая секция */

.cta-calc {
	--cta-calc-pad-y: 3rem;
	--cta-calc-title: #1a1a1a;
	--cta-calc-muted: #6b7280;
	--cta-calc-card-radius: 0.75rem;
	position: relative;
	overflow: hidden;
	padding: var(--cta-calc-pad-y) 0;
	background-color: #eef2f6;
	opacity: 0.9;
}

.cta-calc__inner {
	position: relative;
}

/* Фон: с колонки 5 до правого края экрана (desktop) */
.cta-calc__bg {
	position: absolute;
	z-index: 0;
	pointer-events: none;
	background-image: var(--cta-calc-bg);
	background-repeat: no-repeat;
	/* mobile: верхний правый угол, частично за краем экрана */
	background-position: right top;
	background-size: 102% auto;
	inset: 0;
	opacity: 0.3;
	transform: translateX(35%);
}

.cta-calc__row {
	position: relative;
	z-index: 1;
}

.cta-calc__title {
	margin: 0 0 1rem;
	font-size: clamp(1.5rem, 2.5vw, 2rem);
	font-weight: 700;
	line-height: 1.25;
	color: var(--cta-calc-title);
}

.cta-calc__text {
	margin: 0;
	font-size: 1.2rem;
	line-height: 1.55;
	color: #333;
}

.cta-calc .section_callback__contacts_phone {
	font-size: clamp(16px, 3.2vw, 24px);
}

.cta-calc__card {
	background: #ffffffe6;
	border-radius: var(--cta-calc-card-radius);
	box-shadow: 0 0.5rem 1.5rem rgba(15, 23, 42, 0.1);
	padding: 1.5rem 1.5rem 1.75rem;
}

.cta-calc__form-title {
	margin: 0 0 0.35rem;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--cta-calc-title);
}

.cta-calc__form-subtitle {
	margin: 0 0 1.25rem;
	font-size: 0.9375rem;
	color: var(--cta-calc-muted);
}

.cta-calc__form .form-control {
	min-height: 2.75rem;
}

.cta-calc__form textarea.form-control {
	min-height: 5.5rem;
	resize: vertical;
}

.cta-calc__submit {
	min-height: 2.875rem;
	font-weight: 600;
}

@media (min-width: 992px) {
	.cta-calc {
		--cta-calc-pad-y: 4rem;
	}

	/* Колонки 5–12 контейнера + bleed до правого края viewport.
	   Не использовать inset: unset после top/left — оно обнуляет размеры. */
	.cta-calc__bg {
		inset: 0 calc(50% - 50vw) 0 33.333333%;
		opacity: 1;
		background-position: left center;
		background-size: 92% auto;
		transform: none;
	}

	.cta-calc__card {
		padding: 1.75rem 1.75rem 2rem;
	}
}

@media (max-width: 575.98px) {
	.cta-calc {
		--cta-calc-pad-y: 2.25rem;
	}

	.cta-calc__card {
		padding: 1.25rem 1.15rem 1.5rem;
	}
}
