/* ===============================
   공통 리셋
=============================== */
html, body {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
}

button {
  overflow: hidden;
  cursor: pointer;
  background: transparent;
  border: 0;
}

#device-pc {
  width: 100%;
}

/* ===============================
   섹션 공통
=============================== */
#device-pc .section {
  position: relative;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
}

/* PC용 / 모바일용 이미지 토글 */
.pc-img {
  display: block;
  width: 100%;
  height: auto;
}

.mo-img {
  display: none;
  width: 100%;
  height: auto;
}

/* PC에서 중앙 정렬 + 최대 1920px */
#device-pc .pc-narrow {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}

/* ===============================
   헤더 (고정)
=============================== */
/* 상단 헤더 고정 */
#device-pc .header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background: #404e76;   /* ★ 전체 배경을 보라색으로 */
}

/* 안쪽 컨텐츠만 가운데 정렬, 배경은 투명 */
#device-pc .header-inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  background: transparent;   /* ★ 여기서는 배경 지우기 */
  padding: 14px 18px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
}


#device-pc .logo {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
}

#device-pc .header-buttons a {
  display: inline-block;
  padding: 8px 18px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  margin-left: 6px;
  white-space: nowrap;
  line-height: 1;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

#device-pc .btn-goto-form {
  background: #55C88A !important;
}

#device-pc .btn-link01 {
  background: #F25567 !important;
}

#device-pc .header-buttons a:hover {
  opacity: .9;
}

/* 헤더 때문에 위에 가려지는 영역 여유 */
#device-pc .top-gap {
  margin-top: 50px;   /* ★ 여백 제거 */
}

/* ===============================
   상담폼 섹션
=============================== */
.section-form {
  background: #673AB7;
  color: #fff;
  padding: 60px 0 40px;
}

#frmpc {
  max-width: 480px;
  margin: 0 auto;
  color: #fff;
}

#frmpc .db_list {
  margin: 0 auto 10px;
  list-style: none;
  padding: 0;
}

#frmpc li > div {
  font-size: 0;
}

#frmpc li > div > span {
  display: inline-block;
  vertical-align: middle;
  font-size: 18px;
  padding: 5px 12px;
  letter-spacing: -1px;
}

#frmpc li > div > span:first-child {
  width: 90px;
}

#frmpc li > div > span:last-child {
  width: calc(100% - 90px);
  text-align: left;
  padding: 5px 0;
}

#frmpc .input-control {
  display: block;
  border: 1px solid #333;
  padding: 12px;
  width: 100%;
  background: #fff;
  font-size: 15px;
  border-radius: 0;
  color: #555;
  resize: none;
  outline: none;
  box-sizing: border-box;
}

#frmpc .agreebox {
  margin: 16px auto 8px;
  text-align: center;
  font-size: 14px;
}

#frmpc .privacy-open {
  background-color: transparent;
  border: 0;
  color: #fff;
  font-size: 13px;
  margin-top: 6px;
}

/* 하단 버튼 */
.submitbox {
  text-align: center;
  width: 100%;
  margin-top: 10px;
}

.btn-submit {
  display: inline-block;
  width: 60%;
  max-width: 420px;
  padding: 14px 20px;
  border-radius: 999px;
  background: #FFC107;
  border: 0;
  color: #333;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.5px;
  font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  box-shadow: 0 4px 10px rgba(0,0,0,.18);
}

.btn-submit:active {
  transform: translateY(1px);
  box-shadow: 0 2px 6px rgba(0,0,0,.2);
}

/* ===============================
   개인정보처리방침 팝업 (필요하면)
=============================== */
#privacy-info {
  position: absolute;
  width: 500px;
  max-width: 96%;
  background: #fff;
}

#privacy-info .title {
  padding: 0 20px;
  height: 40px;
  color: #fff;
  background: #333;
  position: relative;
  font-weight: 700;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#privacy-info .title button {
  background-color: transparent;
  color: #fff;
  border: 0;
  font-size: 16px;
}

#privacy-info .content {
  height: 350px;
  overflow-y: scroll;
  padding: 20px;
  line-height: 1.6;
  font-size: 14px;
}

/* ===============================
   반응형 – 모바일
=============================== */
@media (max-width: 768px) {
  /* 이미지 토글: 모바일은 mo-img만 보이게 */
  .pc-img {
    display: none;
  }
  .mo-img {
    display: block;
  }

  .section-form {
    padding: 40px 16px 32px;
  }

  #frmpc {
    width: 100%;
    max-width: 100%;
  }

  #frmpc li > div > span {
    font-size: 15px;
    padding: 4px 8px;
  }

  #frmpc li > div > span:first-child {
    width: 57px;
  }

  #frmpc li > div > span:last-child {
    width: calc(100% - 80px);
  }

  #frmpc .input-control {
    font-size: 14px;
    padding: 10px;
  }
}
/* 동의 영역 */
#frmpc .agreebox {
  margin: 20px auto 0;                  /* 위 여백만 살짝 주고 */
  text-align: center;
  font-size: 14px;

  display: flex;                        /* 체크박스 + [자세히] 한 줄 정렬 */
  align-items: center;                  /* 세로 가운데 정렬 */
  justify-content: center;              /* 가운데 배치 */
  gap: 8px;                             /* 요소 사이 간격 */
}

/* pretty-checkbox 박스 여백 제거 */
#frmpc .agreebox .pretty {
  margin: 0;
}

/* [자세히] 버튼 위로 들떠 보이는 것 방지 */
#frmpc .privacy-open {
  background-color: transparent;
  border: 0;
  color: #fff;
  font-size: 13px;
  margin: 0;                            /* 위쪽 margin 제거 */
  padding: 0;
}
/* 상담폼 섹션 배경 */
.section-form {
  background: #404e76;
  color: #fff;
  padding: 60px 0 80px;   /* 마지막 값: 하단 여백 40 → 80으로 늘림 */
}

/* 하단 버튼 박스 */
.submitbox {
  text-align: center;
  width: 100%;
  margin-top: 24px;       /* 버튼 위 여백도 조금 늘리기 (10 → 24) */
}
@media (max-width: 768px) {
  /* 1. 헤더 내부 요소를 가로로 강제 정렬하고 줄바꿈 방지 */
  #device-pc .header-inner {
    display: flex !important;
    flex-direction: row !important; /* 가로 방향 */
    flex-wrap: nowrap !important;   /* 줄바꿈 금지 */
    justify-content: space-between !important;
    padding: 10px 12px !important;  /* 헤더 세로 높이 축소 */
  }

  /* 2. 로고 영역: 버튼 공간 확보를 위해 유연하게 설정 */
  #device-pc .logo {
    flex: 0 1 auto !important; 
    margin-right: 10px !important;
  }
  
  #device-pc .logo img {
    max-height: 30px !important; /* 모바일 로고 높이 적정 수준으로 제한 */
    width: auto !important;
  }

  /* 3. 버튼 영역: 가로로 나란히 배치 */
  #device-pc .header-buttons {
    display: flex !important;
    flex-direction: row !important; /* 가로 정렬 */
    gap: 5px !important;           /* 버튼 사이 간격 */
    flex-shrink: 0 !important;      /* 버튼 영역이 찌그러지지 않게 */
  }

  #device-pc .header-buttons a {
    margin: 0 !important;          /* 기존 마진 제거 */
    padding: 6px 10px !important;  /* 버튼 크기 조절 */
    font-size: 11px !important;    /* 좁은 화면 대응을 위해 글자 살짝 축소 */
    border-radius: 20px !important;
    white-space: nowrap !important;
  }
}
