/*
 * FontAwesome 5 → Bootstrap Icons shim
 * Replaces the external FA CDN with locally-served icons.
 * Only maps the subset of FA icons actually used on this site.
 * Font: Bootstrap Icons (already self-hosted at assets/vendor/bootstrap-icons/)
 */

@font-face {
    font-family: "bootstrap-icons-fa";
    src: url("../bootstrap-icons/fonts/bootstrap-icons.woff2") format("woff2"),
         url("../bootstrap-icons/fonts/bootstrap-icons.woff") format("woff");
    font-display: swap;
}

.fas, .far, .fab {
    display: inline-block;
    font-family: "bootstrap-icons-fa" !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Icon mappings — FA class → BI codepoint */
.fa-bars::before          { content: "\f479"; } /* bi-list */
.fa-user::before          { content: "\f4e1"; } /* bi-person */
.fa-lock::before          { content: "\f47b"; } /* bi-lock */
.fa-envelope::before      { content: "\f32f"; } /* bi-envelope */
.fa-edit::before          { content: "\f4cb"; } /* bi-pencil */
.fa-pencil-alt::before    { content: "\f4cb"; } /* bi-pencil */
.fa-calendar-alt::before  { content: "\f1e8"; } /* bi-calendar-event */
.fa-users::before         { content: "\f4d0"; } /* bi-people */
.fa-trash-alt::before     { content: "\f5de"; } /* bi-trash */
.fa-trash::before         { content: "\f5de"; } /* bi-trash */
.fa-eye::before           { content: "\f341"; } /* bi-eye */
.fa-check-circle::before  { content: "\f26b"; } /* bi-check-circle */
.fa-map-marker-alt::before { content: "\f3e8"; } /* bi-geo-alt */
.fa-phone-alt::before     { content: "\f5c1"; } /* bi-telephone */
.fa-phone::before         { content: "\f5c1"; } /* bi-telephone */
.fa-hands-helping::before { content: "\f407"; } /* bi-hand-thumbs-up */
.fa-credit-card::before   { content: "\f2dc"; } /* bi-credit-card */
.fa-receipt::before       { content: "\f50f"; } /* bi-receipt */
.fa-calendar-plus::before { content: "\f1ef"; } /* bi-calendar-plus */
.fa-thumbs-up::before     { content: "\f407"; } /* bi-hand-thumbs-up */
.fa-thumbs-down::before   { content: "\f405"; } /* bi-hand-thumbs-down */
.fa-heart::before         { content: "\f417"; } /* bi-heart */
.fa-home::before          { content: "\f425"; } /* bi-house */
.fa-cog::before           { content: "\f3f1"; } /* bi-gear */
.fa-sign-out-alt::before  { content: "\f52a"; } /* bi-box-arrow-right */
.fa-plus::before          { content: "\f4fe"; } /* bi-plus */
.fa-minus::before         { content: "\f49a"; } /* bi-dash */
.fa-times::before         { content: "\f62a"; } /* bi-x */
.fa-check::before         { content: "\f26e"; } /* bi-check */
.fa-search::before        { content: "\f52a"; } /* bi-search */
.fa-info-circle::before   { content: "\f431"; } /* bi-info-circle */
.fa-exclamation-triangle::before { content: "\f33b"; } /* bi-exclamation-triangle */
