.discovery-research { margin: 20px 0; padding: 16px; border: 1px solid #b8c9c5; border-radius: 12px; overflow-wrap: anywhere; }
.discovery-research summary { cursor: pointer; font-weight: 700; }
.discovery-research textarea { display: block; box-sizing: border-box; width: 100%; max-width: 100%; margin: 12px 0; font: inherit; }
.discovery-periods { margin: 20px 0; line-height: 2; }
.discovery-confidence { display: inline-block; padding: 4px 10px; background: #edf4f2; color: #274c42; border-radius: 6px; font-weight: 700; }
.discovery-image { margin: 0 0 16px; }
.discovery-image img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 10px; }
.discovery-image img[hidden], .discovery-image [hidden] { display: none; }
.discovery-image figcaption { padding: 8px; font-size: .85rem; overflow-wrap: anywhere; }
.discovery-placeholder, .discovery-image [data-image-placeholder]:not([hidden]) { display: grid; place-items: center; aspect-ratio: 16 / 9; background: #edf4f2; color: #274c42; border-radius: 10px; }
.event-card, .guest-event-card { overflow-wrap: anywhere; min-width: 0; }
.event-detail .discovery-image img { max-height: 520px; }
.events-browse-hero { padding-top: 24px; padding-bottom: 20px; }
.events-browse-section { padding-top: 20px; padding-bottom: 28px; }
.events-browse-hero h1 { font-size: clamp(1.8rem, 4vw, 2.8rem); margin: 8px 0; }
.events-browse-hero .public-site-hero-copy { margin: 0; font-size: 1rem; }
.events-browse .event-public-note { font-size: .8rem; line-height: 1.4; margin: 0 0 12px; }
.events-browse .discovery-periods { margin: 12px 0; font-size: .9rem; }
.events-browse .event-filters { gap: 10px; padding: 12px; }
.events-browse .event-filters > div { flex: 1; width: auto; min-width: 100px; }
.events-browse .event-filters select { min-width: 0; }
.event-view-controls { display: flex; justify-content: end; gap: 6px; margin: 12px 0; }
.event-view-controls[hidden] { display: none; }
.event-view-controls button { padding: 8px 14px; border: 1px solid var(--public-border); border-radius: 8px; background: var(--public-surface); color: var(--public-text); cursor: pointer; }
.event-view-controls button[aria-pressed=true] { background: var(--public-brand-soft); font-weight: 700; }
.events-browse .event-grid { gap: 12px; margin-top: 12px; }
.events-browse .event-card { border-radius: 12px; box-shadow: none; }
.events-browse .discovery-image { margin: 0; }
.events-browse .discovery-image img, .events-browse .discovery-placeholder, .events-browse [data-image-placeholder] { border-radius: 0; }
.events-browse .event-card-body { padding: 10px; }
.events-browse .event-card h3 { font-size: 1rem; line-height: 1.3; margin: 0 0 8px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.event-key-fact { display: flex; gap: 5px; margin: 4px 0; font-size: .78rem; line-height: 1.35; }
.event-key-fact > span:first-child { flex: 0 0 20px; font-size: 1.15rem; line-height: 1; text-align: center; }
.event-key-fact > span:last-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.event-key-fact:last-of-type > span:last-child { white-space: normal; }
.events-browse .discovery-confidence { font-size: .7rem; padding: 3px 5px; margin-top: 5px; }
.event-card-links { display: flex; gap: 10px; flex-wrap: wrap; font-size: .7rem; margin-top: 6px; }
.events-browse[data-view=list] .event-grid { grid-template-columns: minmax(0, 1fr); }
.events-browse[data-view=list] .event-card { display: grid; grid-template-columns: 72px minmax(0, 1fr); align-items: start; }
.events-browse[data-view=list] .event-card-no-image { grid-template-columns: minmax(0, 1fr); }
.events-browse[data-view=list] .event-thumbnail { margin: 10px 0 10px 8px; }
.events-browse[data-view=list] .discovery-image img, .events-browse[data-view=list] .discovery-placeholder, .events-browse[data-view=list] [data-image-placeholder] { aspect-ratio: 1; border-radius: 8px; }
.event-photo-credits { margin-top: 28px; border-top: 1px solid var(--public-border); padding-top: 16px; font-size: .85rem; overflow-wrap: anywhere; }
.event-photo-credits a { margin-right: 12px; }
.category-illustration { margin: 0; --art-left: -123.22%; --art-top: -296.23%; }
.category-art-window { position: relative; overflow: hidden; aspect-ratio: 646 / 239; background: #edf4f2; }
.category-art-window img { position: absolute; width: 237.77%; max-width: none; height: 428.45%; left: var(--art-left); top: var(--art-top); }
.category-illustration-music { --art-left: -14.71%; --art-top: -49.37%; }
.category-illustration-food { --art-left: -123.22%; --art-top: -49.37%; }
.category-illustration-culture { --art-left: -14.71%; --art-top: -173.22%; }
.category-illustration-outdoors { --art-left: -123.22%; --art-top: -173.22%; }
.category-illustration-sport { --art-left: -14.71%; --art-top: -296.23%; }
.category-illustration figcaption { padding: 3px 6px; background: #edf4f2; font-size: .65rem; color: #274c42; }
.events-browse[data-view=list] .category-illustration figcaption { font-size: .6rem; line-height: 1.2; }
.event-card .event-thumbnail { display: block; margin-bottom: 12px; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 10px; }
.event-card .event-thumbnail :is(.discovery-image, .category-illustration) { height: 100%; margin: 0; }
.event-card .event-thumbnail .discovery-image img { height: 100%; aspect-ratio: auto; border-radius: 0; }
/* Keep the artwork's original sprite proportions while cropping to the photo frame. */
.event-card .event-thumbnail .category-art-window { width: 152.04%; height: 100%; aspect-ratio: auto; margin-inline-start: -26.02%; }
.events-browse[data-view=list] .event-card .event-thumbnail { aspect-ratio: 1; }
.events-browse[data-view=list] .event-card .category-art-window { width: 270.29%; margin-inline-start: -85.15%; }
@media (max-width: 620px) { .events-browse .event-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } }
