.favorite-dot {
    cursor: pointer;
    transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}
.favorite-dot:hover { transform: scale(1.08); }
.favorite-dot.active {
    background: #fff0fa;
    color: #ec3ba8;
    border-color: #f09bd2;
    box-shadow: 0 5px 15px #ec3ba844;
}
.favorite-dot.loading { pointer-events: none; opacity: .55; }

.favorites-page{min-height:calc(100vh - 158px);padding-top:42px!important;padding-bottom:80px!important}
.favorites-page .section-heading{max-width:1040px;margin:0 auto 18px;padding:0 4px;align-items:center}
.favorites-page .section-heading h2{font-size:2rem}
.favorites-page .section-heading small{display:block;margin-bottom:5px}
.favorites-page .home-search{max-width:760px;margin-left:auto!important;margin-right:auto!important}
.favorites-page .catalog-grid{max-width:1040px;margin:0 auto}
.favorites-page .catalog-empty{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;border:1px solid #dfdcf3;background:linear-gradient(145deg,#fff,#f8f6ff);box-shadow:0 18px 45px #27295c12}
.favorites-page .catalog-empty i{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:#f1eaff;color:#e53ba5;font-size:1.75rem}
.favorites-page .catalog-empty h3{margin:5px 0 0;font-size:1.15rem;font-weight:950}
.favorites-page .catalog-empty p{margin:0;color:#858ba7;text-align:center}
.favorites-page .catalog-empty a{margin-top:8px;padding:10px 18px;border-radius:12px;background:linear-gradient(135deg,#6b4cf2,#299be0);color:#fff;text-decoration:none;font-weight:900}
html[data-theme="dark"]{background:#0f1222}
html[data-theme="dark"] .favorites-page .catalog-empty{background:linear-gradient(145deg,#191e33,#15192b);border-color:#303750;box-shadow:0 18px 45px #0004;color:#edf0ff}
html[data-theme="dark"] .favorites-page .catalog-empty i{background:#2b2344;color:#ff70c6}
html[data-theme="dark"] .favorites-page .catalog-empty p{color:#9da6c4}
html[data-theme="dark"] .favorites-page .text-bg-light{background:#252b43!important;color:#e8ebff!important}
@media(max-width:767px){.favorites-page{padding-top:25px!important}.favorites-page .section-heading h2{font-size:1.55rem}.favorites-page .catalog-empty{min-height:235px;padding:35px 20px}}
