/*
Theme Name: generatepress_child
Template: generatepress
*/
/* ==========================================================================
   KTAXHELP ? Refined Theme (세무/회계 블로그)
   신뢰감 · 전달력 강화 / 딱딱함은 완화 / 수치·표 최적화
   GeneratePress + 블록 테마 대응 · 기존 클래스 구조 유지
   그대로 [외모 > 사용자 정의 > 추가 CSS] 또는 자식 테마에 붙여넣기
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. 웹폰트
   -------------------------------------------------------------------------- */
@font-face {
    font-family: 'Pretendard-Subset';
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    src: url('/wp-content/uploads/fonts/Pretendard-Regular.239f4608.woff2') format('woff2');
}
@font-face {
    font-family: 'Pretendard-Subset';
    font-weight: 600;
    font-style: normal;
    font-display: swap;
    src: url('/wp-content/uploads/fonts/Pretendard-SemiBold.de5338ff.woff2') format('woff2');
}
@font-face {
    font-family: 'Pretendard-Subset';
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    src: url('/wp-content/uploads/fonts/Pretendard-Bold.135c9d22.woff2') format('woff2');
}

/* --------------------------------------------------------------------------
   1. 디자인 토큰
   - 순수 슬레이트(차가움)에 미세한 온기를 섞어 "딱딱함" 완화
   - 신뢰 블루는 유지하되 톤을 정돈, 수치 표현용 시맨틱 컬러 추가
   -------------------------------------------------------------------------- */
:root {
    /* 배경 · 텍스트 */
    --gp-bg: #FFFFFF;
    --gp-bg-soft: #FBFCFE;         /* 살짝 온기 있는 오프화이트 */
    --gp-text-main: #16202E;       /* 딥 잉크 ? 순블랙보다 부드럽게 */
    --gp-text-sub: #556074;        /* 본문 보조 */
    --gp-text-muted: var(--ink-faint); /* 메타/캡션: 디자인 토큰 ink-faint 하나로 맞춤(#677386, 흰 바탕 4.8:1) */

    /* 신뢰 블루 */
    --gp-primary: #1E4FBF;         /* 정돈된 트러스트 블루 */
    --gp-primary-hover: #1740A0;
    --gp-primary-light: #EEF3FE;   /* 연한 배경 틴트 */
    --gp-primary-ring: rgba(30, 79, 191, 0.14);

    /* 보조 강조(온기) ? 하이라이트/포인트 */
    --gp-accent: #0E9384;          /* 차분한 틸 ? 신뢰 + 생동감 */
    --gp-accent-light: #E7F6F4;

    /* 수치 시맨틱 */
    --gp-pos: #0E7C5A;             /* 증가/환급/이득 */
    --gp-neg: #C0392B;             /* 감소/부담/추징 */
    --gp-warn: #B45309;            /* 주의 */
    --gp-warn-light: #FEF6E7;

    /* 경계 · 표면 */
    --gp-border: #E6EAF1;
    --gp-border-strong: #CBD3E0;
    --gp-card-bg: #F6F8FB;

    /* 헤더 · 그림자 · 반경 */
    --gp-header-bg: rgba(255, 255, 255, 0.82);
    --gp-shadow-sm: 0 1px 2px rgba(22, 32, 46, 0.05);
    --gp-shadow-md: 0 6px 20px rgba(22, 32, 46, 0.07);
    --gp-shadow-lg: 0 16px 40px rgba(22, 32, 46, 0.10);
    --gp-radius: 12px;
    --gp-radius-sm: 8px;

    /* 콘텐츠 폭 */
    --gp-measure: 760px;
}

/* >>> ktax-tokens (tools/tokens-to-css.py가 생성 — 직접 고치지 마세요) */
:root:root {
  /* color */
  --surface: #ffffff;
  --surface-subtle: #f7f9fc;
  --surface-muted: #f1f3f7;
  --ink: #16202e;
  --ink-body: #26303f;
  --ink-callout: #27324a;
  --ink-table: #33415a;
  --ink-muted: #556074;
  --ink-note: #5d6878;
  --ink-faint: #677386;
  --line: #e6eaf1;
  --line-strong: #d5dcea;
  --line-control: #cbd3e0;
  --line-callout: #dfe7f7;
  --line-callout-inner: #edf1f7;
  --line-callout-item: #e8eef9;
  --rule: var(--ink);
  --accent: #1e4fbf;
  --accent-hover: #1740a0;
  --accent-soft: #eef3fe;
  --accent-underline: #d6e0f5;
  --accent-mark: rgba(30, 79, 191, 0.13);
  --focus-ring: rgba(30,79,191,.35);
  --heading-bar: #1c7489;
  --warn: #b45309;
  --warn-soft: #fdf1e3;
  --tip: #0f766e;
  --on-accent: #ffffff;
  --calc-danger: #c0392b;
  --calc-danger-soft: #fdf0ee;
  --calc-warn-border: #B7791F;
  --calc-warn-soft: #FFF4CC;
  --calc-warn-ink: #7A4A00;
  --calc-warn-ink-deep: #4A3000;
  --calc-warn-line: #E3C77A;
  --viz-1: var(--accent);
  --viz-2: #6890dd;
  --viz-3: var(--warn);
  --viz-neutral: #8793a8;
  /* spacing */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --callout-pad: 26px;
  --space-7: 28px;
  --space-8: 32px;
  --space-10: 40px;
  --space-11: 44px;
  --space-16: 64px;
  --space-18: 72px;
  --ig-margin: 64px;
  --ig-gap: 32px;
  --ig-pad: 40px;
  /* radius */
  --radius-bar: 2px;
  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-tile: 9px;
  --radius-md: 10px;
  --radius-lg: 12px;
  --radius-xl: 14px;
  --radius-pill: 999px;
  --ig-radius-card: 24px;
  /* shadow */
  --shadow-callout: 0 1px 2px rgba(22,32,46,.04), 0 10px 28px -18px rgba(22,32,46,.22);
  /* stroke */
  --stroke-hairline: 1px;
  --stroke-rule: 1.5px;
  --stroke-heading-bar: 4px;
  --ig-rule: 3px;
  --ig-hairline: 2px;
  /* size */
  --container-max: 1080px;
  --hero-max: 880px;
  --search-max: 620px;
  --touch-min: 44px;
  --chip-min: 36px;
  --ig-wide-w: 1200px;
  /* type */
  --font-sans: 'Pretendard-Subset', 'Pretendard', "Apple SD Gothic Neo", sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, monospace;
}
/* <<< ktax-tokens */

body, button, input, textarea, select {
    font-family: 'Pretendard-Subset', -apple-system, BlinkMacSystemFont, system-ui, Roboto, sans-serif;
    color: var(--gp-text-main);
    line-height: 1.78;
    letter-spacing: -0.015em;
    word-break: keep-all;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
body {
    background-color: var(--gp-bg);
    font-feature-settings: "tnum", "case", "ss01";
}


.ktax-note,
.ktax-note-break {
    font-size: 0.8em;
    color: #5d6878;
    letter-spacing: -0.02em;
}
/* ktax-note-break: 앞 내용 아래 한 줄로 내려 표시하는 주석 (문장·셀의 끝에 붙일 때) */
.ktax-note-break {
    display: block;
    margin-top: 2px;
}

/* --------------------------------------------------------------------------
   2. 네비게이션 (밑줄 인디케이터형 · 투명 배경)
   -------------------------------------------------------------------------- */
.main-navigation,
.main-navigation.navigation-stick {
    background-color: transparent;
    /* backdrop-filter 는 쓰지 않는다: 스크롤로 메뉴가 화면 위쪽에 걸리면 가장자리 blur 가
       검정→흰색 그라데이션으로 번져 보였다. 헤더 배경이 흰색이라 blur 효과도 없다. */
}
.main-navigation .main-nav ul li a {
    font-size: 15px;
    font-weight: 600;
    color: var(--gp-text-sub);
    padding: 0 18px;
    transition: color 0.18s ease;
}
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item > a {
    color: var(--gp-primary);
    background: transparent;
}
.main-navigation .main-nav ul li.current-menu-item > a::after,
.main-navigation .main-nav ul li a:hover::after {
    content: "";
    display: block;
    height: 2px;
    background: var(--gp-primary);
    border-radius: 2px;
    margin-top: 6px;
}
.main-navigation .main-nav ul li a::after {
    content: "";
    display: block;
    height: 2px;
    background: transparent;
    border-radius: 2px;
    margin-top: 6px;
    transition: background 0.18s ease;
}
/* 상위 메뉴 인디케이터: 글자(와 화살표) 폭에 맞춰 글자 바로 아래에 그린다.
   앵커 높이는 그대로(줄높이 60 + 아래 8px)라 헤더 높이는 변하지 않는다. */
@media (min-width: 769px) {
    #site-navigation .main-nav > ul > li > a {
        position: relative;
        padding-bottom: 8px;
    }
    #site-navigation .main-nav > ul > li > a::after,
    #site-navigation .main-nav > ul > li > a:hover::after,
    #site-navigation .main-nav > ul > li.current-menu-item > a::after {
        position: absolute;
        left: 18px;
        right: 18px;
        bottom: 19px;
        display: block;
        height: 2px;
        margin: 0;
    }
    #site-navigation .main-nav > ul > li.menu-item-has-children > a::after { right: 20px; }  /* 화살표 아이콘 오른쪽 끝에 맞춤 */

    /* 드롭다운(하위 메뉴) 항목: 링크 상자 전체 폭이 아니라 글자(.ktax-nav-label) 폭에 맞춰
       글자 바로 아래에 그린다. 라벨 span 은 functions.php 에서 하위 메뉴 제목에만 감싼다. */
    #site-navigation .main-nav ul ul li > a {
        padding: 10px 20px 18px;   /* 아래 8px 는 인디케이터 자리 — 항목 높이 45px 유지 */
    }
    #site-navigation .main-nav ul ul li > a::after,
    #site-navigation .main-nav ul ul li > a:hover::after,
    #site-navigation .main-nav ul ul li.current-menu-item > a::after { display: none; }
    .ktax-nav-label { position: relative; display: inline-block; }
    .ktax-nav-label::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -8px;
        height: 2px;
        border-radius: 2px;
        background: transparent;
        transition: background 0.18s ease;
    }
    #site-navigation ul ul li > a:hover .ktax-nav-label::after,
    #site-navigation ul ul li.current-menu-item > a .ktax-nav-label::after { background: var(--gp-primary); }
}
.main-navigation ul ul {
    box-shadow: var(--gp-shadow-lg);
    border: 1px solid var(--gp-border);
    border-radius: var(--gp-radius);
    overflow: hidden;
    padding: 6px;
}
.main-navigation ul ul li a { padding: 10px 14px; border-radius: var(--gp-radius-sm); }
.main-navigation ul ul li a:hover { background: var(--gp-primary-light); }
.main-navigation ul ul li a:hover::after { display: none; }

/* --------------------------------------------------------------------------
   3. 본문 프레임 & 포스트 헤더
   -------------------------------------------------------------------------- */
.site-content { padding: 56px 20px; }
/* 부모 테마의 .container .site-content .content-area{width:auto} 때문에 본문 영역이
   내용(설명 글) 길이만큼만 줄어들던 문제 — 컨테이너(1200px) 폭을 항상 채운다 */
.container .site-content .content-area { width: 100%; min-width: 0; }
.inside-article { padding: 0 !important; }

.single .site-main,
.page .site-main { max-width: var(--gp-measure); margin: 0 auto; }

.entry-header {
    margin-bottom: 44px;
    padding-bottom: 26px;
    border-bottom: 1px solid var(--gp-border);
}
.entry-title {
    font-size: clamp(28px, 4.5vw, 40px) !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: var(--gp-text-main);
    letter-spacing: -0.032em;
    margin-bottom: 18px !important;
    text-wrap: balance;
}
.entry-meta {
    font-size: 14px;
    color: var(--gp-text-muted);
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    align-items: center;
}
.entry-meta a { color: var(--gp-text-muted); }
.entry-meta a:hover { color: var(--gp-primary); }

.post-image img,
.wp-post-image {
    border-radius: var(--gp-radius);
    box-shadow: var(--gp-shadow-md);
}

/* --------------------------------------------------------------------------
   4. 타이포그래피 위계
   -------------------------------------------------------------------------- */
.inside-article p {
    font-size: 17px;
    font-weight: 400;
    margin-bottom: 1.7em;
    color: #26303F;
}
.inside-article h2 {
    font-size: clamp(22px, 3vw, 26px);
    font-weight: 700;
    line-height: 1.4;
    margin-top: 2.4em;
    margin-bottom: 0.85em;
    padding-top: 0.4em;
    letter-spacing: -0.028em;
    color: var(--gp-text-main);
    scroll-margin-top: 90px;
}
/* H2 앞 세로 막대: 디자인 시스템 Heading — 단색 heading-bar 5×26px, 모서리 3px, 간격 12px */
.inside-article h2::before {
    content: "";
    display: inline-block;
    width: 5px; height: 26px;
    background: var(--heading-bar);
    border-radius: 3px;
    margin-right: 12px;
    vertical-align: -5px;
}
/* 목차 제목: 4×26px, 모서리 radius-bar, 간격 10px */
.inside-article .wp-block-rank-math-toc-block h2::before {
    width: 4px; border-radius: var(--radius-bar); margin-right: 10px;
}
.inside-article h3 {
    font-size: clamp(18px, 2.4vw, 20px);
    font-weight: 700;
    line-height: 1.45;
    margin-top: 1.9em;
    margin-bottom: 0.6em;
    color: var(--gp-text-main);
    scroll-margin-top: 90px;
}

/* H3 소형 포인트 바 */
.inside-article h3::before {
    content: "";
    display: inline-block;
    width: 3px;
    height: 14px;
    background: var(--gp-primary);
    opacity: 0.7;
    border-radius: 2px;
    margin-right: 10px;
    vertical-align: 0px;
}

/* 저자 소개·면책조항 박스(재사용 블록 35·14)의 제목. 예전에는 h3 였는데 Rank Math 목차가 편집기에서 재생성될 때
   이 제목을 목차에 넣어 죽은 링크가 생겼다. 제목 태그가 아닌 문단으로 바꾸고 h3 와 같은 모양을 준다. */
.inside-article p.ktax-box-title {
    font-weight: 700;
    line-height: 1.45;
    margin: 1.9em 0 0.6em;
    color: var(--gp-text-main);
}
.inside-article p.ktax-box-title::before {
    content: "";
    display: inline-block;
    width: 3px;
    height: 14px;
    background: var(--gp-primary);
    opacity: 0.7;
    border-radius: 2px;
    margin-right: 10px;
    vertical-align: 0px;
}

.inside-article h4 {
    font-size: 17px;
    font-weight: 700;
    color: var(--gp-primary);
    margin-top: 1.6em;
    margin-bottom: 0.5em;
}
.inside-article a {
    color: var(--gp-primary);
    text-decoration: none;
    border-bottom: 1px solid var(--gp-primary-ring);
    text-underline-offset: 3px;
    transition: border-color 0.18s ease, color 0.18s ease;
}
.inside-article a:hover { color: var(--gp-primary-hover); border-bottom-color: var(--gp-primary); }
.inside-article ul li,
.inside-article ol li { margin-bottom: 0.5em; }

/* --------------------------------------------------------------------------
   5. 콜아웃 / 인용 (세무 콘텐츠 특화: 법령/요약/주의/팁)
   기본 blockquote + 유틸 클래스(.is-tip/.is-warn/.is-tip/.is-summary)
   -------------------------------------------------------------------------- */
.inside-article blockquote {
    position: relative;
    background: var(--gp-card-bg);
    border: 1px solid var(--gp-border);
    border-left: 4px solid var(--gp-primary);
    border-radius: var(--gp-radius);
    margin: 2.2em 0;
    padding: 20px 24px;
    color: #33415A;
    font-size: 16px;
    font-style: normal; /* 부모 테마의 blockquote 기울임 제거 */
    box-shadow: var(--gp-shadow-sm);
}
.inside-article blockquote p:last-child { margin-bottom: 0; }
.inside-article blockquote cite,
.inside-article blockquote .source {
    display: block;
    margin-top: 10px;
    font-size: 13px;
    font-style: normal;
    color: var(--gp-text-muted);
}
.inside-article blockquote ul,
.inside-article blockquote ol {
	padding-left: 0;
	margin-left: 10px;
	margin-bottom: 0;
	margin-top: 5px;
}

/* ==========================================
   5-1. 글 서두 · 카드형 (제목/메타 → 질문 → 답변 → 요약 → 목차)
   ========================================== */
.single .entry-header {
    margin-bottom: 40px;
    padding-bottom: 28px;
}
.single .entry-title {
    font-size: clamp(23px, 4vw, 30px) !important;
    line-height: 1.38 !important;
    letter-spacing: -0.02em;
    margin-bottom: 14px !important;
    /* 편집자 노트 1027 #80: balance 는 두 줄을 같은 길이로 맞춰 첫 줄이 절반쯤에서 끊기고 오른쪽이 비었다.
       본문 폭을 채우되 마지막 줄에 짧은 말만 남지 않게 pretty 로 둔다. */
    text-wrap: pretty;
}
.single .entry-header .entry-meta {
    gap: 0;
    font-size: 13px;
    color: var(--gp-text-muted);
}
.single .entry-header .byline::before {
    content: "";
    display: inline-block;
    width: 1px; height: 11px;
    margin: 0 10px;
    background: var(--gp-border);
    vertical-align: -1px;
}
.single .entry-header .byline a {
    color: var(--gp-text-sub);
    border-bottom: 0;
}

/* 질문: 본문 첫 번째 기본 인용을 "Q" 질문 블록으로 */
.inside-article .entry-content > blockquote:first-child:not(.is-tip):not(.is-warn):not(.is-summary) {
    position: relative;
    margin: 0 0 44px;
    padding: 0 0 0 50px;
    background: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.inside-article .entry-content > blockquote:first-child:not(.is-tip):not(.is-warn):not(.is-summary)::before {
    content: "Q";
    position: absolute;
    left: 0; top: 0;
    display: flex; align-items: center; justify-content: center;
    width: 36px; height: 36px;
    border-radius: 50%;
    background: var(--gp-primary-light);
    color: var(--gp-primary);
    font-size: 16px; font-weight: 700; line-height: 1;
}
.inside-article .entry-content > blockquote:first-child:not(.is-tip):not(.is-warn):not(.is-summary) p {
    margin: 0;
    font-size: 21px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: -0.01em;
    color: var(--gp-text-main);
}
.inside-article .entry-content > blockquote:first-child:not(.is-tip):not(.is-warn):not(.is-summary) p:first-child::before {
    content: "이런 질문에 답합니다";
    display: block;
    margin: 1px 0 4px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0;
    color: var(--gp-primary);
}

/* 답변: 질문 바로 뒤 문단(들기) — 첫 문단은 크게, 둘째 문단은 보조색 */
.inside-article .entry-content > blockquote:first-child + p {
    margin-bottom: 14px;
    padding-left: 50px;
    font-size: 17px;
    line-height: 1.8;
    color: var(--gp-text-main);
}
.inside-article .entry-content > blockquote:first-child + p + p:has(+ blockquote.is-summary) {
    padding-left: 50px;
    font-size: 16px;
    line-height: 1.8;
    color: var(--gp-text-sub);
}
.inside-article .entry-content p:has(+ blockquote.is-summary) { margin-bottom: 0; }
.inside-article .entry-content > blockquote.is-summary { margin-top: 52px; margin-bottom: 0; }
.inside-article .is-summary + .wp-block-rank-math-toc-block { margin-top: 64px; }
.inside-article .wp-block-rank-math-toc-block h2 { margin-top: 0; margin-bottom: 20px; padding-top: 0; }

/* ==========================================
   5-2. 콜아웃 · S1 통일 (핵심 요약 / 주의 / 알아두면 좋아요)
   흰 바탕 · 1px 테두리 · 옅은 그림자 · 모서리 14px 는 공통,
   아이콘 타일과 칩 색만 종류별로 다르다.
   ::before = 헤더(아이콘 타일 + 제목 + 구분선), ::after = 개수 칩
   ========================================== */
.inside-article blockquote.is-summary,
.inside-article blockquote.is-warn,
.inside-article blockquote.is-tip {
    position: relative;
    margin: 40px 0;
    padding: 84px 26px 20px;
    background: #FFFFFF;
    border: 1px solid #DFE7F7;
    border-radius: 14px;
    box-shadow: 0 1px 2px rgba(22, 32, 46, 0.04), 0 10px 28px -18px rgba(22, 32, 46, 0.22);
    color: #27324A;
    font-size: 15.5px;
    line-height: 1.75;
    counter-reset: callout;
}
.inside-article blockquote.is-summary:has(> ul) { padding: 70px 26px 8px; }
.inside-article blockquote.is-summary p,
.inside-article blockquote.is-warn p,
.inside-article blockquote.is-tip p {
    margin: 0 0 0.8em;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
}
.inside-article blockquote.is-summary p:last-child,
.inside-article blockquote.is-warn p:last-child,
.inside-article blockquote.is-tip p:last-child { margin-bottom: 0; }
.inside-article blockquote.is-summary strong,
.inside-article blockquote.is-warn strong,
.inside-article blockquote.is-tip strong { color: var(--gp-text-main); }

/* 헤더 */
.inside-article blockquote.is-summary::before,
.inside-article blockquote.is-warn::before,
.inside-article blockquote.is-tip::before {
    position: absolute;
    top: 0; left: 0; right: 0;
    box-sizing: border-box;
    display: flex; align-items: center;
    height: 66px;
    padding: 0 26px 0 67px;
    border-bottom: 1px solid #EDF1F7;
    background-repeat: no-repeat;
    background-position: 26px 18px;
    background-size: 30px 30px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.01em;
    color: var(--gp-text-main);
}
.inside-article blockquote.is-summary::before { content: "핵심 요약"; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Crect width='30' height='30' rx='9' fill='%231e4fbf'/%3E%3Cg transform='translate(7.5 7.5) scale(.625)' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6h12M8 12h12M8 18h8'/%3E%3Ccircle cx='4' cy='6' r='1'/%3E%3Ccircle cx='4' cy='12' r='1'/%3E%3Ccircle cx='4' cy='18' r='1'/%3E%3C/g%3E%3C/svg%3E"); }
.inside-article blockquote.is-warn::before    { content: "주의";     background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Crect width='30' height='30' rx='9' fill='%23b45309'/%3E%3Cg transform='translate(7.5 7.5) scale(.625)' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5 2.5 20h19L12 3.5z'/%3E%3Cpath d='M12 10v4.5'/%3E%3Cpath d='M12 17.2v.1'/%3E%3C/g%3E%3C/svg%3E"); }
.inside-article blockquote.is-tip::before     { content: "알아두면 좋아요"; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Crect width='30' height='30' rx='9' fill='%230f766e'/%3E%3Cg transform='translate(7.5 7.5) scale(.625)' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21h4'/%3E%3Cpath d='M12 3a6 6 0 0 0-3.6 10.8c.6.5 1 1.2 1 2V16h5.2v-.2c0-.8.4-1.5 1-2A6 6 0 0 0 12 3z'/%3E%3C/g%3E%3C/svg%3E"); }

/* 요약 부제(디자인 시스템 Summary): 제목 아래 12px ink-faint 한 줄. 모든 글에서 같은 문구라 CSS로 고정한다.
   헤더 ::before(제목)는 이미 쓰고 있어, 첫 자식(p 또는 ul)의 ::before 를 헤더 자리에 절대 배치한다. */
.inside-article blockquote.is-summary::before { padding-bottom: 18px; }
.inside-article blockquote.is-summary > :first-child::before {
    content: "바쁘면 이것만 읽어도 됩니다";
    position: absolute; top: 35px; left: 67px;
    font-size: 12px; font-weight: 400; line-height: 1.4; letter-spacing: 0;
    color: var(--ink-faint);
}

/* 개수 칩 (요약 · 목록형 주의만). 팁과 일반 주의는 칩 없음 */
.inside-article blockquote.is-summary::after,
.inside-article blockquote.is-warn::after,
.inside-article blockquote.is-tip::after {
    content: none;
    position: absolute;
    top: 22px; right: 26px;
    width: auto; height: auto;
    padding: 3px 10px;
    border-radius: 999px;
    background: var(--gp-primary-light);
    -webkit-mask: none; mask: none;
    color: var(--gp-primary);
    font-size: 11.5px;
    font-weight: 600;
    line-height: 16px;
}
.inside-article blockquote.is-summary:has(> ul)::after { content: "결론 " counter(callout) "가지"; }
.inside-article blockquote.is-warn:has(> ul)::after {
    content: counter(callout) "가지";
    background: #FDF1E3;
    color: var(--gp-warn);
}

/* 목록 공통 */
.inside-article blockquote.is-summary > ul,
.inside-article blockquote.is-warn > ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.inside-article blockquote.is-summary > ul > li,
.inside-article blockquote.is-warn > ul > li {
    position: relative;
    margin: 0;
    counter-increment: callout;
}
/* 본문 리스트 규칙(.entry-content ul > li::before 의 파란 점)을 초기화하고 다시 그린다 */
.inside-article blockquote.is-summary > ul > li::before,
.inside-article blockquote.is-warn > ul > li::before {
    content: "";
    position: absolute;
    left: 0; top: auto;
    border-radius: 50%;
}

/* 요약: 번호 배지 + 항목 사이 옅은 구분선 */
.inside-article blockquote.is-summary > ul > li { padding: 15px 0 15px 38px; }
.inside-article blockquote.is-summary > ul > li + li { border-top: 1px solid #E8EEF9; }
.inside-article blockquote.is-summary > ul > li::before {
    content: counter(callout);
    top: 16.6px;
    display: flex; align-items: center; justify-content: center;
    width: 24px; height: 24px;
    background: var(--gp-primary-light);
    color: var(--gp-primary);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

/* 주의 · 목록형: 주황 점 불릿 */
.inside-article blockquote.is-warn > ul > li { padding: 3px 0 3px 18px; }
.inside-article blockquote.is-warn > ul > li::before {
    top: 14px;
    width: 5px; height: 5px;
    background: var(--gp-warn);
}

@media (max-width: 768px) {
    .single .entry-header { margin-bottom: 34px; padding-bottom: 22px; }

    .inside-article .entry-content > blockquote:first-child:not(.is-tip):not(.is-warn):not(.is-summary) {
        margin-bottom: 36px;
        padding-left: 42px;
    }
    .inside-article .entry-content > blockquote:first-child:not(.is-tip):not(.is-warn):not(.is-summary)::before {
        width: 30px; height: 30px;
        font-size: 14px;
    }
    .inside-article .entry-content > blockquote:first-child:not(.is-tip):not(.is-warn):not(.is-summary) p { font-size: 18px; }
    .inside-article .entry-content > blockquote:first-child + p { padding-left: 0; font-size: 16px; }
    .inside-article .entry-content > blockquote:first-child + p + p:has(+ blockquote.is-summary) { padding-left: 0; font-size: 15px; }
    .inside-article .entry-content > blockquote.is-summary { margin-top: 44px; }
    .inside-article .is-summary + .wp-block-rank-math-toc-block { margin-top: 52px; }

    .inside-article blockquote.is-summary,
    .inside-article blockquote.is-warn,
    .inside-article blockquote.is-tip {
        padding: 84px 18px 20px;
        font-size: 14.5px;
    }
    .inside-article blockquote.is-summary:has(> ul) { padding: 70px 18px 8px; }
    .inside-article blockquote.is-summary::before,
    .inside-article blockquote.is-warn::before,
    .inside-article blockquote.is-tip::before {
        padding: 0 18px 0 59px;
        background-position: 18px 18px;
    }
    .inside-article blockquote.is-summary::after,
    .inside-article blockquote.is-warn::after,
    .inside-article blockquote.is-tip::after { right: 18px; }
    .inside-article blockquote.is-summary::before { padding-bottom: 18px; }
    .inside-article blockquote.is-summary > :first-child::before { left: 59px; }
    .inside-article blockquote.is-summary > ul > li { padding-top: 16px; padding-bottom: 16px; }
    .inside-article blockquote.is-summary > ul > li::before { top: 16.7px; }
}

/* --------------------------------------------------------------------------
   6. 표 ? 에디토리얼 데이터 테이블 (수치 최적화)
   -------------------------------------------------------------------------- */
/* 스크롤 래퍼로 감싸면 좁은 화면에서 그림자 힌트 제공(.table-scroll) */
.inside-article .table-scroll {
    position: relative;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 2.4em 0;
    /* 둥근 모서리로 자르면 표 맨 위·아래 선의 양 끝이 깎여 짧아 보인다 */
    border-radius: 0;
}

/* T1 · 라인형 + 위·아래 선: 세로선·배경·그림자 없이 가로선만 남긴다.
   표 맨 위·맨 아래에 1.5px 진한 선, 머리글 아래에 1px 진한 선을 둬서
   표가 닫힌 상자처럼 읽히게 한다. 행 사이는 1px 옅은 선. */
.inside-article table {
    width: 100%;
    margin: 40px 0;
    border-collapse: collapse;
    border-spacing: 0;
    border: 0;
    border-radius: 0;
    font-size: 15px;
    line-height: 1.6;
    color: var(--gp-text-main);
    background: transparent;
    box-shadow: none;
    font-variant-numeric: tabular-nums;
}
.inside-article .table-scroll table { margin: 0; }
.inside-article .table-scroll { margin: 40px 0; }

/* 캡션 */
.inside-article table caption {
    caption-side: top;
    text-align: left;
    font-size: 13px;
    font-weight: 600;
    color: var(--gp-text-muted);
    padding: 0 2px 10px;
}

/* Header: 위 선은 표가 아니라 머리글 칸의 위 테두리로 긋는다.
   (표 테두리로 그으면 테마의 둥근 모서리·collapse 규칙 때문에 아래 선보다 짧아 보인다.)
   글씨 크기는 셀과 같게 두고 굵기(700)와 색으로만 구분한다. */
.inside-article table thead th {
    padding: 14px 16px;
    background: transparent;
    color: var(--gp-text-main);
    font-size: 15px;
    font-weight: 700;
    text-align: left;
    vertical-align: bottom;
    border: 0;
    border-top: 1.5px solid var(--gp-text-main);
    border-bottom: 1px solid var(--gp-text-main);
}
/* 머리글(thead)이 없는 표: 첫 행 위에 같은 굵은 선 */
.inside-article table:not(:has(thead)) tr:first-child > * {
    border-top: 1.5px solid var(--gp-text-main);
}

/* Body */
.inside-article table td {
    padding: 16px 16px;
    background: transparent;
    color: #26303F; /* 본문(.inside-article p)과 같은 글자색. 편집자 노트 1101 #77 */
    font-weight: 400;
    text-align: left;
    vertical-align: middle;
    border: 0;
    border-bottom: 1px solid var(--gp-border);
}
.inside-article table tbody tr:hover td { background: transparent; }
/* 마지막 행 아래: 표 맨 아래 진한 선 */
.inside-article table tbody tr:last-child td { border-bottom: 1.5px solid var(--gp-text-main); }

/* 첫 열이 머리글 역할인 표: 표 블록의 "추가 CSS 클래스"에 row-head.
   figure(블록 래퍼)나 table 어느 쪽에 붙어도 동작한다. 굵게 600 · 진한 글씨 · 오른쪽 1px 구분선(행 사이 선과 같은 --gp-border). */
.inside-article .row-head table thead th:first-child,
.inside-article table.row-head thead th:first-child,
.inside-article .row-head table tbody > tr > :first-child,
.inside-article table.row-head tbody > tr > :first-child {
    /* 세로선은 border가 아니라 칸 안쪽 그림자로 긋는다. border-collapse 표에서 세로 테두리가
       위 선과 만나는 모서리는 확대 배율에 따라 반올림 틈(흰 픽셀)이 생기기 때문이다. */
    box-shadow: inset -1px 0 0 var(--line-strong);
}
.inside-article .row-head table tbody > tr > :first-child,
.inside-article table.row-head tbody > tr > :first-child {
    color: var(--gp-text-main);
    font-weight: 600;
    text-align: left;
}

/* 조회표(디자인 시스템 Table › 조회표): figure 또는 table 에 is-lookup.
   왼쪽 열은 상황(폭 약 45%), 오른쪽 열은 답 — 굵게 + 앞에 › (accent). 선·머리글은 기본 표와 같다. */
.inside-article .is-lookup table thead th,
.inside-article table.is-lookup thead th { text-align: left; }
.inside-article .is-lookup table tbody > tr > :first-child,
.inside-article table.is-lookup tbody > tr > :first-child { width: 45%; text-align: left; color: #26303F; font-weight: 400; box-shadow: none; }
.inside-article .is-lookup table tbody > tr > :last-child,
.inside-article table.is-lookup tbody > tr > :last-child { text-align: left; font-weight: 700; color: var(--ink); }
/* › 표시는 폭 1em 고정 상자로 두고, 답변 칸을 1em 내어쓰기(hanging indent)한다: 줄이 바뀌거나 ktax-note-break 가 내려가도
   둘째 줄부터 › 가 아니라 첫 줄의 글자 시작 위치에 맞는다. 칸 안쪽 여백(--lk-x)은 화면 폭별로 바꾼다. */
.inside-article .is-lookup table tbody > tr > :last-child,
.inside-article table.is-lookup tbody > tr > :last-child { --lk-x: 16px; padding-left: calc(var(--lk-x) + 1em); text-indent: -1em; }
.inside-article .is-lookup table tbody > tr > :last-child::before,
.inside-article table.is-lookup tbody > tr > :last-child::before { content: "›"; display: inline-block; width: 1em; text-indent: 0; color: var(--accent); font-weight: 700; }
.inside-article .is-lookup table tbody > tr > :last-child .ktax-note-break,
.inside-article table.is-lookup tbody > tr > :last-child .ktax-note-break { text-indent: 0; }

/* 숫자 열: 우측 정렬 + 등폭 숫자 (th/td에 class="num") */
.inside-article table td.num,
.inside-article table th.num {
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
    white-space: nowrap;
}
/* 열 단위 정렬(2026-10-07, 편집자 노트 627 #43·#44, 599 #41, 141 #35):
   정렬 정보가 셀마다 class="num"으로만 들어 있어 머리글(th)에 빠지면 머리글만 왼쪽에 남고(627·599 원고 모두 th에 num 없음),
   한 열에 num 아닌 셀이 섞이면("변동 없음") 그 셀만 왼쪽에 남았다. 열 안에 td.num이 하나라도 있으면 그 열의 머리글과 모든 셀을
   같은 쪽(오른쪽)으로 맞춘다. 원고에서 th/td마다 num을 붙였는지와 무관하게 열이 한 정렬이 된다. 결론 행의 병합 셀은 해당 없음.
   열 번호는 1~8까지(그 이상 열은 표가 가로 스크롤이라 원고에서 num을 붙인다). 첫 열이 행 머리글(row-head)이면 num이 없어 적용되지 않는다. */
.inside-article table:has(tbody > tr > :nth-child(1).num) :is(thead th, tbody td):nth-child(1),
.inside-article table:has(tbody > tr > :nth-child(2).num) :is(thead th, tbody td):nth-child(2),
.inside-article table:has(tbody > tr > :nth-child(3).num) :is(thead th, tbody td):nth-child(3),
.inside-article table:has(tbody > tr > :nth-child(4).num) :is(thead th, tbody td):nth-child(4),
.inside-article table:has(tbody > tr > :nth-child(5).num) :is(thead th, tbody td):nth-child(5),
.inside-article table:has(tbody > tr > :nth-child(6).num) :is(thead th, tbody td):nth-child(6),
.inside-article table:has(tbody > tr > :nth-child(7).num) :is(thead th, tbody td):nth-child(7),
.inside-article table:has(tbody > tr > :nth-child(8).num) :is(thead th, tbody td):nth-child(8) {
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
}

/* 열이 둘뿐인 표(조회표 제외): 오른쪽 열 값이 짧으면 표 폭 전체로 벌어져 "양쪽 맞춤"처럼 왼쪽 항목과 오른쪽 값이 멀리 떨어진다
   (편집자 노트 141 #35). 표 폭에 상한을 둬 한 줄로 읽히게 한다. 모바일은 본문 폭이 더 좁아 영향이 없다. */
.inside-article table:not(:has(thead th:nth-child(3))):not(.is-lookup):not(.is-lookup table) { max-width: 32em; }

/* 독자 입장의 유리(pos)·불리(neg) 값. 부호(+/−)와 무관 */
.inside-article table td.pos { color: var(--gp-primary); font-weight: 700; }
.inside-article table td.neg { color: var(--gp-warn); font-weight: 700; }

/* 증감(up/down): 유불리로 나누기 애매한 값의 방향만. 색은 쓰지 않는다(색은 pos/neg 전용). */
.inside-article table td.up::before,
.inside-article table td.down::before {
    display: inline-block;
    margin-right: 4px;
    font-size: 0.72em;
    color: var(--ink-muted);
    vertical-align: 0.12em;
}
.inside-article table td.up::before { content: "▲"; }
.inside-article table td.down::before { content: "▼"; }

/* 합계/결과 행: 위쪽 굵은 선 + 굵게 + 17px 파랑 (tr에 class="total") */
.inside-article table tr.total td {
    padding-top: 16px;
    background: transparent !important;
    font-weight: 700;
    color: var(--gp-text-main);
    border-top: 1.5px solid var(--gp-text-main);
}
.inside-article table tr.total td.num {
    font-size: 17px;
    color: var(--gp-primary);
}
/* 숫자 열(td.num)의 유리·불리는 굵기(font-weight)를 바꾸지 않는다. 굵기가 다르면 같은 자릿수도 폭이 달라져 위아래 숫자를
   자릿수로 비교할 수 없다(같은 열의 다른 셀은 400). 대신 획을 덧입혀(-webkit-text-stroke) 굵어 보이게 한다: 글자 폭은 그대로다.
   결론 행은 원래 굵고 커서 비교 대상에서 제외한다. */
.inside-article table tr:not(.total) td.num.pos,
.inside-article table tr:not(.total) td.num.neg { font-weight: inherit; -webkit-text-stroke: 0.5px currentColor; }
/* 결론 행에서도 유리·불리 값은 색으로 구분한다(위 규칙이 td.pos/td.neg 색을 덮어쓰지 않도록 뒤에 둔다) */
.inside-article table tr.total td.pos { color: var(--gp-primary); }
.inside-article table tr.total td.neg { color: var(--gp-warn); }

/* 강조 텍스트 */
.inside-article strong { font-weight: 700; color: var(--gp-text-main); }
.inside-article em strong,
.inside-article strong.accent { color: var(--gp-primary); }
.inside-article mark {
    background: linear-gradient(180deg, transparent 55%, rgba(14, 147, 132, 0.22) 55%);
    color: inherit;
    padding: 0 2px;
    border-radius: 2px;
}

/* 강조 등급(ktax-write style.md › 강조). 강도는 내용의 중요도: A 결정 > B 중요(strong) > C 구분.
   A = 굵게 + 얇은 형광 띠(글자 아래 좁은 구간). 굵게를 포함하므로 원고에서 ** 로 감싸지 않는다. */
.inside-article .ktax-key {
    font-weight: 700;
    color: var(--ink);
    background: linear-gradient(180deg, transparent 72%, var(--accent-mark) 72%, var(--accent-mark) 94%, transparent 94%);
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}
/* C = 회색 점선 밑줄. 링크(파랑 글자 + 파랑 아래 선)와 겹치지 않게 색·굵기를 바꾸지 않는다.
   밑줄은 text-decoration 대신 ::after 박스로 그린다(길이·세로 위치를 픽셀 단위로 직접 조절하기 위함 — 2026-10-04). */
.inside-article .ktax-cue {
    position: relative;
    color: var(--ink);
}
.inside-article .ktax-cue::after {
    content: "";
    position: absolute;
    left: 1px;
    right: 1px;
    bottom: -1px;
    border-bottom: 1.82px dotted var(--ink-faint);
    pointer-events: none;
}
.inside-article table .ktax-cue::after {
    bottom: -3px;
}

.inside-article code {
    background: var(--gp-card-bg);
    border: 1px solid var(--gp-border);
    border-radius: 6px;
    padding: 2px 6px;
    font-size: 0.9em;
    color: var(--gp-text-main);
    font-variant-numeric: tabular-nums;
}

/* --------------------------------------------------------------------------
   7. 버튼 / CTA
   -------------------------------------------------------------------------- */
.button, .wp-block-button__link {
    background: var(--gp-primary) !important;
    color: #fff !important;
    border-radius: var(--gp-radius-sm) !important;
    font-weight: 700;
    padding: 13px 24px;
    box-shadow: var(--gp-shadow-sm);
    transition: background 0.18s ease, transform 0.08s ease, box-shadow 0.18s ease;
}
.button:hover, .wp-block-button__link:hover {
    background: var(--gp-primary-hover) !important;
    transform: translateY(-1px);
    box-shadow: var(--gp-shadow-md);
}
.wp-block-button.is-style-outline .wp-block-button__link {
    background: transparent !important;
    color: var(--gp-primary) !important;
    border: 1px solid var(--gp-primary) !important;
    box-shadow: none;
}

/* --------------------------------------------------------------------------
   8. 아카이브/블로그 목록 ? 카드형 그리드
   -------------------------------------------------------------------------- */
.blog .site-main,
.archive:not(.category):not(.tag) .site-main,
.search-results .site-main {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
    max-width: 1040px;
    margin: 0 auto;
}
.blog .site-main > .generate-columns-container,
.archive:not(.category):not(.tag) .site-main > .generate-columns-container { display: contents; }

.blog article.post,
.archive:not(.category):not(.tag) article.post {
    background: var(--gp-bg);
    border: 1px solid var(--gp-border);
    border-radius: var(--gp-radius);
    overflow: hidden;
    box-shadow: var(--gp-shadow-sm);
    transition: box-shadow 0.22s ease, transform 0.22s ease, border-color 0.22s ease;
}
.blog article.post:hover,
.archive:not(.category):not(.tag) article.post:hover {
    box-shadow: var(--gp-shadow-md);
    transform: translateY(-3px);
    border-color: var(--gp-border-strong);
}
.blog article .inside-article,
.archive:not(.category):not(.tag) article .inside-article { padding: 24px !important; }
.blog article .entry-title,
.archive:not(.category):not(.tag) article .entry-title { font-size: 20px !important; line-height: 1.4 !important; margin-bottom: 10px !important; }
.blog article .entry-header,
.archive:not(.category):not(.tag) article .entry-header { border: none; padding: 0; margin: 0 0 10px; }

/* --------------------------------------------------------------------------
   8b. 카테고리·태그 목록 — 질문 목록형 (한 열, 820px)
   글마다 [날짜 · 읽는 시간] / 제목 / Q 한 줄. 마크업은 functions.php 참고.
   -------------------------------------------------------------------------- */
.category .site-main,
.tag .site-main,
.blog .site-main,
.search-results .site-main {
    display: block;
    max-width: 820px;
    margin: 0 auto;
}
.category .page-header,
.tag .page-header,
.blog .page-header,
.search-results .page-header {
    background: none;
    border: 0;
    padding: 0;
    margin: 0;
}
.ktax-crumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 6px;
    margin-bottom: 14px;
    font-size: 13px;
    color: var(--gp-text-muted);
}
.ktax-crumb a { color: inherit; text-decoration: none; }
.ktax-crumb a:hover { color: var(--gp-primary); }
.ktax-crumb [aria-current] { color: var(--gp-text-sub); }
.category .page-title,
.tag .page-title,
.blog .page-title,
.search-results .page-title {
    margin: 0;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.02em;
    color: var(--gp-text-main);
}
.category .taxonomy-description,
.tag .taxonomy-description,
.blog .taxonomy-description,
.search-results .taxonomy-description { margin-bottom: 32px; }
.category .taxonomy-description p,
.tag .taxonomy-description p,
.blog .taxonomy-description p,
.search-results .taxonomy-description p {
    margin: 12px 0 0;
    font-size: 16.5px;
    line-height: 1.75;
    color: var(--gp-text-sub);
}
.ktax-list-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: -4px 0 32px;
}
.ktax-list-filter a,
.ktax-list-filter span {
    padding: 7px 15px;
    border: 1px solid var(--gp-border-strong);
    border-radius: 999px;
    font-size: 13.5px;
    font-weight: 500;
    line-height: 1.4;
    color: #33415A;
    background: var(--gp-bg);
}
.ktax-list-filter a:hover { border-color: var(--gp-primary); color: var(--gp-primary); }
.ktax-list-filter .is-current {
    background: var(--gp-text-main);
    border-color: var(--gp-text-main);
    color: #fff;
}

.category article.post,
.tag article.post,
.blog article.post,
.search-results article.post,
.search-results article.page,
.category article.post:hover,
.tag article.post:hover,
.blog article.post:hover,
.search-results article.post:hover,
.search-results article.page:hover {
    margin: 0;
    background: none;
    border: 0;
    border-top: 1px solid var(--gp-border);
    border-radius: 0;
    box-shadow: none;
    transform: none;
    overflow: visible;
}
.category article.post:first-of-type,
.tag article.post:first-of-type,
.blog article.post:first-of-type,
.search-results article.post:first-of-type,
.search-results article.page:first-of-type { border-top: 1.5px solid var(--gp-text-main); }
.category article.post:last-of-type,
.tag article.post:last-of-type,
.blog article.post:last-of-type,
.search-results article.post:last-of-type,
.search-results article.page:last-of-type { border-bottom: 1.5px solid var(--gp-text-main); }
.category article .inside-article,
.tag article .inside-article,
.blog article .inside-article,
.search-results article .inside-article { padding: 26px 0 !important; }
.category article .entry-header,
.tag article .entry-header,
.blog article .entry-header,
.search-results article .entry-header { margin: 0; padding: 0; border: 0; }
.category article .entry-title,
.tag article .entry-title,
.blog article .entry-title,
.search-results article .entry-title {
    margin: 10px 0 0 !important;
    padding: 0;
    font-size: 19px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    letter-spacing: -0.01em;
    text-wrap: pretty;
    word-break: keep-all;
}
.category article .entry-title::before,
.tag article .entry-title::before,
.blog article .entry-title::before,
.search-results article .entry-title::before { content: none; display: none; }
.one-container.category article.post:not(:last-child):not(.is-loop-template-item),
.one-container.tag article.post:not(:last-child):not(.is-loop-template-item),
.one-container.blog article.post:not(:last-child):not(.is-loop-template-item),
.one-container.search-results article.post:not(:last-child):not(.is-loop-template-item),
.one-container.search-results article.page:not(:last-child):not(.is-loop-template-item) { padding-bottom: 0; }
.category article a,
.tag article a,
.blog article a,
.search-results article a { border-bottom: 0; }
.category article .entry-title a,
.tag article .entry-title a,
.blog article .entry-title a,
.search-results article .entry-title a { color: var(--gp-text-main); }
.category article .entry-title a:hover,
.tag article .entry-title a:hover,
.blog article .entry-title a:hover,
.search-results article .entry-title a:hover { color: var(--gp-primary); }

.ktax-list-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
    font-size: 12.5px;
    line-height: 1.4;
    color: var(--gp-text-muted);
}
.ktax-list-chip {
    display: inline-block;
    padding: 2px 9px;
    border-radius: 999px;
    background: var(--gp-primary-light);
    color: var(--gp-primary);
    font-size: 12px;
    font-weight: 600;
}
.ktax-list-chip:hover { color: var(--gp-primary-hover); }

.category .entry-summary,
.tag .entry-summary,
.blog .entry-summary,
.search-results .entry-summary { margin: 8px 0 0; }
.ktax-list-q {
    display: flex;
    gap: 8px;
    align-items: baseline;
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--gp-text-sub);
    word-break: keep-all;
}
.ktax-list-q-mark {
    flex: none;
    font-size: 12px;
    font-weight: 700;
    color: var(--gp-primary);
}

.category .paging-navigation,
.tag .paging-navigation,
.blog .paging-navigation,
.search-results .paging-navigation {
    margin-top: 32px;
    background: none;
    border: 0;
    padding: 0;
}
.category .nav-links,
.tag .nav-links,
.blog .nav-links,
.search-results .nav-links { margin-top: 0; gap: 6px; }
.category .page-numbers,
.tag .page-numbers,
.blog .page-numbers,
.search-results .page-numbers {
    min-width: 34px;
    height: 34px;
    padding: 0 6px;
    border: 0;
    border-radius: var(--gp-radius-sm);
    font-size: 14px;
    font-weight: 400;
    background: none;
    color: var(--gp-text-sub);
}
.category a.page-numbers:hover,
.tag a.page-numbers:hover,
.blog a.page-numbers:hover,
.search-results a.page-numbers:hover { background: var(--gp-card-bg); color: var(--gp-text-main); }
.category .page-numbers.current,
.tag .page-numbers.current,
.blog .page-numbers.current,
.search-results .page-numbers.current { background: var(--gp-text-main); color: #fff; }

.search-results .page-header { margin-bottom: 32px; }

@media (max-width: 768px) {
    .category .page-title,
    .tag .page-title,
    .blog .page-title,
    .search-results .page-title { font-size: 28px; }
    .category .taxonomy-description p,
    .tag .taxonomy-description p,
    .blog .taxonomy-description p,
    .search-results .taxonomy-description p { font-size: 15.5px; }
    .category article .inside-article,
    .tag article .inside-article,
    .blog article .inside-article,
    .search-results article .inside-article { padding: 22px 0 !important; }
    .category article .entry-title,
    .tag article .entry-title,
    .blog article .entry-title,
    .search-results article .entry-title { font-size: 17.5px !important; }
}

/* --------------------------------------------------------------------------
   8c. 홈 — 검색 + 주제형 (front-page.php)
   히어로 → 주제별 카드 → 최신 글(질문 한 줄) → 작성 원칙
   -------------------------------------------------------------------------- */
.home { overflow-x: clip; }
.page .site-main.ktax-home { max-width: none; margin: 0; }

.ktax-hero {
    position: relative;
    isolation: isolate;
    margin-top: -56px;              /* .site-content 위 여백을 지워 헤더 바로 아래에서 시작 */
    padding: 72px 0 60px;
    text-align: center;
}
.ktax-hero::before {                 /* 화면 전체 너비 배경 */
    content: "";
    position: absolute;
    z-index: -1;
    top: 0; bottom: 0;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    background: var(--gp-card-bg);
    border-bottom: 1px solid var(--gp-border);
}
.ktax-hero > * { max-width: 880px; margin-left: auto; margin-right: auto; }
.ktax-hero h1 {
    margin: 0 auto;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.02em;
    color: var(--gp-text-main);
    text-align: center;
    text-wrap: balance;
}
.ktax-hero .ktax-hero-lead { max-width: 640px; margin-top: 16px; }
.ktax-hero-lead p {
    margin: 0;
    font-size: 17px;
    line-height: 1.75;
    color: var(--gp-text-sub);
    text-wrap: pretty;
}
.ktax-hero-lead p + p { margin-top: 8px; }

.ktax-hero .ktax-search {
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: 620px;
    height: 58px;
    margin-top: 32px;
    padding: 0 8px 0 22px;
    background: var(--gp-bg);
    border: 1.5px solid var(--gp-text-main);
    border-radius: var(--gp-radius);
    text-align: left;
    transition: box-shadow 0.16s ease;
}
.ktax-search:focus-within { box-shadow: 0 0 0 4px var(--gp-primary-ring); }
.ktax-search input[type="search"],
.ktax-search input[type="search"]:focus {
    flex: 1;
    min-width: 0;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    box-shadow: none;
    background: none;
    font-size: 16px;
    color: var(--gp-text-main);
}
.ktax-search input[type="search"]::placeholder { color: var(--gp-text-muted); opacity: 1; }
.ktax-search button {
    flex: none;
    padding: 11px 20px;
    border: 0;
    border-radius: var(--gp-radius-sm);
    background: var(--gp-text-main);
    color: #fff;
    font-size: 14.5px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    transition: background 0.16s ease;
}
.ktax-search button:hover { background: var(--gp-primary); }
.ktax-search button:focus-visible { outline: 2px solid var(--gp-primary); outline-offset: 2px; }

.ktax-hero .ktax-hot {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
}
.ktax-hot-label { margin-right: 4px; font-size: 13px; color: var(--gp-text-muted); }
.ktax-hot a {
    padding: 7px 15px;
    border: 1px solid var(--gp-border-strong);
    border-radius: 999px;
    background: var(--gp-bg);
    font-size: 13.5px;
    font-weight: 500;
    line-height: 1.4;
    color: #33415A;
    text-decoration: none;
}
.ktax-hot a:hover { border-color: var(--gp-primary); color: var(--gp-primary); }

.ktax-home-body { max-width: 1080px; margin: 0 auto; padding: 64px 0 8px; }
.ktax-sec + .ktax-sec { margin-top: 64px; }
.ktax-sec-head { display: flex; align-items: baseline; gap: 12px; margin: 0 0 20px; }
.ktax-sec-head h2 {
    margin: 0;
    padding: 0;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.4;
    color: var(--gp-text-main);
}
.ktax-sec-head h2::before { content: none; }
.ktax-sec-head span { font-size: 13.5px; color: var(--gp-text-muted); }
.ktax-sec-link { margin-left: auto; font-size: 14px; font-weight: 600; color: var(--gp-primary); text-decoration: none; }
.ktax-sec-link:hover { color: var(--gp-primary-hover); }

.ktax-topics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.ktax-topic {
    display: flex;
    flex-direction: column;
    padding: 22px 22px 20px;
    border: 1px solid var(--gp-border);
    border-radius: var(--gp-radius);
    background: var(--gp-bg);
    color: inherit;
    text-decoration: none;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
.ktax-topic:hover {
    border-color: var(--gp-border-strong);
    box-shadow: var(--gp-shadow-md);
    transform: translateY(-2px);
}
.ktax-topic strong { font-size: 16.5px; font-weight: 700; line-height: 1.4; color: var(--gp-text-main); }
.ktax-topic-desc {
    margin-top: 6px;
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--gp-text-sub);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
}
.ktax-topic-more { margin-top: auto; padding-top: 14px; font-size: 13px; font-weight: 600; color: var(--gp-primary); }
.ktax-topic:focus-visible { outline: 2px solid var(--gp-primary); outline-offset: 2px; }

.ktax-latest { border-bottom: 1.5px solid var(--gp-text-main); }
.ktax-item { padding: 22px 0; border-top: 1px solid var(--gp-border); }
.ktax-item:first-child { border-top: 1.5px solid var(--gp-text-main); }
.ktax-item-title {
    margin: 9px 0 0;
    padding: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: -0.01em;
    text-wrap: pretty;
    word-break: keep-all;
}
.ktax-item-title a { color: var(--gp-text-main); text-decoration: none; }
.ktax-item-title a:hover { color: var(--gp-primary); }
.ktax-item .ktax-list-q { margin-top: 8px; font-size: 14px; }
.ktax-list-chip { text-decoration: none; }

.ktax-rules {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
    padding-top: 20px;
    border-top: 1px solid var(--gp-border);
}
.ktax-rules strong { display: block; font-size: 15px; font-weight: 700; color: var(--gp-text-main); }
.ktax-rules p { margin: 6px 0 0; font-size: 13.5px; line-height: 1.65; color: var(--gp-text-sub); word-break: keep-all; }

/* 푸터 안내 문구 (모든 페이지) */
.ktax-foot-note { display: block; margin: 0 auto 10px; max-width: 720px; font-size: 13px; line-height: 1.7; }
.ktax-foot-note strong { font-weight: 600; color: #fff; }

/* 푸터 링크 줄: 소개·이용 안내·개인정보처리방침·문의 */
.ktax-foot-links { margin: 0 auto 10px; }
.ktax-foot-links ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 20px; }
.ktax-foot-links li { margin: 0; }
.site-footer .ktax-foot-links a, .ktax-foot-links a { display: inline-block; padding: 6px 0; font-size: 13px; line-height: 1.7; font-weight: 600; color: #fff; text-decoration: none; }
.ktax-foot-links a:hover { text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 1024px) {
    .ktax-topics { grid-template-columns: repeat(2, 1fr); }
    .ktax-rules { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .ktax-hero { margin-top: -32px; padding: 48px 0 44px; }
    .ktax-hero h1 { font-size: 30px; }
    .ktax-hero-lead p { font-size: 15.5px; }
    .ktax-search { height: 52px; margin-top: 24px; padding-left: 16px; }
    .ktax-home-body { padding-top: 44px; }
    .ktax-sec + .ktax-sec { margin-top: 48px; }
    .ktax-sec-head { flex-wrap: wrap; gap: 4px 12px; }
    .ktax-sec-head h2 { font-size: 20px; }
    .ktax-item-title { font-size: 17px; }
}
@media (max-width: 560px) {
    .ktax-topics,
    .ktax-rules { grid-template-columns: 1fr; }
}

/* --------------------------------------------------------------------------
   8d. 주제별 세무 가이드 (/topics/) — 2열 카드형 (page-topics.php)
   머리말은 카테고리 목록과 같은 모양, 카드는 홈의 주제 카드와 같은 틀.
   -------------------------------------------------------------------------- */
.page .site-main.ktax-topics-page { max-width: 1080px; margin: 0 auto; }
.ktax-topics-page .page-header { background: none; border: 0; padding: 0; margin: 0; }
.ktax-topics-page .page-title {
    margin: 0;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.02em;
    color: var(--gp-text-main);
}
.ktax-topics-page .taxonomy-description { margin: 0; }
.ktax-topics-page .taxonomy-description p {
    margin: 12px 0 0;
    font-size: 16.5px;
    line-height: 1.75;
    color: var(--gp-text-sub);
}
.ktax-tp-count { margin-top: 16px; font-size: 13.5px; color: var(--gp-text-muted); }

.ktax-tp-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 40px;
}
.ktax-tp-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 24px 24px 12px;
    border: 1px solid var(--gp-border);
    border-radius: var(--gp-radius);
    background: var(--gp-bg);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
.ktax-tp-card:not(.is-empty):hover {
    border-color: var(--gp-border-strong);
    box-shadow: var(--gp-shadow-md);
    transform: translateY(-2px);
}
.ktax-tp-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.ktax-tp-head h2 {
    margin: 0;
    padding: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    color: var(--gp-text-main);
}
.ktax-tp-head h2::before { content: none; }
.ktax-tp-head h2 a { color: inherit; text-decoration: none; }
.ktax-tp-head h2 a::after {          /* 카드 전체를 누를 수 있게 링크 영역을 카드 크기로 확장 */
    content: "";
    position: absolute;
    inset: 0;
    border-radius: var(--gp-radius);
}
.ktax-tp-head h2 a:focus-visible::after { outline: 2px solid var(--gp-primary); outline-offset: 2px; }
.ktax-tp-more { flex: none; font-size: 13px; color: var(--gp-text-muted); }
.ktax-tp-card:hover .ktax-tp-more { color: var(--gp-primary); }
.ktax-tp-soon {
    flex: none;
    padding: 2px 9px;
    border-radius: 999px;
    background: #F1F3F7;
    color: var(--gp-text-muted);
    font-size: 12px;
    font-weight: 600;
}
.ktax-tp-desc { margin: 8px 0 16px; font-size: 14px; line-height: 1.65; color: var(--gp-text-sub); word-break: keep-all; }
.ktax-tp-list { margin-top: auto; }
.ktax-tp-label { margin-bottom: 4px; font-size: 12px; font-weight: 700; line-height: 1.5; color: var(--gp-text-muted); }
.ktax-tp-posts { margin: 0; padding: 0; list-style: none; }
.ktax-tp-posts li {
    position: relative;
    z-index: 1;                       /* 카드 전체 링크(h2 a::after) 위에서 행 단위로 눌리게 */
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    margin: 0;
    padding: 10px 0;
    border-top: 1px solid var(--gp-border);
    font-size: 14.5px;
    font-weight: 600;   /* 설명(400)과 확실히 구분. 사이트 글꼴은 500 을 따로 내지 않아 400 과 똑같이 보였다 */
    line-height: 1.5;
    word-break: keep-all;
}
/* 대표 글 = 링크색(파랑) + 오른쪽 › — 링크임을 색과 화살표로 표시 (Page 24 목업 1안) */
.ktax-tp-posts a {
    color: var(--gp-primary);
    font-weight: inherit;
    text-decoration: none;
}
.ktax-tp-posts a::after { content: ""; position: absolute; inset: 0; }   /* 행 전체가 링크 영역 */
.ktax-tp-posts a:hover { color: var(--gp-primary-hover); text-decoration: underline; text-underline-offset: 3px; }
.ktax-tp-posts a:focus-visible { outline: none; }
.ktax-tp-posts li:has(a:focus-visible) { outline: 2px solid var(--gp-primary); outline-offset: -2px; border-radius: var(--gp-radius-sm); }
.ktax-tp-card:not(.is-empty) .ktax-tp-posts li::after {
    content: "›";
    flex: none;
    font-size: 15px;
    color: var(--gp-primary);
    transition: transform 0.16s ease;
}
.ktax-tp-card:not(.is-empty) .ktax-tp-posts li:hover::after { transform: translateX(3px); }
.ktax-tp-card.is-empty .ktax-tp-head h2 { color: var(--gp-text-sub); }
.ktax-tp-card.is-empty .ktax-tp-posts li { font-size: 14px; font-weight: 400; color: var(--gp-text-muted); }

@media (max-width: 768px) {
    .ktax-topics-page .page-title { font-size: 28px; }
    .ktax-topics-page .taxonomy-description p { font-size: 15.5px; }
    .ktax-tp-grid { grid-template-columns: 1fr; gap: 16px; margin-top: 32px; }
}

/* --------------------------------------------------------------------------
   9. 사이드바 / 위젯
   -------------------------------------------------------------------------- */
.widget {
    background: var(--gp-card-bg);
    border: 1px solid var(--gp-border);
    border-radius: var(--gp-radius);
    padding: 24px;
    margin-bottom: 24px;
}
.widget .widget-title {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--gp-border);
}
.widget ul li {
    padding: 8px 0;
    border-bottom: 1px dashed var(--gp-border);
    font-size: 15px;
}
.widget ul li:last-child { border-bottom: none; }
.widget a { color: var(--gp-text-sub); }
.widget a:hover { color: var(--gp-primary); }

.widget input[type="search"],
.wp-block-search__input {
    border: 1px solid var(--gp-border);
    border-radius: var(--gp-radius-sm);
    padding: 10px 14px;
    width: 100%;
}
.widget input[type="search"]:focus {
    outline: none;
    border-color: var(--gp-primary);
    box-shadow: 0 0 0 3px var(--gp-primary-ring);
}

/* --------------------------------------------------------------------------
   10. 푸터
   -------------------------------------------------------------------------- */
/* 글이 적어 본문이 짧아도 푸터가 화면 맨 아래에 붙도록 (sticky footer) */
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
}
body.admin-bar { min-height: calc(100vh - 32px); min-height: calc(100dvh - 32px); }
@media (max-width: 782px) {
    body.admin-bar { min-height: calc(100vh - 46px); min-height: calc(100dvh - 46px); }
}
/* 부모의 .container.grid-container{width:auto} 보다 우선하도록 클래스를 함께 지정 */
body > .site.grid-container { flex: 1 0 auto; width: 100%; }
body > .site-footer { flex: none; }

.site-footer,
.footer-widgets {
    background: var(--gp-text-main);
    color: #C3CBD8;
    border-top: none;
}
.footer-widgets .widget { background: transparent; border: none; padding: 0; }
.site-footer a,
.footer-widgets a { color: #C3CBD8; }
.site-footer a:hover,
.footer-widgets a:hover { color: #fff; }
.footer-widgets .widget-title { color: #fff; border-bottom-color: rgba(255,255,255,0.12); }
.site-info {
    background: #0C131F;
    color: #6B7688;
    font-size: 13px;
    text-align: center;
    padding: 20px;
}

/* --------------------------------------------------------------------------
   11. 전역 마감 (타이포 · 리스트 · 리듬)
   -------------------------------------------------------------------------- */
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
::selection { background: var(--gp-primary-ring); color: var(--gp-text-main); }

.entry-content > * { margin-block: 1.9rem; }
.entry-content > *:first-child { margin-top: 0; }
.entry-content > .alignwide { margin-block: 2.6rem; }
.entry-content > .alignfull { margin-block: 3.2rem; }

/* 리스트 마커 정돈 */
.entry-content ul { list-style: none; padding-left: 0; }
.entry-content ul > li {
    position: relative;
    padding-left: 1.5em;
}
.entry-content ul > li::before {
    content: "";
    position: absolute;
    left: 0.15em; top: 0.72em;
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--gp-primary);
}
.entry-content ol { padding-left: 1.35em; }

/* 줄 목록(디자인 시스템 List › 줄 목록): wp:list 의 추가 CSS 클래스 is-style-lines.
   맨 위 1.5px rule, 항목 사이 1px line, 점은 5px ink-muted(accent는 누를 수 있는 것에만). */
.entry-content ul.is-style-lines { border-top: 1.5px solid var(--rule); margin: 1.9rem 0; }
.entry-content ul.is-style-lines > li {
    padding: 14px 0 14px 1.5em; margin: 0; border-bottom: 1px solid var(--line);
    font-size: 17px; line-height: 1.85; color: var(--ink-body);
}
.entry-content ul.is-style-lines > li:last-child { border-bottom: 0; }
.entry-content ul.is-style-lines > li::before { top: 1.6em; left: 0.1em; width: 5px; height: 5px; background: var(--ink-muted); }
/* 앞머리형 줄 목록(has-lead, 변환기가 모든 항목이 **앞머리**: 내용일 때 붙이고 콜론을 뺀다):
   앞머리는 강조가 아니라 구조 표지. 왼쪽 열(6.5em)에 세우고 내용은 오른쪽 열에 맞춘다.
   li 마크업(<strong>앞머리</strong> 내용)은 그대로 두고 위치만 바꾼다 — 편집기에서 편집해도 깨지지 않는다. */
.entry-content ul.is-style-lines.has-lead > li { padding-left: calc(1.5em + 6.5em + 18px); }
.entry-content ul.is-style-lines.has-lead > li > strong:first-child {
    position: absolute;
    left: 1.5em;
    width: 6.5em;
    font-weight: 600;
    color: var(--ink);
}
@media (max-width: 768px) {
    .entry-content ul.is-style-lines.has-lead > li { padding-left: 1.5em; }
    .entry-content ul.is-style-lines.has-lead > li > strong:first-child {
        position: static;
        display: block;
        width: auto;
        font-size: 14px;
        line-height: 1.6;
        color: var(--ink-muted);
        margin-bottom: 2px;
    }
    /* 점은 첫 줄(앞머리 줄, 14px/1.6)의 세로 가운데로 */
    .entry-content ul.is-style-lines.has-lead > li::before { top: calc(14px + 11.2px - 2.5px); }
}

/* 카드형 목록(디자인 시스템 List › 카드형): 커스텀 HTML 블록의 ul.ktax-cards.
   <li><span class="tg a|b">분류</span><p class="nm">이름</p><p class="ds">설명</p></li> */
.entry-content ul.ktax-cards {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
    gap: var(--space-5); margin: 2.5rem 0; padding: 0;
}
.entry-content ul.ktax-cards > li {
    display: flex; flex-direction: column; align-items: flex-start; gap: 8px;
    margin: 0; padding: var(--space-6); border: 1px solid var(--line-callout);
    border-radius: var(--radius-xl); background: var(--surface);
}
.entry-content ul.ktax-cards > li::before { content: none; }
.entry-content ul.ktax-cards .tg { padding: 2px 10px; border-radius: var(--radius-pill); font-size: 12px; font-weight: 600; line-height: 1.6; }
.entry-content ul.ktax-cards .tg.a { background: var(--accent-soft); color: var(--accent); }
.entry-content ul.ktax-cards .tg.b { background: var(--surface-muted); color: var(--ink); }
.inside-article ul.ktax-cards .nm { margin: 0; font-size: 18px; font-weight: 700; line-height: 1.4; color: var(--ink); }
.inside-article ul.ktax-cards .ds { margin: 0; font-size: 15px; line-height: 1.7; color: var(--ink-muted); }

.entry-content ol > li::marker { color: var(--gp-primary); font-weight: 700; }

/* 리드 문단(첫 문단) ? 도입부 신뢰감 */
.single .entry-content > p:first-of-type {
    font-size: 19px;
    line-height: 1.72;
    color: var(--gp-text-sub);
    font-weight: 400;
}

/* 수평선 */
.entry-content hr {
    border: none;
    height: 1px;
    background: var(--gp-border);
    margin: 3rem 0;
}

/* --------------------------------------------------------------------------
   12. 페이지네이션 & 글 네비
   -------------------------------------------------------------------------- */
.paging-navigation, .pagination, .nav-links {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 48px;
}
.nav-links a, .nav-links span, .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px; height: 42px;
    padding: 0 14px;
    border: 1px solid var(--gp-border);
    border-radius: var(--gp-radius-sm);
    font-weight: 700;
    font-size: 15px;
    color: var(--gp-text-sub);
    background: var(--gp-bg);
    transition: all 0.16s ease;
}
.nav-links a:hover, .page-numbers:hover {
    border-color: var(--gp-primary);
    color: var(--gp-primary);
    background: var(--gp-primary-light);
}
.page-numbers.current {
    background: var(--gp-primary);
    border-color: var(--gp-primary);
    color: #fff;
}

/* 글 하단 · 분류/태그 + 이전·다음 글 (라인형)
   - 분류/태그: 왼쪽 라벨 열 + 알약형 칩. 분류는 채움, 태그는 외곽선 + '#'.
   - 링크 사이의 쉼표는 font-size:0 으로 감추고, 칩 간격은 margin 으로 준다.
   - 이전/다음 글: 카드 없이 선으로만 구분. 화살표는 "이전 글/다음 글" 라벨과 같은 줄에 둔다. */
footer.entry-meta {
    display: flex;
    flex-direction: column;
    align-items: stretch; /* .entry-meta 기본값 align-items:center 가 분류/태그를 가운데로 밀던 원인 */
    text-align: left;
    gap: 12px;
    margin-top: 40px;
    padding-top: 24px;
    border-top: 1px solid var(--gp-border);
}
footer.entry-meta .cat-links,
footer.entry-meta .tags-links {
    display: block;
    position: relative;
    padding-left: 56px;
    font-size: 0;
    line-height: 0;
}
footer.entry-meta .tags-links { margin-bottom: -8px; }
footer.entry-meta .cat-links::before,
footer.entry-meta .tags-links::before {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    height: 36px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
    color: var(--gp-text-sub);
}
footer.entry-meta .cat-links::before { content: "분류"; }
footer.entry-meta .tags-links::before { content: "태그"; }
footer.entry-meta .gp-icon.icon-categories,
footer.entry-meta .gp-icon.icon-tags { display: none; }
footer.entry-meta .cat-links a,
footer.entry-meta .tags-links a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    margin: 0 8px 8px 0;
    padding: 0 14px;
    border-radius: 999px;
    font-size: 14px;
    line-height: 1.3;
    text-decoration: none;
    vertical-align: top;
    transition: color 0.16s ease, background-color 0.16s ease, border-color 0.16s ease;
}
footer.entry-meta .cat-links a,
footer.entry-meta .cat-links a:visited {
    border: 1px solid transparent;
    background: var(--gp-primary-light);
    color: var(--gp-primary);
    font-weight: 600;
}
footer.entry-meta .cat-links a:hover { background: var(--gp-primary-ring); }
footer.entry-meta .tags-links a,
footer.entry-meta .tags-links a:visited {
    border: 1px solid var(--gp-border);
    background: var(--gp-bg);
    color: var(--gp-text-sub);
}
footer.entry-meta .tags-links a::before {
    content: "#";
    margin-right: 2px;
    color: var(--gp-text-muted);
}
footer.entry-meta .tags-links a:hover {
    border-color: var(--gp-primary);
    color: var(--gp-primary);
}

.post-navigation {
    margin-top: 28px;
    padding-top: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--gp-text-main);
    border-bottom: 1px solid var(--gp-border);
}
.site-main .post-navigation { overflow: visible; }
.post-navigation .nav-previous,
.post-navigation .nav-next {
    position: relative;
    display: grid;
    align-content: start;
    column-gap: 6px;
    row-gap: 10px;
    padding: 28px 32px 28px 0;
    border-right: 1px solid var(--gp-border);
}
.post-navigation .nav-previous { grid-template-columns: auto 1fr; }
.post-navigation .nav-next {
    grid-column: 2;
    grid-template-columns: 1fr auto;
    padding: 28px 0 28px 32px;
    border-right: 0;
    text-align: right;
}
/* 이전 글이 없으면 왼쪽 칸을 비워 다음 글을 오른쪽에 유지한다. */
.post-navigation .nav-previous:only-child { border-right: 1px solid transparent; }
.post-navigation .prev,
.post-navigation .next { display: contents; }

/* 라벨 "이전 글 / 다음 글" + 화살표 */
.post-navigation .prev::before,
.post-navigation .next::before {
    align-self: center;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--gp-primary);
}
.post-navigation .prev::before { content: "이전 글"; grid-column: 2; grid-row: 1; }
.post-navigation .next::before { content: "다음 글"; grid-column: 1; grid-row: 1; }
.post-navigation .gp-icon {
    grid-row: 1;
    align-self: center;
    margin: 0;
    opacity: 1;
    line-height: 0;
    color: var(--gp-primary);
}
.post-navigation .nav-previous .gp-icon { grid-column: 1; }
.post-navigation .nav-next .gp-icon { grid-column: 2; }
.post-navigation .gp-icon svg { display: none; }
.post-navigation .gp-icon::before {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    background: currentColor;
    transition: transform 0.18s ease;
    -webkit-mask: var(--gp-arrow) center / contain no-repeat;
    mask: var(--gp-arrow) center / contain no-repeat;
}
.post-navigation .nav-previous .gp-icon {
    --gp-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5M11 18l-6-6 6-6'/%3E%3C/svg%3E");
}
.post-navigation .nav-next .gp-icon {
    --gp-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}

/* 글 제목. 링크를 카드 전체로 확장해 클릭 영역을 넓힌다. */
.post-navigation .nav-previous a,
.post-navigation .nav-next a {
    grid-column: 1 / -1;
    grid-row: 2;
    color: var(--gp-text-main);
    font-size: 17px;
    font-weight: 600;
    line-height: 1.55;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-decoration-thickness: 2px;
    text-underline-offset: 5px;
    transition: color 0.18s ease, text-decoration-color 0.18s ease;
}
.post-navigation .nav-previous a::after,
.post-navigation .nav-next a::after {
    content: "";
    position: absolute;
    inset: 0;
}
.post-navigation .nav-previous:hover a,
.post-navigation .nav-next:hover a {
    color: var(--gp-primary);
    text-decoration-color: #D6E0F5;
}
.post-navigation .nav-previous:hover .gp-icon::before { transform: translateX(-4px); }
.post-navigation .nav-next:hover .gp-icon::before { transform: translateX(4px); }
.post-navigation a:focus-visible { outline: none; }
.post-navigation .nav-previous:has(a:focus-visible),
.post-navigation .nav-next:has(a:focus-visible) {
    outline: 3px solid var(--gp-primary-ring);
    outline-offset: 4px;
    border-radius: 6px;
}

/* --------------------------------------------------------------------------
   13. 폼 · 검색 · 댓글
   -------------------------------------------------------------------------- */
input[type="text"], input[type="email"], input[type="url"],
input[type="search"], input[type="tel"], textarea, select {
    width: 100%;
    border: 1px solid var(--gp-border);
    border-radius: var(--gp-radius-sm);
    padding: 12px 14px;
    font-size: 15px;
    background: var(--gp-bg);
    color: var(--gp-text-main);
    transition: border-color 0.16s ease, box-shadow 0.16s ease;
}
input:focus, textarea:focus, select:focus {
    outline: none;
    border-color: var(--gp-primary);
    box-shadow: 0 0 0 3px var(--gp-primary-ring);
}
::placeholder { color: #9AA4B4; }

.wp-block-search__inside-wrapper {
    border: 1px solid var(--gp-border);
    border-radius: var(--gp-radius);
    overflow: hidden;
}
.wp-block-search__inside-wrapper input { border: none; border-radius: 0; }
.wp-block-search__button {
    margin: 0; border-radius: 0;
    background: var(--gp-primary); color: #fff;
    padding: 0 20px; font-weight: 700;
}

.comments-area {
    margin-top: 56px;
    padding-top: 40px;
    border-top: 1px solid var(--gp-border);
}
.comment-body {
    background: var(--gp-card-bg);
    border: 1px solid var(--gp-border);
    border-radius: var(--gp-radius);
    padding: 20px 22px;
    margin-bottom: 16px;
}
.comment-author .fn { font-weight: 700; }
.comment-metadata a { color: var(--gp-text-muted); font-size: 13px; }

/* --------------------------------------------------------------------------
   14. Rank Math 빵부스러기
   -------------------------------------------------------------------------- */
.rank-math-breadcrumb {
    font-size: 13px;
    color: var(--gp-text-muted);
    margin-bottom: 24px;
}
.rank-math-breadcrumb a { color: var(--gp-text-muted); }
.rank-math-breadcrumb a:hover { color: var(--gp-primary); }
.rank-math-breadcrumb .separator { margin: 0 8px; color: var(--gp-border-strong); }

/* --------------------------------------------------------------------------
   14-1. Rank Math 목차 · 번호 라인형
   헤더(h2 "목차")는 기존 스타일을 유지하고 목록만 바꾼다.
   목차는 <ul>로 출력되므로 번호는 CSS counter 로 붙인다.
   -------------------------------------------------------------------------- */
.wp-block-rank-math-toc-block nav > ul {
    counter-reset: toc;
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--gp-text-main);
    word-break: keep-all;
    overflow-wrap: break-word;
}
.wp-block-rank-math-toc-block nav li {
    list-style: none;
    margin: 0;
}
/* 본문 리스트 규칙(.entry-content ul > li::before)의 파란 점 불릿 제거 */
.wp-block-rank-math-toc-block nav ul li::before {
    content: none;
    display: none;
}

/* 1단계: 번호 + 제목. 번호는 absolute 라서 hover 밑줄이 번호에 걸리지 않는다. */
.wp-block-rank-math-toc-block nav > ul > li {
    counter-increment: toc;
    padding: 13px 0;
    border-bottom: 1px solid var(--gp-border);
}
.wp-block-rank-math-toc-block nav > ul > li > a {
    position: relative;
    display: block;
    padding-left: 40px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
    color: var(--gp-text-main);
    border-bottom: 0;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-decoration-thickness: 2px;
    text-underline-offset: 5px;
    transition: color .15s ease, text-decoration-color .15s ease;
}
.wp-block-rank-math-toc-block nav > ul > li > a::before {
    content: counter(toc, decimal-leading-zero);
    position: absolute;
    left: 0;
    top: 1px;
    font-size: 13px;
    font-weight: 700;
    line-height: 25.6px;
    letter-spacing: .02em;
    font-variant-numeric: tabular-nums;
    color: var(--gp-primary);
}

/* 2단계 이하: 번호 없이 왼쪽 가이드선 */
.wp-block-rank-math-toc-block nav ul ul {
    margin: 6px 0 2px 40px;
    padding: 0 0 0 16px;
    border-left: 2px solid var(--gp-border);
}
.wp-block-rank-math-toc-block nav ul ul li {
    padding: 5px 0;
}
.wp-block-rank-math-toc-block nav ul ul a {
    display: block;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
    color: var(--gp-text-sub);
    border-bottom: 0;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
    transition: color .15s ease, text-decoration-color .15s ease;
}

/* 유형 칩(디자인 시스템 "유형 칩 8종"): 60×24, 12px/600, 아이콘 13px, 가운데 정렬.
   기본(개념·요건·절차·비교)=중립, --a(계산·확인)=직접 해 보는 유형, --w(개정·불이익)=주의 유형.
   칩은 functions.php ktax_toc_type_chips 가 목차 링크 앞에 넣는다. 칩이 없는 목차는 그대로다. */
.wp-block-rank-math-toc-block .ktax-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    box-sizing: border-box;
    width: 60px;
    height: 24px;
    margin-right: 12px;
    vertical-align: top;
    border-radius: 6px;
    background: var(--surface-subtle);
    box-shadow: inset 0 0 0 1px var(--line);
    color: var(--ink-table);
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
}
.wp-block-rank-math-toc-block .ktax-chip svg {
    flex: none;
    width: 13px;
    height: 13px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.wp-block-rank-math-toc-block .ktax-chip--a {
    background: var(--accent-soft);
    box-shadow: none;
    color: var(--accent);
}
.wp-block-rank-math-toc-block .ktax-chip--w {
    background: var(--warn-soft);
    box-shadow: none;
    color: var(--warn);
}
/* 칩 옆 제목: 줄이 바뀌어도 칩 아래로 돌아 들어가지 않는다. 밑줄은 제목에만(링크의 밑줄 설정을 물려받는다) */
.wp-block-rank-math-toc-block .ktax-toc-title {
    display: inline-block;
    max-width: calc(100% - 72px);
    vertical-align: top;
    text-decoration: inherit;
}
.wp-block-rank-math-toc-block nav > ul > li > a .ktax-chip { margin-top: 1px; }
/* 칩 라벨은 PHP 가 넣어 DB·렌더링 HTML 에 없다. 글꼴 서브셋 수집기(speed-fontsubset)가 읽도록 content 문자열로 한 번 적어 둔다(화면에는 나오지 않는다).
   라벨을 바꾸면 functions.php ktax_toc_chip_types 와 함께 고친다. */
.ktax-chip-glyphs::before { content: "개념계산요건확인절차개정불이익비교"; display: none; }

/* hover: 제목만 블루 + 옅은 밑줄 */
.wp-block-rank-math-toc-block nav a:hover {
    color: var(--gp-primary);
    text-decoration-color: #D6E0F5;
}

/* 키보드 포커스 */
.wp-block-rank-math-toc-block nav a:focus-visible {
    outline: 2px solid rgba(30, 79, 191, .35);
    outline-offset: 2px;
    border-radius: 4px;
}

@media (max-width: 768px) {
    .wp-block-rank-math-toc-block nav > ul > li > a {
        padding-left: 32px;
        font-size: 15px;
    }
    .wp-block-rank-math-toc-block nav > ul > li > a::before {
        line-height: 24px;
    }
    .wp-block-rank-math-toc-block nav > ul > li > a .ktax-chip {
        margin-top: 0;
    }
    .wp-block-rank-math-toc-block nav ul ul {
        margin-left: 32px;
        padding-left: 12px;
    }
    .wp-block-rank-math-toc-block nav ul ul a {
        font-size: 14px;
    }
}

/* --------------------------------------------------------------------------
   15. 반응형
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
    .blog .site-main,
    .archive .site-main,
    .search-results .site-main { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
    .site-content { padding: 32px 16px; }
    .inside-article p { font-size: 16px; margin-bottom: 1.6em; }
    .single .entry-content > p:first-of-type { font-size: 17px; }
    .inside-article h2::before { height: 22px; vertical-align: -4px; }

    /* 표: 가로 스크롤 (감싸지 않은 표도 대응) */
    .inside-article table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
    }
    /* 열이 3개 이하인 표(조회표·행 제목 표·짧은 비교표)는 스크롤 대신 줄바꿈: 오른쪽 열이 화면 밖으로 잘리지 않게 한다.
       숫자 열(.num)은 숫자가 중간에서 끊기지 않도록 그대로 nowrap. */
    .inside-article .table-scroll table:not(:has(thead th:nth-child(4))) {
        display: table;
        width: 100%;
        white-space: normal;
        overflow: visible;
    }
    .inside-article .table-scroll table:not(:has(thead th:nth-child(4))) :is(th, td) { padding-left: 10px; padding-right: 10px; }
    .inside-article .table-scroll.is-lookup table:not(:has(thead th:nth-child(4))) tbody > tr > :last-child { --lk-x: 10px; padding-left: calc(var(--lk-x) + 1em); }
    .inside-article .table-scroll table:not(:has(thead th:nth-child(4))) :is(th, td).num { white-space: nowrap; }

    .main-navigation .menu-toggle {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 14px 4px;
        color: var(--gp-text-main);
        font-weight: 700;
    }
    .main-navigation.toggled .main-nav > ul {
        padding: 8px;
        background: var(--gp-bg);
        border-top: 1px solid var(--gp-border);
    }
    .main-navigation.toggled .main-nav ul li a {
        padding: 14px 16px;
        border-radius: var(--gp-radius-sm);
        font-size: 16px;
    }
    .main-navigation.toggled .main-nav ul li a::after { display: none; }
    .main-navigation.toggled .main-nav ul li a:hover,
    .main-navigation.toggled .main-nav ul li.current-menu-item > a {
        background: var(--gp-primary-light);
    }

    .post-navigation { grid-template-columns: 1fr; border-bottom: 0; }
    .post-navigation .nav-previous,
    .post-navigation .nav-next {
        grid-column: 1;
        grid-template-columns: auto auto 1fr auto;
        align-items: center;
        padding: 20px 0;
        border-right: 0;
        border-bottom: 1px solid var(--gp-border);
        text-align: left;
    }
    .post-navigation .nav-previous a,
    .post-navigation .nav-next a { grid-column: 1 / 4; font-size: 16px; }
    .post-navigation .nav-previous::after,
    .post-navigation .nav-next::after {
        content: "";
        grid-column: 4;
        grid-row: 1 / 3;
        width: 20px;
        height: 20px;
        background: var(--gp-text-muted);
        -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
    }
}

@media (max-width: 480px) {
    .main-title a { font-size: 19px; }
    .inside-article table th,
    .inside-article table td { padding: 11px 13px; }
    .inside-article .is-lookup table tbody > tr > :last-child,
    .inside-article table.is-lookup tbody > tr > :last-child { --lk-x: 13px; padding-left: calc(var(--lk-x) + 1em); }
    /* 조회표 첫 열(질문): 45% 고정이면 390px에서 약 140px라 2~3줄로 접힌다. 폭을 50%로 넓혀 줄 수를 줄인다(데스크톱 45% 유지). */
    .inside-article .is-lookup table tbody > tr > :first-child,
    .inside-article table.is-lookup tbody > tr > :first-child { width: 50%; }
}

/* 접근성: 모션 최소화 선호 존중 */
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    * { transition: none !important; }
}
/* 언더라인 */
.inside-article span[style*="text-decoration:underline"],
.inside-article span[style*="text-decoration: underline"] {
  background: linear-gradient(180deg, transparent 62%, rgba(30, 79, 191, 0.18) 62%);
  padding: 0 4px;
  text-underline-offset: 3px;
  text-decoration: none !important;
}
/* 틸 악센트 */
.inside-article span[style*="text-decoration:underline"].dotted,
.inside-article span[style*="text-decoration: underline"].dotted {
	background: none !important;
  padding: 0 !important;
  text-underline-offset: normal !important;
    text-decoration: underline dotted rgba(14, 147, 132, 0.55) !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 5px !important;
    text-decoration-skip-ink: none !important;
}

/* =========================================
   ktaxhelp — Image Block
   ========================================= */

.wp-block-image {
    margin: 2rem 0;
}

.wp-block-image img {
    display: block;
    max-width: 100%;
    height: auto;

    border: 1px solid #e5e7eb;
    border-radius: 4px;

    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 4px 12px rgba(15, 23, 42, 0.05);

    transition:
        box-shadow 180ms ease,
        transform 180ms ease;
}

/* 클릭 가능한 이미지 */
.wp-block-image a {
    display: block;
    cursor: zoom-in;
}

.wp-block-image a:hover img {
    transform: translateY(-1px);
    box-shadow:
        0 2px 4px rgba(15, 23, 42, 0.05),
        0 8px 20px rgba(15, 23, 42, 0.08);
}

/* 키보드 접근성 */
.wp-block-image a:focus-visible {
    outline: 2px solid #64748b;
    outline-offset: 4px;
}

/* 캡션 */
.wp-block-image figcaption {
    margin-top: 0.65rem;

    color: #64748b;
    font-size: 0.875rem;
    line-height: 1.5;
    text-align: center;
}

/* 인포그래픽 숫자(스탯) 크기: 편집자 노트 1101 #69·1099 #82. 원본 bundle.css 는 --kt-figure clamp(56px,10cqi,120px)·line-height 1
   이라 큰 숫자의 쉼표가 아래 줄 단위("만 원 미만")에 닿는다. 숫자를 약 70%로 줄이고 줄간격·줄 사이 간격을 늘린다.
   생성 파일(ktax-infographic.css)은 직접 고치지 않고 여기서 덮어쓴다. 디자인 원본에도 같은 값 반영 필요(PR 설명 참고). */
.entry-content .kt-ig { --kt-figure: clamp(36px, 6cqi, 72px); }
.entry-content .kt-ig .kt-ig-fig { row-gap: .22em; }
.entry-content .kt-ig .kt-ig-fig b { line-height: 1.12; }
/* 숫자 b 는 한 줄(쉼표에서 끊기지 않게), 단위 span 은 통째로(만/원이 쪼개지지 않게) 두고, 폭이 모자라면 단위 전체가 숫자 아래로 내려간다.
   (PR 49 의 flex-wrap:nowrap 은 2열 카드에서 "10,400 만 원 미만"이 카드를 넘쳐 되돌렸다.) */
.entry-content .kt-ig .kt-ig-fig b { white-space: nowrap; }
.entry-content .kt-ig .kt-ig-fig span { white-space: nowrap; }
/* 날짜 수직선: 첫 열이 좁은(has-far) 2점 타임라인에서 왼쪽 끝 이벤트 라벨이 한 글자씩 접혔다(글 1101).
   첫 열(--c:1)의 is-end 이벤트만 열 밖(오른쪽 빈 공간)으로 펼치고 왼쪽 정렬한다. 다른 이벤트·종류에는 영향 없음. */
.entry-content .kt-ig-tl.has-far .kt-ig-tl-ev.is-end[style*="--c:1;"] { width: max-content; max-width: 11em; margin-right: 0; text-align: left; align-items: flex-start; }
