/* =========================================================
   Shop Join · Merchant landing · #FF6633
   Electronics / Office / Living
   ========================================================= */

:root {
	--sj-accent: #FF6633;
	--sj-accent-deep: #E54D1A;
	--sj-accent-soft: #FF8A5C;
	--sj-accent-mist: rgba(255, 102, 51, 0.12);
	--sj-ink: #1C1410;
	--sj-ink-soft: #5C5048;
	--sj-paper: #FFF8F4;
	--sj-night: #120E0C;
	--sj-night-2: #1A1411;
	--sj-font: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
	--sj-display: 'Syne', 'Noto Sans SC', sans-serif;
}

.sj {
	position: relative;
	margin: 0;
	padding: 0;
	font-family: var(--sj-font);
	font-size: 14px;
	color: var(--sj-ink);
	background: #F7F0EB;
	overflow: hidden;
}

.sj *,
.sj *::before,
.sj *::after { box-sizing: border-box; }

.sj a { text-decoration: none; color: inherit; transition: color .25s ease, opacity .25s ease, background .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease; }

.sj-wrap {
	width: min(1120px, calc(100% - 40px));
	margin: 0 auto;
}

/* ---------- Buttons ---------- */
.sj-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 148px;
	height: 48px;
	padding: 0 24px;
	border-radius: 14px;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .06em;
	cursor: pointer;
	border: 0;
	line-height: 1;
}

.sj-btn--primary {
	color: #fff !important;
	background: linear-gradient(135deg, #FF7A4D 0%, var(--sj-accent) 45%, var(--sj-accent-deep) 100%);
	box-shadow: 0 14px 32px rgba(255, 102, 51, 0.38);
}

.sj-btn--primary:hover {
	transform: translateY(-2px);
	filter: brightness(1.04);
	box-shadow: 0 18px 40px rgba(255, 102, 51, 0.48);
	color: #fff !important;
}

.sj-btn--ghost {
	color: #FFE8DC !important;
	background: transparent;
	border: 1px solid rgba(255, 180, 140, 0.4) !important;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.sj-btn--ghost:hover {
	background: rgba(255, 102, 51, 0.14);
	border-color: rgba(255, 180, 140, 0.7) !important;
	color: #fff !important;
}

.sj-btn--ghost-dark {
	color: var(--sj-accent-deep) !important;
	border-color: rgba(255, 102, 51, 0.35) !important;
	background: #fff;
}

.sj-btn--ghost-dark:hover {
	background: var(--sj-accent-mist) !important;
	color: var(--sj-accent-deep) !important;
}

.sj-btn--disabled {
	color: rgba(255, 236, 224, 0.55) !important;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.12);
	cursor: not-allowed;
	box-shadow: none;
}

/* ---------- Hero ---------- */
.sj-hero {
	position: relative;
	min-height: min(78vh, 640px);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 64px 20px 72px;
	color: #F7EDE7;
	isolation: isolate;
}

.sj-hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
}

.sj-hero__wash {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(110% 80% at 12% 20%, rgba(255, 102, 51, 0.32), transparent 55%),
		radial-gradient(90% 70% at 88% 80%, rgba(229, 77, 26, 0.2), transparent 52%),
		linear-gradient(165deg, #1A120F 0%, #0E0B09 50%, #18110D 100%);
	z-index: 2;
}

.sj-hero__grid {
	position: absolute;
	inset: -8%;
	z-index: 3;
	opacity: .2;
	background-image:
		linear-gradient(rgba(255, 102, 51, 0.1) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 102, 51, 0.1) 1px, transparent 1px);
	background-size: 52px 52px;
	transform: perspective(700px) rotateX(55deg) translateY(-8%);
	transform-origin: center top;
	mask-image: radial-gradient(ellipse at 50% 20%, #000 15%, transparent 70%);
	-webkit-mask-image: radial-gradient(ellipse at 50% 20%, #000 15%, transparent 70%);
}

.sj-hero__glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(48px);
	z-index: 3;
	animation: sj-breathe 8s ease-in-out infinite;
}

.sj-hero__glow--a {
	width: 380px; height: 380px;
	left: -60px; top: -40px;
	background: radial-gradient(circle, rgba(255, 102, 51, 0.5), transparent 70%);
}

.sj-hero__glow--b {
	width: 320px; height: 320px;
	right: -40px; bottom: 0;
	background: radial-gradient(circle, rgba(255, 138, 92, 0.32), transparent 70%);
	animation-delay: -3s;
}

@keyframes sj-breathe {
	0%, 100% { transform: scale(1); opacity: .5; }
	50% { transform: scale(1.12); opacity: .75; }
}

/* Ad slideshow as soft underlay */
.sj-hero__slide {
	position: absolute;
	inset: 0;
	z-index: 1;
	opacity: .22;
	overflow: hidden;
}

.sj-hero__slide .wst-slide-items,
.sj-hero__slide .wst-slide-items li {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sj-hero__slide .wst-slide-numbox {
	position: absolute;
	right: 24px;
	bottom: 20px;
	z-index: 5;
	pointer-events: auto;
}

.sj-hero__slide .wst-slide-controls span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	margin-left: 6px;
	border-radius: 50%;
	font-size: 11px;
	color: rgba(255, 236, 224, 0.55);
	background: rgba(0, 0, 0, 0.25);
	border: 1px solid rgba(255, 180, 140, 0.25);
	cursor: pointer;
}

.sj-hero__slide .wst-slide-controls span.curr {
	color: #fff;
	background: var(--sj-accent);
	border-color: var(--sj-accent);
}

/* Floating ornaments */
.sj-float {
	position: absolute;
	z-index: 4;
	color: rgba(255, 180, 140, 0.35);
	animation: sj-float 9s ease-in-out infinite;
}

.sj-float--1 { width: 86px; top: 16%; left: 8%; }
.sj-float--2 { width: 52px; top: 22%; right: 10%; color: rgba(255, 102, 51, 0.4); animation-delay: -2s; }
.sj-float--3 { width: 74px; bottom: 18%; left: 12%; animation-delay: -4s; }
.sj-float--4 { width: 70px; bottom: 22%; right: 14%; animation-delay: -1.5s; }

@keyframes sj-float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-14px); }
}

.sj-dot {
	position: absolute;
	z-index: 4;
	width: 6px; height: 6px;
	border-radius: 50%;
	background: var(--sj-accent);
	box-shadow: 0 0 12px rgba(255, 102, 51, 0.8);
	animation: sj-twinkle 3.4s ease-in-out infinite;
}

.sj-dot--1 { top: 28%; left: 28%; }
.sj-dot--2 { top: 62%; right: 30%; animation-delay: -1.4s; }

@keyframes sj-twinkle {
	0%, 100% { opacity: .35; transform: scale(.8); }
	50% { opacity: 1; transform: scale(1.25); }
}

.sj-ring {
	position: absolute;
	z-index: 3;
	width: 200px; height: 200px;
	top: 55%; left: -30px;
	border: 1px dashed rgba(255, 102, 51, 0.22);
	border-radius: 50%;
	animation: sj-spin 28s linear infinite;
}

@keyframes sj-spin { to { transform: rotate(360deg); } }

.sj-hero__inner {
	position: relative;
	z-index: 5;
	width: min(720px, 100%);
	text-align: center;
	animation: sj-rise .85s ease both;
}

.sj-hero__eyebrow {
	margin: 0 0 16px;
	font-family: var(--sj-display);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .24em;
	color: var(--sj-accent-soft);
}

.sj-hero__title {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
	line-height: 1.05;
}

.sj-hero__brand {
	font-family: var(--sj-display);
	font-weight: 800;
	font-size: clamp(2.4rem, 6vw, 3.8rem);
	letter-spacing: -.02em;
	color: #FFF7F2;
	text-shadow: 0 12px 40px rgba(255, 102, 51, 0.28);
}

.sj-hero__line {
	font-size: clamp(1.25rem, 2.8vw, 1.7rem);
	font-weight: 600;
	letter-spacing: .12em;
	color: var(--sj-accent);
}

.sj-hero__desc {
	margin: 22px auto 0;
	max-width: 42ch;
	font-size: 15px;
	line-height: 1.75;
	color: rgba(247, 230, 220, 0.62);
}

.sj-hero__user {
	margin: 18px 0 0;
	font-size: 13px;
	color: rgba(255, 230, 216, 0.5);
}

.sj-hero__user em {
	font-style: normal;
	color: #FFD2BC;
	font-weight: 600;
}

.sj-hero__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-top: 28px;
}

@keyframes sj-rise {
	from { opacity: 0; transform: translateY(18px); }
	to { opacity: 1; transform: translateY(0); }
}

/* ---------- Section heads ---------- */
.sj-section-head {
	text-align: center;
	margin-bottom: 36px;
}

.sj-section-head__tag {
	display: inline-block;
	font-family: var(--sj-display);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .2em;
	color: var(--sj-accent);
	margin-bottom: 10px;
}

.sj-section-head h2 {
	margin: 0 0 8px;
	font-size: clamp(1.5rem, 3vw, 1.9rem);
	font-weight: 700;
	color: var(--sj-ink);
	letter-spacing: .02em;
}

.sj-section-head p {
	margin: 0;
	font-size: 14px;
	color: var(--sj-ink-soft);
}

.sj-section-head--light h2 { color: #FFF4EE; }
.sj-section-head--light p { color: rgba(247, 230, 220, 0.55); }
.sj-section-head--light .sj-section-head__tag { color: var(--sj-accent-soft); }

/* ---------- Categories ---------- */
.sj-cats {
	padding: 72px 0 56px;
	background:
		radial-gradient(80% 60% at 50% 0%, rgba(255, 102, 51, 0.08), transparent 60%),
		linear-gradient(180deg, #FBF5F1 0%, #F3E8E1 100%);
}

.sj-cats__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.sj-cat {
	position: relative;
	padding: 28px 24px 26px;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(255, 102, 51, 0.14);
	overflow: hidden;
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.sj-cat:hover {
	transform: translateY(-4px);
	border-color: rgba(255, 102, 51, 0.35);
	box-shadow: 0 18px 40px rgba(28, 20, 16, 0.08);
}

.sj-cat__num {
	position: absolute;
	top: 14px;
	right: 18px;
	font-family: var(--sj-display);
	font-size: 28px;
	font-weight: 800;
	color: rgba(255, 102, 51, 0.12);
	line-height: 1;
}

.sj-cat__icon {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin-bottom: 16px;
	border-radius: 12px;
	color: var(--sj-accent-deep);
	background: linear-gradient(145deg, rgba(255, 102, 51, 0.2), rgba(255, 102, 51, 0.06));
}

.sj-cat__icon svg { width: 22px; height: 22px; }

.sj-cat h3 {
	margin: 0 0 8px;
	font-size: 17px;
	font-weight: 700;
	color: var(--sj-ink);
}

.sj-cat p {
	margin: 0;
	font-size: 13px;
	line-height: 1.65;
	color: var(--sj-ink-soft);
}

/* ---------- Process ---------- */
.sj-process {
	padding: 72px 0;
	background:
		radial-gradient(90% 70% at 80% 20%, rgba(255, 102, 51, 0.18), transparent 50%),
		linear-gradient(165deg, #18110D 0%, #120E0C 100%);
	color: #F7EDE7;
}

.sj-process__rail {
	max-width: 720px;
	margin: 0 auto;
}

.sj-process__progress {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	margin-bottom: 28px;
	padding: 14px 18px;
	border-radius: 14px;
	background: rgba(255, 102, 51, 0.08);
	border: 1px solid rgba(255, 102, 51, 0.2);
	font-size: 13px;
	color: rgba(255, 230, 216, 0.65);
}

.sj-process__progress strong {
	color: var(--sj-accent-soft);
	font-weight: 700;
}

.sj-process__track {
	flex: 1 1 100%;
	height: 4px;
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.08);
	overflow: hidden;
}

.sj-process__track i {
	display: block;
	height: 100%;
	border-radius: 4px;
	background: linear-gradient(90deg, var(--sj-accent), var(--sj-accent-deep));
	box-shadow: 0 0 12px rgba(255, 102, 51, 0.55);
}

.sj-process__list {
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
}

.sj-process__list::before {
	content: '';
	position: absolute;
	left: 23px;
	top: 12px;
	bottom: 12px;
	width: 2px;
	background: linear-gradient(180deg, var(--sj-accent), rgba(255, 102, 51, 0.08));
}

.sj-process__list li {
	position: relative;
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 16px;
	align-items: start;
	padding: 14px 0;
}

.sj-process__step {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 14px;
	font-family: var(--sj-display);
	font-size: 13px;
	font-weight: 800;
	color: rgba(255, 230, 216, 0.45);
	background: var(--sj-night-2);
	border: 1px solid rgba(255, 180, 140, 0.18);
	transition: all .3s ease;
}

.sj-process__list li.is-active .sj-process__step {
	color: #fff;
	background: linear-gradient(145deg, var(--sj-accent), var(--sj-accent-deep));
	border-color: transparent;
	box-shadow: 0 10px 24px rgba(255, 102, 51, 0.4);
}

.sj-process__body h4 {
	margin: 4px 0 4px;
	font-size: 16px;
	font-weight: 700;
	color: #FFF4EE;
}

.sj-process__list li.is-active .sj-process__body h4 {
	color: var(--sj-accent-soft);
}

.sj-process__body p {
	margin: 0;
	font-size: 13px;
	color: rgba(247, 230, 220, 0.5);
	line-height: 1.55;
}

/* ---------- Support ---------- */
.sj-support {
	padding: 56px 0;
	background: #FFF8F4;
}

.sj-support__inner {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 36px;
	align-items: center;
	padding: 36px 40px;
	border-radius: 24px;
	background:
		linear-gradient(135deg, rgba(255, 102, 51, 0.08), transparent 50%),
		#fff;
	border: 1px solid rgba(255, 102, 51, 0.16);
	box-shadow: 0 20px 48px rgba(28, 20, 16, 0.05);
}

.sj-support__copy h2 {
	margin: 8px 0 12px;
	font-size: 1.55rem;
	font-weight: 700;
	color: var(--sj-ink);
}

.sj-support__copy p {
	margin: 0;
	font-size: 14px;
	line-height: 1.75;
	color: var(--sj-ink-soft);
}

.sj-support__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.sj-support__list li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	border-radius: 12px;
	font-size: 13px;
	font-weight: 500;
	color: var(--sj-ink);
	background: var(--sj-accent-mist);
	border: 1px solid rgba(255, 102, 51, 0.12);
}

.sj-support__list i {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--sj-accent);
	box-shadow: 0 0 0 4px rgba(255, 102, 51, 0.16);
	flex-shrink: 0;
}

/* ---------- Guide ---------- */
.sj-guide {
	padding: 64px 0 40px;
	background: linear-gradient(180deg, #F3E8E1 0%, #F7F0EB 100%);
}

.sj-guide__box {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 0;
	min-height: 320px;
	border-radius: 22px;
	overflow: hidden;
	background: #fff;
	border: 1px solid rgba(255, 102, 51, 0.14);
	box-shadow: 0 18px 44px rgba(28, 20, 16, 0.06);
}

.sj-guide__nav {
	background: linear-gradient(180deg, #1A120F 0%, #120E0C 100%);
	padding: 16px 12px;
}

.sj-guide__nav .wst-tab-nav {
	list-style: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	height: auto;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.sj-guide__nav .wst-tab-nav li {
	margin: 0;
	padding: 14px 16px;
	border: 0;
	height: auto;
	line-height: 1.35;
	font-size: 13px;
	font-weight: 500;
	color: rgba(255, 230, 216, 0.55);
	border-radius: 12px;
	cursor: pointer;
	background: transparent !important;
	transition: color .25s ease, background .25s ease;
}

.sj-guide__nav .wst-tab-nav li:hover {
	color: #FFE8DC;
	background: rgba(255, 102, 51, 0.1) !important;
}

.sj-guide__nav .wst-tab-nav li.on,
.sj-guide__nav .wst-tab-nav .on {
	color: #fff !important;
	background: linear-gradient(135deg, rgba(255, 102, 51, 0.35), rgba(229, 77, 26, 0.25)) !important;
	box-shadow: inset 3px 0 0 var(--sj-accent);
}

.sj-guide__content,
.sj-guide__box .wst-tab-content {
	padding: 28px 32px;
	border: 0;
	background: transparent;
	color: var(--sj-ink-soft);
	line-height: 1.8;
	font-size: 14px;
	overflow: auto;
	max-height: 480px;
}

.sj-guide__content .wst-tab-item {
	padding: 0;
}

.sj-guide__content img {
	max-width: 100%;
	height: auto;
}

.sj-guide__content h1,
.sj-guide__content h2,
.sj-guide__content h3,
.sj-guide__content h4 {
	color: var(--sj-ink);
	margin: 0.6em 0 0.4em;
}

/* ---------- Bottom CTA ---------- */
.sj-cta {
	padding: 28px 0 64px;
	background: #F7F0EB;
}

.sj-cta__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 32px 36px;
	border-radius: 22px;
	background:
		radial-gradient(80% 120% at 100% 50%, rgba(255, 102, 51, 0.18), transparent 55%),
		linear-gradient(120deg, #1A120F, #120E0C);
	color: #FFF4EE;
}

.sj-cta__inner h2 {
	margin: 0 0 6px;
	font-size: 1.45rem;
	font-weight: 700;
}

.sj-cta__inner p {
	margin: 0;
	font-size: 14px;
	color: rgba(247, 230, 220, 0.55);
}

.sj-cta .sj-hero__actions {
	margin-top: 0;
	justify-content: flex-end;
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
	.sj-cats__grid {
		grid-template-columns: 1fr;
	}

	.sj-support__inner {
		grid-template-columns: 1fr;
		padding: 28px 22px;
	}

	.sj-guide__box {
		grid-template-columns: 1fr;
	}

	.sj-guide__nav .wst-tab-nav {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.sj-guide__nav .wst-tab-nav li.on,
	.sj-guide__nav .wst-tab-nav .on {
		box-shadow: inset 0 -3px 0 var(--sj-accent);
	}

	.sj-cta__inner {
		flex-direction: column;
		text-align: center;
	}

	.sj-cta .sj-hero__actions {
		justify-content: center;
	}
}

@media (max-width: 560px) {
	.sj-hero {
		min-height: auto;
		padding: 48px 16px 56px;
	}

	.sj-float--3,
	.sj-float--4,
	.sj-ring { display: none; }

	.sj-hero__actions .sj-btn {
		width: 100%;
	}

	.sj-support__list {
		grid-template-columns: 1fr;
	}

	.sj-wrap {
		width: calc(100% - 28px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.sj *,
	.sj *::before,
	.sj *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* =========================================================
   Shop Join Step · 流程填写页
   ========================================================= */

.sj.sj-step-page,
.sj-step-page.sj {
	max-width: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 0 56px !important;
	background:
		radial-gradient(90% 50% at 10% 0%, rgba(255, 102, 51, 0.1), transparent 55%),
		linear-gradient(180deg, #F7F0EB 0%, #EFE4DC 100%);
	font-family: var(--sj-font);
	color: var(--sj-ink);
	overflow: hidden;
}

.sj-step-shell {
	width: min(1080px, calc(100% - 32px));
	margin: 0 auto;
	padding-top: 28px;
}

.sj-step-crumb {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
	flex-wrap: wrap;
}

.sj-step-crumb__back {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 500;
	color: var(--sj-ink-soft);
	padding: 8px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.65);
	border: 1px solid rgba(255, 102, 51, 0.14);
}

.sj-step-crumb__back:hover {
	color: var(--sj-accent-deep);
	border-color: rgba(255, 102, 51, 0.35);
	background: #fff;
}

.sj-step-crumb__brand {
	font-family: var(--sj-display);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	color: var(--sj-accent);
}

/* ---------- New stepper ---------- */
.sj-stepper-panel {
	position: relative;
	padding: 22px 22px 26px;
	margin-bottom: 20px;
	border-radius: 24px;
	background:
		radial-gradient(80% 100% at 100% 0%, rgba(255, 102, 51, 0.22), transparent 55%),
		linear-gradient(155deg, #1A120F 0%, #120E0C 100%);
	border: 1px solid rgba(255, 180, 140, 0.22);
	box-shadow: 0 24px 56px rgba(18, 14, 12, 0.28);
	overflow: hidden;
}

.sj-stepper-panel::before {
	content: '';
	position: absolute;
	inset: auto -40px -60px auto;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	border: 1px dashed rgba(255, 102, 51, 0.25);
	pointer-events: none;
}

.sj-stepper-meta {
	position: relative;
	z-index: 1;
	margin-bottom: 22px;
}

.sj-stepper-meta__text {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin-bottom: 12px;
	font-size: 13px;
	color: rgba(255, 230, 216, 0.6);
}

.sj-stepper-meta__tag {
	font-family: var(--sj-display);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .18em;
	color: var(--sj-accent-soft);
}

.sj-stepper-meta__text strong {
	color: #FFE8DC;
	font-weight: 700;
}

.sj-stepper-meta__track {
	height: 5px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	overflow: hidden;
}

.sj-stepper-meta__track i,
#sjFlowBar {
	display: block;
	height: 100%;
	border-radius: 999px;
	background: linear-gradient(90deg, #FF8A5C, var(--sj-accent), var(--sj-accent-deep));
	box-shadow: 0 0 14px rgba(255, 102, 51, 0.55);
	transition: width .45s cubic-bezier(.22, 1, .36, 1);
}

.sj-step-page .flow-container {
	width: 100% !important;
	display: block !important;
	justify-content: stretch !important;
	position: relative;
	z-index: 1;
}

.sj-step-page .stepflex.sj-stepper,
.sj-step-page #stepflex.sj-stepper {
	float: none !important;
	margin: 0 !important;
	width: 100% !important;
	border: 0 !important;
	border-top: 0 !important;
	text-align: left !important;
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
	gap: 10px;
	position: relative;
}

.sj-step-page .sj-stepper::before {
	content: '';
	position: absolute;
	left: 8%;
	right: 8%;
	top: 26px;
	height: 2px;
	background: linear-gradient(90deg, rgba(255, 102, 51, 0.55), rgba(255, 180, 140, 0.12));
	z-index: 0;
	pointer-events: none;
}

.sj-step-page .sj-stepper__item,
.sj-step-page .stepflex dl {
	float: none !important;
	width: auto !important;
	top: 0 !important;
	border: 0 !important;
	border-top: 0 !important;
	position: relative;
	z-index: 1;
	margin: 0;
	padding: 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 10px;
}

.sj-step-page .stepflex dl dd:empty {
	display: none !important;
}

.sj-step-page .sj-stepper dt,
.sj-step-page .stepflex dt {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	z-index: 2;
	margin: 0 !important;
	width: 52px !important;
	height: 52px !important;
	line-height: 52px !important;
	font-size: 0 !important;
	border-radius: 16px !important;
	border: 1px solid rgba(255, 180, 140, 0.22) !important;
	background: rgba(255, 255, 255, 0.06) !important;
	color: rgba(255, 230, 216, 0.45) !important;
	box-shadow: none;
	display: grid !important;
	place-items: center;
	transition: transform .3s ease, box-shadow .3s ease, background .3s ease, border-color .3s ease;
}

.sj-step-page .sj-stepper dt span {
	font-family: var(--sj-display);
	font-size: 15px;
	font-weight: 800;
	line-height: 1;
	color: inherit;
}

.sj-step-page .sj-stepper dt.s-num,
.sj-step-page .stepflex dt.s-num {
	background: linear-gradient(145deg, #FF7A4D, var(--sj-accent-deep)) !important;
	border-color: transparent !important;
	color: #fff !important;
	box-shadow: 0 10px 24px rgba(255, 102, 51, 0.4);
}

.sj-step-page .sj-stepper dt.s-num1,
.sj-step-page .stepflex dt.s-num1 {
	background: rgba(255, 255, 255, 0.05) !important;
	color: rgba(255, 230, 216, 0.4) !important;
	text-align: center !important;
}

.sj-step-page .sj-stepper dd.s-text,
.sj-step-page .sj-stepper dd.s-text1,
.sj-step-page .stepflex dd.s-text,
.sj-step-page .stepflex dd.s-text1 {
	display: block !important;
	margin: 0 !important;
	padding: 0 4px !important;
	min-height: 0;
	line-height: 1.4 !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	text-align: center;
	border: 0 !important;
	background: transparent !important;
	color: rgba(255, 230, 216, 0.42);
	box-shadow: none !important;
	transform: none !important;
}

.sj-step-page .sj-stepper dd.s-text,
.sj-step-page .stepflex dd.s-text {
	color: #FFD2BC !important;
}

.sj-step-page .sj-stepper__item.doing dd.s-text,
.sj-step-page .stepflex dl.doing dd.s-text {
	color: #FFF4EE !important;
}

.sj-step-page .sj-stepper__item.is-active dt.s-num,
.sj-step-page .stepflex dl.is-active dt.s-num {
	transform: scale(1.06);
	box-shadow:
		0 0 0 4px rgba(255, 102, 51, 0.28),
		0 12px 28px rgba(255, 102, 51, 0.45);
}

.sj-step-page .sj-stepper__item.is-active dd.s-text,
.sj-step-page .stepflex dl.is-active dd.s-text {
	color: var(--sj-accent-soft) !important;
}

/* ---------- Step body ---------- */
.sj-step-page .sj-step-body {
	position: relative;
	background: #fff;
	border: 1px solid rgba(255, 102, 51, 0.14);
	border-radius: 24px;
	box-shadow: 0 18px 48px rgba(28, 20, 16, 0.06);
	padding: 28px 32px 32px;
	overflow: hidden;
}

.sj-step-page .sj-step-body::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--sj-accent), var(--sj-accent-deep), #FF8A5C);
}

.sj-step-body__head {
	margin-bottom: 22px;
	padding-bottom: 18px;
	border-bottom: 1px solid rgba(28, 20, 16, 0.08);
}

.sj-step-body__label {
	display: block;
	font-family: var(--sj-display);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .18em;
	color: var(--sj-accent);
	margin-bottom: 6px;
}

.sj-step-page .sj-step-body__title,
.sj-step-page .main-head {
	font-size: 22px !important;
	font-weight: 700 !important;
	height: auto !important;
	line-height: 1.35 !important;
	text-align: left !important;
	color: var(--sj-ink) !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-left: 0 !important;
}

.sj-step-page .apply-box,
.sj-step-page .apply-box2 {
	border: 1px solid rgba(255, 102, 51, 0.12) !important;
	border-top: 0 !important;
	border-radius: 16px !important;
	padding: 20px 18px !important;
	background: linear-gradient(180deg, #FFF9F6 0%, #fff 100%);
}

.sj-step-page .apply-agreement-box {
	height: 360px;
	overflow: auto;
	border: 1px solid rgba(255, 102, 51, 0.14) !important;
	border-radius: 16px !important;
	padding: 20px !important;
	background: #FFFCF9;
	margin: 0 0 16px;
	line-height: 1.75;
	color: var(--sj-ink-soft);
}

.sj-step-page .agreement_box {
	padding: 14px 0 4px;
	font-size: 14px;
}

.sj-step-page .agreement_box label {
	color: var(--sj-ink);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.sj-step-page .agreement_box input[type="checkbox"] {
	accent-color: var(--sj-accent);
	width: 16px;
	height: 16px;
}

.sj-step-page .agreement-table {
	width: 100%;
}

.sj-step-page .agreement-table th {
	text-align: right;
	padding: 12px 16px 12px 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--sj-ink);
	vertical-align: top;
	width: 200px;
}

.sj-step-page .agreement-table td {
	padding: 10px 0;
}

.sj-step-page .agreement-table .head-ititle {
	background: none;
	padding-left: 0;
	font-size: 15px;
	color: var(--sj-accent-deep);
	border-bottom: 1px dashed rgba(255, 102, 51, 0.2);
	padding-bottom: 8px;
	margin-bottom: 8px;
}

.sj-step-page .agreement-table input[type="text"],
.sj-step-page .agreement-table textarea,
.sj-step-page .agreement-table select,
.sj-step-page .u-query,
.sj-step-page .a-ipt {
	border: 1px solid rgba(28, 20, 16, 0.12) !important;
	border-radius: 10px !important;
	padding: 3px 12px !important;
	font-size: 14px;
	font-family: var(--sj-font);
	transition: border-color .2s, box-shadow .2s;
	background: #fff;
}

.sj-step-page .agreement-table input[type="text"]:focus,
.sj-step-page .agreement-table textarea:focus,
.sj-step-page .agreement-table select:focus,
.sj-step-page .a-ipt:focus {
	border-color: var(--sj-accent) !important;
	outline: none;
	box-shadow: 0 0 0 3px rgba(255, 102, 51, 0.12);
}

.sj-step-page .agreement-table input[type="text"],
.sj-step-page .a-ipt[type="text"] {
	width: 100%;
	max-width: 420px;
}

.sj-step-page .c-tip {
	margin-top: 6px;
	font-size: 12px;
	color: var(--sj-ink-soft);
}

.sj-step-page .examine-tips {
	padding: 48px 24px;
	color: var(--sj-ink-soft);
	font-size: 15px;
}

/* Pay */
.sj-step-page .pay-sbox,
.sj-step-page .pay-box {
	border: 1px solid rgba(255, 102, 51, 0.14) !important;
	border-radius: 16px !important;
	background: #FFFCF9;
}

.sj-step-page .pay-sbox .tips-box,
.sj-step-page .pay-sbox-head {
	color: var(--sj-ink);
	border-color: rgba(255, 102, 51, 0.12) !important;
}

.sj-step-page .pay-btn,
.sj-step-page .wst-pay-bnt {
	background: linear-gradient(135deg, #FF7A4D, var(--sj-accent-deep)) !important;
	border: 0 !important;
	border-radius: 12px !important;
	color: #fff !important;
	box-shadow: 0 8px 20px rgba(255, 102, 51, 0.3);
}

.sj-step-page .wst-fred {
	color: var(--sj-accent-deep) !important;
}

/* Review cards */
.sj-step-page .sj-review .review-status-container {
	max-width: 100%;
	padding: 0;
	margin: 0 auto;
}

.sj-step-page .sj-review-card {
	border: 1px solid rgba(255, 102, 51, 0.14) !important;
	border-radius: 20px !important;
	box-shadow: none !important;
	padding: 40px 32px !important;
	background: linear-gradient(180deg, #fff 0%, #FFF8F4 100%) !important;
	text-align: center;
}

.sj-step-page .sj-review-badge {
	display: inline-block;
	padding: 6px 14px;
	margin-bottom: 12px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	color: var(--sj-accent-deep);
	background: var(--sj-accent-mist);
	border: 1px solid rgba(255, 102, 51, 0.2);
}

.sj-step-page .sj-review-badge--danger {
	color: #e5484d;
	background: #fff2f0;
	border-color: #ffccc7;
}

.sj-step-page .sj-review-badge--success {
	color: #2f9e44;
	background: #f0fdf4;
	border-color: #b7eb8f;
}

.sj-step-page .sj-review-icon {
	position: relative;
	width: 100px;
	height: 100px;
	margin: 0 auto 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--sj-accent);
	border-radius: 50%;
}

.sj-step-page .sj-review-icon__ring {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 3px solid rgba(255, 102, 51, 0.22);
	animation: sjReviewPulse 2s ease-in-out infinite;
}

.sj-step-page .sj-review-icon__svg {
	position: relative;
	z-index: 1;
	width: 64px;
	height: 64px;
}

.sj-step-page .sj-review-icon--pending {
	background: linear-gradient(135deg, rgba(255, 102, 51, 0.14), rgba(255, 102, 51, 0.06));
}

.sj-step-page .sj-review-icon--rejected {
	color: #e5484d;
	background: #fff2f0;
}

.sj-step-page .sj-review-icon--approved {
	color: #2f9e44;
	background: linear-gradient(135deg, #f0fdf4, #fff);
}

.sj-step-page .sj-review-icon--approved .sj-review-icon__ring {
	border-color: rgba(47, 158, 68, 0.25);
}

@keyframes sjReviewPulse {
	0%, 100% { transform: scale(1); opacity: 1; }
	50% { transform: scale(1.06); opacity: .7; }
}

.sj-step-page .sj-review .review-status-title {
	font-size: 24px !important;
	color: var(--sj-ink) !important;
	margin-bottom: 12px !important;
}

.sj-step-page .sj-review .review-status-title.rejected-title { color: #e5484d !important; }
.sj-step-page .sj-review .review-status-title.approved-title { color: #2f9e44 !important; }

.sj-step-page .sj-review .review-status-desc {
	font-size: 15px !important;
	color: var(--sj-ink-soft) !important;
	line-height: 1.75 !important;
	margin-bottom: 24px !important;
	max-width: 480px;
	margin-left: auto;
	margin-right: auto;
}

.sj-step-page .sj-review-tips {
	display: flex;
	flex-direction: column;
	gap: 12px;
	max-width: 420px;
	margin: 0 auto;
	text-align: left;
}

.sj-step-page .sj-review-tip {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 14px 16px;
	background: #fff;
	border: 1px solid rgba(255, 102, 51, 0.12);
	border-radius: 14px;
}

.sj-step-page .sj-review-tip__ico {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: var(--sj-accent-mist);
	color: var(--sj-accent-deep);
}

.sj-step-page .sj-review-tip__ico svg { width: 22px; height: 22px; }

.sj-step-page .sj-review-tip__ico--ok {
	background: #f0fdf4;
	color: #2f9e44;
}

.sj-step-page .sj-review-tip__text {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.sj-step-page .sj-review-tip__text strong {
	font-size: 14px;
	font-weight: 700;
	color: var(--sj-ink);
}

.sj-step-page .sj-review-tip__text span {
	font-size: 13px;
	color: var(--sj-ink-soft);
	line-height: 1.5;
}

.sj-step-page .sj-review .review-reject-reason {
	text-align: left;
	max-width: 480px;
	margin: 0 auto 20px;
}

.sj-step-page .sj-review .reject-label { color: #e5484d !important; }

.sj-step-page .sj-review .reject-desc-box {
	border-color: #ffccc7 !important;
	background: #fff !important;
	border-radius: 12px;
	padding: 12px 14px;
}

.sj-step-page .sj-review .review-action-btns .sj-btn { margin-top: 8px; }

.sj-step-page .sj-review .review-status-tips,
.sj-step-page .sj-review .review-success-tips {
	display: none !important;
}

/* Actions */
.sj-step-page .sj-step-actions,
.sj-step-page .agreement-bottom {
	text-align: center;
	padding: 28px 0 8px !important;
	margin-top: 8px;
	border-top: 1px solid rgba(28, 20, 16, 0.08);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}

.sj-step-page .sj-step-actions .sj-btn,
.sj-step-page .agreement-bottom .sj-btn {
	margin: 0;
}

.sj-step-page .sj-btn--ghost.sj-btn--ghost-dark,
.sj-step-page a.btn-cancel.sj-btn--ghost-dark {
	color: var(--sj-accent-deep) !important;
	background: #fff !important;
	border: 1px solid rgba(255, 102, 51, 0.3) !important;
}

.sj-step-page .sj-btn--ghost.sj-btn--ghost-dark:hover,
.sj-step-page a.btn-cancel.sj-btn--ghost-dark:hover {
	background: var(--sj-accent-mist) !important;
	color: var(--sj-accent-deep) !important;
}

.sj-step-page .upload-picker {
	display: inline-block;
	padding: 8px 14px;
	border-radius: 10px;
	background: var(--sj-accent-mist);
	color: var(--sj-accent-deep);
	border: 1px dashed rgba(255, 102, 51, 0.35);
	cursor: pointer;
	font-size: 13px;
}

@media (max-width: 900px) {
	.sj-step-page .sj-stepper::before { display: none; }

	.sj-step-page .stepflex.sj-stepper,
	.sj-step-page #stepflex.sj-stepper {
		grid-template-columns: 1fr !important;
		gap: 8px;
	}

	.sj-step-page .sj-stepper__item,
	.sj-step-page .stepflex dl {
		flex-direction: row !important;
		align-items: center !important;
		text-align: left !important;
		gap: 14px;
		padding: 8px 10px;
		border-radius: 14px;
		background: rgba(255, 255, 255, 0.04);
	}

	.sj-step-page .sj-stepper dt,
	.sj-step-page .stepflex dt {
		width: 40px !important;
		height: 40px !important;
		border-radius: 12px !important;
		flex-shrink: 0;
	}

	.sj-step-page .sj-stepper dd.s-text,
	.sj-step-page .sj-stepper dd.s-text1,
	.sj-step-page .stepflex dd.s-text,
	.sj-step-page .stepflex dd.s-text1 {
		text-align: left !important;
		padding: 0 !important;
	}

	.sj-step-page .sj-step-body { padding: 22px 16px 24px; }

	.sj-step-page .agreement-table th {
		display: block;
		width: 100%;
		text-align: left;
		padding-bottom: 4px;
	}
}

@media (max-width: 560px) {
	.sj-step-shell {
		width: calc(100% - 20px);
		padding-top: 16px;
	}

	.sj-stepper-panel { padding: 18px 14px 20px; }

	.sj-step-crumb__brand { display: none; }
}
