/* Keep only actual favourites in the layout and make their desktop cards roomier. */
.favorites-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1220px) {
  .favorites-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 850px) {
  .favorites-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .favorites-grid { grid-template-columns: minmax(0, 1fr); }
}

.favorite-card__image img { object-fit: contain; background: #fff; }
.favorite-card:hover .favorite-card__image img { transform: none; }
.favorite-recommendation img { object-fit: contain; background: #fff; }

.favorites-feedback { margin-bottom: 18px; padding: 18px; border: 1px solid rgba(67,52,35,.14); border-radius: 12px; background: #fffdf9; }
.favorites-feedback p { margin: 0; }
.favorites-feedback button { margin-top: 12px; padding: 10px 14px; border: 1px solid var(--color-brand); border-radius: 9px; background: var(--color-brand); color: #fff; cursor: pointer; }
.favorites-feedback button:focus-visible { outline: 2px solid var(--color-brand); outline-offset: 3px; }
.favorites-feedback[hidden], .favorites-feedback button[hidden] { display: none; }

.favorite-card[hidden] {
  display: none !important;
}

.favorites-grid {
  transition: opacity 180ms ease;
}

.favorites-page.is-favorites-loading .favorites-grid {
  opacity: .45;
  pointer-events: none;
}

.favorite-card h2 { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; overflow-wrap:normal; word-break:normal; hyphens:none; }
.favorite-card__bottom strong { flex: 0 0 auto; white-space: nowrap; }
.favorite-card__bottom a { gap: 4px; white-space: nowrap; }
.favorite-card__bottom a svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2; }
@media (max-width: 620px) { .favorite-card__bottom a svg { width:16px; height:16px; } }
