.form-guard {
	position: relative;
	overflow: visible;
	display: flex;
	flex-direction: column;
	gap: 10px;
 
}

.form-guard__banner {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	z-index: 2;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	transform: translateY(calc(-100% - 10px));
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 4px;
	padding: 0 16px 0 36px;
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	pointer-events: none;
	background: #FF0004;
	color: #ffffff;
	box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.251);
	transition:
		max-height 0.35s ease,
		opacity 0.35s ease,
		padding 0.35s ease,
		transform 0.35s ease;
}

.form-guard__banner.is-visible {
	max-height: 200px;
	opacity: 1;
	padding: 16px 36px 16px 16px;
	pointer-events: auto;
}

.form-guard__banner-text {
	margin: 0;
	font-size: 16px;
	font-weight: 400;
	flex: 1;
	min-width: 0;
	line-height: 100%;
	text-align: left;
}

.form-guard__banner-close {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	margin: 0;
	border: none;
	background: transparent;
	color: inherit;
	cursor: pointer;
	line-height: 0;
	transition: opacity 0.2s ease;
	position: absolute;
    right: 8px;
    top: 8px;
}

.form-guard__banner-close:hover {
	opacity: 0.85;
}

.form-guard__banner-close svg {
	display: block;
}


/* 1. Исходное состояние (форма НЕ заполнена) — БЕЛАЯ */
.calculator__form__button {
    background-color: #ffffff !important;
    color: #000000 !important;
    border: 2px solid #000000 !important;
    transition: all 0.3s ease;
    cursor: not-allowed; /* Показывает, что нажимать рано */
    opacity: 0.7;        /* Слегка приглушаем для визуальной неактивности */
}

/* 2. Активное состояние (ВСЁ заполнено: модель, имя, телефон, галочки) — ЧЁРНАЯ */
/* Этот класс добавляет наш JS-скрипт */
.calculator__form__button--active {
    background-color: #000000 !important;
    color: #ffffff !important;
    border: 2px solid #000000 !important;
    cursor: pointer; /* Курсор-рука, можно нажимать */
    opacity: 1;
}

/* 3. Эффект при наведении ТОЛЬКО на активную (чёрную) кнопку */
.calculator__form__button--active:hover {
    background-color: #333333 !important; /* Чуть светлее при наведении */
    transform: scale(1.02);               /* Лёгкое увеличение */
    box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.3);
}

.form-guard button[type='submit'].form-guard__submit--idle {
	/* opacity: 0.65; */
	cursor: not-allowed;
	transition: all 0.25s ease;
}
.standart-form .btn {
    background-color: #ffffff !important;
    border: 2px solid #000000 !important; /* Чёрная рамка для чёткого контура */
    transition: all 0.3s ease;
    cursor: not-allowed; /* Показываем, что пока нажимать нельзя */
    opacity: 0.7; /* Слегка приглушаем, чтобы пользователь понял, что кнопка пока неактивна */
}

/* Текст внутри кнопки, пока она не активна — ЧЁРНЫЙ */
.standart-form .btn span {
    color: #000000 !important;
    transition: all 0.3s ease;
}

/* 2. Активное состояние (ВСЁ заполнено: имя, телефон, галочки) — ЧЁРНАЯ */
.standart-form .btn.standart-form__btn--active {
    background-color: #000000 !important;
    border: 2px solid #000000 !important;
    cursor: pointer;
    opacity: 1;
}

/* Текст внутри кнопки, когда она активна — БЕЛЫЙ */
.standart-form .btn.standart-form__btn--active span {
    color: #ffffff !important;
}

/* 3. Эффект при наведении на активную (чёрную) кнопку */
.standart-form .btn.standart-form__btn--active:hover {
    background-color: #333333 !important; /* Чуть светлее при наведении для приятного эффекта */
    transform: scale(1.02);
    box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.3);
}
.form-guard button[type='submit']:not(.form-guard__submit--idle) {
	transition: all 0.25s ease;
}

.form-guard input.form-guard__field--error:not([type='hidden']) {
	border-color: #FF0004 !important;
	color: #FF0004;
	transition:
		all 0.25s ease;
}

.form-guard input.form-guard__field--error:not([type='hidden'])::placeholder {
	color: #FF0004;
	/* background: rgba(255, 0, 0, 0.502); */
	opacity: 1;
	transition: all 0.25s ease;
}

.form-guard input.form-guard__field--error:not([type='hidden'])::-webkit-input-placeholder {
	color: #FF0004;
	/* background: rgba(255, 0, 0, 0.502); */
	opacity: 1;
}

.form-guard .agreement__item--required.form-guard__checkbox--error input[type='checkbox'] + span {
	/* border: 1px solid #FF0004 !important; */
	background-color: #FF0000;
	/* background-color: #FF0004 !important; */
	transition:
		all 0.25s ease;
}

@media screen and (max-width: 1640px) {
	.form-guard__banner {
		width: 100%;
	}
}


@media screen and (max-width: 900px) {
	.form-guard__banner-text {
		margin: 0;
		font-size: 14px;
		font-weight: 400;
		flex: 1;
		min-width: 0;
		line-height: 120%;
		text-align: left;
	}
}

.popup__form .form-guard__banner.popup__form-guard-banner {
	background: #FF0004;
	border-radius: 4px;
	gap: 12px;
	padding: 0 36px 0 14px;
}

.popup__form .form-guard__banner.popup__form-guard-banner.is-visible {
	padding: 16px 36px 16px 16px;
}

.credit-info__form .form-guard__banner.popup__form-guard-banner {
	background: #ff0004;
	border-radius: 4px;
	gap: 12px;
	padding: 0 36px 0 14px;
}

.credit-info__form .form-guard__banner.popup__form-guard-banner.is-visible {
	padding: 16px 36px 16px 16px;
}

.calculator__form .form-guard__banner.popup__form-guard-banner {
	background: #ff0004;
	border-radius: 4px;
	gap: 12px;
	padding: 0 36px 0 14px;
}

.calculator__form .form-guard__banner.popup__form-guard-banner.is-visible {
	padding: 16px 36px 16px 16px;
}

.bnr-form .form-guard__banner.popup__form-guard-banner {
	background: #ff0004;
	border-radius: 4px;
	gap: 12px;
	padding: 0 36px 0 14px;
	max-width: 397px;
}

.bnr-form .form-guard__banner.popup__form-guard-banner.is-visible {
	padding: 16px 36px 16px 16px;
	max-width: 397px;
}

.standart-form .form-guard__banner.popup__form-guard-banner {
	background: #ff0004;
	border-radius: 4px;
	gap: 12px;
	padding: 0 36px 0 14px;
}

.standart-form .form-guard__banner.popup__form-guard-banner.is-visible {
	padding: 16px 36px 16px 16px;
}
