.card.svelte-1g9jl7v{background:var(--color-card);border-radius:var(--radius);box-shadow:var(--shadow-soft);border:1px solid var(--color-border);flex-direction:column;display:flex;overflow:hidden}.media.svelte-1g9jl7v{aspect-ratio:4/5;background:var(--color-ivory-deep);display:block;position:relative;overflow:hidden}.media.svelte-1g9jl7v img:where(.svelte-1g9jl7v){object-fit:cover;width:100%;height:100%;transition:opacity .35s;position:absolute;inset:0}.secondary.svelte-1g9jl7v{opacity:0}@media (hover:hover){.media.svelte-1g9jl7v:hover .primary:where(.svelte-1g9jl7v){opacity:0}.media.svelte-1g9jl7v:hover .secondary:where(.svelte-1g9jl7v){opacity:1}}.badges.svelte-1g9jl7v{flex-wrap:wrap;gap:.35rem;display:flex;position:absolute;top:.75rem;left:.75rem}.badge.svelte-1g9jl7v{text-transform:uppercase;letter-spacing:.07em;color:var(--color-emerald);border:1px solid color-mix(in srgb, var(--color-emerald) 22%, #e8e4dc);background:#faf8f4;border-radius:4px;padding:.3rem .5rem;font-size:.65rem;font-weight:700;box-shadow:0 2px 10px #14282029}.badge.best.svelte-1g9jl7v{background:var(--color-emerald);color:#fff;border-color:var(--color-emerald);box-shadow:0 2px 12px #1e4d3a59}.meta.svelte-1g9jl7v{flex-direction:column;gap:.35rem;padding:1rem 1rem 1.15rem;display:flex}.row.svelte-1g9jl7v{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.title.svelte-1g9jl7v{font-family:var(--font-display);color:var(--color-charcoal);font-size:1rem;font-weight:600;line-height:1.35;text-decoration:none}.title.svelte-1g9jl7v:hover{color:var(--color-emerald)}.fav.svelte-1g9jl7v{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-elevated);cursor:pointer;width:2.25rem;height:2.25rem;color:var(--color-sage);flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.fav[aria-pressed=true].svelte-1g9jl7v{color:var(--color-emerald);border-color:color-mix(in srgb, var(--color-emerald) 25%, transparent)}.price-row.svelte-1g9jl7v{align-items:baseline;gap:.5rem;display:flex}.price.svelte-1g9jl7v{color:var(--color-emerald);font-weight:700}.compare.svelte-1g9jl7v{color:var(--color-muted);font-size:.875rem;text-decoration:line-through}
