@import '../../../tokens.less'; .listingsGrid__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; } .listingsGrid__card { background: @color-elevated !important; border: 1px solid @color-border !important; border-radius: @radius-card !important; overflow: hidden; transition: box-shadow @transition-card; display: flex; flex-direction: column; &:hover { box-shadow: 0 6px 24px -4px rgba(0,0,0,0.6); } &__image-wrapper { position: relative; height: 160px; overflow: hidden; flex-shrink: 0; img { width: 100%; height: 100%; object-fit: cover; display: block; } } &__inactive-watermark { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.35); span { font-size: 18px; font-weight: 800; color: rgba(251,113,133,0.9); text-transform: uppercase; letter-spacing: 0.15em; transform: rotate(-30deg); border: 2px solid rgba(251,113,133,0.5); padding: 4px 12px; border-radius: @radius-chip; backdrop-filter: blur(2px); } } &__star { position: absolute; top: 8px; right: 8px; background: rgba(0,0,0,0.5); border: none; border-radius: 50%; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background @transition-fast; padding: 0; &:hover { background: rgba(0,0,0,0.75); } svg { color: @color-accent; font-size: 14px; } } &__body { padding: 12px; display: flex; flex-direction: column; gap: 4px; flex: 1; } &__title { font-weight: 700; font-size: @text-sm; color: @color-text; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } &__price { font-size: @text-base; font-weight: 600; color: @color-success; display: flex; align-items: center; gap: 4px; } &__meta { font-size: @text-xs; color: @color-muted; display: flex; align-items: center; gap: 4px; .semi-icon { font-size: 11px; color: @color-faint; } } &__provider { font-size: @text-xs; color: @color-faint; } &__actions { display: flex; justify-content: space-around; padding: 8px 12px; border-top: 1px solid @color-border; gap: 4px; margin-top: auto; button { flex: 1; border: none !important; border-radius: @radius-chip !important; } } }