.favorites-public-page main { display: flex; flex-direction: column; }
.favorites-page { display: flex; flex: 1; flex-direction: column; width: var(--content-width); max-width: 900px; margin: 0 auto; padding: clamp(20px, 3vw, 32px); border: 1px solid #e0eafa; border-radius: 24px; background: #fff; box-shadow: 0 10px 36px #123b6010; }
.favorites-page h1 { margin: 0 0 24px; text-align: center; color: #080e38; font: 800 clamp(28px, 4vw, 38px)/1.15 Manrope,sans-serif; letter-spacing: -1px; }
.favorites-status { color: #53647b; font-size: 15px; line-height: 1.6; }
.favorites-list:empty { display: none; }
.favorites-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.favorite-row { display: flex; align-items: center; gap: 8px; padding: 10px; border: 1px solid #e1eaf6; border-radius: 17px; background: #fff; }
.favorite-profile { display: flex; flex: 1; min-width: 0; align-items: center; gap: 14px; border-radius: 12px; }
a.favorite-profile:hover { color: #0054dc; }
.favorite-photo { display: grid; flex: 0 0 72px; width: 72px; height: 72px; place-items: center; overflow: hidden; border-radius: 12px; background: #e4f0ff; font: 800 28px Manrope,sans-serif; }
.favorite-photo img { width: 100%; height: 100%; object-fit: cover; }
.favorite-copy { min-width: 0; overflow-wrap: anywhere; }
.favorite-copy strong { display: block; font: 800 17px/1.3 Manrope,sans-serif; }
.favorite-detail { display: block; margin-top: 6px; color: #53647b; font-size: 12px; line-height: 1.4; }
.favorite-remove { display: grid; flex: 0 0 44px; width: 44px; height: 44px; place-items: center; border: 0; border-radius: 50%; background: #fff0f1; color: #e02845; cursor: pointer; }
.catalog-page .favorite-remove svg { fill: currentColor; }
.favorite-remove:hover { background: #ffe0e5; }
.favorites-empty { display: grid; flex: 1; min-height: 160px; place-items: center; margin: 0; padding: 24px 0; color: #53647b; font: 500 18px/1.4 'DM Sans',sans-serif; text-align: center; }
.favorites-action { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 11px 18px; border: 0; border-radius: 12px; background: #0054dc; color: #fff; font: 700 14px 'DM Sans',sans-serif; cursor: pointer; }
.profile-banner-wrap { position: relative; }
.profile-favorite { position: absolute; top: 14px; right: 14px; z-index: 2; display: grid; width: 46px; height: 46px; place-items: center; border: 1px solid #e1eaf6; border-radius: 50%; background: #fffffff5; color: #142653; box-shadow: 0 3px 12px #123b6025; cursor: pointer; }
.profile-favorite[aria-pressed='true'] { color: #e02845; }
.catalog-page .profile-favorite[aria-pressed='true'] svg { fill: currentColor; }
.profile-favorite:disabled { opacity: .5; cursor: default; }
.profile-favorite-status { margin: 0; padding: 12px 20px; color: #53647b; background: #f0f6ff; font-size: 14px; line-height: 1.5; }
@media (max-width: 760px) {
  .favorites-page { width: calc(100% - 24px); margin-top: 16px; padding: 20px 12px; border-radius: 20px; }
  .favorite-profile { gap: 10px; }
  .favorite-photo { flex-basis: 56px; width: 56px; height: 56px; }
  .favorite-copy strong { font-size: 15px; }
  .profile-favorite { top: 12px; right: 12px; }
}
