/* ═══════════════════════════════════════════════════════════════
   KovaiGuide — Terms & Privacy pages (Oct 2026)
   Linked from page-terms.php and page-privacy-policy.php only.
   Uses the theme tokens from main.css (:root).
   ═══════════════════════════════════════════════════════════════ */

.kg-legal { padding-top: 24px; padding-bottom: 40px; }
.kg-legal__article { max-width: 820px; margin: 0 auto; }

.kg-legal__head h1 { font-size: clamp(1.7rem, 3.6vw, 2.3rem); line-height: 1.2; margin-bottom: .4rem; color: var(--primary); }
.kg-legal__updated { font-size: .85rem; color: var(--text-light); margin-bottom: 1rem; }
.kg-legal__intro { font-size: 1.02rem; line-height: 1.75; color: var(--text-color); }

/* Contents */
.kg-legal__toc { margin: 1.75rem 0 2.25rem; padding: 18px 22px; background: var(--accent-bg); border-radius: var(--radius); }
.kg-legal__toc-title { font-weight: 600; margin-bottom: .5rem; }
.kg-legal__toc ol { margin: 0; padding-left: 1.2rem; columns: 2; column-gap: 32px; }
.kg-legal__toc li { padding: 2px 0; break-inside: avoid; font-size: .92rem; }
.kg-legal__toc a { color: var(--text-color); text-decoration: none; }
.kg-legal__toc a:hover { color: var(--primary); text-decoration: underline; }

/* Numbered sections */
.kg-legal__body { counter-reset: kgsec; }
.kg-legal__body section { counter-increment: kgsec; padding: 26px 0 6px; border-top: 1px solid var(--border); scroll-margin-top: 20px; }
.kg-legal__body section:first-child { border-top: 0; padding-top: 0; }
.kg-legal__body h2 { font-size: 1.2rem; margin-bottom: .7rem; }
.kg-legal__body h2::before { content: counter(kgsec) ". "; color: var(--primary); }
.kg-legal__body p, .kg-legal__body li { line-height: 1.75; color: var(--text-color); }
.kg-legal__body p { margin-bottom: .9rem; max-width: 70ch; }
.kg-legal__body ul, .kg-legal__body ol { margin: 0 0 1rem 1.3rem; max-width: 70ch; }
.kg-legal__body li { margin-bottom: .35rem; }
.kg-legal__body li::marker { color: var(--primary); }
.kg-legal__body a { color: var(--primary); text-decoration: underline; text-underline-offset: 2px; }
.kg-legal__body code { background: var(--light-gray); padding: 1px 6px; border-radius: 4px; font-size: .88em; }

.kg-legal__callout { padding: 14px 18px; border-left: 4px solid var(--secondary); background: #FFF8E6; border-radius: 0 var(--radius) var(--radius) 0; }
.kg-legal__address { font-style: normal; line-height: 1.8; padding: 14px 18px; background: var(--light-gray); border: 1px solid var(--border); border-radius: var(--radius); max-width: 70ch; margin-bottom: 1rem; }

/* Tables */
.kg-legal__table-wrap { overflow-x: auto; margin: 0 0 1rem; }
.kg-legal__table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.kg-legal__table th, .kg-legal__table td { text-align: left; vertical-align: top; padding: 10px 14px; border-bottom: 1px solid var(--border); }
.kg-legal__table th { background: var(--light-gray); font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: var(--text-light); }
.kg-legal__table td:first-child { font-weight: 600; white-space: nowrap; }
.kg-legal__table td { line-height: 1.6; }

@media (max-width: 640px) {
    .kg-legal__toc ol { columns: 1; }
    .kg-legal__table td:first-child { white-space: normal; }
}
@media print {
    .kg-legal__toc { display: none; }
    .kg-legal__body section { break-inside: avoid; }
}
