/* =============================================================================
   Icon font fixes — missing icon_fonts restored via FA Free + ElegantIcons remap
   ============================================================================= */

/* Remap Font Awesome 5 Pro faces to available Free webfonts */
@font-face {
  font-family: 'Font Awesome 5 Pro';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("icon_fonts/fontawesome/fa-regular-400.woff2") format("woff2"),
       url("icon_fonts/fontawesome/fa-regular-400.woff") format("woff"),
       url("icon_fonts/fontawesome/fa-regular-400.ttf") format("truetype");
}

@font-face {
  font-family: 'Font Awesome 5 Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("icon_fonts/fontawesome/fa-regular-400.woff2") format("woff2"),
       url("icon_fonts/fontawesome/fa-regular-400.woff") format("woff"),
       url("icon_fonts/fontawesome/fa-regular-400.ttf") format("truetype");
}

@font-face {
  font-family: 'Font Awesome 5 Pro';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("icon_fonts/fontawesome/fa-solid-900.woff2") format("woff2"),
       url("icon_fonts/fontawesome/fa-solid-900.woff") format("woff"),
       url("icon_fonts/fontawesome/fa-solid-900.ttf") format("truetype");
}

@font-face {
  font-family: 'Font Awesome 5 Free';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("icon_fonts/fontawesome/fa-regular-400.woff2") format("woff2"),
       url("icon_fonts/fontawesome/fa-regular-400.woff") format("woff"),
       url("icon_fonts/fontawesome/fa-regular-400.ttf") format("truetype");
}

@font-face {
  font-family: 'Font Awesome 5 Free';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("icon_fonts/fontawesome/fa-solid-900.woff2") format("woff2"),
       url("icon_fonts/fontawesome/fa-solid-900.woff") format("woff"),
       url("icon_fonts/fontawesome/fa-solid-900.ttf") format("truetype");
}

@font-face {
  font-family: 'Font Awesome 5 Brands';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("icon_fonts/fontawesome/fa-brands-400.woff2") format("woff2"),
       url("icon_fonts/fontawesome/fa-brands-400.woff") format("woff"),
       url("icon_fonts/fontawesome/fa-brands-400.ttf") format("truetype");
}

/* Ensure FA class families resolve correctly.
   FA Free Regular only includes a small icon set — use Solid glyphs for far/fal. */
.fa,
.fas,
.far,
.fal {
  font-family: 'Font Awesome 5 Free' !important;
  font-weight: 900 !important;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
}

.fab {
  font-family: 'Font Awesome 5 Brands' !important;
  font-weight: 400 !important;
}

/* -----------------------------------------------------------------------------
   ElegantIcons → Font Awesome (icon_fonts/font missing on server)
   ----------------------------------------------------------------------------- */
.icon_menu:before,
.icon_close:before,
.icon_close_alt:before,
.icon_close_alt2:before,
.icon_house_alt:before,
.icon_house:before,
.icon_mobile:before,
.icon_mail_alt:before,
.icon_mail:before,
.icon_pin_alt:before,
.icon_pin:before,
.icon_heart:before,
.icon_heart_alt:before,
.icon_image:before,
.icon_images:before,
.icon_phone:before,
.icon_star:before,
.icon_star_alt:before,
.icon_adjust-vert:before,
.icon_adjust-horiz:before,
.icon_search:before,
.icon_search-2:before,
.icon_search_alt:before,
.icon_check:before,
.icon_check_alt:before,
.icon_plus:before,
.icon_minus-06:before,
.icon_calendar:before,
.icon_clock_alt:before,
.icon_clock:before,
.icon_cart_alt:before,
.icon_cart:before,
.icon_tag_alt:before,
.icon_tag:before,
.icon_profile:before,
.icon_group:before,
.icon_globe_alt:before,
.icon_globe:before,
.icon_map_alt:before,
.icon_map:before,
.icon_compass_alt:before,
.icon_compass:before,
.icon_error-circle:before,
.icon_info_alt:before,
.icon_info:before,
.arrow_carrot-down:before,
.arrow_carrot-up:before,
.arrow_carrot-left:before,
.arrow_carrot-right:before,
.arrow_left:before,
.arrow_right:before {
  font-family: 'Font Awesome 5 Free' !important;
  font-weight: 900 !important;
  font-style: normal !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}

.icon_menu:before { content: "\f0c9" !important; }          /* bars */
.icon_close:before,
.icon_close_alt:before,
.icon_close_alt2:before { content: "\f00d" !important; }    /* times */
.icon_house_alt:before,
.icon_house:before { content: "\f015" !important; }         /* home */
.icon_mobile:before { content: "\f3cd" !important; }        /* mobile-alt */
.icon_mail_alt:before,
.icon_mail:before { content: "\f0e0" !important; }          /* envelope */
.icon_pin_alt:before,
.icon_pin:before { content: "\f3c5" !important; }           /* map-marker-alt */
.icon_heart:before,
.icon_heart_alt:before { content: "\f004" !important; }     /* heart */
.icon_image:before,
.icon_images:before { content: "\f03e" !important; }        /* image */
.icon_phone:before { content: "\f095" !important; }         /* phone */
.icon_star:before,
.icon_star_alt:before { content: "\f005" !important; }      /* star */
.icon_adjust-vert:before { content: "\f1de" !important; }   /* sliders-h */
.icon_adjust-horiz:before { content: "\f1de" !important; }
.icon_search:before,
.icon_search-2:before,
.icon_search_alt:before { content: "\f002" !important; }    /* search */
.icon_check:before,
.icon_check_alt:before { content: "\f00c" !important; }     /* check */
.icon_plus:before { content: "\f067" !important; }          /* plus */
.icon_minus-06:before { content: "\f068" !important; }      /* minus */
.icon_calendar:before { content: "\f073" !important; }      /* calendar-alt */
.icon_clock_alt:before,
.icon_clock:before { content: "\f017" !important; }         /* clock */
.icon_cart_alt:before,
.icon_cart:before { content: "\f07a" !important; }          /* shopping-cart */
.icon_tag_alt:before,
.icon_tag:before { content: "\f02b" !important; }           /* tag */
.icon_profile:before { content: "\f007" !important; }       /* user */
.icon_group:before { content: "\f0c0" !important; }         /* users */
.icon_globe_alt:before,
.icon_globe:before { content: "\f0ac" !important; }         /* globe */
.icon_map_alt:before,
.icon_map:before { content: "\f279" !important; }           /* map */
.icon_compass_alt:before,
.icon_compass:before { content: "\f14e" !important; }       /* compass */
.icon_error-circle:before { content: "\f06a" !important; }  /* exclamation-circle */
.icon_info_alt:before,
.icon_info:before { content: "\f05a" !important; }          /* info-circle */
.arrow_carrot-down:before { content: "\f078" !important; }
.arrow_carrot-up:before { content: "\f077" !important; }
.arrow_carrot-left:before { content: "\f053" !important; }
.arrow_carrot-right:before { content: "\f054" !important; }
.arrow_left:before { content: "\f060" !important; }
.arrow_right:before { content: "\f061" !important; }

/* Social brand icons (ElegantIcons font missing) */
.social_facebook:before,
.social_facebook_circle:before,
.social_facebook_square:before,
.social_twitter:before,
.social_twitter_circle:before,
.social_twitter_square:before,
.social_instagram:before,
.social_pinterest:before,
.social_googleplus:before,
.social_linkedin:before,
.social_youtube:before {
  font-family: 'Font Awesome 5 Brands' !important;
  font-weight: 400 !important;
  font-style: normal !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
}

.social_facebook:before,
.social_facebook_circle:before,
.social_facebook_square:before { content: "\f39e" !important; } /* facebook-f */

.social_twitter:before,
.social_twitter_circle:before,
.social_twitter_square:before { content: "\f099" !important; } /* twitter */

.social_instagram:before { content: "\f16d" !important; }
.social_pinterest:before { content: "\f0d2" !important; }
.social_googleplus:before { content: "\f0d5" !important; }
.social_linkedin:before { content: "\f0e1" !important; }
.social_youtube:before { content: "\f167" !important; }

/* Breadcrumb separators & sort dropdown caret (were ElegantIcons digits) */
.breadcrumbs ul li:after {
  font-family: 'Font Awesome 5 Free' !important;
  font-weight: 900 !important;
  content: "\f105" !important; /* angle-right */
  font-size: 0.75rem !important;
  top: 1px !important;
  right: 0;
  color: rgba(255, 255, 255, 0.7);
}

.breadcrumbs ul li:last-child:after {
  content: none !important;
  display: none !important;
}

body.home-page .breadcrumbs ul li:after,
.page_header .breadcrumbs ul li:after {
  color: rgba(255, 255, 255, 0.7);
}

.sort_select:after {
  font-family: 'Font Awesome 5 Free' !important;
  font-weight: 900 !important;
  content: "\f078" !important; /* chevron-down */
  font-size: 0.75rem !important;
  top: 50% !important;
  transform: translateY(-50%);
  right: 12px !important;
  color: #64748b !important;
  pointer-events: none;
}

ul#top_menu li a.login:before,
ul#top_menu li a.wishlist_bt_top:before {
  font-family: 'Font Awesome 5 Free' !important;
  font-weight: 900 !important;
  font-size: 1.15rem !important;
  text-indent: 0;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  line-height: 1;
  color: inherit;
}

ul#top_menu li a.login:before {
  content: "\f007" !important; /* user */
}

ul#top_menu li a.wishlist_bt_top:before {
  content: "\f004" !important; /* heart */
}

/* Login icon in header uses FA classes on the <a> itself */
header ul#top_menu li a.login:before {
  font-family: 'Font Awesome 5 Free' !important;
  font-weight: 900 !important;
  content: "\f007" !important; /* user */
}

/* Search field adornment icons */
.custom-search-input .far.fa-search,
.custom-search-input i.far,
.custom-search-input i.fal,
.custom-search-input i.fas {
  font-family: 'Font Awesome 5 Free' !important;
}

/* Magnific Popup close — was ElegantIcons \4d (literal "M" when font missing) */
#sign-in-dialog .mfp-close:before,
#location-picker-dialog .mfp-close:before,
.default-popup .mfp-close:before,
.mfp-content .mfp-close:before {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  content: "\00d7" !important; /* × */
  font-size: 26px !important;
  line-height: 30px !important;
  display: block;
  text-align: center;
}
