:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#fffffff2;display:flex;justify-content:center;align-items:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.loading-spinner{text-align:center}.spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.loading-text{color:#2c3e50;font-size:16px;font-weight:500;margin:0}.image-with-fallback{position:relative;width:100%;height:100%;overflow:hidden}.fallback-image{width:100%;height:100%;object-fit:cover;transition:opacity .3s ease}.fallback-image.loading{opacity:0}.fallback-image.error{object-fit:contain;padding:20px;background:#f8f9fa}.image-loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;background:#f8f9fa;z-index:1}.loading-spinner{width:30px;height:30px;border:3px solid #e9ecef;border-top:3px solid #3498db;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.product-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;width:280px;margin:16px;position:relative}.product-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.product-image-container{position:relative;width:100%;height:200px;overflow:hidden;background:#f8f9fa}.product-image-wrapper{width:100%;height:100%}.discount-badge{position:absolute;top:12px;right:12px;background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff;padding:4px 8px;border-radius:20px;font-size:12px;font-weight:700;z-index:2}.product-info{padding:16px}.product-title{font-size:16px;font-weight:600;color:#2c3e50;margin:0 0 12px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-price{display:flex;align-items:center;gap:8px;margin-bottom:12px}.original-price{color:#95a5a6;text-decoration:line-through;font-size:14px}.current-price{color:#e74c3c;font-weight:700;font-size:18px}.product-location{color:#7f8c8d;font-size:14px;margin:0 0 16px;display:flex;align-items:center;gap:4px}.product-actions{display:flex;gap:8px}.btn-primary,.btn-secondary{flex:1;padding:10px 16px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:14px}.btn-primary{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.btn-primary:hover{background:linear-gradient(135deg,#2980b9,#1f5f8b);transform:translateY(-1px)}.btn-secondary{background:#ecf0f1;color:#2c3e50;border:1px solid #bdc3c7}.btn-secondary:hover{background:#d5dbdb;transform:translateY(-1px)}@media (max-width: 768px){.product-card{width:calc(50% - 16px);margin:8px}.product-title{font-size:14px}.current-price{font-size:16px}.product-actions{flex-direction:column}}@media (max-width: 480px){.product-card{width:calc(100% - 16px)}}.product-grid{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:40px 0}.grid-header{text-align:center;margin-bottom:40px}.main-title{font-size:2.5rem;font-weight:700;color:#2c3e50;margin:0 0 16px;background:linear-gradient(135deg,#2c3e50,#3498db);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{font-size:1.1rem;color:#7f8c8d;margin:0 0 24px;line-height:1.6}.product-count{display:inline-block;background:#3498db1a;color:#3498db;padding:8px 16px;border-radius:20px;font-weight:600;font-size:14px}.products-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;justify-items:center}@media (max-width: 768px){.product-grid{padding:20px 0}.container{padding:0 16px}.main-title{font-size:2rem}.subtitle{font-size:1rem}.products-container{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}}@media (max-width: 480px){.main-title{font-size:1.75rem}.products-container{grid-template-columns:1fr;gap:12px}}.error-display{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;justify-content:center;align-items:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.error-content{background:#fff;border-radius:16px;padding:32px;max-width:500px;width:90%;text-align:center;box-shadow:0 20px 40px #0000004d;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.error-icon{font-size:48px;margin-bottom:16px}.error-title{color:#2c3e50;font-size:24px;font-weight:700;margin:0 0 16px}.error-message{color:#7f8c8d;font-size:16px;line-height:1.6;margin:0 0 24px}.error-suggestions{background:#f8f9fa;border-radius:8px;padding:16px;margin:16px 0;text-align:left}.error-suggestions p{color:#2c3e50;font-weight:600;margin:0 0 8px}.error-suggestions ul{color:#7f8c8d;margin:0;padding-left:20px}.error-suggestions li{margin:4px 0;line-height:1.4}.retry-button{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:16px}.retry-button:hover{background:linear-gradient(135deg,#2980b9,#1f5f8b);transform:translateY(-1px)}@media (max-width: 768px){.error-content{padding:24px;margin:20px}.error-title{font-size:20px}.error-message{font-size:14px}}@media (max-width: 480px){.error-content{padding:20px}.error-icon{font-size:36px}.error-title{font-size:18px}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;color:#2c3e50}.App{min-height:100vh;background:#f8f9fa}.error-message{position:fixed;top:20px;left:50%;transform:translate(-50%);background:#e74c3c;color:#fff;padding:12px 24px;border-radius:8px;font-weight:600;z-index:1000;box-shadow:0 4px 12px #e74c3c4d}.container{max-width:1200px;margin:0 auto;padding:0 20px}.text-center{text-align:center}.mb-4{margin-bottom:1rem}.mt-4{margin-top:1rem}@media (max-width: 768px){.container{padding:0 16px}}@media (max-width: 480px){.container{padding:0 12px}}.card{border:1px solid #ddd;border-radius:5px;padding:12px;margin:10px;width:200px;text-align:center;background:#fff;box-shadow:0 2px 4px #0000001a}.discount{color:gray;text-decoration:line-through}.price{color:#ff5722;font-weight:700}.spinner{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:700}
