/* Monroe Site Tools — palette: #0a2d5e, #ffffff, #eaf1f8, #22303f */

/* Two-column layout on the home page and county record pages.
   The mu-plugin hides the sidebar on county pages; these rules restore it. */
@media (min-width: 769px) {
	html body:has(.county-page) .site-content {
		display: flex !important;
		align-items: flex-start;
		gap: 32px;
		max-width: 1200px !important;
		margin: 40px auto !important;
	}

	html body:has(.county-page) .content-area {
		width: auto !important;
		flex: 1 1 auto;
		min-width: 0;
		float: none !important;
	}

	html body:has(.county-page) .widget-area {
		display: block !important;
		width: 300px !important;
		flex: 0 0 300px;
		float: none !important;
		margin: 0 !important;
	}
}

@media (max-width: 768px) {
	html body:has(.county-page) .site-content {
		display: block !important;
		max-width: none !important;
		margin: 20px 12px !important;
	}

	html body:has(.county-page) .content-area {
		width: 100% !important;
	}

	html body:has(.county-page) .widget-area {
		display: block !important;
		width: 100% !important;
		margin: 24px 0 0 !important;
	}
}

/* Sidebar widget shell */
.widget.widget_monroe_site_tools,
.widget.monroe-site-tools-widget {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 0 20px !important;
}

.monroe-tools {
	display: flex;
	flex-direction: column;
	gap: 16px;
	color: #22303f;
	font-size: 15px;
	line-height: 1.45;
}

.monroe-card {
	box-sizing: border-box;
	max-width: 100%;
	background: #ffffff;
	border: 1px solid rgba(10, 45, 94, 0.14);
	border-radius: 16px;
	padding: 20px;
	box-shadow: 0 2px 8px rgba(10, 45, 94, 0.06);
	color: #22303f;
}

.monroe-card__title {
	margin: 0 0 8px;
	padding: 0;
	font-size: 21px;
	line-height: 1.2;
	font-weight: 700;
	color: #0a2d5e;
	overflow-wrap: break-word;
}

.monroe-card__lede {
	margin: 0 0 16px;
	font-size: 14px;
	line-height: 1.45;
	color: #22303f;
}

.monroe-field {
	display: block;
	margin: 0 0 14px;
}

.monroe-field > span {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: #0a2d5e;
}

.monroe-field select {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	padding: 11px 12px;
	border: 1px solid rgba(10, 45, 94, 0.3);
	border-radius: 9px;
	background: #ffffff;
	color: #22303f;
	font-size: 16px;
	line-height: 1.3;
}

.monroe-field select:focus {
	outline: 2px solid #0a2d5e;
	outline-offset: 1px;
	border-color: #0a2d5e;
}

.monroe-btn {
	box-sizing: border-box;
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 13px 14px;
	border: 0;
	border-radius: 9px;
	background: #0a2d5e;
	color: #ffffff;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	cursor: pointer;
}

.monroe-btn:hover,
.monroe-btn:focus {
	background: #0a2d5e;
	color: #ffffff;
	opacity: 0.9;
}

/* Identifier result */
.monroe-id-result {
	margin-top: 14px;
	padding: 14px;
	border-left: 4px solid #0a2d5e;
	border-radius: 9px;
	background: #eaf1f8;
	color: #22303f;
}

.monroe-id-result[hidden] {
	display: none !important;
}

.monroe-id-result p {
	margin: 0 0 8px;
	font-size: 14px;
	line-height: 1.45;
	color: #22303f;
}

.monroe-id-result .monroe-id-result__type {
	margin: 0 0 6px;
	font-size: 17px;
	font-weight: 700;
	color: #0a2d5e;
}

.monroe-id-result .monroe-id-result__office strong {
	color: #0a2d5e;
}

.monroe-id-result .monroe-id-result__guidance {
	margin: 0 0 10px;
}

.monroe-id-result .monroe-id-result__link {
	display: inline-block;
	font-size: 14px;
	font-weight: 700;
	color: #0a2d5e;
	text-decoration: underline;
}

/* Monroe County map */
.monroe-map {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid rgba(10, 45, 94, 0.14);
}

.monroe-map__frame {
	box-sizing: border-box;
	display: block;
	width: 100%;
	max-width: 100%;
	height: 200px;
	border: 1px solid rgba(10, 45, 94, 0.14);
	border-radius: 10px;
	background: #eaf1f8;
}

img.monroe-map__frame {
	height: auto;
	aspect-ratio: 640 / 420;
	object-fit: contain;
}

.monroe-map__credit {
	margin: 4px 0 0;
	font-size: 10px;
	line-height: 1.3;
	text-align: center;
	color: #5a6470;
}

.monroe-map__link {
	position: relative;
	display: block;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: inherit;
	font: inherit;
	line-height: 0;
	text-align: left;
	overflow: hidden;
	cursor: pointer;
	appearance: none;
}

.monroe-map__link:focus-visible {
	outline: 2px solid #0a2d5e;
	outline-offset: 2px;
}

.monroe-map__pin {
	position: absolute;
	width: 20px;
	height: 20px;
	margin: -10px 0 0 -10px;
	border-radius: 50%;
	background: #0a2d5e;
	border: 4px solid #ffffff;
	box-shadow: 0 0 0 6px rgba(10, 45, 94, 0.28), 0 2px 8px rgba(0, 0, 0, 0.4);
	pointer-events: none;
}

.monroe-map__link:hover .monroe-map__pin {
	box-shadow: 0 0 0 6px rgba(10, 45, 94, 0.3), 0 2px 8px rgba(0, 0, 0, 0.45);
}

.monroe-map__caption {
	margin: 8px 0 0;
	font-size: 12px;
	line-height: 1.4;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-align: center;
	color: #0a2d5e;
}

/* Office map lightbox */
body.monroe-map-open {
	overflow: hidden !important;
}

.monroe-map-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 20px;
}

.monroe-map-modal[hidden] {
	display: none !important;
}

.monroe-map-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(8, 22, 40, 0.62);
}

.monroe-map-modal__dialog {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	width: 100%;
	max-width: 520px;
	max-height: calc(100vh - 40px);
	max-height: calc(100dvh - 40px);
	overflow-y: auto;
	padding: 20px;
	border-radius: 16px;
	background: #ffffff;
	border: 1px solid rgba(10, 45, 94, 0.16);
	box-shadow: 0 24px 60px rgba(10, 45, 94, 0.35);
	color: #22303f;
	text-align: left;
}

.monroe-map-modal__dialog:focus {
	outline: none;
}

.monroe-map-modal__close {
	position: absolute;
	top: 10px;
	right: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #eaf1f8;
	color: #0a2d5e;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}

.monroe-map-modal__close:hover,
.monroe-map-modal__close:focus-visible {
	background: #dbe7f3;
	color: #0a2d5e;
}

.monroe-map-modal__close:focus-visible {
	outline: 2px solid #0a2d5e;
	outline-offset: 2px;
}

.monroe-map-modal__title {
	margin: 0 44px 4px 0;
	padding: 0;
	font-size: 20px;
	line-height: 1.25;
	font-weight: 700;
	color: #0a2d5e;
	overflow-wrap: break-word;
}

.monroe-map-modal__address {
	margin: 0 0 14px;
	font-size: 14px;
	line-height: 1.45;
	color: #22303f;
}

.monroe-map-modal__image {
	display: block;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	height: auto;
	border: 1px solid rgba(10, 45, 94, 0.14);
	border-radius: 10px;
	background: #eaf1f8;
}

.monroe-map-modal__zoombar {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 10px 0 0;
}

.monroe-map-modal__zoom-controls {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	box-sizing: border-box;
	max-width: 100%;
	padding: 4px;
	border: 1px solid rgba(10, 45, 94, 0.16);
	border-radius: 999px;
	background: #eaf1f8;
}

.monroe-map-modal__zoom-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	flex: 0 0 auto;
	min-width: 32px;
	height: 32px;
	margin: 0;
	padding: 0 8px;
	border: 0;
	border-radius: 999px;
	background: #ffffff;
	color: #0a2d5e;
	font-family: inherit;
	font-size: 17px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	touch-action: manipulation;
}

.monroe-map-modal__zoom-btn--reset {
	font-size: 11px;
	letter-spacing: 0.02em;
}

.monroe-map-modal__zoom-btn:hover:not(:disabled) {
	background: #dbe7f3;
	color: #0a2d5e;
}

.monroe-map-modal__zoom-btn:focus-visible {
	outline: 2px solid #0a2d5e;
	outline-offset: 2px;
}

.monroe-map-modal__zoom-btn:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.monroe-map-modal__zoom-status {
	margin: 0 2px;
	padding: 0;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	white-space: nowrap;
	color: #22303f;
}

.monroe-map-modal__zoom-label {
	font-weight: 700;
	color: #0a2d5e;
}

.monroe-map-modal__zoom-level {
	color: #5a6470;
}

.monroe-map-modal__zoom-level.is-active {
	font-weight: 800;
	color: #ffffff;
	background: #0a2d5e;
	border-radius: 4px;
	padding: 1px 5px;
}

.monroe-map-modal__credit {
	margin: 8px 0 0;
	font-size: 11px;
	line-height: 1.35;
	text-align: center;
	color: #5a6470;
}

@media (max-width: 600px) {
	.monroe-map-modal {
		padding: 12px;
	}

	.monroe-map-modal__dialog {
		max-height: calc(100vh - 24px);
		max-height: calc(100dvh - 24px);
		padding: 16px;
		border-radius: 12px;
	}

	.monroe-map-modal__title {
		font-size: 18px;
	}

	.monroe-map-modal__address {
		font-size: 13px;
	}

	.monroe-map-modal__zoom-controls {
		gap: 4px;
	}

	.monroe-map-modal__zoom-status {
		margin: 0;
		font-size: 11px;
	}

	.monroe-map-modal__zoom-btn {
		min-width: 30px;
		height: 30px;
		padding: 0 6px;
	}
}

@media (max-width: 768px) {
	.monroe-map,
	.monroe-map__frame {
		width: 100%;
		max-width: 100%;
	}

	.monroe-card__title {
		font-size: 20px;
	}
}

/* Chat */
.monroe-chat {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.monroe-chat__log {
	display: flex;
	flex-direction: column;
	gap: 8px;
	max-height: 260px;
	overflow-y: auto;
	padding: 2px;
}

.monroe-chat__msg {
	max-width: 92%;
	padding: 8px 10px;
	border-radius: 10px;
	font-size: 13px;
	line-height: 1.45;
	white-space: pre-wrap;
	overflow-wrap: break-word;
}

.monroe-chat__msg--bot {
	align-self: flex-start;
	background: #eaf1f8;
	border: 1px solid rgba(10, 45, 94, 0.1);
	color: #22303f;
}

.monroe-chat__msg--user {
	align-self: flex-end;
	background: #0a2d5e;
	color: #ffffff;
}

.monroe-chat__msg a {
	color: #0a2d5e;
	font-weight: 700;
}

.monroe-chat__msg--user a {
	color: #ffffff;
}

.monroe-chat__more {
	display: block;
	margin-top: 6px;
	font-size: 12px;
	font-weight: 700;
	text-decoration: underline;
}

.monroe-chat__form {
	display: flex;
	gap: 6px;
}

.monroe-chat__input {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	padding: 8px 10px;
	border: 1px solid rgba(10, 45, 94, 0.3);
	border-radius: 8px;
	background: #ffffff;
	color: #22303f;
	font-size: 14px;
	line-height: 1.3;
}

.monroe-chat__input:focus {
	outline: 2px solid #0a2d5e;
	outline-offset: 1px;
	border-color: #0a2d5e;
}

.monroe-chat__send {
	flex: 0 0 auto;
	margin: 0;
	padding: 8px 12px;
	border: 0;
	border-radius: 8px;
	background: #0a2d5e;
	color: #ffffff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	cursor: pointer;
}

.monroe-chat__send:hover,
.monroe-chat__send:focus {
	background: #0a2d5e;
	color: #ffffff;
	opacity: 0.9;
}

.monroe-chat__send:disabled {
	opacity: 0.6;
	cursor: wait;
}

.monroe-chat__note {
	margin: 0;
	font-size: 11px;
	line-height: 1.4;
	color: #22303f;
}

.monroe-chat__loading {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.monroe-chat__loading > span {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #0a2d5e;
	animation: monroe-tools-blink 1s infinite ease-in-out;
}

.monroe-chat__loading > span:nth-child(2) {
	animation-delay: 0.15s;
}

.monroe-chat__loading > span:nth-child(3) {
	animation-delay: 0.3s;
}

@keyframes monroe-tools-blink {
	0%, 80%, 100% { opacity: 0.25; }
	40% { opacity: 1; }
}

/* Floating assistant */
.monroe-chat-float {
	position: fixed;
	right: 20px;
	bottom: 84px;
	z-index: 9998;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 10px;
	font-family: inherit;
}

.monroe-chat-bubble {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #0a2d5e;
	color: #ffffff;
	cursor: pointer;
	box-shadow: 0 6px 18px rgba(10, 45, 94, 0.28);
}

.monroe-chat-icon {
	display: block;
	width: 26px;
	height: 26px;
}

.monroe-chat-bubble:hover,
.monroe-chat-bubble:focus {
	background: #0a2d5e;
	color: #ffffff;
	opacity: 0.92;
}

.monroe-chat-panel {
	position: fixed;
	top: auto;
	right: 20px;
	bottom: 20px;
	width: 380px;
	max-width: calc(100vw - 24px);
	height: min(560px, calc(100vh - 40px));
	max-height: none;
	display: flex;
	flex-direction: column;
	gap: 12px;
	overflow: hidden;
	padding: 18px;
	border: 1px solid rgba(10, 45, 94, 0.16);
	border-radius: 16px;
	background: #ffffff;
	box-shadow: 0 14px 40px rgba(10, 45, 94, 0.25);
	z-index: 9999;
}

.monroe-chat-float:has(.monroe-chat-panel:not([hidden])) .monroe-chat-bubble {
	display: none;
}

.monroe-chat-panel[hidden] {
	display: none !important;
}

.monroe-chat-panel__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 10px;
}

.monroe-chat-panel__title {
	font-size: 14px;
	font-weight: 700;
	color: #0a2d5e;
}

.monroe-chat-panel__close {
	margin: 0;
	padding: 2px 4px;
	border: 0;
	background: transparent;
	color: #0a2d5e;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
}

.monroe-chat-panel .monroe-chat {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
	gap: 12px;
}

.monroe-chat-panel .monroe-chat__log {
	flex: 1 1 auto;
	max-height: none;
	overflow-y: auto;
}

.monroe-chat-panel .monroe-chat__form {
	margin-top: auto;
}

@media (max-width: 768px) {
	/* Hide only the assistant bubble; the chat panel still opens from the Tools sheet. */
	.monroe-chat-float .monroe-chat-bubble {
		display: none !important;
	}

	/* Compact assistant card anchored bottom-right. It is never full height,
	   so the page header stays visible above it. */
	.monroe-chat-float .monroe-chat-panel {
		top: auto;
		right: 12px;
		bottom: 12px;
		left: auto;
		box-sizing: border-box;
		width: calc(100vw - 24px);
		max-width: 420px;
		height: 58vh;
		max-height: 520px;
		padding: 12px 14px;
		border-radius: 16px;
	}

	.monroe-chat-panel__head {
		flex: 0 0 auto;
		margin-bottom: 6px;
	}

	.monroe-chat-panel__title {
		min-width: 0;
		font-size: 13px;
		line-height: 1.3;
	}

	.monroe-chat-panel__close {
		display: flex;
		flex: 0 0 auto;
		align-items: center;
		justify-content: center;
		width: 32px;
		height: 32px;
		padding: 0;
		border-radius: 50%;
		background: #eaf1f8;
		font-size: 22px;
	}

	.monroe-chat-float .monroe-chat-panel .monroe-chat {
		gap: 8px;
	}

	.monroe-chat-float .monroe-chat-panel .monroe-chat__form {
		flex: 0 0 auto;
	}

	/* Keep the launcher from peeking out beside the open assistant card. */
	body:has(.monroe-chat-panel:not([hidden])) .monroe-tools-fab__cluster {
		display: none;
	}
}

@media (max-width: 600px) {
	.monroe-chat-float {
		right: 12px;
		bottom: 78px;
	}
}

/* Mobile floating site tools -------------------------------------------- */
.monroe-tools-fab {
	display: none;
}

.monroe-tools-fab.is-dismissed {
	display: none !important;
}

@media (max-width: 768px) {
	.monroe-tools-fab {
		display: block;
		font-family: inherit;
	}

	.monroe-tools-fab__cluster {
		position: fixed;
		right: calc(14px + env(safe-area-inset-right, 0px));
		left: auto;
		bottom: calc(16px + env(safe-area-inset-bottom, 0px));
		z-index: 9990;
		width: 52px;
		height: 52px;
	}

	.monroe-tools-fab__button {
		position: relative;
		z-index: 1;
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 2px;
		width: 52px;
		height: 52px;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 50%;
		background: #0a2d5e;
		color: #ffffff;
		font-family: inherit;
		cursor: pointer;
		box-shadow: 0 6px 18px rgba(10, 45, 94, 0.3);
		-webkit-tap-highlight-color: transparent;
	}

	.monroe-tools-fab__button:hover,
	.monroe-tools-fab__button:focus {
		background: #0a2d5e;
		color: #ffffff;
		opacity: 0.92;
	}

	.monroe-tools-fab__button:focus-visible {
		outline: 2px solid #ffffff;
		outline-offset: 2px;
		box-shadow: 0 0 0 4px rgba(10, 45, 94, 0.55), 0 6px 18px rgba(10, 45, 94, 0.3);
	}

	.monroe-tools-fab__dismiss {
		position: absolute;
		top: -9px;
		right: -9px;
		z-index: 2;
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		width: 26px;
		height: 26px;
		margin: 0;
		padding: 0;
		border: 1px solid rgba(10, 45, 94, 0.35);
		border-radius: 50%;
		background: #ffffff;
		color: #0a2d5e;
		cursor: pointer;
		box-shadow: 0 2px 6px rgba(10, 45, 94, 0.25);
		-webkit-tap-highlight-color: transparent;
	}

	.monroe-tools-fab__dismiss:hover,
	.monroe-tools-fab__dismiss:focus {
		background: #eaf1f8;
		color: #0a2d5e;
	}

	.monroe-tools-fab__dismiss:focus-visible {
		outline: 2px solid #0a2d5e;
		outline-offset: 2px;
	}

	.monroe-tools-fab__icon {
		display: block;
		width: 20px;
		height: 20px;
	}

	.monroe-tools-fab__label {
		display: block;
		font-size: 9px;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.04em;
		text-transform: uppercase;
	}

	.monroe-id {
		scroll-margin-top: 16px;
	}
}

body.monroe-tools-sheet-open {
	overflow: hidden !important;
}

.monroe-tools-sheet {
	position: fixed;
	inset: 0;
	z-index: 10050;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	box-sizing: border-box;
}

.monroe-tools-sheet[hidden] {
	display: none !important;
}

.monroe-tools-sheet__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(8, 22, 40, 0.55);
}

.monroe-tools-sheet__panel {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	width: 100%;
	max-width: 520px;
	max-height: calc(100vh - 24px);
	max-height: calc(100dvh - 24px);
	min-height: 0;
	overflow: hidden;
	overscroll-behavior: contain;
	padding: 16px 16px calc(16px + env(safe-area-inset-bottom, 0px));
	border-radius: 20px 20px 0 0;
	background: #ffffff;
	box-shadow: 0 -12px 40px rgba(10, 45, 94, 0.28);
	color: #22303f;
	animation: monroe-tools-sheet-in 0.22s ease-out;
}

.monroe-tools-sheet__panel:focus {
	outline: none;
}

/* The county finder uses the full screen height so the list gets every pixel. */
.monroe-tools-sheet.is-finder {
	align-items: stretch;
}

.monroe-tools-sheet.is-finder .monroe-tools-sheet__panel {
	height: 100%;
	max-height: none;
	padding-top: calc(16px + env(safe-area-inset-top, 0px));
	border-radius: 0;
}

.monroe-tools-sheet__head {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 8px;
}

.monroe-tools-sheet__title {
	margin: 0;
	padding: 0;
	font-size: 17px;
	line-height: 1.25;
	font-weight: 700;
	color: #0a2d5e;
}

.monroe-tools-sheet__close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #eaf1f8;
	color: #0a2d5e;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}

.monroe-tools-sheet__close:hover,
.monroe-tools-sheet__close:focus {
	background: #dbe7f3;
	color: #0a2d5e;
}

.monroe-tools-sheet__close:focus-visible {
	outline: 2px solid #0a2d5e;
	outline-offset: 2px;
}

.monroe-tools-sheet__view {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-height: 0;
}

.monroe-tools-sheet__view[hidden] {
	display: none !important;
}

.monroe-tools-sheet__list {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 2px;
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
}

/* All county record finder */
.monroe-tools-sheet__back {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 6px;
	align-self: flex-start;
	box-sizing: border-box;
	margin: 0 0 10px;
	padding: 8px 13px 8px 10px;
	border: 0;
	border-radius: 999px;
	background: #eaf1f8;
	color: #0a2d5e;
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.monroe-tools-sheet__back:hover,
.monroe-tools-sheet__back:focus {
	background: #dbe7f3;
	color: #0a2d5e;
}

.monroe-tools-sheet__back:focus-visible {
	outline: 2px solid #0a2d5e;
	outline-offset: 2px;
}

/* Shortcuts shown above the county search field */
.monroe-tools-sheet__shortcuts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	flex: 0 0 auto;
	gap: 6px;
	margin: 0 0 10px;
}

.monroe-tools-sheet__shortcut {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 4px;
	box-sizing: border-box;
	min-width: 0;
	margin: 0;
	padding: 8px 4px;
	border: 1px solid rgba(10, 45, 94, 0.14);
	border-radius: 10px;
	background: #eaf1f8;
	color: #0a2d5e;
	font-family: inherit;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.monroe-tools-sheet__shortcut:hover,
.monroe-tools-sheet__shortcut:focus {
	background: #dbe7f3;
	color: #0a2d5e;
}

.monroe-tools-sheet__shortcut:focus-visible {
	outline: 2px solid #0a2d5e;
	outline-offset: 1px;
}

.monroe-tools-sheet__shortcut-icon {
	display: block;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
}

.monroe-tools-sheet__shortcut-label {
	display: block;
	overflow-wrap: anywhere;
}

#monroe-tools-sheet input.monroe-tools-sheet__filter {
	box-sizing: border-box;
	flex: 0 0 auto;
	width: 100%;
	max-width: 100%;
	margin: 0 0 6px;
	padding: 11px 12px;
	border: 1px solid rgba(10, 45, 94, 0.3);
	border-radius: 10px;
	background: #ffffff;
	color: #22303f;
	font-family: inherit;
	font-size: 16px;
	line-height: 1.3;
	-webkit-appearance: none;
	appearance: none;
}

#monroe-tools-sheet input.monroe-tools-sheet__filter:focus {
	outline: 2px solid #0a2d5e;
	outline-offset: 1px;
	border-color: #0a2d5e;
}

.monroe-tools-sheet__status {
	flex: 0 0 auto;
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	color: #5a6470;
}

.monroe-tools-sheet__county {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	padding-right: 2px;
}

.monroe-tools-sheet__empty {
	margin: 12px 0;
	font-size: 14px;
	line-height: 1.45;
	color: #22303f;
}

.monroe-tools-sheet__empty[hidden] {
	display: none !important;
}

.monroe-tools-county__group {
	margin: 0 0 12px;
}

.monroe-tools-county__group[hidden] {
	display: none !important;
}

.monroe-tools-county__heading {
	margin: 10px 0 6px;
	padding: 0;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #0a2d5e;
}

.monroe-tools-county__items {
	display: flex;
	flex-direction: column;
	gap: 1px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.monroe-tools-county__link {
	display: block;
	box-sizing: border-box;
	padding: 9px 10px;
	border-radius: 8px;
	color: #22303f;
	font-size: 14px;
	line-height: 1.35;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.monroe-tools-county__link:hover,
.monroe-tools-county__link:focus {
	background: #eaf1f8;
	color: #0a2d5e;
	text-decoration: underline;
}

.monroe-tools-county__link:focus-visible {
	outline: 2px solid #0a2d5e;
	outline-offset: -2px;
}

.monroe-tools-county__item[hidden] {
	display: none !important;
}

.monroe-tools-sheet__row {
	display: flex;
	align-items: center;
	gap: 12px;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 13px 12px;
	border: 0;
	border-radius: 12px;
	background: #ffffff;
	color: #0a2d5e;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	text-align: left;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.monroe-tools-sheet__row:hover,
.monroe-tools-sheet__row:focus {
	background: #eaf1f8;
	color: #0a2d5e;
}

.monroe-tools-sheet__row:focus-visible {
	outline: 2px solid #0a2d5e;
	outline-offset: -2px;
	background: #eaf1f8;
}

.monroe-tools-sheet__row::after {
	content: "\203A";
	margin-left: auto;
	font-size: 20px;
	line-height: 1;
	color: #0a2d5e;
	opacity: 0.55;
}

.monroe-tools-sheet__icon {
	flex: 0 0 auto;
	display: block;
	width: 22px;
	height: 22px;
}

.monroe-tools-sheet__label {
	flex: 1 1 auto;
	min-width: 0;
}

@keyframes monroe-tools-sheet-in {
	from { transform: translateY(24px); opacity: 0; }
	to { transform: translateY(0); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.monroe-tools-sheet__panel {
		animation: none;
	}
}

.monroe-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.monroe-tools-sheet__heading{margin:6px 0 10px;font-size:17px;line-height:1.3;font-weight:700;color:#0a2d5e;}

.monroe-map-modal__map{width:100%;height:320px;border-radius:10px;overflow:hidden;background:#eaf1f8;}
@media(max-width:600px){.monroe-map-modal__map{height:240px;}}
.leaflet-container{z-index:1;font-family:inherit;}
