/*!
 * Font Awesome Local Backup - Comprehensive Fallback
 * If CDN fails, these CSS classes provide fallback icons using Unicode
 * Covers all icons used across DREAM JOURNEY TRAVEL
 */

/* ===== BASE FALLBACK STYLING ===== */
.fas, .far, .fab {
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  speak: never;
  line-height: 1;
  font-weight: 900;
}
.far { font-weight: 400; }
.fab { font-weight: 400; }

/* ===== BRAND ICONS ===== */
.fab.fa-whatsapp::before { content: "W"; color: #25D366; font-weight: 700; font-family: sans-serif; }
.fab.fa-facebook::before { content: "f"; color: #1877F2; font-weight: 700; font-family: sans-serif; }
.fab.fa-instagram::before { content: "\272A"; color: #E4405F; }
.fab.fa-twitter::before { content: "t"; color: #1DA1F2; font-weight: 700; font-family: sans-serif; }
.fab.fa-youtube::before { content: "\25B6"; color: #FF0000; }
.fab.fa-tiktok::before { content: "T"; font-weight: 700; font-family: sans-serif; }
.fab.fa-snapchat::before { content: "S"; color: #FFFC00; font-weight: 700; font-family: sans-serif; }

/* ===== CONTACT ICONS ===== */
.fas.fa-phone::before, .fas.fa-phone-alt::before { content: "\260E"; }
.fas.fa-envelope::before { content: "\2709"; }
.fas.fa-map-marker::before, .fas.fa-map-marker-alt::before, .fas.fa-location-dot::before { content: "\2726"; }
.fas.fa-clock::before { content: "\23F0"; }

/* ===== NAVIGATION ICONS ===== */
.fas.fa-home::before { content: "\2302"; }
.fas.fa-user::before { content: "\263A"; }
.fas.fa-bars::before { content: "\2630"; }
.fas.fa-times::before, .fas.fa-xmark::before { content: "\2715"; }
.fas.fa-arrow-right::before { content: "\2192"; }
.fas.fa-arrow-left::before { content: "\2190"; }
.fas.fa-arrow-up::before { content: "\2191"; }
.fas.fa-arrow-down::before { content: "\2193"; }
.fas.fa-chevron-down::before { content: "\25BC"; }
.fas.fa-chevron-up::before { content: "\25B2"; }
.fas.fa-chevron-left::before { content: "\25C0"; }
.fas.fa-chevron-right::before { content: "\25B6"; }

/* ===== SERVICE/TRAVEL ICONS ===== */
.fas.fa-plane::before, .fas.fa-plane-departure::before, .fas.fa-plane-arrival::before { content: "\2708"; }
.fas.fa-ship::before { content: "\25B2"; }
.fas.fa-car::before, .fas.fa-taxi::before { content: "\25B6"; }
.fas.fa-route::before { content: "\21AA"; }
.fas.fa-calendar::before, .fas.fa-calendar-check::before, .fas.fa-calendar-alt::before { content: "\25A0"; }
.fas.fa-suitcase::before, .fas.fa-briefcase::before { content: "\25A1"; }
.fas.fa-globe::before { content: "\25CC"; }
.fas.fa-umbrella-beach::before { content: "\2601"; }
.fas.fa-building::before { content: "\25A2"; }
.fas.fa-water::before { content: "\2248"; }
.fas.fa-gopuram::before, .fas.fa-landmark::before { content: "\25C6"; }
.fas.fa-sun::before { content: "\2600"; }
.fas.fa-moon::before { content: "\263D"; }
.fas.fa-flag-checkered::before { content: "\2691"; }
.fas.fa-map-pin::before { content: "\25CF"; }

/* ===== UI / UTILITY ICONS ===== */
.fas.fa-star::before { content: "\2605"; }
.far.fa-star::before { content: "\2606"; }
.fas.fa-check::before, .fas.fa-check-circle::before { content: "\2713"; }
.fas.fa-info::before, .fas.fa-info-circle::before { content: "\2139"; }
.fas.fa-exclamation::before, .fas.fa-exclamation-circle::before, .fas.fa-exclamation-triangle::before { content: "!"; }
.fas.fa-search::before, .fas.fa-magnifying-glass::before { content: "\2315"; }
.fas.fa-heart::before { content: "\2665"; }
.fas.fa-share::before, .fas.fa-share-alt::before { content: "\2197"; }
.fas.fa-play::before { content: "\25B6"; }
.fas.fa-pause::before { content: "\23F8"; }
.fas.fa-stop::before { content: "\25A0"; }
.fas.fa-music::before { content: "\266A"; }
.fas.fa-volume-up::before, .fas.fa-volume-high::before { content: "\266C"; }
.fas.fa-volume-mute::before, .fas.fa-volume-off::before { content: "\25A1"; }
.fas.fa-paper-plane::before { content: "\27A4"; }
.fas.fa-quote-left::before { content: "\201C"; }
.fas.fa-quote-right::before { content: "\201D"; }
.fas.fa-undo::before { content: "\21BA"; }
.fas.fa-redo::before { content: "\21BB"; }

/* ===== ADMIN / DASHBOARD ICONS ===== */
.fas.fa-tachometer-alt::before { content: "\25A0"; }
.fas.fa-map-marked-alt::before { content: "\2726"; }
.fas.fa-images::before, .fas.fa-image::before, .fas.fa-picture-o::before { content: "\25A1"; }
.fas.fa-file-alt::before, .fas.fa-file::before { content: "\25A2"; }
.fas.fa-users::before { content: "\263A"; }
.fas.fa-cog::before, .fas.fa-cogs::before { content: "\2699"; }
.fas.fa-user-shield::before { content: "\26A1"; }
.fas.fa-sign-out-alt::before { content: "\2192"; }
.fas.fa-edit::before, .fas.fa-pen::before { content: "\270E"; }
.fas.fa-trash::before, .fas.fa-trash-alt::before { content: "\2421"; }
.fas.fa-eye::before { content: "\25CF"; }
.fas.fa-key::before { content: "\26BF"; }
.fas.fa-save::before { content: "\2713"; }
.fas.fa-plus::before { content: "+"; }
.fas.fa-sync::before, .fas.fa-sync-alt::before, .fas.fa-rotate::before { content: "\27F3"; }
.fas.fa-filter::before { content: "\25A0"; }
.fas.fa-download::before { content: "\2193"; }
.fas.fa-upload::before { content: "\2191"; }
.fas.fa-print::before { content: "\2399"; }
.fas.fa-copy::before { content: "\25A2"; }

/* ===== FORM / TEXT EDITOR ICONS ===== */
.fas.fa-bold::before { content: "B"; font-weight: 700; font-family: sans-serif; }
.fas.fa-italic::before { content: "I"; font-style: italic; font-family: serif; }
.fas.fa-underline::before { content: "U"; text-decoration: underline; font-family: sans-serif; }
.fas.fa-list::before { content: "\2630"; }
.fas.fa-list-ol::before { content: "\2460"; }
.fas.fa-link::before { content: "\2194"; }
.fas.fa-unlink::before { content: "\2297"; }
.fas.fa-code::before { content: "\2039"; }

/* ===== ARROWS / DIRECTIONS ===== */
.fas.fa-angle-down::before { content: "\25BC"; }
.fas.fa-angle-up::before { content: "\25B2"; }
.fas.fa-angle-left::before { content: "\25C0"; }
.fas.fa-angle-right::before { content: "\25B6"; }
.fas.fa-long-arrow-alt-right::before { content: "\2192"; }
.fas.fa-long-arrow-alt-left::before { content: "\2190"; }
.fas.fa-long-arrow-alt-up::before { content: "\2191"; }
.fas.fa-long-arrow-alt-down::before { content: "\2193"; }

/* ===== MISC ICONS ===== */
.fas.fa-shopping-cart::before, .fas.fa-cart-shopping::before { content: "\25A1"; }
.fas.fa-bell::before { content: "\25CE"; }
.fas.fa-credit-card::before { content: "\25A2"; }
.fas.fa-wallet::before { content: "\25A1"; }
.fas.fa-tag::before { content: "\25A0"; }
.fas.fa-tags::before { content: "\25A0\25A0"; }
.fas.fa-bookmark::before { content: "\25A1"; }
.fas.fa-thumbs-up::before { content: "\261D"; }
.fas.fa-comment::before, .fas.fa-comments::before { content: "\25A0"; }
.fas.fa-robot::before { content: "\25A2"; }
.fas.fa-brain::before { content: "\25CF"; }
.fas.fa-sparkles::before { content: "\2728"; }
.fas.fa-wand-magic-sparkles::before { content: "\2727"; }

/* ===== SOCIAL / EXTERNAL ===== */
.fas.fa-external-link-alt::before { content: "\2197"; }
.fas.fa-linkedin::before { content: "in"; font-weight: 700; font-family: sans-serif; }

/* ===== CURRENCY / PAYMENT ===== */
.fas.fa-money-bill::before, .fas.fa-money-bill-wave::before { content: "$"; }
.fas.fa-coins::before { content: "\25CF"; }

/* ===== SIZE FIXES FOR FALLBACK ===== */
.fas.fa-lg { font-size: 1.33333em; line-height: 0.75em; vertical-align: -0.0667em; }
.fas.fa-xs { font-size: 0.75em; }
.fas.fa-sm { font-size: 0.875em; }
.fas.fa-1x { font-size: 1em; }
.fas.fa-2x { font-size: 2em; }
.fas.fa-3x { font-size: 3em; }
.fas.fa-4x { font-size: 4em; }
.fas.fa-5x { font-size: 5em; }
.fas.fa-6x { font-size: 6em; }
.fas.fa-7x { font-size: 7em; }
.fas.fa-8x { font-size: 8em; }
.fas.fa-9x { font-size: 9em; }
.fas.fa-10x { font-size: 10em; }

/* Icon container fallback */
.icon-fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
}
