/* Photo, title and price keep distinct roles; the established Retro palette stays intact. */
.street-page .venue-heading { display: grid; grid-template-columns: minmax(0, 1fr) 128px; gap: 16px; align-items: start; margin: 0 0 12px; }
.street-page .venue-heading-text { min-width: 0; }
.street-page .venue-heading .listing-heading { margin-top: 0; }
.street-page .venue-photo { min-width: 0; margin: 0; font-family: Arial, sans-serif; }
.street-page .venue-photo-link { display: block; border: 1px solid #252525; background: #d7d7d7; }
.street-page .venue-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; image-rendering: auto; }
.street-page .venue-photo figcaption { margin: 5px 0 0; padding: 0; background: transparent; color: #313131; font: 11px/1.4 Arial, sans-serif; overflow-wrap: anywhere; }
.street-page .venue-photo figcaption a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.street-page .venue-photo-date, .street-page .venue-photo-detail figcaption > span { display: block; }
.street-page .venue-photo-detail { max-width: 480px; margin: 16px 0; }
.street-page .venue-photo-detail img { max-height: 320px; }
.street-page .venue-photo-detail figcaption { font-size: 12px; }
.street-page .venue-photo[hidden] { display: none; }
.street-page .venue-heading:has(.venue-photo[hidden]) { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 540px) {
  .street-page .venue-heading { grid-template-columns: minmax(0, 1fr) 96px; gap: 12px; }
}
@media (max-width: 350px) {
  .street-page .venue-heading { grid-template-columns: minmax(0, 1fr) 80px; gap: 8px; }
}
