/*
Theme Name: 진료비사전 (kormedipost)
Description: kormedipost.com 자체 테마 — 비용·수치를 표로 읽는 진료비 자료집. 외부 JS·웹폰트 0.
Version: 1.0.0
Author: 진료비사전
*/
:root{--bg:#F4F7F9;--card:#FFFFFF;--ink:#16252E;--brand:#0F6E8C;--line:#DCE5EA;--accent:#B4553C;--muted:color-mix(in srgb,var(--ink) 60%,var(--bg));--soft:color-mix(in srgb,var(--brand) 8%,var(--card));--soft2:color-mix(in srgb,var(--brand) 16%,var(--card));--r:12px;--rb:8px;--w:1120px;--wp:720px;--fs:17px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Malgun Gothic",sans-serif;font-size:var(--fs);line-height:1.7;word-break:keep-all;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.3;margin:0 0 .5em;font-weight:700;letter-spacing:-.01em}
h1{font-size:1.75rem}h2{font-size:1.375rem;margin-top:2em}h3{font-size:1.125rem;margin-top:1.5em}
p,ul,ol{margin:0 0 1em}ul,ol{padding-left:1.25em}li{margin:.25em 0}
img,svg{max-width:100%;height:auto}b,strong{font-weight:700}
.wrap{max-width:var(--w);margin:0 auto;padding:0 16px}.prose{max-width:var(--wp)}
.muted{color:var(--muted);font-size:.9rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
a.sr:focus{position:static;width:auto;height:auto;clip:auto;display:inline-block;padding:8px}
/* header */
.hd{background:var(--card);border-bottom:1px solid var(--line)}
.hd .wrap{display:flex;align-items:center;justify-content:space-between;min-height:56px;gap:12px;flex-wrap:wrap}
.logo{font-weight:800;font-size:1.2rem;color:var(--ink);letter-spacing:-.02em}.logo em{font-style:normal;color:var(--brand)}
.nav{display:flex;gap:2px;margin:0;padding:0;list-style:none;flex-wrap:wrap}
.nav a{display:block;padding:8px 10px;min-height:44px;line-height:28px;border-radius:var(--rb);color:var(--ink);font-size:.95rem}
.nav a:hover{background:var(--soft);text-decoration:none}
.nav a[aria-current=page]{background:var(--soft2);color:var(--brand);font-weight:700}
@media(max-width:560px){.nav a{padding:6px 7px;font-size:.85rem;min-height:40px;line-height:26px}.hd .wrap{min-height:0;padding-top:8px;padding-bottom:8px}}
/* section */
.sec{padding:32px 0}@media(min-width:768px){.sec{padding:52px 0}}
.sec+.sec{border-top:1px solid var(--line)}
.sec h2{margin-top:0}
.lead{color:var(--muted);margin:-.2em 0 1.4em}
/* hero */
.hero{padding:30px 0 6px}.hero h1{font-size:1.85rem;margin-bottom:.3em}
.hero p{margin:0 0 1em;color:var(--muted);max-width:640px}
@media(min-width:768px){.hero h1{font-size:2.4rem}}
/* cards */
.grid{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:640px){.grid.c2{grid-template-columns:repeat(2,1fr)}.grid.c3{grid-template-columns:repeat(3,1fr)}}
@media(min-width:960px){.grid.c3{grid-template-columns:repeat(3,1fr)}}
.gcard{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;color:var(--ink);transition:transform .18s,border-color .18s}
@media(hover:hover){.gcard:hover{transform:translateY(-2px);border-color:var(--brand);text-decoration:none}}
.gcard:active{border-color:var(--brand)}
.gcard h3{margin:0 0 .3em;font-size:1.05rem;color:var(--brand)}
.gcard p{margin:0;font-size:.9rem;color:var(--muted)}
.gcard .n{display:block;margin-top:.6em;font-size:.8rem;color:var(--muted)}
/* hub block (home category group) */
.hub{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px}
.hub h3{margin:0 0 .2em;font-size:1.1rem}
.hub h3 a{color:var(--ink)}.hub h3 a:hover{color:var(--brand)}
.hub .cnt{font-size:.8rem;font-weight:600;color:var(--brand);background:var(--soft2);border-radius:999px;padding:1px 9px;margin-left:6px;vertical-align:middle}
.hub .d{margin:.2em 0 .8em;font-size:.88rem;color:var(--muted)}
.hub ul{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.hub li{margin:0;border-bottom:1px solid var(--line)}
.hub li a{display:block;padding:9px 2px;font-size:.93rem;color:var(--ink);min-height:40px}
.hub li a:hover{color:var(--brand);text-decoration:none}
.hub .more{display:inline-block;margin-top:10px;font-size:.88rem;font-weight:600}
/* post list (archive) */
.plist{list-style:none;padding:0;margin:0}
.plist li{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 18px;margin:0 0 10px}
.plist h2{margin:0 0 .25em;font-size:1.08rem}
.plist h2 a{color:var(--ink)}.plist h2 a:hover{color:var(--brand);text-decoration:none}
.plist p{margin:0;font-size:.9rem;color:var(--muted)}
.plist .cat{font-size:.78rem;color:var(--brand);font-weight:600;display:block;margin-bottom:.2em}
/* pagination */
.pag{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 0;list-style:none;padding:0}
.pag a,.pag span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:var(--rb);background:var(--card);color:var(--ink)}
.pag .current{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:700}
.pag a:hover{border-color:var(--brand);text-decoration:none}
/* breadcrumb */
.bc{font-size:.85rem;color:var(--muted);margin:0 0 .8em}
.bc a{color:var(--muted)}.bc a:hover{color:var(--brand)}
.bc span{margin:0 6px;opacity:.6}
/* entry */
.meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.85rem;color:var(--muted);margin:0 0 1.4em}
.entry h2{padding-top:.2em;border-top:1px solid var(--line);margin-top:1.8em;padding-top:1.2em}
.entry h2:first-of-type{border-top:0;padding-top:0}
.entry table{border-collapse:collapse;width:100%;font-size:.93rem;margin:0 0 1.2em;background:var(--card)}
.entry th,.entry td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.entry th{background:var(--soft);font-weight:700}
.entry table tr:nth-child(2n) td{background:color-mix(in srgb,var(--bg) 50%,var(--card))}
.entry blockquote{margin:0 0 1.2em;padding:12px 16px;background:var(--soft);border-left:4px solid var(--brand);border-radius:0 var(--rb) var(--rb) 0}
.entry blockquote p:last-child{margin-bottom:0}
.entry figure{margin:0 0 1.2em}
.entry img{border-radius:var(--rb);border:1px solid var(--line)}
.entry hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.entry code{background:var(--soft);padding:1px 5px;border-radius:4px;font-size:.92em}
/* 표는 좁은 화면에서 가로 스크롤 */
.tbl{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 1.2em}
.tbl table{margin:0}
/* related */
.rel{margin:2.4em 0 0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 20px}
.rel h2{margin:0 0 .6em;font-size:1.05rem;border:0;padding:0}
.rel ul{list-style:none;padding:0;margin:0}
.rel li{margin:.4em 0;font-size:.93rem}
/* notice */
.notice{font-size:.85rem;color:var(--muted);background:var(--card);border:1px solid var(--line);border-radius:var(--rb);padding:12px 16px;margin:2em 0 0}
/* ads */
.ad-slot{margin:36px 0;text-align:center;overflow:hidden}
.ad-slot.ad-display{min-height:280px}@media(min-width:768px){.ad-slot.ad-display{min-height:250px}}
/* footer */
.ft{border-top:1px solid var(--line);margin-top:48px;padding:28px 0 40px;font-size:.85rem;color:var(--muted);background:var(--card)}
.ft ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 10px}
.ft a{color:var(--muted)}.ft a:hover{color:var(--brand)}
.ft p{margin:0 0 .5em;max-width:760px}
/* focus */
a:focus-visible,input:focus-visible,select:focus-visible,button:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 60%,#fff);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media print{.hd,.ft,.ad-slot,.rel,.nav{display:none!important}body{background:#fff}}
