/* =========================
   AUTO REQUEST FORM - BLACK STYLE
   Универсальная версия для всех страниц
   ========================= */

.auto-request-form {
	position: relative !important;
	width: 100% !important;
	max-width: 980px !important;
	margin: 0 auto !important;
	padding: 34px 34px 36px !important;
	background: linear-gradient(145deg, #050909 0%, #071315 55%, #020303 100%) !important;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-radius: 22px !important;
	box-shadow: 0 22px 55px rgba(0, 0, 0, 0.34) !important;
	box-sizing: border-box !important;
	overflow: visible !important;
}

/* Заголовки внутри формы */
.auto-request-form h3 {
	margin: 0 0 18px !important;
	padding: 0 0 12px !important;
	color: #ffffff !important;
	font-size: clamp(21px, 2vw, 27px) !important;
	line-height: 1.25 !important;
	font-weight: 800 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
}

/* Блоки формы */
.auto-form-block {
	margin: 0 0 28px !important;
	padding: 0 !important;
}

/* Сетка полей */
.auto-form-row {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 18px 20px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

/* Поле */
.auto-form-field {
	position: relative !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

/* Поле на всю ширину */
.auto-form-field-full,
.auto-form-block-message .auto-form-field {
	grid-column: 1 / -1 !important;
}

/* Label */
.auto-form-field label {
	display: block !important;
	margin: 0 0 7px !important;
	color: rgba(255, 255, 255, 0.86) !important;
	font-size: 14px !important;
	line-height: 1.35 !important;
	font-weight: 700 !important;
	letter-spacing: 0.01em !important;
}

/* Обертки CF7 */
.auto-request-form .wpcf7-form-control-wrap {
	display: block !important;
	width: 100% !important;
}

/* =========================
   INPUTS / SELECTS / TEXTAREA
   ========================= */

.auto-request-form .auto-field,
.auto-request-form input[type="text"],
.auto-request-form input[type="tel"],
.auto-request-form input[type="email"],
.auto-request-form select,
.auto-request-form textarea {
	display: block !important;
	width: 100% !important;
	height: 54px !important;
	min-height: 54px !important;
	margin: 0 !important;
	padding: 0 16px !important;
	background-color: #ffffff !important;
	border: 1px solid rgba(255, 255, 255, 0.16) !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	color: #001a1e !important;
	font-size: 16px !important;
	line-height: 54px !important;
	font-weight: 500 !important;
	outline: none !important;
	box-sizing: border-box !important;
	transition: border-color 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease !important;
}

/* Нативные select вместо Select2 */
.auto-request-form select {
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	padding-right: 44px !important;
	cursor: pointer !important;
	background-image:
		linear-gradient(45deg, transparent 50%, #001a1e 50%),
		linear-gradient(135deg, #001a1e 50%, transparent 50%) !important;
	background-position:
		calc(100% - 22px) 50%,
		calc(100% - 16px) 50% !important;
	background-size:
		6px 6px,
		6px 6px !important;
	background-repeat: no-repeat !important;
}

/* IE/старые Edge */
.auto-request-form select::-ms-expand {
	display: none !important;
}

/* Placeholder */
.auto-request-form .auto-field::placeholder,
.auto-request-form input::placeholder,
.auto-request-form textarea::placeholder {
	color: rgba(0, 26, 30, 0.45) !important;
	opacity: 1 !important;
}

/* Focus */
.auto-request-form .auto-field:focus,
.auto-request-form input:focus,
.auto-request-form select:focus,
.auto-request-form textarea:focus {
	border-color: #e31e24 !important;
	box-shadow: 0 0 0 3px rgba(227, 30, 36, 0.20) !important;
	background-color: #ffffff !important;
}

/* Textarea */
.auto-request-form textarea,
.auto-request-form .auto-textarea {
	display: block !important;
	width: 100% !important;
	min-height: 132px !important;
	height: 132px !important;
	padding: 14px 16px !important;
	line-height: 1.45 !important;
	resize: vertical !important;
}

/* Disabled */
.auto-request-form select:disabled,
.auto-request-form input:disabled,
.auto-request-form textarea:disabled {
	background-color: #f2f2f2 !important;
	opacity: 0.72 !important;
	cursor: not-allowed !important;
}

/* Disabled select - стрелка остается, но фон приглушенный */
.auto-request-form select:disabled {
	color: rgba(0, 26, 30, 0.55) !important;
}

/* =========================
   CF7 VALIDATION
   ========================= */

.auto-request-form .wpcf7-not-valid {
	border-color: #e31e24 !important;
	box-shadow: 0 0 0 3px rgba(227, 30, 36, 0.18) !important;
}

.auto-request-form .wpcf7-not-valid-tip {
	display: block !important;
	margin: 7px 0 0 !important;
	color: #ff6b6f !important;
	font-size: 13px !important;
	line-height: 1.35 !important;
	font-weight: 600 !important;
}

/* Общий ответ CF7 - только для формы с .auto-request-form */
.wpcf7 .auto-request-form ~ .wpcf7-response-output {
	max-width: 980px !important;
	margin: 18px auto 0 !important;
	padding: 13px 16px !important;
	border-radius: 10px !important;
	font-size: 15px !important;
	line-height: 1.45 !important;
	font-weight: 600 !important;
	color: #ffffff !important;
	background: rgba(255, 255, 255, 0.08) !important;
	border: 1px solid rgba(255, 255, 255, 0.16) !important;
	box-sizing: border-box !important;
}

/* Ошибка отправки */
.wpcf7 form.invalid .auto-request-form ~ .wpcf7-response-output,
.wpcf7 form.unaccepted .auto-request-form ~ .wpcf7-response-output,
.wpcf7 form.payment-required .auto-request-form ~ .wpcf7-response-output {
	background: rgba(227, 30, 36, 0.16) !important;
	border-color: rgba(227, 30, 36, 0.65) !important;
	color: #ffffff !important;
}

/* Успешная отправка */
.wpcf7 form.sent .auto-request-form ~ .wpcf7-response-output {
	background: rgba(20, 150, 90, 0.18) !important;
	border-color: rgba(20, 150, 90, 0.70) !important;
	color: #ffffff !important;
}

/* Спиннер CF7 */
.auto-request-form .wpcf7-spinner {
	margin: 0 0 0 12px !important;
	background-color: #e31e24 !important;
	vertical-align: middle !important;
}

/* =========================
   SUBMIT BUTTON - THEMEHT STYLE
   ========================= */

.auto-form-submit {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	width: 100% !important;
	margin: 30px 0 0 !important;
	padding: 0 !important;
}

/* Кнопка как в теме */
.auto-form-submit .themeht-btn.auto-submit-btn {
	appearance: none !important;
	-webkit-appearance: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	min-height: 58px !important;
	padding: 8px 12px 8px 22px !important;
	border: none !important;
	outline: none !important;
	cursor: pointer !important;
	text-decoration: none !important;
}

.auto-form-submit .themeht-btn.auto-submit-btn .btn-text {
	display: inline-block !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
}

.auto-form-submit .themeht-btn.auto-submit-btn .btn-icon {
	flex: 0 0 auto !important;
}

/* =========================
   TABLET
   ========================= */

@media (min-width: 768px) and (max-width: 1024px) {
	.auto-request-form {
		max-width: 760px !important;
		padding: 30px 28px 32px !important;
		border-radius: 20px !important;
	}

	.auto-form-row {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}
}

/* =========================
   MOBILE
   ========================= */

@media (max-width: 767.98px) {
	.auto-request-form {
		max-width: none !important;
		width: 100% !important;
		padding: 24px 16px 26px !important;
		border-radius: 16px !important;
		box-shadow: 0 14px 34px rgba(0, 0, 0, 0.28) !important;
	}

	.auto-request-form h3 {
		margin-bottom: 16px !important;
		padding-bottom: 10px !important;
		font-size: 22px !important;
	}

	.auto-form-block {
		margin-bottom: 24px !important;
	}

	.auto-form-row {
		grid-template-columns: 1fr !important;
		gap: 15px !important;
	}

	.auto-request-form .auto-field,
	.auto-request-form input[type="text"],
	.auto-request-form input[type="tel"],
	.auto-request-form input[type="email"],
	.auto-request-form select,
	.auto-request-form textarea {
		height: 52px !important;
		min-height: 52px !important;
		font-size: 15px !important;
		line-height: 52px !important;
		border-radius: 9px !important;
	}

	.auto-request-form textarea,
	.auto-request-form .auto-textarea {
		height: 124px !important;
		min-height: 124px !important;
		line-height: 1.45 !important;
	}

	.auto-form-submit {
		justify-content: stretch !important;
		margin-top: 26px !important;
	}

	.auto-form-submit .themeht-btn.auto-submit-btn {
		width: 100% !important;
		justify-content: center !important;
		padding: 12px 18px 12px 28px !important;
	}
}

/* Очень узкие экраны */
@media (max-width: 399.98px) {
	.auto-request-form {
		padding-left: 14px !important;
		padding-right: 14px !important;
	}

	.auto-form-field label {
		font-size: 13px !important;
	}

	.auto-request-form .auto-field,
	.auto-request-form input[type="text"],
	.auto-request-form input[type="tel"],
	.auto-request-form input[type="email"],
	.auto-request-form select,
	.auto-request-form textarea {
		font-size: 14px !important;
	}
}


/* =========================
   VIN SOFT WARNING
   Мягкое предупреждение без скачка формы
   ========================= */

.auto-request-form .auto-vin-warning {
	display: block !important;
	min-height: 18px !important;
	margin: 6px 0 0 !important;
	color: #ffb3b5 !important;
	font-size: 13px !important;
	line-height: 1.35 !important;
	font-weight: 600 !important;
	visibility: hidden !important;
	opacity: 0 !important;
	transition: opacity 0.15s ease !important;
}

.auto-request-form .auto-vin-warning.is-visible {
	visibility: visible !important;
	opacity: 1 !important;
}

.auto-request-form .auto-vin-has-warning {
	border-color: #e31e24 !important;
	box-shadow: 0 0 0 3px rgba(227, 30, 36, 0.14) !important;
}


/* =========================
   INNER ORDER FORM RESPONSE - FINAL
   Сообщение CF7 на внутренних страницах
   По ширине формы, как на главной
   ========================= */

/* Пустое сообщение CF7 не показываем */
.inner-order-form .wpcf7-response-output {
	display: none !important;
}

/* Показываем только после ошибки или успешной отправки */
.inner-order-form .wpcf7 form.invalid .wpcf7-response-output,
.inner-order-form .wpcf7 form.unaccepted .wpcf7-response-output,
.inner-order-form .wpcf7 form.payment-required .wpcf7-response-output,
.inner-order-form .wpcf7 form.failed .wpcf7-response-output,
.inner-order-form .wpcf7 form.spam .wpcf7-response-output,
.inner-order-form .wpcf7 form.sent .wpcf7-response-output {
	display: block !important;
	width: 100% !important;
	max-width: 980px !important;
	margin: 18px auto 0 !important;
	padding: 13px 16px !important;
	background: #ffffff !important;
	border: 2px solid rgba(227, 30, 36, 0.9) !important;
	border-radius: 10px !important;
	color: #001a1e !important;
	font-size: 15px !important;
	line-height: 1.45 !important;
	font-weight: 600 !important;
	box-sizing: border-box !important;
}

/* Ошибка / валидация */
.inner-order-form .wpcf7 form.invalid .wpcf7-response-output,
.inner-order-form .wpcf7 form.unaccepted .wpcf7-response-output,
.inner-order-form .wpcf7 form.payment-required .wpcf7-response-output,
.inner-order-form .wpcf7 form.failed .wpcf7-response-output,
.inner-order-form .wpcf7 form.spam .wpcf7-response-output {
	background: #ffffff !important;
	border-color: rgba(227, 30, 36, 0.9) !important;
	color: #001a1e !important;
}

/* Успешная отправка */
.inner-order-form .wpcf7 form.sent .wpcf7-response-output {
	background: #ffffff !important;
	border-color: rgba(20, 150, 90, 0.88) !important;
	color: #001a1e !important;
}

/* Планшет */
@media (min-width: 768px) and (max-width: 1024px) {
	.inner-order-form .wpcf7 form.invalid .wpcf7-response-output,
	.inner-order-form .wpcf7 form.unaccepted .wpcf7-response-output,
	.inner-order-form .wpcf7 form.payment-required .wpcf7-response-output,
	.inner-order-form .wpcf7 form.failed .wpcf7-response-output,
	.inner-order-form .wpcf7 form.spam .wpcf7-response-output,
	.inner-order-form .wpcf7 form.sent .wpcf7-response-output {
		max-width: 100% !important;
		margin-top: 17px !important;
		padding: 13px 15px !important;
	}
}

/* Мобилка */
@media (max-width: 767.98px) {
	.inner-order-form .wpcf7 form.invalid .wpcf7-response-output,
	.inner-order-form .wpcf7 form.unaccepted .wpcf7-response-output,
	.inner-order-form .wpcf7 form.payment-required .wpcf7-response-output,
	.inner-order-form .wpcf7 form.failed .wpcf7-response-output,
	.inner-order-form .wpcf7 form.spam .wpcf7-response-output,
	.inner-order-form .wpcf7 form.sent .wpcf7-response-output {
		max-width: 100% !important;
		margin-top: 16px !important;
		padding: 13px 14px !important;
		font-size: 14px !important;
		line-height: 1.45 !important;
		border-radius: 9px !important;
	}
}