VibeCoderzVibeCoderz
Telegram
All Prompts
Tailwind Responsive Pricing Section with Billing Toggle preview
pricingtailwindresponsiveinteractivecardslanding-pagesaas

Tailwind Responsive Pricing Section with Billing Toggle

Адаптивная секция цен Tailwind с переключением тарифов (месяц/год), списком фич и кнопками CTA. Идеально для лендингов SaaS.

Prompt

<section class="sm:px-8 sm:mt-32 [animation:fadeSlideIn_0.8s_ease-out_0.1s_both] animate-on-scroll animate max-w-7xl mt-32 mr-auto ml-auto pr-6 pl-6">
  <div class="sm:pt-8 sm:pl-8 sm:pr-8 sm:pb-8 bg-gradient-to-br from-gray-500/10 via-gray-500/0 to-gray-500/10 rounded-3xl ring-0 pt-6 pr-8 pb-6 pl-8" style="position: relative; --border-gradient: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)); --border-radius-before: 24px">
    <div class="grid grid-cols-1 lg:grid-cols-12 lg:gap-10 gap-8">
      <!-- Left: Feature bullets -->
      <div class="lg:col-span-5">
        <div class="space-y-8">
          <div class="">
            <span class="inline-flex items-center gap-2 text-xs font-medium text-emerald-300 tracking-tight font-geist bg-emerald-600/10 ring-emerald-500/30 ring-1 rounded-full pt-1.5 pr-4 pb-1.5 pl-4">PRICING</span>
            <h2 class="sm:text-5xl lg:text-6xl text-4xl font-light text-white tracking-tight font-geist mt-6">
              Simple, smart, transparent pricing
            </h2>
            <p class="mt-6 text-base sm:text-lg dark:text-neutral-400 text-neutral-600">
              See how Moneo helps individuals and small businesses take control of their budgets, save smarter, and plan
              ahead with AI-driven insights.
            </p>
          </div>

          <div class="flex items-start gap-4">
            <span class="shrink-0 inline-flex h-10 w-10 items-center justify-center rounded-full ring-1 bg-white/5 ring-white/10">
              <svg xmlns="http://www.w3.org/2000/svg" class="w-5 h-5 text-neutral-200" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75"><path d="M3 3v18h18" class=""></path><path d="M7 13l3 3 7-7" class=""></path></svg>
            </span>
            <div class="">
              <h3 class="text-base sm:text-lg font-semibold tracking-tight text-white">Auto-categorization powered by AI</h3>
              <p class="mt-1 text-sm text-neutral-400">Moneo learns your habits and classifies transactions with high accuracy — no more manual cleanup.</p>
            </div>
          </div>

          <div class="flex items-start gap-4">
            <span class="shrink-0 inline-flex h-10 w-10 items-center justify-center rounded-full ring-1 bg-white/5 ring-white/10">
              <svg xmlns="http://www.w3.org/2000/svg" class="w-5 h-5 text-neutral-200" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75"><path d="M12 3v18" class=""></path><path d="M3 12h18" class=""></path></svg>
            </span>
            <div class="">
              <h3 class="text-base sm:text-lg font-semibold tracking-tight text-white">Smart budgets &amp; envelopes</h3>
              <p class="mt-1 text-sm text-neutral-400">Create monthly or rolling budgets with drift protection, alerts, and envelope-style rules.</p>
            </div>
          </div>

          <div class="flex items-start gap-4">
            <span class="shrink-0 inline-flex h-10 w-10 items-center justify-center rounded-full ring-1 bg-white/5 ring-white/10">
              <svg xmlns="http://www.w3.org/2000/svg" class="w-5 h-5 text-neutral-200" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" class=""></path><path d="m7 10 5-6 5 6" class=""></path></svg>
            </span>
            <div class="">
              <h3 class="text-base sm:text-lg font-semibold tracking-tight text-white">Bank sync &amp; anomaly alerts</h3>
              <p class="mt-1 text-sm text-neutral-400">Securely connect accounts, get real-time sync, and catch unusual spend before it snowballs.</p>
            </div>
          </div>
        </div>
      </div>

      <!-- Right: Plans -->
      <div class="lg:col-span-7">
        <!-- Billing toggle -->
        <div class="mb-4 flex items-center justify-center md:justify-end">
          <div class="inline-flex rounded-full ring-1 p-1 ring-white/10 bg-white/5">
            <button type="button" data-billing="monthly" class="billing-tab px-4 py-1.5 text-sm rounded-full ring-1 text-white/90 bg-white/10 ring-white/15" aria-pressed="true">Monthly</button>
            <button type="button" data-billing="annual" class="billing-tab px-4 py-1.5 text-sm rounded-full text-neutral-300 hover:text-white" aria-pressed="false">Annual</button>
          </div>
          <span class="ml-3 hidden md:inline text-xs bg-emerald-500/10 ring-1 px-2.5 py-1 rounded-full text-emerald-300/80 ring-emerald-400/30">
            Save 20% annually
          </span>
        </div>

        <!-- Equal height cards (centered horizontally) -->
        <div class="grid grid-cols-1 md:grid-cols-2 [grid-auto-rows:1fr] gap-x-6 gap-y-6 items-stretch max-w-3xl mx-auto">
          <!-- Starter -->
          <div class="flex flex-col sm:p-6 h-full ring-1 rounded-2xl p-5 bg-neutral-900/80 ring-white/10">
            <div class="flex items-start justify-between">
              <p class="text-sm font-medium tracking-tight text-white">Starter</p>
            </div>

            <div class="mt-3">
              <div class="flex gap-2 items-baseline">
                <span class="price text-5xl font-light tracking-tight text-white" data-monthly="$9" data-annual="$86">$9</span>
                <span class="price-unit text-sm text-neutral-400" data-monthly="/ month" data-annual="/ year">/ month</span>
              </div>
              <p class="mt-2 text-sm text-neutral-400">Perfect for individuals getting control of monthly spending.</p>
              <p class="billing-note mt-1 text-xs text-neutral-500 hidden">Billed yearly</p>
            </div>

            <div class="mt-5 space-y-3">
              <a href="#" class="w-full inline-flex items-center justify-center text-base font-medium tracking-tight rounded-full ring-1 py-3.5 px-6 transition-all duration-300 hover:brightness-110 text-white ring-emerald-400/30" style="background: linear-gradient(135deg, rgb(16,185,129) 0%, rgb(5,150,105) 100%);">Start free trial</a>
              <button class="w-full inline-flex items-center justify-center text-base font-medium tracking-tight rounded-full ring-1 py-3.5 px-6 transition-all duration-300 text-neutral-200 ring-white/10 hover:bg-white/5">Compare features</button>
            </div>

            <div class="mt-6 pt-6 border-t border-white/10">
              <p class="text-xs font-semibold tracking-tight text-neutral-300">INCLUDES</p>
              <p class="mt-1 text-xs text-neutral-500">Everything you need to start</p>
              <ul class="mt-4 space-y-3">
                <li class="flex items-start gap-3 text-sm text-neutral-300">
                  <span class="inline-flex h-5 w-5 items-center justify-center rounded-full ring-1 shrink-0 bg-white/5 text-neutral-200 ring-white/10">
                    <svg xmlns="http://www.w3.org/2000/svg" class="w-3.5 h-3.5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 6 9 17l-5-5" class=""></path></svg>
                  </span>
                  AI auto-categorization (single profile)
                </li>
                <li class="flex items-start gap-3 text-sm text-neutral-300">
                  <span class="inline-flex h-5 w-5 items-center justify-center rounded-full ring-1 shrink-0 bg-white/5 text-neutral-200 ring-white/10">
                    <svg xmlns="http://www.w3.org/2000/svg" class="w-3.5 h-3.5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 6 9 17l-5-5" class=""></path></svg>
                  </span>
                  2 bank connections, daily sync
                </li>
              </ul>
            </div>
          </div>

          <!-- Pro -->
          <div class="flex flex-col h-full rounded-2xl ring-1 p-5 sm:p-6 ring-white/10 bg-neutral-900/80">
            <div class="flex items-start justify-between">
              <p class="text-sm font-medium tracking-tight text-white">Pro</p>
            </div>

            <div class="mt-3">
              <div class="flex gap-2 items-baseline">
                <span class="price text-5xl font-light tracking-tight text-white" data-monthly="$29" data-annual="$278">$29</span>
                <span class="price-unit text-sm text-neutral-400" data-monthly="/ month" data-annual="/ year">/ month</span>
              </div>
              <p class="mt-2 text-sm text-neutral-400">For power users, couples, and small teams managing shared budgets.</p>
              <p class="billing-note mt-1 text-xs text-neutral-500 hidden">Billed yearly</p>
            </div>

            <div class="mt-5 space-y-3">
              <a href="#" class="w-full inline-flex items-center justify-center text-base font-medium tracking-tight rounded-full ring-1 py-3.5 px-6 transition-all duration-300 hover:brightness-110 text-white ring-emerald-400/30" style="background: linear-gradient(135deg, rgb(16,185,129) 0%, rgb(5,150,105) 100%);">Start free trial</a>
              <button class="w-full inline-flex items-center justify-center text-base font-medium tracking-tight rounded-full ring-1 py-3.5 px-6 transition-all duration-300 text-neutral-200 ring-white/10 hover:bg-white/5">Compare features</button>
            </div>

            <div class="mt-6 pt-6 border-t border-white/10">
              <p class="text-xs font-semibold tracking-tight text-neutral-300">EVERYTHING IN STARTER, PLUS</p>
              <p class="mt-1 text-xs text-neutral-500">Advanced controls &amp; collaboration</p>
              <ul class="mt-4 space-y-3">
                <li class="flex items-start gap-3 text-sm text-neutral-300">
                  <span class="inline-flex h-5 w-5 items-center justify-center rounded-full ring-1 shrink-0 bg-white/5 text-neutral-200 ring-white/10">
                    <svg xmlns="http://www.w3.org/2000/svg" class="w-3.5 h-3.5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 6 9 17l-5-5" class=""></path></svg>
                  </span>
                  Unlimited bank connections, hourly sync
                </li>
                <li class="flex items-start gap-3 text-sm text-neutral-300">
                  <span class="inline-flex h-5 w-5 items-center justify-center rounded-full ring-1 shrink-0 bg-white/5 text-neutral-200 ring-white/10">
                    <svg xmlns="http://www.w3.org/2000/svg" class="w-3.5 h-3.5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 6 9 17l-5-5" class=""></path></svg>
                  </span>
                  Shared budgets &amp; roles (Viewer/Editor)
                </li>
              </ul>
            </div>
          </div>
        </div>
      </div> <!-- /Right -->
    </div>
  </div>

  <!-- Billing toggle script -->
  <script class="">
    (function () {
      const tabs = document.querySelectorAll('.billing-tab');
      const prices = document.querySelectorAll('.price');
      const units = document.querySelectorAll('.price-unit');
      const notes = document.querySelectorAll('.billing-note');

      function setBilling(mode) {
        tabs.forEach(btn => {
          const active = btn.dataset.billing === mode;
          btn.setAttribute('aria-pressed', active ? 'true' : 'false');
          btn.classList.toggle('bg-white/10', active);
          btn.classList.toggle('ring-1', active);
          btn.classList.toggle('ring-white/15', active);
          btn.classList.toggle('text-white/90', active);
          btn.classList.toggle('text-neutral-300', !active);
        });

        prices.forEach(el => el.textContent = el.dataset[mode]);
        units.forEach(el => el.textContent = el.dataset[mode]);
        notes.forEach(el => el.classList.toggle('hidden', mode !== 'annual'));
      }

      tabs.forEach(btn => btn.addEventListener('click', () => setBilling(btn.dataset.billing)));
      setBilling('monthly'); // default
    })();
  </script>
</section>
All Prompts