/* MGF.AI page — legal/page_shell.html */

.legal-shell { max-width: 46rem; margin: 2rem auto 5rem; padding: 0 1.25rem; }
    .legal-nav {
        display: flex; flex-wrap: wrap; align-items: center;
        gap: 0.35rem 1rem; margin-bottom: 2rem; font-size: 0.88rem;
        border-bottom: 1px solid var(--border); padding-bottom: 1rem;
    }
    .legal-nav a { color: var(--sweet-primary); font-weight: 600; text-decoration: none; }
    .legal-nav a:hover { text-decoration: underline; }
    .legal-nav .sep { color: var(--text-faint); user-select: none; }
    .legal-doc { color: var(--text-muted); line-height: 1.72; font-size: 0.95rem; }
    .legal-doc h1 { color: var(--text); font-size: 1.55rem; font-weight: 800; margin: 0 0 1rem; letter-spacing: -0.02em; }
    .legal-doc h2 { color: var(--text); font-size: 1.12rem; font-weight: 700; margin: 2rem 0 0.65rem; }
    .legal-doc h3 { color: var(--text); font-size: 0.98rem; font-weight: 600; margin: 1.35rem 0 0.45rem; }
    .legal-doc p { margin: 0 0 1rem; }
    .legal-doc ul, .legal-doc ol { margin: 0 0 1rem 1.15rem; padding: 0; }
    .legal-doc li { margin-bottom: 0.4rem; }
    .legal-doc strong { color: var(--text); }
    .legal-doc a { color: var(--sweet-primary); }
    .legal-placeholder {
        padding: 0.85rem 1rem; border-radius: var(--radius-md);
        background: rgba(255, 51, 119, 0.08); border: 1px solid rgba(255, 51, 119, 0.22);
        color: var(--text-muted); font-size: 0.88rem; margin-bottom: 1.25rem;
    }
    .psp-review-notice {
        padding: 1rem 1.15rem; margin-bottom: 1.75rem; border-radius: var(--radius-md);
        background: rgba(121, 40, 202, 0.1); border: 1px solid rgba(140, 82, 255, 0.28);
        font-size: 0.92rem; line-height: 1.6; color: var(--text-muted);
    }
    .psp-review-notice__heading {
        color: var(--text); font-size: 1rem; font-weight: 800; margin: 0 0 0.65rem;
    }
    .psp-review-notice__block { margin-bottom: 1.25rem; }
    .psp-review-notice__block:last-of-type { margin-bottom: 0.5rem; }
    .psp-review-notice__links { margin: 1rem 0 0; font-size: 0.86rem; }
    .psp-review-notice p { margin: 0 0 0.85rem; }
    .psp-review-notice p:last-child { margin-bottom: 0; }
    .legal-note {
        font-size: 0.82rem; color: var(--text-faint); margin-top: 2.5rem; padding-top: 1.1rem;
        border-top: 1px solid var(--border); line-height: 1.55;
    }
    .legal-operator-appendix { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--border); }
    .legal-operator-appendix .legal-operator-block { margin-top: 1.25rem; padding-top: 0; border-top: none; }
    .legal-operator-appendix .legal-operator-block:first-child { margin-top: 0; }
    .legal-operator-appendix h2 { margin-top: 0; }
