/* Legal - Denice DeVries · Restoring Paths */
const { useState } = React;

const SECTIONS = [
  { id: "privacy", title: "Privacy Policy", body: [
    { kind: "p", text: "Last Updated: August 2026" },
    { kind: "p", text: "Denice DeVries and Restoring Paths (\"I,\" \"me,\" or \"my\") is committed to protecting your privacy. People who reach out to me are often sharing some of the most tender things in their lives — grief, fear, faith, and family. I take that trust seriously, and I handle your information accordingly." },
    { kind: "p", text: "By using this website or participating in any coaching offering, you consent to the practices described in this policy. If anything is unclear, ask me directly — I'd rather explain it plainly than hide behind legal language." },
  ] },
  { id: "info-collect", title: "Information We Collect", body: [
    { kind: "p", text: "I collect information you provide directly and information gathered automatically through your use of this website:" },
    { kind: "li", text: "Personal Data: Name, email, phone, and contact details from booking, the contact form, email signups, or purchase." },
    { kind: "li", text: "Coaching Session Information: Notes and records, kept strictly confidential and never shared." },
    { kind: "li", text: "Payment Information: Processed through secure third-party processors. I do not store full card information." },
    { kind: "li", text: "Usage Data: Standard analytics — pages visited, time on site, device type — used only to improve the website." },
    { kind: "li", text: "Cookies: Small data files that enhance your browsing experience. Disable in browser settings if you prefer." },
  ] },
  { id: "info-use", title: "How We Use Your Information", body: [
    { kind: "p", text: "Your information is used only to serve you well. Specifically:" },
    { kind: "li", text: "To provide coaching services and program delivery" },
    { kind: "li", text: "To process bookings, enrollments, and payments" },
    { kind: "li", text: "To respond personally to your questions and inquiries" },
    { kind: "li", text: "To send opted-in emails (you may unsubscribe at any time)" },
    { kind: "li", text: "To improve this website and the quality of Restoring Paths offerings" },
    { kind: "li", text: "To comply with applicable legal obligations" },
    { kind: "p", text: "I do not sell, rent, or share your personal information with third parties for marketing purposes — ever." },
  ] },
  { id: "terms", title: "Terms of Service", body: [
    { kind: "p", text: "Last Updated: August 2026" },
    { kind: "p", text: "By accessing this site or services, you agree to these Terms. Lawful use only; no commercial reproduction without explicit written permission; you are responsible for the security of your account credentials." },
    { kind: "p", text: "All content on this website — including text, the Restoring Paths framework, teachings, and program materials — is the intellectual property of Denice DeVries and Restoring Paths and may not be reproduced, distributed, or used without permission." },
    { kind: "p", text: "Behavior that is disrespectful, harmful, or contrary to the well-being of others in shared spaces (such as the grief small group) may result in termination of services without refund." },
    { kind: "p", text: "I reserve the right to update these terms. Continued use of this website or these services following changes constitutes acceptance of the revised terms." },
  ] },
  { id: "coaching", title: "Coaching Disclaimer", body: [
    { kind: "p", text: "Denice DeVries and Restoring Paths provide faith-based life coaching. Coaching is not therapy, counseling, psychiatry, or any form of licensed mental health treatment. Although I have worked as a registered nurse, coaching is not medical care, nursing care, or medical advice, and no nurse–patient relationship is created by working with me." },
    { kind: "p", text: "The work we do together helps you identify what you want coaching for, seek truthful answers in Scripture, and build simple, practical rhythms for prayer, quiet time, and daily life. It is designed to complement, not replace, professional mental health and medical care." },
    { kind: "p", text: "If you are experiencing a mental health crisis, suicidal thoughts, or acute trauma symptoms, please contact a licensed mental health professional or call 988 immediately. If you are in therapy or under medical care, I warmly encourage you to continue alongside coaching." },
    { kind: "p", text: "Results from coaching vary based on individual circumstances, commitment, and willingness to engage in the process — and grief in particular ebbs and flows. Stories shared on this site reflect individual experiences and are not guarantees of specific outcomes." },
  ] },
  { id: "refund", title: "Refund Policy", body: [
    { kind: "p", text: "Refunds are considered on a case-by-case basis within the first 30 days of program enrollment." },
    { kind: "li", text: "1:1 Coaching (Restoring Paths 1:1): If within 30 days the coaching isn't the right fit for reasons within my control, email me and we'll have an honest conversation." },
    { kind: "li", text: "Grief Small Group (Walking With Loss): Prorated refund within the first 30 days of a group's start. Membership is otherwise non-refundable due to limited group size." },
    { kind: "li", text: "Self-Paced Path (Seeking His Presence): Due to the immediate digital access nature of this offering, refunds are not available after enrollment. Contact me right away with any technical issues and I will resolve them." },
    { kind: "p", text: "No refunds after 30 days or for missed sessions due to client conflicts. Free getting-acquainted calls carry no purchase obligation whatsoever." },
  ] },
  { id: "contact", title: "Contact Information", body: [
    { kind: "p", text: "Questions about these policies? Concerns about how your information is used? Reach out directly:" },
    { kind: "li", text: "Email: restoringpath@gmail.com" },
    { kind: "li", text: "Phone / text: (507) 440-8258" },
    { kind: "li", text: "Location: Minnesota (serving clients remotely nationwide)" },
    { kind: "li", text: "Response Time: Personally, usually within a day or two — no bots, no team." },
  ] },
];

function App() {
  const [active, setActive] = useState("privacy");
  const section = SECTIONS.find((s) => s.id === active);
  return (
    <>
      <Nav current="" />
      <main>
        <PageHero
          eyebrow="Legal"
          title="Terms &"
          italic="privacy."
          subtitle="The fine print, kept honest and plain. I believe in being straightforward about how I handle your information and what you can expect from working with me. Please review these policies at your convenience — and if anything is unclear, just ask. I'd rather explain it across the table than hide behind legal language."
        />
        <section className="section" style={{ background: "var(--cream)", paddingTop: 20 }}>
          <div className="container" style={{ display: "grid", gridTemplateColumns: "1fr 2.4fr", gap: 64, alignItems: "start" }}>
            <aside style={{ position: "sticky", top: 120 }}>
              <div className="smallcaps" style={{ color: "var(--terracotta)", marginBottom: 16 }}>✦ Quick navigation</div>
              <ol style={{ listStyle: "none", display: "flex", flexDirection: "column", gap: 0, borderTop: "1px solid var(--rule)" }}>
                {SECTIONS.map((s, i) => (
                  <li key={s.id}>
                    <button onClick={() => setActive(s.id)} style={{ background: "transparent", border: "none", display: "flex", gap: 14, alignItems: "center", width: "100%", padding: "14px 0", borderBottom: "1px solid var(--rule)", cursor: "pointer", textAlign: "left", color: active === s.id ? "var(--terracotta)" : "var(--walnut)" }}>
                      <span className="mono" style={{ fontSize: 11, color: "var(--terracotta)" }}>{String(i + 1).padStart(2, "0")}</span>
                      <span className="grotesk" style={{ fontSize: 14.5, fontWeight: active === s.id ? 500 : 400 }}>{s.title}</span>
                      {active === s.id && <span style={{ marginLeft: "auto", color: "var(--terracotta)" }}>→</span>}
                    </button>
                  </li>
                ))}
              </ol>
            </aside>
            <div>
              <article>
                <div className="smallcaps" style={{ color: "var(--terracotta)", marginBottom: 12 }}>Section · {section.id}</div>
                <h2 className="display" style={{ fontSize: "clamp(40px, 5vw, 64px)", color: "var(--walnut)", lineHeight: 0.98, fontWeight: 500, marginBottom: 40 }}>{section.title}</h2>
                <div style={{ maxWidth: 740, fontSize: 17, lineHeight: 1.7, color: "var(--walnut-soft)" }}>
                  {section.body.map((b, i) => b.kind === "li"
                    ? <div key={i} style={{ display: "grid", gridTemplateColumns: "32px 1fr", gap: 12, padding: "12px 0", borderBottom: "1px solid var(--rule)" }}>
                        <span className="mono" style={{ fontSize: 11, color: "var(--terracotta)", paddingTop: 6 }}>{String(i + 1).padStart(2, "0")}</span>
                        <p>{b.text}</p>
                      </div>
                    : <p key={i} style={{ marginBottom: 22 }}>{b.text}</p>
                  )}
                </div>
              </article>
            </div>
          </div>
        </section>
      </main>
      <Footer />
      <PaletteTweaksPanel />
    </>
  );
}

ReactDOM.createRoot(document.getElementById("root")).render(<App />);
