/* ==========================================================================
   RoCandy — legal page (terms, privacy, refunds)
   ========================================================================== */
.legal-main { padding-top: calc(var(--nav-h) + 1rem); }
.legal { max-width: 820px; padding-bottom: 4rem; color: var(--cream-100); }
.legal h1 { font: 700 clamp(2rem, 4vw, 2.8rem)/1.05 'Space Grotesk', var(--font-body); letter-spacing: -.02em; color: var(--cream-50); }
.legal-lead { margin-top: .8rem; max-width: 62ch; color: rgba(255, 242, 228, .65); font-weight: 700; }
.legal-toc { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1.4rem; }
.legal-toc a { padding: .55rem .9rem; border-radius: 10px; background: rgba(255, 255, 255, .06); color: var(--cream-50); font: 800 .88rem/1 var(--font-body); text-decoration: none; transition: background .2s, color .2s; }
.legal-toc a:hover { background: rgba(255, 255, 255, .1); }
.legal-toc a[aria-current="page"] { background: rgba(247, 168, 188, .14); color: var(--pink-300); }
.legal-card { margin-top: 1.2rem; padding: 1.4rem 1.5rem; border-radius: 18px; background: rgba(255, 255, 255, .04); scroll-margin-top: calc(var(--nav-h) + 1rem); }
.legal-card h2 { font: 700 1.4rem/1.15 'Space Grotesk', var(--font-body); color: var(--cream-50); }
.legal-card p { margin-top: .6rem; color: rgba(255, 242, 228, .72); font-weight: 700; line-height: 1.55; }
.legal-card ul { margin: .8rem 0 0; padding-left: 1.2rem; display: grid; gap: .45rem; color: rgba(255, 242, 228, .78); font-weight: 700; line-height: 1.5; }
.legal-card li::marker { color: var(--pink-300); }

/* full policy documents */
.legal-updated { margin-top: .5rem; font: 800 .8rem/1 var(--font-body); letter-spacing: .04em; color: rgba(255, 242, 228, .5); }
.legal-contents { margin-top: 1.4rem; padding: 1.1rem 1.3rem; border-radius: 16px; background: rgba(255, 255, 255, .04); }
.legal-contents > p { font: 800 .76rem/1 var(--font-body); letter-spacing: .1em; text-transform: uppercase; color: var(--pink-300); }
.legal-contents ol { margin: .8rem 0 0; padding-left: 1.3rem; columns: 2; column-gap: 2rem; font: 700 .88rem/1.5 var(--font-body); }
.legal-contents li { break-inside: avoid; padding: .15rem 0; color: rgba(255, 242, 228, .5); }
.legal-contents a { color: var(--cream-100); text-decoration: none; }
.legal-contents a:hover { color: var(--pink-300); }
.legal-doc { margin-top: 1.2rem; padding: .4rem 1.5rem; border-radius: 18px; background: rgba(255, 255, 255, .04); }
.legal-sec { padding: 1.2rem 0; border-top: 1px dashed rgba(255, 255, 255, .09); scroll-margin-top: calc(var(--nav-h) + 1rem); }
.legal-sec:first-child { border-top: 0; }
.legal-sec h2 { font: 700 1.2rem/1.25 'Space Grotesk', var(--font-body); color: var(--cream-50); }
.legal-num { color: var(--pink-300); }
.legal-sec p { margin-top: .6rem; color: rgba(255, 242, 228, .75); font-weight: 700; line-height: 1.6; }
.legal-sec ul { margin: .7rem 0 0; padding-left: 1.2rem; display: grid; gap: .4rem; color: rgba(255, 242, 228, .78); font-weight: 700; line-height: 1.55; }
.legal-sec li::marker { color: var(--pink-300); }
@media (max-width: 640px) { .legal-contents ol { columns: 1; } .legal-doc { padding: .2rem 1.1rem; } }
.legal-sec strong { color: var(--cream-50); font-weight: 800; }
.legal-contents ol { list-style: decimal; }
.legal-contents li::marker { color: var(--pink-300); font-weight: 800; }
.legal-sec ul { list-style: disc; }
