/*
 * Native RealesWP single-property control only. State is owned by the theme:
 * .addFav / .noSigned = outline; .addedFav = filled. Never infer it from .fav_no.
 * No layout rules, event handlers, markup replacement or generic .fa overrides.
 */
body.single-property.hprcfv-property-heart .favLink > a#favBtn:is(.addFav, .noSigned),
body.single-property.hprcfv-property-heart .favLink > a#favBtn:is(.addFav, .noSigned) > span.fa:is(.fa-heart, .fa-heart-o) {
    color: #64748b !important;
}
body.single-property.hprcfv-property-heart .favLink > a#favBtn.addedFav:not(.addFav):not(.noSigned),
body.single-property.hprcfv-property-heart .favLink > a#favBtn.addedFav:not(.addFav):not(.noSigned) > span.fa:is(.fa-heart, .fa-heart-o) {
    color: #d7433d !important;
}
body.single-property.hprcfv-property-heart .favLink > a#favBtn:is(.addFav, .noSigned):is(:hover, :focus-visible),
body.single-property.hprcfv-property-heart .favLink > a#favBtn:is(.addFav, .noSigned):is(:hover, :focus-visible) > span.fa:is(.fa-heart, .fa-heart-o) {
    color: #087c78 !important;
}

/* Local vector masks avoid an outline glyph being substituted by an icon font.
 * Browsers without CSS masks retain their native glyphs (never a blank square).
 * Width/height/position of the actual button, span and count are not overridden.
 */
@supports (mask-image: url("heart-outline.svg")) or (-webkit-mask-image: url("heart-outline.svg")) {
    body.single-property.hprcfv-property-heart .favLink > a#favBtn:is(.addFav, .noSigned, .addedFav) > span.fa:is(.fa-heart, .fa-heart-o)::before {
        content: "" !important;
        color: inherit !important;
        display: inline-block;
        width: 1em;
        height: 1em;
        background-color: currentColor !important;
        background-image: none !important;
        -webkit-mask: url("heart-outline.svg") center / contain no-repeat;
        mask: url("heart-outline.svg") center / contain no-repeat;
        vertical-align: -.12em;
    }
    body.single-property.hprcfv-property-heart .favLink > a#favBtn.addedFav:not(.addFav):not(.noSigned) > span.fa:is(.fa-heart, .fa-heart-o)::before {
        -webkit-mask-image: url("heart-filled.svg");
        mask-image: url("heart-filled.svg");
    }
    @media (forced-colors: active) {
        body.single-property.hprcfv-property-heart .favLink > a#favBtn:is(.addFav, .noSigned, .addedFav) > span.fa:is(.fa-heart, .fa-heart-o)::before {
            background-color: LinkText !important;
            forced-color-adjust: none;
        }
    }
}
