import React from 'react';
import type { Metadata } from 'next';
import { Button } from '@/components/ui/Button';
import { Card } from '@/components/ui/Card';
import SeoJsonLd from '@/components/SeoJsonLd';
import Breadcrumbs, { BreadcrumbItem } from '@/components/Breadcrumbs';
import { breadcrumbSchema } from '@/lib/schema';
import { FAQSection } from '@/components/aeo/FAQSection';
import { GrowthLinksSection } from '@/components/marketing/GrowthLinksSection';
import { MarketingPageTracker, TrackedCtaLink } from '@/components/marketing/MarketingAnalytics';
import { competitors } from '@/lib/competitor-data';

const competitor = competitors['flowcode'];

export const metadata: Metadata = {
  title: {
    absolute: 'Flowcode Alternative – No Forced Branding or Scan Interstitials | QR Master',
  },
  description:
    'Looking for a Flowcode alternative? QR Master gives you clean, customizable QR codes without Flowcode\'s logo or scan-hijacking interstitial pages — from €0 free, Pro at €9/month.',
  keywords:
    'flowcode alternative, flowcode branding removal, flowcode white label, flowcode interstitial, flowcode pricing alternative',
  alternates: {
    canonical: 'https://www.qrmaster.net/alternatives/flowcode',
  },
  openGraph: {
    title: 'Flowcode Alternative – No Forced Branding or Scan Interstitials',
    description:
      'Flowcode puts its logo on your QR codes and routes scans through its own branded page. QR Master gives you full branding control from the start.',
    url: 'https://www.qrmaster.net/alternatives/flowcode',
    type: 'website',
    images: ['/og-image.png'],
  },
  twitter: {
    title: 'Flowcode Alternative – No Forced Branding or Scan Interstitials',
    description:
      'Flowcode puts its logo on your QR codes and routes scans through its own branded page. QR Master gives you full branding control from the start.',
  },
};

const comparisonRows = competitor.features;

const faqItems = [
  {
    question: 'What is the Flowcode interstitial page and why does it matter?',
    answer:
      'On Flowcode\'s free tier, when someone scans your QR code, they are briefly shown a Flowcode-branded page before being redirected to your destination. This interstitial serves Flowcode\'s branding to your audience — effectively using your QR code placement to advertise their product. It also affects scan tracking: the interstitial is the page being counted, which can distort your analytics. QR Master sends scanners directly to your destination with no intermediate branded page at any plan level.',
  },
  {
    question: 'Does Flowcode put its logo on QR codes in the free tier?',
    answer:
      'Yes. Flowcode\'s free tier applies a distinctive round design with Flowcode branding elements. The visual style is recognizable as a Flowcode product, not a neutral QR code. If you want a standard QR code that looks like your brand rather than Flowcode\'s, you need a paid plan. QR Master allows custom colors and logo embedding from the Pro plan (€9/month) and generates standard QR codes — without third-party branding — even on the free tier.',
  },
  {
    question: 'How much does Flowcode cost for white-label QR codes?',
    answer:
      'Flowcode\'s pricing for meaningful white-label starts around $49/month. Full team features, brand control, and removal of Flowcode branding typically require their higher-tier plans. QR Master Pro at €9/month includes custom colors, logo embedding, and fully branded QR codes — no Flowcode equivalent visible anywhere.',
  },
  {
    question: 'Does Flowcode offer bulk QR code creation?',
    answer:
      'Flowcode does not have a built-in bulk creation feature for generating many unique codes at once. QR Master Business (€29/month) includes CSV/Excel bulk upload to generate up to 1,000 unique QR codes per batch — each with a different destination URL, label, and UTM parameters.',
  },
  {
    question: 'Is Flowcode GDPR-compliant?',
    answer:
      'Flowcode is a US company. GDPR compliance depends on how they handle EU user data and whether their data processing agreements meet EU requirements. QR Master handles GDPR compliance at the infrastructure level: IP addresses are hashed server-side before storage, no personally identifiable scan data is retained, and analytics use anonymized signals only. This is not a setting to enable — it is how the platform works.',
  },
  {
    question: 'What happens to my Flowcode QR codes if I cancel?',
    answer:
      'Flowcode QR codes point to Flowcode\'s redirect infrastructure. If you cancel your paid plan and drop to the free tier, your QR codes may revert to showing the Flowcode-branded interstitial again. If you close your account entirely, the redirects stop and your printed QR codes become dead ends. Plan your migration before canceling — switch to QR Master and reprint or update digital placements before closing the Flowcode account.',
  },
  {
    question: 'Can I import my Flowcode QR codes into QR Master?',
    answer:
      'There is no direct import — Flowcode\'s redirect infrastructure is separate from QR Master\'s. You need to re-create each dynamic QR code in QR Master with the same destination URLs. For bulk re-creation, QR Master\'s Business plan allows CSV upload so you can migrate many codes at once rather than one by one. Static QR codes are permanently encoded and do not need migration — they work independently of any platform.',
  },
];

const breadcrumbItems: BreadcrumbItem[] = [
  { name: 'Home', url: '/' },
  { name: 'Alternatives', url: '/alternatives' },
  { name: 'Flowcode Alternative', url: '/alternatives/flowcode' },
];

const faqSchema = {
  '@context': 'https://schema.org',
  '@type': 'FAQPage',
  '@id': 'https://www.qrmaster.net/alternatives/flowcode#faq',
  mainEntity: faqItems.map((item) => ({
    '@type': 'Question',
    name: item.question,
    acceptedAnswer: {
      '@type': 'Answer',
      text: item.answer,
    },
  })),
};

const relatedLinks = [
  {
    href: '/dynamic-qr-code-generator',
    title: 'Dynamic QR Code Generator',
    description:
      'Create QR codes with your own branding — colors, logo, and design — that you can update after printing without replacing the code.',
    ctaLabel: 'Create a branded dynamic QR code',
  },
  {
    href: '/qr-code-analytics',
    title: 'QR Code Analytics',
    description:
      'Track every scan with device, time, and location data — sent directly to your destination with no interstitial page in the way.',
    ctaLabel: 'Explore QR analytics',
  },
  {
    href: '/alternatives/qr-code-generator',
    title: 'QR-Code-Generator.com Alternative',
    description:
      'QR-Code-Generator.com deactivates dynamic codes after a 14-day trial. See how QR Master handles free dynamic codes differently.',
    ctaLabel: 'Compare with QR-Code-Generator.com',
  },
  {
    href: '/pricing',
    title: 'QR Master Pricing',
    description:
      'Free for 3 dynamic codes. Pro at €9/month includes 50 dynamic codes, custom branding, and advanced analytics.',
    ctaLabel: 'See pricing',
  },
];

export default function FlowcodeAlternativePage() {
  return (
    <>
      <SeoJsonLd data={[faqSchema, breadcrumbSchema(breadcrumbItems)]} />
      <MarketingPageTracker pageType="commercial" cluster="competitor" />
      <div className="min-h-screen" style={{ backgroundColor: '#F8F7F4', color: '#18181B' }}>

        {/* Hero */}
        <section className="border-b bg-white" style={{ borderColor: '#E4E0D9' }}>
          <div className="container mx-auto max-w-7xl px-4 pb-20 pt-10 sm:px-6 lg:px-8">
            <div className="mb-10">
              <Breadcrumbs items={breadcrumbItems} />
            </div>
            <div className="grid items-start gap-16 lg:grid-cols-2">
              <div className="max-w-xl">
                <div
                  className="mb-6 inline-block rounded px-3 py-1.5 text-xs font-semibold uppercase tracking-widest"
                  style={{ backgroundColor: '#DBEAFE', color: '#1D4ED8', letterSpacing: '0.12em' }}
                >
                  Your brand, not Flowcode&apos;s
                </div>
                <div className="mb-8 space-y-5">
                  <h1
                    className="text-4xl font-extrabold leading-[1.08] tracking-tight text-gray-900 sm:text-5xl"
                    style={{ color: '#111110' }}
                  >
                    A Flowcode Alternative Without the Forced Branding
                  </h1>
                  <p className="text-lg leading-relaxed" style={{ color: '#52525B' }}>
                    Flowcode&apos;s free tier puts their logo on every QR code and routes your scanners through a
                    Flowcode-branded interstitial page. QR Master sends scanners directly to your destination — no
                    third-party branding, no interstitials, at any plan level.
                  </p>
                </div>
                <ul className="mb-10 space-y-3">
                  {[
                    'No Flowcode branding on your QR codes — even on the free plan',
                    'No branded interstitial page — instant redirect, no Flowcode marketing in between',
                    'Custom colors and logo from Pro (€9/month)',
                    'Bulk creation up to 1,000 codes on the Business plan',
                    'GDPR-compliant analytics with hashed IPs — built in, not a setting',
                  ].map((feature) => (
                    <li key={feature} className="flex items-start gap-3">
                      <span
                        className="mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full text-xs font-bold text-white"
                        style={{ backgroundColor: '#16A34A' }}
                      >
                        ✓
                      </span>
                      <span className="text-base font-medium" style={{ color: '#27272A' }}>{feature}</span>
                    </li>
                  ))}
                </ul>
                <div className="flex flex-col gap-3 sm:flex-row">
                  <TrackedCtaLink
                    href="/signup"
                    ctaLabel="Start Free"
                    ctaLocation="hero_primary"
                    pageType="commercial"
                    cluster="competitor"
                  >
                    <Button size="lg" className="h-13 w-full px-8 text-base sm:w-auto">
                      Start Free
                    </Button>
                  </TrackedCtaLink>
                  <TrackedCtaLink
                    href="/pricing"
                    ctaLabel="See Pricing"
                    ctaLocation="hero_secondary"
                    pageType="commercial"
                    cluster="competitor"
                  >
                    <Button variant="outline" size="lg" className="h-13 w-full px-8 text-base sm:w-auto">
                      See Pricing
                    </Button>
                  </TrackedCtaLink>
                </div>
              </div>

              {/* Visual */}
              <div className="lg:pt-4">
                <div className="rounded-2xl border p-8" style={{ borderColor: '#E4E0D9', backgroundColor: '#FFFFFF' }}>
                  <h3 className="mb-6 text-center text-sm font-semibold uppercase tracking-[0.12em]" style={{ color: '#71717A' }}>What your audience sees when they scan</h3>
                  <div className="space-y-4">
                    <div className="rounded-xl border p-5" style={{ borderColor: '#BFDBFE', backgroundColor: '#EFF6FF' }}>
                      <p className="mb-1 text-sm font-semibold" style={{ color: '#1D4ED8' }}>Flowcode (free tier)</p>
                      <div className="mt-2 rounded-lg border bg-white p-3 text-center text-xs" style={{ borderColor: '#DBEAFE', color: '#6B7280' }}>
                        <div className="mb-1 font-bold text-blue-600">⬡ Flowcode</div>
                        <div>Redirecting you to your destination...</div>
                        <div className="mt-2 underline" style={{ color: '#3B82F6' }}>Powered by Flowcode</div>
                      </div>
                      <p className="mt-2 text-xs" style={{ color: '#6B7280' }}>Flowcode branding shown to your customers</p>
                    </div>
                    <div className="flex items-center justify-center text-xl font-semibold" style={{ color: '#A1A1AA' }}>vs</div>
                    <div className="rounded-xl border p-5" style={{ borderColor: '#BBF7D0', backgroundColor: '#F0FDF4' }}>
                      <p className="mb-1 text-sm font-semibold" style={{ color: '#15803D' }}>QR Master</p>
                      <div className="mt-2 rounded-lg border bg-white p-3 text-center text-xs" style={{ borderColor: '#DCFCE7', color: '#52525B' }}>
                        <div className="text-green-600 font-medium">qrmaster.net/r/... → yourdomain.com</div>
                        <div className="mt-1" style={{ color: '#A1A1AA' }}>Fast redirect. No branded page, no marketing content.</div>
                      </div>
                      <p className="mt-2 text-xs" style={{ color: '#6B7280' }}>Your design. Your destination. No Flowcode branding in between.</p>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </section>

        {/* The Real Problem with Flowcode */}
        <section className="py-24" style={{ backgroundColor: '#F8F7F4' }}>
          <div className="container mx-auto max-w-4xl px-4 sm:px-6 lg:px-8">
            <h2 className="mb-4 text-3xl font-bold tracking-tight sm:text-4xl" style={{ color: '#111110' }}>
              What Flowcode does with your free QR codes
            </h2>
            <p className="mb-12 text-lg" style={{ color: '#71717A' }}>
              Why the free-tier experience still feels like someone else&apos;s brand.
            </p>
            <div className="space-y-6 text-lg leading-relaxed" style={{ color: '#52525B' }}>
              <p>
                Flowcode is a well-built product with strong design capabilities. The problem is not the product
                itself — it&apos;s the business model on the free tier. Flowcode monetizes free users by using their QR
                code placements as advertising inventory for Flowcode&apos;s own brand.
              </p>
              <p>
                In practice, this means two things. First, the QR codes generated on the free plan are visually styled
                as Flowcode products — the distinctive round design with Flowcode design elements makes it clear to
                anyone familiar with the space that this is a Flowcode code, not a custom QR. If you&apos;re a
                restaurant, a brand, or an agency putting this code on client materials, it is your placement that
                Flowcode is using to advertise itself.
              </p>
              <p>
                Second — and more consequentially — Flowcode&apos;s free tier routes every scan through an interstitial
                page before the scanner reaches your destination. That page carries Flowcode branding. You are sending
                customers to your menu, product page, or campaign — but they pass through Flowcode&apos;s branded
                experience first. The customer&apos;s first impression is Flowcode, not you.
              </p>
              <p>
                Removing this requires upgrading to a paid plan. By Flowcode&apos;s pricing, meaningful white-label
                starts around $49/month. That&apos;s the price of regaining control of what your own customers see
                when they scan a code you created.
              </p>
            </div>
            <div
              className="mt-10 rounded-2xl border p-8"
              style={{ backgroundColor: '#FFFFFF', borderColor: '#E4E0D9', borderLeft: '4px solid #2563EB' }}
            >
              <h3 className="mb-2 text-lg font-semibold" style={{ color: '#1D4ED8' }}>How QR Master handles this</h3>
              <p style={{ color: '#27272A' }}>
                QR Master does not apply third-party branding to QR codes at any plan level. The free tier generates
                standard QR codes — without a QR Master logo, without a forced visual style, and without an interstitial
                page. Scanners go directly to your destination. Custom colors and logo embedding are available on Pro
                (€9/month). White-label and your brand are the baseline, not an upgrade.
              </p>
            </div>
          </div>
        </section>

        {/* Feature Comparison Table */}
        <section className="border-y bg-white py-24" style={{ borderColor: '#E4E0D9' }}>
          <div className="container mx-auto max-w-5xl px-4 sm:px-6 lg:px-8">
            <h2 className="mb-3 text-3xl font-bold tracking-tight sm:text-4xl" style={{ color: '#111110' }}>Flowcode vs QR Master: feature comparison</h2>
            <p className="mb-12 text-lg" style={{ color: '#71717A' }}>
              Key differences that affect what your customers actually experience.
            </p>
            <div className="overflow-hidden rounded-xl border" style={{ borderColor: '#E4E0D9' }}>
              <div className="grid grid-cols-3" style={{ backgroundColor: '#F8F7F4', borderBottom: '1px solid #E4E0D9' }}>
                <div className="p-5 text-sm font-semibold" style={{ color: '#71717A' }}>Feature</div>
                <div className="border-l p-5" style={{ borderColor: '#E4E0D9' }}>
                  <p className="mb-1 text-xs font-semibold uppercase tracking-wider" style={{ color: '#2563EB' }}>Competitor</p>
                  <p className="text-sm font-bold" style={{ color: '#27272A' }}>Flowcode</p>
                </div>
                <div className="border-l p-5" style={{ borderColor: '#E4E0D9', backgroundColor: '#F0FDF4' }}>
                  <p className="mb-1 text-xs font-semibold uppercase tracking-wider" style={{ color: '#16A34A' }}>Alternative</p>
                  <p className="text-sm font-bold" style={{ color: '#27272A' }}>QR Master</p>
                </div>
              </div>
              {comparisonRows.map((row, i) => (
                <div
                  key={row.feature}
                  className="grid grid-cols-3"
                  style={{ borderTop: '1px solid #E4E0D9', backgroundColor: i % 2 === 0 ? '#FFFFFF' : '#FAFAF8' }}
                >
                  <div className="p-5">
                    <p className="text-sm font-semibold" style={{ color: '#18181B' }}>{row.feature}</p>
                    {row.note && <p className="mt-1 text-xs leading-snug" style={{ color: '#71717A' }}>{row.note}</p>}
                  </div>
                  <div className="flex items-center border-l p-5" style={{ borderColor: '#E4E0D9' }}>
                    {typeof row.competitor === 'boolean' ? (
                      <span className={`text-lg font-semibold ${row.competitor ? 'text-green-600' : 'text-red-500'}`}>
                        {row.competitor ? '✓' : '✗'}
                      </span>
                    ) : (
                      <span className="text-sm" style={{ color: '#52525B' }}>{row.competitor}</span>
                    )}
                  </div>
                  <div className="flex items-center border-l p-5" style={{ borderColor: '#E4E0D9', backgroundColor: 'rgba(240,253,244,0.5)' }}>
                    {typeof row.qrMaster === 'boolean' ? (
                      <span className={`text-lg font-semibold ${row.qrMaster ? 'text-green-600' : 'text-red-500'}`}>
                        {row.qrMaster ? '✓' : '✗'}
                      </span>
                    ) : (
                      <span className="text-sm font-semibold" style={{ color: '#15803D' }}>{row.qrMaster}</span>
                    )}
                  </div>
                </div>
              ))}
            </div>
          </div>
        </section>

        {/* Detailed Comparisons */}
        <section className="py-24" style={{ backgroundColor: '#F8F7F4' }}>
          <div className="container mx-auto max-w-4xl px-4 sm:px-6 lg:px-8">
            <h2 className="mb-12 text-3xl font-bold tracking-tight sm:text-4xl" style={{ color: '#111110' }}>The differences that matter day-to-day</h2>
            <div className="space-y-12">
              <div>
                <h3 className="mb-4 text-xl font-bold" style={{ color: '#18181B' }}>Branding control</h3>
                <p className="text-lg leading-relaxed" style={{ color: '#52525B' }}>
                  Flowcode&apos;s free QR codes are visually distinct — the rounded, branded design is recognizable.
                  If you are an agency, a restaurant, or a brand putting these on client materials, the Flowcode
                  aesthetic tells your audience that this is a Flowcode product. White-label — where the code looks
                  like yours — requires a paid plan.
                </p>
                <p className="mt-4 text-lg leading-relaxed" style={{ color: '#52525B' }}>
                  QR Master generates standard QR codes on all plans. On the free plan, you get a clean standard QR.
                  On Pro (€9/month), you add your brand colors and logo to the center of the code. The baseline is
                  always a neutral code that belongs to your brand, not ours.
                </p>
              </div>

              <div>
                <h3 className="mb-4 text-xl font-bold" style={{ color: '#18181B' }}>Scan experience and interstitials</h3>
                <p className="text-lg leading-relaxed" style={{ color: '#52525B' }}>
                  The interstitial is a real issue for anyone using QR codes in a customer-facing context. A scanner
                  at a restaurant table or on a product package is primed to go directly to the destination — a menu,
                  a product page, a contact form. An intermediate page breaks that expectation, even if it only lasts
                  a second or two. It&apos;s also a branding signal: Flowcode appears in the path between your brand
                  and your customer.
                </p>
                <p className="mt-4 text-lg leading-relaxed" style={{ color: '#52525B' }}>
                  QR Master does not show a branded interstitial page. Like any dynamic QR platform, the redirect
                  runs through QR Master's servers (qrmaster.net) to log the scan — but the scanner sees no marketing
                  content, no QR Master splash page, and no dwell-time promotion. It processes the scan and forwards
                  immediately. The visual and branding of the QR code itself is fully customizable — colors, logo,
                  shape — without any QR Master identity imposed on it.
                </p>
              </div>

              <div>
                <h3 className="mb-4 text-xl font-bold" style={{ color: '#18181B' }}>Pricing for comparable features</h3>
                <p className="text-lg leading-relaxed" style={{ color: '#52525B' }}>
                  To get a clean, unbranded QR code experience with analytics and no interstitials on Flowcode, you
                  need to pay. Their plans for genuine white-label and team features start around $49/month.
                </p>
                <p className="mt-4 text-lg leading-relaxed" style={{ color: '#52525B' }}>
                  QR Master Pro at €9/month includes 50 dynamic QR codes, full analytics (device, time, location,
                  UTM), custom branding, and no interstitials at any level. The Business plan at €29/month adds bulk
                  creation and 500 dynamic QR codes. For most use cases that lead someone to look for a Flowcode
                  alternative, QR Master Pro covers everything at a fraction of the cost.
                </p>
              </div>
            </div>
          </div>
        </section>

        {/* Who Should Switch */}
        <section className="py-24" style={{ backgroundColor: '#F8F7F4' }}>
          <div className="container mx-auto max-w-5xl px-4 sm:px-6 lg:px-8">
            <h2 className="mb-12 text-3xl font-bold tracking-tight sm:text-4xl" style={{ color: '#111110' }}>Who should switch, and who shouldn&apos;t</h2>
            <div className="grid gap-6 md:grid-cols-2">
              <Card className="rounded-xl border bg-white p-8 shadow-none" style={{ borderColor: '#BBF7D0', borderTopWidth: '3px', borderTopColor: '#16A34A' }}>
                <div className="mb-4 inline-flex items-center rounded-full px-3 py-1 text-sm font-semibold" style={{ backgroundColor: '#DCFCE7', color: '#166534' }}>
                  Good fit for QR Master
                </div>
                <ul className="mt-4 space-y-3">
                  {[
                    'Brands that want QR codes to reflect their identity, not a third-party platform',
                    'Agencies putting QR codes on client materials who can\'t have Flowcode branding visible',
                    'EU businesses that need GDPR-compliant scan tracking without configuration',
                    'Teams that need bulk QR creation — Flowcode has no bulk generation tool',
                    'Anyone priced out of Flowcode\'s white-label tier but needing clean, functional QR codes',
                  ].map((item) => (
                    <li key={item} className="flex items-start gap-2 text-gray-700">
                      <span className="mt-1 text-green-500">✓</span>
                      <span>{item}</span>
                    </li>
                  ))}
                </ul>
              </Card>

              <Card className="rounded-xl border bg-white p-8 shadow-none" style={{ borderColor: '#E4E0D9', borderTopWidth: '3px', borderTopColor: '#A1A1AA' }}>
                <div className="mb-4 inline-flex items-center rounded-full px-3 py-1 text-sm font-semibold" style={{ backgroundColor: '#F4F4F5', color: '#52525B' }}>
                  When Flowcode might still be the right choice
                </div>
                <ul className="mt-4 space-y-3">
                  {[
                    'Large enterprise with budget for Flowcode\'s premium design-forward QR experience and team management tools at scale',
                    'US-based brands prioritizing QR design aesthetics over cost efficiency, where Flowcode\'s visual identity aligns with theirs',
                    'Existing Flowcode users who are satisfied with the design and aren\'t running into branding or interstitial issues',
                  ].map((item) => (
                    <li key={item} className="flex items-start gap-2 text-gray-700">
                      <span className="mt-1 text-gray-400">→</span>
                      <span>{item}</span>
                    </li>
                  ))}
                </ul>
              </Card>
            </div>
          </div>
        </section>

        {/* Migration */}
        <section className="border-t bg-white py-24" style={{ borderColor: '#E4E0D9' }}>
          <div className="container mx-auto max-w-4xl px-4 sm:px-6 lg:px-8">
            <h2 className="mb-3 text-3xl font-bold tracking-tight sm:text-4xl" style={{ color: '#111110' }}>How to migrate from Flowcode</h2>
            <p className="mb-2 text-lg" style={{ color: '#71717A' }}>
              Flowcode does not provide a bulk export tool, so migration is manual per code. Here&apos;s the process:
            </p>
            <p className="mb-8" style={{ color: '#71717A' }}>
              Important: cancel Flowcode <em>after</em> you have updated your printed materials, not before. Once your
              account closes, dynamic codes stop redirecting.
            </p>
            <div className="space-y-0">
              {[
                {
                  step: '1',
                  title: 'List all your active Flowcode dynamic QR codes and their destinations',
                  body: 'In your Flowcode dashboard, record the destination URL for each active dynamic QR code you want to preserve.',
                },
                {
                  step: '2',
                  title: 'Create a QR Master account',
                  body: 'Free plan gives you 3 dynamic codes immediately. If you have more, start a Pro trial (€9/month, cancel anytime).',
                },
                {
                  step: '3',
                  title: 'Re-create your codes in QR Master',
                  body: 'Create a new dynamic QR code in QR Master for each destination. Download the new QR images. For large volumes, use the Business plan\'s bulk upload feature.',
                },
                {
                  step: '4',
                  title: 'Update digital placements',
                  body: 'Replace QR code images on your website, email signatures, social media, and digital documents. These can be updated without reprinting.',
                },
                {
                  step: '5',
                  title: 'Plan the physical reprint',
                  body: 'For printed materials — menus, flyers, packaging — plan the replacement into your next natural reprint cycle. Keep your Flowcode account active until the reprint is done and distributed.',
                },
              ].map((step) => (
                <div key={step.step} className="flex gap-6 py-7" style={{ borderBottom: step.step !== '5' ? '1px solid #E4E0D9' : 'none' }}>
                  <div className="mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-sm font-bold text-white" style={{ backgroundColor: '#18181B' }}>
                    {step.step}
                  </div>
                  <div>
                    <h3 className="mb-1 text-base font-bold" style={{ color: '#18181B' }}>{step.title}</h3>
                    <p className="text-sm leading-relaxed" style={{ color: '#52525B' }}>{step.body}</p>
                  </div>
                </div>
              ))}
            </div>
          </div>
        </section>

        {/* FAQ */}
        <div className="bg-white" style={{ borderTop: '1px solid #E4E0D9' }}>
          <div className="container mx-auto max-w-4xl px-4 py-24 sm:px-6 lg:px-8">
            <FAQSection items={faqItems} title="Common questions about switching from Flowcode" />
          </div>
        </div>

        {/* Growth Links */}
        <div style={{ backgroundColor: '#F8F7F4', borderTop: '1px solid #E4E0D9' }}>
          <GrowthLinksSection
            eyebrow="Related pages"
            title="Explore QR Master"
            description="See how QR Master handles branding, analytics, and bulk creation."
            links={relatedLinks}
            pageType="commercial"
            cluster="competitor"
          />
        </div>

        {/* Final CTA */}
        <section className="py-24" style={{ backgroundColor: '#111110' }}>
          <div className="container mx-auto max-w-4xl px-4 text-center sm:px-6 lg:px-8">
            <p className="mb-6 text-xs font-bold uppercase tracking-widest" style={{ color: '#2563EB' }}>
              Direct scans. Cleaner branding.
            </p>
            <h2 className="mb-5 text-4xl font-extrabold leading-tight tracking-tight text-white sm:text-5xl">QR codes that work for your brand, not Flowcode&apos;s</h2>
            <p className="mx-auto mb-10 max-w-2xl text-lg" style={{ color: '#A1A1AA' }}>
              Start with 3 free dynamic QR codes. No Flowcode logo on your code. No branded interstitial page between
              your QR code and your destination. Full design control from day one.
            </p>
            <div className="flex flex-col justify-center gap-4 sm:flex-row">
              <TrackedCtaLink
                href="/signup"
                ctaLabel="Start Free"
                ctaLocation="footer_primary"
                pageType="commercial"
                cluster="competitor"
              >
                <Button
                  size="lg"
                  className="h-13 w-full px-8 text-base font-semibold sm:w-auto"
                  style={{ backgroundColor: '#FFFFFF', color: '#111110' }}
                >
                  Start Free
                </Button>
              </TrackedCtaLink>
              <TrackedCtaLink
                href="/pricing"
                ctaLabel="See Pricing"
                ctaLocation="footer_secondary"
                pageType="commercial"
                cluster="competitor"
              >
                <Button
                  size="lg"
                  variant="outline"
                  className="h-13 w-full px-8 text-base font-medium sm:w-auto"
                  style={{ borderColor: '#3F3F46', color: '#D4D4D8' }}
                >
                  See Pricing
                </Button>
              </TrackedCtaLink>
            </div>
          </div>
        </section>
      </div>
    </>
  );
}
