.dyst-app {
	margin: 0 0 2em;
	font-size: 15px;
}

.dyst-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 12px;
}
.dyst-filters input,
.dyst-filters select {
	padding: 8px 10px;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-size: 14px;
	min-height: 38px;
}
.dyst-filters .dyst-keyword { flex: 2 1 220px; }
.dyst-filters .dyst-category { flex: 1 1 160px; }
.dyst-filters .dyst-city { flex: 1 1 160px; }
.dyst-filters .dyst-radius { flex: 1 1 150px; }

.dyst-filters button {
	padding: 8px 14px;
	border: 0;
	border-radius: 6px;
	background: #2271b1;
	color: #fff;
	cursor: pointer;
	font-size: 14px;
}
.dyst-filters button:hover { background: #135e96; }
.dyst-filters .dyst-locate-btn { background: #1a7f37; }
.dyst-filters .dyst-locate-btn:hover { background: #14642b; }
.dyst-filters .dyst-reset-btn { background: #6c7781; }
.dyst-filters .dyst-reset-btn:hover { background: #50575e; }

.dyst-layout {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}
.dyst-map {
	flex: 2 1 480px;
	min-height: 360px;
	border-radius: 8px;
	overflow: hidden;
	z-index: 0;
}
.dyst-list {
	flex: 1 1 280px;
	overflow-y: auto;
	border: 1px solid #e2e4e7;
	border-radius: 8px;
}

.dyst-list-item {
	padding: 10px 12px;
	border-bottom: 1px solid #eee;
	cursor: pointer;
}
.dyst-list-item:hover { background: #f3f6f9; }
.dyst-list-name {
	font-weight: 600;
	display: flex;
	justify-content: space-between;
	gap: 8px;
}
.dyst-list-dist {
	color: #d63638;
	font-weight: 500;
	font-size: 13px;
	white-space: nowrap;
}
.dyst-list-addr {
	color: #555;
	font-size: 13px;
	margin-top: 2px;
}
.dyst-empty { padding: 16px; color: #777; }

.dyst-status {
	margin-top: 8px;
	color: #555;
	font-size: 13px;
}

/* Popup */
.dyst-popup { font-size: 13px; line-height: 1.45; min-width: 180px; }
.dyst-popup strong { font-size: 14px; }
.dyst-popup-logo { max-height: 40px; max-width: 100%; width: auto; height: auto; display: block; margin: 0 0 6px; }
.dyst-popup-addr { color: #555; margin: 2px 0 6px; }
.dyst-popup-hours ul { list-style: none; margin: 4px 0 6px; padding: 0; }
.dyst-popup-hours li { display: flex; justify-content: space-between; gap: 10px; }
.dyst-popup-hours li span { color: #666; }
.dyst-popup-dist { color: #d63638; font-weight: 600; margin-bottom: 4px; }

@media ( max-width: 600px ) {
	.dyst-list { max-height: 300px !important; }
}
