/* Icon Fallbacks for missing design-icon font */
/* This CSS provides fallback icons using FontAwesome 6 and Unicode symbols */

/* Common arrow icons - with higher specificity to override empty class */
.design-icon-arrow-right:before,
i.design-icon-arrow-right:before,
span.design-icon-arrow-right:before { 
    content: "\f061" !important; 
    font-family: "Font Awesome 6 Free" !important; 
    font-weight: 900 !important; 
}

.design-icon-arrow-left:before,
i.design-icon-arrow-left:before,
span.design-icon-arrow-left:before { 
    content: "\f060" !important; 
    font-family: "Font Awesome 6 Free" !important; 
    font-weight: 900 !important; 
}

.design-icon-arrow-up:before,
i.design-icon-arrow-up:before,
span.design-icon-arrow-up:before { 
    content: "\f062" !important; 
    font-family: "Font Awesome 6 Free" !important; 
    font-weight: 900 !important; 
}

.design-icon-arrow-down:before,
i.design-icon-arrow-down:before,
span.design-icon-arrow-down:before { 
    content: "\f063" !important; 
    font-family: "Font Awesome 6 Free" !important; 
    font-weight: 900 !important; 
}

/* Angle icons */
.design-icon-angle-right:before { content: "\f105"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-angle-left:before { content: "\f104"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-angle-up:before { content: "\f106"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-angle-down:before { content: "\f107"; font-family: "Font Awesome 6 Free"; font-weight: 900; }

/* Chevron icons */
.design-icon-chevron-right:before { content: "\f054"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-chevron-left:before { content: "\f053"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-chevron-up:before { content: "\f077"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-chevron-down:before { content: "\f078"; font-family: "Font Awesome 6 Free"; font-weight: 900; }

/* Caret icons */
.design-icon-caret-right:before { content: "\f0da"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-caret-left:before { content: "\f0d9"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-caret-up:before { content: "\f0d8"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-caret-down:before { content: "\f0d7"; font-family: "Font Awesome 6 Free"; font-weight: 900; }

/* Common UI icons */
.design-icon-search:before { content: "\f002"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-home:before { content: "\f015"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-user:before { content: "\f007"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-envelope:before { content: "\f0e0"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-phone:before { content: "\f095"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-location:before { content: "\f3c5"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-calendar:before { content: "\f073"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-clock:before { content: "\f017"; font-family: "Font Awesome 6 Free"; font-weight: 900; }

/* Check and close icons */
.design-icon-check:before { content: "\f00c"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-times:before { content: "\f00d"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-close:before { content: "\f00d"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-plus:before { content: "\f067"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-minus:before { content: "\f068"; font-family: "Font Awesome 6 Free"; font-weight: 900; }

/* Star icons */
.design-icon-star:before { content: "\f005"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-star-o:before { content: "\f005"; font-family: "Font Awesome 6 Free"; font-weight: 400; }
.design-icon-star-half:before { content: "\f089"; font-family: "Font Awesome 6 Free"; font-weight: 900; }

/* Heart icon */
.design-icon-heart:before { content: "\f004"; font-family: "Font Awesome 6 Free"; font-weight: 900; }

/* Shopping icons */
.design-icon-shopping-cart:before { content: "\f07a"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-shopping-bag:before { content: "\f290"; font-family: "Font Awesome 6 Free"; font-weight: 900; }

/* Social media icons */
.design-icon-facebook:before { content: "\f09a"; font-family: "Font Awesome 6 Brands"; font-weight: 400; }
.design-icon-twitter:before { content: "\f099"; font-family: "Font Awesome 6 Brands"; font-weight: 400; }
.design-icon-instagram:before { content: "\f16d"; font-family: "Font Awesome 6 Brands"; font-weight: 400; }
.design-icon-youtube:before { content: "\f167"; font-family: "Font Awesome 6 Brands"; font-weight: 400; }
.design-icon-linkedin:before { content: "\f08c"; font-family: "Font Awesome 6 Brands"; font-weight: 400; }
.design-icon-pinterest:before { content: "\f0d2"; font-family: "Font Awesome 6 Brands"; font-weight: 400; }

/* Dots and separators */
.design-icon-dot-01:before { content: "•"; font-family: inherit; }
.design-icon-dotfour:before { content: "••••"; font-family: inherit; }

/* Play icon */
.design-icon-play-fill:before { content: "\f04b"; font-family: "Font Awesome 6 Free"; font-weight: 900; }

/* Eye icons */
.design-icon-eye:before { content: "\f06e"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-eye-slash:before { content: "\f070"; font-family: "Font Awesome 6 Free"; font-weight: 900; }

/* Info and question icons */
.design-icon-info-circle:before { content: "\f05a"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-question:before { content: "\f059"; font-family: "Font Awesome 6 Free"; font-weight: 900; }

/* Quote icons */
.design-icon-quotes:before { content: "\f10d"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-quotation:before { content: "\f10e"; font-family: "Font Awesome 6 Free"; font-weight: 900; }

/* Mobile and communication */
.design-icon-mobile:before { content: "\f3ce"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-telephone:before { content: "\f095"; font-family: "Font Awesome 6 Free"; font-weight: 900; }

/* Map and location */
.design-icon-map-pin-2-line:before { content: "\f3c5"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-marker:before { content: "\f3c5"; font-family: "Font Awesome 6 Free"; font-weight: 900; }

/* Healthcare and medical icons - with higher specificity */
.design-icon-ring-bold:before,
i.design-icon-ring-bold:before,
span.design-icon-ring-bold:before { 
    content: "\f111" !important; 
    font-family: "Font Awesome 6 Free" !important; 
    font-weight: 900 !important; 
}

.design-icon-check-fill-e:before,
i.design-icon-check-fill-e:before,
span.design-icon-check-fill-e:before { 
    content: "\f058" !important; 
    font-family: "Font Awesome 6 Free" !important; 
    font-weight: 900 !important; 
}
.design-icon-medical-cross:before { content: "\f0fa"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-heart-pulse:before { content: "\f21e"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-stethoscope:before { content: "\f0f1"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-pills:before { content: "\f484"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-wheelchair:before { content: "\f193"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-hospital:before { content: "\f0f8"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-ambulance:before { content: "\f0f9"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-user-md:before { content: "\f0f0"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-nurse:before { content: "\f0f0"; font-family: "Font Awesome 6 Free"; font-weight: 900; }

/* Care and support icons */
.design-icon-hands-helping:before { content: "\f4c4"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-hand-holding-heart:before { content: "\f4be"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-shield-alt:before { content: "\f3ed"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-home-heart:before { content: "\f4c9"; font-family: "Font Awesome 6 Free"; font-weight: 900; }

/* Activity and wellness icons */
.design-icon-walking:before { content: "\f554"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-dumbbell:before { content: "\f44b"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-spa:before { content: "\f5bb"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-leaf:before { content: "\f06c"; font-family: "Font Awesome 6 Free"; font-weight: 900; }

/* Communication icons */
.design-icon-comments:before { content: "\f086"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-phone-alt:before { content: "\f879"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-video:before { content: "\f03d"; font-family: "Font Awesome 6 Free"; font-weight: 900; }

/* Time and scheduling */
.design-icon-clock-o:before { content: "\f017"; font-family: "Font Awesome 6 Free"; font-weight: 400; }
.design-icon-calendar-alt:before { content: "\f073"; font-family: "Font Awesome 6 Free"; font-weight: 900; }
.design-icon-schedule:before { content: "\f073"; font-family: "Font Awesome 6 Free"; font-weight: 900; }

/* Generic fallback for any unmapped design icons */
[class*="design-icon-"]:before {
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
}

/* Ensure icons are properly displayed */
.design-icon {
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", inherit;
    font-weight: 900;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Fix for empty design-icon- class - hide it completely */
.design-icon-:before {
    display: none !important;
}

/* Override the empty class when specific icon classes are present */
.design-icon-.design-icon-arrow-right:before,
.design-icon-.design-icon-arrow-left:before,
.design-icon-.design-icon-arrow-up:before,
.design-icon-.design-icon-arrow-down:before,
.design-icon-.design-icon-ring-bold:before,
.design-icon-.design-icon-check-fill-e:before {
    display: inline-block !important;
}

/* Ensure the specific icons still work with dual classes */
i.design-icon-.design-icon-arrow-right:before,
span.design-icon-.design-icon-arrow-right:before {
    content: "\f061" !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    display: inline-block !important;
}

i.design-icon-.design-icon-arrow-left:before,
span.design-icon-.design-icon-arrow-left:before {
    content: "\f060" !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    display: inline-block !important;
}

i.design-icon-.design-icon-ring-bold:before,
span.design-icon-.design-icon-ring-bold:before {
    content: "\f111" !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    display: inline-block !important;
}

i.design-icon-.design-icon-check-fill-e:before,
span.design-icon-.design-icon-check-fill-e:before {
    content: "\f058" !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    display: inline-block !important;
}

/* If FontAwesome is not available, use Unicode symbols as last resort */
@supports not (font-family: "Font Awesome 6 Free") {
    .design-icon-arrow-right:before { content: "→"; }
    .design-icon-arrow-left:before { content: "←"; }
    .design-icon-arrow-up:before { content: "↑"; }
    .design-icon-arrow-down:before { content: "↓"; }
    .design-icon-angle-right:before { content: "›"; }
    .design-icon-angle-left:before { content: "‹"; }
    .design-icon-search:before { content: "🔍"; }
    .design-icon-home:before { content: "🏠"; }
    .design-icon-user:before { content: "👤"; }
    .design-icon-envelope:before { content: "✉"; }
    .design-icon-phone:before { content: "📞"; }
    .design-icon-location:before { content: "📍"; }
    .design-icon-calendar:before { content: "📅"; }
    .design-icon-check:before { content: "✓"; }
    .design-icon-times:before { content: "✕"; }
    .design-icon-close:before { content: "✕"; }
    .design-icon-plus:before { content: "+"; }
    .design-icon-minus:before { content: "−"; }
    .design-icon-star:before { content: "★"; }
    .design-icon-star-o:before { content: "☆"; }
    .design-icon-heart:before { content: "♥"; }
    .design-icon-play-fill:before { content: "▶"; }
    .design-icon-eye:before { content: "👁"; }
    .design-icon-info-circle:before { content: "ℹ"; }
    .design-icon-question:before { content: "?"; }
    
    /* Healthcare and medical fallbacks */
    .design-icon-ring-bold:before { content: "●"; }
    .design-icon-check-fill-e:before { content: "✅"; }
    .design-icon-medical-cross:before { content: "⚕"; }
    .design-icon-heart-pulse:before { content: "💓"; }
    .design-icon-stethoscope:before { content: "🩺"; }
    .design-icon-pills:before { content: "💊"; }
    .design-icon-wheelchair:before { content: "♿"; }
    .design-icon-hospital:before { content: "🏥"; }
    .design-icon-ambulance:before { content: "🚑"; }
    .design-icon-user-md:before { content: "👨‍⚕️"; }
    .design-icon-nurse:before { content: "👩‍⚕️"; }
    
    /* Care and support fallbacks */
    .design-icon-hands-helping:before { content: "🤝"; }
    .design-icon-hand-holding-heart:before { content: "💝"; }
    .design-icon-shield-alt:before { content: "🛡"; }
    .design-icon-home-heart:before { content: "🏡"; }
    
    /* Activity and wellness fallbacks */
    .design-icon-walking:before { content: "🚶"; }
    .design-icon-dumbbell:before { content: "🏋"; }
    .design-icon-spa:before { content: "🧘"; }
    .design-icon-leaf:before { content: "🍃"; }
    
    /* Communication fallbacks */
    .design-icon-comments:before { content: "💬"; }
    .design-icon-phone-alt:before { content: "☎"; }
    .design-icon-video:before { content: "📹"; }
    
    /* Time and scheduling fallbacks */
    .design-icon-clock-o:before { content: "🕐"; }
    .design-icon-calendar-alt:before { content: "📅"; }
    .design-icon-schedule:before { content: "📋"; }
}