/* 个人注册页 v2：左侧婚恋引导栏 + 右侧表单栈（与旧版 hero/双列表单+协议并排完全不同） */

.inner .body.register-shell{
	max-width:1120px !important;
	width:calc(100% - 32px) !important;
	margin-left:auto !important;
	margin-right:auto !important;
	padding:0 !important;
	overflow:hidden !important;
	border-radius:24px !important;
}

.reg-person-v2{
	padding:0 0 24px;
}

.reg-person-v2__layout{
	display:grid;
	grid-template-columns:minmax(240px,300px) minmax(0,1fr);
	gap:0;
	align-items:stretch;
	min-height:520px;
	text-align:left;
}

/* 左侧栏 */
.reg-person-v2__aside{
	position:relative;
	padding:28px 22px 32px;
	background:linear-gradient(165deg, rgba(255,245,248,0.98) 0%, rgba(255,235,243,0.95) 50%, rgba(255,250,245,0.92) 100%);
	border-right:1px solid rgba(255,185,204,0.45);
	overflow:hidden;
}
.reg-person-v2__aside::before{
	content:"";
	position:absolute;
	right:-40%;
	top:-20%;
	width:280px;
	height:280px;
	border-radius:50%;
	background:radial-gradient(circle, rgba(255,182,193,0.35), transparent 65%);
	pointer-events:none;
}
.reg-person-v2__back{
	position:relative;
	display:inline-flex;
	align-items:center;
	font-size:13px;
	font-weight:800;
	color:#9a355f;
	text-decoration:none;
	margin-bottom:20px;
}
.reg-person-v2__back:hover{
	color:#c13f75;
	text-decoration:underline;
}
.reg-person-v2__aside-kicker{
	position:relative;
	margin:0 0 8px;
	font-size:12px;
	font-weight:900;
	letter-spacing:0.14em;
	text-transform:uppercase;
	color:rgba(193,63,117,0.85);
}
.reg-person-v2__aside-title{
	position:relative;
	margin:0 0 14px;
	font-size:clamp(20px,2.4vw,26px);
	font-weight:900;
	color:#5c1f3d;
	line-height:1.25;
	letter-spacing:-0.02em;
}
.reg-person-v2__aside-lead{
	position:relative;
	margin:0 0 20px;
	font-size:13px;
	line-height:1.75;
	font-weight:600;
	color:rgba(84,32,54,0.82);
}
.reg-person-v2__aside-tips{
	position:relative;
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-direction:column;
	gap:12px;
}
.reg-person-v2__aside-tips li{
	display:flex;
	align-items:flex-start;
	gap:10px;
	font-size:12px;
	font-weight:800;
	color:rgba(84,32,54,0.88);
	line-height:1.45;
}
.reg-person-v2__aside-tips i{
	margin-top:2px;
	color:#d64f84;
	width:1.1em;
	flex:0 0 auto;
}

/* 右侧主区 */
.reg-person-v2__main{
	padding:26px 28px 32px;
	background:rgba(255,255,255,0.42);
	backdrop-filter:blur(14px);
	-webkit-backdrop-filter:blur(14px);
}
.reg-person-v2__masthead{
	margin-bottom:20px;
}
.reg-person-v2__page-title{
	margin:0;
	font-size:clamp(22px,2.6vw,28px);
	font-weight:900;
	color:#5c1f3d;
	letter-spacing:-0.02em;
}
.reg-person-v2__page-lead{
	margin:10px 0 0;
	font-size:13px;
	line-height:1.65;
	font-weight:600;
	color:rgba(84,32,54,0.72);
	max-width:40em;
}

/* 横向步骤（连线式，非旧版圆角 pill 三格） */
.reg-person-v2__steps{
	display:flex;
	align-items:stretch;
	gap:0;
	margin-bottom:22px;
	border-radius:16px;
	overflow:hidden;
	border:1px solid rgba(255,185,204,0.45);
	background:rgba(255,255,255,0.5);
}
.reg-person-v2__steps-item{
	flex:1;
	display:flex;
	align-items:center;
	gap:10px;
	padding:12px 14px;
	text-decoration:none;
	color:inherit;
	font-size:12px;
	font-weight:900;
	color:rgba(84,32,54,0.55);
	border-right:1px solid rgba(255,185,204,0.35);
	min-width:0;
}
.reg-person-v2__steps-item:last-child{
	border-right:none;
}
.reg-person-v2__steps-item--current{
	background:linear-gradient(135deg, rgba(255,111,145,0.18) 0%, rgba(255,150,113,0.12) 100%);
	color:#7b264a;
}
.reg-person-v2__steps-item--muted{
	opacity:0.65;
}
.reg-person-v2__steps-no{
	width:26px;
	height:26px;
	border-radius:10px;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:11px;
	font-weight:900;
	background:rgba(255,255,255,0.85);
	border:1px solid rgba(255,185,204,0.5);
	color:#c13f75;
	flex:0 0 auto;
}
.reg-person-v2__steps-item--current .reg-person-v2__steps-no{
	color:#fff;
	background:linear-gradient(135deg,#ff6f91 0%,#ff9671 100%);
	border-color:transparent;
	box-shadow:0 8px 22px rgba(255,111,145,0.25);
}
.reg-person-v2__steps-txt{
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}

/* 内容面：表单卡片 + 协议上下栈（非旧版左右双列） */
.register-person .regdetail.reg-person-v2__surface{
	display:flex;
	flex-direction:column;
	gap:18px;
	padding:0 !important;
	margin:0 !important;
	background:transparent !important;
	border:none !important;
	box-shadow:none !important;
	grid-template-columns:unset !important;
	align-items:stretch;
}
.register-person .regdetail.reg-person-v2__surface .partname{
	grid-column:unset !important;
	margin:0 !important;
}
.register-person .regdetail.reg-person-v2__surface #registerform{
	grid-column:unset !important;
	min-width:0;
	width:100%;
}
.register-person .partname .current{
	display:inline-flex;
	align-items:center;
	padding:8px 14px;
	border-radius:999px;
	background:rgba(255,111,145,0.12);
	border:1px solid rgba(255,185,204,0.5);
	color:#7b264a !important;
	font-weight:900;
	text-decoration:none !important;
	font-size:13px;
}

.register-person .reg-person-v2__form-shell{
	background:rgba(255,255,255,0.72);
	border:1px solid rgba(255,190,208,0.55);
	border-radius:20px;
	padding:22px 20px 8px;
	box-shadow:0 18px 50px rgba(193,70,120,0.10);
}

/* 表格改纵向字段栈 */
.register-person table.formlogin{
	width:100%;
	border-collapse:separate;
	border-spacing:0;
}
.register-person table.formlogin tr{
	display:block;
	margin-bottom:16px;
}
.register-person table.formlogin td{
	display:block;
	padding:0;
	width:100% !important;
}
.register-person table.formlogin td.tdright{
	padding:0 0 8px;
	text-align:left;
	font-weight:800;
	color:rgba(84,32,54,0.88);
	font-size:14px;
	line-height:1.2;
}

.register-person .formlogin input.input,
.register-person .formlogin input.input-large,
.register-person .formlogin input.input-small{
	float:none !important;
	display:block !important;
	width:100% !important;
	max-width:100% !important;
	margin:0 !important;
	height:48px !important;
	border-radius:16px !important;
	border:1px solid rgba(193,63,117,0.22) !important;
	background:rgba(255,255,255,0.96) !important;
	box-shadow:0 10px 32px rgba(193,70,120,0.06) !important;
	transition:border-color 0.2s ease, box-shadow 0.2s ease !important;
	padding:0 16px !important;
	box-sizing:border-box !important;
}
.register-person .formlogin input.input:focus{
	border-color:rgba(255,111,145,0.85) !important;
	box-shadow:0 0 0 4px rgba(255,111,145,0.14), 0 14px 40px rgba(193,70,120,0.08) !important;
	outline:none !important;
}
.register-person .formlogin input.input::placeholder{
	color:rgba(148,120,130,0.9) !important;
	font-weight:700 !important;
}

/* 输入区左侧图标（粉系描边） */
.register-person .formlogin input[name="mobile"],
.register-person .formlogin input[name="userid"],
.register-person .formlogin input[name="email"]{
	background-repeat:no-repeat !important;
	background-position:18px center !important;
	background-size:18px 18px !important;
	padding-left:56px !important;
}
.register-person .formlogin input[name="mobile"],
.register-person .formlogin input[name="userid"]{
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c13f75' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/><circle cx='12' cy='7' r='4'/></svg>") !important;
}
.register-person .formlogin input[name="email"]{
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c13f75' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='4' width='18' height='14' rx='2'/><path d='M2 6l10 7 10-7'/></svg>") !important;
}
.register-person .formlogin input[name="userpwd"],
.register-person .formlogin input[name="reuserpwd"]{
	background-repeat:no-repeat !important;
	background-position:18px center !important;
	background-size:18px 18px !important;
	padding-left:56px !important;
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c13f75' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='11' width='18' height='8' rx='2'/><path d='M7 11V7a5 5 0 0 1 10 0v4'/></svg>") !important;
}
.register-person .formlogin input[name="checkcode"]{
	background-repeat:no-repeat !important;
	background-position:18px center !important;
	background-size:18px 18px !important;
	padding-left:56px !important;
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c13f75' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 2l8 4v6c0 5-3.5 9-8 10C7.5 21 4 17 4 12V6l8-4z'/></svg>") !important;
}
.register-person .formlogin input[name="smscheckcode"]{
	background-repeat:no-repeat !important;
	background-position:18px center !important;
	background-size:18px 18px !important;
	padding-left:56px !important;
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c13f75' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15a4 4 0 0 1-4 4H7l-4 4V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4z'/></svg>") !important;
}

.register-person img.authcode{
	float:none !important;
	width:auto !important;
	max-width:100% !important;
	display:block !important;
	height:50px !important;
	margin:10px 0 0 !important;
	padding:6px 10px !important;
	border-radius:16px !important;
	border:1px solid rgba(193,63,117,0.2) !important;
	background:rgba(255,255,255,0.96) !important;
	cursor:pointer;
}

.register-person #code{
	display:inline-block;
	margin-top:8px;
	font-size:12px;
	color:#e11d48;
	font-weight:800;
}

.register-person .qfont{
	margin-top:10px;
	padding:12px 14px;
	border-radius:14px;
	background:rgba(255,111,145,0.08);
	border:1px dashed rgba(255,185,204,0.6);
	font-size:13px;
	font-weight:700;
	color:#7b264a;
	line-height:1.5;
}

.register-person .pw_check{
	width:100%;
	background:rgba(255,255,255,0.65) !important;
	border:1px solid rgba(255,185,204,0.45) !important;
	border-radius:16px !important;
	padding:10px 12px !important;
	display:flex !important;
	gap:10px !important;
	margin:0 !important;
}
.register-person .pw_check span{
	float:none !important;
	width:auto !important;
	height:auto !important;
	line-height:1.2 !important;
	display:inline-flex !important;
	align-items:center;
	justify-content:center;
	padding:6px 12px;
	border-radius:999px;
	background:rgba(193,63,117,0.06) !important;
	color:rgba(84,32,54,0.65) !important;
	font-size:12px !important;
	font-weight:800 !important;
}
.register-person .pw_check strong.c_orange{
	color:#ea580c !important;
}

.register-person .disabled{
	float:none !important;
	width:100% !important;
	max-width:280px;
	height:48px !important;
	border-radius:16px !important;
	background:rgba(255,255,255,0.85) !important;
	border:1px solid rgba(255,185,204,0.5) !important;
	color:rgba(84,32,54,0.55) !important;
	margin-top:10px;
	font-weight:800;
	cursor:pointer;
}

/* 协议勾选行：两格并排 */
.register-person table.formlogin tr:has(input[name="ys"]) td{
	display:table-cell;
	width:auto !important;
	vertical-align:middle;
	padding-top:4px;
}
.register-person table.formlogin tr:has(input[name="ys"]){
	display:table;
	width:100%;
	table-layout:fixed;
	margin-bottom:12px;
}
.register-person input[type="radio"][name="ys"]{
	width:18px !important;
	height:18px !important;
	accent-color:#c13f75;
	vertical-align:middle;
	margin-right:6px;
}
.register-person a#protocolInfo{
	font-weight:800 !important;
	text-decoration:underline !important;
	color:#c13f75 !important;
	margin-right:12px;
}

.register-person .go_reg{
	width:100% !important;
	height:54px !important;
	border-radius:16px !important;
	border:none !important;
	font-size:17px !important;
	font-weight:900 !important;
	background:linear-gradient(135deg,#ff6f91 0%,#ff9671 100%) !important;
	box-shadow:0 18px 48px rgba(255,111,145,0.28) !important;
	transition:transform 0.2s ease, box-shadow 0.2s ease !important;
	cursor:pointer;
	color:#fff !important;
}
.register-person .go_reg:hover{
	transform:translateY(-2px) !important;
	box-shadow:0 22px 56px rgba(239,95,130,0.32) !important;
}

/* 协议预览：全宽在表单下方 */
.register-person .reg-person-v2__surface .xiyi{
	grid-column:unset !important;
	width:100% !important;
	max-width:none !important;
	margin:0 !important;
	float:none !important;
	background:rgba(255,255,255,0.55);
	border:1px solid rgba(255,190,208,0.5);
	border-radius:20px;
	padding:16px;
	box-shadow:0 12px 36px rgba(193,70,120,0.06);
}
.register-person #xieyi{
	width:100% !important;
	height:min(360px,50vh) !important;
	max-height:420px;
	overflow:auto !important;
	background:rgba(255,255,255,0.5);
	border-radius:14px;
	padding:14px 16px;
	border:1px solid rgba(255,185,204,0.4);
	box-sizing:border-box;
}
.register-person #xieyi p{
	color:rgba(84,32,54,0.75) !important;
	line-height:1.85;
	font-weight:600;
	font-size:13px;
}

/* 弹窗在窄屏可读 */
#popDiv,#popDiv2{
	max-width:min(1000px,96vw) !important;
	max-height:85vh !important;
	width:auto !important;
	height:auto !important;
	padding:0 12px 16px;
	box-sizing:border-box;
}

@media (max-width: 900px){
	.inner .body.register-shell{
		width:100% !important;
		max-width:100% !important;
		border-radius:18px !important;
	}
	.reg-person-v2__layout{
		grid-template-columns:1fr;
		min-height:0;
	}
	.reg-person-v2__aside{
		border-right:none;
		border-bottom:1px solid rgba(255,185,204,0.45);
		padding:22px 18px 20px;
	}
	.reg-person-v2__main{
		padding:22px 16px 28px;
	}
	.reg-person-v2__steps{
		flex-direction:column;
	}
	.reg-person-v2__steps-item{
		border-right:none;
		border-bottom:1px solid rgba(255,185,204,0.35);
	}
	.reg-person-v2__steps-item:last-child{
		border-bottom:none;
	}
	.register-person table.formlogin tr:has(input[name="ys"]){
		display:block;
	}
	.register-person table.formlogin tr:has(input[name="ys"]) td{
		display:block;
		width:100% !important;
		padding-bottom:8px;
	}
}
