@font-face { font-family: Rn47PreviewVazirmatn; src: url('../fonts/Vazirmatn-Regular.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: Rn47PreviewVazirmatn; src: url('../fonts/Vazirmatn-Medium.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; }

/* One map-owned surface system. The public map inherits the site's typography;
 * the standalone administrator preview keeps its existing bundled font. */
.rn-court-map {
	--rn47-view-height: 100vh;
	--rn47-navy: #102a43;
	--rn47-ink: #22384d;
	--rn47-muted: #596b7c;
	--rn47-paper: #f8f7f3;
	--rn47-beige: #caaa98;
	--rn47-accent: #688da4;
	--rn47-line: rgb(16 42 67 / 12%);
	--rn47-glass: rgb(255 255 255 / 56%);
	--rn47-glass-line: rgb(255 255 255 / 58%);
	--rn47-glass-shadow: inset 0 1px 0 rgb(255 255 255 / 55%), 0 7px 24px rgb(16 42 67 / 9%);
	--rn47-glass-blur: 18px;
	--rn47-inner: rgb(255 255 255 / 30%);
	--rn47-hover: rgb(16 42 67 / 7%);
	--rn47-focus: #2875b5;
	--rn47-sheet-bottom: 10px;
	--rn47-ui-size: 13px;
	--rn47-meta-size: 11px;
	--rn47-court-title-size: 15px;
	--rn47-medium-weight: 500;
	color: var(--rn47-ink);
	font-family: var(--rn47-ui-family, Rn47PreviewVazirmatn, Tahoma, sans-serif);
	font-size: var(--rn47-ui-size);
	font-weight: 400;
	line-height: 1.7;
	direction: rtl;
	max-width: 1800px;
	margin: 0;
	padding-block: 4px 12px;
}
.rn-court-map.rn47-public-map {
	--rn47-ui-family: var(--rn-font-ui, inherit);
	--rn47-display-family: var(--rn-font-display, inherit);
	--rn47-medium-weight: var(--rn-weight-medium, 500);
	font-synthesis: none;
}
.rn-court-map *, .rn-court-map *::before, .rn-court-map *::after { box-sizing: border-box; }
.rn-court-map [hidden] { display: none !important; }
.rn-court-map :is(button, input, select, textarea) { font: inherit; }
.rn-court-map button { cursor: pointer; -webkit-tap-highlight-color: transparent; }
.rn-court-map button:disabled { cursor: default; opacity: .42; }
.rn-court-map :is(button, input, select, textarea, a, summary, .rn47-preview-map):focus-visible { outline: 3px solid var(--rn47-focus); outline-offset: 3px; }
.rn-court-map .rn47-control-label,
.rn-court-map.rn47-public-map .rn47-preview-heading {
	position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
.rn-court-map .rn47-preview-heading { display: flex; align-items: center; gap: 12px; justify-content: space-between; margin: 0 0 14px; }
.rn-court-map .rn47-preview-heading h1 { margin: 0; font-family: var(--rn47-display-family, inherit); font-size: 23px; line-height: 1.5; color: var(--rn47-navy); }
.rn-court-map .rn47-preview-eyebrow, .rn-court-map .rn47-preview-intro { margin: 3px 0; color: var(--rn47-muted); font-size: 12px; }
.rn-court-map .rn47-preview-heading-label { color: var(--rn47-muted); font-size: 11px; }

/* These selectors only remove the map page's historical 112px internal spacer;
 * the site header, its sticky behavior and other pages are untouched. */
.rn47-map-public-page { width: calc(100% - 16px); max-width: 1480px; padding-block: 20px 36px; }
body.rn-visual.rv-jurisdiction-map-page .rn47-map-public-page { padding-block-start: 20px; }
.rn-court-map .rn47-preview-workspace { width: 100%; border: 1px solid var(--rn47-line); border-radius: 18px; overflow: hidden; background: var(--rn47-paper); }
.rn-court-map .rn47-preview-map-frame {
	position: relative; isolation: isolate; min-width: 0; min-height: 480px;
	height: min(940px, max(480px, calc(var(--rn47-view-height) - var(--rn47-site-header-height, 104px) - 28px)));
	background: #e9e7df; overflow: hidden;
}
.rn-court-map .rn47-preview-map { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; }
.rn-court-map:not(.is-enhanced) :is(.rn47-map-toolbar, .rn47-map-top-actions, .rn47-map-zoom-controls, .rn47-search-handle) { visibility: hidden; }

/* Blur belongs to compact primary surfaces, never to every child button. */
.rn-court-map :is(.rn47-map-toolbar, .rn47-map-top-actions, .rn47-map-zoom-controls, .rn47-search-handle, .rn47-map-search-sheet, .rn47-preview-info, .rn47-layer-menu) {
	background: var(--rn47-glass); border: 1px solid var(--rn47-glass-line);
	box-shadow: var(--rn47-glass-shadow);
	-webkit-backdrop-filter: blur(var(--rn47-glass-blur)); backdrop-filter: blur(var(--rn47-glass-blur));
}
.rn-court-map .rn47-map-toolbar { position: absolute; z-index: 7; inset-inline: 12px; top: max(12px, env(safe-area-inset-top, 0px)); min-width: 0; padding: 3px; border-radius: 27px; }
.rn-court-map .rn47-reference-types {
	display: flex; align-items: center; gap: 3px; min-width: 0; max-width: 100%;
	overflow-x: auto; scrollbar-width: none; overscroll-behavior: contain;
	touch-action: pan-x; padding: 0; scroll-padding-inline: 3px;
}
.rn-court-map .rn47-reference-types::-webkit-scrollbar { display: none; }
.rn-court-map .rn47-reference-types button {
	flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: 5px;
	min-height: 44px; padding: 8px 13px; border: 1px solid transparent; border-radius: 24px;
	background: transparent; color: var(--rn47-ink); white-space: nowrap; font-size: 12px;
	font-weight: var(--rn47-medium-weight); line-height: 1.4;
	transition: background-color 180ms ease, color 180ms ease;
}
.rn-court-map .rn47-reference-types button:hover { background: var(--rn47-hover); }
.rn-court-map .rn47-reference-types button[aria-pressed="true"] { background: #102a43; color: #fff; border-color: #102a43; }
.rn-court-map .rn47-reference-count { font-size: 10px; font-variant-numeric: tabular-nums; opacity: .8; }
.rn-court-map .rn47-map-top-actions { position: absolute; z-index: 7; top: 76px; right: 12px; display: flex; gap: 0; border-radius: 16px; padding: 1px; }
.rn-court-map .rn47-map-icon-button {
	display: inline-grid; place-items: center; width: 44px; height: 44px; min-width: 44px; min-height: 44px;
	padding: 0; margin: 0; border: 1px solid transparent; border-radius: 13px;
	background: transparent; color: var(--rn47-navy); line-height: 1; box-shadow: none;
	transition: background-color 150ms ease, transform 150ms ease;
}
.rn-court-map .rn47-map-icon-button:hover { background: var(--rn47-hover); }
.rn-court-map .rn47-map-icon-button:active { transform: scale(.96); }
.rn-court-map .rn47-map-icon-button[aria-expanded="true"], .rn-court-map .rn47-map-icon-button.is-active { background: var(--rn47-hover); }
.rn-court-map .rn47-map-icon-button svg,
.rn-court-map .rn47-preview-action svg,
.rn-court-map .rn47-search-handle svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.rn-court-map .rn47-map-zoom-controls { position: absolute; z-index: 7; top: 82px; left: 12px; display: flex; flex-direction: column; padding: 1px; border-radius: 16px; }
.rn-court-map .rn47-map-zoom-controls > .rn47-map-icon-button { border-radius: 12px; }
.rn-court-map .rn47-map-control-divider { height: 1px; margin-inline: 9px; background: var(--rn47-line); }
.rn-court-map .rn47-map-zoom-controls > :is(hr, [role="separator"]) { width: auto; height: 1px; min-height: 1px; margin: 0 9px; padding: 0; border: 0; background: var(--rn47-line); }
.rn-court-map .rn47-map-zoom-controls > .rn47-map-icon-button + .rn47-map-icon-button { border-top: 1px solid var(--rn47-line); border-top-left-radius: 0; border-top-right-radius: 0; }
.rn-court-map .rn47-layer-menu { position: absolute; z-index: 8; top: 130px; right: 12px; width: min(250px, calc(100% - 76px)); padding: 8px; border-radius: 18px; animation: rn47-liquid-popover-in 220ms ease; }
.rn-court-map .rn47-layer-menu p { margin: 5px 8px; font-size: 12px; color: var(--rn47-muted); }
.rn-court-map .rn47-preview-action { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 9px 12px; border: 1px solid var(--rn47-line); border-radius: 12px; color: var(--rn47-navy); background: var(--rn47-inner); font-size: 12px; line-height: 1.5; }
.rn-court-map .rn47-layer-menu .rn47-preview-action { width: 100%; justify-content: flex-start; border: 0; }
.rn-court-map .rn47-preview-action:hover { background: var(--rn47-hover); }
.rn-court-map .rn47-preview-action[aria-pressed="true"] { color: #fff; background: #102a43; }

/* Search and court information share the same overlay slot. JavaScript owns the
 * MAP_IDLE / SEARCH_OPEN / COURT_SELECTED state; hidden also removes focus. */
.rn-court-map .rn47-search-handle {
	position: absolute; z-index: 6; bottom: max(34px, var(--rn47-sheet-bottom)); left: 50%; transform: translateX(-50%);
	display: flex; align-items: center; justify-content: center; gap: 7px;
	min-width: 138px; height: 44px; padding: 7px 17px; border-radius: 23px;
	color: var(--rn47-navy); font-size: 12px; font-weight: var(--rn47-medium-weight);
}
.rn-court-map .rn47-search-handle-grip { display: none; }
.rn-court-map .rn47-search-handle:active { background: var(--rn47-paper); }
.rn-court-map .rn47-map-search-sheet,
.rn-court-map .rn47-preview-info {
	position: absolute; z-index: 8; inset-inline: 10px; bottom: var(--rn47-sheet-bottom); top: auto;
	width: auto; min-width: 0; max-height: calc(100% - 96px); border-radius: 24px;
	overflow: hidden; animation: rn47-liquid-sheet-in 280ms cubic-bezier(.22,1,.36,1);
	overscroll-behavior: contain;
}
.rn-court-map .rn47-map-search-sheet { padding: 12px; overflow-y: auto; bottom: calc(var(--rn47-sheet-bottom) + var(--rn47-keyboard-inset, 0px)); max-height: max(120px, calc(100% - 96px - var(--rn47-keyboard-inset, 0px))); }
.rn-court-map .rn47-search-sheet-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-block-end: 6px; }
.rn-court-map .rn47-search-sheet-top h2 { margin: 0; font-size: 14px; font-weight: var(--rn47-medium-weight); color: var(--rn47-navy); }
.rn-court-map #rn47-preview-search { display: block; width: 100%; min-height: 46px; margin: 0; padding: 9px 12px; border: 1px solid var(--rn47-line); border-radius: 14px; background: var(--rn47-inner); color: var(--rn47-ink); font-size: 16px; line-height: 1.6; box-shadow: none; }
.rn-court-map #rn47-preview-search::placeholder { color: var(--rn47-muted); opacity: 1; }
.rn-court-map .rn47-search-results { position: static; width: 100%; margin-top: 8px; }
.rn-court-map .rn47-search-results > summary { display: flex; align-items: center; gap: 5px; min-height: 32px; padding: 3px 6px; color: var(--rn47-muted); list-style: none; cursor: pointer; font-size: 11px; }
.rn-court-map .rn47-search-results > summary::-webkit-details-marker { display: none; }
.rn-court-map .rn47-results-popover { position: static; width: 100%; max-width: none; padding: 0; background: transparent; border: 0; box-shadow: none; }
.rn-court-map .rn47-preview-courts { list-style: none; margin: 0; padding: 0; max-height: min(300px, 40vh); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.rn-court-map .rn47-preview-courts > li { margin: 0; padding: 0; border-bottom: 1px solid var(--rn47-line); }
.rn-court-map .rn47-preview-courts > li:last-child { border: 0; }
.rn-court-map .rn47-preview-court { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; width: 100%; min-height: 44px; padding: 10px 8px; text-align: start; border: 0; border-radius: 10px; background: transparent; color: var(--rn47-ink); line-height: 1.7; }
.rn-court-map .rn47-preview-court:hover { background: var(--rn47-hover); }
.rn-court-map .rn47-preview-court.is-selected { background: var(--rn47-hover); box-shadow: inset -2px 0 var(--rn47-accent); }
.rn-court-map .rn47-preview-court :is(strong, .rn47-preview-court-name, .rn47-preview-court-title) { font-size: 13px; color: var(--rn47-navy); font-weight: var(--rn47-medium-weight); }
.rn-court-map .rn47-result-address, .rn-court-map .rn47-preview-court-type { color: var(--rn47-muted); font-size: 12px; }
.rn-court-map .rn47-preview-empty { padding: 16px 8px; color: var(--rn47-muted); font-size: 13px; }

/* Compact first, details on demand. There is no viewport-fixed sheet competing
 * with the site's header or footer and no large empty photograph placeholder. */
.rn-court-map .rn47-preview-info { display: flex; flex-direction: column; max-height: min(270px, calc(100% - 96px)); }
.rn-court-map .rn47-preview-info.is-expanded { max-height: min(74vh, calc(100% - 96px)); }
.rn-court-map .rn47-sheet-handle { display: grid; place-items: center; flex-shrink: 0; width: 100%; min-height: 28px; padding: 0; border: 0; background: transparent; color: var(--rn47-muted); touch-action: none; }
.rn-court-map .rn47-sheet-handle span { width: 34px; height: 4px; border-radius: 4px; background: currentColor; opacity: .4; }
.rn-court-map .rn47-preview-info-top { display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; gap: 8px; padding-inline: 14px 8px; min-height: 40px; }
.rn-court-map .rn47-preview-info-top h2 { margin: 0; font-size: 11px; font-weight: 400; color: var(--rn47-muted); }
.rn-court-map .rn47-preview-close { display: grid; place-items: center; width: 44px; height: 44px; min-width: 44px; padding: 0; border: 0; border-radius: 13px; color: var(--rn47-navy); background: transparent; font-size: 25px; line-height: 1; }
.rn-court-map .rn47-preview-close:hover { background: var(--rn47-hover); }
.rn-court-map .rn47-preview-close svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.rn-court-map .rn47-preview-info-content { flex: 1 1 auto; min-height: 0; padding: 0 14px 14px; max-height: calc(74vh - 76px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; overflow-wrap: break-word; }
.rn-court-map .rn47-preview-info:not(.is-expanded) .rn47-preview-info-content { max-height: 190px; }
.rn-court-map .rn47-court-summary { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 11px; align-items: start; }
.rn-court-map .rn47-court-summary-photo { width: 56px; height: 56px; display: grid; place-items: center; border-radius: 16px; overflow: hidden; background: var(--rn47-inner); color: var(--rn47-navy); }
.rn-court-map .rn47-court-summary-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rn-court-map .rn47-court-summary-photo svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.4; }
.rn-court-map .rn47-court-summary-photo .rn47-panel-image-error { position: static; }
.rn-court-map .rn47-court-summary-text { min-width: 0; }
.rn-court-map .rn47-preview-info-heading { color: var(--rn47-navy); font-size: 15px; font-weight: var(--rn47-medium-weight); line-height: 1.7; margin: 0 0 4px; }
.rn-court-map .rn47-court-summary-address { margin: 3px 0; font-size: 12px; line-height: 1.75; color: var(--rn47-muted); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.rn-court-map .rn47-preview-info.is-expanded .rn47-court-summary-address { display: block; -webkit-line-clamp: unset; overflow: visible; }
.rn-court-map .rn47-court-summary-phones { margin: 3px 0; font-size: 12px; }
.rn-court-map .rn47-court-summary-phones a { display: inline-flex; align-items: center; min-height: 44px; margin-inline-end: 8px; }
.rn-court-map .rn47-court-summary-phone-label { color: var(--rn47-muted); font-size: 11px; }
.rn-court-map .rn47-court-summary-notices { margin-top: 6px; }
.rn-court-map .rn47-court-summary-notices .rn47-preview-badge { margin-block: 3px; }
.rn-court-map .rn47-court-expand { display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%; min-height: 44px; margin-top: 5px; padding: 7px 10px; border: 0; border-radius: 12px; color: var(--rn47-navy); background: var(--rn47-hover); font-size: 12px; }
.rn-court-map .rn47-court-details { border-top: 1px solid var(--rn47-line); margin-top: 12px; padding-top: 12px; }
.rn-court-map .rn47-preview-info-content p { margin-block: 8px; }
.rn-court-map .rn47-preview-info-content a { color: var(--rn47-navy); text-decoration: underline; text-underline-offset: 3px; }
.rn-court-map .rn47-panel-hero { position: relative; width: 100%; aspect-ratio: 16 / 9; max-height: 200px; margin-bottom: 12px; border-radius: 16px; overflow: hidden; background: var(--rn47-inner); }
.rn-court-map .rn47-panel-hero > img { width: 100%; height: 100%; display: block; object-fit: cover; }
.rn-court-map .rn47-panel-hero.is-placeholder { height: 44px; aspect-ratio: auto; display: grid; place-items: center; }
.rn-court-map .rn47-panel-hero svg { width: 28px; height: 28px; fill: none; stroke: var(--rn47-navy); stroke-width: 1.4; }
.rn-court-map .rn47-panel-image-count { position: absolute; bottom: 8px; right: 8px; border-radius: 16px; background: rgb(16 42 67 / 76%); color: #fff; font-size: 11px; padding: 2px 8px; direction: ltr; }
.rn-court-map .rn47-panel-image-nav { position: absolute; top: calc(50% - 22px); left: 5px; width: 44px; height: 44px; border: 1px solid rgb(255 255 255 / 45%); border-radius: 14px; color: #fff; background: rgb(16 42 67 / 68%); font-size: 26px; }
.rn-court-map .rn47-panel-image-next { left: auto; right: 5px; }
.rn-court-map .rn47-panel-image-error { position: absolute; left: calc(50% - 14px); top: calc(50% - 14px); }
.rn-court-map .rn47-panel-image-credit, .rn-court-map .rn47-preview-photo-credit { margin-block: 5px 10px; color: var(--rn47-muted); font-size: 10px; line-height: 1.7; }
.rn-court-map .rn47-panel-type { font-size: 12px; color: var(--rn47-muted); }
.rn-court-map .rn47-panel-actions { display: flex; flex-wrap: wrap; gap: 3px; padding: 3px; margin-block: 10px; border: 1px solid var(--rn47-line); border-radius: 15px; background: var(--rn47-inner); }
.rn-court-map .rn47-panel-actions :is(button, a) { flex: 1; display: inline-flex; justify-content: center; align-items: center; gap: 4px; min-height: 44px; min-width: 0; padding: 7px 8px; border: 0; border-radius: 12px; background: transparent; color: var(--rn47-navy); font-size: 12px; text-decoration: none; white-space: nowrap; }
.rn-court-map .rn47-panel-actions :is(button, a):hover { background: var(--rn47-hover); }
.rn-court-map .rn47-panel-feedback:empty { display: none; }
.rn-court-map .rn47-panel-feedback { color: var(--rn47-muted); font-size: 12px; }
.rn-court-map .rn47-panel-fields { margin: 10px 0; }
.rn-court-map .rn47-panel-fields dt { margin: 12px 0 3px; padding-top: 10px; border-top: 1px solid var(--rn47-line); color: var(--rn47-muted); font-size: 11px; }
.rn-court-map .rn47-panel-fields dt:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.rn-court-map .rn47-panel-fields dd { margin: 0 0 8px; font-size: 13px; line-height: 1.85; color: var(--rn47-ink); }
.rn-court-map .rn47-panel-fields .rn47-panel-prose { font-family: var(--rn-font-reading, inherit); font-size: 15px; font-weight: 400; line-height: var(--rn-leading-reading, 2.05); }
.rn-court-map .rn47-preview-badge { display: inline-block; width: fit-content; max-width: 100%; padding: 3px 7px; border-radius: 7px; color: #725b38; background: rgb(229 209 174 / 45%); font-size: 11px; font-weight: 400; line-height: 1.75; }
.rn-court-map .rn47-preview-badge.is-verified, .rn-court-map .rn47-preview-badge[data-status="verified"] { color: #315f49; background: rgb(211 232 216 / 72%); }
.rn-court-map .rn47-preview-landmark-note, .rn-court-map .rn47-preview-note { padding: 8px 10px; border-radius: 10px; background: var(--rn47-inner); color: var(--rn47-muted); font-size: 12px; }
.rn-court-map .rn47-panel-colocated { margin-block: 12px; padding-block: 10px; border-block: 1px solid var(--rn47-line); }
.rn-court-map .rn47-panel-colocated h4 { font-size: 13px; font-weight: var(--rn47-medium-weight); margin: 0 0 6px; }
.rn-court-map .rn47-panel-colocated ul { margin: 0; padding-inline-start: 18px; font-size: 12px; }
.rn-court-map .rn47-panel-gallery { margin-top: 12px; border-top: 1px solid var(--rn47-line); padding-top: 8px; }
.rn-court-map .rn47-panel-gallery summary { min-height: 44px; padding-block: 10px; color: var(--rn47-navy); font-size: 12px; cursor: pointer; }
.rn-court-map .rn47-panel-thumbnails { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.rn-court-map .rn47-panel-thumbnails button { padding: 2px; min-height: 48px; border: 2px solid transparent; border-radius: 12px; background: transparent; overflow: hidden; }
.rn-court-map .rn47-panel-thumbnails [aria-pressed="true"] { border-color: var(--rn47-accent); }
.rn-court-map .rn47-panel-thumbnails img { display: block; width: 100%; height: 62px; object-fit: cover; border-radius: 7px; }
.rn-court-map .rn47-panel-copy-fallback { width: 100%; min-height: 76px; color: var(--rn47-ink); background: var(--rn47-paper); }

/* Legacy DOM markers retain a 44px touch target and a quiet 30px visual. The
 * registry's existing native clustered layers keep their data-driven rendering. */
.rn-court-map .rn47-preview-marker-position, .rn-court-map .rn47-preview-marker { width: 44px; height: 44px; }
.rn-court-map .rn47-preview-marker { position: relative; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.rn-court-map .rn47-preview-marker-visual { position: relative; display: grid; place-items: center; width: 30px; height: 30px; border: 1.5px solid #102a43; border-radius: 50%; background: #f8f7f3; color: #102a43; box-shadow: 0 2px 7px rgb(16 42 67 / 15%); transition: transform 200ms ease, box-shadow 200ms ease; overflow: hidden; }
.rn-court-map .rn47-preview-marker-visual > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rn-court-map .rn47-preview-photo-fallback { display: grid; place-items: center; }
.rn-court-map .rn47-preview-photo-fallback svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.rn-court-map .rn47-preview-marker:is(.is-selected, [aria-pressed="true"], :focus-visible) .rn47-preview-marker-visual { transform: scale(1.06); box-shadow: 0 0 0 4px rgb(104 141 164 / 19%), 0 2px 7px rgb(16 42 67 / 15%); }
.rn-court-map .rn47-preview-marker-label { position: absolute; display: none; top: calc(100% + 2px); left: 50%; transform: translateX(-50%); width: max-content; max-width: 190px; padding: 4px 8px; border: 1px solid var(--rn47-line); border-radius: 8px; color: var(--rn47-ink); background: var(--rn47-paper); box-shadow: 0 2px 6px rgb(16 42 67 / 9%); font-size: 11px; line-height: 1.6; text-align: center; white-space: normal; }
.rn-court-map .rn47-preview-marker:is(.is-selected, :hover, :focus-visible) .rn47-preview-marker-label { display: block; }
.rn-court-map .maplibregl-ctrl-attrib { color: #334b60; background: rgb(248 247 243 / 90%); font-family: inherit; font-size: 10px; }
.rn-court-map .maplibregl-ctrl-attrib a { color: inherit; }
.rn-court-map .maplibregl-ctrl-bottom-right, .rn-court-map .maplibregl-ctrl-bottom-left { z-index: 4; }

/* Loading and failure never remove access to the real court search/list. */
.rn-court-map .rn47-preview-map-status { position: absolute; z-index: 3; bottom: 5px; inset-inline: 50px; pointer-events: none; text-align: center; }
.rn-court-map .rn47-preview-map-status p { display: inline; margin: 0; padding: 2px 5px; border-radius: 5px; color: var(--rn47-muted); background: var(--rn47-paper); font-size: 10px; line-height: 1.8; }
.rn-court-map[data-map-load="ready"] .rn47-preview-map-status { width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; }
.rn-court-map .rn47-preview-error { position: absolute; z-index: 6; top: 42%; left: 50%; transform: translate(-50%, -50%); width: min(360px, calc(100% - 30px)); max-height: calc(100% - 125px); overflow-y: auto; padding: 20px; border: 1px solid var(--rn47-line); border-radius: 22px; color: var(--rn47-ink); background: var(--rn47-paper); box-shadow: 0 8px 28px rgb(16 42 67 / 10%); text-align: center; }
.rn-court-map .rn47-preview-error p { margin: 0 0 14px; font-size: 13px; line-height: 1.9; }
.rn-court-map .rn47-preview-error .rn47-preview-action { margin: 3px; }
.rn-court-map .rn47-preview-error ul { text-align: start; padding-inline-start: 18px; font-size: 11px; }
.rn-court-map .rn47-preview-noscript { margin: 8px 0; padding: 12px; border: 1px solid var(--rn47-line); border-radius: 14px; color: var(--rn47-ink); background: var(--rn47-paper); }
.rn-court-map .rn47-static-courts-fallback { margin-block: 12px; padding: 12px 16px; border: 1px solid var(--rn47-line); border-radius: 16px; color: var(--rn47-ink); background: var(--rn47-paper); }
.rn-court-map .rn47-static-courts-fallback summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-weight: var(--rn47-medium-weight); }
.rn-court-map .rn47-static-courts-fallback ul { max-height: 340px; overflow-y: auto; padding-inline-start: 20px; margin-block: 6px; }
.rn-court-map .rn47-static-courts-fallback li { padding-block: 8px; border-bottom: 1px solid var(--rn47-line); }
.rn-court-map .rn47-location-picker { max-width: 440px; padding: 12px 16px; border: 1px solid var(--rn47-beige); border-radius: 14px; background: var(--rn47-paper); color: var(--rn47-ink); font-size: 13px; }
.rn-court-map .rn47-location-picker button { min-height: 44px; padding: 8px 12px; border: 0; border-radius: 10px; background: #102a43; color: #fff; }
.rn-court-map .rn47-picker-point { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #f8f7f3; border: 2px dashed #4b4038; color: #102a43; font: 500 24px/1 sans-serif; box-shadow: 0 2px 8px rgb(16 42 67 / 20%); }

/* Fullscreen is the same workspace, including search, data and controls. */
.rn-court-map.rn47-is-fullscreen { margin: 0; padding: 0; max-width: none; width: 100vw; height: 100vh; height: var(--rn47-view-height); min-height: 0; background: var(--rn47-paper); }
.rn-court-map.rn47-is-css-fullscreen { position: fixed; inset: 0; z-index: 2147483000; }
.rn-court-map.rn47-is-fullscreen .rn47-preview-heading { display: none; }
.rn-court-map.rn47-is-fullscreen.has-location-picker .rn47-preview-heading { display: block; position: absolute; z-index: 10; top: max(134px, calc(env(safe-area-inset-top, 0px) + 122px)); right: max(12px, env(safe-area-inset-right, 0px)); left: 72px; max-width: 440px; max-height: 45vh; overflow-y: auto; margin: 0; }
.rn-court-map.rn47-is-fullscreen.has-location-picker .rn47-preview-heading > :is(h1, .rn47-preview-eyebrow) { display: none; }
.rn-court-map.rn47-is-fullscreen .rn47-preview-workspace { width: 100%; height: 100%; border: 0; border-radius: 0; }
.rn-court-map.rn47-is-fullscreen .rn47-preview-map-frame { min-height: 0; height: 100%; }
.rn-court-map.rn47-is-fullscreen .rn47-map-toolbar { left: max(12px, env(safe-area-inset-left, 0px)); right: max(12px, env(safe-area-inset-right, 0px)); }
.rn-court-map.rn47-is-fullscreen .rn47-map-zoom-controls { left: max(12px, env(safe-area-inset-left, 0px)); }
.rn-court-map.rn47-is-fullscreen :is(.rn47-map-top-actions, .rn47-layer-menu) { right: max(12px, env(safe-area-inset-right, 0px)); }
.rn-court-map.rn47-is-fullscreen .rn47-preview-info { right: max(10px, env(safe-area-inset-right, 0px)); }
.rn-court-map.rn47-is-fullscreen .rn47-map-top-actions { top: max(76px, calc(env(safe-area-inset-top, 0px) + 64px)); }
.rn-court-map.rn47-is-fullscreen .rn47-map-zoom-controls { top: max(82px, calc(env(safe-area-inset-top, 0px) + 70px)); }
.rn-court-map.rn47-is-fullscreen .rn47-layer-menu { top: max(130px, calc(env(safe-area-inset-top, 0px) + 118px)); }

@media (min-width: 481px) {
	.rn47-map-public-page { width: calc(100% - 36px); }
	.rn-court-map .rn47-map-toolbar { inset-inline: 18px; top: 16px; }
	.rn-court-map .rn47-reference-types { justify-content: center; }
	.rn-court-map .rn47-map-top-actions { right: 18px; top: 82px; }
	.rn-court-map .rn47-map-zoom-controls { left: 18px; top: 88px; }
	.rn-court-map .rn47-layer-menu { right: 18px; top: 136px; }
	.rn-court-map .rn47-map-search-sheet { inset-inline: auto; left: 50%; transform: translateX(-50%); width: min(440px, calc(100% - 36px)); animation-name: rn47-liquid-centered-sheet-in; }
	.rn-court-map .rn47-preview-info { inset-inline: auto; right: 18px; width: min(390px, calc(100% - 36px)); }
	.rn-court-map #rn47-preview-search { font-size: 14px; }
}
@media (min-width: 1025px) {
	.rn-court-map .rn47-preview-map-frame { min-height: 500px; height: min(900px, max(500px, calc(var(--rn47-view-height) - var(--rn47-site-header-height, 104px) - 40px))); }
	.rn-court-map .rn47-map-toolbar { left: 80px; right: 130px; width: fit-content; max-width: calc(100% - 240px); margin-inline: auto; }
	.rn-court-map .rn47-reference-types button { padding-inline: 16px; }
	.rn-court-map .rn47-map-top-actions { top: 18px; }
	.rn-court-map .rn47-map-zoom-controls { top: 88px; }
	.rn-court-map .rn47-layer-menu { top: 74px; }
	.rn-court-map .rn47-preview-info.is-expanded { max-height: min(640px, calc(100% - 112px)); }
	.rn-court-map .rn47-preview-info-content { max-height: min(560px, calc(var(--rn47-view-height) - 250px)); }
	.rn-court-map.rn47-is-fullscreen .rn47-map-top-actions { top: max(18px, env(safe-area-inset-top, 0px)); }
	.rn-court-map.rn47-is-fullscreen .rn47-layer-menu { top: max(74px, calc(env(safe-area-inset-top, 0px) + 62px)); }
}

/* Theme state is inherited; this stylesheet creates no parallel controller. */
:root[data-theme="dark"] .rn-court-map,
.rn-court-map[data-theme="dark"] {
	--rn47-navy: #edf3fa; --rn47-ink: #e4edf5; --rn47-muted: #b2c0ce;
	--rn47-paper: #162333; --rn47-line: rgb(226 235 245 / 14%);
	--rn47-glass: rgb(19 33 49 / 66%); --rn47-glass-line: rgb(228 238 249 / 21%);
	--rn47-glass-shadow: inset 0 1px 0 rgb(255 255 255 / 7%), 0 7px 24px rgb(0 10 22 / 20%);
	--rn47-inner: rgb(230 239 248 / 5%); --rn47-hover: rgb(229 239 251 / 10%); --rn47-focus: #8cbcf0;
}
:root[data-theme="dark"] .rn-court-map .rn47-preview-map-frame { background: #152334; }
:root[data-theme="dark"] .rn-court-map .rn47-reference-types [aria-pressed="true"] { background: #102a43; color: #fff; border-color: #7594ae; }
:root[data-theme="dark"] .rn-court-map .rn47-preview-badge { color: #edcf9d; background: rgb(133 106 61 / 23%); }
:root[data-theme="dark"] .rn-court-map .rn47-preview-badge.is-verified { color: #b9ddc8; background: rgb(49 95 73 / 45%); }
:root[data-theme="dark"] .rn-court-map .maplibregl-ctrl-attrib { color: #d8e3ed; background: rgb(22 35 51 / 92%); }
@media (prefers-color-scheme: dark) {
	:root:not([data-theme]) .rn-court-map {
		--rn47-navy: #edf3fa; --rn47-ink: #e4edf5; --rn47-muted: #b2c0ce;
		--rn47-paper: #162333; --rn47-line: rgb(226 235 245 / 14%);
		--rn47-glass: rgb(19 33 49 / 66%); --rn47-glass-line: rgb(228 238 249 / 21%);
		--rn47-glass-shadow: inset 0 1px 0 rgb(255 255 255 / 7%), 0 7px 24px rgb(0 10 22 / 20%);
		--rn47-inner: rgb(230 239 248 / 5%); --rn47-hover: rgb(229 239 251 / 10%); --rn47-focus: #8cbcf0;
	}
}
@supports (height: 100dvh) {
	.rn-court-map { --rn47-view-height: 100dvh; }
	.rn-court-map .rn47-preview-info.is-expanded { max-height: min(74dvh, calc(100% - 96px)); }
	.rn-court-map .rn47-preview-info-content { max-height: calc(74dvh - 76px); }
	.rn-court-map .rn47-preview-courts { max-height: min(300px, 40dvh); }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.rn-court-map :is(.rn47-map-toolbar, .rn47-map-top-actions, .rn47-map-zoom-controls, .rn47-search-handle, .rn47-map-search-sheet, .rn47-preview-info, .rn47-layer-menu) { background: var(--rn47-paper); }
}
/* Rendering/model budgets may follow hardware capability; glass does not become
 * opaque merely because a phone reports four CPU cores. User transparency
 * preferences and unsupported-browser fallbacks remain authoritative. */
@media (prefers-reduced-transparency: reduce) {
	.rn-court-map { --rn47-glass: var(--rn47-paper); --rn47-glass-blur: 0px; }
}
@keyframes rn47-liquid-sheet-in { from { opacity: 0; transform: translateY(15px); } to { opacity: 1; transform: translateY(0); } }
@keyframes rn47-liquid-centered-sheet-in { from { opacity: 0; transform: translate(-50%, 15px); } to { opacity: 1; transform: translate(-50%, 0); } }
@keyframes rn47-liquid-popover-in { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
	.rn-court-map :is(.rn47-map-search-sheet, .rn47-preview-info, .rn47-layer-menu) { animation: none; }
	.rn-court-map :is(.rn47-map-icon-button, .rn47-reference-types button, .rn47-preview-marker-visual) { transition: none; }
}
@media (forced-colors: active) {
	.rn-court-map :is(.rn47-map-toolbar, .rn47-map-top-actions, .rn47-map-zoom-controls, .rn47-search-handle, .rn47-map-search-sheet, .rn47-preview-info, .rn47-layer-menu) { border-color: CanvasText; box-shadow: none; }
	.rn-court-map .rn47-reference-types [aria-pressed="true"] { outline: 2px solid Highlight; outline-offset: -3px; }
}

/* Consume touch only on the map canvas; page scrolling remains native outside. */
.rn-court-map .rn47-preview-map .maplibregl-canvas { touch-action: none; }
.rn-court-map[data-panel-state="COURT_SELECTED"] :is(.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right),
.rn-court-map[data-panel-state="SEARCH_OPEN"] :is(.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right) { bottom: calc(var(--rn47-overlay-height, 0px) + var(--rn47-sheet-bottom) + 4px); }
.rn-court-map.rn47-is-fullscreen { --rn47-sheet-bottom: max(10px, calc(env(safe-area-inset-bottom, 0px) + 8px)); }
/* Mobile viewport fills the available screen without a tall fixed minimum.
 * The site header stays in normal flow; fullscreen still owns the whole viewport. */
@media (max-width: 1024px) {
 .rn47-map-public-page { width: calc(100% - 4px); padding-block: 4px 24px; }
 body.rn-visual.rv-jurisdiction-map-page .rn47-map-public-page { padding-block-start: 4px; }
 .rn-court-map .rn47-preview-workspace { border-radius: 12px; }
 .rn-court-map .rn47-preview-map-frame { min-height: 0; height: clamp(320px, calc(var(--rn47-view-height) - var(--rn47-site-header-height, 73px) - 4px), 1100px); }
 .rn-court-map.rn47-is-fullscreen .rn47-preview-map-frame { height: 100%; min-height: 0; }
 .rn-court-map.rn47-is-fullscreen .rn47-preview-workspace { border-radius: 0; }
}
.rn-court-map .rn47-court-summary-photo[role="button"] { cursor: pointer; }
.rn-court-map .rn47-court-summary-photo[role="button"]:focus-visible { outline: 3px solid var(--rn47-focus); outline-offset: 3px; }
.rn-court-map .rn47-photo-open { position: absolute; inset: 0; z-index: 1; display: flex; align-items: flex-end; justify-content: center; padding: 8px; border: 0; background: transparent; color: #fff; text-shadow: 0 1px 4px #102a43; font-size: 12px; }
.rn-court-map .rn47-panel-image-nav { z-index: 2; }
.rn-court-map.rn47-gallery-viewer { position: fixed; inset: 0; width: 100vw; max-width: none; height: 100vh; height: 100dvh; max-height: none; margin: 0; padding: max(70px, calc(env(safe-area-inset-top, 0px) + 54px)) max(52px, env(safe-area-inset-right, 0px)) max(70px, calc(env(safe-area-inset-bottom, 0px) + 54px)) max(52px, env(safe-area-inset-left, 0px)); border: 0; background: rgb(11 29 50 / 97%); color: #fff; overflow: hidden; overscroll-behavior: contain; }
.rn-court-map.rn47-gallery-viewer:not([open]) { display: none; }
.rn-court-map.rn47-gallery-viewer[open] { display: grid; place-items: center; z-index: 2147483500; }
.rn-court-map.rn47-gallery-viewer::backdrop { background: rgb(11 29 50 / 85%); }
.rn-court-map.rn47-gallery-viewer .rn47-gallery-image { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; touch-action: pan-y pinch-zoom; user-select: none; }
.rn-court-map.rn47-gallery-viewer button { position: absolute; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid rgb(255 255 255 / 22%); border-radius: 14px; background: rgb(255 255 255 / 9%); color: #fff; font-size: 28px; }
.rn-court-map.rn47-gallery-viewer .rn47-gallery-close { top: max(12px, env(safe-area-inset-top, 0px)); right: max(12px, env(safe-area-inset-right, 0px)); }
.rn-court-map.rn47-gallery-viewer .rn47-gallery-prev { top: calc(50% - 22px); left: max(4px, env(safe-area-inset-left, 0px)); }
.rn-court-map.rn47-gallery-viewer .rn47-gallery-next { top: calc(50% - 22px); right: max(4px, env(safe-area-inset-right, 0px)); }
.rn-court-map.rn47-gallery-viewer .rn47-gallery-counter { position: absolute; bottom: max(36px, calc(env(safe-area-inset-bottom, 0px) + 30px)); margin: 0; direction: ltr; font-size: 13px; }
.rn-court-map.rn47-gallery-viewer .rn47-gallery-credit { position: absolute; bottom: max(10px, calc(env(safe-area-inset-bottom, 0px) + 4px)); left: 12px; right: 12px; text-align: center; margin: 0; font-size: 11px; color: #d2dae3; }
@keyframes rn47-gallery-in { from { opacity: 0; } to { opacity: 1; } }
.rn-court-map.rn47-gallery-viewer[open] { animation: rn47-gallery-in 180ms ease; }
@media (prefers-reduced-motion: reduce) { .rn-court-map.rn47-gallery-viewer[open] { animation: none; } }
