.dcsb-wrapper-14448 {
	display: flex;
	flex-direction: row;
	align-items: flex-end; /* Default to align bottom, customizable via Elementor */
	width: 100%;
}

.dcsb-input-group-14448 {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.dcsb-label-14448 {
	display: block;
	margin-bottom: 5px;
}

.dcsb-select-wrapper-14448 {
	position: relative;
	width: 100%;
	display: flex;
	align-items: center;
	z-index: 1;
}

.dcsb-select-14448 {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	width: 100%;
	cursor: pointer;
	position: relative;
	z-index: 1;
	background-color: transparent;
	padding-left: 40px; /* Make room for the left icon, can be overridden by padding control but this is safe default */
}

.dcsb-search-icon-14448 {
	position: absolute;
	left: 15px; /* Default position, customizable */
	z-index: 2;
	pointer-events: none; /* Let clicks pass through to select */
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.dcsb-btn-14448 {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	border: none;
	transition: background-color 0.3s ease;
	height: 100%; /* Helps match select height if flex-stretch is used */
}

.dcsb-btn-icon-14448 {
	display: inline-flex;
	align-items: center;
	transition: transform 0.3s ease;
}

.dcsb-btn-14448:hover .dcsb-btn-icon-14448 {
	transform: translateX(5px);
}

/* Mobile stacking */
@media (max-width: 767px) {
	.dcsb-wrapper-14448 {
		flex-direction: column;
		align-items: stretch !important;
	}
	
	.dcsb-btn-14448 {
		width: 100%;
		margin-top: 10px; /* Add some spacing on mobile */
	}
}