.it-swv {
	width: 800px;
	max-width: 100%;
	box-sizing: border-box;
	background: #F3E6E6;
	border-radius: 40px;
	padding: 40px;
	color: #a92d2d;
}

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

.it-swv__form {
	margin: 0 0 22px;
}

.it-swv__form:last-child {
	margin-bottom: 0;
}

.it-swv__field {
	gap: 16px;
	margin: 0;
	align-items: center;
	margin-bottom: 24px;
	display: flex;
}

.it-swv__step {
	display: inline-grid;
	width: 48px;
	height: 48px;
	place-items: center;
	color: var(--Color-White, #FFF);
	text-align: center;
	background: #9B2F2D;
	border-radius: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	/* Title */
	font-family: "Noto Sans TC";
	font-size: 24px;
	font-style: normal;
	font-weight: 500;
	line-height: 48px;
	/* 200% */
	letter-spacing: 0;
}

.it-swv__label {
	color: var(--Color-Branding-Color-Primary, #9B2F2D);

	/* Title */
	font-family: "Noto Sans TC";
	font-size: 24px;
	font-style: normal;
	font-weight: 500;
	line-height: 48px;
	/* 200% */
	letter-spacing: 3.84px;
}

.it-swv__hint {
	color: #5f4b4b;
	font-size: 13px;
}

.it-swv input {
	display: block;
	width: 100%;
	border-radius: 16px;
	padding: 18px 16px;
	background: var(--Color-White, #F3F1EF);
	color: var(--Color-Black-50, #1D1A1A);
	outline: none;
	appearance: none;
	/* Paragraph */
	font-family: "Noto Sans TC";
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 36px;
	/* 200% */
	letter-spacing: 1.44px;
	box-shadow: none;
	border: none;
}

.it-swv input[type="number"] {
	-moz-appearance: textfield;
	appearance: textfield;
}

.it-swv input[type="number"]::-webkit-outer-spin-button,
.it-swv input[type="number"]::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

#it-swv .it-swv__button,
#it-swv .it-swv__back {
	margin: 56px auto 0;
	display: block;
}

#it-swv .it-swv__back {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	transition: all 0.4s;
}

#it-swv .it-swv__back:hover {
	background: #9B2F2D;
	color: #fff;
}

#it-swv .it-swv__back:hover::before {


	filter: brightness(0) invert(1);

}

.it-swv__back {
	width: fit-content;
	padding: 24px 40px;
	border-radius: 16px;
	background: #fff;
	color: var(--Color-Branding-Color-Primary-var, #9B2F2D);

	/* Button */
	font-family: "Noto Sans TC";
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 20px;
	/* 125% */
	letter-spacing: 0.64px;
	text-decoration: none;
}

.it-swv__back::before {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
	background: url(../images/chevron-down.svg) center / 9px 9px no-repeat;
	transform: rotate(90deg);
	margin-top: 4px;
}

.it-swv__notice {
	margin: 0 0 16px;
	padding: 12px 14px;
	border-radius: 8px;
	background: #fff;
	color: #7a1f1f;
}

.it-swv__notice--error {
	color: #b3261e;
}

.it-swv--active {
	width: 800px;
	border-radius: 28px;
	padding: 40px;
}

.it-swv--active .it-swv__form {
	margin: 0 0 56px;
}

.it-swv--active .it-swv__form:last-child {
	margin-bottom: 0;
}

.it-swv--active .it-swv__field {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	margin-bottom: 24px;
}

.it-swv--active .it-swv__step {
	width: 40px;
	height: 40px;
	font-size: 20px;
	line-height: 40px;
}

.it-swv--active .it-swv__label {
	color: var(--Color-Branding-Color-Primary, #9B2F2D);

	/* Title */
	font-family: "Noto Sans TC";
	font-size: 24px;
	font-style: normal;
	font-weight: 500;
	line-height: 48px;
	/* 200% */
	letter-spacing: 3.84px;
}

.it-swv--active .it-swv__hint {
	color: var(--Color-Black-100, #1D1A1A);

	/* Paragraph */
	font-family: "Noto Sans TC";
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 36px;
	/* 200% */
	letter-spacing: 1.44px;
}

#it-swv.it-swv--active .it-swv__button {
	margin-top: 40px;
}

#it-swv.it-swv--active .it-swv__back {
	margin-top: 64px;
}

.it-swv--active .it-swv__notice {
	margin: 56px 0 0;
	padding: 24px;
	border-radius: 24px;
	color: var(--Color-White, #FFF);

	/* Title */
	font-family: "Noto Sans TC";
	font-size: 24px;
	font-style: normal;
	font-weight: 500;
	line-height: 48px;
	/* 200% */
	letter-spacing: 3.84px;
}

.it-swv--active .it-swv__notice--error {
	background: #D96B5F;
	color: #fff;
}

.it-swv-profile {
	overflow: hidden;
	margin: 0;
	border-radius: 24px;
	background: #fff;
	color: var(--Color-Black-100, #1D1A1A);
}

.it-swv-profile__header {
	padding: 24px;
	background: #8FC0A9;
	color: var(--Color-White, #FFF);

	/* Title */
	font-family: "Noto Sans TC";
	font-size: 24px;
	font-style: normal;
	font-weight: 500;
	line-height: 48px;
	/* 200% */
	letter-spacing: 3.84px;
}

.it-swv-profile__body {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	padding: 24px;
}

.it-swv-profile__content {
	min-width: 0;
}

.it-swv-profile__name {
	color: var(--Color-Black-100, #1D1A1A);

	/* Title-Eng */
	font-family: Inter;
	font-size: 24px;
	font-style: normal;
	font-weight: 500;
	line-height: 48px;
	/* 200% */
	letter-spacing: 0.96px;
	text-transform: capitalize;
}

.it-swv-profile__code {
	display: block;
	margin-top: 8px;
	color: var(--Color-Black-100, #1D1A1A);

	/* Paragraph */
	font-family: "Noto Sans TC";
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 36px;
	/* 200% */
	letter-spacing: 1.44px;
}

.it-swv-profile__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	flex: 0 0 auto;
	border-radius: 16px;
	padding: 8px 16px;
	border-radius: 999px;
	background: rgba(243, 230, 230, 0.85);
	color: var(--Color-Black-100, #1D1A1A);

	/* Button */
	font-family: "Noto Sans TC";
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 20px;
	/* 125% */
	letter-spacing: 0.64px;
}

.it-swv-profile__link::after {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
	background: url("../images/chevron-down.svg") center / 9px 9px no-repeat;
	transform: rotate(-90deg);
}

@media (max-width: 600px) {
	.it-swv {
		padding: 22px;
		border-radius: 24px;
	}

	.it-swv--active {
		padding: 24px;
	}

	.it-swv--active .it-swv__label {
		font-size: 20px;
		letter-spacing: 1.2px;
	}

	.it-swv-profile__header {
		padding: 28px 24px;
		font-size: 24px;
	}

	.it-swv-profile__body {
		align-items: flex-start;
		flex-direction: column;
		gap: 28px;
		padding: 32px 24px;
	}

	.it-swv-profile__name {
		font-size: 28px;
	}

	.it-swv-profile__code,
	.it-swv-profile__link {
		font-size: 20px;
	}
}