@charset "utf-8";
/* ACADEMIA 회원 단독 페이지 (bbs/login.php · bbs/member_confirm.php — _head.sub.php 경유, 테마 헤더 없음)
   코어 skin/member/basic/style.css가 </head> 직전에 주입되어 테마 CSS보다 뒤에 로드되므로
   모든 선택자에 body.aca-page-member 접두를 붙여 특이성으로 우선한다. */

.aca-page-member{min-height:100vh;margin:0;background:#f4f5f8;background-image:radial-gradient(900px 480px at 50% -120px,rgba(17,20,28,.06),transparent 70%)}

/* 카드 */
.aca-page-member #mb_login,.aca-page-member #mb_confirm{width:100%;max-width:460px;margin:9vh auto 0;padding:0 20px;box-sizing:border-box}
.aca-page-member .mbskin_box,.aca-page-member #mb_confirm{background:#fff;border:1px solid #eceef3;border-radius:22px;box-shadow:0 30px 70px -34px rgba(15,18,26,.28);padding:46px 40px 40px;box-sizing:border-box}
.aca-page-member .mbskin h1{margin:0 0 26px;padding:0;font-size:26px;font-weight:800;letter-spacing:-.03em;color:#14161c;text-align:center}

/* 로그인: 마크업 순서 재배치 — 제목 → 폼 → (소셜) → 회원가입 */
.aca-page-member .mbskin_box{display:flex;flex-direction:column}
.aca-page-member .mbskin_box>*{order:3;min-width:0}
.aca-page-member .mbskin_box>h1{order:1}
.aca-page-member .mbskin_box>form{order:2}
.aca-page-member .mbskin_box>.mb_log_cate{order:4}

/* 회원가입 = 하단 보조 버튼 */
.aca-page-member .mb_log_cate{margin-top:26px;padding-top:22px;border-top:1px solid #f0f1f6;text-align:center}
.aca-page-member .mb_log_cate h2{position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip:rect(0,0,0,0)}
.aca-page-member .mb_log_cate::before{content:'아직 회원이 아니신가요?';display:block;margin-bottom:12px;font-size:13px;color:#8a8f9c}
.aca-page-member .mb_log_cate .join{display:flex;align-items:center;justify-content:center;width:100%;height:52px;border:1px solid #dfe3ec;border-radius:12px;background:#fff;color:#14161c;font-size:15px;font-weight:700;text-decoration:none;box-sizing:border-box;transition:border-color .2s,color .2s}
.aca-page-member .mb_log_cate .join:hover,.aca-page-member .mb_log_cate .join:focus{border-color:var(--aca-primary,#8a1601);color:var(--aca-primary,#8a1601)}

/* 폼 요소 — 테두리 fieldset 제거(요구), 라운드 인풋 */
.aca-page-member .mbskin fieldset{border:0;margin:0;padding:0}
.aca-page-member .mbskin legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.aca-page-member .mbskin .frm_input{display:block;width:100%;height:52px;margin:0 0 12px;padding:0 16px;border:1px solid #dfe3ec;border-radius:12px;background:#f8f9fb;font-size:15px;color:#14161c;box-sizing:border-box;-webkit-appearance:none;transition:border-color .2s,background .2s,box-shadow .2s}
.aca-page-member .mbskin .frm_input::placeholder{color:#9aa0ad}
.aca-page-member .mbskin .frm_input:focus{outline:0;border-color:var(--aca-primary,#8a1601);background:#fff;box-shadow:0 0 0 3px rgba(20,22,28,.06)}
.aca-page-member .mbskin .btn_submit{display:block;width:100%;height:54px;margin-top:4px;border:0;border-radius:12px;background:var(--aca-primary,#8a1601);color:#fff;font-size:16px;font-weight:700;letter-spacing:-.01em;cursor:pointer;transition:filter .2s}
.aca-page-member .mbskin .btn_submit:hover,.aca-page-member .mbskin .btn_submit:focus{filter:brightness(.88)}

/* 자동로그인 · 아이디/비밀번호 찾기 */
.aca-page-member #login_info{display:flex;align-items:center;justify-content:space-between;margin-top:16px;font-size:13px}
.aca-page-member #login_info a{color:#555b68;font-weight:600;text-decoration:none;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.aca-page-member #login_info a:hover,.aca-page-member #login_info a:focus{color:var(--aca-primary,#8a1601);border-bottom-color:currentColor}
.aca-page-member .login_if_auto label{display:inline-flex;align-items:center;gap:7px;margin:0;padding:0;color:#6b7280;cursor:pointer}
.aca-page-member .chk_box input[type="checkbox"]+label span{float:none;width:17px;height:17px;margin:0;background:#fff;border:1px solid #cfd4de;border-radius:5px;transition:background .15s,border-color .15s}
.aca-page-member .chk_box input[type="checkbox"]:checked+label{color:#14161c}
.aca-page-member .chk_box input[type="checkbox"]:checked+label span{background:var(--aca-primary,#8a1601) url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.2 4.8 9 10 3.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat 50% 50%/10px auto;border-color:var(--aca-primary,#8a1601)}

/* 회원 비밀번호 확인 */
.aca-page-member #mb_confirm p{margin:0 0 24px;font-size:14px;color:#666d7a;line-height:1.65;text-align:center}
.aca-page-member #mb_confirm p strong{display:block;margin-bottom:6px;font-size:15px;color:#14161c}
.aca-page-member #mb_confirm .confirm_id{display:block;margin-bottom:6px;font-size:13px;color:#8a8f9c}
.aca-page-member #mb_confirm #mb_confirm_id{display:flex;align-items:center;height:48px;margin-bottom:12px;padding:0 16px;border-radius:12px;background:#f4f5f8;font-weight:700;color:#14161c;box-sizing:border-box}

/* ===== 회원가입 계열 (register / register_form / register_result / register_email — _head.php 경유,
   테마 헤더·서브히어로·푸터 포함. 본문만 로그인과 같은 카드 스타일) ===== */
.aca-page-member .register{max-width:760px;margin:56px auto;background:#fff;border:1px solid #eceef3;border-radius:22px;box-shadow:0 30px 70px -34px rgba(15,18,26,.18);padding:44px 44px 38px;box-sizing:border-box}
.aca-page-member .register .fa{display:none}/* font-awesome 미로드 페이지 — 빈 아이콘 숨김 */
.aca-page-member .register h2{margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid #f0f1f6;font-size:16px;font-weight:700;color:#14161c}

/* 공통 체크박스 (selec_chk 패턴 — 코어가 input을 숨기고 label>span이 박스) */
.aca-page-member .selec_chk+label span{display:inline-block;float:none;width:18px;height:18px;margin:0;vertical-align:-4px;background:#fff;border:1px solid #cfd4de;border-radius:5px;transition:background .15s,border-color .15s}
.aca-page-member .selec_chk:checked+label span{background:var(--aca-primary,#8a1601) url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.2 4.8 9 10 3.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat 50% 50%/11px auto;border-color:var(--aca-primary,#8a1601)}

/* 1) 약관 동의 (register.php)
   주의: 코어 style.css가 #fregister/ID·속성 선택자로 뒤에 주입됨 → 겹치는 규칙은 특이성을 더 높게 유지 */
.aca-page-member #fregister>p{position:static;margin:0 0 26px;padding:14px 18px;height:auto;line-height:1.6;border-radius:12px;background:#f6f7fa;color:#555b68;font-size:13.5px;font-weight:400;text-align:left}
.aca-page-member #fregister>p::before{display:none}
.aca-page-member #fregister section{position:relative;margin:0 0 24px;border:1px solid #e3e6ee;border-radius:14px;overflow:hidden}
.aca-page-member #fregister h2{margin:0;padding:16px 150px 16px 20px;border-bottom:1px solid #eef0f5;font-size:15px;font-weight:700;color:#14161c;text-align:left}
/* 동의합니다 체크 — 한 줄(체크박스+텍스트), 코어의 span 절대배치(top:20px right:15px) 무력화 */
.aca-page-member .register .fregister_agree{position:absolute;top:13px;right:16px;margin:0;padding:0;border:0;width:auto}
.aca-page-member .register .fregister_agree label{display:inline-flex;flex-direction:row;align-items:center;gap:7px;margin:0;padding:0;font-size:13.5px;color:#555b68;cursor:pointer;white-space:nowrap}
.aca-page-member .register .fregister_agree:not(.chk_all) label::after{content:'동의합니다'}/* 전체동의(chk_all)는 자체 텍스트 보유 */
.aca-page-member .register .fregister_agree input[type="checkbox"]+label span{position:static;top:auto;right:auto;display:inline-block;float:none;width:18px;height:18px;margin:0;background:#fff;border:1px solid #cfd4de;border-radius:5px;transition:background .15s,border-color .15s}
.aca-page-member .register .fregister_agree input[type="checkbox"]:checked+label span{background:var(--aca-primary,#8a1601) url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.2 4.8 9 10 3.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat 50% 50%/11px auto;border-color:var(--aca-primary,#8a1601)}
.aca-page-member #fregister_term textarea{display:block;width:100%;height:190px;padding:16px 20px;border:0;border-radius:0;background:#fafbfd;color:#555b68;font-size:13px;line-height:1.65;box-sizing:border-box;resize:vertical}
.aca-page-member #fregister_private>div{border:0;border-radius:0;overflow:hidden;overflow-x:auto}
.aca-page-member #fregister_private table{width:100%;border-collapse:collapse;font-size:13px}
.aca-page-member #fregister_private caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.aca-page-member #fregister_private th{padding:11px 14px;background:#f6f7fa;border-bottom:1px solid #e9ecf2;color:#14161c;font-weight:600;text-align:left}
.aca-page-member #fregister_private td{padding:11px 14px;border-bottom:1px solid #f0f2f6;color:#555b68;line-height:1.55;vertical-align:top}
.aca-page-member #fregister_private tbody tr:last-child td{border-bottom:0}
.aca-page-member #fregister_chkall{position:static;top:auto;right:auto;width:auto;margin:26px 0 0;padding:16px 18px;border:1px solid #e3e6ee;border-radius:12px;background:#f8f9fb;text-align:left}
.aca-page-member #fregister_chkall label{display:inline-flex;flex-direction:row;align-items:center;gap:9px;margin:0;font-size:15px;font-weight:700;color:#14161c;cursor:pointer;white-space:nowrap}

/* 2) 정보 입력 (register_form.php) — 약관동의와 동일한 흰 박스 섹션(제목 바 + 내용)
   코어: .register_form_inner{background:#f7f7f7;border...} / #register_form h2{padding:20px} → 특이성 상향 재정의 */
.aca-page-member #register_form{margin:0;background:transparent}
.aca-page-member #register_form .register_form_inner{margin:0 0 24px;background:#fff;border:1px solid #e3e6ee;border-radius:14px;overflow:hidden}
.aca-page-member #register_form h2{margin:0;padding:16px 20px;border-bottom:1px solid #eef0f5;background:#fff;font-size:15px;font-weight:700;color:#14161c;text-align:left}
.aca-page-member #register_form .register_form_inner ul{margin:0;padding:20px;list-style:none}
.aca-page-member .register_form_inner li{position:relative;margin:0 0 16px;float:none;width:100%}
.aca-page-member .register_form_inner li:last-child{margin-bottom:0}
.aca-page-member .register_form_inner li.half_input{float:none;width:100%;margin:0 0 16px}
.aca-page-member .register_form_inner label{display:block;margin-bottom:7px;font-size:13.5px;font-weight:600;color:#3c4250}
.aca-page-member .register .frm_input{display:block;width:100%;height:50px;margin:0;padding:0 16px;border:1px solid #dfe3ec;border-radius:12px;background:#f8f9fb;font-size:15px;color:#14161c;box-sizing:border-box;-webkit-appearance:none;transition:border-color .2s,background .2s,box-shadow .2s}
.aca-page-member .register .frm_input::placeholder{color:#9aa0ad}
.aca-page-member .register .frm_input:focus{outline:0;border-color:var(--aca-primary,#8a1601);background:#fff;box-shadow:0 0 0 3px rgba(20,22,28,.06)}
.aca-page-member .register .frm_input[readonly]{background:#eef0f4;color:#8a8f9c}
.aca-page-member .register .frm_input.twopart_input{display:inline-block;width:170px;margin-right:8px;vertical-align:middle}
.aca-page-member .register .frm_address{margin-top:8px}
.aca-page-member .register textarea{display:block;width:100%;min-height:110px;padding:12px 16px;border:1px solid #dfe3ec;border-radius:12px;background:#f8f9fb;font-size:14px;line-height:1.6;box-sizing:border-box;resize:vertical}
.aca-page-member .register textarea:focus{outline:0;border-color:var(--aca-primary,#8a1601);background:#fff}
.aca-page-member .register .btn_frmline{display:inline-block;height:44px;margin:0 4px 6px 0;padding:0 16px;border:1px solid #cfd4de;border-radius:10px;background:#fff;color:#3c4250;font-size:13.5px;font-weight:600;vertical-align:middle;cursor:pointer;transition:border-color .2s,color .2s}
.aca-page-member .register .btn_frmline:hover{border-color:var(--aca-primary,#8a1601);color:var(--aca-primary,#8a1601)}
.aca-page-member .register #msg_mb_id,.aca-page-member .register #msg_mb_nick,.aca-page-member .register #msg_certify{display:block;margin-top:6px;font-size:12.5px;line-height:1.5}
/* 툴팁 (fa 아이콘 미로드 → ? 글리프 대체) */
.aca-page-member .register .tooltip_icon{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;margin-left:4px;padding:0;border:1px solid #b9bfcb;border-radius:50%;background:none;color:#8a8f9c;font-size:11px;vertical-align:-2px;cursor:pointer}
.aca-page-member .register .tooltip_icon::after{content:'?'}
.aca-page-member .register .tooltip{display:none;margin:8px 0 0;padding:10px 14px;border-radius:10px;background:#1c1f27;color:#dfe3ec;font-size:12.5px;line-height:1.55;font-weight:400}
/* 체크 항목(정보공개·수신설정) */
.aca-page-member .register li.chk_box label{display:inline-flex;margin:0}
.aca-page-member .register .chk_li{margin-left:4px;font-size:14px;color:#555b68}
.aca-page-member .register .consent-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.aca-page-member .register .js-open-consent{margin-left:2px;padding:0;border:0;background:none;color:#8a8f9c;font-size:12.5px;text-decoration:underline;cursor:pointer}
.aca-page-member .register .sub-consents{margin:10px 0 0 27px;padding:0;list-style:none}
.aca-page-member .register .sub-consents li{margin-bottom:8px}
.aca-page-member .register .consent-date{margin-top:3px;font-size:12px;color:#9aa0ad}
/* 자동등록방지 (kcaptcha) — 코어 기본 fieldset/legend/버튼 정리 */
.aca-page-member .register li.is_captcha_use{font-size:0}/* 스킨이 출력하는 중복 텍스트 노드("자동등록방지") 숨김 — 하위는 개별 크기 지정 */
.aca-page-member .register #captcha{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0;padding:0;border:0;font-size:13.5px}
.aca-page-member .register #captcha legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.aca-page-member .register #captcha #captcha_img{display:block;height:48px;width:auto;border:1px solid #e3e6ee;border-radius:10px}
.aca-page-member .register #captcha #captcha_key{width:130px;height:48px;margin:0;padding:0 14px;border:1px solid #dfe3ec;border-radius:10px;background:#f8f9fb;font-size:15px;color:#14161c;box-sizing:border-box;-webkit-appearance:none}
.aca-page-member .register #captcha #captcha_key:focus{outline:0;border-color:var(--aca-primary,#8a1601);background:#fff}
.aca-page-member .register #captcha button{height:48px;margin:0;padding:0 14px;border:1px solid #cfd4de;border-radius:10px;background:#fff;color:#3c4250;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .2s,color .2s}
.aca-page-member .register #captcha button:hover,.aca-page-member .register #captcha button:focus{border-color:var(--aca-primary,#8a1601);color:var(--aca-primary,#8a1601)}
.aca-page-member .register #captcha #captcha_info{flex-basis:100%;margin:0;font-size:12.5px;color:#8a8f9c}

/* 하단 버튼 (취소 + 가입/수정) — 카드 밖에 출력되는 페이지(register_email)도 카드 폭에 맞춰 중앙 정렬 */
.aca-page-member .btn_confirm{display:flex;gap:10px;max-width:760px;margin:30px auto 0}
.aca-page-member .btn_confirm .btn_submit,.aca-page-member .btn_confirm .btn_close,.aca-page-member .btn_confirm .btn_cancel{display:inline-flex;align-items:center;justify-content:center;height:54px;border-radius:12px;font-size:16px;font-weight:700;text-decoration:none;cursor:pointer;transition:filter .2s,border-color .2s,color .2s;box-sizing:border-box}
.aca-page-member .btn_confirm .btn_submit{flex:1;border:0;background:var(--aca-primary,#8a1601);color:#fff}
.aca-page-member .btn_confirm .btn_submit:hover,.aca-page-member .btn_confirm .btn_submit:focus{filter:brightness(.88)}
.aca-page-member .btn_confirm .btn_close,.aca-page-member .btn_confirm .btn_cancel{flex:0 0 130px;border:1px solid #dfe3ec;background:#fff;color:#555b68}
.aca-page-member .btn_confirm .btn_close:hover,.aca-page-member .btn_confirm .btn_cancel:hover{border-color:#14161c;color:#14161c}

/* 3) 가입 완료 (register_result.php) */
.aca-page-member #reg_result .reg_result_p{margin:0 0 22px;font-size:18px;color:#14161c;line-height:1.6;text-align:center}
.aca-page-member #reg_result .reg_result_p strong{color:var(--aca-primary,#8a1601)}
.aca-page-member #reg_result p{font-size:14px;color:#666d7a;line-height:1.7;text-align:center}
.aca-page-member #reg_result .result_txt{margin:0 0 16px}
.aca-page-member #result_email{margin:0 0 18px;padding:16px 20px;border-radius:12px;background:#f4f5f8;font-size:14px;color:#555b68;line-height:1.9;text-align:center}
.aca-page-member #result_email strong{margin-left:6px;color:#14161c}
.aca-page-member .btn_confirm_reg{max-width:760px;margin:-26px auto 56px;text-align:center}
.aca-page-member .btn_confirm_reg .reg_btn_submit{display:inline-flex;align-items:center;justify-content:center;min-width:240px;height:54px;border-radius:12px;background:var(--aca-primary,#8a1601);color:#fff;font-size:16px;font-weight:700;text-decoration:none;transition:filter .2s}
.aca-page-member .btn_confirm_reg .reg_btn_submit:hover{filter:brightness(.88)}

/* 4) 인증메일 주소 변경 (register_email.php) */
.aca-page-member .rg_em_p{max-width:760px;margin:40px auto 18px;padding:14px 18px;border-radius:12px;background:#f6f7fa;font-size:13.5px;color:#555b68;line-height:1.6}
.aca-page-member .rg_em{max-width:760px;margin:0 auto;background:#fff;border:1px solid #eceef3;border-radius:22px;box-shadow:0 30px 70px -34px rgba(15,18,26,.18);padding:32px 36px;box-sizing:border-box}
.aca-page-member .rg_em table{width:100%;border-collapse:collapse;font-size:14px}
.aca-page-member .rg_em th{width:130px;padding:10px 8px;color:#3c4250;font-weight:600;text-align:left;vertical-align:middle}
.aca-page-member .rg_em td{padding:10px 8px}
.aca-page-member .rg_em .frm_input{display:inline-block;width:100%;max-width:340px;height:48px;padding:0 16px;border:1px solid #dfe3ec;border-radius:12px;background:#f8f9fb;font-size:14px;box-sizing:border-box}

/* 처음으로 돌아가기 (tail.sub.php에서 출력) */
.aca-member-back{margin:26px auto 72px;text-align:center}
.aca-member-back a{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border:1px solid #e0e3ec;border-radius:999px;background:#fff;color:#555b68;font-size:14px;font-weight:600;text-decoration:none;transition:color .2s,border-color .2s}
.aca-member-back a:hover,.aca-member-back a:focus{color:var(--aca-primary,#8a1601);border-color:var(--aca-primary,#8a1601)}

@media (max-width:640px){
.aca-page-member #mb_login,.aca-page-member #mb_confirm{margin-top:5vh}
.aca-page-member .mbskin_box,.aca-page-member #mb_confirm{padding:34px 24px 30px;border-radius:18px}
.aca-page-member .mbskin h1{font-size:23px}
.aca-page-member .register{margin:28px auto}
.aca-page-member .register,.aca-page-member .rg_em{padding:28px 20px 24px;border-radius:18px}
.aca-page-member .btn_confirm .btn_close,.aca-page-member .btn_confirm .btn_cancel{flex:0 0 104px;font-size:15px}
.aca-page-member .register .frm_input.twopart_input{width:140px}
.aca-member-back{margin-bottom:48px}
}
