/*
 * Mittelmeiers Theme - Coaching Page Styles
 */

/* ── COACHING HERO ───────────────────────── */
.coaching-hero {
  /*margin-top: 72px;*/
  display: grid;
  grid-template-columns: 55% 45%;
  min-height: 80vh;
  border-bottom: var(--linie);
}

.coaching-hero .hero-text {
  padding: 8vh 5% 8vh 5%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  animation: einblenden 0.8s ease both;
}

.coaching-hero .breadcrumb {
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--grau-mittel);
  margin-bottom: 1.6rem;
}

.coaching-hero .breadcrumb a {
  color: var(--rot);
  text-decoration: none;
}

.coaching-hero .rubrik {
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--rot);
  font-weight: 600;
  margin-bottom: 0.9rem;
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.coaching-hero .rubrik::before {
  content: '';
  width: 2.5rem;
  height: 2px;
  background: var(--rot);
  flex-shrink: 0;
}

.coaching-hero .hero-titel {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2rem, 3.8vw, 3.2rem);
  font-weight: 700;
  line-height: 1.1;
  color: var(--schwarz);
  margin-bottom: 0.6rem;
  letter-spacing: -0.015em;
}

.coaching-hero .hero-untertitel {
  font-family: 'Playfair Display', serif;
  font-size: 1.1rem;
  font-style: italic;
  color: var(--grau-mittel);
  margin-bottom: 1.8rem;
}

.coaching-hero .hero-lead {
  font-size: 1rem;
  line-height: 1.85;
  color: var(--grau-tief);
  max-width: 52ch;
  margin-bottom: 2.2rem;
}

.coaching-hero .hero-lead strong {
  color: var(--schwarz);
  font-weight: 600;
}

.coaching-hero .hero-bild {
  overflow: hidden;
  min-height: 400px;
  background: linear-gradient(140deg, #ede8e0 0%, #d5cec5 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 0.8rem;
  color: var(--grau-mittel);
  animation: einblenden 0.9s ease 0.1s both;
}

.coaching-hero .hero-bild img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.coaching-hero .hero-bild span {
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* ── ANSATZ SECTION ──────────────────────── */
.ansatz {
  max-width: 860px;
  margin: 0 auto;
  padding: 6rem 5%;
}

/* ── PREMIUM SECTION ─────────────────────── */
.premium {
  background: var(--schwarz);
  padding: 6rem 5%;
}

.premium-inner {
  max-width: 1100px;
  margin: 0 auto;
}

.premium .section-rubrik {
  color: rgba(255,255,255,0.45);
}

.premium .section-titel {
  color: var(--weiss);
  margin-bottom: 0.6rem;
}

.premium-sub {
  font-size: 0.97rem;
  color: rgba(255,255,255,0.6);
  max-width: 58ch;
  margin-bottom: 4rem;
  line-height: 1.8;
}

.premium-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
}

.premium-karte {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  padding: 2.8rem;
  transition: background 0.2s;
}

.premium-karte:hover {
  background: rgba(255,255,255,0.08);
}

.premium-karte:first-child {
  border-right: none;
}

.pk-tag {
  font-size: 0.65rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--rot);
  font-weight: 600;
  margin-bottom: 1rem;
}

.pk-titel {
  font-family: 'Playfair Display', serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--weiss);
  margin-bottom: 0.4rem;
}

.pk-untertitel {
  font-size: 0.88rem;
  font-style: italic;
  color: rgba(255,255,255,0.45);
  margin-bottom: 1.6rem;
}

.pk-text {
  font-size: 0.92rem;
  line-height: 1.82;
  color: rgba(255,255,255,0.7);
  margin-bottom: 1.8rem;
}

.pk-text strong {
  color: var(--weiss);
  font-weight: 600;
}

.pk-liste {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px solid rgba(255,255,255,0.1);
  padding-top: 1.4rem;
}

.pk-item {
  display: flex;
  gap: 0.8rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  font-size: 0.88rem;
  color: rgba(255,255,255,0.65);
  align-items: flex-start;
}

.pk-item:last-child {
  border-bottom: none;
}

.pk-item::before {
  content: '→';
  color: var(--rot);
  flex-shrink: 0;
  margin-top: 0.05rem;
}

.pk-anfrage {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.75rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  margin-top: 1.8rem;
  border-bottom: 1px solid rgba(255,255,255,0.2);
  padding-bottom: 0.2rem;
  cursor: pointer;
  transition: color 0.2s, border-color 0.2s;
  background: none;
  border-top: none;
  border-left: none;
  border-right: none;
  font-family: 'Source Serif 4', serif;
}

.pk-anfrage:hover {
  color: var(--weiss);
  border-color: var(--weiss);
}

.pk-anfrage::after {
  content: '→';
}

/* ── INHOUSE WORKSHOP SECTION ────────────── */
.inhouse-section {
  background: var(--creme);
  border-top: var(--linie);
  border-bottom: var(--linie);
  padding: 5.5rem 5%;
}

.inhouse-container {
  max-width: 1100px;
  margin: 0 auto;
}

.inhouse-themen-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2rem;
  margin-bottom: 3rem;
}

.inhouse-thema {
  border-top: 2px solid var(--rot);
  padding-top: 1.4rem;
}

.inhouse-thema.individuell {
  border-top: 2px solid var(--schwarz);
  background: var(--weiss);
  padding: 1.4rem;
  border: 1px solid var(--grau-hell);
}

.inhouse-thema-tag {
  font-size: 0.65rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--rot);
  font-weight: 600;
  margin-bottom: 0.7rem;
}

.inhouse-thema.individuell .inhouse-thema-tag {
  color: var(--grau-mittel);
}

.inhouse-thema-titel {
  font-family: 'Playfair Display', serif;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--schwarz);
  margin-bottom: 0.8rem;
  line-height: 1.3;
}

.inhouse-thema-text {
  font-size: 0.88rem;
  line-height: 1.75;
  color: var(--grau-tief);
}

.inhouse-info-bar {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 0;
  border-top: var(--linie);
  border-bottom: var(--linie);
  margin-bottom: 2.5rem;
}

.inhouse-info-item {
  padding: 1.2rem;
  border-right: var(--linie);
}

.inhouse-info-item:first-child {
  padding-left: 0;
}

.inhouse-info-item:last-child {
  border-right: none;
  padding-right: 0;
}

.inhouse-info-label {
  font-size: 0.65rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--grau-mittel);
  margin-bottom: 0.3rem;
}

.inhouse-info-wert {
  font-size: 0.92rem;
  color: var(--schwarz);
  font-weight: 600;
}

/* ── FORMATE SECTION ─────────────────────── */
.formate {
  max-width: 1100px;
  margin: 0 auto;
  padding: 6rem 5%;
}

.formate-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2rem;
  margin-top: 3rem;
}

.format-karte {
  border-top: 2px solid var(--rot);
  padding-top: 1.4rem;
  transition: border-color 0.2s;
}

.format-tag {
  font-size: 0.65rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--rot);
  font-weight: 600;
  margin-bottom: 0.7rem;
}

.format-titel {
  font-family: 'Playfair Display', serif;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--schwarz);
  margin-bottom: 1rem;
  line-height: 1.2;
}

.format-text {
  font-size: 0.9rem;
  line-height: 1.78;
  color: var(--grau-tief);
  margin-bottom: 1.4rem;
}

.format-text strong {
  color: var(--schwarz);
  font-weight: 600;
}

.format-details {
  border-top: var(--linie);
  padding-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.format-detail {
  display: flex;
  gap: 0.6rem;
  font-size: 0.8rem;
  color: var(--grau-mittel);
}

.format-detail span:first-child {
  font-weight: 600;
  color: var(--grau-tief);
  min-width: 60px;
}

/* ── PRIVATPERSONEN SECTION ──────────────── */
.privat-section {
  border-top: var(--linie);
  padding: 5rem 5%;
}

.privat-container {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 44% 1fr;
  gap: 6rem;
  align-items: center;
}

.privat-themen-box {
  border-top: 2px solid var(--rot);
  padding-top: 1.6rem;
}

.privat-themen-titel {
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--rot);
  font-weight: 600;
  margin-bottom: 1.2rem;
}

.privat-themen-liste {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.privat-thema {
  padding: 0.75rem 0;
  border-bottom: var(--linie);
  display: flex;
  gap: 0.8rem;
  font-size: 0.92rem;
  color: var(--grau-tief);
  align-items: flex-start;
}

.privat-thema:last-child {
  border-bottom: none;
}

.privat-thema::before {
  content: '→';
  color: var(--rot);
  flex-shrink: 0;
}

/* ── METHODIK SECTION ────────────────────── */
.methodik {
  background: var(--creme);
  border-top: var(--linie);
  border-bottom: var(--linie);
  padding: 5.5rem 5%;
}

.methodik-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 44% 1fr;
  gap: 6rem;
  align-items: center;
}

.methodik-text .section-rubrik {
  margin-bottom: 1rem;
}

.methodik-titel {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.6rem, 2.5vw, 2.2rem);
  font-weight: 700;
  color: var(--schwarz);
  line-height: 1.2;
  margin-bottom: 1.6rem;
}

.methodik-absatz {
  font-size: 0.95rem;
  line-height: 1.85;
  color: var(--grau-tief);
  margin-bottom: 1rem;
}

.methodik-absatz strong {
  color: var(--schwarz);
  font-weight: 600;
}

.zertifizierungen {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.zertifizierung {
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: 1.2rem;
  padding: 1.2rem 0;
  border-bottom: var(--linie);
  align-items: start;
}

.zertifizierung:last-child {
  border-bottom: none;
}

.zert-nummer {
  font-family: 'Playfair Display', serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--rot);
  line-height: 1;
  padding-top: 0.1rem;
}

.zert-name {
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--schwarz);
  margin-bottom: 0.2rem;
}

.zert-beschreibung {
  font-size: 0.82rem;
  line-height: 1.65;
  color: var(--grau-mittel);
}

/* ── PROZESS SECTION ─────────────────────── */
.prozess {
  max-width: 900px;
  margin: 0 auto;
  padding: 6rem 5%;
}

.prozess-schritte {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 3rem;
}

.prozess-schritt {
  display: grid;
  grid-template-columns: 3.5rem 1fr;
  gap: 1.8rem;
  padding: 1.8rem 0;
  border-bottom: var(--linie);
}

.prozess-schritt:last-child {
  border-bottom: none;
}

.schritt-zahl {
  font-family: 'Playfair Display', serif;
  font-size: 2rem;
  font-weight: 700;
  color: var(--grau-hell);
  line-height: 1;
  padding-top: 0.1rem;
}

.schritt-titel {
  font-family: 'Playfair Display', serif;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--schwarz);
  margin-bottom: 0.4rem;
}

.schritt-text {
  font-size: 0.9rem;
  line-height: 1.75;
  color: var(--grau-tief);
  max-width: 54ch;
}
