/*!
 * Font Awesome Free 7.1.0 - Custom Subset for GotChew
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Only includes icons actually used in the codebase (~60 icons)
 */

/* === Font Face Declarations === */
@font-face {
  font-family: "Font Awesome 7 Free";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../fonts/fa-solid-900.woff2") format("woff2");
}

@font-face {
  font-family: "Font Awesome 7 Free";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/fa-regular-400.woff2") format("woff2");
}

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

/* === Base Icon Styles === */
.fa,
.fas,
.far,
.fab,
.fa-solid,
.fa-regular,
.fa-brands {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  font-family: "Font Awesome 7 Free";
  font-style: normal;
  font-variant: normal;
  font-weight: 900;
  line-height: 1;
  text-rendering: auto;
}

.fa::before,
.fas::before,
.far::before,
.fab::before,
.fa-solid::before,
.fa-regular::before,
.fa-brands::before {
  display: inline-block;
}

/* Solid style (default) */
.fa-solid,
.fas {
  font-weight: 900;
}

/* Regular style (thinner/outlined) */
.fa-regular,
.far {
  font-weight: 400;
}

/* Brands */
.fa-brands,
.fab {
  font-family: "Font Awesome 7 Brands";
  font-weight: 400;
}

/* === Sizing === */
.fa-xs { font-size: 0.75em; }
.fa-sm { font-size: 0.875em; }
.fa-lg { font-size: 1.25em; line-height: 0.05em; vertical-align: -0.075em; }
.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; }

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

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

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

/* === Icons Used in GotChew (Solid) === */
/* Navigation & UI */
.fa-xmark::before { content: "\f00d"; }
.fa-times::before { content: "\f00d"; } /* Alias for xmark */
.fa-close::before { content: "\f00d"; } /* Alias for xmark */
.fa-check::before { content: "\f00c"; }
.fa-plus::before { content: "\2b"; }
.fa-minus::before { content: "\f068"; }
.fa-bars::before { content: "\f0c9"; }
.fa-ellipsis-vertical::before { content: "\f142"; }
.fa-ellipsis-v::before { content: "\f142"; } /* Alias */

/* Chevrons/Arrows */
.fa-chevron-right::before { content: "\f054"; }
.fa-chevron-left::before { content: "\f053"; }
.fa-chevron-down::before { content: "\f078"; }
.fa-chevron-up::before { content: "\f077"; }
.fa-angle-down::before { content: "\f107"; }
.fa-location-arrow::before { content: "\f124"; }

/* Status & Indicators */
.fa-circle-check::before { content: "\f058"; }
.fa-check-circle::before { content: "\f058"; } /* Alias */
.fa-circle-info::before { content: "\f05a"; }
.fa-info-circle::before { content: "\f05a"; } /* Alias */
.fa-circle-xmark::before { content: "\f057"; }
.fa-times-circle::before { content: "\f057"; } /* Alias */
.fa-circle-plus::before { content: "\f055"; }
.fa-plus-circle::before { content: "\f055"; } /* Alias */
.fa-circle-minus::before { content: "\f056"; }
.fa-minus-circle::before { content: "\f056"; } /* Alias */
.fa-spinner::before { content: "\f110"; }
.fa-circle-notch::before { content: "\f1ce"; }
.fa-circle-o-notch::before { content: "\f1ce"; } /* Alias */

/* User & Account */
.fa-user::before { content: "\f007"; }
.fa-user-plus::before { content: "\f234"; }
.fa-circle-user::before { content: "\f2bd"; }
.fa-user-circle::before { content: "\f2bd"; } /* Alias */
.fa-user-circle-o::before { content: "\f2bd"; } /* Alias */
.fa-user-secret::before { content: "\f21b"; }

/* Location & Address */
.fa-location-dot::before { content: "\f3c5"; }
.fa-map-marker::before { content: "\f3c5"; } /* Alias */
.fa-map-marker-alt::before { content: "\f3c5"; } /* Alias */
.fa-house::before { content: "\f015"; }
.fa-home::before { content: "\f015"; } /* Alias */
.fa-building::before { content: "\f1ad"; }
.fa-address-card::before { content: "\f2bb"; }
.fa-crosshairs::before { content: "\f05b"; }
.fa-map::before { content: "\f279"; }
.fa-globe::before { content: "\f0ac"; }

/* Shopping & Orders */
.fa-bag-shopping::before { content: "\f290"; }
.fa-shopping-bag::before { content: "\f290"; } /* Alias */
.fa-cart-shopping::before { content: "\f07a"; }
.fa-shopping-cart::before { content: "\f07a"; } /* Alias */
.fa-utensils::before { content: "\f2e7"; }
.fa-cutlery::before { content: "\f2e7"; } /* Alias */
.fa-car::before { content: "\f1b9"; }
.fa-gift::before { content: "\f06b"; }
.fa-tags::before { content: "\f02c"; }
.fa-tag::before { content: "\f02b"; }

/* Actions */
.fa-trash::before { content: "\f1f8"; }
.fa-trash-can::before { content: "\f2ed"; }
.fa-trash-o::before { content: "\f2ed"; } /* Alias - maps to trash-can */
.fa-pencil::before { content: "\f303"; }
.fa-pen::before { content: "\f304"; }
.fa-pen-to-square::before { content: "\f044"; }
.fa-edit::before { content: "\f044"; } /* Alias */
.fa-floppy-disk::before { content: "\f0c7"; }
.fa-floppy-o::before { content: "\f0c7"; } /* Alias */
.fa-save::before { content: "\f0c7"; } /* Alias */
.fa-magnifying-glass::before { content: "\f002"; }
.fa-search::before { content: "\f002"; } /* Alias */
.fa-download::before { content: "\f019"; }
.fa-filter::before { content: "\f0b0"; }
.fa-eraser::before { content: "\f12d"; }
.fa-refresh::before { content: "\f021"; } /* Alias for rotate */
.fa-rotate::before { content: "\f2f1"; }
.fa-arrows-rotate::before { content: "\f021"; }
.fa-bullseye::before { content: "\f140"; }

/* Communication */
.fa-phone::before { content: "\f095"; }
.fa-comments::before { content: "\f086"; }
.fa-paper-plane::before { content: "\f1d8"; }
.fa-send::before { content: "\f1d8"; } /* Alias */
.fa-at::before { content: "\40"; }
.fa-bell::before { content: "\f0f3"; }

/* Files & Documents */
.fa-file::before { content: "\f15b"; }
.fa-file-lines::before { content: "\f15c"; }
.fa-file-text::before { content: "\f15c"; } /* Alias */
.fa-image::before { content: "\f03e"; }
.fa-picture-o::before { content: "\f03e"; } /* Alias */
.fa-camera::before { content: "\f030"; }
.fa-file-excel::before { content: "\f1c3"; }
.fa-file-excel-o::before { content: "\f1c3"; } /* Alias */

/* Time & Calendar */
.fa-clock::before { content: "\f017"; }
.fa-clock-o::before { content: "\f017"; } /* Alias */
.fa-calendar::before { content: "\f133"; }

/* Misc UI */
.fa-star::before { content: "\f005"; }
.fa-heart::before { content: "\f004"; }
.fa-eye::before { content: "\f06e"; }
.fa-eye-slash::before { content: "\f070"; }
.fa-key::before { content: "\f084"; }
.fa-power-off::before { content: "\f011"; }
.fa-right-to-bracket::before { content: "\f2f6"; }
.fa-sign-in::before { content: "\f2f6"; } /* Alias */
.fa-sign-in-alt::before { content: "\f2f6"; } /* Alias */
.fa-list::before { content: "\f03a"; }
.fa-list-ul::before { content: "\f0ca"; }
.fa-list-alt::before { content: "\f022"; }
.fa-square::before { content: "\f0c8"; }
.fa-square-check::before { content: "\f14a"; }
.fa-check-square::before { content: "\f14a"; } /* Alias */
.fa-credit-card::before { content: "\f09d"; }
.fa-money-bill::before { content: "\f0d6"; }
.fa-money::before { content: "\f0d6"; } /* Alias */
.fa-address-book::before { content: "\f2b9"; }
.fa-address-book-o::before { content: "\f2b9"; } /* Alias */
.fa-pencil-square-o::before { content: "\f044"; } /* Alias for pen-to-square */

/* === Regular (Outlined) Icons === */
/* These will use font-weight: 400 when used with .far or .fa-regular class */

/* === Brand Icons === */
.fa-cc-visa::before { content: "\f1f0"; }
.fa-cc-mastercard::before { content: "\f1f1"; }
.fa-cc-amex::before { content: "\f1f3"; }
.fa-cc-discover::before { content: "\f1f2"; }
.fa-apple::before { content: "\f179"; }
.fa-android::before { content: "\f17b"; }
.fa-facebook::before { content: "\f09a"; }
.fa-twitter::before { content: "\f099"; }
.fa-instagram::before { content: "\f16d"; }

/* Ensure brand icons use brand font */
.fa-cc-visa,
.fa-cc-mastercard,
.fa-cc-amex,
.fa-cc-discover,
.fa-apple,
.fa-android,
.fa-facebook,
.fa-twitter,
.fa-instagram {
  font-family: "Font Awesome 7 Brands";
  font-weight: 400;
}

/* === Regular (Outlined) Variant Styling === */
/* When you want thinner/outlined icons, use .far or .fa-regular class */
.far.fa-circle::before,
.fa-regular.fa-circle::before { content: "\f111"; }

.far.fa-user::before,
.fa-regular.fa-user::before { content: "\f007"; }

.far.fa-clock::before,
.fa-regular.fa-clock::before { content: "\f017"; }

.far.fa-trash-can::before,
.fa-regular.fa-trash-can::before { content: "\f2ed"; }

.far.fa-bell::before,
.fa-regular.fa-bell::before { content: "\f0f3"; }

.far.fa-star::before,
.fa-regular.fa-star::before { content: "\f005"; }

.far.fa-heart::before,
.fa-regular.fa-heart::before { content: "\f004"; }

.far.fa-image::before,
.fa-regular.fa-image::before { content: "\f03e"; }

.far.fa-floppy-disk::before,
.fa-regular.fa-floppy-disk::before { content: "\f0c7"; }

.far.fa-circle-user::before,
.fa-regular.fa-circle-user::before { content: "\f2bd"; }

/* Circle (outlined) for radio buttons */
.fa-circle::before { content: "\f111"; }
.fa-circle-o::before { content: "\f111"; } /* Alias - use with .far for outline */
