/*!
 * Font Awesome 6.4.0 — Minimal subset for Game Portal theme
 * Only the ~55 icons actually used in templates.
 * @font-face points to Cloudflare CDN woff2 (no self-hosting needed).
 * font-display:swap avoids the 3-second block period.
 */

/* ── @font-face ──────────────────────────────────────────────────────────── */
@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");
}

/* ── Base rules ──────────────────────────────────────────────────────────── */
.fa, .fa-brands, .fa-classic, .fa-regular, .fa-sharp, .fa-solid, .fab, .far, .fas {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: var(--fa-display, inline-block);
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
}
.fa, .fa-classic, .fa-regular, .fa-solid, .far, .fas {
    font-family: "Font Awesome 6 Free";
}
.fas, .fa-solid { font-weight: 900; }
.far, .fa-regular { font-weight: 400; }
.fab, .fa-brands {
    font-family: "Font Awesome 6 Brands";
    font-weight: 400;
}

/* ── Spin animation ──────────────────────────────────────────────────────── */
@keyframes fa-spin {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
.fa-spin { animation: fa-spin 2s linear infinite; }

/* ── Icons ───────────────────────────────────────────────────────────────── */
/* Navigation */
.fa-home::before,
.fa-house::before                             { content: "\f015"; }
.fa-gamepad::before                           { content: "\f11b"; }
.fa-fire::before                              { content: "\f06d"; }
.fa-compass::before                           { content: "\f14e"; }
.fa-th::before,
.fa-table-cells::before                       { content: "\f00a"; }
.fa-trophy::before                            { content: "\f091"; }
.fa-bars::before                              { content: "\f0c9"; }
.fa-layer-group::before                       { content: "\f5fd"; }
.fa-history::before,
.fa-clock-rotate-left::before                 { content: "\f1da"; }

/* Chevrons */
.fa-chevron-down::before                      { content: "\f078"; }
.fa-chevron-right::before                     { content: "\f054"; }
.fa-chevron-left::before                      { content: "\f053"; }

/* Search */
.fa-search::before,
.fa-magnifying-glass::before                  { content: "\f002"; }

/* Theme toggle */
.fa-moon::before                              { content: "\f186"; }
.fa-sun::before                               { content: "\f185"; }

/* Stars / rating */
.fa-star::before                              { content: "\f005"; }
.fa-star-half-alt::before,
.fa-star-half-stroke::before                  { content: "\f5c0"; }

/* Game controls */
.fa-play::before                              { content: "\f04b"; }
.fa-compress::before                          { content: "\f066"; }
.fa-expand::before                            { content: "\f065"; }
.fa-tv::before                                { content: "\f26c"; }
.fa-volume-up::before,
.fa-volume-high::before                       { content: "\f028"; }
.fa-volume-mute::before,
.fa-volume-xmark::before                      { content: "\f6a9"; }

/* Actions */
.fa-heart::before                             { content: "\f004"; }
.fa-thumbs-up::before                         { content: "\f164"; }
.fa-thumbs-down::before                       { content: "\f165"; }
.fa-plus::before                              { content: "\2b"; }
.fa-plus-circle::before,
.fa-circle-plus::before                       { content: "\f055"; }
.fa-pen::before                               { content: "\f304"; }
.fa-trash::before                             { content: "\f1f8"; }
.fa-arrow-left::before                        { content: "\f060"; }
.fa-reply::before                             { content: "\f3e5"; }
.fa-paper-plane::before                       { content: "\f1d8"; }
.fa-envelope::before                          { content: "\f0e0"; }

/* Tags */
.fa-tags::before                              { content: "\f02c"; }
.fa-tag::before                               { content: "\f02b"; }

/* Status / feedback */
.fa-spinner::before                           { content: "\f110"; }
.fa-comments::before                          { content: "\f086"; }
.fa-circle::before                            { content: "\f111"; }
.fa-times::before,
.fa-xmark::before                             { content: "\f00d"; }
.fa-check-circle::before,
.fa-circle-check::before                      { content: "\f058"; }
.fa-info-circle::before,
.fa-circle-info::before                       { content: "\f05a"; }
.fa-exclamation-triangle::before,
.fa-triangle-exclamation::before              { content: "\f071"; }
.fa-exclamation-circle::before,
.fa-circle-exclamation::before                { content: "\f06a"; }

/* Social / brands */
.fa-facebook-f::before                        { content: "\f39e"; }
.fa-instagram::before                         { content: "\f16d"; }
.fa-youtube::before                           { content: "\f167"; }
.fa-twitter::before                           { content: "\f099"; }
.fa-whatsapp::before                          { content: "\f232"; }
.fa-pinterest-p::before                       { content: "\f231"; }
