/**
 * Booking-Verkaufsseite (R.E.SET) — "Termin, kein Produkt".
 * Basis (Tokens, .wrap, .section--*, .btn, .tlink, .eyebrow, .phold) kommt aus
 * landingpage-master.css; hier NUR die seitenspezifischen Klassen aus dem
 * Design-Handoff (design_handoff_reset_me, Block "R.E.SET ME — Reimagined")
 * + .closingcta-Kopie (Muster methode.css) + Marken-Skin fuers eingebettete
 * Availability Widget.
 */

/* ── Cinematic hero ─────────────────────────────────────────────────────── */
.mehero { padding: 150px 0 72px; position: relative; overflow: hidden; }
.mehero__grid { display: grid; grid-template-columns: 1.02fr .98fr; gap: clamp(36px, 5vw, 76px); align-items: center; }
@media (max-width: 900px) { .mehero__grid { grid-template-columns: 1fr; gap: 36px; } }
.mehero__eyebrow {
  font-family: 'JetBrains Mono', monospace; font-size: 11.5px; letter-spacing: .18em;
  text-transform: uppercase; color: var(--brass-ink); margin-bottom: 24px;
  display: flex; align-items: center; gap: 12px;
}
.mehero__eyebrow::before { content: ''; width: 30px; height: 1px; background: var(--brass); }
.mehero h1 {
  font-family: 'Cormorant Garamond', serif; font-weight: 500;
  font-size: clamp(48px, 7vw, 104px); line-height: .96; letter-spacing: -.03em; color: var(--ink);
}
.mehero h1 em { font-style: italic; font-weight: 400; color: var(--brass); }
.mehero__sub {
  font-family: 'Inter Tight', sans-serif; font-weight: 300;
  font-size: clamp(17px, 1.5vw, 21px); line-height: 1.55; color: var(--text-mid);
  max-width: 42ch; margin: 26px 0 34px;
}
.mehero__cta { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.mehero__price { display: flex; flex-direction: column; }
.mehero__price .amt { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: 34px; color: var(--ink); line-height: 1; letter-spacing: -.01em; }
.mehero__price .per { font-family: 'JetBrains Mono', monospace; font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--text-dim); margin-top: 6px; }
.mehero__portrait { position: relative; }
.mehero__portrait .phold { aspect-ratio: 4/5; }
.mehero__portrait img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.mehero__stamp {
  position: absolute; left: -18px; bottom: 28px; z-index: 2;
  background: var(--ink); color: var(--on-ink); padding: 16px 20px; max-width: 210px;
}
@media (max-width: 900px) { .mehero__stamp { left: 12px; } }
.mehero__stamp .q { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 19px; line-height: 1.3; color: var(--on-ink); }
.mehero__stamp .a { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--brass-soft); margin-top: 10px; }

/* ── Reframe band (dunkel) ──────────────────────────────────────────────── */
.mereframe { background: var(--ink); color: var(--on-ink); }
.mereframe__inner { max-width: 900px; margin: 0 auto; text-align: center; }
.mereframe__eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--brass-soft); margin-bottom: 26px; }
.mereframe h2 {
  font-family: 'Cormorant Garamond', serif; font-weight: 500;
  font-size: clamp(30px, 4.4vw, 58px); line-height: 1.12; letter-spacing: -.015em; color: var(--on-ink);
  text-wrap: balance;
}
.mereframe h2 em { font-style: italic; color: var(--brass-soft); }
.mereframe p { font-size: 16px; line-height: 1.75; color: var(--on-ink-mid); max-width: 60ch; margin: 26px auto 0; }

/* ── 25-Minuten-Zeitachse ───────────────────────────────────────────────── */
.mearc__head { text-align: center; margin-bottom: clamp(40px, 5vw, 64px); }
.mearc__kicker { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--brass-ink); margin-bottom: 16px; }
.mearc__head h2 { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: clamp(30px, 4vw, 52px); line-height: 1.06; letter-spacing: -.02em; color: var(--ink); }
.mearc__head h2 em { font-style: italic; color: var(--brass); }
.mearc__rail { position: relative; max-width: 760px; margin: 0 auto; padding-left: 8px; }
.mearc__rail::before { content: ''; position: absolute; left: 88px; top: 12px; bottom: 12px; width: 1px; background: var(--line); }
@media (max-width: 620px) { .mearc__rail::before { left: 8px; } }
.mearc__step { display: grid; grid-template-columns: 80px 1fr; gap: 36px; padding: 22px 0; position: relative; }
@media (max-width: 620px) { .mearc__step { grid-template-columns: 1fr; gap: 8px; padding-left: 34px; } }
.mearc__time { text-align: right; font-family: 'JetBrains Mono', monospace; font-size: 13px; color: var(--brass-ink); letter-spacing: .04em; padding-top: 4px; }
@media (max-width: 620px) { .mearc__time { text-align: left; } }
.mearc__dot { position: absolute; left: 84px; top: 28px; width: 9px; height: 9px; border-radius: 999px; background: var(--brass); box-shadow: 0 0 0 5px var(--paper); }
@media (max-width: 620px) { .mearc__dot { left: 4px; } }
.mearc__body h3 { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: 24px; color: var(--ink); letter-spacing: -.005em; margin-bottom: 7px; line-height: 1.15; }
.mearc__body p { font-size: 14.5px; line-height: 1.65; color: var(--text-mid); max-width: 54ch; }
.mearc__note { text-align: center; margin-top: clamp(36px, 4vw, 52px); font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: clamp(19px, 2vw, 25px); color: var(--ink); }
.mearc__note b { font-style: normal; font-weight: 600; color: var(--brass-ink); }

/* ── Team (zwei Rollen) ─────────────────────────────────────────────────── */
.meteam__grid { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); }
@media (max-width: 720px) { .meteam__grid { grid-template-columns: 1fr; } }
.meteam__col { padding: clamp(30px, 4vw, 48px); }
.meteam__col--me { border-right: 1px solid var(--line); background: color-mix(in oklab, var(--brass) 6%, var(--paper)); }
@media (max-width: 720px) { .meteam__col--me { border-right: 0; border-bottom: 1px solid var(--line); } }
.meteam__role { font-family: 'JetBrains Mono', monospace; font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--brass-ink); margin-bottom: 16px; }
.meteam__col h3 { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: clamp(26px, 2.6vw, 34px); color: var(--ink); line-height: 1.1; letter-spacing: -.01em; margin-bottom: 14px; }
.meteam__col p { font-size: 15px; line-height: 1.68; color: var(--text-mid); }
.meteam__and { text-align: center; font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 22px; color: var(--brass); margin: 22px 0 0; }

/* ── Ehrliche Erwartung (dunkel, HWG) ───────────────────────────────────── */
.meexpect { background: var(--ink); color: var(--on-ink); }
.meexpect__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 5vw, 72px); align-items: center; }
@media (max-width: 820px) { .meexpect__grid { grid-template-columns: 1fr; gap: 32px; } }
.meexpect h2 { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: clamp(28px, 3.4vw, 44px); line-height: 1.1; color: var(--on-ink); letter-spacing: -.015em; }
.meexpect h2 em { font-style: italic; color: var(--brass-soft); }
.meexpect__lead { font-size: 15px; line-height: 1.7; color: var(--on-ink-mid); margin-top: 18px; max-width: 44ch; }
.meexpect__list { list-style: none; display: grid; gap: 0; margin: 0; padding: 0; }
.meexpect__list li { padding: 18px 0; border-top: 1px solid rgba(255,255,255,.12); font-size: 15px; line-height: 1.55; color: var(--on-ink); display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: start; }
.meexpect__list li:first-child { border-top: 0; }
.meexpect__list .mk { font-family: 'Cormorant Garamond', serif; font-style: italic; color: var(--brass-soft); font-size: 20px; line-height: 1.2; }

/* ── Booking-Sektion (Kopf + Widget + Vertrauens-Zeile) ─────────────────── */
.mebook__head { text-align: center; margin-bottom: clamp(36px, 4vw, 56px); }
.mebook__kicker { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--brass-ink); margin-bottom: 16px; }
.mebook__head h2 { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: clamp(30px, 4vw, 52px); line-height: 1.06; letter-spacing: -.02em; color: var(--ink); }
.mebook__head h2 em { font-style: italic; color: var(--brass); }
.mebook__widget { max-width: 900px; margin: 0 auto; }
.mebook__missing { text-align: center; color: var(--text-dim); font-style: italic; }
.mebook__secure { text-align: center; margin-top: 18px; font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; color: var(--text-dim); display: flex; gap: 18px; justify-content: center; flex-wrap: wrap; }

/* Marken-Skin fuers eingebettete Availability Widget:
   scharfe Kanten + Mono-Schrift, und FREIE Slots im Chip-Look der Design-
   Vorlage (.meslot: heller Grund, feine Linie, Kupfer erst beim Überfahren) —
   eine Kupfer-FUELLUNG las sich faelschlich wie "belegt". Belegte/vergangene
   Slots behalten die Widget-Zustandsfarben (sind per Default ohnehin
   ausgeblendet). */
.mebook .wcbaw-widget { border: 1px solid var(--line); background: var(--paper); padding: 18px; }
.mebook .wcbaw-widget, .mebook .wcbaw-widget * { border-radius: 0 !important; }
/* bewusst runde Widget-Elemente vom Scharfkanten-Reset ausnehmen */
.mebook .wcbaw-widget .wcbaw-spinner { border-radius: 50% !important; }
.mebook .wcbaw-widget .wcbaw-btn,
.mebook .wcbaw-widget .wcbaw-week-label,
.mebook .wcbaw-widget .wcbaw-day-selector-label,
.mebook .wcbaw-widget .wcbaw-compact-badge,
.mebook .wcbaw-widget .wcbaw-ultra-slot,
.mebook .wcbaw-widget .wcbaw-ul-slot,
.mebook .wcbaw-widget .wcbaw-tl-bar-label { font-family: 'JetBrains Mono', monospace !important; }

/* Freie Slots — NUR in der Kompaktliste als Chip (.meslot-Look aus dem Handoff);
   die Text-Ansichten (Ultra horizontal/vertikal) bleiben reiner Text. */
.mebook .wcbaw-widget .wcbaw-compact-badge.wcbaw-slot--free {
  background: var(--paper) !important;
  border: 1px solid var(--line) !important;
  color: var(--ink) !important;
  font-size: 13px !important;
  padding: 10px 14px !important;
  transition: border-color .18s var(--ease), color .18s var(--ease);
}
.mebook .wcbaw-widget .wcbaw-compact-badge.wcbaw-slot--free::before {
  content: '';
  display: inline-block;
  width: 7px; height: 7px;
  border-radius: 50% !important;
  background: #2e9e5b;
  margin-right: 8px;
  vertical-align: 1px;
}
.mebook .wcbaw-widget .wcbaw-compact-badge.wcbaw-buyable.wcbaw-slot--free:hover,
.mebook .wcbaw-widget .wcbaw-compact-badge.wcbaw-buyable.wcbaw-slot--free:focus-visible {
  border-color: var(--brass) !important;
  color: var(--brass-ink) !important;
  outline: none;
}
/* Text-Ansichten: Zeiten in ruhiger Tinte, FREI = gruener Status-Punkt davor
   (grelles Gruen als Textfarbe war zu wild); klickbar per Hover-Unterstreichung */
.mebook .wcbaw-widget .wcbaw-ultra-slot.wcbaw-slot--free,
.mebook .wcbaw-widget .wcbaw-ul-slot.wcbaw-slot--free {
  background: transparent !important;
  border: 0 !important;
  color: var(--ink) !important;
  font-size: 13px !important;
}
.mebook .wcbaw-widget .wcbaw-ultra-slot.wcbaw-slot--free::before,
.mebook .wcbaw-widget .wcbaw-ul-slot.wcbaw-slot--free::before {
  content: '';
  display: inline-block;
  width: 7px; height: 7px;
  border-radius: 50% !important;
  background: #2e9e5b;
  margin-right: 8px;
  vertical-align: 1px;
}
.mebook .wcbaw-widget .wcbaw-ultra-slot.wcbaw-buyable:hover,
.mebook .wcbaw-widget .wcbaw-ul-slot.wcbaw-buyable:hover,
.mebook .wcbaw-widget .wcbaw-ultra-slot.wcbaw-buyable:focus-visible,
.mebook .wcbaw-widget .wcbaw-ul-slot.wcbaw-buyable:focus-visible {
  color: var(--brass-ink) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
  outline: none;
}
/* Zeitstrahl: frei = ruhiges Gruen (gleicher Ton wie die Status-Punkte),
   belegt = blasser Papier-Balken mit durchgestrichener Zeit, vergangen/fern
   stark abgeblendet — keine Rot-Verwirrung mehr. */
.mebook .wcbaw-widget .wcbaw-tl-bar.wcbaw-slot--free { background-color: #2e9e5b !important; }
.mebook .wcbaw-widget .wcbaw-tl-bar.wcbaw-slot--free .wcbaw-tl-bar-label { color: #fff !important; }
.mebook .wcbaw-widget .wcbaw-tl-bar.wcbaw-slot--full { background-color: var(--line-soft) !important; }
.mebook .wcbaw-widget .wcbaw-tl-bar.wcbaw-slot--full .wcbaw-tl-bar-label { color: var(--text-dim) !important; text-decoration: line-through; }
.mebook .wcbaw-widget .wcbaw-tl-bar.wcbaw-slot--past,
.mebook .wcbaw-widget .wcbaw-tl-bar.wcbaw-slot--far { background-color: var(--line-soft) !important; opacity: .45; }
.mebook .wcbaw-widget .wcbaw-tl-bar.wcbaw-slot--past .wcbaw-tl-bar-label,
.mebook .wcbaw-widget .wcbaw-tl-bar.wcbaw-slot--far .wcbaw-tl-bar-label { color: var(--text-dim) !important; }
.mebook .wcbaw-widget .wcbaw-tl-tick { font-family: 'JetBrains Mono', monospace !important; font-size: 10px !important; color: var(--text-dim) !important; }
.mebook .wcbaw-widget .wcbaw-tl-bg { background: var(--paper-warm) !important; }
/* Im Warenkorb: gruener Ring + Haekchen bleiben eindeutig */
.mebook .wcbaw-widget .wcbaw-incart { box-shadow: inset 0 0 0 2px #2e7d32 !important; }

/* ── Vollstaendiger Marken-Skin (Rest der Alt-Optik: Tuerkis-Buttons durch
   Blocksy-Bleed, gruene Umschalter-Kacheln, Mint-Heute-Zeile, rote Belegt-
   Chips, graue Zebra-Zeilen). Alles auf Paper/Line/Ink/Brass der Seite. ──── */

/* Widget-interne Farbvariablen umstimmen (inline gesetzte brauchen !important) */
.mebook .wcbaw-widget {
  --wcbaw-border:     var(--line);
  --wcbaw-nav-bg:     var(--paper);
  --wcbaw-header-bg:  var(--paper);
  --wcbaw-text:       var(--ink);
  --wcbaw-text-light: var(--text-dim);
  --wcbaw-today-bg:   var(--paper-warm);
  --wcbaw-avail:      var(--brass) !important;
  --wcbaw-block:      var(--paper-warm) !important;
  --wcbaw-today-free: var(--paper-warm) !important;
  --wcbaw-today-full: var(--paper-warm) !important;
}

/* Kopfzeile */
.mebook .wcbaw-widget .wcbaw-header { background: var(--paper); border-bottom: 1px solid var(--line); }
.mebook .wcbaw-widget .wcbaw-week-label {
  font-size: 12px !important; letter-spacing: .08em; color: var(--ink) !important; font-weight: 500 !important;
}
.mebook .wcbaw-widget .wcbaw-day-selector-label { color: var(--text-dim) !important; text-transform: uppercase; font-size: 10px !important; letter-spacing: .1em; }
.mebook .wcbaw-widget select.wcbaw-day-selector {
  background: var(--paper) !important; border: 1px solid var(--line) !important; color: var(--ink) !important;
  font-family: 'JetBrains Mono', monospace !important; box-shadow: none !important;
}

/* Buttons (Blaettern / Heute / Freier Termin) — !important gegen Blocksys
   Button-Akzentfarbe (bekannte Teal-Falle) */
.mebook .wcbaw-widget button.wcbaw-btn {
  background: var(--paper) !important;
  background-image: none !important;
  border: 1px solid var(--line) !important;
  color: var(--ink) !important;
  box-shadow: none !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 8px 14px !important;
  font-weight: 500 !important;
}
.mebook .wcbaw-widget button.wcbaw-btn:hover,
.mebook .wcbaw-widget button.wcbaw-btn:focus-visible {
  background: var(--paper) !important;
  border-color: var(--brass) !important;
  color: var(--brass-ink) !important;
  outline: none !important;
}

/* Ansichts-Umschalter */
.mebook .wcbaw-widget .wcbaw-view-btn {
  background: var(--paper) !important;
  background-image: none !important;
  border: 1px solid var(--line) !important;
  color: var(--text-mid) !important;
  box-shadow: none !important;
}
.mebook .wcbaw-widget .wcbaw-view-btn:hover { border-color: var(--brass) !important; color: var(--brass-ink) !important; }
.mebook .wcbaw-widget .wcbaw-view-btn.is-active {
  background: var(--ink) !important;
  border-color: var(--ink) !important;
  color: var(--on-ink) !important;
}

/* Tag-Zeilen: ruhige Linien statt grauem Zebra; Heute = warmer Papier-Ton
   mit Kupfer-Kante statt Mint */
.mebook .wcbaw-widget .wcbaw-compact-row,
.mebook .wcbaw-widget .wcbaw-ul-row,
.mebook .wcbaw-widget .wcbaw-tl-row {
  background: transparent !important;
  border-bottom: 1px solid var(--line-soft);
}
.mebook .wcbaw-widget .wcbaw-today {
  background: var(--paper-warm) !important;
  box-shadow: inset 3px 0 0 var(--brass);
}
.mebook .wcbaw-widget .wcbaw-compact-dayname,
.mebook .wcbaw-widget .wcbaw-ul-dayname,
.mebook .wcbaw-widget .wcbaw-tl-dayname,
.mebook .wcbaw-widget .wcbaw-ultra-dayname {
  font-family: 'JetBrains Mono', monospace !important;
  text-transform: uppercase; letter-spacing: .1em; font-size: 11px !important;
  color: var(--brass-ink) !important;
}
.mebook .wcbaw-widget .wcbaw-compact-date,
.mebook .wcbaw-widget .wcbaw-ul-date,
.mebook .wcbaw-widget .wcbaw-tl-date,
.mebook .wcbaw-widget .wcbaw-ultra-date {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important; color: var(--text-dim) !important;
}

/* Ruhetag-Text: ruhige Serif-Kursive statt grauem Sans */
.mebook .wcbaw-widget .wcbaw-compact-closed,
.mebook .wcbaw-widget .wcbaw-ul-closed,
.mebook .wcbaw-widget .wcbaw-tl-closed,
.mebook .wcbaw-widget .wcbaw-ultra-closed {
  font-family: 'Cormorant Garamond', serif !important;
  font-style: italic; font-size: 15px !important; color: var(--text-dim) !important;
}

/* Belegte Slots (wenn eingeblendet): gedaempft statt Alarm-Rot.
   Kompaktliste = Chip, Text-Ansichten = durchgestrichener Text. */
.mebook .wcbaw-widget .wcbaw-compact-badge.wcbaw-slot--full {
  background: var(--paper-warm) !important;
  border: 1px solid var(--line-soft) !important;
  color: var(--text-dim) !important;
  text-decoration: line-through;
  font-size: 13px !important;
  padding: 10px 14px !important;
}
.mebook .wcbaw-widget .wcbaw-ultra-slot.wcbaw-slot--full,
.mebook .wcbaw-widget .wcbaw-ul-slot.wcbaw-slot--full {
  background: transparent !important;
  border: 0 !important;
  color: var(--text-dim) !important;
  text-decoration: line-through;
  font-size: 13px !important;
}
/* Vergangene Slots (wenn eingeblendet): stark abgeblendet */
.mebook .wcbaw-widget .wcbaw-compact-badge.wcbaw-slot--past,
.mebook .wcbaw-widget .wcbaw-compact-badge.wcbaw-slot--far {
  background: transparent !important;
  border: 1px solid var(--line-soft) !important;
  color: var(--text-dim) !important;
  opacity: .55;
  font-size: 13px !important;
  padding: 10px 14px !important;
}
.mebook .wcbaw-widget .wcbaw-ultra-slot.wcbaw-slot--past,
.mebook .wcbaw-widget .wcbaw-ul-slot.wcbaw-slot--past,
.mebook .wcbaw-widget .wcbaw-ultra-slot.wcbaw-slot--far,
.mebook .wcbaw-widget .wcbaw-ul-slot.wcbaw-slot--far {
  background: transparent !important;
  border: 0 !important;
  color: var(--text-dim) !important;
  opacity: .55;
  font-size: 13px !important;
}

/* (Die alte Slot-Karten-Optik entfiel mit dem zentrierten Bestaetigungs-Modal
   v3.10.0 — der Marken-Skin dafuer liegt unten unter body.rsm-template-buchung,
   weil das Modal an document.body haengt, nicht mehr in .mebook.) */

/* Umschalter-Beschriftung („Ansichten umschalten") */
.mebook .wcbaw-widget .wcbaw-view-switcher-label {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 9.5px !important;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text-dim) !important;
}

/* Besucher-Filterleiste im Markenlook (Pillen-Form vom Scharfkanten-Reset ausnehmen) */
.mebook .wcbaw-widget .wcbaw-filters {
  background: var(--paper) !important;
  border-bottom: 1px solid var(--line) !important;
}
.mebook .wcbaw-widget .wcbaw-filters-label {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  letter-spacing: .1em;
  color: var(--text-dim) !important;
}
.mebook .wcbaw-widget .wcbaw-filter-btn {
  background: var(--paper) !important;
  background-image: none !important;
  border: 1px solid var(--line) !important;
  border-radius: 999px !important;
  color: var(--ink) !important;
  box-shadow: none !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: .03em;
  padding: 4px 13px !important;
}
.mebook .wcbaw-widget .wcbaw-filter-btn::before { color: var(--brass); }
.mebook .wcbaw-widget .wcbaw-filter-btn:hover { border-color: var(--brass) !important; }
.mebook .wcbaw-widget .wcbaw-filter-btn.is-off { color: var(--text-dim) !important; opacity: .75; }
.mebook .wcbaw-widget .wcbaw-filter-btn.is-off::before { color: var(--line); }

/* ── Versprechen (5 Zusagen) ────────────────────────────────────────────── */
.mepromise__grid { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); border-right: 0; }
@media (max-width: 900px) { .mepromise__grid { grid-template-columns: repeat(2, 1fr); } .mepromise__grid > :nth-child(odd) { border-right: 1px solid var(--line); } }
@media (max-width: 520px) { .mepromise__grid { grid-template-columns: 1fr; } }
.meprom { padding: 26px 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.meprom svg { color: var(--brass); width: 22px; height: 22px; margin-bottom: 14px; }
.meprom h4 { font-family: 'Inter Tight', sans-serif; font-weight: 600; font-size: 14px; color: var(--ink); line-height: 1.35; }

/* ── Nach der Buchung (5 Schritte + Disclaimer) ─────────────────────────── */
.mesteps__head { margin-bottom: clamp(32px, 4vw, 48px); }
.mesteps__kicker { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--brass-ink); margin-bottom: 14px; }
.mesteps__head h2 { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: clamp(28px, 3.4vw, 44px); line-height: 1.08; letter-spacing: -.02em; color: var(--ink); }
.mesteps__head h2 em { font-style: italic; color: var(--brass); }
.mesteps__grid { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--line); }
@media (max-width: 900px) { .mesteps__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .mesteps__grid { grid-template-columns: 1fr; } }
.mestep { padding: 26px 26px 30px 0; border-top: 1px solid transparent; }
.mestep__n { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .1em; color: var(--brass-ink); padding-top: 10px; border-top: 1px solid var(--brass); display: inline-block; margin-bottom: 16px; }
.mestep h3 { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: 21px; color: var(--ink); line-height: 1.15; letter-spacing: -.005em; margin-bottom: 8px; }
.mestep p { font-size: 13.5px; line-height: 1.6; color: var(--text-mid); }
.mestep__tag { display: inline-block; font-family: 'JetBrains Mono', monospace; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; color: #fff; background: var(--brass); padding: 2px 7px; margin-left: 8px; vertical-align: middle; }
.medisclaim { margin-top: clamp(36px, 4vw, 52px); padding-top: 24px; border-top: 1px solid var(--line); }
.medisclaim p { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 15px; line-height: 1.65; color: var(--text-dim); max-width: 80ch; }

/* ── Abschluss-CTA (Kopie aus ablauf.css — Muster methode.css) ──────────── */
.closingcta { text-align: center; }
.closingcta__inner { display: flex; flex-direction: column; align-items: center; }
.closingcta .eyebrow { margin-bottom: 20px; }
.closingcta__title {
  font-family: 'Cormorant Garamond', serif; font-weight: 500;
  font-size: clamp(32px, 4vw, 52px); line-height: 1.08; letter-spacing: -.015em;
  color: var(--ink); max-width: 20ch; text-wrap: balance; margin: 0;
}
.closingcta__sub {
  margin: 18px 0 0; font-size: clamp(15px, 1.3vw, 18px); line-height: 1.6; font-weight: 300;
  color: var(--text-mid); max-width: 52ch;
}
.closingcta__ctas {
  display: flex; align-items: center; gap: 16px 24px; flex-wrap: wrap; justify-content: center; margin-top: 36px;
}

/* ── Sticky-Buchungsbalken ──────────────────────────────────────────────── */
.mesticky {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
  background: var(--ink); color: var(--on-ink);
  transform: translateY(110%); transition: transform .4s var(--ease);
  box-shadow: 0 -8px 40px rgba(0,0,0,.25);
}
.mesticky.show { transform: translateY(0); }
.mesticky__inner { max-width: var(--maxw); margin: 0 auto; padding: 14px var(--gutter); display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.mesticky__txt { display: flex; flex-direction: column; }
.mesticky__txt .t { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: 20px; color: var(--on-ink); line-height: 1; }
.mesticky__txt .p { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--brass-soft); margin-top: 5px; }
@media (max-width: 560px) { .mesticky__txt .t { font-size: 17px; } }
@media (prefers-reduced-motion: reduce) { .mesticky { transition: none; } }

/* ── Blocksy-p-Margin-Bleed neutralisieren (Lehre v1.19.0): das Theme setzt
   p { margin } per Element-Selektor (0,0,1) und schlaegt damit das globale
   *-Reset (0,0,0) — reset-abhaengige Absaetze hier explizit nullen. ─────── */
.mearc__body p, .meteam__col p, .mestep p, .medisclaim p, .mebook__missing { margin: 0; }
.meexpect__lead { margin: 18px 0 0; }
.mearc__note { margin-bottom: 0; }

/* ── Angebots-Umschalter (zweites Buchungsprodukt als Tab 2, v1.35.0) ──────── */
.mebook__tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid var(--line);
  border-bottom: 0;
  max-width: 900px;
  margin: clamp(28px, 4vw, 44px) auto 0;
}
.mebook__tab {
  position: relative;
  appearance: none;
  -webkit-appearance: none;
  background: var(--paper-warm) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  cursor: pointer;
  padding: 26px 16px 24px;
  text-align: center;
  transition: background .18s var(--ease);
}
.mebook__tab + .mebook__tab { border-left: 1px solid var(--line) !important; }
.mebook__tab-label {
  display: block;
  font-family: 'Inter Tight', sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: var(--ink);
  line-height: 1.3;
}
.mebook__tab-sub {
  display: block;
  margin-top: 5px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: .06em;
  color: var(--text-dim);
}
.mebook__tab-bolt {
  position: absolute;
  top: 10px; right: 12px;
  color: #c9a227;
  line-height: 0;
}
.mebook__tab.is-active { background: var(--ink) !important; }
.mebook__tab.is-active .mebook__tab-label { color: var(--on-ink); }
.mebook__tab.is-active .mebook__tab-sub { color: var(--brass-soft); }
.mebook__tab:focus-visible { outline: 2px solid var(--brass); outline-offset: -2px; }
/* Tabs sitzen direkt AUF dem Widget-Rahmen */
.mebook__tabs + .mebook__pane .wcbaw-widget,
.mebook__tabs ~ .mebook__pane .wcbaw-widget { margin-top: 0; }
.mebook__pane[hidden] { display: none !important; }

/* Info-Box auf Tab 2 (Hintergrundfarbe im Panel waehlbar: gelb | rot | gruen) */
.mebook__note {
  padding: 15px 18px;
  margin: 0 auto 14px;
  max-width: 900px;
  font-size: 14.5px;
  line-height: 1.65;
  border-left: 3px solid;
}
.mebook__note strong { font-weight: 600; }
.mebook__note--gelb  { background: #f6edd4; border-color: #c9a227; color: #5d4a12; }
.mebook__note--rot   { background: #f7e4e1; border-color: #b3402f; color: #6e2a21; }
.mebook__note--gruen { background: #e4efe6; border-color: #2e7d46; color: #29543a; }

/* ── "Was dich erwartet" — Haekchen-Raster + Zitat-Notiz (Handoff Kennenlernen) ── */
.klexpect__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1px solid var(--line);
}
@media (max-width: 680px) { .klexpect__grid { grid-template-columns: 1fr; } }
.klexp {
  display: grid;
  grid-template-columns: 26px 1fr;
  gap: 16px;
  padding: 26px clamp(22px, 3vw, 34px);
  border-right: 1px solid var(--line);
  border-top: 1px solid var(--line);
  align-items: start;
}
.klexp:nth-child(-n+2) { border-top: 0; }
.klexp:nth-child(2n) { border-right: 0; }
/* Ungerade Punkt-Anzahl (Repeater ist frei erweiterbar): letztes einzelnes
   Item volle Breite statt halbleerer Rahmenzelle */
.klexp:nth-child(odd):last-child { grid-column: 1 / -1; border-right: 0; }
@media (max-width: 680px) {
  .klexp { border-right: 0; }
  .klexp:nth-child(2) { border-top: 1px solid var(--line); }
}
.klexp__ico { color: var(--brass); margin-top: 2px; }
.klexp__ico svg { width: 22px; height: 22px; }
.klexp h4 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 500;
  font-size: 21px;
  color: var(--ink);
  line-height: 1.15;
  margin-bottom: 6px;
  letter-spacing: -.005em;
}
.klexp p { font-size: 13.5px; line-height: 1.6; color: var(--text-mid); margin: 0; }
.klnot {
  margin-top: clamp(28px, 3vw, 40px);
  border-left: 2px solid var(--brass);
  padding: 4px 0 4px 24px;
}
.klnot p {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: clamp(19px, 2vw, 24px);
  line-height: 1.4;
  color: var(--ink);
  max-width: 60ch;
  margin: 0;
}

/* ── Bestaetigungs-Modal im Marken-Look (haengt an document.body -> Scope ueber
      die Template-Body-Klasse; Design-Handoff "Warenkorb-Modal") ───────────── */
body.rsm-template-buchung .wcbaw-buy-overlay,
body.rsm-template-preise .wcbaw-buy-overlay{
  background: rgba(28, 29, 31, 0.5);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
body.rsm-template-buchung .wcbaw-buybox-inner,
body.rsm-template-preise .wcbaw-buybox-inner{
  background: var(--paper);
  border-top: 3px solid var(--brass);
  border-radius: 0;
  box-shadow: 0 24px 70px rgba(28, 29, 31, 0.35);
}
body.rsm-template-buchung .wcbaw-buybox-kicker,
body.rsm-template-preise .wcbaw-buybox-kicker{
  font-family: 'JetBrains Mono', monospace;
  color: var(--brass-ink);
}
body.rsm-template-buchung .wcbaw-buybox-x,
body.rsm-template-preise .wcbaw-buybox-x{ color: var(--text-dim) !important; border-radius: 0 !important; }
body.rsm-template-buchung .wcbaw-buybox-x:hover,
body.rsm-template-preise .wcbaw-buybox-x:hover{ color: var(--ink) !important; background: transparent !important; }
body.rsm-template-buchung .wcbaw-buybox-day,
body.rsm-template-preise .wcbaw-buybox-day{
  font-family: 'Cormorant Garamond', serif;
  font-weight: 500;
  font-size: 32px;
  letter-spacing: -0.01em;
  color: var(--ink);
}
body.rsm-template-buchung .wcbaw-buybox-time,
body.rsm-template-preise .wcbaw-buybox-time{
  font-family: 'JetBrains Mono', monospace;
  font-size: 12.5px;
  letter-spacing: 0.04em;
  color: var(--text-mid);
}
body.rsm-template-buchung .wcbaw-buybox-rows,
body.rsm-template-preise .wcbaw-buybox-rows,
body.rsm-template-buchung .wcbaw-buybox-row,
body.rsm-template-preise .wcbaw-buybox-row{ border-color: var(--line-soft); }
body.rsm-template-buchung .wcbaw-buybox-row-k,
body.rsm-template-preise .wcbaw-buybox-row-k{
  font-family: 'JetBrains Mono', monospace;
  color: var(--text-dim);
}
body.rsm-template-buchung .wcbaw-buybox-row-v,
body.rsm-template-preise .wcbaw-buybox-row-v{ color: var(--ink); font-size: 14px; }
body.rsm-template-buchung .wcbaw-buybox-row-v.wcbaw-buybox-price,
body.rsm-template-preise .wcbaw-buybox-row-v.wcbaw-buybox-price{
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-weight: 500;
  font-size: 19px;
  color: var(--brass-ink);
}
body.rsm-template-buchung .wcbaw-buybox-msg,
body.rsm-template-preise .wcbaw-buybox-msg{ font-size: 13.5px; color: var(--text-mid); }
body.rsm-template-buchung .wcbaw-buybox-msg.is-error,
body.rsm-template-preise .wcbaw-buybox-msg.is-error{ color: #b3402f; }
/* Aktionen: Primaer = Messing-Vollflaeche mit Pfeil, Sekundaer = ruhiger Rahmen */
body.rsm-template-buchung .wcbaw-buybox-actions .wcbaw-btn,
body.rsm-template-preise .wcbaw-buybox-actions .wcbaw-btn{
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: 'Inter Tight', sans-serif !important;
  font-size: 13.5px !important;
  padding: 12px 20px !important;
  cursor: pointer;
  transition: background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease);
}
body.rsm-template-buchung .wcbaw-buybox-add,
body.rsm-template-preise .wcbaw-buybox-add{
  background: var(--brass) !important;
  background-image: none !important;
  border: 1px solid var(--brass) !important;
  color: #fff !important;
}
body.rsm-template-buchung .wcbaw-buybox-add::after,
body.rsm-template-preise .wcbaw-buybox-add::after{ content: ' \2192'; }
body.rsm-template-buchung .wcbaw-buybox-add:hover,
body.rsm-template-preise .wcbaw-buybox-add:hover{ background: var(--brass-ink) !important; border-color: var(--brass-ink) !important; }
body.rsm-template-buchung .wcbaw-buybox-cancel,
body.rsm-template-preise .wcbaw-buybox-cancel,
body.rsm-template-buchung a.wcbaw-buybox-cart,
body.rsm-template-preise a.wcbaw-buybox-cart{
  background: var(--paper) !important;
  background-image: none !important;
  border: 1px solid var(--line) !important;
  color: var(--ink) !important;
}
body.rsm-template-buchung .wcbaw-buybox-cancel:hover,
body.rsm-template-preise .wcbaw-buybox-cancel:hover,
body.rsm-template-buchung a.wcbaw-buybox-cart:hover,
body.rsm-template-preise a.wcbaw-buybox-cart:hover{ border-color: var(--brass) !important; color: var(--brass-ink) !important; }
body.rsm-template-buchung .wcbaw-buybox-foot,
body.rsm-template-preise .wcbaw-buybox-foot{
  font-family: 'JetBrains Mono', monospace;
  background: var(--paper-warm);
  border-top: 1px solid var(--line-soft);
  color: var(--text-dim);
}

/* ── Mobile-Feinschliff der Widget-Bedienleiste (greift auf Buchungs- + Preise-Seite) ── */
@media (max-width: 600px) {
  /* Pfeil-Buttons als ruhige Touch-Quadrate, Label mittig */
  .mebook .wcbaw-widget button.wcbaw-prev,
  .mebook .wcbaw-widget button.wcbaw-next {
    padding: 8px 12px !important;
    min-width: 44px;
    min-height: 42px;
  }
  .mebook .wcbaw-widget .wcbaw-week-label {
    font-size: 11px !important;
    text-align: center;
  }
  /* Chips: wischbare Reihe, angenehme Touch-Hoehe */
  .mebook .wcbaw-widget .wcbaw-filter-btn {
    padding: 7px 14px !important;
    min-height: 36px;
  }
  /* Tage-Select gross genug fuer den Daumen, iOS-Zoom vermeiden (16px) */
  .mebook .wcbaw-widget select.wcbaw-day-selector {
    min-height: 42px;
    font-size: 16px !important;
    padding: 4px 10px;
  }
}
