# Sveltia CMS configuration.
# Wire `backend` to your GitHub repo in Phase 3 (for live publishing).

backend:
  name: github
  repo: runmedia2/landers
  branch: main

# Enables the "Work with Local Repository" button so you can edit files on your
# machine in Chrome/Edge without any proxy server or GitHub connection.
local_backend: true

# Uploaded images land here and are referenced from the page.
media_folder: "public/images"
public_folder: "/images"

collections:
  - name: "landers"
    label: "Landers (pre-sell pages)"
    label_singular: "Lander"
    folder: "src/content/landers"
    create: true
    slug: "{{slug}}"
    extension: "md"
    format: "frontmatter"
    summary: "{{headline}}"
    fields:
      - { label: "Internal name", name: "title", widget: "string", hint: "Only you see this — used in lists." }
      - { label: "Published", name: "published", widget: "boolean", default: true }

      # --- Template / style ---
      - label: "Template / style"
        name: "template"
        widget: "select"
        default: "daily-health-report"
        hint: "More news-site styles will appear here as we build them."
        options:
          - { label: "Daily Health Report (news)", value: "daily-health-report" }

      # --- Branding ---
      - { label: "Site / masthead name", name: "siteName", widget: "string", default: "Daily Health Report" }
      # --- Formatting & design (one collapsible section; defaults preset) ---
      - label: "Formatting & design"
        name: "formatting"
        widget: "object"
        collapsed: true
        summary: "Logo, colors, fonts & disclosure — defaults already set"
        fields:
          - { label: "Logo image (optional)", name: "logoImage", widget: "image", required: false, hint: "Leave empty to show the site name as text." }
          - { label: "Brand logo — right of main logo (optional)", name: "brandLogoImage", widget: "image", required: false, hint: "e.g. a co-brand / 'presented by' logo such as P&G." }
          - { label: "Show logo / masthead area", name: "showMasthead", widget: "boolean", default: true, hint: "Turn OFF to hide the whole logo bar and red line — the page then starts at the category label, which acts as the brand title." }
          - { label: "Category label", name: "category", widget: "string", default: "Health" }

          # Color scheme
          - { label: "Accent / line color", name: "accentColor", widget: "color", default: "#c8102e", hint: "Main logo color — used for lines, links, and accents." }
          - { label: "Button color", name: "buttonColor", widget: "color", default: "#c8102e", allowInput: true, hint: "Defaults to the accent color (red). Change it to override." }
          - { label: "Background color", name: "backgroundColor", widget: "color", default: "#ffffff" }
          - { label: "Background image (optional)", name: "backgroundImage", widget: "image", required: false, hint: "Sits behind the page; the article column stays solid." }
          - { label: "Accent background color", name: "accentBackgroundColor", widget: "color", default: "#f7f7f8", hint: "Used for callouts, quotes, the CTA panel, and footer." }

          # Typography
          - label: "Font"
            name: "fontFamily"
            widget: "select"
            default: "system"
            options:
              - { label: "System sans-serif (default)", value: "system" }
              - { label: "Georgia (serif)", value: "georgia" }
              - { label: "Arial", value: "arial" }
              - { label: "Verdana", value: "verdana" }
          - { label: "Font color", name: "fontColor", widget: "color", default: "#1a1a1a" }
          - { label: "Font size — desktop (px)", name: "fontSizeDesktop", widget: "number", value_type: "int", default: 18, min: 12, max: 28 }
          - { label: "Font size — mobile (px)", name: "fontSizeMobile", widget: "number", value_type: "int", default: 17, min: 12, max: 24 }

          # Compliance
          - { label: "Show 'Advertisement' strip", name: "adLabel", widget: "boolean", default: true }
          - { label: "Disclosure text", name: "disclosure", widget: "text" }

      # --- Article header ---
      - { label: "Headline", name: "headline", widget: "string" }
      - { label: "Subheadline", name: "subhead", widget: "text", required: false }
      - { label: "Author name", name: "authorName", widget: "string", default: "Staff Writer" }
      - { label: "Date (display text)", name: "authorDate", widget: "string", default: "June 2026" }
      - { label: "Hero image", name: "heroImage", widget: "image", required: false }
      - { label: "Hero image alt text", name: "heroAlt", widget: "string", required: false }

      - label: "Body blocks"
        name: "blocks"
        widget: "list"
        label_singular: "block"
        hint: "Build the article from stackable blocks. Drag to reorder."
        types:
          - label: "Paragraph"
            name: "paragraph"
            widget: "object"
            summary: "{{fields.text}}"
            fields:
              - { label: "Hidden (keep but don't show)", name: "hidden", widget: "boolean", default: false }
              - { label: "Text", name: "text", widget: "markdown" }
          - label: "Heading"
            name: "heading"
            widget: "object"
            summary: "{{fields.text}}"
            fields:
              - { label: "Hidden (keep but don't show)", name: "hidden", widget: "boolean", default: false }
              - { label: "Text", name: "text", widget: "string" }
          - label: "Image"
            name: "image"
            widget: "object"
            fields:
              - { label: "Hidden (keep but don't show)", name: "hidden", widget: "boolean", default: false }
              - { label: "Image", name: "src", widget: "image" }
              - { label: "Alt text", name: "alt", widget: "string", required: false }
              - { label: "Caption", name: "caption", widget: "string", required: false }
          - label: "Testimonial quote"
            name: "quote"
            widget: "object"
            summary: "{{fields.text}}"
            fields:
              - { label: "Hidden (keep but don't show)", name: "hidden", widget: "boolean", default: false }
              - { label: "Quote", name: "text", widget: "text" }
              - { label: "Attribution", name: "attribution", widget: "string", required: false }
          - label: "Callout (pop box)"
            name: "callout"
            widget: "object"
            fields:
              - { label: "Hidden (keep but don't show)", name: "hidden", widget: "boolean", default: false }
              - { label: "Title", name: "title", widget: "string", required: false }
              - { label: "Text", name: "text", widget: "markdown" }
          - label: "Inline button (CTA)"
            name: "cta"
            widget: "object"
            fields:
              - { label: "Hidden (keep but don't show)", name: "hidden", widget: "boolean", default: false }
              - { label: "Headline", name: "title", widget: "string", required: false }
              - { label: "Button text", name: "buttonText", widget: "string", default: "Learn More" }
              - { label: "Button URL", name: "buttonUrl", widget: "string", default: "#" }

      # --- Final call(s) to action — add, stack, reorder, or delete ---
      - label: "Final call-to-action(s)"
        name: "finalCtas"
        widget: "list"
        label_singular: "CTA"
        required: false
        summary: "{{fields.headline}}"
        hint: "Shown after the article. Click + to add another, drag to reorder, or delete any (delete all to show none)."
        fields:
          - { label: "Headline (optional)", name: "headline", widget: "string", required: false }
          - { label: "Button text", name: "buttonText", widget: "string", default: "Learn More" }
          - { label: "Button URL", name: "buttonUrl", widget: "string", default: "#" }

      - { label: "Show legal footer", name: "showLegalFooter", widget: "boolean", default: true }

  # =====================================================================
  # Sales pages — ecom product-style landers (e.g. partner-page skins).
  # Built from reorderable section blocks; drag to reorder, toggle Hidden
  # to keep a section without showing it, and use "Anchor id" so buttons
  # can jump to a section (e.g. set anchor "pricing", link "#pricing").
  # =====================================================================
  - name: "salespages"
    label: "Sales pages (product skins)"
    label_singular: "Sales page"
    folder: "src/content/salespages"
    create: true
    slug: "{{slug}}"
    extension: "md"
    format: "frontmatter"
    summary: "{{title}}"
    fields:
      - { label: "Internal name", name: "title", widget: "string", hint: "Only you see this — used in lists." }
      - { label: "Published", name: "published", widget: "boolean", default: true }
      - label: "Template / style"
        name: "template"
        widget: "select"
        default: "ecom-sales"
        options:
          - { label: "Ecom sales page", value: "ecom-sales" }
      - { label: "Browser-tab title (SEO)", name: "seoTitle", widget: "string", required: false }
      - { label: "Meta description (SEO)", name: "seoDescription", widget: "text", required: false }

      # --- Top bar & header ---
      - { label: "Urgency bar text (optional)", name: "urgencyText", widget: "string", required: false, hint: "Thin dark bar above the header, e.g. 'Limited supply — running out fast'. Leave empty to hide." }
      - { label: "Show header", name: "showHeader", widget: "boolean", default: true }
      - { label: "Logo image", name: "logoImage", widget: "image", required: false }
      - { label: "Logo alt text", name: "logoAlt", widget: "string", required: false }
      - label: "Header nav links"
        name: "navLinks"
        widget: "list"
        required: false
        summary: "{{fields.label}}"
        hint: "Desktop-only anchor links, e.g. label 'Benefits' + link '#benefits'."
        fields:
          - { label: "Label", name: "label", widget: "string" }
          - { label: "Link (#anchor or URL)", name: "href", widget: "string" }
      - { label: "Header button text", name: "headerCtaLabel", widget: "string", required: false }
      - { label: "Header button link", name: "headerCtaHref", widget: "string", required: false, hint: "Usually '#pricing' to jump to the price cards." }

      # --- Design / skin ---
      - label: "Design / skin"
        name: "formatting"
        widget: "object"
        collapsed: true
        summary: "Colors & fonts — change these to re-skin the whole page"
        fields:
          - { label: "Accent color", name: "accentColor", widget: "color", default: "#017d3e", hint: "Headings highlights, links, table highlight, popular-card border." }
          - { label: "Button color", name: "buttonColor", widget: "color", default: "#ee9100" }
          - { label: "Button text color", name: "buttonTextColor", widget: "color", default: "#ffffff" }
          - { label: "Background color", name: "backgroundColor", widget: "color", default: "#ffffff" }
          - { label: "Tinted section background", name: "softBackgroundColor", widget: "color", default: "#f2f8f5", hint: "Sections set to 'soft' background use this." }
          - label: "Body font"
            name: "fontFamily"
            widget: "select"
            default: "opensans"
            options:
              - { label: "Open Sans (webfont, default)", value: "opensans" }
              - { label: "System sans-serif", value: "system" }
              - { label: "Georgia (serif)", value: "georgia" }
              - { label: "Arial", value: "arial" }
              - { label: "Verdana", value: "verdana" }
          - label: "Heading font"
            name: "headingFontFamily"
            widget: "select"
            default: "oswald"
            options:
              - { label: "Oswald (condensed, default)", value: "oswald" }
              - { label: "Open Sans", value: "opensans" }
              - { label: "System sans-serif", value: "system" }
              - { label: "Georgia (serif)", value: "georgia" }
          - { label: "Font color", name: "fontColor", widget: "color", default: "#2c2645" }
          - { label: "Font size — desktop (px)", name: "fontSizeDesktop", widget: "number", value_type: "int", default: 18, min: 12, max: 28 }
          - { label: "Font size — mobile (px)", name: "fontSizeMobile", widget: "number", value_type: "int", default: 17, min: 12, max: 24 }

      # --- Page sections ---
      - label: "Page sections"
        name: "blocks"
        widget: "list"
        label_singular: "section"
        hint: "The whole page, top to bottom. Drag to reorder, toggle Hidden to keep without showing."
        types:
          - label: "Hero (big headline + button + badges)"
            name: "hero"
            widget: "object"
            summary: "{{fields.heading}}"
            fields:
              - { label: "Hidden", name: "hidden", widget: "boolean", default: false }
              - { label: "Anchor id (optional)", name: "anchor", widget: "string", required: false }
              - { label: "Eyebrow (small text above)", name: "eyebrow", widget: "string", required: false }
              - { label: "Headline", name: "heading", widget: "string", hint: "Wrap words in **stars** to color them with the accent color." }
              - { label: "Subheadline", name: "subhead", widget: "text", required: false }
              - { label: "Product image (optional)", name: "image", widget: "image", required: false }
              - { label: "Image alt text", name: "imageAlt", widget: "string", required: false }
              - { label: "Button text", name: "ctaLabel", widget: "string", required: false }
              - { label: "Button link", name: "ctaHref", widget: "string", required: false }
              - { label: "Small text under button", name: "ctaSubtext", widget: "string", required: false }
              - label: "Trust badges"
                name: "items"
                widget: "list"
                required: false
                summary: "{{fields.title}}"
                fields:
                  - { label: "Badge image", name: "image", widget: "image", required: false }
                  - { label: "Label", name: "title", widget: "string", required: false }
          - label: "Icon row (icons with labels)"
            name: "iconRow"
            widget: "object"
            summary: "{{fields.heading}}"
            fields:
              - { label: "Hidden", name: "hidden", widget: "boolean", default: false }
              - { label: "Anchor id (optional)", name: "anchor", widget: "string", required: false }
              - { label: "Tinted background", name: "background", widget: "select", required: false, options: [{ label: "Plain", value: "plain" }, { label: "Tinted", value: "soft" }] }
              - { label: "Heading", name: "heading", widget: "string", required: false }
              - { label: "Intro text", name: "body", widget: "markdown", required: false }
              - label: "Icons"
                name: "items"
                widget: "list"
                summary: "{{fields.title}}"
                fields:
                  - { label: "Icon image", name: "image", widget: "image", required: false }
                  - { label: "Label", name: "title", widget: "string", required: false }
                  - { label: "Small text", name: "text", widget: "string", required: false }
          - label: "Benefit list (icon + title + text rows)"
            name: "benefitList"
            widget: "object"
            summary: "{{fields.heading}}"
            fields:
              - { label: "Hidden", name: "hidden", widget: "boolean", default: false }
              - { label: "Anchor id (optional)", name: "anchor", widget: "string", required: false }
              - { label: "Tinted background", name: "background", widget: "select", required: false, options: [{ label: "Plain", value: "plain" }, { label: "Tinted", value: "soft" }] }
              - { label: "Eyebrow (small text above)", name: "eyebrow", widget: "string", required: false }
              - { label: "Heading", name: "heading", widget: "string", required: false }
              - { label: "Intro text", name: "body", widget: "markdown", required: false }
              - label: "Benefits"
                name: "items"
                widget: "list"
                summary: "{{fields.title}}"
                fields:
                  - { label: "Icon image", name: "image", widget: "image", required: false }
                  - { label: "Bold title", name: "title", widget: "string", required: false }
                  - { label: "Text", name: "text", widget: "text", required: false }
          - label: "Image + text (side by side)"
            name: "imageText"
            widget: "object"
            summary: "{{fields.heading}}"
            fields:
              - { label: "Hidden", name: "hidden", widget: "boolean", default: false }
              - { label: "Anchor id (optional)", name: "anchor", widget: "string", required: false }
              - { label: "Tinted background", name: "background", widget: "select", required: false, options: [{ label: "Plain", value: "plain" }, { label: "Tinted", value: "soft" }] }
              - { label: "Eyebrow (small text above)", name: "eyebrow", widget: "string", required: false }
              - { label: "Heading", name: "heading", widget: "string", required: false }
              - { label: "Text", name: "body", widget: "markdown" }
              - { label: "Image / infographic", name: "image", widget: "image", required: false }
              - { label: "Image alt text", name: "imageAlt", widget: "string", required: false }
              - { label: "Image side", name: "imageSide", widget: "select", default: "right", options: [{ label: "Right", value: "right" }, { label: "Left", value: "left" }] }
              - { label: "Button text (optional)", name: "ctaLabel", widget: "string", required: false }
              - { label: "Button link", name: "ctaHref", widget: "string", required: false }
          - label: "Testimonial / review"
            name: "testimonial"
            widget: "object"
            summary: "{{fields.name}}"
            fields:
              - { label: "Hidden", name: "hidden", widget: "boolean", default: false }
              - { label: "Anchor id (optional)", name: "anchor", widget: "string", required: false }
              - { label: "Tinted background", name: "background", widget: "select", required: false, options: [{ label: "Plain", value: "plain" }, { label: "Tinted", value: "soft" }] }
              - { label: "Heading (optional)", name: "heading", widget: "string", required: false }
              - { label: "Quote", name: "quote", widget: "text" }
              - { label: "Name", name: "name", widget: "string", required: false }
              - { label: "Location", name: "location", widget: "string", required: false }
              - { label: "Extra info (e.g. '49 days ago')", name: "meta", widget: "string", required: false }
              - { label: "Stars (0–5)", name: "stars", widget: "number", value_type: "int", default: 5, min: 0, max: 5 }
              - { label: "Show 'Verified User'", name: "verified", widget: "boolean", default: true }
              - { label: "Photo", name: "image", widget: "image", required: false }
          - label: "CTA banner (headline + button)"
            name: "ctaBanner"
            widget: "object"
            summary: "{{fields.heading}}"
            fields:
              - { label: "Hidden", name: "hidden", widget: "boolean", default: false }
              - { label: "Anchor id (optional)", name: "anchor", widget: "string", required: false }
              - { label: "Tinted background", name: "background", widget: "select", required: false, options: [{ label: "Plain", value: "plain" }, { label: "Tinted", value: "soft" }] }
              - { label: "Headline", name: "heading", widget: "string", required: false }
              - { label: "Text", name: "body", widget: "markdown", required: false }
              - { label: "Button text", name: "ctaLabel", widget: "string" }
              - { label: "Button link", name: "ctaHref", widget: "string", hint: "'#pricing' to jump to price cards, or a full checkout URL." }
              - { label: "Small text under button", name: "ctaSubtext", widget: "string", required: false }
          - label: "Pricing cards"
            name: "pricing"
            widget: "object"
            summary: "{{fields.heading}}"
            fields:
              - { label: "Hidden", name: "hidden", widget: "boolean", default: false }
              - { label: "Anchor id", name: "anchor", widget: "string", required: false, hint: "Set to 'pricing' so buttons elsewhere can link to '#pricing'." }
              - { label: "Tinted background", name: "background", widget: "select", required: false, options: [{ label: "Plain", value: "plain" }, { label: "Tinted", value: "soft" }] }
              - { label: "Heading", name: "heading", widget: "string", required: false }
              - { label: "Subheading", name: "subhead", widget: "string", required: false }
              - label: "Price cards"
                name: "cards"
                widget: "list"
                summary: "{{fields.title}} — {{fields.price}}"
                fields:
                  - { label: "Ribbon (e.g. 'Most Popular' — leave empty for none)", name: "badge", widget: "string", required: false }
                  - { label: "Title (e.g. '6 BOTTLES')", name: "title", widget: "string" }
                  - { label: "Supply line (e.g. '6-Month Supply')", name: "supply", widget: "string", required: false }
                  - { label: "Product image", name: "image", widget: "image", required: false }
                  - { label: "Regular price (struck through)", name: "regularPrice", widget: "string", required: false }
                  - { label: "Price", name: "price", widget: "string" }
                  - { label: "Price note (e.g. 'per bottle')", name: "priceNote", widget: "string", required: false }
                  - { label: "Bonus line (e.g. '+3 FREE BOTTLES')", name: "bonusText", widget: "string", required: false }
                  - { label: "Button text", name: "buttonText", widget: "string", default: "BUY NOW" }
                  - { label: "Button link (checkout URL)", name: "buttonUrl", widget: "string", hint: "Paste the partner checkout link for this package." }
                  - { label: "Show payment-method icons", name: "showPaymentIcons", widget: "boolean", default: true }
          - label: "Founder promise (story + signature + guarantee card)"
            name: "promise"
            widget: "object"
            summary: "{{fields.heading}}"
            fields:
              - { label: "Hidden", name: "hidden", widget: "boolean", default: false }
              - { label: "Anchor id (optional)", name: "anchor", widget: "string", required: false }
              - { label: "Tinted background", name: "background", widget: "select", required: false, options: [{ label: "Plain", value: "plain" }, { label: "Tinted", value: "soft" }] }
              - { label: "Eyebrow (small text above)", name: "eyebrow", widget: "string", required: false }
              - { label: "Heading", name: "heading", widget: "string", required: false }
              - { label: "Story text", name: "body", widget: "markdown" }
              - { label: "Photo", name: "photo", widget: "image", required: false }
              - { label: "Name", name: "name", widget: "string", required: false }
              - { label: "Role (e.g. 'Formulator & Founder')", name: "role", widget: "string", required: false }
              - { label: "Signature image", name: "signatureImage", widget: "image", required: false }
              - { label: "Guarantee card title", name: "cardTitle", widget: "string", required: false }
              - { label: "Guarantee card text", name: "cardText", widget: "text", required: false }
          - label: "Comparison table (us vs. other brands)"
            name: "comparison"
            widget: "object"
            summary: "{{fields.heading}}"
            fields:
              - { label: "Hidden", name: "hidden", widget: "boolean", default: false }
              - { label: "Anchor id (optional)", name: "anchor", widget: "string", required: false }
              - { label: "Tinted background", name: "background", widget: "select", required: false, options: [{ label: "Plain", value: "plain" }, { label: "Tinted", value: "soft" }] }
              - { label: "Heading", name: "heading", widget: "string", required: false }
              - { label: "Subheading", name: "subhead", widget: "string", required: false }
              - { label: "Intro text", name: "body", widget: "markdown", required: false }
              - { label: "Product image", name: "image", widget: "image", required: false }
              - { label: "Image alt text", name: "imageAlt", widget: "string", required: false }
              - { label: "Column 1 label", name: "col1Label", widget: "string" }
              - { label: "Column 2 label", name: "col2Label", widget: "string" }
              - label: "Rows (first row = your brand, highlighted)"
                name: "rows"
                widget: "list"
                summary: "{{fields.brand}}"
                fields:
                  - { label: "Brand name", name: "brand", widget: "string" }
                  - { label: "Column 1 — good (✔) or bad (✘)", name: "col1Good", widget: "boolean", default: false }
                  - { label: "Column 1 — detail text", name: "col1Text", widget: "string", required: false }
                  - { label: "Column 2 — good (✔) or bad (✘)", name: "col2Good", widget: "boolean", default: false }
                  - { label: "Column 2 — detail text", name: "col2Text", widget: "string", required: false }
          - label: "Guarantee (badge + headline + text)"
            name: "guarantee"
            widget: "object"
            summary: "{{fields.heading}}"
            fields:
              - { label: "Hidden", name: "hidden", widget: "boolean", default: false }
              - { label: "Anchor id (optional)", name: "anchor", widget: "string", required: false }
              - { label: "Tinted background", name: "background", widget: "select", required: false, options: [{ label: "Plain", value: "plain" }, { label: "Tinted", value: "soft" }] }
              - { label: "Badge image", name: "image", widget: "image", required: false }
              - { label: "Small text above heading", name: "eyebrow", widget: "string", required: false }
              - { label: "Heading", name: "heading", widget: "string", required: false }
              - { label: "Text", name: "body", widget: "markdown", required: false }
          - label: "FAQ (accordion)"
            name: "faq"
            widget: "object"
            summary: "{{fields.heading}}"
            fields:
              - { label: "Hidden", name: "hidden", widget: "boolean", default: false }
              - { label: "Anchor id (optional)", name: "anchor", widget: "string", required: false }
              - { label: "Tinted background", name: "background", widget: "select", required: false, options: [{ label: "Plain", value: "plain" }, { label: "Tinted", value: "soft" }] }
              - { label: "Small text above heading", name: "eyebrow", widget: "string", required: false }
              - { label: "Heading", name: "heading", widget: "string", required: false }
              - { label: "Subheading", name: "subhead", widget: "string", required: false }
              - label: "Questions"
                name: "questions"
                widget: "list"
                summary: "{{fields.question}}"
                fields:
                  - { label: "Question", name: "question", widget: "string" }
                  - { label: "Answer", name: "answer", widget: "markdown" }
          - label: "Video (YouTube / Vimeo / hosted file)"
            name: "video"
            widget: "object"
            summary: "{{fields.heading}}"
            fields:
              - { label: "Hidden", name: "hidden", widget: "boolean", default: false }
              - { label: "Anchor id (optional)", name: "anchor", widget: "string", required: false }
              - { label: "Tinted background", name: "background", widget: "select", required: false, options: [{ label: "Plain", value: "plain" }, { label: "Tinted", value: "soft" }] }
              - { label: "Small text above heading", name: "eyebrow", widget: "string", required: false }
              - { label: "Heading", name: "heading", widget: "string", required: false }
              - { label: "Intro text", name: "body", widget: "markdown", required: false }
              - { label: "Video link", name: "videoUrl", widget: "string", required: false, hint: "Paste a YouTube, Vimeo, Wistia, or direct .mp4 link — pasting the normal watch-page link is fine." }
              - { label: "…or upload a video file", name: "videoFile", widget: "file", required: false, hint: "Used instead of the link if both are set. Keep files small — big videos are better hosted on YouTube/Vimeo/Wistia." }
              - { label: "Poster image (uploaded files only — shown before play)", name: "image", widget: "image", required: false }
              - { label: "Button text under video (optional)", name: "ctaLabel", widget: "string", required: false }
              - { label: "Button link", name: "ctaHref", widget: "string", required: false }
          - label: "Text / infographic (free-form)"
            name: "richText"
            widget: "object"
            summary: "{{fields.heading}}"
            fields:
              - { label: "Hidden", name: "hidden", widget: "boolean", default: false }
              - { label: "Anchor id (optional)", name: "anchor", widget: "string", required: false }
              - { label: "Tinted background", name: "background", widget: "select", required: false, options: [{ label: "Plain", value: "plain" }, { label: "Tinted", value: "soft" }] }
              - { label: "Heading", name: "heading", widget: "string", required: false }
              - { label: "Text (supports images — use the toolbar to insert an infographic)", name: "body", widget: "markdown" }
          - label: "Contact / support"
            name: "contact"
            widget: "object"
            summary: "{{fields.heading}}"
            fields:
              - { label: "Hidden", name: "hidden", widget: "boolean", default: false }
              - { label: "Anchor id (optional)", name: "anchor", widget: "string", required: false }
              - { label: "Tinted background", name: "background", widget: "select", required: false, options: [{ label: "Plain", value: "plain" }, { label: "Tinted", value: "soft" }] }
              - { label: "Logo image", name: "image", widget: "image", required: false }
              - { label: "Left text", name: "body", widget: "markdown", required: false }
              - { label: "Heading", name: "heading", widget: "string", required: false }
              - { label: "Subtext", name: "subhead", widget: "string", required: false }
              - { label: "Support email", name: "email", widget: "string", required: false }
              - { label: "Support phone", name: "phone", widget: "string", required: false }

      # --- Footer ---
      - { label: "Footer disclaimer text", name: "footerDisclaimer", widget: "text", required: false }
      - { label: "Footer copyright line", name: "footerCopyright", widget: "string", required: false }
      - { label: "Show legal footer", name: "showLegalFooter", widget: "boolean", default: true }

  # =====================================================================
  # Listicles — "N Reasons Why" pre-sell advertorials. Built around a
  # numbered reasons list (add / reorder / hide each reason). Reasons
  # auto-number by position, so reordering renumbers automatically.
  # =====================================================================
  - name: "listicles"
    label: "Listicles (reasons pre-sells)"
    label_singular: "Listicle"
    folder: "src/content/listicles"
    create: true
    slug: "{{slug}}"
    extension: "md"
    format: "frontmatter"
    summary: "{{title}}"
    fields:
      - { label: "Internal name", name: "title", widget: "string", hint: "Only you see this — used in lists." }
      - { label: "Published", name: "published", widget: "boolean", default: true }
      - label: "Template / style"
        name: "template"
        widget: "select"
        default: "listicle-reasons"
        options:
          - { label: "Reasons listicle", value: "listicle-reasons" }
      - { label: "Browser-tab title (SEO)", name: "seoTitle", widget: "string", required: false }
      - { label: "Meta description (SEO)", name: "seoDescription", widget: "text", required: false }

      # --- Top bar & header ---
      - { label: "Urgency bar text (optional)", name: "urgencyText", widget: "string", required: false, hint: "Thin dark bar above the header. Good place for an 'Advertisement' label." }
      - { label: "Show header", name: "showHeader", widget: "boolean", default: true }
      - { label: "Logo image", name: "logoImage", widget: "image", required: false }
      - { label: "Logo alt text", name: "logoAlt", widget: "string", required: false }
      - label: "Header nav links"
        name: "navLinks"
        widget: "list"
        required: false
        summary: "{{fields.label}}"
        fields:
          - { label: "Label", name: "label", widget: "string" }
          - { label: "Link (#anchor or URL)", name: "href", widget: "string" }
      - { label: "Header button text", name: "headerCtaLabel", widget: "string", required: false }
      - { label: "Header button link", name: "headerCtaHref", widget: "string", required: false }

      # --- Design / skin ---
      - label: "Design / skin"
        name: "formatting"
        widget: "object"
        collapsed: true
        summary: "Colors & fonts — change these to re-skin the whole page"
        fields:
          - { label: "Accent color", name: "accentColor", widget: "color", default: "#017d3e", hint: "Reason numbers, headings highlights, links, callouts." }
          - { label: "Button color", name: "buttonColor", widget: "color", default: "#ee9100" }
          - { label: "Button text color", name: "buttonTextColor", widget: "color", default: "#ffffff" }
          - { label: "Background color", name: "backgroundColor", widget: "color", default: "#ffffff" }
          - { label: "Tinted section background", name: "softBackgroundColor", widget: "color", default: "#f2f8f5" }
          - label: "Body font"
            name: "fontFamily"
            widget: "select"
            default: "opensans"
            options:
              - { label: "Open Sans (webfont, default)", value: "opensans" }
              - { label: "System sans-serif", value: "system" }
              - { label: "Georgia (serif)", value: "georgia" }
              - { label: "Arial", value: "arial" }
              - { label: "Verdana", value: "verdana" }
          - label: "Heading font"
            name: "headingFontFamily"
            widget: "select"
            default: "oswald"
            options:
              - { label: "Oswald (condensed, default)", value: "oswald" }
              - { label: "Open Sans", value: "opensans" }
              - { label: "System sans-serif", value: "system" }
              - { label: "Georgia (serif)", value: "georgia" }
          - { label: "Font color", name: "fontColor", widget: "color", default: "#2c2645" }
          - { label: "Font size — desktop (px)", name: "fontSizeDesktop", widget: "number", value_type: "int", default: 18, min: 12, max: 28 }
          - { label: "Font size — mobile (px)", name: "fontSizeMobile", widget: "number", value_type: "int", default: 17, min: 12, max: 24 }

      # --- Hero ---
      - { label: "Eyebrow (small text above headline)", name: "eyebrow", widget: "string", required: false }
      - { label: "Headline", name: "headline", widget: "string", hint: "Wrap words in **stars** to color them with the accent color." }
      - { label: "Intro paragraph", name: "intro", widget: "markdown", required: false }
      - { label: "Hero image (optional)", name: "heroImage", widget: "image", required: false }
      - { label: "Hero image alt text", name: "heroImageAlt", widget: "string", required: false }
      - { label: "Hero button text", name: "heroCtaLabel", widget: "string", required: false }
      - { label: "Hero button link", name: "heroCtaHref", widget: "string", required: false }
      - { label: "Small text under hero button", name: "heroCtaSubtext", widget: "string", required: false }
      - { label: "Rating line (e.g. '4.9 / 5 from 1,300+ reviews')", name: "ratingText", widget: "string", required: false }
      - label: "Trust badges"
        name: "trustBadges"
        widget: "list"
        required: false
        summary: "{{fields.title}}"
        fields:
          - { label: "Badge image", name: "image", widget: "image", required: false }
          - { label: "Label", name: "title", widget: "string", required: false }

      # --- The reasons (the core list) ---
      - label: "Reasons"
        name: "reasons"
        widget: "list"
        label_singular: "reason"
        summary: "{{fields.title}}"
        hint: "Each becomes a numbered reason. Drag to reorder (numbers update automatically), toggle Hidden to keep without showing."
        fields:
          - { label: "Hidden", name: "hidden", widget: "boolean", default: false }
          - { label: "Anchor id (optional)", name: "anchor", widget: "string", required: false }
          - { label: "Reason headline", name: "title", widget: "string" }
          - { label: "Body text", name: "body", widget: "markdown", required: false }
          - { label: "Subheading (e.g. 'Why NMN')", name: "subheading", widget: "string", required: false }
          - { label: "Callout chip (e.g. '500MG NMN')", name: "callout", widget: "string", required: false }
          - { label: "Image (optional)", name: "image", widget: "image", required: false }
          - { label: "Image alt text", name: "imageAlt", widget: "string", required: false }

      # --- Doctor / expert quotes ---
      - { label: "Experts section heading", name: "doctorsHeading", widget: "string", required: false }
      - label: "Expert / doctor quotes"
        name: "doctors"
        widget: "list"
        required: false
        summary: "{{fields.name}}"
        fields:
          - { label: "Avatar image", name: "image", widget: "image", required: false }
          - { label: "Name", name: "name", widget: "string", required: false }
          - { label: "Credentials / title", name: "credentials", widget: "string", required: false }
          - { label: "Quote", name: "quote", widget: "text", required: false }

      # --- Final call to action ---
      - { label: "Final CTA heading", name: "ctaHeading", widget: "string", required: false }
      - { label: "Final CTA subtext", name: "ctaSubhead", widget: "markdown", required: false }
      - { label: "Final CTA button text", name: "ctaButtonLabel", widget: "string", required: false }
      - { label: "Final CTA button link", name: "ctaButtonHref", widget: "string", required: false }
      - { label: "Small text under final button", name: "ctaSubtext", widget: "string", required: false }

      # --- Footer ---
      - { label: "Footer disclaimer text", name: "footerDisclaimer", widget: "text", required: false }
      - { label: "Footer copyright line", name: "footerCopyright", widget: "string", required: false }
      - { label: "Show legal footer", name: "showLegalFooter", widget: "boolean", default: true }
