Design · Bausteine-Dossier

Seiten-Sektion

Preise / Pakete

Die Entscheidungs-Sektion einer Seite. Links die ruhige, klar vergleichbare Tarif-Tafel für Handwerk & Dienstleistung — rechts die edlere Variante mit Monats-/Jahres-Umschalter und hervorgehobenem Paket für Marken- und SaaS-Auftritte. Beide ganze Sektionen, copy-paste-fähig.

Preise — klare Tarif-Tafel

Pol 2 · Klarheit Anlass: Pakete, Dienstleistung

Drei Karten nebeneinander, die mittlere dezent hervorgehoben und mit „Empfohlen"-Badge. Häkchen-Liste, ein CTA je Karte — ruhig und direkt vergleichbar. Mobil stapeln sich die Karten automatisch, kein Horizontal-Überlauf.

Basis

Für den Einstieg mit dem Nötigsten.

49 €/ Monat

  • 1 Projekt
  • E-Mail-Support
  • Team-Zugänge
Auswählen
Empfohlen

Komfort

Für alle, die planbar wachsen wollen.

99 €/ Monat

  • 10 Projekte
  • Priorisierter Support
  • 3 Team-Zugänge
Auswählen

Premium

Für höchste Ansprüche ohne Limits.

199 €/ Monat

  • Unbegrenzte Projekte
  • Persönlicher Ansprechpartner
  • Unbegrenzte Team-Zugänge
Auswählen
<section class="pr-klar" aria-label="Preispakete">
  <div class="pr-klar-card">
    <h3 class="pr-klar-name">Basis</h3>
    <p class="pr-klar-desc">Für den Einstieg mit dem Nötigsten.</p>
    <p class="pr-klar-price"><b>49&nbsp;€</b><span>/ Monat</span></p>
    <ul class="pr-klar-feat">
      <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4"
           stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg>1 Projekt</li>
      <li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4"
           stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg>E-Mail-Support</li>
      <li class="off"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4"
           stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M18 6 6 18M6 6l12 12"/></svg>Team-Zugänge</li>
    </ul>
    <a class="pr-klar-cta" href="#">Auswählen</a>
  </div>

  <div class="pr-klar-card pr-klar-card--best">
    <span class="pr-klar-badge">Empfohlen</span>
    <h3 class="pr-klar-name">Komfort</h3>
    <p class="pr-klar-desc">Für alle, die planbar wachsen wollen.</p>
    <p class="pr-klar-price"><b>99&nbsp;€</b><span>/ Monat</span></p>
    <ul class="pr-klar-feat">
      <li><svg ... aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg>10 Projekte</li>
      <li><svg ... aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg>Priorisierter Support</li>
      <li><svg ... aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg>3 Team-Zugänge</li>
    </ul>
    <a class="pr-klar-cta pr-klar-cta--fill" href="#">Auswählen</a>
  </div>

  <div class="pr-klar-card">
    <h3 class="pr-klar-name">Premium</h3>
    <p class="pr-klar-desc">Für höchste Ansprüche ohne Limits.</p>
    <p class="pr-klar-price"><b>199&nbsp;€</b><span>/ Monat</span></p>
    <ul class="pr-klar-feat">
      <li><svg ... aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg>Unbegrenzte Projekte</li>
      <li><svg ... aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg>Persönlicher Ansprechpartner</li>
      <li><svg ... aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg>Unbegrenzte Team-Zugänge</li>
    </ul>
    <a class="pr-klar-cta" href="#">Auswählen</a>
  </div>
</section>

<style>
.pr-klar{display:grid;gap:1.1rem;width:100%;grid-template-columns:1fr;align-items:stretch;color:#e9e9ee}
@media(min-width:720px){.pr-klar{grid-template-columns:repeat(3,1fr);gap:1rem;align-items:center}}
.pr-klar-card{position:relative;display:flex;flex-direction:column;background:#16161a;
  border:1px solid #26262c;border-radius:16px;padding:1.6rem 1.4rem;overflow-wrap:break-word}
.pr-klar-card--best{border-color:var(--akzent,#7c87ff);background:#17171b;
  box-shadow:0 0 0 1px var(--akzent,#7c87ff)}
@media(min-width:720px){.pr-klar-card--best{transform:scale(1.04);z-index:1}}
.pr-klar-badge{position:absolute;top:-.7rem;left:50%;transform:translateX(-50%);
  font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:#0f0f12;background:var(--akzent,#7c87ff);padding:.28rem .7rem;border-radius:99px;white-space:nowrap}
.pr-klar-name{margin:0 0 .3rem;font-size:1rem;font-weight:700;color:#f4f4f5;letter-spacing:.01em}
.pr-klar-desc{margin:0 0 1.1rem;font-size:.82rem;color:#a1a1aa}
.pr-klar-price{display:flex;align-items:baseline;gap:.25rem;margin:0 0 1.3rem;flex-wrap:wrap}
.pr-klar-price b{font-size:2.1rem;font-weight:800;color:#f4f4f5;line-height:1;letter-spacing:-.02em}
.pr-klar-price span{font-size:.8rem;color:#a1a1aa}
.pr-klar-feat{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.7rem;flex:1}
.pr-klar-feat li{display:flex;align-items:flex-start;gap:.6rem;font-size:.86rem;color:#e9e9ee}
.pr-klar-feat svg{flex:none;width:17px;height:17px;margin-top:.1rem;color:var(--akzent,#7c87ff)}
.pr-klar-feat li.off{color:#a1a1aa}
.pr-klar-feat li.off svg{color:#26262c}
.pr-klar-cta{display:block;text-align:center;font-weight:600;font-size:.9rem;padding:.75rem 1rem;
  border-radius:10px;border:1px solid #26262c;color:#f4f4f5;background:transparent;
  transition:background .22s ease,border-color .22s ease,color .22s ease}
.pr-klar-cta:hover,.pr-klar-cta:focus-visible{background:#1c1c22;border-color:#3a3a45;outline:none}
.pr-klar-cta:focus-visible{outline:2px solid var(--akzent,#7c87ff);outline-offset:2px}
.pr-klar-cta--fill{background:var(--akzent,#7c87ff);border-color:var(--akzent,#7c87ff);color:#0f0f12}
.pr-klar-cta--fill:hover,.pr-klar-cta--fill:focus-visible{background:#6a75f0;border-color:#6a75f0;color:#0f0f12}
@media (prefers-reduced-motion:reduce){.pr-klar-cta{transition:none}}
</style>

Preise — Umschalter & Glow-Paket

Pol 1 · Craft Anlass: SaaS, Marke, Premium

Monats-/Jahres-Umschalter (Tastatur-bedienbar, aria-pressed) wechselt alle Preise live. Das mittlere Paket bekommt einen Akzent-Rahmen mit Glow und „Beliebt"-Badge; beim Hovern heben sich alle Karten dezent an. Der Glow ruht bei prefers-reduced-motion.

Start

Der schlanke Einstieg für einzelne Vorhaben.

19 €/ Monat

monatlich abgerechnet

  • 1 Arbeitsbereich
  • 5 GB Speicher
Loslegen
Beliebt

Wachstum

Für Teams, die zusammen mehr erreichen.

49 €/ Monat

monatlich abgerechnet

  • Unbegrenzte Arbeitsbereiche
  • 100 GB Speicher
  • Priorisierter Support
Jetzt starten

Skalierung

Volle Kontrolle für anspruchsvolle Organisationen.

129 €/ Monat

monatlich abgerechnet

  • Alles aus Wachstum
  • Zugriffsrechte & SSO
  • Persönlicher Ansprechpartner
Kontakt aufnehmen
<section class="pr-craft" aria-label="Preispakete mit Umschalter">
  <div class="pr-craft-switch">
    <div class="pr-craft-toggle" role="group" aria-label="Abrechnungszeitraum">
      <span class="pr-craft-thumb" aria-hidden="true"></span>
      <button type="button" class="pr-craft-per" data-per="month" aria-pressed="true">Monatlich</button>
      <button type="button" class="pr-craft-per" data-per="year" aria-pressed="false">Jährlich<span class="pr-craft-save">−20&nbsp;%</span></button>
    </div>
  </div>
  <div class="pr-craft-grid">
    <article class="pr-craft-card">
      <h3 class="pr-craft-name">Start</h3>
      <p class="pr-craft-desc">Der schlanke Einstieg für einzelne Vorhaben.</p>
      <p class="pr-craft-price"><b class="pr-craft-amount" data-month="19" data-year="15">19&nbsp;€</b><span>/ Monat</span></p>
      <p class="pr-craft-note pr-craft-billed">monatlich abgerechnet</p>
      <ul class="pr-craft-feat">
        <li><svg ... aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg>1 Arbeitsbereich</li>
        <li><svg ... aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg>5 GB Speicher</li>
      </ul>
      <a class="pr-craft-cta" href="#">Loslegen</a>
    </article>

    <article class="pr-craft-card pr-craft-card--pop">
      <span class="pr-craft-glow" aria-hidden="true"></span>
      <span class="pr-craft-pop-badge"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="m12 2 2.9 6.3 6.9.6-5.2 4.5 1.6 6.7L12 16.9 5.8 20.6l1.6-6.7L2.2 8.9l6.9-.6z"/></svg>Beliebt</span>
      <h3 class="pr-craft-name">Wachstum</h3>
      <p class="pr-craft-desc">Für Teams, die zusammen mehr erreichen.</p>
      <p class="pr-craft-price"><b class="pr-craft-amount" data-month="49" data-year="39">49&nbsp;€</b><span>/ Monat</span></p>
      <p class="pr-craft-note pr-craft-billed">monatlich abgerechnet</p>
      <ul class="pr-craft-feat">
        <li><svg ... aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg>Unbegrenzte Arbeitsbereiche</li>
        <li><svg ... aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg>100 GB Speicher</li>
        <li><svg ... aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg>Priorisierter Support</li>
      </ul>
      <a class="pr-craft-cta pr-craft-cta--fill" href="#">Jetzt starten</a>
    </article>

    <article class="pr-craft-card">
      <h3 class="pr-craft-name">Skalierung</h3>
      <p class="pr-craft-desc">Volle Kontrolle für anspruchsvolle Organisationen.</p>
      <p class="pr-craft-price"><b class="pr-craft-amount" data-month="129" data-year="103">129&nbsp;€</b><span>/ Monat</span></p>
      <p class="pr-craft-note pr-craft-billed">monatlich abgerechnet</p>
      <ul class="pr-craft-feat">
        <li><svg ... aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg>Alles aus Wachstum</li>
        <li><svg ... aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg>Zugriffsrechte & SSO</li>
        <li><svg ... aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg>Persönlicher Ansprechpartner</li>
      </ul>
      <a class="pr-craft-cta" href="#">Kontakt aufnehmen</a>
    </article>
  </div>
</section>

<style>
.pr-craft{width:100%;color:#e9e9ee}
.pr-craft-switch{display:flex;justify-content:center;margin:0 0 1.6rem}
.pr-craft-toggle{display:inline-flex;position:relative;padding:.32rem;border-radius:99px;
  background:#101014;border:1px solid #26262c;gap:.15rem}
.pr-craft-toggle button{position:relative;z-index:1;border:0;background:transparent;cursor:pointer;
  font:inherit;font-size:.82rem;font-weight:600;color:#a1a1aa;padding:.5rem 1.05rem;border-radius:99px;
  transition:color .25s ease}
.pr-craft-toggle button[aria-pressed="true"]{color:#0f0f12}
.pr-craft-toggle button:focus-visible{outline:2px solid var(--akzent,#7c87ff);outline-offset:2px}
.pr-craft-toggle .pr-craft-thumb{position:absolute;top:.32rem;left:.32rem;z-index:0;height:calc(100% - .64rem);
  border-radius:99px;background:var(--akzent,#7c87ff);
  transition:transform .32s cubic-bezier(.4,.9,.3,1),width .32s cubic-bezier(.4,.9,.3,1);will-change:transform}
.pr-craft-save{display:inline-block;margin-left:.5rem;font-size:.66rem;font-weight:700;letter-spacing:.04em;
  color:var(--akzent,#7c87ff)}
.pr-craft-grid{display:grid;gap:1.1rem;grid-template-columns:1fr}
@media(min-width:720px){.pr-craft-grid{grid-template-columns:repeat(3,1fr);gap:1rem;align-items:center}}
.pr-craft-card{position:relative;display:flex;flex-direction:column;border-radius:18px;padding:1.7rem 1.45rem;
  background:#16161a;border:1px solid #26262c;overflow-wrap:break-word;
  transition:transform .3s cubic-bezier(.4,.9,.3,1),border-color .3s ease,box-shadow .3s ease}
.pr-craft-card:hover,.pr-craft-card:focus-within{transform:translateY(-6px);border-color:#34343e;
  box-shadow:0 20px 44px rgba(0,0,0,.4)}
.pr-craft-card--pop{overflow:hidden;border-color:transparent;
  background:radial-gradient(140% 120% at 50% -10%,#20203044 0%,#16161a 60%),#16161a}
.pr-craft-card--pop::before{content:"";position:absolute;inset:0;border-radius:18px;padding:1px;z-index:0;
  background:linear-gradient(150deg,var(--akzent,#7c87ff),transparent 55%,var(--akzent,#7c87ff));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.pr-craft-glow{position:absolute;z-index:0;top:-60px;left:50%;transform:translateX(-50%);
  width:200px;height:200px;border-radius:50%;filter:blur(60px);opacity:.5;pointer-events:none;
  background:radial-gradient(circle,var(--akzent,#7c87ff) 0%,transparent 70%);
  animation:pr-pulse 6s ease-in-out infinite;will-change:opacity,transform}
@keyframes pr-pulse{0%,100%{opacity:.35;transform:translateX(-50%) scale(1)}50%{opacity:.6;transform:translateX(-50%) scale(1.15)}}
.pr-craft-card>*{position:relative;z-index:1}
.pr-craft-pop-badge{position:absolute;top:1.15rem;right:1.15rem;z-index:2;display:inline-flex;align-items:center;
  gap:.35rem;font-size:.66rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:var(--akzent,#7c87ff);background:rgba(124,135,255,.12);border:1px solid rgba(124,135,255,.35);
  padding:.28rem .6rem;border-radius:99px}
.pr-craft-pop-badge svg{width:12px;height:12px}
.pr-craft-name{margin:0 0 .35rem;font-size:1.02rem;font-weight:700;color:#f4f4f5}
.pr-craft-desc{margin:0 0 1.2rem;font-size:.82rem;color:#a1a1aa;max-width:26ch}
.pr-craft-price{display:flex;align-items:baseline;gap:.3rem;margin:0 0 .4rem;flex-wrap:wrap}
.pr-craft-price b{font-size:2.3rem;font-weight:800;line-height:1;letter-spacing:-.02em;color:#f4f4f5}
.pr-craft-card--pop .pr-craft-price b{color:var(--akzent,#7c87ff)}
.pr-craft-price span{font-size:.8rem;color:#a1a1aa}
.pr-craft-note{margin:0 0 1.4rem;font-size:.74rem;color:#a1a1aa;min-height:1em}
.pr-craft-feat{list-style:none;margin:0 0 1.6rem;padding:0;display:grid;gap:.7rem;flex:1}
.pr-craft-feat li{display:flex;align-items:flex-start;gap:.6rem;font-size:.85rem;color:#e9e9ee}
.pr-craft-feat svg{flex:none;width:17px;height:17px;margin-top:.1rem;color:var(--akzent,#7c87ff)}
.pr-craft-cta{display:block;text-align:center;font-weight:600;font-size:.9rem;padding:.78rem 1rem;border-radius:11px;
  border:1px solid #2c2c34;background:#1c1c22;color:#f4f4f5;
  transition:background .22s ease,border-color .22s ease,transform .18s ease}
.pr-craft-cta:hover,.pr-craft-cta:focus-visible{border-color:#3a3a45;transform:translateY(-1px);outline:none}
.pr-craft-cta:focus-visible{outline:2px solid var(--akzent,#7c87ff);outline-offset:2px}
.pr-craft-cta--fill{background:linear-gradient(135deg,var(--akzent,#7c87ff),#5b64c8);border-color:transparent;color:#0f0f12}
.pr-craft-cta--fill:hover,.pr-craft-cta--fill:focus-visible{filter:brightness(1.08)}
@media (prefers-reduced-motion:reduce){
  .pr-craft-toggle button,.pr-craft-thumb,.pr-craft-card,.pr-craft-cta{transition:none}
  .pr-craft-glow{animation:none}
}
</style>

<script>
(function(){
  var root=document.currentScript.previousElementSibling; // section.pr-craft
  while(root&&!root.classList.contains('pr-craft')) root=root.previousElementSibling;
  if(!root) return;
  var btns=root.querySelectorAll('.pr-craft-per');
  var thumb=root.querySelector('.pr-craft-thumb');
  function place(active){
    thumb.style.width=active.offsetWidth+'px';
    thumb.style.transform='translateX('+(active.offsetLeft-active.parentElement.offsetLeft)+'px)';
  }
  function apply(per){
    btns.forEach(function(b){b.setAttribute('aria-pressed',String(b.dataset.per===per));});
    root.querySelectorAll('.pr-craft-amount').forEach(function(el){
      el.firstChild.nodeValue=el.dataset[per]+' €';
    });
    root.querySelectorAll('.pr-craft-billed').forEach(function(el){
      el.textContent=per==='year'?'jährlich abgerechnet':'monatlich abgerechnet';
    });
    place([].slice.call(btns).filter(function(b){return b.dataset.per===per;})[0]);
  }
  btns.forEach(function(b){b.addEventListener('click',function(){apply(b.dataset.per);});});
  // Startzustand setzen (Thumb positionieren)
  var init=[].slice.call(btns).filter(function(b){return b.getAttribute('aria-pressed')==='true';})[0]||btns[0];
  place(init);
  window.addEventListener('resize',function(){
    var cur=[].slice.call(btns).filter(function(b){return b.getAttribute('aria-pressed')==='true';})[0];
    if(cur) place(cur);
  });
})();
</script>

Preise — Vergleichstabelle mit Merkmal-Zeilen

Pol 2 · Klarheit Anlass: Feature-Vergleich, viele Merkmale

Echte HTML-Tabelle statt Karten: jede Zeile ein Merkmal, jede Spalte ein Tarif — ideal, wenn viele Details direkt gegenübergestellt werden sollen. Die empfohlene Spalte ist mit Akzent-Rahmen und „Empfohlen"-Badge markiert, Zeilen heben beim Hover an. Auf schmalen Screens scrollt nur die Tabelle horizontal, die Seite nicht.

Alle Preise pro Monat, zzgl. USt.
Merkmal Basis19 €pro Monat Komfort49 €pro MonatEmpfohlen Premium99 €pro Monat
Projekte 1 10 Unbegrenzt
Team-Zugänge 1 5 Unbegrenzt
Speicherplatz 10 GB 100 GB 1 TB
Priorisierter Support nein ja ja
Zugriffsrechte & SSO nein nein ja
Auswählen Auswählen Auswählen
<div class="pr-vgl">
  <table>
    <caption>Alle Preise pro Monat, zzgl. USt.</caption>
    <colgroup><col><col><col class="pr-vgl-best"><col></colgroup>
    <thead>
      <tr>
        <th scope="col"><span class="visually-hidden">Merkmal</span></th>
        <th scope="col"><span class="pr-vgl-plan"><b>Basis</b><em>19&nbsp;€</em><span>pro Monat</span></span></th>
        <th scope="col" class="pr-vgl-bestcell"><span class="pr-vgl-plan"><b>Komfort</b><em>49&nbsp;€</em><span>pro Monat</span><span class="pr-vgl-tag">Empfohlen</span></span></th>
        <th scope="col"><span class="pr-vgl-plan"><b>Premium</b><em>99&nbsp;€</em><span>pro Monat</span></span></th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <th scope="row">Projekte</th>
        <td>1</td>
        <td class="pr-vgl-bestcell"><span class="pr-vgl-txt">10</span></td>
        <td>Unbegrenzt</td>
      </tr>
      <tr>
        <th scope="row">Team-Zugänge</th>
        <td>1</td>
        <td class="pr-vgl-bestcell"><span class="pr-vgl-txt">5</span></td>
        <td>Unbegrenzt</td>
      </tr>
      <tr>
        <th scope="row">Speicherplatz</th>
        <td>10 GB</td>
        <td class="pr-vgl-bestcell"><span class="pr-vgl-txt">100 GB</span></td>
        <td>1 TB</td>
      </tr>
      <tr>
        <th scope="row">Priorisierter Support</th>
        <td><span class="pr-vgl-no" aria-hidden="true">–</span><span class="visually-hidden">nein</span></td>
        <td class="pr-vgl-bestcell"><svg class="pr-vgl-yes" ... aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg><span class="visually-hidden">ja</span></td>
        <td><svg class="pr-vgl-yes" ... aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg><span class="visually-hidden">ja</span></td>
      </tr>
      <tr>
        <th scope="row">Zugriffsrechte &amp; SSO</th>
        <td><span class="pr-vgl-no" aria-hidden="true">–</span><span class="visually-hidden">nein</span></td>
        <td class="pr-vgl-bestcell"><span class="pr-vgl-no" aria-hidden="true">–</span><span class="visually-hidden">nein</span></td>
        <td><svg class="pr-vgl-yes" ... aria-hidden="true"><path d="M20 6 9 17l-5-5"/></svg><span class="visually-hidden">ja</span></td>
      </tr>
    </tbody>
    <tfoot>
      <tr class="pr-vgl-foot">
        <td></td>
        <td><a class="pr-vgl-cta" href="#">Auswählen</a></td>
        <td class="pr-vgl-bestcell"><a class="pr-vgl-cta pr-vgl-cta--fill" href="#">Auswählen</a></td>
        <td><a class="pr-vgl-cta" href="#">Auswählen</a></td>
      </tr>
    </tfoot>
  </table>
</div>

<style>
/* .visually-hidden aus dem globalen Stylesheet — hier zur Vollständigkeit: */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.pr-vgl{width:100%;color:#e9e9ee;overflow-x:auto}
.pr-vgl table{width:100%;border-collapse:collapse;min-width:520px;font-size:.88rem}
.pr-vgl caption{text-align:left;margin:0 0 1rem;font-size:.82rem;color:#a1a1aa}
.pr-vgl th,.pr-vgl td{padding:.85rem 1rem;text-align:center;border-bottom:1px solid #26262c}
.pr-vgl tbody th{text-align:left;font-weight:500;color:#e9e9ee;white-space:nowrap}
.pr-vgl-plan{display:flex;flex-direction:column;gap:.25rem;align-items:center}
.pr-vgl-plan b{font-size:.98rem;font-weight:700;color:#f4f4f5}
.pr-vgl-plan span{font-size:.76rem;color:#a1a1aa}
.pr-vgl-plan em{font-style:normal;font-size:1.35rem;font-weight:800;color:#f4f4f5;letter-spacing:-.02em}
.pr-vgl col.pr-vgl-best{background:#17171b}
.pr-vgl thead th.pr-vgl-bestcell{border-top:1px solid var(--akzent,#7c87ff);
  border-left:1px solid var(--akzent,#7c87ff);border-right:1px solid var(--akzent,#7c87ff);border-radius:12px 12px 0 0}
.pr-vgl tbody tr:last-child td.pr-vgl-bestcell{border-bottom:1px solid var(--akzent,#7c87ff);
  border-left:1px solid var(--akzent,#7c87ff);border-right:1px solid var(--akzent,#7c87ff);border-radius:0 0 12px 12px}
.pr-vgl td.pr-vgl-bestcell{border-left:1px solid var(--akzent,#7c87ff);border-right:1px solid var(--akzent,#7c87ff)}
.pr-vgl-tag{display:inline-block;margin-top:.4rem;font-size:.64rem;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:#0f0f12;background:var(--akzent,#7c87ff);padding:.2rem .55rem;border-radius:99px}
.pr-vgl-yes{display:inline-block;width:18px;height:18px;color:var(--akzent,#7c87ff)}
.pr-vgl-no{color:#5a5a63;font-size:1.1rem;line-height:1}
.pr-vgl-txt{color:#e9e9ee;font-weight:600}
.pr-vgl tbody tr:hover th,.pr-vgl tbody tr:hover td{background:#1c1c22}
.pr-vgl tbody tr:hover td.pr-vgl-bestcell{background:#20202a}
.pr-vgl-foot td{border-bottom:0;padding-top:1.2rem}
.pr-vgl-cta{display:inline-block;text-align:center;font-weight:600;font-size:.85rem;padding:.6rem 1.2rem;
  border-radius:9px;border:1px solid #26262c;color:#f4f4f5;background:transparent;text-decoration:none;
  transition:background .22s ease,border-color .22s ease}
.pr-vgl-cta:hover,.pr-vgl-cta:focus-visible{background:#1c1c22;border-color:#3a3a45;outline:none}
.pr-vgl-cta:focus-visible{outline:2px solid var(--akzent,#7c87ff);outline-offset:2px}
.pr-vgl-cta--fill{background:var(--akzent,#7c87ff);border-color:var(--akzent,#7c87ff);color:#0f0f12}
.pr-vgl-cta--fill:hover,.pr-vgl-cta--fill:focus-visible{background:#6a75f0;border-color:#6a75f0;color:#0f0f12}
@media (prefers-reduced-motion:reduce){
  .pr-vgl tbody tr:hover th,.pr-vgl tbody tr:hover td,.pr-vgl-cta{transition:none}
}
</style>

Preise — Mengen-Slider rechnet live

Pol 1 · Craft Anlass: nutzungsbasierter Tarif, Team-Größe

Eine einzelne Angebots-Karte mit Akzent-Verlaufsrahmen: Der Regler wählt die Menge (z. B. Anzahl Nutzer), Gesamtpreis und Stückpreis rechnen live mit. Voll tastaturbedienbar (input[type=range] mit aria-Werten), der farbige Füllstand kommt per CSS-Variable. Fällt ohne JS auf den Startpreis zurück.

Team-Tarif

Zahle nur, was du brauchst

72 €/ Monat

9 € pro Nutzer und Monat

8 Personen
<div class="pr-slide">
  <p class="pr-slide-eyebrow">Team-Tarif</p>
  <h3 class="pr-slide-name">Zahle nur, was du brauchst</h3>
  <p class="pr-slide-price"><b class="pr-slide-total">72&nbsp;€</b><span>/ Monat</span></p>
  <p class="pr-slide-per"><b class="pr-slide-unit">9&nbsp;€</b> pro Nutzer und Monat</p>
  <div class="pr-slide-row">
    <label for="pr-slide-range">Nutzer</label>
    <span class="pr-slide-count"><b class="pr-slide-num">8</b> Personen</span>
  </div>
  <input id="pr-slide-range" class="pr-slide-range" type="range" min="1" max="50" step="1" value="8"
         aria-label="Anzahl Nutzer" aria-valuetext="8 Nutzer">
  <button type="button" class="pr-slide-cta">Team-Tarif starten</button>
</div>

<style>
.pr-slide{width:100%;max-width:440px;color:#e9e9ee;position:relative;
  border-radius:18px;padding:1.8rem 1.6rem;overflow:hidden;
  background:radial-gradient(120% 100% at 50% -20%,#20203033 0%,#16161a 60%),#16161a;
  border:1px solid #26262c}
.pr-slide::before{content:"";position:absolute;inset:0;border-radius:18px;padding:1px;pointer-events:none;
  background:linear-gradient(150deg,var(--akzent,#7c87ff),transparent 55%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude}
.pr-slide-eyebrow{margin:0 0 .3rem;font-size:.7rem;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:var(--akzent,#7c87ff)}
.pr-slide-name{margin:0 0 1.3rem;font-size:1.1rem;font-weight:700;color:#f4f4f5}
.pr-slide-price{display:flex;align-items:baseline;gap:.3rem;margin:0 0 .25rem;flex-wrap:wrap}
.pr-slide-price b{font-size:2.6rem;font-weight:800;line-height:1;letter-spacing:-.02em;color:#f4f4f5;
  font-variant-numeric:tabular-nums}
.pr-slide-price span{font-size:.82rem;color:#a1a1aa}
.pr-slide-per{margin:0 0 1.5rem;font-size:.78rem;color:#a1a1aa;min-height:1em}
.pr-slide-per b{color:#e9e9ee;font-variant-numeric:tabular-nums}
.pr-slide-row{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 .7rem;gap:1rem}
.pr-slide-row label{font-size:.86rem;font-weight:600;color:#f4f4f5}
.pr-slide-count{font-size:.86rem;color:#a1a1aa;font-variant-numeric:tabular-nums}
.pr-slide-count b{color:var(--akzent,#7c87ff);font-size:1.05rem}
.pr-slide-range{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:99px;margin:.2rem 0 1.6rem;
  background:linear-gradient(90deg,var(--akzent,#7c87ff) var(--fill,30%),#2a2a32 var(--fill,30%));cursor:pointer}
.pr-slide-range:focus-visible{outline:2px solid var(--akzent,#7c87ff);outline-offset:4px}
.pr-slide-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;
  background:#f4f4f5;border:3px solid var(--akzent,#7c87ff);cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,.5);transition:transform .15s ease}
.pr-slide-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;
  background:#f4f4f5;border:3px solid var(--akzent,#7c87ff);cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.5)}
.pr-slide-range:hover::-webkit-slider-thumb,.pr-slide-range:focus-visible::-webkit-slider-thumb{transform:scale(1.15)}
.pr-slide-cta{display:block;text-align:center;font-weight:600;font-size:.92rem;padding:.82rem 1rem;border-radius:11px;
  border:0;width:100%;cursor:pointer;color:#0f0f12;
  background:linear-gradient(135deg,var(--akzent,#7c87ff),#5b64c8);
  transition:filter .2s ease,transform .18s ease}
.pr-slide-cta:hover,.pr-slide-cta:focus-visible{filter:brightness(1.08);transform:translateY(-1px);outline:none}
.pr-slide-cta:focus-visible{outline:2px solid var(--akzent,#7c87ff);outline-offset:3px}
@media (prefers-reduced-motion:reduce){
  .pr-slide-range::-webkit-slider-thumb,.pr-slide-cta{transition:none}
}
</style>

<script>
document.querySelectorAll('.pr-slide').forEach(function(card){
  var range=card.querySelector('.pr-slide-range');
  var num=card.querySelector('.pr-slide-num');
  var total=card.querySelector('.pr-slide-total');
  var unitEl=card.querySelector('.pr-slide-unit');
  if(!range) return;
  var unit=9; // € pro Nutzer und Monat
  function fmt(n){return n.toLocaleString('de-DE');}
  function update(){
    var n=parseInt(range.value,10);
    var pct=(n-range.min)/(range.max-range.min)*100;
    range.style.setProperty('--fill',pct+'%');
    range.setAttribute('aria-valuetext',n+' Nutzer');
    if(num) num.textContent=n;
    if(total) total.firstChild.nodeValue=fmt(n*unit)+' €';
    if(unitEl) unitEl.firstChild.nodeValue=fmt(unit)+' €';
  }
  range.addEventListener('input',update);
  update();
});
</script>