/**
 * Icon portability layer — Phase 3C, Part 13.
 *
 * Loaded ONLY when no Font Awesome stylesheet is registered on the install. On a site that has one
 * (ListingPro/Elementor ship font-awesome.min.css) this file is never enqueued and the real glyphs
 * are used.
 *
 * WHY IT EXISTS
 * -------------
 * This plugin renders eleven Font Awesome 4 glyphs of its own. The commercial product must work on a
 * clean WordPress + WooCommerce install, where nothing registers Font Awesome — so without this file
 * those eleven <i> elements resolve to no font and render as empty boxes.
 *
 * ONE INTERNAL SOURCE, NO SECOND LIBRARY
 * --------------------------------------
 * The substitute is Dashicons, which ships with WordPress core and is already enqueued globally by
 * the theme. No icon library is added, nothing is bundled, and no CDN is contacted. Every codepoint
 * below was read out of wp-includes/css/dashicons.css rather than copied from documentation.
 *
 * These are DELIBERATELY approximations, not a claim of equivalence. Dashicons has no WhatsApp mark,
 * so fa-whatsapp borrows the chat glyph: a recognisable "messaging" icon is a better outcome than an
 * empty square, and inventing a brand mark would be worse than either. Where a true counterpart
 * exists (phone, lock, tag, calendar) the mapping is exact.
 *
 * The markup is untouched. Fixing this by editing eleven templates would leave the next `fa` class
 * somebody adds broken again; fixing it at the font level means the pipeline is correct.
 */

/*
 * Scoped to the .fa base class this plugin actually emits, so a THIRD-PARTY plugin that later loads
 * real Font Awesome is unaffected — its own stylesheet would win on load order and this file would
 * not have been enqueued at all.
 */
.fa {
    /* stylelint-disable-next-line font-family-no-missing-generic-family-keyword */
    font-family: dashicons;
    display: inline-block;
    width: 1em;
    height: 1em;
    line-height: 1;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    vertical-align: middle;
    text-decoration: none;
}

/* Exact counterparts. */
.fa.fa-phone:before             { content: "\f525"; }  /* dashicons-phone        */
.fa.fa-envelope:before          { content: "\f465"; }  /* dashicons-email        */
.fa.fa-lock:before              { content: "\f160"; }  /* dashicons-lock         */
.fa.fa-check:before             { content: "\f147"; }  /* dashicons-yes          */
.fa.fa-times:before             { content: "\f335"; }  /* dashicons-no-alt       */
.fa.fa-tags:before              { content: "\f323"; }  /* dashicons-tag          */
.fa.fa-bar-chart:before         { content: "\f185"; }  /* dashicons-chart-bar    */
.fa.fa-calendar-check-o:before  { content: "\f508"; }  /* dashicons-calendar-alt */
.fa.fa-comments:before          { content: "\f125"; }  /* dashicons-format-chat  */

/* Approximations — no exact Dashicon exists. */
.fa.fa-rocket:before            { content: "\f311"; }  /* dashicons-performance  */
.fa.fa-whatsapp:before          { content: "\f125"; }  /* dashicons-format-chat  */

/*
 * Any OTHER fa-* class this plugin gains in future, or that arrives from a legacy template, still has
 * no glyph. It renders as nothing rather than as a box glyph or a wrong icon: an absent icon reads as
 * a layout gap, while a wrong one actively misinforms.
 */
