/* Free Icon Replacements using Google Material Icons */
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap');

/* Base icon styles */
[class*=" unicon-"],[class^=unicon-] {
    font-family: 'Material Symbols Outlined' !important;
    font-weight: normal;
    font-style: normal;
    font-size: inherit;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
}

/* Essential Icons for the missing functionality */
.unicon-close:before { content: "close"; }
.unicon-search:before { content: "search"; }
.unicon-menu:before { content: "menu"; }
.unicon-arrow-up:before { content: "keyboard_arrow_up"; }
.unicon-arrow-down:before { content: "keyboard_arrow_down"; }
.unicon-arrow-left:before { content: "keyboard_arrow_left"; }
.unicon-arrow-right:before { content: "keyboard_arrow_right"; }
.unicon-arrow-up-right:before { content: "north_east"; }
.unicon-back-to-top:before { content: "keyboard_double_arrow_up"; }
.unicon-chevron-up:before { content: "expand_less"; }
.unicon-chevron-down:before { content: "expand_more"; }
.unicon-chevron-left:before { content: "chevron_left"; }
.unicon-chevron-right:before { content: "chevron_right"; }

/* Dark mode toggle icons */
.unicon-sun:before { content: "light_mode"; }
.unicon-light:before { content: "light_mode"; }
.unicon-light-filled:before { content: "light_mode"; }
.unicon-brightness-contrast:before { content: "contrast"; }

/* Social and common icons */
.unicon-logo-facebook:before { content: "facebook"; }
.unicon-logo-twitter:before { content: ""; }
.unicon-logo-instagram:before { content: ""; }
.unicon-logo-linkedin:before { content: ""; }
.unicon-logo-youtube:before { content: ""; }
.unicon-logo-google:before { content: ""; }
.unicon-email:before { content: "email"; }
.unicon-phone:before { content: "phone"; }

/* Common UI icons */
.unicon-home:before { content: "home"; }
.unicon-user:before { content: "person"; }
.unicon-settings:before { content: "settings"; }
.unicon-shopping-cart:before { content: "shopping_cart"; }
.unicon-heart:before { content: "favorite"; }
.unicon-star:before { content: "star"; }
.unicon-star-filled:before { content: "star"; }
.unicon-bookmark:before { content: "bookmark"; }
.unicon-share:before { content: "share"; }
.unicon-download:before { content: "download"; }
.unicon-upload:before { content: "upload"; }
.unicon-edit:before { content: "edit"; }
.unicon-delete:before { content: "delete"; }
.unicon-add:before { content: "add"; }
.unicon-subtract:before { content: "remove"; }
.unicon-checkmark:before { content: "check"; }
.unicon-error:before { content: "error"; }
.unicon-warning:before { content: "warning"; }
.unicon-information:before { content: "info"; }
.unicon-help:before { content: "help"; }
.unicon-play:before { content: "play_arrow"; }
.unicon-pause:before { content: "pause"; }
.unicon-stop:before { content: "stop"; }
.unicon-volume-up:before { content: "volume_up"; }
.unicon-calendar:before { content: "calendar_today"; }
.unicon-clock:before { content: "schedule"; }
.unicon-time:before { content: "schedule"; }
.unicon-location:before { content: "location_on"; }
.unicon-globe:before { content: "public"; }
.unicon-link:before { content: "link"; }
.unicon-folder:before { content: "folder"; }
.unicon-document:before { content: "description"; }
.unicon-image:before { content: "image"; }
.unicon-video:before { content: "videocam"; }
.unicon-microphone:before { content: "mic"; }
.unicon-camera:before { content: "photo_camera"; }
.unicon-print:before { content: "print"; }
.unicon-filter:before { content: "filter_list"; }
.unicon-sort:before { content: "sort"; }
.unicon-grid:before { content: "grid_view"; }
.unicon-list:before { content: "list"; }
.unicon-view:before { content: "visibility"; }
.unicon-view-off:before { content: "visibility_off"; }
.unicon-locked:before { content: "lock"; }
.unicon-unlocked:before { content: "lock_open"; }

/* Fallback for any unmatched icons */
[class*="unicon-"]:not([class*="unicon-close"]):not([class*="unicon-search"]):not([class*="unicon-menu"]):not([class*="unicon-arrow"]):not([class*="unicon-back-to-top"]):not([class*="unicon-chevron"]):not([class*="unicon-sun"]):not([class*="unicon-light"]):not([class*="unicon-brightness"]):before {
    content: ""; /* Empty fallback for missing icons */
    opacity: 0.5;
}

/* Dark mode toggle should show icons properly */
.darkmode-trigger {
    position: relative;
}

.darkmode-trigger:before {
    content: "light_mode";
    font-family: 'Material Symbols Outlined';
    font-size: 20px;
    line-height: 1;
}

/* Dark mode active state */
.uc-dark .darkmode-trigger:before {
    content: "dark_mode";
}

/* Back to top button styling */
[data-uc-backtotop] {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    background: #000;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 999;
}

[data-uc-backtotop].uc-active {
    opacity: 1;
    visibility: visible;
}

[data-uc-backtotop]:before {
    content: "keyboard_arrow_up";
    font-family: 'Material Symbols Outlined';
    font-size: 24px;
    line-height: 1;
}

.dark [data-uc-backtotop] {
    background: #fff;
    color: #000;
}