/*
Theme Name: 282정보연구소
Theme URI: https://282info.com
Author: 282정보연구소
Description: 생활·창업·정부지원금·IT·AI·비즈니스·재테크 정보를 연구하고 정리하는 282정보연구소 전용 테마.
Version: 1.0
Text Domain: info282
*/

:root{
  --primary:#2E7D32;
  --primary-dark:#1B5E20;
  --secondary:#4CAF50;
  --accent:#FF9800;
  --bg:#FFFFFF;
  --section-bg:#F5F5F5;
  --ink:#1A1A1A;
  --ink-soft:#4A4A47;
  --paper-line:#D7DDD5;
  --card-bg:#FFFFFF;
  --tag-life:#2E7D32;
  --tag-startup:#8D6E63;
  --tag-gov:#1565C0;
  --tag-it:#5E35B1;
  --tag-biz:#6A4C93;
  --tag-fin:#B7791F;
  --tag-calc:#00838F;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family:'Noto Sans KR', sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
}
a{color:inherit;}
img{max-width:100%; display:block;}
.wrap{max-width:1180px; margin:0 auto; padding:0 24px;}

/* ===== Header ===== */
.site-header{border-bottom:1px solid var(--paper-line); background:var(--bg); position:sticky; top:0; z-index:50;}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding:16px 24px; max-width:1180px; margin:0 auto; gap:24px;}
.logo{font-family:'Noto Serif KR', serif; font-weight:700; font-size:20px; color:var(--primary-dark); text-decoration:none; flex:0 0 auto;}
.main-nav{display:flex; gap:26px; flex:1; justify-content:center;}
.main-nav ul{display:flex; gap:26px; list-style:none; margin:0; padding:0;}
.main-nav a{color:var(--ink); text-decoration:none; font-size:14px; font-weight:500; position:relative; padding-bottom:4px;}
.main-nav .current-menu-item > a,
.main-nav a.active{color:var(--primary-dark);}
.main-nav .current-menu-item > a::after,
.main-nav a.active::after{content:""; position:absolute; bottom:-2px; left:0; right:0; height:2px; background:var(--primary);}
.header-actions{display:flex; align-items:center; gap:14px; flex:0 0 auto;}
.search-box{display:flex; align-items:center; gap:6px; border:1px solid var(--paper-line); border-radius:6px; padding:7px 12px; font-size:13px; color:var(--ink-soft); width:160px; background:transparent;}
.search-box input{border:none; outline:none; background:transparent; font-size:13px; width:100%; font-family:inherit;}
.contact-btn{background:var(--primary); color:#fff; border:none; padding:9px 18px; border-radius:6px; font-size:13.5px; font-weight:500; cursor:pointer; text-decoration:none; display:inline-block;}
.menu-toggle{display:none; background:none; border:none; font-size:22px; cursor:pointer; color:var(--ink);}

/* ===== Hero ===== */
.hero{background:var(--section-bg); border-bottom:1px solid var(--paper-line);}
.hero-inner{max-width:880px; margin:0 auto; padding:60px 24px 48px; text-align:center;}
.hero-eyebrow{font-family:'JetBrains Mono', monospace; font-size:12.5px; letter-spacing:0.08em; color:var(--primary-dark); text-transform:uppercase; display:inline-flex; align-items:center; gap:8px; margin-bottom:18px;}
.hero-eyebrow::before, .hero-eyebrow::after{content:""; width:18px; height:1px; background:var(--primary-dark);}
.hero h1{font-family:'Noto Serif KR', serif; font-weight:700; font-size:38px; line-height:1.35; color:var(--ink); margin:0 0 14px;}
.hero h1 .accent{color:var(--primary-dark);}
.hero p.sub{font-size:16px; color:var(--ink-soft); margin:0 0 26px; font-weight:500;}
.hero-buttons{display:flex; gap:12px; justify-content:center;}
.btn-primary{background:var(--primary); color:#fff; border:none; padding:13px 26px; border-radius:6px; font-size:14.5px; font-weight:500; cursor:pointer; text-decoration:none; display:inline-block;}
.btn-outline{background:transparent; color:var(--primary-dark); border:1px solid var(--primary-dark); padding:13px 26px; border-radius:6px; font-size:14.5px; font-weight:500; cursor:pointer; text-decoration:none; display:inline-block;}

/* ===== Section head ===== */
.section-head{display:flex; align-items:baseline; justify-content:space-between; margin-bottom:18px;}
.section-head .label-group{display:flex; align-items:center; gap:10px;}
.section-head .idx-no{font-family:'JetBrains Mono', monospace; font-size:12px; color:var(--secondary); border:1px solid var(--secondary); padding:1px 6px; border-radius:3px;}
.section-head h2{font-family:'Noto Serif KR', serif; font-weight:700; font-size:20px; color:var(--ink); margin:0;}
.section-head a.more{font-size:13px; color:var(--primary-dark); text-decoration:none; font-weight:500;}

/* ===== Trending (5 cards) ===== */
.trending{padding:40px 0 8px;}
.trend-grid{display:grid; grid-template-columns:repeat(5, 1fr); gap:14px;}
.trend-card{border:1px solid var(--paper-line); border-radius:6px; padding:14px 14px 12px; position:relative; text-decoration:none; display:block; background:var(--card-bg);}
.trend-card .rank{font-family:'JetBrains Mono', monospace; font-weight:500; font-size:12px; color:#fff; background:var(--accent); border-radius:50%; width:20px; height:20px; display:flex; align-items:center; justify-content:center; margin-bottom:10px;}
.trend-card .cat-label{font-family:'JetBrains Mono', monospace; font-size:10px; text-transform:uppercase; letter-spacing:0.03em; font-weight:500; margin-bottom:6px;}
.trend-card h4{font-size:13px; font-weight:500; line-height:1.45; color:var(--ink); margin:0;}

/* ===== Category sections ===== */
.cat-section{padding:34px 0; border-bottom:1px solid var(--paper-line);}
.cat-section.alt{background:var(--section-bg);}
.cat-icon{font-family:'JetBrains Mono', monospace; font-size:13px; width:26px; height:26px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:#fff; font-weight:500;}

.card-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:18px;}
.post-card{background:var(--card-bg); border:1px solid var(--paper-line); border-radius:6px; overflow:hidden; position:relative; padding-left:14px; text-decoration:none; display:block; color:inherit;}
.post-card::before{content:""; position:absolute; left:0; top:0; bottom:0; width:4px;}
.post-card-inner{padding:16px 16px 16px 4px;}
.post-card .tag{font-family:'JetBrains Mono', monospace; font-size:10.5px; font-weight:500; letter-spacing:0.03em; text-transform:uppercase; margin-bottom:10px; display:inline-block; padding:2px 8px; border-radius:3px;}
.post-card h3{font-size:14.5px; font-weight:500; line-height:1.45; color:var(--ink); margin:0 0 10px; min-height:42px;}
.post-card .excerpt{font-size:12px; color:var(--ink-soft); line-height:1.6; margin:0 0 12px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.post-card .footer-meta{display:flex; justify-content:space-between; font-size:11px; color:#9a9a96; font-family:'JetBrains Mono', monospace; border-top:1px dashed var(--paper-line); padding-top:10px;}
.empty-note{font-size:13px; color:var(--ink-soft); padding:24px 0;}

.life::before, .life .tag, .life-icon{background:var(--tag-life);} .life .tag{color:#fff;}
.startup::before, .startup .tag, .startup-icon{background:var(--tag-startup);} .startup .tag{color:#fff;}
.gov::before, .gov .tag, .gov-icon{background:var(--tag-gov);} .gov .tag{color:#fff;}
.it::before, .it .tag, .it-icon{background:var(--tag-it);} .it .tag{color:#fff;}
.biz::before, .biz .tag, .biz-icon{background:var(--tag-biz);} .biz .tag{color:#fff;}
.fin::before, .fin .tag, .fin-icon{background:var(--tag-fin);} .fin .tag{color:#fff;}
.calc::before, .calc .tag, .calc-icon{background:var(--tag-calc);} .calc .tag{color:#fff;}

/* ===== Newsletter ===== */
.newsletter{margin:52px auto; max-width:1180px; padding:0 24px;}
.newsletter-box{
  border:1px solid var(--paper-line); border-radius:8px;
  background:repeating-linear-gradient(var(--bg), var(--bg) 27px, var(--paper-line) 28px);
  background-size:100% 28px; padding:34px 40px;
  display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap;
}
.newsletter-box .nl-text h3{font-family:'Noto Serif KR', serif; font-size:18px; font-weight:700; margin:0 0 6px;}
.newsletter-box .nl-text p{font-size:13px; color:var(--ink-soft); margin:0;}
.nl-form{display:flex; gap:8px; flex:0 0 340px;}
.nl-form input{flex:1; border:1px solid var(--paper-line); border-radius:6px; padding:11px 14px; font-size:13px; background:#fff; font-family:inherit;}
.nl-form button{background:var(--primary); color:#fff; border:none; border-radius:6px; padding:11px 18px; font-size:13px; font-weight:500; white-space:nowrap; cursor:pointer;}

/* ===== Footer ===== */
.site-footer{background:var(--primary-dark); color:#dce8dc; padding:36px 0 22px;}
.footer-inner{max-width:1180px; margin:0 auto; padding:0 24px;}
.footer-top{display:flex; justify-content:space-between; gap:40px; margin-bottom:24px; flex-wrap:wrap;}
.footer-logo{font-family:'Noto Serif KR', serif; font-weight:700; font-size:16px; color:#fff; margin:0 0 8px;}
.footer-desc{font-size:12px; color:#a9c4a9; max-width:280px; line-height:1.6;}
.footer-links{display:flex; gap:44px; flex-wrap:wrap;}
.footer-links .col h4{font-size:12.5px; font-weight:500; color:#fff; margin:0 0 10px;}
.footer-links .col a{display:block; font-size:12px; color:#a9c4a9; text-decoration:none; margin-bottom:7px;}
.footer-bottom{border-top:1px solid #2e5c30; padding-top:16px; font-size:11px; color:#84a584; font-family:'JetBrains Mono', monospace;}

/* ===== Single / archive / page generic content ===== */
.content-wrap{max-width:760px; margin:0 auto; padding:48px 24px;}
.content-wrap h1.entry-title{font-family:'Noto Serif KR', serif; font-size:30px; margin:0 0 12px;}
.entry-meta{font-family:'JetBrains Mono', monospace; font-size:12px; color:var(--ink-soft); margin-bottom:28px;}
.entry-content{font-size:16px; line-height:1.85;}
.entry-content h2{font-family:'Noto Serif KR', serif; font-size:22px; margin:32px 0 14px;}
.entry-content h3{font-size:18px; margin:24px 0 10px;}
.entry-content p{margin:0 0 16px;}
.entry-content ul, .entry-content ol{margin:0 0 16px; padding-left:22px;}
.archive-header{margin-bottom:32px;}
.archive-header .idx-no{font-family:'JetBrains Mono', monospace; font-size:12px; color:var(--secondary); border:1px solid var(--secondary); padding:2px 8px; border-radius:3px; margin-bottom:10px; display:inline-block;}
.archive-header h1{font-family:'Noto Serif KR', serif; font-size:28px; margin:0;}

/* ===== Responsive ===== */
@media (max-width:1024px){
  .card-grid{grid-template-columns:repeat(2, 1fr);}
  .trend-grid{grid-template-columns:repeat(3, 1fr);}
}
@media (max-width:768px){
  .main-nav{display:none;}
  .search-box{display:none;}
  .header-inner{padding:14px 16px;}
  .hero h1{font-size:28px;}
  .trend-grid{grid-template-columns:repeat(2, 1fr);}
  .card-grid{grid-template-columns:1fr;}
  .newsletter-box{flex-direction:column; align-items:flex-start;}
  .nl-form{flex:1 1 100%; width:100%;}
  .footer-top{flex-direction:column;}
}
