/* Schriften lokal (keine Verbindung zu Google) */
@font-face{font-family:"Averia Serif Libre";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/averia-serif-libre-v19-latin-regular.woff2) format("woff2")}
@font-face{font-family:"Averia Serif Libre";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/averia-serif-libre-v19-latin-700.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/open-sans-v44-latin-regular.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/open-sans-v44-latin-600.woff2) format("woff2")}
/* SO·MA – Ausschnitt v2: Gestaltung der bestehenden Seite (Formen, Details, Übergänge) mit neuer Nutzerführung */
:root{
  --grund:#E0D6C9; --flaeche:#EAE2D7; --karte:#E9E3DA;
  --altrosa:#93635D; --altrosa-tief:#7C504A; --altrosa-zart:#B28880;
  --text:#4A4542; --text-2:#5E5753; --tinte:#2B2B2B;
  --serif:"Averia Serif Libre",Georgia,serif; --sans:"Open Sans",system-ui,sans-serif;
  --weich:cubic-bezier(.23,1,.32,1);
  /* Bewegung (docs/MOTION-AUDIT.md) */
  --rein-dauer:1000ms; --rein-kurve:cubic-bezier(.42,0,.58,1); --rein-weg:60px;
  --dauer-ui:.3s; --dauer-tipp:.16s;
  --rand:clamp(16px,4.6vw,70px);
  /* System (Audit 01.11.2026, docs/DESIGN-SPACING-AUDIT.md) */
  --dunkel:#2F2C2A; --feld:#F4EFE8;
  --linie:rgba(124,80,74,.22); --linie-stark:rgba(124,80,74,.32);
  --abstand-xs:8px; --abstand-s:12px; --absatz:16px; --abstand-m:20px; --abstand-l:32px; --abstand-xl:clamp(40px,5vw,72px);
  --abschnitt:clamp(40px,5.3vw,76px); --abschnitt-voll:calc(var(--abschnitt) * 2);
  --breite:1340px; --innen:clamp(24px,2.6vw,36px); --innen-gross:clamp(32px,5vw,80px);
  --rund:30px; --rund-klein:18px; --rund-rahmen:3px; --rund-pille:999px;
  --schatten:0 30px 60px -40px rgba(47,44,42,.45); --schatten-hover:0 24px 40px -30px rgba(47,44,42,.5); --schatten-schwebend:0 18px 40px -20px rgba(47,44,42,.55);
}
@media (max-width:760px){:root{--rund:24px}}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--grund);color:var(--text);font:400 16px/1.75 var(--sans)}
img,video{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--altrosa-tief);outline-offset:3px}
h1,h2,h3,p{margin:0}
.gesperrt{font-family:var(--serif);text-transform:uppercase;letter-spacing:.16em;font-weight:400;line-height:1.25}
.gesperrt--rosa{color:var(--altrosa)}
.label{font:16px/1 var(--serif);color:var(--altrosa)}
.textlink{font-weight:600;color:var(--altrosa-tief);text-decoration:underline;text-underline-offset:.35em;text-decoration-thickness:1px;transition:text-underline-offset var(--dauer-ui) var(--weich)}
.textlink:hover{text-underline-offset:.55em}
.textlink--hell{color:#fff}

/* Der runde Pfeil-Knopf aus dem Original („Zeit für dich“) wird zur Hauptaktion */
.kreis-link{display:inline-flex;align-items:center;gap:18px;text-decoration:none;color:#fff}
.kreis{position:relative;flex:none;width:76px;height:76px;border-radius:50%;background:var(--altrosa);transition:transform .4s var(--weich),background-color var(--dauer-ui) var(--weich)}
.kreis::before{content:"";position:absolute;left:24px;top:37px;width:26px;height:1.6px;background:#fff}
.kreis::after{content:"";position:absolute;left:41px;top:32px;width:10px;height:10px;border:solid #fff;border-width:1.6px 1.6px 0 0;transform:rotate(45deg)}
.kreis-link:hover .kreis{transform:translateX(4px);background:var(--altrosa-tief)}
.kreis-link>span:last-child{font:17px/1.25 var(--serif);text-transform:uppercase;letter-spacing:.14em;text-align:left}
.kreis-link small{display:block;font:14px/1.5 var(--sans);letter-spacing:0;text-transform:none;opacity:.9;margin-top:4px}
.kreis-link--klein .kreis{width:46px;height:46px}
.kreis-link--klein .kreis::before{left:14px;top:22px;width:17px}
.kreis-link--klein .kreis::after{left:24px;top:18px;width:8px;height:8px}
.kreis-link--klein>span:last-child{font-size:14px;letter-spacing:.12em}

/* Kopf: Bildmarke links wie bisher, aber das Menü ist jetzt sichtbar */
.kopf{position:fixed;z-index:50;left:0;right:0;top:0;display:flex;align-items:center;gap:30px;padding:30px calc(var(--rand) + 26px) 0;color:#fff;transition:background-color var(--dauer-ui) var(--weich),padding var(--dauer-ui) var(--weich),color var(--dauer-ui) var(--weich),box-shadow var(--dauer-ui) var(--weich)}
.kopf__marke img{height:44px;width:auto;transition:filter .3s}
.nav{display:flex;gap:28px;margin-left:auto}
.nav a{font:14px/1 var(--serif);text-transform:uppercase;letter-spacing:.16em;text-decoration:none;padding:10px 0;position:relative}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--dauer-ui) var(--weich)}
.nav a:hover::after{transform:scaleX(1)}
.kopf .kreis-link{color:inherit}
.kopf.ist-fest{background:rgba(224,214,201,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding-top:12px;padding-bottom:12px;color:var(--tinte);box-shadow:0 1px 0 var(--linie)}
.menu-knopf{display:none;margin-left:auto;width:48px;height:48px;border:0;background:none;color:inherit;cursor:pointer}
.menu-knopf span,.menu-knopf span::before,.menu-knopf span::after{display:block;height:3px;border-radius:var(--rund-rahmen);background:currentColor}
.menu-knopf span{width:34px;position:relative;margin-left:auto}
.menu-knopf span::before{content:"";position:absolute;top:-10px;right:0;width:38px}
.menu-knopf span::after{content:"";position:absolute;top:10px;right:0;width:24px}

/* EINSTIEG */
.hero{padding:24px var(--rand) 0}
.hero__rahmen{position:relative;height:min(92vh,880px);min-height:600px;border-radius:var(--rund);overflow:hidden;color:#fff;background:#6f625b}
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__schleier{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 42%,rgba(70,58,54,.5),rgba(60,42,38,.58) 75%),linear-gradient(180deg,rgba(60,42,38,.25),rgba(60,42,38,0) 30%,rgba(60,42,38,0) 65%,rgba(60,42,38,.45))}
.hero__wort{position:absolute;left:0;right:0;top:44%;transform:translateY(-50%);text-align:center;font:400 clamp(70px,11vw,190px)/1 var(--serif);text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.34);filter:blur(5px);white-space:nowrap;pointer-events:none}
.hero__mitte{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 24px 40px}
.hero__h1{line-height:0}
.hero__logo{width:clamp(180px,17vw,250px);height:auto;filter:drop-shadow(0 2px 18px rgba(40,28,25,.25))}
.hero__mitte .gesperrt{font-size:clamp(13px,.7vw + 9px,17px);margin-top:26px}
.hero__satz{max-width:42ch;margin-top:16px;font-size:clamp(15.5px,.4vw + 14px,18px);color:#F7F1EC}
.hero__wege{display:flex;align-items:center;gap:22px 40px;flex-wrap:wrap;justify-content:center;margin-top:30px}
/* der eine gestaltete Moment: Logo und Zeile setzen sich weich (Emil: kurz, ease-out, sichtbar von Anfang an) */
.hero__mitte>*{transition:transform 1s var(--weich),filter 1s var(--weich)}
@starting-style{.hero__mitte>*{transform:translateY(14px);filter:blur(4px)}}
.hero__mitte>:nth-child(2){transition-delay:90ms}.hero__mitte>:nth-child(3){transition-delay:170ms}.hero__mitte>:nth-child(4){transition-delay:250ms}
.hero__social{position:absolute;left:34px;bottom:30px;display:flex;gap:18px;list-style:none;padding:0;margin:0;font:13px/1 var(--serif);text-transform:uppercase;letter-spacing:.14em}
.hero__social a{text-decoration:none;opacity:.85}
.hero__social a:hover{opacity:1}
.scroll{position:absolute;left:50%;bottom:0;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;padding-bottom:22px;text-decoration:none;font:15px/1 var(--serif);letter-spacing:.06em}
.scroll__kapsel{width:24px;height:40px;border:1.6px solid #fff;border-radius:14px;position:relative}
.scroll__kapsel span{position:absolute;left:50%;top:9px;width:6px;height:6px;margin-left:-3px;border-radius:50%;border:1.4px solid #fff;animation:rollen 2.4s var(--weich) infinite}
@keyframes rollen{0%{transform:translateY(0);opacity:1}70%{transform:translateY(14px);opacity:0}100%{transform:translateY(0);opacity:0}}

/* SO·MA – die Linie aus dem Einstieg führt hinein */
.soma{position:relative;padding:0 var(--rand) var(--abschnitt);max-width:var(--breite);margin:0 auto}
.linie-runter{display:block;width:1px;height:110px;margin:0 auto;background:#fff}
.zitat{margin:var(--abstand-xl) auto 0;max-width:820px;text-align:center}
.zitat p{font:clamp(19px,.8vw + 15px,24px)/1.45 var(--serif);color:var(--altrosa)}
.zitat footer{font:15px var(--serif);color:var(--altrosa);margin-top:12px}
.soma__komposition{position:relative;display:grid;grid-template-columns:7fr 5fr;gap:var(--abstand-l) clamp(32px,4.5vw,72px);margin-top:var(--abschnitt-voll);align-items:start;padding-bottom:clamp(40px,4vw,70px)}
.soma__gross{margin:0;border-radius:var(--rund);overflow:hidden;aspect-ratio:5/4}
.soma__gross img{width:100%;height:100%;object-fit:cover}
.soma__text{padding-top:6px}
.soma__text h2{font-size:clamp(26px,1.6vw + 16px,38px);margin:var(--abstand-s) 0 var(--abstand-m)}
.soma__text>p:not(.label){color:var(--text-2)}
.werte{list-style:none;padding:0;margin:var(--abstand-m) 0 0;border-top:1px solid var(--linie)}
.werte li{padding:11px 0;border-bottom:1px solid var(--linie);color:var(--text-2);font-size:15px}
.werte b{display:block;font:17px/1.3 var(--serif);color:var(--altrosa-tief);font-weight:400}
.rahmen-knoepfe{display:flex;flex-wrap:wrap;gap:var(--abstand-s);margin-top:var(--abstand-m)}
.rahmen-knoepfe a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1.5px solid var(--altrosa);border-radius:var(--rund-rahmen);color:var(--altrosa);text-decoration:none;font:15px var(--serif);transition:background-color var(--dauer-ui) var(--weich),color var(--dauer-ui) var(--weich)}
.rahmen-knoepfe a:hover{background:var(--altrosa);color:#fff}
/* versetztes kleines Bild, überlappt die Ecke des großen – wie die gestaffelten Bilder im Original */
.soma__klein{position:absolute;left:calc(58.3% - 32% );bottom:0;width:30%;margin:0;border-radius:6px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 0 0 10px var(--grund)}
.soma__klein img{width:100%;height:100%;object-fit:cover}
/* drehender Kreis-Schriftzug liegt auf der oberen Bildecke */
.kreisschrift{position:absolute;left:-60px;top:-70px;width:200px;pointer-events:none;mix-blend-mode:normal}
.kreisschrift svg{width:100%;overflow:visible;animation:drehen 60s linear infinite}
.kreisschrift text{fill:var(--altrosa);font:43px var(--serif);letter-spacing:30px;text-transform:uppercase}
@keyframes drehen{to{transform:rotate(360deg)}}

/* ANGEBOTE – die Bildkachel-Wand: lückenlos, verschiedene Formate, „mehr“-Rahmen */
.angebote{padding:var(--abschnitt) var(--rand);max-width:var(--breite);margin:0 auto}
.angebote__kopf{display:grid;grid-template-columns:1fr auto;align-items:end;gap:var(--abstand-s) 24px;margin-bottom:var(--abstand-l)}
.angebote__kopf .label{grid-column:1/-1}
.angebote__kopf h2{font:clamp(30px,2vw + 18px,46px)/1.1 var(--serif);color:var(--altrosa)}
.mosaik{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr 2fr;grid-template-rows:repeat(3,minmax(180px,22vw));max-height:none}
.mosaik li{position:relative;overflow:hidden}
.mosaik__hoch{grid-row:1/4}
.mosaik li:nth-child(3){grid-column:3;grid-row:1}
.mosaik li:nth-child(4){grid-column:3;grid-row:2}
.mosaik li:nth-child(5){grid-column:3;grid-row:3}
.mosaik li:first-child{border-radius:var(--rund) 0 0 var(--rund)}
.mosaik li:nth-child(3){border-top-right-radius:var(--rund)}
.mosaik li:nth-child(5){border-bottom-right-radius:var(--rund)}
.mosaik a{position:absolute;inset:0;display:block;color:#fff;text-decoration:none}
.mosaik img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--weich)}
.mosaik a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(50,34,30,0) 40%,rgba(50,34,30,.62));transition:background-color .4s var(--weich)}
.mosaik a:hover img{transform:scale(1.045)}
.mosaik__text{position:absolute;z-index:1;left:28px;right:120px;bottom:26px}
.mosaik__text b{display:block;font:clamp(19px,.8vw + 15px,24px)/1.2 var(--serif);font-weight:400}
.mosaik__text small{display:block;font-size:14px;margin-top:4px;opacity:.95}
.mehr{position:absolute;z-index:1;right:26px;bottom:26px;padding:7px 16px;border:1.5px solid #fff;border-radius:var(--rund-rahmen);font:15px var(--serif);transition:background-color var(--dauer-ui) var(--weich),color var(--dauer-ui) var(--weich)}
.mosaik a:hover .mehr{background:#fff;color:var(--altrosa-tief)}
.mosaik__hoch .mosaik__text{right:28px;bottom:84px}
.mosaik__farbe a{background:var(--altrosa)}
.mosaik__farbe a::after{display:none}
.linie-bild{max-width:620px;margin:var(--abstand-xl) auto 0;opacity:.9}
.linie-bild img{width:100%}
.hof-satz{max-width:640px;margin:var(--abstand-m) auto 0;text-align:center;font:clamp(17px,.5vw + 14px,20px)/1.5 var(--serif);color:var(--altrosa)}

.leiste{display:none}

@media (max-width:1080px){
  .nav,.kopf .kreis-link{display:none}
  .menu-knopf{display:block}
}
@media (max-width:760px){
  .kopf{padding:22px 30px 0}
  .kopf.ist-fest{padding:10px 22px}
  .kopf__marke img{height:38px}
  .hero{padding:10px 10px 0}
  .hero__rahmen{min-height:640px;height:88vh}
  .hero__wort{display:none}
  .hero__mitte .hero__werte{font-size:min(13px,3.3vw);letter-spacing:.08em;white-space:nowrap}
  .hero__logo{width:150px}
  .hero__wege{flex-direction:column;gap:18px}
  .kreis{width:62px;height:62px}.kreis::before{left:18px;top:30px;width:24px}.kreis::after{left:33px;top:25.5px}
  .kreis-link>span:last-child{font-size:15px}
  .hero__social{display:none}
  .linie-runter{height:80px}
  .soma__komposition{grid-template-columns:1fr;padding-bottom:0}
  .soma__gross{aspect-ratio:4/3.4;margin-bottom:110px}
  .soma__klein{left:auto;right:0;top:calc((100vw - 32px)*0.85 - 70px);bottom:auto;width:58%}
  .kreisschrift{width:130px;left:-10px;top:-50px}
  .mosaik{grid-template-columns:1fr 1fr;grid-template-rows:260px 170px 170px 170px}
  .mosaik__hoch{grid-row:auto}
  .mosaik li:nth-child(1){grid-column:1;grid-row:1;border-radius:var(--rund) 0 0 0}
  .mosaik li:nth-child(2){grid-column:2;grid-row:1;border-radius:0 var(--rund) 0 0}
  .mosaik li:nth-child(3){grid-column:1/3;grid-row:2;border-radius:0}
  .mosaik li:nth-child(4){grid-column:1/3;grid-row:3}
  .mosaik li:nth-child(5){grid-column:1/3;grid-row:4;border-radius:0 0 var(--rund) var(--rund)}
  .mosaik__text,.mosaik__hoch .mosaik__text{left:16px;right:16px;bottom:18px}
  .mosaik__hoch .mehr{display:none}
  .mehr{right:16px;bottom:18px}
  .mosaik li:nth-child(n+3) .mosaik__text{right:96px}
  .angebote__kopf{grid-template-columns:1fr}
  .leiste{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;align-items:center;gap:12px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(224,214,201,.96);box-shadow:0 -1px 0 var(--linie)}
  .leiste__haupt{flex:1;display:grid;place-items:center;min-height:50px;border-radius:var(--rund-pille);background:var(--altrosa);color:#fff;text-decoration:none;font:13px var(--serif);text-transform:uppercase;letter-spacing:.08em}
  .leiste__wa{color:var(--altrosa-tief);font:600 15px var(--sans);padding:0 8px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:1ms!important}
  @starting-style{.hero__mitte>*{transform:none;filter:none}}
}

/* --- Runde 3: nur eine Kennenlernen-Aktion im Bild, Original-Kachelwand --- */
.kopf .kreis-link{opacity:0;visibility:hidden;transition:opacity var(--dauer-ui) var(--weich),visibility .3s}
.kopf.ist-fest .kreis-link{opacity:1;visibility:visible}
.mosaik__text b{font:clamp(18px,.9vw + 13px,24px)/1.25 var(--serif);text-transform:uppercase;letter-spacing:.14em}
.mosaik__text small{font:13px/1.5 var(--serif);text-transform:uppercase;letter-spacing:.14em;color:#E9CFC6;opacity:1;margin-top:8px}
.mehr{border:0;border-radius:var(--rund-pille);background:rgba(255,255,255,.16);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:9px 18px;font:13px var(--serif);text-transform:uppercase;letter-spacing:.16em}
.mehr::after{content:" →"}
.mosaik a:hover .mehr{background:rgba(255,255,255,.92);color:var(--altrosa-tief)}
.mosaik__warm img{filter:sepia(.25) saturate(1.1)}
.mosaik__warm a::before{content:"";position:absolute;inset:0;z-index:0;background:rgba(150,80,60,.28);mix-blend-mode:multiply;pointer-events:none}
.mosaik a::after{background:linear-gradient(180deg,rgba(50,34,30,0) 45%,rgba(50,34,30,.55))}
@media (max-width:760px){
  .leiste{transform:translateY(110%);transition:transform var(--dauer-ui) var(--weich)}
  .nach-hero .leiste{transform:none}
  .mosaik__hoch .mehr{display:inline-block}
}
@media (max-width:760px){
  .mosaik .mehr{display:none!important}
  .mosaik__text,.mosaik__hoch .mosaik__text,.mosaik li:nth-child(n+3) .mosaik__text{right:16px}
  .mosaik__text b{font-size:17px;letter-spacing:.1em}
  .mosaik__text small{font-size:11.5px;letter-spacing:.1em}
}

/* --- Runde 4: Zitat wie im Original (Versalien, gesperrt, dunkel, voller Text) --- */
.zitat{max-width:1000px}
.zitat p{font:400 clamp(22px,1.6vw + 12px,38px)/1.42 var(--serif);text-transform:uppercase;letter-spacing:.08em;color:var(--dunkel)}
.zitat footer{font:15px var(--sans);color:var(--text-2);margin-top:18px}
/* Überschriften wie im Original: Versalien, gesperrt, dunkel */
.soma__text h2.gesperrt{color:var(--dunkel)}

/* --- KURSPLAN mit Buchen (Original-Stil: große Versal-Überschrift, umrandete Formen, Altrosa) --- */
.plan-abschnitt{max-width:var(--breite);margin:0 auto;padding:var(--abschnitt) var(--rand)}
.plan-kopf{display:grid;grid-template-columns:auto 1fr;gap:var(--abstand-s) 48px;align-items:end;margin-bottom:var(--abstand-l)}
.riesig{font:400 clamp(54px,6.5vw,110px)/.9 var(--serif);text-transform:uppercase;letter-spacing:.06em;color:var(--dunkel)}
.plan-kopf p{max-width:46ch;color:var(--text-2);padding-bottom:10px}
.plan-kopf b{color:var(--altrosa-tief);font-weight:600}
.tage2{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--linie-stark);border-bottom:1px solid var(--linie-stark)}
.tage2 button{min-height:62px;border:0;background:none;cursor:pointer;color:var(--text-2);position:relative;font:15px var(--serif);text-transform:uppercase;letter-spacing:.16em;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:color var(--dauer-ui) var(--weich)}
.tage2 button small{font:13px var(--sans);letter-spacing:0;text-transform:none;opacity:.8}
.tage2 button::after{content:"";position:absolute;left:22%;right:22%;bottom:-1px;height:2px;background:var(--altrosa);transform:scaleX(0);transition:transform var(--dauer-ui) var(--weich)}
.tage2 button[aria-selected=true]{color:var(--altrosa-tief)}
.tage2 button[aria-selected=true]::after{transform:scaleX(1)}
.plan2{list-style:none;margin:0;padding:0;transition:opacity .22s var(--weich),filter .22s var(--weich)}
.plan2.wechselt{opacity:0;filter:blur(3px)}
.plan2 button{width:100%;display:grid;grid-template-columns:150px 1fr auto 40px;align-items:center;gap:6px 24px;padding:20px 8px;border:0;border-bottom:1px solid var(--linie);background:none;text-align:left;cursor:pointer;color:inherit;font:inherit;transition:background-color var(--dauer-ui) var(--weich),padding var(--dauer-ui) var(--weich)}
.plan2 button:hover{background:rgba(234,226,215,.7);padding-left:18px}
.plan2 time{font:600 17px var(--sans);font-variant-numeric:tabular-nums;color:var(--dunkel)}
.plan2 time span{font-weight:400;color:var(--text-2)}
.plan2__name{font:clamp(17px,.5vw + 15px,21px)/1.3 var(--serif);text-transform:uppercase;letter-spacing:.12em;color:var(--dunkel)}
.plan2__name small{display:block;font:14px/1.5 var(--sans);text-transform:none;letter-spacing:0;color:var(--text-2);margin-top:2px}
.plan2__stufe{font:13px var(--serif);letter-spacing:.1em;color:var(--altrosa-tief);border:1.5px solid var(--altrosa);border-radius:var(--rund-rahmen);padding:3px 9px}
.plan2__pfeil{width:34px;height:34px;border-radius:50%;background:var(--altrosa);position:relative;transition:transform var(--dauer-ui) var(--weich)}
.plan2__pfeil::before{content:"";position:absolute;left:10px;top:16.2px;width:13px;height:1.4px;background:#fff}
.plan2__pfeil::after{content:"";position:absolute;left:17px;top:13px;width:7px;height:7px;border:solid #fff;border-width:1.4px 1.4px 0 0;transform:rotate(45deg)}
.plan2 button:hover .plan2__pfeil{transform:translateX(4px)}
.plan-fuss{margin-top:var(--abstand-m);color:var(--text-2);font-size:15px}


/* Mitmachen-Feld (Emil: 300 ms, ease-out, unterbrechbar, Ursprung = Bildschirmrand) */
.schleier2{position:fixed;inset:0;z-index:80;background:rgba(47,44,42,.38);opacity:0;transition:opacity var(--dauer-ui) var(--weich)}
.schleier2.offen{opacity:1}
.mitmachen{position:fixed;z-index:90;top:12px;right:12px;bottom:12px;width:min(460px,calc(100vw - 24px));background:var(--grund);border-radius:var(--rund);padding:46px 38px 34px;overflow:auto;transform:translateX(calc(100% + 24px));transition:transform .32s cubic-bezier(.32,.72,0,1);box-shadow:0 30px 60px -30px rgba(47,44,42,.6)}
.mitmachen.offen{transform:none}
.mitmachen__zu{position:absolute;right:20px;top:20px;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--altrosa);background:none;cursor:pointer}
.mitmachen__zu::before,.mitmachen__zu::after{content:"";position:absolute;left:13px;top:20px;width:16px;height:1.5px;background:var(--altrosa-tief);transform:rotate(45deg)}
.mitmachen__zu::after{transform:rotate(-45deg)}
.mm-tag{font:13px var(--serif);text-transform:uppercase;letter-spacing:.14em;color:var(--altrosa)}
.mitmachen h3{font:400 30px/1.15 var(--serif);text-transform:uppercase;letter-spacing:.1em;color:var(--dunkel);margin:var(--abstand-s) 0 var(--abstand-xs)}
.mm-info{color:var(--text-2);font-size:15px}
.mm-mitglied{margin:26px 0 0;padding:14px 16px;border:1.5px solid var(--linie-stark);border-radius:var(--rund-rahmen);font-size:15px}
.mm-mitglied b{font:400 16px var(--serif);color:var(--altrosa-tief)}
.mm-wahl{border:0;padding:0;margin:26px 0 0}
.mm-wahl legend{font:13px var(--serif);text-transform:uppercase;letter-spacing:.14em;color:var(--altrosa);margin-bottom:10px}
.mm-wahl label{display:grid;grid-template-columns:22px 1fr auto;gap:12px;align-items:center;padding:14px 4px;border-bottom:1px solid var(--linie);cursor:pointer}
.mm-wahl input{accent-color:var(--altrosa);width:18px;height:18px}
.mm-wahl__t{font:17px var(--serif);color:var(--dunkel)}
.mm-wahl__t small{display:block;font:14px/1.45 var(--sans);color:var(--text-2)}
.mm-wahl b{font-weight:600}
.mm-kasse{display:flex;align-items:center;justify-content:center;min-height:56px;margin-top:var(--abstand-l);border-radius:var(--rund-pille);background:var(--altrosa);color:#fff;text-decoration:none;font:15px var(--serif);text-transform:uppercase;letter-spacing:.14em;transition:background-color var(--dauer-ui) var(--weich),transform var(--dauer-tipp) var(--weich)}
.mm-kasse:hover{background:var(--altrosa-tief)}
.mm-kasse:active{transform:scale(.98)}
.mm-hinweis{font-size:13px;color:var(--text-2);margin-top:var(--abstand-s)}
.mm-text{margin-top:var(--abstand-m);color:var(--text-2)}
.mm-text+.mm-text{margin-top:var(--absatz)}
.mm-kennen{margin-top:var(--abstand-l);font-size:15px;color:var(--text-2)}
.mm-kennen a{color:var(--altrosa-tief);font-weight:600}
@media (max-width:760px){
  .plan-kopf{grid-template-columns:1fr}
  .tage2 button{font-size:13px;letter-spacing:.08em;min-height:56px}
  .tage2 button small{font-size:11px}
  .plan2 button{grid-template-columns:62px 1fr auto;gap:2px 12px;padding:16px 4px}
  .plan2 time span{display:block;font-size:13px}
  .plan2__pfeil{display:none}
  .plan2__name{font-size:15.5px;letter-spacing:.08em}
  .mitmachen{top:auto;left:0;right:0;bottom:0;width:auto;max-height:88vh;border-radius:var(--rund) var(--rund) 0 0;padding:40px 22px 28px;transform:translateY(100%)}
  .mitmachen h3{font-size:24px}
}
@media (prefers-reduced-motion:reduce){.mitmachen{transition-duration:1ms}}

/* ===== Kennenlernen: Termin direkt auf der Seite ===== */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.kennen{max-width:var(--breite);margin:0 auto;padding:var(--abschnitt) var(--rand);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:clamp(36px,6vw,110px);align-items:start;scroll-margin-top:70px}
.kennen__text .riesig{margin:var(--abstand-s) 0 var(--abstand-l);hyphens:manual}
.schritte{list-style:none;margin:0;padding:0;counter-reset:s}
.schritte li{counter-increment:s;position:relative;padding:0 0 26px 64px;color:var(--text-2);max-width:46ch}
.schritte li::before{content:counter(s);position:absolute;left:0;top:-4px;width:42px;height:42px;border-radius:50%;border:1.5px solid var(--altrosa);display:grid;place-items:center;font:17px var(--serif);color:var(--altrosa-tief)}
.schritte li:not(:last-child)::after{content:"";position:absolute;left:21px;top:44px;bottom:6px;width:1px;background:var(--linie-stark)}
.schritte b{display:block;font:400 17px/1.4 var(--serif);text-transform:uppercase;letter-spacing:.12em;color:var(--dunkel);margin-bottom:4px}
.kennen__alt{margin-top:var(--abstand-s);color:var(--text-2)}
.termin{background:var(--flaeche);border-radius:var(--rund);padding:var(--innen);box-shadow:var(--schatten)}
.termin__schritt.kommt{animation:kommt .32s var(--weich)}
@keyframes kommt{from{opacity:0;transform:translateY(8px)}}
.termin__kopf{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:18px}
.termin__titel{font:400 22px/1.2 var(--serif);text-transform:uppercase;letter-spacing:.12em;color:var(--dunkel)}
.termin__beispiel{font-size:12px;color:var(--altrosa-tief);border:1px dashed var(--altrosa-zart);border-radius:var(--rund-pille);padding:2px 10px;white-space:nowrap}
.termin__tage{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 10px;margin:0 -2px;scrollbar-width:none}
.termin__tage::-webkit-scrollbar{display:none}
.termin__tage button{flex:none;scroll-snap-align:start;width:64px;min-height:84px;border-radius:var(--rund-pille);border:1.5px solid var(--linie-stark);background:transparent;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:var(--text-2);font:13px var(--serif);text-transform:uppercase;letter-spacing:.1em;transition:background-color var(--dauer-ui) var(--weich),border-color var(--dauer-ui) var(--weich),color var(--dauer-ui) var(--weich),transform var(--dauer-tipp) var(--weich)}
.termin__tage b{font:400 22px/1.1 var(--serif);color:var(--dunkel);letter-spacing:0}
.termin__tage small{font:12px var(--sans);text-transform:none;letter-spacing:0}
.termin__tage button:hover{border-color:var(--altrosa)}
.termin__tage button:active,.termin__zeiten button:active{transform:scale(.97)}
.termin__tage button[aria-selected=true]{background:var(--altrosa);border-color:var(--altrosa);color:#fff}
.termin__tage button[aria-selected=true] b{color:#fff}
.termin__zeiten{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.termin__zeiten button{min-height:52px;border-radius:var(--rund-pille);border:1.5px solid var(--altrosa);background:transparent;color:var(--altrosa-tief);font:600 16px var(--sans);cursor:pointer;transition:background-color var(--dauer-ui) var(--weich),color var(--dauer-ui) var(--weich),transform var(--dauer-tipp) var(--weich)}
.termin__zeiten button:hover{background:var(--altrosa);color:#fff}
.termin__zurueck{border:0;background:none;padding:0 0 0 18px;position:relative;color:var(--altrosa-tief);font:600 14px var(--sans);cursor:pointer;min-height:32px}
.termin__zurueck::before{content:"";position:absolute;left:2px;top:50%;width:8px;height:8px;border:solid currentColor;border-width:0 0 1.5px 1.5px;transform:translateY(-50%) rotate(45deg)}
.termin__gewaehlt{font:400 20px/1.3 var(--serif);color:var(--dunkel);margin:10px 0 18px;padding-bottom:16px;border-bottom:1px solid var(--linie)}
.feld{display:block;margin-top:14px}
.feld span{display:block;font-size:14px;font-weight:600;color:var(--text);margin-bottom:6px}
.feld i,.interesse i{font-style:normal;font-weight:400;color:var(--text-2)}
.feld input{width:100%;min-height:50px;border:1.5px solid var(--linie-stark);border-radius:var(--rund-rahmen);background:var(--feld);padding:0 14px;font:16px var(--sans);color:var(--tinte);transition:border-color var(--dauer-ui) var(--weich)}
.feld input:focus{outline:none;border-color:var(--altrosa-tief);box-shadow:0 0 0 3px rgba(147,99,93,.18)}
.feld small{display:block;font-size:13px;color:var(--text-2);margin-top:5px}
.interesse{border:0;padding:0;margin:18px 0 0}
.interesse legend{font-size:14px;font-weight:600;margin-bottom:8px;padding:0}
.interesse label{display:inline-block;margin:0 6px 8px 0;cursor:pointer}
.interesse input{position:absolute;opacity:0;pointer-events:none}
.interesse span{display:inline-flex;align-items:center;min-height:40px;padding:0 15px;border-radius:var(--rund-pille);border:1.5px solid var(--linie-stark);font-size:15px;transition:background-color var(--dauer-ui) var(--weich),color var(--dauer-ui) var(--weich),border-color var(--dauer-ui) var(--weich)}
.interesse input:checked+span{background:var(--altrosa);border-color:var(--altrosa);color:#fff}
.interesse input:focus-visible+span{outline:2px solid var(--altrosa-tief);outline-offset:2px}
.termin__fehler{color:#8A2E22;font-size:14px;font-weight:600;margin-top:12px;min-height:1px}
.termin__fertig{text-align:center;padding:10px 0;outline:none}
.termin__haken{display:block;width:72px;height:72px;margin:0 auto 18px;border-radius:50%;background:var(--altrosa);position:relative}
.termin__haken::after{content:"";position:absolute;left:26px;top:20px;width:16px;height:28px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.termin__wann{font:400 clamp(22px,2vw,28px)/1.3 var(--serif);text-transform:uppercase;letter-spacing:.08em;color:var(--dunkel);margin:12px 0 14px}
.termin__fertig>p:not(.label):not(.termin__wann){color:var(--text-2);max-width:40ch;margin-left:auto;margin-right:auto}
.rahmen-knopf{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;margin-top:20px;border:1.5px solid var(--altrosa);border-radius:var(--rund-rahmen);color:var(--altrosa);text-decoration:none;font:15px var(--serif);transition:background-color var(--dauer-ui) var(--weich),color var(--dauer-ui) var(--weich)}
.rahmen-knopf:hover{background:var(--altrosa);color:#fff}

/* ===== Gutscheine & Matten: VA·RU ===== */
.varu{max-width:var(--breite);margin:0 auto;padding:var(--abschnitt) var(--rand);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,100px);align-items:center}
.varu__bild{margin:0}
.varu__bild img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--rund)}
.varu__bild figcaption{font-size:13px;color:var(--text-2);margin-top:10px}
.varu__text h2{font-size:clamp(34px,3vw,48px);margin:var(--abstand-s) 0 var(--abstand-xs)}
.varu__leit{font:400 clamp(19px,1vw + 12px,24px)/1.4 var(--serif);color:var(--dunkel);margin-bottom:var(--abstand-m)}
.varu__text>p:not(.label):not(.varu__leit):not(.mm-hinweis){color:var(--text-2);max-width:52ch}
.varu__linien{list-style:none;padding:0;margin:var(--abstand-m) 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.varu__linien li{padding:12px 0;border-top:1px solid var(--linie);font-size:15px;color:var(--text-2)}
.varu__linien b{display:block;font:400 15px var(--serif);text-transform:uppercase;letter-spacing:.1em;color:var(--altrosa-tief)}
.varu__preis{margin-top:var(--abstand-m);color:var(--text)}
.varu__preis b{font:400 24px var(--serif);color:var(--dunkel)}
.varu__kauf{max-width:360px}
.mehr-kauf{grid-column:1/-1;list-style:none;margin:var(--abstand-l) 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.mehr-kauf li{background:var(--flaeche);border-radius:var(--rund);padding:var(--innen)}
.mehr-kauf li>p:not(.label){color:var(--text-2);margin-top:var(--abstand-s)}
@media (max-width:900px){
  .kennen,.varu{grid-template-columns:minmax(0,1fr)}
  .mehr-kauf{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .termin{margin:0 -6px}
  .varu__linien{grid-template-columns:1fr}
  .kennen{scroll-margin-top:20px}
}
@media (prefers-reduced-motion:reduce){.termin__schritt.kommt{animation:none}}
@media (max-width:760px){.nach-hero.im-kennen .leiste{transform:translateY(110%)}}

/* ===== Preise ===== */
.preise{max-width:var(--breite);margin:0 auto;padding:var(--abschnitt) var(--rand);scroll-margin-top:60px}
.tarife{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tarif{background:var(--flaeche);border-radius:var(--rund);padding:var(--innen);position:relative}
.tarif--hervor{background:var(--altrosa);color:#fff}
.tarif__lauf{font:15px var(--serif);text-transform:uppercase;letter-spacing:.16em;color:var(--altrosa)}
.tarif--hervor .tarif__lauf,.tarif--hervor .tarif__preis,.tarif--hervor .tarif__preis b{color:#fff}
.tarif__preis{margin-top:12px;color:var(--text-2)}
.tarif__preis b{font:400 clamp(34px,2.6vw,44px)/1 var(--serif);color:var(--dunkel);margin-right:4px}
.tarif__marke{position:absolute;top:30px;right:28px;font-size:12px;border:1px solid rgba(255,255,255,.6);border-radius:var(--rund-pille);padding:2px 10px}
.tarif>ul{list-style:none;padding:0;margin:var(--abstand-m) 0 0}
.tarif>ul li{padding:10px 0 10px 26px;border-top:1px solid var(--linie);position:relative;font-size:15px}
.tarif--hervor>ul li{border-color:rgba(255,255,255,.28)}
.tarif>ul li::before{content:"";position:absolute;left:3px;top:17px;width:10px;height:6px;border:solid currentColor;border-width:0 0 1.5px 1.5px;transform:rotate(-45deg);opacity:.8}
.tarif>ul b{font-weight:600}
.preise__pause{margin-top:var(--abstand-m);color:var(--text-2);max-width:80ch;font-size:15px}
.preise__pause b{color:var(--altrosa-tief)}
.ohne{margin-top:var(--abstand-xl);border-top:1px solid var(--linie-stark);padding-top:var(--abstand-l)}
.ohne__liste{list-style:none;padding:0;margin:var(--abstand-s) 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:0 28px}
.ohne__liste li{color:var(--text-2);font-size:15px;padding:6px 0}
.ohne__liste b{display:block;font:400 19px/1.3 var(--serif);text-transform:uppercase;letter-spacing:.1em;color:var(--dunkel);margin-bottom:4px}
.ohne__fuss{margin-top:var(--abstand-m);color:var(--text-2);font-size:15px}
.preise__aktion{margin-top:var(--abstand-xl);display:flex;justify-content:center}
.kreis-link--dunkel{color:var(--dunkel)}

/* ===== Workshops & Kursreihen ===== */
.reihen{max-width:var(--breite);margin:0 auto;padding:var(--abschnitt) var(--rand);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(36px,6vw,100px);align-items:center;scroll-margin-top:60px}
.reihen__bild{margin:0}
.reihen__bild img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--rund)}
.reihen__text h2{font-size:clamp(34px,3vw,48px);margin:var(--abstand-s) 0 var(--abstand-m)}
.reihen__text>p:not(.label){color:var(--text-2)}
.reihen__liste{list-style:none;padding:0;margin:var(--abstand-m) 0;border-top:1px solid var(--linie)}
.reihen__liste a{display:grid;grid-template-columns:1fr auto 40px;gap:16px;align-items:center;padding:18px 6px;border-bottom:1px solid var(--linie);text-decoration:none;transition:background-color var(--dauer-ui) var(--weich),padding var(--dauer-ui) var(--weich)}
.reihen__liste a:hover{background:rgba(234,226,215,.7);padding-left:14px}
.reihen__liste a:hover .plan2__pfeil{transform:translateX(4px)}
.reihen__liste b{display:block;font:400 18px/1.3 var(--serif);text-transform:uppercase;letter-spacing:.1em;color:var(--dunkel)}
.reihen__liste small{font-size:14px;color:var(--text-2)}
.reihen__liste em{font-style:normal;font-weight:600;color:var(--altrosa-tief)}

/* ===== Fuß über der Obstwiese ===== */
.fuss2{position:relative;margin:var(--abschnitt) clamp(10px,1.4vw,20px) clamp(10px,1.4vw,20px);border-radius:var(--rund);overflow:hidden;color:#fff;isolation:isolate}
.fuss2__bild{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.fuss2::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(47,40,37,.55),rgba(47,40,37,.82));z-index:-1}
.fuss2__innen{max-width:var(--breite);margin:0 auto;padding:var(--innen-gross) var(--rand) var(--abstand-xl);display:grid;grid-template-columns:auto 1fr;gap:clamp(30px,6vw,100px);align-items:start}
.fuss2__logo{width:clamp(110px,10vw,150px);filter:brightness(0) invert(1);opacity:.95}
.fuss2__spalten{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.fuss2__k{font:14px var(--serif);text-transform:uppercase;letter-spacing:.16em;color:#E9CFC6;margin-bottom:var(--abstand-s)}
.fuss2 p{font-size:15px;line-height:1.9}
.fuss2 a{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35);transition:border-color var(--dauer-ui) var(--weich)}
.fuss2 a:hover{border-color:#fff}

@media (max-width:1080px){
  .tarife{grid-template-columns:1fr 1fr}
  .fuss2__spalten{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .tarife,.ohne__liste{grid-template-columns:1fr}
  .ohne__liste li{padding:10px 0;border-bottom:1px solid var(--linie)}
  .reihen{grid-template-columns:1fr}
  .fuss2{margin:var(--abschnitt) 0 0;border-radius:var(--rund) var(--rund) 0 0;padding-bottom:84px}
  .fuss2__innen{grid-template-columns:1fr}
  .fuss2__spalten{grid-template-columns:1fr 1fr;gap:24px 16px}
}

/* Workshops auf der Startseite: Überschrift so prominent wie Kursplan und Preise */
.reihen__kopf{grid-column:1/-1;margin-bottom:0}
.reihen__text h3.reihen__titel{font-size:clamp(24px,1.4vw + 12px,32px);letter-spacing:.12em;margin:var(--abstand-s) 0 var(--abstand-m)}
.reihen__auch{margin:0 0 var(--abstand-m);font-size:15px;color:var(--text-2)}
.reihen__auch a{color:var(--altrosa-tief);text-decoration:none;border-bottom:1px solid var(--linie-stark)}
.reihen__auch a:hover{border-color:var(--altrosa-tief)}
.reihen__auch b{font-weight:600}

/* Fortbildung: eigener Bereich, ruhig abgesetzt */
.fortbildung-band{margin:var(--abschnitt) clamp(10px,1.4vw,20px);background:var(--flaeche);border-radius:var(--rund);scroll-margin-top:60px}
.fortbildung-band__innen{max-width:var(--breite);margin:0 auto;padding:var(--innen-gross) var(--rand);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:center}
.fortbildung-band__text .riesig{margin:var(--abstand-s) 0 var(--abstand-s)}
.fortbildung-band__text h3{font-size:clamp(18px,1.2vw + 10px,24px);margin-bottom:var(--abstand-m)}
.fortbildung-band__text>p:not(.label){color:var(--text-2);max-width:52ch}
.fortbildung-band__fakten{list-style:none;padding:0;margin:var(--abstand-m) 0 var(--abstand-l);display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.fortbildung-band__fakten li{border-top:1px solid var(--linie);padding-top:10px;font-size:14px;color:var(--text-2)}
.fortbildung-band__fakten b{display:block;font:400 18px var(--serif);color:var(--dunkel)}
.fortbildung-band__bild{margin:0}
.fortbildung-band__bild img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--rund)}
@media (max-width:900px){.fortbildung-band__innen{grid-template-columns:1fr}.fortbildung-band__bild{order:-1}}
@media (max-width:760px){.fortbildung-band{margin:var(--abschnitt) 0}.fortbildung-band__fakten{grid-template-columns:1fr 1fr 1fr;gap:8px}}
.fortbildung-band__text,.fortbildung-band__bild{min-width:0}
.fortbildung-band__text .riesig{font-size:clamp(40px,5vw,84px)}
.fortbildung-band__text h3{overflow-wrap:anywhere}
@media (max-width:760px){
  .fortbildung-band__text .riesig{font-size:clamp(34px,11vw,56px);letter-spacing:.04em}
  .fortbildung-band__text h3{letter-spacing:.08em}
  .fortbildung-band__fakten{grid-template-columns:1fr}
}
@media (max-width:760px){.kennen__text .riesig{font-size:clamp(34px,11vw,56px);letter-spacing:.04em}}

/* SO·MA – Kursseite (Vorschau) */
.kursseite main{padding-top:84px}
.pfad{max-width:var(--breite);margin:0 auto;padding:22px var(--rand) 0;font-size:14px;color:var(--text-2);display:flex;flex-wrap:wrap;gap:8px}
.pfad a{text-decoration:none;color:var(--altrosa-tief)}
.pfad a:hover{text-decoration:underline}
.kurs{max-width:var(--breite);margin:0 auto;padding:26px var(--rand) var(--abschnitt);display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:clamp(36px,5vw,80px);align-items:start}
.kurs__kopf .riesig{margin:var(--abstand-s) 0 var(--abstand-m)}
.kurs__lead{font:400 clamp(19px,1vw + 13px,24px)/1.5 var(--serif);color:var(--dunkel);max-width:34ch;text-wrap:pretty}
.kurs__fakten{list-style:none;padding:0;margin:var(--abstand-m) 0 0;display:flex;flex-wrap:wrap;gap:10px}
.kurs__fakten li{border:1.5px solid var(--linie-stark);border-radius:var(--rund-pille);padding:8px 18px;display:flex;flex-direction:column}
.kurs__fakten span{font-size:12px;color:var(--text-2)}
.kurs__fakten b{font:400 16px var(--serif);color:var(--dunkel)}
.kurs__bild{margin:34px 0 0}
.kurs__bild img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--rund)}
.kurs__teil{margin-top:var(--abstand-xl);max-width:68ch}
.kurs__teil h2{font-size:clamp(20px,1.4vw + 10px,26px);margin-bottom:var(--abstand-m)}
.kurs__teil>p{color:var(--text-2)}
.kurs__teil>p b{color:var(--text);font-weight:600}
.kurs__punkte{list-style:none;padding:0;margin:22px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:0 20px}
.kurs__punkte li{border-top:1px solid var(--linie);padding:12px 0;font-size:15px;color:var(--text-2)}
.kurs__punkte b{display:block;font:400 15px var(--serif);text-transform:uppercase;letter-spacing:.1em;color:var(--altrosa-tief)}
.stufen{list-style:none;padding:0;margin:20px 0 0;display:flex;gap:8px}
.stufen li{flex:1;max-width:150px;border-radius:var(--rund-pille);border:1.5px solid var(--linie);padding:10px 14px;text-align:center;font-size:14px;color:var(--text-2)}
.stufen b{display:block;font:400 18px var(--serif);color:var(--dunkel)}
.stufen .ist{background:var(--altrosa);border-color:var(--altrosa);color:#fff}
.stufen .ist b{color:#fff}
.trainerin blockquote{margin:0 0 16px;padding:var(--innen);background:var(--flaeche);border-radius:var(--rund)}
.trainerin blockquote p{font:400 clamp(18px,.6vw + 14px,21px)/1.5 var(--serif);color:var(--dunkel)}
.trainerin footer{margin-top:var(--abstand-s);font-size:14px;color:var(--text-2)}
.fragen details{border-bottom:1px solid var(--linie)}
.fragen details:first-child{border-top:1px solid var(--linie)}
.fragen summary{list-style:none;cursor:pointer;padding:16px 40px 16px 4px;position:relative;font:400 17px/1.4 var(--serif);color:var(--dunkel)}
.fragen summary::-webkit-details-marker{display:none}
.fragen summary::after{content:"";position:absolute;right:12px;top:50%;width:9px;height:9px;border:solid var(--altrosa-tief);border-width:0 1.5px 1.5px 0;transform:translateY(-70%) rotate(45deg);transition:transform var(--dauer-ui) var(--weich)}
.fragen details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.fragen details p{padding:0 4px 18px;color:var(--text-2)}
.buchen{position:sticky;top:96px;background:var(--flaeche);border-radius:var(--rund);padding:var(--innen);box-shadow:var(--schatten);scroll-margin-top:90px}
.buchen__titel{font:400 24px/1.25 var(--serif);text-transform:uppercase;letter-spacing:.1em;color:var(--dunkel);margin:var(--abstand-s) 0 0}
.buchen .mm-mitglied{margin-top:var(--abstand-m)}
.buchen__frage{margin-top:22px;font-size:14px;font-weight:600}
.buchen__termine{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.buchen__termine button{min-height:60px;border-radius:var(--rund-pille);border:1.5px solid var(--linie-stark);background:transparent;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;font:12px var(--serif);text-transform:uppercase;letter-spacing:.1em;color:var(--text-2);transition:background-color var(--dauer-ui) var(--weich),border-color var(--dauer-ui) var(--weich),color var(--dauer-ui) var(--weich),transform var(--dauer-tipp) var(--weich)}
.buchen__termine b{font:400 17px var(--serif);color:var(--dunkel);letter-spacing:0}
.buchen__termine button:hover{border-color:var(--altrosa)}
.buchen__termine button:active{transform:scale(.97)}
.buchen__termine button[aria-checked=true]{background:var(--altrosa);border-color:var(--altrosa);color:#fff}
.buchen__termine button[aria-checked=true] b{color:#fff}
.buchen .mm-wahl{margin-top:20px}
.passend{max-width:var(--breite);margin:0 auto;padding:var(--abschnitt) var(--rand)}
.passend h2{font-size:clamp(20px,1.4vw + 10px,26px);margin-bottom:var(--abstand-m)}
.passend ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.passend a{display:block;height:100%;background:var(--flaeche);border-radius:var(--rund);padding:var(--innen);text-decoration:none;transition:transform var(--dauer-ui) var(--weich),box-shadow var(--dauer-ui) var(--weich)}
.passend a:hover{transform:translateY(-3px);box-shadow:var(--schatten-hover)}
.passend__stufe{display:inline-block;min-width:1px;min-height:24px;font:13px var(--serif);color:var(--altrosa-tief);border:1.5px solid var(--linie-stark);border-radius:var(--rund-rahmen);padding:1px 8px}
.passend__stufe:empty{border:0;padding:0}
.passend b{display:block;margin-top:12px;font:400 19px/1.3 var(--serif);text-transform:uppercase;letter-spacing:.1em;color:var(--dunkel)}
.passend small{font-size:14px;color:var(--text-2)}
@media (max-width:1000px){
  .kurs{grid-template-columns:1fr}
  .buchen{position:static;order:0}
  .kurs__haupt{display:contents}
  .kurs__kopf{order:-3}.kurs__bild{order:-2;margin-top:0}.buchen{order:-1}
  .kurs__teil{order:1}
  .passend ul{grid-template-columns:1fr}
}
@media (max-width:760px){
  .kursseite main{padding-top:66px}
  .kurs__punkte{grid-template-columns:1fr}
  .buchen{margin:0 -6px}
  .kursseite .leiste{transform:none}
  .kursseite.buchen-sichtbar .leiste{transform:translateY(110%)}
  .kurs__fakten li{flex:1 1 40%}
}
@media (prefers-reduced-motion:reduce){.passend a:hover{transform:none}}
.kurs__fakten abbr{text-decoration:none}
@media (max-width:760px){
  .kurs__lead{font-size:18px}
  .kurs__fakten{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:6px;margin-top:20px}
  .kurs__fakten li{padding:7px 12px}
  .kurs__fakten b{font-size:15px;white-space:nowrap}
  .kurs__bild img{aspect-ratio:3/2}
}

/* SO·MA – Angebotsseite (Vorschau) */
html{scroll-padding-top:90px}
.angebote-kopf{max-width:var(--breite);margin:0 auto;padding:26px var(--rand) 10px}
.sprung{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.sprung a{display:inline-flex;align-items:center;min-height:42px;padding:0 18px;border:1.5px solid var(--linie-stark);border-radius:var(--rund-pille);text-decoration:none;font:15px var(--serif);color:var(--altrosa-tief);transition:background-color var(--dauer-ui) var(--weich),color var(--dauer-ui) var(--weich),border-color var(--dauer-ui) var(--weich)}
.sprung a:hover{background:var(--altrosa);border-color:var(--altrosa);color:#fff}
.angebot{max-width:var(--breite);margin:0 auto;padding:clamp(50px,6vw,90px) var(--rand) 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(30px,5vw,80px);align-items:start}
.angebot--rechts .angebot__bild{order:2}
.angebot__bild{margin:0;position:sticky;top:100px}
.angebot__bild img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--rund)}
.angebot__bild figcaption{font-size:13px;color:var(--text-2);margin-top:8px}
.angebot__text h2{font-size:clamp(24px,2vw + 10px,36px);line-height:1.2;margin:var(--abstand-s) 0 var(--abstand-m)}
.angebot__text h2:first-child{margin-top:0}
.angebot__text>p+p{margin-top:var(--absatz)}
.angebot__text>p{color:var(--text-2);max-width:56ch}
.angebot__hinweis{margin-top:var(--abstand-m);padding:14px 18px;border:1.5px solid var(--linie-stark);border-radius:var(--rund-klein);font-size:15px;color:var(--text-2);max-width:56ch}
.angebot__hinweis b{color:var(--altrosa-tief);font-weight:600}
.ak{list-style:none;padding:0;margin:var(--abstand-m) 0 0;border-top:1px solid var(--linie)}
.ak a{display:grid;grid-template-columns:1fr auto 76px 34px;gap:14px;align-items:center;padding:14px 6px;border-bottom:1px solid var(--linie);text-decoration:none;transition:background-color var(--dauer-ui) var(--weich),padding var(--dauer-ui) var(--weich)}
.ak a:hover{background:rgba(234,226,215,.8);padding-left:14px}
.ak a:hover .plan2__pfeil{transform:translateX(3px)}
.ak__name{font:400 16.5px/1.3 var(--serif);text-transform:uppercase;letter-spacing:.08em;color:var(--dunkel)}
.ak__name small{display:block;font:14px var(--sans);text-transform:none;letter-spacing:0;color:var(--text-2);margin-top:2px}
.ak__zeit{font-size:15px;color:var(--text-2);text-align:right;font-variant-numeric:tabular-nums}
.ak__stufe{font:13px var(--serif);color:var(--altrosa-tief);text-align:right}
.ak .plan2__pfeil{width:30px;height:30px;display:block}
.firmen{max-width:var(--breite);margin:var(--abschnitt-voll) auto 0;padding:var(--innen);display:flex;gap:30px;align-items:center;justify-content:space-between;background:var(--flaeche);border-radius:var(--rund);width:calc(100% - 2 * var(--rand))}
.firmen h2{font-size:clamp(20px,1.4vw + 10px,28px);margin:var(--abstand-s) 0 var(--abstand-m)}
.firmen p:not(.label){color:var(--text-2);max-width:60ch}
.firmen__knopf{flex:none;padding:0 32px;margin-top:0}
.angebote-ende{max-width:var(--breite);margin:0 auto;padding:var(--abschnitt-voll) var(--rand) var(--abschnitt);display:flex;flex-direction:column;align-items:center;gap:20px}
.angebote-ende>p{font:400 clamp(20px,1.2vw + 12px,28px) var(--serif);color:var(--dunkel)}
@media (max-width:900px){
  .angebot{grid-template-columns:1fr}
  .angebot--rechts .angebot__bild{order:0}
  .angebot__bild{position:static}
  .angebot__bild img{aspect-ratio:16/10}
  .firmen{flex-direction:column;align-items:flex-start}
}
@media (max-width:760px){
  .sprung{flex-wrap:nowrap;overflow-x:auto;margin:6px calc(-1 * var(--rand)) 0;padding:0 var(--rand) 6px;scrollbar-width:none}
  .sprung::-webkit-scrollbar{display:none}
  .sprung a{flex:none}
  .ak a{grid-template-columns:1fr auto 30px;grid-template-areas:"name stufe pfeil" "zeit zeit pfeil";row-gap:2px}
  .ak__name{grid-area:name}.ak__stufe{grid-area:stufe}.ak__zeit{grid-area:zeit;text-align:left}.ak .plan2__pfeil{grid-area:pfeil}
}
@media (max-width:760px){
  .ak a{padding:11px 4px;gap:2px 12px}
  .ak .plan2__pfeil{width:26px;height:26px}
  .ak__name small{display:inline;margin-left:6px}
}

/* SO·MA – Workshop- und Kursreihen-Seiten (Vorschau), ergänzt kurs.css */
.riesig--lang{font-size:clamp(44px,5.2vw,92px);line-height:.95;hyphens:manual}
.kurs__nach{margin-top:14px;color:var(--text-2)}
.kurs__leit{margin-top:16px;font:400 clamp(18px,.6vw + 14px,22px)/1.4 var(--serif);color:var(--altrosa-tief)}
.ablauf{list-style:none;padding:0;margin:0;border-left:1.5px solid var(--linie-stark)}
.ablauf li{position:relative;padding:8px 0 8px 22px;color:var(--text-2)}
.ablauf li::before{content:"";position:absolute;left:-6px;top:17px;width:9px;height:9px;border-radius:50%;background:var(--altrosa)}
.ablauf time{display:inline-block;min-width:58px;font-weight:600;color:var(--dunkel);font-variant-numeric:tabular-nums}
.termin-liste{margin-top:18px;display:grid;gap:8px}
.termin-liste label{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;min-height:54px;padding:0 18px;border:1.5px solid var(--linie-stark);border-radius:var(--rund-pille);cursor:pointer;transition:background-color var(--dauer-ui) var(--weich),border-color var(--dauer-ui) var(--weich),color var(--dauer-ui) var(--weich)}
.termin-liste input{position:absolute;opacity:0;pointer-events:none}
.termin-liste span{font:400 16px var(--serif);color:var(--dunkel)}
.termin-liste span b{font-weight:400;text-transform:uppercase;letter-spacing:.12em;font-size:13px;color:var(--altrosa-tief);margin-right:6px}
.termin-liste em{font-style:normal;font-weight:600;font-size:15px;color:var(--text-2)}
.termin-liste label:hover{border-color:var(--altrosa)}
.termin-liste label:has(input:checked){background:var(--altrosa);border-color:var(--altrosa)}
.termin-liste label:has(input:checked) span,.termin-liste label:has(input:checked) span b,.termin-liste label:has(input:checked) em{color:#fff}
.termin-liste label:has(input:focus-visible){outline:2px solid var(--altrosa-tief);outline-offset:2px}
@media (max-width:760px){.kurs__fakten b{white-space:normal}}

/* Übersicht Workshops */
.ws-uebersicht{max-width:var(--breite);margin:0 auto;padding:26px var(--rand) var(--abschnitt)}
.ws-liste{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:14px}
.ws-karte{display:grid;grid-template-columns:200px 92px 1fr auto 40px;align-items:center;gap:24px;padding:14px 26px 14px 14px;background:var(--flaeche);border-radius:var(--rund);text-decoration:none;transition:transform var(--dauer-ui) var(--weich),box-shadow var(--dauer-ui) var(--weich)}
.ws-karte:hover{transform:translateY(-2px);box-shadow:var(--schatten-hover)}
.ws-karte:hover .plan2__pfeil{transform:translateX(4px)}
.ws-karte__bild img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--rund-klein)}
.ws-karte__datum{display:flex;flex-direction:column;align-items:center;justify-content:center;width:84px;height:84px;border-radius:50%;border:1.5px solid var(--altrosa)}
.ws-karte__datum small{font:13px var(--serif);text-transform:uppercase;letter-spacing:.12em;color:var(--altrosa-tief)}
.ws-karte__datum b{font:400 20px/1.1 var(--serif);color:var(--dunkel)}
.ws-karte__text{display:flex;flex-direction:column;gap:4px}
.ws-karte__text .label{font-size:14px}
.ws-karte__text b{font:400 clamp(19px,.8vw + 13px,24px)/1.25 var(--serif);text-transform:uppercase;letter-spacing:.1em;color:var(--dunkel)}
.ws-karte__text span{font-size:15px;color:var(--text-2)}
.ws-karte__preis{text-align:right;display:flex;flex-direction:column}
.ws-karte__preis b{font:400 24px var(--serif);color:var(--dunkel)}
.ws-karte__preis small{font-size:13px;color:var(--text-2)}
.ws-info{margin-top:var(--abstand-xl);display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ws-info>div{border:1.5px solid var(--linie-stark);border-radius:var(--rund);padding:var(--innen)}
.ws-info p:not(.label){margin-top:var(--abstand-s);color:var(--text-2)}
.ws-info .rahmen-knopf{margin-top:16px}
@media (max-width:900px){
  .ws-karte{grid-template-columns:72px 1fr auto;grid-template-areas:"datum text text" "bild bild bild" "preis preis pfeil";padding:16px;gap:14px 16px}
  .ws-karte__datum{grid-area:datum;width:68px;height:68px}
  .ws-karte__text{grid-area:text}
  .ws-karte__bild{grid-area:bild}
  .ws-karte__bild img{aspect-ratio:16/9}
  .ws-karte__preis{grid-area:preis;text-align:left;flex-direction:row;align-items:baseline;gap:8px}
  .ws-karte .plan2__pfeil{grid-area:pfeil;justify-self:end}
  .ws-info{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.ws-karte:hover{transform:none}}
@media (max-width:760px){
  .ws-uebersicht .riesig{font-size:clamp(38px,12.5vw,110px);letter-spacing:.04em}
  .ws-karte .plan2__pfeil{display:block;flex:none}
}
.ws-leer{background:var(--flaeche);border-radius:var(--rund);padding:var(--innen);color:var(--text-2)}.ws-leer b{color:var(--dunkel)}.ws-leer p+p{margin-top:10px}


/* ===== WordPress-Ergänzungen ===== */
.wp-site-blocks{padding:0}
.wp-site-blocks>*{margin-block:0}
.admin-bar .kopf{top:32px}
@media (max-width:782px){.admin-bar .kopf{top:46px}}
.soma-main{display:block}
.kursseite .soma-main{padding-top:84px}
@media (max-width:760px){.kursseite .soma-main{padding-top:66px}}
/* Mitmachen-Kasten ohne Auswahlknöpfe (Kauf vorerst über bestehende Links) */
.mm-wahl__legende{font:13px var(--serif);text-transform:uppercase;letter-spacing:.14em;color:var(--altrosa);margin:26px 0 6px}
.mm-wahl__zeile{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:14px 4px;border-bottom:1px solid var(--linie)}
.plan2__leer{padding:24px 8px;color:var(--text-2)}
.termin__laden{grid-column:1/-1;color:var(--text-2);font-size:15px}
.feld--versteckt{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.termin__zeiten .termin__fehler{grid-column:1/-1}
/* Handy-Menü */
.menue{position:fixed;inset:0;z-index:45;background:var(--grund);padding:96px var(--rand) 40px;display:flex;flex-direction:column;gap:28px;overflow:auto}
.menue[hidden]{display:none}
.menue nav{display:flex;flex-direction:column}
.menue nav a{font:400 26px/1.3 var(--serif);text-transform:uppercase;letter-spacing:.12em;color:var(--tinte);text-decoration:none;padding:12px 0;border-bottom:1px solid var(--linie)}
.menue__fuss{color:var(--text-2);font-size:15px}
.menue__fuss a{color:var(--altrosa-tief)}
.menue-offen .kopf{background:var(--grund);color:var(--tinte)}
.menue-offen .leiste{display:none}
.menu-knopf[aria-expanded=true] span{background:transparent}
.menu-knopf[aria-expanded=true] span::before{transform:translateY(7px) rotate(45deg)}
.menu-knopf[aria-expanded=true] span::after{transform:translateY(-7px) rotate(-45deg)}
@media (min-width:1081px){.menue{display:none!important}}
/* Normale Seiten (Impressum, Datenschutz, Studio …) */
.seite{max-width:900px;margin:0 auto;padding:clamp(110px,10vw,150px) var(--rand) var(--abschnitt)}
.seite__titel{margin-bottom:var(--abstand-l);font-size:clamp(40px,5vw,76px)}
.seite__inhalt,.kurs__text{color:var(--text)}
.seite__inhalt h2,.seite__inhalt h3,.kurs__text h2,.kurs__text h3,.kurs__text h4{font-family:var(--serif);font-weight:400;text-transform:uppercase;letter-spacing:.1em;color:var(--altrosa-tief);margin:var(--abstand-xl) 0 var(--abstand-m);font-size:clamp(18px,1.2vw + 10px,24px)}
.seite__inhalt>h2:first-child,.seite__inhalt>h3:first-child{margin-top:0}
.seite__inhalt p,.kurs__text p{margin:0 0 var(--absatz);max-width:68ch}
.seite__inhalt a,.kurs__text a{color:var(--altrosa-tief)}
.seite__inhalt ul,.kurs__text ul{padding-left:1.2em;margin:0 0 var(--absatz)}
.seite__inhalt .app-holen ul{margin:0}
.seite__inhalt img,.kurs__text img{border-radius:var(--rund-klein);height:auto}
.kursseite .soma-main.seite{padding-top:clamp(140px,12vw,180px)}

/* Große Überschriften passen sich der Spalte an: --w = Zeichen des längsten Worts */
.kurs__kopf,.fortbildung-band__text{container-type:inline-size}
.riesig--passt{--gross:clamp(44px,5.2vw,92px);font-size:min(var(--gross),calc(100cqi / (var(--w,10) * .86))) !important;hyphens:manual;overflow-wrap:normal}
.fortbildung-band__text .riesig--passt{--gross:clamp(40px,5vw,84px)}

/* Studio / Über uns: wie die bisherige Studio-Seite */
.studio>section{max-width:var(--breite);margin-left:auto;margin-right:auto;padding-left:var(--rand);padding-right:var(--rand)}
.studio-start{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(30px,4vw,64px);align-items:center;padding-top:clamp(20px,3vw,40px)}
.studio-start__bild{margin:0}
.studio-start__bild img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--rund);display:block}
.studio-start__marke{font-size:clamp(16px,1vw + 8px,20px);margin:0 0 6px}
.studio-start .riesig{margin:0 0 30px}
.studio-ueber{position:relative;padding-top:var(--abschnitt-voll)}
.studio-ueber__kopf{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px}
.studio-ueber__linie{width:clamp(150px,17vw,250px);height:auto;opacity:.55;margin-bottom:-20px;pointer-events:none}
.studio-ueber__kopf{margin-bottom:clamp(30px,3.6vw,50px)}
.studio-ueber__kopf .riesig{margin:0 0 12px}
.studio-ueber__kopf .gesperrt{font-size:14px;letter-spacing:.18em;margin:0}
.studio-ueber__spalten{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr) minmax(0,.9fr);gap:clamp(26px,3.6vw,56px);align-items:start}
.studio-ueber__spalten p{color:var(--text-2);margin:0 0 var(--absatz);font-size:16px;line-height:1.75}
.studio-ueber__spalten b{color:var(--dunkel);font-weight:600}
.studio-ueber__lead{font:400 17px/1.7 var(--sans)!important;color:var(--dunkel)!important}
.studio-ueber__name h3{font-size:15px;letter-spacing:.14em;margin:0 0 var(--abstand-m);line-height:1.5}
.studio-medien{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,28px);padding-top:var(--abstand-xl)}
.studio-medien figure{margin:0}
.studio-medien video,.studio-medien img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--rund);display:block;background:var(--dunkel)}
.studio-woche{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(36px,6vw,110px);padding-top:var(--abschnitt-voll);align-items:start}
.studio-woche__kopf .riesig{margin:var(--abstand-s) 0 var(--abstand-l)}
.studio-woche__zitat{margin:0;padding-left:20px;border-left:2px solid var(--altrosa-zart)}
.studio-woche__zitat p{font:400 clamp(18px,.6vw + 14px,22px)/1.5 var(--serif);color:var(--altrosa-tief);margin:0}
.studio-woche__zitat footer{font:15px var(--serif);color:var(--altrosa);margin-top:12px}
.studio-woche__tage li{max-width:52ch}
.studio-woche__tage li::before{content:attr(data-tag);font:15px var(--serif);text-transform:uppercase;letter-spacing:.06em;color:var(--altrosa-tief)}
.team-bereich{max-width:var(--breite);margin:0 auto;padding:var(--abschnitt-voll) var(--rand) var(--abschnitt);scroll-margin-top:80px}
.team{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:clamp(36px,3.6vw,54px) clamp(20px,2.2vw,32px)}
.team__bild{margin:0 0 18px}
.team__bild img,.team__bild--leer{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;border-radius:var(--rund);display:block;background:var(--flaeche)}
.team__name{font:400 16.5px/1.3 var(--serif);text-transform:uppercase;letter-spacing:.12em;color:var(--altrosa-tief);margin:0}
.team__rolle{font:14px/1.4 var(--sans);color:var(--text-2);margin:4px 0 var(--abstand-xs)}
.team__text p{font-size:15px;line-height:1.7;color:var(--text-2);margin:0}
.angebot{scroll-margin-top:80px}
@media (max-width:1000px){
  .studio-start,.studio-woche{grid-template-columns:1fr}
  .studio-ueber__spalten{grid-template-columns:1fr}
  .studio-ueber__linie{width:110px;margin-bottom:0}
}
@media (max-width:600px){
  .studio-medien{grid-template-columns:1fr}
  .team{grid-template-columns:1fr;gap:40px}
  .team__bild img,.team__bild--leer{aspect-ratio:1/1;border-radius:var(--rund)}
}

/* Kopf ausgewogen: Logo links, Menü mittig, Kennenlernen rechts */
@media (min-width:1081px){
  .kopf{display:grid;grid-template-columns:1fr auto 1fr;gap:24px}
  .kopf__marke{justify-self:start}
  .nav{margin:0;justify-content:center}
  .kopf .kreis-link{justify-self:end}
}
@media (min-width:1081px) and (max-width:1360px){
  .nav{gap:20px}
  .nav a{font-size:13px;letter-spacing:.13em}
  .kopf .kreis-link>span:last-child{font-size:13px;letter-spacing:.1em}
}

/* Bereichsseiten (z. B. Tanz): Kursliste statt Kartenkauf */
.mm-kurse{list-style:none;margin:16px 0 0;padding:0;border-top:1px solid var(--linie)}
.mm-kurse a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 4px;border-bottom:1px solid var(--linie);text-decoration:none;color:inherit}
.mm-kurse b{display:block;font:400 16px/1.3 var(--serif);text-transform:uppercase;letter-spacing:.08em;color:var(--dunkel)}
.mm-kurse small{display:block;font-size:14px;color:var(--text-2);margin-top:3px}
.mm-kurse a:hover .plan2__pfeil{transform:translateX(3px)}
.mm-kurse .plan2__pfeil{flex:none}

.anker{display:block;height:0;scroll-margin-top:90px}

/* Ausfall / Vertretung */
.plan2--ausfall .plan2__name{color:var(--text-2)}
.plan2--ausfall time,.plan2--ausfall .plan2__stufe,.plan2--ausfall .plan2__pfeil{opacity:.5}
.plan2__aenderung{display:inline-block;margin-top:4px;font-weight:600;color:var(--altrosa-tief)}
.plan2--ausfall .plan2__aenderung{background:var(--altrosa);color:#fff;border-radius:var(--rund-klein);padding:2px 10px;font-weight:600}
.mm-ausfall{background:rgba(147,99,93,.12);border-left:3px solid var(--altrosa);border-radius:var(--rund-klein);padding:14px 16px;margin:18px 0 10px;color:var(--dunkel)}
.kurs__aenderungen{margin:22px 0 0;padding:16px 18px;border:1.5px solid var(--altrosa);border-radius:var(--rund-klein);background:rgba(147,99,93,.07)}
.kurs__aenderungen ul{list-style:none;margin:8px 0 0;padding:0}
.kurs__aenderungen li{padding:4px 0;font-weight:600;color:var(--altrosa-tief)}
.kurs__aenderungen li.ist-ausfall::before{content:"✕ ";color:var(--altrosa)}
.kurs__aenderungen li.ist-vertretung::before{content:"↺ ";color:var(--altrosa)}
.plan2__name small.plan2__aenderung{display:block;width:fit-content;max-width:100%}

/* Imagefilm in „Wir sind SO·MA“ */
.soma__gross.soma__film{aspect-ratio:auto;overflow:visible;border-radius:0;align-self:center}
.soma__film video{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--rund);display:block;background:var(--dunkel)}
.soma__film figcaption{font-size:13px;color:var(--text-2);margin-top:8px}
.soma__komposition:has(.soma__film){align-items:center;padding-bottom:0}
.soma__komposition:has(.soma__film) .soma__klein{position:static;grid-column:2;width:100%;margin-top:0;border-radius:var(--rund);box-shadow:none}
@media (max-width:1080px){
  .soma__gross.soma__film{margin-bottom:0}
  .soma__komposition:has(.soma__film) .soma__klein{grid-column:1;width:100%;top:auto}
}
.studio-geschichte__auftakt{font:400 clamp(20px,.9vw + 14px,26px)/1.45 var(--serif)!important;color:var(--altrosa-tief)!important;margin:0 0 var(--abstand-m)!important}
.studio-geschichte .angebot__text>p:not(.label){margin:0 0 var(--absatz)}

/* Einblenden beim Scrollen (soma.js, Motion-System): Weg = halbe eigene Höhe, höchstens --rein-weg; weiche Kurve wie die bisherige Seite */
.gleiten-an [data-gleiten]{opacity:0;transform:translateY(min(50%,var(--rein-weg)));transition:opacity var(--rein-dauer) var(--rein-kurve),transform var(--rein-dauer) var(--rein-kurve)}
.gleiten-an [data-gleiten].ist-da{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.gleiten-an [data-gleiten]{opacity:1;transform:none;transition:none}}

/* VA·RU: Farbe wählen */
.varu__farben{border:0;margin:var(--abstand-m) 0 var(--abstand-l);padding:0}
.varu__farben legend{font:13px var(--serif);text-transform:uppercase;letter-spacing:.14em;color:var(--altrosa);margin-bottom:10px;padding:0}
.varu__farbliste{display:flex;flex-wrap:wrap;gap:10px}
.farbe{position:relative;display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 16px 0 8px;border:1.5px solid var(--linie-stark);border-radius:var(--rund-pille);cursor:pointer;transition:border-color var(--dauer-ui) var(--weich),background-color var(--dauer-ui) var(--weich)}
.farbe input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.farbe__punkt{width:30px;height:30px;border-radius:50%;background:var(--f);box-shadow:inset 0 0 0 1px rgba(47,44,42,.18)}
.farbe__name{font:15px var(--serif);color:var(--altrosa-tief)}
.farbe:hover{border-color:var(--altrosa)}
.farbe:has(input:checked){border-color:var(--altrosa);background:rgba(147,99,93,.1)}
.farbe:has(input:focus-visible){outline:2px solid var(--altrosa-tief);outline-offset:2px}
.varu__bild img{transition:opacity var(--dauer-ui) var(--weich)}
.varu__bild img.wechselt{opacity:0}

/* Illustrationen schweben beim Scrollen herein (soma.js setzt --p von 0 bis 1) */
[data-schweben]{will-change:transform,opacity}
.schweben-an [data-schweben]{transform:translate3d(calc((1 - var(--p,1)) * 140px),calc((1 - var(--p,1)) * 30px),0) rotate(calc((1 - var(--p,1)) * 4deg));opacity:calc(var(--p,1) * .55)}
/* Web-App: dezenter Hinweis unter dem Kursplan */
.app-hinweis{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:var(--abstand-m);padding:12px 48px 12px 18px;position:relative;background:var(--flaeche);border-radius:var(--rund-klein);color:var(--text-2);font-size:15px}
.app-hinweis[hidden]{display:none}
.app-hinweis .textlink{background:none;border:0;padding:0;font:inherit;font-weight:600;cursor:pointer}
.app-hinweis__zu{position:absolute;top:50%;right:10px;width:32px;height:32px;margin-top:-16px;border:0;border-radius:50%;background:transparent;color:var(--text-2);cursor:pointer}
.app-hinweis__zu::before,.app-hinweis__zu::after{content:"";position:absolute;left:9px;right:9px;top:15px;height:1.5px;background:currentColor;transform:rotate(45deg)}
.app-hinweis__zu::after{transform:rotate(-45deg)}
/* Für Menschen, die SO·MA schon kennen (E65): in der installierten Web-App und auf der Milon-Seite kein Kennenlern-Aufruf */
.ohne-kennenlernen .leiste,.ohne-kennenlernen .kopf .kreis-link--klein{display:none!important}
@media (display-mode: standalone){.leiste,.kopf .kreis-link--klein{display:none!important}}
/* Sicherheitsnetz: nichts darf die Seite auf dem Handy seitlich verschiebbar machen */
html,body{overflow-x:clip}
/* Alter Divi-WhatsApp-Knopf (Plugin „Floating WhatsApp Button“) passt nicht zum Theme – WhatsApp steht in der Handy-Leiste und im Fuß */
.meister-whatsapp-container{display:none!important}
/* „Meine Kurse“ in Kursplan und Kurs-Fenster */
.plan2__merk{display:inline-block;width:11px;height:14px;margin-left:10px;vertical-align:-1px;background:var(--altrosa);clip-path:polygon(0 0,100% 0,100% 100%,50% 72%,0 100%)}
.mm-mein{margin:18px 0 4px;background:var(--flaeche);border-radius:var(--rund-klein);padding:4px 18px}
.mm-merken{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:0;border:0;background:none;cursor:pointer;font:600 15px var(--sans);color:var(--dunkel);text-align:left}
.mm-merken__zeichen{flex:none;width:20px;height:20px;fill:transparent;stroke:var(--altrosa);stroke-width:1.8;stroke-linejoin:round;transition:fill var(--dauer-ui) var(--weich)}
.mm-merken[aria-pressed=true] .mm-merken__zeichen{fill:var(--altrosa)}
.mm-push{border-top:1px solid var(--linie);padding:12px 0 14px;font-size:15px;line-height:1.5;color:var(--text-2)}
.mm-push[hidden]{display:none}
.mm-push__frage{display:flex;gap:10px;align-items:flex-start;cursor:pointer;color:var(--text)}
.mm-push__frage input{width:20px;height:20px;margin-top:1px;accent-color:var(--altrosa);flex:none}
.mm-push__aus{border:0;background:none;padding:0;font:inherit;font-weight:600;color:var(--altrosa-tief);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.mm-umschalten{border:0;background:none;padding:0;font:inherit;font-weight:600;color:var(--altrosa-tief);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
/* App holen: Seite /app/, Band auf dem Handy, Menüpunkt (in der installierten App ausgeblendet) */
@media (display-mode: standalone){.nav__app{display:none!important}}
.app-holen{max-width:620px;display:grid;gap:var(--abstand-m)}
.app-holen__vorteile{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:17px;line-height:1.5}
.app-holen__vorteile li{position:relative;padding-left:26px}
.app-holen__vorteile li::before{content:"";position:absolute;left:0;top:.45em;width:12px;height:12px;border-radius:50%;background:var(--altrosa)}
.app-holen__vorteile b{font-weight:600;color:var(--dunkel)}
.app-holen__frei{color:var(--text-2);margin:0}
.seite__inhalt .app-holen p{margin:0}
.app-holen__weg{background:var(--flaeche);border-radius:var(--rund);padding:var(--innen)}
.app-holen__weg[hidden]{display:none}
.app-holen__weg .mm-kasse{width:100%;border:0;cursor:pointer}
.app-holen__titel{font:15px var(--serif);text-transform:uppercase;letter-spacing:.16em;color:var(--dunkel);margin:0 0 14px}
.app-holen__schritte{margin:0;padding-left:22px;display:grid;gap:12px;line-height:1.55}
.app-holen__teilen{display:inline-block;width:16px;height:20px;vertical-align:-3px;margin-left:4px;border:1.6px solid var(--altrosa-tief);border-top:0;border-radius:0 0 3px 3px;position:relative}
.app-holen__teilen::before{content:"";position:absolute;left:50%;top:-6px;width:1.6px;height:14px;margin-left:-.8px;background:var(--altrosa-tief)}
.app-holen__teilen::after{content:"";position:absolute;left:50%;top:-7px;width:7px;height:7px;margin-left:-3.5px;border-left:1.6px solid var(--altrosa-tief);border-top:1.6px solid var(--altrosa-tief);transform:rotate(45deg)}
.app-band{position:fixed;z-index:39;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px;padding:12px 8px 12px 18px;background:var(--flaeche);border-radius:var(--rund-klein);box-shadow:var(--schatten-schwebend);font-size:14px;line-height:1.4;color:var(--text);transform:translateY(16px);opacity:0;transition:transform var(--dauer-ui) var(--weich),opacity var(--dauer-ui) var(--weich)}
.app-band[hidden]{display:none}
.app-band.ist-da{transform:none;opacity:1}
.app-band p{margin:0;flex:1}
.app-band b{font-weight:600;color:var(--dunkel)}
.app-band__los{flex:none;min-height:40px;display:inline-flex;align-items:center;padding:0 18px;border-radius:var(--rund-pille);background:var(--altrosa);color:#fff;font-weight:600;text-decoration:none}
.app-band__zu{flex:none;position:relative;width:40px;height:40px;border:0;background:none;color:var(--text-2);cursor:pointer}
.app-band__zu::before,.app-band__zu::after{content:"";position:absolute;left:12px;right:12px;top:19px;height:1.5px;background:currentColor;transform:rotate(45deg)}
.app-band__zu::after{transform:rotate(-45deg)}
@media (min-width:761px){.app-band{display:none!important}}
/* Piktogramme für WhatsApp, Instagram, Facebook (statt ausgeschrieben) */
.symbol{width:20px;height:20px;fill:currentColor;display:block}
.sozial{display:flex;gap:12px;flex-wrap:wrap}
.sozial__link{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1.5px solid currentColor;color:inherit;opacity:.9;transition:opacity var(--dauer-ui) var(--weich),background-color var(--dauer-ui) var(--weich),transform var(--dauer-tipp) var(--weich)}
.sozial__link:hover{opacity:1;transform:translateY(-1px)}
.sozial__link--klein{width:38px;height:38px;vertical-align:middle;margin-left:6px;color:var(--altrosa-tief)}
.sozial__link--klein .symbol{width:18px;height:18px}
.fuss2 .sozial{margin-top:2px}
.menue .sozial{color:var(--altrosa-tief)}
.hero__social .sozial__link{width:40px;height:40px;opacity:.85}
.hero__social .symbol{width:18px;height:18px}
.kopf__aktion{display:flex;align-items:center;gap:14px}
.kopf__wa{flex:none;display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1.5px solid currentColor;color:inherit;opacity:0;visibility:hidden;transition:opacity var(--dauer-ui) var(--weich),visibility .3s,background-color var(--dauer-ui) var(--weich)}
.kopf.ist-fest .kopf__wa{opacity:1;visibility:visible}
.kopf__wa:hover{background:rgba(147,99,93,.12)}
.kopf__wa .symbol{width:21px;height:21px}
@media (min-width:1081px){.kopf__aktion{justify-self:end}}
@media (max-width:1080px){.kopf__aktion{display:none}}
.leiste__wa{flex:none;display:inline-grid;place-items:center;width:50px;height:50px;padding:0;border-radius:50%;border:1.5px solid var(--altrosa);color:var(--altrosa-tief)}
.leiste__wa .symbol{width:23px;height:23px}
.studio-woche__intro{margin:0;max-width:30ch;font:400 clamp(18px,.6vw + 14px,22px)/1.5 var(--serif);color:var(--altrosa-tief)}
/* Pausen-Anfrage */
.pause{max-width:620px}
.pause__daten{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
@media (max-width:520px){.pause__daten{grid-template-columns:minmax(0,1fr)}}
.pause .mm-kasse{width:100%;border:0;cursor:pointer}
/* Ferienplan-Hinweis über dem Kursplan */
.kursplan__ferien{margin:14px 0 4px;padding:12px 18px;border-radius:var(--rund-klein);background:var(--flaeche);font-size:15px;line-height:1.5;color:var(--text)}
.kursplan__ferien[hidden]{display:none}
.kursplan__ferien b{font:15px var(--serif);text-transform:uppercase;letter-spacing:.12em;color:var(--altrosa-tief);font-weight:400}
.kursplan__ferien span{display:block;color:var(--text-2);font-size:14px;margin-top:2px}

/* ---------- Eigene Kasse (Schritt B): Kartenwahl, Gutschein, WooCommerce-Kasse ---------- */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mm-kauf .mm-wahl{margin-top:20px}
/* WordPress setzt um einzelne Formularzeilen leere Absätze – die dürfen keinen eigenen Abstand bringen */
.mm-kauf p:not([class]){margin:0;max-width:none}
.mm-kauf .mm-wahl legend{margin-bottom:4px}
.mm-tag{display:grid;gap:6px;margin:var(--abstand-m) 0 0;font:13px var(--serif);text-transform:uppercase;letter-spacing:.14em;color:var(--altrosa)}
.mm-tag select{font:16px var(--sans);text-transform:none;letter-spacing:0;color:var(--tinte);background:var(--feld);border:1.5px solid var(--linie-stark);border-radius:var(--rund-rahmen);min-height:48px;padding:0 12px}
.mm-kauf .mm-kasse{border:0;cursor:pointer;width:100%}
.gutschein{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-top:20px}
.gutschein .rahmen-knopf{margin-top:0;background:none;cursor:pointer}
.gutschein__betrag{display:flex;align-items:center;gap:6px;min-height:48px;padding:0 14px;border:1.5px solid var(--linie-stark);border-radius:var(--rund-rahmen);background:var(--feld)}
.gutschein__betrag input{width:90px;border:0;font:16px var(--sans);color:var(--tinte);background:none;outline:none}
.gutschein__betrag:focus-within{border-color:var(--altrosa)}
.woocommerce-notices-wrapper:empty{display:none}
.wc-block-checkout,.wc-block-cart,.woocommerce{font-family:var(--sans);color:var(--text)}
.wc-block-checkout h2,.wc-block-components-title,.wc-block-components-checkout-step__title{font-family:var(--serif)!important;color:var(--tinte)}
.wc-block-components-button:not(.is-link),.woocommerce .button,.woocommerce button.button{background:var(--altrosa)!important;color:#fff!important;border-radius:var(--rund-rahmen)!important;font-family:var(--serif)!important;letter-spacing:.06em;border:0!important}
.wc-block-components-button:not(.is-link):hover,.woocommerce .button:hover{background:var(--altrosa-tief)!important}
.wc-block-components-text-input input,.wc-block-components-combobox input,.wc-blocks-components-select select,.wc-block-components-textarea{border-radius:var(--rund-rahmen)!important;border-color:var(--linie-stark)!important}
.wc-block-components-radio-control__input:checked,.wc-block-components-checkbox__input:checked{border-color:var(--altrosa)!important;background:var(--altrosa)!important}
.wc-block-components-product-metadata,.wc-block-components-product-details{font-size:14px;color:var(--text-2)}
.wc-block-components-sidebar-layout{gap:32px}
.woocommerce-order{max-width:760px;margin:0 auto}
.seite--kasse{max-width:1160px}
.seite--kasse .seite__titel{font:400 clamp(30px,3.4vw,46px)/1.15 var(--serif);text-transform:uppercase;letter-spacing:.08em;color:var(--tinte)}
.woocommerce-checkout .app-band,.woocommerce-cart .app-band,.woocommerce-order-received .app-band,.woocommerce-checkout .leiste,.woocommerce-cart .leiste{display:none!important}
.wc-block-components-order-summary-item__image{display:none!important}
.wc-block-components-order-summary-item{padding-left:0}
.soma-meldung{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:60;width:min(560px,calc(100% - 32px));background:#fff;border-left:4px solid var(--altrosa);border-radius:var(--rund-klein);box-shadow:var(--schatten-schwebend);padding:16px 48px 16px 18px;font-size:15px;color:var(--tinte)}
.soma-meldung ul{list-style:none;margin:0;padding:0}
.soma-meldung .woocommerce-error,.soma-meldung .woocommerce-message,.soma-meldung .woocommerce-info{margin:0;padding:0;border:0;background:none}
.soma-meldung__zu{position:absolute;right:10px;top:8px;border:0;background:none;font-size:24px;line-height:1;color:var(--altrosa);cursor:pointer}
.gutschein-fertig{background:var(--flaeche);border-radius:var(--rund);padding:var(--innen);margin:var(--abstand-l) 0}
.gutschein-fertig h2{font:400 22px var(--serif);text-transform:uppercase;letter-spacing:.08em;color:var(--altrosa);margin:0 0 10px}
.gutschein-fertig ul{list-style:none;margin:0;padding:0}
.gutschein-fertig li{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}
.gutschein-fertig .rahmen-knopf{margin-top:0}

/* App-Anleitung iPhone: bebildert, mit Pfeil zur Safari-Leiste */
.app-anleitung{position:fixed;inset:0;z-index:1000;background:rgba(43,43,43,.62);display:flex;align-items:flex-end;justify-content:center;padding:12px 12px calc(96px + env(safe-area-inset-bottom));opacity:0;transition:opacity var(--dauer-ui) var(--weich)}
.app-anleitung.ist-da{opacity:1}
.app-anleitung--oben{align-items:flex-start;padding:calc(84px + env(safe-area-inset-top)) 12px 12px}
.app-anleitung__blatt{position:relative;width:min(440px,100%);background:#F6F1EA;border-radius:var(--rund);padding:22px 20px 18px;box-shadow:0 24px 60px -24px rgba(0,0,0,.5);transform:translateY(14px);transition:transform var(--dauer-ui) var(--weich)}
.app-anleitung.ist-da .app-anleitung__blatt{transform:none}
.app-anleitung__zu{position:absolute;right:10px;top:8px;width:44px;height:44px;border:0;background:none;font-size:28px;line-height:1;color:var(--altrosa);cursor:pointer}
.app-anleitung__titel{font:400 18px/1.3 var(--serif);text-transform:uppercase;letter-spacing:.08em;color:var(--altrosa);margin:0 40px 14px 0}
.app-anleitung ol{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.app-anleitung li{display:grid;grid-template-columns:26px 52px 1fr;gap:12px;align-items:center;font-size:16px;line-height:1.4;color:var(--tinte)}
.app-anleitung li small{display:block;font-size:14px;color:var(--text-2);margin-top:2px}
.app-anleitung__nr{width:26px;height:26px;border-radius:50%;background:var(--altrosa);color:#fff;font:600 14px/26px var(--sans);text-align:center}
.app-anleitung__sym{width:52px;height:52px;border-radius:14px;background:#fff;display:grid;place-items:center;color:#0A84FF;box-shadow:0 1px 0 rgba(0,0,0,.06)}
.app-anleitung__sym svg{width:28px;height:28px;fill:currentColor}
.app-anleitung__sym svg[fill="none"]{fill:none}
.app-anleitung svg.klein{width:16px;height:16px;vertical-align:-3px;color:#0A84FF}
.app-anleitung__fuss{margin:14px 0 0;font-size:14px;color:var(--text-2)}
.app-anleitung__pfeil{position:fixed;right:28px;bottom:calc(30px + env(safe-area-inset-bottom));width:34px;height:52px;animation:anleitung-pfeil 1.2s ease-in-out infinite}
.app-anleitung__pfeil::before{content:"";position:absolute;left:15px;top:0;width:4px;height:40px;border-radius:2px;background:#fff}
.app-anleitung__pfeil::after{content:"";position:absolute;left:5px;bottom:4px;width:20px;height:20px;border-right:4px solid #fff;border-bottom:4px solid #fff;transform:rotate(45deg)}
.app-anleitung--oben .app-anleitung__pfeil{top:calc(14px + env(safe-area-inset-top));bottom:auto;right:56px;transform:rotate(180deg)}
@keyframes anleitung-pfeil{50%{translate:0 8px}}
@media (prefers-reduced-motion:reduce){.app-anleitung__pfeil{animation:none}}

/* Datumsfelder: Safari am iPhone gibt ihnen eine eigene Mindestbreite und zentriert den Text */
input[type="date"]{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;-webkit-appearance:none;appearance:none;text-align:left}
input[type="date"]::-webkit-date-and-time-value{text-align:left;margin:0}
/* Formularseiten (Pause, Milon): App-Band würde Felder verdecken */
.ohne-kennenlernen .app-band{display:none!important}

/* Kasse & Bestellbestätigung: Überschriften wie im Rest der Seite */
.wc-block-order-confirmation-status h1,.wc-block-order-confirmation-status .wc-block-order-confirmation-status__title,.woocommerce-order h2,.wc-block-order-confirmation-summary~h2,.seite--kasse h2{font:400 clamp(26px,6vw,40px)/1.15 var(--serif)!important;text-transform:uppercase;letter-spacing:.08em;color:var(--tinte)}
.wc-block-order-confirmation-status p{font-size:16px}
.wc-block-checkout__form h2,.wc-block-components-checkout-step__title{font-size:15px!important;letter-spacing:.14em!important;text-transform:uppercase}
.gutschein-fertig li b{font-family:var(--sans);letter-spacing:.06em}
.gutschein-fertig li span{color:var(--text-2)}
.woocommerce-order .gutschein-fertig h2,.gutschein-fertig h2{font-size:21px!important;color:var(--altrosa)!important}
.wc-block-order-confirmation-status{margin-bottom:22px}
.wc-block-order-confirmation-status h1{margin-bottom:10px}

/* Formularseiten (Pause, Milon, App): Karte mit Abstand L unter dem Einleitungssatz, alle gleich breit */
.seite__inhalt>.termin,.seite__inhalt>.app-holen{max-width:620px}
.seite__inhalt>*+.termin,.seite__inhalt>*+.app-holen{margin-top:var(--abstand-l)}
.seite__inhalt>.termin .termin__fertig{padding:var(--abstand-s) 0}
/* Kasse & Warenkorb: Link zum Bearbeiten; Kurzbeschreibung und doppelter Einzelpreis in der Übersicht ausgeblendet (stehen schon in den Zeilen) */
.kasse-warenkorb{margin:0 0 var(--abstand-l);color:var(--text-2);font-size:15px}
.kasse-warenkorb--unten{margin:var(--abstand-l) 0 0}
.wc-block-components-product-metadata__description,.wc-block-components-order-summary-item__individual-prices{display:none!important}
.wc-block-components-text-input input,.wc-block-components-combobox .wc-block-components-combobox-control input,.wc-blocks-components-select select{background:var(--feld)!important}
.wc-block-cart-item__image,.wc-block-cart-items__header-image,.wc-block-cart-item__prices{display:none!important}
.wc-block-cart-items__header-product{padding-left:0!important}
.wc-block-cart-items .wc-block-cart-items__row{grid-template-columns:1fr auto!important}
.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product{grid-column:1!important;padding-left:0!important}
.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total{grid-column:2!important;grid-row:1!important}
.seite--kasse .wc-block-cart__totals-title{font:400 15px/1.3 var(--serif)!important;letter-spacing:.14em!important;text-transform:uppercase}
.wc-block-cart-item__remove-link{color:var(--altrosa-tief)!important;font-size:14px!important;text-decoration:underline!important;text-underline-offset:3px}
.wc-block-cart-item__remove-link svg{width:22px!important;height:22px!important;fill:currentColor}
/* Kursplan: Wochen blättern */
.plan-woche{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--abstand-s);margin-bottom:var(--abstand-xs)}
.plan-woche__zeit{font:13px var(--serif);text-transform:uppercase;letter-spacing:.14em;color:var(--text-2);text-align:center}
.plan-woche__knopf{white-space:nowrap;min-height:44px;border:0;background:none;padding:0;cursor:pointer;font:600 15px var(--sans);color:var(--altrosa-tief);justify-self:start;transition:color var(--dauer-ui) var(--weich)}
.plan-woche__knopf[data-woche="1"]{justify-self:end}
.plan-woche__knopf:hover{color:var(--altrosa)}
.plan-woche__knopf[hidden]{display:block;visibility:hidden}
@media (max-width:760px){.plan-woche__knopf{font-size:14px}.plan-woche__zeit{font-size:12px;letter-spacing:.08em}}
/* Leerer Warenkorb, Kassen-Knopf, Freitextfelder im Buchungsformular */
.warenkorb-leer{max-width:620px;padding:var(--abstand-l) 0}
.warenkorb-leer h2.gesperrt{font-size:clamp(26px,3vw,38px)!important;margin:var(--abstand-s) 0 var(--abstand-m)}
.warenkorb-leer>p:not(.label){color:var(--text-2)}
.warenkorb-leer__wege{display:flex;flex-wrap:wrap;align-items:center;gap:var(--abstand-s) var(--abstand-m);margin-top:var(--abstand-l)!important}
.warenkorb-leer__wege .mm-kasse{margin-top:0;padding:0 32px}
.warenkorb-leer__wege .rahmen-knopf{margin-top:0}
.anker-ziel{scroll-margin-top:110px}
.wc-block-cart__submit-button,.wc-block-cart__submit-button:hover{text-decoration:none!important}
.mm-tag input{font:16px var(--sans);text-transform:none;letter-spacing:0;color:var(--tinte);background:var(--feld);border:1.5px solid var(--linie-stark);border-radius:var(--rund-rahmen);min-height:48px;padding:0 12px;width:100%}
.mm-tag input:focus,.mm-tag select:focus{outline:none;border-color:var(--altrosa-tief);box-shadow:0 0 0 3px rgba(147,99,93,.18)}
.seite__inhalt a.mm-kasse,.seite__inhalt a.mm-kasse:hover{color:#fff;text-decoration:none}
/* Rechtstexte: Entwurfs-Hinweis, offene Stellen, Widerrufsformular, Fuß-Schaltfläche */
.recht-entwurf{margin:0 0 var(--abstand-l);padding:12px 16px;border-left:3px solid var(--altrosa);background:rgba(147,99,93,.1);border-radius:var(--rund-rahmen);font-size:15px}
.recht-offen{background:rgba(147,99,93,.16);color:var(--altrosa-tief);padding:0 4px;border-radius:2px;font-size:.9em}
.seite__inhalt h3{font-size:clamp(16px,.8vw + 10px,19px);margin-top:var(--abstand-l)}
.seite__inhalt ul li{margin-bottom:6px}
.widerruf{max-width:620px}
.widerruf .mm-kasse{width:100%;border:0;cursor:pointer}
.widerruf__liste{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:var(--abstand-m) 0 0}
.widerruf__liste dt{font-weight:600;color:var(--text)}
.widerruf__liste dd{margin:0;color:var(--text-2)}
.widerruf__zurueck{display:block;margin:var(--abstand-m) auto 0}
.fuss2__widerruf{margin-top:var(--abstand-s)}
.fuss2 .fuss2__widerruf-knopf{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1.5px solid rgba(255,255,255,.75);border-radius:var(--rund-rahmen);font:14px var(--serif);letter-spacing:.06em}
.fuss2 .fuss2__widerruf-knopf:hover{background:#fff;color:var(--altrosa-tief);border-color:#fff}
/* Einwilligung: ruhige Karte unten, gleichwertige Knöpfe */
.einwilligung{position:fixed;z-index:95;left:16px;bottom:16px;width:min(440px,calc(100vw - 32px));background:var(--flaeche);border-radius:var(--rund-klein);box-shadow:var(--schatten-schwebend);padding:var(--abstand-m) var(--abstand-m) 16px;transform:translateY(12px);opacity:0;transition:transform var(--dauer-ui) var(--weich),opacity var(--dauer-ui) var(--weich)}
.einwilligung[hidden]{display:none}
.einwilligung.ist-da{transform:none;opacity:1}
.einwilligung__text{font-size:14px;line-height:1.55;color:var(--text-2);margin-top:var(--abstand-xs)}
.einwilligung__text a{color:var(--altrosa-tief)}
.einwilligung__wahl{margin-top:var(--abstand-s);border-top:1px solid var(--linie)}
.einwilligung__wahl[hidden]{display:none}
.einwilligung__zeile{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--linie);font-size:14px;line-height:1.4;color:var(--text-2);cursor:pointer}
.einwilligung__zeile input{width:18px;height:18px;margin-top:1px;accent-color:var(--altrosa);flex:none}
.einwilligung__zeile b{display:block;font-weight:600;color:var(--dunkel)}
.einwilligung__knoepfe{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--abstand-m)}
.einwilligung__knopf{flex:1 1 140px;min-height:44px;border:1.5px solid var(--altrosa);border-radius:var(--rund-pille);background:var(--altrosa);color:#fff;font:13px var(--serif);text-transform:uppercase;letter-spacing:.1em;cursor:pointer}
.einwilligung__knopf[data-ew-keine]{background:transparent;color:var(--altrosa-tief)}
.einwilligung__knopf[hidden],.einwilligung__mehr[hidden]{display:none}
.einwilligung__mehr{flex:1 1 100%;min-height:36px;border:0;background:none;color:var(--altrosa-tief);font:600 14px var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
@media (max-width:760px){.einwilligung{left:12px;right:12px;width:auto;bottom:calc(76px + env(safe-area-inset-bottom))}}
/* Schritt 1 ohne Online-Zahlung: Gutscheine im Studio */
.gutschein-studio{display:none}
.ohne-onlinezahlung .gutschein-studio{display:block;margin-top:var(--abstand-s);color:var(--text-2)}
.ohne-onlinezahlung .gutschein{display:none}
.mm-kennen b{font-weight:600;color:var(--dunkel)}
/* Probestunde bei Kursreihen */
.mm-probe{margin-top:var(--abstand-l);padding-top:var(--abstand-m);border-top:1px solid var(--linie)}
.mm-probe .mm-wahl__legende{margin-top:0}
.mm-probe .mm-text{margin-top:var(--abstand-xs)}
.mm-probe__knopf{width:100%;margin-top:var(--abstand-m);background:none;cursor:pointer}
