/* ==========================================================
   studycafecost.stofarm.com — 공통 디자인 시스템
   8pt 스페이싱 스케일 · 절제된 팔레트 · Pretendard 타이포
   ========================================================== */

:root{
  /* 색상 토큰 */
  --sc-primary:#1E5B4F;        /* 딥 그린 (신뢰감·안정) */
  --sc-primary-dark:#123C34;
  --sc-primary-light:#E8F1EE;
  --sc-accent:#C08A3E;         /* 웜 골드 (포인트) */
  --sc-accent-light:#FBF3E6;
  --sc-ink:#1B1F1D;
  --sc-body:#3F4744;
  --sc-muted:#707B76;
  --sc-line:#E4E8E5;
  --sc-surface:#FFFFFF;
  --sc-surface-alt:#F6F8F6;
  --sc-bg:#FCFDFC;

  /* 스페이싱(8pt) */
  --sp-1:8px; --sp-2:16px; --sp-3:24px; --sp-4:32px; --sp-5:40px;
  --sp-6:48px; --sp-7:64px; --sp-8:80px; --sp-9:96px; --sp-10:120px; --sp-11:140px;

  /* 라운드·그림자 */
  --radius-s:8px; --radius-m:14px; --radius-l:22px; --radius-pill:999px;
  --shadow-s:0 2px 8px rgba(18,60,52,.06);
  --shadow-m:0 8px 24px rgba(18,60,52,.10);
  --shadow-l:0 20px 48px rgba(18,60,52,.14);

  --content-w:800px;
  --wrap-w:1180px;
  --transition:200ms cubic-bezier(.4,0,.2,1);
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}

body.sc-site,
.sc-scope{
  font-family:"Pretendard Variable","Pretendard",-apple-system,BlinkMacSystemFont,"Malgun Gothic",sans-serif;
  color:var(--sc-body);
  background:var(--sc-bg);
  line-height:1.7;
  letter-spacing:-0.01em;
  -webkit-font-smoothing:antialiased;
}

.sc-scope h1,.sc-scope h2,.sc-scope h3,.sc-scope h4{
  font-family:"Pretendard Variable","Pretendard",-apple-system,sans-serif;
  color:var(--sc-ink);
  font-weight:700;
  line-height:1.35;
  letter-spacing:-0.02em;
  margin:0 0 var(--sp-2);
}
.sc-scope h1{font-size:clamp(32px,5vw,52px);}
.sc-scope h2{font-size:clamp(24px,3.2vw,32px); margin-top:var(--sp-5);}
/* 구분선 리듬은 글 본문에서만 — 홈 섹션 헤더에는 적용하지 않는다 */
.sc-scope .entry-content h2{margin-top:var(--sp-8); padding-top:var(--sp-2); border-top:1px solid var(--sc-line);}
.sc-scope .entry-content h2:first-of-type{margin-top:0;border-top:0;padding-top:0;}
.sc-scope h3{font-size:clamp(19px,2.4vw,22px); color:var(--sc-primary-dark); margin-top:var(--sp-5);}
.sc-scope p{margin:0 0 var(--sp-3); font-size:16.5px;}
.sc-scope a{color:var(--sc-primary); text-decoration:underline; text-underline-offset:3px; transition:color var(--transition);}
.sc-scope a:hover{color:var(--sc-accent);}
.sc-scope :focus-visible{outline:3px solid var(--sc-accent); outline-offset:2px; border-radius:4px;}

/* 레이아웃 */
.sc-wrap{max-width:var(--wrap-w); margin:0 auto; padding:0 var(--sp-3);}
.sc-content{max-width:var(--content-w); margin:0 auto; padding:0 var(--sp-3);}
.sc-section{padding:var(--sp-9) 0;}
@media (max-width:640px){
  .sc-section{padding:var(--sp-6) 0;}
  .sc-scope h2{margin-top:var(--sp-6);}
}

/* ---------- 헤더 ---------- */
.sc-header{
  position:sticky; top:0; z-index:100;
  background:rgba(252,253,252,.92); backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--sc-line);
}
.sc-header-inner{display:flex; align-items:center; justify-content:space-between; height:72px; max-width:var(--wrap-w); margin:0 auto; padding:0 var(--sp-3);}
.sc-logo{display:flex; align-items:center; gap:10px; font-weight:800; font-size:18px; color:var(--sc-primary-dark); text-decoration:none; letter-spacing:-0.02em;}
.sc-logo:hover{color:var(--sc-primary-dark);}
.sc-logo-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--sc-primary),var(--sc-primary-dark));display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:800;flex:0 0 auto;}
.sc-nav{display:flex; gap:var(--sp-4); list-style:none; margin:0; padding:0; align-items:center;}
.sc-nav a{color:var(--sc-body); text-decoration:none; font-size:15px; font-weight:600; transition:color var(--transition);}
.sc-nav a:hover{color:var(--sc-primary);}
.sc-nav-toggle{display:none; background:none; border:1px solid var(--sc-line); border-radius:var(--radius-s); width:44px; height:44px; align-items:center; justify-content:center; cursor:pointer;}
@media (max-width:860px){
  .sc-nav{position:fixed; inset:72px 0 0 0; background:var(--sc-surface); flex-direction:column; padding:var(--sp-4); gap:var(--sp-3); transform:translateY(-8px); opacity:0; pointer-events:none; transition:opacity var(--transition), transform var(--transition); overflow-y:auto;}
  .sc-nav.is-open{opacity:1; pointer-events:auto; transform:translateY(0);}
  .sc-nav a{font-size:17px; padding:var(--sp-1) 0; width:100%; display:block; min-height:44px;}
  .sc-nav-toggle{display:flex;}
}

/* ---------- 버튼 ---------- */
.sc-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 26px; border-radius:var(--radius-pill); font-weight:700; font-size:15px;
  text-decoration:none; border:1px solid transparent; cursor:pointer; min-height:44px;
  transition:transform var(--transition), box-shadow var(--transition), background var(--transition), color var(--transition);
}
.sc-btn-primary{background:var(--sc-primary); color:#fff; box-shadow:var(--shadow-s);}
.sc-btn-primary:hover{background:var(--sc-primary-dark); color:#fff; transform:translateY(-1px); box-shadow:var(--shadow-m);}
.sc-btn-ghost{background:var(--sc-surface); color:var(--sc-primary-dark); border-color:var(--sc-line);}
.sc-btn-ghost:hover{border-color:var(--sc-primary); color:var(--sc-primary); text-decoration:none;}

/* ---------- 히어로 ---------- */
.sc-hero{position:relative; overflow:hidden; min-height:78vh; display:flex; align-items:center; color:#fff;}
.sc-hero-bg{position:absolute; inset:0; background-size:cover; background-position:center;}
.sc-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,42,36,.55) 0%,rgba(15,32,28,.78) 60%,rgba(11,24,21,.92) 100%);}
.sc-hero-inner{position:relative; z-index:1; max-width:var(--wrap-w); margin:0 auto; padding:var(--sp-9) var(--sp-3);}
.sc-eyebrow{display:inline-block; font-size:13px; font-weight:700; letter-spacing:.04em; padding:8px 16px; border-radius:var(--radius-pill); background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.28); margin-bottom:var(--sp-3);}
.sc-hero h1{color:#fff; margin-bottom:var(--sp-3); max-width:820px;}
.sc-hero p.sc-lead{font-size:19px; color:rgba(255,255,255,.86); max-width:620px; margin-bottom:var(--sp-5); line-height:1.7;}
.sc-hero-actions{display:flex; gap:var(--sp-2); flex-wrap:wrap;}
.sc-hero-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--sp-3); margin-top:var(--sp-8); max-width:640px;}
.sc-hero-stat b{display:block; font-size:26px; font-weight:800;}
.sc-hero-stat span{font-size:13px; color:rgba(255,255,255,.72);}
@media (max-width:640px){.sc-hero-stats{grid-template-columns:1fr 1fr;}}

/* ---------- 카드 ---------- */
.sc-card{background:var(--sc-surface); border:1px solid var(--sc-line); border-radius:var(--radius-l); overflow:hidden; box-shadow:var(--shadow-s); transition:transform var(--transition), box-shadow var(--transition);}
.sc-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-m);}
.sc-card-img{aspect-ratio:4/3; width:100%; object-fit:cover; display:block; background:var(--sc-surface-alt);}
.sc-card-body{padding:var(--sp-3);}
.sc-card-cat{font-size:12px; font-weight:700; color:var(--sc-primary); text-transform:uppercase; letter-spacing:.04em;}
.sc-card-title{font-size:17px; font-weight:700; color:var(--sc-ink); margin:6px 0 8px; line-height:1.45;}
.sc-card-desc{font-size:14px; color:var(--sc-muted); line-height:1.6;}
.sc-card a.sc-card-link{text-decoration:none; color:inherit; display:block;}

/* ---------- 캐러셀 ---------- */
.sc-carousel-track{display:flex; gap:var(--sp-3); overflow-x:auto; scroll-snap-type:x mandatory; padding:8px 4px 20px; -webkit-overflow-scrolling:touch;}
.sc-carousel-track::-webkit-scrollbar{height:6px;}
.sc-carousel-track::-webkit-scrollbar-thumb{background:var(--sc-line); border-radius:99px;}
.sc-carousel-track .sc-card{flex:0 0 280px; scroll-snap-align:start;}
@media (max-width:480px){.sc-carousel-track .sc-card{flex-basis:78vw;}}

/* ---------- 섹션 헤더 ---------- */
.sc-section-head{display:flex; align-items:flex-end; justify-content:space-between; gap:var(--sp-3); margin-bottom:var(--sp-5); flex-wrap:wrap;}
.sc-section-head h2{margin:0; border:none; padding:0;}
.sc-kicker{color:var(--sc-primary); font-weight:700; font-size:13px; letter-spacing:.05em; text-transform:uppercase; margin-bottom:8px; display:block;}

/* ---------- 표 ---------- */
.sc-scope table.sc-table, .sc-scope table{
  width:100%; border-collapse:collapse; margin:var(--sp-4) 0; font-size:15px;
  border:1px solid var(--sc-line); border-radius:var(--radius-m); overflow:hidden;
}
.sc-scope table th, .sc-scope table td{padding:13px 16px; border-bottom:1px solid var(--sc-line); text-align:left;}
.sc-scope table th{background:var(--sc-primary-light); color:var(--sc-primary-dark); font-weight:700; font-size:13.5px;}
.sc-scope table tr:last-child td{border-bottom:none;}
.sc-scope table tr:nth-child(even) td{background:var(--sc-surface-alt);}
.sc-table-wrap{overflow-x:auto; -webkit-overflow-scrolling:touch;}

/* ---------- 리스트 ---------- */
.sc-scope ul, .sc-scope ol{margin:0 0 var(--sp-3); padding-left:22px;}
.sc-scope li{margin-bottom:8px; font-size:16px;}
.sc-check-list{list-style:none; padding-left:0;}
.sc-check-list li{position:relative; padding-left:30px; margin-bottom:10px;}
.sc-check-list li::before{content:"✓"; position:absolute; left:0; top:0; width:20px; height:20px; border-radius:50%; background:var(--sc-primary-light); color:var(--sc-primary); font-size:12px; font-weight:800; display:flex; align-items:center; justify-content:center;}

/* ---------- 콜아웃/인용 ---------- */
.sc-scope blockquote, .sc-callout{
  margin:var(--sp-5) 0; padding:var(--sp-3) var(--sp-4); background:var(--sc-accent-light);
  border-left:4px solid var(--sc-accent); border-radius:0 var(--radius-m) var(--radius-m) 0; font-size:15.5px; color:var(--sc-ink);
}
.sc-callout-info{background:var(--sc-primary-light); border-left-color:var(--sc-primary);}
.sc-scope blockquote p, .sc-callout p{margin:0;}

/* ---------- 요약 박스 / 목차 ---------- */
.sc-summary-box{background:var(--sc-surface-alt); border:1px solid var(--sc-line); border-radius:var(--radius-m); padding:var(--sp-3) var(--sp-4); margin:0 0 var(--sp-5);}
.sc-summary-box h4{margin:0 0 10px; font-size:14px; color:var(--sc-primary-dark); text-transform:uppercase; letter-spacing:.04em;}
.sc-toc{background:var(--sc-surface); border:1px solid var(--sc-line); border-radius:var(--radius-m); padding:var(--sp-3) var(--sp-4); margin:0 0 var(--sp-5);}
.sc-toc h4{margin:0 0 10px; font-size:14px; color:var(--sc-primary-dark);}
.sc-toc ol{margin:0; padding-left:20px; font-size:14.5px;}
.sc-toc li{margin-bottom:6px;}

/* ---------- 차트(CSS 전용) ---------- */
.sc-chart{margin:var(--sp-4) 0; display:flex; flex-direction:column; gap:12px;}
.sc-chart-row{display:grid; grid-template-columns:120px 1fr 64px; align-items:center; gap:12px; font-size:13.5px;}
.sc-chart-label{color:var(--sc-body); font-weight:600;}
.sc-chart-bar-bg{background:var(--sc-surface-alt); border-radius:99px; height:14px; overflow:hidden;}
.sc-chart-bar-fill{height:100%; border-radius:99px; background:linear-gradient(90deg,var(--sc-primary),var(--sc-accent));}
.sc-chart-val{text-align:right; font-weight:700; color:var(--sc-primary-dark);}
@media (max-width:480px){.sc-chart-row{grid-template-columns:80px 1fr 52px; font-size:12px;}}

/* ---------- 이미지 ---------- */
.sc-scope img{max-width:100%; height:auto; border-radius:var(--radius-m); display:block;}
.sc-figure{margin:var(--sp-5) 0;}
.sc-figure img{width:100%; aspect-ratio:16/10; object-fit:cover; box-shadow:var(--shadow-s);}
.sc-figure figcaption{margin-top:10px; font-size:13.5px; color:var(--sc-muted); text-align:center;}

/* ---------- FAQ ---------- */
.sc-faq-item{border-bottom:1px solid var(--sc-line); padding:var(--sp-2) 0;}
.sc-faq-item summary{cursor:pointer; font-weight:700; font-size:16px; color:var(--sc-ink); list-style:none; display:flex; justify-content:space-between; align-items:center; min-height:44px;}
.sc-faq-item summary::-webkit-details-marker{display:none;}
.sc-faq-item summary::after{content:"+"; font-size:22px; color:var(--sc-primary); flex:0 0 auto; margin-left:12px; transition:transform var(--transition);}
.sc-faq-item[open] summary::after{transform:rotate(45deg);}
.sc-faq-item p{margin-top:10px; color:var(--sc-body); font-size:15px;}

/* ---------- 고지 ---------- */
.sc-scope .ai-notice{font-size:.85em;color:#888;margin-top:2em;}
.sc-scope .legal-notice{font-size:.85em;color:#777;background:#f8f9fa;border-left:3px solid #cbd5e1;padding:10px 14px;margin-top:2em;border-radius:0 6px 6px 0;}
.sc-scope .legal-notice p{margin:4px 0;}
.sc-scope .affiliate-notice{font-size:.9em;color:#666;background:#fffbea;border:1px solid #f6e05e;padding:8px 12px;border-radius:6px;}

/* ---------- 관련글 ---------- */
.sc-related{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--sp-3); margin:var(--sp-6) 0;}
@media (max-width:760px){.sc-related{grid-template-columns:1fr;}}

/* ---------- 푸터 ---------- */
.sc-footer{background:var(--sc-primary-dark); color:rgba(255,255,255,.82); padding:var(--sp-8) 0 var(--sp-5);}
.sc-footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:var(--sp-6); margin-bottom:var(--sp-6);}
.sc-footer h5{color:#fff; font-size:14px; margin:0 0 var(--sp-2); letter-spacing:.03em;}
.sc-footer ul{list-style:none; padding:0; margin:0;}
.sc-footer li{margin-bottom:10px;}
.sc-footer a{color:rgba(255,255,255,.78); text-decoration:none; font-size:14.5px;}
.sc-footer a:hover{color:#fff; text-decoration:underline;}
.sc-footer-brand p{color:rgba(255,255,255,.68); font-size:14px; max-width:360px; line-height:1.7;}
.sc-footer-bottom{border-top:1px solid rgba(255,255,255,.14); padding-top:var(--sp-4); font-size:12.5px; color:rgba(255,255,255,.55);}
.sc-footer-legal{font-size:11.5px; color:rgba(255,255,255,.5); line-height:1.7; margin-top:var(--sp-3); max-width:900px;}
@media (max-width:760px){.sc-footer-grid{grid-template-columns:1fr; gap:var(--sp-4);}}

/* ---------- 스크롤 등장 ---------- */
.sc-reveal{opacity:0; transform:translateY(18px); transition:opacity 500ms ease, transform 500ms ease;}
.sc-reveal.is-visible{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion: reduce){.sc-reveal{opacity:1; transform:none;}}

/* ---------- WP 기본 요소 정리 ---------- */
.sc-scope .wp-block-search__button, .sc-scope input[type=search]{min-height:44px;}

/* ==========================================================
   단일 글·고정 페이지 레이아웃 (테마 기본 스타일 오버라이드)
   ========================================================== */
.sc-scope .wp-site-blocks > main{max-width:none; padding:0;}

/* 글 제목 영역 */
.sc-scope h1.wp-block-post-title{
  max-width:var(--content-w); margin:var(--sp-8) auto var(--sp-2); padding:0 var(--sp-3);
  text-align:left !important; font-size:clamp(30px,4.4vw,44px); line-height:1.28;
  letter-spacing:-0.025em; color:var(--sc-ink);
}
.sc-scope h1.wp-block-post-title a{color:inherit; text-decoration:none;}
.sc-scope h1.wp-block-post-title a:hover{color:var(--sc-primary);}
@media (max-width:640px){.sc-scope h1.wp-block-post-title{margin-top:var(--sp-5);}}

/* 제목 아래 메타 */
.sc-post-head{display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  max-width:var(--content-w); margin:0 auto var(--sp-6); padding:0 var(--sp-3);}
.sc-post-cat{display:inline-flex; align-items:center; min-height:30px; padding:5px 14px;
  border-radius:var(--radius-pill); background:var(--sc-primary-light); color:var(--sc-primary-dark);
  font-size:13px; font-weight:700; text-decoration:none;}
.sc-post-cat:hover{background:var(--sc-primary); color:#fff;}
.sc-post-date{font-size:13.5px; color:var(--sc-muted);}

/* 본문 컬럼 */
.sc-scope .entry-content{
  max-width:var(--content-w) !important; margin:0 auto var(--sp-9) !important;
  padding:0 var(--sp-3); float:none;
}
.sc-scope .entry-content > *{max-width:100%;}
.sc-scope .entry-content.alignfull{width:auto;}

/* 고정 페이지도 동일 규격 */
.sc-scope.page .entry-content{max-width:var(--content-w) !important;}

/* 테마 잔여 요소 정리 */
.sc-scope .wp-block-post-navigation-link,
.sc-scope .wp-block-comments,
.sc-scope .wp-block-post-date + .wp-block-post-terms{display:none;}

/* ==========================================================
   링크 우선순위 보정
   .sc-scope a (0,1,1) 가 컴포넌트 규칙(0,1,0)을 덮어써
   버튼 글자색이 배경색과 같아지는 문제를 바로잡는다.
   ========================================================== */
.sc-scope a.sc-btn,
.sc-scope a.sc-logo,
.sc-scope a.sc-post,
.sc-scope a.sc-post-cat,
.sc-scope a.sc-card-link,
.sc-scope .sc-nav a,
.sc-scope .sc-footer a{text-decoration:none;}

.sc-scope a.sc-btn-primary{color:#fff;}
.sc-scope a.sc-btn-primary:hover{color:#fff;}
.sc-scope a.sc-btn-ghost{color:var(--sc-primary-dark);}
.sc-scope a.sc-btn-ghost:hover{color:var(--sc-primary);}
.sc-scope a.sc-logo{color:var(--sc-primary-dark);}
.sc-scope a.sc-post{color:inherit;}
.sc-scope a.sc-post-cat{color:var(--sc-primary-dark);}
.sc-scope a.sc-post-cat:hover{color:#fff;}
.sc-scope a.sc-card-link{color:inherit;}

/* 모바일 터치 타깃 확보 — 푸터 내비 링크 44px */
@media (max-width:860px){
  .sc-footer li{margin-bottom:2px;}
  .sc-footer li a{display:inline-flex; align-items:center; min-height:44px;}
  .sc-toc li a{display:inline-block; padding:6px 0;}
}

/* 테마 폰트 프리셋(.has-large-font-size 등)이 !important로 제목 크기를 덮어써
   H1이 H2보다 작아지는 위계 역전을 바로잡는다. */
.sc-scope h1.wp-block-post-title{font-size:clamp(30px,4.4vw,44px) !important; line-height:1.28 !important;}
.sc-scope .entry-content{font-size:16.5px;}
.sc-scope .entry-content li{font-size:16px;}

/* 차트 막대: 인라인 span은 height/width가 먹지 않으므로 블록으로 승격 */
.sc-chart-bar-bg{display:block; width:100%;}
.sc-chart-bar-fill{display:block; min-width:2px;}

/* 표 캡션: 표 바로 아래에 붙이고 본문과 구분 */
.sc-table-wrap + figcaption{
  display:block; margin:-20px 0 var(--sp-5); font-size:13px; color:var(--sc-muted);
  line-height:1.6; padding-left:2px;
}

/* ==========================================================
   가맹본부 재무정보 조회 도구
   ========================================================== */
.sc-fin{margin:var(--sp-4) 0 var(--sp-6);}
.sc-fin-form{background:var(--sc-surface); border:1px solid var(--sc-line); border-radius:var(--radius-l);
  padding:var(--sp-4); box-shadow:var(--shadow-s);}
.sc-fin-label{display:block; font-weight:700; font-size:14px; color:var(--sc-primary-dark); margin-bottom:10px;}
.sc-fin-row{display:flex; gap:12px; flex-wrap:wrap;}
.sc-fin-input{flex:1 1 240px; min-height:48px; padding:12px 16px; border:1px solid var(--sc-line);
  border-radius:var(--radius-s); font-size:16px; font-family:inherit; color:var(--sc-ink); background:var(--sc-bg);}
.sc-fin-input:focus{outline:3px solid var(--sc-accent); outline-offset:1px; border-color:var(--sc-primary);}
.sc-fin-hint{font-size:13px; color:var(--sc-muted); margin:12px 0 0;}
.sc-fin-status{margin:var(--sp-3) 0 0; font-size:14.5px; color:var(--sc-muted);}
.sc-fin-status.is-error{color:#a2453a;}
.sc-fin-results{display:grid; gap:10px; margin-top:var(--sp-3);}
.sc-fin-item{display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%;
  text-align:left; background:var(--sc-surface); border:1px solid var(--sc-line); border-radius:var(--radius-m);
  padding:14px 18px; cursor:pointer; font-family:inherit; font-size:15px; color:var(--sc-ink); min-height:44px;
  transition:border-color var(--transition), transform var(--transition);}
.sc-fin-item:hover{border-color:var(--sc-primary); transform:translateY(-1px);}
.sc-fin-item b{font-weight:700;}
.sc-fin-tag{font-size:12px; font-weight:700; padding:4px 10px; border-radius:var(--radius-pill);
  background:var(--sc-primary-light); color:var(--sc-primary-dark); flex:0 0 auto;}
.sc-fin-tag.is-unlisted{background:var(--sc-surface-alt); color:var(--sc-muted);}
.sc-fin-detail{margin-top:var(--sp-4);}
.sc-fin-card{background:var(--sc-surface); border:1px solid var(--sc-line); border-radius:var(--radius-l);
  padding:var(--sp-4); box-shadow:var(--shadow-s);}
.sc-fin-card h3{margin-top:0;}
.sc-fin-meta{display:flex; flex-wrap:wrap; gap:8px 20px; font-size:13.5px; color:var(--sc-muted); margin-bottom:var(--sp-3);}
.sc-fin-note{font-size:13px; color:var(--sc-muted); margin-top:var(--sp-2);}
@media (max-width:600px){.sc-fin-row{flex-direction:column;} .sc-fin-row .sc-btn{width:100%;}}

/* 버튼은 폰트를 상속하지 않으므로 명시 — Pretendard 유지 */
.sc-scope .sc-btn,
.sc-scope button,
.sc-scope input,
.sc-scope select,
.sc-scope textarea{font-family:inherit;}
.sc-scope .sc-btn[disabled]{opacity:.6; cursor:progress;}
.sc-scope button.sc-btn-primary{color:#fff;}

/* ==========================================================
   NSEO 내부링크 블록 — 사이트 디자인 계열로 통일
   ========================================================== */
.sc-scope .nseo-microdata-list-3{
  max-width:var(--content-w) !important; padding:0 var(--sp-3) !important;
  margin:0 auto var(--sp-9) !important; display:grid !important;
  grid-template-columns:repeat(3,1fr); gap:var(--sp-3); overflow:visible !important;
}
.sc-scope .nseo-microdata-list-3 > li{
  margin:0; padding:0; list-style:none; background:var(--sc-surface);
  border:1px solid var(--sc-line); border-radius:var(--radius-m); overflow:hidden;
  transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}
.sc-scope .nseo-microdata-list-3 > li:hover{
  transform:translateY(-3px); box-shadow:var(--shadow-m); border-color:var(--sc-primary);
}
.sc-scope .nseo-microdata-list-3 a{display:block; text-decoration:none; color:inherit;}
.sc-scope .nseo-microdata-list-3 img{
  width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:0; display:block; margin:0;
}
.sc-scope .nseo-title{
  display:block; padding:12px 14px 14px; font-size:14.5px; font-weight:700;
  color:var(--sc-ink); line-height:1.45; text-align:left;
}
@media (max-width:760px){.sc-scope .nseo-microdata-list-3{grid-template-columns:1fr 1fr;}}
@media (max-width:440px){.sc-scope .nseo-microdata-list-3{grid-template-columns:1fr;}}

/* ==========================================================
   아카이브(카테고리·태그·검색) 화면
   ========================================================== */
.sc-scope .wp-site-blocks{overflow-x:clip;}   /* alignfull 100vw 계산으로 생기는 가로 스크롤 차단 */

.sc-archive-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--sp-3); margin:var(--sp-5) 0 var(--sp-8);}
@media (max-width:900px){.sc-archive-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.sc-archive-grid{grid-template-columns:1fr;}}
.sc-archive-grid .sc-card-title{font-size:17px; font-weight:700; color:var(--sc-ink);
  margin:6px 0 8px; line-height:1.45; border:none; padding:0;}
.sc-archive-empty{color:var(--sc-muted); padding:var(--sp-6) 0;}

.sc-scope .wp-block-query-title,
.sc-scope h1.wp-block-query-title{max-width:var(--wrap-w); margin:var(--sp-8) auto var(--sp-2);
  padding:0 var(--sp-3); text-align:left !important; font-size:clamp(28px,4vw,40px) !important;}
.sc-scope .wp-block-term-description{max-width:var(--wrap-w); margin:0 auto var(--sp-4); padding:0 var(--sp-3); color:var(--sc-muted);}

.sc-pagination{display:flex; gap:8px; flex-wrap:wrap; justify-content:center; margin:var(--sp-6) 0 var(--sp-8);}
.sc-pagination .page-numbers{display:inline-flex; align-items:center; justify-content:center;
  min-width:44px; min-height:44px; padding:0 14px; border:1px solid var(--sc-line);
  border-radius:var(--radius-s); text-decoration:none; color:var(--sc-body); font-weight:600; font-size:14.5px;}
.sc-pagination .page-numbers:hover{border-color:var(--sc-primary); color:var(--sc-primary);}
.sc-pagination .page-numbers.current{background:var(--sc-primary); border-color:var(--sc-primary); color:#fff;}
