/* v8: provider art is mostly square, so provider tiles are square; odd-shaped art shows whole */
.gt .tile.thumb { aspect-ratio: 1 / 1; }
/* v8: provider thumbnails that are not portrait show whole, over a blurred fill of the same art */
.tile.thumb.fit { background: #0d0d10; }
.tile.thumb.fit::before { content: ""; position: absolute; inset: -12%; background: var(--fitbg) center / cover no-repeat; filter: blur(16px) saturate(1.25) brightness(.62); transform: scale(1.1); z-index: 0; }
.tile.thumb.fit img { position: relative; z-index: 1; object-fit: contain; filter: drop-shadow(0 8px 14px rgba(0,0,0,.45)); }
.tile.thumb.fit .tag, .tile.thumb.fit .badge { z-index: 2; }
/* v8: one pill on Rave tiles — smaller Rave mark + "Originals" (Ripl Originals) or "PvP" (Ripl Arena) */
.gt .tile > .badge, .ar-gart .tile > .badge { width: auto; height: 27px; padding: 0 9px 0 7px; display: flex; align-items: center; gap: 5px; border-radius: 7px; right: 8px; top: 8px; }
.gt .tile > .badge::before, .ar-gart .tile > .badge::before { position: static; inset: auto; width: 23px; height: 15px; flex: none; }
.gt .tile > .badge::after, .ar-gart .tile > .badge::after { content: "Originals"; font: 900 11px/1 var(--ui, Inter), system-ui, sans-serif; letter-spacing: .02em; color: #1a47c3; }
.gt.ar-gt .tile > .badge::after, .ar-gart .tile > .badge::after { content: "PvP"; }
