@charset "utf-8";
/* biz_05 (MONO) 테마 · 공통 스타일
   흰 바탕 · 검정 · 노랑(#FFD400) 하나. 굵은 2px 보더, 각진 모서리, 대형 타이포. */

:root{
  --sans:'Noto Sans KR','Apple SD Gothic Neo',sans-serif;
  --latin:'Archivo Black','Noto Sans KR',sans-serif;
  --serif:'Noto Sans KR','Apple SD Gothic Neo',sans-serif; /* 회원폼 공용 클래스 호환용 */
  --ink:#111;--graphite:#555;--mute:#999;
  --line:#111;--line-soft:#e2e2e2;
  --yellow:#FFD400;
  --wine:#111;--wine-deep:#000;--gold:#FFD400;--blush:#FFD400;
  --porcelain:#f5f5f5;--paper:#fff;
  --radius:0px;
  --hd-h:72px;
}

/* ── 기본 ─────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);font-size:15px;line-height:1.7;color:var(--ink);background:var(--paper);word-break:keep-all;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,p,ul,ol,dl,dd,figure{margin:0;padding:0}
ul,ol{list-style:none}
img{max-width:100%;height:auto;border:0;vertical-align:middle}
/* 게시판·일반페이지 본문에 붙여넣은 넓은 표가 모바일에서 화면을 밀지 않게 한다 */
#bo_v_atc{overflow-x:auto}
#bo_v_atc table{max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
table{border-collapse:collapse;width:100%}
fieldset{border:0;margin:0;padding:0}
legend{position:absolute;font-size:0;line-height:0;overflow:hidden}
.sound_only{position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}

/* 팝업레이어(관리자 > 팝업레이어관리) — 제목은 읽기전용으로 감추고 창만 보이게 한다 */
#hd_pop{position:relative;z-index:1000;margin:0 auto;height:0}
#hd_pop h2{position:absolute;width:0;height:0;font-size:0;line-height:0;overflow:hidden}
.hd_pops{position:absolute;border:2px solid var(--ink);background:#fff}
.hd_pops img{max-width:100%}
.hd_pops_con{overflow:auto}
.hd_pops_footer{position:relative;padding:0;background:var(--ink);color:#fff;text-align:left}
.hd_pops_footer:after{content:"";display:block;clear:both}
.hd_pops_footer button{padding:11px 14px;border:0;background:none;color:#fff;font-size:13px;font-weight:700;cursor:pointer}
.hd_pops_footer .hd_pops_reject{background:var(--ink);text-align:left}
.hd_pops_footer .hd_pops_close{position:absolute;top:0;right:0;background:var(--yellow);color:var(--ink)}
#skip_to_container a{position:absolute;top:-999px;left:0;z-index:1000;background:var(--ink);color:var(--yellow);padding:10px 18px}
#skip_to_container a:focus{top:0}
.wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.xt{font-family:var(--latin);letter-spacing:-.01em}

/* 입력칸 */
input[type=text],input[type=password],input[type=email],input[type=tel],input[type=date],input[type=search],select,textarea{
  border:2px solid var(--ink);border-radius:0;background:#fff;color:var(--ink);
  font-family:inherit;font-size:15px;padding:12px 14px;height:48px;vertical-align:middle;outline:none}
textarea{height:auto;min-height:120px;line-height:1.7}
input:focus,select:focus,textarea:focus{outline:3px solid var(--yellow);outline-offset:-1px}
input[type=checkbox],input[type=radio]{accent-color:var(--ink);width:16px;height:16px;vertical-align:middle}
::placeholder{color:#aaa}

/* 단추 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:2px solid var(--ink);
  background:#fff;color:var(--ink);font-size:14px;font-weight:700;letter-spacing:.04em;
  padding:0 26px;height:48px;border-radius:0;transition:background .18s,color .18s;text-align:center}
.btn:hover{background:var(--yellow);color:var(--ink)}
.btn.solid,.btn.wine{background:var(--ink);color:#fff}
.btn.solid:hover,.btn.wine:hover{background:var(--yellow);color:var(--ink);border-color:var(--ink)}
.btn.line{background:#fff;color:var(--ink)}
.btn.sm{height:40px;padding:0 16px;font-size:13px}
.btn.xl{height:58px;padding:0 36px;font-size:15px}
.btn.wide{width:100%}
button.btn{appearance:none}

/* ── 상단 헤더 ────────────────────────────────────── */
header.site{position:fixed;top:0;left:0;right:0;z-index:200;background:#fff;border-bottom:2px solid var(--ink);height:var(--hd-h)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:100%}
header.site .logo{font-family:var(--latin);font-size:26px;line-height:1;letter-spacing:.01em}
header.site .logo .dot{color:var(--yellow)}
.hd-r{display:flex;align-items:center;gap:22px}
.hd-tel{font-family:var(--latin);font-size:14px;letter-spacing:.02em}
.ham{width:48px;height:48px;border:2px solid var(--ink);background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;transition:background .18s}
.ham span{display:block;width:22px;height:3px;background:var(--ink);transition:transform .25s,opacity .2s}
.ham:hover{background:var(--yellow)}
body.ov-open .ham{background:var(--yellow)}
body.ov-open .ham span:first-child{transform:translateY(5px) rotate(45deg)}
body.ov-open .ham span:last-child{transform:translateY(-5px) rotate(-45deg)}

/* 풀스크린 오버레이 메뉴 */
.ovmenu{position:fixed;inset:0;z-index:150;background:var(--ink);color:#fff;
  opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;overflow-y:auto}
body.ov-open .ovmenu{opacity:1;visibility:visible}
body.ov-open{overflow:hidden}
.ov-in{display:flex;flex-direction:column;justify-content:space-between;min-height:100%;padding-top:calc(var(--hd-h) + 40px);padding-bottom:40px}
.ov-nav ul>li{opacity:0;transform:translateY(18px);transition:opacity .4s,transform .4s;transition-delay:calc(var(--i,0)*60ms)}
body.ov-open .ov-nav ul>li{opacity:1;transform:none}
.ov-a{display:inline-flex;align-items:baseline;gap:16px;font-family:var(--latin);font-size:clamp(34px,6vw,64px);line-height:1.35;color:#fff;transition:color .18s}
.ov-a i{font-style:normal;font-size:14px;color:var(--yellow)}
.ov-a:hover{color:var(--yellow)}
.ov-sub{display:flex;flex-wrap:wrap;gap:4px 22px;margin:2px 0 14px 44px}
.ov-sub a{font-size:15px;color:#aaa;transition:color .15s}
.ov-sub a:hover{color:var(--yellow)}
.ov-foot{margin-top:44px;padding-top:24px;border-top:1px solid #333;display:flex;flex-wrap:wrap;gap:14px 40px;align-items:center;font-size:14px}
.ov-util{display:flex;gap:18px}
.ov-util a{color:#fff;border-bottom:2px solid var(--yellow);padding-bottom:2px}
.ov-contact{display:flex;gap:22px;color:#aaa}
.ov-contact a:hover{color:var(--yellow)}
.ov-sns{display:flex;gap:16px;margin-left:auto}
.ov-sns a{font-family:var(--latin);font-size:12px;color:#777;letter-spacing:.08em}
.ov-sns a:hover{color:var(--yellow)}

/* ── 서브 상단 배너 ───────────────────────────────── */
.subhero{margin-top:var(--hd-h);border-bottom:2px solid var(--ink);padding:64px 0 46px;background:#fff}
.subhero .crumb{font-size:12px;letter-spacing:.08em;color:var(--mute);margin-bottom:20px}
.subhero .crumb a{color:var(--mute)}
.subhero .crumb span::before,.subhero .crumb .g::before{content:"/";margin:0 8px;color:#ccc}
.subhero .lb{display:inline-block;background:var(--ink);color:var(--yellow);font-family:var(--latin);font-size:12px;letter-spacing:.14em;padding:6px 12px;margin-bottom:14px}
.subhero h1{font-size:clamp(34px,5vw,54px);font-weight:900;letter-spacing:-.02em;line-height:1.15}
.subhero p{margin-top:14px;color:var(--graphite);font-size:16px;max-width:640px}

/* ── 콘텐츠 틀 ────────────────────────────────────── */
main.content{padding:56px 0 110px;min-height:40vh}
#b05_content{display:block}

/* ── 푸터 ─────────────────────────────────────────── */
footer.ft{background:var(--ink);color:#fff;margin-top:0}
.ft-talk{border-bottom:1px solid #333;padding:72px 0}
.talk-link{font-family:var(--latin);font-size:clamp(44px,8vw,104px);line-height:1.05;display:inline-block;color:#fff;transition:color .2s}
.talk-link .arr{color:var(--yellow);margin-left:14px;transition:transform .25s;display:inline-block}
.talk-link:hover{color:var(--yellow)}
.talk-link:hover .arr{transform:translate(8px,-8px)}
.ft-talk p{margin-top:18px;color:#aaa;max-width:520px}
.ft-body{padding:56px 0 40px}
.ft-body .wrap{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);gap:40px}
.ft-brand .en{font-family:var(--latin);font-size:28px}
.ft-brand p{margin-top:16px;font-size:13px;color:#888;line-height:1.9}
.ft-col h4{font-family:var(--latin);font-size:12px;letter-spacing:.16em;color:var(--yellow);margin-bottom:16px}
.ft-col li{font-size:14px;color:#bbb;margin-bottom:8px}
.ft-col a:hover{color:var(--yellow)}
.ft-sns{display:flex;gap:14px;margin-top:18px}
.ft-sns a{font-family:var(--latin);font-size:11px;letter-spacing:.08em;color:#777}
.ft-sns a:hover{color:var(--yellow)}
.copy{grid-column:1/-1;border-top:1px solid #333;margin-top:14px;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:12px;color:#777}
.copy a{color:#999}
.copy a:hover{color:var(--yellow)}

#top_btn{position:fixed;right:24px;bottom:24px;z-index:120;width:52px;height:52px;border:2px solid var(--ink);background:#fff;font-size:20px;font-weight:900;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,background .18s}
#top_btn.on{opacity:1;visibility:visible}
#top_btn:hover{background:var(--yellow)}

/* ── 페이지네이션 (코어 $write_pages 마크업) ──────── */
.pg_wrap{display:block;text-align:center;margin:44px 0 0}
.pg{display:inline-flex;border:2px solid var(--ink)}
.pg_page,.pg_current{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:46px;padding:0 8px;font-size:14px;font-weight:700;border-right:1px solid var(--line-soft)}
.pg a.pg_page:hover{background:var(--yellow)}
.pg_current{background:var(--ink);color:var(--yellow)}
.pg .pg_page:last-child,.pg .pg_current:last-child{border-right:0}
.pg_start,.pg_prev,.pg_next,.pg_end{font-size:12px}

/* ── 그룹(group.php) ─────────────────────────────── */
.grp-lay{display:grid;gap:40px}
.grp-item{border:2px solid var(--ink);padding:28px}
.grp-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px;border-bottom:2px solid var(--ink);padding-bottom:12px}
.grp-head h2{font-size:22px;font-weight:900}
.grp-head .more{font-family:var(--latin);font-size:12px}
.grp-head .more:hover{background:var(--yellow)}
.empty_list{padding:60px 0;text-align:center;color:var(--mute)}

/* 데모 안내 (관리자에게만 보임) */
.demo-note{margin:0 0 22px;padding:12px 16px;border:2px dashed var(--ink);background:#FFFBE0;font-size:13px}

/* ── 회원(auth) 공통 — 스킨 style.css 가 세부를 얹는다 ── */
.auth,.join-wrap{max-width:520px;margin:0 auto}
.join-wrap{max-width:760px}
.card{border:2px solid var(--ink);background:#fff;padding:44px 40px}
.card+.card{margin-top:24px}
.auth-xt{margin-bottom:30px}
.auth-xt .xt,.auth .xt{display:block;font-family:var(--latin);font-size:clamp(40px,7vw,62px);line-height:1}
.auth-xt .kt,.auth .kt{display:block;font-size:15px;font-weight:700;margin-top:10px;color:var(--graphite)}

/* ── 콘텐츠(content.php)·기타 코어 화면 최소 보정 ── */
#ctt_con{line-height:1.9}
.tbl_wrap table{border-top:2px solid var(--ink)}
.tbl_wrap th{background:var(--porcelain);border-bottom:1px solid var(--line-soft);padding:12px;font-size:14px}
.tbl_wrap td{border-bottom:1px solid var(--line-soft);padding:12px;font-size:14px}
.new_wrap h2,.sch_wrap h2{font-size:24px;font-weight:900;margin-bottom:20px}

/* ── 반응형 ───────────────────────────────────────── */
@media (max-width:1024px){
  .ft-body .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media (max-width:768px){
  :root{--hd-h:60px}
  body{font-size:14px}
  .wrap{padding:0 18px}
  .hd-tel{display:none}
  .ham{width:42px;height:42px}
  .subhero{padding:44px 0 34px}
  main.content{padding:40px 0 80px}
  .ft-talk{padding:52px 0}
  .ft-body .wrap{grid-template-columns:minmax(0,1fr);gap:28px}
  .copy{flex-direction:column}
  .card{padding:28px 20px}
  .ov-sub{margin-left:34px}
  .ov-sns{margin-left:0}
}
@media (max-width:480px){
  .btn.xl{height:52px;padding:0 24px;font-size:14px}
  #top_btn{right:14px;bottom:14px;width:46px;height:46px}
}

/* ── 코어 공용 폼 보강 (그누보드가 그리는 화면들이 쓰는 클래스) ── */
.full_input{width:100%}
.left_input{margin-right:6px}
.margin_input{margin-bottom:8px}
/* 자동등록방지 입력칸 — 코어가 frm_input 없이 내보내므로 여기서 모양을 맞춘다 */
.captcha_box{width:130px;height:46px;border:2px solid var(--ink);padding:0 13px;font-size:15px;background:#fff;border-radius:var(--radius)}
.captcha_box:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px var(--yellow)}

/* ── 좁은 화면(360px 급) 가로 넘침 방지 · 2026-08-31 점검 ─────────────────
   그누보드 코어 화면(새글모음·FAQ·자동등록방지·상품검색)은 고정폭이라
   갤럭시 계열 360px 기기에서 옆으로 밀린다. 이 블록을 지우면 증상이 돌아온다. */
#new_sch,#faq_sch{min-width:0;max-width:100%;box-sizing:border-box}
#pw_confirm,.mbskin,#info_fs{max-width:100%;min-width:0}
#info_fs input,#info_fs .frm_input,#pw_confirm input,.mbskin input{max-width:100%;min-width:0;box-sizing:border-box}
/* 320px 급 좁은 기기 — 한 낱말이 칸보다 길면 그때만 끊어 준다.
   word-break:keep-all 로 한글 단어는 그대로 두되, 넘치는 것보다는 끊는 편이 낫다. */
body{overflow-wrap:break-word}
#new_sch form,#faq_sch form{width:100%;max-width:100%;flex-wrap:wrap}
#new_sch select,#new_sch input,#new_sch .frm_input,
#faq_sch select,#faq_sch input,#faq_sch .frm_input{max-width:100%}
#captcha{max-width:100%}
#captcha img,#captcha audio,#captcha_audio{max-width:100%}
#ssch_q,.ssch_input{max-width:100%}
@media (max-width:480px){
  #new_sch,#faq_sch{padding:18px}
}

/* ── 모바일 입력창 확대 방지 · 2026-08-31 점검 ────────────────────────────
   iOS 사파리는 글자가 16px 보다 작은 입력칸을 누르면 화면을 확대해 버리고,
   사용자가 손으로 되돌려야 한다. 휴대폰에서만 글자를 16px 로 올려 막는다.
   (칸의 높이·테두리·색은 그대로이므로 디자인은 유지된다)
   화면별 규칙(.xx-auth .fld input 등)이 더 세서 !important 로 눌러 둔다 —
   이 한 줄을 빼면 로그인·가입·검색칸에서 확대가 다시 일어난다. */
@media (max-width:768px){
  input[type=text],input[type=password],input[type=email],input[type=tel],
  input[type=number],input[type=search],input[type=url],input[type=date],
  input[type=time],input[type=datetime-local],input[type=month],input[type=week],
  input:not([type]),select,textarea{font-size:16px!important}
}

/* ── 폼 입력칸 한 벌로 통일 · 2026-08-31 점검 ──────────────────────────────
   로그인 · 회원가입 · 비밀번호찾기 · 자동등록방지 칸의 높이·테두리·둥글기·안여백이
   화면마다 달랐다(로그인 48px 인데 가입은 다른 값, 비밀번호찾기는 아예 브라우저 기본).
   ★ 칸 모양을 바꾸려면 이 블록만 고치면 네 화면이 함께 따라간다. */
#mb_login input[type=text],#mb_login input[type=password],#mb_login input[type=email],
#mb_login input[type=tel],#mb_login input[type=number],#mb_login select,
.auth input[type=text],.auth input[type=password],.auth input[type=email],.auth input[type=tel],.auth select,
.b01-auth input[type=text],.b01-auth input[type=password],.b01-auth input[type=email],.b01-auth select,
#register_form input[type=text],#register_form input[type=password],#register_form input[type=email],
#register_form input[type=tel],#register_form input[type=number],#register_form select,#register_form .frm_input,
#find_info input[type=text],#find_info input[type=email],#find_info select,#find_info .frm_input,
#pw_confirm input[type=password],#pw_confirm .frm_input,
#captcha.m_captcha #captcha_key,#captcha #captcha_key,#captcha .captcha_box,#captcha_key,.captcha_box{
  box-sizing:border-box;height:48px;
  border:2px solid var(--line);border-radius:0;
  padding:0 14px;font-size:16px;line-height:normal;
  background:#fff;color:inherit;
  -webkit-appearance:none;outline:0;
  transition:border-color .2s}
#mb_login select,.auth select,.b01-auth select,#register_form select,#find_info select{
  -webkit-appearance:menulist;appearance:menulist;padding-right:8px}
#mb_login textarea,.auth textarea,.b01-auth textarea,#register_form textarea,#find_info textarea{
  box-sizing:border-box;width:100%;min-height:150px;
  border:2px solid var(--line);border-radius:0;
  padding:12px 14px;font-size:16px;line-height:1.7;
  background:#fff;color:inherit;-webkit-appearance:none;outline:0}
/* 자동등록방지 칸은 좁으니 폭만 따로 둔다 */
#captcha.m_captcha #captcha_key,#captcha #captcha_key,#captcha .captcha_box,#captcha_key,.captcha_box{width:120px;text-align:center;letter-spacing:.2em}

/* 폼을 감싼 fieldset 에 브라우저 기본 테두리(2px groove)가 남아 회색 홈 박스가 그려졌다.
   로그인·비밀번호찾기·자동등록방지에서 특히 눈에 띄었다. (2026-08-31 점검) */
#mb_login fieldset,.auth fieldset,.b01-auth fieldset,#fregisterform fieldset,
#register_form fieldset,#find_info fieldset,#pw_confirm fieldset,
fieldset#login_fs,fieldset#info_fs,fieldset#captcha,fieldset.captcha,fieldset.srch,
#fregister fieldset,fieldset.fregister_agree{
  border:0;margin:0;padding:0;min-width:0}
/* 약관 동의 체크줄은 위쪽 여백만 남긴다 (2026-09-01 점검) */
#fregister fieldset.fregister_agree,fieldset.fregister_agree{margin-top:14px}
#mb_login legend,.auth legend,.b01-auth legend,#register_form legend,#find_info legend{padding:0}

/* ── 칸 옆 버튼·자동등록방지 줄 정렬 · 2026-08-31 점검 ─────────────────────
   '주소 검색' 버튼이 우편번호 칸보다 낮고 한 줄 아래로 밀려 있었고,
   자동등록방지는 그림·입력칸·새로고침 버튼의 높이와 윗선이 제각각이었다.
   칸 높이(48px)에 맞춰 한 줄로 가지런히 세운다. */
#register_form .btn_frmline,#find_info .btn_frmline,#mb_login .btn_frmline,
.auth .btn_frmline,.b01-auth .btn_frmline,#register_form button.btn_frmline{
  box-sizing:border-box;height:48px;padding:0 16px;border-radius:0;
  display:inline-flex;align-items:center;justify-content:center;
  vertical-align:top;line-height:1;white-space:nowrap}
#fregisterform #captcha,#captcha{display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:100%}
#fregisterform #captcha #captcha_img,#captcha #captcha_img,#captcha img{vertical-align:middle;border-radius:0;max-width:100%}
/* #captcha_reload 는 브라우저 기본 모양(회색 그라데이션)이라 테마와 겉돌았다 (2026-08-31 점검) */
#fregisterform #captcha #captcha_reload,#captcha #captcha_reload,#captcha button{text-indent:0;overflow:visible;width:auto;white-space:nowrap;background-image:none;background:#fff;color:inherit;border:1px solid var(--line);cursor:pointer;font-size:14px;
  box-sizing:border-box;height:48px;min-width:48px;padding:0 12px;border-radius:0;
  display:inline-flex;align-items:center;justify-content:center;line-height:1}
#captcha #captcha_info,#captcha .captcha_info{flex:1 1 100%;margin:6px 0 0;font-size:13px;line-height:1.6}
#captcha #captcha_audio,#captcha audio{flex:1 1 100%;max-width:100%;margin:0 0 6px}
/* legend 가 섹션 제목(h2)과 같은 '자동등록방지' 를 한 번 더 찍어 두 번 나왔다 → 읽기용으로만 남긴다 */
#captcha legend{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* 안내 문구는 버튼 옆에 끼어 뒤엉켰다 → 늘 아랫줄 전체를 쓰게 한다 */
#fregisterform #captcha #captcha_info,#captcha #captcha_info,#captcha .captcha_info{flex:0 0 100%;min-width:100%}
#captcha #captcha_reload span{display:none}
/* 그누보드 가입양식은 두 칸짜리 줄의 <li> 에도 half_input 클래스를 붙인다.
   입력칸 모양 규칙(.half_input)이 그 <li> 에까지 걸려 비밀번호 줄만 네모 상자가 그려졌다.
   줄을 감싸는 <li> 에서는 칸 모양을 없앤다. (2026-08-31 점검) */
#register_form li.half_input,#register_form li.full_input,#register_form li.twopart_input,
#register_form li.margin_input,#register_form li.left_input,#register_form li.frm_input{
  border:0;background:none;height:auto;padding:0;border-radius:0;box-shadow:none}
/* 반폭 줄(half_input) 안의 입력칸은 그 줄을 꽉 채우게만 한다.
   ★ 줄의 배치(2열이냐 한 줄이냐)는 테마 디자인이므로 건드리지 않는다 —
     display·float·width 를 손댔더니 PC 에서 섹션 카드가 겹쳐 무너졌다. (2026-08-31 점검) */
#register_form li.half_input>input,#register_form li.half_input>.frm_input{width:100%}
/* 우편번호 칸이 줄 전체를 차지해 '주소 검색' 버튼이 아랫줄로 밀렸다.
   칸을 줄이고 버튼을 옆에 붙인다. (2026-08-31 점검) */
#register_form #reg_mb_zip,#register_form input[name=mb_zip],#find_info input[name=mb_zip]{
  width:150px;max-width:48%;display:inline-block;vertical-align:middle;margin-right:8px}
#register_form #reg_mb_zip+.btn_frmline,#register_form input[name=mb_zip]+.btn_frmline{vertical-align:middle}

/* 라벨 옆 도움말 단추(.tooltip_icon)는 코어가 '설명보기' 글자만 내보내고 아이콘은 테마 몫이다.
   그대로 두면 테마마다 빈 동그라미(20×20)이거나 아예 0×0 이라 안 보였다.
   물음표 아이콘으로 통일한다. (2026-08-31 점검) */
#register_form .tooltip_icon,.tooltip_icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;min-width:18px;padding:0;margin-left:5px;
  border:1px solid var(--line);border-radius:50%;background:none;
  font-size:0;line-height:1;vertical-align:middle;cursor:pointer}
#register_form .tooltip_icon::before,.tooltip_icon::before{
  content:"?";font-size:11px;font-weight:700;line-height:1;color:inherit}
