/* GT Expert Pass — Apply 注册向导 */

.gt-expert-apply {
	/* 2026-08-31: 640→720 给 7 步步骤条单行留空间 (Terms 不换行) */
	max-width: 720px;
	margin: 0 auto;
	padding: 48px 24px 80px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	color: #15171D;
}

.gt-expert-apply__card {
	background: #fff;
	border: 1px solid #E3E7F2;
	border-radius: 16px;
	padding: 40px 44px;
	box-shadow: 0 8px 30px rgba(21, 24, 37, 0.08);
}

.gt-expert-apply__title {
	font-size: 28px;
	font-weight: 700;
	margin: 0 0 12px;
	color: #001A71;
	line-height: 1.3;
}

.gt-expert-apply__intro {
	font-size: 15px;
	line-height: 1.7;
	color: #4A5265;
	margin: 0 0 8px;
}

.gt-expert-apply__meta {
	font-size: 13px;
	color: #8A93A6;
	margin: 0 0 24px;
}

/* 步骤条 (2026-08-31: 单行不换行 — Terms 不折行, 窄屏横向滚动) */
.gt-expert-apply__steps {
	display: flex;
	flex-wrap: nowrap;
	white-space: nowrap;
	gap: 6px;
	list-style: none;
	margin: 0 0 28px;
	padding: 0 0 16px;
	border-bottom: 1px solid #E3E7F2;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.gt-expert-apply__steps li {
	font-size: 12px;
	font-weight: 600;
	color: #8A93A6;
	background: #F2F4FA;
	border-radius: 999px;
	padding: 5px 12px;
	flex-shrink: 0;
}

.gt-expert-apply__steps li.is-active {
	background: #001A71;
	color: #fff;
}

.gt-expert-apply__steps li.is-done {
	background: #E8F0FE;
	color: #001A71;
}

/* 分步 fieldset */
.gt-expert-apply__step {
	border: none;
	margin: 0 0 24px;
	padding: 0;
	display: none;
}

.gt-expert-apply__step.is-active {
	display: block;
}

/* 2026-09-20: 父主题 Storefront 的 inline 样式给 fieldset / legend 刷 #fbfbfb 浅灰底
   （storefront-style-inline-css: "table:not(.has-background) tbody tr:nth-child(2n) td, fieldset, fieldset legend"），
   向导的 7 个步骤各是一个 fieldset → 整块面板被染灰。参照主题对「我的账户」区域的写法，置透明。 */
.gt-expert-apply fieldset,
.gt-expert-apply fieldset legend {
	background-color: transparent;
}

.gt-expert-apply__step h2 {
	font-size: 20px;
	font-weight: 600;
	margin: 0 0 8px;
	color: #15171D;
}

.gt-expert-apply__hint {
	font-size: 13px;
	color: #8A93A6;
	margin: 0 0 16px;
}

.gt-expert-apply__step label {
	display: block;
	font-size: 14px;
	font-weight: 500;
	color: #3A4156;
	margin: 0 0 16px;
}

.gt-expert-apply__step input[type="text"],
.gt-expert-apply__step input[type="email"],
.gt-expert-apply__step input[type="url"],
.gt-expert-apply__step select,
.gt-expert-apply__step textarea {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin-top: 6px;
	padding: 10px 14px;
	border: 1px solid #C7CDE6;
	border-radius: 8px;
	font-size: 14px;
	font-family: inherit;
	color: #15171D;
	background: #fff;
}

.gt-expert-apply__step input:focus,
.gt-expert-apply__step select:focus,
.gt-expert-apply__step textarea:focus {
	outline: none;
	border-color: #2F63F5;
	box-shadow: 0 0 0 3px rgba(47, 99, 245, 0.15);
}

/* 选项 chips (复选框) */
.gt-expert-apply__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 16px;
}

.gt-expert-apply__chip {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	margin: 0 !important;
	/* 2026-08-31: 加宽 — location/mentoring 选项更大点击区 */
	padding: 10px 22px;
	border: 1px solid #C7CDE6;
	border-radius: 999px;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: #15171D !important;
	background: #fff;
	cursor: pointer;
	user-select: none;
	transition: all .15s;
}

.gt-expert-apply__chip input {
	margin: 0 !important;
	width: auto !important;
}

.gt-expert-apply__chip:has(input:checked) {
	background: #001A71;
	border-color: #001A71;
	color: #fff !important;
}

/* 5步法 R1 (Flash/Pro): mentoring 硬限制 disabled 视觉态 — 防用户误点无反馈 */
.gt-expert-apply__chip:has(input:disabled) {
	opacity: .45;
	cursor: not-allowed;
}

.gt-expert-apply__chip input:checked {
	accent-color: #fff;
}

/* Step 7 terms 复选框 (5步法 R1: 原 data-step=6 是 Terms, 插入 Availability 后变 7) */
.gt-expert-apply__step[data-step="7"] label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-weight: 400;
	line-height: 1.5;
}

.gt-expert-apply__step[data-step="7"] input[type="checkbox"] {
	/* 2026-08-31: width:auto 在手机 flex 布局下被压缩成小框 — 显式尺寸 + 禁止收缩 */
	margin-top: 3px;
	width: 18px;
	height: 18px;
	min-width: 18px;
	min-height: 18px;
	flex-shrink: 0;
	accent-color: #001A71;
	cursor: pointer;
}

/* 导航按钮 */
.gt-expert-apply__nav {
	display: flex;
	gap: 12px;
	margin-top: 8px;
}

.gt-expert-apply__btn {
	padding: 12px 28px;
	border-radius: 8px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	border: none;
	transition: background .15s;
}

.gt-expert-apply__btn--next,
.gt-expert-apply__btn--submit {
	background: #001A71;
	color: #fff;
	margin-left: auto;
}

.gt-expert-apply__btn--next:hover,
.gt-expert-apply__btn--submit:hover {
	background: #2F63F5;
}

.gt-expert-apply__btn--prev {
	background: transparent;
	color: #001A71;
	border: 1px solid #001A71;
}

.gt-expert-apply__btn--prev:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

/* 错误 / 成功 */
.gt-expert-apply__errors {
	background: #FDECEA;
	border: 1px solid #F5C6CB;
	border-radius: 8px;
	padding: 14px 16px;
	margin-bottom: 18px;
}
/* 2026-09-01: 回填后高亮闪烁 — 吸引注意 (用户停在恢复的步骤) */
.gt-expert-apply__errors--flash {
	animation: gt-expert-errors-flash 1.2s ease-in-out 2;
}
@keyframes gt-expert-errors-flash {
	0%, 100% { box-shadow: 0 0 0 0 rgba(220, 53, 69, 0); }
	50% { box-shadow: 0 0 0 6px rgba(220, 53, 69, 0.25); }
}

.gt-expert-apply__error {
	margin: 0;
	font-size: 14px;
	color: #B71C1C;
}

.gt-expert-apply__success {
	text-align: center;
	padding: 32px 0;
}

.gt-expert-apply__success h2 {
	font-size: 24px;
	color: #001A71;
	margin: 0 0 12px;
}

.gt-expert-apply__success p {
	font-size: 15px;
	line-height: 1.7;
	color: #4A5265;
}

@media (max-width: 560px) {
	.gt-expert-apply__card {
		padding: 28px 22px;
	}
	.gt-expert-apply__title {
		font-size: 22px;
	}
}

/* ===== Step 6: Availability (2026-08-31) ===== */
.gt-expert-apply__days {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 16px 0;
}
.gt-expert-apply__day {
	position: relative;
	cursor: pointer;
}
.gt-expert-apply__day input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.gt-expert-apply__day span {
	display: inline-block;
	padding: 10px 18px;
	border: 1.5px solid #C9D2DE;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 500;
	color: #4A5265;
	background: #fff;
	transition: all 0.2s ease;
	user-select: none;
}
.gt-expert-apply__day input:checked + span {
	background: #001A71;
	border-color: #001A71;
	color: #fff;
}

.gt-expert-apply__timeslots {
	margin: 20px 0;
}
.gt-expert-apply__day-slots {
	background: #F7F9FC;
	border: 1px solid #E4E9F0;
	border-radius: 10px;
	padding: 14px 16px;
	margin-bottom: 12px;
}
.gt-expert-apply__day-slots h3 {
	font-size: 14px;
	font-weight: 600;
	color: #001A71;
	margin: 0 0 10px;
}
.gt-expert-apply__slots-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.gt-expert-apply__slot {
	position: relative;
	cursor: pointer;
}
.gt-expert-apply__slot input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.gt-expert-apply__slot span {
	display: inline-block;
	padding: 7px 12px;
	border: 1.5px solid #C9D2DE;
	border-radius: 6px;
	font-size: 13px;
	font-variant-numeric: tabular-nums;
	color: #4A5265;
	background: #fff;
	transition: all 0.15s ease;
	user-select: none;
}
.gt-expert-apply__slot input:checked + span {
	background: #E8EEFF;
	border-color: #001A71;
	color: #001A71;
	font-weight: 600;
}

.gt-expert-apply__range {
	margin-top: 16px;
	display: block;
}

/* ===== 邮箱验证码 OTP (2026-08-31) ===== */
.gt-expert-apply__otp {
	margin: 12px 0 4px;
}
.gt-expert-apply__otp-row {
	display: flex;
	/* 2026-09-01: 顶部对齐 — 按钮与输入框均 40px 高, 顶对齐最整齐 (居中会因 line-height 偏移) */
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 8px;
	flex-wrap: wrap;
}
/* 2026-09-01: 验证码输入框撑满按钮右侧可用宽度, 与按钮留间距 */
.gt-expert-apply__otp-verify {
	margin-left: auto;
	flex: 1;
	min-width: 160px;
	display: flex;
	align-items: center;
	/* 2026-09-01: 显式 40px 与按钮等高 — 防 input 行内幽灵空隙撑高容器 */
	height: 40px;
	line-height: 0;
}
.gt-expert-apply__otp-verify .gt-expert-apply__otp-input {
	width: 100%;
	height: 100%;
	display: block;
}
.gt-expert-apply__otp-row .gt-expert-apply__btn--otp {
	flex-shrink: 0;
}
.gt-expert-apply__btn--otp {
	background: #E8F0FE;
	color: #001A71;
	border: 1px solid #C7CDE6;
	border-radius: 8px;
	padding: 9px 18px;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition: all .15s;
	/* 2026-09-01: 与输入框统一高度 40px */
	box-sizing: border-box;
	height: 40px;
	display: inline-flex;
	align-items: center;
}
.gt-expert-apply__btn--otp:hover {
	background: #001A71;
	color: #fff;
}
.gt-expert-apply__btn--otp:disabled {
	opacity: .55;
	cursor: not-allowed;
}
.gt-expert-apply__otp-status {
	font-size: 13px;
	color: #8A93A6;
	margin: 0 0 4px;
}
.gt-expert-apply__otp-input {
	width: 100%;
	box-sizing: border-box;
	/* 2026-09-01: 与按钮统一高度 40px */
	height: 40px;
	padding: 9px 12px;
	border: 1.5px solid #C9D2DE;
	border-radius: 8px;
	font-size: 16px;
	text-align: center;
	font-variant-numeric: tabular-nums;
}
.gt-expert-apply__otp-input:focus {
	border-color: #001A71;
	outline: none;
}
