@charset "utf-8";
/* ============================================================
   사이드뷰(sideview.co.kr) 티스토리 스킨 — 실사이트 재현판 v2
   주색 #e30613 · 빨간 풀바 GNB · 큰 히어로 · 단순 카드 · 회사 푸터
   폰트 전부 Pretendard · 라이트 고정(다크 차단)
   ============================================================ */
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.css');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700;900&display=swap');

:root {
  --sv-red: #e30613;
  --sv-red-hover: #c40510;
  --sv-red-dark: #b6050f;
  --sv-red-rgb: 227, 6, 19;

  --sv-text: #17181a;
  --sv-text-muted: #5b6169;
  --sv-text-faint: #8a9099;

  --sv-bg: #ffffff;
  --sv-bg-soft: #f5f6f7;
  --sv-border: #e5e6e8;
  --sv-border-strong: #d3d5d8;

  --sv-font: "Pretendard", "Noto Sans KR", system-ui, -apple-system, "Malgun Gothic", sans-serif;

  --sv-container: 1180px;
  --sv-read-width: 760px;
  --sv-radius: 4px;
  --sv-gap: 26px;
  --sv-transition: .18s ease;
}

/* ---------- 리셋 & 베이스 ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0; font-family: var(--sv-font); font-size: 16px; line-height: 1.6;
  color: var(--sv-text); background: var(--sv-bg);
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; transition: color var(--sv-transition); }
h1,h2,h3,h4 { font-family: var(--sv-font); font-weight: 800; letter-spacing: -0.4px; line-height: 1.35; margin: 0; }
p { margin: 0 0 1em; }
ul { margin: 0; padding: 0; list-style: none; }
button { font-family: inherit; cursor: pointer; }

.sv-skip-nav { position: absolute; left: -9999px; top: 0; z-index: 2000; background: var(--sv-red); color: #fff; padding: 10px 18px; font-weight: 700; }
.sv-skip-nav:focus { left: 12px; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(var(--sv-red-rgb), .4); outline-offset: 2px;
}
.sv-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.sv-container { max-width: var(--sv-container); margin: 0 auto; padding: 0 20px; }

/* ============================================================
   상단 슬로건
   ============================================================ */
.sv-slogan { text-align: center; padding: 14px 20px 2px; font-size: .82rem; color: var(--sv-text-muted); letter-spacing: -0.2px; }

/* ============================================================
   헤더 (로고 좌측 + 우측 수상/후원)
   ============================================================ */
.sv-header-inner {
  max-width: var(--sv-container); margin: 0 auto; padding: 6px 20px 14px;
  display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
}
.sv-logo img { height: 62px; width: auto; }
.sv-logo .sv-logo-txt { font-weight: 900; font-size: 2.1rem; color: var(--sv-red); letter-spacing: -1.5px; }
.sv-header-right { display: flex; align-items: center; gap: 14px; }
/* 수상 배너 — 실사이트 이미지 그대로(금메달+3줄) */
.sv-award-banner { display: block; height: 74px; width: auto; }
/* 후원 버튼: 국민의 알권리를 위해 / 사이드뷰 후원하기 (2줄) */
.sv-support {
  display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
  background: var(--sv-red); color: #fff; padding: 9px 20px; border-radius: var(--sv-radius);
  white-space: nowrap; text-align: center; line-height: 1.3;
}
.sv-support:hover { background: var(--sv-red-hover); color: #fff; }
.sv-support-sub { display: block; font-size: .68rem; font-weight: 500; opacity: .92; }
.sv-support-main { display: block; font-size: .92rem; font-weight: 800; letter-spacing: -0.3px; }

/* ============================================================
   유틸리티 바 (날짜 · 로그인 · SNS)
   ============================================================ */
.sv-utility { border-top: 1px solid var(--sv-border); }
.sv-utility-inner {
  max-width: var(--sv-container); margin: 0 auto; padding: 8px 20px;
  display: flex; align-items: center; justify-content: space-between; font-size: .78rem; color: var(--sv-text-muted);
}
.sv-utility-left { display: flex; align-items: center; gap: 14px; }
.sv-utility-left .sv-date { font-weight: 700; color: var(--sv-text); }
.sv-utility-left a:hover { color: var(--sv-red); }
.sv-sns { display: flex; align-items: center; gap: 7px; }
.sv-sns a { width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: .72rem; font-weight: 800; }
.sv-sns .is-kko { background: #03c75a; }
.sv-sns .is-fb  { background: #1877f2; }
.sv-sns .is-yt  { background: #ff0000; }
.sv-sns .is-nv  { background: #03c75a; }
.sv-sns .is-ig  { background: #d62976; }

/* ============================================================
   RED GNB (빨간 풀바 + 흰 글씨)  ★핵심
   ============================================================ */
.sv-gnb { background: var(--sv-red); position: sticky; top: 0; z-index: 900; box-shadow: 0 2px 6px rgba(0,0,0,.12); }
.sv-gnb-inner { max-width: var(--sv-container); margin: 0 auto; padding: 0 20px; display: flex; align-items: center; }
/* [##_blog_menu_##] 가 출력하는 UL/LI/A 를 흰 글씨 메뉴로
   ★한 줄 고정: 줄바꿈 금지, 넘치면 가로 스크롤(스크롤바 숨김) */
.sv-gnb-menu { flex: 1 1 auto; min-width: 0; }
.sv-gnb-menu ul { display: flex; flex-wrap: nowrap; margin: 0; padding: 0; list-style: none; overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; }
.sv-gnb-menu ul::-webkit-scrollbar { display: none; }
.sv-gnb-menu li { list-style: none; margin: 0; flex: 0 0 auto; }
.sv-gnb-menu a { display: block; padding: 15px 12px; font-size: .92rem; font-weight: 800; color: #fff; letter-spacing: -0.5px; position: relative; white-space: nowrap; }
.sv-gnb-menu a:hover { background: rgba(0,0,0,.14); color: #fff; }
.sv-gnb-menu .current a, .sv-gnb-menu li.on > a, .sv-gnb-menu .selected > a { background: rgba(0,0,0,.18); color: #fff; }
.sv-gnb-tools { margin-left: auto; display: flex; align-items: center; }
.sv-gnb-tools button, .sv-gnb-tools a { background: none; border: 0; color: #fff; padding: 12px; display: inline-flex; align-items: center; }
.sv-hamburger span { display: block; width: 22px; height: 2px; background: #fff; margin: 5px 0; transition: var(--sv-transition); }

/* 모바일 드로어 */
.sv-drawer-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 1200; opacity: 0; visibility: hidden; transition: opacity var(--sv-transition); }
.sv-drawer-backdrop.is-open { opacity: 1; visibility: visible; }
.sv-drawer { position: fixed; top: 0; left: 0; bottom: 0; width: 82%; max-width: 320px; background: #fff; z-index: 1300; padding: 0; transform: translateX(-100%); transition: transform .28s ease; overflow-y: auto; box-shadow: 2px 0 24px rgba(0,0,0,.18); }
.sv-drawer.is-open { transform: translateX(0); }
.sv-drawer-head { display: flex; align-items: center; justify-content: space-between; background: var(--sv-red); color: #fff; padding: 16px 18px; }
.sv-drawer-head .sv-logo-txt { font-weight: 900; color: #fff; font-size: 1.3rem; }
.sv-drawer-close { background: none; border: 0; font-size: 1.6rem; line-height: 1; color: #fff; }
.sv-drawer .sv-gnb-menu ul { display: block; }
.sv-drawer .sv-gnb-menu a { color: var(--sv-text); padding: 15px 18px; border-bottom: 1px solid var(--sv-border); font-size: 1.02rem; }
.sv-drawer .sv-gnb-menu a:hover { background: var(--sv-bg-soft); color: var(--sv-red); }

/* ============================================================
   레이아웃
   ============================================================ */
.sv-layout { max-width: var(--sv-container); margin: 30px auto; padding: 0 20px; display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 46px; align-items: start; }
.sv-main { min-width: 0; }

/* 섹션 헤더 */
.sv-section-head { display: flex; align-items: center; gap: 12px; border-bottom: 2px solid var(--sv-text); padding-bottom: 9px; margin: 6px 0 22px; }
.sv-section-head h2 { font-size: 1.3rem; font-weight: 800; }
.sv-section-head .sv-more { margin-left: auto; font-size: .82rem; color: var(--sv-text-muted); font-weight: 600; }
.sv-section-head .sv-more:hover { color: var(--sv-red); }

/* ============================================================
   카드 그리드 (이미지 + 굵은 제목) + 첫 카드 = 히어로
   ============================================================ */
.sv-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px 26px; }
.sv-card { display: flex; flex-direction: column; }
/* font-size:0 = 티스토리 썸네일 치환자가 깨진 글에서 새는 잔여 텍스트(" loading= 등) 무해화 */
.sv-card-thumb { display: block; aspect-ratio: 16/10; overflow: hidden; background: var(--sv-bg-soft); border-radius: var(--sv-radius); font-size: 0; color: transparent; }
.sv-card-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.sv-card:hover .sv-card-thumb img { transform: scale(1.04); }
.sv-card-body { padding: 12px 2px 0; display: flex; flex-direction: column; flex: 1; }
.sv-cat-chip { display: none; }               /* 실사이트 카드엔 카테고리칩 없음 */
.sv-card-title { font-size: 1.12rem; font-weight: 700; line-height: 1.42; letter-spacing: -0.4px; text-align: center; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sv-card-title a:hover { color: var(--sv-red); }
.sv-card-summary { display: none; }            /* 그리드 카드엔 요약 감춤(실사이트 톤) */
.sv-card-meta { margin-top: 8px; font-size: .76rem; color: var(--sv-text-faint); display: flex; gap: 8px; justify-content: center; }
.sv-card-meta .sv-dot::before { content: "·"; margin-right: 8px; }

/* ── 첫 카드 = 히어로(풀폭·오버레이) ── */
.sv-card-grid .sv-card:first-child {
  grid-column: 1 / -1; position: relative; margin-bottom: 6px;
  border-radius: var(--sv-radius); overflow: hidden;
}
.sv-card-grid .sv-card:first-child .sv-card-thumb { aspect-ratio: 16/7; border-radius: var(--sv-radius); background: #23293a; }
.sv-card-grid .sv-card:first-child .sv-card-body {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 60px 34px 26px;
  background: linear-gradient(to top, rgba(0,0,0,.82) 0%, rgba(0,0,0,.35) 55%, transparent 100%);
}
.sv-card-grid .sv-card:first-child .sv-card-title { color: #fff; font-size: 1.85rem; font-weight: 800; line-height: 1.28; text-align: left; -webkit-line-clamp: 3; }
.sv-card-grid .sv-card:first-child .sv-card-title a:hover { color: #fff; text-decoration: underline; }
.sv-card-grid .sv-card:first-child .sv-card-summary { display: block; color: rgba(255,255,255,.88); font-size: .95rem; margin-top: 10px; text-align: left; -webkit-line-clamp: 2; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
.sv-card-grid .sv-card:first-child .sv-card-meta { color: rgba(255,255,255,.75); justify-content: flex-start; margin-top: 10px; }

/* ============================================================
   사이드바
   ============================================================ */
.sv-sidebar { display: flex; flex-direction: column; gap: 28px; position: sticky; top: 78px; }
.sv-widget-title { font-size: 1.08rem; font-weight: 800; border-bottom: 2px solid var(--sv-text); padding-bottom: 8px; margin-bottom: 14px; }

/* 검색 */
.sv-search { display: flex; border: 1.5px solid var(--sv-border-strong); border-radius: var(--sv-radius); overflow: hidden; }
.sv-search input { flex: 1; border: 0; padding: 11px 13px; font-size: .9rem; font-family: inherit; color: var(--sv-text); min-width: 0; background: #fff; }
.sv-search input:focus { outline: none; }
.sv-search:focus-within { border-color: var(--sv-red); }
.sv-search button { border: 0; background: var(--sv-red); color: #fff; padding: 0 15px; font-weight: 800; }
.sv-search button:hover { background: var(--sv-red-hover); }

/* 최신/많이 본 뉴스 랭킹 (번호는 CSS 카운터로 자동 1~N) */
.sv-sidebar-modules { display: flex; flex-direction: column; }
.sv-rank-list { display: flex; flex-direction: column; counter-reset: svrank; }
.sv-rank-item { display: flex; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--sv-border); align-items: flex-start; counter-increment: svrank; }
.sv-rank-item:last-child { border-bottom: 0; }
.sv-rank-num { flex: 0 0 auto; font-size: 1.35rem; font-weight: 800; color: var(--sv-red); width: 22px; text-align: center; line-height: 1.3; }
.sv-rank-num:empty::before { content: counter(svrank); }
.sv-rank-title { font-weight: 600; font-size: .92rem; line-height: 1.42; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sv-rank-title a:hover { color: var(--sv-red); }

/* 카테고리 */
.sv-cat-widget ul { list-style: none; margin: 0; padding: 0; }
.sv-cat-widget li { margin: 0; }
.sv-cat-widget a { display: block; padding: 10px 2px; border-bottom: 1px solid var(--sv-border); font-size: .92rem; font-weight: 600; }
.sv-cat-widget a:hover { color: var(--sv-red); padding-left: 6px; }
.sv-cat-widget ul ul { padding-left: 12px; }
.sv-cat-widget ul ul a { font-weight: 400; font-size: .87rem; color: var(--sv-text-muted); }

/* 후원/제보 배너 */
.sv-promo { display: block; background: #f57a00; color: #fff; border-radius: var(--sv-radius); padding: 18px 20px; text-align: center; }
.sv-promo b { display: block; font-size: 1.05rem; font-weight: 800; }
.sv-promo span { font-size: .8rem; opacity: .95; }

/* ============================================================
   포스트 본문
   ============================================================ */
.sv-post { max-width: var(--sv-read-width); margin: 34px auto; padding: 0 20px; }
.sv-post-header { margin-bottom: 24px; border-bottom: 2px solid var(--sv-text); padding-bottom: 20px; }
.sv-cat-chip.is-solid { display: inline-block; background: var(--sv-red); color: #fff; font-size: .78rem; font-weight: 800; padding: 4px 10px; border-radius: var(--sv-radius); margin-bottom: 12px; }
.sv-post-title { font-size: 2.05rem; font-weight: 800; line-height: 1.32; letter-spacing: -0.8px; margin: 6px 0 16px; }
.sv-post-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; font-size: .84rem; color: var(--sv-text-muted); }
.sv-post-meta .sv-author { font-weight: 700; color: var(--sv-text); }
.sv-post-meta .sep::before { content: "|"; color: var(--sv-border-strong); }

.sv-post-body { font-size: 1.0625rem; line-height: 1.85; color: var(--sv-text); }
.sv-post-body p { margin: 0 0 1.4em; }
.sv-post-body h2 { font-size: 1.5rem; margin: 1.8em 0 .7em; padding-left: 14px; border-left: 4px solid var(--sv-red); }
.sv-post-body h3 { font-size: 1.25rem; margin: 1.5em 0 .6em; }
.sv-post-body img { border-radius: var(--sv-radius); margin: 1.6em auto; }
.sv-post-body a { color: var(--sv-red); text-decoration: underline; text-underline-offset: 3px; }
.sv-post-body blockquote { margin: 1.8em 0; padding: 16px 22px; background: var(--sv-bg-soft); border-left: 4px solid var(--sv-red); font-size: 1.1rem; line-height: 1.7; }
.sv-post-body ul, .sv-post-body ol { margin: 0 0 1.4em; padding-left: 1.4em; }
.sv-post-body ul { list-style: disc; } .sv-post-body ol { list-style: decimal; }
.sv-post-body li { margin-bottom: .5em; }
.sv-post-body table { width: 100%; border-collapse: collapse; margin: 1.8em 0; font-size: .95rem; }
.sv-post-body th, .sv-post-body td { border: 1px solid var(--sv-border-strong); padding: 11px 14px; text-align: left; }
.sv-post-body thead th { background: var(--sv-red); color: #fff; font-weight: 700; }
.sv-post-body tbody tr:nth-child(even) { background: var(--sv-bg-soft); }

.sv-post-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 30px 0 24px; }
.sv-tag { display: inline-block; font-size: .82rem; font-weight: 500; color: var(--sv-text-muted); background: var(--sv-bg-soft); border: 1px solid var(--sv-border); padding: 6px 12px; border-radius: 20px; }
.sv-tag::before { content: "#"; color: var(--sv-red); margin-right: 3px; font-weight: 800; }
.sv-tag:hover { border-color: var(--sv-red); color: var(--sv-red); }

.sv-share { display: flex; align-items: center; gap: 10px; margin: 24px 0; padding: 18px 0; border-top: 1px solid var(--sv-border); border-bottom: 1px solid var(--sv-border); }
.sv-share-label { font-weight: 800; font-size: .9rem; margin-right: 4px; }
.sv-share-btn { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--sv-border-strong); background: #fff; color: var(--sv-text-muted); display: inline-flex; align-items: center; justify-content: center; font-size: .82rem; font-weight: 800; }
.sv-share-btn:hover { background: var(--sv-red); color: #fff; border-color: var(--sv-red); }

.sv-byline { display: flex; gap: 18px; align-items: center; margin: 28px 0; padding: 22px; background: var(--sv-bg-soft); border-radius: var(--sv-radius); border-left: 4px solid var(--sv-red); }
.sv-byline-avatar { flex: 0 0 auto; width: 60px; height: 60px; border-radius: 50%; background: var(--sv-red); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.4rem; font-weight: 800; }
.sv-byline-name { font-weight: 800; font-size: 1.1rem; }
.sv-byline-email { font-size: .85rem; color: var(--sv-text-muted); margin-top: 2px; }
.sv-byline-desc { font-size: .88rem; color: var(--sv-text-muted); line-height: 1.6; margin-top: 8px; }
.sv-identity-note { font-size: .85rem; color: var(--sv-text-muted); text-align: center; border-top: 2px solid var(--sv-red); padding-top: 16px; margin: 28px 0; }
.sv-identity-note strong { color: var(--sv-red); font-weight: 800; }

/* 댓글 */
.sv-comments { margin: 36px 0; }
.sv-comment { display: flex; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--sv-border); }
.sv-comment-avatar { flex: 0 0 auto; width: 42px; height: 42px; border-radius: 50%; background: var(--sv-bg-soft); border: 1px solid var(--sv-border); display: flex; align-items: center; justify-content: center; color: var(--sv-text-muted); font-weight: 700; }
.sv-comment-name { font-weight: 700; font-size: .92rem; }
.sv-comment-date { font-size: .76rem; color: var(--sv-text-faint); margin-left: 8px; }
.sv-comment-text { font-size: .92rem; line-height: 1.65; margin-top: 5px; }
.sv-comment-form { margin-top: 22px; display: flex; flex-direction: column; gap: 12px; }
.sv-comment-form .sv-form-row { display: flex; gap: 12px; }
.sv-comment-form input, .sv-comment-form textarea { width: 100%; border: 1.5px solid var(--sv-border-strong); border-radius: var(--sv-radius); padding: 11px 14px; font-family: inherit; font-size: .92rem; color: var(--sv-text); background: #fff; }
.sv-comment-form textarea { min-height: 104px; resize: vertical; }
.sv-comment-form input:focus, .sv-comment-form textarea:focus { outline: none; border-color: var(--sv-red); }
.sv-secret { display: inline-flex; align-items: center; gap: 6px; font-size: .82rem; color: var(--sv-text-muted); }
.sv-protect { max-width: var(--sv-read-width); margin: 60px auto; padding: 0 20px; text-align: center; }
.sv-protect h2 { font-size: 1.35rem; margin-bottom: 16px; }
.sv-protect form { display: inline-flex; gap: 8px; }
.sv-protect input[type=password] { border: 1.5px solid var(--sv-border-strong); border-radius: var(--sv-radius); padding: 11px 14px; font-size: .92rem; }

/* 버튼/페이징/스크롤탑 */
.sv-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 11px 22px; font-size: .92rem; font-weight: 800; font-family: inherit; border-radius: var(--sv-radius); border: 1.5px solid var(--sv-border-strong); background: #fff; color: var(--sv-text); }
.sv-btn:hover { border-color: var(--sv-red); color: var(--sv-red); }
.sv-btn-primary { background: var(--sv-red); border-color: var(--sv-red); color: #fff; }
.sv-btn-primary:hover { background: var(--sv-red-hover); color: #fff; }
.sv-pagination { display: flex; justify-content: center; align-items: center; gap: 6px; margin: 38px 0; }
.sv-pagination a, .sv-pagination strong, .sv-pagination > span { min-width: 40px; height: 40px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--sv-border); border-radius: var(--sv-radius); font-weight: 700; font-size: .9rem; color: var(--sv-text); }
/* 티스토리가 <a><span>1</span></a>로 중첩 출력 → 안쪽 span 박스 제거(테두리 겹침 방지) */
.sv-pagination a span, .sv-pagination strong span, .sv-pagination > span span { border: 0 !important; background: transparent !important; padding: 0; min-width: 0; height: auto; display: inline; font: inherit; color: inherit; }
.sv-pagination a:hover { border-color: var(--sv-red); color: var(--sv-red); }
/* 현재 페이지 강조 */
.sv-pagination a:has(.selected), .sv-pagination strong, .sv-pagination .is-current { background: var(--sv-red); border-color: var(--sv-red); color: #fff; }
.sv-pagination a:has(.selected):hover { color: #fff; border-color: var(--sv-red); }
.sv-scrolltop { position: fixed; right: 24px; bottom: 24px; z-index: 800; width: 46px; height: 46px; border-radius: 50%; border: 0; background: var(--sv-red); color: #fff; font-size: 1.2rem; font-weight: 800; box-shadow: 0 6px 18px rgba(0,0,0,.2); opacity: 0; visibility: hidden; transform: translateY(10px); transition: var(--sv-transition); }
.sv-scrolltop.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.sv-scrolltop:hover { background: var(--sv-red-hover); }

/* ============================================================
   푸터 (SYAD미디어 실측)
   ============================================================ */
.sv-footer { margin-top: 56px; border-top: 3px solid var(--sv-red); background: #1c1e21; color: #b9bec4; }
.sv-footer-links { border-bottom: 1px solid #2c2f33; }
.sv-footer-links-inner { max-width: var(--sv-container); margin: 0 auto; padding: 16px 20px; display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: .82rem; }
.sv-footer-links-inner a { color: #c8cdd3; font-weight: 500; }
.sv-footer-links-inner a:hover { color: #fff; }
.sv-footer-links-inner .sv-flink-sep { color: #4a4e54; }
.sv-footer-main { max-width: var(--sv-container); margin: 0 auto; padding: 28px 20px 40px; }
.sv-footer-brand { font-weight: 900; font-size: 1.35rem; color: #fff; letter-spacing: -0.5px; margin-bottom: 12px; }
.sv-footer-info { font-size: .82rem; line-height: 1.95; color: #a2a8af; }
.sv-footer-info .sv-fi-sep { color: #4a4e54; margin: 0 8px; }
/* 수상내역 강조(골드) — 푸터 */
.sv-footer-awards { margin: 20px 0; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.sv-awards-label { font-size: .9rem; font-weight: 800; color: #e8c766; letter-spacing: .5px; margin-right: 2px; }
.sv-award-badge { font-size: .85rem; font-weight: 800; color: #e8c766; border: 1px solid #8a6d1d; background: rgba(232,199,102,.08); border-radius: 20px; padding: 7px 16px; }
.sv-footer-copyright { margin-top: 18px; padding-top: 16px; border-top: 1px solid #2c2f33; font-size: .8rem; color: #767c83; }

/* ============================================================
   반응형
   ============================================================ */
@media (max-width: 1024px) {
  .sv-layout { grid-template-columns: 1fr; gap: 38px; }
  .sv-sidebar { position: static; flex-direction: row; flex-wrap: wrap; gap: 28px; }
  .sv-sidebar > * { flex: 1 1 240px; }
  .sv-card-grid { grid-template-columns: repeat(2, 1fr); }
  .sv-card-grid .sv-card:first-child .sv-card-title { font-size: 1.5rem; }
}
@media (max-width: 640px) {
  body { font-size: 15px; }
  .sv-header-right { display: none; }
  .sv-slogan { font-size: .76rem; }
  .sv-logo img { height: 48px; }
  .sv-gnb-menu ul { display: none; }
  .sv-gnb-tools .sv-hamburger { display: inline-flex; }
  .sv-card-grid { grid-template-columns: 1fr 1fr; gap: 22px 16px; }
  .sv-card-grid .sv-card:first-child { grid-column: 1 / -1; }
  .sv-card-grid .sv-card:first-child .sv-card-thumb { aspect-ratio: 16/9; }
  .sv-card-grid .sv-card:first-child .sv-card-body { padding: 40px 18px 18px; }
  .sv-card-grid .sv-card:first-child .sv-card-title { font-size: 1.25rem; }
  .sv-card-title { font-size: .98rem; }
  .sv-post-title { font-size: 1.55rem; }
  .sv-sidebar { flex-direction: column; }
  .sv-footer-info .sv-fi-sep { display: none; }
  .sv-footer-info span { display: block; }
}
.sv-gnb-tools .sv-hamburger { display: none; }
@media (max-width: 640px) { .sv-gnb-tools .sv-hamburger { display: inline-flex; } }

/* ============================================================
   홈·목록 화면에서는 '목록만' — 글 전문이 아래에 쌓여 나오는 것 차단
   (티스토리는 홈에 최신 글 전문을 함께 렌더할 수 있음 → 목록 페이지에선 숨김.
    글 상세(tt-body-page)와 방명록(tt-body-guestbook)에는 영향 없음)
   ============================================================ */
#tt-body-index .sv-post,
#tt-body-category .sv-post,
#tt-body-search .sv-post,
#tt-body-tag .sv-post,
#tt-body-archive .sv-post { display: none !important; }

/* ============================================================
   라이트(화이트) 강제 — 다크모드 완전 차단
   ============================================================ */
:root { color-scheme: only light; }
html, body { background: #ffffff !important; color: var(--sv-text) !important; }
@media print { .sv-slogan, .sv-utility, .sv-gnb, .sv-sidebar, .sv-share, .sv-comments, .sv-scrolltop, .sv-pagination { display: none; } }
