/* Independent traditional foil: light moves across the image; the card stays flat. */
.hub-card-image {
  --foil-x: 50%; --foil-y: 50%; --foil-spectrum: .17; --foil-glare: .08;
  display: inline-grid; position: relative; isolation: isolate; overflow: hidden;
  width: 100%; border-radius: 3.5% / 2.5%; vertical-align: middle; line-height: 0;
}
.hub-card-image > img { display: block; width: 100%; height: auto; margin: 0; }
.hub-card-image--foil::before, .hub-card-image--foil::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
}
.hub-card-image--foil::before {
  z-index: 1;
  background-image: linear-gradient(125deg, #e6a0b9, #e8cf85 16%, #a9ddc1 32%, #91d9f1 48%, #b7a5e3 64%, #efa8c4 80%, #ecda9b),
    linear-gradient(115deg, #12131b 18%, #888b8f 38%, #ecf0ee 48%, #787b8a 57%, #161720 78%);
  background-size: 260% 260%, 240% 240%;
  background-position: var(--foil-x) var(--foil-y);
  background-blend-mode: multiply; mix-blend-mode: color-dodge; opacity: var(--foil-spectrum);
}
.hub-card-image--foil::after {
  z-index: 2;
  background: radial-gradient(ellipse at var(--foil-x) var(--foil-y), #fffffff0, #f4f7fa66 12%, #e0eaf51a 30%, transparent 62%);
  mix-blend-mode: screen; opacity: var(--foil-glare);
}
hub-foil-viewer { display: block; }
hub-foil-viewer .hub-card-image { --foil-spectrum: .39; --foil-glare: .28; }
.hub-foil-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 8px 0 12px; line-height: 1.5; }
.hub-foil-controls[hidden], .hub-foil-controls [hidden] { display: none !important; }
.hub-foil-controls [data-foil-motion] { margin: 0; min-height: 44px; font: inherit; }
.hub-foil-controls [data-foil-status] { font-size: 12px; color: var(--text-muted, #625f58); }
.single-card__art .hub-card-image { height: 100%; }
.single-card__art .hub-card-image > img { height: 100%; object-fit: contain; }
.single-card__dialog .hub-card-image, .assistant-card__dialog .hub-card-image {
  width: min(340px, 46vh); max-width: 100%; margin: 8px 0; touch-action: pan-y;
}
.single-card__dialog .hub-card-image > img, .assistant-card__dialog .hub-card-image > img {
  width: 100%; height: auto; max-height: none; max-width: none; margin: 0;
}
.assistant-card__art .hub-card-image { width: min(100%, 158px); }
.assistant-card__art .hub-card-image > img { width: 100%; height: auto; }
.shared-card__art .hub-card-image { height: 100%; }
.shared-card__art .hub-card-image > img { height: 100%; object-fit: contain; }
.seller-art hub-foil-viewer { text-align: left; }
.seller-art .hub-foil-controls { margin-top: 8px; }
@media (prefers-reduced-motion: reduce) {
  hub-foil-viewer .hub-card-image { --foil-spectrum: .17; --foil-glare: .08; }
}
