.products-page[data-astro-cid-r7ndtccj]{padding:2rem 0;min-height:100vh}.container[data-astro-cid-r7ndtccj]{max-width:1200px;margin:0 auto}.page-header[data-astro-cid-r7ndtccj]{text-align:center;padding:1rem 2rem;background:#fff;margin:0 2rem 3rem}.page-title[data-astro-cid-r7ndtccj]{font-size:2.8rem;font-weight:600;margin-bottom:1rem;color:#333}.page-description[data-astro-cid-r7ndtccj]{font-size:1.6rem;color:#666;line-height:1.6;margin-bottom:1.5rem;max-width:600px;margin-left:auto;margin-right:auto}.filter-section[data-astro-cid-r7ndtccj]{margin-top:2rem}.filter-buttons[data-astro-cid-r7ndtccj]{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem}.filter-btn[data-astro-cid-r7ndtccj]{padding:.7rem 1.4rem;border:1px solid #e1e5e9;background:#fff;color:#666;border-radius:20px;cursor:pointer;transition:all .2s ease;outline:none;white-space:nowrap;flex-shrink:0;height:auto;line-height:1.2;display:flex;align-items:center;justify-content:center;min-width:60px;text-align:center;text-transform:none;letter-spacing:normal;font-weight:400;position:relative;overflow:hidden;z-index:2}.filter-btn[data-astro-cid-r7ndtccj].active{border:1px solid #000000;background:#000;color:#fff}.filter-btn[data-astro-cid-r7ndtccj]:hover{background:#000;color:#fff;border-color:#000}.filter-btn[data-astro-cid-r7ndtccj]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),rgba(255,255,255,.5),rgba(255,255,255,.3),transparent);z-index:1;opacity:0;transition:opacity .3s ease}.filter-btn[data-astro-cid-r7ndtccj]:not(.active):hover:before{opacity:1;animation:shimmerOnce 1s ease-out}.filter-btn[data-astro-cid-r7ndtccj]:not(.active):not(:hover){background:#fff!important;color:#666!important;border-color:#e1e5e9!important}.products-grid[data-astro-cid-r7ndtccj]{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem;padding:0 2rem}.empty-state[data-astro-cid-r7ndtccj]{text-align:center;padding:4rem 2rem;margin-top:2rem}.empty-content[data-astro-cid-r7ndtccj]{max-width:400px;margin:0 auto}.empty-icon[data-astro-cid-r7ndtccj]{width:64px;height:64px;margin:0 auto 1.5rem;color:#cbd5e0;stroke-width:1.5}.empty-title[data-astro-cid-r7ndtccj]{font-size:1.5rem;font-weight:600;color:#4a5568;margin-bottom:.5rem}.empty-description[data-astro-cid-r7ndtccj]{font-size:1rem;color:#718096;line-height:1.5}.product-item[data-astro-cid-r7ndtccj]{position:relative;display:flex;flex-direction:column;height:100%}.product-card-link[data-astro-cid-r7ndtccj]{text-decoration:none;color:inherit;display:block;flex:1;transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:center}.product-card[data-astro-cid-r7ndtccj]{background:#fff;overflow:hidden;height:400px;display:flex;flex-direction:column;position:relative;transition:all .3s ease}.product-card[data-astro-cid-r7ndtccj]:hover{border-color:#cbd5e0}.product-image[data-astro-cid-r7ndtccj]{position:relative;height:200px;overflow:hidden;background:#f8f9fa}.product-image[data-astro-cid-r7ndtccj].loading{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}.product-image[data-astro-cid-r7ndtccj] img[data-astro-cid-r7ndtccj]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease,opacity .3s ease;opacity:0;will-change:transform}.product-image[data-astro-cid-r7ndtccj] img[data-astro-cid-r7ndtccj].loaded{opacity:1}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.product-card-link[data-astro-cid-r7ndtccj]:hover .product-image[data-astro-cid-r7ndtccj] img[data-astro-cid-r7ndtccj]{transform:scale(1.05)}.product-status[data-astro-cid-r7ndtccj]{position:absolute;top:1rem;right:1rem}.status-badge[data-astro-cid-r7ndtccj]{padding:.25rem .75rem;border-radius:15px;text-transform:uppercase;letter-spacing:.5px}.status-badge[data-astro-cid-r7ndtccj].active{background:#48bb78;color:#fff}.status-badge[data-astro-cid-r7ndtccj].development{background:#ed8936;color:#fff}.status-badge[data-astro-cid-r7ndtccj].beta{background:#4299e1;color:#fff}.product-content[data-astro-cid-r7ndtccj]{padding:1.5rem;flex:1;display:flex;flex-direction:column}.product-header[data-astro-cid-r7ndtccj]{margin-bottom:1rem}.product-title[data-astro-cid-r7ndtccj]{color:#2d3748;margin-bottom:1rem;line-height:1.3;font-size:2rem;font-weight:600}.product-meta[data-astro-cid-r7ndtccj]{display:flex;justify-content:space-between;align-items:center}.product-meta[data-astro-cid-r7ndtccj] .product-stats[data-astro-cid-r7ndtccj]{display:flex;align-items:center;padding-right:0}.product-category[data-astro-cid-r7ndtccj]{color:#4a5568;padding:.6rem 1rem;border-radius:.5rem;font-size:1.2rem;border:1px solid #e1e1e1}.product-description[data-astro-cid-r7ndtccj]{color:#718096;line-height:1.6;font-size:1.4rem;margin-bottom:1.5rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.btn[data-astro-cid-r7ndtccj]{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.2rem;border-radius:4rem;font-weight:500;text-decoration:none;transition:all .3s ease;border:none;cursor:pointer;font-size:1.6rem;background:#8080801a;color:#2d3748}.btn-primary[data-astro-cid-r7ndtccj]{color:#2d3748;border-radius:4rem;font-size:1.4rem;position:relative;overflow:hidden;z-index:2;height:4rem}.btn-primary[data-astro-cid-r7ndtccj]:hover{transform:translateY(-2px);background:#000;color:#fff}.btn-sm[data-astro-cid-r7ndtccj]{padding:.5rem 1rem;font-size:1.2rem;margin:0}.btn-icon[data-astro-cid-r7ndtccj]{width:16px;height:16px;stroke-width:2}.product-actions[data-astro-cid-r7ndtccj]{padding:0rem;margin:0rem}.btn-primary[data-astro-cid-r7ndtccj]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),rgba(255,255,255,.5),rgba(255,255,255,.3),transparent);z-index:1;opacity:0;transition:opacity .3s ease}.btn-primary[data-astro-cid-r7ndtccj]:hover:before{opacity:1;animation:shimmerOnce 1s ease-out}@keyframes shimmerOnce{0%{left:-100%}to{left:100%}}.btn-secondary[data-astro-cid-r7ndtccj]{background:#f7fafc;color:#4a5568;border:1px solid #e2e8f0}.btn-secondary[data-astro-cid-r7ndtccj]:hover{background:#edf2f7;transform:translateY(-2px)}.like-btn[data-astro-cid-r7ndtccj]{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;background:none;border:none;color:#718096;cursor:pointer;border-radius:8px;margin:0;padding:.25rem .5rem;line-height:1.5;transition:all .3s ease;position:relative}.like-btn[data-astro-cid-r7ndtccj].liked{color:#e53e3e}.like-btn[data-astro-cid-r7ndtccj].liked .like-icon[data-astro-cid-r7ndtccj]{fill:#e53e3e;stroke:#e53e3e}.like-btn[data-astro-cid-r7ndtccj]:disabled{opacity:.6;cursor:not-allowed}.like-icon[data-astro-cid-r7ndtccj]{width:18px;height:18px;stroke-width:2;fill:none;stroke:#718096;transition:all .3s ease}.like-count[data-astro-cid-r7ndtccj]{text-align:right}@media (max-width: 1100px){.products-grid[data-astro-cid-r7ndtccj]{grid-template-columns:repeat(2,1fr);gap:1.5rem}}@media (max-width: 768px){.page-header[data-astro-cid-r7ndtccj]{margin:0 2rem 3rem;padding:3rem 1.5rem}.filter-section[data-astro-cid-r7ndtccj]{margin-top:2rem}.products-grid[data-astro-cid-r7ndtccj]{grid-template-columns:1fr;gap:1.5rem;padding:0 2rem}.product-item[data-astro-cid-r7ndtccj],.product-card-link[data-astro-cid-r7ndtccj]{width:100%}.filter-buttons[data-astro-cid-r7ndtccj]{justify-content:flex-start;overflow-x:auto;padding-bottom:.5rem}.filter-btn[data-astro-cid-r7ndtccj]{white-space:nowrap;flex-shrink:0}.product-card-link[data-astro-cid-r7ndtccj]:hover{transform:none;box-shadow:none}.product-card[data-astro-cid-r7ndtccj]:hover{border-color:initial}.product-card-link[data-astro-cid-r7ndtccj]:hover .product-image[data-astro-cid-r7ndtccj] img[data-astro-cid-r7ndtccj]{transform:none}.empty-state[data-astro-cid-r7ndtccj]{padding:3rem 1rem}.empty-icon[data-astro-cid-r7ndtccj]{width:48px;height:48px;margin-bottom:1rem}.empty-title[data-astro-cid-r7ndtccj]{font-size:1.25rem}.empty-description[data-astro-cid-r7ndtccj]{font-size:.9rem}}@media (max-width: 480px){.page-header[data-astro-cid-r7ndtccj]{margin:0 2rem 3rem;padding:3rem 1rem}.filter-section[data-astro-cid-r7ndtccj]{margin-top:2rem}.products-grid[data-astro-cid-r7ndtccj]{grid-template-columns:1fr;gap:1rem;padding:0 2rem}.product-card[data-astro-cid-r7ndtccj]{border-radius:0}.product-content[data-astro-cid-r7ndtccj]{padding:1.25rem}.status-badge[data-astro-cid-r7ndtccj],.product-category[data-astro-cid-r7ndtccj],.btn[data-astro-cid-r7ndtccj],.like-btn[data-astro-cid-r7ndtccj]{border-radius:0}.filter-btn[data-astro-cid-r7ndtccj]{border-radius:20px}.product-card-link[data-astro-cid-r7ndtccj]:hover{transform:none;box-shadow:none}.product-card[data-astro-cid-r7ndtccj]:hover{border-color:initial}.product-card-link[data-astro-cid-r7ndtccj]:hover .product-image[data-astro-cid-r7ndtccj] img[data-astro-cid-r7ndtccj]{transform:none}}.qrcode-modal[data-astro-cid-r7ndtccj]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;justify-content:center;align-items:center;z-index:9999;backdrop-filter:blur(5px)}.qrcode-modal-overlay-text[data-astro-cid-r7ndtccj]{position:absolute;top:20px;left:50%;transform:translate(-50%);color:#fff;font-size:1.4rem;opacity:.8;z-index:1;pointer-events:none}.qrcode-modal-content[data-astro-cid-r7ndtccj]{background:#fff;border-radius:16px;max-width:400px;width:90%;overflow:hidden;box-shadow:0 20px 40px #0000004d;animation:modalFadeIn .3s ease;position:relative;z-index:2}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.qrcode-modal-body[data-astro-cid-r7ndtccj]{padding:32px 24px 24px;text-align:center}.qrcode-container[data-astro-cid-r7ndtccj]{margin-bottom:24px}.qrcode-container[data-astro-cid-r7ndtccj] img[data-astro-cid-r7ndtccj]{max-width:280px;width:100%;height:auto;border-radius:12px;margin-bottom:16px;display:block;margin-left:auto;margin-right:auto}.qrcode-container[data-astro-cid-r7ndtccj] p[data-astro-cid-r7ndtccj]{color:#666;font-size:1.4rem;margin:0;line-height:1.4}.qrcode-actions[data-astro-cid-r7ndtccj]{display:flex;justify-content:center}.download-btn[data-astro-cid-r7ndtccj]{background:#333;color:#fff;border:none;padding:16px 32px;border-radius:50px;font-size:1.6rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:10px;transition:all .3s ease;position:relative;overflow:hidden}.download-btn[data-astro-cid-r7ndtccj]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease;z-index:1}.download-btn[data-astro-cid-r7ndtccj]:hover:before{left:100%}.download-btn[data-astro-cid-r7ndtccj]:hover{background:#222}.download-btn[data-astro-cid-r7ndtccj]:active{background:#111}@media screen and (max-width: 600px){.qrcode-modal-content[data-astro-cid-r7ndtccj]{margin:20px;width:calc(100% - 40px)}.qrcode-modal-body[data-astro-cid-r7ndtccj]{padding:24px 20px 20px}.qrcode-container[data-astro-cid-r7ndtccj] img[data-astro-cid-r7ndtccj]{max-width:250px}.download-btn[data-astro-cid-r7ndtccj]{padding:12px 24px;font-size:1.4rem}}.product-item[data-astro-cid-r7ndtccj]{opacity:0;transform:translateY(30px);animation:fadeInUp .6s ease forwards}.product-item[data-astro-cid-r7ndtccj]:nth-child(1){animation-delay:.1s}.product-item[data-astro-cid-r7ndtccj]:nth-child(2){animation-delay:.2s}.product-item[data-astro-cid-r7ndtccj]:nth-child(3){animation-delay:.3s}.product-item[data-astro-cid-r7ndtccj]:nth-child(4){animation-delay:.4s}.product-item[data-astro-cid-r7ndtccj]:nth-child(5){animation-delay:.5s}.product-item[data-astro-cid-r7ndtccj]:nth-child(6){animation-delay:.6s}@media (max-width: 768px){.product-item[data-astro-cid-r7ndtccj]{opacity:1;transform:translateY(0);animation:none}}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.product-item[data-astro-cid-r7ndtccj].hidden{display:none!important}.product-item[data-astro-cid-r7ndtccj].show{display:flex!important;opacity:1!important;transform:translateY(0)!important;animation:fadeInScale .5s ease}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
