/* Fontello Icon Font - Optimized Font Awesome Replacement */
@font-face {
  font-family: 'fontello';
  src: url('/fonts/fontello/fontello.eot?96503166');
  src: url('/fonts/fontello/fontello.eot?96503166#iefix') format('embedded-opentype'),
       url('/fonts/fontello/fontello.woff2?96503166') format('woff2'),
       url('/fonts/fontello/fontello.woff?96503166') format('woff'),
       url('/fonts/fontello/fontello.ttf?96503166') format('truetype'),
       url('/fonts/fontello/fontello.svg?96503166#fontello') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: swap; /* Performance optimization */
}

/* Base Icon Styles - Compatible with Font Awesome classes */
[class^="icon-"]:before, 
[class*=" icon-"]:before,
.fa:before,
.fas:before,
.far:before,
.fab:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: never;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Font Awesome Size Classes */
.fa-lg { font-size: 1.33333em; line-height: .75em; vertical-align: -.0667em; }
.fa-xs { font-size: .75em; }
.fa-sm { font-size: .875em; }
.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-fw { text-align: center; width: 1.25em; }

/* Fontello native icon mappings */
.icon-at:before { content: '\e800'; }
.icon-search:before { content: '\f002'; }
.icon-heart:before { content: '\f004'; }
.icon-star:before { content: '\f005'; }
.icon-user:before { content: '\f007'; }
.icon-film:before { content: '\f008'; }
.icon-th:before { content: '\f00a'; }
.icon-check:before { content: '\f00c'; }
.icon-times:before { content: '\f00d'; }
.icon-cog:before { content: '\f013'; }
.icon-home:before { content: '\f015'; }
.icon-clock:before { content: '\f017'; }
.icon-download:before { content: '\f019'; }
.icon-flag:before { content: '\f024'; }
.icon-align-left:before { content: '\f036'; }
.icon-align-center:before { content: '\f037'; }
.icon-align-right:before { content: '\f038'; }
.icon-align-justify:before { content: '\f039'; }
.icon-list:before { content: '\f03a'; }
.icon-image:before { content: '\f03e'; }
.icon-map-marker:before { content: '\f041'; }
.icon-adjust:before { content: '\f042'; }
.icon-edit:before { content: '\f044'; }
.icon-backward:before { content: '\f04a'; }
.icon-info-circle:before { content: '\f05a'; }
.icon-arrow-left:before { content: '\f060'; }
.icon-arrow-right:before { content: '\f061'; }
.icon-arrow-up:before { content: '\f062'; }
.icon-arrow-down:before { content: '\f063'; }
.icon-eye-slash:before { content: '\f070'; }
.icon-exclamation-triangle:before { content: '\f071'; }
.icon-folder:before { content: '\f07b'; }
.icon-cogs:before { content: '\f085'; }
.icon-comments:before { content: '\f086'; }
.icon-linkedin:before { content: '\f08c'; }
.icon-phone:before { content: '\f095'; }
.icon-twitter:before { content: '\f099'; }
.icon-facebook:before { content: '\f09a'; }
.icon-github:before { content: '\f09b'; }
.icon-globe:before { content: '\f0ac'; }
.icon-wrench:before { content: '\f0ad'; }
.icon-bars:before { content: '\f0c9'; }
.icon-table:before { content: '\f0ce'; }
.icon-pinterest:before { content: '\f0d2'; }
.icon-envelope:before { content: '\f0e0'; }
.icon-linkedin-in:before { content: '\f0e1'; }
.icon-bell:before { content: '\f0f3'; }
.icon-coffee:before { content: '\f0f4'; }
.icon-ambulance:before { content: '\f0f9'; }
.icon-angle-double-left:before { content: '\f100'; }
.icon-angle-double-right:before { content: '\f101'; }
.icon-angle-double-up:before { content: '\f102'; }
.icon-angle-double-down:before { content: '\f103'; }
.icon-angle-left:before { content: '\f104'; }
.icon-angle-right:before { content: '\f105'; }
.icon-angle-up:before { content: '\f106'; }
.icon-angle-down:before { content: '\f107'; }
.icon-quote-right:before { content: '\f10e'; }
.icon-circle:before { content: '\f111'; }
.icon-info:before { content: '\f129'; }
.icon-calendar:before { content: '\f133'; }
.icon-anchor:before { content: '\f13d'; }
.icon-ellipsis-v:before { content: '\f142'; }
.icon-dollar-sign:before { content: '\f155'; }
.icon-file-alt:before { content: '\f15c'; }
.icon-youtube:before { content: '\f167'; }
.icon-instagram:before { content: '\f16d'; }
.icon-flickr:before { content: '\f16e'; }
.icon-foursquare:before { content: '\f180'; }
.icon-archive:before { content: '\f187'; }
.icon-weibo:before { content: '\f18a'; }
.icon-google:before { content: '\f1a0'; }
.icon-fax:before { content: '\f1ac'; }
.icon-paper-plane:before { content: '\f1d8'; }
.icon-yelp:before { content: '\f1e9'; }
.icon-trash:before { content: '\f1f8'; }
.icon-chart-area:before { content: '\f1fe'; }
.icon-whatsapp:before { content: '\f232'; }
.icon-tripadvisor:before { content: '\f262'; }
.icon-calendar-check:before { content: '\f274'; }
.icon-american-sign-language-interpreting:before { content: '\f2a3'; }
.icon-envelope-open:before { content: '\f2b6'; }
.icon-address-book:before { content: '\f2b9'; }
.icon-address-card:before { content: '\f2bb'; }
.icon-telegram:before { content: '\f2c6'; }
.icon-utensils:before { content: '\f2e7'; }
.icon-trash-alt:before { content: '\f2ed'; }
.icon-sign-out-alt:before { content: '\f2f5'; }
.icon-arrow-alt-circle-down:before { content: '\f358'; }
.icon-external-link-alt:before { content: '\f35d'; }
.icon-map-marker-alt:before { content: '\f3c5'; }
.icon-mobile-alt:before { content: '\f3cd'; }
.icon-tachometer-alt:before { content: '\f3fd'; }
.icon-vimeo:before { content: '\f40a'; }
.icon-allergies:before { content: '\f461'; }
.icon-clipboard-list:before { content: '\f46d'; }
.icon-donate:before { content: '\f4b9'; }
.icon-skull:before { content: '\f54c'; }
.icon-award:before { content: '\f559'; }
.icon-laugh-wink:before { content: '\f59c'; }
.icon-map-marked-alt:before { content: '\f5a0'; }
.icon-search-location:before { content: '\f689'; }
.icon-cloud-sun:before { content: '\f6c4'; }
.icon-slash:before { content: '\f715'; }
.icon-globe-europe:before { content: '\f7a2'; }

/* Font Awesome Compatibility Mappings - Maps fa-* classes to fontello icons */
.fa-at:before { content: '\e800'; }
.fa-search:before { content: '\f002'; }
.fa-heart:before { content: '\f004'; }
.fa-star:before { content: '\f005'; }
.fa-user:before { content: '\f007'; }
.fa-film:before { content: '\f008'; }
.fa-th:before { content: '\f00a'; }
.fa-check:before { content: '\f00c'; }
.fa-times:before { content: '\f00d'; }
.fa-cog:before { content: '\f013'; }
.fa-home:before { content: '\f015'; }
.fa-clock:before { content: '\f017'; }
.fa-download:before { content: '\f019'; }
.fa-flag:before { content: '\f024'; }
.fa-align-left:before { content: '\f036'; }
.fa-align-center:before { content: '\f037'; }
.fa-align-right:before { content: '\f038'; }
.fa-align-justify:before { content: '\f039'; }
.fa-list:before { content: '\f03a'; }
.fa-image:before { content: '\f03e'; }
.fa-map-marker:before { content: '\f041'; }
.fa-adjust:before { content: '\f042'; }
.fa-edit:before { content: '\f044'; }
.fa-backward:before { content: '\f04a'; }
.fa-info-circle:before { content: '\f05a'; }
.fa-arrow-left:before { content: '\f060'; }
.fa-arrow-right:before { content: '\f061'; }
.fa-arrow-up:before { content: '\f062'; }
.fa-arrow-down:before { content: '\f063'; }
.fa-eye-slash:before { content: '\f070'; }
.fa-exclamation-triangle:before { content: '\f071'; }
.fa-folder:before { content: '\f07b'; }
.fa-cogs:before { content: '\f085'; }
.fa-comments:before { content: '\f086'; }
.fa-linkedin:before { content: '\f08c'; }
.fa-phone:before { content: '\f095'; }
.fa-twitter:before { content: '\f099'; }
.fa-facebook:before { content: '\f09a'; }
.fa-facebook-f:before { content: '\f09a'; } /* Map facebook-f to facebook */
.fa-github:before { content: '\f09b'; }
.fa-globe:before { content: '\f0ac'; }
.fa-wrench:before { content: '\f0ad'; }
.fa-bars:before { content: '\f0c9'; }
.fa-table:before { content: '\f0ce'; }
.fa-pinterest:before { content: '\f0d2'; }
.fa-envelope:before { content: '\f0e0'; }
.fa-linkedin-in:before { content: '\f0e1'; }
.fa-bell:before { content: '\f0f3'; }
.fa-coffee:before { content: '\f0f4'; }
.fa-ambulance:before { content: '\f0f9'; }
.fa-angle-double-left:before { content: '\f100'; }
.fa-angle-double-right:before { content: '\f101'; }
.fa-angle-double-up:before { content: '\f102'; }
.fa-angle-double-down:before { content: '\f103'; }
.fa-angle-left:before { content: '\f104'; }
.fa-angle-right:before { content: '\f105'; }
.fa-angle-up:before { content: '\f106'; }
.fa-angle-down:before { content: '\f107'; }
.fa-quote-right:before { content: '\f10e'; }
.fa-circle:before { content: '\f111'; }
.fa-info:before { content: '\f129'; }
.fa-calendar:before { content: '\f133'; }
.fa-anchor:before { content: '\f13d'; }
.fa-ellipsis-v:before { content: '\f142'; }
.fa-dollar-sign:before { content: '\f155'; }
.fa-file-alt:before { content: '\f15c'; }
.fa-youtube:before { content: '\f167'; }
.fa-instagram:before { content: '\f16d'; }
.fa-flickr:before { content: '\f16e'; }
.fa-foursquare:before { content: '\f180'; }
.fa-archive:before { content: '\f187'; }
.fa-weibo:before { content: '\f18a'; }
.fa-google:before { content: '\f1a0'; }
.fa-fax:before { content: '\f1ac'; }
.fa-paper-plane:before { content: '\f1d8'; }
.fa-yelp:before { content: '\f1e9'; }
.fa-trash:before { content: '\f1f8'; }
.fa-chart-area:before { content: '\f1fe'; }
.fa-whatsapp:before { content: '\f232'; }
.fa-tripadvisor:before { content: '\f262'; }
.fa-calendar-check:before { content: '\f274'; }
.fa-american-sign-language-interpreting:before { content: '\f2a3'; }
.fa-envelope-open:before { content: '\f2b6'; }
.fa-address-book:before { content: '\f2b9'; }
.fa-address-card:before { content: '\f2bb'; }
.fa-telegram:before { content: '\f2c6'; }
.fa-utensils:before { content: '\f2e7'; }
.fa-trash-alt:before { content: '\f2ed'; }
.fa-sign-out-alt:before { content: '\f2f5'; }
.fa-arrow-alt-circle-down:before { content: '\f358'; }
.fa-external-link-alt:before { content: '\f35d'; }
.fa-map-marker-alt:before { content: '\f3c5'; }
.fa-mobile-alt:before { content: '\f3cd'; }
.fa-tachometer-alt:before { content: '\f3fd'; }
.fa-vimeo:before { content: '\f40a'; }
.fa-allergies:before { content: '\f461'; }
.fa-clipboard-list:before { content: '\f46d'; }
.fa-donate:before { content: '\f4b9'; }
.fa-skull:before { content: '\f54c'; }
.fa-award:before { content: '\f559'; }
.fa-laugh-wink:before { content: '\f59c'; }
.fa-map-marked-alt:before { content: '\f5a0'; }
.fa-search-location:before { content: '\f689'; }
.fa-cloud-sun:before { content: '\f6c4'; }
.fa-slash:before { content: '\f715'; }
.fa-globe-europe:before { content: '\f7a2'; }

/* Special case: fa-button mapping (if used) */
.fa-button:before { content: '\f0c9'; /* Using bars icon as placeholder */ }

/* Text color utilities */
.text-gray-300 { color: #d1d5db; }
.text-warning { color: #f59e0b; }