	/* ---------- Заказать обратный звонок ---------- */

	.cbk {
		max-width: 1200px;
		margin: 30px auto 0;
		font-size: 17px;
		line-height: 1.55;
		color: #222;
	}

	.cbk * {
		box-sizing: border-box;
	}

	.cbk__grid {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 0.66fr);
		column-gap: 18px;
		align-items: center;
	}

	/* ---------- карточка с формой ---------- */

	.cbk__card {
		background: #fff;
		border-radius: 20px;
		box-shadow: 0 8px 40px rgba(34, 52, 80, .10);
		padding: 55px 58px 40px;
	}

	.cbk__title {
		font-family: StemWeb, Verdana;
		font-size: 46px;
		line-height: 1.12;
		margin: 0 0 26px;
	}

	.cbk__lead {
		margin: 0 0 46px;
		max-width: 620px;
		font-size: 18px;
	}

	/* ночное предупреждение - в макете блока нет */
	.cbk__night {
		margin: -26px 0 40px;
		padding: 16px 20px;
		border-left: 4px solid #FB3232;
		border-radius: 0 10px 10px 0;
		background: #FDF3F3;
		font-size: 16px;
		line-height: 1.5;
	}

	/* ---------- поля ---------- */

	.cbk__form {
		margin: 0;
	}

	.cbk__row {
		display: grid;
		grid-template-columns: 40px minmax(0, 175px) minmax(0, 1fr);
		align-items: center;
		gap: 0 16px;
		margin-bottom: 22px;
	}

	.cbk__ico {
		width: 40px;
		height: 40px;
		border-radius: 10px;
		background-color: #F1F8E9;
		background-repeat: no-repeat;
		background-position: center;
		background-size: 24px 24px;
	}

	.cbk__ico--person {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%2381B44A' stroke-width='1.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='23.9' cy='12.3' rx='9.4' ry='10.3'/%3E%3Cpath d='M3.9 44.5A20.1 15.3 0 0 1 44.1 44.5a1.3 1.3 0 0 1 -1.3 1.3H5.2a1.3 1.3 0 0 1 -1.3 -1.3Z'/%3E%3C/svg%3E");
	}

	.cbk__ico--phone {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%2381B44A' stroke-width='1.15' stroke-linejoin='round'%3E%3Cpath d='M38.2 46C36.9 45.9 35.3 45.7 32.9 44.5C30.4 43.4 26.2 40.9 23.6 39.1C20.9 37.3 19.4 35.9 17.2 33.9C15.1 31.9 12.7 29.6 10.6 26.9C8.5 24.2 6.1 20.4 4.8 17.9C3.4 15.4 2.8 13.6 2.3 11.9C1.9 10.3 1.8 9.3 2.2 8C2.5 6.8 3.3 5.7 4.6 4.7C5.8 3.7 8.3 1.9 9.8 2C11.2 2.1 11.7 3.4 13 5.3C14.3 7.2 17.2 11.2 17.5 13.3C17.8 15.4 15.4 16.9 15 18C14.6 19.2 14.6 19.1 15.1 20.3C15.6 21.5 16.8 23.7 18.1 25.3C19.3 26.9 20.9 28.6 22.6 29.8C24.3 31.1 27.1 32.5 28.3 33C29.6 33.5 29.2 33.2 30 32.8C30.9 32.5 32.4 31.1 33.2 30.7C34 30.2 33.6 29.9 34.8 30.3C36 30.8 38.6 32.2 40.4 33.3C42.2 34.5 44.6 36.5 45.5 37.4C46.4 38.4 46.2 37.9 45.8 38.9C45.5 39.9 44 42.3 43.2 43.4C42.5 44.4 42.1 44.7 41.3 45.1C40.4 45.5 39.6 46.1 38.2 46Z'/%3E%3C/svg%3E");
	}

	.cbk__ico--lock {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%2381B44A' stroke-width='1.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8.4' y='20.1' width='31.3' height='25.7' rx='3.0'/%3E%3Cpath d='M16.2 20.1V9.8a7.8 7.8 0 0 1 15.6 0V20.1'/%3E%3C/svg%3E");
	}

	.cbk__label {
		font-size: 17px;
	}

	/* ширина блока = ширине поля: за неё цепляется звёздочка от checkform */
	.cbk__field {
		position: relative;
		display: flex;
		align-items: center;
		gap: 10px;
		min-width: 0;
		max-width: 430px;
	}

	/* поля рисует хелпер edit(), поэтому цепляемся за структуру, а не за класс */
	.cbk__field input {
		flex: 1 1 auto;
		width: 100%;
		min-width: 0;
		height: 46px;
		padding: 0 15px;
		border: 1px solid #DEE4EC;
		border-radius: 8px;
		background: #fff;
		font-family: inherit;
		font-size: 16px;
		color: #222;
		outline: none;
		transition-duration: 200ms;
	}

	.cbk__field input:focus {
		border-color: #0254A2;
	}

	.cbk__code {
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
		width: 92px;
		height: 46px;
		border: 1px solid #DEE4EC;
		border-radius: 8px;
		background: #F7F9FC;
	}

	.cbk__code img {
		display: block;
		cursor: pointer;
	}

	/* звёздочку обязательного поля рисует checkform: вставляет после input
	   span.r с position:absolute и без координат. В flex-контейнере такой
	   элемент встаёт в начало контента, то есть влезает внутрь поля, -
	   поэтому координаты задаём здесь */
	.cbk__field .r {
		left: auto;
		right: -20px;
		top: -3px;
		margin-top: 20px !important;
		font-size: 18px;
		line-height: 1;
		white-space: nowrap;
	}

	/* ---------- согласие ---------- */

	.cbk__accept {
		margin: 30px 0 34px;
		font-size: 16px;
		line-height: 1.4;
	}

	.cbk__accept input[type=checkbox] {
		width: 24px;
		height: 24px;
		margin: 0 12px 0 0;
		vertical-align: top;
		accent-color: #72B634;
		cursor: pointer;
	}

	.cbk__accept label {
		cursor: pointer;
	}

	.cbk__accept a {
		color: #0254A2;
	}

	/* ---------- кнопки: те же стили, что и на остальных страницах ---------- */

	.cbk button,
	.cbk input[type=submit] {
		background: #72B634;
		color: #fff;
		border: none;
		padding: 10px 40px;
		font-family: StemWebLight, Verdana;
		font-size: 22px;
		border-radius: 5px;
		cursor: pointer;
		transition-duration: 200ms;
	}

	.cbk button:hover,
	.cbk input[type=submit]:hover {
		background: #5d9f24;
	}

	/* ---------- дисклеймер ---------- */

	.cbk__guard {
		display: flex;
		align-items: center;
		gap: 10px;
		margin: 38px 0 0;
		font-size: 14px;
		color: #8A939F;
	}

	.cbk__gico {
		flex: 0 0 auto;
		width: 22px;
		height: 22px;
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23215190' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24.0 2.0C19.9 3.5 9.4 7.5 3.9 9.9C3.9 28.4 12.6 42.9 24.0 46.0C35.4 42.9 44.1 28.4 44.1 9.9C38.6 7.5 28.1 3.5 24.0 2.0Z'/%3E%3Cpath d='M16.2 24.0L21.0 29.5L32.1 14.5'/%3E%3C/svg%3E") no-repeat center;
		background-size: 22px 22px;
	}

	/* ---------- картинка ---------- */

	.cbk__aside {
		min-width: 0;
	}

	.cbk__hero {
		display: block;
		width: 100%;
		max-width: 520px;
		height: auto;
		margin: 0 auto;
	}

	/* ---------- адаптив ---------- */

	@media (max-width: 1280px) {
		.cbk {
			padding: 0 20px;
		}

		.cbk__card {
			padding: 44px 44px 34px;
		}

		.cbk__title {
			font-size: 42px;
		}
	}

	@media (max-width: 1100px) {
		.cbk__title {
			font-size: 36px;
		}

		.cbk__row {
			grid-template-columns: 40px minmax(0, 150px) minmax(0, 1fr);
		}
	}

	@media (max-width: 1000px) {
		/* одна колонка: сначала форма, под ней картинка */
		.cbk__grid {
			grid-template-columns: minmax(0, 1fr);
		}

		.cbk__aside {
			margin-top: 34px;
		}

		.cbk__hero {
			max-width: 420px;
		}
	}

	@media (max-width: 720px) {
		.cbk {
			margin-top: 20px;
		}

		.cbk__card {
			padding: 34px 26px 28px;
			border-radius: 14px;
		}

		.cbk__title {
			font-size: 32px;
		}

		.cbk__lead {
			margin-bottom: 34px;
		}
	}

	@media (max-width: 560px) {
		/* подпись встаёт над полем, поле занимает всю ширину */
		.cbk__row {
			grid-template-columns: 40px minmax(0, 1fr);
			gap: 8px 12px;
			margin-bottom: 22px;
		}

		.cbk__field {
			grid-column: 1 / -1;
			max-width: none;
			padding-right: 22px;
		}

		.cbk__field .r {
			right: 0;
		}

		.cbk button,
		.cbk input[type=submit] {
			width: 100%;
			padding: 12px 20px;
			font-size: 19px;
		}

		.cbk__lead br,
		.cbk__title br {
			display: none;
		}

		.cbk__hero {
			max-width: 330px;
		}
	}

	@media (max-width: 400px) {
		.cbk__title {
			font-size: 27px;
		}

		.cbk__card {
			padding: 28px 18px 24px;
		}

		.cbk__code {
			width: 80px;
		}
	}
