.signupPopup-wrapper {overflow: visible;}

.signupPopup {width: min(980px, 90vw);}
.signupPopup > svg {width: 100%; height: min(1000px, 100vh);}
.signupPopup > svg path {stroke-width: 2;}
.signupPopup > svg g[clip-path] {display: none;}

.signupPopup > .content {height: calc(100vh - 110px); overflow: auto;}

.signupPopup .header {display: block; margin-bottom: 2.5rem; border-bottom: 0 !important; background: none !important;}
.signupPopup .header .title {
	display: block; width: 100%; margin-top: 16px; padding: 0 !important; text-align: center;
}
.signupPopup .header .title span {
	display: inline-block; border-bottom: 2px solid var(--color-main);
	line-height: 1; font-size: 1.5rem; color: var(--color-main) !important;
}
.signupPopup .header .close {
	position: absolute; top: -.8rem; right: -.8rem; z-index: 90; box-shadow: 0 0 8px #888; cursor: pointer;
	width: 2rem !important; height: 2rem !important; line-height: 34px !important; padding: 0 !important;
	border-radius: 50%; background: #0affd7; text-align: center; font-size: 1.3rem !important; color: #777 !important;
}
.signupPopup .header .close:hover {color: #000 !important; box-shadow: 0 0 8px #000; font-weight: 100 !important;}

.signupPopup .body {min-height: unset !important;}

.signupPopup .tabs-header {
	display: flex; justify-content: space-between; gap: 1.5rem; position: relative; width: fit-content; margin: 0 auto;
}
.signupPopup .tabs-header:before {
	content: ''; position: absolute; top: 50%; left: 0; z-index: 1;
	width: calc(100% - 1rem); height: 1px; background-color: var(--color-main);
}
.signupPopup .tabs-header div {
	display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 3px;
	width: 54px; height: 54px; border-radius: .5rem; color: #888; z-index: 2;
	background-color: #f4f4f4; text-align: center;
	box-shadow: 0 3px 6px 1px rgba(0, 1, 3, 0.13);
}
.signupPopup .tabs-header div b {font-size: 1.3rem;}
.signupPopup .tabs-header div.active {
	background-color: var(--color-main); font-weight: bold; color: white;
}
.signupPopup .tabs-header div.done {border: 1px solid var(--color-main); background-color: white; color: black; cursor: pointer;}
.signupPopup .tabs-header div.done:hover {background-color: var(--color-main); color: white;}

.signupPopup .tabs-body {margin-top: 2.5rem;}
.signupPopup .tabs-body > div {display: none;}
.signupPopup .tabs-body > div.active {display: block;}

.signupPopup .tabs-body .step-header {padding: 0 1rem;}
.signupPopup .tabs-body .step-header h3 {position: relative; font-size: 1.5rem; font-weight: bold;}
.signupPopup .tabs-body .step-header h4 {margin-bottom: 2rem; line-height: 1.2; font-size: 18px;}
.signupPopup .tabs-body > div:not(.step_0) .step-header h3:before {
	content: ''; position: absolute; top: 12px; right: -46px;
	width: 2rem; height: 13px; border-radius: 10px 0 0 10px;
	background-image: linear-gradient(to right, var(--color-main), #a37cf1 80%);
}
.signupPopup .tabs-body .step-body {padding: 0 1rem 3rem 1rem;}

.signupPopup .tabs-body .required {color: var(--color-main);}
.signupPopup .tabs-body .line {display: flex; flex-direction: column; gap: 1rem; align-items: center;}
.signupPopup .tabs-body .button {margin-bottom: 0; font-size: 19px; font-weight: bold;}
.signupPopup .tabs-body .button.continue {
	position: absolute; right: calc(50% - 95px); bottom: -30px; z-index: 1;
	display: flex; justify-content: center; align-items: center; gap: 1rem;
	width: 190px; height: 60px; border-radius: 30px; background-color: var(--color-main);
}
.signupPopup .tabs-body .button.continue:hover {background-color: var(--color-main-darker);}
.signupPopup .tabs-body .button.continue i {margin-top: 4px;}

.signupPopup .tabs-body .moreInfo {margin-right: .5rem; font-size: 17px; color: var(--color-main); cursor: pointer;}
.signupPopup .tabs-body .moreInfo:hover {font-weight: bold;}
.signupPopup .tabs-body .moreInfo.active {font-weight: bold;}
.signupPopup .tabs-body .moreInfoContent {display: none;}

/* More info */
.moreInfoPopup {
	max-width: 100vw; padding: 1rem; border: 1px solid var(--color-main);
	border-radius: 3px; background-color: #ffe; box-shadow: 0 0 10px 0 rgba(0, 0, 0, .2);
}
.moreInfoPopup p {margin-bottom: .5rem;}
.moreInfoPopup p:last-child {margin-bottom: 0;}

@media screen and (min-width: 40em) {
	.signupPopup-wrapper {border-radius: 0; box-shadow: none; overflow: hidden;}
	.signupPopup {
		width: auto; height: min(1018px, 100vh); background-color: transparent;
		border-radius: 0 !important; border: 0 !important;
	}
	.signupPopup > .content {
		position: absolute; top: 50%; right: 5.2%; width: 89.6%; height: auto;
		transform: translate(0, -41.6%); aspect-ratio: 1.47; overflow: visible;
	}

	.signupPopup .header .close {top: -2rem; right: -1rem;}
	.signupPopup .header .logo {
		position: absolute; top: -26%; right: 50%; z-index: 1; transform: translate(50%, 0);
		width: auto; height: 22%; aspect-ratio: 1 / 1; border-radius: 50%; box-shadow: 4px 4px 18px rgba(0, 0, 0, 0.45);
		background: var(--color-main) url('../../../../image/component/popup-signup-logo.png') no-repeat center center;
	}

	.signupPopup .body {padding-left: 1.5rem !important;}

	.signupPopup .tabs-header {gap: 3rem; padding-right: 1rem;}

	.signupPopup .tabs-body .step-header {padding: 0 3rem 0 1.5rem;}
	.signupPopup .tabs-body .step-body {aspect-ratio: 2.5; padding: 0 3rem 0 1.5rem; overflow-x: hidden; overflow-y: auto;}

	.signupPopup .tabs-body .line {flex-direction: row;}
	.signupPopup .tabs-body .button.continue {bottom: -35px;}
}

@supports (-webkit-touch-callout: none) {
	.signupPopup > .content {height: calc(100vh - 140px);}
}