/* =========================================================
   Elementor Archive Live Search – Frontend Styles
   ========================================================= */

/* Wrapper */
.elas-search-widget {
	width: 100%;
	position: relative;
}

/* Search bar container */
.elas-search-wrap {
	display: flex;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
	background: #ffffff;
	border: 1px solid #d5d8dc;
	border-radius: 4px;
	padding: 10px 16px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.elas-search-wrap:focus-within {
	border-color: #6ec1e4;
	outline: none;
}

/* Input */
.elas-search-input {
	flex: 1;
	border: none;
	outline: none;
	background: transparent;
	font-size: inherit;
	font-family: inherit;
	color: inherit;
	padding: 0;
	margin: 0;
	min-width: 0;
}

.elas-search-input::placeholder {
	color: #aab2bd;
}

/* Icon */
.elas-search-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: #aab2bd;
	font-size: 1em;
	pointer-events: none;
	transition: color 0.2s ease;
}

.elas-icon-right .elas-search-icon {
	margin-left: 10px;
}

.elas-icon-left .elas-search-icon {
	margin-right: 10px;
}

/* Status */
.elas-search-status {
	font-size: 0.85em;
	color: #666;
	margin-top: 4px;
	min-height: 1.2em;
}

/* =========================================================
   Loading overlay
   ========================================================= */

.elas-target-wrap {
	position: relative;
}

.elas-loading-overlay {
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, 0.6);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10;
	border-radius: inherit;
}

.elas-spinner {
	width: 32px;
	height: 32px;
	border: 3px solid rgba(0, 0, 0, 0.1);
	border-top-color: #6ec1e4;
	border-radius: 50%;
	animation: elas-spin 0.7s linear infinite;
}

@keyframes elas-spin {
	to { transform: rotate(360deg); }
}