@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.loading-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:1000px 100%;animation:shimmer 2s infinite linear;border-radius:4px;min-height:20px;margin-bottom:8px}.loading-skeleton.text{height:20px;width:100%}.loading-skeleton.title{height:32px;width:70%}.loading-skeleton.image{height:200px;width:100%}.loading-skeleton.avatar{height:48px;width:48px;border-radius:50%}.loading-skeleton.button{height:40px;width:120px}.loading-skeleton.card{height:300px;width:100%}.loading-container{display:flex;flex-direction:column;gap:16px;padding:16px;width:100%;max-width:800px;margin:0 auto}.loading-skeleton.w-25{width:25%}.loading-skeleton.w-50{width:50%}.loading-skeleton.w-75{width:75%}.loading-skeleton.w-100{width:100%}.loading-skeleton.h-sm{height:16px}.loading-skeleton.h-md{height:24px}.loading-skeleton.h-lg{height:32px}.loading-skeleton.h-xl{height:48px}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.loading-skeleton.pulse{animation:pulse 1.5s ease-in-out infinite;background:#e0e0e0}.product-card{background:#fffffff2;backdrop-filter:blur(10px);border-radius:16px;box-shadow:0 4px 6px #00000012,0 1px 3px #0000001a,inset 0 1px #fffc;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;height:100%;border:1px solid rgba(255,255,255,.2);position:relative}.product-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 25px #00000026,0 10px 10px #0000001a,inset 0 1px #ffffffe6;border-color:#8fbc8f4d}.product-card .product-badges{position:absolute;top:12px;left:12px;z-index:1000;display:flex;flex-direction:column;gap:4px}.product-card .product-badges .badge{padding:2px 6px;border-radius:8px;font-size:.55rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.4);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4);max-width:70px;text-align:center;line-height:1.2;box-shadow:0 2px 8px #0003;transition:all .3s ease}.product-card .product-badges .badge:hover{transform:scale(1.05);box-shadow:0 4px 12px #0000004d;border-radius:8px}.product-card .product-badges .badge.badge-warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.product-card .product-badges .badge.badge-danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.product-card .product-badges .badge.badge-success{background:linear-gradient(135deg,#10b981,#059669)}.product-card .product-badges .badge.badge-info{background:linear-gradient(135deg,#3b82f6,#2563eb)}.product-card .product-badges .badge.badge-primary{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.product-card .product-badges .badge.badge-secondary{background:linear-gradient(135deg,#6b7280,#4b5563)}.product-card .product-badges .badge.badge-dark{background:linear-gradient(135deg,#374151,#1f2937)}.product-card .product-badges .badge.badge-organic{background:linear-gradient(135deg,#10b981,#059669)}.product-card .product-badges .badge.badge-vegan{background:linear-gradient(135deg,#84cc16,#65a30d)}.product-card .product-badges .badge.badge-gluten-free{background:linear-gradient(135deg,#f59e0b,#d97706)}.product-card .product-badges .badge.badge-eco{background:linear-gradient(135deg,#06b6d4,#0891b2)}.product-card .product-badges .badge.badge-bio{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.product-card .product-badges .badge.badge-premium{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1f2937;text-shadow:0 1px 2px rgba(255,255,255,.8)}.product-card .product-badges .badge.badge-new{background:linear-gradient(135deg,#ef4444,#dc2626)}.product-card .product-badges .badge.badge-featured{background:linear-gradient(135deg,#ec4899,#db2777)}.product-card .product-image-container{position:relative;width:100%;padding-bottom:120%;background:linear-gradient(135deg,#f8fafc,#e2e8f0);overflow:hidden;border-radius:16px 16px 0 0;margin-bottom:.3rem}.product-card .product-image-container .product-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;object-position:center;transition:all .4s cubic-bezier(.4,0,.2,1);padding:1.25rem;box-sizing:border-box;filter:brightness(1.05) contrast(1.1)}.product-card .product-image-container .product-image:hover{transform:scale(1.05)}.product-card .product-image-container .product-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#8fbc8fe6,#8fbc8fb3);display:flex;justify-content:center;align-items:center;opacity:0;transition:all .4s cubic-bezier(.4,0,.2,1);z-index:1}.product-card .product-image-container .product-overlay.visible{opacity:1}.product-card .product-image-container .product-overlay .view-details-btn{background:#fffffff2;color:#374151;padding:12px 24px;border-radius:25px;text-decoration:none;font-weight:600;font-size:.9rem;transition:all .3s ease;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);box-shadow:0 4px 15px #0000001a}.product-card .product-image-container .product-overlay .view-details-btn:hover{background:#fff;transform:scale(1.05);box-shadow:0 8px 25px #00000026}.product-card .product-image-container .dosha-icons{position:absolute;top:8px;right:8px;display:flex;gap:3px;z-index:1000}.product-card .product-image-container .dosha-icons .dosha-icon{width:20px;height:20px;border-radius:50%;background:#ffffffe6;padding:2px;box-shadow:0 2px 8px #0000001a;transition:transform .3s ease}.product-card .product-image-container .dosha-icons .dosha-icon:hover{transform:scale(1.2)}.product-card .product-image-container .stock-indicator{position:absolute;bottom:12px;left:12px;z-index:1000;display:flex;flex-direction:column;align-items:flex-start;gap:4px;background:#000000b3;padding:8px 12px;border-radius:8px;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.product-card .product-image-container .stock-indicator .stock-bar{width:100%;height:4px;background:#ffffff4d;border-radius:2px;overflow:hidden;margin-bottom:4px}.product-card .product-image-container .stock-indicator .stock-bar .stock-fill{height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:2px;transition:width .6s ease}.product-card .product-image-container .stock-indicator .stock-text{font-size:.7rem;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);font-weight:500}.product-card .product-info{padding:.6rem;display:flex;flex-direction:column;flex:1;gap:.35rem}.product-card .product-info .product-rating{display:flex;align-items:center;gap:.4rem;margin-bottom:.1rem}.product-card .product-info .product-rating .stars{display:flex;gap:1px}.product-card .product-info .product-rating .stars .star{color:#d1d5db;font-size:.85rem;transition:color .3s ease}.product-card .product-info .product-rating .stars .star.filled{color:#fbbf24}.product-card .product-info .product-rating .review-count{font-size:.7rem;color:#6b7280;font-weight:500}.product-card .product-info .product-title{margin:0;font-size:1.1rem;font-weight:700;line-height:1.25;color:#1f2937;margin-bottom:.1rem}.product-card .product-info .product-title a{color:inherit;text-decoration:none;transition:color .3s ease}.product-card .product-info .product-title a:hover{color:#8fbc8f}.product-card .product-info .description{color:#6b7280;font-size:.85rem;line-height:1.3;margin:0;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:.35rem}.product-card .product-info .product-details{display:flex;justify-content:space-between;align-items:center;margin:.2rem 0}.product-card .product-info .product-details .price{font-size:1.25rem;font-weight:800;color:#8fbc8f;text-shadow:0 1px 2px rgba(0,0,0,.1)}.product-card .product-info .product-details .stock-text-mobile{font-size:.75rem;color:#6b7280;font-weight:500}.product-card .product-info .product-footer{margin-top:.35rem}.product-card .product-info .product-footer .add-to-cart-btn{width:100%;padding:10px 16px;background:linear-gradient(135deg,#8fbc8f,#7a9f7a);color:#fff;border:none;border-radius:10px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 3px 12px #8fbc8f4d;position:relative;overflow:hidden}.product-card .product-info .product-footer .add-to-cart-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.product-card .product-info .product-footer .add-to-cart-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #8fbc8f66}.product-card .product-info .product-footer .add-to-cart-btn:hover:before{left:100%}.product-card .product-info .product-footer .add-to-cart-btn:active{transform:translateY(0)}.product-card .product-info .product-footer .add-to-cart-btn.disabled{background:#9ca3af;cursor:not-allowed;box-shadow:none}.product-card .product-info .product-footer .add-to-cart-btn.disabled:hover{transform:none;box-shadow:none}.product-card.out-of-stock{opacity:.7}.product-card.out-of-stock .product-image{filter:grayscale(.5)}@media (max-width: 768px){.product-card{border-radius:12px}.product-card .product-image-container{padding-bottom:110%;margin-bottom:.3rem}.product-card .product-info{padding:.5rem;gap:.3rem}.product-card .product-info .product-title{font-size:1rem}.product-card .product-info .description{font-size:.8rem;-webkit-line-clamp:2}.product-card .product-info .product-details{flex-direction:column;align-items:flex-start;gap:.2rem}.product-card .product-info .product-details .price{font-size:1.1rem}.product-card .product-badges{top:8px;left:8px}.product-card .product-badges .badge{font-size:.45rem;padding:1px 4px;max-width:60px}.product-card .dosha-icons{top:8px;right:8px}.product-card .dosha-icons .dosha-icon{width:18px;height:18px}}@media (max-width: 480px){.product-card .product-image-container{padding-bottom:100%;margin-bottom:.25rem}.product-card .product-info{padding:.4rem;gap:.25rem}.product-card .product-info .product-title{font-size:.95rem}.product-card .product-info .description{font-size:.75rem}.product-card .product-info .add-to-cart-btn{padding:8px 14px;font-size:.85rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
