.filters-bar{background:var(--color-white);border-radius:var(--border-radius-md);padding:5px;box-shadow:var(--shadow-medium);display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;position:sticky;top:80px;z-index:10;border:1px solid var(--color-border)}.filter-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;height:44px;background:color-mix(in srgb,var(--color-accent-alt) 12%,var(--color-white));border:2px solid var(--color-primary);border-radius:var(--border-radius-sm);cursor:pointer;font-size:14px;font-weight:600;color:var(--color-primary);transition:var(--transition-base);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.filter-btn:hover{border-color:var(--color-accent-alt);color:var(--color-primary);background:var(--color-white);transform:translateY(-2px);box-shadow:var(--shadow-light)}.filter-btn.active{background:var(--color-accent);color:var(--color-white);border-color:var(--color-accent)}.filter-btn.active .filter-arrow{transform:rotate(180deg)}.filter-icon{display:inline-flex;align-items:center;justify-content:center}.filter-label{font-weight:600}.filter-arrow{font-size:12px;transition:transform .3s ease}.results-count-heading{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin:0;font-family:var(--font-heading);display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;padding-left:10px;padding-right:56px}.results-count-heading .results-count-number{color:var(--color-accent);font-weight:800}.results-count-heading .results-count-label{color:inherit;font-size:inherit;font-weight:inherit}.filters-summary-card{background:var(--color-white);border-radius:16px;padding:4px;border:1px solid var(--color-border);box-shadow:var(--shadow-medium);display:flex;flex-direction:column;position:relative}.filters-summary-actions{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:12px;row-gap:8px;border-top:0;padding-top:6px}.filters-summary-actions .active-filters-container{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-left:0;min-width:0;position:relative;z-index:1}.filters-summary-actions .filter-btn{position:absolute;top:8px;right:8px;padding:8px 10px;height:auto;min-width:auto;border-radius:10px;background:transparent;border:0;box-shadow:none;z-index:3;touch-action:manipulation}.filters-summary-actions .filter-btn .filter-label{display:none}.filters-summary-actions .filter-btn .filter-icon svg{width:22px;height:22px;color:var(--color-accent-alt);stroke:var(--color-accent-alt)}@media(hover:hover)and (pointer:fine){.filters-summary-actions .filter-btn:hover{transform:translateY(-1px);opacity:.85}}.filters-summary-card--compact{margin-bottom:8px;padding:6px 8px}@media(max-width:900px){.filters-summary-actions{grid-template-columns:1fr;row-gap:10px}}@media(max-width:768px){.filters-summary-card{width:100%;max-width:100%;min-width:0}.filters-summary-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding-top:34px}.filters-summary-actions .active-filters-container{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;margin-left:0;order:1;align-self:stretch;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px;max-width:100%;min-width:0;touch-action:pan-x}.filters-summary-actions .active-filters-container::-webkit-scrollbar{display:none}.filters-summary-actions .filter-btn{order:0;gap:0}.filters-summary-actions .filter-btn .filter-label{display:none}.filters-summary-actions .active-filters{display:flex;flex-wrap:nowrap;gap:6px;flex:1 1 auto;min-width:0;width:auto;justify-self:start}.filters-summary-actions .reset-filters{align-self:flex-start}}.filters-modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0006;backdrop-filter:blur(4px);z-index:10000;display:none}.filters-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(760px,90vw);max-height:90vh;max-height:90dvh;height:min(90vh,90dvh);background:var(--color-white);border-radius:var(--border-radius-md, 12px);box-shadow:var(--shadow-heavy);display:none;z-index:10001;flex-direction:column;overflow:hidden}.filters-modal.open,.filters-modal-backdrop.open{display:flex!important}.filters-modal.open{display:flex!important;align-items:stretch}.filters-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border);flex-shrink:0}.filters-modal-header h3{margin:0;font-size:1.1rem;color:var(--color-primary);text-align:left}.filters-modal-close{background:transparent;border:none;font-size:22px;cursor:pointer;color:var(--color-text-dark)}.filters-modal-body{padding:16px 20px 20px;display:grid;gap:18px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;max-height:calc(100% - 120px)}.filters-modal-group h4{margin:0 0 10px;font-size:.95rem;color:var(--color-text-dark)}.filters-modal-tags{padding:12px 20px 0}.filters-modal-tags-row{display:flex;align-items:center;gap:12px;padding:12px 20px 0;flex-wrap:wrap}.filters-modal-tags-row .filters-modal-tags{padding:0}.dropdown-content label{display:flex;align-items:center;padding:10px 15px;border-radius:var(--border-radius-sm);cursor:pointer;transition:var(--transition-base);font-size:15px;color:var(--color-text-dark)}.dropdown-content label:hover{background:var(--color-background)}.dropdown-content input[type=checkbox]{width:20px;height:20px;margin-right:12px;cursor:pointer;accent-color:var(--color-accent)}.active-filters-container{display:flex;align-items:center;gap:12px;margin-left:auto;flex-wrap:wrap}.active-filters{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:0;flex:1 1 0;min-width:0}.filter-tag{display:inline-flex;align-items:center;gap:8px;padding:2px 14px;background:linear-gradient(135deg,var(--color-white),var(--color-primary-light-box));color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--border-radius-full);font-size:13px;font-weight:500;box-shadow:0 2px 6px #2d6e7826;animation:tagAppear .3s ease;white-space:nowrap;max-width:100%}.filter-tag .tag-icon{display:inline-flex;align-items:center;justify-content:center}.filter-tag .tag-icon svg{width:16px;height:16px;stroke:currentColor}.filter-tag .remove-tag,.filter-tag .remove-filter{cursor:pointer;font-size:18px;font-weight:700;opacity:.9;transition:opacity .2s ease;background:transparent;border:none;color:var(--color-primary);padding:0;margin-left:4px}.filter-tag .remove-tag:hover,.filter-tag .remove-filter:hover{opacity:1}@keyframes tagAppear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.reset-filters{width:30px;height:30px;min-width:30px;min-height:30px;max-width:30px;padding:0;background:var(--color-background);color:var(--color-primary);border:1px solid var(--color-primary);border-radius:50%;font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition-base, all .3s ease);display:none;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 6px #2d6e7826}.reset-filters.reset-filters--visible{display:flex}.reset-filters:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}@media(max-width:479px){.filters-modal{width:95vw;max-height:90dvh}.filters-bar{padding:10px!important;gap:8px!important;position:relative!important;top:0!important;margin:10px!important;border-radius:12px!important}.filter-btn{flex:1 1 calc(50% - 4px);padding:10px 12px;font-size:13px;justify-content:center;gap:6px}.filter-label{display:none}.filter-arrow{font-size:10px}.filters-bar .reset-filters{width:100%;margin-left:0;margin-top:8px}.filters-bar .active-filters-container{width:100%;margin-top:8px;margin-left:0;justify-content:flex-end}}@media(min-width:480px)and (max-width:767px){.filters-modal{top:50%;left:50%;transform:translate(-50%,-50%);width:95%;max-height:85dvh}.filters-bar{padding:12px;gap:10px;position:relative;top:0}.filter-btn{flex:1 1 calc(50% - 5px);padding:12px 16px;font-size:14px}.reset-filters{width:100%}}@media(min-width:768px)and (max-width:1023px){.filters-modal{top:50%;left:50%;transform:translate(-50%,-50%);width:95%;max-height:85dvh}.filters-bar{padding:8px;gap:10px;flex-wrap:wrap}.filter-btn{flex:0 1 auto;padding:12px 18px}.reset-filters{flex:1 1 auto;margin-left:auto}}
