@charset "UTF-8";
#xet-page {
  max-width: 1400px;
  margin: 0 auto;
  font-size: 16px;
  color: #0a0909;
}
#xet-page * {
  box-sizing: border-box;
}
#xet-page ::placeholder {
  color: #ababab;
  opacity: 1;
}
#xet-page :-ms-input-placeholder {
  color: #ababab;
}
#xet-page ::-ms-input-placeholder {
  color: #ababab;
}
#xet-page p {
  margin: 0;
}
#xet-page a {
  text-decoration: none;
  color: inherit;
}
#xet-page img {
  max-width: 100%;
}
#xet-page .message {
  text-align: center;
  padding: 1rem;
}
#xet-page .page__title {
  text-align: center;
  margin-bottom: 1rem;
}
#xet-page .page__title > div + div {
  margin-top: 1rem;
}
#xet-page .page__title .title {
  font-size: 2rem;
  font-weight: 700;
}
#xet-page .page__title .subTitle {
  font-size: 1.25rem;
  font-weight: 500;
}
#xet-page .contact-form {
  margin: 0;
}
#xet-page .contact-form .input-group {
  display: flex;
  align-items: center;
}
#xet-page .contact-form .input-group + .input-group {
  margin-top: 0.5rem;
}
#xet-page .contact-form input[type=text],
#xet-page .contact-form input[type=email],
#xet-page .contact-form textarea,
#xet-page .contact-form select {
  width: 100%;
  height: 48px;
  padding: 0 10px;
  font-size: inherit;
  margin: 0;
  color: inherit;
  border-radius: 4px;
  appearance: none;
  box-shadow: none;
  border: 1px solid #cbcbcb;
  background-color: #f9f9f9;
}
#xet-page .contact-form textarea {
  height: 200px;
  padding: 10px;
  resize: vertical;
}
#xet-page .contact-form input[type=text]:focus,
#xet-page .contact-form input[type=email]:focus,
#xet-page .contact-form textarea:focus {
  border-color: #111;
  background-color: #fff;
}
#xet-page .contact-form select {
  position: relative;
  padding-right: 40px;
  color: #ababab;
  background: url(./arrow_down_icon.svg) no-repeat #f9f9f9;
  background-position: calc(100% - 5px) 50%;
  background-size: 20px;
}
#xet-page .contact-form select.selected {
  color: #111;
}
#xet-page .contact-form select option[value=""][disabled] {
  display: none;
}
#xet-page .contact-form input[type=checkbox] {
  opacity: 0;
  vertical-align: top;
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
}
#xet-page .contact-form input[type=checkbox] + label {
  position: relative;
  padding-left: 24px;
  white-space: nowrap;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
}
#xet-page .contact-form input[type=checkbox] + label::before, #xet-page .contact-form input[type=checkbox] + label::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  border: 1px solid #cbcbcb;
  background: transparent;
}
#xet-page .contact-form input[type=checkbox] + label::after {
  opacity: 0;
  background: url(./check.png) no-repeat center #0d6efd;
  background-size: 14px;
  border-color: #0d6efd !important;
}
#xet-page .contact-form input[type=checkbox]:checked + label::after {
  opacity: 1;
}
#xet-page .contact-form .input-submit {
  margin-top: 1rem;
  text-align: right;
}
#xet-page .contact-form .input-submit .submit {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 40px;
  font-size: 1rem;
  font-weight: 500;
  border-radius: 4px;
  padding: 0;
  border: 0;
  background: #0d6efd !important;
  color: #fff !important;
}
#xet-page .contact-form .agree-privacy {
  display: none;
  margin-top: 0.5rem;
  padding: 1rem;
  border-radius: 4px;
  border: 1px solid #cbcbcb;
  background-color: #f5f5f5;
}

body.color_scheme_dark #xet-page {
  color: #fff;
}
body.color_scheme_dark #xet-page .contact-form {
  /** 개인정보수집내용 */
}
body.color_scheme_dark #xet-page .contact-form input[type=text],
body.color_scheme_dark #xet-page .contact-form input[type=email],
body.color_scheme_dark #xet-page .contact-form textarea,
body.color_scheme_dark #xet-page .contact-form select {
  border-color: #3b3b3b;
  background-color: #1b1b1b;
}
body.color_scheme_dark #xet-page .contact-form input[type=text]:focus,
body.color_scheme_dark #xet-page .contact-form input[type=email]:focus,
body.color_scheme_dark #xet-page .contact-form textarea:focus {
  background-color: #000 !important;
}
body.color_scheme_dark #xet-page .contact-form select {
  color: #ababab;
  background-color: #1b1b1b;
}
body.color_scheme_dark #xet-page .contact-form select.selected {
  color: #fff;
}
body.color_scheme_dark #xet-page .contact-form input[type=checkbox] + label::before, body.color_scheme_dark #xet-page .contact-form input[type=checkbox] + label::after {
  border-color: #3b3b3b;
}
body.color_scheme_dark #xet-page .contact-form .agree-privacy {
  border-color: #3b3b3b;
  background-color: #1b1b1b;
  color: #ababab;
}

/* responsive
-------------------------------------------------------------------------------------------------------- */
@media (min-width: 992px) {
  #xet-page {
    font-size: 14px;
  }
  #xet-page .page__container.column {
    display: flex;
    gap: 16px;
  }
  #xet-page .page__container.column > .item {
    flex: 1;
  }
  #xet-page .page__container.column .page__title {
    text-align: left;
  }
  #xet-page .page__title {
    margin-bottom: 2rem;
  }
  #xet-page .contact-form .input-submit .submit {
    width: 200px;
  }
}


/* =========================================================
   page21 Mobile Horizontal Overflow Fix (Final)
   - datepicker width fix
   - mobile page width clamp
   - agreement row (checkbox + [내용보기]) wrap fix
   - long text break safety
========================================================= */

/* 1) Datepicker: 폭 튀는 것 방지(102% 같은 문제 대비) */
.datepicker-panel > ul{
  width: 100% !important;
}
.datepicker-container,
.datepicker-dropdown{
  max-width: 100vw;
  box-sizing: border-box;
}

/* 2) 페이지 내부에서 튀는 텍스트 안전망 */
#xet-page{
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* 3) 모바일에서 페이지 폭을 뷰포트에 고정 */
@media (max-width: 991px){
  #xet-page{
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* 4) 핵심: '동의 + 내용보기' 줄이 한 줄로 밀려서 가로스크롤 나는 것 방지
        - input-group가 flex라서 기본적으로 nowrap이므로 wrap을 켜 줌
        - [내용보기] 링크는 다음 줄로 내려서 폭 튐을 원천 차단 */
  #xet-page .contact-form .input-group{
    flex-wrap: wrap;
    row-gap: 6px;
  }

  /* 체크박스 라벨은 줄바꿈 허용 + 한 줄(100%) 사용 */
  #xet-page .contact-form input[type=checkbox] + label{
    flex: 1 1 100%;
    white-space: normal !important;
    max-width: 100%;
    line-height: 1.4;
  }

  /* [내용보기] 링크(agree용 버튼) 정리 */
  #xet-page .contact-form .input-group a[rel="btn-agree"]{
    display: inline-block;
    margin-left: 24px;
    max-width: 100%;
  }
}

/* ✅ page21 모바일 가로 스크롤 최종 해결: 동의줄(checkbox + 내용보기) flex 줄바꿈 */
@media (max-width: 991px){
  /* 모든 input-group이 모바일에서 안전하게 줄바꿈 가능 */
  #xet-page .contact-form .input-group{
    flex-wrap: wrap;
    row-gap: 6px;
  }

  /* checkbox 라벨은 줄바꿈 허용 + 한 줄(100%) 차지 */
  #xet-page .contact-form input[type=checkbox] + label{
    white-space: normal !important;
    flex: 1 1 100%;
    max-width: 100%;
    line-height: 1.4;
  }

  /* [내용보기]는 다음 줄로 내려서 폭 튐 차단 */
  #xet-page .contact-form .input-group a[rel="btn-agree"]{
    display: inline-block;
    margin-left: 24px;
    max-width: 100%;
  }
}

/* ✅ page21(= #xet-page가 존재하는 페이지)에서만 가로 스크롤 차단 */
@supports selector(body:has(#xet-page)) {
  html:has(#xet-page),
  body:has(#xet-page) {
    overflow-x: clip;
  }
}
