/*!
 * Font Awesome本地化版本 - 完全移除CDN依赖
 * 优化图标加载性能，提高页面响应速度
 */

/* 基础图标字体样式 */
.fa,
.fas,
.far,
.fal,
.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;
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
}

/* 使用系统Emoji作为图标显示的后备方案 */
.fa-home::before { content: "🏠"; }
.fa-user::before { content: "👤"; }
.fa-search::before { content: "🔍"; }
.fa-shopping-cart::before { content: "🛒"; }
.fa-heart::before { content: "❤️"; }
.fa-star::before { content: "⭐"; }
.fa-star-half-alt::before { content: "⭐"; opacity: 0.5; }
.fa-book::before { content: "📖"; }
.fa-shopping-bag::before { content: "🛍️"; }
.fa-sign-out-alt::before { content: "🚪"; }
.fa-times::before { content: "❌"; }
.fa-exclamation-circle::before { content: "⚠️"; }
.fa-check-circle::before { content: "✅"; }
.fa-info-circle::before { content: "ℹ️"; }
.fa-spinner::before { content: "⏳"; }
.fa-redo::before { content: "🔄"; }
.fa-chevron-down::before { content: "⬇️"; }
.fa-map-marker-alt::before { content: "📍"; }
.fa-phone::before { content: "📞"; }
.fa-mobile-alt::before { content: "📱"; }
.fa-paper-plane::before { content: "✈️"; }
.fa-weixin::before { content: "💬"; color: #07C160; }
.fa-weibo::before { content: "📱"; color: #E6162D; }
.fa-qq::before { content: "🐧"; color: #12B7F5; }
.fa-instagram::before { content: "📷"; color: #E4405F; }
.fa-twitter::before { content: "🐦"; color: #1DA1F2; }
.fa-utensils::before { content: "🍽️"; }
.fa-leaf::before { content: "🌿"; }
.fa-seedling::before { content: "🌱"; }
.fa-balance-scale::before { content: "⚖️"; }
.fa-arrow-up::before { content: "⬆️"; }
.fa-calendar::before { content: "📅"; }
.fa-clock::before { content: "🕐"; }
.fa-folder::before { content: "📁"; }
.fa-thumbs-up::before { content: "👍"; }
.fa-address-book::before { content: "📇"; }
.fa-bell::before { content: "🔔"; }
.fa-calendar-plus::before { content: "📅"; }
.fa-camera::before { content: "📷"; }
.fa-clock-o::before { content: "🕐"; }
.fa-envelope::before { content: "✉️"; }
.fa-eye-slash::before { content: "👁️‍🗨️"; }
.fa-lock::before { content: "🔒"; }
.fa-newspaper-o::before { content: "📰"; }
.fa-pencil::before { content: "✏️"; }
.fa-sign-out::before { content: "🚪"; }
.fa-chevron-down::before { content: "⬇️"; }
.fa-chevron-left::before { content: "⬅️"; }
.fa-chevron-right::before { content: "➡️"; }
.fa-certificate::before { content: "🏆"; }
.fa-headset::before { content: "🎧"; }
.fa-box::before { content: "📦"; }
.fa-copy::before { content: "📋"; }
.fa-industry::before { content: "🏭"; }
.fa-tag::before { content: "🏷️"; }
.fa-tags::before { content: "🏷️"; }
.fa-truck::before { content: "🚚"; }
.fa-fire::before { content: "🔥"; }
.fa-chart-line::before { content: "📈"; }
.fa-cube::before { content: "📦"; }
.fa-users::before { content: "👥"; }
.fa-bullseye::before { content: "🎯"; }
.fa-history::before { content: "🕒"; }
.fa-plus::before { content: "+"; }
.fa-minus::before { content: "−"; }
.fa-trash::before { content: "🗑️"; }
.fa-share-alt::before { content: "📤"; }
.fa-link::before { content: "🔗"; }
.fa-arrow-up::before { content: "⬆️"; }
.fa-arrow-right::before { content: "➡️"; }
.fa-check::before { content: "✓"; }
.fa-bars::before { content: "☰"; }
.fa-eye::before { content: "👁️"; }
.fa-comments::before { content: "💬"; }
.fa-user-circle::before { content: "👤"; }
.fa-chevron-left::before { content: "⬅️"; }
.fa-chevron-right::before { content: "➡️"; }

/* 图标动画效果 */
.fa-spin {
  animation: fa-spin 2s infinite linear;
}

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

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

/* 图标尺寸 */
.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-6x {
  font-size: 6em;
}

.fa-7x {
  font-size: 7em;
}

.fa-8x {
  font-size: 8em;
}

.fa-9x {
  font-size: 9em;
}

.fa-10x {
  font-size: 10em;
}

/* 图标固定宽度 */
.fa-fw {
  text-align: center;
  width: 1.25em;
}

/* 图标边框 */
.fa-border {
  border: solid 0.08em #eee;
  border-radius: .1em;
  padding: .2em .25em .15em;
}

/* 图标浮动 */
.fa-pull-left {
  float: left;
}

.fa-pull-right {
  float: right;
}

.fa.fa-pull-left,
.fas.fa-pull-left,
.far.fa-pull-left,
.fal.fa-pull-left,
.fab.fa-pull-left {
  margin-right: .3em;
}

.fa.fa-pull-right,
.fas.fa-pull-right,
.far.fa-pull-right,
.fal.fa-pull-right,
.fab.fa-pull-right {
  margin-left: .3em;
}

/* 图标旋转 */
.fa-rotate-90 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
  transform: rotate(90deg);
}

.fa-rotate-180 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
  transform: rotate(180deg);
}

.fa-rotate-270 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
  transform: rotate(270deg);
}

/* 图标翻转 */
.fa-flip-horizontal {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
  transform: scale(-1, 1);
}

.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  transform: scale(1, -1);
}

.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  transform: scale(-1, -1);
}

/* 图标反转 */
.fa-inverse {
  color: #fff;
}

/* 屏幕阅读器辅助 */
.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}

/* 字体显示优化 */
@font-face {
  font-family: 'Font Awesome 6 Free';
  font-display: swap;
}

/* 预加载关键图标 */
.icon-preload {
  position: absolute;
  left: -9999px;
  visibility: hidden;
}