.vk-favorite-wrap{position:relative;min-width:0;display:flex;flex-direction:column}
.shop_page_product{position:relative}
.vk-favorite-wrap>.shop_card,.vk-favorite-wrap>.ads_card,.vk-favorite-wrap>.service_card{height:100%;box-sizing:border-box}
.vk-favorite.vk-button{position:relative;overflow:visible;gap:8px;flex-shrink:0;align-self:flex-start}
.vk-favorite .vk-button__text{display:inline-flex;align-items:center;gap:8px}
.vk-favorite__heart{width:21px;height:21px;fill:transparent;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:fill .2s,color .2s;flex-shrink:0}
.vk-favorite.is-active.vk-button{color:#c63265;border-color:#f1b6c8;background:#fff0f5}
.vk-favorite.is-active .vk-favorite__heart{fill:currentColor}
.vk-favorite--compact.vk-button{width:42px;min-width:42px;height:42px;min-height:42px;padding:0;border-radius:50%;background:#fff;box-shadow:0 3px 12px #20364c18}
.vk-favorite--compact .vk-button__text{width:100%;height:100%;justify-content:center;gap:0;line-height:0}
.vk-favorite--compact .vk-favorite__heart{display:block;width:20px;height:20px}
.vk-favorite--compact .vk-favorite__label{display:none}
.vk-favorite-wrap>.vk-favorite--compact,.service_public_hero>.vk-favorite.vk-button{position:absolute;top:12px;right:12px;z-index:3}
.shop_page_product>.vk-favorite--compact{position:absolute;top:10px;right:10px;z-index:3}
.vk-favorite[aria-busy=true]{cursor:progress}
.vk-favorite.is-adding .vk-favorite__heart{animation:vk-favorite-add .6s both}
.vk-favorite.is-removing .vk-favorite__heart{animation:vk-favorite-remove .38s both}
.vk-favorite.is-adding:after{content:"";position:absolute;left:50%;top:50%;width:30px;height:30px;margin:-15px;border:2px solid #eb6692;border-radius:50%;pointer-events:none;animation:vk-favorite-ring .6s both}
@keyframes vk-favorite-add{0%{transform:scale(.65)}35%{transform:scale(1.3) rotate(-12deg)}65%{transform:scale(.94) rotate(5deg)}100%{transform:scale(1)}}
@keyframes vk-favorite-remove{0%{transform:scale(1)}40%{transform:scale(.65) rotate(12deg)}100%{transform:scale(1)}}
@keyframes vk-favorite-ring{0%{opacity:.8;transform:scale(.5)}100%{opacity:0;transform:scale(2)}}
.vk-favorite-message{position:fixed;z-index:12000;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 40px);box-sizing:border-box;padding:14px 20px;border-radius:18px;background:#20364c;color:#fff;box-shadow:0 8px 30px #20364c30;font-size:14px;text-align:center}
.vk-favorite-message.is-error{background:#91374b}
.vk-favorite-message[hidden],.vk-favorites-empty[hidden]{display:none}
.vk-favorites-intro,.vk-favorites-empty{color:#60748a;line-height:1.6}
.vk-favorites-list{display:grid;gap:14px;margin:20px 0}
.vk-favorites-card{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:16px;align-items:center;border:1px solid #dfe8f1;border-radius:18px;padding:14px;background:#fff;transition:opacity .25s,transform .25s}
.vk-favorites-card.is-leaving{opacity:0;transform:translateY(8px);pointer-events:none}
.vk-favorites-cover{width:96px;height:86px;border-radius:14px;background:#eef8f7;display:flex;align-items:center;justify-content:center;color:#37b7ac;font-size:32px;overflow:hidden}
.vk-favorites-cover img{width:100%;height:100%;object-fit:cover}
.vk-favorites-kind{color:#71889c;font-size:12px;margin-bottom:5px}
.vk-favorites-title{font-size:18px;font-weight:bold;color:#20364c;text-decoration:none;overflow-wrap:anywhere}
.vk-favorites-description{margin-top:7px;color:#60748a;font-size:13px;overflow-wrap:anywhere}
.vk-favorites-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
@media(max-width:560px){.vk-favorites-card{grid-template-columns:64px minmax(0,1fr) auto;gap:10px;padding:10px}.vk-favorites-cover{width:64px;height:70px}.vk-favorites-title{font-size:16px}}
@media(prefers-reduced-motion:reduce){.vk-favorite,.vk-favorite__heart,.vk-favorites-card{transition:none!important;animation:none!important}.vk-favorite.is-adding .vk-favorite__heart,.vk-favorite.is-removing .vk-favorite__heart,.vk-favorite.is-adding:after{animation:none!important}.vk-favorite.is-adding:after{display:none}}
