/* 문의 게시판 기본 모양 (HM-QNA 문의 게시판 키트 v1) — 사이트 디자인(색·글꼴·간격)에 맞게 AI 가 색·글꼴·간격만 고친다. 클래스 이름(hm-qna…)·data 속성은 유지한다. */
.hm-qna { max-width: 860px; margin: 0 auto; font: inherit; color: inherit; }
.hm-qna [hidden] { display: none !important; }
.hm-qna__bar { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.hm-qna__search { display: flex; gap: 6px; flex: 1 1 260px; }
.hm-qna__search label { flex: 1; }
.hm-qna__search input { width: 100%; box-sizing: border-box; font: inherit; padding: 10px 12px; border: 1px solid #c9ced6; border-radius: 6px; background: #fff; color: inherit; }
.hm-qna button, .hm-qna__write-link { font: inherit; padding: 10px 16px; min-height: 44px; border: 1px solid #c9ced6; border-radius: 6px; background: #fff; color: inherit; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; }
.hm-qna__write-link, .hm-qna button[type=submit] { background: #111; color: #fff; border-color: #111; }
.hm-qna button[disabled] { opacity: .5; cursor: default; }
.hm-qna__rows { list-style: none; margin: 0; padding: 0; border-top: 2px solid #111; }
.hm-qna__row { border-bottom: 1px solid #e3e6eb; }
.hm-qna__link { display: grid; grid-template-columns: 56px 1fr 80px 96px 84px; gap: 8px; align-items: center; padding: 12px 6px; color: inherit; text-decoration: none; }
.hm-qna__link:hover .hm-qna__title { text-decoration: underline; }
.hm-qna__no, .hm-qna__date, .hm-qna__author { color: #667085; font-size: 14px; }
.hm-qna__no { text-align: center; }
.hm-qna__title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hm-qna__status { font-size: 13px; text-align: center; border: 1px solid #c9ced6; border-radius: 12px; padding: 2px 8px; }
.hm-qna__status.is-answered { font-weight: 600; border-color: #111; }
.hm-qna__empty { padding: 28px 8px; text-align: center; color: #667085; }
.hm-qna__pager { display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; margin-top: 16px; }
.hm-qna__page { min-width: 44px; }
.hm-qna__page.is-current { font-weight: 700; border-color: #111; }
.hm-qna__view { border-top: 2px solid #111; padding-top: 12px; }
.hm-qna__vtitle { font-size: 1.25em; margin: 4px 0; word-break: break-word; }
.hm-qna__meta, .hm-qna__note, .hm-qna__noreply { color: #667085; font-size: 14px; margin: 4px 0 12px; }
.hm-qna__content, .hm-qna__rcontent { white-space: pre-wrap; word-break: break-word; line-height: 1.7; }
.hm-qna__content { min-height: 80px; padding: 8px 0 20px; border-bottom: 1px solid #e3e6eb; }
.hm-qna__reply { background: #f6f7f9; border-radius: 8px; padding: 14px 16px; margin: 12px 0; }
.hm-qna__rdate { color: #667085; font-size: 13px; }
.hm-qna__unlock { display: grid; gap: 8px; max-width: 420px; margin: 12px 0; }
.hm-qna__unlock .hm-qna__unlock-row { display: flex; gap: 6px; }
.hm-qna__unlock input { flex: 1; font: inherit; padding: 10px 12px; border: 1px solid #c9ced6; border-radius: 6px; }
.hm-qna__actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 16px; }
.hm-qna__write { display: grid; gap: 14px; max-width: 640px; }
.hm-qna__write label { display: grid; gap: 6px; font-size: 14px; }
.hm-qna__write input[type=text], .hm-qna__write input[type=password], .hm-qna__write input[type=tel], .hm-qna__write textarea {
  font: inherit; padding: 10px 12px; border: 1px solid #c9ced6; border-radius: 6px; background: #fff; color: inherit; width: 100%; box-sizing: border-box; }
.hm-qna__write textarea { min-height: 180px; resize: vertical; }
.hm-qna__write .hm-qna__check { display: flex; gap: 8px; align-items: flex-start; }
.hm-qna__write small { color: #667085; }
.hm-qna__trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.hm-qna__consent { border: 1px solid #e3e6eb; border-radius: 6px; padding: 12px; font-size: 13px; line-height: 1.6; }
.hm-qna__consent label { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; margin-top: 8px; }
.hm-qna__buttons { display: flex; gap: 8px; flex-wrap: wrap; }
.hm-qna [data-hm-ok] { color: #1a6b3a; margin: 8px 0; }
.hm-qna [data-hm-msg] { color: #b42318; margin: 8px 0; }
@media (max-width: 640px) {
  .hm-qna__link { grid-template-columns: 1fr auto; grid-template-areas: 'title status' 'meta meta'; row-gap: 4px; }
  .hm-qna__title { grid-area: title; white-space: normal; }
  .hm-qna__status { grid-area: status; }
  .hm-qna__no { display: none; }
  .hm-qna__author, .hm-qna__date { grid-area: meta; font-size: 13px; }
  .hm-qna__author { justify-self: start; }
  .hm-qna__date { justify-self: end; }
}

/* ───────── 시간가구 디자인 맞춤 (색·글꼴·간격만) — 어두운 갈색 바탕·흰 글자·IBM Plex Sans KR, 모바일 우선 ───────── */
.qna-section { position: relative; z-index: 1; background: var(--bg, #37322f); color: #fff; padding: 72px 20px 56px; }
.qna-section-inner { max-width: 1120px; margin: 0 auto; }
@media (min-width: 768px) { .qna-section { padding: 96px 48px 72px; } }
@media (min-width: 1100px) { .qna-section { padding: 112px 8% 88px; } }

.hm-qna { max-width: 860px; margin: 0; color: #fff; letter-spacing: 0.02em; scroll-margin-top: 96px; }
.hm-qna__heading { font-size: 24px; line-height: 1.35; font-weight: 300; margin: 0; }
.hm-qna__lead { margin: 12px 0 24px; font-size: 16px; line-height: 1.6; max-width: 34em; opacity: 0.85; }
@media (min-width: 768px) { .hm-qna__heading { font-size: 32px; } }
@media (min-width: 1100px) { .hm-qna__heading { font-size: 40px; } }

.hm-qna__search input, .hm-qna__unlock input,
.hm-qna__write input[type=text], .hm-qna__write input[type=password], .hm-qna__write input[type=tel], .hm-qna__write textarea {
  min-height: 48px; font-size: 16px; border: 1px solid rgba(255, 255, 255, 0.5); border-radius: 0; background: #2f2a27; color: #fff; }
.hm-qna__search input::placeholder { color: rgba(255, 255, 255, 0.55); }
.hm-qna input:focus-visible, .hm-qna textarea:focus-visible, .hm-qna button:focus-visible, .hm-qna a:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.hm-qna button, .hm-qna__write-link { font-size: 16px; min-height: 48px; border: 1px solid rgba(255, 255, 255, 0.6); border-radius: 0; background: transparent; color: #fff; }
.hm-qna button:hover:not([disabled]), .hm-qna__write-link:hover { background: #fff; color: #000; }
.hm-qna__write-link, .hm-qna button[type=submit] { background: #fff; color: #000; border-color: #fff; }
.hm-qna button[type=submit]:hover:not([disabled]), .hm-qna__write-link:hover { background: transparent; color: #fff; }

.hm-qna__rows { border-top: 1px solid #fff; }
.hm-qna__row { border-bottom: 1px solid rgba(255, 255, 255, 0.2); }
.hm-qna__link { min-height: 56px; }
.hm-qna__no, .hm-qna__date, .hm-qna__author, .hm-qna__meta, .hm-qna__note, .hm-qna__noreply, .hm-qna__write small, .hm-qna__empty { color: rgba(255, 255, 255, 0.7); }
.hm-qna__status { font-size: 14px; border-color: rgba(255, 255, 255, 0.5); border-radius: 0; white-space: nowrap; }
.hm-qna__status.is-answered { border-color: #fff; color: #fff; }
.hm-qna__page { min-width: 48px; }
.hm-qna__page.is-current { border-color: #fff; background: #fff; color: #000; }
.hm-qna__view { border-top: 1px solid #fff; }
.hm-qna__content { border-bottom-color: rgba(255, 255, 255, 0.2); }
.hm-qna__reply { background: #2f2a27; border-radius: 0; border-left: 2px solid #fff; }
.hm-qna__rdate { font-size: 14px; color: rgba(255, 255, 255, 0.7); }
.hm-qna__content, .hm-qna__rcontent, .hm-qna__vtitle { overflow-wrap: anywhere; }
.hm-qna__actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; min-width: 48px; padding: 0 16px; border: 1px solid rgba(255, 255, 255, 0.6); color: #fff; text-decoration: none; }
.hm-qna__actions a:hover { background: #fff; color: #000; }
.hm-qna__write label { font-size: 16px; line-height: 1.4; }
.hm-qna__write small { font-size: 14px; }
.hm-qna input[type=checkbox] { flex: none; width: 24px; height: 24px; margin: 0; accent-color: #fff; cursor: pointer; }
.hm-qna__consent { border-color: rgba(255, 255, 255, 0.3); border-radius: 0; background: #2f2a27; font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; }
.hm-qna__consent label { font-size: 16px; line-height: 1.5; margin-top: 12px; }
.hm-qna__consent a { display: inline-block; min-height: 44px; line-height: 44px; text-decoration: underline; text-underline-offset: 4px; }
.hm-qna [data-hm-ok] { color: #b9e6c6; font-size: 16px; }
.hm-qna [data-hm-msg] { color: #ffb4a8; font-size: 16px; }
@media (max-width: 640px) {
  .hm-qna__author, .hm-qna__date { font-size: 14px; }
  .hm-qna__unlock .hm-qna__unlock-row { flex-wrap: wrap; }
  .hm-qna__unlock input { min-width: 0; }
}
@media (prefers-reduced-motion: reduce) { .hm-qna button, .hm-qna__write-link { transition: none; } }
.hm-qna__sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.hm-qna__search label { position: relative; }

/* 체크칸 눌리는 자리 44×44 (눈에 보이는 칸은 24×24 그대로 — 테두리 투명 10px 이 눌림 영역) */
.hm-qna input[type=checkbox] { -webkit-appearance: none; appearance: none; width: 44px; height: 44px; margin: -10px; border: 10px solid transparent; border-radius: 0; background: transparent; background-clip: padding-box; box-shadow: inset 0 0 0 2px #fff; }
.hm-qna input[type=checkbox]:checked { background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23000' stroke-width='2.5'/%3E%3C/svg%3E") center / 100% 100% no-repeat; background-clip: padding-box; }
