/*! FontAwesome 6.4.0 Local Essential Icons */

/* Basic icon styles */
.fa, .fas, .far, .fal, .fad, .fab {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
}

.fa, .fas {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}

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

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

/* 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-2xl { font-size: 2em; }
.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; }

/* Essential icons using Unicode */
.fa-envelope:before { content: "✉"; }
.fa-phone:before { content: "☎"; }
.fa-home:before { content: "🏠"; }
.fa-user:before { content: "👤"; }
.fa-heart:before { content: "♥"; }
.fa-star:before { content: "★"; }
.fa-check:before { content: "✓"; }
.fa-times:before { content: "✕"; }
.fa-search:before { content: "🔍"; }
.fa-menu:before { content: "☰"; }
.fa-bars:before { content: "☰"; }
.fa-close:before { content: "✕"; }
.fa-plus:before { content: "+"; }
.fa-minus:before { content: "−"; }
.fa-arrow-up:before { content: "↑"; }
.fa-arrow-down:before { content: "↓"; }
.fa-arrow-left:before { content: "←"; }
.fa-arrow-right:before { content: "→"; }
.fa-external-link:before { content: "↗"; }
.fa-link:before { content: "🔗"; }
.fa-calendar:before { content: "📅"; }
.fa-clock:before { content: "🕐"; }
.fa-download:before { content: "⬇"; }
.fa-upload:before { content: "⬆"; }
.fa-edit:before { content: "✏"; }
.fa-trash:before { content: "🗑"; }
.fa-save:before { content: "💾"; }
.fa-copy:before { content: "📋"; }
.fa-share:before { content: "📤"; }
.fa-print:before { content: "🖨"; }
.fa-file:before { content: "📄"; }
.fa-folder:before { content: "📁"; }
.fa-image:before { content: "🖼"; }
.fa-video:before { content: "📹"; }
.fa-music:before { content: "🎵"; }
.fa-volume-up:before { content: "🔊"; }
.fa-volume-down:before { content: "🔉"; }
.fa-volume-mute:before { content: "🔇"; }
.fa-play:before { content: "▶"; }
.fa-pause:before { content: "⏸"; }
.fa-stop:before { content: "⏹"; }
.fa-refresh:before { content: "🔄"; }
.fa-sync:before { content: "🔄"; }
.fa-undo:before { content: "↶"; }
.fa-redo:before { content: "↷"; }
.fa-settings:before { content: "⚙"; }
.fa-cog:before { content: "⚙"; }
.fa-gear:before { content: "⚙"; }
.fa-info:before { content: "ℹ"; }
.fa-question:before { content: "?"; }
.fa-exclamation:before { content: "!"; }
.fa-warning:before { content: "⚠"; }
.fa-bell:before { content: "🔔"; }
.fa-comment:before { content: "💬"; }
.fa-chat:before { content: "💬"; }
.fa-message:before { content: "✉"; }

/* Brand icons */
.fa-github:before { content: "🐙"; }
.fa-twitter:before { content: "🐦"; }
.fa-facebook:before { content: "📘"; }
.fa-linkedin:before { content: "💼"; }
.fa-instagram:before { content: "📷"; }
.fa-youtube:before { content: "📺"; }
.fa-google:before { content: "🔍"; }
.fa-apple:before { content: "🍎"; }
.fa-microsoft:before { content: "⊞"; }
.fa-amazon:before { content: "📦"; }
.fa-qq:before { content: "🐧"; }
.fa-wechat:before { content: "💬"; }
.fa-weibo:before { content: "微"; }

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

.fa-li {
  left: -2em;
  position: absolute;
  text-align: center;
  width: 2em;
  line-height: inherit;
}

.fa-border {
  border: solid 0.08em #eee;
  border-radius: 0.1em;
  padding: 0.2em 0.25em 0.15em;
}

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

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

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

.fa-pulse {
  animation: fa-spin 1s infinite steps(8);
}

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

/* Rotation */
.fa-rotate-90 { transform: rotate(90deg); }
.fa-rotate-180 { transform: rotate(180deg); }
.fa-rotate-270 { transform: rotate(270deg); }

.fa-flip-horizontal { transform: scaleX(-1); }
.fa-flip-vertical { transform: scaleY(-1); }

/* Dark mode optimization */
@media (prefers-color-scheme: dark) {
  .fa-border {
    border-color: #374151;
  }
}

/* Stack icons */
.fa-stack {
  display: inline-block;
  height: 2em;
  line-height: 2em;
  position: relative;
  vertical-align: middle;
  width: 2em;
}

.fa-stack-1x, .fa-stack-2x {
  left: 0;
  position: absolute;
  text-align: center;
  width: 100%;
}

.fa-stack-1x { line-height: inherit; }
.fa-stack-2x { font-size: 2em; }

.fa-inverse { color: #fff; }

/* Screen reader */
.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
