/* Universal Product Card: 1:1 media, compact flow, equal heights via the parent grid (align-items:stretch). */
.fv-card{position:relative;display:flex;flex-direction:column;height:100%;background:var(--fv-bg);border:1px solid var(--fv-border);border-radius:var(--fv-radius);overflow:hidden;color:var(--fv-ink)}
.fv-card__media{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--fv-cream)}
.fv-card__track{display:flex;width:100%;height:100%;transition:transform 300ms ease-out;will-change:transform}
.fv-card__img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;display:block}
.fv-card__promo{position:absolute;top:0;inset-inline-start:0;z-index:10;max-width:70%}
.fv-card__promo .fv-badge-pill{border-radius:0 0 var(--fv-radius) 0}
[dir="rtl"] .fv-card__promo .fv-badge-pill{border-radius:0 0 0 var(--fv-radius)}
.fv-card__wish{position:absolute;top:0;inset-inline-end:0;z-index:20;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:none;color:var(--fv-ink)}
.fv-card__wish[aria-pressed="true"] svg{fill:var(--fv-primary);stroke:var(--fv-primary)}
.fv-card__dots{position:absolute;bottom:8px;inset-inline:0;z-index:15;display:flex;justify-content:center;gap:6px;pointer-events:none}
.fv-card__dot{pointer-events:auto;position:relative;width:8px;height:8px;padding:0;border:0;border-radius:50%;background:var(--fv-bg);opacity:.7}
.fv-card__dot::after{content:"";position:absolute;inset:-8px}
.fv-card__dot.is-active{background:var(--fv-primary);opacity:1}
.fv-card__body{display:flex;flex-direction:column;gap:6px;padding:10px 12px 12px}
.fv-card__title{margin:0;font-family:var(--fv-font-body);font-size:var(--fv-fs-body);font-weight:500;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(1.35em * 2)}
.fv-card__link{color:inherit;text-decoration:none}
.fv-card__link::after{content:"";position:absolute;inset:0;z-index:5}
.fv-card:not(.is-disabled){cursor:pointer}
.fv-card.is-disabled{cursor:default}
.fv-card__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}
.fv-price{font-weight:600}
.fv-price--sale{color:var(--fv-primary)}
.fv-price--na{color:var(--fv-muted);font-weight:400}
.fv-price__regular{color:var(--fv-muted);font-size:var(--fv-fs-small)}
.fv-price__off{padding:1px 6px;border-radius:var(--fv-radius-pill);background:var(--fv-primary);color:var(--fv-bg);font-size:11px;font-weight:600}
.fv-card__meta{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:6px}
.fv-card__rating{align-self:flex-start}
.fv-card__badges{display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin-inline-start:auto}
.fv-badge-pill{display:inline-block;padding:3px 8px;font-size:11px;font-weight:600;line-height:1.2;text-transform:uppercase;letter-spacing:.02em;border-radius:var(--fv-radius-pill);white-space:nowrap}
