/* AI Avatar Styles */
.ai-avatar-section {
    padding: 20px;
}

.ai-avatar-instructions {
    margin-bottom: 20px;
    font-size: var(--font-sm);
}

.ai-avatar-instructions i {
    margin-right: 8px;
}

.ai-avatar-controls {
    margin-bottom: 20px;
}

#generate-ai-avatars {
    position: relative;
    min-width: 150px;
}

#generate-ai-avatars:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

#ai-avatar-remaining {
    font-size: var(--font-sm);
    font-style: italic;
}

#ai-avatar-loading {
    padding: 30px;
}

#ai-avatar-loading .spinner-border {
    width: 3rem;
    height: 3rem;
    margin-bottom: 15px;
}

#ai-avatar-results {
    border-top: 1px solid #dee2e6;
    padding-top: 20px;
}

#ai-avatar-options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-start;
}

#ai-avatar-options label {
    position: relative;
    display: block;
    padding: 5px;
    border: 2px solid transparent;
    border-radius: 8px;
    transition: all 0.2s ease;
    cursor: pointer;
}

#ai-avatar-options label:hover {
    border-color: #007bff;
    box-shadow: 0 2px 8px rgba(0, 123, 255, 0.25);
}

#ai-avatar-options input[type="radio"]:checked + label,
#ai-avatar-options label.selected {
    border-color: #007bff;
    box-shadow: 0 2px 8px rgba(0, 123, 255, 0.25);
}

#ai-avatar-options img {
    display: block;
    border-radius: 4px;
    transition: transform 0.2s ease;
}

#ai-avatar-options label:hover img {
    transform: scale(1.05);
}

#ai-avatar-status {
    margin: 15px 0;
}

/* Bootstrap 3 compatible spinner */
.spinner-border {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    vertical-align: text-bottom;
    border: 0.25em solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    -webkit-animation: spinner-border 0.75s linear infinite;
    animation: spinner-border 0.75s linear infinite;
}

@-webkit-keyframes spinner-border {
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes spinner-border {
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}


/* Responsive adjustments */
@media (max-width: 768px) {
    .ai-avatar-section {
        padding: 15px;
    }
    
    #ai-avatar-options {
        justify-content: center;
    }
    
    #ai-avatar-options img {
        max-width: 80px;
        max-height: 80px;
    }
}
