.public-shell { max-width: 960px; margin: auto; padding: 24px 40px; }
.public-shell main { display: block; }
.public-shell h1 { font: 500 32px/1.3 'Space Grotesk', sans-serif; margin: 20px 0; overflow-wrap: anywhere; }
.public-shell .toolbar { justify-content: space-between; }
.browse-back, .page-nav, .page-intro { color: var(--muted); font-size: 13px; line-height: 1.6; }
.page-nav { display: flex; gap: 12px; margin: 12px 0 24px; }
.browse-day { padding: 24px 0; border-top: 1px solid var(--line); }
.browse-day h2 { font: 500 19px 'Space Grotesk', sans-serif; margin: 0 0 20px; }
.event-page-description { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 15px; line-height: 1.8; margin: 24px 0; }
.event-page-images { display: flex; flex-wrap: wrap; gap: 16px; margin: 24px 0; }
.event-page-images img { width: auto; height: auto; max-width: min(320px, 100%); object-fit: contain; border-radius: 10px; }
.public-shell .detail-facts { margin: 24px 0; }
.public-shell .site-footer { width: fit-content; margin-top: 24px; }
@media (max-width: 660px) {
  .public-shell { padding: 16px; }
  .public-shell h1 { font-size: 25px; }
  .browse-back { font-size: 11px; }
}
