/*
Theme Name: Wisdom Pain
Theme URI: https://wisdompain.zibsuri.com
Author: MUN
Author URI: https://wisdompain.zibsuri.com
Description: 사랑니 발치 후 통증·회복 정보 플랫폼 전용 테마. 프리미엄 메디컬 디자인 시스템.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: wisdom-pain
*/

:root{
  --wp-primary:#0E7C7B;
  --wp-primary-dark:#0A5F5E;
  --wp-primary-deep:#0B5756;
  --wp-mint:#E6F4F3;
  --wp-mint-2:#F0F8F7;
  --wp-amber:#F2A63B;
  --wp-coral:#E4695E;
  --wp-navy:#12324A;
  --wp-ink:#1D2B32;
  --wp-gray:#5A6B72;
  --wp-gray-light:#8FA0A8;
  --wp-line:#E2EBEA;
  --wp-bg:#FFFFFF;
  --wp-bg-soft:#F6FAF9;
  --wp-radius-sm:10px;
  --wp-radius:16px;
  --wp-radius-lg:24px;
  --wp-shadow-sm:0 1px 2px rgba(16,44,46,.05),0 4px 14px rgba(16,44,46,.06);
  --wp-shadow-md:0 10px 28px rgba(16,44,46,.10);
  --wp-shadow-lg:0 24px 60px rgba(16,44,46,.14);
  --wp-font:"Pretendard Variable","Pretendard",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;
  --wp-serif:"Noto Serif KR",serif;
  --wp-container:1160px;
  --wp-transition:180ms ease;
  --wp-space-1:8px; --wp-space-2:16px; --wp-space-3:24px; --wp-space-4:40px; --wp-space-5:64px; --wp-space-6:96px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
body{margin:0;font-family:var(--wp-font);font-size:17px;line-height:1.75;color:var(--wp-ink);background:var(--wp-bg);-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--wp-primary);text-decoration:none;transition:color var(--wp-transition)}
a:hover{color:var(--wp-primary-dark)}
h1,h2,h3,h4,h5,h6{margin:0 0 12px;line-height:1.35;font-weight:800;letter-spacing:-0.02em;color:var(--wp-navy)}
p{margin:0 0 16px}
::selection{background:var(--wp-mint);color:var(--wp-primary-deep)}
:focus-visible{outline:3px solid rgba(14,124,123,.45);outline-offset:2px;border-radius:6px}

.skip-link{position:absolute;left:-999px;top:0;background:var(--wp-navy);color:#fff;padding:10px 18px;border-radius:0 0 10px 0;z-index:9999}
.skip-link:focus{left:0}

.wp-container{max-width:var(--wp-container);margin:0 auto;padding:0 24px}
@media(max-width:600px){.wp-container{padding:0 20px}}

/* ============ HEADER ============ */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--wp-line)}
.site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}
.brand{display:flex;align-items:center;gap:10px;color:var(--wp-navy);font-weight:800;font-size:20px;letter-spacing:-0.02em}
.brand-mark{width:38px;height:38px;border-radius:11px;background:var(--wp-primary);display:grid;place-items:center;color:#fff;flex:none;box-shadow:var(--wp-shadow-sm)}
.brand-mark svg{width:22px;height:22px}
.brand-sub{display:block;font-size:11.5px;font-weight:600;color:var(--wp-gray-light);letter-spacing:0;line-height:1.2;margin-top:1px}
.main-nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.main-nav a{display:block;padding:10px 14px;border-radius:10px;color:var(--wp-gray);font-weight:600;font-size:15px}
.main-nav a:hover{color:var(--wp-primary);background:var(--wp-mint-2)}
.main-nav .current-menu-item>a,.main-nav .current-cat>a{color:var(--wp-primary);background:var(--wp-mint)}
.nav-toggle{display:none;width:46px;height:46px;border:1px solid var(--wp-line);border-radius:12px;background:#fff;cursor:pointer;place-items:center}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--wp-navy);border-radius:2px;margin:3px auto;transition:transform var(--wp-transition),opacity var(--wp-transition)}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
@media(max-width:960px){
  .nav-toggle{display:grid}
  .main-nav{position:fixed;inset:72px 0 auto 0;background:#fff;border-bottom:1px solid var(--wp-line);box-shadow:var(--wp-shadow-md);padding:12px 20px 24px;display:none;max-height:calc(100vh - 72px);overflow:auto}
  .main-nav.open{display:block}
  .main-nav ul{flex-direction:column;gap:2px}
  .main-nav a{padding:14px 16px;font-size:16px}
}

/* ============ POST LAYOUT ============ */
.site-main{min-height:60vh}
.post-single{padding:56px 0 24px}
.post-single .wp-container{max-width:820px}
.breadcrumb{font-size:13.5px;color:var(--wp-gray-light);margin-bottom:20px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.breadcrumb a{color:var(--wp-gray)}
.breadcrumb a:hover{color:var(--wp-primary)}
.entry-header{margin-bottom:28px}
.entry-cat{display:inline-block;background:var(--wp-mint);color:var(--wp-primary-deep);font-size:13px;font-weight:700;padding:6px 14px;border-radius:999px;margin-bottom:16px}
.entry-title{font-size:clamp(28px,4.4vw,42px);line-height:1.3;margin-bottom:16px}
.entry-meta{display:flex;flex-wrap:wrap;gap:8px 20px;color:var(--wp-gray-light);font-size:14px}
.entry-meta time{display:inline-flex;align-items:center;gap:6px}
.entry-hero{border-radius:20px;overflow:hidden;margin:28px 0 8px;box-shadow:var(--wp-shadow-md)}
.entry-hero img{width:100%;aspect-ratio:16/8.5;object-fit:cover}
.entry-content{font-size:17px;line-height:1.85;color:#26353d}
.entry-content>p{color:#2b3a42}
.entry-content h2{font-size:26px;margin:48px 0 16px;padding-top:8px;border-top:2px solid var(--wp-mint);padding-top:24px}
.entry-content h3{font-size:20px;margin:36px 0 12px}
.entry-content ul,.entry-content ol{padding-left:22px;margin:0 0 20px}
.entry-content li{margin-bottom:8px}
.entry-content blockquote{margin:24px 0;padding:18px 22px;background:var(--wp-mint-2);border-left:4px solid var(--wp-primary);border-radius:0 14px 14px 0;color:var(--wp-primary-deep)}
.entry-content blockquote p:last-child{margin-bottom:0}
.entry-content a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(14,124,123,.35)}
.entry-content a:hover{text-decoration-color:var(--wp-primary)}

/* callout */
.callout{display:flex;gap:14px;background:var(--wp-mint-2);border:1px solid var(--wp-mint);border-radius:16px;padding:20px 22px;margin:28px 0}
.callout.warn{background:#FDF6EC;border-color:#F8E3C0}
.callout.danger{background:#FDF0EF;border-color:#F5CFCB}
.callout-icon{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-weight:800;font-size:17px;color:#fff}
.callout.info .callout-icon{background:var(--wp-primary)}
.callout.warn .callout-icon{background:var(--wp-amber)}
.callout.danger .callout-icon{background:var(--wp-coral)}
.callout p{margin:0 0 8px}
.callout p:last-child{margin-bottom:0}

/* summary box */
.post-summary{background:linear-gradient(135deg,var(--wp-mint-2),#fff);border:1px solid var(--wp-mint);border-radius:18px;padding:24px 26px;margin:28px 0 8px}
.post-summary strong{color:var(--wp-primary-deep)}
.post-summary ul{margin:12px 0 0;padding-left:20px}
.post-summary li{margin-bottom:6px;color:#33454d}

/* tables */
.table-wrap{overflow-x:auto;margin:28px 0;border-radius:14px;border:1px solid var(--wp-line);box-shadow:var(--wp-shadow-sm)}
.entry-content table{border-collapse:collapse;width:100%;min-width:560px;font-size:15px}
.entry-content thead th{background:var(--wp-primary);color:#fff;font-weight:700;padding:12px 16px;text-align:left;white-space:nowrap}
.entry-content tbody td{padding:12px 16px;border-top:1px solid var(--wp-line);vertical-align:top}
.entry-content tbody tr:nth-child(even){background:var(--wp-bg-soft)}
.entry-content tbody tr:hover{background:var(--wp-mint-2)}
.entry-content td strong{color:var(--wp-primary-deep)}

/* inline charts */
.chart{margin:28px 0;display:grid;gap:12px}
.chart-row{display:grid;grid-template-columns:120px 1fr 64px;gap:12px;align-items:center;font-size:14px}
.chart-label{color:var(--wp-gray);font-weight:600;text-align:right}
.chart-track{background:var(--wp-mint);height:14px;border-radius:999px;overflow:hidden}
.chart-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--wp-primary),#2FA3A1);width:0;transition:width .9s cubic-bezier(.22,1,.36,1)}
.chart-row:nth-child(2) .chart-bar{background:linear-gradient(90deg,var(--wp-amber),#F7C873)}
.chart-row:nth-child(3) .chart-bar{background:linear-gradient(90deg,var(--wp-coral),#ED9B93)}
.chart-value{color:var(--wp-navy);font-weight:800;white-space:nowrap}
.chart-note{font-size:13px;color:var(--wp-gray-light);margin-top:-12px}
@media(max-width:600px){.chart-row{grid-template-columns:86px 1fr 56px;gap:8px;font-size:13px}}

/* timeline in posts */
.step-list{display:grid;gap:14px;margin:28px 0}
.step{display:flex;gap:16px;background:#fff;border:1px solid var(--wp-line);border-radius:16px;padding:18px 20px;box-shadow:var(--wp-shadow-sm)}
.step-num{flex:none;width:40px;height:40px;border-radius:12px;background:var(--wp-primary);color:#fff;font-weight:800;display:grid;place-items:center;font-size:16px}
.step h4{margin:0 0 4px;font-size:16.5px}
.step p{margin:0;font-size:15px;color:var(--wp-gray)}

/* legal notice */
.legal-notice{font-size:0.85em;color:#5f6b73;background:#f7f9fa;border-left:3px solid #cbd5e1;padding:14px 16px;margin-top:2em;border-radius:0 10px 10px 0}
.legal-notice p{margin:4px 0}
.ai-notice{font-size:0.85em;color:#8a959c;margin-top:2em}

/* related posts */
.related-posts{margin:64px 0 0;padding-top:36px;border-top:1px solid var(--wp-line)}
.related-posts h3{font-size:22px}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}
@media(max-width:860px){.related-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.related-grid{grid-template-columns:1fr}}
.related-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--wp-line);border-radius:16px;overflow:hidden;transition:transform var(--wp-transition),box-shadow var(--wp-transition)}
.related-card:hover{transform:translateY(-4px);box-shadow:var(--wp-shadow-md)}
.related-card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.related-card-body{padding:16px 18px}
.related-card-body h4{margin:0 0 6px;font-size:15.5px;line-height:1.45}
.related-card-body span{font-size:12.5px;color:var(--wp-gray-light)}

/* pager */
.post-nav{display:flex;justify-content:space-between;gap:16px;margin:56px 0 0;padding-top:24px;border-top:1px solid var(--wp-line);font-size:15px}
.post-nav a{max-width:48%;background:var(--wp-bg-soft);border:1px solid var(--wp-line);border-radius:12px;padding:14px 18px;color:var(--wp-navy);font-weight:600}
.post-nav a:hover{border-color:var(--wp-primary);color:var(--wp-primary)}
.post-nav .next{text-align:right;margin-left:auto}

/* ============ ARCHIVE / INDEX ============ */
.archive-page{padding:56px 0 80px}
.archive-head{margin-bottom:36px}
.archive-title{font-size:clamp(26px,3.6vw,36px);margin-bottom:10px}
.archive-desc{color:var(--wp-gray);max-width:720px}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:960px){.card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.card-grid{grid-template-columns:1fr}}
.post-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--wp-line);border-radius:18px;overflow:hidden;transition:transform var(--wp-transition),box-shadow var(--wp-transition)}
.post-card:hover{transform:translateY(-5px);box-shadow:var(--wp-shadow-md)}
.post-card .card-thumb{position:relative;overflow:hidden}
.post-card .card-thumb img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .35s ease}
.post-card:hover .card-thumb img{transform:scale(1.04)}
.card-badge{position:absolute;top:14px;left:14px;background:rgba(255,255,255,.94);color:var(--wp-primary-deep);font-size:12.5px;font-weight:700;padding:5px 12px;border-radius:999px;box-shadow:var(--wp-shadow-sm)}
.card-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.card-body h3{margin:0;font-size:18.5px;line-height:1.45}
.card-body h3 a{color:var(--wp-navy)}
.card-body h3 a:hover{color:var(--wp-primary)}
.card-excerpt{color:var(--wp-gray);font-size:14.5px;line-height:1.7;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card-meta{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--wp-gray-light);padding-top:10px}

/* pagination */
.pagination{display:flex;gap:8px;justify-content:center;margin-top:48px}
.pagination .page-numbers{padding:10px 16px;border-radius:10px;border:1px solid var(--wp-line);color:var(--wp-gray);font-weight:600}
.pagination .page-numbers.current{background:var(--wp-primary);border-color:var(--wp-primary);color:#fff}
.pagination .page-numbers:hover{border-color:var(--wp-primary);color:var(--wp-primary)}

/* ============ PAGES ============ */
.page-single{padding:56px 0 24px}
.page-single .wp-container{max-width:820px}
.page-entry-title{font-size:clamp(26px,4vw,38px);margin-bottom:8px}

/* search form */
.search-form{display:flex;gap:10px;max-width:520px;margin:24px 0}
.search-form input[type="search"]{flex:1;min-height:48px;border:1px solid var(--wp-line);border-radius:12px;padding:0 16px;font-size:15px;font-family:var(--wp-font)}
.search-form input[type="search"]:focus{outline:3px solid rgba(14,124,123,.25);border-color:var(--wp-primary)}
.search-form button{min-height:48px;padding:0 22px;border:0;border-radius:12px;background:var(--wp-primary);color:#fff;font-weight:700;font-size:15px;cursor:pointer;font-family:var(--wp-font)}
.search-form button:hover{background:var(--wp-primary-dark)}

/* 404 */
.error-404{text-align:center;padding:120px 24px}
.error-404 h1{font-size:96px;color:var(--wp-primary);line-height:1}
.error-404 p{color:var(--wp-gray);max-width:480px;margin:16px auto 28px}

/* ============ FOOTER ============ */
.site-footer{background:var(--wp-navy);color:#C9D6DC;margin-top:80px}
.footer-top{padding:64px 0 40px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px}
@media(max-width:860px){.footer-top{grid-template-columns:1fr;gap:32px}}
.footer-brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800;font-size:20px;margin-bottom:14px}
.footer-brand .brand-mark{background:var(--wp-primary)}
.footer-desc{font-size:14.5px;line-height:1.8;color:#9FB2BA;max-width:380px}
.footer-col h4{color:#fff;font-size:15px;margin-bottom:16px}
.footer-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.footer-col a{color:#9FB2BA;font-size:14.5px}
.footer-col a:hover{color:#fff}
.footer-legal{border-top:1px solid rgba(255,255,255,.12);padding:28px 0 36px}
.footer-legal .legal-notice{background:rgba(255,255,255,.05);border-left-color:#5B7B86;color:#A9BBC3;font-size:.8em;margin-top:0}
.footer-legal .legal-notice p{margin:5px 0}
.footer-meta{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;margin-top:22px;font-size:13px;color:#7E949E}
.footer-meta a{color:#A9BBC3}
.footer-meta a:hover{color:#fff}

/* ============ TOC (easy-table-of-contents) ============ */
.ez-toc-container{background:var(--wp-bg-soft);border:1px solid var(--wp-line);border-radius:16px;padding:18px 20px;margin:28px 0;box-shadow:var(--wp-shadow-sm)}
.ez-toc-title-container{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--wp-navy);font-size:16px;margin-bottom:10px}
.ez-toc-list{list-style:none!important;margin:0;padding:0;display:grid;gap:6px;counter-reset:ez}
.ez-toc-list li{list-style:none!important;margin:0}
.ez-toc-list a{color:var(--wp-gray);font-size:14.5px;font-weight:500;display:block;padding:6px 10px;border-radius:8px}
.ez-toc-list a:hover{color:var(--wp-primary);background:var(--wp-mint)}
.ez-toc-list .ez-toc-list-level-2>a{font-weight:700;color:var(--wp-navy)}
.ez-toc-toggle{display:none!important}

/* rankmath breadcrumbs */
.rank-math-breadcrumb{font-size:13.5px;color:var(--wp-gray-light);margin-bottom:18px}
.rank-math-breadcrumb a{color:var(--wp-gray)}

/* wordpress default cleanup */
.widget-area,.sidebar,#comments,.comment-respond{display:none}
.post-edit-link{font-size:13px;color:var(--wp-gray-light)}

/* post figure */
.entry-figure{margin:28px 0;border-radius:18px;overflow:hidden;box-shadow:var(--wp-shadow-sm)}
.entry-figure img{width:100%;aspect-ratio:16/9;object-fit:cover}
