/*
Theme Name: HospConsult
Theme URI: https://hospconsult.rand3.com/
Author: MUN HO YOUNG
Description: 병원 컨설팅 정보 플랫폼 전용 테마 — 딥네이비·청록 디자인 시스템. 메인 html.php와 동일 계열.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: hospconsult
*/

:root {
  --navy:#0F2C4C; --navy-700:#14365e; --navy-800:#0b2138;
  --teal:#12A7A0; --teal-600:#0e8a84; --teal-100:#dcf2f0;
  --ink:#1c2b3a; --gray-600:#55677a; --gray-500:#6b7f94;
  --gray-300:#d8e0e8; --gray-200:#e8edf3; --gray-100:#f4f7fa; --white:#fff;
  --radius-lg:20px; --radius-md:14px; --radius-sm:8px;
  --shadow-sm:0 1px 2px rgba(15,44,76,.06), 0 4px 12px rgba(15,44,76,.06);
  --shadow-md:0 2px 4px rgba(15,44,76,.06), 0 12px 32px rgba(15,44,76,.10);
  --font-sans:'Pretendard Variable','Pretendard','Noto Sans KR','Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  --font-serif:'Noto Serif KR','Noto Sans KR',serif;
  --space-1:8px; --space-2:16px; --space-3:24px; --space-4:32px; --space-5:48px; --space-6:64px; --space-7:96px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-sans);color:var(--ink);background:var(--white);line-height:1.7;font-size:17px;word-break:keep-all}
img{max-width:100%;height:auto}
a{color:var(--teal-600);text-decoration:none}
a:hover{color:var(--navy)}
h1,h2,h3,h4{font-family:var(--font-sans);color:var(--navy);line-height:1.35;letter-spacing:-.02em;margin:0 0 16px}
h1{font-size:clamp(1.9rem,4vw,2.8rem);font-weight:800}
h2{font-size:clamp(1.45rem,3vw,1.9rem);font-weight:800;margin-top:56px;padding-top:24px;border-top:1px solid var(--gray-200)}
h2::before{content:"";display:block;width:44px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--teal),#2ec4bc);margin-bottom:18px}
h3{font-size:1.2rem;font-weight:700;margin-top:32px}
p{margin:0 0 18px}
ul,ol{margin:0 0 22px;padding-left:22px}
li{margin-bottom:8px}
strong{font-weight:700}
table{border-collapse:collapse;width:100%;margin:0 0 26px;font-size:.95rem;background:var(--white)}
th,td{border:1px solid var(--gray-200);padding:12px 14px;text-align:left;vertical-align:top}
th{background:var(--navy);color:#fff;font-weight:600;letter-spacing:.01em}
tbody tr:nth-child(even){background:var(--gray-100)}
blockquote{margin:0 0 24px;padding:18px 22px;background:var(--gray-100);border-left:4px solid var(--teal);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--gray-600)}
blockquote p{margin:0}
.hc-callout{background:linear-gradient(135deg,var(--navy),var(--navy-700));color:#dbe7f5;border-radius:var(--radius-lg);padding:28px 30px;margin:0 0 30px}
.hc-callout strong{display:block;color:#fff;font-size:1.05rem;margin-bottom:12px}
.hc-callout ul{margin:0;padding-left:20px}
.hc-callout li{margin-bottom:8px}
.hc-callout li::marker{color:var(--teal)}
.hc-chart{margin:0 0 10px;padding:22px 22px 10px;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:var(--radius-md)}
.hc-bar-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;font-size:.9rem}
.hc-bar-label{flex:0 0 92px;font-weight:600;color:var(--navy)}
.hc-bar-track{flex:1;background:#e3e9f0;border-radius:999px;height:16px;overflow:hidden}
.hc-bar{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--teal),#3ec9c1)}
.hc-bar-val{flex:0 0 64px;text-align:right;font-variant-numeric:tabular-nums;color:var(--gray-600)}
.hc-source{font-size:.82rem;color:var(--gray-500);margin:4px 0 24px}
.hc-figure{margin:28px 0}
.hc-figure img{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:block}
.hc-figure figcaption{font-size:.85rem;color:var(--gray-500);text-align:center;margin-top:10px}
.hc-timeline{display:grid;gap:12px;margin:0 0 28px}
.hc-tl-item{display:grid;grid-template-columns:110px 1fr;gap:14px;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:16px 18px}
.hc-tl-phase{font-weight:800;color:var(--teal-600);font-size:.9rem;padding-top:2px}
.hc-tl-item strong{display:block;color:var(--navy);margin-bottom:4px}
.hc-tl-item p{margin:0;font-size:.92rem;color:var(--gray-600)}
.legal-notice{font-size:.85em;color:#555;background:#f6f8fa;border:1px solid #e3e8ee;border-left:3px solid #94a3b8;padding:16px 18px;margin:40px 0 12px;border-radius:0 10px 10px 0}
.legal-notice p{margin:6px 0}
.ai-notice{font-size:.85em;color:#888;margin-top:24px}
.entry-content{max-width:800px;margin:0 auto}
/* 헤더 */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--gray-200)}
.header-inner{max-width:1180px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;color:var(--navy);font-size:1.06rem;letter-spacing:-.01em}
.brand .logo-mark{width:38px;height:38px;border-radius:12px;background:var(--navy);display:grid;place-items:center;color:#fff;font-weight:900;font-size:1.05rem;flex:0 0 38px}
.brand small{display:block;font-weight:600;color:var(--gray-500);font-size:.72rem;letter-spacing:.02em}
.main-nav ul{list-style:none;display:flex;gap:4px;margin:0;padding:0}
.main-nav a{display:inline-block;padding:10px 14px;border-radius:10px;color:var(--gray-600);font-weight:600;font-size:.93rem;transition:color .2s,background .2s}
.main-nav a:hover{color:var(--navy);background:var(--gray-100)}
.main-nav .current-menu-item>a,.main-nav .current-cat>a{color:var(--teal-600);background:var(--teal-100)}
.nav-cta{display:inline-block;background:var(--navy);color:#fff;font-weight:700;font-size:.9rem;padding:11px 18px;border-radius:12px;transition:background .2s,transform .2s}
.nav-cta:hover{background:var(--teal-600);color:#fff}
.nav-toggle{display:none;background:none;border:1px solid var(--gray-300);border-radius:10px;padding:10px 12px;font-size:1rem;color:var(--navy);cursor:pointer}
/* 푸터 */
.site-footer{background:var(--navy);color:#c9d6e5;padding:64px 24px 32px;margin-top:96px}
.footer-inner{max-width:1180px;margin:0 auto}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:40px}
.footer-brand{font-weight:800;color:#fff;font-size:1.1rem;margin-bottom:12px}
.footer-inner p{font-size:.9rem;color:#a9bcd2}
.footer-inner h4{color:#fff;font-size:.95rem;margin-bottom:14px}
.footer-inner ul{list-style:none;padding:0;margin:0}
.footer-inner li{margin-bottom:10px}
.footer-inner a{color:#c9d6e5;font-size:.92rem}
.footer-inner a:hover{color:#fff}
.footer-legal{border-top:1px solid rgba(255,255,255,.14);padding-top:24px;font-size:.82rem;color:#93a9c2;line-height:1.8}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.14);margin-top:24px;padding-top:20px;font-size:.82rem;color:#7e95b0}
/* 카드 */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}
.post-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column}
.post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.post-card .thumb{aspect-ratio:16/9;overflow:hidden;background:var(--gray-100)}
.post-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.post-card:hover .thumb img{transform:scale(1.04)}
.post-card .card-body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.post-card .cat{font-size:.76rem;font-weight:700;color:var(--teal-600);letter-spacing:.02em}
.post-card h3{margin:0;font-size:1.08rem;line-height:1.45}
.post-card .excerpt{font-size:.9rem;color:var(--gray-600);margin:0}
.post-card .meta{font-size:.78rem;color:var(--gray-500);margin-top:auto}
/* 단일 글 헤더 */
.post-hero{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-700) 70%,#17476e 100%);color:#e6eef7;padding:72px 24px 64px}
.post-hero .hero-inner{max-width:800px;margin:0 auto}
.post-hero .cat-link{display:inline-block;background:rgba(18,167,160,.18);color:#7fe0da;font-size:.8rem;font-weight:700;padding:6px 14px;border-radius:999px;margin-bottom:18px}
.post-hero h1{color:#fff;margin:0 0 16px;font-size:clamp(1.7rem,3.6vw,2.5rem)}
.post-hero .meta{color:#9fb6cd;font-size:.88rem}
.post-hero .thumb{margin-top:32px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}
.post-hero .thumb img{width:100%;display:block}
.single-main{padding:56px 24px 0}
.related{padding:64px 24px 0;max-width:1180px;margin:0 auto}
.related h2{font-size:1.4rem}
.related h2::before{display:none}
.breadcrumb{max-width:800px;margin:0 auto;padding:18px 24px 0;font-size:.85rem;color:var(--gray-500)}
.breadcrumb a{color:var(--gray-500)}
/* 페이지 공통 */
.page-hero{background:var(--navy);color:#fff;padding:56px 24px}
.page-hero h1{color:#fff;margin:0;font-size:clamp(1.6rem,3.4vw,2.3rem)}
.page-main{max-width:800px;margin:0 auto;padding:56px 24px 0}
/* 아카이브 */
.archive-hero{background:var(--gray-100);padding:48px 24px;border-bottom:1px solid var(--gray-200)}
.archive-hero h1{color:var(--navy);margin:0;font-size:clamp(1.6rem,3.4vw,2.3rem)}
.archive-wrap{max-width:1180px;margin:0 auto;padding:48px 24px 0}
.pagination{display:flex;justify-content:center;gap:8px;padding:40px 0}
.pagination .page-numbers{padding:9px 14px;border:1px solid var(--gray-300);border-radius:10px;color:var(--gray-600);font-size:.9rem}
.pagination .current{background:var(--navy);color:#fff;border-color:var(--navy)}
/* 모션 */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}
.reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}html{scroll-behavior:auto}.reveal{opacity:1;transform:none}}
/* 반응형 */
@media (max-width:960px){
  .post-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  body{font-size:16px}
  .post-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .header-inner{padding:12px 16px}
  .nav-toggle{display:block}
  .main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--gray-200);padding:12px 16px 20px}
  .main-nav.open{display:block}
  .main-nav ul{flex-direction:column;gap:2px}
  .main-nav a{display:block;padding:13px 12px}
  .nav-cta{display:none}
  .hc-tl-item{grid-template-columns:1fr;gap:6px}
  .hc-bar-label{flex-basis:70px}
  .post-hero{padding:56px 18px 48px}
}
@media (max-width:480px){
  h2{margin-top:44px}
  .hc-callout{padding:22px 20px}
  table{font-size:.85rem}
  th,td{padding:10px 8px}
  .hc-bar-label{flex-basis:58px;font-size:.8rem}
  .hc-bar-val{flex-basis:54px;font-size:.8rem}
}
