/**
 * AvaSite icon compatibility layer.
 * Restores Elementor eicons, Bootstrap-style icons and legacy icon markup
 * without relying on a remote icon font.
 */
.ava-icon,
.aps-icon,
.ava-icon-fallback,
svg.bi {
    display: inline-block;
    width: 1em;
    height: 1em;
    flex: 0 0 auto;
    overflow: visible;
    vertical-align: -.125em;
}

.ava-icon-fallback,
svg.bi.ava-icon-fallback {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ava-icon-fallback[aria-hidden="true"] {
    pointer-events: none;
}

/* Keep icon-only controls measurable and aligned. */
:where(.ava-icon-button, .aps-icon-button, [class*="__icon"], [class*="-icon"]) > .ava-icon-fallback,
:where(button, a) > .ava-icon-fallback {
    vertical-align: middle;
}

/* Prevent Bootstrap's generic icon font rules from hiding SVG fallbacks. */
svg.bi::before,
.ava-icon-fallback::before {
    content: none !important;
    display: none !important;
}

/* Basic sizing for legacy Elementor icon placeholders before JS conversion. */
:where(i, span)[class^="eicon-"],
:where(i, span)[class*=" eicon-"],
:where(i, span).bi,
:where(i, span)[class*=" bi-"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1em;
    min-height: 1em;
    font-style: normal;
}
