:root{
  --favorites-popup-accent:#e90034;
  --favorites-popup-text:#111;
  --favorites-popup-muted:#777;
  --favorites-popup-surface:#fff;
  --favorites-popup-soft:#fafafa;
  --favorites-popup-border:#dedede;
  --favorites-popup-radius:10px;
  --favorites-popup-width:370px;
  --favorites-popup-left:24px;
  --favorites-popup-bottom:22px;
  --favorites-popup-z:900;
  --favorites-popup-shadow:0 22px 60px rgba(0,0,0,.18);
}
[data-favorites-popup-id]{cursor:pointer}
.favorites-popup{
  position:fixed;
  left:var(--favorites-popup-left);
  bottom:var(--favorites-popup-bottom);
  z-index:var(--favorites-popup-z);
  width:min(var(--favorites-popup-width),calc(100vw - 48px));
  overflow:hidden;
  border:1px solid var(--favorites-popup-border);
  border-top:3px solid var(--favorites-popup-accent);
  border-radius:var(--favorites-popup-radius);
  background:var(--favorites-popup-surface);
  box-shadow:var(--favorites-popup-shadow);
  color:var(--favorites-popup-text);
  font-family:inherit;
  transition:width .2s ease,transform .2s ease,opacity .2s ease,box-shadow .2s ease;
}
.favorites-popup[hidden]{display:none!important}
.favorites-popup.is-entering{animation:favoritesPopupIn .38s cubic-bezier(.2,.8,.2,1)}
@keyframes favoritesPopupIn{0%{opacity:0;transform:translateY(18px) scale(.98)}100%{opacity:1;transform:none}}
.favorites-popup__bar{
  width:100%;min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:0 15px;border:0;background:var(--favorites-popup-surface);color:var(--favorites-popup-text);cursor:pointer;text-align:left;
}
.favorites-popup__heading{min-width:0;display:flex;align-items:center;gap:9px}
.favorites-popup__heading strong{font-size:13px;line-height:1;font-weight:800;letter-spacing:-.01em}
.favorites-popup__heart{width:29px;height:29px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:var(--favorites-popup-text);color:#fff}
.favorites-popup__heart svg{width:15px;height:15px}
.favorites-popup__count{min-width:21px;height:21px;display:grid;place-items:center;padding:0 6px;border-radius:999px;background:var(--favorites-popup-accent);color:#fff;font-size:9px;font-weight:800}
.favorites-popup__toggle{width:25px;height:25px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #e1e1e1;border-radius:50%;font-size:17px;line-height:1}
.favorites-popup__body{border-top:1px solid #ededed;background:var(--favorites-popup-surface)}
.favorites-popup__list{max-height:318px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.favorites-popup-item{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr) 30px;align-items:center;gap:11px;min-height:82px;padding:10px 12px;border-bottom:1px solid #ededed}
.favorites-popup-item:last-child{border-bottom:0}
.favorites-popup-item__image{width:58px;height:62px;display:grid;place-items:center;overflow:hidden;border-radius:6px;background:#f2f2f2;color:var(--favorites-popup-text);text-decoration:none}
.favorites-popup-item__image img{width:100%;height:100%;object-fit:cover}
.favorites-popup-item__image span{font-size:11px;font-weight:850;letter-spacing:.06em}
.favorites-popup-item__content{min-width:0;display:grid;align-content:center;gap:2px;color:var(--favorites-popup-text);text-decoration:none}
.favorites-popup-item__content>small{overflow:hidden;color:#888;font-size:8px;font-style:normal;font-weight:750;letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
.favorites-popup-item__content>strong{display:-webkit-box;overflow:hidden;font-size:12px;line-height:1.3;font-weight:750;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.favorites-popup-item__content>span{display:flex;align-items:center;flex-wrap:wrap;gap:5px 8px;margin-top:4px}
.favorites-popup-item__content b{color:var(--favorites-popup-accent);font-size:11px;line-height:1}
.favorites-popup-item__content em{overflow:hidden;color:#888;font-size:9px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.favorites-popup-item__remove{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--favorites-popup-border);border-radius:50%;background:var(--favorites-popup-surface);color:#555;cursor:pointer;font-size:18px;line-height:1;transition:.18s ease}
.favorites-popup-item__remove:hover{border-color:var(--favorites-popup-text);background:var(--favorites-popup-text);color:#fff}
.favorites-popup__footer{min-height:43px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;border-top:1px solid #ededed;background:var(--favorites-popup-soft)}
.favorites-popup__footer>span{color:var(--favorites-popup-muted);font-size:9px}
.favorites-popup__footer button{padding:0;border:0;background:transparent;color:var(--favorites-popup-accent);font-size:9px;font-weight:750;cursor:pointer}
.favorites-popup__empty{margin:0;padding:20px 16px;color:var(--favorites-popup-muted);font-size:11px}
.favorites-popup.is-collapsed{width:235px;box-shadow:0 14px 38px rgba(0,0,0,.15)}
.favorites-popup.is-collapsed .favorites-popup__body{display:none}
@media(max-width:720px){
  .favorites-popup{left:14px;right:14px;bottom:14px;width:auto;max-width:none;border-radius:9px}
  .favorites-popup.is-collapsed{right:auto;width:220px}
  .favorites-popup__bar{min-height:50px;padding-inline:13px}
  .favorites-popup__heart{width:27px;height:27px}
  .favorites-popup__list{max-height:238px}
  .favorites-popup-item{grid-template-columns:52px minmax(0,1fr) 28px;min-height:75px;padding:9px 10px}
  .favorites-popup-item__image{width:52px;height:56px}
  .favorites-popup-item__content>strong{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.favorites-popup{transition:none}.favorites-popup.is-entering{animation:none}}
.favorites-popup-builder-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 18px;border:1px solid var(--favorites-button-border,#d8d8d8);border-radius:var(--favorites-button-radius,12px);background:var(--favorites-button-bg,#fff);color:var(--favorites-button-color,#111);font:inherit;font-weight:750;cursor:pointer}.favorites-popup-builder-button__heart{font-size:22px;line-height:1}.favorites-popup-builder-button.is-active,.favorites-popup-builder-button[aria-pressed="true"]{color:var(--favorites-button-active,#e4002b)}
