.search_area {
	margin: 5px auto;
	display: flex;
	justify-content: center;
	max-width: 500px;
}

.search_box {
	position: relative;
	width: 100%;
}

#searchInput {
	width: 100%;
	padding: 10px 56px 10px 40px;
	font-size: 16px;
	border: 1px solid #ccc;
	border-radius: 20px;
	box-sizing: border-box;
}

#searchInput :focus {
	outline: none;
	border-color: #4CAF50;
	box-shadow: 0 0 4px rgba(76, 175, 80, 0.5);
}

.search_box::before {
	content: "🔍";
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 16px;
	pointer-events: none;
}

#clearSearchBtn {
	position: absolute;
	right: 16px;

	width: 30px;
	height: 30px;

	top: 50%;
	transform: translateY(-50%);

	padding: 0;
	border: none;
	border-radius: 50%;
	background: #bbb;

	display: flex;
	align-items: center;
	justify-content: center;

	line-height: 0;
	appearance: none;
	-webkit-appearance: none;
	touch-action: manipulation;

	cursor: pointer;
	box-shadow: 0 1px 2px rgba(0,0,0,0.2);
	transition: background 0.2s, opacity 0.2s ease, visibility 0.2s ease;

	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

#clearSearchBtn:hover {
	background: #888;
}

#clearSearchBtn.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

#clearSearchBtn svg {
	display: block;
	width: 13px;
	height: 13px;
}