/*!
 * Font Awesome Local - Essential Icons for Knowledge Base
 * Uses Unicode fallbacks for better compatibility
 */

/* Font Awesome Icon Base */
.fa, .fas, .far, .fal, .fab {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Pro", "Font Awesome 5 Free", "Font Awesome 5 Pro", sans-serif;
}

/* Fallback to Unicode when Font Awesome is not available */
.fa-search:before, .fas.fa-search:before { content: "🔍"; }
.fa-book:before, .fas.fa-book:before { content: "📚"; }
.fa-question-circle:before, .fas.fa-question-circle:before { content: "❓"; }
.fa-user:before, .fas.fa-user:before { content: "👤"; }
.fa-cog:before, .fas.fa-cog:before { content: "⚙️"; }
.fa-home:before, .fas.fa-home:before { content: "🏠"; }
.fa-star:before, .fas.fa-star:before { content: "⭐"; }
.fa-heart:before, .fas.fa-heart:before { content: "❤️"; }
.fa-envelope:before, .fas.fa-envelope:before { content: "✉️"; }
.fa-phone:before, .fas.fa-phone:before { content: "📞"; }
.fa-calendar:before, .fas.fa-calendar:before { content: "📅"; }
.fa-clock:before, .fas.fa-clock:before { content: "🕐"; }
.fa-download:before, .fas.fa-download:before { content: "⬇️"; }
.fa-upload:before, .fas.fa-upload:before { content: "⬆️"; }
.fa-edit:before, .fas.fa-edit:before { content: "✏️"; }
.fa-trash:before, .fas.fa-trash:before { content: "🗑️"; }
.fa-save:before, .fas.fa-save:before { content: "💾"; }
.fa-print:before, .fas.fa-print:before { content: "🖨️"; }
.fa-share:before, .fas.fa-share:before { content: "📤"; }
.fa-link:before, .fas.fa-link:before { content: "🔗"; }
.fa-external-link:before, .fas.fa-external-link:before { content: "🔗"; }
.fa-arrow-left:before, .fas.fa-arrow-left:before { content: "←"; }
.fa-arrow-right:before, .fas.fa-arrow-right:before { content: "→"; }
.fa-arrow-up:before, .fas.fa-arrow-up:before { content: "↑"; }
.fa-arrow-down:before, .fas.fa-arrow-down:before { content: "↓"; }
.fa-check:before, .fas.fa-check:before { content: "✓"; }
.fa-times:before, .fas.fa-times:before { content: "✕"; }
.fa-plus:before, .fas.fa-plus:before { content: "+"; }
.fa-minus:before, .fas.fa-minus:before { content: "-"; }
.fa-info:before, .fas.fa-info:before { content: "ℹ️"; }
.fa-warning:before, .fas.fa-warning:before { content: "⚠️"; }
.fa-exclamation:before, .fas.fa-exclamation:before { content: "❗"; }
.fa-lightbulb:before, .fas.fa-lightbulb:before { content: "💡"; }
.fa-rocket:before, .fas.fa-rocket:before { content: "🚀"; }
.fa-shield:before, .fas.fa-shield:before { content: "🛡️"; }
.fa-lock:before, .fas.fa-lock:before { content: "🔒"; }
.fa-unlock:before, .fas.fa-unlock:before { content: "🔓"; }
.fa-key:before, .fas.fa-key:before { content: "🔑"; }
.fa-eye:before, .fas.fa-eye:before { content: "👁️"; }
.fa-eye-slash:before, .fas.fa-eye-slash:before { content: "🙈"; }
.fa-thumbs-up:before, .fas.fa-thumbs-up:before { content: "👍"; }
.fa-thumbs-down:before, .fas.fa-thumbs-down:before { content: "👎"; }
.fa-comment:before, .fas.fa-comment:before { content: "💬"; }
.fa-comments:before, .fas.fa-comments:before { content: "💬"; }
.fa-bell:before, .fas.fa-bell:before { content: "🔔"; }
.fa-folder:before, .fas.fa-folder:before { content: "📁"; }
.fa-file:before, .fas.fa-file:before { content: "📄"; }
.fa-image:before, .fas.fa-image:before { content: "🖼️"; }
.fa-video:before, .fas.fa-video:before { content: "🎥"; }
.fa-music:before, .fas.fa-music:before { content: "🎵"; }
.fa-play:before, .fas.fa-play:before { content: "▶️"; }
.fa-pause:before, .fas.fa-pause:before { content: "⏸️"; }
.fa-stop:before, .fas.fa-stop:before { content: "⏹️"; }
.fa-volume-up:before, .fas.fa-volume-up:before { content: "🔊"; }
.fa-volume-down:before, .fas.fa-volume-down:before { content: "🔉"; }
.fa-volume-mute:before, .fas.fa-volume-mute:before { content: "🔇"; }

/* Font Awesome Sizes */
.fa-xs { font-size: 0.75em; }
.fa-sm { font-size: 0.875em; }
.fa-lg { font-size: 1.33333em; line-height: 0.75em; vertical-align: -0.0667em; }
.fa-xl { font-size: 1.5em; }
.fa-2x { font-size: 2em; }
.fa-3x { font-size: 3em; }
.fa-4x { font-size: 4em; }
.fa-5x { font-size: 5em; }

/* Font Awesome Utilities */
.fa-fw { text-align: center; width: 1.25em; }
.fa-ul { list-style-type: none; margin-left: 2.5em; padding-left: 0; }
.fa-ul > li { position: relative; }
.fa-li { left: -2em; position: absolute; text-align: center; width: 2em; line-height: inherit; }

/* Spinning Animation */
.fa-spin {
    animation: fa-spin 2s infinite linear;
}

@keyframes fa-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Pulse Animation */
.fa-pulse {
    animation: fa-pulse 1s infinite steps(8);
}

@keyframes fa-pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
} 