*{box-sizing:border-box;margin:0;padding:0}:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh;background:#f8f9fa}#root{width:100%;min-height:100vh}h1,h2,h3,h4,h5,h6{color:#333;font-weight:600}p{color:#666;line-height:1.6}button{font-family:inherit;font-size:inherit;border:none;cursor:pointer;transition:all .3s ease}button:focus{outline:2px solid #667eea;outline-offset:2px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.app{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);color:#333}.app-header{text-align:center;padding:2rem 1rem;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.2);margin-bottom:2rem}.app-header h1{font-size:2.5rem;margin:0 0 .5rem;background:linear-gradient(45deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:700}.app-header p{font-size:1.1rem;color:#666;margin:0 0 1.5rem}.collection-nav{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;margin-top:1.5rem}.collection-btn{background:#667eea1a;color:#667eea;border:2px solid rgba(102,126,234,.2);padding:.6rem 1.2rem;border-radius:25px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.3rem;font-size:.9rem}.collection-btn:hover{background:#667eea33;border-color:#667eea66;transform:translateY(-1px)}.collection-btn.active{background:linear-gradient(45deg,#667eea,#764ba2);color:#fff;border-color:transparent;box-shadow:0 4px 15px #667eea4d}.collection-btn .product-count{font-size:.8rem;opacity:.8;background:#fff3;padding:.1rem .4rem;border-radius:10px;margin-left:.2rem}.app-main{max-width:1200px;margin:0 auto;padding:0 1rem 2rem}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#fff}.spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading p{font-size:1.1rem;margin:0}.error{text-align:left;padding:2rem;background:#fffffff2;border-radius:12px;margin:2rem auto;max-width:600px;box-shadow:0 4px 20px #0000001a}.config-error{border-left:4px solid #ff9800}.api-error{border-left:4px solid #d32f2f}.error h3{color:#d32f2f;margin-bottom:1rem;font-size:1.2rem}.config-error h3{color:#ff9800}.config-instructions{margin:1rem 0}.config-instructions ol{margin:.5rem 0 0 1rem;color:#666}.config-instructions li{margin:.3rem 0}.config-instructions code{background:#f5f5f5;padding:.2rem .4rem;border-radius:3px;font-family:Courier New,monospace;font-size:.9rem}.config-instructions details{margin:1rem 0;padding:.5rem;background:#f8f9fa;border-radius:6px}.config-instructions summary{cursor:pointer;font-weight:600;color:#667eea}.config-instructions pre{background:#2d3748;color:#e2e8f0;padding:1rem;border-radius:6px;overflow-x:auto;font-size:.85rem;margin:.5rem 0}.api-error-details{margin:1rem 0;color:#666}.error button{background:#667eea;color:#fff;border:none;padding:.8rem 1.5rem;border-radius:6px;font-size:1rem;cursor:pointer;transition:background-color .3s ease;margin-top:1rem}.error button:hover{background:#5a6fd8}@media (max-width: 768px){.app-header h1{font-size:2rem}.app-header p{font-size:1rem}.collection-nav{gap:.3rem}.collection-btn{padding:.5rem .8rem;font-size:.8rem}.app-main{padding:0 .5rem 1rem}}@media (max-width: 480px){.collection-nav{flex-direction:column;align-items:center}.collection-btn{width:100%;max-width:200px;justify-content:center}}.product-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 10px #0000001a;transition:all .3s ease;border:1px solid #e0e0e0;position:relative}.product-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.product-image-container{position:relative;width:100%;height:250px;overflow:hidden;background:#f5f5f5}.image-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#f5f5f5}.image-loader{width:30px;height:30px;border:3px solid #e0e0e0;border-top:3px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}.product-image{width:100%;height:100%;object-fit:cover;transition:all .3s ease;opacity:0}.product-image.loaded{opacity:1}.product-card:hover .product-image{transform:scale(1.05)}.product-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.product-card:hover .product-overlay{opacity:1}.quick-view-btn{background:#fff;color:#333;border:none;padding:.8rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease;transform:translateY(10px)}.product-card:hover .quick-view-btn{transform:translateY(0)}.quick-view-btn:hover{background:#667eea;color:#fff}.product-info{padding:1.2rem}.product-vendor{color:#667eea;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.product-title{font-size:1.1rem;font-weight:600;color:#333;margin:0 0 .5rem;line-height:1.3;min-height:2.6rem;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-description{color:#666;font-size:.9rem;line-height:1.4;margin:0 0 .8rem;min-height:2.8rem}.product-collections{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.8rem}.collection-tag{background:linear-gradient(45deg,#667eea,#764ba2);color:#fff;font-size:.7rem;padding:.2rem .6rem;border-radius:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.product-type{color:#888;font-size:.8rem;background:#f5f5f5;padding:.3rem .8rem;border-radius:15px;display:inline-block;margin-bottom:1rem}.product-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem}.product-price{font-size:1.3rem;font-weight:700;color:#333}.add-to-cart-btn{background:linear-gradient(45deg,#667eea,#764ba2);color:#fff;border:none;padding:.7rem 1.2rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.add-to-cart-btn:hover{background:linear-gradient(45deg,#5a6fd8,#6a4190);transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.add-to-cart-btn:active{transform:translateY(0)}@media (max-width: 480px){.product-image-container{height:200px}.product-info{padding:1rem}.product-title{font-size:1rem}.product-footer{flex-direction:column;align-items:stretch;gap:.8rem}.add-to-cart-btn{width:100%;text-align:center}}.product-grid-container{background:#fffffff2;border-radius:12px;padding:1.5rem;box-shadow:0 4px 20px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.controls{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0}.filter-section,.sort-section{display:flex;align-items:center;gap:.5rem}.controls label{font-weight:600;color:#333;font-size:.9rem}.controls select{padding:.5rem .8rem;border:1px solid #ddd;border-radius:6px;background:#fff;font-size:.9rem;cursor:pointer;transition:border-color .3s ease}.controls select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea33}.products-count{font-size:.9rem;color:#666;margin-bottom:1rem;font-weight:500}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1rem}.no-products{text-align:center;padding:3rem 1rem;color:#666}.no-products p{font-size:1.1rem;margin:0}@media (max-width: 768px){.product-grid-container{padding:1rem;margin:0 .5rem}.controls{flex-direction:column;align-items:stretch;gap:.8rem}.filter-section,.sort-section{justify-content:space-between}.controls select{flex:1;max-width:200px}.product-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}}@media (max-width: 480px){.product-grid{grid-template-columns:1fr;gap:1rem}}
