/**
 * Sell wizard — UX
 */

.ms-sell-page {
	padding: 1.5rem 0 6rem;
	background: var(--ms-color-bg);
	min-height: 100vh;
}

.ms-sell-header {
	text-align: center;
	margin-bottom: 1.25rem;
}

.ms-sell-header__title {
	font-size: var(--ms-text-2xl);
	font-weight: 800;
	margin: 0 0 0.25rem;
}

.ms-sell-header__subtitle {
	color: var(--ms-color-text-muted);
	margin: 0;
	font-size: var(--ms-text-sm);
}

/* Wizard shell */
.ms-wizard {
	background: var(--ms-color-surface);
	border-radius: var(--ms-radius-xl);
	box-shadow: var(--ms-shadow-md);
	border: 1px solid var(--ms-color-border);
}

.ms-wizard__top {
	padding: 1rem 1rem 0;
}

.ms-wizard__progress-wrap {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 0.5rem;
}

.ms-wizard__progress {
	flex: 1;
	height: 6px;
	background: var(--ms-color-track);
	border-radius: 100px;
	overflow: hidden;
	direction: ltr;
}

.ms-wizard__progress-bar {
	height: 100%;
	width: 12%;
	background: var(--ms-color-primary);
	border-radius: 100px;
	transition: width 0.35s ease;
	margin-inline-start: 0;
}

.ms-wizard__progress-text {
	font-size: var(--ms-text-xs);
	font-weight: 700;
	color: var(--ms-color-text-muted);
	white-space: nowrap;
	flex-shrink: 0;
	min-width: 3.25rem;
	text-align: center;
	unicode-bidi: isolate;
}

.ms-wizard__dots {
	display: flex;
	justify-content: center;
	gap: 6px;
	margin-bottom: 0.75rem;
}

.ms-wizard__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--ms-color-track-strong);
	transition: all 0.25s ease;
}

.ms-wizard__dot.is-current {
	width: 22px;
	border-radius: 100px;
	background: var(--ms-color-primary);
}

.ms-wizard__dot.is-done {
	background: var(--ms-color-accent);
}

.ms-wizard__step-label {
	font-size: var(--ms-text-sm);
	font-weight: 700;
	color: var(--ms-color-text);
	margin: 0 0 0.5rem;
}

/* Resume banner */
.ms-wizard__resume {
	display: none;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
	margin: 0 1.25rem 0.75rem;
	padding: 12px 14px;
	background: var(--ms-color-orange-tint);
	border: 1px solid rgba(234, 88, 12, 0.18);
	border-radius: var(--ms-radius-md);
	font-size: var(--ms-text-sm);
	position: relative;
	z-index: 90;
	pointer-events: auto;
}

.ms-wizard__resume.is-visible {
	display: flex;
}

.ms-wizard__resume[hidden] {
	display: none !important;
}

.ms-wizard__resume p {
	margin: 0;
	flex: 1;
	min-width: 140px;
	font-weight: 600;
}

.ms-wizard__resume-dismiss {
	font-family: var(--ms-font);
	font-size: var(--ms-text-xs);
	font-weight: 600;
	color: var(--ms-color-text-muted);
	background: none;
	border: none;
	cursor: pointer;
	text-decoration: underline;
	padding: 8px 4px;
	pointer-events: auto;
}

.ms-wizard__resume .ms-btn {
	pointer-events: auto;
	cursor: pointer;
}

/* Phase labels */
.ms-wizard__phases {
	display: flex;
	justify-content: space-between;
	gap: 4px;
	margin-bottom: 0.75rem;
	font-size: 10px;
	font-weight: 700;
	color: var(--ms-color-text-muted);
}

.ms-wizard__phase {
	flex: 1;
	text-align: center;
	padding-bottom: 6px;
	border-bottom: 2px solid var(--ms-color-border);
	transition: all 0.25s ease;
}

.ms-wizard__phase.is-active {
	color: var(--ms-color-primary);
	border-bottom-color: var(--ms-color-primary);
}

.ms-wizard__phase.is-done {
	color: var(--ms-color-accent);
	border-bottom-color: var(--ms-color-accent);
}

.ms-wizard__meta-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.35rem;
}

.ms-wizard__eta {
	font-size: var(--ms-text-xs);
	color: var(--ms-color-text-muted);
	font-weight: 600;
}

.ms-wizard__saved {
	display: block;
	font-size: var(--ms-text-xs);
	color: var(--ms-color-accent);
	font-weight: 700;
	margin: 0 0 0.35rem;
	animation: ms-fade-up 0.3s ease;
	text-align: end;
}

.ms-wizard__saved[hidden] {
	display: none !important;
}

.ms-wizard__summary {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	flex-wrap: wrap;
	font-size: var(--ms-text-xs);
	font-weight: 600;
	color: var(--ms-color-primary);
	background: var(--ms-color-primary-light);
	padding: 8px 12px;
	border-radius: var(--ms-radius-sm);
	margin-bottom: 0.35rem;
}

.ms-wizard__summary[hidden] {
	display: none !important;
}

.ms-wizard__summary-edit,
.ms-recap-edit {
	font-family: var(--ms-font);
	font-size: var(--ms-text-xs);
	font-weight: 700;
	color: var(--ms-color-primary);
	background: none;
	border: none;
	cursor: pointer;
	text-decoration: underline;
	padding: 0;
}

.ms-wizard__field-label {
	font-size: var(--ms-text-sm);
	font-weight: 700;
	margin: 1rem 0 0.5rem;
	color: var(--ms-color-text);
}

.ms-device-models {
	margin-top: 0.5rem;
	padding-top: 1rem;
	border-top: 1px dashed var(--ms-color-border);
}

.ms-wizard__placeholder {
	text-align: center;
	color: var(--ms-color-text-muted);
	font-size: var(--ms-text-sm);
	padding: 1.5rem 1rem;
	margin: 0;
	grid-column: 1 / -1;
}

/* Collapsible technical */
.ms-wizard__details {
	margin-bottom: 1.25rem;
	border: 1px solid var(--ms-color-border);
	border-radius: var(--ms-radius-md);
	overflow: hidden;
}

.ms-wizard__details summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	padding: 14px 16px;
	cursor: pointer;
	font-weight: 700;
	font-size: var(--ms-text-sm);
	list-style: none;
	background: var(--ms-color-bg);
}

.ms-wizard__details summary::-webkit-details-marker {
	display: none;
}

.ms-wizard__details-badge {
	font-size: var(--ms-text-xs);
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 100px;
	background: rgba(0, 200, 83, 0.12);
	color: var(--ms-color-accent);
}

.ms-wizard__details-badge.is-warn {
	background: var(--ms-color-orange-tint);
	color: var(--ms-color-warning-muted);
}

.ms-wizard__details-body {
	padding: 0 16px 16px;
}

.ms-wizard__section--row {
	display: grid;
	gap: 1.25rem;
}

@media (min-width: 600px) {
	.ms-wizard__section--row {
		grid-template-columns: 1fr 1fr;
	}
}

/* Price breakdown */
.ms-price-breakdown {
	margin-top: 1rem;
	padding: 1rem;
	background: var(--ms-color-bg);
	border-radius: var(--ms-radius-md);
	border: 1px solid var(--ms-color-border);
}

.ms-breakdown-title {
	font-size: var(--ms-text-xs);
	font-weight: 700;
	color: var(--ms-color-text-muted);
	margin: 0 0 0.75rem;
}

.ms-breakdown-row {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	font-size: var(--ms-text-sm);
	padding: 6px 0;
	border-bottom: 1px solid var(--ms-color-border);
}

.ms-breakdown-row:last-child {
	border-bottom: none;
}

.ms-breakdown-row.is-minus span:last-child {
	color: var(--ms-color-error);
}

.ms-breakdown-row.is-plus span:last-child {
	color: var(--ms-color-accent);
}

.ms-recap-edit {
	display: block;
	margin-top: 0.75rem;
	width: 100%;
	text-align: center;
}

/* Inline errors */
.ms-field.is-invalid input {
	border-color: var(--ms-color-error);
	box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.15);
}

.ms-field__error {
	display: block;
	font-size: var(--ms-text-xs);
	color: var(--ms-color-error);
	font-weight: 600;
	margin-top: 4px;
}

.ms-consent {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
	margin-top: 1.25rem;
	font-size: var(--ms-text-sm);
	line-height: 1.5;
	cursor: pointer;
}

.ms-consent input {
	margin-top: 4px;
	flex-shrink: 0;
}

/* Confirm modal */
.ms-modal[hidden] {
	display: none !important;
}

.ms-modal {
	position: fixed;
	inset: 0;
	z-index: 200;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
}

.ms-modal__backdrop {
	position: absolute;
	inset: 0;
	background: var(--ms-color-overlay);
}

.ms-modal__box {
	position: relative;
	width: 100%;
	max-width: 400px;
	background: var(--ms-color-surface);
	border-radius: var(--ms-radius-xl);
	padding: 1.5rem;
	box-shadow: var(--ms-shadow-lg);
	animation: ms-fade-up 0.3s ease;
}

.ms-modal__box h3 {
	margin: 0 0 0.75rem;
	font-size: var(--ms-text-lg);
}

.ms-modal__box p {
	margin: 0 0 1.25rem;
	font-size: var(--ms-text-sm);
	line-height: 1.6;
	color: var(--ms-color-text-muted);
}

.ms-modal__actions {
	display: flex;
	gap: 0.5rem;
	justify-content: flex-end;
}

.ms-wizard__toast {
	margin: 0 1.25rem 0.75rem;
	padding: 12px 14px;
	border-radius: var(--ms-radius-md);
	font-size: var(--ms-text-sm);
	font-weight: 600;
	background: var(--ms-color-error-soft);
	color: var(--ms-color-error);
	border: 1px solid var(--ms-color-error-border);
}

.ms-wizard__toast.is-success {
	background: var(--ms-color-success-soft);
	color: var(--ms-color-accent);
	border-color: var(--ms-color-success-border);
}

.ms-wizard__toast.is-visible {
	animation: ms-fade-up 0.3s ease;
}

.ms-wizard__form {
	padding: 0 1rem 1rem;
}

@media (max-width: 899px) {
	.ms-wizard__form {
		padding-bottom: 1.25rem;
	}

	.ms-wizard--nav-visible .ms-wizard__form {
		padding-bottom: calc(4.75rem + env(safe-area-inset-bottom, 0px));
	}
}

.ms-wizard__title {
	font-size: var(--ms-text-xl);
	font-weight: 800;
	margin: 0 0 0.35rem;
	letter-spacing: -0.02em;
}

.ms-wizard__desc {
	font-size: var(--ms-text-sm);
	color: var(--ms-color-text-muted);
	margin: 0 0 1.25rem;
	line-height: 1.55;
}

.ms-wizard__step[hidden] {
	display: none !important;
}

.ms-wizard__step.is-active {
	display: block;
	animation: ms-fade-up 0.35s ease;
}

/* Sections (step 4) */
.ms-wizard__section {
	margin-bottom: 1.5rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--ms-color-border);
}

.ms-wizard__section:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.ms-wizard__section h3 {
	font-size: var(--ms-text-sm);
	font-weight: 700;
	margin: 0 0 0.75rem;
	color: var(--ms-color-text);
}

.ms-wizard__section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.75rem;
}

.ms-wizard__section-head h3 {
	margin: 0;
}

.ms-wizard__quick-btn {
	font-family: var(--ms-font);
	font-size: var(--ms-text-xs);
	font-weight: 700;
	color: var(--ms-color-primary);
	background: var(--ms-color-primary-light);
	border: none;
	padding: 6px 12px;
	border-radius: var(--ms-btn-radius, 5%);
	cursor: pointer;
}

.ms-wizard__section--inline {
	display: grid;
	gap: 1.25rem;
}

@media (min-width: 600px) {
	.ms-wizard__section--inline {
		grid-template-columns: 1fr 1fr;
	}
}

/* Toggle rows (technical) */
.ms-toggle-list {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.ms-toggle-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 12px 14px;
	background: var(--ms-color-bg);
	border-radius: var(--ms-radius-md);
	border: 1px solid var(--ms-color-border);
}

.ms-toggle-row__label {
	font-size: var(--ms-text-sm);
	font-weight: 600;
	flex: 1;
}

.ms-toggle-row__btns {
	display: flex;
	gap: 4px;
	flex-shrink: 0;
}

.ms-toggle-btn {
	cursor: pointer;
}

.ms-toggle-btn input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.ms-toggle-btn span {
	display: block;
	padding: 8px 12px;
	font-size: var(--ms-text-xs);
	font-weight: 700;
	border-radius: var(--ms-btn-radius, 5%);
	border: 1px solid var(--ms-color-border);
	background: var(--ms-color-surface);
	color: var(--ms-color-text-muted);
	transition: all 0.2s ease;
}

.ms-toggle-row[data-touched="1"] .ms-toggle-btn input:checked + span {
	background: var(--ms-color-primary);
	border-color: var(--ms-color-primary);
	color: #fff;
}

.ms-toggle-row[data-touched="1"] .ms-toggle-btn input[value="0"]:checked + span {
	background: var(--ms-color-error-soft);
	border-color: var(--ms-color-error-border);
	color: var(--ms-color-error);
}

/* Chip select */
.ms-chip-select {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.ms-chip-select__item {
	cursor: pointer;
}

.ms-chip-select__item input {
	position: absolute;
	opacity: 0;
}

.ms-chip-select__item span {
	display: block;
	padding: 10px 14px;
	font-size: var(--ms-text-sm);
	font-weight: 600;
	border-radius: var(--ms-btn-radius, 5%);
	border: 1px solid var(--ms-color-border);
	background: var(--ms-color-surface);
	transition: all 0.2s ease;
}

.ms-chip-select__item input[data-user-picked="1"]:checked + span {
	background: var(--ms-color-primary-light);
	border-color: var(--ms-color-primary);
	color: var(--ms-color-primary);
}

/* Choice cards */
.ms-choice-grid {
	display: grid;
	gap: 0.625rem;
	grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
}

.ms-choice-grid--brands {
	grid-template-columns: repeat(3, 1fr);
}

.ms-choice-grid--models {
	grid-template-columns: 1fr;
	max-height: 280px;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.ms-choice-grid--compact {
	grid-template-columns: repeat(2, 1fr);
}

.ms-choice-grid--sim {
	grid-template-columns: repeat(2, 1fr);
	max-width: 360px;
	margin-inline: auto;
}

.ms-choice-card--sim {
	min-height: 104px;
	gap: 0.5rem;
}

.ms-choice-card--sim .ms-choice-card__icon {
	color: var(--ms-color-text-muted);
}

.ms-choice-card--sim:has(input[data-user-picked="1"]:checked) .ms-choice-card__icon {
	color: var(--ms-color-primary);
}

.ms-choice-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 1rem 0.5rem;
	min-height: 88px;
	background: var(--ms-color-bg);
	border: 2px solid var(--ms-color-border);
	border-radius: var(--ms-radius-md);
	cursor: pointer;
	transition: border-color 0.2s, background 0.2s, transform 0.15s;
}

.ms-choice-card--compact {
	min-height: 56px;
	padding: 14px;
}

.ms-choice-card input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.ms-choice-card:active {
	transform: scale(0.98);
}

.ms-choice-card:has(input[data-user-picked="1"]:checked),
.ms-model-card.is-selected {
	border-color: var(--ms-color-primary);
	background: var(--ms-color-primary-light);
}

.ms-choice-card--brand {
	min-height: 104px;
	gap: 6px;
}

.ms-choice-card__logo {
	width: 40px;
	height: 40px;
	object-fit: contain;
	display: block;
	margin-bottom: 2px;
	pointer-events: none;
	user-select: none;
}

.ms-choice-card:has(input[data-user-picked="1"]:checked) .ms-choice-card__logo,
.ms-choice-card--brand:has(input[data-user-picked="1"]:checked) .ms-choice-card__logo {
	transform: scale(1.05);
}

/* ——— Game wizard ——— */
.ms-wizard--game .ms-wizard__step.is-active {
	animation: ms-game-pop 0.4s cubic-bezier(0.34, 1.4, 0.64, 1);
}

@keyframes ms-game-pop {
	from {
		opacity: 0;
		transform: translateY(12px) scale(0.98);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.ms-wizard__kicker {
	font-size: var(--ms-text-xs);
	font-weight: 800;
	color: var(--ms-color-primary);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0 0 0.35rem;
}

.ms-game-hero {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ms-color-primary);
	text-align: center;
	margin-bottom: 0.75rem;
	line-height: 0;
}

.ms-wizard__step--intro {
	text-align: center;
	padding: 0.25rem 0 0.5rem;
}

.ms-game-start {
	margin-top: 0.75rem;
	min-height: 52px;
	font-size: var(--ms-text-base);
	font-weight: 800;
	width: 100%;
}

/* Mood / سلامتی ظاهر */
.ms-mood-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.5rem;
}

@media (min-width: 400px) {
	.ms-mood-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

.ms-mood-card {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 14px 16px;
	border: 2px solid var(--ms-color-border);
	border-radius: var(--ms-radius-md);
	cursor: pointer;
	background: var(--ms-color-surface);
	transition: border-color 0.2s, transform 0.15s, background 0.2s;
}

.ms-mood-card:active {
	transform: scale(0.98);
}

.ms-mood-card input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.ms-mood-card:has(input[data-user-picked="1"]:checked) {
	border-color: var(--ms-color-primary);
	background: var(--ms-color-primary-light);
}

.ms-mood-card__icon,
.ms-mood-card__emoji {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ms-color-primary);
	margin-bottom: 0.35rem;
	line-height: 0;
	flex-shrink: 0;
	width: 2.5rem;
	text-align: center;
}

.ms-mood-card__label {
	display: block;
	font-weight: 800;
	font-size: var(--ms-text-sm);
}

.ms-mood-card__hint {
	display: block;
	font-size: var(--ms-text-xs);
	color: var(--ms-color-text-muted);
	margin-top: 2px;
}

.ms-wizard__tech-status {
	display: inline-block;
	font-size: var(--ms-text-xs);
	font-weight: 700;
	padding: 6px 12px;
	border-radius: 100px;
	background: rgba(0, 200, 83, 0.12);
	color: var(--ms-color-accent);
	margin-bottom: 0.75rem;
}

.ms-wizard__tech-status.is-warn {
	background: var(--ms-color-orange-tint);
	color: var(--ms-color-warning-muted);
}

.ms-chip-select--stack {
	flex-direction: column;
}

.ms-chip-select--stack .ms-chip-select__item span {
	text-align: center;
	width: 100%;
}

.ms-repair-yesno {
	margin-bottom: 1rem;
}

.ms-repair-panel {
	margin-top: 1rem;
	padding: 1rem;
	border: 1px solid var(--ms-color-border);
	border-radius: var(--ms-radius-md);
	background: var(--ms-color-bg);
	animation: ms-fade-in 0.25s ease;
}

.ms-repair-panel__notice {
	margin: 0 0 0.75rem;
	padding: 0.65rem 0.85rem;
	font-size: var(--ms-text-sm);
	line-height: 1.5;
	color: var(--ms-color-warning-muted);
	background: var(--ms-color-orange-tint);
	border-radius: var(--ms-radius-sm);
}

.ms-repair-panel__label {
	margin: 0 0 0.75rem;
	font-size: var(--ms-text-sm);
	font-weight: 700;
	color: var(--ms-color-text);
}

.ms-repair-panel__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.5rem;
}

.ms-repair-check {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	padding: 0.75rem 0.85rem;
	border: 1px solid var(--ms-color-border);
	border-radius: var(--ms-radius-md);
	background: var(--ms-color-surface);
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease;
}

.ms-repair-check input {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	accent-color: var(--ms-color-primary);
}

.ms-repair-check span {
	font-size: var(--ms-text-sm);
	font-weight: 600;
	line-height: 1.4;
}

.ms-repair-check:has(input:checked) {
	border-color: var(--ms-color-primary);
	background: var(--ms-color-primary-light);
}

.ms-accessory-select {
	flex-direction: column;
	gap: 0.625rem;
	margin-bottom: 0.25rem;
}

.ms-accessory-select .ms-chip-select__item span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	padding: 14px 16px;
	text-align: center;
	font-size: var(--ms-text-base);
	line-height: 1.45;
}

.ms-accessory-select .ms-chip-select__item input:checked + span,
.ms-accessory-select .ms-chip-select__item input:focus-visible + span {
	background: var(--ms-color-primary-light);
	border-color: var(--ms-color-primary);
	color: var(--ms-color-primary);
	box-shadow: 0 0 0 1px var(--ms-color-primary);
}

.ms-accessory-select .ms-chip-select__item:active span {
	transform: scale(0.98);
}

.ms-wizard__skip-link--block {
	display: block;
	width: 100%;
	margin-top: 1rem;
	padding: 12px;
	font-family: var(--ms-font);
	font-size: var(--ms-text-sm);
	font-weight: 600;
	color: var(--ms-color-text-muted);
	background: var(--ms-color-bg);
	border: 1px dashed var(--ms-color-border);
	border-radius: var(--ms-radius-md);
	cursor: pointer;
}

.ms-wizard__skip-link--block:hover {
	border-color: var(--ms-color-primary);
	color: var(--ms-color-primary);
}

.ms-choice-card__label {
	font-weight: 700;
	font-size: var(--ms-text-sm);
	text-align: center;
	line-height: 1.3;
}

.ms-model-card {
	width: 100%;
	flex-direction: row;
	justify-content: flex-start;
	min-height: 52px;
	padding: 14px 16px;
	text-align: right;
}

.ms-model-search {
	margin-bottom: 0.75rem;
}

.ms-model-search__input {
	width: 100%;
	padding: 12px 14px;
	font-family: var(--ms-font);
	font-size: var(--ms-text-base);
	border: 1px solid var(--ms-color-border);
	border-radius: var(--ms-radius-md);
	background: var(--ms-color-bg);
}

.ms-model-search__input:focus {
	outline: none;
	border-color: var(--ms-color-primary);
	box-shadow: 0 0 0 3px var(--ms-color-primary-light);
}

.ms-model-custom {
	margin-top: 1rem;
}

.ms-model-custom.is-others-only {
	margin-top: 0;
}

.ms-model-custom__input {
	width: 100%;
	padding: 14px 16px;
	font-family: var(--ms-font);
	font-size: var(--ms-text-base);
	color: var(--ms-color-text);
	border: 1px dashed rgba(27, 43, 75, 0.18);
	border-radius: var(--ms-radius-md);
	background: var(--ms-color-surface-alt);
	transition: border-color var(--ms-transition), box-shadow var(--ms-transition), background var(--ms-transition);
}

.ms-model-custom__input::placeholder {
	color: var(--ms-color-text-muted);
	opacity: 0.55;
	font-weight: 500;
}

.ms-model-custom__input:focus {
	outline: none;
	border-color: var(--ms-color-primary);
	border-style: solid;
	background: var(--ms-color-surface);
	box-shadow: 0 0 0 3px var(--ms-color-primary-light);
}

.ms-model-custom.is-others-only .ms-model-custom__input {
	border-style: solid;
	background: var(--ms-color-surface);
}

.ms-model-custom.is-filled .ms-model-custom__input,
.ms-model-custom__input:not(:placeholder-shown) {
	border-style: solid;
	background: var(--ms-color-surface);
}

.ms-model-custom__hint {
	margin: 0.5rem 0 0;
	font-size: var(--ms-text-sm);
	color: var(--ms-color-text-muted);
	line-height: 1.6;
}

/* Condition — ساده */
.ms-condition-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.5rem;
}

@media (min-width: 480px) {
	.ms-condition-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.ms-condition-card {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 14px 8px;
	border: 2px solid var(--ms-color-border);
	border-radius: var(--ms-radius-md);
	cursor: pointer;
	background: var(--ms-color-surface);
	text-align: center;
}

.ms-condition-card input {
	position: absolute;
	opacity: 0;
}

.ms-condition-card:has(input[data-user-picked="1"]:checked) {
	border-color: var(--ms-color-primary);
	background: var(--ms-color-primary-light);
}

.ms-condition-card__label {
	font-size: var(--ms-text-sm);
	font-weight: 700;
}

/* Check list */
.ms-check-list--simple .ms-check-item {
	padding: 14px 16px;
}

/* Upload */
.ms-upload-zone {
	position: relative;
	border: 2px dashed rgba(234, 88, 12, 0.35);
	border-radius: var(--ms-radius-lg);
	padding: 2rem 1rem;
	text-align: center;
	background: var(--ms-color-primary-light);
}

.ms-upload-zone input[type="file"] {
	position: absolute;
	inset: 0;
	opacity: 0;
	cursor: pointer;
}

.ms-upload-zone__inner {
	pointer-events: none;
}

.ms-upload-zone__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ms-color-primary);
	margin: 0 auto 0.5rem;
	line-height: 0;
}

.ms-upload-zone__text {
	font-weight: 700;
	color: var(--ms-color-primary);
}

.ms-upload-preview {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: center;
	margin-top: 1rem;
}

.ms-upload-preview__item {
	position: relative;
}

.ms-upload-preview__item img {
	width: 72px;
	height: 72px;
	object-fit: cover;
	border-radius: var(--ms-radius-sm);
}

.ms-upload-preview__remove {
	position: absolute;
	top: -6px;
	left: -6px;
	width: 22px;
	height: 22px;
	border: none;
	border-radius: 50%;
	background: var(--ms-color-error);
	color: #fff;
	font-size: 14px;
	line-height: 1;
	cursor: pointer;
}

/* Price */
.ms-device-recap,
.ms-offer-recap {
	background: var(--ms-color-bg);
	border-radius: var(--ms-radius-md);
	padding: 1rem;
	margin-bottom: 1rem;
	border: 1px solid var(--ms-color-border);
}

.ms-recap-dl {
	display: grid;
	gap: 0.5rem;
	margin: 0;
}

.ms-recap-dl div {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	font-size: var(--ms-text-sm);
}

.ms-recap-dl dt {
	color: var(--ms-color-text-muted);
	font-weight: 600;
}

.ms-recap-dl dd {
	margin: 0;
	font-weight: 700;
}

.ms-price-result {
	text-align: center;
	padding: 1.75rem 1rem;
	background: var(--ms-color-accent-soft);
	border-radius: var(--ms-radius-lg);
	border: 1px solid var(--ms-color-success-border);
}

.ms-price-result__amount {
	display: block;
	font-size: clamp(1.75rem, 8vw, 2.5rem);
	font-weight: 800;
	color: var(--ms-color-primary);
}

.ms-price-result__label {
	display: block;
	font-size: var(--ms-text-sm);
	color: var(--ms-color-text-muted);
	font-weight: 600;
	margin-bottom: 0.35rem;
}

.ms-price-result__loading {
	color: var(--ms-color-text-muted);
	font-weight: 600;
}

.ms-offer-recap__note {
	font-size: var(--ms-text-sm);
	color: var(--ms-color-text-muted);
	margin: 0;
	line-height: 1.6;
}

.ms-wizard__success {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin: 0 0 0.75rem;
	padding: 0.65rem 1rem;
	border-radius: var(--ms-radius-md);
	background: rgba(34, 197, 94, 0.12);
	border: 1px solid rgba(34, 197, 94, 0.28);
	color: #15803d;
	font-weight: 700;
	font-size: var(--ms-text-sm);
}

.ms-wizard__success-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 50%;
	background: #22c55e;
	color: #fff;
	font-size: 0.85rem;
}

.ms-wizard__step--complete .ms-wizard__title {
	margin-top: 0;
}

.ms-device-recap--compact {
	margin-bottom: 1rem;
}

.ms-contact-form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-top: 0.5rem;
	padding: 1.25rem;
	background: var(--ms-color-surface, #fff);
	border: 1px solid var(--ms-color-border, #e2e8f0);
	border-radius: var(--ms-radius-lg, 12px);
}

.ms-wizard__step--contact .ms-field {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.4rem;
	margin: 0;
}

.ms-wizard__step--contact .ms-field label {
	font-size: var(--ms-text-sm);
	font-weight: 700;
	color: var(--ms-color-text);
	text-align: right;
}

.ms-wizard__step--contact .ms-field input {
	width: 100%;
	box-sizing: border-box;
	padding: 0.85rem 1rem;
	border: 1px solid var(--ms-color-border, #e2e8f0);
	border-radius: var(--ms-radius-md, 10px);
	font-size: var(--ms-text-base);
	background: #fff;
	color: var(--ms-color-text);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ms-wizard__step--contact .ms-field input:focus {
	outline: none;
	border-color: var(--ms-color-primary, #2563eb);
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

.ms-contact-form .ms-expected-price-card--inline {
	margin: 0.25rem 0 0;
	padding: 1rem;
}

.ms-wizard__step-hint {
	margin: 0.75rem 0 0;
	font-size: var(--ms-text-xs);
	color: var(--ms-color-text-muted);
	line-height: 1.6;
	text-align: center;
}

.ms-wizard__step--contact + .ms-wizard__nav,
.ms-wizard--contact-nav .ms-wizard__nav {
	display: flex;
}

.ms-price-final-reveal {
	text-align: center;
	padding: 1.5rem 1rem;
	background: var(--ms-color-accent-soft);
	border-radius: var(--ms-radius-lg);
	border: 1px solid var(--ms-color-success-border);
}

.ms-price-final-reveal__label {
	margin: 0 0 0.35rem;
	font-size: var(--ms-text-sm);
	color: var(--ms-color-text-muted);
	font-weight: 600;
}

.ms-price-final-reveal__amount {
	margin: 0;
	font-size: clamp(1.75rem, 8vw, 2.5rem);
	font-weight: 800;
	color: var(--ms-color-primary);
}

.ms-price-final-reveal__note {
	margin: 0.5rem 0 0;
	font-size: var(--ms-text-sm);
	color: var(--ms-color-text-muted);
}

.ms-price-waiting {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
	padding: 0.25rem 0;
}

.ms-price-waiting__spinner {
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 50%;
	border: 3px solid rgba(37, 99, 235, 0.15);
	border-top-color: var(--ms-color-primary);
	animation: ms-price-wait-spin 0.9s linear infinite;
}

.ms-price-waiting__title {
	margin: 0;
	font-size: var(--ms-text-lg);
	font-weight: 800;
	color: var(--ms-color-text);
	text-align: center;
}

.ms-price-waiting__desc {
	margin: 0;
	font-size: var(--ms-text-sm);
	color: var(--ms-color-text-muted);
	line-height: 1.7;
	text-align: center;
	max-width: 28rem;
}

@keyframes ms-price-wait-spin {
	to { transform: rotate(360deg); }
}

.ms-offer-recap__label {
	font-size: var(--ms-text-sm);
	color: var(--ms-color-text-muted);
	margin: 0 0 4px;
}

.ms-offer-recap__price {
	font-size: var(--ms-text-2xl);
	font-weight: 800;
	margin: 0;
	color: var(--ms-color-primary);
}

.ms-wizard__note {
	font-size: var(--ms-text-xs);
	color: var(--ms-color-text-muted);
	text-align: center;
	margin: 1rem 0 0;
	line-height: 1.6;
}

.ms-expected-price-card {
	margin-top: 1.25rem;
	padding: 1.15rem 1.2rem 1.2rem;
	background: var(--ms-color-orange-tint);
	border: 1px solid rgba(245, 158, 11, 0.22);
	border-radius: var(--ms-radius-lg);
	box-shadow: 0 8px 24px rgba(245, 158, 11, 0.06);
}

.ms-expected-price-card__head {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	margin-bottom: 0.9rem;
}

.ms-expected-price-card__icon {
	flex-shrink: 0;
	width: 2.5rem;
	height: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #d97706;
	background: rgba(255, 255, 255, 0.85);
	border: 1px solid rgba(245, 158, 11, 0.2);
	border-radius: var(--ms-radius-md);
	box-shadow: 0 2px 8px rgba(245, 158, 11, 0.08);
	line-height: 0;
}

.ms-expected-price-card__titles {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.65rem;
	min-width: 0;
}

.ms-expected-price-card__titles label {
	display: block;
	width: 100%;
	font-size: var(--ms-text-sm);
	font-weight: 800;
	color: var(--ms-color-text);
	line-height: 1.4;
	cursor: pointer;
}

.ms-expected-price-card__badge {
	display: inline-block;
	font-size: 10px;
	font-weight: 800;
	padding: 3px 9px;
	border-radius: 999px;
	background: var(--ms-color-primary-light);
	color: var(--ms-color-warning);
	letter-spacing: 0.02em;
}

.ms-expected-price-card__input-wrap {
	display: flex;
	align-items: center;
	gap: 0;
	background: var(--ms-color-surface);
	border: 1.5px solid rgba(234, 88, 12, 0.22);
	border-radius: var(--ms-radius-md);
	overflow: hidden;
	transition: border-color var(--ms-transition), box-shadow var(--ms-transition);
}

.ms-expected-price-card__input-wrap:focus-within {
	border-color: var(--ms-color-primary);
	box-shadow: 0 0 0 3px var(--ms-color-primary-light);
}

.ms-expected-price-card__input {
	flex: 1;
	min-width: 0;
	border: none;
	background: transparent;
	padding: 0.85rem 1rem;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--ms-color-text);
	direction: ltr;
	text-align: left;
	font-variant-numeric: tabular-nums;
}

.ms-expected-price-card__input::placeholder {
	color: #c4c4c4;
	font-weight: 500;
	font-size: var(--ms-text-sm);
}

.ms-expected-price-card__input:focus {
	outline: none;
}

.ms-expected-price-card__suffix {
	flex-shrink: 0;
	padding: 0 1rem;
	font-size: var(--ms-text-sm);
	font-weight: 700;
	color: var(--ms-color-text-muted);
	background: var(--ms-color-orange-tint);
	border-right: 1px solid rgba(234, 88, 12, 0.12);
	height: 100%;
	display: flex;
	align-items: center;
	min-height: 48px;
}

.ms-expected-price-card__hint {
	margin: 0.75rem 0 0;
	font-size: var(--ms-text-xs);
	color: var(--ms-color-text-muted);
	line-height: 1.65;
}

.ms-expected-price-card.is-filled .ms-expected-price-card__input-wrap {
	border-color: rgba(234, 88, 12, 0.4);
	background: var(--ms-color-orange-tint);
}

.ms-expected-price-card.is-filled .ms-expected-price-card__input {
	color: var(--ms-color-warning);
}

@media (max-width: 480px) {
	.ms-expected-price-card {
		padding: 1rem;
	}

	.ms-expected-price-card__input {
		font-size: 1rem;
		padding: 0.75rem 0.85rem;
	}

	.ms-expected-price-card__suffix {
		padding: 0 0.75rem;
		font-size: var(--ms-text-xs);
	}
}

.ms-field__hint {
	display: block;
	font-size: var(--ms-text-xs);
	color: var(--ms-color-text-muted);
	margin-top: 4px;
}

/* Delivery cards */
.ms-delivery-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.625rem;
}

.ms-delivery-card {
	display: block;
	padding: 14px;
	border: 2px solid var(--ms-color-border);
	border-radius: var(--ms-radius-md);
	cursor: pointer;
	text-align: center;
	transition: all 0.2s ease;
}

.ms-delivery-card input {
	position: absolute;
	opacity: 0;
}

.ms-delivery-card:has(input[data-user-picked="1"]:checked) {
	border-color: var(--ms-color-primary);
	background: var(--ms-color-primary-light);
}

.ms-delivery-card__title {
	display: block;
	font-weight: 700;
	font-size: var(--ms-text-sm);
}

.ms-delivery-card__desc {
	display: block;
	font-size: var(--ms-text-xs);
	color: var(--ms-color-text-muted);
	margin-top: 2px;
}

/* Nav — فقط قبلی / بعدی */
.ms-wizard__nav--simple {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: 1.25rem;
	padding-top: 1rem;
	border-top: 1px solid var(--ms-color-border);
}

.ms-wizard__nav--simple[hidden] {
	display: none !important;
}

.ms-wizard__nav--simple .ms-btn {
	min-height: 48px;
	min-width: 96px;
}

.ms-wizard__skip-inline {
	margin: 0 0 1rem;
	text-align: center;
}

.ms-wizard__skip-link {
	font-family: var(--ms-font);
	font-size: var(--ms-text-sm);
	font-weight: 600;
	color: var(--ms-color-text-muted);
	background: none;
	border: none;
	cursor: pointer;
	text-decoration: underline;
	padding: 0;
}

.ms-wizard__step-submit {
	margin-top: 1.5rem;
	padding-top: 0.25rem;
}

.ms-wizard__step-submit .ms-btn--block {
	width: 100%;
	min-height: 52px;
}

.ms-wizard__empty,
.ms-wizard__skeleton {
	padding: 1rem;
	text-align: center;
	color: var(--ms-color-text-muted);
	font-size: var(--ms-text-sm);
}

.ms-wizard__skeleton {
	height: 52px;
	background: var(--ms-color-surface-alt);
	background-size: 200% 100%;
	animation: ms-shimmer 1.2s infinite;
	border-radius: var(--ms-radius-md);
	margin-bottom: 0.5rem;
}

.ms-wizard.is-loading .ms-wizard__nav {
	opacity: 0.5;
	pointer-events: none;
}

/* Mobile sticky nav */
@media (max-width: 899px) {
	.ms-sell-page,
	.ms-sell-landing .ms-sell-form-section,
	.ms-sell-shortcode {
		padding-bottom: 0.5rem;
	}

	.ms-wizard__nav--simple {
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 90;
		margin: 0;
		padding: 10px 1rem;
		padding-bottom: max(10px, env(safe-area-inset-bottom));
		background: rgba(255, 255, 255, 0.98);
		backdrop-filter: blur(12px);
		border-top: 1px solid var(--ms-color-border);
		box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.08);
	}

	.ms-wizard__nav--simple .ms-btn {
		flex: 1;
		max-width: none;
		min-height: 46px;
		font-size: var(--ms-text-sm);
	}

	.ms-wizard__title {
		font-size: var(--ms-text-lg);
	}

	.ms-wizard__desc {
		font-size: var(--ms-text-sm);
		margin-bottom: 1rem;
	}

	.ms-choice-grid--brands {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 900px) {
	.ms-sell-page {
		padding: 2.5rem 0 3rem;
	}

	.ms-wizard__form {
		padding: 0 2rem 2rem;
	}

	.ms-wizard__top {
		padding: 1.5rem 2rem 0;
	}
}
