/* 제주 산방산 어반아르떼 — 원본 틀 위에 더한 것만 (원본 CSS 는 안 고칩니다) */
:root { --hb-navy: #34445f; --hb-ink: #1f2633; --hb-sub: #555e6c; --hb-line: #dfe3e9; --hb-bg: #f5f6f8; --hb-gold: #7d6435; }

/* 검색용 글 · 새 페이지 본문 */
.hb-seo { max-width: 1100px; margin: 0 auto; padding: 48px 20px 56px; color: var(--hb-ink); font-family: 'Pretendard Variable', Pretendard, sans-serif; line-height: 1.75; font-size: 16px; word-break: keep-all; }
.hb-seo h1, .hb-seo h2 { font-size: 24px; color: var(--hb-navy); margin: 0 0 14px; font-weight: 700; line-height: 1.4; }
.hb-seo h3 { font-size: 19px; color: var(--hb-navy); margin: 32px 0 10px; font-weight: 700; }
.hb-seo p { margin: 0 0 12px; color: var(--hb-sub); }
.hb-seo strong { color: var(--hb-ink); }
.hb-seo a { color: var(--hb-navy); text-decoration: underline; text-underline-offset: 3px; }
.hb-links { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; }
.hb-links a { display: inline-block; padding: 7px 14px; border: 1px solid var(--hb-line); border-radius: 999px; font-size: 14px; text-decoration: none; background: #fff; }
.hb-note { font-size: 13px !important; color: #5f6773 !important; }

.hb-table-wrap { overflow-x: auto; margin: 10px 0 8px; }
.hb-table { width: 100%; border-collapse: collapse; font-size: 15px; min-width: 520px; background: #fff; }
.hb-table th, .hb-table td { border-bottom: 1px solid var(--hb-line); padding: 10px 12px; text-align: center; }
.hb-table thead th { background: var(--hb-navy); color: #fff; font-weight: 600; }
.hb-table tbody th { color: var(--hb-navy); white-space: nowrap; }
.hb-table--info { min-width: 0; }
.hb-table--info th { width: 30%; text-align: left; background: var(--hb-bg); }
.hb-table--info td { text-align: left; }

.hb-cta { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0 8px; }
.hb-cta a { display: inline-block; padding: 12px 20px; border-radius: 6px; border: 1px solid var(--hb-navy); color: var(--hb-navy); text-decoration: none; font-weight: 600; }
.hb-cta a.is-main { background: var(--hb-navy); color: #fff; }

.hb-list { list-style: none; margin: 16px 0; padding: 0; border-top: 1px solid var(--hb-line); }
.hb-list li a { display: block; padding: 16px 4px; border-bottom: 1px solid var(--hb-line); text-decoration: none; }
.hb-list strong { display: block; font-size: 17px; color: var(--hb-ink); }
.hb-list span { font-size: 14px; color: #5f6773; }
.hb-meta { font-size: 14px !important; }
.hb-faq details { border-bottom: 1px solid var(--hb-line); padding: 14px 4px; }
.hb-faq summary { cursor: pointer; font-weight: 600; color: var(--hb-ink); }
.hb-faq details p { margin: 10px 0 0; }

/* 방문예약 폼 */
.hb-form { max-width: 560px; margin: 0 auto; padding: 28px 22px; background: #fff; border: 1px solid var(--hb-line); border-radius: 10px; text-align: left; color: var(--hb-ink); font-family: 'Pretendard Variable', Pretendard, sans-serif; font-size: 15px; line-height: 1.6; }
.hb-form__title { font-size: 22px; font-weight: 700; color: var(--hb-navy); margin: 0 0 6px; text-align: center; }
.hb-form__lead { margin: 0 0 18px; color: var(--hb-sub); text-align: center; font-size: 14px; }
.hb-form__row { margin-bottom: 12px; }
.hb-form__row label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 4px; }
.hb-form input[type=text], .hb-form input[type=tel], .hb-form input[type=date], .hb-form select, .hb-form textarea { width: 100%; box-sizing: border-box; padding: 11px 12px; border: 1px solid #c9ced6; border-radius: 6px; font: inherit; background: #fff; color: var(--hb-ink); }
.hb-form textarea { min-height: 80px; resize: vertical; }
.hb-form__box { font-size: 13px; color: #5f6773; background: var(--hb-bg); padding: 10px 12px; border-radius: 6px; margin: 6px 0 10px; }
.hb-form__agree { display: flex; gap: 8px; align-items: center; font-size: 14px; margin-bottom: 14px; }
.hb-form button[type=submit] { width: 100%; padding: 14px; border: 0; border-radius: 6px; background: var(--hb-navy); color: #fff; font: inherit; font-weight: 700; font-size: 16px; cursor: pointer; }
.hb-form button[disabled] { opacity: .6; }
.hb-form__msg { margin: 10px 0 0; font-size: 14px; min-height: 1em; text-align: center; }
.hb-form__msg.is-ok { color: #1d6b3a; } .hb-form__msg.is-bad { color: #b3261e; }
.hb-form__tel { text-align: center; font-size: 14px; margin: 12px 0 0; color: var(--hb-sub); }
.hb-form__tel a { color: var(--hb-navy); font-weight: 700; }
#db_box .hb-form { margin: 20px 16px 30px; }
.db_box .hb-form { margin: 30px auto; }

/* 푸터에 덧붙인 줄 */
.hb-foot-info { font-size: 12px; line-height: 1.6; opacity: 1; margin-top: 8px; }
.hb-foot-info a, .hb-made a { color: inherit; text-decoration: underline; }
.hb-made { font-size: 12px; margin-top: 6px; }

@media (max-width: 990px) {
  .hb-seo { padding: 36px 18px 120px; font-size: 15px; }
  .hb-seo h1, .hb-seo h2 { font-size: 20px; }
}

.hb-form__row label > input, .hb-form__row label > select, .hb-form__row label > textarea { display:block; width:100%; max-width:100%; margin-top:6px; box-sizing:border-box; }
.hb-form__box, .hb-form__agree span, .hb-form__lead, .hb-form__tel { white-space: normal; overflow-wrap: anywhere; }

/* 휴대폰 아래 고정 바 — 원본 버튼 묶음 대신 (2026-10-27 사장님 「이거는 우리가 다르게 하자」) */
.hb-dock { display: none; }
@media (max-width: 990px) {
  .hb-dock { position: fixed; left: 0; right: 0; bottom: 0; z-index: 900; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    gap: 1px; background: #b8975a; box-shadow: 0 -6px 24px rgba(15,22,32,.18); padding-bottom: env(safe-area-inset-bottom); }
  .hb-dock a { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 62px; text-decoration: none;
    font-family: 'Pretendard Variable', Pretendard, sans-serif; letter-spacing: .02em; }
  .hb-dock__tel { background: #0f1620; color: #fff; }
  .hb-dock__tel small { font-size: 11px; color: #d9c39a; letter-spacing: .18em; margin-bottom: 2px; }
  .hb-dock__tel b { font-size: 19px; font-weight: 700; letter-spacing: .03em; }
  .hb-dock__visit { background: #f5f2ec; color: #0f1620; font-size: 16px; font-weight: 700; letter-spacing: .12em; }
  .hb-dock__visit::before { content: 'VISIT'; font-family: 'Marcellus', serif; font-size: 10px; font-weight: 400; letter-spacing: .3em; color: #7d6435; margin-bottom: 3px; }
  body { padding-bottom: calc(62px + env(safe-area-inset-bottom)); }
}

/* 원본 CSS 의 줄바꿈 금지가 우리 글을 자르지 않게 */
.hb-seo, .hb-seo * { white-space: normal; overflow-wrap: anywhere; }
