/*!
 * Font Awesome Minimal Build - Only Used Icons
 * Original: 82KB → Optimized: 3KB (96% reduction)
 * Icons: arrow-left, arrow-right, arrow-right-long, chevron-right, caret-left, plus, minus, x, phone, location-dot, envelope, facebook-f, twitter, linkedin-in, instagram, youtube
 * Updated: 2025-08-19 with arrow-left icon
 */

/* Core FontAwesome Classes */
.fa, .fa-solid, .fas {
    font-family: var(--fa-style-family, "Font Awesome 6 Free");
    font-weight: var(--fa-style, 900);
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: var(--fa-display, inline-block);
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
}

/* Brand Icons */
.fa-brands, .fab {
    font-family: "Font Awesome 6 Brands";
    font-weight: 400;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: var(--fa-display, inline-block);
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
}

/* Size Classes (commonly used) */
.fa-xs { font-size: 0.75em; line-height: 0.08333em; vertical-align: 0.125em; }
.fa-sm { font-size: 0.875em; line-height: 0.07143em; vertical-align: 0.05357em; }
.fa-lg { font-size: 1.25em; line-height: 0.05em; vertical-align: -0.075em; }
.fa-xl { font-size: 1.5em; line-height: 0.04167em; vertical-align: -0.125em; }
.fa-2xl { font-size: 2em; line-height: 0.03125em; vertical-align: -0.1875em; }

/* Icon Definitions - Only Used Icons */
.fa-arrow-left:before, .fas.fa-arrow-left:before { content: "\f060"; }
.fa-arrow-right:before { content: "\f061"; }
.fa-arrow-right-long:before, .fa-long-arrow-right:before { content: "\f178"; }
.fa-chevron-right:before { content: "\f054"; }
.fa-caret-left:before { content: "\f0d9"; }
.fa-plus:before, .fa-add:before, .fas.fa-plus:before { content: "\2b"; }
.fa-minus:before, .fa-subtract:before, .fas.fa-minus:before { content: "\f068"; }
.fa-x:before, .fa-xmark:before, .fa-close:before, .fa-multiply:before, .fa-remove:before, .fa-times:before { content: "\f00d"; }
.fa-phone:before, .fa-solid.fa-phone:before { content: "\f095"; }
.fa-location-dot:before, .fa-solid.fa-location-dot:before { content: "\f3c5"; }

/* Social Media Icons */
.fa-envelope:before, .fa-solid.fa-envelope:before { content: "\f0e0"; }
.fa-facebook-f:before, .fa-brands.fa-facebook-f:before { content: "\f39e"; }
.fa-twitter:before { content: "\f099"; }
.fa-linkedin-in:before { content: "\f0e1"; }
.fa-instagram:before { content: "\f16d"; }
.fa-youtube:before, .fa-brands.fa-youtube:before { content: "\f167"; }

/* Font Face - Solid Icons with multiple CDN fallbacks */
@font-face {
    font-family: "Font Awesome 6 Free";
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/webfonts/fa-solid-900.woff2") format("woff2"),
         url("https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.4.0/webfonts/fa-solid-900.woff2") format("woff2"),
         url("https://use.fontawesome.com/releases/v6.4.0/webfonts/fa-solid-900.woff2") format("woff2");
}

/* Font Face - Brand Icons with multiple CDN fallbacks */
@font-face {
    font-family: "Font Awesome 6 Brands";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/webfonts/fa-brands-400.woff2") format("woff2"),
         url("https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.4.0/webfonts/fa-brands-400.woff2") format("woff2"),
         url("https://use.fontawesome.com/releases/v6.4.0/webfonts/fa-brands-400.woff2") format("woff2");
}

/* CSS Variables */
:host, :root {
    --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";
    --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";
}

/* Accessibility */
.fa-sr-only, .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* Debug: Fallback for when fonts fail to load */
.fa:before, .fas:before, .fa-solid:before, .fab:before, .fa-brands:before {
    /* If fonts don't load, at least show some indication */
    background-color: transparent;
}

/* Ensure icons have proper spacing */
.fa, .fas, .fa-solid, .fab, .fa-brands {
    min-width: 1em;
    text-align: center;
}
