/* ═══════════════════════════════════════════════════
   ulu-formel — Unified Google Font System
   Consolidated Outfit & Material Symbols
   Replacement for Font Awesome 
   Aesthetics: Clean, Premium, Cohesive
═══════════════════════════════════════════════════ */

/* Font Loading */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200');

/* Global Font Override */
:root {
    --font-main: 'Outfit', sans-serif;
}

body {
    font-family: var(--font-main) !important;
}

/* Icon Shim for Font Awesome Legacy */
.fas,
.far,
.fab,
.fa,
[class*="fa-"] {
    font-family: 'Material Symbols Outlined' !important;
    font-weight: normal;
    font-style: normal;
    font-size: 1.25em;
    /* Adjusted for material symbols matching text size */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    vertical-align: middle;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
}

/* Remove default FA after/before */
.fas::before,
.far::before,
.fab::before,
.fa::before,
.fas::after,
.far::after,
.fab::after,
.fa::after {
    content: '' !important;
    display: none !important;
}

/* Use Inner Text as Ligature if provided, or fallback to class mapping */
/* Mapping common Font Awesome classes to Material Symbols */
/* We use the content property on the element itself or a pseudo element if preferred */
/* Legatures approach: we will use pseudo-elements to inject the iconic name */

.fas::after,
.far::after,
.fab::after,
.fa::after {
    display: inline-block !important;
    content: '';
    /* Placeholder */
}

/* Mapper */
.fa-th-large::after {
    content: 'grid_view' !important;
}

.fa-graduation-cap::after {
    content: 'school' !important;
}

.fa-video::after {
    content: 'videocam' !important;
}

.fa-tags::after {
    content: 'label' !important;
}

.fa-users::after {
    content: 'group' !important;
}

.fa-shield-alt::after {
    content: 'shield' !important;
}

.fa-wallet::after {
    content: 'account_balance_wallet' !important;
}

.fa-comment-dots::after {
    content: 'forum' !important;
}

.fa-bell::after {
    content: 'notifications' !important;
}

.fa-chevron-down::after {
    content: 'expand_more' !important;
}

.fa-chevron-right::after {
    content: 'chevron_right' !important;
}

.fa-chevron-left::after {
    content: 'chevron_left' !important;
}

.fa-user-circle::after {
    content: 'account_circle' !important;
}

.fa-sign-out-alt::after {
    content: 'logout' !important;
}

.fa-bars::after {
    content: 'menu' !important;
}

.fa-search::after {
    content: 'search' !important;
}

.fa-plus::after {
    content: 'add' !important;
}

.fa-pencil-alt::after {
    content: 'edit' !important;
}

.fa-trash-alt::after {
    content: 'delete' !important;
}

.fa-check-circle::after {
    content: 'check_circle' !important;
}

.fa-play-circle::after {
    content: 'play_circle' !important;
}

.fa-envelope::after {
    content: 'mail' !important;
}

.fa-history::after {
    content: 'history' !important;
}

.fa-user-plus::after {
    content: 'person_add' !important;
}

.fa-home::after {
    content: 'home' !important;
}

.fa-book::after {
    content: 'book' !important;
}

.fa-clock::after {
    content: 'schedule' !important;
}

.fa-user::after {
    content: 'person' !important;
}

.fa-lock::after {
    content: 'lock' !important;
}

.fa-check::after {
    content: 'check' !important;
}

.fa-camera::after {
    content: 'photo_camera' !important;
}

.fa-info-circle::after {
    content: 'info' !important;
}

.fa-copy::after {
    content: 'content_copy' !important;
}

.fa-cog::after {
    content: 'settings' !important;
}

.fa-tag::after {
    content: 'label' !important;
}

.fa-folder-open::after {
    content: 'folder_open' !important;
}

.fa-hashtag::after {
    content: 'tag' !important;
}

.fa-image::after {
    content: 'image' !important;
}

.fa-satellite-dish::after {
    content: 'settings_input_antenna' !important;
}

.fa-play::after {
    content: 'play_arrow' !important;
}

.fa-edit::after {
    content: 'edit' !important;
}

.fa-ellipsis-v::after {
    content: 'more_vert' !important;
}

.fa-external-link-alt::after {
    content: 'open_in_new' !important;
}

.fa-book-open::after {
    content: 'menu_book' !important;
}

.fa-user-graduate::after {
    content: 'school' !important;
}

.fa-paper-plane::after {
    content: 'send' !important;
}

.fa-times::after {
    content: 'close' !important;
}

.fa-instagram::after {
    content: 'camera_alt' !important;
}

.fa-facebook::after {
    content: 'facebook' !important;
}

.fa-twitter::after {
    content: 'palk' !important;
}

.fa-youtube::after {
    content: 'video_library' !important;
}

.fa-broadcast-tower::after {
    content: 'settings_input_antenna' !important;
}

.fa-square-root-variable::after {
    content: 'functions' !important;
}

.fa-gift::after {
    content: 'featured_seasonal' !important;
}

.fa-book-reader::after {
    content: 'menu_book' !important;
}

.fa-list-ul::after {
    content: 'list' !important;
}

.fa-bell-slash::after {
    content: 'notifications_off' !important;
}

.fa-euro-sign::after {
    content: 'euro' !important;
}

.fa-chart-line::after {
    content: 'trending_up' !important;
}

.fa-arrow-right::after {
    content: 'arrow_forward' !important;
}

.fa-arrow-left::after {
    content: 'arrow_back' !important;
}

.fa-lightbulb::after {
    content: 'lightbulb' !important;
}

.fa-circle::after {
    content: 'circle' !important;
}

.fa-phone-alt::after {
    content: 'call' !important;
}

.fa-comments::after {
    content: 'forum' !important;
}

.fa-comment-slash::after {
    content: 'forum' !important;
}

.fa-check-double::after {
    content: 'done_all' !important;
}

.fa-key::after {
    content: 'vpn_key' !important;
}

.fa-ban::after {
    content: 'block' !important;
}

.fa-cookie-bite::after {
    content: 'cookie' !important;
}

.fa-exclamation-circle::after {
    content: 'error' !important;
}

.fa-print::after {
    content: 'print' !important;
}

.fa-rotate-left::after {
    content: 'replay' !important;
}

.fa-gear::after {
    content: 'settings' !important;
}

.fa-microchip::after {
    content: 'memory' !important;
}

.fa-code::after {
    content: 'code' !important;
}