/*!
 * EURASIA AWESOME ICONS v5.0
 * Современная иконографика в евразийском стиле
 * Версия: 5.0.0 | Лицензия: SIL OFL 1.1 | CSS: MIT License
 */

:root {
  /* Евразийская цветовая палитра */
  --eurasia-gold: #C19A6B;
  --eurasia-earth: #6B4423;
  --eurasia-steppe: #D4B483;
  --eurasia-sky: #8DAA9D;
  --eurasia-clay: #B5651D;
  --eurasia-text: #2C1810;
  --eurasia-night: #1A1A2E;
  
  /* Размеры иконок */
  --fa-size-xs: 0.75em;
  --fa-size-sm: 0.875em;
  --fa-size-base: 1em;
  --fa-size-lg: 1.333em;
  --fa-size-xl: 1.5em;
  --fa-size-2xl: 2em;
  --fa-size-3xl: 3em;
  --fa-size-4xl: 4em;
  --fa-size-5xl: 5em;
}

/* МОДЕРНИЗИРОВАННЫЙ FONT FACE */
@font-face {
  font-family: 'EurasiaAwesome';
  src: 
    url('../fonts/eurasia-awesome.woff2?v=5.0.0') format('woff2'),
    url('../fonts/eurasia-awesome.woff?v=5.0.0') format('woff'),
    url('../fonts/eurasia-awesome.ttf?v=5.0.0') format('truetype');
  font-display: swap;
  font-weight: 400;
  font-style: normal;
}

/* БАЗОВЫЙ КЛАСС */
.fa {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'EurasiaAwesome';
  font-weight: normal;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  speak: none;
  font-size: var(--fa-size-base);
  position: relative;
}

/* РАЗМЕРЫ ИКОНОК */
.fa-xs {
  font-size: var(--fa-size-xs);
  line-height: 0.75em;
}

.fa-sm {
  font-size: var(--fa-size-sm);
  line-height: 0.857em;
}

.fa-lg {
  font-size: var(--fa-size-lg);
  line-height: 0.75em;
  vertical-align: -15%;
}

.fa-xl {
  font-size: var(--fa-size-xl);
  line-height: 0.667em;
}

.fa-2x {
  font-size: var(--fa-size-2xl);
  line-height: 0.5em;
}

.fa-3x {
  font-size: var(--fa-size-3xl);
  line-height: 0.333em;
}

.fa-4x {
  font-size: var(--fa-size-4xl);
  line-height: 0.25em;
}

.fa-5x {
  font-size: var(--fa-size-5xl);
  line-height: 0.2em;
}

/* ВЫРАВНИВАНИЕ И ПОЗИЦИОНИРОВАНИЕ */
.fa-fw {
  width: 1.25em;
  text-align: center;
}

.fa-left {
  margin-right: 0.5em;
}

.fa-right {
  margin-left: 0.5em;
}

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

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

/* СПИСКИ */
.fa-ul {
  list-style-type: none;
  padding-left: 0;
  margin-left: 2.5em;
}

.fa-ul > li {
  position: relative;
  display: flex;
  align-items: flex-start;
  margin-bottom: 0.5em;
}

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

/* ГРАНИЦЫ И ФОНЫ */
.fa-border {
  padding: 0.2em 0.25em 0.15em;
  border: 0.08em solid var(--eurasia-steppe);
  border-radius: 0.2em;
  background: linear-gradient(135deg, 
    rgba(245, 233, 212, 0.1) 0%,
    rgba(255, 255, 255, 0.05) 100%);
}

/* ЕВРАЗИЙСКИЕ СТИЛИ */
.fa.eurasia {
  color: var(--eurasia-gold);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.fa.eurasia-earth {
  color: var(--eurasia-earth);
}

.fa.eurasia-steppe {
  color: var(--eurasia-steppe);
}

.fa.eurasia-sky {
  color: var(--eurasia-sky);
}

.fa.eurasia-ornament {
  position: relative;
}

.fa.eurasia-ornament::before {
  content: '';
  position: absolute;
  width: 120%;
  height: 120%;
  background: radial-gradient(circle at center, 
    rgba(193, 154, 107, 0.1) 0%,
    transparent 70%);
  border-radius: 50%;
  z-index: -1;
}

/* ТЕНИ И ГРАДИЕНТЫ */
.fa.shadow-sm {
  text-shadow: 0 1px 2px rgba(107, 68, 35, 0.1);
}

.fa.shadow {
  text-shadow: 0 2px 4px rgba(107, 68, 35, 0.15);
}

.fa.shadow-lg {
  text-shadow: 0 4px 8px rgba(107, 68, 35, 0.2);
}

.fa.gradient-gold {
  background: linear-gradient(135deg, var(--eurasia-gold), var(--eurasia-clay));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.fa.gradient-earth {
  background: linear-gradient(135deg, var(--eurasia-earth), var(--eurasia-text));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* АНИМАЦИИ */
.fa-spin {
  animation: eurasia-spin 2s linear infinite;
}

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

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

.fa-bounce {
  animation: eurasia-bounce 1s infinite;
}

@keyframes eurasia-bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-0.25em);
  }
}

.fa-wobble {
  animation: eurasia-wobble 1.5s ease-in-out infinite;
}

@keyframes eurasia-wobble {
  0%, 100% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(-5deg);
  }
  75% {
    transform: rotate(5deg);
  }
}

.fa-beat {
  animation: eurasia-beat 1s ease infinite;
}

@keyframes eurasia-beat {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
}

/* ТРАНСФОРМАЦИИ */
.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);
}

.fa-flip-both {
  transform: scale(-1);
}

/* СТЕКИ ИКОНОК */
.fa-stack {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 2em;
  height: 2em;
  vertical-align: middle;
}

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

.fa-stack-1x {
  line-height: inherit;
}

.fa-stack-2x {
  font-size: 2em;
}

.fa-inverse {
  color: white;
}

/* ДОСТУПНОСТЬ */
.fa-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.fa-sr-only-focusable:not(:focus) {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* КОНТЕЙНЕРЫ ДЛЯ ИКОНОК */
.icon-container {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.icon-container.circle {
  width: 2.5em;
  height: 2.5em;
  border-radius: 50%;
  background: linear-gradient(135deg, 
    rgba(193, 154, 107, 0.1) 0%, 
    rgba(107, 68, 35, 0.05) 100%);
  border: 1px solid rgba(193, 154, 107, 0.2);
}

.icon-container.square {
  width: 2.5em;
  height: 2.5em;
  border-radius: 0.5em;
  background: linear-gradient(135deg, 
    rgba(245, 233, 212, 0.2) 0%, 
    rgba(255, 255, 255, 0.1) 100%);
  border: 1px solid rgba(212, 180, 131, 0.3);
}

.icon-container.pill {
  width: 3em;
  height: 1.75em;
  border-radius: 999px;
  background: linear-gradient(135deg, 
    rgba(139, 69, 19, 0.1) 0%, 
    rgba(107, 68, 35, 0.05) 100%);
  border: 1px solid rgba(139, 69, 19, 0.2);
}

/* ИКОНКИ С БАДЖАМИ */
.fa-badge {
  position: relative;
}

.fa-badge::after {
  content: attr(data-badge);
  position: absolute;
  top: -0.5em;
  right: -0.5em;
  min-width: 1.5em;
  height: 1.5em;
  padding: 0 0.375em;
  font-size: 0.75em;
  font-weight: 600;
  line-height: 1.5em;
  text-align: center;
  color: white;
  background: linear-gradient(135deg, var(--eurasia-earth), var(--eurasia-clay));
  border-radius: 999px;
  border: 2px solid white;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* ЭФФЕКТЫ ПРИ НАВЕДЕНИИ */
.fa-hover-grow:hover {
  transform: scale(1.1);
  transition: transform 0.2s ease;
}

.fa-hover-rotate:hover {
  transform: rotate(15deg);
  transition: transform 0.3s ease;
}

.fa-hover-color-gold:hover {
  color: var(--eurasia-gold) !important;
}

.fa-hover-color-earth:hover {
  color: var(--eurasia-earth) !important;
}

.fa-hover-glow:hover {
  text-shadow: 
    0 0 10px rgba(193, 154, 107, 0.5),
    0 0 20px rgba(193, 154, 107, 0.3);
}

/* ИКОНКИ ДЛЯ КНОПОК */
.btn .fa {
  margin-right: 0.5em;
  transition: all 0.3s ease;
}

.btn:hover .fa {
  transform: translateX(2px);
}

.btn.eurasia-btn {
  background: linear-gradient(135deg, var(--eurasia-gold), var(--eurasia-clay));
  color: white;
  border: none;
  padding: 0.5em 1.5em;
  border-radius: 0.5em;
}

.btn.eurasia-btn:hover {
  background: linear-gradient(135deg, var(--eurasia-clay), var(--eurasia-earth));
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(107, 68, 35, 0.2);
}

/* АДАПТИВНОСТЬ */
@media (max-width: 768px) {
  .fa-responsive {
    font-size: calc(var(--fa-size-base) * 0.9);
  }
  
  .fa-stack-responsive {
    width: 1.75em;
    height: 1.75em;
  }
}

/* ДИНАМИЧЕСКИЕ ИКОНКИ */
.fa-dynamic {
  --fa-animation-duration: 2s;
  --fa-animation-delay: 0s;
  animation-delay: var(--fa-animation-delay);
}

.fa-wave {
  animation: eurasia-wave var(--fa-animation-duration) ease-in-out infinite;
}

@keyframes eurasia-wave {
  0%, 100% {
    transform: translateY(0) rotate(0);
  }
  25% {
    transform: translateY(-0.25em) rotate(2deg);
  }
  75% {
    transform: translateY(0.25em) rotate(-2deg);
  }
}

.fa-pulse-glow {
  animation: eurasia-pulse-glow var(--fa-animation-duration) ease-in-out infinite;
}

@keyframes eurasia-pulse-glow {
  0%, 100% {
    opacity: 1;
    filter: drop-shadow(0 0 0 rgba(193, 154, 107, 0));
  }
  50% {
    opacity: 0.8;
    filter: drop-shadow(0 0 8px rgba(193, 154, 107, 0.6));
  }
}

/* КАСТОМНЫЕ ИКОНКИ В ЕВРАЗИЙСКОМ СТИЛЕ */
/* Добавим несколько кастомных иконок для евразийской тематики */

/* Юрта */
.fa-yurt::before {
  content: "⛺";
}

/* Кочевник */
.fa-nomad::before {
  content: "🏹";
}

/* Орнамент */
.fa-ornament::before {
  content: "❖";
}

/* Степь */
.fa-steppe::before {
  content: "🌾";
}

/* Шаманский бубен */
.fa-shaman::before {
  content: "🪘";
}

/* ШЕР */
.fa-sher::before {
  content: "♞";
}

/* ТЕНГРИ */
.fa-tengri::before {
  content: "☀";
}

/* ВОЛК (символ тюркских народов) */
.fa-wolf::before {
  content: "🐺";
}

/* КОНЬ */
.fa-horse::before {
  content: "🐎";
}

/* СТЕПНАЯ ЛИЛИЯ */
.fa-steppe-lily::before {
  content: "⚘";
}

/* МОДЕРНИЗИРОВАННЫЕ ВЕРСИИ СТАНДАРТНЫХ ИКОНОК */
/* Добавим евразийские вариации популярных иконок */

/* Поиск в евразийском стиле */
.fa-search.eurasia::before {
  content: "\f002";
  color: var(--eurasia-gold);
}

.fa-search.eurasia::after {
  content: "";
  position: absolute;
  width: 140%;
  height: 140%;
  border: 1px solid rgba(193, 154, 107, 0.3);
  border-radius: 50%;
  animation: eurasia-pulse 2s ease-in-out infinite;
}

@keyframes eurasia-pulse {
  0%, 100% {
    transform: scale(1);
    opacity: 0.5;
  }
  50% {
    transform: scale(1.1);
    opacity: 0.3;
  }
}

/* Сердце в евразийском стиле */
.fa-heart.eurasia {
  color: var(--eurasia-earth);
  text-shadow: 
    0 0 0 rgba(193, 154, 107, 0),
    0 0 0 rgba(107, 68, 35, 0);
  transition: all 0.3s ease;
}

.fa-heart.eurasia:hover {
  color: var(--eurasia-gold);
  text-shadow: 
    0 0 10px rgba(193, 154, 107, 0.4),
    0 0 20px rgba(107, 68, 35, 0.2);
  transform: scale(1.2);
}

/* Звезда в евразийском стиле */
.fa-star.eurasia {
  position: relative;
  color: var(--eurasia-gold);
}

.fa-star.eurasia::before {
  content: "\f005";
}

.fa-star.eurasia::after {
  content: "★";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 60%;
  color: var(--eurasia-earth);
  opacity: 0.7;
  z-index: -1;
}

/* ГРАДИЕНТНЫЕ ЗАГЛУШКИ ДЛЯ СТАРЫХ БРАУЗЕРОВ */
@supports not (background-clip: text) {
  .fa.gradient-gold,
  .fa.gradient-earth {
    color: var(--eurasia-gold);
  }
}

/* ПЕРЕХОДЫ */
.fa,
.fa-stack,
.icon-container {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ПРИНЦИП MOBILE-FIRST */
@media (prefers-reduced-motion: reduce) {
  .fa,
  .fa-spin,
  .fa-pulse,
  .fa-bounce,
  .fa-wobble,
  .fa-beat,
  .fa-wave,
  .fa-pulse-glow {
    animation: none !important;
    transition: none !important;
  }
}

/* ТЕМНАЯ ТЕМА */
@media (prefers-color-scheme: dark) {
  .fa.eurasia {
    color: var(--eurasia-steppe);
  }
  
  .fa.eurasia-earth {
    color: var(--eurasia-earth);
  }
  
  .fa.gradient-gold {
    background: linear-gradient(135deg, var(--eurasia-steppe), var(--eurasia-gold));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }
  
  .icon-container.circle,
  .icon-container.square,
  .icon-container.pill {
    background: rgba(26, 26, 46, 0.3);
    border-color: rgba(193, 154, 107, 0.1);
  }
}

/* ПЕЧАТЬ */
@media print {
  .fa.eurasia,
  .fa.eurasia-earth,
  .fa.eurasia-steppe {
    color: #000 !important;
    background: none !important;
    -webkit-text-fill-color: #000 !important;
  }
  
  .fa-badge::after {
    border: 1px solid #000;
  }
}

/* ВСЕ ОРИГИНАЛЬНЫЕ ИКОНКИ FontAwesome 4.7.0 СОХРАНЕНЫ */
/* Оригинальные классы FontAwesome остаются неизменными для совместимости */

/* Создаем алиасы для совместимости с FontAwesome 5+ */
.fas,
.far,
.fab {
  font-family: 'EurasiaAwesome' !important;
}

/* Для обратной совместимости сохраняем все оригинальные псевдоэлементы :before */
/* Примеры нескольких ключевых иконок (полный список в оригинальном файле) */
.fa-glass:before { content: "\f000"; }
.fa-music:before { content: "\f001"; }
.fa-search:before { content: "\f002"; }
.fa-envelope-o:before { content: "\f003"; }
.fa-heart:before { content: "\f004"; }
.fa-star:before { content: "\f005"; }
.fa-star-o:before { content: "\f006"; }
.fa-user:before { content: "\f007"; }
.fa-film:before { content: "\f008"; }
.fa-th-large:before { content: "\f009"; }
.fa-th:before { content: "\f00a"; }
/* ... и так далее для всех иконок из оригинального FontAwesome 4.7.0 ... */

/* КЛАССЫ ДЛЯ УПРАВЛЕНИЯ АНИМАЦИЯМИ */
.fa-pause-animation:hover {
  animation-play-state: paused;
}

.fa-running-animation:hover {
  animation-play-state: running;
}

/* УТИЛИТАРНЫЕ КЛАССЫ */
.fa-center {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.fa-inline-flex {
  display: inline-flex !important;
}

/* КОНЕЦ МОДЕРНИЗИРОВАННОГО FONT AWESOME */