:root{--primary:#10b981;--primary-dark:#059669;--primary-light:#d1fae5;--secondary:#3b82f6;--accent:#f59e0b;--background:#f8fafc;--surface:#fff;--text:#1e293b;--text-light:#64748b;--border:#e2e8f0;--shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--radius:12px;--radius-sm:8px;--radius-lg:16px}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{background:var(--background);color:var(--text);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}#root{min-height:100vh}a{color:var(--primary);text-decoration:none;transition:color .2s}a:hover{color:var(--primary-dark)}button{cursor:pointer;font-family:inherit}input,select{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.page-container{flex-direction:column;min-height:100vh;display:flex}.header{color:#fff;text-align:center;background:linear-gradient(135deg,#10b981 0%,#059669 50%,#047857 100%);padding:3rem 1.5rem 2.5rem;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.header:before{content:"";pointer-events:none;background:radial-gradient(circle at 20%,#ffffff1a 0%,#0000 50%);position:absolute;inset:0}.header-content{z-index:1;max-width:1200px;margin:0 auto;position:relative}.logo{justify-content:center;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.logo-icon{font-size:2.5rem}.logo-image{object-fit:contain;filter:drop-shadow(0 4px 6px #0003);width:auto;height:4.5rem;transition:transform .3s}.logo-image:hover{transform:scale(1.05)}.logo h1{letter-spacing:-.5px;text-shadow:0 2px 4px #0000001a;margin:0;font-size:2.5rem;font-weight:800}.logo-dot{opacity:.8;font-weight:600}.tagline{opacity:.95;text-shadow:0 1px 2px #0000001a;letter-spacing:.3px;margin:0;font-size:1.2rem;font-weight:500}.main-content{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:1.5rem}.search-section{margin-bottom:1.5rem}.search-container{margin-bottom:1rem;position:relative}.search-icon{opacity:.6;font-size:1.25rem;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.search-input{border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text);padding:1rem 3rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.search-input::placeholder{color:var(--text-light)}.search-clear{color:var(--text-light);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.25rem;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.search-clear:hover{color:var(--text)}.search-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.filter-toggle{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-sm);color:var(--text);align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.filter-toggle:hover{border-color:var(--primary);background:var(--primary-light)}.filter-toggle.active{background:var(--primary);border-color:var(--primary);color:#fff}.filter-count{color:var(--primary);text-align:center;background:#fff;border-radius:999px;min-width:1.5rem;padding:.2rem .5rem;font-size:.75rem;font-weight:700}.sort-container{align-items:center;gap:.5rem;margin-left:auto;display:flex}.sort-container label{color:var(--text-light);font-size:.9rem;font-weight:500}.sort-container select{border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;min-width:180px;padding:.75rem 1rem;font-size:.95rem;font-weight:500}.sort-container select:focus{border-color:var(--primary);outline:none}.filters-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin-bottom:1.5rem;padding:1.5rem}.filters-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.filters-header h2{color:var(--text);margin:0;font-size:1.25rem;font-weight:700}.reset-filters{color:var(--primary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:.5rem 1rem;font-size:.9rem;font-weight:600;transition:background .2s}.reset-filters:hover{background:var(--primary-light)}.filters-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem;display:grid}.filter-group{flex-direction:column;gap:.5rem;display:flex}.filter-label{color:var(--text);align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;display:flex}.filter-icon{font-size:1rem}.filter-unit{color:var(--text-light);font-size:.8rem;font-weight:400}.filter-range{align-items:center;gap:.5rem;display:flex}.filter-range input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background);color:var(--text);flex:1;min-width:0;padding:.6rem .75rem;font-size:.9rem}.filter-range input:focus{border-color:var(--primary);outline:none}.filter-range input::placeholder{color:var(--text-light)}.range-separator{color:var(--text-light);font-size:.9rem}.slider-container{flex-direction:column;gap:.75rem;display:flex}.slider-values{background:var(--primary-light);border-radius:var(--radius-sm);color:var(--primary);justify-content:space-between;align-items:center;padding:.5rem .75rem;font-weight:600;display:flex}.slider-value{font-size:.95rem}.slider-separator{color:var(--primary);opacity:.6;font-size:.9rem}.dual-slider{align-items:center;height:40px;display:flex;position:relative}.slider-track{background:var(--border);border-radius:3px;width:100%;height:6px;position:absolute}.slider-track-active{background:linear-gradient(90deg,#10b981,#34d399);border-radius:3px;height:6px;transition:left .1s,right .1s;position:absolute}.slider{appearance:none;pointer-events:none;z-index:2;background:0 0;outline:none;width:100%;height:6px;position:absolute}.slider::-webkit-slider-track{background:0 0;border-radius:3px;width:100%;height:6px}.slider::-moz-range-track{background:0 0;border-radius:3px;width:100%;height:6px}.slider::-webkit-slider-thumb{appearance:none;background:var(--primary);cursor:pointer;pointer-events:auto;z-index:3;border:2px solid #fff;border-radius:50%;width:18px;height:18px;transition:transform .1s,box-shadow .1s;position:relative;box-shadow:0 2px 4px #0003}.slider::-moz-range-thumb{background:var(--primary);cursor:pointer;pointer-events:auto;z-index:3;border:2px solid #fff;border-radius:50%;width:18px;height:18px;transition:transform .1s,box-shadow .1s;position:relative;box-shadow:0 2px 4px #0003}.slider::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 3px 6px #0000004d}.slider::-moz-range-thumb:hover{transform:scale(1.2);box-shadow:0 3px 6px #0000004d}.slider::-webkit-slider-thumb:active{transform:scale(1.1)}.slider::-moz-range-thumb:active{transform:scale(1.1)}.slider-max::-webkit-slider-thumb{background:var(--primary-dark)}.slider-max::-moz-range-thumb{background:var(--primary-dark)}.slider-bounds{justify-content:space-between;padding:0 .25rem;display:flex}.slider-bound{color:var(--text-light);font-size:.75rem;font-weight:500}.filter-toggle-section{justify-content:center;margin-top:1.5rem;padding-top:1rem;display:flex}.show-all-filters-btn{color:var(--primary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.show-all-filters-btn:hover{background:var(--primary-light)}.show-all-filters-btn .chevron{font-size:.75rem;transition:transform .2s}.filter-chips-section{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.5rem}.filter-chips-section h3{color:var(--text);margin:0 0 1rem;font-size:1rem;font-weight:600}.filter-chips{flex-wrap:wrap;gap:.5rem;display:flex}.chip{background:var(--background);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:999px;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:all .2s}.chip:hover{border-color:var(--primary);background:var(--primary-light)}.chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.chips-more{color:var(--text-light);padding:.5rem 1rem;font-size:.85rem}.results-summary{align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 0;display:flex}.results-count{color:var(--text);font-size:1rem}.results-count strong{color:var(--primary);font-weight:700}.active-filters-hint{color:var(--text-light);font-size:.9rem}.sticky-results-bar{z-index:10;border-bottom:1px solid var(--border);background:#fff;margin:0 -1.5rem 1.5rem;padding:.75rem 1rem;position:sticky;top:0;box-shadow:0 1px 3px #0000001a}.sticky-bar-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.sticky-bar-left{flex-wrap:wrap;flex:1;align-items:center;gap:1rem;display:flex}.results-count-sticky{color:var(--text);white-space:nowrap;font-size:1rem;font-weight:600}.results-count-sticky strong{color:var(--primary);font-size:1.1rem;font-weight:700}.sticky-bar-right{align-items:center;gap:.5rem;display:flex}.sort-label{color:var(--text-light);white-space:nowrap;font-size:.9rem;font-weight:500}.sort-select{border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;min-width:150px;padding:.5rem .75rem;font-size:.9rem;font-weight:500}.sort-select:focus{border-color:var(--primary);outline:none}.active-filters-chips{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.filter-chip{color:#15803d;background-color:#dcfce7;border-radius:9999px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.filter-chip:hover{background-color:#bbf7d0}.filter-chip-remove{color:#15803d;opacity:.7;cursor:pointer;background:0 0;border:none;margin-left:.125rem;padding:0;font-size:.75rem;transition:opacity .2s}.filter-chip-remove:hover{opacity:1}.reset-all-btn{color:var(--text-light);cursor:pointer;background:0 0;border:none;padding:.375rem .5rem;font-size:.875rem;text-decoration:underline;transition:color .2s}.reset-all-btn:hover{color:var(--text)}.products-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.25rem;display:grid}.product-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.25rem;transition:box-shadow .2s,transform .2s}.product-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.product-header{gap:1rem;margin-bottom:1rem;display:flex}.product-image{object-fit:contain;border-radius:var(--radius-sm);background:var(--background);flex-shrink:0;width:100px;height:100px}.product-image-placeholder{background:var(--background);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:100px;height:100px;font-size:2.5rem;display:flex}.product-info{flex:1;min-width:0}.product-meta{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.product-brand{color:var(--primary);background:var(--primary-light);border-radius:999px;padding:.2rem .6rem;font-size:.8rem;font-weight:600}.product-provider{color:var(--text-light);font-size:.8rem}.product-title{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.5rem 0;font-size:1rem;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.product-price-section{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.product-price{color:var(--text);font-size:1.25rem;font-weight:800}.product-price-protein{color:var(--text-light);background:var(--background);border-radius:var(--radius-sm);padding:.2rem .5rem;font-size:.85rem}.nutrition-badges{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.nutrition-badge{border-radius:var(--radius-sm);flex-direction:column;align-items:center;min-width:55px;padding:.5rem .75rem;display:flex}.nutrition-value{color:var(--text);font-size:1rem;font-weight:700}.nutrition-unit{color:var(--text-light);margin-left:1px;font-size:.7rem}.nutrition-label{color:var(--text-light);margin-top:.1rem;font-size:.7rem}.variants-section{background:var(--background);border-radius:var(--radius-sm);margin-bottom:1rem;padding:1rem}.variants-section h4{color:var(--text);margin:0 0 .75rem;font-size:.9rem;font-weight:600}.variants-list{flex-direction:column;gap:.5rem;display:flex}.variant-item{background:var(--surface);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:.5rem;font-size:.85rem;display:flex}.variant-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.variant-price{color:var(--primary);margin-left:.5rem;font-weight:600}.variants-more{color:var(--text-light);text-align:center;padding:.5rem;font-size:.85rem}.product-actions{flex-wrap:wrap;gap:.75rem;display:flex}.btn-primary{background:var(--primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .2s,transform .1s;display:inline-flex}.btn-primary:hover{background:var(--primary-dark);color:#fff;transform:translateY(-1px)}.btn-secondary{background:var(--background);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-secondary:hover{border-color:var(--primary);background:var(--primary-light)}.no-results{text-align:center;background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);grid-column:1/-1;padding:4rem 2rem}.no-results-icon{opacity:.5;margin-bottom:1rem;font-size:4rem;display:block}.no-results h3{color:var(--text);margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.no-results p{color:var(--text-light);margin:0 0 1.5rem}.loading-container{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100vh;display:flex}.loading-spinner{border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:48px;height:48px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-container p{color:var(--text-light);font-size:1.1rem}.error-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100vh;padding:2rem;display:flex}.error-icon{font-size:4rem}.error-container h2{color:var(--text);margin:0;font-size:1.5rem;font-weight:700}.error-container p{color:var(--text-light);margin:0}.footer{background:var(--text);color:#fff;margin-top:3rem;padding:2rem 1.5rem}.footer-content{text-align:center;max-width:1200px;margin:0 auto}.footer-content p{margin:0 0 .5rem;font-size:.95rem}.footer-disclaimer{opacity:.7;font-size:.85rem!important}@media (max-width:768px){.header{padding:1.5rem 1rem}.logo h1{font-size:1.5rem}.logo-icon{font-size:2rem}.tagline{font-size:.95rem}.main-content{padding:1rem}.search-actions{flex-direction:column;align-items:stretch}.sort-container{margin-left:0}.sort-container select{width:100%}.filters-grid{grid-template-columns:1fr 1fr}.sticky-bar-content{flex-direction:column;align-items:stretch}.sticky-bar-left,.sticky-bar-right{flex-direction:column;align-items:stretch;width:100%}.sort-select{width:100%;min-width:unset}.active-filters-chips{width:100%}.products-grid{grid-template-columns:1fr}.product-header{text-align:center;flex-direction:column}.product-image,.product-image-placeholder{margin:0 auto}.product-meta,.product-price-section,.nutrition-badges,.product-actions{justify-content:center}}@media (max-width:480px){.filters-grid{grid-template-columns:1fr}.filter-range{flex-direction:column;align-items:stretch}.range-separator{text-align:center;padding:.25rem 0}}
