/* Дополнительные стили для обработки ошибок на шагах формы */

/* Стили для невалидных полей */
.wpcf7-not-valid { border-color: #e74c3c !important; background-color: rgba(231, 76, 60, 0.05); }

/* Сообщения об ошибках */
.form-error-msg { color: #e74c3c; font-size: 12px; margin-top: 5px; display: block; font-weight: 400; padding-left: 2px; }

/* Эффект шейка для невалидных полей */
@keyframes formErrorShake {
	0%, 100% { transform: translateX(0); }
	10%, 30%, 50%, 70%, 90% { transform: translateX(-5px); }
	20%, 40%, 60%, 80% { transform: translateX(5px); }
}

.wpcf7-not-valid { animation: formErrorShake 0.6s ease; }

/* Улучшенные стили для радиогрупп с ошибками */
.radio-group.wpcf7-not-valid { border-left: 3px solid #e74c3c; padding-left: 10px; border-radius: 3px; }

/* Улучшения для кнопок навигации */
.form-navigation { display: flex; justify-content: space-between; margin-top: 30px; }
.form-navigation .btn { transition: all 0.3s ease; }
.form-navigation .btn:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); }
.form-navigation .btn:disabled { opacity: 0.5; cursor: not-allowed; }

/* Улучшения для шагов формы */
.form-step { transition: opacity 0.3s ease; opacity: 0; display: none; }
.form-step.active { opacity: 1; display: block; }

/* Стили для групп полей в фокусе */
.form-field:focus { border-color: var(--accent-color); box-shadow: 0 0 0 2px rgba(var(--accent-color-rgb), 0.2); }

/* Активный статус для радиокнопок */
.wpcf7-radio .wpcf7-list-item label:hover { color: var(--accent-color); }
.wpcf7-radio .wpcf7-list-item input[type="radio"]:checked + .wpcf7-list-item-label { color: var(--accent-color); font-weight: 500; }

/* Скрываем стандартные сообщения об ошибках CF7 */
.wpcf7-response-output { display: none !important; }
.screen-reader-response { display: none !important; }