/*!
 * FontAwesome Alignment Fixes for Presense
 * Custom CSS overrides to fix vertical/horizontal alignment issues
 */

/* Fix base icon alignment */
.fa,.fa-brands,.fa-chisel,.fa-classic,.fa-duotone,.fa-etch,.fa-jelly,.fa-jelly-duo,.fa-jelly-fill,.fa-light,.fa-notdog,.fa-notdog-duo,.fa-regular,.fa-semibold,.fa-sharp,.fa-sharp-duotone,.fa-slab,.fa-slab-press,.fa-solid,.fa-thin,.fa-thumbprint,.fa-whiteboard,.fab,.facr,.fad,.fadl,.fadr,.fadt,.faes,.fajdr,.fajfr,.fajr,.fal,.fands,.fans,.far,.fas,.fasdl,.fasdr,.fasds,.fasdt,.fasl,.faslpr,.faslr,.fasr,.fass,.fast,.fat,.fatl,.fawsb {
    /* Better vertical alignment */
    line-height: inherit !important;
    vertical-align: baseline !important;
    
    /* Ensure proper centering */
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    
    /* Maintain icon dimensions */
    width: auto !important;
    height: auto !important;
    
    /* Font smoothing for crisp icons */
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Fix for smaller icons */
.fa-xs, .fa-sm {
    vertical-align: 0.125em !important;
}

/* Fix for larger icons */
.fa-lg, .fa-xl, .fa-2xl {
    vertical-align: -0.075em !important;
}

/* Sidebar specific fixes */
.sidebar .fa,
.sidebar .fas,
.sidebar .far,
.sidebar .fal,
.sidebar .fab,
nav .fa,
nav .fas,
nav .far,
nav .fal,
nav .fab,
[data-sidebar] .fa,
[data-sidebar] .fas,
[data-sidebar] .far,
[data-sidebar] .fal,
[data-sidebar] .fab {
    /* Perfect vertical centering for navigation */
    line-height: 1 !important;
    vertical-align: middle !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    
    /* Adjust positioning slightly */
    position: relative !important;
    top: 0 !important;
}

/* Button icon alignment */
button .fa,
button .fas,
button .far,
button .fal,
button .fab,
.btn .fa,
.btn .fas,
.btn .far,
.btn .fal,
.btn .fab {
    line-height: 1 !important;
    vertical-align: middle !important;
    margin-right: 0.375em !important;
}

/* Last icon in button - no right margin */
button .fa:last-child,
button .fas:last-child,
button .far:last-child,
button .fal:last-child,
button .fab:last-child,
.btn .fa:last-child,
.btn .fas:last-child,
.btn .far:last-child,
.btn .fal:last-child,
.btn .fab:last-child {
    margin-right: 0 !important;
}

/* Input group icons */
.input-group .fa,
.input-group .fas,
.input-group .far,
.input-group .fal,
.input-group .fab {
    line-height: 1 !important;
    vertical-align: middle !important;
}

/* Reset any problematic transforms */
.fa::before,
.fas::before,
.far::before,
.fal::before,
.fab::before {
    display: inline-block !important;
    vertical-align: baseline !important;
}