body:not(.menu-open) header.top {
  background:rgba(65,65,65,.58);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}

.hero[style*="--hero-photo"] { background-image:linear-gradient(0deg,rgba(20,37,34,.68),rgba(20,37,34,.1)),var(--hero-photo); }
@media (max-width:900px) {
  .hero[style*="--hero-photo"] { background-image:linear-gradient(0deg,rgba(20,37,34,.68),rgba(20,37,34,.1)),var(--hero-photo-mobile); }
}
.gallery-open { position:absolute; inset:0; width:100%; height:100%; z-index:2; opacity:0; cursor:zoom-in; }
.hgal figure:focus-within .pic, .abt-gallery figure:focus-within .pic { outline:2px solid currentColor; outline-offset:2px; }

.hero { background-size:cover; background-position:center; }
.stage, .th, .img, .pic, .hmenu a { background-size:cover; background-position:center; }
.hgal .pic img, .abt-gallery .pic img { display:block; width:100%; height:100%; object-fit:cover; }
.mth .pic, .portrait .pic { background-size:cover; background-position:center; }
.map-block .map { background-size:cover; background-position:center; }

/* 게시판 목록: 제목 링크 */
.board li > a, .list-rows .tt a { min-width:0; overflow:hidden; color:inherit; text-decoration:none; text-overflow:ellipsis; white-space:nowrap; }
.board li > a:hover, .list-rows .tt a:hover { color:var(--primary); text-decoration:underline; text-underline-offset:3px; }
a.jpost { color:inherit; text-decoration:none; }

/* 병원 소식 · 이벤트 상세 */
.sec.post-view { padding-top:48px; }
.post-head { display:flex; align-items:center; gap:12px; padding-bottom:20px; border-bottom:2px solid var(--ink); font-size:14px; color:var(--muted); }
.post-head .nb { display:inline-flex; align-items:center; height:24px; padding:0 10px; border-radius:999px; background:var(--primary); color:var(--bg); font-size:12.5px; font-weight:700; font-style:normal; }
.post-head .st { display:inline-block; padding:3px 10px; border-radius:999px; background:var(--primary-tint); color:var(--primary); font-size:12.5px; font-weight:700; }
.post-body { padding:28px 0 8px; }
.post-body p { margin:0 0 18px; font-size:16.5px; line-height:1.85; color:var(--ink); }
.post-box { margin:8px 0 24px; padding:20px 24px; border-radius:16px; background:var(--soft); }
.post-box dl { margin:0; display:grid; gap:10px; }
.post-box dl div { display:grid; grid-template-columns:72px 1fr; gap:12px; font-size:15.5px; }
.post-box dt { font-weight:700; color:var(--primary); }
.post-box dd { margin:0; color:var(--ink); }
.post-img { display:grid; place-items:center; height:260px; margin:8px 0 18px; border-radius:16px; font-size:13px; }
.post-img.ev { height:auto; aspect-ratio:16/9; margin-top:28px; }
.post-warn { margin:8px 0 28px; padding:18px 22px; border:1px solid var(--line); border-radius:14px; font-size:14px; color:var(--muted); }
.post-warn b { display:block; margin-bottom:6px; font-size:14.5px; color:var(--ink); }
.post-warn ul { margin:0; padding-left:18px; line-height:1.8; }
.post-rel { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; margin:12px 0 0; padding:18px 22px; border-radius:14px; background:var(--primary-tint); }
.post-rel .tag { flex-basis:100%; }
.post-rel b { font-size:14px; color:var(--muted); }
.post-rel a { font-weight:700; color:var(--primary); text-decoration:none; }
.post-nav { margin-top:36px; }
.post-list { display:flex; justify-content:center; margin-top:28px; }
@media (max-width:560px) { .post-body p { font-size:15.5px; } .post-box { padding:16px 18px; } .post-box dl div { grid-template-columns:56px 1fr; } .post-img { height:180px; } }
