/* Local Font Awesome Icons - CSS-only fallback */

/* Reset and base styles for all icon elements */
.fas, .fab, .fa-brands {
  font-family: inherit;
  font-weight: normal;
  font-style: normal;
  display: inline-block;
  text-decoration: none;
  line-height: 1;
  vertical-align: middle;
}

/* Base pseudo-element styles */
.fas::before, .fab::before, .fa-brands::before {
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  line-height: 1;
}

/* Specific icon replacements using Unicode symbols */
.fas.fa-bars::before {
  content: "☰";
  font-size: 1.2em;
}

.fas.fa-envelope::before {
  content: "✉";
  font-size: 1.1em;
}

.fab.fa-linkedin-in::before,
.fab.fa-linkedin::before {
  content: "in";
  font-weight: bold;
  font-size: 0.8em;
  text-transform: lowercase;
}

.fa-brands.fa-x-twitter::before {
  content: "𝕏";
  font-weight: bold;
  font-size: 1em;
}

.fas.fa-bullseye::before {
  content: "⊙";
  font-size: 1em;
}

.fas.fa-check-circle::before {
  content: "✓";
  font-size: 1em;
  color: #2ecc71;
}

.fas.fa-arrow-right::before {
  content: "→";
  font-size: 1em;
}

/* Social icon container centering - targets the 45x45px circular badges */
.social-icon {
  position: relative;
}

.social-icon .fas,
.social-icon .fab,
.social-icon .fa-brands {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  height: auto;
  line-height: 1;
}

.social-icon .fas::before,
.social-icon .fab::before,
.social-icon .fa-brands::before {
  display: block;
  text-align: center;
  line-height: 1;
}

/* Contact icon container centering - targets the 60x60px rounded rectangles */
.contact-icon {
  position: relative;
}

.contact-icon .fas,
.contact-icon .fab,
.contact-icon .fa-brands {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  height: auto;
  line-height: 1;
}

.contact-icon .fas::before,
.contact-icon .fab::before,
.contact-icon .fa-brands::before {
  display: block;
  text-align: center;
  line-height: 1;
  font-size: 1.4em;
}

/* Specific adjustments for different icons in contact containers */
.contact-icon .fas.fa-envelope::before {
  font-size: 1.3em;
}

.contact-icon .fab.fa-linkedin::before {
  font-size: 1em;
}

.contact-icon .fa-brands.fa-x-twitter::before {
  font-size: 1.2em;
}

/* Mobile menu toggle centering */
.mobile-menu-toggle .fas {
  display: inline-block;
  line-height: 1;
}

.mobile-menu-toggle .fas::before {
  display: inline-block;
  text-align: center;
  line-height: 1;
}
