.lovency-compare-button {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 14px;
    border: 1px solid #D9E3EE;
    border-radius: 12px;
    background: rgba(255,255,255,.96);
    color: #1D3D6E;
    font: inherit;
    font-size: 13px;
    line-height: 1;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 8px 22px rgba(29,61,110,.10);
    transition: transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease;
}

.lovency-compare-button:hover {
    border-color: #3D7BB4;
    color: #2E6FB0;
    transform: translateY(-2px);
}

.lovency-compare-button.is-active {
    border-color: rgba(46,111,176,.35);
    background: #EEF5FC;
    color: #1D5F9C;
}

.lovency-compare-button__icon {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.lovency-compare-link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

.lovency-compare-count {
    min-width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
    box-sizing: border-box;
    border-radius: 999px;
    background: #EAF1F8;
    color: #2E6FB0;
    font-size: 11px;
    line-height: 1;
    font-weight: 900;
}

.lovency-compare-count.is-empty {
    opacity: .62;
}

.apartment-card__compare {
    position: absolute;
    top: 14px;
    right: 64px;
    z-index: 7;
    width: 42px;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
    padding: 0;
    border-radius: 50%;
}

.apartment-card__favorite + .apartment-card__compare + .apartment-card__media .apartment-card__housing {
    right: 112px;
    max-width: calc(52% - 88px);
}

.catalog-unit-v2__buyer-tools .lovency-compare-button {
    min-height: 52px;
    border-radius: 13px;
    box-shadow: none;
}

.lovency-compare-toast {
    position: fixed;
    left: 50%;
    bottom: 24px;
    z-index: 2147483000;
    max-width: min(420px, calc(100vw - 32px));
    padding: 13px 17px;
    border-radius: 12px;
    background: #1D3D6E;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
    box-shadow: 0 18px 46px rgba(17,42,77,.28);
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, 12px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
    text-align: center;
}

.lovency-compare-toast.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

@media (max-width: 767px) {
    .apartment-card__compare {
        top: 12px;
        right: 62px;
    }

    .apartment-card__favorite + .apartment-card__compare + .apartment-card__media .apartment-card__housing {
        right: 108px;
    }
}
