/*
Theme Name: 해건한의원
Theme URI: https://hegun.co.kr
Author: 광고진정성
Description: 해건한의원 전용 테마. 문구 원본은 생성기(content.py)에 있다.
Version: 1.0.202610062004
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: hegun
*/
:root{--bg:#fbf8f3;--paper:#fff;--ink:#22201d;--sub:#6b655d;--line:#e7e1d7;--accent:#9b2c55;--accent-soft:#f5e8ed;--deep:#2f3b36;--tint:#f3eee6}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{background:var(--bg);color:var(--ink);font-family:Pretendard,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;font-size:17px;line-height:1.75;word-break:keep-all;-webkit-font-smoothing:antialiased}
img{display:block;width:100%;height:auto;object-fit:cover}
figure img{height:100%}
a{color:inherit}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
h1,h2{font-family:"Noto Serif KR",serif;font-weight:700;letter-spacing:-.02em;line-height:1.35}
h2{font-size:clamp(26px,3.2vw,36px);margin-bottom:18px}
h3{font-size:19px;margin-bottom:6px}
p+p{margin-top:12px}
.eyebrow{font-size:14px;color:var(--accent);font-weight:600;letter-spacing:.04em;margin-bottom:10px}
.eyebrow a{text-decoration:none}
.muted{color:var(--sub)}
section{padding:88px 0}
figure{overflow:hidden;border-radius:6px;background:#ddd}
.pc{display:inline}

/* 상단 */
.top{position:sticky;top:0;z-index:20;background:rgba(251,248,243,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:28px;height:64px}
.brand{text-decoration:none;display:flex;align-items:baseline;gap:8px}
.brand b{font-family:"Noto Serif KR",serif;font-size:21px}
.brand span{font-family:"Noto Serif KR",serif;color:var(--accent);font-size:15px}
.top nav{display:flex;gap:22px;margin-left:auto;font-size:15px}
.top nav a{text-decoration:none;color:var(--sub)}
.top nav a:hover{color:var(--ink)}
.tel{font-weight:700;text-decoration:none;font-size:15px}

/* 1 이야기형 상단 — 너무 크지 않게(원장 요청) */
.hero{padding:56px 0 64px}
.hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(32px,4.4vw,50px);margin-bottom:22px}
.hero-sub{font-size:18px;color:var(--ink)}
.hero-note{margin-top:18px;padding-top:18px;border-top:1px solid var(--line);color:var(--sub);font-size:15px}
.hero-img{aspect-ratio:4/5;max-height:560px}

/* 2 선택형 */
.pick{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pick-in{display:grid;grid-template-columns:1fr 320px;gap:40px;align-items:start}
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:26px}
.tile{all:unset;cursor:pointer;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:6px;padding:18px 20px;background:var(--bg);display:flex;flex-direction:column;gap:4px;transition:border-color .15s,background .15s}
.tile b{font-size:17px;font-weight:600}
.tile span{font-size:13px;color:var(--sub)}
.tile:hover{border-color:var(--accent)}
.tile.on{background:var(--accent-soft);border-color:var(--accent)}
.tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.panel{margin-top:18px;background:var(--deep);color:#fff;border-radius:6px;padding:24px 26px}
.pname{font-weight:700;font-size:18px;margin-bottom:4px}
.panel p{color:#e8ece9}
.side{border:1px solid var(--line);border-radius:6px;padding:18px;background:var(--bg);position:sticky;top:84px}
.side img{aspect-ratio:4/3;height:auto;border-radius:4px;margin-bottom:16px}
.side h3{font-size:16px}
.hours{width:100%;border-collapse:collapse;font-size:14px;margin:6px 0 16px}
.hours th{text-align:left;font-weight:500;color:var(--sub);padding:5px 0}
.hours td{text-align:right;padding:5px 0}
.btn{display:block;text-align:center;text-decoration:none;background:var(--accent);color:#fff;font-weight:600;padding:13px 16px;border-radius:6px;margin-top:8px}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn.light{display:inline-block;background:#fff;color:var(--deep);margin-top:14px;padding:10px 18px}

/* 진료 방식 */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:30px}
.steps img{aspect-ratio:3/4;border-radius:6px;margin-bottom:16px}
.steps p{font-size:15px;color:var(--sub)}

.view{background:var(--tint)}
.view-in{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center}
.view figure{background:#eee}
.view figure img{object-fit:contain}

.doctor-in{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.doctor figure{aspect-ratio:1/1}
.sig{font-family:"Noto Serif KR",serif;color:var(--accent);margin-top:22px}

.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:240px 240px;gap:12px;margin-top:28px}
.gallery .g1{grid-row:span 2}
.gallery figure{position:relative}
.gallery figcaption{position:absolute;left:12px;bottom:10px;color:#fff;font-size:13px;text-shadow:0 1px 4px rgba(0,0,0,.6)}

.notes{background:var(--paper);border-top:1px solid var(--line)}
.ngrid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 24px;margin-top:28px}
.nhead{font-weight:700;text-decoration:none;display:block;border-bottom:2px solid var(--ink);padding-bottom:8px;margin-bottom:10px}
.ngrid ul,.plist{list-style:none}
.ngrid li{font-size:14px;padding:6px 0;border-bottom:1px solid var(--line)}
.ngrid li a,.plist a{text-decoration:none}
.ngrid li a:hover,.plist a:hover{color:var(--accent)}
.ngrid li span{display:none}
.soon{color:var(--sub)}
.more{display:inline-block;margin-top:30px;font-weight:600;color:var(--accent)}

.route{display:flex;gap:10px;overflow-x:auto;margin-top:26px;padding-bottom:10px;scroll-snap-type:x mandatory}
.route img{flex:0 0 auto;width:300px;height:220px;border-radius:6px;scroll-snap-align:start}

.foot{background:#1f2421;color:#c9cdc9;padding:56px 0 90px;font-size:14px}
.foot .wrap{display:grid;grid-template-columns:1fr 260px 1.4fr;gap:40px}
.foot .brand b{color:#fff}
.foot .sig{margin-top:8px;color:#e3a9bf}
.foot .hours th{color:#9aa19c}
.biz{line-height:1.9}
.biz span{display:block;margin-top:10px;color:#8b928d;font-size:13px}
.fab{display:none}

/* 증상 페이지 */
.chero{padding:52px 0 64px}
.chero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.chero h1{font-size:clamp(28px,3.6vw,42px);margin-bottom:18px}
.chero figure{aspect-ratio:4/3}
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.two figure{aspect-ratio:4/5}
.signs{list-style:none}
.signs li{padding:12px 0 12px 28px;border-bottom:1px solid var(--line);position:relative}
.signs li:before{content:"";position:absolute;left:4px;top:23px;width:10px;height:10px;border:2px solid var(--accent);border-radius:50%}
.note{background:var(--paper);border-left:3px solid var(--accent);padding:22px 24px;border-radius:0 6px 6px 0;margin-top:52px}
.note p{color:var(--sub);font-size:15px}
.tint{background:var(--tint)}
.cview{max-width:760px}
.wide{margin-top:30px;background:#eee}
.wide img{object-fit:contain}
.flow{list-style:none;counter-reset:f;margin:18px 0}
.flow li{counter-increment:f;padding:14px 0 14px 46px;border-bottom:1px solid var(--line);position:relative;color:var(--sub);font-size:15px}
.flow li:before{content:counter(f);position:absolute;left:0;top:14px;width:30px;height:30px;border-radius:50%;background:var(--deep);color:#fff;font-size:14px;display:flex;align-items:center;justify-content:center}
.flow b{display:block;color:var(--ink);font-size:17px}
.plist li{padding:14px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px}
.plist li span{color:var(--sub);font-size:14px;flex-shrink:0}
.others{margin-top:30px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.others span{color:var(--sub);font-size:14px;margin-right:6px}
.others a{text-decoration:none;border:1px solid var(--line);background:var(--paper);padding:6px 14px;border-radius:20px;font-size:14px}
.cta{text-align:center;background:var(--deep);color:#fff}
.cta .btn{display:inline-block;min-width:200px;margin:8px 4px 0}
.cta .btn.ghost{color:#fff;border-color:rgba(255,255,255,.4)}

@media (max-width:900px){
  body{font-size:16px}
  section{padding:60px 0}
  .wrap{padding:0 16px}
  .top nav{display:none}
  .tel{margin-left:auto}
  .hero{padding:28px 0 44px}
  .hero-in,.pick-in,.view-in,.doctor-in,.chero-in,.two{grid-template-columns:1fr;gap:28px}
  .hero-img{order:-1;aspect-ratio:4/3;max-height:none}
  .chero figure{order:-1}
  .pc{display:none}
  .tiles{grid-template-columns:1fr}
  .side{position:static}
  .steps{grid-template-columns:repeat(2,1fr);gap:16px}
  .steps img{aspect-ratio:1/1}
  .gallery{grid-template-columns:1fr 1fr;grid-template-rows:200px 140px 140px}
  .gallery .g1{grid-column:span 2;grid-row:auto}
  .ngrid{grid-template-columns:1fr 1fr}
  .note{margin-top:0}
  .foot .wrap{grid-template-columns:1fr;gap:24px}
  .fab{display:block;position:fixed;right:16px;bottom:16px;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;padding:13px 20px;border-radius:30px;box-shadow:0 4px 14px rgba(0,0,0,.2);z-index:30}
}
@media (max-width:420px){.steps{grid-template-columns:1fr}.ngrid{grid-template-columns:1fr}}

/* 10/5 2차: 상세 문구 · 건전지 그림(홈페이지 색) · 지도 */
.lead{max-width:760px;color:var(--sub);margin:-4px 0 6px}
.hero-note p{color:var(--sub);font-size:15px}
.hero-note .hn-h{color:var(--ink);font-weight:700;font-size:17px;margin-bottom:6px}
.view-head{max-width:780px}
.bat{display:grid;grid-template-columns:1fr 200px 1fr;gap:20px;align-items:stretch;margin-top:40px}
.bcard{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:26px 24px;display:grid;grid-template-columns:72px 1fr;grid-template-rows:auto 1fr;column-gap:22px}
.bt{grid-column:1/-1;font-weight:700;font-size:16px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.bsvg{width:72px;height:auto;align-self:center}
.bcard ul{list-style:none}
.bcard li{font-size:14px;color:var(--sub);padding:8px 0}
.bcard li+li{border-top:1px dashed var(--line)}
.bcard li b{display:block;color:var(--ink);font-size:15px;margin-bottom:2px}
.barrow{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative}
.barrow span{background:var(--deep);color:#fff;font-weight:700;padding:10px 18px;border-radius:30px;font-size:15px}
.barrow p{font-size:14px;color:var(--sub);margin-top:12px}
.barrow:after{content:"";width:60%;height:2px;background:var(--deep);opacity:.25;position:absolute;top:50%;left:20%;z-index:-1}
.ndesc{font-size:14px;color:var(--sub);margin:-4px 0 8px}
.ngrid li span{display:block;font-size:12px;color:#a79f93}
.visit-in{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center}
.visit-in .btn{display:inline-block;min-width:200px;margin-right:6px;margin-top:16px}
.map{display:block;border-radius:8px;overflow:hidden;border:1px solid var(--line)}
.map img{height:auto}
@media (max-width:900px){
  .bat{grid-template-columns:1fr;gap:14px}
  .barrow{padding:6px 0}
  .barrow:after{display:none}
  .visit-in{grid-template-columns:1fr;gap:24px}
  .visit-in .btn{display:block;margin-right:0}
}

/* 10/5 3차: 건전지 세 단계(타고난 체질 → 닳아 감 → 다시 채움) */
.bat{grid-template-columns:1fr 36px 1fr 36px 1fr;gap:10px}
.bcard{grid-template-columns:64px 1fr;grid-template-rows:auto 1fr}
.bcard .bsvg{width:64px}
.bt em{font-style:normal;display:inline-flex;width:24px;height:24px;border-radius:50%;background:var(--deep);color:#fff;font-size:13px;align-items:center;justify-content:center;margin-right:8px}
.bx{font-size:14px;color:var(--sub);align-self:center}
.bcard.fill{border-color:#5f8a73;box-shadow:0 0 0 1px #5f8a73 inset}
.barr{align-self:center;justify-self:center;width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:14px solid #b9ae9e}
@media (max-width:900px){.bat{grid-template-columns:1fr}.barr{transform:rotate(90deg)}}

/* ── 워드프레스 글 화면 ── */
.blog section,.post{padding:56px 0 88px}
.narrow{max-width:760px}
.ptitle{font-family:"Noto Serif KR",serif;font-size:clamp(28px,3.6vw,40px);line-height:1.35;margin-bottom:14px}
.byline{color:var(--sub);font-size:15px;padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:34px}
.entry{font-size:18px;line-height:1.9}
.entry p{margin:0 0 1.1em}
.entry h2{font-size:clamp(22px,2.6vw,28px);margin:2.2em 0 .7em}
.entry h3{font-size:20px;margin:1.8em 0 .5em}
.entry img{border-radius:6px;margin:1.6em auto;height:auto;max-width:100%}
.entry ul,.entry ol{margin:0 0 1.2em 1.3em}
.entry li{margin:.3em 0}
.entry table{border-collapse:collapse;width:100%;margin:1.4em 0;font-size:16px}
.entry th,.entry td{border:1px solid var(--line);padding:10px 12px;text-align:left}
.entry blockquote{border-left:3px solid var(--accent);padding:4px 0 4px 18px;color:var(--sub);margin:1.4em 0}
.entry a{color:var(--accent)}
.pcta{margin-top:56px;padding:28px;background:var(--tint);border-radius:8px}
.pcta p{color:var(--sub);font-size:15px;margin-bottom:16px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}
.card a{display:block;text-decoration:none;background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow:hidden;height:100%}
.card figure{aspect-ratio:4/3;border-radius:0}
.card .cmeta{font-size:13px;color:var(--accent);margin:16px 18px 4px}
.card h3{font-size:18px;line-height:1.45;margin:0 18px 8px}
.card .cex{font-size:15px;color:var(--sub);margin:0 18px 20px;line-height:1.6}
.catnav{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.catnav a{text-decoration:none;font-size:14px;padding:6px 14px;border:1px solid var(--line);border-radius:99px;background:var(--paper)}
.catnav a:hover{border-color:var(--accent);color:var(--accent)}
.soon-t{color:var(--sub)}
.nav-links{display:flex;gap:10px;justify-content:center;margin-top:36px}
.nav-links .page-numbers{padding:6px 12px;border:1px solid var(--line);border-radius:4px;text-decoration:none}
.nav-links .current{background:var(--ink);color:#fff;border-color:var(--ink)}
@media (max-width:860px){.cards{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.cards{grid-template-columns:1fr}.blog section,.post{padding:36px 0 64px}.entry{font-size:17px}}
