/* ============================================================
   Legal document pages — ik- design system extension
   Used by Views/Home/Privacy.cshtml and Views/Home/Terms.cshtml
   Prefix: ik-legal
   ============================================================ */

.ik-legal-hero {
    background: var(--ik-cream-2);
    border-bottom: 1px solid var(--ik-border);
    padding: clamp(52px, 8vw, 84px) 24px clamp(32px, 5vw, 44px);
    text-align: center;
}
.ik-legal-hero-in { max-width: 760px; margin: 0 auto; }
.ik-legal-eyebrow {
    display: inline-block;
    font-family: var(--ik-body);
    font-weight: 800;
    font-size: 12.5px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--ik-green-deep);
    background: var(--ik-mint-bg);
    border-radius: 999px;
    padding: 6px 14px;
    margin-bottom: 16px;
}
.ik-legal-hero h1 {
    font-family: var(--ik-display);
    font-weight: 600;
    font-size: clamp(30px, 4.5vw, 44px);
    color: var(--ik-ink);
    margin: 0 0 12px;
}
.ik-legal-updated {
    font-family: var(--ik-body);
    font-weight: 700;
    font-size: 14.5px;
    color: var(--ik-muted);
    margin: 0;
}

/* ---------- body wrapper ---------- */
.ik-legal-body {
    background: var(--ik-cream);
    padding: clamp(36px, 6vw, 64px) 24px clamp(64px, 8vw, 96px);
}
.ik-legal-layout {
    max-width: 940px;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    gap: clamp(20px, 3vw, 40px);
}

/* ---------- table of contents (sticky, desktop only) ---------- */
.ik-legal-toc {
    flex: 0 0 220px;
    position: sticky;
    top: 96px;
    align-self: flex-start;
    background: #fff;
    border: 1px solid var(--ik-border-soft);
    border-radius: 16px;
    padding: 18px 16px;
}
.ik-legal-toc-title {
    font-family: var(--ik-body);
    font-weight: 800;
    font-size: 11.5px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--ik-gray);
    margin: 0 0 10px;
}
.ik-legal-toc ol {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
    max-height: 60vh;
    overflow-y: auto;
}
.ik-legal-toc a {
    display: block;
    font-family: var(--ik-body);
    font-weight: 600;
    font-size: 13.5px;
    color: var(--ik-muted);
    text-decoration: none;
    padding: 6px 8px;
    border-radius: 8px;
    line-height: 1.35;
}
.ik-legal-toc a:hover { background: var(--ik-mint-bg); color: var(--ik-green-deep); }

@media (max-width: 899.98px) {
    .ik-legal-toc { display: none; }
}

/* ---------- content column ---------- */
.ik-legal {
    flex: 1 1 640px;
    min-width: 0;
    max-width: 760px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid var(--ik-border-soft);
    border-radius: 20px;
    box-shadow: 0 16px 38px -30px rgba(80, 55, 20, .5);
    padding: clamp(26px, 5vw, 48px);
}

.ik-legal section { margin: 0 0 34px; scroll-margin-top: 96px; }
.ik-legal section:last-child { margin-bottom: 0; }

.ik-legal h2 {
    font-family: var(--ik-display);
    font-weight: 600;
    font-size: 21px;
    color: var(--ik-ink);
    margin: 0 0 14px;
}
.ik-legal h3 {
    font-family: var(--ik-display);
    font-weight: 600;
    font-size: 16.5px;
    color: var(--ik-ink);
    margin: 22px 0 10px;
}
.ik-legal p {
    font-family: var(--ik-body);
    font-weight: 500;
    font-size: 16px;
    line-height: 1.75;
    color: var(--ik-muted);
    margin: 0 0 14px;
}
.ik-legal p:last-child { margin-bottom: 0; }

.ik-legal ul,
.ik-legal ol {
    font-family: var(--ik-body);
    font-weight: 500;
    font-size: 16px;
    line-height: 1.7;
    color: var(--ik-muted);
    margin: 0 0 14px;
    padding-left: 22px;
}
.ik-legal li { margin-bottom: 7px; }
.ik-legal li:last-child { margin-bottom: 0; }
.ik-legal li strong { color: var(--ik-ink); }

.ik-legal a {
    color: var(--ik-green-deep);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: var(--ik-mint);
    text-underline-offset: 2px;
}
.ik-legal a:hover { color: var(--ik-green-dark); }

.ik-legal strong { color: var(--ik-ink); font-weight: 700; }

.ik-legal address {
    font-family: var(--ik-body);
    font-weight: 600;
    font-style: normal;
    font-size: 15.5px;
    line-height: 1.65;
    color: var(--ik-ink);
    background: var(--ik-cream-2);
    border: 1px solid var(--ik-border);
    border-radius: 14px;
    padding: 18px 20px;
    margin: 0;
}
.ik-legal address a { color: var(--ik-green-deep); }
