/* Event browsing shares the reader palette and aligned content rails. */
.event-search { display:grid; grid-template-columns:2fr repeat(3,minmax(8rem,1fr)); gap:1rem; padding:1.25rem 0; align-items:end; }
.event-search[hidden], [data-current-event-id][hidden], [data-event-empty][hidden] { display:none !important; }
.event-search label { display:grid; gap:.4rem; font-family:var(--sans); font-size:.9rem; font-weight:700; }
.event-search input[type=search], .event-search select { width:100%; min-width:0; min-height:48px; padding:.65rem .75rem; background:#fff; border:1px solid #777; color:#191919; font:inherit; border-radius:4px; }
.event-search button, [data-event-clear] { min-height:44px; padding:.6rem .9rem; border:1px solid #777; border-radius:4px; background:#fff; color:#191919; font:inherit; cursor:pointer; }
.event-search .event-free { display:flex; align-items:center; min-height:44px; }
.event-free input { width:20px; height:20px; accent-color:#345a50; }
.event-search :focus-visible, .event-detail a:focus-visible { outline:3px solid #243fc4; outline-offset:3px; }
.local-discovery-grid article { background:#fff; border:1px solid #deddd8; border-radius:6px; padding:1.25rem; }
.local-discovery-grid h4 a { color:inherit; text-decoration:none; font:inherit; }
.local-discovery-grid h4 a:hover { text-decoration:underline; }
.local-discovery-grid article > p { font-family:var(--sans); font-size:1rem; line-height:1.6; }
.event-photo { margin:0 0 1.25rem; }
.event-photo img { display:block; width:100%; height:auto; border-radius:4px; }
.event-photo figcaption { margin-top:.5rem; font:12px/1.5 Arial,sans-serif; color:#50504d; overflow-wrap:anywhere; }
.event-photo figcaption a { display:inline; font-size:inherit; text-underline-offset:.15em; }
.event-detail { max-width:1120px; margin:0 auto; padding:2rem clamp(1.25rem,4vw,3rem) 4rem; }
.event-breadcrumb { display:flex; gap:.65rem; align-items:center; flex-wrap:wrap; margin-bottom:2rem; font-size:.9rem; }
.event-breadcrumb a { display:inline-flex; align-items:center; min-height:44px; }
.event-detail-heading { max-width:850px; margin-bottom:2rem; }
.event-detail h1 { font-size:clamp(2.2rem,5vw,4.5rem); line-height:1.05; text-wrap:balance; }
.event-detail-heading > p:last-child { font-size:1.2rem; line-height:1.65; max-width:65ch; }
.event-detail > .event-photo { max-width:850px; }
.event-detail-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:3rem; align-items:start; }
.event-detail h2 { font-size:1.6rem; line-height:1.2; margin:1.5rem 0 1rem; }
.event-detail p { line-height:1.7; text-wrap:pretty; }
.event-detail-layout section > p { max-width:65ch; }
.event-facts { background:#e8eeeb; padding:1.5rem; border-radius:6px; }
.event-facts h2 { margin-top:0; }
.event-facts dl { margin:0 0 1.5rem; }
.event-facts dt { font:700 .85rem/1.5 Arial,sans-serif; margin:1.25rem 0 .3rem; }
.event-facts dd { margin:0; line-height:1.6; }
.event-facts .button { background:#345a50; color:white; box-shadow:none; border-radius:6px; white-space:normal; }
.event-source-note { font-size:.85rem; }
.event-related, .event-reader-next { margin-top:3rem; padding-top:1.5rem; border-top:0; }
.event-related ul { list-style:none; padding:0; display:grid; gap:1rem; }
.event-related li a { display:inline-flex; min-height:44px; align-items:center; font-weight:700; }
.event-related li span { display:block; font-size:.9rem; }
.event-activity-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.event-activity-grid h3 { margin:.8rem 0; }
.event-activity-grid p { font-size:1rem; line-height:1.6; }
@media(max-width:850px) { .event-search { grid-template-columns:repeat(2,minmax(0,1fr)); } .event-detail-layout { grid-template-columns:1fr; gap:1rem; } .event-activity-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:540px) { .event-search,.event-activity-grid { grid-template-columns:1fr; } .event-detail { padding-top:1rem; } .event-detail h1 { font-size:2.35rem; } .event-facts { padding:1.25rem; } }

.event-photo summary { min-height:24px; display:flex; align-items:center; padding:0; text-decoration:underline; cursor:pointer; }
.event-photo details { margin-top:.2rem; }
.event-photo details p { margin:.25rem 0 0; font-size:12px; line-height:1.5; }
@media (pointer:coarse) { .event-photo summary { min-height:44px; } }

.event-detail-page .masthead > img { filter:none; }

.event-search button, [data-event-clear] { color:#345a50; border-color:#858d87; }
.event-search { column-gap:1.25rem; row-gap:1rem; }
.event-activities { margin-top:2.5rem; }
.event-activity-grid article { min-width:0; }
.event-activity-grid .event-photo img { aspect-ratio:3/2; object-fit:cover; }
.event-activity-grid h4 { margin:.8rem 0 .5rem; font-size:1.4rem; line-height:1.2; }
.local-discovery-grid article { border:0; padding:1.25rem; background:#e8eeeb; }
.local-discovery-grid article[data-event-category="concert"] { background:#e3ebf4; }
.local-discovery-grid article[data-event-category="festival"] { background:#f4e8dc; }
.local-discovery-grid article > .local-discovery-label { font-size:.85rem; line-height:1.5; font-weight:650; color:#345a50; }
@media(max-width:540px) {
 .local-discovery-grid { gap:1rem; }
 .event-activity-grid { gap:2rem; }
 .event-detail { padding-inline:1rem; }
}
