/**
 * ICON STYLES
 * Icon class definitions for Font Awesome, Academicons, Scholar Icons, and Tabler Icons
 * Last Updated: 2026-02-05
 */

/* ============================================================
   FONT AWESOME BASE CLASSES
   ============================================================ */

.fa, .fas, .far, .fab, .fa-solid, .fa-regular, .fa-brands {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
}

.fas, .fa-solid {
  font-weight: 900;
}

.far, .fa-regular {
  font-weight: 400;
}

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

/* Common Font Awesome Icons */
.fa-envelope:before { content: "\f0e0"; }
.fa-file-pdf:before { content: "\f1c1"; }
.fa-chart-simple:before { content: "\e473"; }
.fa-download:before { content: "\f019"; }
.fa-external-link-alt:before { content: "\f35d"; }
.fa-moon:before { content: "\f186"; }
.fa-sun:before { content: "\f185"; }

/* Font Awesome Brands */
.fa-github:before { content: "\f09b"; }
.fa-twitter:before { content: "\f099"; }
.fa-x-twitter:before { content: "\e61b"; }
.fa-linkedin:before { content: "\f08c"; }

/* ============================================================
   ACADEMICONS
   ============================================================ */

.ai {
  font-family: "Academicons";
  font-weight: 400;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
}

/* Common Academicons */
.ai-google-scholar:before { content: "\e9d4"; }
.ai-google-scholar-square:before { content: "\e9f9"; }
.ai-orcid:before { content: "\e9d9"; }
.ai-orcid-square:before { content: "\e9c3"; }
.ai-arxiv:before { content: "\e974"; }
.ai-arxiv-square:before { content: "\e9a6"; }
.ai-ideas-repec:before { content: "\e9ed"; }
.ai-ideas-repec-square:before { content: "\e9f8"; }
.ai-cv:before { content: "\e9a5"; }
.ai-cv-square:before { content: "\e90a"; }

/* Academicons size utilities */
.ai-lg {
  font-size: 1.33333em;
  line-height: 0.75em;
  vertical-align: -0.0667em;
}

.ai-1x { font-size: 1em; }
.ai-2x { font-size: 2em; }
.ai-3x { font-size: 3em; }

/* ============================================================
   SCHOLAR ICONS
   ============================================================ */

.si {
  font-family: "Scholar Icons" !important;
  font-weight: 400;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  text-transform: none;
  line-height: 1;
}

/* Common Scholar Icons */
.si-google-scholar:before { content: "\e91b"; }
.si-github:before { content: "\e91a"; }
.si-linkedin:before { content: "\e928"; }
.si-twitter:before { content: "\e950"; }
.si-orcid:before { content: "\e931"; }
.si-researchgate:before { content: "\e93d"; }
.si-arxiv:before { content: "\e903"; }

/* Scholar Icons size utilities */
.si-1x { font-size: 1em; }
.si-2x { font-size: 2em; }
.si-3x { font-size: 3em; }

/* ============================================================
   TABLER ICONS
   ============================================================ */

.ti {
  font-family: "tabler-icons";
  font-weight: 400;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
}

/* Theme toggle icons */
.ti-sun-moon:before { content: "\f4a0"; }
.ti-moon-filled:before { content: "\f7a6"; }
.ti-sun-filled:before { content: "\f7a1"; }
.ti-sun:before { content: "\ea7f"; }
.ti-moon:before { content: "\ea7d"; }

/* ============================================================
   ICON UTILITIES
   ============================================================ */

/* Social media icon spacing */
.social-media-icons a {
  margin-left: 1rem;
  color: var(--text-color);
  font-size: 1.5rem;
  transition: color 0.3s ease;
}

.social-media-icons a:hover {
  color: var(--link-color);
  text-decoration: none;
}

/* Paper link icons */
.paper-link {
  color: var(--link-color);
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.paper-link:hover {
  opacity: 0.7;
  text-decoration: none;
}

.paper-link i {
  margin-right: 0.25rem;
}
