/* 공지사항 · 제휴문의 페이지 공통 */
.hbp { max-width:1000px; margin:0 auto; padding:72px 24px 120px; width:100%; box-sizing:border-box; }
.hbp-head { text-align:center; margin-bottom:44px; }
.hbp-head .eyebrow { font-family:'Jalnan','Apple SD Gothic Neo',sans-serif; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:#0084ff; }
.hbp-head h1 { margin:12px 0 0; font-family:'Jalnan','Apple SD Gothic Neo',sans-serif; font-weight:normal; font-size:clamp(30px, 4vw, 44px); letter-spacing:-0.02em; color:#0a0a0a; }
.hbp-head p { margin:16px auto 0; max-width:560px; color:#4a4a4a; font-size:15px; font-weight:500; line-height:1.7; word-break:keep-all; }

/* ---------- 공지사항 ---------- */
.hbn-table { width:100%; border-collapse:collapse; border-top:2px solid #0a0a0a; font-size:15px; }
.hbn-table th { padding:18px 12px; border-bottom:1px solid #d9d9d4; font-weight:700; color:#2a2a2a; }
.hbn-table td { padding:18px 12px; border-bottom:1px solid #ececec; font-weight:500; color:#2a2a2a; vertical-align:top; }
.hbn-table .c-cat { width:120px; text-align:center; }
.hbn-table .c-date { width:130px; text-align:center; color:#6b6b6b; font-variant-numeric:tabular-nums; }
.hbn-cat { display:inline-block; padding:4px 10px; border-radius:999px; background:#e6f3ff; color:#0066cc; font-size:12px; font-weight:700; }
.hbn-title { all:unset; cursor:pointer; display:block; width:100%; color:#0a0a0a; font-weight:600; line-height:1.5; }
.hbn-title:hover { color:#0084ff; }
.hbn-title:focus-visible { outline:2px solid #0084ff; outline-offset:4px; border-radius:4px; }
.hbn-pin { color:#0084ff; font-weight:800; margin-right:6px; }
.hbn-body td { background:#f6f5f0; padding:24px 28px; color:#2a2a2a; font-weight:500; line-height:1.8; white-space:pre-line; word-break:keep-all; }
.hbn-empty td { text-align:center; padding:56px 12px; color:#6b6b6b; }
.hbn-pager { display:flex; justify-content:center; gap:6px; margin-top:40px; }
.hbn-pager button { min-width:40px; height:40px; border:1px solid #d9d9d4; border-radius:10px; background:#fff; color:#4a4a4a; font:700 14px/1 'Pretendard Variable','Pretendard',sans-serif; cursor:pointer; }
.hbn-pager button[aria-current="page"] { background:#0084ff; border-color:#0084ff; color:#fff; }
.hbn-pager button:disabled { opacity:.35; cursor:default; }

/* ---------- 제휴문의 ---------- */
.hbq-form { border-top:2px solid #0a0a0a; }
.hbq-row { display:grid; grid-template-columns:200px minmax(0, 1fr); border-bottom:1px solid #ececec; }
.hbq-row > label, .hbq-row > .hbq-lab { display:flex; align-items:center; padding:16px 20px; background:#f6f5f0; font-size:15px; font-weight:700; color:#2a2a2a; }
.hbq-req { color:#e5484d; margin-left:4px; }
.hbq-field { padding:12px 20px; display:flex; align-items:center; gap:10px; min-width:0; }
.hbq-field input[type=text], .hbq-field input[type=tel], .hbq-field input[type=email], .hbq-field select {
  width:100%; max-width:360px; height:44px; padding:0 14px; box-sizing:border-box; border:1px solid #d9d9d4; border-radius:10px; background:#fff;
  font:500 15px 'Pretendard Variable','Pretendard',sans-serif; color:#0a0a0a; }
.hbq-field input[name=title] { max-width:none; }
.hbq-field input:focus, .hbq-field select:focus, .hbq-text textarea:focus { outline:2px solid #0084ff; outline-offset:0; border-color:#0084ff; }
.hbq-file { display:flex; align-items:center; gap:10px; width:100%; min-width:0; }
.hbq-file-name { flex:1; min-width:0; height:44px; display:flex; align-items:center; padding:0 14px; border:1px solid #d9d9d4; border-radius:10px; background:#fff; color:#6b6b6b; font-weight:500; font-size:14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hbq-file-btn { flex-shrink:0; height:44px; padding:0 18px; border:0; border-radius:10px; background:#2a2a2a; color:#fff; font:700 14px 'Pretendard Variable','Pretendard',sans-serif; cursor:pointer; }
.hbq-file input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.hbq-text { padding:16px 0 0; }
.hbq-text textarea { width:100%; min-height:280px; padding:16px; box-sizing:border-box; border:1px solid #d9d9d4; border-radius:12px; background:#fff; font:500 15px/1.7 'Pretendard Variable','Pretendard',sans-serif; color:#0a0a0a; resize:vertical; }
.hbq-notice { margin-top:24px; padding:24px 28px; background:#f6f5f0; border-radius:16px; }
.hbq-notice ul { margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:10px; }
.hbq-notice li { position:relative; padding-left:18px; color:#4a4a4a; font-size:14px; font-weight:500; line-height:1.6; word-break:keep-all; }
.hbq-notice li::before { content:"✓"; position:absolute; left:0; color:#0084ff; font-weight:800; }
.hbq-agree { display:flex; justify-content:center; align-items:center; gap:8px; margin-top:24px; font-size:15px; font-weight:600; color:#2a2a2a; cursor:pointer; }
.hbq-agree input { width:18px; height:18px; accent-color:#0084ff; }
.hbq-submit { display:block; margin:28px auto 0; min-width:200px; height:54px; border:0; border-radius:999px; background:#0084ff; color:#fff; font:700 17px 'Pretendard Variable','Pretendard',sans-serif; cursor:pointer; box-shadow:0 8px 24px rgba(0,132,255,.28); }
.hbq-submit:hover { background:#0066cc; }
.hbq-submit:disabled { background:#9cc9f5; box-shadow:none; cursor:default; }
.hbq-msg { margin-top:16px; text-align:center; font-size:14px; font-weight:600; min-height:20px; }
.hbq-msg.err { color:#e5484d; }
.hbq-done { text-align:center; padding:72px 24px; border-top:2px solid #0a0a0a; }
.hbq-done strong { display:block; font-family:'Jalnan','Apple SD Gothic Neo',sans-serif; font-weight:normal; font-size:26px; color:#0084ff; }
.hbq-done p { margin:14px 0 0; color:#4a4a4a; font-weight:500; line-height:1.7; }
.hbq-hp { position:absolute; left:-9999px; }

@media (max-width: 767px) {
  .hbp { padding:48px 16px 88px; }
  .hbn-table { font-size:14px; }
  .hbn-table .c-cat { width:auto; }
  .hbn-table thead .c-cat, .hbn-table tbody .c-cat { display:none; }
  .hbn-table .c-date { width:92px; font-size:13px; }
  .hbn-table .c-title .hbn-cat { margin-bottom:6px; }
  .hbn-body td { padding:18px 16px; }
  .hbq-row { grid-template-columns:1fr; }
  .hbq-row > label, .hbq-row > .hbq-lab { padding:12px 14px 4px; background:none; font-size:14px; }
  .hbq-field { padding:4px 14px 14px; }
  .hbq-field input, .hbq-field select { max-width:none !important; }
  .hbq-notice { padding:20px; }
}
.hbn-cat-m { display:none; }
@media (max-width: 767px) { .hbn-cat-m { display:inline-block; margin-right:6px; vertical-align:1px; } }

/* ---------- 전체 센터 목록 ---------- */
.cl-page { max-width:1200px; }
.cl-page .hbp-head p b { color:#0084ff; font-weight:800; }
.cl-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding-bottom:20px; border-bottom:1px solid #e3e1d8; }
.cl-chips { display:flex; gap:8px; flex-wrap:wrap; }
.cl-chip { display:inline-flex; align-items:center; gap:6px; height:42px; padding:0 18px; border:1px solid #d8e2ee; border-radius:999px; background:#fff; color:#2a2a2a; font:700 15px 'Pretendard Variable','Pretendard',sans-serif; cursor:pointer; transition:background .2s, color .2s, border-color .2s; }
.cl-chip span { font-size:12.5px; font-weight:800; color:#8a94a3; }
.cl-chip:hover { border-color:#0084ff; color:#0084ff; }
.cl-chip[aria-selected="true"] { background:#0084ff; border-color:#0084ff; color:#fff; }
.cl-chip[aria-selected="true"] span { color:rgba(255,255,255,.8); }
.cl-search { position:relative; display:flex; align-items:center; width:min(320px, 100%); }
.cl-search-ic { position:absolute; left:14px; width:18px; height:18px; color:#8a94a3; display:flex; }
.cl-search-ic svg { width:100%; height:100%; }
.cl-search input { width:100%; height:44px; padding:0 16px 0 42px; border:1px solid #d9d9d4; border-radius:999px; background:#fff; font:500 15px 'Pretendard Variable','Pretendard',sans-serif; color:#0a0a0a; box-sizing:border-box; }
.cl-search input:focus { outline:2px solid #0084ff; outline-offset:0; border-color:#0084ff; }
.cl-count { margin:20px 0 18px; font-size:14px; color:#6b6b6b; font-weight:600; }
.cl-count b { color:#0a0a0a; font-weight:800; }
.cl-grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px; }
.cl-card { display:flex; flex-direction:column; background:#fff; border:1px solid #ebeae4; border-radius:22px; overflow:hidden; transition:transform .25s, box-shadow .25s; }
.cl-card:hover { transform:translateY(-4px); box-shadow:0 14px 32px rgba(0,40,100,.10); }
.cl-photo { position:relative; display:block; aspect-ratio:4/3; background:#eef2f6; overflow:hidden; }
.cl-photo img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s; }
.cl-card:hover .cl-photo img { transform:scale(1.04); }
.cl-area { position:absolute; left:14px; top:14px; padding:6px 12px; border-radius:999px; background:rgba(255,255,255,.94); color:#0066cc; font-size:12.5px; font-weight:800; }
.cl-body { display:flex; flex-direction:column; gap:12px; padding:20px 22px 22px; flex:1; }
.cl-body h2 { margin:0; font-family:'Jalnan','Apple SD Gothic Neo',sans-serif; font-weight:normal; font-size:22px; letter-spacing:-0.01em; }
.cl-body h2 a { color:#0a0a0a; }
.cl-body h2 a:hover { color:#0084ff; }
.cl-addr { margin:0; display:flex; gap:6px; font-size:14px; font-weight:500; line-height:1.55; color:#5a5a5a; word-break:keep-all; }
.cl-addr span { flex:0 0 16px; width:16px; height:16px; margin-top:2px; color:#0084ff; }
.cl-addr svg { width:100%; height:100%; }
.cl-tags { list-style:none; margin:0; padding:0; display:flex; gap:6px; flex-wrap:wrap; }
.cl-tags li { padding:4px 10px; border-radius:999px; background:#eef5ff; color:#0066cc; font-size:12.5px; font-weight:700; }
.cl-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:14px; border-top:1px solid #f0efe9; }
.cl-go { display:inline-flex; align-items:center; gap:6px; color:#0084ff; font-size:15px; font-weight:800; }
.cl-go span { width:16px; height:16px; display:flex; }
.cl-go svg { width:100%; height:100%; }
.cl-tel { display:inline-flex; align-items:center; gap:6px; color:#4a4a4a; font-size:13.5px; font-weight:700; font-variant-numeric:tabular-nums; }
.cl-tel span { width:15px; height:15px; display:flex; color:#8a94a3; }
.cl-tel svg { width:100%; height:100%; }
.cl-tel:hover { color:#0084ff; }
.cl-empty { padding:72px 16px; text-align:center; color:#6b6b6b; background:#f6f5f0; border-radius:20px; font-weight:600; }
@media (max-width: 1024px) { .cl-grid { grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px; } }
@media (max-width: 767px) {
  .cl-bar { flex-direction:column; align-items:stretch; gap:12px; }
  .cl-chips { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; margin:0 -16px; padding:0 16px; }
  .cl-chips::-webkit-scrollbar { display:none; }
  .cl-chip { flex-shrink:0; height:38px; padding:0 14px; font-size:14px; }
  .cl-search { width:100%; }
  .cl-grid { grid-template-columns:minmax(0,1fr); gap:14px; }
  .cl-card { flex-direction:row; border-radius:18px; }
  .cl-photo { flex:0 0 38%; aspect-ratio:auto; min-height:100%; }
  .cl-area { left:8px; top:8px; padding:4px 8px; font-size:11px; }
  .cl-body { padding:14px 14px 14px; gap:8px; min-width:0; }
  .cl-body h2 { font-size:18px; }
  .cl-addr { font-size:12.5px; }
  .cl-addr span { display:none; }
  .cl-tags li { font-size:11px; padding:3px 8px; }
  .cl-actions { padding-top:10px; }
  .cl-go { font-size:14px; }
  .cl-tel { display:none; }
}
.cl-br { display:none; }
@media (max-width: 767px) { .cl-br { display:inline; } }
.hbp-head .cl-h { margin:14px 0 0; font-family:'Jalnan','Apple SD Gothic Neo',sans-serif; font-weight:normal; font-size:clamp(26px, 3vw, 40px); letter-spacing:-0.02em; color:#0a0a0a; line-height:1.3; }

/* ---------- 이용약관 · 개인정보처리방침 ---------- */
.hbl .hbp-head p { max-width:640px; }
.hbl-body { background:#fff; border:1px solid #ececec; border-radius:24px; padding:clamp(24px, 4vw, 48px); color:#2a2a2a; font-size:15px; font-weight:500; line-height:1.8; word-break:keep-all; }
.hbl-body section { padding:28px 0; border-top:1px solid #f0f0f0; scroll-margin-top:90px; }
.hbl-body section:first-of-type { border-top:0; padding-top:0; }
.hbl-toc + section { border-top:1px solid #f0f0f0; padding-top:28px; }
.hbl-body h2 { margin:0 0 12px; font-size:18px; font-weight:800; color:#0a0a0a; letter-spacing:-0.01em; }
.hbl-body p { margin:0 0 10px; }
.hbl-body p:last-child { margin-bottom:0; }
.hbl-body ul { margin:0 0 10px; padding-left:20px; }
.hbl-body li { margin:4px 0; }
.hbl-body b { color:#0084ff; }
.hbl-body a { color:#0084ff; text-decoration:underline; }
.hbl-toc { display:flex; flex-wrap:wrap; gap:8px; padding-bottom:28px; }
.hbl-toc a { padding:7px 14px; border-radius:999px; background:#f4f6f9; color:#4a4a4a; font-size:13px; font-weight:700; text-decoration:none; }
.hbl-toc a:hover { background:#e6f3ff; color:#0084ff; }
.hbl-body table { width:100%; border-collapse:collapse; margin:8px 0 12px; font-size:14px; }
.hbl-body th, .hbl-body td { border:1px solid #e8e8e8; padding:10px 12px; text-align:left; vertical-align:top; }
.hbl-body thead th, .hbl-body tbody th { background:#f7f9fc; font-weight:800; color:#0a0a0a; white-space:nowrap; }
@media (max-width: 767px) {
  .hbl-body { border-radius:18px; font-size:14px; }
  .hbl-body table, .hbl-body thead, .hbl-body tbody, .hbl-body tr { display:block; width:100%; }
  .hbl-body thead { display:none; }
  .hbl-body tbody tr { border:1px solid #e8e8e8; border-radius:12px; margin-bottom:10px; overflow:hidden; }
  .hbl-body td, .hbl-body tbody th { display:block; border:0; border-bottom:1px solid #f0f0f0; padding:9px 12px; }
  .hbl-body td:last-child { border-bottom:0; }
  .hbl-body tbody th { white-space:normal; }
  .hbl-body td[data-label]::before { content:attr(data-label); display:block; font-size:12px; font-weight:800; color:#0084ff; margin-bottom:2px; }
}
