/* سنجمان — دراپ‌دان سفارشی فرم‌ها | v1.1.0
   فقط از ۷۶۸px به بالا فعال است؛ روی موبایل لیست بومی سیستم می‌ماند
   چون تمام‌صفحه و انگشتی است و از هر لیست سفارشی بهتر. */

.sjm-sel {
	position: relative;
	width: 100%;
}

/* ‼ سلکت با opacity پنهان می‌شود، نه display:none یا clip.
   اگر فیلد required باشد و مرورگر بخواهد برای نمایش خطا رویش فوکوس کند،
   روی عنصر رندرنشده خطای «not focusable» می‌دهد و ارسال فرم قفل می‌شود.
   با این روش عنصر هنوز رندر شده و هم‌اندازهٔ کادر است، فقط دیده نمی‌شود. */
@media (min-width: 768px) {
	.sjm-sel .sjm-sel-native {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		opacity: 0;
		pointer-events: none;
	}

	/* فلش خود المنتور روی دسکتاپ لازم نیست؛ دکمه شِوران خودش را دارد.
	   important لازم است: CSS پنلِ خودِ ویجت فرم شامل selector اختصاصی المنتور
	   است و اولویتش ذاتاً از اینجا بالاتر. */
	.elementor-select-wrapper.sjm-sel-on .select-caret-down-wrapper {
		display: none !important;
	}
}

/* روی موبایل هیچ‌چیزِ سفارشی دیده نمی‌شود */
@media (max-width: 767px) {
	.sjm-sel-btn,
	.sjm-sel-list {
		display: none !important;
	}
}

/* ------------------------------------------------------------ دکمه */

/* ‼ وزن سلکتور عمداً با .sjm-sel بالا برده شده.
   دکمه type="button" دارد، پس با [type="button"] در reset.css قالب هم مطابقت
   می‌کند که هم‌وزنِ یک کلاس است؛ در تساوی وزن، فایل دیرتر برنده می‌شود و
   reset.css بعد از این فایل می‌آید — نتیجه‌اش حاشیهٔ صورتی #CC3366 و width:auto بود.
   .elementor-kit-5 button هم (۰,۱,۱) است و باید از آن هم بالاتر باشیم. */
.sjm-sel .sjm-sel-btn,
.sjm-sel .sjm-sel-btn:hover,
.sjm-sel .sjm-sel-btn:focus,
.sjm-sel .sjm-sel-btn:active {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	min-height: 46px;
	padding-block: 10px;
	padding-inline: 16px;
	border: 1px solid #DFE5E5;
	border-radius: 10px;
	background: #fff;
	color: #37474F;
	font: inherit;
	font-size: 15px;
	line-height: 1.5;
	text-align: start;
	cursor: pointer;
	box-shadow: none;
	transition: border-color .2s ease, box-shadow .2s ease;
}

.sjm-sel .sjm-sel-btn:hover {
	border-color: #B9C6C6;
}

.sjm-sel.is-open .sjm-sel-btn,
.sjm-sel .sjm-sel-btn:focus-visible {
	outline: none;
	border-color: #0EA48A;
	box-shadow: 0 0 0 3px rgba(14, 164, 138, .15);
}

.sjm-sel .sjm-sel-btn:disabled {
	opacity: .5;
	cursor: default;
}

.sjm-sel.is-placeholder .sjm-sel-txt {
	color: #A9B4B8;
}

.sjm-sel-txt {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.sjm-sel-caret {
	flex: 0 0 auto;
	width: 14px;
	height: 14px;
	color: #0EA48A;
	transition: transform .2s ease;
}

.sjm-sel.is-open .sjm-sel-caret {
	transform: rotate(180deg);
}

/* ------------------------------------------------------------ لیست */

.sjm-sel .sjm-sel-list {
	position: absolute;
	z-index: 40;
	top: calc(100% + 6px);
	inset-inline-start: 0;
	width: 100%;
	max-height: 262px;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	scrollbar-color: rgba(127, 127, 127, .3) transparent;
	margin: 0;
	padding: 6px 0;
	list-style: none;
	background: #fff;
	border: 1px solid #E8EDED;
	border-radius: 12px;
	box-shadow: 0 12px 32px rgba(38, 55, 66, .13);
}

.sjm-sel-list::-webkit-scrollbar { width: 7px; }
.sjm-sel-list::-webkit-scrollbar-thumb { background: rgba(127, 127, 127, .3); border-radius: 7px; }
.sjm-sel-list::-webkit-scrollbar-track { background: transparent; }

.sjm-sel .sjm-sel-opt {
	padding: 11px 16px;
	font-size: 15px;
	line-height: 1.7;
	color: #37474F;
	cursor: pointer;
	transition: background-color .12s ease;
}

.sjm-sel-opt + .sjm-sel-opt {
	border-top: 1px solid #F1F4F4;
}

.sjm-sel-opt.is-active {
	background: rgba(14, 164, 138, .07);
}

.sjm-sel-opt.is-sel {
	color: #0E8B75;
	font-weight: 600;
}

@media (prefers-reduced-motion: reduce) {
	.sjm-sel-btn,
	.sjm-sel-caret,
	.sjm-sel-opt {
		transition: none;
	}
}
