/* Moved from templates/courses/privacy.html. */
.policy { max-width: 920px; margin: 0 auto; }
.policy .card { padding: 2rem 2.25rem; }
.policy h1 { margin: 0 0 .3rem; font-size: clamp(1.7rem, 3vw, 2.2rem); font-weight: 800; }
.policy h2 { margin: 2.2rem 0 .6rem; font-size: 1.25rem; padding-top: .4rem; }
.policy h3 { margin: 1.4rem 0 .4rem; font-size: 1.02rem; }
.policy p, .policy li { line-height: 1.75; }
.policy ul { padding-left: 1.3rem; }
.policy li + li { margin-top: .3rem; }
.policy table { width: 100%; border-collapse: collapse; font-size: .93rem; margin: .6rem 0 1rem; }
.policy th, .policy td { text-align: left; padding: .55rem .7rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.policy th { background: var(--accent-soft); font-size: .82rem; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.policy code { font-size: .88em; background: var(--accent-soft); padding: .1em .35em; border-radius: 5px; }
.summary { margin: 1.4rem 0 .5rem; padding: 1.1rem 1.3rem; border-radius: 12px; background: var(--accent-soft);
  border: 1px solid color-mix(in srgb, var(--accent) 25%, transparent); }
.summary ul { margin: .4rem 0 0; }
.toc { columns: 2; font-size: .92rem; margin-top: 1rem; }
.toc a { text-decoration: none; }
@media (max-width: 640px) { .policy .card { padding: 1.4rem 1.2rem; } .toc { columns: 1; } }
