/**
 * KTK — единые формы обратной связи (главная, услуги, решения, контакты, модалки).
 * Разметка: .ktk-form + .item-form + .checkbox (label > input + span).
 * Legacy-алиасы: .form-panel, .form-panel__* — для старых HTML до регенерации.
 */

.cta-form,
.ktk-form,
.form-panel {
	display: flex;
	flex-direction: column;
	gap: 26px;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	background: #FFFFFF;
	border-radius: 13px;
	padding: 26px;
}

.cta-form {
	width: 599px;
	flex-shrink: 0;
	margin-left: auto;
}

.cta-form__title,
.ktk-form__title,
.form-panel__title {
	font-size: 26px;
	line-height: 1.2;
	font-weight: 700;
	color: #042356;
	margin: 0 0 0;
}

.ktk-form--service .ktk-form__title,
.service-form.ktk-form .ktk-form__title,
.service-form.form-panel .form-panel__title,
.form-panel.service-form .form-panel__title {
	font-size: 32px;
	line-height: 32px;
	margin-bottom: 6px;
}

.ktk-form--hero .ktk-form__title,
.ktk-form--hero .form-panel__title,
.solution-hero-form .ktk-form__title,
.solution-hero-form .form-panel__title {
	font-size: 22px;
	line-height: 26px;
	margin-bottom: 0;
}

.cta-form__fields,
.ktk-form__fields,
.form-panel__fields {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.form-panel__fields {
	gap: 12px;
	margin-bottom: 0;
}

.cta-form__inputs-row {
	margin-left: -6px;
	margin-right: -6px;
}

.cta-form__inputs-row > [class*="col-"] {
	padding-left: 5px;
	padding-right: 5px;
}

.cta-form .item-form,
.ktk-form .item-form,
.form-panel .item-form {
	margin-bottom: 0;
}

.cta-form .item-form input,
.cta-form .item-form textarea,
.ktk-form .item-form input,
.ktk-form .item-form textarea,
.form-panel .item-form input,
.form-panel .item-form textarea {
	width: 100%;
	padding: 13px;
	border: 1px solid #DBDBDB;
	border-radius: 10px;
	background: #FFFFFF;
	color: #02142F;
	font-size: 12px;
	line-height: 26px;
	font-family: 'Inter', Arial, sans-serif;
	box-sizing: border-box;
}

.cta-form .item-form textarea,
.ktk-form .item-form textarea,
.form-panel .item-form textarea {
	min-height: 82px;
	resize: vertical;
}

.cta-form__footer,
.ktk-form__footer,
.form-panel__footer {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px 24px;
}

.cta-form__footer .checkbox,
.ktk-form__footer .checkbox,
.form-panel__footer .checkbox {
	flex: 1 1 220px;
	min-width: 0;
	max-width: 442px;
	margin: 0;
}

.cta-form .checkbox label,
.ktk-form .checkbox label,
.form-panel .checkbox label {
	display: flex;
	align-items: flex-start;
	cursor: pointer;
	margin: 0;
}

.cta-form .checkbox input[type="checkbox"],
.ktk-form .checkbox input[type="checkbox"],
.form-panel .checkbox input[type="checkbox"] {
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	margin-right: 8px;
	margin-top: 2px;
}

.cta-form .checkbox span,
.ktk-form .checkbox span,
.form-panel .checkbox span {
	font-size: 12px;
	line-height: 1.35;
	color: rgba(0, 0, 0, 0.55);
	font-weight: 400;
	padding-left: 0;
}

.cta-form .checkbox span::before,
.ktk-form .checkbox span::before,
.form-panel .checkbox span::before {
	display: none;
}

.cta-form .checkbox a,
.ktk-form .checkbox a,
.form-panel .checkbox a {
	color: #E66003;
}

.ktk-form__consent-note {
	margin: 0;
	font-size: 14px;
	line-height: 1.35;
	color: rgba(0, 0, 0, 0.55);
	text-align: left;
}

.ktk-form__consent-note a {
	color: #E66003;
}

.cta-form__submit {
	flex-shrink: 0;
	width: 175px;
}

.cta-form .btn-main,
.ktk-form__footer .btn-main,
.form-panel__footer .btn-main {
	min-height: auto;
	padding: 16px 26px;
	line-height: 16px;
}

.ktk-form__footer .btn-main,
.form-panel__footer .btn-main {
	flex-shrink: 0;
}

.form-panel__row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.form-panel__row .item-form {
	flex: 1 1 200px;
	margin-bottom: 0;
}

.solution-hero-form__footer,
.ktk-form--hero .ktk-form__footer {
	flex-direction: column;
	align-items: stretch;
}

.solution-hero-form__footer .btn-main,
.ktk-form--hero .ktk-form__footer .btn-main {
	width: 100%;
}

@media (max-width: 991px) {
	.ktk-form__footer .btn-main,
	.form-panel__footer .btn-main {
		width: 100%;
	}
}
