/* toss-feed:v1 — GeneratePress 사이트군 토스피드 스타일 (GCS hosted) */
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.css");

:root{
  --tf-bg:#ffffff; --tf-text:#191f28; --tf-sub:#4e5968; --tf-muted:#8b95a1;
  --tf-line:#f2f4f6; --tf-line2:#e5e8eb; --tf-accent:#3182f6;
  --tf-head:#333d4b;               /* 토스 헤딩 색(부드러운 먹) */
  --tf-radius:16px; --tf-radius-sm:12px;
  --tf-content:720px; --tf-list:1024px;
  --tf-font:"Pretendard",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",
            "Malgun Gothic","맑은 고딕",system-ui,sans-serif;
}

/* 전역 타이포 — 콘텐츠 영역 중심(광고/헤더 위젯은 폰트만 상속) */
body{
  font-family:var(--tf-font);
  color:var(--tf-text);
  background:var(--tf-bg);
  -webkit-font-smoothing:antialiased;
  letter-spacing:-0.01em;
}
body a{ color:var(--tf-accent); text-decoration:none; }
body a:hover{ text-decoration:underline; }

/* 사이트 컨테이너 폭·여백 정리 */
.site-content{ padding-top:8px; }

/* ===== 개별 글 ===== */
.single .inside-article{ max-width:var(--tf-content); margin:0 auto; padding:0 20px; }

/* 대표이미지(있을 때만) — 상단 히어로. 폭 제한(≤640) + 16:9로 업스케일 흐림 방지·선명 유지 */
.single .inside-article > .post-image{ margin:0 0 28px; text-align:center; }
.single .inside-article > .post-image img{
  width:100%; max-width:640px; aspect-ratio:16/9; height:auto; object-fit:cover;
  border-radius:var(--tf-radius); display:inline-block; vertical-align:top;
}

.single .entry-header{ margin:8px 0 20px; border:0; padding:0; }
.single .entry-title{
  font-size:34px; line-height:1.34; font-weight:700; letter-spacing:-0.02em;
  color:var(--tf-head); margin:0 0 14px;
}
.single .entry-header .entry-meta{
  font-size:14px; color:var(--tf-muted); display:flex; gap:10px; flex-wrap:wrap;
}
.single .entry-header .entry-meta a{ color:var(--tf-muted); }

/* 본문 */
.single .entry-content{ font-size:17px; line-height:1.85; color:var(--tf-text); }
.single .entry-content > *{ margin:0 0 20px; }
.single .entry-content h2{
  font-size:24px; font-weight:700; letter-spacing:-0.02em; line-height:1.4;
  color:var(--tf-head); margin:44px 0 14px;
}
.single .entry-content h3{ font-size:19px; font-weight:700; color:var(--tf-head); margin:32px 0 10px; }
.single .entry-content ul,.single .entry-content ol{ padding-left:22px; }
.single .entry-content li{ margin:0 0 8px; }
.single .entry-content blockquote{
  margin:24px 0; padding:16px 20px; background:var(--tf-line);
  border-radius:var(--tf-radius-sm); border-left:3px solid var(--tf-accent); color:var(--tf-sub);
}
.single .entry-content img{ max-width:100%; height:auto; border-radius:var(--tf-radius-sm); }
.single .entry-content a{ text-decoration:underline; text-underline-offset:2px; }

/* 하단 카테고리/네비 */
.single .entry-meta .cat-links{
  display:inline-flex; align-items:center; gap:6px; font-size:13px;
  color:var(--tf-sub); background:var(--tf-line); padding:6px 12px; border-radius:999px;
}
.single .entry-meta .cat-links a{ color:var(--tf-sub); }
.single footer.entry-meta{ margin-top:36px; padding-top:24px; border-top:1px solid var(--tf-line2); }

/* 댓글 영역 정리 */
.single .comments-area{ max-width:var(--tf-content); margin:48px auto 0; padding:0 20px; }
.single #respond input[type=text],.single #respond input[type=email],
.single #respond input[type=url],.single #respond textarea{
  border:1px solid var(--tf-line2); border-radius:var(--tf-radius-sm); padding:12px 14px;
  font-family:var(--tf-font); width:100%;
}
.single #respond .submit,.single .comment-form input[type=submit]{
  background:var(--tf-accent); color:#fff; border:0; border-radius:999px;
  padding:12px 24px; font-weight:700; cursor:pointer;
}

/* ===== 목록(아카이브/블로그/카테고리) ===== */
body.blog .site-main,body.archive .site-main{ max-width:var(--tf-list); margin:0 auto; padding:0 20px; }

body.blog article.post,body.archive article.post{
  border:0 !important; box-shadow:none !important; background:transparent !important;
  margin:0 !important; border-bottom:1px solid var(--tf-line2) !important;
}
body.blog article.post .inside-article,body.archive article.post .inside-article{
  display:grid; grid-template-columns:1fr 200px; gap:6px 24px; align-items:start;
  padding:28px 0;
}
/* 파스텔 썸네일 플레이스홀더(대표이미지 없을 때) — nth로 색 변주 */
body.blog article.post .inside-article::before,body.archive article.post .inside-article::before{
  content:""; grid-column:2; grid-row:1 / span 5; width:200px; aspect-ratio:16/9; align-self:start;
  border-radius:var(--tf-radius-sm); background:linear-gradient(135deg,#dbeafe,#eff6ff);
}
body.blog article.post:nth-child(4n+2) .inside-article::before,
body.archive article.post:nth-child(4n+2) .inside-article::before{ background:linear-gradient(135deg,#fde2ec,#fff1f6); }
body.blog article.post:nth-child(4n+3) .inside-article::before,
body.archive article.post:nth-child(4n+3) .inside-article::before{ background:linear-gradient(135deg,#d9f5e3,#effdf4); }
body.blog article.post:nth-child(4n) .inside-article::before,
body.archive article.post:nth-child(4n) .inside-article::before{ background:linear-gradient(135deg,#fdeec8,#fff8e8); }
body.blog article.post .inside-article:has(.post-image)::before,
body.archive article.post .inside-article:has(.post-image)::before{ display:none; }
/* 대표이미지 있는 글: 우측 썸네일 칼럼 */
body.blog article.post .post-image,body.archive article.post .post-image{
  grid-column:2; grid-row:1 / span 5; margin:0;
}
body.blog article.post .post-image img,body.archive article.post .post-image img{
  width:200px; aspect-ratio:16/9; height:auto; object-fit:cover;
  border-radius:var(--tf-radius-sm); display:block;
}
body.blog .entry-header,body.archive .entry-header{ margin:0; border:0; padding:0; grid-column:1; }
body.blog .entry-title,body.archive .entry-title{
  font-size:23px; font-weight:700; line-height:1.4; letter-spacing:-0.02em; margin:0 0 8px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
body.blog .entry-title a,body.archive .entry-title a{ color:var(--tf-head); }
body.blog .entry-title a:hover,body.archive .entry-title a:hover{ text-decoration:none; color:var(--tf-accent); }
/* 토스 스타일: 발췌는 짧은 한 줄 후킹만 */
body.blog .entry-summary,body.archive .entry-summary{
  grid-column:1; font-size:15px; line-height:1.6; color:var(--tf-sub); margin:0 0 10px;
  display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden;
}
/* 날짜만 남기고 작성자·댓글수 노이즈 제거 */
body.blog .byline,body.archive .byline,
body.blog .comments-link,body.archive .comments-link{ display:none; }
body.blog .entry-header .entry-meta,body.archive .entry-header .entry-meta{
  font-size:13px; color:var(--tf-muted); margin:8px 0 0; order:1;
}
/* 카테고리 라벨을 제목 위로(토스처럼) */
body.blog footer.entry-meta,body.archive footer.entry-meta{
  grid-column:1; order:-1; margin:0 0 8px; font-size:13px; color:var(--tf-muted);
  display:flex; gap:10px; align-items:center; flex-wrap:wrap;
}
body.blog footer.entry-meta .cat-links,body.archive footer.entry-meta .cat-links{
  font-size:12px; color:var(--tf-sub); background:var(--tf-line);
  padding:4px 10px; border-radius:999px; display:inline-flex; gap:4px; align-items:center;
}
body.blog footer.entry-meta a,body.archive footer.entry-meta a{ color:var(--tf-sub); }

/* ===== 홈(정적 Page) ===== */
body.home .inside-article{ max-width:var(--tf-list); margin:0 auto; padding:0 20px; }

/* 히어로 SVG 배경 순화(파랑 제거, 중앙 타이틀 유지) */
body.home .entry-content > svg{ display:none; }
body.home .wp-block-heading.has-text-align-center{
  font-size:42px; font-weight:700; letter-spacing:-0.03em; margin:16px 0 12px; color:var(--tf-head);
}
body.home p.has-text-align-center{ color:var(--tf-sub); font-size:17px; line-height:1.7; }

/* 버튼 pill */
.wp-block-button__link{
  background:var(--tf-accent); color:#fff; border-radius:999px;
  padding:14px 28px; font-weight:700; box-shadow:none;
}

/* 섹션 헤딩 */
body.home h2.wp-block-heading{ font-size:28px; font-weight:700; letter-spacing:-0.02em; color:var(--tf-head); margin:56px 0 20px; }

/* 최신 글 카드 그리드 */
.wp-block-latest-posts__list.is-grid{
  gap:20px !important; margin:0; list-style:none;
}
.wp-block-latest-posts__list.is-grid > li{
  background:var(--tf-bg); border:1px solid var(--tf-line2); border-radius:var(--tf-radius);
  padding:22px; margin:0; transition:transform .15s ease, box-shadow .15s ease;
  display:flex; flex-direction:column; gap:8px;
}
.wp-block-latest-posts__list.is-grid > li:hover{
  transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,.06);
}
/* 파스텔 썸네일 플레이스홀더(대표이미지 없을 때) — nth로 색 변주. 실이미지 들어오면 숨김 */
.wp-block-latest-posts__list.is-grid > li::before{
  content:""; display:block; width:calc(100% + 44px); aspect-ratio:16/9;
  margin:-22px -22px 10px; order:-2;
  border-radius:var(--tf-radius) var(--tf-radius) 0 0;
  background:linear-gradient(135deg,#dbeafe,#eff6ff);
}
.wp-block-latest-posts__list.is-grid > li:nth-child(4n+2)::before{ background:linear-gradient(135deg,#fde2ec,#fff1f6); }
.wp-block-latest-posts__list.is-grid > li:nth-child(4n+3)::before{ background:linear-gradient(135deg,#d9f5e3,#effdf4); }
.wp-block-latest-posts__list.is-grid > li:nth-child(4n)::before{ background:linear-gradient(135deg,#fdeec8,#fff8e8); }
.wp-block-latest-posts__list.is-grid > li:has(.wp-block-latest-posts__featured-image)::before{ display:none; }
/* 대표이미지(블록에서 켜면) 상단 썸네일 */
.wp-block-latest-posts__featured-image{ margin:-22px -22px 10px; order:-1; }
.wp-block-latest-posts__featured-image img{
  width:100%; aspect-ratio:16/9; height:auto; object-fit:cover;
  border-radius:var(--tf-radius) var(--tf-radius) 0 0; display:block;
}
.wp-block-latest-posts__post-title{
  font-size:19px; font-weight:700; line-height:1.4; letter-spacing:-0.02em;
  color:var(--tf-head) !important;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.wp-block-latest-posts__post-title:hover{ color:var(--tf-accent) !important; }
.wp-block-latest-posts__post-date{ font-size:13px; color:var(--tf-muted); order:2; }
/* 토스 스타일: 카드에 긴 발췌는 빼고 썸네일+제목+날짜만(후킹) */
.wp-block-latest-posts__post-excerpt{ display:none !important; }

/* ===== 페이지네이션 (GeneratePress .paging-navigation / .page-numbers) ===== */
.pagination,nav.paging-navigation,.paging-navigation .nav-links{
  display:flex; justify-content:center; align-items:center; gap:8px; margin:40px 0; padding:0;
}
.paging-navigation{ flex-wrap:wrap; }
.page-numbers,.pagination a,.pagination .current{
  min-width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:12px; font-size:14px; font-weight:600; padding:0 12px;
  background:var(--tf-line); color:var(--tf-sub); text-decoration:none;
}
.page-numbers.current,.pagination .current{ background:var(--tf-accent); color:#fff; }
.page-numbers.dots{ background:transparent; color:var(--tf-muted); min-width:auto; padding:0 4px; }
a.page-numbers:hover,.pagination a:hover{ background:var(--tf-line2); text-decoration:none; }
.paging-navigation .nav-previous,.paging-navigation .nav-next{ display:inline-flex; }
.paging-navigation .nav-previous a,.paging-navigation .nav-next a{ color:var(--tf-sub); }

/* ===== 반응형 ===== */
@media (max-width:900px){
  .wp-block-latest-posts__list.is-grid.columns-2{ grid-template-columns:1fr 1fr !important; }
}
@media (max-width:640px){
  .single .entry-title{ font-size:27px; }
  body.home .wp-block-heading.has-text-align-center{ font-size:30px; }
  body.blog article.post .inside-article,body.archive article.post .inside-article{
    grid-template-columns:1fr !important;
  }
  body.blog article.post .inside-article::before,body.archive article.post .inside-article::before{
    grid-column:1 !important; grid-row:auto !important; order:-2;
    width:100% !important; aspect-ratio:16/9; height:auto; margin-bottom:8px;
  }
  body.blog article.post .post-image,body.archive article.post .post-image{ grid-column:1 !important; }
  body.blog article.post .post-image img,body.archive article.post .post-image img{
    width:100%; aspect-ratio:16/9; height:auto;
  }
  .wp-block-latest-posts__list.is-grid{ grid-template-columns:1fr !important; }
  .single .entry-content{ font-size:16px; }
}
