/* Map-led property research workspace. Author: Daniel Hallman */
.property-research-body { background: #fff; }
.research-page { --research-ink: #101116; --research-muted: #596171; --research-rule: #d9dde4; color: var(--research-ink); background: #f5f6f8; font-family: var(--font-body); font-size: 1rem; line-height: 1.5; }
.research-page * { min-width: 0; }
.research-page [hidden] { display: none !important; }
.research-tabs-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 58px; padding-inline: 3.8%; background: #fff; border-bottom: 1px solid #d3d9e0; }
.research-product-tabs { display: flex; gap: 34px; min-height: 58px; flex: 0 0 auto; }
.research-product-tabs a { min-height: 58px; display: inline-flex; align-items: center; padding: 12px 6px 10px; border-bottom: 4px solid transparent; color: #27303f; font-weight: 500; text-decoration: none; }
.research-product-tabs a[aria-current='page'] { color: #090d14; border-bottom-color: var(--bg-cyan); font-weight: 700; }
.research-hero { padding: 17px 3.8% 18px; }
.research-breadcrumbs { font-size: .75rem; color: var(--research-muted); }
.research-breadcrumbs ol { display: flex; flex-wrap: wrap; list-style: none; }
.research-breadcrumbs li + li::before { content: '/'; margin-inline: 8px; color: #8d95a2; }
.research-breadcrumbs a, .research-breadcrumbs [aria-current] { display: inline-flex; align-items: center; min-height: 44px; color: #4b627e; text-underline-offset: 3px; }
.research-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.research-page h1 { font-family: var(--font-display); color: #07090c; font-size: clamp(1.7rem, 2.6vw, 2.35rem); line-height: 1.15; letter-spacing: -.035em; text-transform: none; margin: 0 0 5px; }
.research-subtitle { font-size: .875rem; color: #596477; margin: 0; }
.research-county-control { display: flex; align-items: center; gap: 12px; max-width: 440px; }
.research-county-control > label, .research-field > label { font-weight: 650; font-size: .875rem; color: #27303f; }
.research-page input, .research-page select { border: 1px solid #8c96a5; border-radius: 3px; background: #fff; color: #18202c; font: inherit; min-height: 44px; padding: 9px 12px; box-shadow: none; }
.research-county-control > label { flex: 0 0 auto; }
.research-county-control select { min-width: 0; flex: 1; width: auto; font-size: .875rem; }
.research-county-go { min-width: 44px; }
.research-search { display: grid; grid-template-columns: minmax(0, 1fr) 150px; gap: 16px; align-items: end; }
.research-field { display: flex; flex-direction: column; gap: 5px; }
.research-field input { height: 45px; font-size: 1rem; }
.research-field input::placeholder { color: #8993a2; opacity: 1; }
.research-button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 2px solid #111; border-radius: 1px; padding: 10px 16px; font: inherit; line-height: 1.2; font-weight: 700; text-align: center; text-decoration: none; color: #080b0e; cursor: pointer; }
.research-button-cyan { background: var(--bg-cyan); box-shadow: 3px 3px 0 #111; }
.research-button-white { background: #fff; }
.research-button:hover { background: #e8eef1; }
.research-button-cyan:hover { background: #35f5ff; }
.research-page :is(a, button, input, select, summary):focus-visible { outline: 3px solid #086cba; outline-offset: 3px; }
.research-text-link { display: inline-flex; align-items: center; gap: 5px; min-height: 44px; color: #0066c7; font-weight: 500; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.research-workspace { display: grid; grid-template-columns: minmax(300px, .445fr) minmax(0, 1fr); align-items: start; gap: 7px; padding: 0 22px 24px; }
.research-results { padding: 0; border: 2px solid #2b333e; background: #fff; min-height: 720px; max-height: 980px; display: flex; flex-direction: column; }
.research-results-heading { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; padding: 17px 15px 12px; }
.research-results-heading h2 { font-family: var(--font-body); font-size: 1.15rem; font-weight: 750; color: #101419; margin: 0; }
.research-results-heading > p, .research-results-note { color: #697386; font-size: .75rem; }
.research-results-note { padding: 0 15px 11px; margin: 0; border-bottom: 1px solid var(--research-rule); }
.research-source-filter { display: flex; align-items: center; gap: 9px; }
.research-source-filter label { font-size: .75rem; font-weight: 650; color: #354152; }
.research-source-filter select { font-size: .8125rem; min-height: 44px; max-width: 165px; padding: 8px 10px; }
.research-record-list { list-style: none; overflow-y: auto; overscroll-behavior: contain; }
.research-record-list > li { border-bottom: 1px solid var(--research-rule); }
.research-record-list > li[data-selected='true'] { background: #d1f7fb; outline: 2px solid #17212d; outline-offset: -2px; }
.research-record-select { display: grid; grid-template-columns: minmax(0, 1fr) 44px; align-items: center; gap: 10px; min-height: 124px; padding: 14px 15px; color: inherit; text-decoration: none; }
.research-record-select:hover { background: #e4fafd; }
.research-record-labels > strong { display: block; color: #101725; font-size: 1.05rem; font-weight: 750; line-height: 1.4; overflow-wrap: anywhere; }
.research-secondary { display: block; color: #536174; font-size: .875rem; line-height: 1.5; margin-top: 1px; }
.research-record-fact { display: block; margin-top: 3px; font-size: .8125rem; color: #47566a; overflow-wrap: anywhere; }
.research-parcel-id { font-family: var(--font-mono); font-size: .8125rem; overflow-wrap: anywhere; }
.research-record-open { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; color: #154f78; font-size: .75rem; text-decoration: underline; text-underline-offset: 4px; }
.research-pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px 15px; margin-top: auto; }
.research-pagination:empty { display: none; }
.research-pagination .research-button { font-size: .8125rem; }
.research-csv-link { font-size: .8125rem; width: 100%; }
.research-map-column { border: 2px solid #2b333e; background: #fff; min-width: 0; }
.research-map { padding: 0; }
.research-map-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 15px; background: #fff; border-bottom: 1px solid var(--research-rule); min-height: 64px; }
.research-map-toolbar h2 { font-family: var(--font-body); font-weight: 750; font-size: .875rem; margin: 0; }
.research-map-toolbar p { color: #5a6677; font-size: .75rem; margin: 1px 0 0; }
.research-map-toolbar .research-text-link { font-size: .8125rem; flex: 0 0 auto; }
.research-county-map { display: block; width: 100%; height: 485px; border: 0; background: #e7eceb; }
.research-map-caption { padding: 8px 15px; border-top: 1px solid var(--research-rule); background: #f7f9fa; color: #586577; font-size: .6875rem; line-height: 1.5; }
.research-map-unavailable { min-height: 480px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 38px clamp(24px, 6vw, 85px); background: #edf1f1; }
.research-map-unavailable > img { object-fit: contain; margin-bottom: 20px; }
.research-map-unavailable h3 { font-family: var(--font-display); color: #17212d; font-size: clamp(1.35rem, 2vw, 1.85rem); letter-spacing: -.025em; line-height: 1.25; max-width: 27ch; margin: 0 0 13px; text-transform: none; }
.research-map-unavailable p { color: #536375; font-size: .9375rem; max-width: 57ch; margin-bottom: 12px; }
.research-map-unavailable .research-map-unavailable-note { font-size: .8125rem; }
.research-map-unavailable .research-button { margin-top: 10px; font-size: .875rem; }
.research-inspector { border-top: 2px solid #2b333e; }
.research-inspector-card { padding: 0; scroll-margin-top: 100px; }
.research-inspector-card + .research-inspector-card { border-top: 2px solid #2b333e; }
.research-workspace[data-enhanced='true'] .research-inspector-card { border-top: 0; }
.research-selected-summary { display: grid; grid-template-columns: minmax(155px, 1.18fr) minmax(0, 3fr) minmax(130px, 1fr); gap: 17px; padding: 22px 20px; }
.research-detail-heading h2 { color: #0b1016; font-family: var(--font-body); font-size: 1.3rem; font-weight: 750; line-height: 1.25; margin: 5px 0; overflow-wrap: anywhere; }
.research-detail-heading > p { color: #1d2938; font-size: .875rem; margin: 0; }
.research-detail-heading > .research-detail-label { color: #4d5b6d; font-size: .75rem; font-weight: 650; }
.research-selected-facts { display: grid; grid-template-columns: 1fr 1.05fr 1fr; gap: 18px; margin: 0; }
.research-selected-facts > div { border-left: 1px solid #cbd2dc; padding-left: 17px; }
.research-selected-facts dt { font-size: .75rem; font-weight: 650; color: #4a5668; margin: 0 0 9px; }
.research-selected-facts dd { color: #17202b; font-size: .875rem; line-height: 1.45; margin: 0 0 3px; overflow-wrap: anywhere; }
.research-selected-facts dt span { white-space: nowrap; }
.research-selected-facts .research-source-year { color: #6a7688; font-size: .75rem; }
.research-copy-button { min-height: 44px; border: 0; padding: 8px 0; background: transparent; font: inherit; color: #0066c7; font-size: .6875rem; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.research-selected-actions { border-left: 1px solid #cbd2dc; padding-left: 17px; }
.research-selected-actions .research-button { font-size: .75rem; min-height: 44px; padding: 9px 10px; margin-bottom: 10px; }
.research-file-label { display: block; color: #47586e; font-size: .75rem; font-weight: 650; }
.research-selected-actions > p { color: #6a7688; font-size: .6875rem; line-height: 1.5; margin-top: 3px; }
.research-expanded-facts { border-top: 1px solid var(--research-rule); }
.research-expanded-facts summary { min-height: 44px; cursor: pointer; padding: 11px 20px; color: #3f546d; font-size: .8125rem; font-weight: 600; }
.research-expanded-content { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 28px; padding: 5px 20px 22px; }
.research-facts { display: grid; grid-template-columns: minmax(130px, 1fr) minmax(0, 1fr); gap: 8px 16px; font-size: .8125rem; line-height: 1.5; margin: 0; }
.research-facts dt { color: #617085; }
.research-facts dd { color: #243246; margin: 0; overflow-wrap: anywhere; }
.research-facts .research-fact-value { color: #111922; font-weight: 750; }
.research-source-details h3 { font-size: .875rem; color: #28374b; margin: 0 0 8px; font-weight: 650; }
.research-source-details p { color: #5c6c80; font-size: .8125rem; line-height: 1.6; margin-bottom: 9px; max-width: 65ch; overflow-wrap: anywhere; }
.research-source-details .research-text-link { font-size: .8125rem; }
.research-observations ul { list-style: none; padding-inline: 20px; }
.research-observations li { padding-block: 10px 15px; font-size: .8125rem; border-top: 1px solid var(--research-rule); }
.research-observations li p { color: #5c6c80; }
.research-empty { padding: 27px 20px; max-width: 65ch; }
.research-empty > img { object-fit: contain; margin-bottom: 14px; }
.research-empty h3 { font-family: var(--font-body); font-size: 1.05rem; font-weight: 700; color: #223146; margin: 0 0 8px; }
.research-empty p { color: #647186; font-size: .875rem; line-height: 1.6; }
.research-empty .research-text-link { display: flex; width: fit-content; font-size: .8125rem; margin-top: 8px; }
.research-inspector-empty { padding: 22px; }
.research-inspector-empty h2 { font-family: var(--font-body); font-size: 1rem; margin: 0 0 8px; }
.research-inspector-empty > p { color: #647186; font-size: .875rem; max-width: 65ch; margin-bottom: 12px; }
.research-inspector-empty > .research-text-link { margin-left: 16px; font-size: .8125rem; }
.research-availability { display: inline-block; background: #edf0f3; color: #536174; border-radius: 2px; padding: 7px 10px; font-size: .75rem; }
.research-directory-list { list-style: none; overflow-y: auto; border-top: 1px solid var(--research-rule); }
.research-directory-row { display: grid; grid-template-columns: minmax(0, 1fr) 44px; align-items: center; gap: 12px; min-height: 100px; padding: 15px; border-bottom: 1px solid var(--research-rule); color: #172534; text-decoration: none; }
.research-directory-row:hover { background: #e4fafd; }
.research-directory-row strong { font-size: 1rem; font-weight: 700; }
.research-directory-availability { display: block; color: #6c788a; font-size: .75rem; margin-top: 4px; }
.research-directory-action { text-align: right; color: #0066c7; font-size: .75rem; text-decoration: underline; text-underline-offset: 4px; }
.research-directory-tax-link { padding-inline: 15px; font-size: .8125rem; margin-top: auto; }
.research-directory-workspace { display: block; }
.research-directory { min-height: 0; max-height: none; }
.research-directory-notice { margin: 0 15px 16px; padding: 12px 15px; background: #fff5d5; color: #58677a; font-size: .875rem; line-height: 1.6; }
.research-directory .research-directory-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 0 15px 15px; border-top: 0; overflow: visible; }
.research-directory .research-directory-row { height: 100%; border: 1px solid #a9b3c0; }
.research-noscript-counties { max-width: 250px; font-size: .8125rem; }
.research-noscript-counties summary { min-height: 44px; padding: 10px; cursor: pointer; }
.research-noscript-counties ul { padding-left: 18px; }
.research-noscript-counties a { display: inline-block; padding-block: 8px; }
.research-mobile-switch { display: none; }
.research-back-button { display: none; }
.research-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 1200px) {
  .research-directory .research-directory-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .research-workspace { grid-template-columns: minmax(290px, .47fr) minmax(0, 1fr); padding-inline: 16px; }
  .research-source-filter { gap: 6px; }
  .research-source-filter select { max-width: 135px; }
  .research-selected-summary { grid-template-columns: minmax(140px, 1fr) minmax(0, 2fr); gap: 16px; padding: 19px 16px; }
  .research-selected-facts { grid-template-columns: 1fr 1fr; gap: 13px; }
  .research-selected-facts > div:last-child { grid-column: 1 / -1; display: flex; flex-wrap: wrap; column-gap: 9px; align-items: baseline; }
  .research-selected-facts > div:last-child dt { width: 100%; margin-bottom: 3px; }
  .research-selected-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 12px 0 0; border-left: 0; border-top: 1px solid var(--research-rule); }
  .research-selected-actions .research-button { margin: 0; }
  .research-selected-actions > p { max-width: 30ch; margin: 0; }
  .research-expanded-content { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
  .research-tabs-row { padding-inline: 18px; gap: 12px; }
  .research-product-tabs { gap: 24px; }
  .research-breadcrumbs li:first-child, .research-breadcrumbs li:last-child { display: none; }
  .research-breadcrumbs li + li::before { display: none; }
  .research-hero { padding-inline: 22px; }
  .research-title-row { flex-direction: column; gap: 14px; }
  .research-page h1 { font-size: 1.95rem; }
  .research-county-control { max-width: 100%; width: 100%; }
  .research-county-control select { flex: 1; min-width: 0; }
  .research-workspace { display: block; padding: 0 16px 22px; }
  .research-workspace[data-enhanced='true'] .research-mobile-switch { display: flex; gap: 4px; margin-bottom: 12px; border: 1px solid #9da8b5; background: #fff; padding: 4px; }
  .research-mobile-switch button { min-height: 44px; flex: 1; padding: 9px 14px; border: 1px solid transparent; background: #fff; color: #465970; font: inherit; font-size: .875rem; font-weight: 650; cursor: pointer; }
  .research-mobile-switch button[aria-pressed='true'] { background: #c9f8fc; border-color: #00b7cd; color: #092733; }
  .research-workspace[data-enhanced='true'][data-view='list'] .research-map-column, .research-workspace[data-enhanced='true'][data-view='map'] .research-results { display: none; }
  .research-results { min-height: 0; max-height: none; }
  .research-record-list, .research-directory-list { overflow: visible; }
  .research-record-select { min-height: 118px; }
  .research-map-column { margin-top: 12px; }
  .research-workspace[data-enhanced='true'] .research-map-column { margin-top: 0; }
  .research-workspace[data-enhanced='true'] .research-back-button:not([hidden]) { display: inline-flex; margin: 16px 20px 0; }
  .research-county-map { height: 440px; }
  .research-map-unavailable { min-height: 360px; padding: 36px; }
  .research-selected-summary { grid-template-columns: minmax(150px, 1fr) minmax(0, 2fr); padding: 20px; }
  .research-selected-facts { grid-template-columns: repeat(3, 1fr); }
  .research-selected-facts > div:last-child { grid-column: auto; display: block; }
  .research-selected-facts > div:last-child dt { margin-bottom: 9px; }
  .research-directory-tax-link { margin-top: 10px; }
}
@media (max-width: 600px) {
  .research-directory .research-directory-list { grid-template-columns: minmax(0, 1fr); }
  .research-tabs-row { padding-inline: 12px; }
  .research-product-tabs { min-height: 50px; gap: 14px; }
  .research-product-tabs a { min-height: 50px; font-size: .875rem; padding-inline: 5px; }
  .research-hero { padding: 14px 16px 20px; }
  .research-breadcrumbs { font-size: .6875rem; }
  .research-title-row { margin-bottom: 16px; }
  .research-page h1 { font-size: 1.75rem; line-height: 1.2; }
  .research-subtitle { font-size: .8125rem; }
  .research-county-control { gap: 9px; }
  .research-county-control > label { font-size: .8125rem; }
  .research-county-control select { font-size: .8125rem; padding-inline: 9px; }
  .research-county-go { padding-inline: 10px; font-size: .8125rem; }
  .research-search { grid-template-columns: minmax(0, 1fr) 85px; gap: 10px; }
  .research-field > label { font-size: .8125rem; }
  .research-field input { font-size: 1rem; padding-inline: 10px; }
  .research-search .research-button { font-size: .875rem; padding-inline: 10px; }
  .research-workspace { padding-inline: 12px; }
  .research-results-heading { padding: 14px 12px 10px; }
  .research-results-heading h2 { font-size: 1.05rem; }
  .research-source-filter label { font-size: .6875rem; }
  .research-source-filter select { min-height: 44px; max-width: 150px; font-size: .75rem; }
  .research-results-note { padding-inline: 12px; }
  .research-record-select { padding: 14px 12px; min-height: 122px; }
  .research-record-labels > strong { font-size: 1rem; }
  .research-secondary { font-size: .8125rem; }
  .research-record-fact { font-size: .75rem; }
  .research-map-toolbar { align-items: flex-start; flex-wrap: wrap; gap: 3px 10px; padding: 12px; }
  .research-map-toolbar .research-text-link { min-height: 44px; font-size: .75rem; }
  .research-county-map { height: 430px; }
  .research-map-caption { padding-inline: 12px; }
  .research-map-unavailable { min-height: 340px; padding: 30px 22px; }
  .research-map-unavailable h3 { font-size: 1.45rem; }
  .research-map-unavailable p { font-size: .875rem; }
  .research-selected-summary { display: block; padding: 20px 15px; }
  .research-detail-heading > .research-detail-label { font-size: .6875rem; }
  .research-detail-heading h2 { font-size: 1.3rem; }
  .research-detail-heading > p { font-size: .8125rem; }
  .research-selected-facts { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin-top: 20px; gap: 16px 14px; }
  .research-selected-facts > div { padding-left: 0; border-left: 0; }
  .research-selected-facts dt { font-size: .6875rem; margin-bottom: 5px; }
  .research-selected-facts dd { font-size: .8125rem; }
  .research-selected-facts > div:last-child { grid-column: 1 / -1; }
  .research-selected-facts > div:last-child dt { margin-bottom: 5px; }
  .research-selected-actions { margin-top: 15px; }
  .research-selected-actions > p { max-width: none; }
  .research-expanded-facts summary { padding-inline: 15px; }
  .research-expanded-content { padding-inline: 15px; gap: 20px; }
  .research-facts { grid-template-columns: minmax(120px, .95fr) minmax(0, 1.05fr); gap: 8px 12px; font-size: .75rem; }
  .research-inspector-empty { padding: 20px 15px; }
  .research-inspector-empty > .research-text-link { display: flex; width: fit-content; margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) { .research-page *, .research-page *::before, .research-page *::after { scroll-behavior: auto !important; transition: none !important; } }
