/* Стили для форм с отправкой */
.js-ajax-form {
    position: relative;
}

.js-ajax-form .form-control.is-invalid {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.js-ajax-form .form-control.is-invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.js-ajax-form button[type="submit"]:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.js-ajax-form button[type="submit"] span {
    display: inline-block;
}

/* Анимация загрузки */
.js-ajax-form button[type="submit"]:disabled span::after {
    content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid #ffffff;
    border-radius: 50%;
    border-top-color: transparent;
    animation: spin 1s ease-in-out infinite;
    margin-left: 8px;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Стили для Notyf уведомлений */
.notyf__toast {
    border-radius: 8px;
    font-family: inherit;
}

.notyf__toast--success {
    background-color: #28a745;
}

.notyf__toast--error {
    background-color: #dc3545;
}

/* Адаптивность для мобильных устройств */
@media (max-width: 768px) {
    .js-ajax-form .form-group {
        margin-bottom: 15px;
    }
    
    .js-ajax-form button[type="submit"] {
        width: 100%;
        margin-top: 10px;
    }
} 