/* ==============================================
   UnikaBiz Font Awesome Minimal CSS
   Custom Font Awesome build with only needed icons
   ============================================== */

/* Font Face Declarations */
@font-face {
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../fonts/fa-regular-400.woff2") format("woff2"),
       url("../fonts/fa-regular-400.woff") format("woff");
}

@font-face {
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url("../fonts/fa-solid-900.woff2") format("woff2"),
       url("../fonts/fa-solid-900.woff") format("woff");
}

@font-face {
  font-family: "Font Awesome 5 Brands";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../fonts/fa-brands-400.woff2") format("woff2"),
       url("../fonts/fa-brands-400.woff") format("woff");
}

/* Base Font Awesome 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;
}

/* Solid Icons */
.fas {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

/* Regular Icons */
.far {
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
}

/* Brand Icons */
.fab {
  font-family: "Font Awesome 5 Brands";
  font-weight: 400;
}

/* ==============================================
   Icon Definitions (Only icons used in UnikaBiz)
   ============================================== */

/* Solid Icons */
.fa-robot:before { content: "\f544"; }
.fa-chart-line:before { content: "\f201"; }
.fa-cogs:before { content: "\f085"; }
.fa-chart-bar:before { content: "\f080"; }
.fa-lightbulb:before { content: "\f0eb"; }
.fa-rocket:before { content: "\f135"; }
.fa-shopping-cart:before { content: "\f07a"; }
.fa-home:before { content: "\f015"; }
.fa-heartbeat:before { content: "\f21e"; }
.fa-briefcase:before { content: "\f0b1"; }
.fa-store:before { content: "\f54e"; }
.fa-users:before { content: "\f0c0"; }
.fa-percentage:before { content: "\f295"; }
.fa-clock:before { content: "\f017"; }
.fa-star:before { content: "\f005"; }
.fa-check:before { content: "\f00c"; }
.fa-arrow-right:before { content: "\f061"; }
.fa-arrow-left:before { content: "\f060"; }
.fa-bars:before { content: "\f0c9"; }
.fa-times:before { content: "\f00d"; }
.fa-plus:before { content: "\f067"; }
.fa-minus:before { content: "\f068"; }
.fa-search:before { content: "\f002"; }
.fa-envelope:before { content: "\f0e0"; }
.fa-phone:before { content: "\f095"; }
.fa-map-marker-alt:before { content: "\f3c5"; }
.fa-calendar:before { content: "\f133"; }
.fa-download:before { content: "\f019"; }
.fa-upload:before { content: "\f093"; }
.fa-edit:before { content: "\f044"; }
.fa-trash:before { content: "\f1f8"; }
.fa-eye:before { content: "\f06e"; }
.fa-eye-slash:before { content: "\f070"; }
.fa-heart:before { content: "\f004"; }
.fa-thumbs-up:before { content: "\f164"; }
.fa-thumbs-down:before { content: "\f165"; }
.fa-share:before { content: "\f064"; }
.fa-comment:before { content: "\f075"; }
.fa-play:before { content: "\f04b"; }
.fa-pause:before { content: "\f04c"; }
.fa-stop:before { content: "\f04d"; }
.fa-volume-up:before { content: "\f028"; }
.fa-volume-down:before { content: "\f027"; }
.fa-volume-mute:before { content: "\f6a9"; }
.fa-cog:before { content: "\f013"; }
.fa-wrench:before { content: "\f0ad"; }
.fa-tools:before { content: "\f7d9"; }
.fa-hammer:before { content: "\f6e3"; }
.fa-magic:before { content: "\f0d0"; }
.fa-bolt:brief { content: "\f0e7"; }
.fa-fire:before { content: "\f06d"; }
.fa-shield-alt:before { content: "\f3ed"; }
.fa-lock:before { content: "\f023"; }
.fa-unlock:before { content: "\f09c"; }
.fa-key:before { content: "\f084"; }
.fa-database:before { content: "\f1c0"; }
.fa-server:before { content: "\f233"; }
.fa-cloud:before { content: "\f0c2"; }
.fa-wifi:before { content: "\f1eb"; }
.fa-mobile-alt:before { content: "\f3cd"; }
.fa-laptop:before { content: "\f109"; }
.fa-desktop:before { content: "\f108"; }
.fa-tablet:before { content: "\f10a"; }
.fa-code:before { content: "\f121"; }
.fa-terminal:before { content: "\f120"; }
.fa-bug:before { content: "\f188"; }
.fa-flask:before { content: "\f0c3"; }
.fa-microscope:before { content: "\f610"; }
.fa-dna:before { content: "\f471"; }
.fa-atom:before { content: "\f5d2"; }
.fa-brain:before { content: "\f5dc"; }
.fa-microchip:before { content: "\f2db"; }
.fa-memory:before { content: "\f538"; }
.fa-hdd:before { content: "\f0a0"; }
.fa-save:before { content: "\f0c7"; }
.fa-folder:before { content: "\f07b"; }
.fa-folder-open:before { content: "\f07c"; }
.fa-file:before { content: "\f15b"; }
.fa-file-alt:before { content: "\f15c"; }
.fa-file-pdf:before { content: "\f1c1"; }
.fa-file-word:before { content: "\f1c2"; }
.fa-file-excel:before { content: "\f1c3"; }
.fa-file-powerpoint:before { content: "\f1c4"; }
.fa-file-image:before { content: "\f1c5"; }
.fa-file-video:before { content: "\f1c8"; }
.fa-file-audio:before { content: "\f1c7"; }
.fa-file-archive:before { content: "\f1c6"; }
.fa-file-code:before { content: "\f1c9"; }
.fa-copy:before { content: "\f0c5"; }
.fa-paste:before { content: "\f0ea"; }
.fa-cut:before { content: "\f0c4"; }
.fa-link:before { content: "\f0c1"; }
.fa-unlink:before { content: "\f127"; }
.fa-chain:before { content: "\f0c1"; }
.fa-chain-broken:before { content: "\f127"; }
.fa-paperclip:before { content: "\f0c6"; }
.fa-bookmark:before { content: "\f02e"; }
.fa-tag:before { content: "\f02b"; }
.fa-tags:before { content: "\f02c"; }
.fa-flag:before { content: "\f024"; }
.fa-trophy:before { content: "\f091"; }
.fa-award:before { content: "\f559"; }
.fa-medal:before { content: "\f5a2"; }
.fa-certificate:before { content: "\f0a3"; }
.fa-graduation-cap:before { content: "\f19d"; }
.fa-book:before { content: "\f02d"; }
.fa-book-open:before { content: "\f518"; }
.fa-bookmark:before { content: "\f02e"; }
.fa-newspaper:before { content: "\f1ea"; }
.fa-magazine:before { content: "\f02f"; }
.fa-rss:before { content: "\f09e"; }
.fa-wifi:before { content: "\f1eb"; }
.fa-signal:before { content: "\f012"; }
.fa-battery-full:before { content: "\f240"; }
.fa-battery-half:before { content: "\f242"; }
.fa-battery-empty:before { content: "\f244"; }
.fa-plug:before { content: "\f1e6"; }
.fa-power-off:before { content: "\f011"; }

/* Brand Icons */
.fa-facebook:before,
.fa-facebook-f:before { content: "\f39e"; }
.fa-twitter:before { content: "\f099"; }
.fa-linkedin:before,
.fa-linkedin-in:before { content: "\f0e1"; }
.fa-instagram:before { content: "\f16d"; }
.fa-youtube:before { content: "\f167"; }
.fa-google:before { content: "\f1a0"; }
.fa-apple:before { content: "\f179"; }
.fa-microsoft:before { content: "\f3ca"; }
.fa-amazon:before { content: "\f270"; }
.fa-github:before { content: "\f09b"; }
.fa-gitlab:before { content: "\f296"; }
.fa-bitbucket:before { content: "\f171"; }
.fa-slack:before { content: "\f198"; }
.fa-discord:before { content: "\f392"; }
.fa-skype:before { content: "\f17e"; }
.fa-zoom:before { content: "\e07e"; }
.fa-whatsapp:before { content: "\f232"; }
.fa-telegram:before { content: "\f2c6"; }
.fa-pinterest:before { content: "\f0d2"; }
.fa-reddit:before { content: "\f1a1"; }
.fa-tumblr:before { content: "\f173"; }
.fa-snapchat:before { content: "\f2ab"; }
.fa-tiktok:before { content: "\e07b"; }
.fa-behance:before { content: "\f1b4"; }
.fa-dribbble:before { content: "\f17d"; }
.fa-figma:before { content: "\f799"; }
.fa-sketch:before { content: "\f7c6"; }
.fa-adobe:before { content: "\f778"; }
.fa-wordpress:before { content: "\f19a"; }
.fa-drupal:before { content: "\f1a9"; }
.fa-joomla:before { content: "\f1aa"; }
.fa-shopify:before { content: "\e057"; }
.fa-stripe:before { content: "\f429"; }
.fa-paypal:before { content: "\f1ed"; }
.fa-bitcoin:before { content: "\f379"; }
.fa-ethereum:before { content: "\f42e"; }

/* ==============================================
   Size Modifiers
   ============================================== */

.fa-xs {
  font-size: 0.75em;
  line-height: 0.08333em;
  vertical-align: 0.125em;
}

.fa-sm {
  font-size: 0.875em;
  line-height: 0.07143em;
  vertical-align: 0.05357em;
}

.fa-lg {
  font-size: 1.33333em;
  line-height: 0.75em;
  vertical-align: -0.0667em;
}

.fa-xl {
  font-size: 1.5em;
  line-height: 0.66667em;
  vertical-align: -0.125em;
}

.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;
}

/* ==============================================
   Fixed Width & List Icons
   ============================================== */

.fa-fw {
  text-align: center;
  width: 1.25em;
}

.fa-ul {
  list-style-type: none;
  margin-left: 2.5em;
  padding-left: 0;
}

.fa-ul > li {
  position: relative;
}

.fa-li {
  left: -2em;
  position: absolute;
  text-align: center;
  width: 2em;
  line-height: inherit;
}

/* ==============================================
   Rotation & Flipping
   ============================================== */

.fa-rotate-90 {
  transform: rotate(90deg);
}

.fa-rotate-180 {
  transform: rotate(180deg);
}

.fa-rotate-270 {
  transform: rotate(270deg);
}

.fa-flip-horizontal {
  transform: scale(-1, 1);
}

.fa-flip-vertical {
  transform: scale(1, -1);
}

.fa-flip-both {
  transform: scale(-1, -1);
}

/* ==============================================
   Animation
   ============================================== */

@keyframes fa-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.fa-spin {
  animation: fa-spin 2s infinite linear;
}

.fa-pulse {
  animation: fa-spin 1s infinite steps(8);
}

/* ==============================================
   Stacking Icons
   ============================================== */

.fa-stack {
  display: inline-block;
  height: 2em;
  line-height: 2em;
  position: relative;
  vertical-align: middle;
  width: 2.5em;
}

.fa-stack-1x,
.fa-stack-2x {
  left: 0;
  position: absolute;
  text-align: center;
  width: 100%;
  z-index: var(--fa-stack-z-index, auto);
}

.fa-stack-1x {
  line-height: inherit;
}

.fa-stack-2x {
  font-size: 2em;
}

.fa-inverse {
  color: var(--fa-inverse, #fff);
}

/* ==============================================
   Bordered & Pulled Icons
   ============================================== */

.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;
}

/* ==============================================
   Screen Reader Support
   ============================================== */

.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;
}

/* ==============================================
   Color Utilities for Icons
   ============================================== */

.text-primary .fas,
.text-primary .far,
.text-primary .fab {
  color: var(--primary-color);
}

.text-secondary .fas,
.text-secondary .far,
.text-secondary .fab {
  color: var(--secondary-color);
}

.text-accent .fas,
.text-accent .far,
.text-accent .fab {
  color: var(--accent-color);
}

.text-success .fas,
.text-success .far,
.text-success .fab {
  color: var(--success-color);
}

.text-warning .fas,
.text-warning .far,
.text-warning .fab {
  color: var(--warning-color);
}

.text-danger .fas,
.text-danger .far,
.text-danger .fab {
  color: var(--error-color);
}

.text-white .fas,
.text-white .far,
.text-white .fab {
  color: var(--white-color);
}

.text-dark .fas,
.text-dark .far,
.text-dark .fab {
  color: var(--dark-color);
}

/* ==============================================
   Icon Specific Utilities for UnikaBiz
   ============================================== */

/* Service Icons */
.service-icon .fas {
  transition: transform 0.3s ease, color 0.3s ease;
}

.service-card:hover .service-icon .fas {
  transform: scale(1.1);
}

/* Industry Icons */
.industry-icon .fas {
  transition: all 0.3s ease;
}

.industry-card:hover .industry-icon .fas {
  transform: rotate(5deg) scale(1.05);
}

/* Social Icons */
.footer-social .fab {
  transition: all 0.3s ease;
}

.footer-social a:hover .fab {
  transform: translateY(-2px) scale(1.1);
}

/* Arrow Icons */
.fa-arrow-right {
  transition: transform 0.3s ease;
}

.service-btn:hover .fa-arrow-right,
.content-more-btn:hover .fa-arrow-right {
  transform: translateX(5px);
}

/* Check Icons */
.fa-check {
  color: var(--success-color);
  animation: checkPulse 2s infinite;
}

@keyframes checkPulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}

/* Star Rating Icons */
.testimonial-rating .fa-star {
  color: #FFD700;
  text-shadow: 0 0 2px rgba(255, 215, 0, 0.5);
}

/* Counter Icons */
.counter-icon .fas {
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* Mobile Menu Icons */
.mobile-menu-toggle .fa-bars,
.mobile-menu-toggle .fa-times {
  font-size: 18px;
  color: var(--dark-color);
  transition: all 0.3s ease;
}

.mobile-menu-toggle:hover .fa-bars,
.mobile-menu-toggle:hover .fa-times {
  color: var(--primary-color);
  transform: scale(1.1);
}

/* Loading Spinner */
.fa-spinner {
  animation: fa-spin 1s infinite linear;
}

/* Utility Icon Classes for UnikaBiz */
.icon-hover-primary {
  transition: color 0.3s ease;
}

.icon-hover-primary:hover {
  color: var(--primary-color) !important;
}

.icon-hover-accent {
  transition: color 0.3s ease;
}

.icon-hover-accent:hover {
  color: var(--accent-color) !important;
}

.icon-shadow {
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.icon-glow {
  text-shadow: 0 0 8px currentColor;
}

/* Responsive Icon Sizes */
@media (max-width: 768px) {
  .service-icon .fas {
    font-size: 24px;
  }
  
  .industry-icon .fas {
    font-size: 20px;
  }
  
  .counter-icon .fas {
    font-size: 28px;
  }
  
  .hero .fas {
    font-size: 32px;
  }
}

@media (max-width: 576px) {
  .service-icon .fas {
    font-size: 22px;
  }
  
  .industry-icon .fas {
    font-size: 18px;
  }
  
  .counter-icon .fas {
    font-size: 24px;
  }
  
  .hero .fas {
    font-size: 28px;
  }
}

/* ==============================================
   Custom Icon Combinations for UnikaBiz
   ============================================== */

/* AI Robot with Circuit Pattern */
.ai-icon-combo {
  position: relative;
  display: inline-block;
}

.ai-icon-combo::after {
  content: '';
  position: absolute;
  top: -2px;
  right: -2px;
  width: 8px;
  height: 8px;
  background: var(--accent-color);
  border-radius: 50%;
  animation: pulse 2s infinite;
}

/* Growth Chart with Arrow */
.growth-icon-combo .fa-chart-line {
  position: relative;
}

.growth-icon-combo .fa-chart-line::after {
  content: '\f062';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: -5px;
  right: -5px;
  font-size: 0.6em;
  color: var(--success-color);
}

/* Security Shield with Lock */
.security-icon-combo {
  position: relative;
}

.security-icon-combo .fa-shield-alt::after {
  content: '\f023';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 0.5em;
  color: var(--white-color);
}