.product-card-module__NC2vAG__product-card{cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:8px;flex-direction:column;height:100%;transition:all .3s;display:flex;overflow:hidden}.product-card-module__NC2vAG__product-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #0000001a}.product-card-module__NC2vAG__product-card.product-card-module__NC2vAG__out-of-stock{opacity:.7}.product-card-module__NC2vAG__product-card:focus{outline-offset:2px;outline:2px solid #3498db}.product-card-module__NC2vAG__product-image{background:#f5f5f5;width:100%;height:200px;position:relative;overflow:hidden}.product-card-module__NC2vAG__product-image img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .3s}.product-card-module__NC2vAG__product-card:hover .product-card-module__NC2vAG__product-image img{transform:scale(1.05)}.product-card-module__NC2vAG__out-of-stock-overlay{color:#fff;background:#000000b3;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;display:flex;position:absolute;inset:0}.product-card-module__NC2vAG__product-info{flex-direction:column;flex:1;padding:16px;display:flex}.product-card-module__NC2vAG__product-name{color:#333;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 8px;font-size:1.1rem;font-weight:600;display:-webkit-box;overflow:hidden}.product-card-module__NC2vAG__product-category{color:#666;margin:0 0 12px;font-size:.9rem}.product-card-module__NC2vAG__product-rating{align-items:center;gap:8px;margin-bottom:12px;display:flex}.product-card-module__NC2vAG__stars{color:#ddd;font-size:1.1rem}.product-card-module__NC2vAG__stars span.product-card-module__NC2vAG__filled{color:orange}.product-card-module__NC2vAG__review-count{color:#666;font-size:.85rem}.product-card-module__NC2vAG__product-price{color:#2c3e50;margin-top:auto;font-size:1.3rem;font-weight:700}
.product-grid-module__lgWnBG__product-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;padding:16px 0;display:grid}.product-grid-module__lgWnBG__empty-state{text-align:center;color:#666;padding:48px 16px;font-size:1.1rem}@media (max-width:768px){.product-grid-module__lgWnBG__product-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}}@media (max-width:480px){.product-grid-module__lgWnBG__product-grid{grid-template-columns:1fr}}
.loading-spinner-module__rNPQLa__spinner-container{flex-direction:column;justify-content:center;align-items:center;min-height:200px;padding:48px;display:flex}.loading-spinner-module__rNPQLa__spinner{text-align:center;justify-content:center;gap:8px;width:70px;display:flex}.loading-spinner-module__rNPQLa__spinner>div{background-color:#3498db;border-radius:100%;width:18px;height:18px;animation:1.4s ease-in-out infinite both loading-spinner-module__rNPQLa__sk-bouncedelay;display:inline-block}.loading-spinner-module__rNPQLa__spinner .loading-spinner-module__rNPQLa__bounce1{animation-delay:-.32s}.loading-spinner-module__rNPQLa__spinner .loading-spinner-module__rNPQLa__bounce2{animation-delay:-.16s}.loading-spinner-module__rNPQLa__loading-text{color:#666;margin-top:16px;font-size:1rem}@keyframes loading-spinner-module__rNPQLa__sk-bouncedelay{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}
.error-message-module__oEKpga__error-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:200px;padding:48px;display:flex}.error-message-module__oEKpga__error-icon{margin-bottom:16px;font-size:3rem}.error-message-module__oEKpga__error-text{color:#e74c3c;max-width:400px;margin-bottom:24px;font-size:1.1rem}.error-message-module__oEKpga__retry-button{color:#fff;cursor:pointer;background-color:#3498db;border:none;border-radius:4px;padding:10px 24px;font-size:1rem;transition:background-color .3s}.error-message-module__oEKpga__retry-button:hover{background-color:#2980b9}.error-message-module__oEKpga__retry-button:focus{outline-offset:2px;outline:2px solid #3498db}
