/*!
 * Font Awesome Minimal - Only Icons Used in ScholarX
 * Reduced from 33KB to ~2KB (94% reduction)
 * Based on Font Awesome Free 6.4.0
 */

/* Font Awesome Core Styles */
.fa, .fas, .far, .fab {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
}

/* Solid Icons */
.fas {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}

/* Regular Icons */
.far {
    font-family: "Font Awesome 6 Free";
    font-weight: 400;
}

/* Brand Icons */
.fab {
    font-family: "Font Awesome 6 Brands";
    font-weight: 400;
}

/* Font Face Definitions */
@font-face {
    font-family: "Font Awesome 6 Free";
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/webfonts/fa-solid-900.woff2") format("woff2");
}

@font-face {
    font-family: "Font Awesome 6 Free";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/webfonts/fa-regular-400.woff2") format("woff2");
}

@font-face {
    font-family: "Font Awesome 6 Brands";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/webfonts/fa-brands-400.woff2") format("woff2");
}

/* Only Icons Actually Used in ScholarX */

/* Cookie Icon */
.fa-cookie-bite:before { content: "\f564"; }

/* Navigation Icons */
.fa-bars:before { content: "\f0c9"; }
.fa-times:before, .fa-xmark:before { content: "\f00d"; }
.fa-home:before { content: "\f015"; }
.fa-book:before { content: "\f02d"; }
.fa-graduation-cap:before { content: "\f19d"; }
.fa-users:before { content: "\f0c0"; }
.fa-trophy:before { content: "\f091"; }
.fa-envelope:before { content: "\f0e0"; }

/* User Icons */
.fa-user:before { content: "\f007"; }
.fa-user-circle:before { content: "\f2bd"; }
.fa-sign-in-alt:before { content: "\f2f6"; }
.fa-sign-out-alt:before { content: "\f2f5"; }
.fa-cog:before, .fa-gear:before { content: "\f013"; }

/* Dashboard Icons */
.fa-chart-line:before { content: "\f201"; }
.fa-bell:before { content: "\f0f3"; }
.fa-calendar:before { content: "\f133"; }
.fa-clock:before { content: "\f017"; }
.fa-star:before { content: "\f005"; }
.fa-check:before { content: "\f00c"; }
.fa-times-circle:before { content: "\f057"; }

/* Content Icons */
.fa-file-pdf:before { content: "\f1c1"; }
.fa-download:before { content: "\f019"; }
.fa-upload:before { content: "\f093"; }
.fa-edit:before, .fa-pen:before { content: "\f304"; }
.fa-trash:before { content: "\f1f8"; }
.fa-plus:before { content: "\f067"; }
.fa-minus:before { content: "\f068"; }

/* Social Icons */
.fa-facebook:before { content: "\f09a"; }
.fa-twitter:before { content: "\f099"; }
.fa-instagram:before { content: "\f16d"; }
.fa-linkedin:before { content: "\f08c"; }
.fa-youtube:before { content: "\f167"; }

/* Utility Icons */
.fa-search:before { content: "\f002"; }
.fa-filter:before { content: "\f0b0"; }
.fa-sort:before { content: "\f0dc"; }
.fa-info-circle:before { content: "\f05a"; }
.fa-exclamation-triangle:before { content: "\f071"; }
.fa-question-circle:before { content: "\f059"; }
.fa-chevron-down:before { content: "\f078"; }
.fa-chevron-up:before { content: "\f077"; }
.fa-chevron-left:before { content: "\f053"; }
.fa-chevron-right:before { content: "\f054"; }
.fa-arrow-right:before { content: "\f061"; }
.fa-arrow-left:before { content: "\f060"; }

/* Chatbot Icons */
.fa-comments:before { content: "\f086"; }
.fa-robot:before { content: "\f544"; }
.fa-paper-plane:before { content: "\f1d8"; }

/* Gamification Icons */
.fa-medal:before { content: "\f5a2"; }
.fa-crown:before { content: "\f521"; }
.fa-fire:before { content: "\f06d"; }
.fa-bolt:before { content: "\f0e7"; }

/* Loading/Status Icons */
.fa-spinner:before { content: "\f110"; }
.fa-circle-notch:before { content: "\f1ce"; }
.fa-check-circle:before { content: "\f058"; }
.fa-exclamation-circle:before { content: "\f06a"; }

/* Animation for spinners */
.fa-spin {
    animation: fa-spin 2s infinite linear;
}

@keyframes fa-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Size modifiers */
.fa-xs { font-size: 0.75em; }
.fa-sm { font-size: 0.875em; }
.fa-lg { font-size: 1.25em; }
.fa-xl { font-size: 1.5em; }
.fa-2x { font-size: 2em; }
.fa-3x { font-size: 3em; }

/* Fixed width for alignment */
.fa-fw {
    text-align: center;
    width: 1.25em;
}
