.product-card[data-v-66a6623f]{background:var(--surface);border:1px solid var(--border);cursor:pointer;transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.product-card[data-v-66a6623f]:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.product-photo[data-v-66a6623f]{aspect-ratio:4/5;background:#efe6d4;position:relative;overflow:hidden}.img-cover[data-v-66a6623f]{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform var(--dur-slow) var(--ease)}.product-card:hover .img-cover[data-v-66a6623f]{transform:scale(1.04)}.ribbon[data-v-66a6623f]{border-radius:var(--radius-pill);background:var(--primary);color:var(--fg-inverse);font-size:var(--text-xs);z-index:1;padding:4px 12px;font-weight:500;line-height:1.4;position:absolute;top:12px;left:12px}.ribbon--muted[data-v-66a6623f]{background:#332822b8}.heart[data-v-66a6623f],.ribbon--muted[data-v-66a6623f]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.heart[data-v-66a6623f]{border-radius:var(--radius-pill);width:36px;height:36px;color:var(--fg);cursor:pointer;z-index:1;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);background:#ffffffe0;border:1px solid #0000000f;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:12px;right:12px}.heart[data-v-66a6623f]:hover{color:var(--primary);background:#fff}.heart svg[data-v-66a6623f]{width:18px;height:18px}@media (pointer:coarse){.heart[data-v-66a6623f]:after{content:"";position:absolute;inset:-4px}}.heart--on svg[data-v-66a6623f]{fill:var(--primary);stroke:var(--primary)}.heart[data-v-66a6623f]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.product-meta[data-v-66a6623f]{flex-direction:column;gap:8px;padding:14px 16px 18px;display:flex}.name[data-v-66a6623f]{font-family:var(--font-serif);font-weight:var(--font-weight-semi);font-size:var(--text-lg);color:var(--fg);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:1.3;text-decoration:none;display:-webkit-box;overflow:hidden}.product-buy[data-v-66a6623f]{justify-content:space-between;align-items:center;gap:10px;display:flex}.price[data-v-66a6623f]{font-family:var(--font-serif);font-weight:var(--font-weight-semi);font-size:var(--text-xl);color:var(--primary);line-height:1.2}.add-cart[data-v-66a6623f]{border-radius:var(--radius-pill);background:var(--primary);width:40px;height:40px;color:var(--fg-inverse);cursor:pointer;box-shadow:var(--shadow-xs);transition:background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.add-cart[data-v-66a6623f]:hover{background:var(--primary-hover);transform:translateY(-1px)}.add-cart[data-v-66a6623f]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.add-cart[data-v-66a6623f]:disabled{background:var(--border);color:var(--fg-muted);cursor:not-allowed;box-shadow:none;transform:none}.add-cart svg[data-v-66a6623f]{width:17px;height:17px}.add-cart--remake[data-v-66a6623f]{background:var(--accent-strong)}.add-cart--remake[data-v-66a6623f]:hover{background:color-mix(in srgb,var(--accent-strong) 85%,#000)}@media (width<=640px){.add-cart[data-v-66a6623f]{width:36px;height:36px}.add-cart svg[data-v-66a6623f]{width:16px;height:16px}}
