/* Mute The Pump Map — front-end styles. Scoped under .mtp-wrap and #mtp-map. */

.mtp-wrap {
	position: relative;
	max-width: 100%;
	margin: 0 0 1.5em;
	font-size: 16px;
	line-height: 1.4;
}

.mtp-map {
	width: 100%;
	min-height: 320px;
	border-radius: 8px;
	overflow: hidden;
	z-index: 1;
}

/* Filter bar (doubles as legend) */
.mtp-filter {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 10px;
	font-size: 14px;
}
.mtp-filter__label { font-weight: 600; margin-right: 2px; }
.mtp-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 10px;
	border: 1px solid #ccc;
	border-radius: 16px;
	cursor: pointer;
	background: #fff;
	user-select: none;
}
.mtp-chip input { margin: 0; }
.mtp-chip:has(input:not(:checked)) { opacity: .45; }
.mtp-filter__presets { display: inline-flex; gap: 6px; margin-left: auto; flex-wrap: wrap; }
.mtp-preset {
	background: #f2f2f2;
	border: 1px solid #ddd;
	border-radius: 14px;
	padding: 4px 10px;
	font-size: 13px;
	cursor: pointer;
}
.mtp-preset:hover { background: #e6e6e6; }
.mtp-dot { width: 13px; height: 13px; border-radius: 50%; display: inline-block; border: 1px solid rgba(0,0,0,.25); }
.mtp-dot--green { background: #1a9850; }
.mtp-dot--yellow { background: #d9a406; }
.mtp-dot--red { background: #d73027; }

/* Map pins (divIcon) */
.mtp-pin {
	display: block;
	width: 20px;
	height: 20px;
	border-radius: 50% 50% 50% 0;
	transform: rotate(-45deg);
	border: 2px solid #fff;
	box-shadow: 0 1px 4px rgba(0,0,0,.4);
}

/* Popups */
.mtp-popup { min-width: 180px; }
.mtp-popup__head { margin-bottom: 6px; }
.mtp-badge {
	display: inline-block;
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 10px;
}
.mtp-popup__name { font-weight: 700; font-size: 15px; margin-bottom: 2px; }
.mtp-popup__addr { font-weight: 600; margin-bottom: 4px; }
.mtp-popup__line { font-size: 13px; margin: 2px 0; }
.mtp-popup__notes { font-size: 13px; margin-top: 6px; color: #444; font-style: italic; }
.mtp-popup__meta { font-size: 12px; color: #666; margin-top: 6px; }
.mtp-popup__history { margin-top: 6px; font-size: 12px; }
.mtp-popup__history summary { cursor: pointer; color: #2b6cb0; }
.mtp-popup__history ul { list-style: none; margin: 6px 0 0; padding: 0; }
.mtp-popup__history li { margin: 3px 0; display: flex; align-items: center; gap: 6px; }
.mtp-hist-dot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; flex: 0 0 auto; }
.mtp-report-btn {
	margin-top: 10px;
	width: 100%;
	background: #2b6cb0;
	color: #fff;
	border: 0;
	border-radius: 6px;
	padding: 8px 10px;
	font-size: 13px;
	cursor: pointer;
}
.mtp-report-btn:hover { background: #245a94; }
.mtp-flag-link {
	margin-top: 6px;
	width: 100%;
	background: none;
	border: 0;
	color: #c0392b;
	font-size: 12px;
	text-decoration: underline;
	cursor: pointer;
	padding: 2px;
}
.mtp-flag-link:hover { color: #922b21; }

.mtp-flag-panel {
	margin-top: 14px;
	padding: 18px;
	border: 1px solid #f5c6c0;
	border-radius: 8px;
	background: #fdf6f5;
}
.mtp-flag-panel select {
	width: 100%;
	padding: 9px 10px;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-size: 15px;
	background: #fff;
}

.mtp-target-banner {
	background: #eef4fb;
	border: 1px solid #c3d9ef;
	color: #245a94;
	border-radius: 6px;
	padding: 10px 12px;
	margin-bottom: 12px;
	font-size: 14px;
}

/* Add button */
.mtp-add-toggle {
	margin-top: 10px;
	background: #2b6cb0;
	color: #fff;
	border: 0;
	border-radius: 6px;
	padding: 10px 16px;
	font-size: 15px;
	cursor: pointer;
}
.mtp-add-toggle:hover { background: #245a94; }

/* Form panel */
.mtp-form-panel {
	margin-top: 14px;
	padding: 18px;
	border: 1px solid #e2e2e2;
	border-radius: 8px;
	background: #fafafa;
}
.mtp-form-title { margin: 0 0 4px; font-size: 20px; }
.mtp-form-help { margin: 0 0 14px; font-size: 14px; color: #555; }

.mtp-field { margin-bottom: 14px; }
.mtp-field > label,
.mtp-field > legend { display: block; font-weight: 600; margin-bottom: 4px; }
.mtp-field input[type="text"],
.mtp-field input[type="email"],
.mtp-field input[type="number"],
.mtp-field textarea {
	width: 100%;
	padding: 9px 10px;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-size: 15px;
	box-sizing: border-box;
	background: #fff;
}
.mtp-field textarea { resize: vertical; }
.mtp-note { display: block; margin-top: 4px; font-size: 12px; color: #777; }
.mtp-req { color: #d73027; }

fieldset.mtp-field { border: 0; padding: 0; margin: 0 0 14px; }
.mtp-radio { display: inline-flex; align-items: center; gap: 5px; margin-right: 18px; font-weight: 400; }

.mtp-search-row { display: flex; gap: 8px; }
.mtp-search-row input { flex: 1; }
.mtp-search-results {
	list-style: none;
	margin: 6px 0 0;
	padding: 0;
	border: 1px solid #ddd;
	border-radius: 6px;
	max-height: 180px;
	overflow-y: auto;
	background: #fff;
}
.mtp-search-results li {
	padding: 8px 10px;
	font-size: 14px;
	cursor: pointer;
	border-bottom: 1px solid #f0f0f0;
}
.mtp-search-results li:last-child { border-bottom: 0; }
.mtp-search-results li:hover,
.mtp-search-results li:focus { background: #eef4fb; outline: none; }
.mtp-searching { color: #777; cursor: default !important; }

/* Captcha */
.mtp-captcha-row { display: flex; align-items: center; gap: 8px; }
.mtp-captcha-q {
	font-weight: 600;
	background: #eef1f5;
	border: 1px solid #d6dbe2;
	border-radius: 6px;
	padding: 9px 12px;
	white-space: nowrap;
}
.mtp-captcha-row input[type="number"] { max-width: 110px; }
#mtp-captcha-reload { padding: 8px 12px; line-height: 1; font-size: 18px; }

.mtp-actions { display: flex; gap: 10px; align-items: center; margin-top: 4px; }
.mtp-btn-primary {
	background: #1a9850; color: #fff; border: 0; border-radius: 6px;
	padding: 11px 20px; font-size: 15px; cursor: pointer;
}
.mtp-btn-primary:hover { background: #157a40; }
.mtp-btn-primary:disabled { opacity: .6; cursor: default; }
.mtp-btn-secondary {
	background: #fff; color: #333; border: 1px solid #ccc; border-radius: 6px;
	padding: 10px 16px; font-size: 15px; cursor: pointer;
}
.mtp-btn-secondary:hover { background: #f0f0f0; }

.mtp-form-msg { margin-top: 12px; font-size: 14px; padding: 0; }
.mtp-form-msg--ok { color: #157a40; font-weight: 600; }
.mtp-form-msg--err { color: #c0392b; font-weight: 600; }

/* Post-verification banners */
.mtp-banner {
	padding: 12px 16px;
	border-radius: 6px;
	margin-bottom: 14px;
	font-size: 15px;
}
.mtp-banner--ok { background: #e6f4ea; color: #157a40; border: 1px solid #b7dfc4; }
.mtp-banner--info { background: #eef4fb; color: #245a94; border: 1px solid #c3d9ef; }
.mtp-banner--err { background: #fdecea; color: #c0392b; border: 1px solid #f5c6c0; }

/* Honeypot */
.mtp-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px; height: 1px; overflow: hidden;
}

@media (max-width: 600px) {
	.mtp-search-row { flex-direction: column; }
	.mtp-actions { flex-direction: column; align-items: stretch; }
}
