/* ===========================================
   FontAwesome RPG Styling for SlimiRPG GE
   =========================================== */

/* FontAwesome Base Styles */
.fas {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
}

/* RPG Item Icons with Enhanced Styling */
.rpg-item-icon {
    font-size: 1.4em;
    margin-right: 8px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.3);
    transition: all 0.3s ease;
}

.rpg-item-icon:hover {
    transform: scale(1.1);
    filter: brightness(1.2);
}

/* Status Icons with RPG Theme */
.status-icon {
    margin-right: 5px;
    font-size: 0.9em;
}

.status-icon.active {
    color: #28a745;
    animation: pulse-green 2s infinite;
}

.status-icon.partial {
    color: #ffc107;
    animation: pulse-yellow 2s infinite;
}

.status-icon.completed {
    color: #17a2b8;
}

.status-icon.cancelled {
    color: #dc3545;
}

/* Type Icons */
.type-icon {
    margin-right: 5px;
    font-size: 0.9em;
}

.type-icon.buy {
    color: #28a745;
}

.type-icon.sell {
    color: #dc3545;
}

/* Bot Indicator */
.bot-icon {
    color: #ffc107;
    margin-right: 3px;
    animation: robot-pulse 3s infinite;
}

/* Navigation Icons */
.nav-icon {
    margin-right: 5px;
    font-size: 0.9em;
}

/* Filter Icons */
.filter-icon {
    margin-right: 5px;
    color: #6c757d;
}

/* Chart and Data Icons */
.data-icon {
    margin-right: 5px;
    color: #667eea;
}

/* Progress Icons */
.progress-icon {
    margin-right: 5px;
    color: #007bff;
}

/* Time Icons */
.time-icon {
    margin-right: 5px;
    color: #6c757d;
}

/* Animations */
@keyframes pulse-green {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

@keyframes pulse-yellow {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.8; }
}

@keyframes robot-pulse {
    0%, 100% { 
        color: #ffc107;
        transform: scale(1);
    }
    50% { 
        color: #ffed4e;
        transform: scale(1.05);
    }
}

/* Hover Effects */
.fas.hover-effect:hover {
    transform: scale(1.1);
    transition: transform 0.2s ease;
}

/* Dark Theme Enhancements */
.dark-theme .fas {
    text-shadow: 0 1px 3px rgba(0,0,0,0.5);
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .rpg-item-icon {
        font-size: 1.2em;
        margin-right: 6px;
    }
    
    .status-icon,
    .type-icon,
    .nav-icon,
    .filter-icon,
    .data-icon,
    .progress-icon,
    .time-icon {
        font-size: 0.8em;
        margin-right: 3px;
    }
}

/* Special RPG Effects */
.magic-item {
    color: #9775fa;
    text-shadow: 0 0 5px rgba(151, 117, 250, 0.5);
}

.rare-item {
    color: #ffd43b;
    text-shadow: 0 0 3px rgba(255, 212, 59, 0.3);
}

.epic-item {
    color: #ff6b6b;
    text-shadow: 0 0 4px rgba(255, 107, 107, 0.4);
}

.legendary-item {
    color: #ff8c00;
    text-shadow: 0 0 6px rgba(255, 140, 0, 0.6);
    animation: legendary-glow 2s infinite alternate;
}

@keyframes legendary-glow {
    0% { 
        color: #ff8c00;
        text-shadow: 0 0 6px rgba(255, 140, 0, 0.6);
    }
    100% { 
        color: #ffd700;
        text-shadow: 0 0 8px rgba(255, 215, 0, 0.8);
    }
}

/* Loading States */
.loading-icon {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Success/Error States */
.success-icon {
    color: #28a745;
    animation: success-bounce 0.6s ease;
}

.error-icon {
    color: #dc3545;
    animation: error-shake 0.5s ease;
}

@keyframes success-bounce {
    0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
    40% { transform: translateY(-5px); }
    60% { transform: translateY(-3px); }
}

@keyframes error-shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-3px); }
    75% { transform: translateX(3px); }
}

/* Tooltip Support */
.fas[title] {
    cursor: help;
    position: relative;
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
    .fas,
    .rpg-item-icon,
    .status-icon,
    .bot-icon {
        animation: none;
        transition: none;
    }
}

/* High Contrast Mode */
@media (prefers-contrast: high) {
    .fas {
        text-shadow: none;
        filter: contrast(1.5);
    }
}
