/* AI Models Selection - Professional Design */

.ai-models-container {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
 gap: var(--space-lg);
 margin: var(--space-2xl) 0;
}

.ai-model-card {
 background: var(--glass-effect);
 backdrop-filter: blur(20px);
 border: 2px solid var(--glass-border);
 border-radius: var(--radius-2xl);
 padding: var(--space-xl);
 transition: var(--transition-normal);
 position: relative;
 overflow: hidden;
 cursor: pointer;
}

.ai-model-card::before {
 content: '';
 position: absolute;
 top: 0;
 left: -100%;
 width: 100%;
 height: 100%;
 background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
 transition: var(--transition-slow);
}

.ai-model-card:hover::before {
 left: 100%;
}

.ai-model-card:hover {
 transform: translateY(-8px);
 box-shadow: var(--shadow-hover);
 border-color: rgba(102, 126, 234, 0.4);
}

.ai-model-card.selected {
 border-color: #ffd700;
 background: rgba(255, 215, 0, 0.1);
 box-shadow: 0 0 30px rgba(255, 215, 0, 0.3);
}

.ai-model-card.disabled {
 opacity: 0.6;
 cursor: not-allowed;
 filter: grayscale(0.5);
}

.ai-model-card.disabled:hover {
 transform: none;
 box-shadow: none;
}

.ai-model-status {
 display: flex;
 gap: var(--space-sm);
 margin-bottom: var(--space-md);
 flex-wrap: wrap;
}

.status-badge {
 padding: var(--space-xs) var(--space-sm);
 border-radius: var(--radius-full);
 font-size: 0.75rem;
 font-weight: 600;
 text-transform: uppercase;
 letter-spacing: 0.5px;
}

.status-badge.online {
 background: var(--success-gradient);
 color: white;
}

.status-badge.offline {
 background: var(--error-gradient);
 color: white;
}

.status-badge.api-error {
 background: var(--warning-gradient);
 color: white;
}

.ai-model-header {
 display: flex;
 align-items: center;
 gap: var(--space-md);
 margin-bottom: var(--space-lg);
}

.ai-model-icon {
 width: 60px;
 height: 60px;
 border-radius: var(--radius-xl);
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 1.5rem;
 color: white;
 position: relative;
 overflow: hidden;
}

.ai-model-icon::before {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 background: linear-gradient(45deg, rgba(255, 255, 255, 0.2), transparent);
 opacity: 0;
 transition: var(--transition-normal);
}

.ai-model-card:hover .ai-model-icon::before {
 opacity: 1;
}

.ai-model-icon.offline {
 background: var(--primary-gradient);
}

.ai-model-icon.openai {
 background: linear-gradient(135deg, #10a37f 0%, #1a7f64 100%);
}

.ai-model-icon.claude {
 background: linear-gradient(135deg, #ff6b35 0%, #f7931e 100%);
}

.ai-model-icon.gemini {
 background: linear-gradient(135deg, #4285f4 0%, #34a853 100%);
}

.ai-model-icon.cohere {
 background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);
}

.ai-model-icon.perplexity {
 background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
}

.ai-model-icon.ollama {
 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.ai-model-info {
 flex: 1;
}

.ai-model-name {
 font-size: 1.25rem;
 font-weight: 700;
 color: #333;
 margin-bottom: var(--space-xs);
}

.ai-model-description {
 color: #666;
 font-size: 0.9rem;
 line-height: 1.5;
}

.ai-model-features {
 margin-bottom: var(--space-lg);
}

.ai-model-features-list {
 list-style: none;
 padding: 0;
 margin: 0;
}

.ai-model-features-list li {
 display: flex;
 align-items: center;
 gap: var(--space-sm);
 padding: var(--space-xs) 0;
 color: #555;
 font-size: 0.9rem;
}

.ai-model-features-list li::before {
 content: '✓';
 color: #10a37f;
 font-weight: bold;
 font-size: 0.8rem;
}

.ai-model-stats {
 display: flex;
 justify-content: space-between;
 align-items: center;
 margin-bottom: var(--space-lg);
 padding: var(--space-md);
 background: rgba(255, 255, 255, 0.5);
 border-radius: var(--radius-lg);
}

.ai-model-pricing {
 font-weight: 600;
 color: #333;
 font-size: 0.9rem;
}

.ai-model-speed {
 font-size: 0.8rem;
 color: #666;
 background: rgba(0, 0, 0, 0.05);
 padding: var(--space-xs) var(--space-sm);
 border-radius: var(--radius-sm);
}

.ai-model-selector {
 text-align: center;
}

.ai-model-radio {
 display: none;
}

.ai-model-radio-label {
 display: inline-flex;
 align-items: center;
 gap: var(--space-sm);
 padding: var(--space-md) var(--space-lg);
 background: var(--primary-gradient);
 color: white;
 border-radius: var(--radius-lg);
 font-weight: 600;
 cursor: pointer;
 transition: var(--transition-normal);
 width: 100%;
 justify-content: center;
}

.ai-model-radio-label:hover {
 transform: translateY(-2px);
 box-shadow: var(--shadow-button);
}

.ai-model-card.disabled .ai-model-radio-label {
 background: #ccc;
 cursor: not-allowed;
 opacity: 0.6;
}

.ai-model-card.disabled .ai-model-radio-label:hover {
 transform: none;
 box-shadow: none;
}

.ai-model-card.selected .ai-model-radio-label {
 background: linear-gradient(135deg, #ffd700 0%, #ffed4e 100%);
 color: #333;
}

/* Responsive Design */
@media (max-width: 768px) {
 .ai-models-container {
 grid-template-columns: 1fr;
 gap: var(--space-md);
 }
 
 .ai-model-card {
 padding: var(--space-lg);
 }
 
 .ai-model-header {
 flex-direction: column;
 text-align: center;
 gap: var(--space-sm);
 }
 
 .ai-model-icon {
 width: 50px;
 height: 50px;
 font-size: 1.25rem;
 }
 
 .ai-model-stats {
 flex-direction: column;
 gap: var(--space-sm);
 text-align: center;
 }
}

/* Animation for model selection */
@keyframes modelSelect {
 0% {
 transform: scale(1);
 box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
 }
 50% {
 transform: scale(1.02);
 box-shadow: 0 8px 30px rgba(102, 126, 234, 0.3);
 }
 100% {
 transform: scale(1);
 box-shadow: 0 0 30px rgba(255, 215, 0, 0.3);
 }
}

.ai-model-card.selected {
 animation: modelSelect 0.6s ease-out;
}

/* Loading state for model testing */
.ai-model-card.testing {
 position: relative;
 pointer-events: none;
}

.ai-model-card.testing::after {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 background: rgba(255, 255, 255, 0.8);
 display: flex;
 align-items: center;
 justify-content: center;
 border-radius: var(--radius-2xl);
}

.ai-model-card.testing::after {
 content: 'Testing...';
 color: #667eea;
 font-weight: 600;
 font-size: 1.1rem;
}

/* Model comparison view */
.ai-models-comparison {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
 gap: var(--space-md);
 margin: var(--space-xl) 0;
}

.ai-model-comparison-card {
 background: var(--glass-effect);
 backdrop-filter: blur(20px);
 border: 1px solid var(--glass-border);
 border-radius: var(--radius-xl);
 padding: var(--space-lg);
 text-align: center;
 transition: var(--transition-normal);
}

.ai-model-comparison-card:hover {
 transform: translateY(-4px);
 box-shadow: var(--shadow-card);
}

.ai-model-comparison-icon {
 width: 50px;
 height: 50px;
 margin: 0 auto var(--space-md);
 border-radius: var(--radius-lg);
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 1.25rem;
 color: white;
}

.ai-model-comparison-name {
 font-weight: 600;
 margin-bottom: var(--space-sm);
 color: #333;
}

.ai-model-comparison-stats {
 font-size: 0.8rem;
 color: #666;
 margin-bottom: var(--space-sm);
}

.ai-model-comparison-price {
 font-weight: 600;
 color: #10a37f;
 font-size: 0.9rem;
}
