/**
 * AJAX Search Taxonomies - Styles
 * 
 * @package Houzez-Child
 * @since 1.0.0
 */

/* Loading spinner for select elements */
.ajax-taxonomy-select.loading + .dropdown-toggle::after {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-left: 8px;
    border: 2px solid #ccc;
    border-top-color: #333;
    border-radius: 50%;
    animation: ajax-search-spin 0.6s linear infinite;
}

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

/* Disabled state during loading */
.ajax-taxonomy-select.loading + .dropdown-toggle {
    opacity: 0.6;
    cursor: wait !important;
}

/* Loading message in dropdown */
.ajax-taxonomy-select.loading + .dropdown-toggle + .dropdown-menu .bs-searchbox {
    pointer-events: none;
    opacity: 0.5;
}

/* Error state */
.ajax-taxonomy-select.error + .dropdown-toggle {
    border-color: #dc3545;
}

/* Success state (optional) */
.ajax-taxonomy-select.loaded + .dropdown-toggle {
    border-color: #28a745;
    transition: border-color 0.3s ease;
}

/* Remove success border after 2 seconds */
.ajax-taxonomy-select.loaded + .dropdown-toggle {
    animation: ajax-search-success-fade 2s ease forwards;
}

@keyframes ajax-search-success-fade {
    0% {
        border-color: #28a745;
    }
    100% {
        border-color: #ced4da;
    }
}

/* Mobile optimizations */
@media (max-width: 768px) {
    .ajax-taxonomy-select.loading + .dropdown-toggle::after {
        width: 12px;
        height: 12px;
        margin-left: 6px;
    }
}

