/* ========== 커뮤니티 댓글 쓰기 폼 ==========
 * 답글/수정 시 폼이 #bo_vc_w 밖(#reply_xx, #edit_xx)으로 복제되므로 .reply_wrap 기준으로 지정
 */

/* 폼 제목 (댓글쓰기 / 답글쓰기 / 댓글수정) */
.reply_wrap .reply_form_title {
  margin: 0 0 8px;
  font-size: 0.95em;
  font-weight: bold;
  color: #333;
}

#bo_vc_w {
  margin: 0;
  padding: 0;
  border-bottom: 0;
}

/* 비회원 이름·비밀번호 */
.reply_wrap .reply_guest {
  display: flex;
  gap: 5px;
  margin: 0 0 5px;
}
/* 자동등록방지 (Turnstile) */
.reply_wrap #captcha {
  border: 0;
  margin: 0 0 5px;
  padding: 0;
  min-width: 0;
}
.reply_wrap .reply_guest input.reply_guest_input {
  flex: 0 1 220px;
  width: auto;
  min-width: 0;
  max-width: none;
  height: 40px;
  margin: 0;
  padding: 0 12px;
  text-indent: 0;
  border: 1px solid #eee;
  border-radius: 0;
  background: #fff;
  color: #333;
  font-size: 0.95em;
  line-height: normal;
  box-sizing: border-box;
  -webkit-appearance: none;
}

/* 내용 박스 */
.reply_wrap .reply_input {
  margin-top: 0;
}
.reply_wrap .reply_input p.con textarea {
  display: block;
  width: 100%;
  min-height: 60px;
  margin: 0;
  padding: 0;
  text-indent: 0;
  border: 0;
  font-size: 0.95em;
  color: #333;
  resize: vertical;
  outline: none;
  box-sizing: border-box;
}

/* 포커스 */
.reply_wrap .reply_guest input.reply_guest_input:focus,
.reply_wrap .reply_input:focus-within {
  outline: none;
  border-color: #0a97a1;
}

/* placeholder */
.reply_wrap .reply_guest input.reply_guest_input::placeholder,
.reply_wrap .reply_input p.con textarea::placeholder {
  color: #aaa;
  font-size: 1em;
}

/* 등록 버튼 */
.reply_wrap .reply_input p.enter {
  background: #0a97a1;
  vertical-align: middle;
  transition: background 0.15s;
}
.reply_wrap .reply_input p.enter:hover {
  background: #087f88;
}
.reply_wrap .reply_input p.enter input {
  font-weight: bold;
  cursor: pointer;
}
.reply_wrap .reply_input p.enter input:disabled {
  cursor: default;
  opacity: 0.6;
}

/* 모바일 폭 */
@media (max-width: 640px) {
  .reply_wrap .reply_guest {
    flex-wrap: wrap;
  }
  .reply_wrap .reply_guest input.reply_guest_input {
    flex: 1 1 calc(50% - 3px);
  }
  .reply_wrap .reply_input p.enter {
    width: 64px;
  }
}

/* ========== 비회원 비밀번호 확인 모달 ========== */
.guest_pw_modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}
.guest_pw_modal[style*="display:none"],
.guest_pw_modal[style*="display: none"] {
  display: none !important;
}
.guest_pw_dim {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
}
.guest_pw_box {
  position: relative;
  width: calc(100% - 32px);
  max-width: 340px;
  padding: 24px 20px 20px;
  background: #fff;
  box-sizing: border-box;
}
.guest_pw_title {
  margin: 0 0 6px;
  font-size: 1.05em;
  font-weight: bold;
  color: #333;
}
.guest_pw_desc {
  margin: 0 0 14px;
  font-size: 0.85em;
  color: #888;
}
.guest_pw_box input.guest_pw_input {
  display: block;
  width: 100%;
  height: 42px;
  margin: 0;
  padding: 0 12px;
  text-indent: 0;
  border: 1px solid #ddd;
  border-radius: 0;
  font-size: 0.95em;
  box-sizing: border-box;
}
.guest_pw_box input.guest_pw_input:focus {
  outline: none;
  border-color: #0a97a1;
}
.guest_pw_error {
  min-height: 1.4em;
  margin: 6px 0 0;
  font-size: 0.85em;
  color: #e04e4e;
}
.guest_pw_btns {
  display: flex;
  gap: 6px;
  margin-top: 10px;
}
.guest_pw_btns button {
  flex: 1;
  height: 42px;
  border: 0;
  font-size: 0.95em;
  font-weight: bold;
  cursor: pointer;
}
.guest_pw_cancel {
  background: #eee;
  color: #555;
}
.guest_pw_ok {
  background: #0a97a1;
  color: #fff;
}
.guest_pw_ok:disabled {
  opacity: 0.6;
  cursor: default;
}

/* 답글취소 / 댓글취소 / 수정취소 */
.reply_wrap [id^="re_cancel_"] {
  display: inline-block;
  margin-top: 6px;
  vertical-align: middle;
}
.reply_wrap a.reply_cancel_btn {
  display: inline-block;
  height: 28px;
  padding: 0 12px;
  border: 1px solid #ddd;
  background: #fff;
  color: #666;
  font-size: 0.8em;
  line-height: 26px;
  box-sizing: border-box;
  text-decoration: none;
  transition:
    border-color 0.15s,
    color 0.15s;
}
.reply_wrap a.reply_cancel_btn:hover,
.reply_wrap a.reply_cancel_btn:focus {
  border-color: #0a97a1;
  color: #0a97a1;
  outline: none;
}
.reply_wrap .btn_mode {
  margin-top: 6px;
}
