/* Product hearts sit above the existing sibling card link. */
.wishlist-save { position: absolute; inset-block-start: .65rem; inset-inline-end: .65rem; z-index: 4; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--fg); background: var(--beige-50); cursor: pointer; }
.wishlist-save svg { width: 22px; height: 22px; }
.wishlist-save[aria-pressed="true"] svg { fill: currentColor; }
.wishlist-save:hover { background: var(--sage-100); }
.wishlist-save:focus-visible, .mobile-shop-nav a:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.wishlist-save--detail { position: static; margin-block-start: 1rem; }
.wishlist-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
.wishlist-card .card__add { position: relative; z-index: 2; white-space: normal; min-height: 44px; }
.wishlist-stock { color: var(--fg-dim); font-size: .85rem; }
.wishlist-state { padding-block: 2rem; display: grid; justify-items: start; gap: 1rem; }
.wishlist-device-note { margin-block-start: 1rem; max-width: 42rem; }
.wishlist-storage-notice { position: fixed; z-index: 98; inset-inline: 1rem; bottom: 6rem; margin: 0 auto; max-width: 38rem; padding: 1rem; border: 1px solid var(--line-strong); border-radius: var(--r-m); background: var(--bg); color: var(--fg); }
.wishlist-storage-notice[hidden] { display: none; }
.mobile-shop-nav { display: none; }
@media (max-width: 1023px) { .wishlist-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  body.has-mobile-shop-nav { padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)); }
  .mobile-shop-nav { position: fixed; z-index: 80; inset-inline: 0; bottom: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); min-height: 72px; padding: .4rem max(1rem, env(safe-area-inset-right, 0px)) calc(.4rem + env(safe-area-inset-bottom, 0px)) max(1rem, env(safe-area-inset-left, 0px)); border-top: 1px solid var(--line); background: var(--bg); color: var(--fg); }
  .mobile-shop-nav a { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: .25rem; min-height: 56px; color: inherit; text-decoration: none; font-size: .75rem; font-weight: 600; }
  .mobile-shop-nav a[aria-current="page"] { color: var(--accent); }
  .mobile-shop-nav__icon { position: relative; display: inline-flex; }
  .mobile-shop-nav__count { position: absolute; inset-inline-start: 15px; top: -5px; min-width: 17px; height: 17px; padding-inline: 3px; display: grid; place-items: center; border-radius: 99px; font-size: 10px; line-height: 1; color: var(--bg); background: var(--accent); }
  .mobile-shop-nav__count[hidden] { display: none; }
  body.has-mobile-shop-nav .toast { bottom: calc(85px + env(safe-area-inset-bottom, 0px)); }
  .wishlist-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
  .wishlist-card .card__foot { align-items: start; flex-direction: column; }
}
@media (max-width: 359px) { .wishlist-grid { grid-template-columns: minmax(0, 1fr); } }
@media print { .mobile-shop-nav, .wishlist-save, .wishlist-storage-notice { display: none !important; } body.has-mobile-shop-nav { padding-bottom: 0; } }
