/**
 * Neues Design (V2) – gesamte Seite marketing-seminare.com
 *
 * Generiert aus einer Quelldatei mit Selektor-Makros; Änderungen direkt hier pflegen.
 *
 * Alle Regeln hängen an body.mv-v2 (alle Seiten) bzw. body.mv-sub (alle Seiten
 * außer Startseite). Die Startseite hat zusätzlich eigene Regeln in home-v2.css.
 * Gesetzt in inc/site-v2.php. Farben bleiben Navy (#0f1d2f) + Amber (#f59e0b).
 *
 * „Überlagerter Header": Ist das erste Element in #ms-main ein dunkler Hero
 * (.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, .mv-hero, section.bg-brand-900)
 * oder eine Brotkrumen-Leiste, liegen Top-Bar und Header transparent über dem Hero
 * (Erkennung per :has(), kein JS nötig). Alle anderen Seiten behalten den weißen Header.
 */

.mv-v2 {
  --mv-ink: #0f1d2f;
  --mv-navy: #0f1d2f;
  --mv-navy-2: #1e3a5f;
  --mv-navy-3: #2a4a6e;
  --mv-amber: #f59e0b;
  --mv-amber-hi: #fbbf24;
  --mv-amber-dark: #b45309;
  --mv-amber-soft: #fff7e6;
  --mv-soft: #f4f6f8;
  --mv-line: #e5e9f0;
  --mv-hero-bg:
    radial-gradient(rgba(255, 255, 255, 0.075) 1.2px, transparent 1.6px) 0 0 / 28px 28px,
    radial-gradient(50rem 26rem at 92% -10%, rgba(245, 158, 11, 0.24), transparent 62%),
    radial-gradient(42rem 24rem at -6% 112%, rgba(90, 109, 140, 0.34), transparent 60%),
    linear-gradient(135deg, #0a1422 0%, #0f1d2f 42%, #1e3a5f 100%);
  --mv-radius: 24px;
  --mv-shadow: 0 18px 50px rgba(15, 29, 47, 0.16);
  --mv-shadow-sm: 0 6px 18px rgba(15, 29, 47, 0.09);
  --mv-bar: 0px;
  --mv-nav-h: 65px;
  --mv-curve: 28px;
}
@media (min-width: 768px) {
  .mv-v2 { --mv-bar: 40px; --mv-curve: 44px; }
}
@media (min-width: 1024px) {
  .mv-v2 { --mv-nav-h: 81px; }
}

/* ============================================================
   Buttons: Pillen
   ============================================================ */
body.mv-v2 :is(#ms-main, .mv-nav) :is(a, button)[class*="inline-flex"]:is([class*="rounded-xl"], [class*="rounded-lg"], [class*="rounded-md"]) { border-radius: 999px; }
body.mv-v2 #ms-main :is(a, button)[class*="block"][class*="rounded-xl"][class*="text-center"] { border-radius: 999px; }
body.mv-v2 #ms-main :is(h1, h2, h3), body.mv-v2 :is(h1, h2, h3) { letter-spacing: -0.02em; }
body.mv-v2 .rounded-2xl { border-radius: 22px; }
body.mv-v2 .rounded-3xl { border-radius: 32px; }

/* Primäre Aktion: Amber auf Navy – Markenzeichen der Seite */
body.mv-v2 .mv-btn-cta {
  background: var(--mv-amber); color: var(--mv-navy);
  border-radius: 999px;
  box-shadow: 0 8px 22px rgba(245, 158, 11, 0.35);
}
body.mv-v2 .mv-btn-cta:hover { background: var(--mv-amber-hi); box-shadow: 0 12px 28px rgba(245, 158, 11, 0.45); }
body.mv-v2 .mv-btn-ghost { border-radius: 999px; }

/* Eyebrows (kleine Überschriften über H2): Amber statt Navy */
body.mv-v2 #ms-main .uppercase.tracking-wider.text-brand-600 { color: var(--mv-amber-dark); letter-spacing: 0.12em; }

/* Termin-Kachel (Datum): in Karten, Termin-Board und Listen */
body.mv-v2 .mv-date {
  display: inline-flex; flex: none; flex-direction: column; align-items: center; justify-content: center;
  width: 54px; height: 58px; border-radius: 15px;
  background: #fef3c7; border: 1px solid #fde68a; color: var(--mv-navy);
  line-height: 1; text-align: center;
}
body.mv-v2 .mv-date b { display: block; font-size: 1.4rem; font-weight: 800; letter-spacing: -0.03em; }
body.mv-v2 .mv-date i { display: block; margin-top: 3px; font-size: 0.64rem; font-style: normal; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--mv-amber-dark); }

/* Robustheit auf schmalen Bildschirmen: Grid-Zellen dürfen schrumpfen, Tabellen scrollen */
body.mv-v2 #ms-main .grid > * { min-width: 0; overflow-wrap: break-word; }
body.mv-v2 #ms-main .flex > div { min-width: 0; }
body.mv-v2 #ms-main :is(.grid, .flex) :is(p, h2, h3, h4, .font-bold) { overflow-wrap: break-word; }
body.mv-v2 #ms-main :is(h1, h2, h3, h4) { overflow-wrap: break-word; hyphens: manual; }
@media (max-width: 639px) {
  body.mv-v2 #ms-main :is(h1, h2, h3, h4, .grid p, .flex p, .font-bold) { hyphens: auto; }
}
body.mv-v2 #ms-main :is(p, li, td, dd) { overflow-wrap: break-word; }
body.mv-v2 #ms-main :not(.overflow-x-auto) > table { display: block; max-width: 100%; overflow-x: auto; }
body.mv-v2 { overflow-x: clip; }

/* ============================================================
   Karten (Seminare, Blog): weicher, runder, Amber-Akzent
   ============================================================ */
body.mv-v2 .card-hover {
  border-radius: 24px;
  border-color: var(--mv-line);
  box-shadow: 0 1px 2px rgba(15, 29, 47, 0.04), 0 10px 28px rgba(15, 29, 47, 0.07);
}
body.mv-v2 .card-hover:hover { box-shadow: 0 24px 50px rgba(15, 29, 47, 0.15); }
body.mv-v2 .card-hover > .h-2.bg-gradient-to-r { height: 4px; background: linear-gradient(90deg, var(--mv-amber), var(--mv-amber-hi) 55%, #fde68a); }
body.mv-v2 .card-hover .mv-next { display: flex; align-items: center; gap: 0.7rem; }
body.mv-v2 .card-hover .mv-next .mv-date { width: 46px; height: 50px; border-radius: 13px; }
body.mv-v2 .card-hover .mv-next .mv-date b { font-size: 1.15rem; }
body.mv-v2 .card-hover .mv-next .mv-date i { font-size: 0.58rem; margin-top: 2px; }
body.mv-v2 .topic-chip { border-radius: 999px; }

/* Termin-Tabelle als Karte */
body.mv-v2 #termin-liste .overflow-x-auto {
  padding: 0.5rem 1.25rem;
  border: 1px solid var(--mv-line); border-radius: 24px;
  background: #fff; box-shadow: var(--mv-shadow-sm);
}
body.mv-v2 #termin-liste thead th { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.1em; }
body.mv-v2 #termin-liste tbody tr:last-child { border-bottom-width: 0; }
body.mv-v2 #termin-liste tbody tr:hover { background: #fffdf7; }

/* ============================================================
   Header + Top-Bar: transparent über dunklem Hero
   ============================================================ */
body.mv-v2 .mv-topbar { height: var(--mv-bar); padding-top: 0; padding-bottom: 0; }
body.mv-v2 .mv-topbar > div { height: 100%; }
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-topbar {
  position: absolute; top: 0; left: 0; right: 0; z-index: 60;
  background: transparent;
  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav {
  margin-top: var(--mv-bar);
  margin-bottom: calc((var(--mv-bar) + var(--mv-nav-h)) * -1);
  background-color: transparent;
  border-bottom-color: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transition: background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav a img { filter: brightness(0) invert(1); transition: filter 0.25s ease; }
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav a .text-gray-500 { color: rgba(255, 255, 255, 0.72); }
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav .lg\:flex > a { color: rgba(255, 255, 255, 0.92); border-radius: 999px; }
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav .lg\:flex > a:hover { color: #fff; background: rgba(255, 255, 255, 0.12); }
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav #mobile-menu-btn { color: #fff; }
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav .mv-btn-ghost { background: transparent; border-color: rgba(255, 255, 255, 0.42); color: #fff; }
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav .mv-btn-ghost:hover { background: rgba(255, 255, 255, 0.14); border-color: #fff; }

/* Mobiles Menü legt sich über den Hero statt ihn nach unten zu schieben */
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav #mobile-menu {
  position: absolute; top: 100%; left: 0; right: 0;
  border-radius: 0 0 24px 24px;
  box-shadow: 0 18px 40px rgba(15, 29, 47, 0.2);
}

/* Weißer Zustand: gescrollt oder mobiles Menü offen */
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav.mv-nav--scrolled,
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav:has(#mobile-menu:not(.hidden)) {
  background-color: rgba(255, 255, 255, 0.96);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-bottom-color: var(--mv-line);
  box-shadow: var(--mv-shadow-sm);
}
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav.mv-nav--scrolled a img,
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav:has(#mobile-menu:not(.hidden)) a img { filter: none; }
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav.mv-nav--scrolled a .text-gray-500,
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav:has(#mobile-menu:not(.hidden)) a .text-gray-500 { color: #6b7280; }
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav.mv-nav--scrolled .lg\:flex > a,
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav:has(#mobile-menu:not(.hidden)) .lg\:flex > a { color: #374151; }
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav.mv-nav--scrolled .lg\:flex > a:hover,
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav:has(#mobile-menu:not(.hidden)) .lg\:flex > a:hover { color: var(--mv-navy); background: var(--mv-amber-soft); }
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav.mv-nav--scrolled #mobile-menu-btn,
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav:has(#mobile-menu:not(.hidden)) #mobile-menu-btn { color: #4b5563; }
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav.mv-nav--scrolled .mv-btn-ghost,
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav:has(#mobile-menu:not(.hidden)) .mv-btn-ghost { background: #fff; border-color: #cfd8e6; color: #0c1828; }
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav.mv-nav--scrolled .mv-btn-ghost:hover,
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav:has(#mobile-menu:not(.hidden)) .mv-btn-ghost:hover { background: var(--mv-soft); border-color: var(--mv-navy-2); }

/* Solider Header (Seiten ohne dunklen Hero) */
body.mv-v2 .mv-nav:not(.mv-nav--scrolled) .lg\:flex > a { border-radius: 999px; }
body.mv-v2 .mv-nav .lg\:flex > a:hover { background: var(--mv-amber-soft); color: var(--mv-navy); }
body.mv-v2 .mv-nav #mobile-menu a:hover { background: var(--mv-amber-soft); color: var(--mv-navy); }

/* ============================================================
   Hero (erstes Element im Inhalt): dunkle Fläche mit geschwungener Kante
   ============================================================ */
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) :is(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero), .mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:has(+ .gradient-hero) + .gradient-hero) {
  --mv-next-bg: #fff;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-top: calc(var(--mv-bar) + var(--mv-nav-h));
  padding-bottom: calc(var(--mv-curve) * 0.5);
  background: var(--mv-hero-bg);
  color: #fff;
}
/* Heros mit eigenem Innenabstand (py-*) bekommen oben zusätzlich Luft */
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) :is(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero), .mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:has(+ .gradient-hero) + .gradient-hero)[class*="py-"] { padding-top: calc(var(--mv-bar) + var(--mv-nav-h) + 2.5rem); padding-bottom: calc(var(--mv-curve) + 2.5rem); }
@media (min-width: 768px) {
  body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) :is(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero), .mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:has(+ .gradient-hero) + .gradient-hero)[class*="py-"] { padding-top: calc(var(--mv-bar) + var(--mv-nav-h) + 3.5rem); padding-bottom: calc(var(--mv-curve) + 3rem); }
}
/* Seminar-Hero hat Brotkrumen ganz oben */
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .ms-seminar-hero { padding-top: calc(var(--mv-bar) + var(--mv-nav-h) + 0.9rem); }
/* Konzentrische Amber-Ringe (Spotlight) */
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) :is(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero), .mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:has(+ .gradient-hero) + .gradient-hero)::before {
  content: ''; position: absolute; z-index: -1; pointer-events: none; inset: 0;
  background:
    radial-gradient(circle at 90% 6%, transparent 0 15rem, rgba(245, 158, 11, 0.30) calc(15rem + 1px) calc(15rem + 2px), transparent calc(15rem + 3px)),
    radial-gradient(circle at 90% 6%, transparent 0 22rem, rgba(245, 158, 11, 0.18) calc(22rem + 1px) calc(22rem + 2px), transparent calc(22rem + 3px)),
    radial-gradient(circle at 90% 6%, transparent 0 30rem, rgba(245, 158, 11, 0.10) calc(30rem + 1px) calc(30rem + 2px), transparent calc(30rem + 3px));
}
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) :is(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero), .mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:has(+ .gradient-hero) + .gradient-hero)::after {
  content: ''; position: absolute; z-index: 2; pointer-events: none;
  left: 0; right: 0; bottom: -1px; height: var(--mv-curve);
  background: var(--mv-next-bg);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath d='M0 0Q50 20 100 0V10H0Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath d='M0 0Q50 20 100 0V10H0Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
/* Deko-Blobs des Alt-Designs ausblenden (Ringe ersetzen sie) */
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) :is(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero), .mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:has(+ .gradient-hero) + .gradient-hero) > .absolute.inset-0 { display: none; }
/* Inhalt über der Kante halten */
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) :is(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero), .mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:has(+ .gradient-hero) + .gradient-hero) > .relative { z-index: 3; }
/* Unterseiten: kein Vollbild-Hero */
body.mv-v2.mv-sub .gradient-hero { min-height: 0; }
/* .gradient-hero ist ein Flex-Container (Spalte): Inhalt auf volle Breite ziehen */
body.mv-v2 .gradient-hero > .relative { width: 100%; }

/* Akzent im Hero-Titel */
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) :is(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero), .mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:has(+ .gradient-hero) + .gradient-hero) .text-brand-300 { color: var(--mv-amber-hi); }
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) :is(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero), .mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:has(+ .gradient-hero) + .gradient-hero) .text-accent-500 { color: var(--mv-amber-hi); }

/* Hero-Buttons (ms_render_hero_cta_buttons u. a.): Amber-Pille + Ghost */
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) :is(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero), .mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:has(+ .gradient-hero) + .gradient-hero) a[class*="bg-white"][class*="font-bold"] {
  background: var(--mv-amber); color: var(--mv-navy); border-radius: 999px;
  box-shadow: 0 10px 26px rgba(245, 158, 11, 0.38);
}
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) :is(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero), .mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:has(+ .gradient-hero) + .gradient-hero) a[class*="bg-white"][class*="font-bold"]:hover { background: var(--mv-amber-hi); }
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) :is(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero), .mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:has(+ .gradient-hero) + .gradient-hero) a[class*="border-white/30"] { border-radius: 999px; }
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) :is(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero), .mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:has(+ .gradient-hero) + .gradient-hero) a[class*="border-white/30"]:hover { background: rgba(255, 255, 255, 0.14); border-color: rgba(255, 255, 255, 0.7); }
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) :is(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero), .mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:has(+ .gradient-hero) + .gradient-hero) a[class*="bg-amber-"] { border-radius: 999px; }

/* Brotkrumen-Leiste (Glossar-, Partner-, Trainer-Seiten, Städte) als schlankes dunkles Band */
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:not(:has(+ .gradient-hero)) {
  background: var(--mv-hero-bg);
  padding-top: calc(var(--mv-bar) + var(--mv-nav-h) + 0.75rem);
  padding-bottom: calc(var(--mv-curve) + 0.5rem);
  border-bottom-width: 0;
  position: relative; isolation: isolate; overflow: hidden;
  --mv-next-bg: #fff;
}
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:not(:has(+ .gradient-hero))::after {
  content: ''; position: absolute; z-index: 2; pointer-events: none;
  left: 0; right: 0; bottom: -1px; height: var(--mv-curve);
  background: var(--mv-next-bg);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath d='M0 0Q50 20 100 0V10H0Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath d='M0 0Q50 20 100 0V10H0Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:not(:has(+ .gradient-hero)) > * { position: relative; z-index: 3; }
/* Brotkrumen-Leiste direkt vor einem Hero: liegt als Overlay über dem Hero (kein eigener Hintergrund) */
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:has(+ .gradient-hero) {
  position: absolute; top: 0; left: 0; right: 0; z-index: 5;
  padding-top: calc(var(--mv-bar) + var(--mv-nav-h) + 0.75rem);
  background: transparent;
  border-bottom-width: 0;
}
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) :is(.mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:not(:has(+ .gradient-hero)), .mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:has(+ .gradient-hero)) :is(nav, a, span) { color: rgba(255, 255, 255, 0.76); }
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) :is(.mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:not(:has(+ .gradient-hero)), .mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:has(+ .gradient-hero)) a:hover,
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) :is(.mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:not(:has(+ .gradient-hero)), .mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:has(+ .gradient-hero)) span.font-medium { color: #fff; }
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) :is(.mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:not(:has(+ .gradient-hero)), .mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:has(+ .gradient-hero)) a.text-xs.font-semibold { color: var(--mv-amber-hi); }

/* Farbe der Kante = Hintergrund der folgenden Sektion */
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) :is(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero), .mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:has(+ .gradient-hero) + .gradient-hero):has(+ .bg-gray-50) { --mv-next-bg: #f9fafb; }
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) :is(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero), .mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:has(+ .gradient-hero) + .gradient-hero):has(+ .bg-gray-50\/80) { --mv-next-bg: #fafbfb; }
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) :is(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero), .mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:has(+ .gradient-hero) + .gradient-hero):has(+ .bg-brand-50) { --mv-next-bg: #f4f6f8; }
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) :is(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero), .mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:has(+ .gradient-hero) + .gradient-hero):has(+ :is(.bg-brand-900, .gradient-hero, .ms-hero-narrow)) { --mv-next-bg: #0f1d2f; }
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:not(:has(+ .gradient-hero)):has(+ .bg-gray-50) { --mv-next-bg: #f9fafb; }
body.mv-v2:has(.mv-nav + #ms-main > :first-child:is(.gradient-hero, .ms-hero-narrow, .ms-seminar-hero, section.bg-brand-900, .mv-hero, div.bg-gray-50.border-b)) .mv-nav + #ms-main > div.bg-gray-50.border-b:first-child:not(:has(+ .gradient-hero)):has(+ .bg-gradient-to-b) { --mv-next-bg: #fff; }

/* ============================================================
   Footer: gerundete Oberkante
   ============================================================ */
body.mv-v2 footer.bg-brand-900 {
  position: relative; z-index: 1; margin-top: -40px;
  border-radius: 56px 56px 0 0 / 36px 36px 0 0;
  padding-top: 5.5rem;
}
@media (max-width: 767px) {
  body.mv-v2 footer.bg-brand-900 { margin-top: -28px; border-radius: 36px 36px 0 0 / 24px 24px 0 0; padding-top: 4rem; }
}

/* ============================================================
   Abschluss-Panels (ms_render_final_cta_section + Startseite) als gerundete Karte
   ============================================================ */
body.mv-v2 #ms-main > section.bg-gray-50\/80.border-t > div > div.rounded-3xl.text-white {
  background: var(--mv-hero-bg) !important;
  isolation: isolate;
}
body.mv-v2 #ms-main > section.bg-gray-50\/80.border-t > div > div.rounded-3xl.text-white > .absolute.rounded-full { display: none; }
body.mv-v2 #ms-main > section.bg-gray-50\/80.border-t > div > div.rounded-3xl.text-white::before {
  content: ''; position: absolute; z-index: 0; pointer-events: none;
  right: -140px; bottom: -260px; width: 560px; height: 560px; border-radius: 50%;
  border: 22px solid rgba(245, 158, 11, 0.10);
}
body.mv-v2 #ms-main > section.bg-gray-50\/80.border-t > div > div.rounded-3xl.text-white > .relative { z-index: 1; }
body.mv-v2 #ms-main > section.bg-gray-50\/80.border-t > div > div.rounded-3xl.text-white .text-brand-300 { color: var(--mv-amber-hi); }

@media (prefers-reduced-motion: reduce) {
  body.mv-v2 :is(a, button) { transition: none; }
}

/* ============================================================
   Blog-Beitrag: Kopfbereich im dunklen Hero
   ============================================================ */
body.mv-v2 .mv-post-hero nav,
body.mv-v2 .mv-post-hero nav a { color: rgba(255, 255, 255, 0.74); }
body.mv-v2 .mv-post-hero nav a:hover { color: #fff; }
body.mv-v2 .mv-post-hero nav span.font-medium { color: #fff; }
body.mv-v2 .mv-post-hero h1 { color: #fff; }
body.mv-v2 .mv-post-hero .text-gray-400,
body.mv-v2 .mv-post-hero .text-gray-600 { color: rgba(255, 255, 255, 0.8); }
body.mv-v2 .mv-post-hero a:hover .text-gray-600,
body.mv-v2 .mv-post-hero .group:hover .group-hover\:text-brand-600 { color: #fff; }
body.mv-v2 .mv-post-hero .bg-brand-100 { background: rgba(245, 158, 11, 0.20); color: var(--mv-amber-hi); }
body.mv-v2 .mv-post-hero .ring-gray-200 { --tw-ring-color: rgba(255, 255, 255, 0.35); }
body.mv-v2 .mv-post-hero .mb-8 { margin-bottom: 0; }
