/* Kundenmagnet – Block-Styles */
.km-center { display: block; text-align: center; }
.km-container--narrow { max-width: 900px; }
.km-section-head { text-align: center; max-width: 720px; margin: 0 auto 3rem; }

/* Trust-Logos */
.km-logos-section { padding-block: 2.5rem; }
.km-logos { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center; gap: 2rem; margin-top: 1.5rem; }
.km-logos img { height: 34px; width: auto; max-width: 200px; object-fit: contain; filter: grayscale(1); opacity: 0.65; transition: 0.2s; }
@media (max-width: 900px) { .km-logos { flex-wrap: wrap; justify-content: center; } }
.km-logos img:hover { filter: none; opacity: 1; }

/* Stats */
.km-stats-section { padding-block: 3rem; }
.km-stats { display: grid; gap: 2rem; text-align: center; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.km-stat__value { display: block; font-family: var(--km-font-heading); font-weight: 800; font-size: clamp(1.8rem, 3.5vw, 2.6rem); color: var(--km-orange-600); }
.km-section--dark .km-stat__value { color: var(--km-orange-400); }
.km-stat__label { color: var(--km-text-muted); }
.km-section--dark .km-stat__label { color: var(--km-on-dark); }

/* Prozess-Schritte */
.km-steps { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.km-step { background: #fff; border: 1px solid var(--km-border); border-radius: var(--km-radius); padding: 1.75rem; }
.km-step__num { font-family: var(--km-font-heading); font-weight: 800; font-size: 1rem; color: var(--km-orange-600); }
.km-step h3 { margin: 0.5rem 0 0.4rem; }
.km-step p { margin: 0; font-size: 0.95rem; }

/* Text-Bild-Sektion */
.km-split { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 3rem; align-items: center; }
.km-split--reverse .km-split__body { order: 2; }
.km-split--reverse .km-split__media { order: 1; }
.km-split--noimage { grid-template-columns: 1fr; max-width: 820px; }
.km-split__media img { display: block; }
.km-split .km-btn { margin-top: 1.25rem; }
.km-checklist { list-style: none; padding: 0; margin: 1.25rem 0 0; }
.km-checklist li { position: relative; padding-left: 2rem; margin-bottom: 0.75rem; }
.km-checklist li::before { content: ''; position: absolute; left: 0; top: 0.2em; width: 1.15rem; height: 1.15rem; border-radius: 50%; background: var(--km-orange-50); }
.km-checklist li::after { content: '\2713'; position: absolute; left: 0.28rem; top: 0.12em; font-size: 0.8rem; font-weight: 700; color: var(--km-orange-600); }
@media (max-width: 900px) { .km-split { grid-template-columns: 1fr; } .km-split--reverse .km-split__body { order: 1; } }

/* Testimonials */
.km-cards { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.km-card { background: #fff; border: 1px solid var(--km-border); border-radius: var(--km-radius); padding: 2rem; display: flex; flex-direction: column; }
.km-card h3 { font-size: 1.15rem; margin-bottom: 0.75rem; }
.km-card blockquote { margin: 0 0 1.25rem; flex: 1; }
.km-card blockquote p { margin: 0; font-style: italic; }
.km-card footer strong { display: block; font-family: var(--km-font-heading); color: var(--km-secondary); }
.km-card footer span { font-size: 0.9rem; color: var(--km-text-muted); }

/* FAQ */
.km-faq { max-width: 820px; margin-inline: auto; }
.km-faq__item { border: 1px solid var(--km-border); border-radius: var(--km-radius-btn); margin-bottom: 0.75rem; background: #fff; }
.km-faq__item summary { cursor: pointer; list-style: none; padding: 1.1rem 3rem 1.1rem 1.25rem; font-family: var(--km-font-heading); font-weight: 700; color: var(--km-secondary); position: relative; }
.km-faq__item summary::-webkit-details-marker { display: none; }
.km-faq__item summary::after { content: '+'; position: absolute; right: 1.25rem; top: 50%; transform: translateY(-50%); font-size: 1.4rem; color: var(--km-orange-600); transition: transform 0.2s; }
.km-faq__item[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.km-faq__answer { padding: 0 1.25rem 1.1rem; }
.km-faq__answer p { margin: 0; }

/* Video */
.km-video { position: relative; aspect-ratio: 16 / 9; border-radius: var(--km-radius); overflow: hidden; box-shadow: var(--km-shadow); }
.km-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Kontakt */
.km-kontakt { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 3rem; align-items: start; }
.km-kontakt__card { border: 1px solid rgba(255, 255, 255, 0.12); border-radius: var(--km-radius); padding: 1.5rem; margin-bottom: 1rem; display: flex; gap: 1rem; align-items: flex-start; }
.km-kontakt__icon { color: var(--km-orange-600); flex: 0 0 auto; margin-top: 0.2rem; }
.km-kontakt__card h3 { margin-bottom: 0.35rem; font-size: 1.1rem; }
.km-kontakt__card h3 a { color: #fff; }
.km-kontakt__card h3 a:hover { color: var(--km-orange-400); }
.km-kontakt__card p { margin: 0; font-size: 0.95rem; }
.km-kontakt__form { background: #fff; border-radius: var(--km-radius); padding: 2rem; box-shadow: var(--km-shadow); }
.km-kontakt__form h3 { color: var(--km-secondary); }
.km-kontakt__form .wpforms-field input, .km-kontakt__form .wpforms-field textarea { width: 100%; border: 1px solid var(--km-border); border-radius: var(--km-radius-btn); padding: 12px 14px; font-family: var(--km-font-body); font-size: 1rem; }
.km-kontakt__form .wpforms-submit, .km-kontakt__form button[type=submit], .km-kontakt__form div.wpforms-container-full .wpforms-form button[type=submit] { background: var(--km-primary) !important; color: #fff !important; font-family: var(--km-font-heading) !important; font-weight: 700 !important; font-size: 1.0625rem !important; line-height: 1.2 !important; border: 0 !important; border-radius: 999px !important; padding: 18px 36px !important; min-height: 56px !important; height: auto !important; box-shadow: 0 10px 26px rgba(255, 140, 56, 0.38) !important; cursor: pointer; transition: background 0.15s ease; }
.km-kontakt__form .wpforms-submit:hover, .km-kontakt__form button[type=submit]:hover { background: var(--km-orange-700) !important; color: #fff !important; }
@media (max-width: 900px) { .km-kontakt { grid-template-columns: 1fr; } }

/* Sektion: Creme */
.km-section--cream { background: var(--km-orange-50); }

/* Stats: helle Variante mit dunklen Werten (Original) */
.km-stats-section:not(.km-section--dark) .km-stat__value { color: var(--km-secondary); }

/* CTA-Bar (dunkler Balken auf hellem Grund) */
.km-cta-bar-section { padding-block: 1rem 3.5rem; }
.km-cta__bar { background: #fff; border-radius: 20px; box-shadow: var(--km-shadow); padding: 1.5rem 2rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap; }
.km-cta__bar-title { margin: 0; color: var(--km-secondary); font-family: var(--km-font-heading); font-weight: 700; font-size: 1.25rem; }
.km-cta__bar .km-btn { background: var(--km-secondary); color: #fff; box-shadow: none; }
.km-cta__bar .km-btn:hover { background: var(--km-blue-800); }

/* Testimonials: dunkle Karten mit Sternen (Original) */
.km-testimonials-section { background: #fff; }
.km-card { background: linear-gradient(160deg, var(--km-secondary), var(--km-blue-950)); border: none; }
.km-card__stars { color: var(--km-orange-400); letter-spacing: 3px; margin-bottom: 0.75rem; font-size: 0.95rem; }
.km-card h3 { color: #fff; }
.km-card blockquote p { color: var(--km-on-dark); }
.km-card footer strong { color: #fff; }
.km-card footer span { color: var(--km-text-muted); }

/* Video: zweispaltig, weißes Eyebrow (Original) */
.km-video-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 3rem; align-items: center; }
.km-video-section .km-eyebrow { color: #fff; }
.km-video__body .km-btn { margin-top: 1.25rem; }
@media (max-width: 900px) { .km-video-grid { grid-template-columns: 1fr; } }

/* Progress-Card (Autopilot Dashboard) */
.km-progress-card { background: #fff; border-radius: var(--km-radius); box-shadow: var(--km-shadow); padding: 2rem; }
.km-progress-card h3 { margin-bottom: 0.25rem; font-size: 1.125rem; }
.km-progress-card__sub { margin: 0 0 1.5rem; font-size: 0.9rem; color: var(--km-text-muted); }
.km-progress { margin-bottom: 1.25rem; }
.km-progress:last-child { margin-bottom: 0; }
.km-progress__head { display: flex; justify-content: space-between; margin-bottom: 0.45rem; font-size: 0.95rem; }
.km-progress__badge { font-family: var(--km-font-heading); font-weight: 700; color: var(--km-orange-600); }
.km-progress__track { height: 10px; border-radius: 5px; background: var(--km-border); overflow: hidden; }
.km-progress__fill { height: 100%; border-radius: 5px; background: linear-gradient(90deg, var(--km-orange-400), var(--km-orange-600)); transform-origin: left; animation: km-fill 1.2s ease-out backwards; }
@keyframes km-fill { from { width: 0 !important; } }

/* Kontakt: helle Variante (Original Startseite) */
.km-kontakt-section--light .km-section-head h2 { color: var(--km-secondary); }
.km-kontakt-section--light .km-kontakt__card { background: transparent; border: none; padding: 0.5rem 0; }
.km-kontakt-section--light .km-kontakt__card h3, .km-kontakt-section--light .km-kontakt__card h3 a { color: var(--km-secondary); }
.km-kontakt-section--light .km-kontakt__card h3 a:hover { color: var(--km-orange-600); }
.km-kontakt-section--light .km-kontakt__card p { color: var(--km-text); }
/* YouTube-Button (Original: YouTube-Rot) */
.km-video__body .km-btn { background: #FF0000; color: #fff; box-shadow: none; }
.km-video__body .km-btn:hover { background: #cc0000; }

/* Akzente auf dunklen Sektionen (Original: #FF9A00) */
.km-on-dark .km-accent, .km-section--dark .km-accent { color: var(--km-orange-400); }

/* Zentrierter Sektions-CTA (unter Testimonials/FAQ) */
.km-section-cta { text-align: center; margin-top: 2.5rem; }

/* Step-Icons (Original: orange, oben) */
.km-step__icon { display: inline-block; color: var(--km-orange-600); margin-bottom: 0.25rem; }
/* Einzelner Stats-Akzent (Original: 24/7 orange) */
.km-stats-section .km-stat--accent .km-stat__value { color: var(--km-orange-600); }
