@charset "utf-8";

/******************************************************
| 퀵바 오른쪽
| ※ 아래 상수값은 프로젝트 톤앤매너에 맞춰 자유롭게 조정하세요.
*******************************************************/
/* ===== 퀵바 오른쪽 (root 변수 제거版) ===== */
.quick-bar-right{
  overflow:hidden;z-index:1000;position:fixed;top:50%;right:0;width:100px;
  border-radius:12px 0 0 12px;background:#fff;font-size:13px;font-weight:700;
  box-shadow:1px 1px 13px rgba(47,47,47,.14);transform:translateY(-50%);
}
.consult-box{width:inherit;}
.consult-menu{
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  width:inherit;aspect-ratio:1/0.9;
}
.consult-menu-link{
  position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;
  gap:10px;width:inherit;height:100%;padding:15px 0;letter-spacing:0;
  text-decoration:none;color:inherit;
}
.consult-menu:first-child .consult-menu-link{gap:5px;}
/* 항목 구분선 */
.consult-menu:not(:last-child) .consult-menu-link::after{
  position:absolute;bottom:0;left:50%;width:calc(100% - 30px);height:1px;
  box-shadow:0 1px rgba(221,221,221,1);transform:translateX(-50%);content:'';
}
/* 전화번호 큰 숫자 */
.consult-menu strong{
  font-family:"Montserrat", serif;font-size:16px;font-weight:800;color:#2e3542;line-height:1;text-align:center;
}
/* xi 아이콘 크기/정렬 */
.consult-menu-link i[class^="xi"]{
  font-size:28px;line-height:1;display:block;
}

/* TOP 버튼 */
.top-btn{
  display:flex;justify-content:center;align-items:center;width:100%;aspect-ratio:1/0.4;
  background:#2e3542;font-weight:700;color:#fff;border:0;cursor:pointer;
}

/* ===== 모바일 (<=800px) ===== */
@media (max-width:900px){
	
  .quick-bar-right{
  display:none;
    overflow:visible;top:auto;right:auto;bottom:0;left:50%;width:100%;
    border-radius:0;font-size:13px;transform:translateX(-50%);
  }
  .consult-box{
    z-index:1100;position:absolute;bottom:0;left:0;display:flex;background:#fff;
    box-shadow:0 -5px 10px rgba(0,0,0,.05);
  }
  .consult-menu{height:60px;}
  .consult-menu:where(:nth-child(1),:nth-child(2)){position:relative;}

  /* 모바일 노출/숨김: 전화(1), 카톡(2), 신청(3) 표시 / 블로그(4), 유튜브(5) 숨김 */
  .consult-menu:nth-child(4),
  .consult-menu:nth-child(5){display:none;}

  /* 세로 구분선: 1,2번째에만 */
  .consult-menu:nth-child(1)::after,
  .consult-menu:nth-child(2)::after{
    position:absolute;top:50%;right:0;width:1px;height:55%;background:#eee;
    box-shadow:0 1px rgba(221,221,221,1);transform:translateY(-50%);content:'';
  }

  .consult-menu-link{flex-direction:row;}
  .consult-menu:not(:last-child) .consult-menu-link::after{content:none;}

  /* 모바일 라벨: 좌우 배치 + 굵기/색상 */
  .consult-menu :where(.txt-tel,.txt-kakao,.txt-request){
    position:relative;min-width:clamp(70px,16.667vw,80px);
    font-size:16px;color:#111;font-weight:800;
  }

  /* 전화 아이콘 교체 원하면 아래 사용(선택)
     .consult-menu strong{transform:scale(.8);content:url('/img/header/icon_menu_tel_b.webp');}
  */

  /* 호버 배경 */
  .consult-menu:hover{background:#0a6baa;}
  .consult-menu:hover::after{display:none;}
  .consult-menu:hover .txt-tel,
  .consult-menu:hover .txt-kakao,
  .consult-menu:hover .txt-request{color:#fff;}

  /* TOP 버튼: 플로팅 전환 */
  .top-btn{
    position:absolute;right:30px;bottom:0;width:auto;aspect-ratio:auto;padding:10px 15px;border-radius:12px;
    background:#2e3542;font-weight:700;color:#fff;transition:bottom 1s ease;
  }
  .top-btn.scrolled{bottom:80px;} /* header 60 + 여백 20 */
}

/* ===== 초소형 (<=400px) ===== */
@media (max-width:400px){
  .consult-menu{padding-bottom:15px;}
  .consult-menu:first-child .consult-menu-link{gap:2px;}
  .consult-menu-link{gap:4px;}
  .consult-menu strong{transform:scale(.6);}
  .consult-menu-link i[class^="xi"]{font-size:24px;}
}


/* =========================================================
   DAEHAN QUICK APPLY
========================================================= */
#dh_quick_apply {
  position:relative;
  overflow:hidden;
  color:#fff;
  padding:120px 0 0;
  min-height:820px;
  background:url('../img/main/08_bg.jpg') center center / cover no-repeat;
}

#dh_quick_apply .dh-quick-inner {
  position:relative;
  z-index:2;
  width:100%;
  max-width:1500px;
  min-height:820px;
  margin:0 auto;
  padding:0 24px;
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(420px, 620px);
  gap:70px;
  align-items:end;
}

/* =========================
   LEFT PERSON
========================= */
#dh_quick_apply .dh-quick-left {
  position:relative;
  align-self:stretch;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  min-height:100%;
}

#dh_quick_apply .dh-lawyer-img {
  position:relative;
  width:100%;
  max-width:800px;
  margin-right:-110px;
  margin-bottom:0;
}

#dh_quick_apply .dh-lawyer-img img {
  display:block;
  width:100%;
  height:auto;
}

/* =========================
   RIGHT FORM AREA
========================= */
#dh_quick_apply .dh-quick-right {
  display:flex;
  justify-content:flex-end;
  align-self:center;
}

/* =========================
   FORM CARD
========================= */
#dh_quick_apply .dh-card {
  width:100%;
  max-width:620px;
  background:#fff;
  color:#111;
  border-radius:18px;
  padding:44px 48px 42px;
  box-shadow:0 24px 60px rgba(0,0,0,.28);
}

#dh_quick_apply .dh-card-head {
  margin-bottom:34px;
  padding-bottom:26px;
  border-bottom:1px solid #999;
}

#dh_quick_apply .dh-card-title {
  margin:0;
  font-size:42px;
  line-height:1.22;
  font-weight:700;
  letter-spacing:-0.07em;
  color:#1e5b91;
  word-break:keep-all;
}

#dh_quick_apply .dh-card-desc {
  margin:14px 0 0;
  font-size:16px;
  line-height:1.5;
  font-weight:400;
  letter-spacing:-0.04em;
  color:#666;
  word-break:keep-all;
}

/* =========================
   FIELDS
========================= */
#dh_quick_apply .dh-fields {
  display:flex;
  flex-direction:column;
  gap:20px;
}

#dh_quick_apply .dh-field {
  display:block;
}

#dh_quick_apply .dh-label {
  display:block;
  margin-bottom:10px;
  font-size:16px;
  line-height:1.3;
  font-weight:700;
  color:#111;
  letter-spacing:-0.04em;
}

#dh_quick_apply .dh-input {
  width:100%;
  height:54px;
  border:1px solid #f1f1f1;
  border-radius:6px;
  background:#f4f4f4;
  padding:0 18px;
  font-size:15px;
  color:#111;
  outline:none;
  box-shadow:none !important;
}

#dh_quick_apply .dh-input::placeholder {
  color:#a6adb8;
}

#dh_quick_apply .dh-input:focus {
  background:#fff;
  border-color:#1e5b91 !important;
  box-shadow:0 0 0 3px rgba(30,91,145,.10) !important;
}

/* =========================
   AGREE
========================= */
#dh_quick_apply .dh-agree {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:18px 0 28px;
  font-size:15px;
  line-height:1.5;
  color:#333;
  text-align:center;
}

#dh_quick_apply .dh-agree input {
  width:18px;
  height:18px;
  accent-color:#1e5b91;
}

/* =========================
   SUBMIT
========================= */
#dh_quick_apply .dh-submit {
  width:100%;
  height:62px;
  border:0;
  border-radius:8px;
  background:#1e5b91;
  color:#fff;
  font-size:20px;
  font-weight:700;
  cursor:pointer;
  transition:background .18s ease, transform .18s ease, opacity .18s ease;
}

#dh_quick_apply .dh-submit:hover {
  background:#164b7b;
}

#dh_quick_apply .dh-submit:active {
  transform:translateY(1px);
}

#dh_quick_apply .dh-submit.is_loading {
  opacity:.8;
  cursor:wait;
}

/* =========================
   RESPONSIVE
========================= */
@media (max-width:1480px) {
  #dh_quick_apply .dh-quick-inner {
    max-width:1360px;
  }

  #dh_quick_apply .dh-lawyer-img {
    max-width:800px;
    margin-left:-80px;
  }
}

@media (max-width:1280px) {
  #dh_quick_apply {
    padding:100px 0;
    min-height:auto;
  }

  #dh_quick_apply .dh-quick-inner {
    grid-template-columns:1fr;
    gap:42px;
    min-height:auto;
    align-items:center;
  }

  #dh_quick_apply .dh-quick-left {
    display:none;
  }

  #dh_quick_apply .dh-quick-right {
    justify-content:center;
  }

  #dh_quick_apply .dh-card {
    max-width:680px;
  }
}

@media (max-width:768px) {
  #dh_quick_apply {
    padding:78px 0;
    min-height:auto;
  }

  #dh_quick_apply .dh-quick-inner {
    padding:0 18px;
  }

  #dh_quick_apply .dh-card {
    padding:34px 24px 28px;
    border-radius:16px;
  }

  #dh_quick_apply .dh-card-head {
    margin-bottom:28px;
    padding-bottom:22px;
  }

  #dh_quick_apply .dh-card-title {
    font-size:34px;
    line-height:1.25;
  }

  #dh_quick_apply .dh-card-desc {
    margin-top:12px;
    font-size:14px;
  }

  #dh_quick_apply .dh-fields {
    gap:17px;
  }

  #dh_quick_apply .dh-label {
    font-size:15px;
  }

  #dh_quick_apply .dh-input {
    height:50px;
    font-size:14px;
    padding:0 14px;
  }

  #dh_quick_apply .dh-agree {
    margin:16px 0 22px;
    font-size:13px;
  }

  #dh_quick_apply .dh-submit {
    height:56px;
    font-size:17px;
  }
}

@media (max-width:480px) {
  #dh_quick_apply .dh-card {
    padding:30px 18px 24px;
  }

  #dh_quick_apply .dh-card-title {
    font-size:29px;
  }

  #dh_quick_apply .dh-card-desc {
    font-size:13px;
  }

  #dh_quick_apply .dh-agree {
    align-items:flex-start;
    text-align:left;
  }
}