#coach-avada-content {
    display: none;
}

/* ==========================================
   HERO — Coaching Page
========================================== */

.coach-hero {
  background: var(--bg-primary);
  overflow: clip;
  opacity: 1;
  transform: none;
  transition:
    opacity 0.9s cubic-bezier(.16,1,.3,1),
    transform 0.9s cubic-bezier(.16,1,.3,1);
}

.js .coach-hero {
  opacity: 0;
  transform: translateY(20px);
}

.coach-hero.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ── Mobile ── */

.coach-hero__inner {
  padding:
    var(--space-xl)
    var(--space-md)
    var(--space-lg);
}

.coach-hero__grid {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-lg);
}

.coach-hero__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 100%;
  max-width: 640px;
  box-sizing: border-box;
}

/* ── Typografie ── */

.coach-eyebrow {
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--cta-primary);
  margin: 0 0 var(--space-sm);
  opacity: 0.8;
}

.coach-title {
  font-family: var(--font-serif) !important;
  font-size: var(--text-hero) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
  color: var(--text-black);
  margin: 0 0 var(--space-sm);
  text-wrap: balance;
  max-width: 100% !important;
}

.coach-title em {
  font-style: italic;
  color: var(--cta-primary);
}

.coach-text-xl {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.75;
  color: var(--text-primary);
  margin: 0 0 var(--space-md);
  max-width: 46ch;
}

/* ── Actions ── */

.coach-hero__actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

.coach-button {
  display: inline-block;
  background: var(--cta-primary);
  color: var(--text-white) !important;
  text-decoration: none !important;
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  font-weight: 500;
  letter-spacing: 0.04em;
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-sm);
  transition:
    background var(--transition-fast),
    transform var(--transition-fast),
    box-shadow var(--transition-fast);
}

.coach-button:hover {
  background: var(--cta-primary-hover);
  color: var(--text-black) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.10);
}

.coach-button--outline {
  background: transparent;
  color: var(--cta-primary) !important;
  border: 1.5px solid var(--cta-primary);
  box-shadow: none;
}

.coach-button--outline:hover {
  background: var(--cta-primary);
  color: var(--text-white) !important;
  border-color: var(--cta-primary);
}

.coach-microcopy {
  margin: var(--space-xs) 0 0;
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-style: italic;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: var(--text-primary);
  opacity: 0.6;
}

/* ── Bild Mobile ── */

.coach-hero__media {
  width: 100%;
  display: flex;
  justify-content: center;
}

.coach-hero__image-wrap {
  overflow: hidden;
  border-radius: 50%;
  width: clamp(220px, 58vw, 320px);
  height: clamp(220px, 58vw, 320px);
  will-change: transform;
}

.coach-hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1);
  will-change: transform;
}

.coach-hero__image:hover {
  transform: scale(1.03);
}

/* ── Desktop ── */

@media (min-width: 768px) {

  .coach-hero {
    min-height: 100svh;
  }

  .coach-hero__inner {
    padding: 0;
    min-height: 100svh;
  }

  .coach-hero__grid {
    display: grid;
    grid-template-columns: 1fr;
    min-height: 100svh;
    align-items: stretch;
    gap: 0;
  }

  .coach-hero__media,
  .coach-hero__content {
    grid-column: 1;
    grid-row: 1;
  }

  .coach-hero__media {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
  }

  .coach-hero__image-wrap {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 0;
    overflow: hidden;
  }

  .coach-hero__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 20%;
  }

  .coach-hero__content {
    position: relative;
    z-index: 2;
    justify-self: end;
    align-self: center;
    margin: var(--space-lg) clamp(2rem, 5vw, 6rem);
    width: min(560px, 92vw);
    max-width: 560px;
    min-width: 320px;
    padding: var(--space-lg);
    background: rgba(255,255,255,0.94);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-left: 3px solid var(--cta-primary);
    align-items: flex-start;
    text-align: left;
    box-sizing: border-box;
  }

  .coach-hero__actions {
    justify-content: flex-start;
  }

}

@media (min-width: 768px) and (max-width: 1024px) {

  .coach-hero__content {
    width: min(520px, 88vw);
  }

}

@media (min-width: 1440px) {

  .coach-hero__content {
    margin-right: clamp(5rem, 8vw, 10rem);
  }

}

@media (max-width: 480px) {

  .coach-hero__actions {
    width: 100%;
  }

  .coach-button {
    width: 100%;
    text-align: center;
  }

}



/* ==========================================
   PRESS / BEKANNT AUS
========================================== */

.coach-press {
  background: var(--bg-primary);
  border-top: 1px solid var(--bg-secondary);
  border-bottom: 1px solid var(--bg-secondary);
}

.coach-press__inner {
  max-width: var(--container);
  margin: 0 auto;
  padding:
    var(--space-sm)
    clamp(1rem, 3vw, 2.5rem);
}

.coach-press__label {
  display: block;
  text-align: center;

  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;

  color: var(--text-primary);
  opacity: 0.55;

  margin-bottom: var(--space-xs);
}

.coach-press__logos {
  list-style: none;

  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: clamp(1.5rem, 4vw, 3rem);

  margin: 0;
  padding: 0;
}

.coach-press__logo-item {
  display: flex;
  align-items: center;
  justify-content: center;
}

.coach-press__logo-item img {
  display: block;
  height: 18px;
  width: auto;

  opacity: 0.45;
  filter: grayscale(100%);

  transition:
    opacity var(--transition-fast),
    filter var(--transition-fast);
}

.coach-press__logo-item a:hover img,
.coach-press__logo-item a:focus-visible img {
  opacity: 0.7;
  filter: grayscale(0%);
}

@media (min-width: 768px) {

  .coach-press__logo-item img {
    height: 28px;
  }

}



/* ==========================================
   RECOGNITION — Coaching Page
========================================== */

.coach-recognition {
  background: var(--bg-primary);
  position: relative;
  overflow: clip;
}

.coach-recognition__inner {
  max-width: var(--container);
  margin: 0 auto;
}

.coach-recognition__label {
  display: block;
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--cta-primary);
  opacity: 0.7;
  margin-bottom: var(--space-md);
}

.coach-recognition__cards {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  padding: var(--space-xl) clamp(1rem, 3vw, 2.5rem);
}

.coach-rec-card {
  background: linear-gradient(160deg, #B5C5CA 0%, var(--bg-dark) 100%);
  border: 1px solid rgba(0, 0, 0, 0.04);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  padding: var(--space-xl) var(--space-lg);
  /* Reveal */
  opacity: 1;
  transform: none;
  transition:
    opacity 0.9s cubic-bezier(.16,1,.3,1),
    transform 0.9s cubic-bezier(.16,1,.3,1);
}

.js .coach-rec-card {
  opacity: 0;
  transform: translateY(30px);
}

.js .coach-rec-card.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.coach-rec-card__inner {
  max-width: 820px;
}

.coach-rec-card__headline {
  font-family: var(--font-serif);
  font-size: var(--text-xl) !important;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--text-white);
  margin: 0 0 var(--space-sm);
}

.coach-rec-card__body {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.8;
  color: var(--text-black);
  max-width: 62ch;
  margin: 0;
}

/* ==========================================
   CONSEQUENCE — Coaching Page
========================================== */

/* ── Shared Reveal ── */

.coach-con-fade,
.coach-con-item {
  opacity: 1;
  transform: none;
  transition:
    opacity 0.8s cubic-bezier(.16,1,.3,1),
    transform 0.8s cubic-bezier(.16,1,.3,1);
}

.js .coach-con-fade,
.js .coach-con-item {
  opacity: 0;
  transform: translateY(24px);
}

.js .coach-con-fade.is-visible,
.js .coach-con-item.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ── Shared Inner ── */

.coach-consequence__inner {
  max-width: 820px;
  margin: 0 auto;
  padding-inline: clamp(1.5rem, 6vw, 5rem);
}

/* ── Zone 1: Checkliste ── */

.coach-consequence__zone--checklist {
  background: var(--bg-secondary);
  padding-block: var(--space-xl);
}

.coach-consequence__label {
  display: block;
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--cta-primary);
  opacity: 0.7;
  margin-bottom: var(--space-md);
}

.coach-consequence__prelude {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.8;
  color: var(--text-primary);
  margin: 0 0 var(--space-lg);
  max-width: 58ch;
}

.coach-consequence__checklist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.coach-consequence__check-item {
  display: flex;
  align-items: baseline;
  gap: var(--space-sm);
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.6;
  color: var(--text-black);
}

.coach-consequence__check-icon {
  flex-shrink: 0;
  color: var(--cta-primary);
  font-size: var(--text-sm);
  font-weight: 600;
  opacity: 0.7;
}

/* ── Zone 2: Bruch ── */


.coach-consequence__zone--break {
  background: var(--bg-primary);
  padding-block: var(--space-2xl);
  text-align: center;
}

.coach-consequence__break-sub {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.8;
  color: var(--text-primary);
  max-width: 52ch;
  margin: var(--space-md) auto 0;
}

.coach-consequence__zone--break .coach-consequence__inner {
  max-width: 700px;
}

.coach-consequence__break-line {
  font-family: var(--font-serif);
  font-size: var(--text-xl);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: var(--text-black);
  margin: 0;
}

.coach-consequence__break-line em {
  font-style: italic;
  color: var(--cta-primary);
}

/* ── Zone 3: Konsequenzen ── */

.coach-consequence__zone--dark {
  background: var(--bg-secondary);
  padding-block: var(--space-xl);
}

.coach-consequence__items {
  display: flex;
  flex-direction: column;
  margin-block: var(--space-lg);
}

.coach-con-item {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding-block: var(--space-md);
  border-top: 1px solid var(--bg-primary);
}

.coach-con-item:last-child {
  border-bottom: 1px solid var(--bg-primary);
}

.coach-con-item__number {
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.2em;
  color: var(--cta-primary);
  opacity: 0.5;
}

.coach-con-item__text {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.75;
  color: var(--text-black);
}

.coach-consequence__closing {
  padding-top: var(--space-md);
}

@media (min-width: 768px) {

  .coach-con-item {
    flex-direction: row;
    align-items: baseline;
    gap: var(--space-lg);
  }

  .coach-con-item__number {
    flex-shrink: 0;
    width: 2.5rem;
  }

}

/* ==========================================
   TRANSFORMATION — Coaching Page
========================================== */

/* ── Shared Reveal ── */

.coach-tr-fade {
  opacity: 1;
  transform: none;
  transition:
    opacity 0.85s cubic-bezier(.16,1,.3,1),
    transform 0.85s cubic-bezier(.16,1,.3,1);
}

.js .coach-tr-fade {
  opacity: 0;
  transform: translateY(28px);
}

.js .coach-tr-fade.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ── Shared Inner ── */

.coach-transform__inner {
  max-width: var(--container);
  margin: 0 auto;
  padding-inline: clamp(1.5rem, 6vw, 5rem);
}

/* ── Zone: Atmungspause ── */

.coach-transform__zone--breath {
  background: var(--bg-special);
  padding-top: var(--space-2xl);
  text-align: center;
}

.coach-transform__zone--breath .coach-transform__inner {
  max-width: 680px;
}

.coach-transform__breath-line {
  font-family: var(--font-serif);
  font-size: var(--text-2xl);
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: var(--text-black);
  margin: 0 0 var(--space-md);
}

.coach-transform__breath-line em {
  font-style: italic;
  color: var(--cta-primary);
}



/* ── Zone: Identitätsbild ── */

.coach-transform__zone--identity .coach-transform__breath-line {
  margin-bottom: var(--space-xl);
  text-align: center;
}

.coach-transform__zone--identity {
  background: var(--bg-primary);
  padding-block: var(--space-xl);
}

.coach-transform__scenes {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.coach-transform__scene {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.coach-transform__image {
  width: 100%;
  aspect-ratio: 4 / 3;          /* Erzwingt das perfekte 4:3 Verhältnis */
  border-radius: var(--radius-sm); /* Übernimmt deine abgerundeten Ecken */
  
  /* ─── FÜR DAS ECHTE BILD HINZUGEFÜGT ─── */
  display: block;
  object-fit: cover;            /* Verhindert, dass das Bild verzerrt wird */
  object-position: center;      /* Zentriert den Bildausschnitt */
}

.coach-transform__scene-headline {
  font-family: var(--font-serif);
  font-size: var(--text-lg);
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--text-black);
  margin: 0 0 var(--space-xs);
}

.coach-transform__scene-body {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.8;
  color: var(--text-primary);
  margin: 0;
  max-width: 52ch;
}

@media (min-width: 768px) {

  /* Nur Scenes mit Bild bekommen Row-Reverse */
  .coach-transform__scene:has(.coach-transform__scene-image):nth-child(even) {
    flex-direction: row-reverse;
  }

  .coach-transform__scene:has(.coach-transform__scene-image) {
    flex-direction: row;
    align-items: center;
    gap: var(--space-xl);
  }

  .coach-transform__scene-image {
    flex: 0 0 45%;
  }

  .coach-transform__scene-text {
    flex: 1;
  }

  .coach-transform__image-placeholder {
    aspect-ratio: 3 / 2;
  }

}

/* ==========================================
   OFFER — Coaching Page
========================================== */

/* ── Shared Reveal ── */

.coach-off-fade {
  opacity: 1;
  transform: none;
  transition:
    opacity 0.85s cubic-bezier(.16,1,.3,1),
    transform 0.85s cubic-bezier(.16,1,.3,1);
}

.js .coach-off-fade {
  opacity: 0;
  transform: translateY(24px);
}

.js .coach-off-fade.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ── Shared Inner ── */

.coach-offer__inner {
  max-width: 860px;
  margin: 0 auto;
  padding-inline: clamp(1.5rem, 6vw, 5rem);
}

.coach-offer__label {
  display: block;
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--cta-primary);
  opacity: 0.7;
  margin-bottom: var(--space-md);
}

.coach-offer__image-break {
  position: relative;
  width: 100%;
  height: clamp(280px, 50vw, 600px);
  overflow: clip;
}

.coach-offer__image-break::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    transparent 50%,
    rgba(255,255,255,0.6) 100%
  );
}

.coach-offer__image-break img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  display: block;
}

/* ── Zone 1: Positionierungssatz ── */

.coach-offer__zone--position {
  background: var(--bg-primary);
  padding-block: var(--space-2xl);
  text-align: center;
}

.coach-offer__zone--position .coach-offer__inner {
  max-width: 680px;
}

.coach-offer__position-line {
  font-family: var(--font-serif);
  font-size: var(--text-2xl);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: var(--text-black);
  margin: 0 0 var(--space-md);
}

.coach-offer__position-line em {
  font-style: italic;
  color: var(--cta-primary);
}

.coach-offer__position-sub {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.8;
  color: var(--text-primary);
  max-width: 52ch;
  margin: 0 auto var(--space-md);
}

/* ── Zone 2: Ansatz + Warum ── */

.coach-offer__zone--approach {
  background: var(--bg-secondary);
  padding-block: var(--space-xl);
}

.coach-offer__approach-grid {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}

.coach-offer__approach-text p,
.coach-offer__bio p {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.8;
  color: var(--text-primary);
  margin: 0 0 var(--space-sm);
  max-width: 54ch;
}

.coach-offer__approach-text p:last-child,
.coach-offer__bio p:last-child {
  margin-bottom: 0;
}

.coach-offer__credentials {
  list-style: none;
  padding: 0;
  margin-top: var(--space-xs);
  padding-top: var(--space-lg);
  /* Mobile: vertikal */
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

@media (min-width: 768px) {
  .coach-offer__credentials {
    /* Desktop: horizontal zentriert */
    flex-direction: column;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex_start;
    gap: var(--space-md);
  }
}

.coach-offer__credentials li {
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  color: var(--text-black);
  font-weight: 500;
  padding-left: 1.25rem;
  position: relative;
}

.coach-offer__credentials li::before {
  content: '—';
  position: absolute;
  left: 0;
  color: var(--cta-primary);
  font-weight: 400;
}

.coach-offer__bio-image {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: clip;
  border-radius: var(--radius-md);
  margin-bottom: var(--space-md);
}

.coach-offer__bio-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 15%;
  display: block;
}

@media (min-width: 768px) {

  .coach-offer__approach-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-xl);
    align-items: start;
  }

}

/* ── Zone 3: Community ── */

.coach-offer__zone--community {
  background: var(--bg-primary);
  padding-block: var(--space-xl);
  border-top: 1px solid var(--bg-secondary);
  border-bottom: 1px solid var(--bg-secondary);
}

.coach-offer__community {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.coach-offer__community-number {
  font-family: var(--font-serif);
  font-size: clamp(3.5rem, 8vw, 6rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--text-black);
}

.coach-offer__community-text {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.7;
  color: var(--text-primary);
  max-width: 42ch;
  margin: 0;
}

.coach-offer__community-link {
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--cta-primary);
  text-decoration: none;
  opacity: 0.8;
  transition: opacity var(--transition-fast);
}

.coach-offer__community-link:hover {
  opacity: 1;
}

/* ── Zone 4: Prozess ── */

.coach-offer__zone--process {
  background: var(--bg-primary);
  padding-block: var(--space-xl);
}

.coach-offer__process-sub {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.7;
  color: var(--text-primary);
  margin: 0 0 var(--space-lg);
  max-width: 52ch;
}

.coach-offer__steps {
  display: flex;
  flex-direction: column;
}

.coach-offer__step {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding-block: var(--space-md);
  border-top: 1px solid var(--bg-secondary);
}

.coach-offer__step-number {
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.2em;
  color: var(--cta-primary);
  opacity: 0.6;
}

.coach-offer__step-headline {
  font-family: var(--font-serif);
  font-size: var(--text-md);
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--text-black);
  margin: 0 0 var(--space-2xs);
}

.coach-offer__step-body {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.8;
  color: var(--text-primary);
  margin: 0;
  max-width: 58ch;
}

@media (min-width: 768px) {

  .coach-offer__step {
    flex-direction: row;
    align-items: baseline;
    gap: var(--space-lg);
  }

  .coach-offer__step-number {
    flex-shrink: 0;
    width: 2.5rem;
  }

}

/* ── Zone 5: Podcast ── */

.coach-offer__zone--podcast {
  background: var(--bg-special);
  padding-block: var(--space-xl);
}

.coach-offer__podcast {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.coach-offer__podcast-stars {
  font-size: var(--text-md);
  letter-spacing: 0.15em;
  color: var(--cta-primary);
}

.coach-offer__podcast-text {
  font-family: var(--font-serif);
  font-size: var(--text-lg);
  font-weight: 400;
  font-style: italic;
  line-height: 1.55;
  color: var(--text-black);
  margin: 0;
  max-width: 52ch;
}

.coach-offer__podcast-name {
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-primary);
  opacity: 0.6;
}

/* ── Zone 6: Preis + CTA ── */

.coach-offer__zone--price {
  background: var(--bg-primary);
  padding-block: var(--space-2xl);
  border-bottom: 1px solid var(--bg-secondary);
}

.coach-offer__price-block {
  margin-bottom: var(--space-xl);
}

.coach-offer__price-number {
  font-family: var(--font-serif);
  font-size: clamp(3rem, 7vw, 5rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--text-black);
  margin: 0 0 var(--space-sm);
}

.coach-offer__price-context {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.75;
  color: var(--text-primary);
  margin: 0 0 var(--space-sm);
}

.coach-offer__price-promises {
  list-style: none;
  margin: var(--space-lg) 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  padding-top: var(--space-lg);
}

.coach-offer__price-promises li {
  font-family: var(--font-serif);
  font-size: var(--text-lg);
  font-weight: 400;
  font-style: italic;
  line-height: 1.4;
  letter-spacing: -0.01em;
  color: var(--text-black);
  padding-left: var(--space-md);
  border-left: 2px solid var(--cta-primary);
}

.coach-offer__price-anchor {
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  line-height: 1.8;
  color: var(--text-primary);
  opacity: 0.7;
  margin: 0;
  font-style: italic;
}

.coach-offer__cta-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-sm);
}


/* ── Avada Testimonials Überschreibung ── */

.coach-testimonials-screenshots {
  background: var(--bg-special) !important;
}



/* ==========================================================================
   coaching-interesse.css
   Seitenspezifisches Stylesheet – baut vollständig auf den
   CSS Custom Properties aus main.css auf.
   Präfix: ci- (coaching-interesse)
   ========================================================================== */

/* ── Basis-Layout ────────────────────────────────────────────────────────── */

.ci-page {
  background: var(--bg-primary);
}

.ci-container {
  width: min(var(--container), 100% - 2 * var(--space-md));
  margin-inline: auto;
}

.ci-container--narrow {
  width: min(720px, 100% - 2 * var(--space-md));
  margin-inline: auto;
}


/* ── Fade-In-Animationen (gestaffelt via JS) ─────────────────────────────── */

.ci-fade {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 560ms cubic-bezier(.16, 1, .3, 1),
    transform 560ms cubic-bezier(.16, 1, .3, 1);
}

.ci-fade.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .ci-fade {
    opacity: 1;
    transform: none;
    transition: none;
  }
}


/* ==========================================================================
   SECTION 1 · MICRO-MOMENT HERO
   ========================================================================== */

.ci-hero {
  background: var(--bg-special);
  padding-block: var(--space-xl);
  text-align: center;
}

.ci-hero__eyebrow {
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  font-weight: 500;
  letter-spacing: 0.12em;
  color: var(--cta-primary);
  text-transform: uppercase;
  margin-block-end: var(--space-sm);
}

.ci-hero__headline {
  font-family: var(--font-serif) !important;
  font-size: var(--text-2xl) !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  color: var(--text-black) !important;
  margin-block-end: var(--space-md);
  max-width: 680px;
  margin-inline: auto;
}

.ci-hero__body {
  font-family: var(--font-sans);
  font-size: var(--text-md);
  line-height: 1.75;
  color: var(--text-primary);
  max-width: 560px;
  margin-inline: auto;
}


/* ==========================================================================
   SECTION 2 · OUTCOME (Hin-zu)
   ========================================================================== */

.ci-outcome {
  background: var(--bg-primary);
  padding-block: var(--space-xl);
}

.ci-outcome__label {
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--cta-primary);
  opacity: 0.6;
  margin-block-end: var(--space-md);
  text-align: center;
}

.ci-outcome__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.ci-outcome__item {
  display: flex;
  align-items: baseline;
  gap: var(--space-sm);
  padding-block: var(--space-sm);
  border-top: 1px solid var(--bg-secondary);
  font-family: var(--font-serif) !important;
  font-size: var(--text-lg) !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  color: var(--text-black) !important;
}

.ci-outcome__item:last-of-type {
  border-bottom: 1px solid var(--bg-secondary);
}

/* Dekoratives Strich-Icon vor jedem Punkt */
.ci-outcome__icon {
  flex-shrink: 0;
  display: inline-block;
  width: 20px;
  height: 1px;
  background: var(--cta-primary);
  opacity: 0.4;
  margin-block-start: 0.6em;
  align-self: flex-start;
}

.ci-outcome__caveat {
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  color: var(--text-primary);
  opacity: 0.7;
  text-align: center;
  margin-block-start: var(--space-md);
  font-style: italic;
}


/* ==========================================================================
   SECTION 3 · STEPS (Ablauf)
   ========================================================================== */

.ci-steps {
  background: var(--bg-secondary);
  padding-block: var(--space-xl);
}

.ci-steps__label {
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--cta-primary);
  opacity: 0.6;
  margin-block-end: var(--space-lg);
}

.ci-steps__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}

.ci-step {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding-block: var(--space-md);
  opacity: 0.9;
}

.ci-step__number {
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.2em;
  color: var(--cta-primary);
  opacity: 0.5;
}

.ci-step__title {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--text-black);
  line-height: 1.4;
}

.ci-step__body {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.75;
  color: var(--text-primary);
  margin: 0;
}

@media (min-width: 640px) {

  .ci-step {
    flex-direction: row;
    align-items: flex-start;
    gap: var(--space-lg);
  }

  .ci-step__number {
    flex-shrink: 0;
    width: 2.5rem;
    padding-block-start: 0.15em;
  }

}


/* ==========================================================================
   SECTION 4 · FORMULAR
   ========================================================================== */

.ci-form-section {
  background: var(--bg-primary);
  padding-block: var(--space-xl);
}


/* ActiveCampaign Formular Wrapper ───────────────────────────────────────── */
 
.ci-form-wrap {
  background: var(--bg-special);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
}
 
/*
 * ActiveCampaign injiziert eigene Styles über das Embed-Script.
 * Die folgenden Überschreibungen harmonisieren das Formular
 * mit dem bestehenden Design-System.
 * Ggf. müssen einzelne Selektoren je nach AC-Theme angepasst werden.
 */
 
.ci-form-wrap ._form-content input[type="text"],
.ci-form-wrap ._form-content input[type="email"],
.ci-form-wrap ._form-content textarea {
  font-family: var(--font-sans) !important;
  font-size: var(--text-base) !important;
  color: var(--text-black) !important;
  background: var(--bg-primary) !important;
  border: 1px solid var(--bg-dark) !important;
  border-radius: var(--radius-sm) !important;
  padding: 0.875rem 1.125rem !important;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast) !important;
  outline: none !important;
}
 
.ci-form-wrap ._form-title {
  font-family: var(--font-serif) !important;
  font-size: var(--text-lg) !important;
}

.ci-form-wrap ._form-content input[type="text"]:focus,
.ci-form-wrap ._form-content input[type="email"]:focus,
.ci-form-wrap ._form-content textarea:focus {
  border-color: var(--cta-primary) !important;
  box-shadow: 0 0 0 3px rgba(54, 100, 139, 0.12) !important;
}
 
/* Beruhigender Fokus-Zustand – kein harter blauer Ring */
.ci-form-wrap ._form-content input:focus-visible,
.ci-form-wrap ._form-content textarea:focus-visible {
  outline: 2px solid var(--cta-primary) !important;
  outline-offset: 2px !important;
}
 
/* Submit-Button */
.ci-form-wrap ._form-content ._submit,
.ci-form-wrap ._form-content button[type="submit"] {
  font-family: var(--font-sans) !important;
  font-size: var(--text-sm) !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  background: var(--cta-primary) !important;
  color: var(--text-white) !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  padding: 0.875rem 2rem !important;
  cursor: pointer !important;
  transition: background var(--transition-fast), transform var(--transition-fast) !important;
}
 
.ci-form-wrap ._form-content ._submit:hover,
.ci-form-wrap ._form-content button[type="submit"]:hover {
  background: var(--cta-primary-hover) !important;
  transform: translateY(-1px) !important;
}
 
/* Labels */
.ci-form-wrap ._form-content label,
.ci-form-wrap ._form-content ._field-label {
  font-family: var(--font-sans) !important;
  font-size: var(--text-sm) !important;
  font-weight: 500 !important;
  color: var(--text-primary) !important;
  margin-block-end: 0.375rem !important;
}
 
/* AC Fehlermeldungen – sanftes Redesign */
.ci-form-wrap ._error-inner,
.ci-form-wrap ._error-inner p {
  font-family: var(--font-sans) !important;
  font-size: var(--text-xs) !important;
  color: var(--cta-primary) !important;
  background: var(--bg-secondary) !important;
}

/* Roten Rahmen am Feld ersetzen */
.ci-form-wrap ._has-error input,
.ci-form-wrap ._has-error textarea,
.ci-form-wrap ._has-error select {
  border-color: var(--cta-primary) !important;
  box-shadow: 0 0 0 3px rgba(54, 100, 139, 0.10) !important;
}

/* Rotes Ausrufezeichen-Icon ausblenden */
.ci-form-wrap ._error-inner::before {
  display: none !important;
}

/* Erfolgsmeldung */
.ci-form-wrap ._form-content ._form-thank-you {
  font-family: var(--font-serif) !important;
  font-size: var(--text-lg) !important;
  color: var(--cta-primary) !important;
  text-align: center !important;
  padding-block: var(--space-lg) !important;
}


/* Datenschutz-/Sicherheits-Hinweis ─────────────────────────────────────── */

.ci-form-section__assurance {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  color: var(--text-primary);
  opacity: 0.6;
  margin-block-start: var(--space-sm);
  text-align: center;
}

.ci-form-section__lock {
  flex-shrink: 0;
  color: var(--cta-primary);
  opacity: 0.5;
}


/* ==========================================================================
   SECTION 5 · SOCIAL PROOF / TESTIMONIAL
   ========================================================================== */

.ci-testimonial {
  background: var(--bg-dark);
  padding-block: var(--space-xl);
}

.ci-testimonial__figure {
  margin: 0;
  text-align: center;
}

.ci-testimonial__quote {
  font-family: var(--font-serif);
  font-size: var(--text-xl);
  font-weight: 400;
  font-style: italic;
  line-height: 1.5;
  color: var(--text-white);
  margin: 0 0 var(--space-md);
  border-radius: var(--radius-sm);

  /* Dezente Anführungszeichen via Pseudo-Element */
  position: relative;
}



.ci-testimonial__caption {
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-black);
  opacity: 0.4;
}


/* ==========================================================================
   SECTION 6 · FAQ AKKORDEON
   ========================================================================== */

.ci-faq {
  background: var(--bg-primary);
  padding-block: var(--space-xl);
}

.ci-faq__label {
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--cta-primary);
  opacity: 0.6;
  margin-block-end: var(--space-lg);
  text-align: center;
}

.ci-faq__list {
  display: flex;
  flex-direction: column;
}

/* Ein Akkordeon-Item ────────────────────────────────────────────────────── */

.ci-faq__item {
  border-top: 1px solid var(--bg-secondary);
}

.ci-faq__item:last-child {
  border-bottom: 1px solid var(--bg-secondary);
}

/* Frage-Button ─────────────────────────────────────────────────────────── */

.ci-faq__question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  padding-block: var(--space-md);
  gap: var(--space-md);

  font-family: var(--font-sans);
  font-size: var(--text-base);
  font-weight: 500;
  line-height: 1.5;
  color: var(--text-black);

  transition: color var(--transition-fast);
}

.ci-faq__question:hover {
  color: var(--cta-primary);
}

/* Beruhigender Fokus-Zustand für Tastaturnavigation */
.ci-faq__question:focus-visible {
  outline: 2px solid var(--cta-primary);
  outline-offset: 4px;
  border-radius: 4px;
}

/* Plus/Minus-Icon ──────────────────────────────────────────────────────── */

.ci-faq__icon {
  flex-shrink: 0;
  position: relative;
  width: 18px;
  height: 18px;
}

/* Horizontale Linie (immer sichtbar) */
.ci-faq__icon::before,
.ci-faq__icon::after {
  content: '';
  position: absolute;
  background: var(--cta-primary);
  border-radius: 2px;
  transition: transform var(--transition-base), opacity var(--transition-fast);
}

.ci-faq__icon::before {
  width: 18px;
  height: 1.5px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

/* Vertikale Linie (wird bei Öffnung zu 0 skaliert → wird Plus zu Minus) */
.ci-faq__icon::after {
  width: 1.5px;
  height: 18px;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}

/* Geöffneter Zustand: vertikale Linie verschwindet → Minus-Icon */
.ci-faq__question[aria-expanded="true"] .ci-faq__icon::after {
  transform: translateX(-50%) scaleY(0);
  opacity: 0;
}

.ci-faq__question[aria-expanded="true"] {
  color: var(--cta-primary);
}


/* Antwort-Bereich ──────────────────────────────────────────────────────── */

.ci-faq__answer {
  overflow: hidden;
  /* max-height wird per JS gesetzt (0 → scrollHeight) */
  max-height: 0;
  transition: max-height 480ms cubic-bezier(.16, 1, .3, 1);
}

/* hidden-Attribut aufheben, damit der Transition funktioniert */
.ci-faq__answer[hidden] {
  display: block !important; /* überschreibt [hidden] */
  max-height: 0;
  visibility: hidden;
}

.ci-faq__answer:not([hidden]) {
  visibility: visible;
}

.ci-faq__answer p {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.8;
  color: var(--text-primary);
  padding-block-end: var(--space-md);
  margin: 0;
}

@media (prefers-reduced-motion: reduce) {

  .ci-faq__answer,
  .ci-faq__icon::before,
  .ci-faq__icon::after {
    transition: none;
  }

}



/* ── Coaching Footer ─────────────────────────────────────────────────────── */

.cf-footer {
  background: var(--bg-dark);
  border-top: 1px solid rgba(155, 175, 181, 0.15);
  padding-block: var(--space-lg);
}

.cf-footer__inner {
  width: min(var(--container), 100% - 2 * var(--space-md));
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-sm);
}

.cf-footer__logo-link img {
  display: block;
  width: 75px;
  height: 75px;
  object-fit: contain;
  opacity: 0.75;
  transition: opacity var(--transition-fast);
}

.cf-footer__logo-link:hover img {
  opacity: 1;
}

.cf-footer__nav {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
}

.cf-footer__nav a {
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-black);
  opacity: 0.45;
  text-decoration: none;
  transition: opacity var(--transition-fast);
}

.cf-footer__nav a:hover {
  opacity: 0.9;
}

.cf-footer__nav span {
  font-size: var(--text-xs);
  color: var(--text-black);
  opacity: 0.2;
}

.cf-footer__copy {
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  color: var(--text-black);
  opacity: 0.45;
  margin: 0;
}

@media (min-width: 768px) {

  .cf-footer__inner {
    flex-direction: row;
    justify-content: space-between;
  }

  /* Reihenfolge auf Desktop: Logo links, Nav mitte, Copy rechts */
  .cf-footer__logo-link { order: 1; }
  .cf-footer__nav       { order: 2; }
  .cf-footer__copy      { order: 3; }

}