/* ============================================================
   KJC Digital – Premium Preise-/Lösungen-Seite
   Eigenständige Styles (nur auf /preise.php geladen).
   Monochrom (passend zum Design-System) + Gold-Akzent (Enterprise).
   Animationen laufen über das vorhandene .reveal-System (main.js).
   ============================================================ */

.pr{--gold:#cfcfcf;--gold-2:#ffffff;--gold-ink:#111111}
#pakete,#enterprise,#loesungen{scroll-margin-top:120px}

/* ---- Section-Köpfe ---- */
.pr-head{max-width:720px;margin:0 auto;text-align:center}
.pr-head .eyebrow{display:block;margin-bottom:12px}
.pr-head h2{font-size:clamp(28px,4.4vw,46px);line-height:1.1;margin:0 0 14px}
.pr-head p{color:var(--muted);font-size:clamp(16px,2vw,18px);line-height:1.6;margin:0 auto;max-width:60ch}

/* ============================================================
   1) PRICING – drei Tiers + Enterprise-Banner
   ============================================================ */
.pr-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch;margin-top:52px}
.pr-card{position:relative;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);
  border-radius:24px;padding:34px 30px;transition:transform .4s var(--spring),box-shadow .4s,border-color .3s}
.pr-card:hover{transform:translateY(-6px);box-shadow:0 30px 70px rgba(0,0,0,.10);border-color:var(--ink)}
.pr-tier{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pr-price{display:flex;align-items:baseline;gap:7px;margin:14px 0 2px;font-family:'DM Serif Display',serif}
.pr-price .amt{font-size:clamp(40px,5vw,54px);line-height:1;color:var(--ink)}
.pr-price .cur{font-size:22px;color:var(--muted)}
.pr-period{font-size:13px;color:var(--muted);margin:0 0 16px}
.pr-ideal{font-size:13px;color:var(--muted);margin:0 0 4px}
.pr-ideal b{color:var(--ink);font-weight:600}
.pr-feats{list-style:none;margin:18px 0 26px;padding:18px 0 0;border-top:1px solid var(--line);
  display:flex;flex-direction:column;gap:11px;flex:1}
.pr-feats li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.4;color:var(--ink)}
.pr-feats li svg{flex:none;margin-top:1px;color:var(--ink)}
.pr-card .btn{width:100%;justify-content:center;margin-top:auto}

/* Featured (Business) */
.pr-card.pr-featured{background:#0d0d10;border-color:#0d0d10;color:#fff;transform:translateY(-12px);
  box-shadow:0 44px 90px rgba(0,0,0,.24)}
.pr-card.pr-featured:hover{transform:translateY(-18px)}
.pr-featured .pr-tier,.pr-featured .pr-period,.pr-featured .pr-ideal{color:rgba(255,255,255,.6)}
.pr-featured .pr-price .amt,.pr-featured .pr-feats li,.pr-featured .pr-ideal b{color:#fff}
.pr-featured .pr-price .cur{color:rgba(255,255,255,.6)}
.pr-featured .pr-feats{border-top-color:rgba(255,255,255,.16)}
.pr-featured .pr-feats li svg{color:var(--gold-2)}
.pr-featured .btn{background:#fff;color:#111}
.pr-featured .btn:hover{background:#ededed;color:#000;box-shadow:0 12px 30px rgba(0,0,0,.35)}
.pr-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:#fff;color:#111;
  font-size:12px;font-weight:600;letter-spacing:.03em;padding:7px 18px;border-radius:999px;
  box-shadow:0 8px 24px rgba(0,0,0,.20);white-space:nowrap}
.pr-badge-action{background:var(--ink);color:var(--bg)}
.pr-price .amt s,.pr-period s{color:var(--muted);font-weight:400}
.pr-strike{text-decoration:line-through;color:var(--muted);font-family:'Manrope',sans-serif;font-size:15px;margin-left:8px}

/* Enterprise-Banner */
.pr-ent{position:relative;margin-top:26px;border-radius:28px;padding:44px clamp(26px,4vw,54px);overflow:hidden;
  background:linear-gradient(150deg,#161616,#0a0a0c 62%);color:#fff;border:1.5px solid rgba(255,255,255,.22);
  box-shadow:0 40px 100px rgba(0,0,0,.28);transition:box-shadow .45s,transform .45s var(--spring)}
.pr-ent:hover{transform:translateY(-4px);box-shadow:0 0 0 1px rgba(255,255,255,.55),0 50px 120px rgba(255,255,255,.12)}
.pr-ent::before{content:"";position:absolute;top:-40%;right:-10%;width:60%;height:180%;
  background:radial-gradient(circle,rgba(255,255,255,.10),transparent 60%);pointer-events:none}
.pr-ent-head{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;gap:22px;align-items:flex-start}
.pr-ent-badge{display:inline-block;background:linear-gradient(90deg,var(--gold-2),var(--gold));color:var(--gold-ink);
  font-weight:700;font-size:12px;letter-spacing:.06em;padding:7px 16px;border-radius:999px}
.pr-ent h3{font-family:'DM Serif Display',serif;font-size:clamp(28px,4vw,42px);line-height:1.05;margin:16px 0 0;color:#fff}
.pr-ent-desc{color:rgba(255,255,255,.72);max-width:540px;margin:14px 0 0;font-size:15.5px;line-height:1.65}
.pr-ent-price{text-align:right;font-family:'DM Serif Display',serif}
.pr-ent-price .amt{font-size:clamp(34px,4.4vw,48px);color:#fff;display:block;line-height:1}
.pr-ent-price .per{font-family:'Manrope',sans-serif;font-size:13px;color:var(--gold-2);margin-top:6px}
.pr-ent-feats{position:relative;list-style:none;margin:30px 0;padding:26px 0 0;border-top:1px solid rgba(255,255,255,.14);
  display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:13px 26px}
.pr-ent-feats li{display:flex;gap:10px;align-items:flex-start;color:rgba(255,255,255,.92);font-size:14.5px;line-height:1.4}
.pr-ent-feats li svg{flex:none;margin-top:1px;color:var(--gold-2)}
.pr-ent .btn{background:linear-gradient(90deg,var(--gold-2),var(--gold));color:var(--gold-ink);border:none;font-weight:700}
.pr-ent .btn:hover{background:#fff;box-shadow:0 14px 36px rgba(0,0,0,.4);transform:translateY(-2px)}

.pr-note{text-align:center;color:var(--muted);font-size:14px;margin:32px auto 0;max-width:60ch}

/* ============================================================
   2) DIGITALE LÖSUNGEN  +  3) WARUM  (Karten-Raster)
   ============================================================ */
.pr-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:50px}
.pr-sol{position:relative;display:flex;flex-direction:column;background:transparent;border:0;border-radius:0;padding:8px 6px}
.pr-sol:hover .pr-ic{border-color:var(--ink)}
.pr-ic{width:54px;height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;
  background:var(--bg2);border:1px solid var(--line);margin-bottom:18px;color:var(--ink)}
.pr-ic svg{width:26px;height:26px}
.pr-sol h3{font-size:20px;margin:0 0 8px}
.pr-sol p{color:var(--muted);font-size:15px;line-height:1.6;margin:0}
.pr-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0}
.pr-tags li{font-size:13px;background:var(--bg2);border:1px solid var(--line);border-radius:999px;
  padding:6px 12px;color:var(--ink)}
.pr-soon{position:absolute;top:22px;right:22px;background:var(--ink);color:var(--bg);font-size:11px;font-weight:600;
  letter-spacing:.03em;padding:5px 11px;border-radius:999px}

/* Warum-Karten (kompakter) */
.pr-why{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:30px;
  transition:transform .4s var(--spring),box-shadow .4s,border-color .3s}
.pr-why:hover{transform:translateY(-6px);box-shadow:0 26px 60px rgba(0,0,0,.10);border-color:var(--ink)}
.pr-why h3{font-size:19px;margin:0 0 8px}
.pr-why p{color:var(--muted);font-size:15px;line-height:1.6;margin:0}

/* ============================================================
   4) BUSINESS SOLUTIONS SHOWCASE (horizontal)
   ============================================================ */
.pr-showcase-wrap{position:relative;margin-top:48px}
.pr-showcase{display:flex;gap:18px;overflow-x:auto;padding:6px 4px 22px;scroll-snap-type:x mandatory;
  scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.pr-showcase::-webkit-scrollbar{height:8px}
.pr-showcase::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}
.pr-show{flex:0 0 168px;background:transparent;border:0;border-radius:0;text-align:center;color:var(--ink);
  padding:16px 12px;transition:transform .35s var(--spring)}
.pr-show:hover{transform:translateY(-4px)}
.pr-show .pr-show-ic{display:block;margin-bottom:14px;color:var(--ink);transition:transform .3s cubic-bezier(.4,0,.2,1)}
.pr-show:hover .pr-show-ic{transform:scale(1.22)}
.pr-show .pr-show-ic svg{width:30px;height:30px;display:inline-block}
.pr-show h4{font-size:16px;margin:0;line-height:1.3}
.pr-show span{display:block;color:var(--muted);font-size:13px;margin-top:4px}
.pr-hint{text-align:center;color:var(--muted);font-size:13px;margin-top:6px}

/* LogoLoop-Stil: Endlos-Marquee (Branchen) */
.kjc-loop{position:relative;overflow:hidden;margin-top:48px;padding:10px 0}
.kjc-loop::before,.kjc-loop::after{content:"";position:absolute;top:0;bottom:0;width:clamp(40px,9%,130px);z-index:2;pointer-events:none}
.kjc-loop::before{left:0;background:linear-gradient(to right,var(--bg2),rgba(0,0,0,0))}
.kjc-loop::after{right:0;background:linear-gradient(to left,var(--bg2),rgba(0,0,0,0))}
.kjc-loop-track{display:flex;width:max-content;animation:kjc-loop-scroll 42s linear infinite}
.kjc-loop:hover .kjc-loop-track{animation-play-state:paused}
.kjc-loop-group{display:flex;gap:18px;padding-right:18px}
@keyframes kjc-loop-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.kjc-loop-track{animation:none}}

/* ============================================================
   5) PROCESS – vertikale Timeline
   ============================================================ */
.pr-timeline{max-width:660px;margin:50px auto 0;position:relative}
/* One continuous track + a fill line that grows as you scroll (height set by JS via --tl-fill) */
.pr-timeline::before{content:"";position:absolute;left:27px;top:28px;bottom:28px;width:2px;background:var(--line)}
.pr-timeline::after{content:"";position:absolute;left:27px;top:28px;width:2px;height:var(--tl-fill,0);background:var(--ink);transition:height .1s linear}
.pr-step{position:relative;display:flex;gap:22px;padding-bottom:34px}
.pr-step:last-child{padding-bottom:0}
/* Scroll reveal: steps stay dim until the fill line reaches them (JS toggles .tl-ready / .tl-on).
   Without JS, .tl-ready is never added, so every step shows at full opacity. */
.pr-timeline.tl-ready .pr-step{opacity:.38;transition:opacity .55s var(--spring)}
.pr-timeline.tl-ready .pr-step.tl-on{opacity:1}
.pr-timeline.tl-ready .pr-step.tl-on .pr-step-n{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.pr-step-n{flex:none;width:56px;height:56px;border-radius:50%;border:1px solid var(--line);background:var(--bg);
  display:flex;align-items:center;justify-content:center;font-family:'DM Serif Display',serif;font-size:20px;
  color:var(--ink);z-index:1;transition:border-color .3s,background .3s,color .3s}
.pr-step:hover .pr-step-n{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.pr-step-b{padding-top:13px}
.pr-step-b h4{margin:0 0 4px;font-size:19px}
.pr-step-b p{color:var(--muted);margin:0;font-size:15px;line-height:1.55}

/* ============================================================
   6) CTA – großes Premium-Banner mit animiertem Hintergrund
   ============================================================ */
.pr-cta{position:relative;border-radius:32px;padding:clamp(48px,7vw,92px) clamp(26px,5vw,60px);text-align:center;
  overflow:hidden;background:radial-gradient(circle at 30% 18%,#1b1b1f,#0a0a0c 72%);color:#fff;
  box-shadow:0 40px 110px rgba(0,0,0,.32)}
.pr-cta::before{content:"";position:absolute;inset:-45%;z-index:0;pointer-events:none;
  background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.14),transparent 42%),
             radial-gradient(circle at 72% 70%,rgba(255,255,255,.07),transparent 46%);
  animation:pr-drift 18s ease-in-out infinite alternate}
.pr-cta>*{position:relative;z-index:1}
.pr-cta h2{font-family:'DM Serif Display',serif;font-size:clamp(30px,5vw,52px);line-height:1.05;color:#fff;margin:0 auto;max-width:18ch}
.pr-cta p{color:rgba(255,255,255,.74);max-width:60ch;margin:18px auto 0;font-size:17px;line-height:1.65}
.pr-cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:34px}
.pr-cta .btn-blue{background:#fff;color:#111}
.pr-cta .btn-blue:hover{background:#ededed;color:#000;box-shadow:0 14px 36px rgba(0,0,0,.4)}
.pr-cta .btn-outline{border:1.5px solid rgba(255,255,255,.45);color:#fff;background:transparent}
.pr-cta .btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.10);color:#fff}
@keyframes pr-drift{0%{transform:translate(0,0) rotate(0)}100%{transform:translate(4%,3%) rotate(7deg)}}

/* ============================================================
   Responsive
   ============================================================ */
@media(max-width:980px){
  .pr-tiers,.pr-grid-3{grid-template-columns:repeat(2,1fr)}
  .pr-card.pr-featured{transform:none}
  .pr-card.pr-featured:hover{transform:translateY(-6px)}
  .pr-ent-price{text-align:left}
}
@media(max-width:640px){
  .pr-tiers,.pr-grid-3{grid-template-columns:1fr}
  .pr-ent-feats{grid-template-columns:1fr}
  .pr-show{flex-basis:160px}
}
@media(prefers-reduced-motion:reduce){
  .pr-cta::before{animation:none}
}
[data-theme="dark"] .pr-card:hover,[data-theme="dark"] .pr-sol:hover,[data-theme="dark"] .pr-why:hover,[data-theme="dark"] .pr-show:hover{box-shadow:0 26px 60px rgba(0,0,0,.5)}
[data-theme="dark"] .pr-badge{background:#fff;color:#111}
[data-theme="dark"] .pr-card.pr-featured{background:#1c1c20;border-color:rgba(255,255,255,.16)}
