.product-card{height:100%;transition:all var(--transition-normal);background:var(--color-background);border:2px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;display:flex;position:relative}.product-card:hover{border-color:var(--color-primary);box-shadow:0 8px 24px #0000001a}.product-card-link{color:inherit;text-decoration:none;display:block}.product-card>.product-card-link:first-child{flex-shrink:0;height:300px;line-height:0}.product-card-link:hover{color:inherit}.card-image{width:calc(100% - calc(var(--space-xs)*2));background:var(--color-background-tertiary);border-bottom:2px solid var(--color-border);border-radius:var(--radius-lg)var(--radius-lg)0 0;height:300px;margin:var(--space-xs);aspect-ratio:1;margin-bottom:0;display:block;position:relative;overflow:hidden}.card-image img{object-fit:cover;border-radius:var(--radius-lg)var(--radius-lg)0 0;width:100%;height:100%;transition:transform .4s;display:block}.product-card:hover .card-image img{transform:scale(1.03)}.product-card-link:focus-visible{outline:3px solid var(--color-primary);outline-offset:4px;border-radius:var(--radius-2xl)}.product-card.loading{animation:1.5s ease-in-out infinite card-loading}@keyframes card-loading{0%,to{opacity:1}50%{opacity:.7}}.product-card{animation:.6s ease-out fadeInUp}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.product-card-content{padding:var(--space-lg);flex-direction:column;flex:1;gap:.75rem;display:flex}.product-card .card-title{color:var(--color-text);transition:all var(--transition-normal);-webkit-line-clamp:2;letter-spacing:-.01em;-webkit-box-orient:vertical;min-height:2.925rem;margin:0 0 .25rem;font-size:1.125rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.product-card:hover .card-title{color:var(--color-primary-light);transform:translate(2px)}.product-description{color:var(--color-text-secondary);word-break:break-word;flex-shrink:0;margin-top:0;margin-bottom:auto;font-size:.9375rem;line-height:1.5}.product-controls{flex-shrink:0;align-items:stretch;gap:.625rem;margin:0;display:flex}.weight-selector{border:2px solid var(--color-border);border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--color-background)0%,var(--color-background-secondary)100%);min-width:130px;height:3rem;color:var(--color-primary);padding:0 var(--space-md);cursor:pointer;transition:all var(--transition-normal);appearance:none;box-shadow:var(--shadow-sm);background-image:url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B3A2F' stroke-width='2.5'><polyline points='6,9 12,15 18,9'/></svg>");background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem;flex:1;padding-right:2.5rem;font-size:.875rem;font-weight:500}.weight-selector:hover{border-color:var(--color-primary-lighter);background:var(--color-background-tertiary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.weight-selector:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 4px #1b3a2f1a}.quantity-control{border:2px solid var(--color-border);border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--color-background)0%,var(--color-background-secondary)100%);height:3rem;transition:all var(--transition-normal);box-shadow:var(--shadow-sm);align-items:center;display:flex;overflow:hidden}.quantity-control:hover{border-color:var(--color-primary-lighter);box-shadow:var(--shadow-md);transform:translateY(-2px)}.quantity-button{cursor:pointer;width:3rem;height:100%;color:var(--color-primary);transition:all var(--transition-normal);font-size:1.125rem;font-weight:700;font-family:var(--font-sans);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.quantity-button:hover{color:var(--color-text-inverse);background:linear-gradient(135deg,var(--color-primary)0%,var(--color-primary-light)100%)}.quantity-button:active{background:var(--color-primary-dark);color:var(--color-text-inverse);transform:scale(.95)}.quantity-button:first-child{border-right:2px solid var(--color-border);border-radius:var(--radius-xl)0 0 var(--radius-xl)}.quantity-button:last-child{border-left:2px solid var(--color-border);border-radius:0 var(--radius-xl)var(--radius-xl)0}.quantity-value{text-align:center;color:var(--color-primary);height:100%;font-size:1rem;font-weight:600;font-family:var(--font-sans);flex:1;justify-content:center;align-items:center;min-width:2.5rem;display:flex}.product-price-section{flex-shrink:0;align-items:center;min-height:2.5rem;margin:0;padding:.5rem 0;display:flex}.product-price-promo{flex-direction:column;align-items:flex-start;gap:.375rem;width:100%;display:flex}.price-original{align-items:center;display:inline-flex;position:relative}.price-strike{background-color:var(--color-error);height:1px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.product-error{background-color:var(--color-error-bg);color:var(--color-error);text-align:center;border-radius:var(--radius-md);border:1px solid var(--color-error-border);flex-shrink:0;justify-content:center;align-items:center;gap:.5rem;margin:0;padding:.625rem .875rem;font-size:.8125rem;font-weight:500;display:flex}.product-error:before{content:"⚠";font-size:.875rem}.product-add-button{width:100%;padding:var(--space-md)var(--space-xl);text-transform:uppercase;letter-spacing:.05em;transition:all var(--transition-normal);border-radius:var(--radius-lg);background:var(--color-primary);color:var(--color-text-inverse);cursor:pointer;border:none;flex-shrink:0;min-height:3.5rem;margin-top:0;font-size:.9375rem;font-weight:600}.product-add-button:hover:not(:disabled){background:var(--color-primary-light)}.product-add-button:active:not(:disabled){transform:scale(.98)}.product-add-button:disabled{cursor:not-allowed;background:var(--color-background-tertiary)!important;color:var(--color-text-tertiary)!important;border-color:var(--color-border)!important;box-shadow:none!important;transform:none!important}@media (max-width:1024px){.product-card{min-height:400px}.product-card-content{gap:.625rem;padding:1rem}.product-controls{gap:.5rem}.weight-selector{height:2.375rem;font-size:.8125rem}.quantity-control{height:2.375rem}.quantity-button{width:2.375rem;font-size:1rem}.product-add-button{min-height:2.5rem;padding:.875rem 1.25rem}}@media (max-width:768px){.product-card{border-radius:var(--radius-lg);min-height:380px}.product-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.product-card-content{gap:.625rem;padding:1rem}.product-card .card-title{min-height:2.4rem;max-height:2.4rem;font-size:clamp(.9375rem,3.5vw,1rem)}.product-description{font-size:.8125rem;line-height:1.4}.product-controls{flex-direction:column;gap:.5rem}.weight-selector{height:2.25rem;padding:0 .625rem;font-size:.8125rem}.quantity-control{align-self:center;width:fit-content;height:2.25rem}.quantity-button{width:2.25rem;font-size:.9375rem}.quantity-value{min-width:1.5rem;font-size:.8125rem}.product-add-button{min-height:2.5rem;padding:.75rem 1rem;font-size:.8125rem;font-weight:600}}@media (max-width:600px){.product-card{min-height:300px}.product-card>.product-card-link:first-child,.card-image{height:140px}.product-card-content{gap:.375rem;padding:.625rem}.product-card .card-title{-webkit-line-clamp:2;min-height:auto;max-height:none;font-size:.8125rem}.product-description{display:none}.product-controls{flex-direction:column;gap:.375rem}.weight-selector{background-position:right .375rem center;background-size:.875rem;min-width:0;height:1.875rem;padding:0 1.5rem 0 .5rem;font-size:.75rem}.quantity-control{align-self:stretch;height:1.875rem}.quantity-button{width:1.875rem;font-size:.875rem}.quantity-value{min-width:1.25rem;font-size:.75rem}.product-add-button{letter-spacing:.02em;min-height:2rem;padding:.5rem .375rem;font-size:.6875rem}.product-price-section{min-height:auto;padding:.25rem 0}}@media (max-width:480px){.product-card{min-height:360px}.product-card-content{gap:.5rem;padding:.875rem}.product-card .card-title{min-height:2.25rem;max-height:2.25rem;font-size:.9375rem}.product-description{font-size:.8125rem}.weight-selector,.quantity-control{height:2rem}.quantity-button{width:2rem;font-size:.875rem}.quantity-value{font-size:.75rem}.product-add-button{letter-spacing:.03125rem;min-height:2.25rem;padding:.625rem .875rem;font-size:.75rem}}
