/* ---------- سلکت سفارشی: موبایل = برگهٔ تمام‌صفحه ---------- */
.form-row { position: relative; }
.cs-native { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; pointer-events: none; }
.cs-trigger {
	inline-size: 100%; display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3);
	min-height: 52px; padding: 0 var(--sp-5); border: 0; border-radius: var(--r-lg);
	background: var(--surface-2); color: var(--text-1); font: inherit; text-align: start; cursor: pointer;
	transition: box-shadow var(--t-fast) var(--ease);
}
.cs-trigger.is-placeholder { color: var(--text-3); }
.cs-trigger[aria-expanded="true"], .cs-trigger:focus-visible { box-shadow: 0 0 0 2px var(--brand); outline: 0; }
.cs-trigger__chev { inline-size: 18px; block-size: 18px; flex-shrink: 0; color: var(--text-2); }
html.cs-lock { overflow: hidden; }

.cs-panel {
	position: fixed; inset: 0; z-index: 1000; display: flex; align-items: flex-end; justify-content: center;
	background: rgba(0, 0, 0, 0); transition: background .22s ease;
}
.cs-panel.is-open { background: rgba(0, 0, 0, .42); }
.cs-sheet {
	inline-size: 100%; max-inline-size: 520px; background: var(--surface); color: var(--text-1);
	border-radius: var(--r-xl) var(--r-xl) 0 0; display: flex; flex-direction: column; max-block-size: 82vh;
	transform: translateY(100%); transition: transform .26s var(--ease);
	padding-block-end: env(safe-area-inset-bottom, 0px);
}
.cs-panel.is-open .cs-sheet { transform: none; }
.cs-head { display: flex; align-items: center; justify-content: space-between; padding: var(--sp-4) var(--sp-5); border-bottom: 1px solid var(--border); }
.cs-head strong { font-size: 1.05rem; }
.cs-close { inline-size: var(--tap); block-size: var(--tap); border: 0; border-radius: 50%; background: var(--surface-2); color: var(--text-1); font-size: 1.5rem; line-height: 1; cursor: pointer; }
.cs-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-2); padding: var(--sp-4) var(--sp-5) var(--sp-5); overflow-y: auto; }
.cs-opt {
	min-height: 52px; padding: 0 var(--sp-2); border: 0; border-radius: var(--r-lg); background: var(--surface-2);
	color: var(--text-1); font: inherit; font-weight: 700; cursor: pointer;
	transition: background var(--t-fast) var(--ease), color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
}
.cs-opt:hover { background: var(--brand-soft); }
.cs-opt:active { transform: scale(.96); }
.cs-opt.is-selected { background: var(--brand); color: var(--brand-ink, #fff); }
.cs-opt:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }

@media (max-width: 700px) {
	/* تمام‌صفحه ۱۰۰٪ روی موبایل */
	.cs-panel { align-items: stretch; }
	.cs-sheet { max-inline-size: none; max-block-size: none; block-size: 100%; border-radius: 0; }
	.cs-list { flex: 1; align-content: start; }
	.cs-opt { min-height: 60px; font-size: 1rem; }
}
@media (min-width: 701px) {
	.cs-panel { align-items: center; }
	.cs-sheet { border-radius: var(--r-xl); transform: translateY(16px) scale(.98); opacity: 0; transition: transform .22s var(--ease), opacity .22s ease; }
	.cs-panel.is-open .cs-sheet { transform: none; opacity: 1; }
}
@media (prefers-reduced-motion: reduce) { .cs-panel, .cs-sheet { transition: none; } }

/* فرم‌ها در موبایل: تمام‌عرض صفحه (لبه تا لبه) */
@media (max-width: 700px) {
	.reservation-form {
		inline-size: 100vw; max-inline-size: 100vw; margin-inline: calc(50% - 50vw);
		border-radius: 0; box-shadow: none; padding: var(--sp-5) var(--sp-4);
	}
}

/* گزینه‌های بلند (مثل عنوان تور): یک ستون، متن راست‌چین */
.cs-list--rows { grid-template-columns: 1fr; }
.cs-list--rows .cs-opt { text-align: start; padding: var(--sp-3) var(--sp-4); line-height: 1.6; font-weight: 600; min-height: 56px; }
.cs-opt.is-none { color: var(--text-2); font-weight: 500; }
.cs-opt.is-none.is-selected { color: var(--brand-ink, #fff); }

/* ---------- فیلترهای آرشیو تور: قرص‌های فشرده + سوئیچ ---------- */
.tour-filters .cs-trigger {
	inline-size: auto; min-height: 44px; padding: 0 var(--sp-4); gap: var(--sp-2); border-radius: var(--r-pill);
	background: var(--surface-2); font-weight: 700; font-size: .92rem; white-space: nowrap;
}
.tour-filters .cs-trigger.is-set { background: var(--brand-soft); color: var(--brand-text); box-shadow: inset 0 0 0 1.5px var(--brand-soft-bd); }
.tour-filters .cs-trigger.is-set .cs-trigger__chev { color: var(--brand-text); }
.tour-filters .cs-trigger__chev { inline-size: 16px; block-size: 16px; transition: transform var(--t-fast) var(--ease); }
.tour-filters .cs-trigger[aria-expanded="true"] .cs-trigger__chev { transform: rotate(180deg); }

.tour-filters__toggle { cursor: pointer; font-weight: 700; font-size: .92rem; min-height: 44px; gap: var(--sp-3) !important; user-select: none; }
.tour-filters__toggle input[type="checkbox"] {
	-webkit-appearance: none; appearance: none; position: relative; flex-shrink: 0; margin: 0;
	inline-size: 46px; block-size: 28px; border-radius: 999px; background: var(--surface-3); border: 0; cursor: pointer;
	transition: background var(--t-fast) var(--ease);
}
.tour-filters__toggle input[type="checkbox"]::after {
	content: ''; position: absolute; inset-block-start: 3px; inset-inline-start: 3px; inline-size: 22px; block-size: 22px;
	border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .3); transition: transform .2s var(--ease-spring, ease);
}
.tour-filters__toggle input[type="checkbox"]:checked { background: var(--brand); }
.tour-filters__toggle input[type="checkbox"]:checked::after { transform: translateX(-18px); }
.tour-filters__toggle input[type="checkbox"]:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }

/* ---------- انتخابگر تورهای مقایسه ---------- */
.cmp-picker-bar { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); margin-bottom: var(--sp-4); }
.cmp-picker-bar__info { color: var(--text-2); font-size: .92rem; }
.cmp-picker__list { gap: var(--sp-2); }
.cmp-pick {
	display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-3) var(--sp-4); border-radius: var(--r-lg);
	background: var(--surface-2); cursor: pointer; transition: background var(--t-fast) var(--ease);
}
.cmp-pick:hover { background: var(--brand-soft); }
.cmp-pick input { position: absolute; opacity: 0; pointer-events: none; }
.cmp-pick__box {
	flex-shrink: 0; inline-size: 26px; block-size: 26px; border-radius: 50%; background: var(--surface);
	box-shadow: inset 0 0 0 2px var(--border); display: flex; align-items: center; justify-content: center;
	transition: background var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.cmp-pick__box::after {
	content: ""; inline-size: 7px; block-size: 12px; border: solid #fff; border-width: 0 2.5px 2.5px 0;
	transform: rotate(45deg) translate(-1px, -1px); opacity: 0; transition: opacity var(--t-fast) var(--ease);
}
.cmp-pick input:checked + .cmp-pick__box { background: var(--brand); box-shadow: none; }
.cmp-pick input:checked + .cmp-pick__box::after { opacity: 1; }
.cmp-pick input:focus-visible + .cmp-pick__box { outline: 2px solid var(--brand); outline-offset: 2px; }
.cmp-pick.is-disabled { opacity: .45; cursor: not-allowed; }
.cmp-pick__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.cmp-pick__text strong { font-size: .98rem; line-height: 1.5; }
.cmp-pick__text small { color: var(--text-2); font-size: .82rem; }
.cs-foot {
	display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3);
	padding: var(--sp-4) var(--sp-5); border-top: 1px solid var(--border);
}
.cmp-picker__reset { color: var(--text-2); font-size: .88rem; text-decoration: underline; text-underline-offset: 3px; }
.cmp-picker__apply:disabled { opacity: .45; cursor: not-allowed; }
@media (max-width: 700px) { .cmp-picker-bar__info { font-size: .85rem; } }
