/* S31: small marketplace-style filter chips. No permanent panel or date row. */
.s31-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:15px 0 12px;min-height:42px}
.s31-filter-form{min-width:0;flex:1;font-family:inherit}
.s31-pills{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.s31-chip{position:relative;flex:0 0 auto}
.s31-chip summary{list-style:none}
.s31-chip summary::-webkit-details-marker{display:none}
.s31-pill{box-sizing:border-box;display:flex;align-items:center;gap:7px;border:1px solid transparent;background:#f2f3f6;color:#223047;border-radius:13px;min-height:40px;padding:0 14px;font:inherit;font-size:13px;line-height:1.2;white-space:nowrap;cursor:pointer;user-select:none;transition:background-color .15s,border-color .15s}
.s31-pill:hover{background:#e9edf3}
.s31-chip[open]>.s31-pill,.s31-chip.is-active>.s31-pill{background:#eaf0ff;border-color:#c7d7fa;color:#2456b2}
.s31-chip-all>.s31-pill{font-weight:600;background:#ecedf1}
.s31-pill:focus-visible,.s31-option:focus-within,.s31-jump:focus-visible,.s31-clear:focus-visible,.s31-apply:focus-visible{outline:2px solid #2c68e9;outline-offset:3px}
.s31-selected{font-weight:600}
.s31-chevron{opacity:.65;flex-shrink:0;transition:transform .15s}
.s31-chip[open] .s31-chevron{transform:rotate(180deg)}
.s31-number{min-width:18px;height:18px;border-radius:99px;display:inline-flex;justify-content:center;align-items:center;background:#2c65ea;color:white;font-size:11px;font-weight:700}
.s31-popover{position:absolute;top:calc(100% + 7px);left:0;z-index:160;min-width:226px;max-width:min(340px,calc(100vw - 24px));box-sizing:border-box;padding:10px;border:1px solid #e0e5ee;border-radius:13px;background:#fff;box-shadow:0 18px 44px rgba(18,37,75,.18)}
.s31-chip:not([open])>.s31-popover{display:none}
.s31-popover-all{min-width:210px}
.s31-pop-title{font-size:12px;color:#7a8597;font-weight:600;padding:4px 10px 9px;margin:0}
.s31-jump{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:0;border-radius:8px;padding:10px;text-align:left;font:inherit;font-size:13px;line-height:1.3;color:#263449;cursor:pointer}
.s31-jump:hover{background:#f2f5fa}
.s31-pop-reset{display:block;margin:6px 0 0;border-top:1px solid #edf0f4;padding:13px 10px 5px;color:#3767b4;font-size:13px;text-decoration:none}
.s31-options{margin:0;padding:0;border:0;min-width:0}
.s31-options legend{padding:5px 8px 10px;font-size:12px;font-weight:700;color:#63718a}
.s31-option{display:flex;align-items:center;gap:10px;border-radius:8px;padding:8px 9px;color:#303c51;font-size:13px;line-height:1.45;cursor:pointer}
.s31-option:hover{background:#f3f6fb}
.s31-option:has(input:checked){background:#edf3ff;color:#255fca;font-weight:600}
.s31-option input{width:16px;height:16px;accent-color:#3269e8;margin:0;flex-shrink:0}
.s31-option span{display:block}
.s31-dates{display:none;margin:9px 4px 4px;border-top:1px solid #edf0f4;padding-top:11px;gap:9px}
.s31-chip:has(input[name="event_age"][value="period"]:checked) .s31-dates{display:grid}
.s31-dates label{font-size:12px;color:#59687e;display:flex;flex-direction:column;gap:5px}
.s31-dates input{border:1px solid #cbd5e3;border-radius:8px;padding:8px 9px;min-width:0;max-width:100%;background:white;color:#1e2d40;font:inherit;font-size:13px}
.s31-apply{width:100%;border:0;border-radius:9px;padding:10px;background:#2d68f4;color:#fff;font-size:13px;font-weight:600;margin-top:10px;cursor:pointer;min-height:39px}
.s31-enhanced .s31-chip:not(:has(input[name="event_age"][value="period"]:checked)) .s31-apply{display:none}
.s31-enhanced .s31-chip-all .s31-apply{display:none}
.s31-clear{flex-shrink:0;margin:0 4px;color:#647187;font-size:12px;text-decoration:none;text-underline-offset:3px;white-space:nowrap}
.s31-clear:hover,.s31-clear:focus-visible{color:#2b63d4;text-decoration:underline}
.s31-results{flex-shrink:0;display:flex;gap:5px;align-items:center;white-space:nowrap;color:#62708a;font-size:13px;line-height:1.4}
.s31-results strong{font-weight:700;font-variant-numeric:tabular-nums;color:#1c2b46}
.s31-of{color:#8a94a3}
.s53-expand-form{flex:0 0 auto;margin:0}
.s53-expand-toggle{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:4px 11px;border:1px solid #d7e0ee;border-radius:13px;background:#f8faff;color:#34465f;font:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}
.s53-expand-toggle small{font-size:11px;font-weight:400;color:#65758c}
.s53-expand-toggle:hover{background:#edf3fb}
.s53-expand-toggle:focus-visible{outline:2px solid #2c68e9;outline-offset:2px}
.s53-switch-track{width:27px;height:16px;background:#bdc9d9;border-radius:16px;display:inline-flex;align-items:center;padding:2px;transition:background .15s}
.s53-switch-track i{width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #60718980;transition:transform .15s}
.s53-expand-toggle.is-on{background:#e9f0fe;border-color:#b9cdec;color:#2154a8}
.s53-expand-toggle.is-on .s53-switch-track{background:#2d68f4}
.s53-expand-toggle.is-on .s53-switch-track i{transform:translateX(11px)}
.s53-no-archive{color:#53637d;font-size:13px;margin:4px 0 15px}
.s53-older-event{display:inline-block;border-radius:5px;background:#f2f4f7;color:#536176;font-size:11px;font-weight:600;padding:2px 5px}

@media(max-width:900px){.s31-toolbar{align-items:flex-start;flex-direction:column;gap:6px}.s53-expand-form{max-width:100%}.s31-filter-form{width:100%}.s31-pills{flex-wrap:nowrap;overflow-x:auto;overflow-y:clip;padding:2px 2px 5px;scrollbar-width:thin}.s31-toolbar{margin:9px 0 12px}.s31-pill{padding:0 12px;min-height:39px}.s31-results{padding-left:2px;font-size:12px}.s31-popover{max-width:min(330px,calc(100vw - 24px))}}
@media(prefers-reduced-motion:reduce){.s31-pill,.s31-chevron{transition:none}}
