/* TaxLab 계산기 공통 스타일 — 양도세/취득세/중개수수료/보유세 페이지 공유 */
main { max-width: var(--container-narrow); margin: 0 auto; padding: var(--space-7) var(--space-5); }
.crumb { font-size: var(--fs-sm); color: var(--color-text-mute); margin-bottom: var(--space-4); }
.calc-h1 { margin-bottom: var(--space-2); }
.intro { color: var(--color-text-dim); margin-bottom: var(--space-6); }

.field { margin-bottom: var(--space-5); }
.field .help { font-size: var(--fs-xs); color: var(--color-text-mute); margin-top: var(--space-2); }
.two { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); }
@media (max-width: 480px) { .two { grid-template-columns: 1fr; } }
.seg { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.seg label { flex: 1; min-width: 84px; margin: 0; padding: var(--space-3); text-align: center; border: 1px solid var(--color-border); border-radius: var(--radius); background: var(--color-surface); cursor: pointer; font-weight: 500; transition: all 0.12s ease; }
.seg label:has(input:checked) { border-color: var(--color-accent); background: var(--color-accent-soft); color: var(--color-primary); font-weight: 700; }
.seg input { position: absolute; opacity: 0; }
.calc-btn { width: 100%; margin-top: var(--space-3); font-size: var(--fs-lg); padding: var(--space-4); }

#result { display: none; margin-top: var(--space-7); }
#result.show { display: block; }
.result-head { text-align: center; padding: var(--space-6); background: var(--color-primary); color: #fff; border-radius: var(--radius-lg) var(--radius-lg) 0 0; }
.result-head .label { font-size: var(--fs-sm); opacity: 0.85; }
.result-head .amount { font-size: var(--fs-4xl); font-weight: 800; letter-spacing: -0.03em; margin-top: var(--space-2); }
.breakdown { border: 1px solid var(--color-border); border-top: none; border-radius: 0 0 var(--radius-lg) var(--radius-lg); background: var(--color-surface); }
.row { display: flex; justify-content: space-between; padding: var(--space-3) var(--space-5); border-bottom: 1px solid var(--color-border-soft); font-size: var(--fs-sm); gap: var(--space-4); }
.row:last-child { border-bottom: none; }
.row .k { color: var(--color-text-dim); }
.row .v { font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; }
.row.total { background: var(--color-surface-2); font-size: var(--fs-base); }
.row.total .v { color: var(--color-primary); font-weight: 800; }
.row.exempt { background: #EAF7EF; color: var(--color-success); justify-content: center; font-weight: 700; }
.badge { display: inline-block; font-size: var(--fs-xs); font-weight: 700; padding: 2px 8px; border-radius: 999px; margin-left: var(--space-2); }
.badge.warn { background: var(--color-warn-bg); color: var(--color-warn); }
.save-row { text-align: center; margin-top: var(--space-4); }
.save-row button { background: transparent; border: 1px solid var(--color-border); color: var(--color-text-dim); padding: var(--space-2) var(--space-4); border-radius: var(--radius); font-size: var(--fs-sm); font-weight: 600; cursor: pointer; }
.save-row button:hover { border-color: var(--color-accent); color: var(--color-primary); }

.faq { margin-top: var(--space-7); }
.faq h2 { font-size: var(--fs-xl); margin-bottom: var(--space-4); }
.faq details { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius); padding: var(--space-4); margin-bottom: var(--space-3); }
.faq summary { font-weight: 700; cursor: pointer; color: var(--color-primary); }
.faq p { color: var(--color-text-dim); font-size: var(--fs-sm); margin: var(--space-3) 0 0; }

/* 관련 계산기 (허브 상호링크) */
.related { margin-top: var(--space-7); }
.related h2 { font-size: var(--fs-lg); margin-bottom: var(--space-4); }
.related-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: var(--space-3); }
.related-grid a { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius); padding: var(--space-4); text-align: center; font-weight: 600; color: var(--color-text); font-size: var(--fs-sm); transition: all 0.12s ease; }
.related-grid a:hover { border-color: var(--color-accent); color: var(--color-primary); transform: translateY(-2px); }
.related-grid a span { display: block; font-size: 1.4rem; margin-bottom: var(--space-1); }
