/* 옛 화면(classic) 보정 — 옛 CSS 는 그대로 두고, 새 시스템에서 생긴 차이만 맞춘다 */
.hp-main-visual { width:100%; overflow:hidden; }
.hp-main-visual .swiper-slide { padding:0; height:601px; background-size:cover; background-repeat:no-repeat; background-position:center; position:relative; }
/* 문구 넣는 장(.visual01)은 그 기관 main.css 의 위치(보통 center top)를 따른다 */
/* 문구(.slogan) 모양은 각 기관 main.css 의 #main-visual .visual01 .slogan 규칙을 그대로 따른다 */
.hp-slide-link { position:absolute; inset:0; z-index:2; }
.swiper-pagination-bullet-active { background-color:rgba(0,0,0,0.5) !important; }
@media (max-width: 767px) { .hp-main-visual .swiper-slide { height:300px; } }
.con-go { display:inline-block; text-decoration:none !important; }
.hp-field { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
form.inline, .inline { display:inline; }
.flash { padding:10px 14px; margin:10px 0; border-radius:4px; background:#eef4ff; border:1px solid #c9d8f5; }
.flash-alert { background:#fff1f0; border-color:#f3c3bf; color:#a12; }
.popup { position:fixed; z-index:1100; background:#fff; border:1px solid #999; box-shadow:0 4px 18px rgba(0,0,0,.2); max-width:calc(100vw - 20px); }
.popup-body { overflow:auto; } .popup-ft { display:flex; justify-content:space-between; background:#333; }
.popup-ft button { background:none; border:0; color:#fff; padding:8px 10px; cursor:pointer; font-size:13px; }

/* ── 단추 공통 규칙 (홈페이지 전 화면) ──
   글 보기 위·아래 단추줄(.bo_v_com, .bo_v_nb)과 댓글 단추는 모두 링크(<a>) — 삭제도 action_link 라서 같은 모양
   옛 게시판 CSS 가 a.btn_b01 만 칠하므로 그 규칙을 그대로 따른다. 여기서는 줄 맞춤만 */
.bo_v_com li, .bo_v_nb li, .bo_vc_act li { vertical-align:middle; }
.bo_vc_act a { display:inline-block; padding:2px 6px; border:1px solid #ccc; background:#fff; color:#333; text-decoration:none; font-size:12px; }

/* 첫 화면 유튜브 동영상 */
.hp-main-video { position:relative; width:100%; max-width:1400px; height:500px; overflow:hidden; padding:0; margin:0 auto; background:#000; }
.hp-main-video iframe { position:absolute; top:50%; left:50%; width:100%; height:100%; min-width:889px; transform:translate(-50%,-50%); pointer-events:none; }
@media (max-width:767px) { .hp-main-video { height:260px; } .hp-main-video iframe { min-width:462px; } }

/* 로고 링크(넓은 col 칸)에 키보드 포커스가 가면 헤더 전체에 검은 테두리가 그려진다 — 링크 테두리는 없애고 로고 그림에만 표시 */
#hd a.logo:focus { outline:none; }
#hd a.logo:focus-visible img { outline:2px solid #1a56db; outline-offset:2px; }

/* ── 공통 헤더 (PC 992px 이상) — 로고칸 | 메뉴칸 한 줄, 메뉴 단추는 상하 꽉 채움 (2026-11-09) ──
   옛 main.css 의 #hd .hd_navi(높이 97px·메뉴 margin-top 40px) 를 이 규칙이 덮는다. 기관 강조색은 --hp-accent */
@media (min-width: 992px) { #hd .hd_navi.hp-hd-nav { height:auto; min-height:0; line-height:normal; border-bottom:1px solid #ddd; } }
#hd .hp-hd { display:flex; align-items:stretch; height:76px; padding:0 15px; }
#hd .hp-hd:before, #hd .hp-hd:after { display:none; }
#hd .hp-hd-logo { flex:0 0 auto; display:flex; align-items:center; max-width:34%; padding:0 24px 0 0; margin:0; height:auto; line-height:normal; }
#hd .hp-hd-logo img { display:block; max-height:52px; width:auto; height:auto; }
#hd .hp-hd-logo:focus { outline:none; }
#hd .hp-hd-logo:focus-visible img { outline:2px solid var(--hp-accent,#19b5fe); outline-offset:3px; }
#hd .hp-hd-name { font-size:22px; font-weight:700; color:#333; white-space:nowrap; }
#hd .hp-hd-menu { flex:0 1 auto; margin-left:auto !important; min-width:0; display:flex; justify-content:flex-start; align-items:stretch; margin:0; padding:0; list-style:none; float:none; }
#hd .hp-hd-menu > li.th1 { display:flex; float:none; padding:0; margin:0; position:relative; }
#hd .hp-hd-menu > li.th1 > a.th1_lnk { display:flex; align-items:center; height:auto; padding:0 22px; margin:0; font-size:17px; font-weight:500; letter-spacing:-0.5px; color:#333; white-space:nowrap; line-height:1.3; text-decoration:none; border:0; box-shadow:inset 0 -3px 0 transparent; transition:background .15s, box-shadow .15s, color .15s; }
#hd .hp-hd-menu > li.th1 > a.th1_lnk:hover, #hd .hp-hd-menu > li.th1 > a.th1_lnk:focus,
#hd .hp-hd-menu > li.th1.on > a.th1_lnk { color:var(--hp-accent,#19b5fe); background:#f5f8fa; box-shadow:inset 0 -3px 0 var(--hp-accent,#19b5fe); border:0; }
#hd .hp-hd-menu.hp-tight > li.th1 > a.th1_lnk { padding:0 14px; font-size:16px; }
#hd .hp-hd-menu.hp-tighter > li.th1 > a.th1_lnk { padding:0 10px; font-size:15px; }
/* 하위메뉴 펼침판은 새 헤더 바로 아래에 */
@media (min-width: 992px) { #hd .hp-hd-nav #sub-menu { top:77px; } }
@media (max-width: 991px) { #hd .hp-hd { display:none; } }
#hd .hp-hd-menu.hp-tightest > li.th1 > a.th1_lnk { padding:0 7px; font-size:14px; letter-spacing:-1px; }

/* ══ 게시판 — 공통 디자인 (2026-11-09 개편: 목록·갤러리·글보기·글쓰기·비밀번호) ══
   새 이름(hp-)만 쓴다 → 옛 기관 skin CSS 와 겹치지 않는다. 강조색은 --hp-accent (기관 헤더와 같은 색) */
.hp-bd { --hp-line:#e3e7ec; --hp-line2:#cfd6de; --hp-ink:#222; --hp-sub:#6b7480; --hp-bg:#f6f8fa;
  color:var(--hp-ink); font-size:15px; line-height:1.6; margin:0 0 50px; }
.hp-bd *, .hp-bd *:before, .hp-bd *:after { box-sizing:border-box; }
.hp-bd a { color:inherit; text-decoration:none; }
.hp-muted { color:var(--hp-sub); font-size:13px; }

/* 머리: 제목 · 전체 건수 */
.hp-bd-head { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; padding:0 0 14px; margin:0 0 0; border-bottom:2px solid var(--hp-ink); }
.hp-bd-title { margin:0; font-size:24px; font-weight:700; letter-spacing:-0.5px; color:var(--hp-ink); }
.hp-bd-title small { font-size:16px; font-weight:500; color:var(--hp-sub); margin-left:6px; }
.hp-bd-total { color:var(--hp-sub); font-size:14px; white-space:nowrap; }
.hp-bd-total strong { color:var(--hp-accent,#19b5fe); }

/* 분류 */
.hp-bd-cate { display:flex; flex-wrap:wrap; gap:6px; padding:16px 0 4px; }
.hp-bd-cate a { padding:6px 14px; border:1px solid var(--hp-line2); border-radius:18px; font-size:14px; color:var(--hp-sub); background:#fff; }
.hp-bd-cate a:hover { border-color:var(--hp-accent,#19b5fe); color:var(--hp-accent,#19b5fe); }
.hp-bd-cate a.on { background:var(--hp-accent,#19b5fe); border-color:var(--hp-accent,#19b5fe); color:#fff; }
.hp-bd-catelabel { display:inline-block; margin-right:6px; padding:1px 8px; border-radius:3px; background:var(--hp-bg); color:var(--hp-sub); font-size:12px; vertical-align:2px; }

/* 꼬리표 */
.hp-badge { display:inline-block; margin-left:4px; padding:0 6px; border:1px solid var(--hp-line2); border-radius:3px; font-size:11px; line-height:18px; color:var(--hp-sub); vertical-align:2px; white-space:nowrap; }
.hp-badge-notice { margin:0; border-color:var(--hp-accent,#19b5fe); background:var(--hp-accent,#19b5fe); color:#fff; font-weight:600; }
.hp-badge-hot { border-color:#f2b3ad; color:#d6453a; }
.hp-cmt { color:var(--hp-accent,#19b5fe); font-size:13px; font-weight:600; margin-left:4px; }

/* 목록 */
.hp-list { width:100%; border-collapse:collapse; table-layout:fixed; margin:0; background:#fff; }
.hp-list col.c-num { width:80px; } .hp-list col.c-name { width:120px; } .hp-list col.c-date { width:110px; } .hp-list col.c-hit { width:80px; }
.hp-list th { padding:14px 8px; border-bottom:1px solid var(--hp-line2); background:#fff; color:var(--hp-sub); font-size:14px; font-weight:600; text-align:center; }
.hp-list td { padding:16px 8px; border-bottom:1px solid var(--hp-line); text-align:center; color:var(--hp-sub); font-size:14px; vertical-align:middle; }
.hp-list td.c-subject { text-align:left; padding-left:14px; }
.hp-list td.c-subject a { display:block; color:var(--hp-ink); font-size:15px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hp-list td.c-subject a:hover .hp-subject-text { color:var(--hp-accent,#19b5fe); text-decoration:underline; text-underline-offset:3px; }
.hp-list tbody tr:hover td { background:#fafbfc; }
.hp-list tr.is-notice td { background:var(--hp-bg); }
.hp-list tr.is-notice td.c-subject a { font-weight:600; }
.hp-reply { color:var(--hp-sub); margin-right:4px; }
.hp-list-mmeta { display:none; }
.hp-bd-empty { padding:70px 0 !important; text-align:center; color:var(--hp-sub); }

/* 갤러리 */
.hp-gall { display:grid; grid-template-columns:repeat(var(--hp-gall-cols,4), minmax(0,1fr)); gap:28px 20px; margin:0; padding:24px 0 6px; list-style:none; }
.hp-gall-item { margin:0; padding:0; list-style:none; }
.hp-gall-link { display:block; }
.hp-gall-thumb { position:relative; display:block; aspect-ratio:var(--hp-gall-ratio, 4 / 3); overflow:hidden; border-radius:6px; background:var(--hp-bg); border:1px solid var(--hp-line); }
.hp-gall-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s; }
.hp-gall-link:hover .hp-gall-thumb img { transform:scale(1.04); }
.hp-gall-noimg { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#a3abb5; font-size:13px; }
.hp-gall-thumb .hp-badge-notice { position:absolute; left:10px; top:10px; }
.hp-gall-body { display:block; padding:12px 2px 0; }
.hp-gall-subject { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:15px; font-weight:600; line-height:1.45; min-height:2.9em; color:var(--hp-ink); }
.hp-gall-link:hover .hp-gall-subject { color:var(--hp-accent,#19b5fe); }
.hp-gall-meta { display:flex; flex-wrap:wrap; gap:0 10px; margin-top:6px; color:var(--hp-sub); font-size:13px; }
.hp-gall-meta span + span:before { content:""; display:inline-block; width:1px; height:10px; margin-right:10px; background:var(--hp-line2); vertical-align:0; }

/* 단추 */
.hp-btn { display:inline-flex; align-items:center; justify-content:center; height:40px; padding:0 18px; border:1px solid var(--hp-line2); border-radius:4px; background:#fff; color:#333 !important; font-size:14px; font-weight:500; line-height:1; cursor:pointer; text-decoration:none !important; vertical-align:middle; white-space:nowrap; transition:background .15s, border-color .15s; }
.hp-btn:hover { background:var(--hp-bg); border-color:#aeb7c2; }
.hp-btn-primary { background:var(--hp-accent,#19b5fe); border-color:var(--hp-accent,#19b5fe); color:#fff !important; }
.hp-btn-primary:hover { background:var(--hp-accent,#19b5fe); border-color:var(--hp-accent,#19b5fe); filter:brightness(0.92); }
.hp-btn-danger { color:#d6453a !important; border-color:#f0c4c0; }
.hp-btn-xs { height:26px; padding:0 9px; font-size:12px; }
.hp-bd-actions, .hp-view-actions, .hp-form-foot { display:flex; justify-content:space-between; align-items:center; gap:8px; margin:20px 0 0; }
.hp-bd-actions > div, .hp-view-actions > div { display:flex; gap:6px; flex-wrap:wrap; }

/* 쪽 번호 (g5_paging 마크업) */
.hp-bd .pg_wrap { float:none; clear:both; display:block; margin:28px 0 0; padding:0; text-align:center; }
.hp-bd .pg { display:inline-flex; flex-wrap:wrap; justify-content:center; gap:4px; }
.hp-bd .pg_page, .hp-bd .pg_current { display:inline-flex; align-items:center; justify-content:center; min-width:36px; height:36px; padding:0 10px; border:1px solid var(--hp-line); border-radius:4px; background:#fff; color:#555; font-size:14px; line-height:1; text-decoration:none; }
.hp-bd .pg_page:hover { border-color:var(--hp-accent,#19b5fe); color:var(--hp-accent,#19b5fe); background:#fff; }
.hp-bd .pg_current { background:var(--hp-accent,#19b5fe); border-color:var(--hp-accent,#19b5fe); color:#fff; font-weight:700; }
.hp-bd .pg_start, .hp-bd .pg_prev, .hp-bd .pg_next, .hp-bd .pg_end { font-size:13px; color:var(--hp-sub); }

/* 검색 */
.hp-bd-search { display:flex; justify-content:center; align-items:center; gap:6px; margin:26px 0 0; padding:22px 16px; background:var(--hp-bg); border-radius:6px; }
.hp-bd-search select, .hp-bd-search input[type=search] { height:40px; border:1px solid var(--hp-line2); border-radius:4px; background:#fff; padding:0 10px; font-size:14px; color:var(--hp-ink); margin:0; }
.hp-bd-search select { width:120px; }
.hp-bd-search input[type=search] { width:280px; max-width:100%; }
.hp-bd-search input:focus, .hp-bd-search select:focus { outline:none; border-color:var(--hp-accent,#19b5fe); box-shadow:0 0 0 3px rgba(25,181,254,.15); }

/* 글보기 */
.hp-view-head { padding:0 0 18px; border-bottom:1px solid var(--hp-line2); border-top:2px solid var(--hp-ink); padding-top:22px; }
.hp-view-board { margin:0 0 6px; color:var(--hp-accent,#19b5fe); font-size:14px; font-weight:600; }
.hp-view-title { margin:0; font-size:24px; font-weight:700; line-height:1.4; letter-spacing:-0.5px; color:var(--hp-ink); word-break:keep-all; overflow-wrap:anywhere; }
.hp-view-meta { display:flex; flex-wrap:wrap; gap:4px 20px; margin-top:12px; color:var(--hp-sub); font-size:14px; }
.hp-view-meta em { font-style:normal; color:#9aa3ad; margin-right:6px; }
.hp-view-attach { display:flex; flex-direction:column; gap:6px; padding:14px 0; border-bottom:1px solid var(--hp-line); }
.hp-attach { display:flex; align-items:center; gap:10px; padding:10px 14px; border-radius:4px; background:var(--hp-bg); font-size:14px; overflow:hidden; }
.hp-attach:hover strong { color:var(--hp-accent,#19b5fe); text-decoration:underline; }
.hp-attach strong { font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.hp-attach-ico { flex:0 0 auto; padding:1px 7px; border-radius:3px; background:#fff; border:1px solid var(--hp-line2); font-size:11px; color:var(--hp-sub); }
.hp-attach-info { flex:0 0 auto; margin-left:auto; color:var(--hp-sub); font-size:12px; }
.hp-view-body { padding:30px 0 40px; border-bottom:1px solid var(--hp-line2); min-height:160px; }
.hp-view-imgs { display:flex; flex-direction:column; align-items:center; gap:14px; margin:0 0 24px; }
.hp-view-imgs img { display:block; height:auto; border-radius:4px; }
.hp-view-con { font-size:16px; line-height:1.85; word-break:keep-all; overflow-wrap:anywhere; }
.hp-view-con img { max-width:100%; height:auto; }
.hp-view-con table { max-width:100%; }
.hp-view-nav { margin:24px 0 0; border-top:1px solid var(--hp-line2); }
.hp-view-nav a { display:flex; align-items:center; gap:16px; padding:14px 10px; border-bottom:1px solid var(--hp-line); font-size:14px; }
.hp-view-nav a:hover span { color:var(--hp-accent,#19b5fe); text-decoration:underline; }
.hp-view-nav em { flex:0 0 60px; font-style:normal; font-weight:600; color:var(--hp-sub); }
.hp-view-nav span { flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hp-view-nav time { flex:0 0 auto; color:#9aa3ad; font-size:13px; }

/* 댓글 */
.hp-cmts { margin:40px 0 0; }
.hp-cmts-title { margin:0 0 10px; font-size:17px; font-weight:700; }
.hp-cmts-title strong { color:var(--hp-accent,#19b5fe); }
.hp-cmt-item { padding:14px 0; border-top:1px solid var(--hp-line); }
.hp-cmt-item header { display:flex; align-items:center; gap:10px; font-size:14px; }
.hp-cmt-item header time { color:#9aa3ad; font-size:13px; }
.hp-cmt-item header .hp-btn { margin-left:auto; }
.hp-cmt-body { margin-top:6px; font-size:15px; }
.hp-cmt-body p { margin:0; }
.hp-cmts-empty { padding:20px 0; border-top:1px solid var(--hp-line); margin:0; }
.hp-cmt-form { margin-top:14px; padding:16px; border:1px solid var(--hp-line2); border-radius:6px; background:#fff; }
.hp-cmt-form textarea { width:100%; border:1px solid var(--hp-line2); border-radius:4px; padding:10px 12px; font-size:15px; resize:vertical; }
.hp-cmt-guest { display:flex; flex-wrap:wrap; gap:8px 16px; margin-bottom:10px; font-size:14px; color:var(--hp-sub); }
.hp-cmt-guest input { height:36px; width:160px; margin-left:6px; border:1px solid var(--hp-line2); border-radius:4px; padding:0 10px; }
.hp-cmt-form-foot { display:flex; justify-content:space-between; align-items:center; margin-top:10px; }
.hp-check { display:inline-flex; align-items:center; gap:6px; margin:0 14px 0 0; font-weight:400; font-size:14px; color:#444; cursor:pointer; }
.hp-check input { margin:0; }

/* 글쓰기 */
.hp-form { border-top:1px solid var(--hp-line2); }
.hp-form-row { display:grid; grid-template-columns:140px minmax(0,1fr); align-items:center; border-bottom:1px solid var(--hp-line); }
.hp-form-row > label, .hp-form-row > .hp-form-label { margin:0; padding:14px 16px; align-self:stretch; display:flex; align-items:center; background:var(--hp-bg); font-size:14px; font-weight:600; color:#444; }
.hp-form-row > div { padding:10px 14px; min-width:0; }
.hp-form-2 { grid-template-columns:140px minmax(0,1fr) 140px minmax(0,1fr); }
.hp-req { color:#d6453a; font-weight:700; }
.hp-form input[type=text], .hp-form input[type=password], .hp-form input[type=url], .hp-form select, .hp-form textarea { width:100%; max-width:100%; height:40px; border:1px solid var(--hp-line2); border-radius:4px; padding:0 12px; font-size:15px; background:#fff; color:var(--hp-ink); }
.hp-form textarea { height:auto; min-height:320px; padding:12px; line-height:1.7; resize:vertical; }
.hp-form select { width:auto; min-width:180px; }
.hp-form input:focus, .hp-form select:focus, .hp-form textarea:focus, .hp-cmt-form textarea:focus, .hp-cmt-guest input:focus { outline:none; border-color:var(--hp-accent,#19b5fe); box-shadow:0 0 0 3px rgba(25,181,254,.15); }
.hp-form input[type=file] { font-size:14px; }
.hp-form .hp-muted { margin:6px 0 0; }
.hp-form-foot { justify-content:center; margin-top:28px; }
.hp-form-foot .hp-btn { min-width:120px; height:46px; font-size:15px; }

/* 비밀번호 확인 */
.hp-pw { max-width:420px; margin:40px auto; padding:36px 32px; border:1px solid var(--hp-line2); border-radius:8px; text-align:center; background:#fff; }
.hp-pw h1 { margin:0 0 10px; font-size:22px; font-weight:700; }
.hp-pw p { color:var(--hp-sub); font-size:14px; margin:0 0 20px; }
.hp-pw form { display:flex; gap:6px; margin-bottom:14px; }
.hp-pw input[type=password] { flex:1; height:42px; border:1px solid var(--hp-line2); border-radius:4px; padding:0 12px; font-size:15px; }

/* 휴대폰 (767px 이하) */
@media (max-width: 767px) {
  .hp-bd { font-size:14px; }
  .hp-bd-title, .hp-view-title { font-size:20px; }
  .hp-list thead, .hp-list col, .hp-list td.c-num, .hp-list td.c-name, .hp-list td.c-date, .hp-list td.c-hit { display:none; }
  .hp-list, .hp-list tbody, .hp-list tr, .hp-list td.c-subject { display:block; width:100%; }
  .hp-list td.c-subject { padding:14px 4px; }
  .hp-list td.c-subject a { white-space:normal; }
  .hp-list tr.is-notice td.c-subject a:before { content:"공지"; display:inline-block; margin-right:6px; padding:0 6px; border-radius:3px; background:var(--hp-accent,#19b5fe); color:#fff; font-size:11px; line-height:18px; vertical-align:2px; }
  .hp-list-mmeta { display:block; margin-top:4px; color:var(--hp-sub); font-size:12px; }
  .hp-gall { grid-template-columns:repeat(2, minmax(0,1fr)); gap:20px 12px; }
  .hp-gall-subject { font-size:14px; }
  .hp-gall-meta span:nth-child(1), .hp-gall-meta span:nth-child(3) { display:none; }
  .hp-gall-meta span + span:before { display:none; }
  .hp-bd-search { flex-wrap:wrap; padding:14px; }
  .hp-bd-search select { width:100px; } .hp-bd-search input[type=search] { flex:1; width:auto; min-width:0; }
  .hp-form-row, .hp-form-2 { grid-template-columns:1fr; }
  .hp-form-row > label, .hp-form-row > .hp-form-label { padding:10px 12px 0; background:none; }
  .hp-view-nav time, .hp-attach-info { display:none; }
}
@media (min-width: 768px) and (max-width: 991px) { .hp-gall { grid-template-columns:repeat(3, minmax(0,1fr)); } }

/* ── 첫 화면 «오시는 길» 카드 (2026-11-09) — 왼쪽 지도 | 오른쪽 안내. 강조색은 --hp-accent ── */
.hp-loc { background:#f3f5f7; padding:56px 0; }
.hp-loc * , .hp-loc *:before, .hp-loc *:after { box-sizing:border-box; }
.hp-loc-card { display:grid; grid-template-columns:minmax(0, 1.45fr) minmax(0, 1fr); min-height:360px; background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 6px 24px rgba(20, 40, 70, .08); }
.hp-loc-map { position:relative; min-height:360px; background:#e9edf1; }
.hp-loc-map iframe { position:absolute; inset:0; width:100%; height:100%; border:0; display:block; }
.hp-loc-nomap { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#8a94a0; font-size:15px; }
.hp-loc-info { display:flex; flex-direction:column; justify-content:center; padding:40px 44px; min-width:0; }
.hp-loc-eyebrow { margin:0 0 6px; color:var(--hp-accent, #19b5fe); font-size:13px; font-weight:700; letter-spacing:2px; text-align:left; }
.hp-loc-title { margin:0 0 10px; font-size:28px; font-weight:700; letter-spacing:-0.5px; color:#222; text-align:left; }
.hp-loc-desc { margin:0 0 24px; color:#6b7480; font-size:15px; line-height:1.6; text-align:left; }
.hp-loc-list { margin:0 0 28px; padding:0; border-top:1px solid #e6eaee; }
.hp-loc-list > div { display:grid; grid-template-columns:56px minmax(0, 1fr); gap:12px; padding:13px 0; border-bottom:1px solid #e6eaee; }
.hp-loc-list dt { color:var(--hp-accent, #19b5fe); font-size:14px; font-weight:700; line-height:1.6; }
.hp-loc-list dd { margin:0; color:#333; font-size:16px; line-height:1.6; word-break:keep-all; overflow-wrap:anywhere; }
.hp-loc-list dd a { color:#333; text-decoration:none; }
.hp-loc-list dd a:hover { color:var(--hp-accent, #19b5fe); }
.hp-loc-btns { display:flex; flex-wrap:wrap; gap:8px; }
.hp-loc-btn { display:inline-flex; align-items:center; justify-content:center; height:46px; padding:0 22px; border:1px solid #cfd6de; border-radius:6px; background:#fff; color:#333 !important; font-size:15px; font-weight:500; text-decoration:none !important; transition:filter .15s, background .15s; }
.hp-loc-btn:hover { background:#f6f8fa; }
.hp-loc-btn-primary { background:var(--hp-accent, #19b5fe); border-color:var(--hp-accent, #19b5fe); color:#fff !important; }
.hp-loc-btn-primary:hover { background:var(--hp-accent, #19b5fe); filter:brightness(.92); }
@media (max-width: 991px) {
  .hp-loc-card { grid-template-columns:1fr; }
  .hp-loc-map { min-height:280px; }
  .hp-loc-info { padding:28px 24px 30px; }
}
@media (max-width: 767px) {
  .hp-loc { padding:32px 0; }
  .hp-loc-map { min-height:230px; }
  .hp-loc-title { font-size:22px; }
  .hp-loc-list dd { font-size:15px; }
  .hp-loc-btn { flex:1 1 auto; }
}

/* 첫 화면 2줄째: 공지사항 카드와 «주간 식단표·프로그램 일정» 칸의 위·아래·좌우 끝을 맞춘다 (2026-11-09)
   옛 그림(284×240)은 테두리에 투명 여백(위·아래 3px, 왼쪽 4px, 오른쪽 3px)이 있어 칸이 안쪽으로 들어가 보였다 → 칸에 맞춰 여백을 잘라 낸다 */
@media (min-width: 992px) {
  #content-wrap .hp-row-stretch { display:flex; }
  #content-wrap .hp-row-stretch > [class*="col-"] { float:none; }
  #content-wrap .hp-row-stretch .con-notice .notice { height:100%; }
  #content-wrap .hp-tiles { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  #content-wrap .hp-tiles > .m_diet, #content-wrap .hp-tiles > .m_program { float:none; width:auto; position:relative; overflow:hidden; min-height:234px; }
  #content-wrap .hp-tiles > div > a { position:absolute; inset:0; display:block; }
  #content-wrap .hp-tiles > div img { position:absolute; left:-1.45%; top:-1.3%; width:102.6%; height:102.6%; max-width:none; object-fit:fill; }
}
/* 풋터 로고: 헤더 로고와 같은 최대 높이 */
#ft_company .f_logo img { max-height:52px; width:auto; height:auto; }

/* 비용안내 자동 표 (ECM 연동, 2026-11-09) — 기관 옛 표 모양(nuri_organi_table)을 그대로 쓰고 여백·줄바꿈만 덧붙인다 */
.hp-cost { margin:0 0 40px; }
.hp-cost h5 small, .hp-cost h6 small { font-size:13px; color:#888; font-weight:400; }
.hp-cost h6 { margin-top:24px; }
.hp-cost-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.hp-cost-table { min-width:520px; margin-bottom:8px; }
.hp-cost-table td, .hp-cost-table th { white-space:nowrap; vertical-align:middle !important; }
.hp-cost-table td.right { text-align:right; }
.hp-cost-table td.center { text-align:center; }
.hp-cost-table tr.hp-cost-sum td { background:#f6f9fb; }
.hp-cost-np { margin:6px 0; color:#555; font-size:14px; }
.hp-cost-note { margin-top:14px; color:#888; font-size:13px; line-height:1.6; }
