.rr-bv-card { position: relative; }
.rr-favorite {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    min-width: 44px;
    min-height: 44px;
    padding: .65rem;
    border: 1px solid #dedbd5;
    border-radius: 50%;
    background: #fff;
    color: #27241e;
    text-decoration: none;
    cursor: pointer;
    transition: background .15s, color .15s;
}
.rr-bv-card > .rr-favorite {
    position: absolute;
    top: .6rem;
    right: .6rem;
    z-index: 2;
    box-shadow: 0 2px 10px #0002;
}
.rr-favorite svg { flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.7; }
.rr-favorite.is-saved { color: #8c2938; background: #fff7f8; border-color: #e6bdc3; }
.rr-favorite.is-saved svg { fill: currentColor; }
.rr-favorite:hover { background: #f5f0e6; color: #6a501c; }
.rr-favorite:focus-visible { outline: 3px solid var(--color-accent, #b68d37); outline-offset: 3px; }
.rr-favorite[aria-busy="true"] { opacity: .6; cursor: progress; }
.rr-favorite--label { border-radius: 6px; margin: .8rem 0; padding: .65rem 1rem; font-size: .9rem; }
.main-nav__account { position: relative; }
.rr-favorite-count {
    position: absolute;
    top: -6px;
    right: -9px;
    min-width: 18px;
    height: 18px;
    border-radius: 9px;
    padding: 0 4px;
    background: #8c2938;
    color: #fff;
    font: 600 11px/18px sans-serif;
    text-align: center;
}
.rr-favorite-notice {
    position: fixed;
    bottom: max(1.5rem, env(safe-area-inset-bottom));
    left: 50%;
    transform: translateX(-50%);
    z-index: 10000;
    width: max-content;
    max-width: calc(100% - 2rem);
    border-radius: 8px;
    background: #24241f;
    color: #fff;
    padding: .9rem 1.2rem;
    box-shadow: 0 4px 20px #0003;
    font-size: .95rem;
}
.rr-favorite-count[hidden], .rr-favorite-notice[hidden], [data-rr-saved-card][hidden] { display: none; }
@media (prefers-reduced-motion: reduce) { .rr-favorite { transition: none; } }
