@charset "utf-8";
/* 게시판 공통: 모바일 폭 맞춤 + 다크모드 (모든 스킨) */

#bo_list,
#bo_v,
#bo_w,
.bo_vc_w {
  max-width: 100%;
  box-sizing: border-box;
}
#bo_w form,
#bo_v,
#bo_list {
  width: 100% !important;
  max-width: 100%;
  box-sizing: border-box;
}
#bo_w input.frm_input,
#bo_w select.frm_input,
#bo_w textarea,
#bo_w select,
.bo_vc_w .frm_input,
.bo_vc_w textarea,
.bo_sch_inline select,
.bo_sch_inline .sch_input,
.quote-box .frm_input,
.sc-form-box .frm_input {
  max-width: 100%;
  box-sizing: border-box;
}

/* 글쓰기: 구형 float 레이아웃이 모바일에서 넘치지 않도록 */
#bo_w .bo_w_info {
  float: none !important;
  display: block;
  width: 100%;
}
#bo_w .bo_w_info .frm_input,
#bo_w #wr_name,
#bo_w #wr_password,
#bo_w #wr_email,
#bo_w #wr_homepage {
  float: none !important;
  display: block;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
#bo_w .quote-grid.bo_w_info .frm_input {
  width: 100% !important;
}

/* 댓글 작성: size=25 기본폭 제거, 한 줄에 맞춰 배치 */
.bo_vc_w_wr {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  max-width: 100%;
}
.bo_vc_w,
.bo_vc_w_info {
  min-width: 0;
  max-width: 100%;
  overflow-x: clip;
}
.bo_vc_w_info {
  float: none !important;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  width: 100%;
  margin: 10px 0 0;
  box-sizing: border-box;
}
.bo_vc_w_info .frm_input,
.bo_vc_w_info #wr_name,
.bo_vc_w_info #wr_password {
  float: none !important;
  flex: none !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 42px;
  margin: 0 !important;
  padding: 0 12px;
  border: 1px solid var(--line, #e5e7eb);
  border-radius: 8px;
  background-color: var(--white, #fff);
  color: var(--ink, #111827);
  font-size: 14px;
  box-sizing: border-box !important;
  -webkit-appearance: none;
  appearance: none;
}
.bo_vc_w_info #captcha,
.bo_vc_w_info #captcha.captcha,
.bo_vc_w_info #captcha.recaptcha {
  flex: none;
  display: block;
  width: auto;
  max-width: 100%;
  min-width: 0 !important;
  margin: 0;
  padding: 4px 0 0;
  border: 0;
  background: transparent;
  overflow: hidden;
}
/* reCAPTCHA: iframe 304x78, 내부 300x74. 1px 더 잘라 위·왼쪽 테두리도 맞춤 */
.g5-recaptcha,
.g-recaptcha,
.g-recaptcha > div {
  width: 299px !important;
  height: 73px !important;
  max-width: 100%;
  overflow: hidden !important;
  background: transparent !important;
}
.g-recaptcha iframe,
iframe[title="reCAPTCHA"] {
  margin: -1px 0 0 -1px;
  background: transparent;
}
.bo_vc_w textarea {
  width: 100% !important;
  max-width: 100%;
  box-sizing: border-box;
}
.bo_vc_w .btn_confirm {
  float: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin-top: 4px;
}

@media (max-width: 768px) {
  .bo_vc_w,
  .bo_vc_w_wr,
  .bo_vc_w_info {
    float: none !important;
    display: block;
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow-x: clip;
  }
  .bo_vc_w_wr {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 8px 0;
  }
  .bo_vc_w_info {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
  .bo_vc_w_info .frm_input,
  .bo_vc_w_info #wr_name,
  .bo_vc_w_info #wr_password {
    float: none !important;
    flex: none !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  .bo_vc_w .btn_confirm,
  .bo_vc_w .btn_submit {
    width: 100%;
  }
  .bo_vc_w .btn_submit {
    justify-content: center;
  }
  #bo_w .bo_w_tit .frm_input {
    padding-right: 14px !important;
  }
  .bo_sch_inline select,
  .bo_sch_inline .sch_input,
  .bo_sch_inline .sch_btn {
    width: 100%;
    max-width: 100%;
  }
  #captcha,
  #captcha_info,
  .bo_vc_w_info #captcha img {
    max-width: 100%;
    height: auto;
  }
}

/* ---------- 다크모드 ---------- */
html[data-theme="dark"] input.frm_input,
html[data-theme="dark"] input.frm_input.required,
html[data-theme="dark"] input[type="text"].frm_input,
html[data-theme="dark"] input[type="password"].frm_input,
html[data-theme="dark"] #bo_w input.frm_input,
html[data-theme="dark"] #bo_w input.frm_input.required,
html[data-theme="dark"] #bo_w select.frm_input,
html[data-theme="dark"] #bo_w select,
html[data-theme="dark"] #bo_w textarea,
html[data-theme="dark"] #bo_w textarea#wr_content,
html[data-theme="dark"] #bo_w .quote-box .frm_input,
html[data-theme="dark"] #bo_w .bw-file-box .frm_input,
html[data-theme="dark"] #bo_w .bw-file-box .file_wr,
html[data-theme="dark"] #bo_w .sc-form-box .frm_input,
html[data-theme="dark"] #bo_w #wr_name,
html[data-theme="dark"] #bo_w #wr_password,
html[data-theme="dark"] #bo_w #wr_email,
html[data-theme="dark"] #bo_w #wr_homepage,
html[data-theme="dark"] #bo_w #wr_subject,
html[data-theme="dark"] .bo_vc_w textarea,
html[data-theme="dark"] .bo_vc_w_info .frm_input,
html[data-theme="dark"] .bo_vc_w_info #wr_name,
html[data-theme="dark"] .bo_vc_w_info #wr_password,
html[data-theme="dark"] .quote-box .frm_input,
html[data-theme="dark"] .sc-form-box .frm_input,
html[data-theme="dark"] .bo_sch_inline select,
html[data-theme="dark"] .bo_sch_inline .sch_input {
  background-color: #111827 !important;
  border-color: #374151 !important;
  color: #f3f4f6 !important;
  color-scheme: dark;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}
html[data-theme="dark"] #bo_w input.frm_input::placeholder,
html[data-theme="dark"] .bo_vc_w textarea::placeholder,
html[data-theme="dark"] .bo_vc_w_info .frm_input::placeholder,
html[data-theme="dark"] .bo_sch_inline .sch_input::placeholder {
  color: #9ca3af !important;
  opacity: 1;
}
html[data-theme="dark"] #bo_w input.frm_input:-webkit-autofill,
html[data-theme="dark"] #bo_w input.frm_input:-webkit-autofill:hover,
html[data-theme="dark"] #bo_w input.frm_input:-webkit-autofill:focus,
html[data-theme="dark"] .bo_vc_w_info .frm_input:-webkit-autofill,
html[data-theme="dark"] .bo_vc_w_info .frm_input:-webkit-autofill:hover,
html[data-theme="dark"] .bo_vc_w_info .frm_input:-webkit-autofill:focus {
  -webkit-text-fill-color: #f3f4f6;
  caret-color: #f3f4f6;
  -webkit-box-shadow: 0 0 0 1000px #111827 inset;
  box-shadow: 0 0 0 1000px #111827 inset;
  border-color: #374151;
  transition: background-color 9999s ease-out 0s;
}
html[data-theme="dark"] #bo_w .quote-box,
html[data-theme="dark"] #bo_w .sc-form-box {
  background: #1f2937;
  border-color: #374151;
}
html[data-theme="dark"] .bo_vc_w textarea:focus,
html[data-theme="dark"] .bo_vc_w_info .frm_input:focus,
html[data-theme="dark"] #bo_w .frm_input:focus,
html[data-theme="dark"] #bo_w select:focus {
  outline: 0;
  border-color: #FF8A4A !important;
  box-shadow: 0 0 0 3px rgba(255, 138, 74, .18);
}
html[data-theme="dark"] #captcha,
html[data-theme="dark"] #captcha.recaptcha,
html[data-theme="dark"] .g5-recaptcha,
html[data-theme="dark"] .g-recaptcha {
  background: transparent !important;
  border: 0;
}

/* 분류 배지: 래퍼(.ql-cat)는 스타일 없음, 버튼은 .bo_cate_link */
#bo_list .quote-list .ql-cat:has(.bo_cate_link) {
  display: inline-flex;
  align-items: center;
  padding: 0 !important;
  background: none !important;
  border-radius: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}
#bo_list .quote-list .ql-cat .bo_cate_link {
  float: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  height: auto !important;
  line-height: 1 !important;
  padding: 6px 10px;
  text-align: center;
  box-sizing: border-box;
}
