/* 문의 게시판 기본 모양 (HM-QNA 문의 게시판 키트 v1) — 우도 풀빌라 색·간격에 맞춰 색·간격만 고쳤다(클래스 hm-qna… 유지). */
.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 var(--line-blush, #cdbb93); 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 var(--line-blush, #cdbb93); 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: var(--ink, #4b3d2c); color: #fff; border-color: var(--ink, #4b3d2c); }
.hm-qna button[disabled] { opacity: .5; cursor: default; }
.hm-qna__rows { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--ink, #4b3d2c); }
.hm-qna__row { border-bottom: 1px solid var(--ivory-deep, #ebe2ca); }
.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: #6b5d49; 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: 14px; text-align: center; border: 1px solid var(--line-blush, #cdbb93); border-radius: 12px; padding: 2px 8px; }
.hm-qna__status.is-answered { font-weight: 600; border-color: var(--ink, #4b3d2c); }
.hm-qna__empty { padding: 28px 8px; text-align: center; color: #6b5d49; }
.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: var(--ink, #4b3d2c); }
.hm-qna__view { border-top: 2px solid var(--ink, #4b3d2c); 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: #6b5d49; 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 var(--ivory-deep, #ebe2ca); }
.hm-qna__reply { background: var(--ivory-soft, #f3ecd8); border-radius: 8px; padding: 14px 16px; margin: 12px 0; }
.hm-qna__rdate { color: #6b5d49; font-size: 14px; }
.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 var(--line-blush, #cdbb93); 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 var(--line-blush, #cdbb93); 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: #6b5d49; }
.hm-qna__trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.hm-qna__consent { border: 1px solid var(--ivory-deep, #ebe2ca); border-radius: 6px; padding: 12px; font-size: 14px; 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: 14px; }
  .hm-qna__author { justify-self: start; }
  .hm-qna__date { justify-self: end; }
}
/* 우도 풀빌라 맞춤 — 모바일에서 누르는 대상 44px 이상, 본문 16px */
.hm-qna { padding: 0 var(--gutter, 20px); }
.hm-qna__actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; padding: 10px 16px; border: 1px solid var(--line-blush, #cdbb93); border-radius: 6px; box-sizing: border-box; }
.hm-qna__write .hm-qna__check, .hm-qna__consent label { min-height: 44px; align-items: center; }
.hm-qna input[type=checkbox] { width: 22px; height: 22px; flex: none; margin: 0; accent-color: var(--ink, #4b3d2c); }
.hm-qna__write input[type=text], .hm-qna__write input[type=password], .hm-qna__write textarea, .hm-qna__search input, .hm-qna__unlock input { font-size: 16px; min-height: 44px; }
.hm-qna__consent { font-size: 14px; }
.hm-qna__consent a { text-decoration: underline; }
.hm-qna__reply { border-left: 3px solid var(--gold, #b8975a); }
