.collettore-filtri{position:sticky;top:calc(var(--header-height, 78px) + 3rem);display:flex;flex-direction:column;gap:15px;border:1px solid #e9ecef;border-radius:8px;background-color:#f8f9fa;padding:15px;height:100%}.filtri-container{display:flex;flex-direction:column;gap:20px}.filtri-section{margin-bottom:0}.filtri-label{display:block;margin-bottom:10px;color:#333;font-weight:600;font-size:14px}.filtri-checkboxes{display:flex;flex-direction:column;gap:0}.filtro-all-indicator{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#e9ecef;border:1px solid #dee2e6;border-radius:4px;color:#6c757d;font-size:14px;transition:all 0.3s ease;opacity:.6;cursor:pointer;width:100%;text-align:left;&:hover{background:#d4e9f7;border-color:#007bff;opacity:.8}&.is-active{background:#d4edda;border-color:#28a745;color:#155724;font-weight:600;opacity:1;&:hover{background:#c3e6cb;border-color:#1e7e34}.all-icon{opacity:1}}.all-icon{font-size:12px;opacity:0;transition:opacity 0.3s ease}}.filtro-checkbox-label{display:flex;align-items:center;gap:.25em;cursor:pointer;padding:.25em;margin:0;background:#fff;border:1px solid #dee2e6;border-radius:4px;transition:all 0.2s ease;font-size:14px;line-height:1;cursor:pointer;&:hover{border-color:#007bff;background:#f0f8ff}}.filtro-checkbox-child{margin-left:20px;padding-left:24px;border-left:2px solid #007bff;border-top-left-radius:0;border-bottom-left-radius:0;background:#f8f9fa;font-size:13px;&:hover{background:#e7f3ff}}.filtro-checkbox{margin-right:8px;cursor:pointer}.checkbox-text{user-select:none}.filtri-actions{margin-top:10px;padding-top:15px;border-top:1px solid #e0e0e0}.btn-filtri-reset{background:#f5f5f5;border:1px solid #ddd;border-radius:4px;padding:10px 16px;cursor:pointer;transition:all 0.3s ease;display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;color:#666;width:100%;font-weight:500;&:hover{background:#e8e8e8;border-color:#ccc;color:#333}}.collettore-grid-wrapper{position:relative;min-height:400px;transition:opacity 0.3s ease-in-out;&.is-loading{opacity:.3;.collettore-loading{opacity:1;pointer-events:auto}}&.loaded{opacity:1}}.collettore-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;opacity:0;pointer-events:none;transition:opacity 0.3s ease-in-out}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 3rem;background:#fff;border-radius:8px;box-shadow:0 4px 20px rgb(0 0 0 / .1);span{font-weight:600;color:#333}}.spinner-icon{width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid #007bff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.card-grid{position:relative;>*{transition:opacity 0.3s ease-in-out,transform 0.3s ease-in-out}}@keyframes cardFadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.card-wrapper.card-animate-in{animation:cardFadeIn 0.4s ease-out forwards;opacity:0}.collettore-empty{text-align:center;padding:3rem;background:#f8f9fa;border-radius:8px;margin:2rem 0;grid-column:1 / -1;animation:cardFadeIn 0.4s ease-out forwards}.collettore-griglia:not(.ajax-loaded) .card-wrapper{animation:cardFadeIn 0.4s ease-out forwards;opacity:0;&:nth-child(1){animation-delay:0s}&:nth-child(2){animation-delay:0.05s}&:nth-child(3){animation-delay:0.1s}&:nth-child(4){animation-delay:0.15s}&:nth-child(5){animation-delay:0.2s}&:nth-child(6){animation-delay:0.25s}&:nth-child(7){animation-delay:0.3s}&:nth-child(8){animation-delay:0.35s}&:nth-child(9){animation-delay:0.4s}&:nth-child(10){animation-delay:0.45s}&:nth-child(11){animation-delay:0.5s}&:nth-child(12){animation-delay:0.55s}}