/* 문의하기 버튼 + 대화상자 — 모든 페이지(page_shell·랜딩)가 같이 싣는다.
   .contact-* 클래스 셀렉터만 쓴다: landing.css의 요소 셀렉터(header/h1/p)와도, style.css와도 충돌하지 않는다. */
.contact-open {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 10px 16px; min-height: 40px; border: 1px solid var(--ink, #292921); border-radius: 4px;
  background: transparent; color: var(--ink, #292921); font: inherit; font-size: 13px; font-weight: 600;
  letter-spacing: -.02em; white-space: nowrap; cursor: pointer; line-height: 1.4;
}
.contact-open:hover { background: var(--ink, #292921); color: #fff; }
.contact-open::before { content: "✉"; font-size: 14px; line-height: 1; }

.contact-dialog {
  border: 1px solid var(--line, #deded3); border-radius: 8px; padding: 0; width: min(92vw, 520px);
  background: var(--card, #fffefa); color: var(--ink, #292921); box-shadow: 0 24px 60px rgba(0,0,0,.18);
}
.contact-dialog::backdrop { background: rgba(41, 41, 33, .45); }
.contact-form { display: block; padding: 26px 28px 24px; margin: 0; }
.contact-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 6px; }
.contact-head h2 { margin: 0; font-size: 20px; font-weight: 800; letter-spacing: -.03em; line-height: 1.3; }
.contact-close { border: 0; background: transparent; font: inherit; font-size: 24px; line-height: 1; cursor: pointer; color: var(--muted, #727268); padding: 4px 8px; }
.contact-close:hover { color: var(--ink, #292921); }
.contact-sub { margin: 0 0 18px; font-size: 13px; line-height: 1.6; color: var(--muted, #727268); }
.contact-form label { display: block; font-size: 12px; font-weight: 700; margin: 0 0 12px; letter-spacing: 0; }
.contact-form .contact-opt { font-weight: 400; color: var(--muted, #727268); }
.contact-form input, .contact-form textarea {
  display: block; width: 100%; box-sizing: border-box; margin-top: 6px; padding: 10px 12px;
  border: 1px solid var(--line, #deded3); border-radius: 4px; background: #fff; color: inherit;
  font: inherit; font-size: 14px; line-height: 1.5; text-transform: none; letter-spacing: 0;
}
.contact-form textarea { resize: vertical; min-height: 120px; }
.contact-form input:focus, .contact-form textarea:focus { outline: 2px solid var(--accent, #e95325); outline-offset: 1px; border-color: var(--accent, #e95325); }
/* 허니팟 — 사람에겐 보이지 않는다(display:none 은 일부 봇이 건너뛰므로 화면 밖으로 밀어둔다). */
.contact-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.contact-status { min-height: 1.4em; margin: 4px 0 12px; font-size: 13px; color: var(--muted, #727268); }
.contact-status.error { color: #c0392b; }
.contact-status.ok { color: #2e7d32; }
.contact-actions { display: flex; justify-content: flex-end; gap: 8px; }
.contact-actions button {
  font: inherit; font-size: 14px; font-weight: 600; padding: 11px 18px; border-radius: 4px; cursor: pointer; min-height: 44px;
  border: 1px solid var(--ink, #292921); background: transparent; color: var(--ink, #292921);
}
.contact-actions .contact-send { background: var(--accent, #e95325); border-color: var(--accent, #e95325); color: #fff; }
.contact-actions .contact-send:hover { background: #cf4218; border-color: #cf4218; }
.contact-actions .contact-send:disabled { opacity: .6; cursor: default; }
@media (max-width: 720px) {
  .contact-open { padding: 8px 12px; min-height: 36px; font-size: 12px; }
  .contact-form { padding: 20px 18px 18px; }
}
