/*
Theme Name: 치과정보가이드
Theme URI: https://ukhealthcare.kr
Author: ZESTCOMPANY
Description: 임플란트·교정·심미를 임상 근거로 정리하는 치과 정보 가이드 테마. AIGEO 발행망용 GEO 최적화 테마.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: chigwa-guide
*/

*{box-sizing:border-box;margin:0;padding:0}
:root{
  --paper:#FFFFFF; --bg:#F7FAF9; --ink:#20302A; --sub:#5E6E64; --faint:#94A19C;
  --line:#E8EEE9; --card:#FFFFFF;
  --green:#3C6B4E; --green-deep:#2F5A41; --green-soft:#E7F1EA; --green-tint:#F2F8F4;
  --blue-ic:#6E89AE; --blue-soft:#E8EEF4;
}
html{scroll-behavior:auto}
body{font-family:'Pretendard','Apple SD Gothic Neo',-apple-system,sans-serif;background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 36px}

/* ── HEADER ── */
.topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.admin-bar .topbar{top:32px}
@media screen and (max-width:782px){.admin-bar .topbar{top:46px}}
.topbar-in{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:10px}
.brand-logo{width:34px;height:34px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center}
.brand-logo svg{width:19px;height:19px;color:#fff}
.brand-name{font-weight:800;font-size:19px;letter-spacing:-.6px;color:var(--ink)}
.nav{display:flex;gap:32px;font-size:14.5px;font-weight:600;color:#384842;list-style:none}
.nav a:hover{color:var(--green)}
.nav-cta{display:flex;align-items:center;gap:14px}
.nav-search{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--sub)}
.nav-search svg{width:17px;height:17px}
.nav-btn{display:flex;align-items:center;gap:7px;border:1px solid #CFE0D5;color:var(--green-deep);font-size:13.5px;font-weight:700;padding:10px 18px;border-radius:99px}
.nav-btn svg{width:16px;height:16px}

/* ── HERO ── */
.hero{position:relative;background:linear-gradient(180deg,#F1F8F3 0%,#F7FBF8 60%,#FFFFFF 100%);overflow:hidden}
.hero::before{content:'';position:absolute;width:680px;height:680px;border-radius:50%;background:radial-gradient(circle,#E4F1E8,transparent 68%);top:-160px;right:-60px}
.hero-in{position:relative;z-index:1;padding:14px 0 0}
.hero-grid{display:grid;grid-template-columns:1.32fr 0.92fr;gap:18px;align-items:center;min-height:420px}
.kicker{display:inline-block;font-size:13.5px;font-weight:700;color:var(--green);padding-bottom:8px;border-bottom:2px solid var(--green);margin-bottom:20px}
.hero h1{font-size:60px;font-weight:800;line-height:1.2;letter-spacing:-2.4px;margin-bottom:24px;color:#1C2A24}
.hero h1 .hl{color:var(--green)}
.hero .stand{font-size:17.5px;color:var(--sub);line-height:1.75}
.hero-tooth{height:480px;background:url('assets/tooth3d.jpg') center 49%/132% no-repeat;
  -webkit-mask-image:radial-gradient(ellipse 64% 68% at 52% 50%,#000 58%,transparent 85%);
  mask-image:radial-gradient(ellipse 64% 68% at 52% 50%,#000 58%,transparent 85%)}

.hero-search{position:relative;z-index:1;display:flex;align-items:center;gap:11px;background:#fff;border:1px solid #E0EAE3;border-radius:14px;padding:8px 8px 8px 20px;box-shadow:0 20px 42px -28px rgba(30,60,44,.32);margin-top:4px}
.hero-search>svg{width:19px;height:19px;color:var(--faint);flex-shrink:0}
.hero-search input{flex:1;border:0;outline:0;background:transparent;font-family:inherit;font-size:15px;color:var(--ink)}
.hero-search input::placeholder{color:#A6B2AA}
.hero-search button{background:var(--green);color:#fff;font-size:15px;font-weight:700;border:0;padding:13px 32px;border-radius:11px;cursor:pointer}
.hero-pills{position:relative;z-index:1;display:flex;align-items:center;gap:0;background:var(--green-tint);border-radius:99px;padding:12px 24px;margin-top:14px;flex-wrap:wrap}
.hero-pills .lab{font-size:13.5px;font-weight:700;color:var(--green-deep);margin-right:22px}
.hero-pills a{font-size:13.5px;color:#4C5C53;font-weight:500;padding:0 18px;border-left:1px solid #D4E4DA}
.hero-pills a:first-of-type{border-left:0}
.hero-pills a:hover{color:var(--green)}
.hero-pills .chev{margin-left:auto;color:var(--faint)}

/* ── CATEGORIES ── */
.cats{padding:22px 0 56px}
.cat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.cat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 20px;cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s;display:block}
.cat:hover{transform:translateY(-4px);box-shadow:0 22px 38px -28px rgba(40,90,60,.4);border-color:var(--green-soft)}
.cat .cic{width:46px;height:46px;border-radius:50%;background:var(--green-soft);display:flex;align-items:center;justify-content:center;margin-bottom:15px}
.cat .cic svg{width:23px;height:23px;color:var(--green)}
.cat .cn{font-size:16px;font-weight:800;letter-spacing:-.3px;margin-bottom:7px;color:var(--ink)}
.cat .cd{font-size:12.5px;color:var(--sub);line-height:1.5}
.cic.g{background:#E7F1EB}.cic.g svg{color:#4F8369}
.cic.b{background:#E8EEF4}.cic.b svg{color:#6E89AE}
.cic.r{background:#F4E9E4}.cic.r svg{color:#C0897A}
.cic.v{background:#ECE8F3}.cic.v svg{color:#897CAE}
.cic.a{background:#F1EBDC}.cic.a svg{color:#B29A66}

/* ── SECTION / LATEST ── */
.sec{padding:50px 0}
.sec-top{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:26px}
.sec-title{font-size:25px;font-weight:800;letter-spacing:-.7px}
.sec-title small{display:block;font-size:13px;font-weight:500;color:var(--faint);margin-top:7px}
.sec-more{font-size:14px;font-weight:700;color:var(--green)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.lcard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;cursor:pointer;transition:transform .18s,box-shadow .18s;display:block}
.lcard:hover{transform:translateY(-4px);box-shadow:0 22px 38px -28px rgba(40,90,60,.36)}
.lcard .tag{display:inline-block;font-size:11.5px;font-weight:700;color:var(--green-deep);background:var(--green-soft);padding:5px 11px;border-radius:6px;margin-bottom:13px}
.lcard h3{font-size:17px;font-weight:800;line-height:1.42;letter-spacing:-.4px;margin-bottom:9px;color:var(--ink)}
.lcard:hover h3{color:var(--green)}
.lcard p{font-size:14px;color:var(--sub);line-height:1.62;margin-bottom:16px}
.lcard .foot{font-size:12.5px;color:var(--faint);display:flex;align-items:center;gap:9px}
.lcard .vf{color:var(--green);font-weight:700;display:inline-flex;align-items:center;gap:5px}
.lcard .vf svg{width:14px;height:14px}

/* ── CTA ── */
.cta{background:var(--green);color:#fff;border-radius:20px;padding:42px 46px;display:grid;grid-template-columns:1fr auto;gap:36px;align-items:center;position:relative;overflow:hidden}
.cta::before{content:'';position:absolute;width:380px;height:380px;border-radius:50%;border:1px solid rgba(255,255,255,.14);top:-140px;right:70px}
.cta h3{font-size:25px;font-weight:800;letter-spacing:-.5px;position:relative;z-index:1}
.cta p{font-size:14.5px;color:rgba(255,255,255,.85);margin-top:13px;line-height:1.7;position:relative;z-index:1}
.cta-btn{background:#fff;color:var(--green-deep);font-size:15px;font-weight:700;padding:15px 30px;border-radius:12px;white-space:nowrap;position:relative;z-index:1}

/* ── ARTICLE HEADER (single) ── */
.ahead{background:var(--bg);border-bottom:1px solid var(--line);padding:30px 0 38px}
.ahead .wrap{max-width:920px;text-align:center}
.crumb{font-size:13px;color:var(--faint);margin-bottom:20px}
.crumb a:hover{color:var(--green)}
.tag{display:inline-block;font-size:12px;font-weight:700;color:var(--green-deep);background:var(--green-soft);padding:6px 13px;border-radius:7px;margin-bottom:18px}
.atitle{font-size:42px;font-weight:800;line-height:1.3;letter-spacing:-1.4px;margin-bottom:22px}
.byline{display:flex;align-items:center;justify-content:center;gap:13px;flex-wrap:wrap;font-size:13.5px;color:var(--sub)}
.verify-chip{display:inline-flex;align-items:center;gap:7px;color:var(--green);font-weight:700;background:var(--green-soft);padding:6px 12px;border-radius:8px}
.verify-chip svg{width:14px;height:14px}
.byline .dot{width:3px;height:3px;border-radius:50%;background:#CBD6CF}

/* ── ARTICLE SHELL ── */
.shell{max-width:920px;margin:0 auto;padding:44px 36px 0}
.article{max-width:none;min-width:0}

.quick{background:var(--green-tint);border:1px solid var(--green-soft);border-left:3px solid var(--green);border-radius:12px;padding:22px 24px;margin-bottom:36px}
.quick .lab{font-size:12px;font-weight:800;letter-spacing:.04em;color:var(--green);margin-bottom:10px;display:flex;align-items:center;gap:7px}
.quick p{font-size:16px;line-height:1.78;font-weight:500;color:#2A3A33}
.quick b{color:var(--green-deep)}

.body{font-size:16px;color:#2E3A35;line-height:1.7}
.body h2{font-size:24px;font-weight:800;letter-spacing:-.5px;margin:44px 0 16px;padding-top:6px}
.body h3{font-size:18.5px;font-weight:700;margin:28px 0 10px}
.body p{margin-bottom:17px}
.body ul,.body ol{margin:0 0 17px 1.2em}
.body li{margin-bottom:7px}
.body strong{font-weight:700;color:var(--ink);background:linear-gradient(transparent 60%,#DCEFE3 60%)}
.body img{border-radius:10px;margin:18px 0}

/* comparison table */
.ctable{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:26px 0;font-size:15px;box-shadow:0 16px 36px -26px rgba(40,90,60,.3)}
.ctable .r{display:grid;grid-template-columns:1.1fr 1fr 1fr;border-bottom:1px solid #EDF2EF}
.ctable .r:last-child{border-bottom:0}
.ctable .r>div{padding:18px 24px;display:flex;align-items:center}
.ctable .r>div:nth-child(n+2){padding-left:52px;position:relative}
.ctable .r.head{background:var(--green)}
.ctable .r.head>div{color:#fff;font-weight:700;font-size:14.5px;letter-spacing:.02em}
.ctable .r:nth-child(even):not(.head){background:#F5F9F6}
.ctable .c1{font-weight:700;color:#3A4942}
.ctable .r:not(.head)>div:not(.c1):not(.pk){color:#69776E}
.ctable .pk{color:var(--green-deep);font-weight:700}
.ctable .pk::before{content:'✓';position:absolute;left:24px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--green);font-weight:800}

/* pick box */
.pick{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:28px 0}
.pb{border:1px solid var(--line);border-radius:14px;padding:22px;background:#fff}
.pb .h{font-size:11.5px;font-weight:800;letter-spacing:.04em;margin-bottom:10px}
.pb.a{border-color:#CFE3D7}.pb.a .h{color:var(--green)}
.pb.b{border-color:#D5DFEC}.pb.b .h{color:var(--blue-ic)}
.pb .t{font-size:17px;font-weight:800;margin-bottom:8px;letter-spacing:-.3px}
.pb p{font-size:13.5px;color:var(--sub);line-height:1.65}

/* check list */
.checks{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:24px 26px;margin:28px 0}
.checks h4{font-size:15px;font-weight:800;margin-bottom:14px}
.checks ul{list-style:none;margin:0}
.checks li{display:flex;gap:11px;font-size:15px;padding:8px 0;color:#34423C;line-height:1.55}
.checks .ck{flex-shrink:0;width:20px;height:20px;border-radius:6px;background:var(--green);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;margin-top:2px}

/* FAQ */
.faq{margin:46px 0 10px}
.faq-h{display:flex;align-items:center;gap:11px;margin-bottom:18px}
.faq-h h2{font-size:24px;font-weight:800;letter-spacing:-.5px}
details{border:1px solid var(--line);border-radius:12px;margin-bottom:11px;overflow:hidden;background:#fff}
summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;padding:16px 18px;font-weight:700;font-size:15.5px}
summary::-webkit-details-marker{display:none}
summary .q{flex-shrink:0;width:25px;height:25px;border-radius:7px;background:var(--green-soft);color:var(--green-deep);display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:.8rem}
summary .ar{margin-left:auto;color:var(--faint);transition:.2s}
details[open] summary .ar{transform:rotate(180deg)}
details .a{padding:0 18px 18px 55px;font-size:14.5px;line-height:1.75;color:var(--sub)}

.refs{margin-top:34px;border-top:1px solid var(--line);padding-top:18px;font-size:12.5px;color:var(--faint);line-height:1.8}
.refs strong{color:var(--sub);font-weight:700}
.author{display:flex;gap:15px;align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:18px 22px;margin:30px 0 14px}
.author .av{width:46px;height:46px;border-radius:50%;background:var(--green-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.author .av svg{width:24px;height:24px;color:var(--green)}
.author .nm{font-size:15px;font-weight:800}
.author .rl{font-size:12.5px;color:var(--sub);margin-top:2px}
.disc{font-size:12px;color:var(--faint);line-height:1.7;border-top:1px solid var(--line);padding-top:18px;margin-top:26px}

/* related */
.related{border-top:1px solid var(--line);margin:48px auto 0;padding:42px 0 0;max-width:848px}
.related h3{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:20px}
.rel-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rel{display:flex;gap:14px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:13px;cursor:pointer;transition:.18s}
.rel:hover{box-shadow:0 18px 32px -24px rgba(40,90,60,.4);transform:translateY(-2px)}
.rel .ri{width:44px;height:44px;border-radius:11px;background:var(--green-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rel .ri svg{width:22px;height:22px;color:var(--green)}
.rel .rt{font-size:14.5px;font-weight:700;line-height:1.4;color:var(--ink)}
.rel:hover .rt{color:var(--green)}

/* ── FOOTER ── */
.site-footer{background:#1C2A23;color:#B7C7BE;margin-top:64px;padding:56px 0 44px}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:42px;padding-bottom:38px;border-bottom:1px solid #2C3B33}
.site-footer .brand-name{color:#fff;font-size:21px}
.footer-brand p{font-size:13px;color:#82938A;margin-top:14px;line-height:1.7;max-width:300px}
.socials{display:flex;gap:9px;margin-top:18px}
.socials a{width:36px;height:36px;border-radius:10px;background:#2A3A31;display:flex;align-items:center;justify-content:center;color:#9DAFA4}
.socials a:hover{background:var(--green);color:#fff}
.socials svg{width:16px;height:16px}
.fcol h5{font-size:13px;color:#8D9E95;margin-bottom:15px;font-weight:700}
.fcol a{display:block;font-size:14px;color:#B7C7BE;margin-bottom:11px}
.fcol a:hover{color:#fff}
.footer-bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:26px;font-size:12px;color:#6C7E74;line-height:1.7}
.footer-bot .disc2{max-width:820px}

/* ── RESPONSIVE ── */
@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;min-height:auto}
  .hero h1{font-size:44px}
  .hero-tooth{height:300px;order:-1}
  .cat-grid{grid-template-columns:repeat(2,1fr)}
  .grid{grid-template-columns:1fr 1fr}
  .footer-top{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .wrap{padding:0 20px}
  .nav{display:none}
  .hero h1{font-size:34px;letter-spacing:-1.2px}
  .atitle{font-size:30px}
  .grid,.cat-grid,.pick,.rel-grid,.cta,.footer-top{grid-template-columns:1fr}
  .ctable .r{grid-template-columns:1fr}
  .shell{padding:30px 20px 0}
}
