/*!
 * Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2023 Fonticons, Inc.
 */

/* Font Face Definitions - Using only WOFF2 for better compatibility */
@font-face {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url(../webfonts/fa-regular-400.woff2) format("woff2");
}

@font-face {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url(../webfonts/fa-solid-900.woff2) format("woff2");
}

@font-face {
  font-family: "Font Awesome 6 Brands";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url(../webfonts/fa-brands-400.woff2) format("woff2");
}

/* Base Font Awesome Classes */
.fa {
  font-family: var(--fa-style-family, "Font Awesome 6 Free");
  font-weight: var(--fa-style, 900);
}

.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-classic, .fa-regular, .fa-solid, .far, .fas {
  font-family: "Font Awesome 6 Free";
}

.fa-brands, .fab {
  font-family: "Font Awesome 6 Brands";
}

.fa-regular, .far {
  font-weight: 400;
}

.fa-solid, .fas {
  font-weight: 900;
}

.fa-brands, .fab {
  font-weight: 400;
}

/* Size Classes */
.fa-1x { font-size: 1em; }
.fa-2x { font-size: 2em; }
.fa-3x { font-size: 3em; }
.fa-4x { font-size: 4em; }
.fa-5x { font-size: 5em; }
.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-2xl { font-size: 2em; }

/* Basic Icons - Most Common */
.fa-home:before { content: "\f015"; }
.fa-user:before { content: "\f007"; }
.fa-cog:before, .fa-gear:before { content: "\f013"; }
.fa-search:before, .fa-magnifying-glass:before { content: "\f002"; }
.fa-envelope:before { content: "\f0e0"; }
.fa-phone:before { content: "\f095"; }
.fa-heart:before { content: "\f004"; }
.fa-star:before { content: "\f005"; }
.fa-plus:before { content: "\f067"; }
.fa-minus:before { content: "\f068"; }
.fa-times:before, .fa-xmark:before { content: "\f00d"; }
.fa-check:before { content: "\f00c"; }
.fa-arrow-right:before { content: "\f061"; }
.fa-arrow-left:before { content: "\f060"; }
.fa-arrow-up:before { content: "\f062"; }
.fa-arrow-down:before { content: "\f063"; }
.fa-edit:before, .fa-pen-to-square:before { content: "\f044"; }
.fa-trash:before { content: "\f1f8"; }
.fa-save:before, .fa-floppy-disk:before { content: "\f0c7"; }
.fa-print:before { content: "\f02f"; }
.fa-download:before { content: "\f019"; }
.fa-upload:before { content: "\f093"; }
.fa-file:before { content: "\f15b"; }
.fa-folder:before { content: "\f07b"; }
.fa-calendar:before { content: "\f133"; }
.fa-clock:before { content: "\f017"; }
.fa-eye:before { content: "\f06e"; }
.fa-eye-slash:before { content: "\f070"; }
.fa-lock:before { content: "\f023"; }
.fa-unlock:before { content: "\f09c"; }
.fa-bell:before { content: "\f0f3"; }
.fa-comment:before { content: "\f075"; }
.fa-share:before { content: "\f064"; }
.fa-link:before { content: "\f0c1"; }
.fa-tag:before { content: "\f02b"; }
.fa-bookmark:before { content: "\f02e"; }
.fa-thumbs-up:before { content: "\f164"; }
.fa-thumbs-down:before { content: "\f165"; }
.fa-warning:before, .fa-triangle-exclamation:before { content: "\f071"; }
.fa-info:before { content: "\f129"; }
.fa-question:before { content: "\f128"; }
.fa-exclamation:before { content: "\f12a"; }

/* Navigation Icons */
.fa-bars:before { content: "\f0c9"; }
.fa-list:before { content: "\f03a"; }
.fa-th:before, .fa-table-cells:before { content: "\f00a"; }
.fa-th-list:before, .fa-table-list:before { content: "\f00b"; }
.fa-th-large:before, .fa-table-cells-large:before { content: "\f009"; }

/* Common Business Icons */
.fa-dashboard:before, .fa-tachometer-alt:before, .fa-gauge:before { content: "\f624"; }
.fa-users:before { content: "\f0c0"; }
.fa-shopping-cart:before, .fa-cart-shopping:before { content: "\f07a"; }
.fa-credit-card:before { content: "\f09d"; }
.fa-money-bill:before { content: "\f0d6"; }
.fa-chart-bar:before { content: "\f080"; }
.fa-chart-line:before { content: "\f201"; }
.fa-chart-pie:before { content: "\f200"; }

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

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

.fa-pull-left {
  float: left;
  margin-right: 0.3em;
}

.fa-pull-right {
  float: right;
  margin-left: 0.3em;
}

.fa-spin {
  animation: fa-spin 2s infinite linear;
}

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

/* Navigation Menu Icons */
.fa-calendar::before { content: "\f133"; }
.fa-store::before { content: "\f54e"; }
.fa-chart-line::before { content: "\f201"; }
.fa-users::before { content: "\f0c0"; }
.fa-gear::before { content: "\f013"; }
.fa-power-off::before { content: "\f011"; }
.fa-tachometer-alt::before { content: "\f3fd"; }
.fa-plus::before { content: "\f067"; }
.fa-list::before { content: "\f03a"; }
.fa-shopping-cart::before { content: "\f07a"; }
.fa-credit-card::before { content: "\f09d"; }
.fa-chart-bar::before { content: "\f080"; }
.fa-user-friends::before { content: "\f500"; }
.fa-tags::before { content: "\f02c"; }
.fa-palette::before { content: "\f53f"; }
.fa-bell::before { content: "\f0f3"; }
.fa-envelope::before { content: "\f0e0"; }

/* Additional Menu Icons */
.fa-home::before { content: "\f015"; }
.fa-plus-circle::before { content: "\f055"; }
.fa-calendar-alt::before { content: "\f073"; }
.fa-ticket-alt::before { content: "\f3ff"; }
.fa-qrcode::before { content: "\f029"; }
.fa-box::before { content: "\f466"; }
.fa-layer-group::before { content: "\f5fd"; }
.fa-wallet::before { content: "\f555"; }
.fa-envelope-open-text::before { content: "\f658"; }
.fa-percent::before { content: "\f295"; }
.fa-user-tie::before { content: "\f508"; }
.fa-sliders-h::before { content: "\f1de"; }
.fa-life-ring::before { content: "\f1cd"; }
.fa-external-link-alt::before { content: "\f35d"; }
.fa-bars::before { content: "\f0c9"; }
.fa-chevron-down::before { content: "\f078"; }
.fa-store-alt::before { content: "\f54f"; }
.fa-crown::before { content: "\f521"; }
.fa-calendar-check::before { content: "\f274"; }
.fa-dollar-sign::before { content: "\f155"; }

/* Category Filter Icons */
.fa-music::before { content: "\f001"; }
.fa-basketball-ball::before { content: "\f434"; }
.fa-microchip::before { content: "\f2db"; }
.fa-utensils::before { content: "\f2e7"; }
.fa-briefcase::before { content: "\f0b1"; }
.fa-landmark::before { content: "\f66f"; }
.fa-city::before { content: "\f64f"; }
.fa-theater-masks::before { content: "\f630"; }
.fa-store::before { content: "\f54e"; }
.fa-chalkboard-teacher::before { content: "\f51c"; }
.fa-users::before { content: "\f0c0"; }
.fa-heartbeat::before { content: "\f21e"; }
.fa-praying-hands::before { content: "\f684"; }
.fa-network-wired::before { content: "\f6ff"; }

/* Hide elements from screen readers but keep them accessible */
.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}