.kynoch-locator {
	--kynoch-accent: #4bab40;
	--kynoch-accent-dark: #2f7d2a;
	--kynoch-accent-soft: #e8f3e2;
	--kynoch-ink: #241b16;
	--kynoch-muted: #74665a;
	--kynoch-faint: #a09182;
	--kynoch-line: rgba(26, 41, 30, 0.12);
	--kynoch-panel: #fbf6f0;
	--kynoch-panel-soft: #f5ede3;
	--kynoch-map-bg: #eef2ed;
	--kynoch-shadow-sm: 0 8px 24px rgba(26, 41, 30, 0.08);
	--kynoch-shadow-md: 0 20px 50px rgba(26, 41, 30, 0.14);
	--kynoch-shadow-lg: 0 34px 90px rgba(26, 41, 30, 0.18);

	position: relative !important;
	display: grid !important;
	grid-template-columns: 340px minmax(0, 1fr) !important;
	width: 100% !important;
	height: 100vh !important;
	min-height: 100vh !important;
	overflow: hidden !important;
	border: 1px solid rgba(26, 41, 30, 0.08) !important;
	border-radius: 0 !important;
	background: var(--kynoch-map-bg) !important;
	box-shadow: none !important;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	isolation: isolate !important;
}

.kynoch-locator *,
.kynoch-locator *::before,
.kynoch-locator *::after {
	box-sizing: border-box !important;
}

.kynoch-locator button,
.kynoch-locator input,
.kynoch-locator select {
	font: inherit !important;
}

.kynoch-locator__panel {
	position: relative !important;
	z-index: 5 !important;
	display: flex !important;
	flex-direction: column !important;
	min-width: 0 !important;
	min-height: 0 !important;
	height: 100% !important;
	padding: 18px 16px 16px !important;
	background: var(--kynoch-panel) !important;
	border-right: 1px solid rgba(61, 45, 35, 0.1) !important;
	box-shadow: 14px 0 40px rgba(36, 27, 22, 0.07) !important;
	overflow: hidden !important;
}

.kynoch-locator__topbar {
	display: grid !important;
	grid-template-columns: 28px 38px minmax(0, 1fr) 28px !important;
	align-items: center !important;
	gap: 10px !important;
	margin: 0 0 22px !important;
}

.kynoch-locator__back,
.kynoch-locator__help {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 28px !important;
	height: 28px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: #26342a !important;
	text-decoration: none !important;
	cursor: pointer !important;
}

.kynoch-locator__back span {
	position: relative !important;
	top: -1px !important;
	font-size: 26px !important;
	font-weight: 300 !important;
	line-height: 1 !important;
}

.kynoch-locator__help {
	border: 1px solid rgba(26, 41, 30, 0.18) !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	font-family: ui-serif, Georgia, serif !important;
}

.kynoch-locator__appmark {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 38px !important;
	height: 38px !important;
	border-radius: 13px !important;
	background: #2a211c !important;
	color: #ffffff !important;
	box-shadow: 0 10px 24px rgba(23, 32, 25, 0.12) !important;
}

.kynoch-locator__appmark svg {
	width: 19px !important;
	height: 19px !important;
}

.kynoch-locator__apptitle {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	min-width: 0 !important;
}

.kynoch-locator__apptitle span {
	font-size: 10px !important;
	font-weight: 800 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	color: var(--kynoch-faint) !important;
}

.kynoch-locator__apptitle strong {
	display: block !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
	font-size: 15px !important;
	line-height: 1.15 !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em !important;
	color: var(--kynoch-ink) !important;
}

.kynoch-locator__brand-logo {
	display: block !important;
	width: auto !important;
	max-width: 150px !important;
	height: 34px !important;
	object-fit: contain !important;
}

.kynoch-locator__search {
	margin: 0 0 18px !important;
}

.kynoch-locator__search-input-wrap {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	height: 42px !important;
	padding: 0 12px 0 14px !important;
	border: 1px solid rgba(96, 80, 67, 0.22) !important;
	border-radius: 11px !important;
	background: #fffaf4 !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6) !important;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease !important;
}

.kynoch-locator__search-input-wrap:focus-within {
	border-color: rgba(85, 199, 131, 0.7) !important;
	background: #fffdf9 !important;
	box-shadow: 0 0 0 4px rgba(75, 171, 64, 0.13) !important;
}

.kynoch-locator__search-input {
	width: 100% !important;
	height: 40px !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	color: var(--kynoch-ink) !important;
}

.kynoch-locator__search-input::placeholder {
	color: #8a7a6d !important;
}

.kynoch-locator__search-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 18px !important;
	height: 18px !important;
	color: #6d5e52 !important;
	flex: 0 0 auto !important;
}

.kynoch-locator__search-icon svg {
	width: 16px !important;
	height: 16px !important;
}

.kynoch-locator__toolbar {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	align-items: end !important;
	gap: 8px !important;
	margin: 0 0 20px !important;
}

.kynoch-locator__control {
	display: flex !important;
	flex-direction: column !important;
	gap: 7px !important;
	min-width: 0 !important;
	overflow: visible !important;
}

.kynoch-locator__control--region {
	grid-column: 1 / -1 !important;
}

.kynoch-locator__control-label {
	font-size: 10px !important;
	line-height: 1 !important;
	font-weight: 700 !important;
	letter-spacing: -0.01em !important;
	color: #404b43 !important;
}

.kynoch-locator__control-select {
	display: none !important;
}

.kynoch-locator__custom-select-trigger {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	height: 34px !important;
	min-height: 34px !important;
	margin: 0 !important;
	padding: 0 26px 0 10px !important;
	border: 1px solid rgba(96, 80, 67, 0.22) !important;
	border-radius: 9px !important;
	background-color: #fffaf4 !important;
	box-shadow: none !important;
	color: var(--kynoch-ink) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	cursor: pointer !important;
	text-align: left !important;
}

.kynoch-locator__custom-select.is-open .kynoch-locator__custom-select-trigger,
.kynoch-locator__custom-select-trigger:hover {
	border-color: rgba(79, 173, 69, 0.72) !important;
	background-color: #f5f8ef !important;
	box-shadow: 0 0 0 3px rgba(79, 173, 69, 0.1) !important;
}

.kynoch-locator__custom-select {
	position: relative !important;
	overflow: visible !important;
}

.kynoch-locator__custom-select-label {
	display: block !important;
	min-width: 0 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

.kynoch-locator__custom-select-arrow {
	position: absolute !important;
	right: 10px !important;
	top: 50% !important;
	width: 8px !important;
	height: 8px !important;
	margin-top: -5px !important;
	border-right: 2px solid #313b34 !important;
	border-bottom: 2px solid #313b34 !important;
	transform: rotate(45deg) !important;
	pointer-events: none !important;
	transition: transform 0.18s ease !important;
}

.kynoch-locator__custom-select.is-open .kynoch-locator__custom-select-arrow {
	transform: rotate(225deg) !important;
	margin-top: -1px !important;
}

.kynoch-locator__custom-select-menu {
	position: absolute !important;
	top: calc(100% + 10px) !important;
	left: 0 !important;
	right: 0 !important;
	z-index: 12 !important;
	display: flex !important;
	flex-direction: column !important;
	max-height: min(260px, 42vh) !important;
	overflow-y: auto !important;
	padding: 6px !important;
	border: 1px solid rgba(61, 45, 35, 0.12) !important;
	border-radius: 12px !important;
	background: rgba(251, 246, 240, 0.98) !important;
	box-shadow: 0 16px 32px rgba(36, 27, 22, 0.1) !important;
}

.kynoch-locator__custom-select-menu[hidden] {
	display: none !important;
}

.kynoch-locator__custom-select-option {
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
	min-height: 32px !important;
	padding: 0 10px !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: transparent !important;
	color: #172019 !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	text-align: left !important;
	cursor: pointer !important;
}

.kynoch-locator__custom-select-option:hover,
.kynoch-locator__custom-select-option.is-selected {
	background: #edf6e8 !important;
	color: var(--kynoch-accent-dark) !important;
}

.kynoch-locator__results-head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 10px !important;
	margin: -4px 0 8px !important;
	padding: 0 2px !important;
	color: var(--kynoch-muted) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
}

.kynoch-locator__results-head strong {
	color: var(--kynoch-ink) !important;
	font-weight: 800 !important;
}

.kynoch-locator__locate-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 26px !important;
	padding: 0 10px !important;
	border: 1px solid rgba(75, 171, 64, 0.28) !important;
	border-radius: 999px !important;
	background: #edf6e8 !important;
	color: var(--kynoch-accent-dark) !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	cursor: pointer !important;
}

.kynoch-locator__locate-button.is-loading {
	opacity: 0.65 !important;
	pointer-events: none !important;
}

.kynoch-locator__results {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	flex: 1 1 auto !important;
	min-height: 0 !important;
	height: 100% !important;
	padding: 4px !important;
	background: rgba(245, 237, 227, 0.5) !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	-webkit-overflow-scrolling: touch !important;
	scrollbar-width: thin !important;
	scrollbar-color: rgba(26, 41, 30, 0.2) transparent !important;
	border-radius: 18px;
}

.kynoch-locator__results::-webkit-scrollbar {
	width: 6px !important;
}

.kynoch-locator__results::-webkit-scrollbar-thumb {
	border-radius: 999px !important;
	background: rgba(26, 41, 30, 0.18) !important;
}

.kynoch-locator__result {
	display: grid !important;
	grid-template-columns: 42px minmax(0, 1fr) !important;
	align-items: center !important;
	gap: 11px !important;
	width: 100% !important;
	min-height: 67px !important;
	padding: 8px 8px !important;
	border: 1px solid transparent !important;
	border-radius: 18px !important;
	background: transparent !important;
	box-shadow: none !important;
	text-align: left !important;
	cursor: pointer !important;
	transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
}

.kynoch-locator__result:hover {
	background: rgba(255, 251, 246, 0.95) !important;
}

.kynoch-locator__result.is-active {
	border-color: rgba(75, 171, 64, 0.95) !important;
	background: #fffdf9 !important;
	box-shadow: 0 12px 30px rgba(75, 171, 64, 0.12), inset 0 0 0 1px rgba(75, 171, 64, 0.08) !important;
}

.kynoch-locator__result-avatar {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 42px !important;
	height: 42px !important;
	border-radius: 999px !important;
	background: #ffffff !important;
	box-shadow: 0 8px 18px rgba(26, 41, 30, 0.1), inset 0 0 0 1px rgba(26, 41, 30, 0.05) !important;
	overflow: hidden !important;
}

.kynoch-locator__result-avatar-image {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.kynoch-locator__result-avatar-fallback {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 100% !important;
	background: #4bab40 !important;
	color: #ffffff !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	letter-spacing: -0.04em !important;
}

.kynoch-locator__result-body {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 8px !important;
	min-width: 0 !important;
}

.kynoch-locator__result-main {
	display: flex !important;
	flex-direction: column !important;
	gap: 3px !important;
	min-width: 0 !important;
}

.kynoch-locator__result-title {
	display: block !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1.18 !important;
	letter-spacing: -0.025em !important;
	color: var(--kynoch-ink) !important;
}

.kynoch-locator__result-meta {
	display: flex !important;
	align-items: center !important;
	gap: 4px !important;
	min-width: 0 !important;
	font-size: 9.5px !important;
	font-weight: 700 !important;
	line-height: 1.1 !important;
	color: #29342c !important;
}

.kynoch-locator__dot-separator {
	color: #c1c8c2 !important;
}

.kynoch-locator__result-service {
	display: block !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
	font-size: 9.5px !important;
	font-weight: 600 !important;
	line-height: 1.1 !important;
	color: #8b958d !important;
}

.kynoch-locator__empty {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 120px !important;
	padding: 18px !important;
	border: 1px dashed rgba(26, 41, 30, 0.18) !important;
	border-radius: 18px !important;
	background: #f7efe6 !important;
	text-align: center !important;
	color: var(--kynoch-muted) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
}

.kynoch-locator__map-wrap {
	position: relative !important;
	min-width: 0 !important;
	height: 100% !important;
	background: #e6ebe5 !important;
	overflow: hidden !important;
}

.kynoch-locator__map-wrap::after {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 1 !important;
	pointer-events: none !important;
	background:
		radial-gradient(circle at 62% 34%, rgba(85, 199, 131, 0.12), transparent 16%),
		linear-gradient(90deg, rgba(255, 255, 255, 0.28), transparent 22%, transparent 78%, rgba(255, 255, 255, 0.18)) !important;
	mix-blend-mode: normal !important;
}

.kynoch-locator__map {
	position: absolute !important;
	inset: 0 !important;
	z-index: 0 !important;
}

.kynoch-locator__map .mapboxgl-canvas {
	filter: saturate(0.72) contrast(0.96) brightness(1.03) !important;
}

.kynoch-locator__map-watermark {
	position: absolute !important;
	left: 24px !important;
	bottom: 24px !important;
	z-index: 2 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 2px !important;
	max-width: 240px !important;
	padding: 13px 15px !important;
	border: 1px solid rgba(26, 41, 30, 0.09) !important;
	border-radius: 18px !important;
	background: rgba(255, 255, 255, 0.78) !important;
	-webkit-backdrop-filter: blur(16px) !important;
	backdrop-filter: blur(16px) !important;
	box-shadow: var(--kynoch-shadow-sm) !important;
}

.kynoch-locator__map-watermark strong {
	font-size: 13px !important;
	font-weight: 900 !important;
	letter-spacing: -0.035em !important;
	color: var(--kynoch-ink) !important;
}

.kynoch-locator__map-logo {
	display: block !important;
	width: auto !important;
	max-width: 128px !important;
	height: 26px !important;
	object-fit: contain !important;
	object-position: left center !important;
}

.kynoch-locator__map-watermark span {
	font-size: 11px !important;
	font-weight: 650 !important;
	color: var(--kynoch-muted) !important;
}

.kynoch-locator__summary {
	position: absolute !important;
	right: 24px !important;
	bottom: 24px !important;
	z-index: 3 !important;
	display: flex !important;
	align-items: center !important;
	gap: 9px !important;
	min-height: 38px !important;
	padding: 7px 12px 7px 8px !important;
	border: 1px solid rgba(26, 41, 30, 0.1) !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, 0.84) !important;
	-webkit-backdrop-filter: blur(16px) !important;
	backdrop-filter: blur(16px) !important;
	box-shadow: var(--kynoch-shadow-sm) !important;
}

.kynoch-locator__summary strong {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 26px !important;
	height: 26px !important;
	border-radius: 999px !important;
	background: #4bab40 !important;
	color: #ffffff !important;
	font-size: 11px !important;
	font-weight: 900 !important;
}

.kynoch-locator__summary span {
	font-size: 11px !important;
	font-weight: 750 !important;
	color: #4bab40 !important;
}

.kynoch-locator__token-notice {
	position: absolute !important;
	top: 18px !important;
	left: 18px !important;
	right: 18px !important;
	z-index: 8 !important;
	padding: 14px 16px !important;
	border: 1px solid rgba(26, 41, 30, 0.12) !important;
	border-radius: 16px !important;
	background: rgba(255, 255, 255, 0.92) !important;
	color: var(--kynoch-ink) !important;
	box-shadow: var(--kynoch-shadow-sm) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
}

.kynoch-marker {
	position: relative !important;
	width: 0 !important;
	height: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	overflow: visible !important;
}

.kynoch-marker__button {
	position: absolute !important;
	left: 50% !important;
	top: 50% !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 44px !important;
	height: 44px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	cursor: pointer !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	transform: translate(-50%, -50%) !important;
	overflow: visible !important;
}

.kynoch-marker__avatar {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 44px !important;
	height: 44px !important;
	border: 3px solid #ffffff !important;
	border-radius: 999px !important;
	background: #ffffff !important;
	box-shadow: 0 12px 25px rgba(26, 41, 30, 0.18) !important;
	overflow: hidden !important;
	transform-origin: center bottom !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
}

.kynoch-marker__image {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.kynoch-marker__fallback {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 100% !important;
	background: #4bab40 !important;
	color: #ffffff !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	letter-spacing: -0.04em !important;
}

.kynoch-marker__count {
	position: absolute !important;
	top: calc(100% + 4px) !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 5px !important;
	height: 24px !important;
	min-width: 44px !important;
	max-width: 126px !important;
	padding: 0 9px !important;
	border: 1px solid rgba(26, 41, 30, 0.12) !important;
	border-radius: 7px !important;
	background: rgba(255, 255, 255, 0.95) !important;
	box-shadow: 0 10px 20px rgba(26, 41, 30, 0.15) !important;
	color: #172019 !important;
	font-size: 9px !important;
	font-weight: 850 !important;
	line-height: 1 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease, color 0.2s ease !important;
}

.kynoch-marker__count svg {
	width: 12px !important;
	height: 12px !important;
}

.kynoch-marker__button:hover .kynoch-marker__avatar,
.kynoch-marker.is-active .kynoch-marker__avatar {
	transform: translateY(-2px) scale(1.04) !important;
}

.kynoch-marker__button:hover .kynoch-marker__count,
.kynoch-marker.is-active .kynoch-marker__count {
	transform: translateX(-50%) translateY(-1px) !important;
}

.kynoch-marker.is-active .kynoch-marker__avatar {
	border-color: var(--kynoch-accent) !important;
	box-shadow: 0 0 0 5px rgba(85, 199, 131, 0.18), 0 16px 30px rgba(26, 41, 30, 0.2) !important;
}

.kynoch-marker.is-active .kynoch-marker__count {
	border-color: rgba(85, 199, 131, 0.35) !important;
	background: #172019 !important;
	color: #ffffff !important;
}

.kynoch-locator .mapboxgl-ctrl-top-right {
	top: 20px !important;
	right: 20px !important;
	z-index: 4 !important;
}

.kynoch-locator .mapboxgl-ctrl-group {
	border: 1px solid rgba(26, 41, 30, 0.08) !important;
	border-radius: 14px !important;
	overflow: hidden !important;
	background: rgba(255, 255, 255, 0.88) !important;
	box-shadow: var(--kynoch-shadow-sm) !important;
}

.kynoch-locator .mapboxgl-ctrl-group button {
	width: 37px !important;
	height: 37px !important;
}

.kynoch-locator .mapboxgl-popup {
	z-index: 6 !important;
	max-width: 360px !important;
}

.kynoch-locator .mapboxgl-popup-content {
	padding: 0 !important;
	border: 1px solid rgba(26, 41, 30, 0.1) !important;
	border-radius: 17px !important;
	overflow: hidden !important;
	background: rgba(255, 255, 255, 0.96) !important;
	-webkit-backdrop-filter: blur(18px) !important;
	backdrop-filter: blur(18px) !important;
	box-shadow: 0 24px 60px rgba(26, 41, 30, 0.18) !important;
}

.kynoch-locator .mapboxgl-popup-close-button {
	position: absolute !important;
	top: 10px !important;
	right: 10px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 28px !important;
	height: 28px !important;
	padding: 0 !important;
	border: 1px solid rgba(26, 41, 30, 0.1) !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, 0.96) !important;
	box-shadow: 0 8px 18px rgba(26, 41, 30, 0.1) !important;
	color: #253329 !important;
	font-size: 18px !important;
	line-height: 1 !important;
	cursor: pointer !important;
	z-index: 2 !important;
}

.kynoch-locator .mapboxgl-popup-close-button:hover {
	background: #ffffff !important;
	border-color: rgba(85, 199, 131, 0.55) !important;
	color: var(--kynoch-accent-dark) !important;
}

.kynoch-locator .mapboxgl-popup-tip {
	display: none !important;
}

.kynoch-popup {
	width: 340px !important;
	padding: 15px !important;
	color: var(--kynoch-ink) !important;
}

.kynoch-popup__view[hidden] {
	display: none !important;
}

.kynoch-popup__head {
	display: grid !important;
	grid-template-columns: 48px minmax(0, 1fr) !important;
	align-items: center !important;
	gap: 12px !important;
	margin: 0 0 12px !important;
}

.kynoch-popup__avatar {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 48px !important;
	height: 48px !important;
	border: 1px solid rgba(26, 41, 30, 0.08) !important;
	border-radius: 999px !important;
	background: #ffffff !important;
	box-shadow: 0 10px 24px rgba(26, 41, 30, 0.1) !important;
	overflow: hidden !important;
}

.kynoch-popup__avatar-image {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.kynoch-popup__avatar-fallback {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 100% !important;
	background: #4bab40 !important;
	color: #ffffff !important;
	font-size: 13px !important;
	font-weight: 900 !important;
}

.kynoch-popup__title-wrap {
	min-width: 0 !important;
}

.kynoch-popup h3 {
	margin: 0 0 5px !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
	font-size: 14px !important;
	font-weight: 850 !important;
	line-height: 1.18 !important;
	letter-spacing: -0.03em !important;
	color: var(--kynoch-ink) !important;
}

.kynoch-popup__title-wrap p {
	margin: 0 !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	color: #334039 !important;
}

.kynoch-popup__title-wrap span {
	color: #c0c8c2 !important;
}

.kynoch-popup__title-wrap strong {
	font-weight: 800 !important;
}

.kynoch-popup__stats {
	display: flex !important;
	align-items: center !important;
	gap: 7px !important;
	margin: 0 0 14px !important;
	overflow-x: auto !important;
	scrollbar-width: none !important;
}

.kynoch-popup__stats::-webkit-scrollbar {
	display: none !important;
}

.kynoch-popup__stats span,
.kynoch-popup__stat-link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 5px !important;
	height: 27px !important;
	max-width: 132px !important;
	padding: 0 9px !important;
	border: 1px solid rgba(26, 41, 30, 0.15) !important;
	border-radius: 7px !important;
	background: #fbfcfb !important;
	color: #2d3931 !important;
	font-size: 9.5px !important;
	font-weight: 750 !important;
	line-height: 1 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	flex: 0 0 auto !important;
	text-decoration: none !important;
}

.kynoch-popup__stat-link {
	cursor: pointer !important;
}

.kynoch-popup__stat-link--icon {
	width: 27px !important;
	min-width: 27px !important;
	padding: 0 !important;
}

.kynoch-popup__hours-toggle {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 5px !important;
	height: 27px !important;
	padding: 0 9px !important;
	border: 1px solid rgba(26, 41, 30, 0.15) !important;
	border-radius: 7px !important;
	background: #fbfcfb !important;
	color: #2d3931 !important;
	font-size: 9.5px !important;
	font-weight: 750 !important;
	line-height: 1 !important;
	cursor: pointer !important;
}

.kynoch-popup__stats svg {
	width: 12px !important;
	height: 12px !important;
	flex: 0 0 auto !important;
}

.kynoch-popup__hours-head {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 10px !important;
	margin: 0 0 14px !important;
}

.kynoch-popup__hours-head h4 {
	margin: 0 !important;
}

.kynoch-popup__back-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 30px !important;
	padding: 0 10px !important;
	border: 1px solid rgba(26, 41, 30, 0.15) !important;
	border-radius: 8px !important;
	background: #fbfcfb !important;
	color: #2d3931 !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	cursor: pointer !important;
}

.kynoch-popup__hours-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
}

.kynoch-popup__hours-row {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	padding: 8px 10px !important;
	border: 1px solid rgba(26, 41, 30, 0.08) !important;
	border-radius: 8px !important;
	background: #fbfcfb !important;
}

.kynoch-popup__hours-row span,
.kynoch-popup__hours-row strong {
	font-size: 10px !important;
	line-height: 1.3 !important;
}

.kynoch-popup__hours-row span {
	color: #4e5b53 !important;
	font-weight: 700 !important;
}

.kynoch-popup__hours-row strong {
	color: var(--kynoch-ink) !important;
	font-weight: 800 !important;
	text-align: right !important;
}

.kynoch-popup h4 {
	margin: 0 0 8px !important;
	font-size: 14px !important;
	font-weight: 850 !important;
	line-height: 1.25 !important;
	letter-spacing: -0.03em !important;
	color: var(--kynoch-ink) !important;
}

.kynoch-popup__copy,
.kynoch-popup__address {
	margin: 0 !important;
	font-size: 10.5px !important;
	font-weight: 600 !important;
	line-height: 1.45 !important;
	color: #4e5b53 !important;
}

.kynoch-popup__address {
	margin-top: 7px !important;
	color: #7d887f !important;
}

.kynoch-popup__button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 43px !important;
	margin-top: 14px !important;
	padding: 0 16px !important;
	border: 1px solid rgba(26, 41, 30, 0.22) !important;
	border-radius: 11px !important;
	background: #ffffff !important;
	box-shadow: none !important;
	color: var(--kynoch-ink) !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease !important;
}

.kynoch-popup__button:hover {
	border-color: rgba(85, 199, 131, 0.75) !important;
	background: #f7fff9 !important;
	transform: translateY(-1px) !important;
}

@media (max-width: 1080px) {
	.kynoch-locator {
		grid-template-columns: 312px minmax(0, 1fr) !important;
	}

	.kynoch-locator__toolbar {
		grid-template-columns: 1fr 1fr !important;
	}

}

@media (max-width: 860px) {
	.kynoch-locator {
		grid-template-columns: 1fr !important;
		height: auto !important;
		min-height: 0 !important;
		border-radius: 22px !important;
	}

	.kynoch-locator__panel {
		order: 2 !important;
		min-height: 520px !important;
		border-right: 0 !important;
		border-top: 1px solid rgba(26, 41, 30, 0.1) !important;
	}

	.kynoch-locator__map-wrap {
		order: 1 !important;
		height: 520px !important;
	}

	.kynoch-locator__results {
		max-height: 420px !important;
	}
}

@media (max-width: 640px) {
	.kynoch-locator {
		border-radius: 18px !important;
	}

	.kynoch-locator__panel {
		padding: 16px 12px 14px !important;
	}

	.kynoch-locator__topbar {
		grid-template-columns: 26px 36px minmax(0, 1fr) 26px !important;
		gap: 8px !important;
		margin-bottom: 18px !important;
	}

	.kynoch-locator__toolbar {
		grid-template-columns: 1fr !important;
		gap: 10px !important;
	}

	.kynoch-locator__map-wrap {
		height: 440px !important;
	}

	.kynoch-locator__map-watermark {
		display: none !important;
	}

	.kynoch-locator__summary {
		left: 14px !important;
		right: 14px !important;
		bottom: 14px !important;
		justify-content: center !important;
	}

	.kynoch-popup {
		width: min(318px, calc(100vw - 42px)) !important;
	}
}
