.filter-sidebar{background:var(--surface);padding:1.5rem;border-radius:1rem;height:fit-content;position:sticky;top:1rem;border:1px solid var(--border);box-shadow:var(--shadow)}.filter-sidebar-head{display:flex;align-items:center;justify-content:space-between}.filter-sidebar h2{font-size:var(--fs-md);margin-bottom:1.5rem;color:var(--text);font-weight:700;border-bottom:2px solid var(--border);padding-bottom:1rem;flex:1}.filter-close,.filter-done{display:none}.filter-group{margin-bottom:1.5rem}.filter-group label{display:block;font-weight:600;margin-bottom:.5rem;color:var(--text);font-size:var(--fs-sm)}.filter-group select,.filter-group input{width:100%;padding:.65rem;min-height:var(--control-h);border:1px solid var(--border);border-radius:.5rem;font-size:var(--fs-sm);background:var(--light);color:var(--text);transition:all .2s}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 3px #0ea5a41a}.price-display{padding:.875rem;background:#0ea5a41a;border-radius:.5rem;margin-bottom:.75rem;font-weight:700;text-align:center;color:var(--primary);border:1px solid rgba(14,165,164,.2)}.price-labels{display:flex;justify-content:space-between;font-size:var(--fs-xs);color:var(--text-light);margin-top:.5rem}.btn-reset{width:100%;padding:.75rem;background:var(--light);border:2px solid var(--primary);border-radius:.75rem;cursor:pointer;font-weight:600;transition:all .3s;color:var(--primary)}.btn-reset:hover{background:var(--primary);color:var(--bg);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #0ea5a44d}@media (max-width: 768px){.filter-close{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;margin-bottom:1.5rem;background:none;border:none;color:var(--text-light);font-size:var(--fs-lg);cursor:pointer;border-radius:6px}.filter-close:hover{background:#ffffff0f;color:var(--text)}.filter-done{display:block;width:100%;margin-top:1rem;padding:.85rem 1rem;min-height:48px;background:var(--primary);color:var(--secondary);border:none;border-radius:.5rem;font-size:var(--fs-base);font-weight:700;cursor:pointer}}.products-page{max-width:1400px;margin:0 auto;padding:2rem 1rem;display:grid;grid-template-columns:250px 1fr;gap:2rem;min-height:100vh;background:var(--bg);border-radius:1rem;width:100%;box-sizing:border-box;overflow-x:hidden}.products-page>.breadcrumbs{grid-column:1 / -1;margin-bottom:0}.products-content{box-sizing:border-box;min-width:0}.products-content h1{margin-bottom:2rem;font-size:var(--fs-3xl);color:var(--text);font-weight:800}.products-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:2rem;flex-wrap:wrap}.products-header h1{margin:0;flex:1;min-width:200px}.sort-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.sort-controls label{font-weight:600;color:var(--text);white-space:nowrap}.sort-select{padding:.5rem 1rem;min-height:var(--control-h);border:2px solid var(--border);border-radius:.5rem;background:var(--surface);color:var(--text);font-size:var(--fs-base);cursor:pointer;transition:all .3s ease}.sort-select:hover{border-color:var(--primary);box-shadow:0 2px 8px #0ea5a41a}.sort-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0ea5a41a}.products-content h2{color:var(--text);font-weight:700}.provider-title{margin-bottom:1rem;padding-bottom:.75rem;font-size:var(--fs-lg);font-weight:700;color:var(--text);border-bottom:2px solid var(--border)}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.provider-section{margin-bottom:2.5rem}.products-by-provider{width:100%}.search-results-info{background:#0ea5a414;border:1px solid rgba(14,165,164,.2);border-radius:.75rem;padding:1rem 1.5rem;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.search-results-info p{margin:0;color:var(--text-light);font-size:var(--fs-base)}.search-results-info strong{color:var(--primary);font-weight:700}.btn-clear-search{background:var(--surface);border:2px solid var(--primary);color:var(--primary);padding:.5rem 1rem;border-radius:.5rem;font-size:var(--fs-sm);font-weight:600;cursor:pointer;transition:all .3s}.btn-clear-search:hover{background:var(--primary);color:var(--bg);transform:translateY(-2px);box-shadow:0 4px 12px #0ea5a44d}.mobile-filter-toggle{display:none}.products-toolbar{display:flex;align-items:center;gap:.75rem}.products-intro{color:var(--text-light);margin:-1rem 0 1.5rem;max-width:760px;line-height:1.6}.filter-overlay{display:none}@media (max-width: 1024px){.products-page{padding:1.5rem .875rem}}@media (max-width: 768px){.mobile-filter-toggle{display:inline-flex;align-items:center;gap:.4rem;align-self:flex-start;margin-bottom:1rem;padding:.6rem 1.1rem;min-height:44px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:.5rem;font-size:var(--fs-base);font-weight:600;cursor:pointer}.filter-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:999}.products-page{grid-template-columns:1fr;padding:1rem .75rem}.filter-sidebar{position:fixed;top:0;left:0;bottom:0;width:85vw;max-width:340px;margin:0;border-radius:0;z-index:1000;overflow-y:auto;transform:translate(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 24px #00000059}.filter-sidebar.mobile-open{transform:translate(0)}.products-content h1{font-size:var(--fs-xl);margin-bottom:0;line-height:1.3}.products-header{flex-direction:column;align-items:stretch;gap:.75rem;margin-bottom:1rem}.products-toolbar .mobile-filter-toggle{margin-bottom:0;flex-shrink:0}.products-toolbar .sort-controls{flex:1;min-width:0}.products-toolbar .sort-controls label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.products-toolbar .sort-select{width:100%}.products-content{display:flex;flex-direction:column}.products-content>.products-intro{order:99;margin:1.5rem 0 0;font-size:var(--fs-sm)}.products-header h1{min-width:auto}.sort-controls{justify-content:space-between}}@media (max-width: 480px){.products-page{padding:.75rem .5rem}.products-content h1{font-size:var(--fs-xl)}.sort-select{width:100%}}
