/*!
 * Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2024 Fonticons, Inc.
 */

/* Definir fuentes con respaldo del sistema */
@font-face {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url("../webfonts/fa-solid-900.woff2") format("woff2"),
       url("../webfonts/fa-solid-900.ttf") format("truetype"),
       url("../webfonts/fa-solid-900.woff") format("woff");
}

@font-face {
  font-family: "Font Awesome 6 Brands";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../webfonts/fa-brands-400.woff2") format("woff2"),
       url("../webfonts/fa-brands-400.ttf") format("truetype"),
       url("../webfonts/fa-brands-400.woff") format("woff");
}

.fa,
.fas,
.far,
.fal,
.fat,
.fab {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
}

.fa,
.fas {
  font-family: "Font Awesome 6 Free", "Arial Unicode MS", "Lucida Grande", sans-serif;
  font-weight: 900;
}

.far {
  font-family: "Font Awesome 6 Free", "Arial Unicode MS", "Lucida Grande", sans-serif;
  font-weight: 400;
}

.fal {
  font-family: "Font Awesome 6 Free", "Arial Unicode MS", "Lucida Grande", sans-serif;
  font-weight: 300;
}

.fat {
  font-family: "Font Awesome 6 Free", "Arial Unicode MS", "Lucida Grande", sans-serif;
  font-weight: 900;
}

.fab {
  font-family: "Font Awesome 6 Brands", "Arial Unicode MS", "Lucida Grande", sans-serif;
  font-weight: 400;
}

/* Iconos específicos que usamos - usando símbolos Unicode como respaldo */
.fa-home::before { content: "\f015"; }
.fa-user::before { content: "\f007"; }
.fa-shopping-bag::before { content: "\f290"; }
.fa-bars::before { content: "\f0c9"; }
.fa-search::before { content: "\f002"; }
.fa-th-large::before { content: "\f009"; }
.fa-map-marker-alt::before { content: "\f3c5"; }
.fa-envelope::before { content: "\f0e0"; }
.fa-phone::before { content: "\f095"; }
.fa-clock::before { content: "\f017"; }
.fa-gem::before { content: "\f3a5"; }
.fa-spa::before { content: "\f5bb"; }
.fa-user-tie::before { content: "\f508"; }

/* Iconos de redes sociales */
.fa-instagram::before { content: "\f16d"; }
.fa-tiktok::before { content: "\e07b"; }
.fa-whatsapp::before { content: "\f232"; }

/* Respaldo con símbolos Unicode si las fuentes no cargan */
.fa-home::before { content: "\f015" "\1F3E0"; }
.fa-user::before { content: "\f007" "\1F464"; }
.fa-shopping-bag::before { content: "\f290" "\1F6CD"; }
.fa-bars::before { content: "\f0c9" "\2630"; }
.fa-search::before { content: "\f002" "\1F50D"; }
.fa-th-large::before { content: "\f009" "\1F4D0"; }
.fa-map-marker-alt::before { content: "\f3c5" "\1F4CD"; }
.fa-envelope::before { content: "\f0e0" "\2709"; }
.fa-phone::before { content: "\f095" "\1F4F1"; }
.fa-clock::before { content: "\f017" "\1F550"; }
.fa-gem::before { content: "\f3a5" "\1F48E"; }
.fa-spa::before { content: "\f5bb" "\1F9D8"; }
.fa-user-tie::before { content: "\f508" "\1F935"; }

/* Iconos de redes sociales con respaldo */
.fa-instagram::before { content: "\f16d" "\1F4F7"; }
.fa-tiktok::before { content: "\e07b" "\1F3A3"; }
.fa-whatsapp::before { content: "\f232" "\1F4F2"; }

/* Tamaños de fuente */
.fa-xs { font-size: 0.75em; }
.fa-sm { font-size: 0.875em; }
.fa-lg { font-size: 1.25em; }
.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; }

/* Animaciones */
.fa-spin {
  animation: fa-spin 2s linear infinite;
}

.fa-pulse {
  animation: fa-spin 1s steps(8) infinite;
}

@keyframes fa-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Rotaciones */
.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,
.fa-flip-horizontal.fa-flip-vertical { transform: scale(-1, -1); }

/* Stacking */
.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%;
}

.fa-stack-1x { line-height: inherit; }
.fa-stack-2x { font-size: 2em; }

/* Colores */
.fa-inverse { color: #fff; }

/* Estilos específicos para iconos que no cargan */
.fa:not([class*="fa-"]):before,
.fas:not([class*="fa-"]):before,
.far:not([class*="fa-"]):before,
.fal:not([class*="fa-"]):before,
.fat:not([class*="fa-"]):before,
.fab:not([class*="fa-"]):before {
  content: "?" !important;
  color: #ff0000;
  font-weight: bold;
}
