/* 문의 폼 모양 (HM-CONTACT 문의 키트 v1) — 우도 풀빌라 사이트 디자인(색·글꼴·간격)에 맞춤. 클래스 이름(hm-contact)은 키트 그대로. */
.hm-contact { width: 100%; max-width: 825px; margin: 0 auto; display: grid; gap: 28px; font: inherit; color: var(--ink, #4b3d2c); text-align: left; position: relative; }
.hm-contact label { display: grid; gap: 4px; font-size: 16px; line-height: 1.3; }
.hm-contact input[type=text], .hm-contact input[type=tel], .hm-contact input[type=email], .hm-contact input[type=date], .hm-contact textarea {
  width: 100%; min-height: 44px; border: 0; border-bottom: 1px solid var(--ink, #4b3d2c); border-radius: 0; background: transparent;
  color: inherit; font: inherit; font-size: 16px; padding: 8px 0; box-sizing: border-box; appearance: none; -webkit-appearance: none;
}
.hm-contact textarea { min-height: 140px; resize: vertical; border: 1px solid var(--ink, #4b3d2c); padding: 10px 12px; line-height: 1.5; }
.hm-contact input:focus-visible, .hm-contact textarea:focus-visible { outline: 2px solid var(--ink, #4b3d2c); outline-offset: 2px; }
.hm-contact .hm-contact__trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.hm-contact .hm-contact__consent { border: 1px solid var(--line-blush, #cdbb93); padding: 16px; font-size: 14px; line-height: 1.7; }
.hm-contact .hm-contact__consent label { display: flex; align-items: center; gap: 12px; min-height: 44px; font-size: 16px; margin-top: 8px; cursor: pointer; }
.hm-contact .hm-contact__consent a { text-decoration: underline; text-underline-offset: 3px; }
/* 보이는 네모는 18px, 누르는 칸은 44px */
.hm-contact input[type=checkbox] {
  appearance: none; -webkit-appearance: none; width: 44px; height: 44px; margin: 0 -13px; flex: none; border: 0; cursor: pointer;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Crect x='.5' y='.5' width='17' height='17' fill='none' stroke='%234B3D2C'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
}
.hm-contact input[type=checkbox]:checked {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Crect x='.5' y='.5' width='17' height='17' fill='none' stroke='%234B3D2C'/%3E%3Crect x='4' y='4' width='10' height='10' fill='%234B3D2C'/%3E%3C/svg%3E");
}
.hm-contact input[type=checkbox]:focus-visible { outline-offset: -10px; }
.hm-contact button[type=submit] {
  width: 100%; min-height: 54px; border: 0; border-radius: 50px; background: var(--ink, #4b3d2c); color: var(--white, #fff);
  font: inherit; font-size: 18px; font-weight: 700; letter-spacing: .02em; cursor: pointer; transition: opacity .2s ease;
}
.hm-contact button[type=submit]:hover { opacity: .9; }
.hm-contact button[disabled] { opacity: .6; cursor: wait; }
.hm-contact [data-hm-ok], .hm-contact [data-hm-msg] { margin: 0; text-align: center; font-size: 16px; line-height: 1.5; }
.hm-contact [data-hm-ok] { color: #1a6b3a; }
.hm-contact [data-hm-msg] { color: #b42318; }
