/**
 * Frontend CSS.
 *
 * @package AttributeCombinationSelector
 */

.acs-selector-wrapper {
	margin: 20px 0 !important;
}

.acs-selector-form {
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-end !important;
	gap: 15px !important;
	flex-wrap: nowrap !important;
}

.acs-field-group {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	flex: 0 0 auto !important;
	min-width: 150px !important;
	max-width: 250px !important;
}

.acs-label {
	font-weight: bold !important;
	font-size: 14px !important;
	color: #333 !important;
	margin-bottom: 0 !important;
	margin-top: 0 !important;
	line-height: 1.4 !important;
	display: block !important;
}

.acs-selector-form .acs-select {
	padding: 10px 35px 10px 12px !important;
	border: 1px solid #ddd !important;
	border-radius: 4px !important;
	font-size: 14px !important;
	background-color: #fff !important;
	color: #333 !important;
	width: 100% !important;
	min-width: 150px !important;
	max-width: 100% !important;
	transition: border-color 0.3s ease !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	height: auto !important;
	line-height: normal !important;
	background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="%23333" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>') !important;
	background-repeat: no-repeat !important;
	background-position: right 10px center !important;
	background-size: 12px !important;
	cursor: pointer !important;
	box-sizing: border-box !important;
}

.acs-selector-form .acs-select:focus {
	outline: none !important;
	border-color: #2271b1 !important;
	box-shadow: 0 0 0 1px #2271b1 !important;
}

.acs-selector-form .acs-select:disabled {
	background-color: #f5f5f5 !important;
	color: #999 !important;
	cursor: not-allowed !important;
}

.acs-selector-form .acs-select.acs-loading {
	background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="2" x2="12" y2="6"></line><line x1="12" y1="18" x2="12" y2="22"></line><line x1="4.93" y1="4.93" x2="7.76" y2="7.76"></line><line x1="16.24" y1="16.24" x2="19.07" y2="19.07"></line><line x1="2" y1="12" x2="6" y2="12"></line><line x1="18" y1="12" x2="22" y2="12"></line><line x1="4.93" y1="19.07" x2="7.76" y2="16.24"></line><line x1="16.24" y1="7.76" x2="19.07" y2="4.93"></line></svg>') !important;
	background-repeat: no-repeat !important;
	background-position: right 10px center !important;
	background-size: 16px !important;
	padding-right: 35px !important;
}

.acs-submit-group {
	display: flex !important;
	flex-direction: row !important;
	gap: 10px !important;
	flex: 0 0 auto !important;
	flex-shrink: 0 !important;
	align-items: flex-end !important;
	margin: 0 !important;
	padding: 0 !important;
	white-space: nowrap !important;
}

.acs-submit-button {
	padding: 12px 24px !important;
	border: none !important;
	border-radius: 4px !important;
	font-size: 14px !important;
	font-weight: bold !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	transition: background-color 0.3s ease, transform 0.1s ease !important;
	white-space: nowrap !important;
	height: 42px !important;
	line-height: 1 !important;
	box-sizing: border-box !important;
	background-color: #2271b1 !important;
	color: #fff !important;
}

.acs-submit-button:hover {
	background-color: #135e96 !important;
	transform: translateY(-1px) !important;
}

.acs-submit-button:active {
	transform: translateY(0) !important;
}

/* Responsive design */
@media (max-width: 767px) {
	.acs-selector-form {
		flex-direction: column;
		align-items: stretch;
	}

	.acs-field-group {
		width: 100%;
		min-width: auto;
	}

	.acs-select {
		min-width: auto;
		width: 100%;
	}

	.acs-submit-group {
		width: 100%;
		flex-direction: column;
	}

	.acs-submit-button {
		width: 100%;
	}
}

/* Widget specific styles */
.widget .acs-selector-wrapper {
	margin: 0;
}

.widget .acs-selector-form {
	flex-direction: column;
}

.widget .acs-field-group {
	margin-bottom: 15px;
}

.widget .acs-submit-group {
	flex-direction: column;
}

.widget .acs-submit-button {
	width: 100%;
}

