/*
Theme Name: 창업인포 (nsiabiz)
Theme URI: https://nsiabiz.com
Author: NSIA
Author URI: https://nsiabiz.com
Description: 창업 초기 행정·세무·자금 정보를 다루는 순수 텍스트 기반 정보 포털 전용 테마. 네이비 헤더·그레이 페이지·화이트 시트·벤토 레이아웃. Article/Organization/WebSite 스키마, 본문 하단 FAQ 임베드 블록, dateModified 자동 스탬핑. 애드센스 승인 우선.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nsiabiz
*/

/* ============================================================
   0. 디자인 토큰  ← 강조색은 --accent 한 줄만 바꾸면 전체 반영
   ============================================================ */
:root{
  --accent:#0f7a4d; --accent-hover:#0b5d3a; --accent-weak:#eef6f1; --accent-line:#cfe6da;
  --navy:#132339; --navy-soft:#c7d2e0; --navy-faint:#7d8ba0;
  --ink:#17181a; --ink-soft:#4c525a; --ink-faint:#8a9099;
  --line:#e8eaed; --line-strong:#d3d7dc; --surface-2:#fafbfc;
  --page:#e9ecf0;
  --fs:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,system-ui,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --wrap:1200px;
  --shadow-sheet:0 4px 28px rgba(19,35,57,.07);
  --shadow-hover:0 10px 28px rgba(19,35,57,.1);
}

/* ============================================================
   1. 리셋 · 기본
   ============================================================ */
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;font-family:var(--fs);background:var(--page);color:var(--ink);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.7;}
a{color:var(--accent);text-decoration:none;}
a:hover{color:var(--accent-hover);}
h1,h2,h3,h4{margin:0;line-height:1.3;letter-spacing:-.02em;font-weight:700;color:var(--ink);word-break:keep-all;text-wrap:pretty;}
p{margin:0;word-break:keep-all;text-wrap:pretty;}
img{display:block;max-width:100%;}
ul,ol{margin:0;padding:0;}
.ci{font-variant-numeric:tabular-nums;}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px;}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px;}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--accent);color:#fff;padding:10px 16px;z-index:1000;}
.skip-link:focus{left:0;}
[data-hover]{transition:border-color .15s,box-shadow .15s,transform .15s,background .15s,color .15s;}
[data-hover]:hover{border-color:var(--accent-line);box-shadow:var(--shadow-hover);transform:translateY(-3px);}

/* ============================================================
   2. 상단 네이비 스트립 + 헤더 + GNB
   ============================================================ */
.topbar{background:var(--navy);color:var(--navy-soft);font-size:12.5px;}
.topbar .wrap{padding:9px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px;}
.topbar a{color:var(--navy-soft);}
.topbar a:hover{color:#fff;}
.topbar-links{display:flex;gap:20px;}

.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100;}
.site-header .wrap{height:66px;display:flex;align-items:center;gap:30px;}
.brand a{font-size:22px;font-weight:800;letter-spacing:-.03em;color:var(--ink);}
.brand a:hover{color:var(--ink);}
.brand .dot{color:var(--accent);}
.brand img{max-height:40px;width:auto;}

.gnb{margin-left:auto;}
.gnb ul{display:flex;gap:2px;align-items:center;list-style:none;}
.gnb a{display:block;padding:9px 14px;border-radius:8px;font-weight:600;font-size:15px;color:var(--ink-soft);transition:background .15s,color .15s;}
.gnb a:hover{background:var(--accent-weak);color:var(--accent-hover);}
.gnb .current-menu-item>a,.gnb .current-menu-parent>a,.gnb .current-cat>a{color:var(--accent);background:var(--accent-weak);}

/* 헤더 검색 (아이콘 → 포커스 시 확장) */
.hsearch{display:flex;align-items:center;border:1px solid var(--line-strong);border-radius:9px;overflow:hidden;height:40px;transition:border-color .15s;}
.hsearch:focus-within{border-color:var(--accent);}
.hsearch input{border:0;outline:0;font-family:var(--fs);font-size:14px;width:0;padding:0;transition:width .2s,padding .2s;background:transparent;color:var(--ink);}
.hsearch:hover input,.hsearch:focus-within input{width:160px;padding:0 6px 0 12px;}
.hsearch button{border:0;background:transparent;width:40px;height:40px;display:grid;place-items:center;color:var(--ink-soft);cursor:pointer;flex-shrink:0;}
.hsearch button:hover{color:var(--accent);}

.nav-toggle{display:none;background:none;border:1px solid var(--line-strong);border-radius:8px;width:42px;height:40px;cursor:pointer;margin-left:auto;}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{content:"";display:block;width:18px;height:2px;background:var(--ink);margin:0 auto;position:relative;}
.nav-toggle span::before{position:absolute;top:-6px;}
.nav-toggle span::after{position:absolute;top:6px;}

/* ============================================================
   3. 그레이 페이지 + 화이트 시트
   ============================================================ */
.page{background:var(--page);padding:40px 24px;}
.page-sm{padding:28px 24px 48px;}
.sheet{max-width:var(--wrap);margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:18px;
  box-shadow:var(--shadow-sheet);padding:44px 52px 52px;display:flex;flex-direction:column;gap:38px;}
.sheet-narrow{max-width:900px;}

/* ============================================================
   4. 홈 — 히어로
   ============================================================ */
.home-hero{border-bottom:2px solid var(--ink);padding-bottom:38px;}
.home-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:40px;align-items:center;}
.hero-kicker{display:flex;align-items:center;gap:9px;margin-bottom:16px;}
.hero-kicker .k-cat{font-size:12.5px;font-weight:800;color:var(--accent);letter-spacing:.02em;}
.hero-kicker .k-dot{width:3px;height:3px;border-radius:50%;background:var(--line-strong);}
.hero-kicker .k-sub{font-size:12.5px;font-weight:700;color:var(--ink-faint);}
.hero-title{font-size:36px;line-height:1.24;margin:0 0 16px;letter-spacing:-.035em;}
.home-hero .hero-desc{font-size:16.5px;color:var(--ink-soft);line-height:1.7;margin:0 0 22px;}
.hero-meta{display:flex;align-items:center;gap:12px;font-size:13.5px;color:var(--ink-faint);flex-wrap:wrap;}
.hero-meta .m-author{font-weight:600;color:var(--ink-soft);}
.hero-meta .m-more{margin-left:6px;font-weight:700;}
.hero-media{display:block;aspect-ratio:4/3;border-radius:14px;overflow:hidden;border:1px solid var(--line);}
.hero-media img{width:100%;height:100%;object-fit:cover;}

/* ============================================================
   5. 홈 — 카테고리 벤토
   ============================================================ */
.section-title-row{display:flex;align-items:baseline;justify-content:space-between;margin:8px 2px 0;}
.section-title-row h2{font-size:22px;}
.section-title-row .more{font-size:14px;color:var(--ink-faint);font-weight:600;}

.bento{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:'a b' 'a c' 'd d';gap:24px;}
.cell{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;color:var(--ink);}
.cell:hover{color:var(--ink);}
.cell .c-label{font-size:12.5px;font-weight:800;color:var(--accent);}
.cell .c-body{padding:24px 26px 28px;}
.cell .c-meta{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-faint);margin-top:13px;}
.cell .c-meta .m-author{font-weight:700;color:var(--accent);}
.cell .c-more{display:inline-block;margin-top:16px;font-size:13.5px;font-weight:700;color:var(--accent);}

.cell-a{grid-area:a;}
.cell-a .c-media{aspect-ratio:5/4;overflow:hidden;}
.cell-a .c-media img{width:100%;height:100%;object-fit:cover;}
.cell-a h3{font-size:22px;line-height:1.38;margin:9px 0 10px;}
.cell-a p{font-size:14.5px;color:var(--ink-soft);line-height:1.65;}

.cell-split{display:grid;grid-template-columns:150px 1fr;}
.cell-split .c-media{overflow:hidden;}
.cell-split .c-media img{width:100%;height:100%;object-fit:cover;}
.cell-split .c-body{padding:22px 24px;display:flex;flex-direction:column;justify-content:flex-start;}
.cell-split h3{font-size:19px;line-height:1.4;margin:8px 0 9px;}
.cell-split p{font-size:14px;color:var(--ink-soft);line-height:1.65;}
.cell-b{grid-area:b;}
.cell-c{grid-area:c;}

.cell-wide{grid-area:d;display:grid;grid-template-columns:280px 1fr;}
.cell-wide .c-media{overflow:hidden;}
.cell-wide .c-media img{width:100%;height:100%;object-fit:cover;}
.cell-wide .c-body{padding:26px 30px;display:flex;flex-direction:column;justify-content:center;}
.cell-wide h3{font-size:21px;line-height:1.36;margin:8px 0 8px;}
.cell-wide p{font-size:14.5px;color:var(--ink-soft);line-height:1.65;max-width:560px;}

/* ============================================================
   6. 홈 — 최근 발행 + 신뢰 블록
   ============================================================ */
.latest-box{background:var(--surface-2);border:1px solid var(--line-strong);border-radius:14px;padding:28px 32px 10px;}
.latest-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px;}
.latest-head h2{font-size:21px;}
.latest-head a{font-size:14px;font-weight:600;}
.latest-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 44px;}
.latest-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line);}
.latest-row .min0{min-width:0;}
.latest-row .l-cat{font-size:12px;font-weight:700;color:var(--accent);}
.latest-row h3{font-size:16.5px;margin:5px 0 0;line-height:1.45;font-weight:700;}
.latest-row h3 a{color:var(--ink);}
.latest-row h3 a:hover{color:var(--accent);}
.latest-row time{font-size:12.5px;color:var(--ink-faint);white-space:nowrap;}

.trust{border-top:1px solid var(--line);padding-top:32px;display:grid;grid-template-columns:repeat(3,1fr);gap:34px;}
.trust i{font-size:24px;color:var(--accent);}
.trust h4{font-size:15.5px;margin:11px 0 6px;}
.trust p{font-size:13.5px;color:var(--ink-soft);line-height:1.6;}

/* ============================================================
   7. 카테고리(아카이브) 페이지
   ============================================================ */
.cat-band{background:var(--navy);}
.cat-band .wrap{padding:40px 24px 38px;}
.cat-band .crumb{font-size:13px;color:rgba(255,255,255,.5);margin-bottom:16px;}
.cat-band .crumb a{color:rgba(255,255,255,.6);}
.cat-band .crumb a:hover{color:#fff;}
.cat-band .crumb .cur{color:rgba(255,255,255,.85);}
.cat-band .crumb .sep{margin:0 8px;}
.cat-band-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;}
.cat-band h1{font-size:34px;color:#fff;letter-spacing:-.03em;margin:0 0 10px;}
.cat-band .desc{font-size:15.5px;color:rgba(255,255,255,.72);margin:0;line-height:1.6;max-width:640px;}
.cat-band .count{font-size:13.5px;color:rgba(255,255,255,.6);white-space:nowrap;}
.cat-band .count b{color:#fff;font-weight:700;}

.chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px;}
.chip{font-size:14px;font-weight:600;color:var(--ink-soft);background:#fff;border:1px solid var(--line-strong);padding:9px 18px;border-radius:999px;}
.chip:hover{color:var(--accent-hover);}
.chip.is-active{font-weight:700;color:#fff;background:var(--accent);border-color:var(--accent);}
.chip.is-active:hover{color:#fff;}

/* ============================================================
   8. 글 카드 그리드 (아카이브 / 검색)
   ============================================================ */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px 24px;}
.p-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;color:var(--ink);}
.p-card:hover{color:var(--ink);}
.p-card .p-media{aspect-ratio:16/10;overflow:hidden;}
.p-card .p-media img{width:100%;height:100%;object-fit:cover;}
.p-card .p-body{padding:20px 22px 24px;}
.p-card .p-cat{font-size:12px;font-weight:800;color:var(--accent);}
.p-card h3{font-size:18px;line-height:1.42;margin:9px 0 12px;}
.p-card .p-meta{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-faint);margin-bottom:12px;}
.p-card .p-meta .m-author{font-weight:700;color:var(--accent);}
.p-card .p-excerpt{font-size:13.5px;color:var(--ink-soft);line-height:1.65;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}

.pagination{display:flex;justify-content:center;gap:6px;margin-top:40px;flex-wrap:wrap;}
.pagination .page-numbers{display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 12px;
  border:1px solid var(--line-strong);background:#fff;border-radius:8px;color:var(--ink-soft);font-weight:600;font-size:15px;}
.pagination .page-numbers:hover{border-color:var(--accent-line);color:var(--accent-hover);}
.pagination .page-numbers.current{background:var(--accent);border-color:var(--accent);color:#fff;}

/* ============================================================
   9. 단일 글 / 페이지 (화이트 시트 내부)
   ============================================================ */
.article-crumb{font-size:13.5px;color:var(--ink-faint);margin-bottom:20px;}
.article-crumb a{color:var(--ink-soft);}
.article-crumb .sep{margin:0 7px;color:var(--line-strong);}

.article-header{margin-bottom:26px;}
.article-header .cat-label{font-size:13.5px;font-weight:800;color:var(--accent);}
.article-header h1{font-size:32px;line-height:1.3;margin:12px 0 16px;letter-spacing:-.025em;}
.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:14px;color:var(--ink-faint);}
.article-meta .author{color:var(--ink-soft);font-weight:600;}
.article-meta .updated{color:var(--accent);font-weight:600;}

.featured{margin:0 0 32px;border-radius:14px;overflow:hidden;border:1px solid var(--line);}
.featured img{width:100%;}
.featured figcaption{font-size:13px;color:var(--ink-faint);padding:8px 2px 0;}

.page-head h1{font-size:32px;letter-spacing:-.025em;margin:0 0 10px;}
.page-head .lead{font-size:17px;color:var(--ink-soft);margin:0;}

/* 본문 타이포 */
.article-body{font-size:17.5px;line-height:1.85;color:var(--ink);}
.article-body>h2{font-size:24px;margin:2.1em 0 .7em;scroll-margin-top:84px;}
.article-body>h3{font-size:20px;margin:1.6em 0 .5em;}
.article-body p{margin:0 0 1.25em;}
.article-body ul,.article-body ol{margin:0 0 1.4em;padding-left:1.3em;}
.article-body li{margin:.5em 0;}
.article-body a{text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--accent-line);}
.article-body img{border-radius:12px;margin:1.6em 0;}
.article-body blockquote{margin:1.6em 0;padding:4px 0 4px 20px;border-left:3px solid var(--accent);color:var(--ink-soft);}
.article-body blockquote p:last-child{margin-bottom:0;}
.article-body figure{margin:1.6em 0;}
.article-body figcaption{font-size:13.5px;color:var(--ink-faint);text-align:center;margin-top:8px;}
.article-body code{background:#f5f6f7;padding:2px 6px;border-radius:5px;font-size:.9em;font-family:ui-monospace,Menlo,Consolas,monospace;}
.article-body table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:15.5px;}
.article-body th,.article-body td{border:1px solid var(--line);padding:11px 14px;text-align:left;vertical-align:top;}
.article-body thead th{background:var(--accent-weak);font-weight:700;}
.article-body tbody tr:nth-child(even){background:var(--surface-2);}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.callout{margin:1.8em 0;padding:18px 20px;background:var(--accent-weak);border:1px solid var(--accent-line);border-radius:12px;font-size:16px;}
.callout p:last-child{margin-bottom:0;}
.callout strong{color:var(--accent-hover);}

/* FAQ 임베드 블록 (AEO/GEO 핵심) */
.nsia-faq{margin:48px 0 8px;padding:30px 0 4px;border-top:2px solid var(--line);}
.nsia-faq>.faq-title{font-size:22px;margin:0 0 16px;display:flex;align-items:center;gap:9px;font-weight:700;}
.nsia-faq>.faq-title::before{content:"Q&A";font-size:12px;font-weight:800;color:#fff;background:var(--accent);padding:3px 9px;border-radius:6px;letter-spacing:.03em;}
.nsia-faq .faq-item{padding:20px 0;border-bottom:1px solid var(--line);}
.nsia-faq .faq-item:last-child{border-bottom:0;}
.nsia-faq h2{font-size:18.5px;line-height:1.5;margin:0 0 9px;display:flex;gap:10px;align-items:flex-start;scroll-margin-top:84px;}
.nsia-faq h2::before{content:"Q";flex-shrink:0;color:var(--accent);font-weight:800;}
.nsia-faq p{font-size:16px;color:var(--ink-soft);margin:0;padding-left:26px;line-height:1.72;}

/* 태그 · 저자 박스 · 관련글 */
.post-tags{margin-top:28px;font-size:14px;color:var(--ink-faint);}
.post-tags a{color:var(--ink-faint);}
.author-box{display:flex;gap:16px;align-items:flex-start;margin:40px 0 0;padding:22px;background:var(--surface-2);border:1px solid var(--line);border-radius:14px;}
.author-box .avatar{width:46px;height:46px;border-radius:50%;background:var(--accent-weak);flex-shrink:0;display:grid;place-items:center;color:var(--accent);font-weight:800;}
.author-box .a-name{font-weight:700;font-size:15.5px;}
.author-box .a-desc{font-size:14px;color:var(--ink-soft);margin:3px 0 0;}
.related{margin:44px 0 0;}
.related h2{font-size:20px;margin:0 0 12px;}
.related ul{list-style:none;}
.related li{border-bottom:1px solid var(--line);}
.related a{display:block;padding:14px 2px;color:var(--ink);font-weight:600;font-size:16px;}
.related a:hover{color:var(--accent);}
.related .r-cat{font-size:12px;color:var(--accent);font-weight:700;margin-right:8px;}

.btn{display:inline-flex;align-items:center;gap:7px;padding:11px 20px;border-radius:9px;background:var(--accent);color:#fff;font-weight:700;font-size:15.5px;border:0;cursor:pointer;}
.btn:hover{background:var(--accent-hover);color:#fff;}

/* ============================================================
   10. 푸터
   ============================================================ */
.site-footer{background:var(--navy);color:var(--navy-soft);}
.footer-top{max-width:var(--wrap);margin:0 auto;padding:44px 24px 36px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;}
.footer-top .f-brand{font-size:20px;font-weight:800;color:#fff;}
.footer-top .f-brand .dot{color:#4bbd86;}
.footer-top p{font-size:14px;line-height:1.7;margin-top:12px;max-width:300px;}
.footer-col h4{font-size:12px;letter-spacing:.06em;color:var(--navy-faint);text-transform:uppercase;margin-bottom:14px;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px;font-size:14.5px;}
.footer-col a{color:var(--navy-soft);}
.footer-col a:hover{color:#fff;}
.footer-bottom-wrap{border-top:1px solid rgba(255,255,255,.1);}
.footer-bottom{max-width:var(--wrap);margin:0 auto;padding:18px 24px;display:flex;justify-content:space-between;font-size:12.5px;color:var(--navy-faint);flex-wrap:wrap;gap:8px;}

/* ============================================================
   11. 반응형
   ============================================================ */
@media (max-width:1000px){
  .card-grid{grid-template-columns:repeat(2,1fr);}
  .footer-top{grid-template-columns:1fr 1fr;}
  .footer-top>div:first-child{grid-column:1 / -1;}
}
@media (max-width:820px){
  .sheet{padding:32px 24px 36px;}
  .home-hero-grid{grid-template-columns:1fr;gap:24px;}
  .home-hero .hero-media{order:-1;}
  .bento{grid-template-columns:1fr;grid-template-areas:'a' 'b' 'c' 'd';}
  .latest-grid{grid-template-columns:1fr;gap:0;}
  .cat-band-row{flex-direction:column;align-items:flex-start;gap:12px;}
}
@media (max-width:680px){
  body{line-height:1.68;}
  .topbar-links{gap:14px;}
  .gnb{display:none;position:absolute;top:66px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow-hover);}
  .gnb.open{display:block;}
  .gnb ul{flex-direction:column;padding:8px;gap:0;}
  .gnb a{padding:13px 14px;font-size:16px;}
  .nav-toggle{display:block;}
  .hsearch{display:none;}
  .page{padding:24px 14px;}
  .sheet{padding:26px 18px 30px;border-radius:14px;}
  .hero-title{font-size:28px;}
  .cell-split,.cell-wide{grid-template-columns:1fr;}
  .cell-split .c-media,.cell-wide .c-media{aspect-ratio:16/9;}
  .card-grid{grid-template-columns:1fr;}
  .article-header h1{font-size:26px;}
  .article-body{font-size:17px;}
  .cat-band h1{font-size:27px;}
}
