/* GrowCapacity Directory – Search Bar Widget */

.gcd-search-bar {
	width: 100%;
}

.gcd-search-bar__fields {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.gcd-search-bar__input-wrap {
	flex: 1 1 200px;
}

.gcd-search-bar__sort-wrap {
	flex: 0 1 180px;
}

.gcd-search-bar input[type="search"],
.gcd-search-bar select {
	width: 100%;
	padding: 10px 14px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 14px;
	line-height: 1.4;
	background-color: #fff;
	color: inherit;
	box-sizing: border-box;
}

.gcd-search-bar input[type="search"]:focus,
.gcd-search-bar select:focus {
	outline: none;
	border-color: #999;
	box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08);
}

.gcd-search-bar .gcd-search-submit {
	flex: 0 0 auto;
	padding: 10px 20px;
	border: none;
	border-radius: 4px;
	background-color: #333;
	color: #fff;
	font-size: 14px;
	cursor: pointer;
	transition: background-color 0.2s ease;
	white-space: nowrap;
}

.gcd-search-bar .gcd-search-submit:hover {
	background-color: #555;
}

@media (max-width: 480px) {
	.gcd-search-bar__fields {
		flex-direction: column;
	}

	.gcd-search-bar__input-wrap,
	.gcd-search-bar__sort-wrap {
		flex: 1 1 100%;
		width: 100%;
	}

	.gcd-search-bar .gcd-search-submit {
		width: 100%;
	}
}

/* Loop Grid AJAX loading state */
.gcd-is-loading {
	position: relative;
	pointer-events: none;
}

.gcd-is-loading > * {
	filter: blur(3px);
	opacity: 0.6;
	transition: filter 0.15s ease, opacity 0.15s ease;
}

.gcd-is-loading::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 40px;
	height: 40px;
	margin: -20px 0 0 -20px;
	border: 3px solid rgba(0, 0, 0, 0.15);
	border-top-color: #333;
	border-radius: 50%;
	animation: gcd-spin 0.8s linear infinite;
	z-index: 10;
}

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

/* GrowCapacity Directory – Filter Widget */

.gcd-filter-bar {
	width: 100%;
}

.gcd-filter-bar__fields {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: flex-end;
}

.gcd-filter-bar__field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1 1 200px;
	min-width: 0;
}

.gcd-filter-bar__field label {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
}

.gcd-filter-bar select {
	width: 100%;
	padding: 10px 40px 10px 14px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 14px;
	line-height: 1.4;
	background-color: #fff;
	color: inherit;
	box-sizing: border-box;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23666' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 12px 8px;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.gcd-filter-bar select:hover {
	border-color: #bbb;
}

.gcd-filter-bar select:focus {
	outline: none;
	border-color: #666;
	box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.08);
}

.gcd-filter-bar select::-ms-expand {
	display: none;
}

.gcd-filter-bar__pills {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.gcd-filter-bar__pill {
	display: inline-block;
	padding: 6px 14px;
	border: 1px solid #ddd;
	border-radius: 999px;
	background-color: #fff;
	color: inherit;
	font-size: 13px;
	line-height: 1.4;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.gcd-filter-bar__pill:hover {
	border-color: #999;
}

.gcd-filter-bar__pill.is-active {
	background-color: #333;
	border-color: #333;
	color: #fff;
}

.gcd-filter-submit {
	margin-top: 8px;
	padding: 10px 20px;
	border: none;
	border-radius: 4px;
	background-color: #333;
	color: #fff;
	font-size: 14px;
	cursor: pointer;
}

@media (max-width: 480px) {
	.gcd-filter-bar__fields {
		flex-direction: column;
		align-items: stretch;
	}

	.gcd-filter-bar__field {
		flex: 1 1 100%;
		width: 100%;
	}
}
