.event-filters{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.event-filters button,.event-actions button,.event-list button{font:inherit;color:var(--map-ink);background:var(--map-surface);border:1px solid var(--map-border);border-radius:12px;padding:10px;min-height:44px;cursor:pointer}.event-filters button{font-size:12px}.event-filters [aria-pressed=true]{background:var(--map-active);font-weight:700}.event-list{display:grid;gap:8px;max-height:38dvh;overflow:auto}.event-list button{text-align:left}.event-list span,.event-list small{display:block;margin-top:5px}.event-note{font-size:12px!important;line-height:1.5!important;opacity:.85}.event-actions{display:flex;gap:8px;flex-wrap:wrap}.event-actions button:disabled{opacity:.6;cursor:default}.event-actions button:focus-visible,.event-filters button:focus-visible,.event-list button:focus-visible{outline:2px solid var(--map-ink);outline-offset:2px}
.event-discovery .event-when{margin-top:6px}.event-discovery .event-actions button{flex:1;min-width:110px}.event-discovery .event-actions [data-event-next]:not(:disabled){background:var(--map-active);font-weight:700}.event-details{margin-top:8px}.event-details summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600}.event-details summary:before{content:'+';margin-right:8px}.event-details[open] summary:before{content:'−'}.event-details p{font-size:14px!important;line-height:1.5!important}.event-discovery #event-check-status{font-size:13px;line-height:1.4;margin:6px 0}

/* Purple is the shared event / vibrancy color. */

.event-filters [aria-pressed=true],.event-discovery .event-actions [data-event-next]:not(:disabled){background:#e1c9f3;color:#4d2675;border-color:#b58bd5}

.event-search-form label{display:block;font-weight:600;margin:10px 0 8px}
.event-search-bar{display:flex;gap:8px;min-width:0}
.event-search-bar input{flex:1;width:100%;min-width:0;min-height:44px;box-sizing:border-box;border:1px solid var(--map-border);border-radius:12px;padding:10px;background:var(--map-surface);color:var(--map-ink);font:inherit;font-size:16px}
.event-search-bar button{min-height:44px;border:1px solid var(--map-border);border-radius:12px;padding:10px;background:var(--map-active);color:var(--map-ink);font:inherit;cursor:pointer}
#event-search .event-filters button,#event-search [role=status],#event-search .event-search-note{font-size:14px!important;line-height:1.5}
#event-search .event-list{max-height:30dvh;overscroll-behavior:contain}
#event-search .event-list button{font-size:16px;overflow-wrap:anywhere}
#event-search .event-list span{font-size:14px}
#event-search .event-live{font-weight:700;color:#4d2675}
#event-search :focus-visible{outline:3px solid var(--map-ink);outline-offset:2px}



/* Keep dense venue results as separate readable cards in the shared pager. */
.event-venue-list button{break-inside:avoid;overflow-wrap:anywhere;max-width:100%;font-size:16px}
.event-venue-list span{font-size:14px;line-height:1.45}
.event-source-link{display:inline-flex;align-items:center;min-height:44px;font-weight:600;color:var(--map-ink)}
.event-discovery p{overflow-wrap:anywhere}

/* Small discoveries on the map; generous, transparent touch targets. */
.event-map-pin{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;display:grid;place-items:center;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.event-sparkle{width:27px;height:27px;display:block;position:relative;pointer-events:none;filter:drop-shadow(0 1px 2px #48285b99);animation:event-star-breathe 4.8s ease-in-out infinite;animation-delay:var(--sparkle-delay,0s)}
.event-sparkle:before{content:"";position:absolute;inset:-4px;border-radius:50%;background:radial-gradient(circle,#fff4be88 0%,#c898e944 38%,transparent 70%);z-index:-1}
.event-sparkle svg{width:100%;height:100%;overflow:visible}
.event-sparkle-star{fill:#fff1bd;stroke:#754d87;stroke-width:1.25;stroke-linejoin:round}
.event-sparkle-glint{fill:#fffbe6;stroke:#754d87;stroke-width:.65;animation:event-star-glint 4.8s ease-in-out infinite;animation-delay:var(--sparkle-delay,0s);transform-origin:26px 6px}
.event-map-pin:hover .event-sparkle,.event-map-pin:focus-visible .event-sparkle,.event-map-pin.is-selected .event-sparkle{animation:none;transform:scale(1.15);filter:drop-shadow(0 0 5px #fff0ac) drop-shadow(0 1px 2px #48285b99)}
.event-map-pin:focus-visible{outline:2px solid #754d87;outline-offset:0;background:#fff7dc33}
.event-map-pin:active .event-sparkle{transform:scale(.92)}
@keyframes event-star-breathe{0%,100%{opacity:.8;transform:scale(.9)}45%{opacity:1;transform:scale(1.06)}65%{opacity:.94;transform:scale(.98)}}
@keyframes event-star-glint{0%,65%,100%{opacity:.25;transform:scale(.65)}35%,45%{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.event-sparkle,.event-sparkle-glint{animation:none!important}.event-sparkle{opacity:1;transform:none}}

/* Venue feeds page by event, never by a clipped inner list. */
html body #app #discovery-tray:has(.event-venue-list) .map-step>.business-card-heading,
html body #app #discovery-tray:has(.event-venue-list) .map-step>h2{display:none!important}
html body #app .loom-card-stack .event-venue-list{display:block!important;max-height:none!important;overflow:visible!important}
html body #app .event-venue-list .event-venue-heading{font:500 22px/1.15 Georgia,serif;margin:0 0 12px;overflow-wrap:anywhere}
.event-venue-list>button{display:block;width:100%;box-sizing:border-box;text-align:left;padding:12px;border:1px solid var(--map-border);border-radius:12px;background:var(--map-surface);color:var(--map-ink);font:inherit;line-height:1.4;cursor:pointer}
.event-venue-list>button>strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:16px;line-height:1.4}
.event-venue-list>button>span{display:block;margin-top:8px}

/* Event cards have their own bounded reader, separate from place/business chrome. */
html body #app #discovery-tray:has(.event-reader) .map-step>.business-card-heading,
html body #app #discovery-tray:has(.event-reader) .map-step>h2{display:none!important}
html body #app .loom-event-reader .loom-stack-flow .map-step,
html body #app .loom-event-reader .loom-stack-flow .map-step-copy{height:100%!important;margin:0!important;padding:0!important}
html body #app .loom-event-reader .loom-stack-flow [data-event-reader="events"]{display:flex!important;flex-direction:column;height:100%!important;max-height:100%!important;gap:8px;overflow:hidden!important;box-sizing:border-box}
html body #app .event-reader .event-reader-title{font:500 24px/1.12 Georgia,serif!important;margin:0!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;flex-shrink:0}
html body #app .event-reader .event-reader-venue{font-size:14px!important;line-height:1.4!important;margin:0!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;flex-shrink:0}
html body #app .event-reader .event-reader-when{font-size:14px!important;line-height:1.4!important;margin:0!important;flex-shrink:0}
.event-reader-details{display:block;min-height:44px;width:100%;margin-top:auto;border:1px solid var(--map-border);border-radius:12px;background:var(--map-active);color:var(--map-ink);font:600 16px/1.3 system-ui;cursor:pointer}
html body #app .event-reader[data-event-reader="information"]{break-inside:auto!important}
html body #app .event-reader[data-event-reader="information"] h3{font:500 22px/1.15 Georgia,serif;margin:0 0 12px}
