/* 장기 도우미 — 공통 스타일 (콘텐츠 사이트) */
:root{
  --bg:#f7f4ee; --surface:#ffffff; --ink:#23201b; --muted:#6b6256;
  --line:#e4ddd0; --accent:#9c4a2f; --accent2:#2f6b4a; --board:#d9b27c;
  --red:#b6432c; --blue:#2b5d86; --maxw:880px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:"Pretendard","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;
  line-height:1.75; font-size:17px; -webkit-text-size-adjust:100%;
}
a{color:var(--accent); text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%}

/* ---- 헤더 ---- */
.site-header{
  position:sticky; top:0; z-index:50; background:rgba(255,255,255,.92);
  backdrop-filter:blur(6px); border-bottom:1px solid var(--line);
}
.nav{
  max-width:var(--maxw); margin:0 auto; padding:10px 18px;
  display:flex; align-items:center; gap:18px; flex-wrap:wrap;
}
.brand{font-weight:800; font-size:19px; color:var(--ink); white-space:nowrap}
.brand span{color:var(--accent)}
.nav-links{display:flex; gap:16px; flex-wrap:wrap; font-size:15px}
.nav-links a{color:var(--muted); font-weight:600}
.nav-links a:hover{color:var(--accent)}
.nav-cta{margin-left:auto}
.btn{
  display:inline-block; background:var(--accent); color:#fff; font-weight:700;
  padding:9px 18px; border-radius:9px; font-size:15px;
}
.btn:hover{background:#83391f; text-decoration:none}
.btn.alt{background:var(--accent2)}
.btn.alt:hover{background:#235236}

/* ---- 레이아웃 ---- */
main{max-width:var(--maxw); margin:0 auto; padding:28px 18px 60px}
.hero{
  text-align:center; padding:46px 18px 34px;
  background:linear-gradient(180deg,#fbf7ef,#f4ece0);
  border-bottom:1px solid var(--line);
}
.hero h1{font-size:34px; margin:0 0 12px; letter-spacing:-.5px}
.hero p{font-size:18px; color:var(--muted); max-width:620px; margin:0 auto 22px}
.hero .btn{font-size:17px; padding:12px 26px}

h1,h2,h3{line-height:1.35; letter-spacing:-.3px}
h1{font-size:30px; margin:.2em 0 .5em}
h2{font-size:23px; margin:1.6em 0 .5em; padding-top:.3em; border-top:1px solid var(--line)}
h2:first-of-type{border-top:none}
h3{font-size:19px; margin:1.3em 0 .4em; color:#3a342b}
p{margin:.7em 0}
ul,ol{padding-left:1.3em}
li{margin:.3em 0}
blockquote{
  margin:1em 0; padding:.6em 1em; border-left:4px solid var(--accent);
  background:#fbf3ee; color:#5a4a40; border-radius:0 8px 8px 0;
}
code{background:#f0ebe1; padding:.1em .4em; border-radius:5px; font-size:.92em}
hr{border:none; border-top:1px solid var(--line); margin:2em 0}

/* 카드/그리드 */
.cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin:22px 0}
.card{
  background:var(--surface); border:1px solid var(--line); border-radius:14px;
  padding:20px; transition:transform .12s,box-shadow .12s;
}
.card:hover{transform:translateY(-3px); box-shadow:0 8px 24px rgba(0,0,0,.07)}
.card h3{margin:.1em 0 .3em}
.card p{color:var(--muted); font-size:15px; margin:.2em 0}
.card a.more{font-weight:700; font-size:14px; display:inline-block; margin-top:10px}

/* 표 */
table{border-collapse:collapse; width:100%; margin:1em 0; font-size:15px}
th,td{border:1px solid var(--line); padding:8px 12px; text-align:left}
th{background:#f3ece0}

/* 안내 박스 */
.note{
  background:#eef5ef; border:1px solid #cfe3d4; border-radius:10px;
  padding:12px 16px; margin:1.2em 0; font-size:15px;
}
.note.warn{background:#fbf0ea; border-color:#eccaba}

/* 광고 슬롯 (애드센스 승인 후 코드 삽입) */
.ad-slot{
  margin:26px auto; max-width:728px; min-height:90px;
  display:flex; align-items:center; justify-content:center;
  border:1px dashed var(--line); border-radius:10px;
  color:#b7ab98; font-size:13px; background:#faf7f1;
}
.ad-label{font-size:11px; color:#b7ab98; text-align:center; margin:2px 0 0}

/* 빵부스러기 */
.breadcrumb{font-size:13px; color:var(--muted); margin-bottom:4px}
.breadcrumb a{color:var(--muted)}
.post-meta{color:var(--muted); font-size:14px; margin:-.3em 0 1.2em}

/* ---- 푸터 ---- */
.site-footer{
  border-top:1px solid var(--line); background:#f1ebe0; color:var(--muted);
  font-size:14px; padding:30px 18px;
}
.footer-inner{max-width:var(--maxw); margin:0 auto; display:flex; flex-wrap:wrap; gap:10px 26px}
.footer-inner a{color:var(--muted)}
.footer-inner a:hover{color:var(--accent)}
.footer-credit{flex-basis:100%; margin-top:14px; font-size:12px; color:#9a8f7f; line-height:1.6}

@media (max-width:640px){
  body{font-size:16px}
  .hero h1{font-size:27px}
  .nav{gap:10px}
  .nav-links{gap:12px; font-size:14px}
  .nav-cta{margin-left:0; flex-basis:100%}
  .nav-cta .btn{display:block; text-align:center}
}
