/* Font Awesome Fallback CSS */
/* This provides comprehensive icon styling when Font Awesome CDN fails */

/* Basic icon container styling */
.fa, .fas, .far, .fal, .fab {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    font-family: Arial, sans-serif;
    font-size: inherit;
    width: 1em;
    height: 1em;
    text-align: center;
}

/* Common icon fallbacks using Unicode symbols */
.fa-map-marker-alt::before { content: "📍"; }
.fa-globe::before { content: "🌍"; }
.fa-chart-line::before { content: "📈"; }
.fa-envelope::before { content: "✉️"; }
.fa-phone::before { content: "📞"; }
.fa-map-marker::before { content: "📍"; }
.fa-check-circle::before { content: "✅"; }
.fa-times-circle::before { content: "❌"; }
.fa-exclamation-triangle::before { content: "⚠️"; }
.fa-info-circle::before { content: "ℹ️"; }
.fa-search::before { content: "🔍"; }
.fa-bars::before { content: "☰"; }
.fa-times::before { content: "✕"; }
.fa-chevron-down::before { content: "▼"; }
.fa-chevron-up::before { content: "▲"; }
.fa-chevron-left::before { content: "◀"; }
.fa-chevron-right::before { content: "▶"; }
.fa-arrow-right::before { content: "→"; }
.fa-arrow-left::before { content: "←"; }
.fa-arrow-up::before { content: "↑"; }
.fa-arrow-down::before { content: "↓"; }
.fa-plus::before { content: "+"; }
.fa-minus::before { content: "−"; }
.fa-star::before { content: "★"; }
.fa-heart::before { content: "♥"; }
.fa-thumbs-up::before { content: "👍"; }
.fa-thumbs-down::before { content: "👎"; }
.fa-calendar::before { content: "📅"; }
.fa-clock::before { content: "🕐"; }
.fa-user::before { content: "👤"; }
.fa-users::before { content: "👥"; }
.fa-home::before { content: "🏠"; }
.fa-building::before { content: "🏢"; }
.fa-industry::before { content: "🏭"; }
.fa-truck::before { content: "🚚"; }
.fa-shipping-fast::before { content: "🚀"; }
.fa-box::before { content: "📦"; }
.fa-package::before { content: "📦"; }
.fa-tag::before { content: "🏷️"; }
.fa-tags::before { content: "🏷️"; }
.fa-shopping-cart::before { content: "🛒"; }
.fa-credit-card::before { content: "💳"; }
.fa-money-bill::before { content: "💰"; }
.fa-chart-bar::before { content: "📊"; }
.fa-chart-pie::before { content: "🥧"; }
.fa-percentage::before { content: "%"; }
.fa-percent::before { content: "%"; }
.fa-calculator::before { content: "🧮"; }
.fa-cog::before { content: "⚙️"; }
.fa-cogs::before { content: "⚙️"; }
.fa-tools::before { content: "🔧"; }
.fa-wrench::before { content: "🔧"; }
.fa-screwdriver::before { content: "🔩"; }
.fa-hammer::before { content: "🔨"; }
.fa-key::before { content: "🔑"; }
.fa-lock::before { content: "🔒"; }
.fa-unlock::before { content: "🔓"; }
.fa-shield-alt::before { content: "🛡️"; }
.fa-shield::before { content: "🛡️"; }
.fa-eye::before { content: "👁️"; }
.fa-eye-slash::before { content: "🙈"; }
.fa-camera::before { content: "📷"; }
.fa-video::before { content: "📹"; }
.fa-microphone::before { content: "🎤"; }
.fa-volume-up::before { content: "🔊"; }
.fa-volume-down::before { content: "🔉"; }
.fa-volume-mute::before { content: "🔇"; }
.fa-music::before { content: "🎵"; }
.fa-play::before { content: "▶️"; }
.fa-pause::before { content: "⏸️"; }
.fa-stop::before { content: "⏹️"; }
.fa-forward::before { content: "⏭️"; }
.fa-backward::before { content: "⏮️"; }
.fa-step-forward::before { content: "⏭️"; }
.fa-step-backward::before { content: "⏮️"; }
.fa-redo::before { content: "↻"; }
.fa-undo::before { content: "↺"; }
.fa-sync::before { content: "🔄"; }
.fa-sync-alt::before { content: "🔄"; }
.fa-download::before { content: "⬇️"; }
.fa-upload::before { content: "⬆️"; }
.fa-cloud-download-alt::before { content: "☁️⬇️"; }
.fa-cloud-upload-alt::before { content: "☁️⬆️"; }
.fa-file::before { content: "📄"; }
.fa-file-alt::before { content: "📄"; }
.fa-file-pdf::before { content: "📄"; }
.fa-file-word::before { content: "📄"; }
.fa-file-excel::before { content: "📊"; }
.fa-file-powerpoint::before { content: "📊"; }
.fa-folder::before { content: "📁"; }
.fa-folder-open::before { content: "📂"; }
.fa-save::before { content: "💾"; }
.fa-print::before { content: "🖨️"; }
.fa-edit::before { content: "✏️"; }
.fa-pencil-alt::before { content: "✏️"; }
.fa-trash::before { content: "🗑️"; }
.fa-trash-alt::before { content: "🗑️"; }
.fa-copy::before { content: "📋"; }
.fa-cut::before { content: "✂️"; }
.fa-paste::before { content: "📋"; }
.fa-clipboard::before { content: "📋"; }
.fa-clipboard-list::before { content: "📋"; }
.fa-list::before { content: "📝"; }
.fa-list-ul::before { content: "📝"; }
.fa-list-ol::before { content: "📝"; }
.fa-table::before { content: "📊"; }
.fa-columns::before { content: "📊"; }
.fa-sort::before { content: "↕️"; }
.fa-sort-up::before { content: "↑"; }
.fa-sort-down::before { content: "↓"; }
.fa-sort-alpha-down::before { content: "↓"; }
.fa-sort-alpha-up::before { content: "↑"; }
.fa-sort-numeric-down::before { content: "↓"; }
.fa-sort-numeric-up::before { content: "↑"; }
.fa-filter::before { content: "🔍"; }
.fa-search-plus::before { content: "🔍+"; }
.fa-search-minus::before { content: "🔍-"; }
.fa-expand::before { content: "⤢"; }
.fa-compress::before { content: "⤡"; }
.fa-expand-arrows-alt::before { content: "⤢"; }
.fa-compress-arrows-alt::before { content: "⤡"; }
.fa-external-link-alt::before { content: "🔗"; }
.fa-external-link::before { content: "🔗"; }
.fa-link::before { content: "🔗"; }
.fa-unlink::before { content: "🔗"; }
.fa-chain::before { content: "🔗"; }
.fa-chain-broken::before { content: "🔗"; }
.fa-qrcode::before { content: "📱"; }
.fa-barcode::before { content: "📱"; }
.fa-qr-code::before { content: "📱"; }
.fa-mobile-alt::before { content: "📱"; }
.fa-mobile::before { content: "📱"; }
.fa-tablet-alt::before { content: "📱"; }
.fa-tablet::before { content: "📱"; }
.fa-laptop::before { content: "💻"; }
.fa-desktop::before { content: "🖥️"; }
.fa-tv::before { content: "📺"; }
.fa-gamepad::before { content: "🎮"; }
.fa-headphones::before { content: "🎧"; }
.fa-speaker::before { content: "🔊"; }
.fa-battery-full::before { content: "🔋"; }
.fa-battery-three-quarters::before { content: "🔋"; }
.fa-battery-half::before { content: "🔋"; }
.fa-battery-quarter::before { content: "🔋"; }
.fa-battery-empty::before { content: "🔋"; }
.fa-plug::before { content: "🔌"; }
.fa-bolt::before { content: "⚡"; }
.fa-fire::before { content: "🔥"; }
.fa-sun::before { content: "☀️"; }
.fa-moon::before { content: "🌙"; }
.fa-cloud::before { content: "☁️"; }
.fa-cloud-sun::before { content: "⛅"; }
.fa-cloud-moon::before { content: "☁️🌙"; }
.fa-cloud-rain::before { content: "🌧️"; }
.fa-cloud-showers-heavy::before { content: "🌧️"; }
.fa-snowflake::before { content: "❄️"; }
.fa-umbrella::before { content: "☂️"; }
.fa-tshirt::before { content: "👕"; }
.fa-shoe-prints::before { content: "👣"; }
.fa-hand-paper::before { content: "✋"; }
.fa-hand-rock::before { content: "✊"; }
.fa-hand-scissors::before { content: "✌️"; }
.fa-hand-spock::before { content: "🖖"; }
.fa-thumbs-up::before { content: "👍"; }
.fa-thumbs-down::before { content: "👎"; }
.fa-hand-point-up::before { content: "☝️"; }
.fa-hand-point-down::before { content: "👇"; }
.fa-hand-point-left::before { content: "👈"; }
.fa-hand-point-right::before { content: "👉"; }
.fa-hand-middle-finger::before { content: "🖕"; }
.fa-hand-peace::before { content: "✌️"; }
.fa-handshake::before { content: "🤝"; }
.fa-pray::before { content: "🙏"; }
.fa-fist-raised::before { content: "✊"; }
.fa-fist::before { content: "✊"; }
.fa-fist-raised::before { content: "✊"; }
.fa-fist::before { content: "✊"; }

/* Social media icons */
.fa-facebook-f::before { content: "f"; font-weight: bold; }
.fa-facebook::before { content: "f"; font-weight: bold; }
.fa-twitter::before { content: "t"; font-weight: bold; }
.fa-x-twitter::before { content: "𝕏"; font-weight: bold; }
.fa-instagram::before { content: "📷"; }
.fa-linkedin-in::before { content: "in"; font-weight: bold; }
.fa-linkedin::before { content: "in"; font-weight: bold; }
.fa-youtube::before { content: "▶️"; }
.fa-tiktok::before { content: "♪"; }
.fa-snapchat-ghost::before { content: "👻"; }
.fa-whatsapp::before { content: "💬"; }
.fa-telegram::before { content: "✈️"; }
.fa-discord::before { content: "🎮"; }
.fa-reddit::before { content: "📱"; }
.fa-pinterest::before { content: "📌"; }
.fa-tumblr::before { content: "📝"; }
.fa-vimeo::before { content: "▶️"; }
.fa-spotify::before { content: "🎵"; }
.fa-apple::before { content: "🍎"; }
.fa-google::before { content: "G"; font-weight: bold; }
.fa-amazon::before { content: "📦"; }
.fa-microsoft::before { content: "M"; font-weight: bold; }
.fa-github::before { content: "🐙"; }
.fa-gitlab::before { content: "🦊"; }
.fa-bitbucket::before { content: "🪣"; }
.fa-stack-overflow::before { content: "📚"; }
.fa-wordpress::before { content: "W"; font-weight: bold; }
.fa-drupal::before { content: "D"; font-weight: bold; }
.fa-joomla::before { content: "J"; font-weight: bold; }
.fa-magento::before { content: "M"; font-weight: bold; }
.fa-opencart::before { content: "🛒"; }
.fa-paypal::before { content: "P"; font-weight: bold; }
.fa-stripe::before { content: "💳"; }
.fa-bitcoin::before { content: "₿"; }
.fa-ethereum::before { content: "Ξ"; }
.fa-cc-visa::before { content: "💳"; }
.fa-cc-mastercard::before { content: "💳"; }
.fa-cc-amex::before { content: "💳"; }
.fa-cc-discover::before { content: "💳"; }
.fa-cc-paypal::before { content: "💳"; }
.fa-cc-stripe::before { content: "💳"; }

/* Generic fallback for any unmapped icons */
.fa::before, .fas::before, .far::before, .fal::before, .fab::before {
    content: "●";
}

/* Icon sizing */
.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; }

/* Icon spacing */
.fa-fw { width: 1.25em; text-align: center; }
.fa-ul { list-style-type: none; margin-left: 2.5em; }
.fa-ul > li { position: relative; }
.fa-li { position: absolute; left: -2em; width: 2em; text-align: center; line-height: inherit; }

/* Icon rotation and flipping */
.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 { transform: scale(-1, -1); }

/* Icon stacking */
.fa-stack { display: inline-block; height: 2em; line-height: 2em; position: relative; vertical-align: middle; width: 2em; }
.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; }

/* Icon colors */
.fa-primary { color: #007bff; }
.fa-secondary { color: #6c757d; }
.fa-success { color: #28a745; }
.fa-danger { color: #dc3545; }
.fa-warning { color: #ffc107; }
.fa-info { color: #17a2b8; }
.fa-light { color: #f8f9fa; }
.fa-dark { color: #343a40; }

/* Animation for loading states */
@keyframes fa-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.fa-spin { animation: fa-spin 2s linear infinite; }
.fa-pulse { animation: fa-spin 1s steps(8) infinite; }

/* Ensure icons are visible even when Font Awesome fails */
.fa, .fas, .far, .fal, .fab {
    visibility: visible !important;
    opacity: 1 !important;
}

/* Force display for critical icons */
.fa-map-marker-alt, .fa-globe, .fa-chart-line, .fa-envelope, .fa-phone,
.fa-facebook-f, .fa-x-twitter, .fa-instagram, .fa-linkedin-in {
    display: inline-block !important;
    visibility: visible !important;
}
