/* iWawa v1.100: shared prose alignment for every language and viewport.
   Only prose is justified; navigation, labels and record metadata retain
   their existing alignment. The last line is never stretched. */
.content-view p:not(:where(
  .source-note, .record-source, .privacy-update, .map-credit, .sor-hours,
  .service-area, .badge, .empty-state, .city-event-venue,
  .city-event-language, .why-tagline, .contact-phone-note, [role="status"],
  [data-no-translate], :has(> a:only-child), :has(> time:only-child),
  button p, .map-place-list p, .leaflet-popup p
)),
.content-view :is(.notice, .compact-description, .editorial li,
  .privacy-card li, .city-event-content li, .plan-detail li),
:where(.transport-intro, .district-section > div:first-child, .heritage > div, .feature-copy, .news-card) > p,
.help-page main p:not(:where(.help-org, .help-checked, [role="status"])),
.iwawa-ai-message[data-role="assistant"],
.iwawa-ai-footer p {
  text-align: justify;
  text-align-last: start;
  text-justify: auto;
  -webkit-hyphens: auto;
  hyphens: auto;
  overflow-wrap: break-word;
}
/* Source links remain easy to scan inside justified assistant responses. */
.iwawa-ai-sources {
  text-align: start;
  text-align-last: auto;
  -webkit-hyphens: none;
  hyphens: none;
}
