/* 夏令营/暑期学校注册页：表单两列，整页内容水平+垂直居中 */

.before_login.summer-register-page {
    font-size: 16px; /* 整体大一号（原约 14px） */
}

.before_login.summer-register-page #main {
    min-height: 100vh;
    box-sizing: border-box;
    padding: 0 20px 70px; /* 底部避开固定页脚 */
    display: flex;
    align-items: center;
    justify-content: center;
}

.before_login.summer-register-page #main .container {
    width: auto;
    max-width: 1100px;
    min-width: 0;
    min-height: 0;
    margin: 0 auto;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    text-align: left;
}

/* 电脑端：LOGO 保持原尺寸（490×480，不缩放），与表单垂直中心对齐 */
.before_login.summer-register-page h1.bl-logo {
    position: relative;
    top: auto;
    left: auto;
    margin: 0;
    flex: 0 0 490px;
    width: 490px;
    height: 480px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: auto;
    align-self: center;
}

.before_login.summer-register-page h2.bl-title {
    /* 原设计与 LOGO 叠层装饰，居中布局中隐藏以免占位错乱 */
    display: none;
}

.before_login.summer-register-page #theForm {
    margin: 0;
    flex: 0 1 560px;
    width: 560px;
    max-width: 100%;
}

.before_login.summer-register-page .b-reg-form {
    position: relative;
    top: auto !important;
    right: auto;
    left: auto;
    width: 100%;
    max-width: 560px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 16px;
    row-gap: 6px;
    box-sizing: border-box;
    transform: none;
    font-size: 16px;
}

.before_login.summer-register-page .b-reg-form > .control-group {
    margin: 0;
    padding: 0;
    width: 100%;
    box-sizing: border-box;
}

/* 证件类型、提示文案、链接与按钮占满整行 */
.before_login.summer-register-page .b-reg-form > .control-group:has(input[name="zjlx"]),
.before_login.summer-register-page .b-reg-form > .control-group:has(> span),
.before_login.summer-register-page .b-reg-form > .reg-link,
.before_login.summer-register-page .b-reg-form > .summer-register-button {
    grid-column: 1 / -1;
}

.before_login.summer-register-page .b-reg-form .control-group .controls {
    display: block;
}

.before_login.summer-register-page .b-reg-form .controls > input[type="text"],
.before_login.summer-register-page .b-reg-form .controls > input[type="email"],
.before_login.summer-register-page .b-reg-form .controls > input[type="password"],
.before_login.summer-register-page .b-reg-form .controls > select {
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
    height: 34px;
    line-height: 34px;
    margin: 0;
    font-size: 16px;
}

.before_login.summer-register-page .b-reg-form .controls > input#regvcode {
    width: 120px !important;
    display: inline-block;
    vertical-align: middle;
}

.before_login.summer-register-page .b-reg-form .controls > #getImg {
    display: inline-block;
    vertical-align: middle;
    margin-left: 8px;
    height: 34px;
    cursor: pointer;
}

/* 占位符已说明字段，隐藏旁注以节省横向空间；证件类型文案保留 */
.before_login.summer-register-page .b-reg-form .controls > .help-inline {
    display: none;
}

.before_login.summer-register-page .b-reg-form .controls > input[type="radio"] + .help-inline,
.before_login.summer-register-page .b-reg-form .controls > .help-inline.asterisk {
    display: inline;
    margin-left: 4px;
    vertical-align: middle;
}

.before_login.summer-register-page .b-reg-form .controls > input[type="radio"] {
    width: auto !important;
    height: auto;
    margin: 0 2px 0 0;
    vertical-align: middle;
    box-shadow: none;
    background: transparent;
    padding-right: 0;
}

.before_login.summer-register-page .b-reg-form > .control-group > span {
    display: block;
    text-align: left;
    font-size: 14px;
    line-height: 1.4;
}

.before_login.summer-register-page .b-reg-form .reg-link {
    margin: 2px 0 0;
}

.before_login.summer-register-page .b-reg-form .reg-link h4 {
    margin: 0;
    font-size: 14px;
    line-height: 1.4;
    font-weight: normal;
}

.before_login.summer-register-page .b-reg-form .summer-register-button {
    position: static;
    margin: 4px 0 8px;
    width: auto;
    text-align: left;
}

.before_login.summer-register-page .b-reg-form .summer-register-button .btn {
    margin-right: 10px;
    font-size: 16px;
}

.before_login.summer-register-page #footer {
    padding: 6px 0;
    text-align: center;
}

.before_login.summer-register-page #footer .container {
    text-align: center;
    padding: 0 16px;
}

.before_login.summer-register-page #footer .copy {
    font-size: 14px;
    line-height: 1.4;
    text-align: center;
}

/* 笔记本端：LOGO 按比例缩小，仍与表单并排 */
@media (max-width: 1280px) {
    .before_login.summer-register-page h1.bl-logo {
        flex: 0 0 360px;
        width: 360px;
        height: 350px;
        background-size: contain;
        background-position: center center;
    }

    .before_login.summer-register-page #theForm {
        flex: 0 1 520px;
        width: 520px;
    }

    .before_login.summer-register-page .b-reg-form {
        max-width: 520px;
    }
}

/* 小笔记本 / 平板：上下排列，LOGO 再缩小 */
@media (max-width: 1000px) {
    .before_login.summer-register-page #main .container {
        width: 96%;
        max-width: 96%;
        flex-direction: column;
        gap: 12px;
    }

    .before_login.summer-register-page h1.bl-logo {
        flex: 0 0 auto;
        width: 240px;
        height: 220px;
        background-size: contain;
        background-position: center center;
    }

    .before_login.summer-register-page #theForm,
    .before_login.summer-register-page .b-reg-form {
        width: 100%;
        max-width: 560px;
    }
}

/* 手机端：LOGO 继续缩小，表单单列 */
@media (max-width: 720px) {
    .before_login.summer-register-page h1.bl-logo {
        width: 160px;
        height: 150px;
        background-size: contain;
        background-position: center center;
    }

    .before_login.summer-register-page .b-reg-form {
        grid-template-columns: 1fr;
    }
}
