.filter-panel{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.filter-panel .filter-group label{color:#374151;text-transform:uppercase;letter-spacing:.5px}.filter-panel .filter-group input,.filter-panel .filter-group select{border-color:#d1d5db;color:#1f2937}.filter-panel .filter-group input:focus-visible,.filter-panel .filter-group select:focus-visible{border-color:var(--focus-color,#f9844a);box-shadow:0 0 0 var(--focus-width,3px) color-mix(in srgb,var(--focus-color,#f9844a) 20%,transparent)}.filter-panel .filter-group input::placeholder{color:#9ca3af}.filter-panel .filter-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem}.filter-panel .filter-group select:hover{border-color:#9ca3af}.events-archive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;margin-top:2rem}.events-archive-grid.loading{opacity:.6;pointer-events:none}.events-archive-grid .event-card.ajax-enter{opacity:0;transform:translateY(10px) scale(.98)}.events-archive-grid .event-card.ajax-enter.ajax-enter-active{opacity:1;transform:translateY(0) scale(1);transition:opacity .28s ease,transform .28s ease;transition-delay:var(--ajax-stagger, 0ms)}.events-empty-state{grid-column:1/-1;padding:3rem 1rem;text-align:center;color:#666;font-size:1rem}@media (prefers-reduced-motion:reduce){.events-archive-grid .event-card.ajax-enter,.events-archive-grid .event-card.ajax-enter.ajax-enter-active{opacity:1;transform:none;transition:none}}@media (max-width:1024px){.events-archive-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}}@media (max-width:768px){.events-archive-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.filter-input,.filter-select{width:100%;padding:.6rem .8rem;font-size:.95rem}}@media (max-width:480px){.events-archive-grid{grid-template-columns:1fr}.filter-group label{font-size:.9rem}}