@charset "utf-8";
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard-dynamic-subset.min.css');

/* HanQ 계정 화면 — 메인 템플릿(sh_common.css)의 색·서체·버튼 규격을 따른다 */
:root{
  --hq-primary:#005fff;--hq-primary-hover:#0050d8;--hq-primary-soft:#eef4ff;
  --hq-ink:#1d2945;--hq-body:#535b73;--hq-muted:#8b93a7;
  --hq-line:#e3e8f1;--hq-field:#d9dfea;--hq-bg:#f6f8fb;--hq-danger:#e5484d;
  --hq-font:'Pretendard','Pretendard Variable',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;
}
html,body{background:#fff}
body{margin:0;min-width:0;color:var(--hq-body);font-family:var(--hq-font);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;word-break:keep-all}
.hq-auth,.hq-auth *,.hq-auth *::before,.hq-auth *::after{box-sizing:border-box}
.hq-auth{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;font-family:var(--hq-font);letter-spacing:-.01em}
.hq-auth a{color:inherit;text-decoration:none}
:where(.hq-auth) :where(h1,h2,h3,p,ol,ul,dl,dd,fieldset){margin:0;padding:0}
:where(.hq-auth) :where(ol,ul){list-style:none}
.hq-auth h1,.hq-auth h2,.hq-auth h3,.hq-auth button,.hq-auth input,.hq-auth select,.hq-auth textarea{font-family:var(--hq-font);letter-spacing:inherit}

/* 상단 */
.hq-top{position:relative;z-index:2;background:#fff;border-bottom:1px solid var(--hq-line)}
.hq-top__inner{display:flex;align-items:center;justify-content:space-between;height:72px;padding:0 40px}
.hq-top__logo{display:flex;align-items:center}
.hq-top__logo img{display:block;width:96px;height:auto}
.hq-top__nav{display:flex;align-items:center;gap:28px;font-size:15px;font-weight:500}
.hq-top__link{color:var(--hq-body)!important}
.hq-top__link:hover{color:var(--hq-ink)!important}
.hq-top__btn{display:inline-flex;align-items:center;height:38px;padding:0 18px;border:1px solid var(--hq-field);border-radius:8px;color:var(--hq-ink)!important;transition:border-color .2s,background-color .2s}
.hq-top__btn:hover{border-color:var(--hq-ink)}

/* 본문 영역 */
.hq-body{flex:1;display:flex}
.hq-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}
.hq-pane{flex:1;display:flex;justify-content:center;padding:96px 40px 120px}
.hq-split .hq-pane{align-items:center;padding-top:72px;padding-bottom:96px}
.hq-panel{width:100%;max-width:400px}
.hq-panel--wide{max-width:600px}
.hq-panel--narrow{max-width:440px}
.hq-single{width:100%;background:var(--hq-bg)}
.hq-single .hq-pane{padding-top:64px}
.hq-sheet{background:#fff;border:1px solid var(--hq-line);border-radius:16px;padding:48px 48px 44px}

/* 좌측 소개 영역 */
.hq-visual{position:relative;display:flex;align-items:center;justify-content:center;padding:72px 64px 220px;background:#f8faff url('img/main/main_banner_bg.png') center bottom/auto 100% no-repeat;overflow:hidden}
.hq-visual__body{width:100%;max-width:440px}
.hq-visual__label{margin-bottom:20px;font-size:14px;font-weight:600;color:var(--hq-primary)}
.hq-visual__title{font-size:40px;font-weight:700;line-height:1.32;letter-spacing:-.035em;color:var(--hq-ink)}
.hq-visual__title em{font-style:normal;color:var(--hq-primary)}
.hq-visual__desc{margin-top:20px;font-size:16px;line-height:1.75;color:var(--hq-body)}
.hq-visual__flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin-top:44px;border-top:1px solid rgba(29,41,69,.12)}
.hq-visual__flow li{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid rgba(29,41,69,.12);font-size:15px;font-weight:500;color:var(--hq-ink)}
.hq-visual__flow span{font-family:'Poppins',var(--hq-font);font-size:12px;font-weight:600;color:var(--hq-primary)}

/* 제목 */
.hq-head{margin-bottom:36px}
.hq-head h1{font-size:30px;font-weight:700;line-height:1.35;letter-spacing:-.03em;color:var(--hq-ink)}
.hq-head p{margin-top:10px;font-size:15px;color:var(--hq-body)}
.hq-head--center{text-align:center}

/* 단계 */
.hq-steps{display:flex;align-items:center;margin-bottom:40px}
.hq-steps li{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--hq-muted)}
.hq-steps li+li::before{content:'';display:block;width:28px;height:1px;margin:0 12px;background:var(--hq-field)}
.hq-steps__num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--hq-field);border-radius:50%;font-size:12px;font-weight:600;background:#fff}
.hq-steps li.is-current{color:var(--hq-ink);font-weight:600}
.hq-steps li.is-current .hq-steps__num{border-color:var(--hq-primary);background:var(--hq-primary);color:#fff}
.hq-steps li.is-done{color:var(--hq-body)}
.hq-steps li.is-done .hq-steps__num{border-color:var(--hq-primary);color:var(--hq-primary)}

/* 폼 */
.hq-form{display:block}
.hq-section+.hq-section{margin-top:28px;padding-top:32px;border-top:1px solid var(--hq-line)}
.hq-section__title{margin-bottom:20px;font-size:17px;font-weight:700;color:var(--hq-ink)}
.hq-field{margin-bottom:20px}
.hq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.hq-label{display:flex;align-items:baseline;gap:6px;margin-bottom:8px;font-size:14px;font-weight:600;color:var(--hq-ink)}
.hq-label .hq-req{color:var(--hq-primary);font-weight:600}
.hq-label .hq-opt{font-weight:400;color:var(--hq-muted)}
.hq-auth .hq-input,.hq-auth .hq-field input[type=text],.hq-auth .hq-field input[type=password],.hq-auth .hq-field input[type=email],.hq-auth .hq-field select,.hq-auth .hq-field textarea{
  display:block;width:100%;height:52px;padding:0 16px;margin:0;border:1px solid var(--hq-field);border-radius:10px;background:#fff;box-shadow:none;
  font-size:16px;color:var(--hq-ink);outline:0;-webkit-appearance:none;appearance:none;transition:border-color .15s,box-shadow .15s}
.hq-auth .hq-field textarea{height:120px;padding:14px 16px;line-height:1.6;resize:vertical}
.hq-auth .hq-input::placeholder,.hq-auth .hq-field input::placeholder,.hq-auth .hq-field textarea::placeholder{color:#a9b0c0}
.hq-auth .hq-input:hover,.hq-auth .hq-field input:hover{border-color:#b9c2d3}
.hq-auth .hq-input:focus,.hq-auth .hq-field input:focus,.hq-auth .hq-field textarea:focus,.hq-auth .hq-field select:focus{border-color:var(--hq-primary);box-shadow:0 0 0 3px rgba(0,95,255,.12)}
.hq-auth .hq-field input[readonly]{background:var(--hq-bg);color:var(--hq-body)}
.hq-help{margin-top:8px;font-size:13px;line-height:1.5;color:var(--hq-muted)}
.hq-msg:empty{display:none}
.hq-msg{display:block;margin-top:8px;font-size:13px;color:var(--hq-danger)}
.hq-inline{display:flex;gap:8px}
.hq-inline .hq-input,.hq-inline input{flex:1;min-width:0}
.hq-inline .hq-btn{flex:0 0 auto;height:52px}
.hq-addr input+input{margin-top:8px}

.hq-pw{position:relative}
.hq-pw .hq-input{padding-right:72px}
.hq-pw__toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);height:36px;padding:0 10px;border:0;border-radius:6px;background:transparent;font-size:13px;font-weight:500;color:var(--hq-muted);cursor:pointer}
.hq-pw__toggle:hover{color:var(--hq-ink);background:var(--hq-bg)}

.hq-form__row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 28px}
.hq-link-muted{font-size:14px;color:var(--hq-body)!important}
.hq-link-muted:hover{color:var(--hq-ink)!important;text-decoration:underline!important;text-underline-offset:3px}
.hq-link{font-weight:600;color:var(--hq-primary)!important}
.hq-link:hover{text-decoration:underline!important;text-underline-offset:3px}

/* 체크박스 */
.hq-check{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--hq-body);cursor:pointer;user-select:none}
.hq-auth .hq-check input[type=checkbox],.hq-auth .hq-agree input[type=checkbox]{
  position:static!important;flex:0 0 20px;width:20px!important;height:20px!important;margin:0;padding:0;opacity:1!important;clip:auto!important;overflow:visible!important;
  -webkit-appearance:none;appearance:none;border:1.5px solid #c3cad8;border-radius:5px;background:#fff center/12px 12px no-repeat;cursor:pointer;transition:background-color .15s,border-color .15s}
.hq-auth .hq-check input[type=checkbox]:checked,.hq-auth .hq-agree input[type=checkbox]:checked{border-color:var(--hq-primary);background-color:var(--hq-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3 4.7-4.9' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.hq-auth .hq-check input[type=checkbox]:focus-visible,.hq-auth .hq-agree input[type=checkbox]:focus-visible{outline:2px solid var(--hq-primary);outline-offset:2px}

/* 버튼 */
.hq-btn{display:inline-flex;align-items:center;justify-content:center;height:55px;padding:0 24px;border:1px solid transparent;border-radius:10px;font-size:16px;font-weight:600;line-height:1;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s;text-decoration:none!important;white-space:nowrap}
.hq-btn--primary{background:var(--hq-primary);color:#fff!important}
.hq-btn--primary:hover{background:var(--hq-primary-hover)}
.hq-btn--primary:disabled{background:#9dbdf5;cursor:default}
.hq-btn--line{border-color:var(--hq-field);background:#fff;color:var(--hq-ink)!important}
.hq-btn--line:hover{border-color:var(--hq-ink)}
.hq-btn--sm{height:44px;padding:0 16px;font-size:14px;font-weight:500}
.hq-btn--block{width:100%}
.hq-actions{display:flex;gap:10px;margin-top:40px}
.hq-actions .hq-btn{flex:1}
.hq-actions .hq-btn--line{flex:0 0 140px}

.hq-alt{margin-top:28px;padding-top:24px;border-top:1px solid var(--hq-line);font-size:14px;color:var(--hq-body);text-align:center}
.hq-alt a{margin-left:6px}
.hq-note{margin-top:16px;font-size:13px;line-height:1.6;color:var(--hq-muted);text-align:center}

/* 가입 유형 */
.hq-choice{display:grid;gap:12px}
.hq-choice__item{display:block;padding:24px 24px 22px;border:1px solid var(--hq-field);border-radius:12px;background:#fff;transition:border-color .2s}
.hq-choice__item:hover{border-color:var(--hq-ink)}
.hq-choice__item--main{border-color:var(--hq-primary);box-shadow:inset 0 0 0 1px var(--hq-primary)}
.hq-choice__item--main:hover{border-color:var(--hq-primary)}
.hq-choice__tag{display:inline-block;margin-bottom:10px;font-size:13px;font-weight:600;color:var(--hq-primary)}
.hq-choice__item:not(.hq-choice__item--main) .hq-choice__tag{color:var(--hq-muted)}
.hq-choice__title{display:flex;align-items:center;justify-content:space-between;font-size:18px;font-weight:700;color:var(--hq-ink)}
.hq-choice__title::after{content:'';width:8px;height:8px;margin-right:4px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);opacity:.5}
.hq-choice__desc{margin-top:6px;font-size:14px;line-height:1.6;color:var(--hq-body)}

/* 약관 동의 */
.hq-agree{border:1px solid var(--hq-line);border-radius:12px;overflow:hidden}
.hq-agree__all{display:flex;align-items:center;gap:12px;padding:20px 20px;background:var(--hq-bg);font-size:16px;font-weight:700;color:var(--hq-ink);cursor:pointer}
.hq-agree__item{border-top:1px solid var(--hq-line)}
.hq-agree__row{display:flex;align-items:center;gap:12px;padding:18px 20px}
.hq-agree__row label{flex:1;display:flex;align-items:center;gap:12px;font-size:15px;color:var(--hq-ink);cursor:pointer}
.hq-agree__row label b{font-weight:600;color:var(--hq-primary)}
.hq-agree__view{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 4px;border:0;background:none;font-size:13px;color:var(--hq-muted);cursor:pointer;white-space:nowrap}
.hq-agree__view::after{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.hq-agree__view[aria-expanded=true]::after{transform:translateY(1px) rotate(-135deg)}
.hq-agree__view:hover{color:var(--hq-ink)}
.hq-agree__doc{padding:0 20px 20px}
.hq-auth .hq-agree__doc textarea{display:block;width:100%;height:200px;padding:16px;border:1px solid var(--hq-line);border-radius:8px;background:var(--hq-bg);font-size:13px;line-height:1.75;color:var(--hq-body);resize:vertical;outline:0}

/* 자동입력 방지 (그누보드 kcaptcha) — default.css/mobile.css의 #captcha 규칙보다 우선 */
.hq-auth fieldset#captcha{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:auto;height:auto;margin:0;padding:0;border:0;background:none;position:static}
.hq-auth #captcha legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.hq-auth #captcha.captcha #captcha_img{display:block;width:150px;height:52px;margin:0;padding:0;border:1px solid var(--hq-field);border-radius:10px;background:#fff;object-fit:cover}
.hq-auth #captcha.captcha #captcha_key{flex:1;min-width:120px;width:auto;height:52px;margin:0;padding:0 16px;border:1px solid var(--hq-field);border-radius:10px;background:#fff;box-shadow:none;font-size:16px;font-weight:500;color:var(--hq-ink);text-align:left;outline:0;-webkit-appearance:none}
.hq-auth #captcha.captcha #captcha_key:focus{border-color:var(--hq-primary);box-shadow:0 0 0 3px rgba(0,95,255,.12)}
.hq-auth #captcha.captcha #captcha_mp3,.hq-auth #captcha.captcha #captcha_reload{order:4;position:static;display:inline-flex;align-items:center;width:auto;height:32px;margin:0;padding:0 12px;border:1px solid var(--hq-field);border-radius:6px;background:#fff;font-size:13px;line-height:1;color:var(--hq-body);text-indent:0;overflow:visible;cursor:pointer}
.hq-auth #captcha.captcha #captcha_mp3:hover,.hq-auth #captcha.captcha #captcha_reload:hover{border-color:var(--hq-ink);color:var(--hq-ink)}
.hq-auth #captcha.captcha button span{display:none}
.hq-auth #captcha.captcha #captcha_info{order:5;flex-basis:100%;margin:2px 0 0;font-size:13px;letter-spacing:0;color:var(--hq-muted)}
.hq-auth #captcha audio{order:6;flex-basis:100%;max-width:100%}

/* 가입 완료 */
.hq-done{text-align:center}
.hq-done__mark{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 28px;border-radius:50%;background:var(--hq-primary-soft)}
.hq-done__mark svg{width:28px;height:28px}
.hq-summary{margin:32px 0 0;padding:4px 24px;border:1px solid var(--hq-line);border-radius:12px;text-align:left}
.hq-summary div{display:flex;justify-content:space-between;gap:16px;padding:16px 0;font-size:15px}
.hq-summary div+div{border-top:1px solid var(--hq-line)}
.hq-summary dt{color:var(--hq-muted)}
.hq-summary dd{margin:0;font-weight:600;color:var(--hq-ink);overflow-wrap:anywhere;text-align:right}
.hq-next{margin-top:32px;padding:24px;border-radius:12px;background:var(--hq-bg);text-align:left}
.hq-next h2{font-size:16px;font-weight:700;color:var(--hq-ink)}
.hq-next p{margin-top:6px;font-size:14px;line-height:1.6}
.hq-done .hq-actions{margin-top:28px}
.hq-done .hq-actions .hq-btn--line{flex:0 0 120px}

/* 기타 그누보드 요소 */
.hq-auth .tooltip,.hq-auth .tooltip_icon{display:none!important}
.hq-auth .sound_only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;margin:-1px!important;padding:0!important;border:0!important}
.hq-auth .btn_frmline{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 18px;border:1px solid var(--hq-field);border-radius:10px;background:#fff;font-size:14px;font-weight:500;color:var(--hq-ink);cursor:pointer}
.hq-auth .btn_frmline:hover{border-color:var(--hq-ink)}
.hq-auth .consent-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.hq-auth .sub-consents{margin:10px 0 0 30px;display:grid;gap:8px}
.hq-auth .js-open-consent{border:0;background:none;font-size:13px;color:var(--hq-muted);text-decoration:underline;cursor:pointer}
.hq-auth .consent-date{font-size:12px;color:var(--hq-muted)}

/* 하단 */
.hq-foot{border-top:1px solid var(--hq-line);background:#fff}
.hq-foot__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 40px;font-size:13px;color:var(--hq-muted)}
.hq-foot nav{display:flex;gap:20px}
.hq-foot a{color:var(--hq-muted)!important}
.hq-foot a:hover{color:var(--hq-ink)!important}
.hq-foot b{font-weight:600;color:var(--hq-body)}

/* 반응형 */
@media (max-width:1180px){
  .hq-visual{padding:64px 48px 200px}
  .hq-visual__title{font-size:34px}
}
@media (max-width:960px){
  .hq-split{grid-template-columns:1fr}
  .hq-visual{display:none}
  .hq-split .hq-pane{align-items:flex-start;padding-top:72px}
}
@media (max-width:640px){
  body{font-size:15px}
  .hq-top__inner{height:60px;padding:0 20px}
  .hq-top__logo img{width:84px}
  .hq-top__nav{gap:16px;font-size:14px}
  .hq-top__btn{height:34px;padding:0 14px}
  .hq-pane,.hq-split .hq-pane,.hq-single .hq-pane{padding:40px 20px 64px}
  .hq-single{background:#fff}
  .hq-sheet{padding:0;border:0;border-radius:0}
  .hq-head{margin-bottom:28px}
  .hq-head h1{font-size:24px}
  .hq-head p{font-size:14px}
  .hq-steps{margin-bottom:32px}
  .hq-steps li{font-size:13px;gap:6px}
  .hq-steps li+li::before{width:16px;margin:0 8px}
  .hq-grid{grid-template-columns:1fr}
  .hq-btn{height:52px}
  .hq-actions{margin-top:32px}
  .hq-actions .hq-btn--line{flex:0 0 96px}
  .hq-done .hq-actions .hq-btn--line{flex:0 0 96px}
  .hq-agree__all{padding:18px 16px}
  .hq-agree__row{padding:16px}
  .hq-agree__doc{padding:0 16px 16px}
  .hq-choice__item{padding:20px}
  .hq-summary{padding:4px 18px}
  .hq-next{padding:20px}
  .hq-foot__inner{flex-direction:column-reverse;align-items:flex-start;gap:10px;padding:20px}
  .hq-auth #captcha.captcha #captcha_img{width:132px}
}

/* 그누보드 default.css의 필수 입력 별표 배경 제거 */
.hq-auth input.required,.hq-auth textarea.required{background-image:none!important}
