/* ============================================================
   newkk_page.css  —  注册页新版样式
   ============================================================ */

/* ── 全页框架 ── */
.newkk_page {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    height: 100%;
    position: relative;
}

/* ── Logo（绝对定位，左上角） ── */
.newkk_logo {
    position: absolute;
    left: 55px;
    top: 30px;
    height: 40px;
    z-index: 99;
}
.newkk_logo a{
    display: block;
    height: 100%;
}
.newkk_logo a img{
    display: block;
    max-height: 100%;
}

/* ── 主体（背景图全铺 + 卡片浮层） ── */
.newkk_content {
    flex: 1;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 13.5%;
    min-height: 0;
    overflow: hidden;
}

/* 背景图：绝对定位铺满整个 content */
.newkk_img {
    position: absolute;
    inset: 0;
    background: url(/static/image/newkk_login/newkk_img.jpg) center center / cover no-repeat;
    z-index: 0;
}

/* 口号：绝对定位在图片左侧 */
.newkk_slogan {
    width: 228px;
    position: absolute;
    left: 27.5%;
    top: 25%;
    z-index: 1;
    pointer-events: none;
}

.newkk_slogan img{
    display: block;
    max-width: 100%;
}

/* 卡片容器：flex 右对齐，相对定位（供登录按钮定位） */
.newkk_form_area {
    position: relative;
    z-index: 2;
    padding: 50px 0; /* 为登录按钮腾出高度 */
    background: #fff;
    border-radius: 16px;
    border: 1px solid #cfe0ff;
    box-shadow: 0 6px 28px rgba(41,129,255,0.12);
}

/* 登录按钮：绝对定位到卡片右上角 */
.newkk_to_login {
    position: absolute;
    top: 0;
    right: 0;
    background: #2981ff;
    color: #fff;
    width: 80px;
    line-height: 32px;
    height: 32px;
    border-radius: 0 16px 0 16px;
    font-size: 14px;
    text-decoration: none;
    transition: background .2s;
    white-space: nowrap;
    text-align: center;
}
.newkk_to_login:hover { background: #1a6fe0; }

/* ── 卡片 ── */
.newkk_card {
    display: flex;
    flex-direction: column;
    min-height: 360px;
}

/* 标题 + 礼包横排固定头部 */
.newkk_card_header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
    margin-bottom: 28px;
    line-height: 40px;
}

/* 主内容区：只展示一列 */
.newkk_card_main_single {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    padding: 0px 50px 0px;
}

/* 主内容区：左列 + 分隔线 + 右列横排 */
#newkk_card_main {
    flex: 1;
    min-height: 0;
}

/* ── 左列：微信二维码 ── */
.newkk_card_left {
    width: 268px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0px 20px 0px;
    box-sizing: border-box;
}

.newkk_card_title {
    font-size: 26px;
    font-weight: 700;
    color: #1C1D1F;
    margin: 0;
    white-space: nowrap;
    width: 268px;
    text-align: center;
}

.newkk_col_title {
    font-size: 16px;
    color: #333;
    margin-bottom: 30px;
}

/* 二维码框 */
.newkk_qrcode_box {
    width: 160px;
    height: 160px;
    border: 1px solid #DDE2E9;
    border-radius: 6px;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
    flex-shrink: 0;
    margin-bottom: 13px;
}
.newkk_qrcode_box img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

/* 过期遮罩 */
.newkk_qr_mask {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
}
/* 过期：深色背景 */
.newkk_qr_expired {
    background: rgba(255,255,255,0.9);
}
.newkk_qr_expired span { color: #626266; font-size: 14px;margin-bottom: 14px;padding: 0 25px;text-align: center; }
.newkk_qr_expired a {display: inline-block;background-color: #2981FF;width: 56px;line-height: 30px;border-radius: 4px;color: #fff; font-size: 12px; text-align: center; cursor: pointer; }

/* 授权成功：白色半透明背景 */
.newkk_qr_success {
    background: rgba(255,255,255,0.92);
}
.newkk_qr_success span { color: #333; font-size: 12px; font-weight: 700;margin-top: 12px; }

/* 成功 icon：绿色对勾圆圈 */
.newkk_qr_success_icon {
    display: block;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #07c160;
    position: relative;
    flex-shrink: 0;
}
.newkk_qr_success_icon::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    width: 8px;
    height: 14px;
    border-right: 2.5px solid #fff;
    border-bottom: 2.5px solid #fff;
    margin-top: -2px;
}

/* 加载中遮罩 */
.newkk_qr_loading {
    background: rgba(255,255,255,0.9);
}
.newkk_qr_loading span { color: #666; font-size: 12px; margin-top: 12px; }
.newkk_qr_spinner {
    width: 28px;
    height: 28px;
    border: 3px solid #e8e8e8;
    border-top-color: #2981FF;
    border-radius: 50%;
    animation: newkk_spin 0.8s linear infinite;
}
@keyframes newkk_spin {
    to { transform: rotate(360deg); }
}

/* 同步提示文字（二维码框下方） */
.newkk_wechat_syncing {
    font-size: 12px;
    color: #2981ff;
    text-align: center;
    margin: 0;
}

.newkk_wechat_tip { font-size: 14px; color: #323235; text-align: center; margin: 0; }
.newkk_wechat_tip i { color: #FF526A; font-style: normal; }

/* 分隔线 */
.newkk_col_sep {
    width: 1px;
    background: #e4edff;
}

/* ── 右列：注册表单 ── */
.newkk_card_right {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    padding: 0px 50px 0px;
}

/* 礼包 Banner */
.newkk_gift_banner {
    flex: 1;
    display: flex;
    align-items: center;
    background: #FFE1D3;
    color: #B2633E;
    font-size: 14px;
    line-height: 38px;
    border-radius: 4px;
    margin: 0 50px;
}
.newkk_gift_banner span { flex: 1; }
.newkk_gift_banner a { color: #FF6B25; text-decoration: underline; }
.newkk_gift_icon {
    display: inline-block;
    width: 38px;
    height: 38px;
    background: url(/static/image/newkk_login/newkk_gift.png) center / contain no-repeat;
    flex-shrink: 0;
    margin: 0 3px 0 4px;
}

/* ── 输入组 ── */
.newkk_ipt {
    position: relative;
}
.newkk_ipt input[type=text],.newkk_ipt input[type=password] {
    width: 100%;
    height: 38px;
    border: 1px solid #d4e2f8;
    border-radius: 6px;
    padding: 0 12px;
    font-size: 13px;
    color: #333;
    box-sizing: border-box;
    outline: none;
    transition: border-color .2s;
    background: #fff;
}

.newkk_ipt input[type=text],.newkk_ipt input[type=password]{
    height: 42px;
    border: 1px solid #DDE2E9;
    background: #fff;
}

.newkk_ipt.input-group-phone{
    margin-top: 0;
}

.newkk_ipt input:focus { border-color: #2981ff; }
.newkk_ipt input::placeholder { color: #bcc5d6; }

/* 验证码行 */
.newkk_ipt_code.input-group.input-code {
    width: 100%;
}
.newkk_ipt_code.input-group.input-code input { padding-right: 100px; }
.newkk_get_code_btn {
    position: absolute;
    right: 1px;
    top: 1px;
    height: 40px;
    padding: 0 16px;
    color: #2981ff;
    font-size: 14px;
    border: none;
    background: transparent;
    cursor: pointer;
    text-decoration: none;
    display: flex;
    align-items: center;
    white-space: nowrap;
    border-radius: 0 6px 6px 0;
    transition: background .2s;
}
.newkk_get_code_btn:hover { color: #146CE9; }
.newkk_get_code_btn[disabled] { color: #aaa; cursor: not-allowed; background: #f5f5f5; }

/* ── 信息补充折叠区 ── */
.newkk_expand_hd {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 14px;
    color: #626266;
    user-select: none;
    margin-top: 20px;
}
.newkk_expand_hd span{
    display: inline-block;
    padding-right: 16px;
    position: relative;
}
.newkk_expand_hd span:after {
    content: "";
    width: 0px;
    height: 0px;
    transition: transform .25s;
    color: #888;
    border: 5px solid;
    border-color: transparent transparent transparent #BFCBD9;
    position: absolute;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
}
.newkk_expand_hd:hover,
.newkk_expand_hd.open { border-color: #2981ff; color: #626266; }

.newkk_expand_hd.open span:after { transform: translateY(-30%) rotate(90deg); }

.newkk_expand_bd {
    display: none;
    flex-direction: column;
}

/* ── 密码输入组 ── */
.newkk_card .password-box { position: relative; }
.newkk_card .password-box input { padding-right: 38px; }
.newkk_card .safety-box .colorred:not(.iconfont),.newkk_card .safety-box .colorgreen:not(.iconfont),.newkk_card .safety-box:not(.iconfont),.newkk_card .safety-box .count-type,.newkk_card .safety-box #min_str { color: #626266 !important; }
.newkk_card .password-box .see-icon-box .iconfont { font-size: 14px; }
.newkk_card  .password-box .input-group input[type=password]{
    padding-right: 50px;
}
.newkk_card  .password-box .see-icon-box{
    position: absolute;
    right: 12px;
    bottom: 12px;
}
.newkk_card  .password-box .see-icon-box .iconfont{
    color: #B7C1CF;
    cursor: pointer;
    transition: all .3s;
    user-select:none;
    opacity: 0.7;
}
.newkk_card  .password-box .see-icon-box:hover .iconfont{
    opacity: 1;
}
.newkk_card  .password-box .see-icon-box .see-icon{
    position: relative;
    right: -2px;
    top: -1px;
    display: none;
}

/* 密码强度浮层 */
.newkk_card .safety-box {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #d4e2f8;
    border-radius: 6px;
    padding: 10px 14px;
    z-index: 20;
    font-size: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,.08);
}
.newkk_card .safety-box p { margin: 3px 0; color: #626266; }
/* count-type / min_str 强制默认色，防止被 JS 动态 color 继承污染 */
.newkk_card .safety-box .count-type,
.newkk_card .safety-box #min_str { color: #626266 !important; }
.newkk_card .safety-box .colorred { color: #ff4d4f !important; }
.newkk_card .safety-box .colorgreen { color: #52c41a !important; }
.newkk_card .psw-policy {width: calc(100% - 16px);top: -26px; }
.newkk_card .psw-policy span { flex: 1; height: 2px; border-radius: 2px; background: #e0e0e0; }
.newkk_card .psw-policy.danger  span:nth-child(1) { background: #ff4d4f; }
.newkk_card .psw-policy.warning span:nth-child(-n+2) { background: #faad14; }
.newkk_card .psw-policy.safe    span { background: #52c41a; }

/* ── 服务条款 ── */
.newkk_agree { margin: 15px 0 20px; }
.newkk_agree .checkbox {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 14px;
    color: #93939A;
}
.newkk_agree .checkbox i{top: 0;}
.newkk_agree .checkbox input[type=checkbox] { display: none; }
.newkk_agree .checkbox a { color: #2981ff; text-decoration: none; }

#newkk_wechat_phone_step .newkk_agree{
    margin-top: 24px;
}

/* ── 注册按钮 ── */
.newkk_reg_btn {
    width: 100%;
    height: 40px;
    line-height: 40px;
    background: #2981ff;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s;
    flex-shrink: 0;
}
.newkk_reg_btn:hover { background: #1a6fe0; }

/* ── 输入提示 & 错误提示（兼容旧 setError / setError blur） ── */

/* 确保 input-group 是定位父级 */
.newkk_page .input-group { position: relative; }

/* ── Focus 提示：深色气泡，输入框下方 ── */
.newkk_page .input-group .tips:not(.ERROR) {
    position: absolute;
    left: 0;
    top: calc(100% + 8px);
    width: 100%;
    background: rgba(0,0,0,.72);
    color: #fff;
    font-size: 12px;
    line-height: 1.6;
    border-radius: 4px;
    padding: 10px 12px;
    box-sizing: border-box;
    z-index: 30;
    white-space: normal;
    pointer-events: none;
}
/* 向上小三角 */
.newkk_page .input-group .tips:not(.ERROR)::before {
    content: "";
    position: absolute;
    top: -6px;
    left: 16px;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid rgba(0,0,0,.72);
}
.newkk_page .input-group .tips:not(.ERROR)::after { display: none; }

/* ── Error 状态：输入框边框变红 + 抖动 ── */
.newkk_page .input-group.error input {
    border-color: #e02020 !important;
    animation: newkk_shake .18s linear forwards;
}
.newkk_shake {
    animation: newkk_shake .18s linear forwards;
}
@keyframes newkk_shake {
    0%,100% { transform: translateX(0); }
    25%      { transform: translateX(-5px); }
    75%      { transform: translateX(5px); }
}

/* ── Error 提示文字：红点 icon + 红字，输入框正下方 ── */
.newkk_page .input-group.error .tips.ERROR::before,
.newkk_page .input-group.error .tips.ERROR::after { display: none; }

/* ── 底部 ── */
.newkk_footer {
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 0px;
    text-align: center;
    padding: 24px 50px;
    box-sizing: border-box;
}
.newkk_footer_links { margin-bottom: 15px; }
.newkk_footer_links a {
    color: #626266;
    font-size: 12px;
    margin: 0 10px;
    text-decoration: none;
}
.newkk_footer_links a:hover { color: #2981ff; }
.newkk_footer_info { font-size: 12px; color: #93939A; margin: 0; }
.newkk_footer_info a { color: #93939A; text-decoration: none; }
.newkk_footer_info a:hover { color: #2981ff; }
.newkk_footer_info img { vertical-align: middle; }

/* ============================================================
   手机验证页（register_phone.html）
   ============================================================ */

/* 单列卡片容器 — 复用 newkk_form_area，补宽度限制 */
.newkk_phone_form { width: 400px; }
.newkk_register_form { width: 730px; }
.newkk_login_form { width: 730px; }
.newkk_forget_form { width: 460px; }

/* 卡片内容区 */
.newkk_phone_card {
    display: flex;
    flex-direction: column;
    padding: 28px 32px 30px;
    gap: 14px;
}
.newkk_phone_card .newkk_card_title {
    text-align: center;
    margin-bottom: 4px;
}

/* ── 步骤条 ── */
.newkk_steps {
    display: flex;
    gap: 4px;
    margin-bottom: 30px;
    width: 100%;
}

/* 单步 */
.newkk_step {
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* 进度条 */
.newkk_step_bar {
    height: 4px;
    background: #BFCEE4;
    margin-bottom: 12px;
}

.newkk_step.done .newkk_step_bar {
    background: #07c160;
}

/* 步骤内容 */
.newkk_step_content {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* 图标 */
.newkk_step_icon {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    line-height: 19px;
    background: #BFCEE4;
    color: #fff;
    flex-shrink: 0;
}

.newkk_step.done .newkk_step_icon {
    background: #07c160;
}

/* 对勾 */
.newkk_step_check {
    display: block;
    width: 5px;
    height: 8px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(45deg) translate(-1px, -1px);
}

/* 文字 */
.newkk_step_text {
    font-size: 14px;
    color:#323235;
}

#wx_sliding{
    bottom: 0px;
    left: 0;
}

#login_sliding_two .sliding-img-fragment-cnt {
    width: 38px;
    height: 42px;
    top: 50px;
    -webkit-filter: drop-shadow(rgb(255, 255, 255) 0px 0px 2px);
    filter: drop-shadow(rgb(255, 255, 255) 0px 0px 2px);
}

/* ============================================================
   登录页（login.html）—— 仅登录场景差异样式
   ============================================================ */

/* Tab 切换 */
.newkk_login_tabs {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
}
.newkk_login_tab {
    margin: 0 20px;
    color: #626266;
    padding: 0 0 10px;
    cursor: pointer;
    position: relative;
}
.newkk_login_tab::after{
    content: "";
    width: 40px;
    height: 3px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
}
.newkk_login_tab.on {
    color: #323235;
}
.newkk_login_tab.on:after{
    background-color: #2981FF;
}

/* 登录卡片比注册页稍矮 */
.newkk_login_form .newkk_card {
    min-height: 330px;
}

/* 卡片右侧面板内容区 */
.newkk_login_panel {
    display: flex;
    flex-direction: column;
}

/* 记住账号 + 忘记密码行 */
.newkk_login_extra {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.newkk_login_extra .newkk_agree { margin: 20px 0; }
.newkk_login_extra a { font-size: 14px; color: #93939A; text-decoration: none; }
.newkk_login_extra a:hover { color: #1a6fe0; }

/* 其他登录方式（QQ 等） */
.newkk_login_ways {
    width: 160px;
}
.newkk_login_ways_title {
    font-size: 12px;
    color: #999;
    margin: 0 0 10px;
    position: relative;
}

.newkk_login_way_item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.newkk_login_way_icon {
    width: 22px;
    height: 22px;
    cursor: pointer;
    transition: transform .2s;
}
.newkk_login_way_icon:hover { transform: scale(1.1); }

/* qqLoginBtn 覆盖在图标上，点击穿透到图标视觉 */
.qq-login-wrapper {
    position: relative;
}
.qq-login-wrapper #qqLoginBtn {
    position: absolute;
    inset: 0;
}



/* ============================================================
   忘记密码页（forget.html）
   ============================================================ */

.newkk_forget_form .newkk_card_title {
    width: 100%;
}

.newkk_forget_form .newkk_card {
    min-height: auto;
    color: #323235;
}

/* 滑块验证 */
.newkk_forget_form .sliding-img-fragment-cnt {
    width: 38px;
    height: 42px;
    top: 50px;
    -webkit-filter: drop-shadow(rgb(255, 255, 255) 0px 0px 2px);
    filter: drop-shadow(rgb(255, 255, 255) 0px 0px 2px);
}

.type_tips {
    font-size: 16px;
}

.type_tips .cur {
    color: #626266;
    font-size: 14px;
    margin-top: 9px;
}

.forget_other_tip {
    text-align: right;
}

.forget_other_tip p {
    cursor: pointer;
    color: #2981ff;
}

.newkk_forget_btns {
    display: flex;
    gap: 10px;
    justify-content: space-between;
}
.newkk_forget_btns .newkk_reg_btn {
    flex: 1;
}

/* 密码重置成功 */
.reset_success {
    text-align: center;
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    padding: 0px 50px 0px;
}

.reset_success .iconfont {
    color: #08b736;
    vertical-align: middle;
    font-size: 20px;
}

.reset_success .cur {
    padding: 30px 0;
}

.reset_success .login-account {
    padding-top: 75px;
}

/* 异地登录页面 */
.check_input_icon {
    position: absolute;
    right: 10px;
    top: 13px;
    color: #bdbdbd;
}

/* ============================================================
   QQ登录 绑定手机号（qq_bind.html）
   ============================================================ */
.deal-tips {
    color: #93939a;
    margin-top: 18px;
    font-size: 14px;
    text-align: center;
}




/* ============================================================
   响应式适配
   ============================================================ */
@media screen and (max-width: 1699px){
    .newkk_content{
        padding-right: 10%;
    }
    .newkk_img {
        background: url(/static/image/newkk_login/newkk_img.jpg) 60% center / cover no-repeat;
    }
}

@media screen and (max-width: 1499px){
    .newkk_content{
        padding-right: 8%;
    }
    .newkk_img {
        background: url(/static/image/newkk_login/newkk_img.jpg) 75% center / cover no-repeat;
    }
    .newkk_form_area{
        margin-top: 90px;
    }
    .newkk_card_header, .newkk_col_title{
        margin-bottom: 20px;
    }
    .newkk_ipt input[type=text], .newkk_ipt input[type=password]{
        height: 38px;
    }
    .newkk_get_code_btn{
        height: 36px;
    }
    .newkk_footer{
        position: relative;
    }
    .newkk_register_form .newkk_card_right{
        max-height: 350px;
        overflow-y: auto;
    }
}

@media screen and (max-width: 1399px){
    .newkk_img {
        background: url(/static/image/newkk_login/newkk_img.jpg) 80% center / cover no-repeat;
    }
}


@media screen and (max-width: 480px){
    .action_check_page .newkk_logo {
        left: 15px;
        top: 14px;
        height: 23px;
    }
    .action_check_page .newkk_card_title {
        font-size: 18px;
    }
    .action_check_page .newkk_content {
        padding-left: 15px;
        padding-right: 15px;
    }
    .action_check_page .newkk_card_main_single {
        padding: 0px 15px 0px;
    }
    .action_check_page .input-group:not(.no-border) {
        border-bottom: none;
    }
    .action_check_page .type_tips {
        font-size: 14px;
    }
}









