/* Shared street/place details. Secondary content stays in the document. */
body.si-detail-page #content { font-size: 16px; line-height: 1.6; }
.si-detail-page :is(a, button, input, summary):focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
.si-detail-page :is(section, details, .sk-map, h2, input)[id] { scroll-margin-top: 24px; }
body.si-detail-page .si-detail-section { clear: both; margin: 16px 0; border: 1px solid #d6dfe8; border-radius: 8px; background: #fff; }
body.si-detail-page .si-detail-section > summary { min-height: 52px; padding: 14px 16px; color: #24303b; font-size: 16px; font-weight: 700; line-height: 1.5; cursor: pointer; }
.si-detail-section[open] > summary { border-bottom: 1px solid #e2e8f0; }
.si-detail-body { min-width: 0; padding: 14px; }
.si-detail-body > :first-child { margin-top: 0; }
body.si-detail-page .si-place-directory { margin: 20px 0; padding: 20px; border: 1px solid #d6dfe8; border-radius: 8px; background: #f8fafc; }
body.si-detail-page .si-place-directory h2 { margin: 0 0 16px; }
.si-place-directory label { display: block; margin: 0 0 6px; font-size: 15px; font-weight: 700; }
.si-place-search-fields { display: flex; gap: 8px; }
body.si-detail-page .si-place-search-fields input { width: 100%; min-width: 0; min-height: 48px; margin: 0; padding: 10px 12px; border: 1px solid #94a3b8; border-radius: 6px; background: #fff; color: #1f2933; font-size: 16px; }
.si-place-search-fields button { flex: 0 0 auto; white-space: nowrap; min-height: 48px; padding: 10px 18px; border: 1px solid #1d4ed8; border-radius: 6px; background: #2563eb; color: #fff; font-size: 16px; font-weight: 700; cursor: pointer; }
.si-place-directory .si-letter-unavailable { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 8px 10px; color: #64748b; font-size: 15px; }
.si-section-menu { margin: 12px 0; }
body.si-detail-page .si-section-menu > summary { color: #164e80; cursor: pointer; }
.si-place-directory .si-letter-picker { margin: 12px 0; }
.si-place-directory .si-letter-picker > summary { min-height: 44px; padding: 10px 0; color: #164e80; font-size: 15px; cursor: pointer; }
body.si-detail-page .si-place-street-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; margin: 12px 0; padding: 0; list-style: none; }
body.si-detail-page .si-place-street-list li { margin: 0; padding: 0; min-width: 0; }
.si-place-street-list a { display: flex; flex-direction: column; justify-content: center; min-height: 64px; padding: 10px 0; border-bottom: 1px solid #d6dfe8; overflow-wrap: anywhere; }
.si-place-street-list strong { color: #164e80; font-size: 16px; font-weight: 700; }
.si-place-street-list span { margin-top: 2px; color: #475569; font-size: 14px; }
body.si-detail-page .si-directory-filter { font-size: 15px; }
/* Replace the overflowing, fixed report toolbar with ordinary in-page links. */
body.si-detail-page .si-street-report-nav,
body.si-detail-page.si-report-nav-docked .si-street-report-nav { position: static; inset: auto; transform: none; display: flex; flex-wrap: wrap; gap: 8px; width: 100%; margin: 16px 0; padding: 0; overflow: visible; border: 0; background: transparent; box-shadow: none; }
body.si-detail-page .si-street-report-nav > strong { display: none; }
body.si-detail-page :is(.si-street-report-nav, .sk-page-toc, .sk-street-action-links) a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 12px; font-size: 14px; line-height: 1.4; border: 1px solid #d6dfe8; border-radius: 6px; background: #f8fafc; }
body.si-detail-page #nav a { min-height: 44px; font-size: 14px; }
body.si-detail-page #content :is(p, li, dd, td) { font-size: 16px; line-height: 1.55; }
body.si-detail-page #content :is(small, .sk-data-note, .sk-map-source, .si-context-note) { font-size: 14px; line-height: 1.5; }
body.si-detail-page #content :is(.sk-street-facts, .sk-street-highlights) :is(strong, span) { font-size: 15px; line-height: 1.5; }
body.si-detail-page #content summary { min-height: 44px; padding-top: 10px; padding-bottom: 10px; font-size: 16px; line-height: 1.5; }
body.si-detail-page .sk-ajax-load { min-height: 44px; font-size: 15px; }
body.si-detail-page .sk-street-facts-primary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.si-detail-page .sk-street-facts-primary li { min-width: 0; overflow-wrap: anywhere; }
body.si-detail-page .sk-street-hero-compact { margin-top: 16px; }
body.si-detail-page .sk-street-hero-compact h2 { font-size: 20px; }
body.si-detail-page .sk-street-hero-compact .si-kicker { display: none; }
@media (max-width: 680px) {
    body.si-detail-page div#content { padding: 14px; }
    body.si-detail-page .si-place-directory { padding: 14px; }
    body.si-detail-page .si-place-street-list { grid-template-columns: 1fr; }
    body.si-detail-page .si-detail-body { padding: 10px; }
    body.si-detail-page .si-street-report-nav { gap: 6px; }
    body.si-detail-page .si-street-report-nav a { flex: 1 1 auto; }
    body.si-detail-page #content :is(.sk-profile-table, .sk-data-status) { overflow-wrap: anywhere; }
    body.si-detail-page #content .sk-profile-table { width: 100%; table-layout: fixed; }
    body.si-detail-page .sk-link-list a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 10px; }
}
@media (max-width: 360px) {
    .si-place-search-fields { flex-direction: column; }
}
