.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,28px);display:grid}.product-card{border:1px solid color-mix(in srgb, var(--tertiary) 20%, transparent);border-radius:calc(var(--radius-md) + 8px);background:color-mix(in srgb, var(--surface) 88%, white);min-width:0;box-shadow:0 16px 38px color-mix(in srgb, var(--primary) 8%, transparent);transition:border-color var(--base), box-shadow var(--base), transform var(--base) var(--ease);flex-direction:column;padding:10px;display:flex}.product-card:hover{border-color:color-mix(in srgb, var(--tertiary) 42%, transparent);box-shadow:0 22px 48px color-mix(in srgb, var(--primary) 12%, transparent);transform:translateY(-3px)}.product-card-image{aspect-ratio:.86;border:1px solid color-mix(in srgb, var(--tertiary) 22%, transparent);border-radius:var(--radius-md);background:var(--surface-container-high);display:block;position:relative;overflow:hidden}.product-card-image img{object-fit:cover;width:100%;height:100%;transition:transform .65s var(--ease)}.product-card:hover .product-card-image img{transform:scale(1.035)}.product-badge{border:1px solid color-mix(in srgb, var(--cocoa-rose) 52%, transparent);border-radius:var(--radius-pill);color:var(--dark-chocolate);background:color-mix(in srgb, var(--cocoa-rose) 42%, var(--ivory-cream));letter-spacing:.04em;text-transform:uppercase;padding:6px 10px;font-size:.66rem;font-weight:700;position:absolute;top:14px;left:14px}.product-card-body{flex-direction:column;flex:1;min-height:194px;padding:20px 8px 8px;display:flex}.product-card-copy{margin-bottom:20px}.product-card-title{display:inline-block}.product-card h3{transition:color var(--fast);margin-bottom:0;font-size:clamp(1.15rem,1.8vw,1.5rem)}.product-card-title:hover h3{color:var(--olive-700)}.product-category{color:var(--tertiary);letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px;font-size:.66rem;font-weight:700;line-height:1.3}.product-card-footer{margin-top:auto}.price-row{font-variant-numeric:tabular-nums;align-items:baseline;gap:10px;min-height:26px;margin-bottom:12px;font-size:.88rem;font-weight:700;display:flex}.price-row del{color:var(--muted);font-size:.75rem;font-weight:400}.product-action{border:1px solid var(--tertiary);border-radius:var(--radius-pill);min-height:44px;color:var(--on-tertiary-container);cursor:pointer;transition:color var(--base), background var(--base), border var(--base);background:0 0;justify-content:center;align-items:center;padding:10px 16px;font-size:.76rem;font-weight:700;display:flex}.product-action:hover{border-color:var(--tertiary);color:var(--on-tertiary);background:var(--tertiary)}.image-placeholder{min-height:300px;color:var(--muted);background:var(--surface-container-highest);place-items:center;font-size:.78rem;display:grid}@media (max-width:1100px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:767px){.product-card h3{font-size:var(--mobile-card-title);letter-spacing:0;line-height:1.2}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.product-card-image{border-radius:var(--radius-sm)}.product-card-body{min-height:176px;padding:15px 5px 5px}.product-card h3{font-size:var(--mobile-card-title)}.product-category{min-height:0;margin-bottom:5px;font-size:.6rem}.price-row{flex-direction:column;align-items:flex-start;gap:0}.product-action{font-size:.7rem}.product-card{border-radius:var(--radius-md);padding:6px}}@media (max-width:359px){.product-grid{grid-template-columns:1fr}}.product-action-error{text-align:center;margin-top:8px}
