@charset "utf-8";
/* biz_04 (GREENON) 테마 · 회원 스킨 (로그인 · 회원가입 · 정보수정 등) */

/* ── 공통 카드 ───────────────────────────────────── */
.auth,.join-wrap{max-width:1000px;margin:0 auto}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}
.auth .card{padding:46px 44px}
.auth h2{font-size:26px;font-weight:900;text-align:center;margin-bottom:8px}
.auth .sub{text-align:center;font-size:13.5px;color:var(--mut);margin-bottom:30px}
.fld{margin-bottom:16px}
.fld label{display:block;font-weight:800;font-size:13.5px;margin-bottom:7px;color:var(--grn-900)}
.auth .opts{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--mut);margin:4px 0 22px;flex-wrap:wrap;gap:8px}
.auth .opts a:hover{color:var(--grn-700);text-decoration:underline}
.chk{display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.auth .join{margin-top:24px;text-align:center;font-size:13.5px;color:var(--mut)}
.auth .join a{margin-left:8px;font-weight:800;color:var(--grn-700)}
.auth .join a:hover{text-decoration:underline}
.or{display:flex;align-items:center;gap:14px;font-family:'Nunito',sans-serif;font-weight:800;font-size:12px;color:var(--mut);margin:26px 0 16px;letter-spacing:.14em}
.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}
.sns{display:grid;gap:10px}
.sns a{display:flex;align-items:center;justify-content:center;gap:10px;padding:13px;border-radius:999px;font-size:14px;border:1.5px solid var(--line);background:#fff}
.sns a:hover{border-color:var(--grn-500)}
.guest_privacy{max-height:160px;overflow-y:auto;background:var(--mint);border-radius:var(--r-md);padding:18px 20px;font-size:13.5px;line-height:1.8;color:var(--mut);margin-bottom:14px}

/* ── 로그인 : 좌측 그린 웰컴 패널 ────────────────── */
.b04_login .auth-split{display:grid;grid-template-columns:1fr 1.1fr;gap:0;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}
.b04_login .welcome{position:relative;padding:56px 44px;color:#fff;overflow:hidden;background:linear-gradient(150deg,var(--grn-900),var(--grn-700) 60%,var(--grn-500));display:flex;flex-direction:column;justify-content:center}
.b04_login .welcome:before{content:"";position:absolute;right:-90px;top:-100px;width:280px;height:280px;border-radius:50%;background:rgba(132,204,22,.18)}
.b04_login .leaf-deco{position:absolute;right:-14px;bottom:-16px;width:170px;height:170px;fill:rgba(255,255,255,.10);opacity:.9}
.b04_login .welcome .lb{position:relative;font-family:'Nunito',sans-serif;font-weight:800;font-size:12.5px;letter-spacing:.22em;color:var(--lime)}
.b04_login .welcome h3{position:relative;margin-top:12px;font-size:31px;font-weight:900;line-height:1.35}
.b04_login .welcome p{position:relative;margin-top:14px;font-size:14.5px;line-height:1.8;opacity:.85}
.b04_login .auth-split .card{border:0;border-radius:0;box-shadow:none}

/* ── 가입 단계 표시 ──────────────────────────────── */
.steps{display:flex;justify-content:center;gap:10px;margin-bottom:30px;flex-wrap:wrap}
.steps li{display:flex;align-items:center;gap:9px;padding:11px 22px;border-radius:999px;background:#fff;border:1.5px solid var(--line);font-size:14px;color:var(--mut)}
.steps b{display:inline-flex;width:24px;height:24px;border-radius:50%;background:var(--mint-2);color:var(--grn-700);font-family:'Nunito',sans-serif;font-weight:900;font-size:13px;align-items:center;justify-content:center}
.steps li.on{background:var(--grn-700);border-color:var(--grn-700);color:#fff}
.steps li.on b{background:var(--lime);color:var(--grn-900)}
.steps li.done{border-color:var(--grn-300);color:var(--grn-700)}
.steps li.done b{background:var(--lime-soft);color:var(--grn-700)}

/* ── 약관동의 (라운드 토글 카드) ─────────────────── */
.b04_join .card{padding:40px 42px}
.b04_join h3{font-size:21px;font-weight:900;margin-bottom:22px}
.b04_join h3 small{display:block;margin-top:8px;font-size:13.5px;font-weight:400;color:var(--mut)}
.terms .chk.all{display:flex;align-items:center;gap:12px;background:var(--grn-700);color:#fff;border-radius:999px;padding:16px 26px;font-weight:800;font-size:15.5px;margin-bottom:20px}
.terms .chk.all input{accent-color:var(--lime)}
.terms .it{margin-top:16px}
.terms .it .chk{background:var(--mint);border:1.5px solid var(--mint-2);border-radius:999px;padding:13px 24px;font-weight:700;font-size:14.5px;width:100%}
.terms .req{margin-left:6px;font-size:12px;font-weight:800;color:var(--grn-500)}
.terms-box{max-height:180px;overflow-y:auto;margin-top:10px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:20px 24px;font-size:13.5px;line-height:1.85;color:var(--mut);white-space:pre-line}
.tbl-terms{font-size:13px}
.tbl-terms th,.tbl-terms td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.tbl-terms th{background:var(--mint);color:var(--grn-700);font-weight:800;white-space:nowrap}
.formfoot{display:flex;justify-content:center;gap:10px;margin-top:30px}

/* ── 가입양식 ────────────────────────────────────── */
/* 첫 섹션(사이트 이용정보 입력)만 <div class="register_form_inner"> 이고 나머지는
   tbl_frm01 이 함께 붙는다. 카드 모양을 tbl_frm01 에만 걸어 두어 첫 섹션만 카드가 아니었다.
   (2026-08-31 점검) */
.b04_regform .card,.b04_regform #register_form,.b04_regform .tbl_frm01,
.b04_regform .register_form_inner{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:34px 38px;margin-bottom:20px}
.register_form_inner ul{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.register_form_inner li{min-width:0}
.register_form_inner li.full_li,.register_form_inner li.full_input,.register_form_inner li.reg_mb_img_file{grid-column:1/-1}
.register_form_inner label,.b04_regform label{display:block;font-weight:800;font-size:13.5px;margin-bottom:7px;color:var(--grn-900)}
.b04_regform label.inline,.b04_regform .chk_li label{display:inline;font-weight:400}
.frm_input{width:100%}
.twopart_input{width:150px;display:inline-block}
.btn_frmline{display:inline-flex;align-items:center;padding:12px 20px;margin-left:6px;border-radius:999px;background:var(--mint);border:1.5px solid var(--mint-2);color:var(--grn-700);font-size:13.5px;font-weight:700}
.btn_frmline:hover{background:var(--grn-700);color:#fff;border-color:var(--grn-700)}
.frm_address{margin-top:8px}
.b04_regform .frm_info,.cert_desc{font-size:12.5px;color:var(--mut);font-weight:400}
.cert_req{margin-left:6px;font-size:12px;font-weight:800;color:var(--grn-500)}
.tooltip_icon{position:relative;margin-left:5px;color:var(--grn-300)}
.tooltip{display:none;position:absolute;left:0;top:130%;z-index:20;width:280px;background:var(--grn-900);color:#fff;font-size:12.5px;font-weight:400;line-height:1.7;border-radius:var(--r-sm);padding:12px 15px}
.tooltip_icon:hover+.tooltip,.tooltip_icon:focus+.tooltip{display:block}
.chk_box,.chk_li{display:flex;gap:18px;flex-wrap:wrap;background:var(--mint);border-radius:var(--r-sm);padding:13px 18px;font-size:14px}
#msg_certify{font-size:13px;color:var(--mut);margin-top:8px}
.b04_regform textarea{min-height:110px}
.b04_regform .btn_confirm{display:flex;justify-content:center;gap:10px;margin-top:28px}

/* ── 가입환영 ────────────────────────────────────── */
.b04_result{padding:52px 46px;text-align:center}
.b04_result .sprout{display:inline-flex;width:96px;height:96px;border-radius:50%;background:var(--mint);align-items:center;justify-content:center;margin-bottom:22px}
.b04_result .sprout svg{width:56px;height:56px}
.b04_result .sprout .pot{fill:var(--grn-700)}
.b04_result .sprout .stem{stroke:var(--grn-500)}
.b04_result .sprout .lf{fill:var(--lime)}
.b04_result .lead{font-size:22px;font-weight:900;line-height:1.5}
.b04_result .lead strong{color:var(--grn-700)}
.b04_result .txt{margin-top:16px;font-size:14.5px;line-height:1.9;color:var(--mut)}
.b04_result .txt.small{font-size:13px}
.result_email{display:grid;gap:10px;max-width:420px;margin:22px auto 0}
.result_email>div{display:flex;justify-content:space-between;gap:14px;background:var(--mint);border-radius:999px;padding:13px 24px;font-size:14px}
.result_email span{color:var(--mut)}
.result_email strong{color:var(--grn-700)}

/* ── 그 밖의 회원 화면 (정보수정·메모·포인트·스크랩) ── */
.mbskin{max-width:560px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:44px 42px}
.mbskin h1,.mbskin h2{font-size:23px;font-weight:900;text-align:center;margin-bottom:22px}
.tbl_head01,.tbl_head02{width:100%;font-size:14px}
.tbl_head01 th,.tbl_head02 th{background:var(--mint);color:var(--grn-700);font-weight:800;padding:14px 12px;border-bottom:1px solid var(--mint-2)}
.tbl_head01 td,.tbl_head02 td{padding:14px 12px;border-bottom:1px solid var(--line)}
.tbl_wrap{overflow-x:auto}
.empty_table,.empty_li{padding:60px 0;text-align:center;color:var(--mut);background:var(--mint);border-radius:var(--r-md)}
.btn_b01,.btn_b02,.btn_submit,.btn_close,.list_btn,.memo_btn,.reply_btn,.del_btn,.find_btn,.win_btn a,.win_btn button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 24px;border-radius:999px;font-weight:700;font-size:14px;border:1.5px solid transparent}
.btn_b01,.btn_submit{background:var(--grn-700);color:#fff}
.btn_b01:hover,.btn_submit:hover{background:var(--grn-500)}
.btn_b02,.btn_close,.list_btn{background:#fff;border-color:var(--line);color:var(--mut)}
.btn_b02:hover,.btn_close:hover,.list_btn:hover{border-color:var(--grn-500);color:var(--grn-700)}
.btn_confirm{display:flex;justify-content:center;gap:10px;margin-top:26px}
.new_win{max-width:720px;margin:0 auto;padding:28px 24px}
.new_win h1{font-size:21px;font-weight:900;margin-bottom:18px}
.new_win_con{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:26px}
.my_profile_img img,.profile_big_img img,.memo_profile img{border-radius:50%}
.point_top{display:flex;justify-content:space-between;align-items:center;background:var(--mint);border-radius:var(--r-md);padding:18px 24px;margin-bottom:18px;font-size:15px}
.point_all{font-family:'Nunito',sans-serif;font-weight:900;font-size:22px;color:var(--grn-700)}
.memo_li,.memo_view_li,.scrap_tit{border-bottom:1px solid var(--line);padding:14px 4px}
.no_read{font-weight:800;color:var(--grn-700)}

/* ── 개인정보 동의 팝업(consent_modal) ───────────── */
.cd-card{background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow);padding:30px 32px;max-width:560px}
.cd-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.cd-title{font-size:18px;font-weight:900}
.cd-body{max-height:320px;overflow-y:auto;font-size:13.5px;line-height:1.85;color:var(--mut)}
.cd-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}
.consent-line{padding:8px 0;border-bottom:1px solid var(--line);font-size:13.5px}

/* ── 반응형 ──────────────────────────────────────── */
@media (max-width:900px){
  .b04_login .auth-split{grid-template-columns:1fr}
  .b04_login .welcome{padding:38px 32px}
  .b04_login .welcome h3{font-size:25px}
  .b04_login .leaf-deco{width:120px;height:120px}
}
@media (max-width:768px){
  .auth .card,.b04_join .card{padding:30px 24px}
  .b04_regform .card,.b04_regform #register_form,.b04_regform .tbl_frm01{padding:24px 20px}
  .register_form_inner ul{grid-template-columns:1fr}
  .steps li{padding:9px 16px;font-size:13px}
  .b04_result{padding:36px 24px}
  .b04_result .lead{font-size:19px}
  .mbskin{padding:28px 22px}
  .btn_frmline{margin:8px 0 0}
  .twopart_input{width:120px}
}
