@charset "utf-8";
/* ============================================================
   Straumann Campus — 회원가입 재스킨 (register_redesign.css)
   ------------------------------------------------------------
   적용 방식: 기존 마크업(name/id/JS)을 전혀 건드리지 않고
   "겉모습만" 카드 + 칩 + 상단라벨 형태로 덮어씁니다.
   → 제출(submit)·검증(JS)·본인인증·추천인 AJAX 로직이 깨지지 않음.
   ※ style.css 뒤(순서 1)로 로드. /skin/member/basic/ 및
     /mobile/skin/member/basic/ 동일 파일 사용(반응형 통합).
   ============================================================ */

/* ---- 0. 페이지 톤 / 컨테이너 -------------------------------- */
.subpage.register{
  background:#F5F6F7;
  font-family:'Pretendard','Apple SD Gothic Neo',-apple-system,BlinkMacSystemFont,sans-serif;
}
.subpage.register .inner_container{
  max-width:720px; margin:0 auto; padding:0 16px;
}
.subpage.register .logo_title{ padding:18px 0 4px; }
.subpage.register .logo_title img{ height:28px; width:auto; }
.subpage.register .logo_title h2{
  font-size:23px !important; font-weight:800 !important;
  letter-spacing:-.4px; color:#15181D; margin-top:10px !important;
}

/* ---- 0-b. 섹션 헤더 (번호 배지) ----------------------------- */
.subpage.register #register_form .register_form_inner ul li.sec_head{
  flex-direction:row !important; align-items:center !important; gap:9px !important;
  margin:0 0 2px !important; padding:0 0 11px !important;
  border-bottom:1px solid #F0F1F3;
  font-size:15.5px !important; font-weight:700 !important; color:#21242A !important;
}
.subpage.register #register_form .register_form_inner ul li.sec_head::before{
  content:attr(data-no); flex-shrink:0;
  width:23px; height:23px; border-radius:8px;
  background:#363A3A; color:#fff; font-size:12px; font-weight:700;
  display:flex; align-items:center; justify-content:center;
}
.subpage.register #register_form .register_form_inner ul li.sec_head em{
  font-style:normal; font-size:11px; font-weight:600; color:#9AA0A8;
  background:#F2F3F5; padding:3px 8px; border-radius:6px; margin-left:2px;
}
.subpage.register #register_form .register_form_inner ul li.sec_head em.req{
  color:#1F5E4E; background:#E7F1ED;
}
/* 추천인(6)·약관/수신(7) 헤더에도 번호 배지 + 선택/필수 — sec_head와 동일 톤 */
.subpage.register .referral_section h4[data-no],
.subpage.register #register_form h2.sec_h2[data-no]{
  display:flex !important; align-items:center !important; gap:9px;
}
.subpage.register .referral_section h4[data-no]::before,
.subpage.register #register_form h2.sec_h2[data-no]::before{
  content:attr(data-no); flex-shrink:0; width:23px; height:23px; border-radius:8px;
  background:#363A3A; color:#fff; font-size:12px; font-weight:700;
  display:flex; align-items:center; justify-content:center;
}
.subpage.register .referral_section h4 em,
.subpage.register #register_form h2.sec_h2 em{
  font-style:normal; font-size:11px; font-weight:600; color:#9AA0A8;
  background:#F2F3F5; padding:3px 8px; border-radius:6px; margin-left:2px;
}
.subpage.register .referral_section h4 em.req,
.subpage.register #register_form h2.sec_h2 em.req{
  color:#1F5E4E; background:#E7F1ED;
}
/* 자동등록방지 카드 헤더(h2)를 섹션 헤더처럼 */
.subpage.register #register_form .tbl_frm01 > h2,
.subpage.register #register_form h2.sec_h2{
  font-size:15.5px !important; font-weight:700 !important; color:#21242A !important;
  margin:0 0 11px !important; padding:0 0 11px !important;
  border-top:none !important; /* style.css '#register_form h2{border-top}' 제거 → 헤더 위 줄 제거 */
  border-bottom:1px solid #F0F1F3 !important; text-align:left !important;
}
/* 약관·수신 블록 자체를 하나의 카드로 (h2 + ul 함께) */
.subpage.register #register_form .tbl_frm01.register_form_inner{
  background:#fff !important; border:1px solid #ECEEF1; border-radius:16px;
  padding:16px 16px; box-shadow:0 1px 2px rgba(16,24,40,.03);
  margin-top:11px; /* 다른 박스와 동일한 상단 간격 (박스 6과 붙는 현상 방지) */
}
.subpage.register #register_form .tbl_frm01.register_form_inner > ul{
  background:transparent !important; border:none !important; border-radius:0 !important;
  padding:0 !important; box-shadow:none !important;
}

/* ---- 1. 폼 컨테이너 / 카드 ---------------------------------- */
.subpage.register #register_form{ margin-top:14px !important; }
.subpage.register #register_form .register_form_inner{
  display:flex; flex-direction:column; gap:11px;
}
/* 기존의 <ul> 묶음을 흰색 섹션 카드로 */
.subpage.register #register_form .register_form_inner > ul{
  background:#fff; border:1px solid #ECEEF1; border-radius:16px;
  padding:16px 16px; margin:0;
  box-shadow:0 1px 2px rgba(16,24,40,.03);
  display:flex; flex-direction:column; gap:13px;
}

/* ---- 2. 행(li): 상단 라벨 + 전체폭 입력 --------------------- */
.subpage.register #register_form .register_form_inner ul li{
  display:flex !important; flex-direction:column !important;
  align-items:stretch !important; gap:6px; margin:0 !important;
}
/* 라벨: 좌측 고정폭 → 상단 전체폭 */
.subpage.register #register_form .register_form_inner ul li > label,
.subpage.register #register_form .register_form_inner ul li.id_auth .id_wrap label,
.subpage.register #register_form .register_form_inner ul li.id_auth .auth_wrap .empty{
  width:100% !important; text-align:left !important; padding-right:0 !important;
  font-size:13px !important; font-weight:600 !important;
  color:#454B53 !important; margin-bottom:0 !important; line-height:1.3 !important;
}
.subpage.register #register_form .register_form_inner ul li.id_auth .auth_wrap .empty{ display:none !important; }
/* 라벨 옆 보조 배지 (예: 아이디 "이메일") */
.subpage.register #register_form .register_form_inner ul li .lbl_sub{
  display:inline-block; font-weight:700; font-size:11px; color:#1F5E4E;
  background:#E7F1ED; padding:2px 7px; border-radius:5px; margin-left:6px; vertical-align:1px;
}
/* 필드 하단 보조 설명 텍스트 */
.subpage.register #register_form .register_form_inner ul li .field_help{
  font-size:12px !important; color:#9AA0A8 !important; line-height:1.3; margin-top:-1px;
}
/* 필수 표시(빨강 별 대신 브랜드 그린) */
.subpage.register #register_form .register_form_inner .required,
.subpage.register #register_form .register_form_inner label.required{ color:#454B53 !important; }
.subpage.register #register_form .register_form_inner label.required::after{
  content:" *"; color:#2D7663; font-weight:700;
}

/* ---- 3. 입력 필드 ------------------------------------------ */
.subpage.register #register_form .register_form_inner ul li input[type="text"],
.subpage.register #register_form .register_form_inner ul li input[type="password"],
.subpage.register #register_form .register_form_inner ul li input[type="email"],
.subpage.register #register_form .register_form_inner ul li input[type="number"],
.subpage.register #register_form .register_form_inner ul li select{
  width:100% !important; height:48px !important; box-sizing:border-box;
  border:1px solid #D4D9D8 !important; border-radius:11px !important;
  padding:0 14px !important; font-size:15px !important; color:#21242A !important;
  background:#fff !important; box-shadow:none !important; outline:none;
  transition:border-color .15s, box-shadow .15s;
}
.subpage.register #register_form .register_form_inner ul li input:focus,
.subpage.register #register_form .register_form_inner ul li select:focus{
  border-color:#2D7663 !important; box-shadow:0 0 0 3px rgba(45,118,99,.13) !important;
}
.subpage.register #register_form .register_form_inner ul li input[readonly]{
  background:#F8F9FA !important; color:#5A6068 !important;
}
.subpage.register #register_form .register_form_inner ul li input::placeholder{ color:#9AA0A8 !important; }

/* 입력 + 버튼 한 줄 (아이디 인증 / 우편번호 등) */
.subpage.register #register_form .register_form_inner ul li .input_btn{
  width:100% !important; display:flex; gap:8px; align-items:center;
}
.subpage.register #register_form .register_form_inner ul li .input_btn input{
  flex:1; min-width:0; width:auto !important;
}
.subpage.register #register_form .register_form_inner ul li .input_btn button,
.subpage.register #register_form .register_form_inner ul li .input_btn input.btn_frmline,
.subpage.register .btn_frmline{
  flex-shrink:0; width:auto !important; min-width:92px; height:48px !important;
  padding:0 16px !important; border-radius:11px !important;
  border:1px solid #363A3A !important; background:#fff !important;
  color:#363A3A !important; font-size:14px !important; font-weight:700 !important;
  cursor:pointer; white-space:nowrap; line-height:1 !important;
}
.subpage.register #register_form .register_form_inner ul li .input_btn button:hover,
.subpage.register .btn_frmline:hover{ background:#F2F3F4 !important; }
/* 우편번호 찾기·주소검색 등 "채움" 버튼은 차콜 솔리드 */
.subpage.register .input_btn.addBox input.btn_frmline[value*="우편번호"],
.subpage.register .input_btn input.btn_frmline[value*="우편번호"]{
  background:#363A3A !important; color:#fff !important; border-color:#363A3A !important; order:2;
}

/* ---- 4. 직업(radio) → 칩 ----------------------------------- */
.subpage.register #register_form .register_form_inner ul li .radio_box{
  width:100% !important; display:flex !important; flex-wrap:wrap; gap:8px;
  justify-content:flex-start !important; box-shadow:none !important;
}
.subpage.register #register_form .register_form_inner ul li .radio_box label{
  width:auto !important; margin:0 !important; padding:0 15px !important;
  height:42px; display:inline-flex; align-items:center;
  border:1px solid #DDE1E0; border-radius:11px; background:#fff;
  color:#5A6068 !important; font-size:13.5px !important; font-weight:600 !important;
  line-height:1 !important; cursor:pointer; transition:all .15s; white-space:nowrap;
}
/* 라디오 동그라미 숨김 */
.subpage.register #register_form .register_form_inner ul li .radio_box label span.radio_figure{ display:none !important; }
.subpage.register #register_form .register_form_inner ul li .radio_box input[type="radio"]:checked + label{
  border:1.5px solid #2D7663; background:#E7F1ED; color:#1F5E4E !important;
}

/* ---- 5. 제품/경로(checkbox) → 칩 --------------------------- */
.subpage.register #register_form .register_form_inner .checkvalue > label{
  align-self:flex-start; width:100% !important; margin-bottom:2px !important;
}
.subpage.register #register_form .register_form_inner .checkvalue > label br{ display:none; }
.subpage.register #register_form .register_form_inner .checkvalue .checkbox_box{
  width:100% !important; display:flex !important; flex-wrap:wrap; gap:8px;
}
.subpage.register #register_form .register_form_inner .checkvalue .checkbox_item{
  width:auto !important; display:inline-flex !important; align-items:center; margin:0 !important;
}
.subpage.register #register_form .register_form_inner .checkvalue .checkbox_item input[type="checkbox"]{
  position:absolute; opacity:0; width:0 !important; height:0; pointer-events:none;
}
.subpage.register #register_form .register_form_inner .checkvalue .checkbox_item label{
  margin:0 !important; padding:0 14px !important; height:40px;
  display:inline-flex; align-items:center;
  border:1px solid #DDE1E0; border-radius:10px; background:#fff;
  color:#5A6068 !important; font-size:13px !important; font-weight:600 !important;
  line-height:1 !important; cursor:pointer; transition:all .15s; white-space:nowrap;
}
.subpage.register #register_form .register_form_inner .checkvalue .checkbox_item label span.checkbox_figure{ display:none !important; }
.subpage.register #register_form .register_form_inner .checkvalue .checkbox_item input[type="checkbox"]:checked + label{
  border:1.5px solid #2D7663; background:#E7F1ED; color:#1F5E4E !important;
}
/* 경로 '기타' 텍스트 입력 */
.subpage.register #register_form .register_form_inner .checkvalue .checkbox_item input[type="text"]#mb_7{
  width:200px !important; height:40px !important; margin-left:8px;
  border:1px solid #D4D9D8 !important; border-radius:10px !important;
}

/* ---- 6. 수신동의(체크 토글) -------------------------------------------------
   기존 테마(style.css)의 메커니즘을 그대로 따른다:
     · 네이티브 input(.selec_chk)은 화면에서 숨김
     · <label> 안의 <span> 을 "보이는 체크박스"로 그림 (원본은 15px+chk.png)
   여기서는 그 span 을 teal 박스 + CSS 체크표시로 재스킨한다.
   (style.css 의 .chk_box ... + label span 규칙을 더 높은 특이성+!important로 덮어씀)
   --------------------------------------------------------------------------- */
.subpage.register #register_form .register_form_inner ul li.chk_box{
  flex-direction:row !important; align-items:center !important; gap:11px;
  padding:11px 2px !important;
}
/* 토글 사이에만 구분선 — 첫 토글 위(헤더 밑줄 바로 아래)엔 줄을 넣지 않음 */
.subpage.register #register_form .register_form_inner ul li.chk_box + li.chk_box{
  border-top:1px solid #F2F3F5;
}
/* 안내 텍스트 */
.subpage.register #register_form .register_form_inner ul li.chk_box .chk_li{
  order:2; flex:1; font-size:14px; font-weight:600; color:#2A2F37; padding-left:0 !important;
}
/* 클릭 영역(label) — for= 로 네이티브 input 토글 */
.subpage.register #register_form .register_form_inner ul li.chk_box label{
  order:1; width:24px !important; min-width:24px !important; height:24px;
  margin:0 !important; padding:0 !important; line-height:0 !important;
  flex:0 0 auto; cursor:pointer;
}
/* label 안의 span = 보이는 체크박스 (미체크) */
.subpage.register #register_form .register_form_inner ul li.chk_box label span{
  display:block !important; position:relative; float:none !important;
  width:24px !important; height:24px !important; box-sizing:border-box !important;
  border:1.5px solid #C5CBD3 !important; border-radius:7px !important;
  background:#fff !important; transition:all .15s;
}
/* 체크 시 — teal 채움 + 흰색 체크표시 */
.subpage.register #register_form .register_form_inner ul li.chk_box input[type="checkbox"]:checked + label span{
  background:#2D7663 !important; border-color:#2D7663 !important;
}
.subpage.register #register_form .register_form_inner ul li.chk_box input[type="checkbox"]:checked + label span::after{
  content:""; position:absolute; left:8px; top:4px; width:5px; height:10px;
  border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg);
}
/* 네이티브 input 은 화면에서 숨김(접근성용으로 DOM 유지) */
.subpage.register #register_form .register_form_inner ul li.chk_box input[type="checkbox"]{
  position:absolute !important; width:1px !important; height:1px !important;
  opacity:0 !important; margin:0 !important; pointer-events:none;
}

/* ---- 7. 추천인 섹션 (파란 디버그 박스 → 깔끔한 카드) -------- */
.subpage.register .referral_section{
  background:#fff !important; border:1px solid #ECEEF1 !important;
  border-radius:16px !important; padding:16px 16px !important;
  margin-top:11px !important; box-shadow:0 1px 2px rgba(16,24,40,.03);
}
.subpage.register .referral_section h4{
  font-size:15.5px !important; font-weight:700 !important; color:#21242A !important;
  margin:0 0 11px !important;
}
/* 추천인 헤더도 다른 섹션 헤더처럼 하단 밑줄 통일 */
.subpage.register .referral_section h4[data-no]{
  margin:0 0 14px !important; padding:0 0 11px !important; border-bottom:1px solid #F0F1F3;
}
.subpage.register .referral_tabs{
  display:inline-flex; background:#F2F3F5; border-radius:11px; padding:4px; margin-bottom:12px !important;
}
.subpage.register .referral_tab_btn{
  border:none !important; background:transparent !important; border-radius:8px !important;
  padding:9px 16px !important; margin:0 !important; font-size:13.5px !important;
  font-weight:700 !important; color:#8A9099 !important; cursor:pointer;
}
.subpage.register .referral_tab_btn.active{
  background:#fff !important; color:#15181D !important;
  box-shadow:0 1px 3px rgba(16,24,40,.12);
}
.subpage.register .referral_search_input{ gap:8px !important; }
.subpage.register .referral_section .frm_input{
  height:46px !important; border:1px solid #D4D9D8 !important; border-radius:10px !important;
}
.subpage.register #referral_search_result > div{ border:1px solid #E5E8E7 !important; border-radius:10px !important; }

/* ---- 8. 자동등록방지 / captcha ----------------------------- */
.subpage.register #register_form .register_form_inner ul li.is_captcha_use{
  background:#fff; align-items:flex-start;
}
/* captcha 입력칸(6자리)이 전역 width:100% 때문에 늘어나는 것 방지 → 고정폭 */
.subpage.register #register_form .register_form_inner ul li.is_captcha_use input#captcha_key,
.subpage.register #register_form .register_form_inner ul li.is_captcha_use input.captcha_box{
  width:150px !important; max-width:150px !important; display:inline-block !important;
  text-align:center; letter-spacing:3px; font-weight:600;
}

/* ---- 9. 제출 버튼 ------------------------------------------ */
.subpage.register .btn_confirm{ margin-top:4px; }
.subpage.register .btn_confirm button.btn_submit{
  display:block; width:100% !important; margin:14px auto 28px !important; float:none !important;
  height:auto; padding:16px 0 !important; border:none !important;
  border-radius:12px !important; background:#363A3A !important;
  color:#fff !important; font-size:16.5px !important; font-weight:700 !important; line-height:1 !important;
  transition:background .15s;
}
.subpage.register .btn_confirm button.btn_submit:hover{ background:#2D7663 !important; }

/* ---- 10. 인증완료/안내 보조 텍스트 ------------------------- */
.subpage.register .cert_desc{ font-size:12px; color:#2D7663; font-weight:600; }

/* ---- 11. 좌측 브랜드 안내 패널 ----------------------------- */
.subpage.register .reg_brand_aside{
  display:none; /* 기본 숨김, 데스크톱에서만 노출 */
  background:#21242A; color:#fff; border-radius:18px; padding:38px 32px;
  position:sticky; top:24px; overflow:hidden;
}
.subpage.register .reg_brand_aside::before{
  content:""; position:absolute; right:-120px; top:-100px; width:320px; height:320px;
  border-radius:50%; background:radial-gradient(circle, rgba(45,118,99,.42), rgba(45,118,99,0) 70%);
}
.subpage.register .reg_brand_aside > *{ position:relative; z-index:1; }
.subpage.register .reg_brand_aside .rba_top{ display:flex; align-items:baseline; gap:10px; }
.subpage.register .reg_brand_aside .rba_top img{ height:26px; width:auto; filter:brightness(0) invert(1); }
.subpage.register .reg_brand_aside .rba_campus{ font-size:10px; font-weight:700; letter-spacing:3px; color:#7E8893; }
.subpage.register .reg_brand_aside .rba_head{ font-size:26px; font-weight:800; letter-spacing:-.5px; line-height:1.4; margin-top:30px; }
.subpage.register .reg_brand_aside .rba_sub{ font-size:14px; line-height:1.7; color:#A8B0B9; margin-top:14px; }
.subpage.register .reg_brand_aside .rba_benefits{ list-style:none; margin:28px 0 0; padding:0; display:flex; flex-direction:column; gap:15px; }
.subpage.register .reg_brand_aside .rba_benefits li{ display:flex; align-items:center; gap:13px; margin:0; }
.subpage.register .reg_brand_aside .rba_benefits i{
  flex-shrink:0; width:38px; height:38px; border-radius:11px; font-style:normal; font-size:16px;
  background:rgba(45,118,99,.20); border:1px solid rgba(45,118,99,.45); color:#5FBF9F;
  display:flex; align-items:center; justify-content:center;
}
.subpage.register .reg_brand_aside .rba_benefits b{ display:block; font-size:14px; font-weight:700; color:#fff; }
.subpage.register .reg_brand_aside .rba_benefits span{ display:block; font-size:12.5px; color:#8E97A1; margin-top:1px; }
.subpage.register .reg_brand_aside .rba_foot{ margin-top:30px; font-size:13px; color:#6E7782; }
.subpage.register .reg_brand_aside .rba_foot a{ color:#fff; font-weight:700; text-decoration:underline; }

/* 데스크톱: 2단 (좌 브랜드 / 우 폼) */
@media (min-width:900px){
  .subpage.register .inner_container{
    max-width:1140px !important; display:grid; grid-template-columns:340px 1fr; gap:32px; align-items:start;
  }
  .subpage.register .inner_container > form{ min-width:0; }
  .subpage.register .reg_brand_aside{ display:block; }
  .subpage.register .logo_title{ display:none; } /* 로고는 브랜드 패널에 있음 */
}

/* ============================================================
   반응형 (모바일) — 칩/카드 구조는 그대로, 여백만 축소
   ============================================================ */
@media (max-width:480px){
  .subpage.register .inner_container{ padding:0 12px; }
  .subpage.register #register_form .register_form_inner > ul{ padding:14px 14px; border-radius:14px; gap:12px; }
  .subpage.register #register_form .tbl_frm01.register_form_inner,
  .subpage.register .referral_section{ padding:14px 14px !important; }
  .subpage.register .logo_title h2{ font-size:20px !important; }
  .subpage.register #register_form .register_form_inner ul li .radio_box label{ height:40px; padding:0 13px !important; }
  .subpage.register #register_form .register_form_inner .checkvalue .checkbox_item input[type="text"]#mb_7{ width:100% !important; margin:8px 0 0; }
  .subpage.register .referral_search_input{ flex-wrap:wrap; }
  .subpage.register .referral_section .frm_input,
  .subpage.register #search_type{ width:100% !important; }
}

/* ============================================================
   약관 동의 페이지 (/bbs/register · #fregister)
   register_form / login 과 동일한 카드·칩·다크버튼 시스템으로 통일.
   기존 마크업(name/id/JS)은 유지하고 겉모습만 덮어씁니다.
   ============================================================ */
.subpage.register #fregister{ display:block; }

/* 상단 타이틀 */
.subpage.register .reg_term_head{ margin:2px 0 14px; }
.subpage.register .reg_term_step{
  font-size:13px !important; font-weight:600 !important; color:#9AA0A8 !important; margin:0 0 4px !important;
}
.subpage.register .reg_term_title{
  font-size:23px !important; font-weight:800 !important; letter-spacing:-.4px;
  color:#15181D !important; margin:0 !important; border:none !important; padding:0 !important;
  background:none !important; text-align:left !important; line-height:1.35 !important;
}
.subpage.register .reg_term_desc{
  font-size:13.5px !important; color:#6B7178 !important; margin:7px 0 0 !important; line-height:1.55;
}
/* style.css '#fregister p {background:#2d7663;height:50px;text-align:center;color:#fff;...}'
   배너 스타일을 우리 안내 문단(p)에서 무력화 */
.subpage.register #fregister .reg_term_step,
.subpage.register #fregister .reg_term_desc,
.subpage.register #fregister .term_card_desc,
.subpage.register #fregister .reg_term_foot{
  background:none !important; height:auto !important; line-height:1.55 !important;
  text-align:left !important; border-radius:0 !important; font-weight:400 !important;
  padding:0 !important; position:static !important; color:#7E8893 !important;
}
.subpage.register #fregister .reg_term_step{ font-size:13px !important; font-weight:600 !important; color:#9AA0A8 !important; margin:0 0 4px !important; }
.subpage.register #fregister .reg_term_desc{ color:#6B7178 !important; }
.subpage.register #fregister .reg_term_foot{ text-align:center !important; }

/* 브랜드 패널 STEP 인디케이터 */
.subpage.register .reg_brand_aside .reg_steps{ list-style:none; margin:26px 0 0; padding:0; display:flex; flex-direction:column; gap:11px; }
.subpage.register .reg_brand_aside .reg_steps li{ display:flex; align-items:center; gap:10px; margin:0; font-size:13px; color:#6E7782; }
.subpage.register .reg_brand_aside .reg_steps li span{
  flex-shrink:0; width:20px; height:20px; border-radius:50%; font-size:11px; font-weight:700;
  background:#363A3A; color:#7E8893; display:flex; align-items:center; justify-content:center;
}
.subpage.register .reg_brand_aside .reg_steps li.on{ color:#fff; font-weight:600; }
.subpage.register .reg_brand_aside .reg_steps li.on span{ background:#2D7663; color:#fff; }

/* 전체 동의 (다크 히어로) — 한 줄 정렬, 컴팩트 */
.subpage.register #fregister .term_hero{
  position:static !important; display:block; background:#21242A; border-radius:14px;
  padding:13px 16px !important; margin:0 0 11px;
}
.subpage.register #fregister .term_hero label{
  position:relative !important; display:flex !important; flex-wrap:wrap; align-items:center;
  gap:2px 9px; cursor:pointer; color:#fff !important; padding-left:34px; min-height:22px;
}
.subpage.register #fregister .term_hero label b{ font-size:15px; font-weight:700; color:#fff; line-height:1.3; }
.subpage.register #fregister .term_hero label i{ font-style:normal; font-size:12px; color:#9AA0A8; line-height:1.3; }

/* 약관 카드 */
.subpage.register #fregister .term_card{
  background:#fff; border:1px solid #ECEEF1; border-radius:16px;
  padding:16px 16px; margin:0 0 11px; box-shadow:0 1px 2px rgba(16,24,40,.03);
}
.subpage.register #fregister .term_card > h2{
  display:flex; align-items:center; gap:9px;
  font-size:15.5px !important; font-weight:700 !important; color:#21242A !important;
  margin:0 0 12px !important; padding:0 0 11px !important;
  border-top:none !important; border-bottom:1px solid #F0F1F3 !important;
  text-align:left !important; background:none !important;
}
.subpage.register #fregister .term_card > h2 em{
  font-style:normal; font-size:11px; font-weight:600; color:#8A9099;
  background:#F2F3F5; padding:3px 8px; border-radius:6px; margin-left:2px;
}
.subpage.register #fregister .term_card > h2 em.req{ color:#1F5E4E; background:#E7F1ED; }
.subpage.register #fregister .term_card_desc{
  font-size:12.5px !important; color:#7E8893 !important; margin:-2px 0 12px !important; line-height:1.55;
}

/* 약관 본문 스크롤 박스 (기존 textarea 재활용) */
.subpage.register #fregister .term_card textarea{
  width:100% !important; height:148px !important; resize:none !important;
  background:#F7F8F9 !important; border:1px solid #EEF0F2 !important; border-radius:10px !important;
  padding:13px 14px !important; font-size:12.5px !important; line-height:1.7 !important;
  color:#5F6671 !important; box-sizing:border-box;
}

/* 개인정보 표 */
.subpage.register #fregister .term_table_wrap{
  border:1px solid #EEF0F2; border-radius:10px; overflow:hidden;
}
.subpage.register #fregister .term_table_wrap table{ width:100%; border-collapse:collapse; table-layout:fixed; }
.subpage.register #fregister .term_table_wrap caption{ position:absolute; left:-9999px; }
.subpage.register #fregister .term_table_wrap th{
  background:#F2F3F5; font-size:11.5px; font-weight:600; color:#5F6671;
  padding:9px 10px; text-align:left; border:none;
}
.subpage.register #fregister .term_table_wrap td{
  font-size:11.5px; color:#5F6671; padding:9px 10px; line-height:1.55;
  border-top:1px solid #EEF0F2; vertical-align:top; word-break:keep-all;
}

/* 동의 체크박스 행 — 기존 절대배치(우상단)를 풀폭 행으로 */
.subpage.register #fregister .agree_row{
  position:static !important; top:auto !important; right:auto !important;
  display:block; margin:12px 0 0 !important; padding:11px 12px;
  background:#FAFBFB; border:1px solid #EEF0F2; border-radius:10px;
}
.subpage.register #fregister .agree_row label{
  position:relative !important; display:flex !important; align-items:center; gap:10px;
  padding-left:32px; min-height:22px; cursor:pointer;
  font-size:13.5px !important; font-weight:600 !important; color:#21242A !important;
}
.subpage.register #fregister .term_optional .agree_row{ background:#fff; }
.subpage.register #fregister .term_optional .agree_row label{ font-weight:500 !important; color:#3A4048 !important; }

/* 체크박스 UI (span) — 그린 박스 + 흰 체크 */
.subpage.register #fregister .fregister_agree label span{
  position:absolute !important; left:0 !important; top:50% !important; right:auto !important;
  transform:translateY(-50%); width:22px !important; height:22px !important;
  background:#fff !important; border:1.5px solid #CFD4DA !important; border-radius:6px !important;
  box-sizing:border-box; transition:all .12s;
}
.subpage.register #fregister .term_hero label span{ border-color:#4A4E55 !important; background:transparent !important; }
.subpage.register #fregister .fregister_agree input[type="checkbox"]:checked + label span{
  background:#2D7663 !important; border-color:#2D7663 !important;
}
.subpage.register #fregister .fregister_agree input[type="checkbox"]:checked + label span::after{
  content:""; position:absolute; left:7px; top:3px; width:5px; height:10px;
  border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg);
}
.subpage.register #fregister .fregister_agree input[type="checkbox"]:focus + label span{
  box-shadow:0 0 0 3px rgba(45,118,99,.18);
}

/* 제출 영역 */
.subpage.register #fregister .btn_confirm{ margin-top:4px; }
.subpage.register .reg_term_foot{
  text-align:center; font-size:12px; color:#9AA0A8; margin:-14px 0 24px;
}

/* 약관 페이지 모바일 여백 */
@media (max-width:480px){
  .subpage.register #fregister .term_card{ padding:14px 14px; border-radius:14px; }
  .subpage.register .reg_term_title{ font-size:20px !important; }
  .subpage.register #fregister .term_card textarea{ height:130px !important; }
}
