# CTA 03

> A simple CTA block

A shadcn/ui block from the [@shadcnui-blocks](https://shadcnui-blocks.com) registry, listed on [shadcn.exchange](https://shadcn.exchange/r/shadcnui-blocks/cta-03).

- Page, with a live preview: https://shadcn.exchange/r/shadcnui-blocks/cta-03
- Screenshot: https://abzjhwgwpdpz7ua5.public.blob.vercel-storage.com/shots/shadcnui-blocks/cta-03-light-2208581104fa7f7f.png
- Registry item: https://shadcnui-blocks.com/r/cta-03.json
- Listed: 2026-10-13, source last changed 2026-10-13

## Install

```bash
npx shadcn@latest add https://shadcnui-blocks.com/r/cta-03.json
```

Run it in a project that has shadcn/ui set up. It adds the files below and installs what they depend on.

## Dependencies

- npm packages: `lucide-react`
- Registry items: `button`

## Files

### `src/registry/blocks/radix/cta-03/components/cta.tsx`

```tsx
import { ArrowUpRight } from "lucide-react";
import { Button } from "@/registry/bases/radix/ui/button";

const CTA = () => {
  return (
    <div className="px-0 py-16 sm:px-6">
      <div className="relative mx-auto flex max-w-5xl flex-col justify-between gap-0 overflow-hidden bg-linear-to-r from-muted px-10 ring-2 ring-border/60 sm:rounded-xl sm:shadow-lg/4 md:flex-row md:gap-8">
        <div className="pt-14 pb-0 md:pb-14">
          <h2 className="font-medium text-4xl tracking-tight lg:text-[2.5rem]">
            Step into something better
          </h2>
          <p className="mt-4 max-w-md text-muted-foreground text-xl/normal tracking-[-0.015em] lg:text-2xl/normal">
            Get seamless access to everything you need, right from your phone.
          </p>
          <Button className="mt-10" size="lg">
            Download Now <ArrowUpRight />
          </Button>
        </div>
        <img
          alt=""
          className="mt-auto aspect-square w-full max-w-xs md:h-72 md:w-auto md:max-w-none"
          src="/images/cta-mobile.png"
        />
      </div>
    </div>
  );
};

export default CTA;
```
