/* ============================================
   Shared Slide Styles (Display + Presenter)
   Single source of truth for all .slide* visuals
   ============================================ */

/* --- Slide Base (visual only, positioning per context) --- */

.slide {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 80px;
  overflow: hidden;
  background: var(--ezyaa-white);
  position: relative;
}

/* --- Header-Pill (farbiges Rechteck von links, enthält Tag + Titel) --- */

.slide__header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--blob-color, #58bb82);
  border-radius: 0 9999px 9999px 0;
  padding: 20px 55px 20px 80px;
  margin-left: -80px;
  position: relative;
  z-index: 1;
  align-self: flex-start;
}

.slide--active .slide__header {
  animation: blobIn 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.05s both;
}

/* Tag + Titel im Header: keine eigene Animation, Header animiert */
.slide__header .slide__tag,
.slide__header .slide__title {
  animation: none;
  opacity: 1;
  margin-bottom: 0;
}

.slide__header .slide__tag {
  margin-bottom: 6px;
}

/* Blob-Farben per Gruppe */
.slide--group-pitch     { --blob-color: #58bb82; }
.slide--group-pain      { --blob-color: var(--ezyaa-majorelle); }
.slide--group-objection { --blob-color: #10b981; }
.slide--group-compare   { --blob-color: #e74c3c; }

/* --- Slide Type: Welcome --- */

.slide--welcome {
  text-align: center;
  align-items: center;
  justify-content: center;
}

.slide__welcome-logo {
  height: 40px;
  margin-bottom: 40px;
  opacity: 0.8;
}

.slide__greeting {
  font-weight: 400;
  font-size: 24px;
  color: rgba(255, 255, 255, 0.55);
  position: relative;
  z-index: 2;
}

.slide__contact-name {
  font-weight: 900;
  font-size: 52px;
  line-height: 1.1;
  color: var(--ezyaa-white);
  position: relative;
  z-index: 2;
  margin-top: 6px;
  margin-bottom: 24px;
}

.slide__operator-wrap {
  perspective: 1000px;
  position: relative;
  z-index: 2;
  animation: cardFloat 5s ease-in-out infinite;
}

.slide__operator-card {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 22px 48px;
  max-width: 600px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: var(--radius-xl);
  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.12);
  animation: logoFlip 10s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  transform-style: preserve-3d;
}

.slide__operator-logo {
  max-height: 80px;
  max-width: 240px;
  width: auto;
  height: auto;
  object-fit: contain;
  flex-shrink: 1;
  min-width: 0;
}

.slide__operator-text {
  font-weight: 900;
  font-size: 30px;
  color: var(--ezyaa-white);
  letter-spacing: 1px;
}

/* --- Slide Type: Content --- */

.slide--content {
  text-align: left;
  padding: 68px 80px 60px;
}

.slide__tag {
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 20px;
}


.slide__title {
  font-weight: 900;
  font-size: 44px;
  line-height: 1.1;
  margin-bottom: 24px;
  color: var(--ezyaa-white);
}

.slide__body {
  font-weight: 400;
  font-size: 22px;
  line-height: 1.5;
  color: rgba(40, 38, 44, 0.7);
  max-width: 800px;
}

.slide__bullets {
  margin-top: 32px;
}

.slide__bullet {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 12px 0;
  font-size: 20px;
  color: rgba(40, 38, 44, 0.75);
}

.slide__bullet-icon {
  width: 32px;
  height: 32px;
  background: rgba(29, 155, 246, 0.15);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 16px;
  color: var(--ezyaa-light-blue);
}

/* --- Slide Type: Highlight --- */

.slide--highlight {
  text-align: left;
  padding: 68px 80px 60px;
}

.slide--highlight .slide__title {
  font-size: 52px;
  color: var(--ezyaa-white);
}

.slide--highlight .slide__body {
  font-size: 24px;
}

/* --- Slide Type: Problem --- */

.slide--problem {
  text-align: left;
  padding: 68px 80px 60px;
}

.slide--problem .slide__header {
  z-index: 3;
}

.slide--problem .slide__title {
  font-size: 52px;
  color: var(--ezyaa-white);
}

/* Pain-Point-Grid – bunte Karten, 3+2 Layout, zentriert */
.slide__problem-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -45%);
  z-index: 2;
  width: 680px;
}

.slide__problem-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.slide__problem-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 22px 16px;
  border-radius: 20px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
  opacity: 0;
  height: 90px;
}

.slide--active .slide__problem-card {
  animation: statPop 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: calc(var(--pain-idx) * 0.12s + 0.3s);
}

.slide__problem-card-icon {
  font-size: 28px;
  line-height: 1;
  margin-bottom: 10px;
}

.slide__problem-card-title {
  font-size: 14px;
  font-weight: 900;
  color: #fff;
  line-height: 1.2;
}

/* Nachrichten-Feld – absolut, füllt den Slide */
.slide__msgs {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  pointer-events: none;
}

/* Einzelne Nachricht – Glassmorphism-Bubble, absolut positioniert */
.slide__msg {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 14px;
  border-left: 3px solid var(--msg-color, #999);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
  max-width: 300px;
  opacity: 0;
}

.slide__msg-dot {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--msg-color, #999);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px;
}

.slide__msg-dot svg {
  width: 100%;
  height: 100%;
}

.slide__msg-content {
  min-width: 0;
}

.slide__msg-name {
  font-weight: 700;
  font-size: 12px;
  color: rgba(40, 38, 44, 0.85);
  line-height: 1.2;
}

.slide__msg-text {
  font-size: 11px;
  color: rgba(40, 38, 44, 0.5);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 220px;
}

/* Problem slide animations */
.slide--active .slide__msg {
  animation: msgCycle var(--msg-dur, 10s) ease-in-out infinite both;
}

/* --- Slide Type: KI-Worker (KI Mitarbeiter bearbeitet Chats sequenziell) --- */

.slide--ki-worker {
  text-align: left;
  padding: 68px 80px 60px;
}

.slide--ki-worker .slide__header {
  z-index: 3;
}

.slide--ki-worker .slide__title {
  font-size: 52px;
  color: var(--ezyaa-white);
}

/* Stage – Container für alle Elemente (absolut positioniert) */
.slide__ki-stage {
  position: absolute;
  top: 130px;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}

/* ====== KI-Group: Hub + Training-Cards, startet zentriert, gleitet nach rechts ====== */

.slide__ki-group {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
}

/* Hub bleibt mittig – kein Slide */

/* Hub-Wrapper – zentriert auf dem Group-Origin */
.slide__ki-hub-wrap {
  position: absolute;
  left: -44px;
  top: -44px;
  width: 88px;
  height: 88px;
}

/* Training-Cards – absolut positioniert, im Raum verteilt, gleiche Breite */
.slide__ki-train {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 24px;
  min-width: 200px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(79, 70, 229, 0.12);
  border-radius: 16px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
  white-space: nowrap;
  opacity: 0;
  z-index: 3;
}

.slide__ki-train-ico {
  font-size: 26px;
  line-height: 1;
  flex-shrink: 0;
}

.slide__ki-train-label {
  font-size: 17px;
  font-weight: 800;
  color: var(--ezyaa-raisin);
}

/* CSS Connector-Linien vom Hub zu jeder Card (gleicher Stil wie Inbox-Connector) */
.slide__ki-conn {
  position: absolute;
  left: 44px;
  top: -1.5px;
  width: var(--conn-w);
  height: 3px;
  border-radius: 2px;
  background: linear-gradient(90deg,
    rgba(79, 70, 229, 0.08),
    rgba(79, 70, 229, 0.4),
    rgba(79, 70, 229, 0.08));
  transform-origin: 0 50%;
  transform: rotate(var(--conn-angle)) scaleX(0);
  z-index: 1;
}

.slide--active .slide__ki-conn {
  animation: kiConnDraw 0.5s cubic-bezier(0.22, 1, 0.36, 1) 2.5s both;
}

@keyframes kiConnDraw {
  to { transform: rotate(var(--conn-angle)) scaleX(1); }
}

/* Phase 1 Animations: Cards erscheinen gestaffelt */
.slide--active .slide__ki-train {
  animation: scaleReveal 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: calc(var(--ki-train-idx) * 0.2s + 1.5s);
}

/* ====== PHASE 2: Inbox + Connector (nach Group-Slide) ====== */

/* --- Inbox-Card (links neben Hub) --- */
.slide__ki-inbox {
  position: absolute;
  left: 220px;
  top: 50%;
  transform: translateY(-50%);
  width: 310px;
  background: var(--ezyaa-white);
  border-radius: 20px;
  box-shadow: 0 8px 48px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  opacity: 0;
}

.slide--active .slide__ki-inbox {
  animation: kiInboxReveal 0.7s cubic-bezier(0.22, 1, 0.36, 1) 4.5s both;
}

.slide__ki-inbox-head {
  padding: 16px 20px 12px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.slide__ki-inbox-title {
  font-size: 17px;
  font-weight: 900;
  color: var(--ezyaa-raisin);
}

.slide__ki-inbox-count {
  font-size: 11px;
  font-weight: 700;
  background: var(--ezyaa-light-blue);
  color: white;
  min-width: 24px;
  height: 24px;
  border-radius: 12px;
  padding: 0 7px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* --- Einzelne Nachricht --- */
.slide__ki-msg {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 16px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
  border-left: 3px solid transparent;
  position: relative;
}

.slide__ki-msg-av {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.slide__ki-msg-av svg {
  width: 17px;
  height: 17px;
}

.slide__ki-msg-body {
  flex: 1;
  min-width: 0;
}

.slide__ki-msg-name {
  font-size: 13px;
  font-weight: 700;
  color: var(--ezyaa-raisin);
}

.slide__ki-msg-text {
  font-size: 11px;
  color: rgba(40, 38, 44, 0.45);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Checkmark-Dot (erscheint nach Bearbeitung) */
.slide__ki-msg-check {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--ezyaa-mint);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: scale(0);
}

.slide__ki-msg-check svg {
  width: 12px;
  height: 12px;
}

/* --- Connector (Linie zwischen Inbox und KI-Hub) --- */
.slide__ki-connector {
  position: absolute;
  top: 50%;
  margin-top: -1.5px;
  left: 530px;
  width: 66px;
  height: 3px;
  border-radius: 2px;
  background: linear-gradient(90deg,
    rgba(79, 70, 229, 0.08),
    rgba(79, 70, 229, 0.4),
    rgba(79, 70, 229, 0.08));
  background-size: 200% 100%;
  transform: scaleX(0);
  transform-origin: left center;
}

.slide--active .slide__ki-connector {
  animation: drawLine 0.6s cubic-bezier(0.22, 1, 0.36, 1) 5s both,
             kiConnectorFlow 1.5s linear 5.8s infinite;
}

/* --- KI Hub (Majorelle-Box mit Robot-Icon) --- */
.slide__ki-hub {
  width: 100%;
  height: 100%;
  background: var(--ezyaa-majorelle);
  border-radius: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 36px rgba(79, 70, 229, 0.35);
  opacity: 0;
}

.slide__ki-hub svg {
  width: 48px;
  height: 48px;
}

.slide--active .slide__ki-hub {
  animation: scaleReveal 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.5s both,
             kiHubPulse 2s ease-in-out 5.5s infinite;
}

/* --- Action-Card (über dem Hub, zeigt aktuelle Handlung) --- */
.slide__ki-action {
  position: absolute;
  bottom: calc(100% + 20px);
  left: 50%;
  transform: translateX(-50%);
  background: var(--ezyaa-white);
  border-radius: 16px;
  padding: 14px 24px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
  display: flex;
  align-items: center;
  gap: 14px;
  white-space: nowrap;
  opacity: 0;
  z-index: 3;
}

.slide__ki-act-ico {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: var(--ezyaa-majorelle);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: #fff;
  flex-shrink: 0;
}

.slide__ki-act-txt {
  font-size: 15px;
  font-weight: 900;
  color: var(--ezyaa-raisin);
}

/* ====== KI-Worker Animations Phase 2 (nach Inbox-Erscheinen) ====== */

/* Nachricht: neutral → violett → grün */
.slide--active .slide__ki-msg {
  animation: kiMsgProcess 3s ease both;
  animation-delay: calc(var(--ki-idx) * 3s + 5.5s);
}

/* Checkmark poppt nach Bearbeitung */
.slide--active .slide__ki-msg-check {
  animation: checkPop 0.4s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay: calc(var(--ki-idx) * 3s + 8s);
}

/* Action-Card erscheint/verschwindet synchron */
.slide--active .slide__ki-action {
  animation: kiActionShow 2.6s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: calc(var(--ki-idx) * 3s + 5.7s);
}

/* --- Slide Type: Handover (KI routet Chat an richtiges Team) --- */

.slide--handover {
  text-align: left;
  padding: 68px 80px 60px;
}

.slide--handover .slide__header {
  z-index: 3;
}

.slide--handover .slide__title {
  font-size: 52px;
  color: var(--ezyaa-white);
}

/* Stage – Container für Float, Hub, Route, Teams */
.slide__ho-stage {
  position: absolute;
  top: 160px;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}

/* --- Floating Message Card (oben mittig) --- */
.slide__ho-float {
  position: absolute;
  top: 20px;
  left: calc(47% - 170px);
  display: flex;
  align-items: center;
  gap: 12px;
  width: 340px;
  padding: 14px 20px;
  background: var(--ezyaa-white);
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  opacity: 0;
  z-index: 4;
}

.slide--active .slide__ho-float {
  animation: scaleReveal 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.3s both;
}

.slide__ho-float-av {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.slide__ho-float-av svg {
  width: 20px;
  height: 20px;
}

.slide__ho-float-body {
  flex: 1;
  min-width: 0;
}

.slide__ho-float-name {
  font-size: 14px;
  font-weight: 700;
  color: var(--ezyaa-raisin);
}

.slide__ho-float-text {
  font-size: 12px;
  color: rgba(40, 38, 44, 0.5);
  margin-top: 2px;
}

/* Action-Badge (→) auf der Float-Card */
.slide__ho-act-ico {
  position: absolute;
  top: -10px;
  right: -10px;
  width: 32px;
  height: 32px;
  background: var(--ezyaa-majorelle);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  color: #fff;
  opacity: 0;
  transform: scale(0);
  box-shadow: 0 4px 12px rgba(79, 70, 229, 0.3);
}

.slide--active .slide__ho-act-ico {
  animation: hoBadgePop 0.4s cubic-bezier(0.22, 1, 0.36, 1) 0.8s forwards;
}

/* --- KI Hub (Mitte) --- */
.slide__ho-hub {
  position: absolute;
  top: 160px;
  left: calc(47% - 40px);
  width: 80px;
  height: 80px;
  background: var(--ezyaa-majorelle);
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 36px rgba(79, 70, 229, 0.35);
  opacity: 0;
  z-index: 3;
}

.slide__ho-hub svg {
  width: 44px;
  height: 44px;
}

.slide--active .slide__ho-hub {
  animation: scaleReveal 0.7s cubic-bezier(0.22, 1, 0.36, 1) 1.2s both,
             kiHubPulse 1.5s ease-in-out 2s 2;
}

/* --- SVG Route Lines (Float → Hub → Team) --- */
.slide__ho-route {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}

.slide__ho-route-v1,
.slide__ho-route-path {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  opacity: 0.7;
}

.slide--active .slide__ho-route-v1 {
  animation: hoDrawLine 0.5s cubic-bezier(0.22, 1, 0.36, 1) 1.8s forwards;
}

.slide--active .slide__ho-route-path {
  animation: hoDrawLine 1.5s cubic-bezier(0.22, 1, 0.36, 1) 5s forwards;
}

/* --- Team Cards (unten, 3 Karten nebeneinander) --- */
.slide__ho-teams {
  position: absolute;
  bottom: 20px;
  left: calc(47% - 350px);
  width: 700px;
  display: flex;
  gap: 16px;
  z-index: 2;
}

.slide__ho-team {
  flex: 1;
  padding: 16px 12px;
  background: var(--ezyaa-white);
  border: 1px solid rgba(0, 0, 0, 0.04);
  border-radius: 14px;
  box-shadow: 0 3px 20px rgba(0, 0, 0, 0.06);
  text-align: center;
  color: var(--ezyaa-raisin);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  position: relative;
  opacity: 0;
}

.slide__ho-team strong {
  display: block;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: inherit;
  opacity: 0.35;
  margin-bottom: 2px;
}

.slide__ho-team small {
  display: block;
  font-size: 10px;
  font-weight: 400;
  color: inherit;
  opacity: 0.5;
  margin-top: 4px;
}

.slide--active .slide__ho-team {
  animation: scaleReveal 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: calc(2.5s + var(--ho-idx) * 0.2s);
}

/* Chosen Team – Majorelle-Hintergrund nach Route-Animation */
.slide--active .slide__ho-team--chosen {
  animation:
    scaleReveal 0.5s cubic-bezier(0.22, 1, 0.36, 1) 2.9s both,
    hoChoose 0.5s cubic-bezier(0.22, 1, 0.36, 1) 6.5s forwards;
}

/* Notification Badge auf gewähltem Team */
.slide__ho-badge {
  position: absolute;
  top: -8px;
  right: -8px;
  width: 20px;
  height: 20px;
  background: #e53e3e;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: scale(0);
}

.slide--active .slide__ho-badge {
  animation: hoBadgePop 0.4s cubic-bezier(0.22, 1, 0.36, 1) 7s forwards;
}

/* --- Slide Type: Results (EXICE Card links + farbige Stat-Cards rechts) --- */

.slide--results {
  text-align: left;
  padding: 55px 80px 0;
}

.slide--results .slide__title {
  font-size: 52px;
  color: var(--ezyaa-white);
}

.slide__results-grid {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  align-self: center;
}

.slide__results-card {
  border-radius: 20px;
  padding: 24px 20px;
  text-align: center;
  opacity: 0;
}

.slide--active .slide__results-card {
  animation: statPop 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: calc(var(--stat-idx) * 0.12s + 0.5s);
}


.slide__results-val {
  font-size: 32px;
  font-weight: 900;
  color: #fff;
  line-height: 1.1;
}

.slide__results-label {
  font-size: 13px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.85);
  margin-top: 5px;
}


/* --- Slide Type: CRM (Kontaktkarte → Kampagne → WhatsApp) --- */

.slide--crm {
  text-align: left;
  padding: 55px 80px 0;
}

.slide--crm .slide__title {
  font-size: 52px;
  color: var(--ezyaa-white);
}

/* Stage */
.slide__crm-stage {
  position: absolute;
  top: 160px;
  left: 0;
  right: 0;
  bottom: 0;
}

/* --- Contact Card (links) --- */
.slide__crm-card {
  position: absolute;
  left: 240px;
  top: 50px;
  width: 360px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 22px;
  padding: 30px 28px;
  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  opacity: 0;
}

.slide--active .slide__crm-card {
  animation: scaleReveal 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.2s both;
}

/* Avatar – Profilbild */
.slide__crm-avatar {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  overflow: hidden;
  margin-bottom: 10px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  border: 3px solid #fff;
}

.slide__crm-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Name */
.slide__crm-name {
  font-size: 18px;
  font-weight: 900;
  color: var(--ezyaa-raisin);
  margin-bottom: 6px;
}

/* Tags */
.slide__crm-tags {
  display: flex;
  gap: 6px;
  margin-bottom: 14px;
}

.slide__crm-tag {
  padding: 3px 10px;
  border-radius: 9999px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: rgba(29, 155, 246, 0.1);
  color: #1d9bf6;
}

.slide__crm-tag:nth-child(2) {
  background: rgba(212, 170, 252, 0.15);
  color: #7c3aed;
}

/* Fields */
.slide__crm-fields {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 16px;
}

.slide__crm-field {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  font-size: 11px;
}

.slide__crm-field:last-child {
  border-bottom: none;
}

.slide__crm-field-label {
  color: var(--color-text-secondary);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 10px;
}

.slide__crm-field-val {
  color: var(--ezyaa-raisin);
  font-weight: 400;
}

/* Campaign Section */
.slide__crm-campaign {
  width: 100%;
  background: rgba(29, 155, 246, 0.06);
  border-radius: 14px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.slide__crm-campaign-head {
  display: flex;
  align-items: center;
  gap: 8px;
}

.slide__crm-campaign-ico {
  font-size: 18px;
}

.slide__crm-campaign-label {
  font-size: 13px;
  font-weight: 700;
  color: var(--ezyaa-raisin);
}

.slide__crm-campaign-btn {
  width: 100%;
  padding: 10px;
  border-radius: 10px;
  background: #1d9bf6;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  box-shadow: 0 4px 16px rgba(29, 155, 246, 0.25);
}

.slide--active .slide__crm-campaign-btn {
  animation: crmBtnGlow 1.2s ease-in-out 2s 2, crmBtnPress 0.35s cubic-bezier(0.22, 1, 0.36, 1) 3.2s both;
}

/* --- Paper Plane (fliegt mit Bogen + Rotation von Card zu Phone) --- */
.slide__crm-plane {
  position: absolute;
  left: 570px;
  top: 280px;
  width: 52px;
  height: 52px;
  opacity: 0;
  z-index: 5;
}

.slide__crm-plane svg {
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 4px 12px rgba(29, 155, 246, 0.4));
}

.slide--active .slide__crm-plane {
  animation: crmPlaneFly 3.0s linear 3.4s both;
}

/* --- Smartphone (rechts, hell) --- */
.slide__crm-phone-wrap {
  position: absolute;
  left: 780px;
  top: 20px;
  opacity: 0;
}

.slide--active .slide__crm-phone-wrap {
  animation: scaleReveal 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.5s both;
}

.slide__crm-phone {
  width: 280px;
  height: 500px;
  background: #1a1a1a;
  border-radius: 42px;
  border: 3px solid rgba(255, 255, 255, 0.12);
  position: relative;
  overflow: hidden;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.06) inset;
}

.slide--active .slide__crm-phone {
  animation: crmVibrate 0.35s ease 6.5s 1, crmVibrate 0.35s ease 7.1s 1, crmVibrate 0.35s ease 7.7s 1;
}

/* Notch */
.slide__crm-phone-notch {
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: 100px;
  height: 26px;
  background: #1a1a1a;
  border-radius: 0 0 16px 16px;
  z-index: 5;
}

/* Screen – hell, WhatsApp-Light-Theme */
.slide__crm-phone-screen {
  position: absolute;
  top: 5px;
  left: 5px;
  right: 5px;
  bottom: 5px;
  border-radius: 38px;
  background: #ece5dd;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  opacity: 0;
}

.slide--active .slide__crm-phone-screen {
  animation: crmScreenOn 0.5s cubic-bezier(0.22, 1, 0.36, 1) 6.3s forwards;
}

/* Phone Status Bar (minimal, kein WhatsApp-Grün) */
.slide__crm-phone-wa-bar {
  background: #f0f2f5;
  padding: 42px 16px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--ezyaa-raisin);
  font-size: 15px;
  font-weight: 700;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.slide__crm-phone-wa-bar svg {
  flex-shrink: 0;
}

/* Chat Area */
.slide__crm-phone-chat {
  flex: 1;
  padding: 18px 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow: hidden;
}

/* Notification Bubbles – helles Theme */
.slide__crm-notif {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: #fff;
  border-radius: 2px 14px 14px 14px;
  padding: 12px 14px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  opacity: 0;
}

.slide--active .slide__crm-notif {
  animation: crmNotifIn 0.5s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.slide__crm-notif-ico {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  border-radius: 50%;
  background: #25D366;
  display: flex;
  align-items: center;
  justify-content: center;
}

.slide__crm-notif-ico svg {
  width: 16px;
  height: 16px;
}

.slide__crm-notif-body {
  flex: 1;
  min-width: 0;
}

.slide__crm-notif-name {
  font-size: 11px;
  font-weight: 700;
  color: #075e54;
  margin-bottom: 3px;
}

.slide__crm-notif-text {
  font-size: 12px;
  color: var(--ezyaa-raisin);
  line-height: 1.4;
}

/* --- Slide Type: Case Study (EXICE Card + Umsetzungs-Blöcke) --- */

.slide--case-study {
  text-align: left;
  padding: 40px 80px 0;
}

.slide--case-study .slide__title {
  font-size: 52px;
  color: var(--ezyaa-white);
}

/* Stage – zwei Spalten */
.slide__cs-stage {
  position: absolute;
  top: 130px;
  left: 80px;
  right: 80px;
  bottom: 24px;
  display: flex;
  align-items: flex-start;
  gap: 48px;
}

/* --- EXICE Card (links) --- */
.slide__cs-card {
  width: 320px;
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(40, 38, 44, 0.08);
  border-radius: 20px;
  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  opacity: 0;
  align-self: center;
}

.slide--active .slide__cs-card {
  animation: scaleReveal 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.2s both;
}

.slide__cs-card-photo {
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.slide__cs-card-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 22px 28px;
}

.slide__cs-card-logo {
  height: 48px;
  width: auto;
  object-fit: contain;
}

.slide__cs-card-stats {
  font-weight: 600;
  font-size: 14px;
  color: rgba(40, 38, 44, 0.5);
  text-align: center;
}

/* --- ezyaa Product Box (rechts, case-study) – 5 Premium Pills --- */
.slide__csb-wrap {
  flex: 1;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* ezyaa Logo – zentriert über den Pills */
.slide__csb-logo {
  text-align: center;
  opacity: 0;
}

.slide__csb-logo img {
  height: 60px;
  width: auto;
  display: inline-block;
}

.slide--active .slide__csb-logo {
  animation: fadeInUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.35s both;
}

/* Pills-Container */
.slide__csb-pills-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

/* Einzelne Pill – Glassmorphic white, alle gleich hoch */
.slide__csb-pill {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(8px);
  border-radius: 14px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04), 0 1px 3px rgba(0, 0, 0, 0.02);
  flex: 1 1 0;
  min-height: 0;
  display: flex;
  align-items: center;
  overflow: hidden;
  opacity: 0;
}

/* Zigzag-Richtung */
.slide__csb-pill--left {
  flex-direction: row;
}
.slide__csb-pill--right {
  flex-direction: row-reverse;
}

/* Zigzag-Animationen */
.slide--active .slide__csb-pill--left {
  animation: slideInLeft 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.slide--active .slide__csb-pill--right {
  animation: slideInRight 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* Visual-Area (farbige Seite der Pill) – 30% Breite */
.slide__csb-pill-vis {
  width: 30%;
  flex-shrink: 0;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
}

/* Farbige BG-Tönungen */
.slide__csb-pill-vis--blue { background: rgba(29, 155, 246, 0.06); }
.slide__csb-pill-vis--majorelle { background: rgba(79, 70, 229, 0.06); }
.slide__csb-pill-vis--mint { background: rgba(88, 187, 130, 0.06); }

/* Border-Radius je nach Seite */
.slide__csb-pill--left .slide__csb-pill-vis {
  border-radius: 16px 0 0 16px;
}
.slide__csb-pill--right .slide__csb-pill-vis {
  border-radius: 0 16px 16px 0;
}

/* Text-Area */
.slide__csb-pill-text {
  flex: 1;
  padding: 0 20px;
  font-size: 14px;
  font-weight: 800;
  color: var(--ezyaa-raisin);
  display: flex;
  align-items: center;
  line-height: 1.3;
}

/* --- Mini-Visual-Elemente in den Pills --- */

/* Channel-Kreise (Pill 1) */
.slide__csb-mini-channels {
  display: flex;
  gap: 4px;
}

.slide__csb-mini-ch {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
}

.slide__csb-mini-ch svg {
  width: 14px;
  height: 14px;
}

.slide--active .slide__csb-mini-ch {
  animation: statPop 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* KI-Hub (Legacy – nicht mehr in Pill 2 genutzt) */
.slide__csb-mini-hub {
  width: 32px;
  height: 32px;
  background: var(--ezyaa-majorelle);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(79, 70, 229, 0.3);
  opacity: 0;
}

.slide--active .slide__csb-mini-hub {
  animation: statPop 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.slide__csb-mini-hub svg {
  width: 16px;
  height: 16px;
}

/* Connector-Dots */
.slide__csb-mini-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
}

.slide__csb-mini-dot svg {
  width: 6px;
  height: 6px;
}

.slide--active .slide__csb-mini-dot {
  animation: statPop 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* Connector-Linien */
.slide__csb-mini-line {
  width: 16px;
  height: 2px;
  border-radius: 1px;
  opacity: 0;
}

.slide--active .slide__csb-mini-line {
  animation: fadeInUp 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* Flow-Container (horizontal zentriert) */
.slide__csb-mini-flow {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
}

/* Software-Tags (Pill 4) */
.slide__csb-mini-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  justify-content: center;
}

.slide__csb-mini-tag {
  font-size: 10px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 20px;
  background: rgba(79, 70, 229, 0.09);
  color: var(--ezyaa-majorelle);
  opacity: 0;
}

.slide--active .slide__csb-mini-tag {
  animation: statPop 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* Mini-Phone (Pill 5) */
.slide__csb-mini-phone {
  width: 36px;
  height: 56px;
  border: 2px solid #1a1a1a;
  border-radius: 8px;
  overflow: hidden;
  background: #f8f8f8;
  opacity: 0;
}

.slide--active .slide__csb-mini-phone {
  animation: statPop 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.slide__csb-mini-phone-bar {
  width: 100%;
  height: 10px;
  background: #25D366;
}

.slide__csb-mini-notif {
  width: 70%;
  height: 6px;
  background: #fff;
  border-radius: 3px;
  margin: 3px auto;
  opacity: 0;
}

.slide--active .slide__csb-mini-notif {
  animation: fadeInUp 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* Journey-Labels (neben Phone) */
.slide__csb-mini-labels {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.slide__csb-mini-labels span {
  font-size: 8px;
  font-weight: 700;
  color: var(--ezyaa-light-blue);
  opacity: 0;
}

.slide--active .slide__csb-mini-labels span {
  animation: fadeInUp 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* KI-Robot (Pill 2 – identisch mit Slide 5 Symbol) */
.slide__csb-ki-robot {
  width: 42px;
  height: 42px;
  background: var(--ezyaa-majorelle);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(79, 70, 229, 0.35);
  opacity: 0;
}
.slide__csb-ki-robot svg {
  width: 26px;
  height: 26px;
}
.slide--active .slide__csb-ki-robot {
  animation: statPop 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* Routing-Visual (Pill 3 – wie Slide 6 Human Handover) */
.slide__csb-mini-routing {
  display: flex;
  align-items: center;
  gap: 4px;
  opacity: 0;
}
.slide--active .slide__csb-mini-routing {
  animation: fadeInUp 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.slide__csb-mini-routing-hub {
  width: 26px;
  height: 26px;
  background: var(--ezyaa-majorelle);
  border-radius: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(79, 70, 229, 0.3);
  flex-shrink: 0;
}
.slide__csb-mini-routing-hub svg {
  width: 15px;
  height: 15px;
}
.slide__csb-mini-routing-line {
  width: 40px;
  height: 14px;
  display: block;
  flex-shrink: 0;
}
.slide__csb-mini-routing-line path {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}
.slide--active .slide__csb-mini-routing-line path {
  animation: routingDraw 0.8s cubic-bezier(0.22, 1, 0.36, 1) 1.1s both;
}
@keyframes routingDraw {
  to { stroke-dashoffset: 0; }
}
.slide__csb-mini-routing-team {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 9px;
  font-weight: 700;
  color: var(--ezyaa-majorelle);
  background: rgba(79, 70, 229, 0.08);
  padding: 3px 8px;
  border-radius: 6px;
  flex-shrink: 0;
}
.slide__csb-mini-routing-badge {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--ezyaa-majorelle);
  color: #fff;
  font-size: 8px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* WhatsApp Phone (Pill 5 – aus Slide 7 CRM, oben abgeschnitten) */
.slide__csb-mini-wa-phone {
  width: 110px;
  height: 100%;
  border: 2px solid #1a1a1a;
  border-radius: 14px 14px 0 0;
  overflow: hidden;
  background: #ededed;
  display: flex;
  flex-direction: column;
  opacity: 0;
  align-self: flex-end;
}
.slide--active .slide__csb-mini-wa-phone {
  animation: statPop 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.slide__csb-mini-wa-bar {
  width: 100%;
  height: 20px;
  background: #075e54;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0 6px;
  flex-shrink: 0;
}
.slide__csb-mini-wa-bar svg {
  width: 11px;
  height: 11px;
  fill: #25D366;
}
.slide__csb-mini-wa-bar-title {
  font-size: 8px;
  font-weight: 700;
  color: #fff;
}
.slide__csb-mini-wa-msg {
  background: #dcf8c6;
  border-radius: 6px;
  margin: 5px 5px 0;
  padding: 5px 8px;
  opacity: 0;
  box-shadow: 0 1px 2px rgba(0,0,0,0.08);
}
.slide--active .slide__csb-mini-wa-msg {
  animation: fadeInUp 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.slide__csb-mini-wa-name {
  font-size: 8px;
  font-weight: 700;
  color: #075e54;
  line-height: 1.3;
}
.slide__csb-mini-wa-text {
  font-size: 10px;
  font-weight: 500;
  color: #111;
  line-height: 1.4;
}

/* --- Slide Type: Solution (Kanäle → ezyaa → Inbox) --- */

.slide--solution {
  text-align: left;
  padding: 55px 80px 0;
}

.slide--solution .slide__title {
  font-size: 52px;
  color: var(--ezyaa-white);
}

/* Stage – absolut positioniert, zentriert unter dem Header bis Slide-Unterkante */
.slide__sol-stage {
  position: absolute;
  top: 180px;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  z-index: 1;
}

/* --- Kanal-Card (links, weiße Box mit Shadow) --- */
.slide__sol-channels {
  width: 280px;
  background: var(--ezyaa-white);
  border-radius: 20px;
  box-shadow: 0 8px 48px rgba(0, 0, 0, 0.1);
  padding: 10px;
  flex-shrink: 0;
  opacity: 0;
}

.slide--active .slide__sol-channels {
  animation: scaleReveal 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.2s both;
}

.slide__sol-ch {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 11px 16px;
  border-radius: 14px;
  opacity: 0;
}

.slide--active .slide__sol-ch {
  animation: fadeInUp 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.slide__sol-ch-ico {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.slide__sol-ch-ico svg {
  width: 19px;
  height: 19px;
}

.slide__sol-ch span {
  font-size: 18px;
  font-weight: 700;
  color: var(--ezyaa-raisin);
}

/* --- ezyaa Hub (Mitte) --- */
.slide__sol-hub {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.slide__sol-hub-logo {
  width: 88px;
  height: 88px;
  object-fit: contain;
  opacity: 0;
}

.slide--active .slide__sol-hub-logo {
  animation: scaleReveal 0.7s cubic-bezier(0.22, 1, 0.36, 1) 1.2s both;
}

.slide__sol-hub-line {
  height: 3px;
  width: 52px;
  border-radius: 2px;
  transform-origin: left center;
  transform: scaleX(0);
}

.slide__sol-hub-line--left {
  background: linear-gradient(to right, rgba(40, 38, 44, 0.06), rgba(29, 155, 246, 0.35));
}

.slide__sol-hub-line--right {
  background: linear-gradient(to right, rgba(29, 155, 246, 0.35), rgba(40, 38, 44, 0.06));
}

.slide--active .slide__sol-hub-line--left {
  animation: drawLine 0.4s cubic-bezier(0.22, 1, 0.36, 1) 1s forwards;
}

.slide--active .slide__sol-hub-line--right {
  animation: drawLine 0.4s cubic-bezier(0.22, 1, 0.36, 1) 1.8s forwards;
}

/* --- Inbox-Card (rechts, ragt unten aus dem Slide raus) --- */
.slide__sol-inbox {
  width: 340px;
  background: var(--ezyaa-white);
  border-radius: 20px 20px 0 0;
  box-shadow: 0 8px 48px rgba(0, 0, 0, 0.1);
  overflow: visible;
  flex-shrink: 0;
  opacity: 0;
  align-self: flex-start;
  margin-top: 20px;
}

.slide--active .slide__sol-inbox {
  animation: scaleReveal 0.7s cubic-bezier(0.22, 1, 0.36, 1) 2s both;
}

.slide__sol-inbox-head {
  padding: 16px 20px 12px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.slide__sol-inbox-title {
  font-size: 17px;
  font-weight: 900;
  color: var(--ezyaa-raisin);
}

.slide__sol-inbox-count {
  font-size: 11px;
  font-weight: 700;
  background: var(--ezyaa-light-blue);
  color: white;
  min-width: 24px;
  height: 24px;
  border-radius: 12px;
  padding: 0 7px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* --- Inbox-Nachrichten --- */
.slide__sol-msg {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
  opacity: 0;
  background: var(--ezyaa-white);
}

.slide--active .slide__sol-msg {
  animation: fadeInUp 0.3s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.slide__sol-msg-av {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.slide__sol-msg-av svg {
  width: 17px;
  height: 17px;
}

.slide__sol-msg-body {
  flex: 1;
  min-width: 0;
}

.slide__sol-msg-name {
  font-size: 13px;
  font-weight: 700;
  color: var(--ezyaa-raisin);
}

.slide__sol-msg-text {
  font-size: 11px;
  color: rgba(40, 38, 44, 0.45);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.slide__sol-msg-time {
  font-size: 9px;
  color: rgba(40, 38, 44, 0.25);
  flex-shrink: 0;
  align-self: flex-start;
  padding-top: 3px;
}

/* --- Slide Type: Demo --- */

.slide__demo-qr {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin: 24px auto 0;
}

.slide__demo-qr-url {
  font-size: 14px;
  font-weight: 500;
  color: rgba(40, 38, 44, 0.55);
  font-family: 'SF Mono', 'Fira Code', monospace;
}

/* --- Slide Type: Closing --- */

.slide--closing {
  text-align: center;
  align-items: center;
}

.slide--closing .slide__title {
  font-size: 48px;
  text-align: center;
}

.slide__cta {
  display: inline-block;
  margin-top: 40px;
  padding: 16px 48px;
  background: var(--ezyaa-light-blue);
  color: var(--ezyaa-white);
  font-weight: 700;
  font-size: 20px;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-primary);
}

.slide__closing-sub {
  margin-top: 24px;
  font-size: 18px;
  color: rgba(40, 38, 44, 0.45);
}

/* Closing slide layout with QR */
.slide__closing-layout {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 80px;
  width: 100%;
}

.slide__closing-left {
  flex: 0 1 auto;
  text-align: center;
}

.slide__closing-qr {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.slide__closing-qr-code {
  background: #fff;
  padding: 20px;
  border-radius: 20px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);
}

.slide__closing-qr-code svg {
  display: block;
  width: 200px;
  height: 200px;
}

.slide__closing-qr-label {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.02em;
}

.slide__closing-qr-url {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
  font-family: 'SF Mono', 'Fira Code', monospace;
}

/* --- Slide Type: Offer --- */

.slide--offer {
  text-align: left;
  padding: 40px 80px 32px;
  background: #fff;
}

/* --- Offer: Twin Cards Layout (Folgetermin + Angebot) --- */

.slide__offer-layout {
  display: flex;
  gap: 28px;
  margin: 16px auto 0;
  justify-content: center;
  align-items: stretch;
  position: relative;
  z-index: 1;
  flex: 1;
  min-height: 0;
}

/* --- Karten-Basis --- */

.slide__offer-card {
  display: flex;
  flex-direction: column;
  flex: 1;
  border-radius: 20px;
  padding: 28px 28px 22px;
  position: relative;
  overflow: visible;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.07);
}

/* Folgetermin-Karte (Mint-Akzent) */
.slide__offer-card--followup {
  background: #fff;
  border: 2px solid var(--ezyaa-mint);
}

/* Angebots-Karte (Light-Blue Premium) */
.slide__offer-card--angebot {
  background: #fff;
  border: 2px solid var(--ezyaa-light-blue);
}

.slide__offer-card--angebot .slide__offer-card-header {
  background: var(--ezyaa-raisin);
  border-radius: 12px;
  padding: 12px 16px;
  justify-content: center;
}

/* --- Karten-Header --- */

.slide__offer-card-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}

.slide__offer-card-icon {
  width: 22px;
  height: 22px;
  color: var(--ezyaa-mint);
  flex-shrink: 0;
}

.slide__offer-card-label {
  font-size: 18px;
  font-weight: 800;
  color: var(--ezyaa-raisin);
}

/* --- Highlight-Box (kostenlos & unverbindlich) --- */

.slide__offer-card-highlight {
  padding: 10px 16px;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 800;
  margin-bottom: 16px;
  text-align: center;
}

.slide__offer-card-highlight--mint {
  background: color-mix(in srgb, var(--ezyaa-mint) 10%, #fff);
  color: var(--ezyaa-mint);
}

/* --- Feature-Liste (beide Karten) --- */

.slide__offer-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}

.slide__offer-feature {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ezyaa-raisin);
  line-height: 1.4;
}

.slide__offer-check {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  margin-top: 1px;
}

.slide__offer-card--followup .slide__offer-check {
  color: var(--ezyaa-mint);
}

.slide__offer-card--angebot .slide__offer-check {
  color: var(--ezyaa-light-blue);
}

/* --- "kostenlos & unverbindlich" Hinweis --- */

.slide__offer-card-free-note {
  margin-top: auto;
  padding-top: 10px;
  font-size: 12px;
  font-weight: 600;
  text-align: center;
  color: #888;
}

/* --- Karten-Footer (CTA) --- */

.slide__offer-card-footer {
  padding-top: 14px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  font-size: 14px;
  font-weight: 800;
  text-align: center;
}

.slide__offer-card-footer--mint {
  color: var(--ezyaa-mint);
}

.slide__offer-card-footer--btn {
  background: var(--ezyaa-mint);
  color: #fff;
  border: none;
  border-top: none;
  border-radius: 12px;
  padding: 12px 16px;
  margin-top: 8px;
  font-size: 14px;
  font-weight: 800;
}

/* Tailormade-Karte (Majorelle/Lila-Akzent) */
.slide__offer-card--tailormade {
  background: #fff;
  border: 2px solid var(--ezyaa-majorelle);
}

.slide__offer-card--tailormade .slide__offer-check {
  color: var(--ezyaa-majorelle);
}

.slide__offer-card-icon--majorelle {
  color: var(--ezyaa-majorelle) !important;
}

.slide__offer-tm-sub {
  font-size: 11px;
  font-weight: 700;
  color: var(--ezyaa-majorelle);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 10px;
  opacity: 0.7;
}

.slide__offer-card-footer--majorelle {
  background: var(--ezyaa-majorelle);
  color: #fff;
  border: none;
  border-top: none;
  border-radius: 12px;
  padding: 12px 16px;
  margin-top: auto;
  font-size: 14px;
  font-weight: 800;
}

/* --- Operator-Logo in Angebotskarte --- */

.slide__offer-op-logo {
  max-height: 36px;
  max-width: 160px;
  width: auto;
  object-fit: contain;
}

.slide__offer-op-logo--darkbg {
  background: rgba(0, 0, 0, 0.45);
  padding: 4px 10px;
  border-radius: 6px;
}

.slide__offer-op-name {
  font-size: 16px;
  font-weight: 800;
  color: var(--ezyaa-raisin);
}

/* --- Badge (Nur hier abschließbar) --- */

.slide__offer-badge {
  position: absolute;
  top: -12px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  padding: 0;
  background: none;
  box-shadow: none;
  border-radius: 0;
  z-index: 2;
}
.slide__offer-badge span {
  font-size: 9px;
  font-weight: 800;
  color: #fff;
  background: var(--ezyaa-light-blue);
  padding: 5px 16px;
  border-radius: 9999px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: 0 3px 12px rgba(29, 155, 246, 0.35);
}

/* --- Preis-Block (unten in Angebotskarte) --- */

.slide__offer-price-bottom {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid rgba(29, 155, 246, 0.12);
  text-align: center;
}

.slide__offer-price-trial {
  font-size: 13px;
  font-weight: 700;
  color: var(--ezyaa-light-blue);
  margin-bottom: 10px;
}

.slide__offer-setup-struck {
  font-size: 14px;
  font-weight: 700;
  color: rgba(40, 38, 44, 0.55);
  margin-bottom: 10px;
}

.slide__offer-setup-struck s {
  color: var(--ezyaa-raisin);
  text-decoration: line-through;
  text-decoration-color: #e74c3c;
  text-decoration-thickness: 2px;
}

.slide__offer-price-value {
  font-size: 24px;
  font-weight: 900;
  color: var(--ezyaa-light-blue);
  margin-bottom: 6px;
}

.slide__offer-price-after {
  font-size: 10px;
  font-weight: 500;
  color: rgba(40, 38, 44, 0.4);
  line-height: 1.4;
}

/* ============================================================
   Slide Type: Offer Pricing (Normalpreis – Folgetermin | Tiers | Tailormade)
   ============================================================ */

.slide--offer-pricing {
  text-align: left;
  padding: 40px 28px 32px;
  background: #fff;
}

.slide--offer-pricing .slide__offer-layout {
  gap: 20px;
  width: 92%;
  margin-left: auto;
  margin-right: auto;
}

/* Mittlere Spalte: kein Rahmen, etwas breiter, Logo ragt nach oben raus */
.slide__offer-card--tiers {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  flex: 1;
  margin-top: -50px;
  align-self: flex-start;
}

.slide__offer-card--tiers .slide__offer-card-header {
  background: transparent;
  border-radius: 12px;
  padding: 10px 16px;
  justify-content: center;
  margin-bottom: 10px;
  min-height: 44px;
  box-sizing: border-box;
}

.slide__tier-stack {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}

/* Tier-Stack soll gleich hoch wie die Nachbar-Karten enden */
.slide--offer-pricing .slide__offer-layout {
  align-items: stretch;
}

.slide--offer-pricing .slide__offer-card--followup,
.slide--offer-pricing .slide__offer-card--tailormade {
  align-self: stretch;
  flex: 0.75;
}

.slide__tier-box {
  display: flex;
  flex-direction: column;
  border: 2px solid var(--ezyaa-light-blue);
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 2px 12px rgba(29, 155, 246, 0.08);
}

.slide__tier-box-top {
  padding: 10px 14px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.slide__tier-box-head {
  display: flex;
  align-items: center;
  gap: 7px;
}

.slide__tier-box-icon {
  width: 18px;
  height: 18px;
  color: var(--ezyaa-light-blue);
  flex-shrink: 0;
}

.slide__tier-box-label {
  font-size: 18px;
  font-weight: 800;
  color: var(--ezyaa-raisin);
}

.slide__tier-box-feats {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.slide__tier-feat {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ezyaa-raisin);
  line-height: 1.4;
}

.slide__tier-feat-check {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  margin-top: 1px;
  color: var(--ezyaa-light-blue);
}

.slide__tier-box-price {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 6px;
  padding: 7px 14px;
  background: rgba(29, 155, 246, 0.06);
  border-top: 1.5px solid rgba(29, 155, 246, 0.15);
}

.slide__tier-box-price-value {
  font-size: 17px;
  font-weight: 900;
  color: var(--ezyaa-light-blue);
  white-space: nowrap;
}

.slide__tier-box-price-period {
  font-size: 9px;
  font-weight: 600;
  color: rgba(40, 38, 44, 0.4);
  white-space: nowrap;
}

/* ============================================================
   Slide Type: Offer Compare (MTT Exklusiv – schwarz / #ffcc00)
   ============================================================ */

.slide--offer-compare {
  text-align: left;
  padding: 14px 20px 10px;
  background: #fff;
}

.slide--offer-compare .slide__header {
  margin-bottom: 0;
}

.slide--offer-compare .slide__header {
  position: absolute;
  top: 14px;
  left: 20px;
  z-index: 2;
}

.slide--offer-compare .slide__title {
  font-size: 30px;
}

.slide__compare-layout {
  display: flex;
  justify-content: center;
  margin: 50px auto 0;
  width: 100%;
}

.slide__compare-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 500px;
  border-radius: 22px;
  padding: 24px 32px 16px;
  position: relative;
}

.slide__compare-card--mtt {
  background: var(--ezyaa-raisin);
  border: 2px solid #ffcc00;
  box-shadow: 0 8px 40px rgba(255, 204, 0, 0.15);
}

.slide__compare-card-header {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 10px;
}

.slide__compare-op-logo {
  max-height: 32px;
  max-width: 150px;
  width: auto;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.slide__compare-op-logo--normal {
  filter: none;
}

.slide__compare-op-name {
  font-size: 16px;
  font-weight: 800;
  color: #fff;
}

.slide__compare-badge {
  position: absolute;
  top: -12px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  z-index: 2;
}

.slide__compare-badge span {
  font-size: 9px;
  font-weight: 800;
  color: var(--ezyaa-raisin);
  background: #ffcc00;
  padding: 5px 16px;
  border-radius: 9999px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: 0 3px 12px rgba(255, 204, 0, 0.35);
}

/* Tier-Stack innerhalb der MTT-Karte */
.slide__compare-tier-stack {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.slide__compare-tier-box {
  display: flex;
  flex-direction: column;
  border: 1.5px solid rgba(255, 204, 0, 0.3);
  border-radius: 14px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.06);
}

.slide__compare-tier-box-top {
  padding: 8px 14px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.slide__compare-tier-box-head {
  display: flex;
  align-items: center;
  gap: 7px;
}

.slide__compare-tier-box-icon {
  width: 16px;
  height: 16px;
  color: #ffcc00;
  flex-shrink: 0;
}

.slide__compare-tier-box-label {
  font-size: 14px;
  font-weight: 800;
  color: #fff;
}

.slide__compare-tier-box-feats {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.slide__tier-feat--mtt {
  color: rgba(255, 255, 255, 0.7) !important;
}

.slide__tier-feat-check--mtt {
  color: #ffcc00 !important;
}

.slide__compare-tier-box-price {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 10px;
  padding: 6px 14px;
  background: rgba(255, 204, 0, 0.08);
  border-top: 1px solid rgba(255, 204, 0, 0.15);
}

.slide__compare-tier-old {
  font-size: 15px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.35);
  text-decoration: line-through;
  text-decoration-color: #e74c3c;
  text-decoration-thickness: 2px;
}

.slide__compare-tier-new {
  font-size: 20px;
  font-weight: 900;
  color: #ffcc00;
}

.slide__compare-tier-period {
  font-size: 10px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.4);
}

/* Trial-Pill mit Schutzschild */
.slide__compare-trial {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 8px;
  padding: 7px 20px;
  background: rgba(255, 204, 0, 0.12);
  border: 1.5px solid rgba(255, 204, 0, 0.3);
  border-radius: 9999px;
}

.slide__compare-trial-icon {
  width: 18px;
  height: 18px;
  color: #ffcc00;
  flex-shrink: 0;
}

.slide__compare-trial span {
  font-size: 13px;
  font-weight: 800;
  color: #ffcc00;
}

/* --- Slide Type: Timeline --- */

.slide--timeline {
  text-align: left;
  padding: 55px 80px 45px;
  justify-content: flex-start;
}

.slide--timeline .slide__tag {
  color: rgba(255, 255, 255, 0.85);
  letter-spacing: 4px;
}

.slide--timeline .slide__title {
  font-size: 52px;
  color: var(--ezyaa-white);
  margin-bottom: 0;
}

/* Timeline Container – 350% breit, zentriert unter Header */
.slide__timeline {
  position: absolute;
  top: 250px;
  left: 0;
  height: 340px;
  display: flex;
  align-items: center;
  width: 350%;
  padding: 0 100px;
  will-change: transform;
}

/* Fade-Overlay: weiche Kanten links + rechts */
.slide--timeline::after {
  content: '';
  position: absolute;
  top: 220px;
  left: 0;
  right: 0;
  height: 400px;
  background: linear-gradient(to right,
    white 0%, transparent 10%,
    transparent 90%, white 100%);
  pointer-events: none;
  z-index: 3;
}

/* Horizontal Track – durchgehende Linie, zentriert im Container */
.slide__timeline-track {
  position: absolute;
  top: 50%;
  left: 80px;
  right: 80px;
  height: 3px;
  background: rgba(40, 38, 44, 0.12);
  border-radius: 2px;
  transform: translateY(-50%);
}

/* Jedes Jahr – Basis-Element */
.slide__timeline-point {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  flex: 1 0 0;
  min-width: 0;
}

/* Jahreszahl – dezent bei regulären Jahren */
.slide__timeline-year {
  font-weight: 700;
  font-size: 13px;
  color: rgba(40, 38, 44, 0.25);
  margin-bottom: 10px;
  line-height: 1;
  white-space: nowrap;
}

/* Dot – Tick für reguläre Jahre */
.slide__timeline-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(40, 38, 44, 0.15);
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}

/* --- Major-Jahre (Tag-Milestones) – deutlich hervorgehoben --- */
.slide__timeline-point--major .slide__timeline-year {
  font-weight: 900;
  font-size: 28px;
  color: var(--ezyaa-raisin);
  margin-bottom: 14px;
}

.slide__timeline-point--major .slide__timeline-dot {
  width: 20px;
  height: 20px;
  background: var(--blob-color, #1d9bf6);
  box-shadow: 0 3px 16px rgba(29, 155, 246, 0.35);
}

/* --- Tag-Element – Große zentrierte Glassmorphism-Card mit Connector --- */
.slide__timeline-tag {
  position: absolute;
  bottom: calc(100% + 60px);
  left: 50%;
  transform: translateX(-50%);
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(40, 38, 44, 0.08);
  border-radius: 16px;
  padding: 24px 36px;
  box-shadow: 0 8px 36px rgba(0, 0, 0, 0.12);
  text-align: center;
  white-space: nowrap;
  opacity: 0;
  z-index: 4;
}

/* Connector-Linie vom Tag-Card zum Dot */
.slide__timeline-tag::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  width: 2px;
  height: 60px;
  background: linear-gradient(to bottom, rgba(29,155,246,0.3), rgba(29,155,246,0.05));
  transform: translateX(-50%);
}

.slide__timeline-tag-title {
  font-weight: 900;
  font-size: 26px;
  color: var(--ezyaa-raisin);
  line-height: 1.3;
}

.slide__timeline-tag-sub {
  font-weight: 400;
  font-size: 17px;
  color: rgba(40, 38, 44, 0.5);
  line-height: 1.4;
  margin-top: 6px;
}

/* --- Pop-Badge – kleines Pill oberhalb des Punkts --- */
.slide__timeline-pop {
  position: absolute;
  bottom: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%);
  background: var(--ezyaa-mint);
  color: white;
  font-weight: 700;
  font-size: 11px;
  line-height: 1.3;
  padding: 4px 10px;
  border-radius: 9999px;
  white-space: nowrap;
  text-align: center;
  opacity: 0;
  z-index: 2;
}

/* Pop-Highlight (z.B. Franchise-System) */
.slide__timeline-pop--highlight {
  background: var(--ezyaa-majorelle);
  font-size: 12px;
  padding: 5px 14px;
  box-shadow: 0 2px 12px rgba(79, 70, 229, 0.3);
}

/* Pop-Jahre – Dot etwas hervorgehoben */
.slide__timeline-point--pop .slide__timeline-dot {
  width: 12px;
  height: 12px;
  background: var(--ezyaa-mint);
}

.slide__timeline-point--pop .slide__timeline-year {
  font-weight: 700;
  font-size: 12px;
  color: rgba(40, 38, 44, 0.35);
}

/* --- Aktuelles Jahr (2026) – besonders hervorgehoben --- */
.slide__timeline-point--current .slide__timeline-year {
  font-weight: 900;
  font-size: 34px;
  color: var(--ezyaa-light-blue);
  margin-bottom: 14px;
}

.slide__timeline-point--current .slide__timeline-dot {
  width: 26px;
  height: 26px;
  background: var(--ezyaa-light-blue);
  box-shadow: 0 0 0 5px rgba(29, 155, 246, 0.15), 0 4px 20px rgba(29, 155, 246, 0.4);
}

/* --- Summary-Section – Logo-Cards zentriert auf dem Slide --- */
.slide__timeline-summary {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  gap: 40px;
  opacity: 0;
  z-index: 5;
}

.slide__timeline-summary-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(40, 38, 44, 0.08);
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  width: 340px;
  overflow: hidden;
}

.slide__timeline-summary-photo {
  width: 100%;
  height: 140px;
  object-fit: cover;
}

.slide__timeline-summary-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 20px 28px;
}

.slide__timeline-summary-logo {
  height: 56px;
  width: auto;
  object-fit: contain;
}

.slide__timeline-summary-stats {
  font-weight: 600;
  font-size: 16px;
  color: rgba(40, 38, 44, 0.55);
  text-align: center;
  line-height: 1.4;
  white-space: nowrap;
}

/* smileX Logo – Text + Signet Kombination (statt pixeliges JPG) */
.slide__timeline-smilex-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  height: 56px;
}

.slide__timeline-smilex-text {
  font-weight: 900;
  font-size: 46px;
  color: var(--ezyaa-raisin);
  line-height: 1;
}

.slide__timeline-smilex-signet {
  height: 46px;
  width: 46px;
  object-fit: contain;
  border-radius: 50%;
}

/* --- Background Variants --- */

.slide--bg-blue { background: var(--ezyaa-light-blue); }
.slide--bg-majorelle { background: var(--ezyaa-majorelle); }
.slide--bg-mint { background: rgba(88, 187, 130, 0.15); }
.slide--bg-mint-solid { background: var(--ezyaa-mint); }
.slide--bg-green { background: linear-gradient(155deg, #58bb82 0%, #3a9e63 50%, #2d8a53 100%); }

/* --- Welcome Slide (mint + white Halbkreis-Cutout) --- */

.slide--welcome.slide--bg-mint-solid {
  padding: 0 80px 60px;
  align-items: center;
  justify-content: flex-start;
}

/* Invisible spacer – pushes content below the 42% cutout (scales with slide height) */
.slide--welcome.slide--bg-mint-solid::before {
  content: '';
  flex: 0 0 50%;
}

.slide__cutout-top {
  position: absolute;
  top: 0;
  left: -10%;
  width: 120%;
  height: 42%;
  background: var(--ezyaa-white);
  border-radius: 0 0 50% 50% / 0 0 100% 100%;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.slide__cutout-top .slide__welcome-logo {
  height: 150px;
  opacity: 1;
  margin-bottom: 0;
}

/* --- Welcome Animations (Active Slide) --- */

.slide--active.slide--welcome .slide__cutout-top { animation: dropIn 1s cubic-bezier(0.22, 1, 0.36, 1) 0.05s both; }
.slide--active.slide--welcome .slide__cutout-top .slide__welcome-logo { animation: scaleReveal 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.3s both; }
.slide--active.slide--welcome .slide__greeting { animation: fadeInUp 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.55s both; }
.slide--active.slide--welcome .slide__contact-name { animation: fadeInUp 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.7s both; }
.slide--active.slide--welcome .slide__operator-wrap { animation: fadeInUp 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.9s both; }

/* (Group-specific highlight backgrounds entfernt – Blob ersetzt sie) */

/* (Group-specific tag colors entfernt – Tag ist weiß im Blob) */

/* (Group-specific highlight title gradients entfernt – Titel ist weiß im Blob) */

/* --- Decorative Items --- */

.slide__item {
  display: none;
}

/* Content elements above items */
.slide__tag,
.slide__title,
.slide__body,
.slide__welcome-logo,
.slide__greeting,
.slide__contact-name,
.slide__operator-wrap,
.slide__welcome-sub,
.slide__demo-qr,
.slide__cta,
.slide__closing-sub,
.slide__bullets,
.slide__steps,
.slide__stats,
.slide__timeline,
.slide__offer-layout {
  position: relative;
  z-index: 1;
}

/* --- Element Animations on Active Slide (Premium Spring) --- */

.slide--active .slide__tag { animation: fadeInUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.1s both; }
.slide--active .slide__title { animation: fadeInUp 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.2s both; }
.slide--active .slide__body { animation: fadeInUp 0.75s cubic-bezier(0.22, 1, 0.36, 1) 0.35s both; }
.slide--active .slide__welcome-logo { animation: scaleReveal 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.1s both; }
.slide--active .slide__cta { animation: fadeInUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.45s both; }
.slide--active .slide__closing-sub { animation: fadeInUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.6s both; }
.slide--active .slide__closing-qr { animation: scaleReveal 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.5s both; }
.slide--active .slide__item { animation: itemPop 0.8s cubic-bezier(0.22, 1, 0.36, 1) both; }

/* --- Demo Slide Animations --- */
.slide--active .slide__demo-qr { animation: scaleReveal 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.4s both; }

/* --- Offer Slide Animations (Twin Cards) --- */
.slide--active .slide__offer-card--followup { animation: fadeInUp 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.2s both; }
.slide--active .slide__offer-card--angebot { animation: fadeInUp 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.35s both; }
.slide--active .slide__offer-card--tailormade { animation: fadeInUp 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.5s both; }
.slide--active .slide__offer-feature { animation: fadeInUp 0.5s cubic-bezier(0.22, 1, 0.36, 1) both; }
.slide--active .slide__offer-badge { animation: dropIn 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.6s both; }
.slide--active .slide__offer-price-block { animation: scaleReveal 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.5s both; }

/* Tier-Stack Boxen (Normalpreis Mitte) */
.slide--active .slide__offer-card--tiers { animation: fadeInUp 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.35s both; }
.slide--active .slide__tier-box { animation: fadeInUp 0.6s cubic-bezier(0.22, 1, 0.36, 1) both; }

/* Vergleichs-Karte (MTT Exklusiv) */
.slide--active .slide__compare-card--mtt { animation: fadeInUp 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.2s both; }
.slide--active .slide__compare-tier-box { animation: fadeInUp 0.6s cubic-bezier(0.22, 1, 0.36, 1) both; }
.slide--active .slide__compare-badge { animation: dropIn 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.6s both; }
.slide--active .slide__compare-trial { animation: fadeInUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.7s both; }

/* --- Timeline Animations (Active Slide – scroll mit Holds, 40s) --- */
.slide--active .slide__timeline { animation: timelineScroll 40s cubic-bezier(0.25, 0.1, 0.25, 1) 0.5s both; }
.slide--active .slide__timeline-tag { animation: tagReveal 5s cubic-bezier(0.22, 1, 0.36, 1) both; }
.slide--active .slide__timeline-pop { animation: popBadge 0.4s cubic-bezier(0.22, 1, 0.36, 1) both; }
.slide--active .slide__timeline-summary { animation: summaryReveal 0.9s cubic-bezier(0.22, 1, 0.36, 1) both; }

/* --- Steps Layout --- */

.slide__steps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-top: 48px;
  position: relative;
  z-index: 1;
}

.slide__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  animation: statPop 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.slide__step-icon {
  width: 80px;
  height: 80px;
}

.slide__step-label {
  font-size: 16px;
  font-weight: 700;
  color: rgba(40, 38, 44, 0.75);
  text-align: center;
  max-width: 120px;
}

.slide__step-arrow {
  width: 40px;
  height: 40px;
  opacity: 0.3;
  animation: fadeInUp 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
  flex-shrink: 0;
}

/* --- Stats Layout --- */

.slide__stats {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 56px;
  margin-top: 48px;
  position: relative;
  z-index: 1;
}

.slide__stat {
  text-align: center;
  animation: statPop 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.slide__stat-value {
  font-weight: 900;
  font-size: 56px;
  line-height: 1;
  background: linear-gradient(135deg, var(--ezyaa-light-blue), var(--ezyaa-majorelle));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.slide__stat-label {
  font-size: 14px;
  font-weight: 600;
  color: rgba(40, 38, 44, 0.55);
  margin-top: 8px;
  max-width: 160px;
}

/* --- Horizontal Bar Chart (PWC-Style) --- */

.slide__bars {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
  max-width: 780px;
  margin: 40px auto 0;
  position: relative;
  z-index: 1;
}

.slide__bar-row {
  display: flex;
  align-items: center;
  gap: 20px;
  opacity: 0;
}

.slide--active .slide__bar-row {
  animation: fadeInUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.slide__bar-label {
  width: 160px;
  flex-shrink: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--ezyaa-raisin);
  text-align: right;
}

.slide__bar-track {
  flex: 1;
  height: 42px;
  background: rgba(40, 38, 44, 0.05);
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}

.slide__bar-fill {
  height: 100%;
  width: var(--bar-pct);
  border-radius: 10px;
  transform-origin: left center;
  transform: scaleX(0);
}

.slide--active .slide__bar-fill {
  animation: barGrow 1.2s cubic-bezier(0.22, 1, 0.36, 1) 0.5s both;
}

@keyframes barGrow {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

.slide__bar-value {
  width: 60px;
  flex-shrink: 0;
  font-size: 26px;
  font-weight: 900;
  color: var(--ezyaa-raisin);
}

.slide__bar-title {
  font-size: 16px;
  font-weight: 700;
  color: rgba(40, 38, 44, 0.6);
  text-align: center;
  margin-bottom: 4px;
}

.slide__bar-source {
  font-size: 12px;
  font-weight: 600;
  color: rgba(40, 38, 44, 0.35);
  text-align: center;
  margin-top: 8px;
  letter-spacing: 0.5px;
}

/* --- Pain-Split Layout (Argument links + Chat rechts) --- */
/* Slide behält Standard-Padding (80px) und Header-Blob.
   Bars sitzen links unter dem Header, zentriert im freien Raum.
   Chat sitzt absolut rechts, volle Höhe. */

/* Bars links: zentriert im verbleibenden Platz unter dem Header */
.slide__ps-layout {
  position: relative;
  z-index: 1;
  flex: 1;
  display: flex;
  align-items: center;
  width: 100%;
  align-self: stretch;
}

.slide__ps-left {
  width: 100%;
  max-width: 520px;
  flex: 1;
}

.slide__ps-arg-title {
  font-size: 16px;
  font-weight: 700;
  color: rgba(40, 38, 44, 0.5);
  margin-bottom: 24px;
  white-space: nowrap;
}

.slide__ps-bars {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.slide__ps-bar-row {
  display: flex;
  align-items: center;
  gap: 14px;
  opacity: 0;
}

.slide--active .slide__ps-bar-row {
  animation: fadeInUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.slide__ps-bar-label {
  width: 140px;
  flex-shrink: 0;
  font-size: 15px;
  font-weight: 700;
  color: var(--ezyaa-raisin);
  text-align: right;
}

.slide__ps-bar-track {
  flex: 1;
  height: 38px;
  background: rgba(40, 38, 44, 0.05);
  border-radius: 10px;
  overflow: hidden;
}

.slide__ps-bar-fill {
  height: 100%;
  width: var(--bar-pct);
  border-radius: 10px;
  transform-origin: left center;
  transform: scaleX(0);
}

.slide--active .slide__ps-bar-fill {
  animation: barGrow 1.2s cubic-bezier(0.22, 1, 0.36, 1) 0.5s both;
}

.slide__ps-bar-value {
  width: 52px;
  flex-shrink: 0;
  font-size: 22px;
  font-weight: 900;
  color: var(--ezyaa-raisin);
}

.slide__ps-source {
  font-size: 12px;
  font-weight: 600;
  color: rgba(40, 38, 44, 0.3);
  margin-top: 18px;
}

/* Study Area Chart (pain-split links) */
.slide__ps-chart {
  width: 100%;
  opacity: 0;
}

.slide--active .slide__ps-chart {
  animation: fadeInUp 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.4s both;
}

.slide__ps-chart-svg {
  width: 100%;
  height: auto;
  font-family: inherit;
}

.slide__ps-chart-dot {
  opacity: 0;
}

.slide--active .slide__ps-chart-dot {
  animation: scaleReveal 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* EXICE-Card + Badge (pain-split links) */
.slide__ps-exice {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

.slide__ps-exice-card {
  width: 300px;
}

.slide__ps-exice-card .slide__cs-card-photo {
  height: 150px;
}

.slide__ps-exice-badge {
  display: flex;
  justify-content: center;
  margin-bottom: 12px;
  opacity: 0;
}

.slide--active .slide__ps-exice-badge {
  animation: fadeInUp 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.4s both;
}

.slide__ps-exice-badge span {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #fff;
  background: var(--ezyaa-mint);
  padding: 6px 18px;
  border-radius: 9999px;
  box-shadow: 0 3px 12px rgba(88, 187, 130, 0.35);
}

/* KI-Hub (pain-split links) – Roboter mit schwebenden Labels */
/* Absolut positioniert wie der Chat, damit beide vertikal zentriert sind */
.slide__ps-hub-area {
  position: absolute;
  left: 80px;
  top: 24px;
  bottom: 24px;
  width: 460px;
  --hub-center: 44%;
}

.slide__ps-hub-icon {
  position: absolute;
  left: 50%;
  top: var(--hub-center);
  margin-left: -36px;
  margin-top: -36px;
  width: 72px;
  height: 72px;
  background: var(--ezyaa-majorelle);
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 36px rgba(79, 70, 229, 0.35);
  opacity: 0;
  z-index: 3;
}

.slide__ps-hub-icon svg {
  width: 40px;
  height: 40px;
}

.slide--active .slide__ps-hub-icon {
  animation: scaleReveal 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.3s both,
             kiHubPulse 2s ease-in-out 4s infinite;
}

/* Verbindungslinien vom Hub zu den Labels */
.slide__ps-hub-conn {
  position: absolute;
  left: 50%;
  top: var(--hub-center);
  margin-top: -1.5px;
  width: var(--conn-w);
  height: 3px;
  border-radius: 2px;
  background: linear-gradient(90deg,
    rgba(79, 70, 229, 0.06),
    rgba(79, 70, 229, 0.25),
    rgba(79, 70, 229, 0.06));
  transform-origin: 0 50%;
  transform: rotate(var(--conn-angle)) scaleX(0);
  z-index: 1;
}

.slide--active .slide__ps-hub-conn {
  animation: kiConnDraw 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: calc(var(--hub-idx) * 0.1s + 1s);
}

/* Schwebende Label-Pills um den Hub – weiß mit blauer Schrift */
.slide__ps-hub-label {
  position: absolute;
  left: calc(50% + var(--hub-x));
  top: calc(var(--hub-center) + var(--hub-y));
  transform: translate(-50%, -50%);
  padding: 10px 20px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(29, 155, 246, 0.15);
  border-radius: 14px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  font-size: 14px;
  font-weight: 700;
  color: var(--ezyaa-light-blue);
  white-space: nowrap;
  opacity: 0;
  z-index: 2;
}

.slide--active .slide__ps-hub-label {
  animation: hubLabelPop 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: calc(var(--hub-idx) * 0.15s + 0.5s);
}

@keyframes hubLabelPop {
  from {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.85);
    filter: blur(6px);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    filter: blur(0);
  }
}

/* Chat Footer (z.B. "Kündigung abgewendet") */
.slide__ps-chat-footer {
  font-size: 12px;
  font-weight: 700;
  color: var(--ezyaa-mint);
  text-align: center;
  margin-top: 2px;
  opacity: 0;
}

.slide--active .slide__ps-chat-footer {
  animation: fadeInUp 0.6s cubic-bezier(0.22, 1, 0.36, 1) 2s both;
}

/* Chat rechts: absolut, volle Höhe, geht bis neben den Titel */
.slide__ps-right {
  position: absolute;
  top: 24px;
  right: 50px;
  bottom: 24px;
  width: 500px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  z-index: 2;
}

.slide__ps-chat-badge {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #fff;
  background: var(--ezyaa-majorelle);
  padding: 5px 14px;
  border-radius: 9999px;
  opacity: 0;
  box-shadow: 0 3px 12px rgba(79, 70, 229, 0.3);
}

.slide--active .slide__ps-chat-badge {
  animation: fadeInUp 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.4s both;
}

.slide__ps-chat {
  width: 100%;
  background: rgba(40, 38, 44, 0.03);
  border-radius: 24px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  border: 1px solid rgba(40, 38, 44, 0.06);
  overflow: hidden;
}

/* Chat-Nachrichten */
.slide__ps-msg {
  max-width: 88%;
  opacity: 0;
}

.slide--active .slide__ps-msg {
  animation: fadeInUp 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.slide__ps-msg--user {
  align-self: flex-start;
}

.slide__ps-msg--ai {
  align-self: flex-end;
}

.slide__ps-msg-name {
  font-size: 10px;
  font-weight: 700;
  color: rgba(40, 38, 44, 0.4);
  margin-bottom: 4px;
  padding: 0 6px;
}

.slide__ps-msg-name--ai {
  color: var(--ezyaa-majorelle);
}

.slide__ps-msg-text {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.45;
  padding: 10px 14px;
  border-radius: 16px;
}

.slide__ps-msg--user .slide__ps-msg-text {
  background: rgba(40, 38, 44, 0.08);
  color: var(--ezyaa-raisin);
  border-bottom-left-radius: 4px;
}

.slide__ps-msg--ai .slide__ps-msg-text {
  background: var(--ezyaa-majorelle);
  color: #fff;
  border-bottom-right-radius: 4px;
}

.slide__ps-msg-time {
  display: block;
  font-size: 9px;
  font-weight: 600;
  opacity: 0.5;
  margin-top: 4px;
  text-align: right;
}

/* Group-specific stat colors */

.slide--group-pain .slide__stat-value {
  background: linear-gradient(135deg, #f59e0b, #e74c3c);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.slide--group-objection .slide__stat-value {
  background: linear-gradient(135deg, #10b981, var(--ezyaa-majorelle));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.slide--group-compare .slide__stat-value {
  background: linear-gradient(135deg, #e74c3c, #f59e0b);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* --- Slide Type: Roadmap (Onboarding Timeline – Horizontal) --- */

.slide--roadmap {
  justify-content: flex-start;
}

.slide__rm-timeline {
  position: relative;
  width: 100%;
  flex: 1;
  display: flex;
  align-items: center;
  padding: 0 10px;
}

/* Horizontale Gradient-Linie – läuft durch die Dots */
/* top-bereich (52px) + halbe Dot-Höhe (28px) = 80px vom oberen Rand der Steps */
.slide__rm-line {
  position: absolute;
  left: 10px;
  right: 10px;
  top: calc(50% + 2px);
  height: 3px;
  background: linear-gradient(90deg, #1d9bf6 0%, #4f46e5 50%, #58bb82 100%);
  border-radius: 3px;
  transform-origin: left center;
  opacity: 0;
}

.slide--active .slide__rm-line {
  opacity: 1;
  animation: rmLineDraw 1.2s cubic-bezier(0.22, 1, 0.36, 1) 0.15s both;
}

.slide__rm-steps {
  display: flex;
  flex-direction: row;
  gap: 12px;
  width: 100%;
}

/* Einzelner Step – vertikal: Top-Label → Dot → Label */
.slide__rm-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  opacity: 0;
  position: relative;
}

.slide--active .slide__rm-step {
  animation: fadeInUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* Top-Bereich: Zeit-Label + Badge über dem Dot */
.slide__rm-top {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  margin-bottom: 10px;
  min-height: 46px;
  justify-content: flex-end;
}

/* Zeit-Label */
.slide__rm-time {
  font-weight: 900;
  font-size: 17px;
  line-height: 1.15;
  text-align: center;
  padding: 5px 16px;
  border-radius: 10px;
}

/* Meeting-Zeiten: Blau hervorgehoben */
.slide__rm-step--meeting .slide__rm-time {
  background: #1d9bf6;
  color: #fff;
  box-shadow: 0 3px 12px rgba(29, 155, 246, 0.3);
}

/* ezyaa-Zeiten: Dezent */
.slide__rm-step--ezyaa .slide__rm-time {
  background: rgba(79, 70, 229, 0.06);
  color: rgba(40, 38, 44, 0.4);
  font-weight: 700;
  font-size: 15px;
}

/* Letzter Step: Mint */
.slide__rm-step--last .slide__rm-time {
  background: #58bb82;
  color: #fff;
  box-shadow: 0 3px 12px rgba(88, 187, 130, 0.3);
}

/* Dauer-Badge (Pill) */
.slide__rm-badge {
  font-size: 12px;
  font-weight: 700;
  padding: 2px 10px;
  border-radius: 9999px;
  background: rgba(29, 155, 246, 0.1);
  color: #1d9bf6;
  white-space: nowrap;
}

/* Dot – sitzt auf der Linie */
.slide__rm-dot {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
}

.slide__rm-dot-inner {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.slide__rm-dot-inner svg {
  width: 24px;
  height: 24px;
}

/* Meeting: Blauer Dot mit Glow */
.slide__rm-step--meeting .slide__rm-dot-inner {
  background: #1d9bf6;
  box-shadow: 0 0 0 7px rgba(29, 155, 246, 0.12), 0 4px 16px rgba(29, 155, 246, 0.3);
}

.slide__rm-step--meeting .slide__rm-dot-inner svg {
  stroke: #fff;
}

/* ezyaa: Subtiler Dot */
.slide__rm-step--ezyaa .slide__rm-dot-inner {
  background: #fff;
  border: 2px solid rgba(79, 70, 229, 0.15);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.slide__rm-step--ezyaa .slide__rm-dot-inner svg {
  stroke: #4f46e5;
  opacity: 0.5;
}

/* Letzter Step: Mint-Akzent */
.slide__rm-step--last .slide__rm-dot-inner {
  background: #58bb82;
  box-shadow: 0 0 0 7px rgba(88, 187, 130, 0.12), 0 4px 16px rgba(88, 187, 130, 0.3);
}

.slide__rm-step--last .slide__rm-dot-inner svg {
  stroke: #fff;
}

/* Label unter dem Dot */
.slide__rm-label {
  font-weight: 700;
  font-size: 18px;
  color: var(--ezyaa-raisin);
  line-height: 1.3;
  text-align: center;
  margin-top: 14px;
}

.slide__rm-step--ezyaa .slide__rm-label {
  font-weight: 400;
  color: rgba(40, 38, 44, 0.4);
  font-size: 16px;
}

.slide__rm-step--last .slide__rm-label {
  color: #58bb82;
}

/* --- Overrides: Slides mit dunklem Background behalten weiße Schrift --- */

.slide--bg-blue .slide__body,
.slide--bg-blue .slide__closing-sub,
.slide--bg-blue .slide__bullet,
.slide--bg-blue .slide__step-label,
.slide--bg-blue .slide__stat-label {
  color: rgba(255, 255, 255, 0.7);
}

.slide--bg-blue .slide__tag {
  color: rgba(255, 255, 255, 0.85);
}

/* --- Overrides: Grüner Hintergrund (Offer Slide) --- */

.slide--bg-green .slide__body,
.slide--bg-green .slide__bullet,
.slide--bg-green .slide__step-label,
.slide--bg-green .slide__stat-label {
  color: rgba(255, 255, 255, 0.7);
}

.slide--bg-green .slide__tag {
  color: rgba(255, 255, 255, 0.85);
}
