/* =====================================================================
   Content styling for course/subpages – 2026 refactor
   Loaded after style.css/kk-header.css. Applies to the course content
   container (#kk-features on the /kurse/ pages).
   ===================================================================== */

/* ---------- White hero (course/subpages) ---------- */
#kk-hero.kk-page-hero {
  float: none;
  height: auto;
  min-height: 0;
  padding: 64px 0 40px;
  background: #fff;
  overflow: visible;
}

#kk-hero.kk-page-hero .kk-intro {
  color: inherit;
}

#kk-hero.kk-page-hero .kk-intro .kk-text {
  bottom: 0;
}

#kk-hero.kk-page-hero .kk-intro h1 {
  margin: 0 auto 18px;
  max-width: 880px;
  color: #2b2f33;
  font-size: 38px;
  line-height: 1.18;
}

#kk-hero.kk-page-hero .kk-intro p {
  max-width: 720px;
  margin: 0 auto 22px;
  color: #5a6066;
  letter-spacing: 0;
}

#kk-hero.kk-page-hero .kk-intro .btn i {
  color: #fff;
}

@media (max-width: 768px) {
  #kk-hero.kk-page-hero {
    padding: 40px 0 28px;
  }
  #kk-hero.kk-page-hero .kk-intro h1 {
    font-size: 28px;
  }
}

/* ---------- ProvenExpert widget ---------- */
/* Exclude it from the template's global a { transition: .5s }, which otherwise
   collides with the widget's own slider script (banner disappears on unhover). */
#ProvenExpert_widget_container,
#ProvenExpert_widget_container * {
  transition: none !important;
}

/* ---------- Homepage training teaser (single centered column) ---------- */
.kk-teaser {
  padding-top: 10px;
  padding-bottom: 10px;
}

.kk-teaser .class-logo {
  display: block;
  margin: 0 auto 18px;
}

.kk-teaser h2 {
  margin: 0 0 12px;
}

.kk-teaser .kk-sub {
  margin: 0 0 24px;
}

.kk-teaser .btn {
  margin: 0;
}

/* ---------- Benefit cards ("Das nimmt Ihr Kind mit") ---------- */
#kk-features .kk-text-wrap {
  margin-bottom: 24px;
}

#kk-features .kk-text-wrap .kk-text {
  background: #f6f9fb;
  border: 1px solid #e9eff3;
  border-radius: 14px;
  padding: 26px 20px;
}

#kk-features .kk-text-wrap .kk-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  margin: 0 0 16px;
  border-radius: 50%;
  background: #006892;
  color: #fff;
  font-size: 24px;
}

#kk-features .kk-text-wrap .kk-icon i {
  color: #fff;
}

#kk-features .kk-text-wrap ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

#kk-features .kk-text-wrap li {
  padding: 8px 4px;
  font-size: 15px;
  line-height: 1.4;
  color: #4a4f54;
  border-bottom: 1px solid #e9eff3;
}

#kk-features .kk-text-wrap li:last-child {
  border-bottom: 0;
}

/* ---------- Divider ---------- */
#kk-features hr {
  border: 0;
  height: 1px;
  /* currentColor = section text color: dark on light, light on dark sections */
  color: inherit;
  background: linear-gradient(90deg, transparent, currentColor, transparent);
  opacity: 0.4;
  max-width: 680px;
  margin: 32px auto;
}

/* ---------- Headings inside the course content ---------- */
#kk-features h3 {
  font-family: "Montserrat", Arial, sans-serif;
  font-weight: 700;
  margin-bottom: 28px;
}

/* Headings inherit the section text color (otherwise black/unreadable
   on colored section backgrounds, e.g. the purple Kickbox-Minis). */
#kk-features h3,
#kk-features h4,
#kk-features h5 {
  color: inherit;
}

/* Reduce section-heading spacing – 4em was far too much. */
.kk-section-heading {
  margin-bottom: 1.5em;
}

/* ---------- Button icons (white instead of dark on colored buttons) ---------- */
.btn i,
.btn-primary i,
.kk-header-cta i {
  color: inherit;
}

/* Button icons always white – overrides the section theme color
   (div#kk-features.<course> i { color: … }). */
.btn-primary i,
#kk-features .btn-primary i {
  color: #fff !important;
}

/* small gap between icon and button text */
.btn i[class^="icon-"],
.btn i[class^="fa"] {
  margin-right: 6px;
}

/* Button text always white – section link colors (e.g. kickboxing-teens
   a { color:#000 }) must not turn the green CTA black. */
.btn-primary,
#kk-features a.btn-primary,
#kk-hero a.btn-primary {
  color: #fff !important;
}

/* Wrap long button labels instead of overflowing the page width. */
.btn {
  white-space: normal;
  max-width: 100%;
}

/* ---------- Mobile-Feinschliff ---------- */
@media (max-width: 767px) {
  /* Tighten vertical spacing on mobile */
  #kk-features {
    padding-top: 32px;
    padding-bottom: 32px;
  }
  #kk-features hr {
    margin: 22px auto;
  }
  #kk-features h3 {
    font-size: 22px;
    margin-bottom: 20px;
  }
  #kk-features .kk-text-wrap {
    margin-bottom: 16px;
  }
  #kk-features .kk-text-wrap .kk-text {
    padding: 22px 18px;
  }
  #kk-features .row.vertical-align p {
    text-align: left;
  }
  /* 80px block bottom spacing is too much on mobile (stacked) */
  #kk-features .row.vertical-align {
    padding-bottom: 28px;
  }
  /* Give images some spacing from the heading below */
  #kk-features .row.vertical-align img {
    margin-bottom: 14px;
  }
}
