/**
 * TCW Service Search — styles. Themable via CSS variables and Elementor
 * style controls. Scoped under .tcw-svc-search so nothing leaks.
 */
.tcw-svc-search{
	--tcwss-accent:#2F4A3A;
	--tcwss-bg:#ffffff;
	--tcwss-border:rgba(0,0,0,0.12);
	--tcwss-text:#2A3A31;
	--tcwss-radius:999px;
	width:100%;
	margin:0 0 8px;
	font-family:inherit;
	box-sizing:border-box;
}
.tcw-svc-search *,
.tcw-svc-search *::before,
.tcw-svc-search *::after{ box-sizing:border-box; }

.tcw-svc-search--left{ text-align:left; }
.tcw-svc-search--center{ text-align:center; }
.tcw-svc-search--right{ text-align:right; }

.tcw-svc-search__field{
	display:inline-flex;
	align-items:center;
	gap:10px;
	width:100%;
	max-width:460px;
	background:var(--tcwss-bg);
	border:1px solid var(--tcwss-border);
	border-radius:var(--tcwss-radius);
	padding:12px 16px;
	box-shadow:0 6px 20px -14px rgba(0,0,0,0.3);
	transition:border-color .15s, box-shadow .15s;
	text-align:left;
}
.tcw-svc-search__field:focus-within{
	border-color:var(--tcwss-accent);
	box-shadow:0 8px 26px -14px rgba(0,0,0,0.4);
}
.tcw-svc-search__icon{ color:var(--tcwss-accent); flex:0 0 auto; }
/* High specificity + !important to override theme (Kadence) input styling. */
.tcw-svc-search .tcw-svc-search__input,
.tcw-svc-search input.tcw-svc-search__input{
	flex:1 1 auto;
	min-width:0;
	font-size:16px;
	color:var(--tcwss-text);
	font-family:inherit;
	background:transparent !important;
	border:0 !important;
	border-radius:0 !important;
	outline:0 !important;
	box-shadow:none !important;
	padding:0 !important;
	margin:0 !important;
	-webkit-appearance:none;
	appearance:none;
}
.tcw-svc-search .tcw-svc-search__input:focus,
.tcw-svc-search .tcw-svc-search__input:focus-visible{
	background:transparent !important;
	border:0 !important;
	outline:0 !important;
	box-shadow:none !important;
}
.tcw-svc-search__input::-webkit-search-cancel-button{ -webkit-appearance:none; }
.tcw-svc-search__clear{
	flex:0 0 auto;
	border:0;
	background:transparent;
	font-size:22px;
	line-height:1;
	cursor:pointer;
	color:#8A8272;
	padding:0 2px;
}
.tcw-svc-search__clear:hover{ color:var(--tcwss-accent); }

.tcw-svc-search__status{ margin:8px 0 0; font-size:13px; color:#8A8272; min-height:1em; }
.tcw-svc-search__empty{ margin:14px 0; font-size:16px; color:#8A8272; }

.tcw-svc-search .screen-reader-text{
	position:absolute !important;
	width:1px; height:1px;
	overflow:hidden;
	clip:rect(0 0 0 0);
	white-space:nowrap;
	border:0; padding:0; margin:-1px;
}

/* The actual filter toggle. */
.tcw-svc-hidden{ display:none !important; }
