

/* Start:/local/templates/aspro_next/components/bitrix/form.result.new/stroitelyam/style.css?17883425556775*/
/* Форма обратной связи поверх изображения (шаблон stroitelyam) */

.fos-banner {
	position: relative;
	overflow: hidden;
	border-radius: 6px;
	background: #1b1e24;
	margin: 0 0 34px;
}

.fos-banner__media {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.fos-banner__image {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: 50% 50%;
}

.fos-banner__scrim {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: linear-gradient(
		90deg,
		rgba(16, 18, 22, 0.94) 0%,
		rgba(16, 18, 22, 0.9) 48%,
		rgba(16, 18, 22, 0.66) 66%,
		rgba(16, 18, 22, 0.22) 85%,
		rgba(16, 18, 22, 0) 100%
	);
}

.fos-banner__inner {
	position: relative;
	display: flex;
	align-items: center;
	padding: 34px 40px;
}

.fos-banner__col {
	width: 100%;
	max-width: 705px;
}

.fos-banner__title {
	margin: 0 0 8px;
	color: #fff;
	font-size: 25px;
	line-height: 1.25;
	font-weight: 700;
}

.fos-banner__text {
	margin: 0 0 16px;
	color: rgba(255, 255, 255, 0.82);
	font-size: 14px;
	line-height: 1.45;
}

.fos-banner__card {
	padding: 20px 22px;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 14px 36px rgba(0, 0, 0, 0.3);
}

.fos-banner__card-title {
	margin: 0 0 14px;
	font-size: 18px;
	line-height: 1.3;
	font-weight: 700;
	color: #222;
}

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

.fos-banner__card form {
	margin: 0;
}

.fos-banner__card .form_body {
	margin: 0;
}

.fos-banner__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 18px;
	align-items: start;
}

.fos-banner__grid--single {
	grid-template-columns: 1fr;
}

.fos-banner__grid-col {
	min-width: 0;
}

.fos-banner__card .form-control {
	position: relative;
	margin: 0 0 12px;
	padding: 0;
	border: 0;
	background: none;
}

.fos-banner__card .form-control > label {
	display: block;
	margin: 0 0 4px;
	font-size: 13px;
	line-height: 1.3;
	font-weight: 400;
	color: #555;
}

.fos-banner__card .form-control > label .star {
	color: #e4271b;
}

.fos-banner__card .form-control input.inputtext,
.fos-banner__card .form-control input[type="text"],
.fos-banner__card .form-control input[type="tel"],
.fos-banner__card .form-control input[type="email"],
.fos-banner__card .form-control textarea {
	display: block;
	width: 100%;
	max-width: 100%;
	height: 40px;
	padding: 8px 12px;
	border: 1px solid #dcdfe3;
	border-radius: 3px;
	background: #fff;
	color: #222;
	font-size: 14px;
	line-height: 22px;
	box-shadow: none;
	transition: border-color 0.15s ease;
}

/* Высота задана явно (а не rows), чтобы колонка с многострочными полями
   по высоте совпадала с колонкой однострочных и баннер не разрастался. */
.fos-banner__card .form-control textarea {
	height: 78px;
	min-height: 0;
	resize: vertical;
}

.fos-banner__card .form-control input:focus,
.fos-banner__card .form-control textarea:focus {
	border-color: #9aa1a9;
	outline: none;
}

.fos-banner__card .form-control.error input,
.fos-banner__card .form-control.error textarea,
.fos-banner__card .form-control input.error,
.fos-banner__card .form-control textarea.error {
	border-color: #e4271b;
}

.fos-banner__card label.error {
	display: block;
	margin: 0 0 4px;
	color: #e4271b;
	font-size: 12px;
	line-height: 1.3;
	font-weight: 400;
}

/* --- кнопка и согласие --- */

/* Кнопка и согласие в одну строку — так карточка ниже,
   а блоки заведомо не накладываются друг на друга. */
.fos-banner__card .form_footer {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px 20px;
	margin: 2px 0 0;
	padding: 0;
	border: 0;
}

.fos-banner__card .form_footer input[type="submit"] {
	display: block;
	float: none;
	flex: 0 0 auto;
	width: auto;
	min-width: 210px;
	margin: 0;
	padding: 11px 24px;
	font-size: 15px;
	line-height: 20px;
	cursor: pointer;
}

/*
 * Чекбокс согласия рисуется псевдоэлементами темы (input скрыт,
 * "галка" выводится через input[type=checkbox] + label:before/:after).
 * Здесь только гасим отрицательный внешний отступ темы
 * (.filter.licence_block { margin: -10px 0 0 }), из-за которого блок
 * наезжал на кнопку, и задаём собственные отступы.
 */
.fos-banner__card .form_footer .licence_block.filter {
	position: relative;
	float: none;
	flex: 1 1 300px;
	width: auto;
	margin: 0;
	padding: 0;
}

.fos-banner__card .form_footer .licence_block.filter label {
	display: block;
	margin: 0;
	font-weight: 400;
	cursor: pointer;
}

.fos-banner__card .form_footer .licence_block.filter p {
	margin: 0;
	font-size: 12px;
	line-height: 1.45;
	color: #8a8f96;
}

.fos-banner__card .form_footer .licence_block.filter a {
	color: #8a8f96;
	text-decoration: underline;
}

/* Ошибка валидации согласия в теме позиционирована абсолютно и
   перекрывает текст — внутри карточки показываем её обычной строкой. */
.fos-banner__card .form_footer .licence_block.filter label.error {
	position: static;
	display: block;
	margin: 6px 0 0;
	padding-left: 0;
}

/* --- сообщения --- */

.fos-banner__card .form_result {
	margin: 0 0 16px;
	padding: 12px 15px;
	border-radius: 4px;
	font-size: 14px;
	line-height: 1.4;
}

.fos-banner__card .form_result.success {
	border: 1px solid #c3e6cb;
	background: #d4edda;
	color: #155724;
}

.fos-banner__card .form_result.error {
	border: 1px solid #f5c6cb;
	background: #f8d7da;
	color: #721c24;
}

.fos-banner__card .form_result.ajax-success {
	transition: opacity 0.5s;
}

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

@media (max-width: 991px) {
	.fos-banner__inner {
		padding: 28px;
	}

	.fos-banner__col {
		max-width: 100%;
	}

	.fos-banner__scrim {
		background: linear-gradient(
			180deg,
			rgba(16, 18, 22, 0.82) 0%,
			rgba(16, 18, 22, 0.9) 100%
		);
	}

	.fos-banner__title {
		font-size: 24px;
	}
}

@media (max-width: 767px) {
	.fos-banner {
		border-radius: 4px;
		margin-bottom: 24px;
	}

	.fos-banner__inner {
		padding: 20px 15px;
	}

	.fos-banner__title {
		font-size: 20px;
	}

	.fos-banner__text {
		font-size: 14px;
		margin-bottom: 14px;
	}

	.fos-banner__card {
		padding: 16px 15px;
	}

	.fos-banner__card-title {
		font-size: 17px;
	}

	.fos-banner__grid {
		grid-template-columns: 1fr;
		column-gap: 0;
	}

	.fos-banner__card .form_footer input[type="submit"] {
		width: 100%;
		min-width: 0;
	}

	.fos-banner__card .form_footer .licence_block.filter {
		flex: 1 1 100%;
	}
}

/* End */
/* /local/templates/aspro_next/components/bitrix/form.result.new/stroitelyam/style.css?17883425556775 */
