/*!
 * KTAX 금액(세액) 계산기 스타일 (ktax-amount.css)
 * 범위: .ktax-amount 하위로만 제한.
 *
 * 워드프레스 테마 격리는 ktax-calculator.css와 같은 원칙을 쓴다 — 자세한 설명은
 * 그 파일 머리말 참고. 요약: 모든 내부 요소 규칙은 클래스 3개를 체인해
 * (0,3,0) 특정성을 확보하고, 글꼴/굵기/자간을 요소마다 명시적으로 다시 선언하며,
 * 테마의 ::before/::after 장식은 content: none으로 무력화한다.
 */

.ktax-amount {
    --ka-text: var(--gp-text-main, #16202e);
    --ka-text-sub: var(--gp-text-sub, #556074);
    --ka-text-muted: var(--gp-text-sub, #556074);
    --ka-border: var(--gp-border-strong, #cbd3e0);
    --ka-divider: var(--gp-border, #e6eaf1);
    --ka-accent: var(--gp-primary, #1e4fbf);
    --ka-accent-hover: var(--gp-primary-hover, #1740a0);
    --ka-focus-ring: var(--gp-primary-ring, rgba(30, 79, 191, 0.14));
    --ka-result-bg: var(--gp-primary-light, #eef3fe);
    --ka-track-bg: #d6e0f5;
    --ka-past: #9fb8e6;
    --ka-seg-bg: #f1f4f9;
    --ka-card-bg: #FFFFFF;
    --ka-warn-bg: #fff4cc;
    --ka-warn-border: #b7791f;
    --ka-warn-text: #4a3000;
    --ka-radius: var(--gp-radius, 12px);
    --ka-radius-sm: var(--gp-radius-sm, 8px);

    display: block;
    margin: 1.8em 0;
    padding: 0;
    font-family: inherit;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: normal;
    color: var(--ka-text);
    text-align: left;
    word-break: keep-all;
}
.ktax-amount * { box-sizing: border-box; }
/*
 * 테마 격리 — 로드 순서에 의존하지 않도록 특정성을 올린다
 * -------------------------------------------------------------------------
 * 워드프레스 "추가 CSS"(Customizer)는 늘 다른 스타일시트보다 나중에 출력된다.
 * 이전에는 이 리셋이 `.ktax-amount p` 같은 (0,1,1) 선택자였는데, 이는 흔한 테마
 * 규칙 `.entry-content p`와 특정성이 같아서 "나중에 로드됐다"는 이유만으로
 * 테마가 이길 수 있었다(h2/h3 테두리, p/div 들여쓰기·기울임, ol/ul 배경,
 * li/td/th 테두리가 새어 들어옴). 그래서 조상 클래스 2개
 * (`.ktax-amount .ktax-amt` / `.ktax-amount .ktax-amount-err`) + 태그 1개,
 * 즉 (0,2,1)로 올려 로드 순서와 무관하게 이기도록 한다. 실제로 테두리·배경·
 * 여백이 필요한 요소(.ktax-amt, .ktax-amount__preset, .ktax-amount__card,
 * .ktax-amount__step-row 등)는 클래스 3개를 체인한
 * (0,3,0) 규칙에서 다시 선언하므로 이 리셋을 항상 이긴다.
 */
.ktax-amount .ktax-amt :is(h2, h3, p, div, span, ol, ul, li, dl, dt, dd, nav, a, button, fieldset, legend),
.ktax-amount .ktax-amount-err :is(h2, h3, p, div, span, ol, ul, li, dl, dt, dd, nav, a, button, fieldset, legend) {
    margin: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: inherit;
    text-indent: 0;
    font-style: normal;
    text-decoration: none;
}

/* JS 비활성/실패 대응: is-ready(정상 렌더링)일 때만 원래 자식(대체 문구)을 숨긴다.
   is-error(설정 오류 배너)일 때도 대체 문구는 숨기고 배너만 보인다 — 배너 자체가
   방문자에게 보여줄 상태이기 때문. */
.ktax-amount.is-ready > :not(.ktax-amt):not(.ktax-amount__disclaimer),
.ktax-amount.is-error > :not(.ktax-amount-err) {
    display: none;
    /* 편집자가 넣어 둔 대체 문구(JS 비활성/실패 대응)는 여기서 이미 화면에 보이지
       않지만, 테마가 `.inside-article p` 같은 규칙으로 색·여백을 직접 지정해 두면
       (부모에게서 물려받는 값이 아니라 그 태그를 직접 겨냥하는 규칙이라) 계산된
       스타일이 갈라진다. 어차피 숨겨지는 요소이지만 일관되게 리셋해 둔다. */
    color: inherit;
    margin: 0;
    border: 0;
    background: transparent;
    text-indent: 0;
    font-style: normal;
    text-decoration: none;
}

/* 클래스 3개를 체인해 (0,3,0)으로 — 위 테마 격리 리셋(:is(...span...), (0,2,1))의
   margin:0이 이 표준 "화면에서만 숨김" 패턴의 margin:-1px를 지우지 않도록 한다. */
.ktax-amount .ktax-amt .ktax-amount__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;
}

.ktax-amt {
    container-type: inline-size;
    border: 1px solid var(--ka-divider);
    border-radius: 16px;
    background: var(--ka-card-bg);
    box-shadow: var(--gp-shadow-sm, 0 1px 2px rgba(22, 32, 46, 0.05));
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    font-family: inherit;
}

/* ---- 헤더: 제목과 부제를 같은 줄에(좁으면 줄바꿈) ---- */
.ktax-amount .ktax-amt .ktax-amount__header { margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; }
.ktax-amount .ktax-amt .ktax-amount__title {
    font-family: inherit;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.4;
    letter-spacing: -0.01em;
    margin: 0;
    padding: 0;
    color: var(--ka-text);
}
.ktax-amount .ktax-amt .ktax-amount__title::before { content: none; display: none; }
.ktax-amount .ktax-amt .ktax-amount__desc {
    font-family: inherit;
    font-weight: 400;
    margin: 0;
    padding: 0;
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: normal;
    color: var(--ka-text-sub);
}

/* ---- 대표 금액: 세그먼트 컨트롤 ---- */
.ktax-amount .ktax-amt .ktax-amount__field { margin: 0; padding: 0; border: 0; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.ktax-amount .ktax-amt .ktax-amount__legend {
    padding: 0;
    margin: 0;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: normal;
    color: var(--ka-text);
}
.ktax-amount .ktax-amt .ktax-amount__hint {
    font-family: inherit;
    font-weight: 400;
    margin: 0;
    padding: 0;
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: normal;
    color: var(--ka-text-muted);
}
.ktax-amount .ktax-amt .ktax-amount__presets {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(84px, 1fr));
    gap: 3px;
    padding: 3px;
    border-radius: var(--ka-radius);
    background: var(--ka-seg-bg);
}
/* 단일 세율(버튼 2~3개)도 같은 세그먼트 컨트롤을 쓴다. 버튼이 너무 넓어지지 않게 폭만 제한. */
.ktax-amount .ktax-amt .ktax-amount__presets--flat { width: min(100%, 480px); }
.ktax-amount .ktax-amt .ktax-amount__preset {
    box-sizing: border-box;
    min-height: 44px;
    padding: 4px 8px;
    margin: 0;
    border-radius: 9px;
    border: 0;
    background: transparent;
    color: var(--ka-text);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-family: inherit;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: normal;
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
}
.ktax-amount .ktax-amt .ktax-amount__preset:hover { background: rgba(30, 79, 191, .08); }
.ktax-amount .ktax-amt .ktax-amount__preset:focus-visible { outline: 2px solid var(--ka-accent); outline-offset: 2px; }
.ktax-amount .ktax-amt .ktax-amount__preset.is-selected,
.ktax-amount .ktax-amt .ktax-amount__preset.is-selected:hover {
    background: var(--ka-accent);
    color: #fff;
    font-weight: 600;
}
.ktax-amount .ktax-amt .ktax-amount__preset-amount { font-family: inherit; font-size: inherit; font-weight: inherit; letter-spacing: normal; }
/* 구간 부제("20% 구간")는 시안에서 보이지 않는다. 스크린리더에는 남긴다. */
.ktax-amount .ktax-amt .ktax-amount__preset-sub {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}
.ktax-amount .ktax-amt .ktax-amount__note {
    font-family: inherit;
    margin: 0;
    padding: 0;
    font-size: 12.5px;
    font-weight: 400;
    letter-spacing: normal;
    color: #6b7587;
    line-height: 1.5;
}

/* ---- 결과 박스 ---- */
.ktax-amount .ktax-amt .ktax-amount__result {
    border-radius: var(--ka-radius);
    background: var(--ka-result-bg);
    padding: 12px 20px 8px;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.ktax-amount .ktax-amt .ktax-amount__result-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 12px;
    margin: 0;
    padding: 0;
}
.ktax-amount .ktax-amt .ktax-amount__chips { display: flex; align-items: center; gap: 8px; margin: 0; padding: 0; }
.ktax-amount .ktax-amt .ktax-amount__result-label {
    font-family: inherit;
    margin: 0;
    padding: 0;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: normal;
    color: var(--ka-accent);
}
.ktax-amount .ktax-amt .ktax-amount__result-main {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 2px 12px;
    margin: 4px 0 0;
}
.ktax-amount .ktax-amt .ktax-amount__result-amount {
    font-family: inherit;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--ka-text);
    font-variant-numeric: tabular-nums;
}
.ktax-amount .ktax-amt .ktax-amount__result-sub,
.ktax-amount .ktax-amt .ktax-amount__result-sentence {
    font-family: inherit;
    margin: 0;
    padding: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: normal;
    color: var(--ka-text-sub);
}

/* ---- 칩("법적 근거" / "어떻게 계산했나요?") + 툴팁 ----
   열림은 JS가 .is-open으로만 제어한다(hover·focus·click 모두 JS, 동시에 하나만). */
.ktax-amount .ktax-amt .ktax-amount__tipwrap { position: relative; flex: 0 0 auto; margin: 0; padding: 0; }
.ktax-amount .ktax-amt .ktax-amount__chip {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    box-sizing: border-box;
    height: 28px;
    margin: 0;
    padding: 0 10px 0 8px;
    border-radius: 999px;
    border: 1px solid var(--ka-track-bg);
    background: rgba(255, 255, 255, .7);
    color: var(--ka-accent);
    font-family: inherit;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: normal;
    white-space: nowrap;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease;
}
.ktax-amount .ktax-amt .ktax-amount__chip::before { content: none; display: none; }
/* 터치 영역 보강(보이지 않는 확장) */
.ktax-amount .ktax-amt .ktax-amount__chip::after,
.ktax-amount .ktax-amt .ktax-amount__btn::after { content: ""; position: absolute; inset: -8px -4px; }
.ktax-amount .ktax-amt .ktax-amount__btn::before { content: none; display: none; }
.ktax-amount .ktax-amt .ktax-amount__chip:hover,
.ktax-amount .ktax-amt .ktax-amount__tipwrap.is-open .ktax-amount__chip { background: #fff; border-color: var(--ka-past); }
.ktax-amount .ktax-amt .ktax-amount__chip:focus-visible,
.ktax-amount .ktax-amt .ktax-amount__btn:focus-visible { outline: 2px solid var(--ka-accent); outline-offset: 2px; }
.ktax-amount .ktax-amt .ktax-amount__tip {
    position: absolute;
    z-index: 10;
    top: calc(100% + 10px);
    right: 0;
    box-sizing: border-box;
    width: 300px;
    /* 컨테이너(결과 박스) 폭을 넘지 않게. JS가 열릴 때 가로 위치도 박스 안으로 민다. */
    max-width: calc(100vw - 48px);
    max-width: min(340px, calc(100cqw - 16px));
    padding: 12px 14px;
    margin: 0;
    border-radius: var(--ka-radius);
    background: var(--ka-text);
    color: #fff;
    box-shadow: 0 8px 24px rgba(16, 32, 60, .22);
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: normal;
    text-align: left;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: opacity .15s ease, transform .15s ease, visibility .15s;
}
.ktax-amount .ktax-amt .ktax-amount__tip--calc { width: 340px; padding: 14px 16px; gap: 8px; }
.ktax-amount .ktax-amt .ktax-amount__tipwrap.is-open .ktax-amount__tip {
    opacity: 1;
    visibility: visible;
    transform: none;
}
.ktax-amount .ktax-amt .ktax-amount__tip::before {
    content: "";
    position: absolute;
    top: -4px;
    right: var(--ka-tip-arrow, 22px);
    width: 8px;
    height: 8px;
    background: var(--ka-text);
    transform: rotate(45deg);
    border-radius: 2px;
}
/* 칩과 툴팁 사이를 지나가도 호버가 끊기지 않게 하는 다리 */
.ktax-amount .ktax-amt .ktax-amount__tip::after { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.ktax-amount .ktax-amt .ktax-amount__tip-title { display: block; font-weight: 700; }
.ktax-amount .ktax-amt .ktax-amount__tip-text { display: block; color: #d5dbe6; }
.ktax-amount .ktax-amt .ktax-amount__tip-body { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; }
.ktax-amount .ktax-amt .ktax-amount__tip-rates {
    display: block;
    padding-top: 8px;
    border-top: 1px solid rgba(255, 255, 255, .14);
    color: #c9d1de;
    font-size: 12px;
}
/* 툴팁 안의 단계별 계산 행(어두운 바탕용) */
.ktax-amount .ktax-amt .ktax-amount__tip .ktax-amount__steps { padding: 0; margin: 0; font-size: inherit; }
.ktax-amount .ktax-amt .ktax-amount__tip .ktax-amount__step-row {
    padding: 2px 0;
    border-bottom: 0;
    gap: 16px;
    color: #fff;
}
.ktax-amount .ktax-amt .ktax-amount__tip .ktax-amount__step-value { white-space: nowrap; }
.ktax-amount .ktax-amt .ktax-amount__tip .ktax-amount__step-row--final { font-weight: 700; color: #9fc0ff; }

/* ---- 세율 구간 막대 ---- */
.ktax-amount .ktax-amt .ktax-amount__bracket { display: block; margin: 14px 0 0; }
/* 구간 문장은 스크린리더용으로만 남긴다(눈에 보이는 범위는 하단 메타 줄). */
.ktax-amount .ktax-amt .ktax-amount__bracket-sentence {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}
.ktax-amount .ktax-amt .ktax-amount__bracket-bar {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    gap: 3px;
}
.ktax-amount .ktax-amt .ktax-amount__bracket-seg {
    position: relative;
    height: 6px;
    background: var(--ka-track-bg);
}
.ktax-amount .ktax-amt .ktax-amount__bracket-seg:first-child { border-radius: 999px 0 0 999px; }
.ktax-amount .ktax-amt .ktax-amount__bracket-seg:last-child { border-radius: 0 999px 999px 0; }
.ktax-amount .ktax-amt .ktax-amount__bracket-seg:only-child { border-radius: 999px; }
.ktax-amount .ktax-amt .ktax-amount__bracket-seg.is-past { background: var(--ka-past); }
.ktax-amount .ktax-amt .ktax-amount__bracket-seg.is-current { background: var(--ka-accent); }
.ktax-amount .ktax-amt .ktax-amount__bracket-marker {
    position: absolute;
    top: -4px;
    width: 2px;
    height: 14px;
    margin-left: -1px;
    border-radius: 2px;
    background: var(--ka-text);
}
/* 라벨은 절대 위치 없이 막대와 같은 열 수의 grid(일반 문서 흐름)로 둔다. */
.ktax-amount .ktax-amt .ktax-amount__bracket-labels {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    gap: 3px;
    margin: 6px 0 0;
    font-family: inherit;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: normal;
    font-variant-numeric: tabular-nums;
    color: var(--ka-text-sub);
}
.ktax-amount .ktax-amt .ktax-amount__bracket-label { display: block; min-width: 0; overflow-wrap: break-word; }
.ktax-amount .ktax-amt .ktax-amount__bracket-label.is-current { font-weight: 700; color: var(--ka-accent); }
.ktax-amount .ktax-amt .ktax-amount__bracket-label-rate { display: block; }

/* ---- 계산 단계 행 (툴팁 안에서 쓴다) ---- */
.ktax-amount .ktax-amt .ktax-amount__steps { display: flex; flex-direction: column; margin: 0; font-family: inherit; font-variant-numeric: tabular-nums; }
.ktax-amount .ktax-amt .ktax-amount__step-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
    margin: 0;
    font-weight: 400;
    letter-spacing: normal;
}
.ktax-amount .ktax-amt .ktax-amount__step-row--final { font-weight: 700; }

/* ---- 0원 상태: 공제까지 진행 막대 ---- */
.ktax-amount .ktax-amt .ktax-amount__zero-bar-wrap { display: block; margin: 14px 0 0; }
.ktax-amount .ktax-amt .ktax-amount__zero-bar-track {
    height: 6px;
    border-radius: 999px;
    background: var(--ka-track-bg);
    overflow: hidden;
}
.ktax-amount .ktax-amt .ktax-amount__zero-bar-fill { height: 6px; border-radius: 999px; background: var(--ka-accent); }
.ktax-amount .ktax-amt .ktax-amount__zero-bar-labels {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin: 6px 0 0;
    font-family: inherit;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: normal;
    color: var(--ka-text-sub);
}
.ktax-amount .ktax-amt .ktax-amount__zero-bar-current { font-weight: 700; color: var(--ka-text); }

/* ---- 메타 줄 ---- */
.ktax-amount .ktax-amt .ktax-amount__result-meta {
    font-family: inherit;
    margin: 8px 0 0;
    padding: 0;
    font-size: 12.5px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: normal;
    color: var(--ka-text-sub);
    font-variant-numeric: tabular-nums;
}
.ktax-amount .ktax-amt .ktax-amount__result-meta[hidden] { display: none; }

/* ---- 하단 줄: 계산 방법(왼쪽) + 링크 복사(오른쪽) ---- */
.ktax-amount .ktax-amt .ktax-amount__result-foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 4px 16px;
    margin: 8px 0 0;
    padding: 4px 0 0;
    border-top: 1px solid rgba(30, 79, 191, .12);
}
.ktax-amount .ktax-amt .ktax-amount__formula {
    flex: 1 1 240px;
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 8px;
    margin: 0;
    padding: 0;
    font-family: inherit;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: normal;
    color: var(--ka-text);
}
.ktax-amount .ktax-amt .ktax-amount__formula-label { font-family: inherit; font-size: 12px; font-weight: 600; letter-spacing: normal; color: var(--ka-text-sub); }
.ktax-amount .ktax-amt .ktax-amount__formula-text { font-family: inherit; font-size: 13px; font-weight: 400; letter-spacing: normal; color: var(--ka-text); }
.ktax-amount .ktax-amt .ktax-amount__btn {
    position: relative;
    flex: 0 0 auto;
    width: auto;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    box-sizing: border-box;
    height: 28px;
    margin: 0 -8px 0 0;
    padding: 0 8px;
    border: 0;
    border-radius: var(--ka-radius-sm);
    background: transparent;
    color: var(--ka-accent);
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: normal;
    white-space: nowrap;
    cursor: pointer;
    transition: background .15s ease;
}
.ktax-amount .ktax-amt .ktax-amount__btn:hover { background: rgba(30, 79, 191, .08); }
.ktax-amount .ktax-amt .ktax-amount__btn-label { font: inherit; letter-spacing: normal; }

@media (prefers-reduced-motion: reduce) {
    .ktax-amount .ktax-amt .ktax-amount__tip,
    .ktax-amount .ktax-amt .ktax-amount__preset,
    .ktax-amount .ktax-amt .ktax-amount__chip,
    .ktax-amount .ktax-amt .ktax-amount__btn { transition: none; }
}

/* ---- 함께 내는 세금 ---- */
.ktax-amount .ktax-amt .ktax-amount__related { margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; border-top: 1px solid var(--ka-divider); padding-top: 16px; }
/* 관련 세금이 없으면 슬롯이 빈 채 남아 flex gap만 더하므로 숨긴다(채워지면 :empty가 풀린다). */
.ktax-amount .ktax-amt .ktax-amount__related-slot:empty { display: none; }
.ktax-amount .ktax-amt .ktax-amount__related-title {
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: normal;
    margin: 0;
    padding: 0;
    color: var(--ka-text);
}
.ktax-amount .ktax-amt .ktax-amount__related-title::before { content: none; display: none; }
.ktax-amount .ktax-amt .ktax-amount__related-row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    font-family: inherit;
    font-size: 14.5px;
    font-weight: 400;
    letter-spacing: normal;
    font-variant-numeric: tabular-nums;
    margin: 0;
    padding: 0;
}
.ktax-amount .ktax-amt .ktax-amount__related-amount { font-weight: 600; }
.ktax-amount .ktax-amt .ktax-amount__related-row--total {
    padding-top: 8px;
    border-top: 1px dashed var(--ka-border);
    font-weight: 700;
}
.ktax-amount .ktax-amt .ktax-amount__related-row--total .ktax-amount__related-amount { font-weight: 700; }

/* ---- 함께 보면 좋은 글 ---- */
.ktax-amount .ktax-amt .ktax-amount__links { margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; border-top: 1px solid var(--ka-divider); padding-top: 16px; }
.ktax-amount .ktax-amt .ktax-amount__links-title {
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: normal;
    margin: 0;
    padding: 0;
    color: var(--ka-text);
}
.ktax-amount .ktax-amt .ktax-amount__links-title::before { content: none; display: none; }
.ktax-amount .ktax-amt .ktax-amount__links-link {
    font-family: inherit;
    font-size: 14.5px;
    font-weight: 400;
    letter-spacing: normal;
    color: var(--ka-accent);
    /* a { text-decoration: none; border: 0 } 리셋(테마 격리 규칙)이 밑줄까지
       지우므로, 링크라는 것을 알아볼 수 있게 여기서 다시 밑줄을 켠다. */
    text-decoration: underline;
    text-underline-offset: 2px;
    display: flex;
    align-items: center;
    min-height: 30px;
}
.ktax-amount .ktax-amt .ktax-amount__links-link:hover { color: var(--ka-accent-hover); }

/* ---- 안내문: 카드 밖 아래(.ktax-amount의 직계 자식) ---- */
.ktax-amount > .ktax-amount__disclaimer {
    display: block;
    font-family: inherit;
    margin: 0;
    padding: 10px 4px 0;
    border: 0;
    background: transparent;
    font-size: 11.5px;
    font-weight: 400;
    font-style: normal;
    color: #6b7587;
    line-height: 1.5;
    letter-spacing: normal;
    text-indent: 0;
    text-wrap: pretty;
}

/* ---- 설정 오류 배너 ----
   계산기 본문(.ktax-amt)과 같은 원칙: 바깥 컨테이너(.ktax-amount-err)는 클래스 하나로
   두고, 안쪽 요소는 모두 `.ktax-amount .ktax-amount-err .ktax-amount-err__x`처럼 클래스
   3개를 체인해 테마 규칙(예: .entry-content ol { list-style: none }, p 확대 등)보다
   항상 특정성이 앞서게 한다. 글꼴/굵기/자간/줄 높이도 요소마다 명시적으로 다시
   선언한다. */
.ktax-amount-err {
    box-sizing: border-box;
    border: 3px solid var(--ka-warn-border, #b7791f);
    border-radius: var(--ka-radius, 12px);
    padding: 24px 28px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    background: var(--ka-warn-bg, #fff4cc);
    color: var(--ka-warn-text, #4a3000);
    font-family: inherit;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: normal;
    text-align: left;
}
.ktax-amount .ktax-amount-err .ktax-amount-err__head { display: flex; gap: 14px; align-items: flex-start; margin: 0; padding: 0; }
.ktax-amount .ktax-amount-err .ktax-amount-err__icon { flex-shrink: 0; color: #7a4a00; }
.ktax-amount .ktax-amount-err .ktax-amount-err__head-text { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; }
.ktax-amount .ktax-amount-err .ktax-amount-err__title {
    font-family: inherit;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: normal;
    color: #1d1c1a;
    margin: 0;
    padding: 0;
}
.ktax-amount .ktax-amount-err .ktax-amount-err__title::before { content: none; display: none; }
.ktax-amount .ktax-amount-err .ktax-amount-err__meta {
    font-family: inherit;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: normal;
    color: var(--ka-warn-text, #4a3000);
    margin: 0;
    padding: 0;
}
.ktax-amount .ktax-amount-err .ktax-amount-err__list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 14px 16px;
    margin: 0;
    border-radius: var(--ka-radius-sm, 8px);
    background: #fff;
    border: 1px solid #e3c77a;
}
.ktax-amount .ktax-amount-err .ktax-amount-err__count {
    font-family: inherit;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: normal;
    color: var(--ka-warn-text, #4a3000);
    margin: 0;
    padding: 0;
}
.ktax-amount .ktax-amount-err .ktax-amount-err__items {
    list-style: decimal outside;
    margin: 0;
    padding: 0 0 0 22px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.ktax-amount .ktax-amount-err .ktax-amount-err__item {
    font-family: inherit;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: normal;
    color: var(--ka-warn-text, #4a3000);
    margin: 0;
    padding: 0;
    display: list-item;
    list-style: decimal;
}
.ktax-amount .ktax-amount-err .ktax-amount-err__item::before { content: none; display: none; }
.ktax-amount .ktax-amount-err .ktax-amount-err__footer {
    font-family: inherit;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: normal;
    color: var(--ka-warn-text, #4a3000);
    margin: 0;
    padding: 0;
}

/* 좁은 화면 */
@container (max-width: 480px) {
    .ktax-amount .ktax-amt .ktax-amount__result { padding: 12px 16px 8px; }
    .ktax-amount .ktax-amt .ktax-amount__result-amount { font-size: 30px; }
}
@media (max-width: 480px) {
    .ktax-amt { padding: 16px; }
}

/* 이 사이트의 테마는 다크 모드를 지원하지 않으므로 이 컴포넌트도 별도 적용하지 않는다. */
