/* Optional OSM context modules. Keep all opening/map dimensions in style.css. */
.enrichment-section { min-width: 0; }
.enrichment-section .section-heading { align-items: baseline; flex-wrap: wrap; gap: 8px 16px; }
.enrichment-section p,
.enrichment-section li,
.enrichment-section dt,
.enrichment-section dd,
.enrichment-section summary { font-size: 16px; }
.enrichment-section p { line-height: 1.7; }
.enrichment-radius { color: var(--muted); font-size: 16px; line-height: 1.5; white-space: nowrap; }
.street-overview { max-width: 72ch; color: var(--ink); }
.street-overview p + p { margin-top: 12px; }
.quick-facts { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin-top: 20px; }
.quick-fact { min-width: 0; padding: 17px 18px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--soft); }
.quick-fact dt { color: var(--muted); line-height: 1.45; }
.quick-fact dd { margin: 8px 0 0; }
.quick-fact dd > strong { display: block; font-size: 25px; line-height: 1.25; letter-spacing: -.035em; color: var(--accent); overflow-wrap: anywhere; }
.quick-fact dd > span { display: block; margin-top: 7px; color: var(--muted); font-size: 16px; line-height: 1.55; overflow-wrap: anywhere; }
.enrichment-distance-note { margin: -1px 0 19px; color: var(--muted); max-width: 74ch; }
.amenity-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.amenity-card { min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.amenity-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding-bottom: 13px; }
.amenity-heading h3 { font-size: 18px; font-weight: 680; line-height: 1.4; letter-spacing: -.02em; overflow-wrap: anywhere; }
.amenity-count { flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; font-size: 24px; font-weight: 700; letter-spacing: -.03em; color: var(--accent); line-height: 1.2; }
.amenity-count > span { color: var(--muted); font-size: 16px; font-weight: 400; letter-spacing: 0; margin-top: 3px; }
.place-examples, .transport-list { list-style: none; padding: 0; margin: 0; }
.place-examples li, .transport-list li { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 13px 0; border-top: 1px solid var(--line); }
.place-examples li > div, .transport-list li > div { min-width: 0; }
.place-examples strong, .transport-list strong { display: block; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.place-kind { display: block; margin-top: 3px; color: var(--muted); line-height: 1.5; overflow-wrap: anywhere; }
.place-distance { flex-shrink: 0; white-space: nowrap; color: var(--accent); font-variant-numeric: tabular-nums; line-height: 1.5; }
.enrichment-section .examples-note { padding-top: 11px; border-top: 1px solid var(--line); color: var(--muted); line-height: 1.55; }
.enrichment-empty { color: var(--muted); margin: 0; padding-top: 12px; border-top: 1px solid var(--line); }
.transport-intro { margin: -1px 0 18px; color: var(--muted); }
.transport-intro strong { font-weight: 600; color: var(--ink); }
.transport-list { display: grid; column-gap: 26px; }
.transport-more { margin-top: 12px; border: 1px solid var(--line); border-radius: 8px; padding: 0 16px; background: var(--white); }
.transport-more summary { min-height: 48px; padding: 12px 0; cursor: pointer; color: var(--accent); font-weight: 600; line-height: 1.5; }
.transport-more[open] summary { margin-bottom: 3px; }
.road-features { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 26px; }
.road-features > div { min-width: 0; padding: 15px 0; border-top: 1px solid var(--line); }
.road-features dt { color: var(--muted); margin-bottom: 6px; line-height: 1.5; }
.road-features dd { margin: 0; }
.road-features dd > strong { color: var(--ink); font-weight: 650; line-height: 1.5; overflow-wrap: anywhere; }
.road-features dd > p { margin-top: 7px; color: var(--muted); overflow-wrap: anywhere; }
.street-questions details { border-top: 1px solid var(--line); }
.street-questions summary { min-height: 48px; padding: 15px 3px; cursor: pointer; font-weight: 600; color: var(--ink); line-height: 1.6; overflow-wrap: anywhere; }
.street-questions details > p { max-width: 74ch; padding: 0 3px 17px; color: var(--muted); }
@media (min-width: 360px) {
  .quick-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 480px) {
  .road-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 680px) {
  .amenity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .transport-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
  .quick-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .amenity-card { padding: 20px; }
}
@media print {
  .amenity-card, .quick-fact, .road-features > div { break-inside: avoid; }
  .street-questions details > p, .transport-more > .transport-list { display: block; }
}
/* Progressive, server-rendered records and technical evidence. */
.place-more, .technical-records, .road-technical { margin-top: 14px; border-top: 1px solid var(--line); }
.place-more > summary, .technical-records > summary, .road-technical > summary { min-height: 48px; padding: 12px 0; cursor: pointer; color: var(--accent); font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.technical-records > p, .road-technical > p { margin: 8px 0 14px; color: var(--muted); }
.transport-full-list, .transport-technical-list { list-style: none; padding: 0; margin: 0; }
.transport-full-list li, .transport-technical-list li { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; padding: 13px 0; border-top: 1px solid var(--line); }
.transport-full-list li > div, .transport-technical-list li > div { min-width: 0; }
.transport-full-list strong, .transport-technical-list strong { display: block; line-height: 1.5; overflow-wrap: anywhere; }
.place-source { display: block; margin-top: 5px; font-size: 13px; line-height: 1.6; color: var(--muted); overflow-wrap: anywhere; }
.road-technical ul { list-style: none; padding: 0; margin: 0; }
.road-technical li { padding: 12px 0; border-top: 1px solid var(--line); }
.road-technical li p { margin-top: 7px; color: var(--muted); }
.road-technical code { font-size: 14px; overflow-wrap: anywhere; }
.alias-block li span, .alias-block li strong { display: inline; }
.transport-primary { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.transport-card { min-width: 0; border: 1px solid var(--line); border-radius: var(--radius); padding: 16px; background: var(--white); }
.transport-card h3 { font-size: 18px; line-height: 1.5; overflow-wrap: anywhere; }
.transport-card .transport-group-note { margin: 7px 0 12px; color: var(--muted); }
.transport-card .transport-list { grid-template-columns: minmax(0, 1fr); }
.facility-source { border-top: 1px solid var(--line); }
.facility-source > summary { min-height: 48px; padding: 12px 0; line-height: 1.5; color: var(--accent); cursor: pointer; font-weight: 600; }
.facility-source > p { margin-bottom: 12px; color: var(--muted); }
@media (min-width: 680px) { .transport-primary { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .street-metrics { column-gap: 8px; }
}
