
.legal-head { padding: 22px 0; border-bottom: 1px solid var(--line); }
.legal-head img { width: 46px; }
.legal-body { padding: 48px 0 72px; }
.legal-body h1 { font-size: clamp(2rem, 5vw, 2.8rem); font-weight: 800; margin-bottom: 22px; }
.legal-body h2 { font-size: 1.2rem; font-weight: 800; margin: 28px 0 8px; }
.legal-body p { color: var(--ink-soft); margin-top: 10px; }
.legal-body a { color: var(--olive); font-weight: 600; }
.legal-updated { margin-top: 40px; font-size: 0.85rem; }
.legal-body ul { color: var(--ink-soft); margin: 10px 0 0; padding-left: 20px; list-style: disc; }
.legal-body li { margin-top: 6px; }
.legal-body code { font-size: 0.9em; }
.legal-body .optout-status { padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--cream); color: var(--ink); font-weight: 600; }
.optout-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.optout-btn { min-height: 48px; }
.optout-btn-secondary { background: transparent; color: var(--ink); border: 2px solid var(--ink); }
.optout-btn:disabled { opacity: 0.45; cursor: default; transform: none; box-shadow: none; }
.legal-body .optout-confirm { margin-top: 14px; padding: 12px 14px; border-radius: 10px; background: var(--sage); color: var(--ink); }
mark.pending { background: #ffe9a8; color: #5a3d00; padding: 1px 6px; border-radius: 4px; font-weight: 700; font-size: 0.85em; }
