.events-explorer{--events-line:var(--color-rule);background:color-mix(in srgb, var(--color-accent) 6%, var(--color-canvas));border:1px solid color-mix(in srgb, var(--color-accent) 15%, var(--color-rule));border-radius:12px;padding:clamp(1rem,2.4vw,2rem)}.events-intro{max-width:43rem;color:var(--color-muted);margin-bottom:1.75rem}.events-controls[inert]{visibility:hidden}.events-month[hidden],.events-more[hidden]{display:none}.events-period{border-block:1px solid var(--events-line);flex-wrap:wrap;align-items:center;gap:.75rem;padding-block:1rem;display:flex}.events-period p{font-family:var(--font-display);flex:1;min-width:12rem;margin:0;font-size:1.55rem;line-height:1.2}.events-explorer button{background:var(--color-canvas);border:1px solid var(--events-line);cursor:pointer;min-height:44px;font:600 .875rem/1.4 var(--font-body);color:var(--color-ink);border-radius:4px;padding:.65rem .9rem}.events-explorer button:hover{border-color:var(--color-accent);color:var(--color-accent)}.events-explorer button:disabled{opacity:.45;cursor:default}.events-filters{flex-wrap:wrap;gap:1rem;padding:1rem 0;display:flex}.events-filters label{flex:1;gap:.35rem;min-width:8rem;font-size:.8rem;font-weight:600;display:grid}.events-filters select,.events-filters input{font:400 .95rem/1.4 var(--font-body);background:var(--color-canvas);width:100%;min-height:44px;color:var(--color-ink);border:1px solid var(--events-line);border-radius:4px;padding:.6rem}.events-status,.events-note{color:var(--color-muted);margin:1rem 0;font-size:.875rem}.events-results{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;min-height:38rem;display:grid}.event-card{border:1px solid var(--events-line);background:var(--color-surface);border-radius:8px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.event-card-body{flex-direction:column;flex:1;padding:1.25rem;display:flex}.event-media{background:var(--color-ink);height:250px;position:relative}.event-media-fallback{background:var(--color-accent);height:100%;color:var(--color-on-accent);flex-direction:column;justify-content:center;align-items:center;display:flex}.event-media-kicker{letter-spacing:.12em;text-transform:uppercase;font-size:.75rem}.event-media-day{font:500 6rem/1.1 var(--font-display)}.event-media-label{font-size:.875rem}.event-poster{object-fit:contain;background:var(--color-ink);width:100%;height:100%;position:absolute;inset:0}.event-card .event-lineup{border-top:1px solid var(--events-line);padding-top:.6rem;font-weight:600}.event-card .event-date{color:var(--color-accent);text-transform:uppercase;letter-spacing:.06em;margin:0 0 1rem;font-size:.8rem;font-weight:700}.event-card h3{overflow-wrap:anywhere;margin:0 0 .75rem;font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.2}.event-card p{margin:0 0 .55rem;font-size:.9rem}.event-card .event-venue{font-weight:600}.event-card .event-meta{color:var(--color-muted);font-size:.78rem}.event-card a{align-self:start;margin-top:auto;padding-top:1.25rem;font-size:.875rem}.events-more{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;margin-top:1rem;font-size:.8rem;display:flex}.events-sources{border-top:1px solid var(--events-line);margin-top:2rem;padding-block:1rem}.events-sources summary{cursor:pointer;padding:.5rem 0;font-weight:600}.events-sources p{max-width:44rem;color:var(--color-muted);font-size:.875rem}.events-sources ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 2rem;padding:0;list-style:none;display:grid}.events-sources li{border-bottom:1px solid var(--events-line);gap:.3rem;padding:.75rem 0;display:grid}.events-sources li span[data-source]{color:var(--color-muted);font-size:.75rem}.events-month{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:1.5rem;display:grid}.events-month .calendar-weekday{text-align:center;padding:.5rem 0;font-size:.75rem}.events-month button{justify-items:start;gap:.4rem;min-height:74px;padding:.6rem;display:grid}.events-month button span{color:var(--color-muted);font-size:.65rem}.events-month button[aria-current=date]{outline:2px solid var(--color-accent);outline-offset:-2px}@media (width<=900px){.events-results{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=599px){.events-results,.events-sources ul{grid-template-columns:1fr}.events-period p{flex-basis:100%;order:-1}.events-more{justify-content:space-between}.events-month button{min-height:55px;padding:.35rem}.events-month button span{font-size:.6rem}}
