/* =====================================================================================================================
   이호석한의원 맞춤 디자인 — reference/template_1 (Claude Design 캔버스) 변환본
   병원 오버라이드(④층): 이 파일 + templates/fragments/site-chrome.html + templates/user/home.html
   계약 CSS(site.css) 위에서 전역 모양을 바꾼다. 인라인 스타일은 원본 디자인을 따르고, dc 전용 속성만 클래스로 옮겼다.
   ===================================================================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@400;500;600;700&display=swap");
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.css");

:root{ --accent:#2f5d4f; --accent-soft:#edf2ef; --gold:#b08a4e; --gold-soft:#f6efe3; --ink:#1a1c19; --muted:#5f6a63; --bg:#fbfaf7; --line:#e6e3db; --primary: var(--accent); }
*{ box-sizing:border-box; }
body{ max-width:none; padding:0; margin:0; background:var(--bg); color:var(--ink); font-family:Pretendard,-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif; -webkit-font-smoothing:antialiased; letter-spacing:-0.01em; }
h1,h2,h3,h4{ font-family:"Noto Serif KR",serif; font-weight:600; margin:0; letter-spacing:-0.025em; }
p{ margin:0; text-wrap:pretty; }
a{ color:var(--accent); text-decoration:none; }
a:hover{ color:var(--gold); }
ul,ol{ margin:0; padding:0; list-style:none; }
summary::-webkit-details-marker{ display:none; }
@keyframes riseIn{ from{ opacity:0; transform:translateY(16px);} to{ opacity:1; transform:none;} }
@media (max-width:1280px){ #brand-en{ display:none } }
.wrap{ max-width:1240px; margin:0 auto; padding:0 22px; }

/* ── 기본 레이아웃 요소 숨김/치환 (기본 헤더·퀵메뉴는 site-chrome 오버라이드가 대체) ── */
.page-wrap{ max-width:1240px; margin:0 auto; padding:120px 22px 60px; }
body[data-home] .page-wrap{ max-width:none; padding:0; }
/* 기본 퀵메뉴(우측 세로 카드) 스타일은 아래 플로팅 규칙이 덮어쓴다 */

/* ── 헤더 (홈: 투명 오버레이 / 서브페이지: 고정 솔리드) ── */
.hs-topbar{ border-bottom:1px solid rgba(255,255,255,0.16); color:rgba(255,255,255,0.8); font-size:13px; }
.hs-topbar .wrap{ padding:9px 22px; display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; }
.hs-topbar a{ color:rgba(255,255,255,0.8); }
.hs-topbar a.tel{ color:#efd7a8; font-weight:700; }
.hs-head{ position:absolute; top:0; left:0; right:0; z-index:60; background:linear-gradient(180deg,rgba(30,24,16,0.52) 0%,rgba(30,24,16,0.22) 60%,rgba(30,24,16,0) 100%); padding-bottom:26px; }
.hs-head .wrap{ padding:21px 22px 14px; display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:83px; }
.hs-brand{ display:flex; align-items:center; gap:14px; color:#fff; flex:none; }
.hs-brand img{ display:block; height:52px; width:auto; }
#brand-en{ font-size:9.5px; letter-spacing:0.12em; color:rgba(255,255,255,0.72); line-height:1; white-space:nowrap; }
/* 메뉴 — 고정 구조(nav.menu-top > ul > li > a + ul.menu-sub) 를 CSS 로만 꾸민다 */
.hs-navwrap{ display:flex; align-items:center; flex:none; }
.hs-head .menu-top > ul{ display:flex; align-items:center; gap:0; line-height:1; }
.hs-head .menu-top > ul > li{ position:relative; flex:none; }
.hs-head .menu-top > ul > li > a, .hs-head .menu-top > ul > li > .menu-label{ display:flex; align-items:center; height:40px; padding:0 clamp(7px,0.8vw,13px); font-size:clamp(13.5px,1.05vw,15.5px); font-weight:600; color:#fff; white-space:nowrap; text-shadow:0 1px 6px rgba(0,0,0,0.28); background:none; border-radius:0; }
.hs-head .menu-top li.has-sub > a::after, .hs-head .menu-top li.has-sub > .menu-label::after{ content:none; }
.hs-head .menu-top li.active > a{ color:#efd7a8; }
.menu-top > ul > li > ul.menu-sub{ display:none; position:absolute; top:100%; left:0; min-width:172px; background:#fff; border:1px solid var(--line); border-radius:10px; padding:8px; box-shadow:0 18px 40px rgba(26,28,25,0.13); z-index:20; }
.menu-top > ul > li:nth-last-child(-n+3) > ul.menu-sub{ left:auto; right:0; }
.menu-top > ul > li:hover > ul.menu-sub, .menu-top > ul > li:focus-within > ul.menu-sub{ display:block; }
.menu-top ul.menu-sub a{ display:block; padding:8px 11px; font-size:14.5px; color:var(--ink); border-radius:6px; white-space:nowrap; }
.menu-top ul.menu-sub a:hover{ background:var(--accent-soft); }
.hs-call{ margin-left:10px; display:flex; align-items:center; height:40px; padding:0 18px; background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.55); color:#fff; border-radius:999px; font-size:14.5px; font-weight:700; white-space:nowrap; flex:none; }
.hs-call:hover{ background:#fff; color:#3a3226; }
/* 고정바 — 홈에서는 스크롤 후 등장(JS), 서브페이지는 항상 표시 */
.hs-bar{ position:fixed; top:0; left:0; right:0; z-index:55; background:rgba(251,250,247,0.96); backdrop-filter:blur(12px); border-bottom:1px solid var(--line); box-shadow:0 6px 20px rgba(26,28,25,0.06); transform:translateY(-100%); opacity:0; transition:transform 0.35s ease,opacity 0.35s ease; pointer-events:none; }
.hs-bar.is-shown, body:not([data-home]) .hs-bar{ transform:none; opacity:1; pointer-events:auto; }
.hs-bar .wrap{ padding:8px 22px; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; min-height:66px; }
.hs-bar img{ display:block; height:44px; width:auto; }
.hs-bar .menu-top > ul{ display:flex; align-items:center; gap:2px; flex-wrap:wrap; }
.hs-bar .menu-top > ul > li{ position:relative; }
.hs-bar .menu-top > ul > li > a, .hs-bar .menu-top > ul > li > .menu-label{ padding:9px 11px; font-size:15px; font-weight:600; color:var(--ink); background:none; }
.hs-bar .menu-top > ul > li > a:hover, .hs-bar .menu-top li.active > a{ color:var(--accent); }
.hs-bar .menu-top li.has-sub > a::after, .hs-bar .menu-top li.has-sub > .menu-label::after{ content:none; }
.hs-bar .hs-call.tel{ margin-left:10px; padding:9px 18px; height:auto; background:var(--accent); border:0; color:#fff; border-radius:999px; font-size:14.5px; font-weight:700; }
.hs-bar .hs-call.tel:hover{ background:#24483d; color:#fff; }
body:not([data-home]) .hs-topbar, body:not([data-home]) .hs-head{ display:none; }
@media (max-width:900px){ .hs-head .menu-top, .hs-bar .menu-top{ display:none; } .hs-bar{ transform:none; opacity:1; pointer-events:auto; }  .page-wrap{ padding-top:90px; } }

/* ── 히어로 캐러셀 ── */
.hs-hero{ position:relative; min-height:100vh; height:100vh; display:flex; align-items:center; justify-content:center; overflow:hidden; background:#3b3327; }
.hs-hero__slide{ position:absolute; inset:0; opacity:0; transition:opacity 1.2s ease; background-size:cover; background-position:center; transform:scale(1.02); }
.hs-hero__slide.is-active{ opacity:1; }
.hs-hero__box{ position:relative; z-index:2; max-width:960px; padding:40px; text-align:center; color:#fff; background:radial-gradient(58% 58% at 50% 50%,rgba(32,25,15,0.46) 0%,rgba(32,25,15,0) 74%); }
.hs-hero__eyebrow{ font-size:11.5px; letter-spacing:0.34em; color:rgba(255,255,255,0.78); }
.hs-hero h1{ margin-top:30px; font-size:clamp(30px,4.4vw,52px); line-height:1.32; color:#fff; text-shadow:0 2px 22px rgba(0,0,0,0.28); }
.hs-hero__sub{ margin-top:20px; font-size:clamp(15px,1.5vw,18px); line-height:1.8; color:rgba(255,255,255,0.9); text-shadow:0 1px 14px rgba(0,0,0,0.3); }
.hs-hero__cta{ margin-top:38px; display:flex; gap:10px; flex-wrap:wrap; justify-content:center; }
.hs-btn-w{ padding:15px 30px; background:#fff; color:#3a3226; border-radius:999px; font-size:16px; font-weight:700; }
.hs-btn-w:hover{ background:#efd7a8; color:#3a3226; }
.hs-btn-o{ padding:15px 30px; background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.6); color:#fff; border-radius:999px; font-size:16px; font-weight:600; }
.hs-btn-o:hover{ background:rgba(255,255,255,0.22); color:#fff; }
.hs-hero__dots{ position:absolute; left:0; right:0; bottom:34px; z-index:3; display:flex; justify-content:center; gap:12px; }
.hs-hero__dots button{ width:9px; height:9px; padding:0; border:none; border-radius:50%; background:#fff; cursor:pointer; opacity:.35; transition:opacity 0.4s ease; }
.hs-hero__dots button.is-active{ opacity:1; }
.hs-hero__fade{ position:absolute; left:0; right:0; bottom:0; z-index:1; height:120px; background:linear-gradient(180deg,rgba(59,51,39,0) 0%,rgba(26,28,25,0.28) 100%); }

/* ── 본문 섹션 ── */
.hs-stats{ background:#fff; border-bottom:1px solid var(--line); }
.hs-stats dl{ max-width:1240px; margin:0 auto; padding:30px 22px; display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:22px; text-align:center; }
.hs-stats dt{ font-size:13px; color:var(--muted); }
.hs-stats dd{ margin:6px 0 0; font-family:"Noto Serif KR",serif; font-size:23px; font-weight:600; }
.hs-philo{ background:var(--ink); color:#e6ebe6; }
.hs-philo .wrap{ max-width:900px; padding:78px 22px; text-align:center; }
.hs-philo p{ font-size:16.5px; line-height:1.9; color:#9daaa2; }
.hs-philo .big{ margin-top:14px; font-family:"Noto Serif KR",serif; font-size:clamp(26px,3.4vw,38px); line-height:1.5; color:#fff; }
.hs-philo .after{ margin-top:24px; font-size:16px; }
.hs-section{ max-width:1240px; margin:0 auto; padding:92px 22px; }
.hs-kicker{ font-size:12.5px; letter-spacing:0.2em; color:var(--gold); font-weight:600; }
.hs-h2{ margin-top:14px; font-size:clamp(27px,3.2vw,40px); line-height:1.38; }
.hs-lead{ margin-top:16px; font-size:16.5px; color:var(--muted); line-height:1.8; max-width:640px; }
.hs-decoction{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr)); gap:56px; align-items:center; }
.hs-decoction p.body{ margin-top:22px; font-size:16.5px; line-height:1.85; color:var(--muted); }
.hs-decoction strong{ color:var(--ink); font-weight:600; }
.hs-bullets{ margin-top:30px; display:grid; gap:12px; }
.hs-bullets li{ display:flex; gap:12px; align-items:flex-start; font-size:16px; line-height:1.7; }
.hs-bullets li::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--gold); margin-top:9px; flex:none; }
.hs-ph{ aspect-ratio:1/1; border-radius:14px; border:1px solid var(--line); background-color:#efeade; background-image:repeating-linear-gradient(135deg,rgba(176,138,78,0.12) 0 10px,transparent 10px 20px); display:flex; align-items:flex-end; padding:20px; }
.hs-ph span{ font-family:ui-monospace,monospace; font-size:12.5px; color:var(--muted); background:#fff; padding:7px 11px; border-radius:5px; }
.hs-white{ background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.hs-center{ text-align:center; }
.hs-center .sub{ font-size:14px; color:var(--muted); }
.hs-center h2{ margin-top:8px; font-size:clamp(27px,3.2vw,38px); letter-spacing:0.06em; }
.hs-center .desc{ margin-top:16px; font-size:16.5px; color:var(--muted); line-height:1.8; }
.hs-cards{ margin-top:50px; display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:18px; }
.hs-card{ border:1px solid var(--line); border-radius:12px; overflow:hidden; background:var(--bg); display:block; color:var(--ink); }
.hs-card:hover{ border-color:var(--accent); color:var(--ink); }
.hs-card__img{ aspect-ratio:4/3; background-color:#efeade; background-image:repeating-linear-gradient(135deg,rgba(47,93,79,0.09) 0 10px,transparent 10px 20px); background-size:cover; background-position:center; }
.hs-card__body{ padding:22px 22px 26px; }
.hs-card__body h3{ font-size:20px; }
.hs-card__body p{ margin-top:10px; font-size:14.5px; line-height:1.75; color:var(--muted); }
.hs-areas{ margin-top:46px; display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:18px; }
.hs-area{ border:1px solid var(--line); border-radius:12px; padding:30px 28px; background:#fff; scroll-margin-top:90px; }
.hs-area h3{ font-size:21px; }
.hs-area p{ margin-top:12px; font-size:15px; line-height:1.75; color:var(--muted); }
.hs-tags{ margin-top:18px; display:flex; flex-wrap:wrap; gap:8px; }
.hs-tags a{ font-size:13.5px; color:var(--accent); background:var(--accent-soft); padding:6px 12px; border-radius:999px; display:inline-block; }
.hs-community{ background:#f2f0ea; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.hs-community .wrap{ padding:88px 22px; }
.hs-comm-grid{ margin-top:44px; display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:18px; }
.hs-comm{ background:#fff; border:1px solid var(--line); border-radius:12px; padding:28px; display:flex; flex-direction:column; }
.hs-comm h3{ font-size:19px; }
.hs-comm__head{ display:flex; justify-content:space-between; align-items:center; gap:12px; }
.hs-comm__head a{ font-size:20px; color:var(--muted); line-height:1; }
.hs-comm__list{ margin-top:20px; display:grid; gap:2px; }
.hs-comm__list li{ display:flex; justify-content:space-between; gap:14px; padding:11px 0; border-top:1px solid var(--line); }
.hs-comm__list a{ font-size:14.5px; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hs-comm__list a:hover{ color:var(--accent); }
.hs-comm__list time{ font-size:13px; color:var(--muted); flex:none; }
.hs-comm .desc{ margin-top:12px; font-size:14.5px; color:var(--muted); text-align:center; }
.hs-comm .img{ margin-top:18px; flex:1; min-height:150px; border-radius:8px; background-color:#efeade; background-image:repeating-linear-gradient(135deg,rgba(47,93,79,0.09) 0 10px,transparent 10px 20px); background-size:cover; background-position:center; }
.hs-view{ margin-top:18px; align-self:center; padding:9px 26px; border:1px solid var(--line); border-radius:999px; font-size:13.5px; font-weight:600; color:var(--muted); }
.hs-view:hover{ border-color:var(--accent); color:var(--accent); }
.hs-loc{ margin-top:44px; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); gap:36px; }
.hs-map{ min-height:400px; border-radius:12px; border:1px solid var(--line); background:#eef1ec; overflow:hidden; }
.hs-map iframe, .hs-map #map{ width:100%; height:100%; min-height:400px; border:0; display:block; }
.hs-dl > div{ padding:18px 0; border-top:1px solid var(--line); }
.hs-dl > div:last-child{ border-bottom:1px solid var(--line); }
.hs-dl dt{ font-size:13px; color:var(--muted); }
.hs-dl dd{ margin:8px 0 0; font-size:17px; line-height:1.65; }
.hs-dl dd.tel{ font-size:23px; font-weight:700; }
.hs-hours{ margin-top:30px; width:100%; border-collapse:collapse; font-size:15.5px; }
.hs-hours caption{ text-align:left; font-family:"Noto Serif KR",serif; font-size:19px; font-weight:600; padding-bottom:12px; }
.hs-hours th{ text-align:left; font-weight:500; color:var(--muted); padding:11px 0; border-bottom:1px solid var(--line); border:0; border-bottom:1px solid var(--line); }
.hs-hours td{ text-align:right; padding:11px 0; border:0; border-bottom:1px solid var(--line); }
.hs-hours tr.closed td{ color:var(--gold); }
.hs-faq{ background:#fff; border-top:1px solid var(--line); }
.hs-faq .wrap{ max-width:880px; padding:88px 22px; }
.hs-faq details{ border-top:1px solid var(--line); padding:20px 0; }
.hs-faq details:last-child{ border-bottom:1px solid var(--line); }
.hs-faq summary{ cursor:pointer; font-size:17.5px; font-weight:600; list-style:none; display:flex; justify-content:space-between; gap:16px; }
.hs-faq summary span{ color:var(--gold); }
.hs-faq details p{ margin-top:14px; font-size:16px; line-height:1.85; color:var(--muted); }
.hs-cta{ background:var(--accent); color:#fff; }
.hs-cta .wrap{ padding:70px 22px; display:flex; justify-content:space-between; align-items:center; gap:32px; flex-wrap:wrap; }
.hs-cta h2{ font-size:clamp(25px,3vw,34px); color:#fff; line-height:1.4; }
.hs-cta p{ margin-top:12px; font-size:16.5px; color:#cbdfd5; }
.hs-cta a.btn{ padding:19px 38px; background:#fff; color:var(--accent); border-radius:8px; font-size:19px; font-weight:700; }
.hs-cta a.btn:hover{ background:#e2bf85; color:var(--ink); }

/* ── 푸터 ── */
.site-footer{ margin:0; padding:0; border:0; background:#3a3d39; color:#b3bab4; font-size:inherit; }
.hs-foot{ max-width:1240px; margin:0 auto; padding:56px 22px; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:40px; }
.hs-foot h2{ font-size:17px; color:#fff; }
.hs-foot h2 + h2, .hs-foot .mt{ margin-top:30px; }
.hs-foot .tel{ margin-top:10px; font-size:26px; font-weight:700; color:#fff; }
.hs-foot .tel a{ color:#fff; }
.hs-foot table{ margin-top:12px; font-size:15px; color:#b3bab4; border-collapse:collapse; }
.hs-foot th{ text-align:left; font-weight:400; padding:4px 26px 4px 0; border:0; }
.hs-foot td{ border:0; padding:4px 0; }
.hs-foot .addr{ margin-top:10px; font-size:15px; line-height:1.8; }
.hs-foot .mini{ margin-top:16px; min-height:190px; border-radius:8px; overflow:hidden; background:#4a4e49; }
.hs-foot .mini iframe{ width:100%; height:190px; border:0; filter:grayscale(.4); }
.hs-footnav{ border-top:1px solid #4c504b; }
.hs-footnav .menu-footer{ display:block; }
.hs-footnav .menu-footer > ul{ max-width:1240px; margin:0 auto; padding:44px 22px; display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:28px; }
.hs-footnav .menu-footer > ul > li > a, .hs-footnav .menu-footer > ul > li > .menu-label{ font-size:14.5px; font-weight:700; color:#fff; }
.hs-footnav .menu-footer ul.menu-sub{ margin-top:14px; display:grid; gap:9px; font-size:14px; }
.hs-footnav .menu-footer ul.menu-sub a{ color:#b3bab4; }
.hs-footnav .menu-footer ul.menu-sub a:hover{ color:#fff; }
.hs-footinfo{ border-top:1px solid #4c504b; text-align:center; }
.hs-footinfo .wrap{ padding:30px 22px; font-size:13.5px; line-height:1.9; }
.hs-footinfo .name{ font-family:"Noto Serif KR",serif; font-size:18px; font-weight:700; color:#fff; }
.hs-footinfo .dim{ color:#8d948e; }

/* ── 플로팅 버튼 — 고정 구조 nav.menu-quick > ul > li > a[data-icon] > span ── */
.menu-quick{ position:fixed; right:16px; bottom:16px; top:auto; left:auto; transform:none; z-index:70; }
.menu-quick ul{ display:flex; flex-direction:column; gap:8px; background:none; border:0; }
.menu-quick a{ width:56px; height:56px; padding:0; border-radius:50%; border:0; display:flex; flex-direction:column; align-items:center; justify-content:center; font-size:11px; font-weight:700; box-shadow:0 8px 20px rgba(26,28,25,0.22); background:var(--accent); color:#fff; }
.menu-quick a::before{ content:none; }
.menu-quick a:hover{ background:#24483d; color:#fff; border:0; }
.menu-quick a[data-icon="kakao"]{ background:#f7c600; color:#3c1e1e; }
.menu-quick a[data-icon="kakao"]:hover{ background:#e0b400; color:#3c1e1e; }
.menu-quick a[data-icon="calendar"]{ background:#03c75a; color:#fff; }
.menu-quick a[data-icon="calendar"]:hover{ background:#02a94c; color:#fff; }
.menu-quick a[data-icon="top"]{ background:#fff; border:1px solid var(--line); color:var(--muted); box-shadow:none; }
.menu-quick a[data-icon="top"]:hover{ border-color:var(--accent); color:var(--accent); background:#fff; }
@media (max-width:768px){ .menu-quick{ right:10px; bottom:10px; } .menu-quick li{ flex:none; } .menu-quick a{ width:48px; height:48px; } body{ padding-bottom:0; } }

/* =====================================================================================================================
   게시판 · 태그 · 글 상세 — 계약 구조(skin-contract §9) 위에 이호석한의원 톤(세리프 제목·골드 키커·소프트 라인)을 입힌다
   ===================================================================================================================== */
/* 목록 머리 */
.board-page{ max-width:1240px; margin:0 auto; }
.board-head{ margin:0 0 40px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.board-head h1{ font-size:clamp(26px,3vw,36px); line-height:1.3; }
.board-head h1 .tag-hash{ color:var(--gold); font-weight:400; margin-right:2px; }
.board-head__desc{ margin-top:10px; color:var(--muted); font-size:15px; }

/* 항목 공통 */
.board-list{ gap:0; }
.board-item__title{ font-family:"Noto Serif KR",serif; font-weight:600; letter-spacing:-0.02em; }
.board-item__title a{ color:var(--ink); transition:color .15s; }
.board-item__title a:hover{ color:var(--accent); }
.board-item__thumb{ border-radius:6px; background:var(--accent-soft); }
.board-item__thumb img{ transition:transform .4s ease; }
.board-item:hover .board-item__thumb img{ transform:scale(1.03); }
.board-item__summary{ color:var(--muted); font-size:15px; line-height:1.8; }
.board-item__meta{ color:#8a948d; font-size:13px; letter-spacing:0; }
.board-item__category{ color:var(--gold); letter-spacing:0.08em; font-size:12px; text-transform:uppercase; }
.board-item__author{ color:var(--ink); }
.board-item__author img{ border:1px solid var(--line); }
.board-item__views::before{ content:""; display:inline-block; width:3px; height:3px; border-radius:50%; background:#c7ccc8; margin:0 8px 3px 0; }

/* 태그 칩 — 목록·상세 공통 */
.board-item__tags li a, .post-tags li a{ background:var(--accent-soft); color:var(--accent); font-size:12.5px; padding:3px 11px; }
.board-item__tags li a::before, .post-tags li a::before{ color:var(--gold); opacity:1; }
.board-item__tags li a:hover, .post-tags li a:hover{ background:var(--accent); color:#fff; }
.board-item__tags li a:hover::before, .post-tags li a:hover::before{ color:#fff; }

/* 블로그형 — 글 하나가 하나의 읽을거리 */
.board-list--blog .board-item{ padding:44px 0; border-bottom:1px solid var(--line); }
.board-list--blog .board-item:first-child{ padding-top:0; }
.board-list--blog .board-item__title{ font-size:clamp(22px,2.4vw,28px); line-height:1.35; }
.board-list--blog .board-item__thumb{ margin-bottom:22px; }
.board-list--blog .board-item__body{ margin-top:18px; font-size:16px; line-height:1.85; color:#3b423e; }
.board-list--blog .board-item__meta{ margin-top:18px; }

/* 웹진형 — 가로 카드 */
.board-list--webzine .board-item{ grid-template-columns:300px 1fr; gap:32px; padding:32px 0; border-bottom:1px solid var(--line); }
.board-list--webzine .board-item:first-child{ padding-top:0; }
.board-list--webzine .board-item__thumb img{ aspect-ratio:4/3; }
.board-list--webzine .board-item__title{ font-size:22px; line-height:1.4; }
.board-list--webzine .board-item__summary{ margin-top:10px; }
.board-list--webzine .board-item__meta{ margin-top:16px; }

/* 갤러리형 — 카드 */
.board-list--gallery{ gap:32px 26px; }
.board-list--gallery .board-item{ background:#fff; border:1px solid var(--line); border-radius:8px; overflow:hidden; transition:transform .2s, box-shadow .2s; }
.board-list--gallery .board-item:hover{ transform:translateY(-3px); box-shadow:0 14px 30px rgba(26,28,25,0.08); }
.board-list--gallery .board-item__thumb{ border-radius:0; }
.board-list--gallery .board-item__title{ font-size:17px; margin:16px 18px 0; line-height:1.45; }
.board-list--gallery .board-item__summary{ margin:8px 18px 0; font-size:14px; }
.board-list--gallery .board-item__meta{ margin:12px 18px 18px; }

/* 게시판형 — 행 */
.board-list--list{ border-top:2px solid var(--accent); }
.board-list--list .board-item{ padding:18px 10px; border-bottom:1px solid var(--line); transition:background .15s; }
.board-list--list .board-item:hover{ background:#fff; }
.board-list--list .board-item__title{ font-family:inherit; font-weight:500; font-size:16px; }

/* 페이저 */
.board-pager{ margin-top:56px; gap:18px; }
.board-pager a{ border:1px solid var(--line); border-radius:999px; padding:9px 22px; color:var(--ink); background:#fff; font-size:14px; transition:all .15s; }
.board-pager a:hover{ border-color:var(--accent); color:var(--accent); }
.board-pager__state{ color:var(--muted); font-size:14px; font-variant-numeric:tabular-nums; }
.board-empty{ padding:80px 0; color:var(--muted); }

/* ── 글 상세 ── */
.post-page .post{ max-width:820px; margin:0 auto; }
.post__title{ font-size:clamp(28px,3.4vw,40px); line-height:1.35; }
.post__date{ margin-top:14px; color:var(--muted); font-size:14px; }
.post-author{ margin:22px 0 36px; padding:14px 18px; background:#fff; border:1px solid var(--line); border-radius:8px; }
.post-author img{ width:46px; height:46px; }
.post-author a{ color:var(--ink); text-decoration:none; font-weight:600; }
.post-author small{ color:var(--muted); }
.post__thumb{ width:100%; border-radius:8px; margin-bottom:36px; }
.post__body{ font-size:17px; line-height:1.9; color:#2a2f2c; }
.post__body h2{ margin-top:2.2em; font-size:24px; }
.post__body h3{ margin-top:1.6em; font-size:19px; }
.post__body img{ max-width:100%; border-radius:6px; }

.post-share{ margin-top:44px; padding-top:24px; border-top:1px solid var(--line); }
.post-share__label{ color:var(--gold); letter-spacing:0.12em; font-size:12px; font-weight:600; }
.post-share a, .post-share button{ border-color:var(--line); color:var(--ink); font-size:13px; padding:7px 15px; transition:all .15s; }
.post-share a:hover, .post-share button:hover{ background:var(--accent); border-color:var(--accent); color:#fff; }
.post-share [data-share="kakao"]:hover{ background:#fee500; border-color:#fee500; color:#191919; }
.post-share [data-share="naver"]:hover{ background:#03c75a; border-color:#03c75a; }
.post-tags{ margin-top:26px; }

.post-nav{ max-width:820px; margin:56px auto 0; gap:14px; border-top:1px solid var(--line); padding-top:26px; }
.post-nav a{ background:#fff; border:1px solid var(--line); border-radius:8px; padding:16px 20px; transition:border-color .15s; }
.post-nav a:hover{ border-color:var(--accent); }
.post-nav small{ color:var(--gold); letter-spacing:0.1em; font-size:11.5px; font-weight:600; }
.post-nav span{ font-family:"Noto Serif KR",serif; font-size:16px; line-height:1.45; color:var(--ink); }

.post-related{ max-width:1240px; margin:88px auto 0; padding-top:56px; border-top:1px solid var(--line); }
.post-related h2{ font-size:clamp(22px,2.4vw,28px); margin-bottom:28px; }
.post-related h2::before{ content:"RELATED"; display:block; font-family:Pretendard,sans-serif; font-size:12px; letter-spacing:0.2em; color:var(--gold); margin-bottom:10px; }
.post-related ul{ gap:26px; }
.post-related__thumb{ border-radius:6px; background:var(--accent-soft); }
.post-related__title{ margin-top:8px; font-family:"Noto Serif KR",serif; font-size:16px; line-height:1.45; color:var(--ink); }
.post-related a:hover .post-related__title{ color:var(--accent); }
.post-related__date{ color:#8a948d; }

@media (max-width:900px){
	.board-head{ margin-bottom:28px; }
	.board-list--webzine .board-item{ grid-template-columns:1fr; gap:14px; padding:24px 0; }
	.board-list--blog .board-item{ padding:30px 0; }
	.post__body{ font-size:16px; }
	.post-related{ margin-top:56px; padding-top:36px; }
}
