/* Praxis Luisa Glaser – Theme „Glaser Osteopathie“ (Entwurf Salbei)
   Farben und Schrift kommen aus theme.json (Website-Editor → Stile). Hier werden sie den Namen
   des Entwurfs zugeordnet; darunter folgt das Stylesheet des Entwurfs mit WordPress-Anpassungen. */
:root{--bg:var(--wp--preset--color--hintergrund);--fl:var(--wp--preset--color--flaeche);--karte:var(--wp--preset--color--karte);
--text:var(--wp--preset--color--text);--text-stark:var(--wp--preset--color--text-stark);--muted:var(--wp--preset--color--gedaempft);
--linie:var(--wp--preset--color--linie);--linie-stark:var(--wp--preset--color--linie-stark);
--prim:var(--wp--preset--color--salbei);--prim-text:#0F2219;--prim-hover:var(--wp--preset--color--salbei-hell);--prim-schatten:rgba(60,120,88,.32);
--akzent:var(--wp--preset--color--tannengruen);--akzent-linie:var(--wp--preset--color--salbei);--fokus:var(--wp--preset--color--tannengruen);
--hover-fl:var(--wp--preset--color--flaeche);--status-bg:var(--wp--preset--color--salbei-zart);--kreis:var(--wp--preset--color--salbei);
--fakten-bg:var(--wp--preset--color--waldgruen);--fakten-text:#CFE3D7;--fakten-stark:#FFFFFF;
--feld-bg:#FFFFFF;--vorschau-bg:var(--wp--preset--color--waldgruen);--vorschau-text:#F1F7F3;--heute-bg:var(--wp--preset--color--salbei-zart);
--fuss-bg:var(--wp--preset--color--nacht);--fuss-text:#CBD6CF;--fuss-stark:#FFFFFF;--fuss-linie:rgba(255,255,255,.14);--fehler:#B3261E;
--band-bg:var(--wp--preset--color--tannengruen);--band-text:#FFFFFF;--band-muted:#DCEBE2;--band-linie:rgba(255,255,255,.28);
--kopf-bg:rgba(251,252,250,.9);--r:16px;--r-btn:999px;--r-feld:12px;--bild-r:16px;--hero-r:24px;--hero-ratio:4/3;
--schatten:0 18px 44px rgba(20,50,35,.12);--schatten-leicht:0 6px 22px rgba(20,50,35,.06);--sek:clamp(72px,9vw,128px);
--f-display:var(--wp--preset--font-family--hanken);--f-text:var(--wp--preset--font-family--hanken);--h-w:700;--h-track:-.025em;--marke-w:700;
--ico-pfeil:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
body{margin:0;background:var(--bg);color:var(--text);font:400 17px/1.62 var(--f-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;padding-bottom:76px;font-feature-settings:"kern"}
@media(min-width:900px){body{padding-bottom:0}}
img{max-width:100%;display:block}
a{color:var(--akzent);text-underline-offset:3px}
h1,h2,h3{font-family:var(--f-display);font-weight:var(--h-w);letter-spacing:var(--h-track);line-height:1.1;margin:0;color:var(--text-stark);text-wrap:balance}
h1{font-size:clamp(36px,6.4vw,70px);line-height:1.04}
h2{font-size:clamp(28px,4.2vw,46px);margin-bottom:14px}
h3{font-size:clamp(19px,1.9vw,22px);line-height:1.3}
p{margin:0 0 14px;text-wrap:pretty}
:focus-visible{outline:3px solid var(--fokus);outline-offset:3px;border-radius:4px}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--akzent);margin-bottom:14px}
/* Signatur: der Kreis aus dem Logo (zwei Hände im Kreis) */
.eyebrow::before{content:"";flex:none;width:12px;height:12px;border-radius:50%;border:2px solid var(--kreis);box-shadow:inset 0 0 0 2px var(--bg),inset 0 0 0 6px var(--kreis)}
.lead{font-size:clamp(17px,1.9vw,20px);color:var(--muted);max-width:60ch}
.muted{color:var(--muted)}
section{padding:var(--sek) 0;scroll-margin-top:80px}
.sek-kopf{max-width:720px;margin-bottom:clamp(28px,4vw,44px)}
.sek-alt{background:var(--fl)}
.skip{position:absolute;left:-9999px;top:8px;background:var(--prim);color:var(--prim-text);padding:12px 16px;z-index:200;border-radius:6px}
.skip:focus{left:12px}
.nur-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Knöpfe */
.btn,.wp-block-button .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border-radius:var(--r-btn);border:1.5px solid transparent;font:600 16px/1.2 var(--f-text);text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color .25s ease-out,color .25s ease-out,border-color .25s ease-out,transform .25s ease-out,box-shadow .25s ease-out}
.btn-prim,.is-style-prim .wp-block-button__link{background:var(--prim);color:var(--prim-text)}
@media(hover:hover){.btn-prim:hover,.is-style-prim .wp-block-button__link:hover{background:var(--prim-hover);transform:translateY(-1px);box-shadow:0 10px 24px var(--prim-schatten)}}
.btn-prim:active,.is-style-prim .wp-block-button__link:active{transform:translateY(0)}
.btn-zweit,.is-style-zweit .wp-block-button__link{background:transparent;color:var(--text-stark);border-color:var(--linie-stark)}
@media(hover:hover){.btn-zweit:hover,.is-style-zweit .wp-block-button__link:hover{border-color:var(--text-stark);background:var(--hover-fl)}}
.btn svg{width:18px;height:18px;flex:none}
.wp-block-button[class*="ico-"] .wp-block-button__link::before{content:"";width:18px;height:18px;flex:none;background:currentColor;-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
.ico-kal{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E")}.ico-tel{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E")}.ico-mail{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E")}

/* Kopf */
.kopf{position:sticky;top:0;z-index:50;background:var(--kopf-bg);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--linie)}
.kopf .wrap{display:flex;align-items:center;gap:18px;min-height:72px}
.marke{display:flex;align-items:center;gap:12px;color:var(--text-stark);margin-right:auto;min-width:0}
.marke img{width:46px;height:46px;border-radius:50%;flex:none}
.marke .wp-block-site-logo{flex:none;line-height:0}
.marke-text{margin:0}
.marke-text a{color:inherit;text-decoration:none;display:block}
.marke-text a{line-height:1.15;font-family:var(--f-display);font-weight:var(--marke-w);font-size:18px;letter-spacing:-.01em;white-space:nowrap}
.marke small{display:block;font:500 13.5px/1.3 var(--f-text);color:var(--muted);letter-spacing:0}
.kopf .nav{display:none;gap:2px}
.kopf .nav ul{display:flex;gap:2px;margin:0;padding:0;list-style:none}
.kopf .nav a{white-space:nowrap;position:relative;color:var(--text);text-decoration:none;font-size:15.5px;font-weight:500;padding:12px 11px}
.kopf .nav a::after{content:"";position:absolute;left:11px;right:11px;bottom:6px;height:2px;background:var(--akzent-linie);transform:scaleX(0);transform-origin:left;transition:transform .3s ease-out}
.kopf .nav a:hover::after,.kopf .nav a.aktiv::after{transform:scaleX(1)}
.kopf .tel-btn{display:none}
.burger{width:48px;height:48px;display:inline-grid;place-items:center;border:1px solid var(--linie-stark);border-radius:var(--r-btn);background:transparent;color:var(--text-stark);cursor:pointer;flex:none}
.burger svg{width:22px;height:22px}
@media(min-width:900px){.kopf .tel-btn{display:flex}}@media(min-width:1360px){.kopf .nav{display:flex}.burger{display:none}}
.menue{display:none;border-top:1px solid var(--linie);background:var(--bg);padding:10px 0 18px;max-height:calc(100vh - 72px);overflow:auto}
.menue.auf{display:block}
.menue a{display:flex;align-items:center;min-height:48px;padding:0 20px;color:var(--text-stark);text-decoration:none;font-size:18px;font-weight:500}
.menue a:hover{background:var(--hover-fl)}
@media(min-width:1360px){.menue{display:none!important}}

/* Hero */
.hero{padding:clamp(36px,6vw,88px) 0 clamp(44px,6vw,88px)}
.hero-grid{display:grid;gap:40px;align-items:center}
@media(min-width:900px){.hero-grid{align-items:start}.hero-bild{margin-top:var(--hero-versatz,126px)}}
@media(min-width:900px){.hero-grid{grid-template-columns:1.05fr .95fr;gap:72px}}
.hero-grid>*,.buchung-grid>*,.gutschein-grid>*,.kontakt-grid>*,.split>*,.band-grid>*,.honorar-grid>*{min-width:0}
.hero h1{margin:4px 0 22px}
.hero .lead{margin-bottom:28px}
.status{display:flex;width:fit-content;max-width:100%;align-items:center;gap:10px;font-size:15px;font-weight:500;padding:8px 14px 8px 12px;border-radius:999px;background:var(--status-bg);color:var(--text-stark);margin-bottom:20px}
.status i{flex:none;width:10px;height:10px;border-radius:50%;background:#9A9A92;box-shadow:0 0 0 4px rgba(154,154,146,.18)}
.status.offen i{background:#3FA34D;box-shadow:0 0 0 4px rgba(63,163,77,.2);animation:puls 2.4s ease-out infinite}
@keyframes puls{0%{box-shadow:0 0 0 0 rgba(63,163,77,.45)}70%{box-shadow:0 0 0 10px rgba(63,163,77,0)}100%{box-shadow:0 0 0 0 rgba(63,163,77,0)}}
.aktionen{display:flex;flex-wrap:wrap;gap:12px}
.hero-bild{position:relative;isolation:isolate}
.hero-bild img{width:100%;aspect-ratio:var(--hero-ratio);object-fit:cover;border-radius:var(--hero-r);box-shadow:var(--schatten)}
.hero-karte{position:absolute;left:-18px;bottom:24px;background:var(--karte);color:var(--text);border-radius:var(--r);padding:14px 18px;box-shadow:var(--schatten);font-size:14.5px;line-height:1.45;max-width:260px}
.hero-karte p{margin:0}
.hero-karte strong{display:block;font-size:16px;color:var(--text-stark)}
@media(max-width:899px){.hero-karte{left:12px;bottom:12px}.hero-bild::before{display:none}}

/* Fakten */
.fakten{border-block:1px solid var(--linie);background:var(--fakten-bg);color:var(--fakten-text)}
.fakten ul{list-style:none;margin:0;padding:22px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}
@media(min-width:900px){.fakten ul{display:flex;justify-content:space-between;gap:24px}}
.fakten strong{display:block;font-family:var(--f-display);font-weight:var(--h-w);font-size:21px;color:var(--fakten-stark);letter-spacing:var(--h-track)}
.fakten li{font-size:14.5px;color:var(--fakten-text)}

/* Leistungen: die ganze Karte ist die Aktion (Direktsprung), kein Knopf in der Karte */
.leistungen{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@media(min-width:640px){.leistungen{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1000px){.leistungen{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}}
.leistung{position:relative;display:flex;flex-direction:column;text-align:left;width:100%;padding:0;background:var(--karte);border:1px solid var(--linie);border-radius:var(--r);overflow:hidden;color:inherit;text-decoration:none;font:inherit;cursor:pointer;transition:transform .3s ease-out,border-color .3s ease-out,box-shadow .3s ease-out}
.l-bild{aspect-ratio:16/10;overflow:hidden;background:var(--fl)}
.l-bild img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease-out}
.l-body{display:flex;flex-direction:column;gap:6px;padding:18px 20px 20px;flex:1}
.l-bild,.l-titel,.l-text,.l-meta{margin:0}
.l-titel a{color:inherit;text-decoration:none}
.l-titel a::after{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit}
.leistung:has(a:focus-visible){outline:3px solid var(--fokus);outline-offset:3px}
.l-titel a:focus-visible{outline:none}
.l-titel{font-family:var(--f-display);font-weight:var(--h-w);letter-spacing:var(--h-track);font-size:20px;line-height:1.25;color:var(--text-stark);padding-right:34px}
.l-text{font-size:15px;color:var(--muted);line-height:1.5;flex:1}
.l-meta{padding-right:44px;font-size:14px;color:var(--text-stark);font-weight:600;margin-top:6px;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
.l-meta em{font-style:normal;font-weight:500;color:var(--muted)}
.l-body::after{content:"";position:absolute;right:16px;bottom:18px;width:36px;height:36px;border-radius:50%;background:var(--prim) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/18px no-repeat;transition:transform .3s ease-out}
.leistung-info .l-body::after{background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12l7 7 7-7'/%3E%3C/svg%3E") center/18px no-repeat;box-shadow:inset 0 0 0 1.5px var(--linie-stark)}
@media(hover:hover){.leistung:hover{transform:translateY(-3px);border-color:var(--linie-stark);box-shadow:var(--schatten)}.leistung:hover .l-bild img{transform:scale(1.04)}.leistung:hover .l-body::after{transform:translateX(4px)}}
.leistung:active{transform:translateY(0)}
@media(max-width:639px){.leistungen{gap:10px}.leistung{flex-direction:row;align-items:stretch;min-height:112px}.l-bild{aspect-ratio:auto;width:104px;flex:none}.l-body{padding:14px 52px 14px 14px}.l-text{display:none}.l-titel{font-size:17.5px;padding-right:40px}.l-body::after{bottom:auto;top:50%;margin-top:-18px;right:12px}.l-meta{padding-right:0}}
.randnotiz{font-size:15px;color:var(--muted);margin-top:22px;max-width:70ch}

/* Buchung */
.buchung-grid{display:grid;gap:24px;align-items:stretch}
@media(min-width:960px){.buchung-grid{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:32px}}
.buchung{background:var(--karte);border:1px solid var(--linie);border-radius:calc(var(--r) + 4px);padding:clamp(18px,3vw,36px);box-shadow:var(--schatten-leicht)}
.schritte{list-style:none;margin:0 0 28px;padding:0;display:flex;align-items:center;gap:0;font-size:14px;font-weight:600;color:var(--text-stark);counter-reset:s}
.schritte li{display:flex;align-items:center;gap:8px;white-space:nowrap;counter-increment:s}
.schritte li+li::before{order:-2;content:"";width:clamp(14px,4vw,40px);height:1px;background:var(--linie-stark);margin:0 10px}
.schritte li::after{order:-1;content:counter(s);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--prim);background:var(--prim);color:var(--prim-text);font-size:13.5px;font-variant-numeric:tabular-nums}
@media(max-width:520px){.schritte{flex-direction:column;align-items:flex-start;gap:10px}.schritte li+li::before{display:none}}
fieldset.feld{border:0;padding:0;margin:0 0 26px;min-width:0}
.feld{margin-bottom:22px}
.buchung>.label,.feld>label,.feld>.label,fieldset.feld>legend{display:block;font-weight:600;font-size:15px;margin-bottom:10px;color:var(--text-stark);padding:0}
.feld .hilfe{font-weight:400;color:var(--muted);font-size:14px}
select,input[type=text],input[type=tel],input[type=email],input[type=number],textarea{width:100%;min-height:50px;padding:12px 14px;border-radius:var(--r-feld);border:1.5px solid var(--linie-stark);background:var(--feld-bg);color:var(--text-stark);font:400 16px/1.4 var(--f-text);transition:border-color .2s,box-shadow .2s}
select:hover,input:hover,textarea:hover{border-color:var(--text)}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--akzent);box-shadow:0 0 0 4px var(--status-bg)}
textarea{min-height:96px;resize:vertical}
/* Behandlung als Kacheln */
.wahl-kacheln{margin-bottom:22px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}
@media(min-width:700px){.wahl-kacheln{grid-template-columns:repeat(3,minmax(0,1fr))}}
.wahl{position:relative;display:flex;align-items:center;gap:12px;padding:10px;border:1.5px solid var(--linie);border-radius:var(--r-feld);background:var(--feld-bg);cursor:pointer;transition:border-color .25s ease-out,box-shadow .25s ease-out,transform .25s ease-out;min-height:72px}
@media(min-width:700px){.wahl{flex-direction:column;align-items:stretch;padding:8px 8px 14px;gap:10px}}
.w-bild,.w-text{margin:0}
.w-text a{color:inherit;text-decoration:none;display:flex;flex-direction:column;gap:2px}
.w-text a::after{content:"";position:absolute;inset:0;z-index:2}
.wahl:has(a:focus-visible){outline:3px solid var(--fokus);outline-offset:2px}
.w-text a:focus-visible{outline:none}
.w-bild{width:56px;height:56px;flex:none;border-radius:calc(var(--r-feld) - 2px);overflow:hidden;background:var(--fl)}
@media(min-width:700px){.w-bild{width:100%;height:auto;aspect-ratio:16/10}}
.w-bild img{width:100%;height:100%;object-fit:cover}
.w-text{display:flex;flex-direction:column;gap:2px;padding-right:28px;line-height:1.3}
@media(min-width:700px){.w-text{padding:0 6px}}
.w-text strong{font-size:15.5px;color:var(--text-stark);font-weight:600}
.w-text a{font-size:13.5px;color:var(--muted)}
.wahl::after{content:"";position:absolute;right:12px;top:50%;margin-top:-13px;width:26px;height:26px;border-radius:50%;background:var(--prim) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .25s ease-out}
@media(min-width:700px){.wahl::after{top:16px;right:16px;margin:0}}
@media(hover:hover){.wahl:hover{border-color:var(--text-stark);transform:translateY(-2px);box-shadow:var(--schatten-leicht)}.wahl:hover::after{transform:translateX(3px)}}
/* Person mit Foto */
.personen-wahl{display:flex;flex-wrap:wrap;gap:8px}
.p-wahl{position:relative;display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:6px 16px 6px 6px;border:1.5px solid var(--linie);border-radius:999px;background:var(--feld-bg);cursor:pointer;transition:all .2s ease-out;font-size:15px;font-weight:500;color:var(--text-stark)}
.p-wahl input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.p-wahl img,.p-wahl .p-alle{width:38px;height:38px;border-radius:50%;object-fit:cover;object-position:50% 18%;flex:none;background:var(--fl)}
.p-alle{display:grid;place-items:center;border:1.5px dashed var(--kreis);color:var(--akzent);font-size:13.5px;font-weight:700}
.p-wahl small{display:block;font-size:13.5px;font-weight:400;color:var(--muted);line-height:1.2}
.p-wahl span{line-height:1.2}
@media(hover:hover){.p-wahl:hover{border-color:var(--linie-stark)}}
.p-wahl:has(input:checked){border-color:var(--text-stark);box-shadow:0 0 0 1px var(--text-stark)}
.p-wahl:has(input:focus-visible){outline:3px solid var(--fokus);outline-offset:2px}
/* Segment */
.segment{display:flex;flex-wrap:wrap;gap:8px}
.segment label{position:relative}
.segment input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.segment span{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border-radius:var(--r-btn);border:1.5px solid var(--linie-stark);font-size:15px;font-weight:500;transition:all .2s ease-out;cursor:pointer}
@media(hover:hover){.segment label:hover span{border-color:var(--text-stark)}}
.segment input:checked+span{background:var(--text-stark);color:var(--bg);border-color:var(--text-stark)}
.segment input:focus-visible+span{outline:3px solid var(--fokus);outline-offset:2px}
/* Wochenkalender */
.kal-kopf{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.kal-kopf .label{margin:0;font-weight:600;font-size:15px;color:var(--text-stark)}
.kal-woche{font-size:14.5px;color:var(--muted);margin-right:auto;font-variant-numeric:tabular-nums}
.kal-nav{display:flex;gap:6px}
.kal-knopf{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--linie-stark);background:var(--feld-bg);color:var(--text-stark);display:grid;place-items:center;cursor:pointer;transition:all .2s ease-out}
.kal-knopf svg{width:18px;height:18px}
@media(hover:hover){.kal-knopf:hover:not([disabled]){border-color:var(--text-stark)}}
.kal-knopf[disabled]{opacity:.3;cursor:not-allowed}
.tage{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.tag{min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:var(--r-feld);border:1.5px solid var(--linie);background:var(--feld-bg);color:var(--text-stark);font:600 20px/1 var(--f-text);cursor:pointer;transition:all .2s ease-out;font-variant-numeric:tabular-nums;padding:6px 2px}
.tag small{font:500 13.5px/1.2 var(--f-text);color:var(--muted)}
.tag .frei{font:500 13.5px/1 var(--f-text);color:var(--akzent)}
@media(hover:hover){.tag:hover:not([disabled]){border-color:var(--text-stark);transform:translateY(-1px)}}
.tag[aria-pressed="true"]{background:var(--prim);border-color:var(--prim);color:var(--prim-text)}
.tag[aria-pressed="true"] small,.tag[aria-pressed="true"] .frei{color:inherit}
.tag[disabled]{opacity:.4;cursor:not-allowed;background:transparent}
.tag[disabled] .frei{color:var(--muted)}
.slots-gruppen{display:grid;gap:14px}
.slot-gruppe p{font-size:13.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}
.slot{min-height:46px;border-radius:999px;border:1.5px solid var(--linie-stark);background:var(--feld-bg);color:var(--text-stark);font:600 15px var(--f-text);cursor:pointer;transition:all .2s ease-out;font-variant-numeric:tabular-nums}
@media(hover:hover){.slot:hover{border-color:var(--text-stark);transform:translateY(-1px)}}
.slot[aria-pressed="true"]{background:var(--prim);border-color:var(--prim);color:var(--prim-text)}
.leer{font-size:15px;color:var(--muted);padding:6px 0;margin:0}
.persoenlich{background:var(--hover-fl);border:1px solid var(--linie);border-radius:var(--r-feld);padding:16px 18px;font-size:15.5px}
.persoenlich p{margin:0 0 10px}
.persoenlich .aktionen{gap:8px}
.persoenlich .btn{min-height:44px;padding:10px 16px;font-size:15px}
.knopfzeile{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:8px;scroll-margin-bottom:110px}
.weiter-leiste{position:sticky;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:4;justify-content:space-between;flex-wrap:nowrap;background:var(--karte);border:1px solid var(--linie);border-radius:calc(var(--r-feld) + 6px);padding:8px 8px 8px 18px;box-shadow:var(--schatten);margin-top:6px}
.wl-text{font-size:15px;color:var(--muted);min-width:0;line-height:1.3}
.wl-text b{color:var(--text-stark);font-weight:600}
.weiter-leiste .btn{flex:none}
.fehler{color:var(--fehler);font-size:14.5px;min-height:1.4em;margin:6px 0 0}
.hinweis-klein{font-size:14.5px;color:var(--muted)}
.zwei{display:grid;gap:0 16px}
@media(min-width:640px){.zwei{grid-template-columns:1fr 1fr}}
/* Zusammenfassung als Terminkarte */
.ticket{background:var(--vorschau-bg);color:var(--vorschau-text);border-radius:calc(var(--r) + 4px);padding:24px 26px;position:sticky;top:96px;overflow:hidden;isolation:isolate}
.ticket::after{content:"";position:absolute;z-index:-1;right:-80px;bottom:-80px;width:220px;height:220px;border-radius:50%;border:26px solid currentColor;opacity:.06}
.t-kopf{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px dashed currentColor;border-color:rgba(127,127,127,.4)}
.t-kopf figure,.t-kopf p{margin:0}
.t-kopf img{width:56px;height:56px;margin:-6px 0}
.t-kopf p{font-weight:600;font-size:17px;line-height:1.2;opacity:1!important}
.t-kopf em{display:block;font-style:normal;font-weight:400;font-size:13.5px;opacity:.75}
.ticket .t-datum{padding:18px 0 14px;font-size:16px;opacity:.85}
.t-datum strong{display:block;font-family:var(--f-display);font-size:clamp(24px,2.6vw,30px);font-weight:var(--h-w);letter-spacing:var(--h-track);line-height:1.15}
.ticket .t-liste{list-style:none;padding:0;display:grid;gap:9px;margin:0 0 16px;font-size:15px}
.t-liste li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px}
.t-liste em{font-style:normal;opacity:.7}
.t-liste strong{font-weight:600}
.ticket p{font-size:14.5px;opacity:.88;margin:0}
.ticket a{color:inherit}
.danke{display:none}
.danke.auf{display:block}
.danke h3{font-size:26px;margin-bottom:10px}
.danke .aktionen{margin-top:18px}
.haken{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--prim);color:var(--prim-text);margin-bottom:16px;animation:auf .5s cubic-bezier(.2,.7,.2,1)}
@keyframes auf{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}

/* Split + Ablauf */
.split{display:grid;gap:36px;align-items:center}
@media(min-width:900px){.split{grid-template-columns:1fr 1fr;gap:72px}.split.umgekehrt>:first-child{order:2}}
.split-bild{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.split-bild img{width:100%;height:100%;object-fit:cover;border-radius:var(--bild-r)}
.split-bild img:first-child{grid-column:span 2;aspect-ratio:16/10}
.split-bild img:not(:first-child){aspect-ratio:4/3}
.ablauf{list-style:none;margin:28px 0 0;padding:0;counter-reset:a;display:grid;gap:0}
.ablauf li{counter-increment:a;display:grid;grid-template-columns:44px 1fr;gap:4px 14px;padding:16px 0;border-top:1px solid var(--linie)}
.ablauf li:last-child{border-bottom:1px solid var(--linie)}
.ablauf li::before{content:counter(a,decimal-leading-zero);grid-row:span 2;font:600 14px/1 var(--f-text);color:var(--akzent);width:40px;height:40px;border-radius:50%;border:1.5px solid var(--kreis);display:grid;place-items:center;font-variant-numeric:tabular-nums}
.ablauf strong{font-family:var(--f-display);font-weight:var(--h-w);font-size:18px;color:var(--text-stark);letter-spacing:var(--h-track)}
.ablauf li{font-size:15.5px;color:var(--muted)}
.duo{display:grid;gap:16px;margin-top:clamp(48px,6vw,80px)}
@media(min-width:800px){.duo{grid-template-columns:1fr 1fr;gap:22px}}
.duo article{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;background:var(--karte);border:1px solid var(--linie);border-radius:var(--r);overflow:hidden}
.duo figure{margin:0}
.duo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:50% 10%}
.duo article>.wp-block-group{padding:22px 22px 24px}
.duo h3{margin-bottom:8px}
.duo p{font-size:15.5px;color:var(--muted)}
.link-pfeil{margin:0}
.link-pfeil a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;color:var(--akzent);text-decoration:none;background:none;border:0;padding:0;font-size:16px;cursor:pointer;font-family:var(--f-text)}
.link-pfeil a::after{content:"";width:18px;height:18px;background:currentColor;-webkit-mask:var(--ico-pfeil) center/contain no-repeat;mask:var(--ico-pfeil) center/contain no-repeat;transition:transform .25s ease-out}
@media(hover:hover){.link-pfeil a:hover::after{transform:translateX(4px)}}

/* Band Funktionelle Medizin */
.band{background:var(--band-bg);color:var(--band-text)}
.band h2,.band h3{color:var(--band-text)}
.band .eyebrow{color:var(--band-muted)}
.band .eyebrow::before{border-color:var(--band-text);box-shadow:inset 0 0 0 2px var(--band-bg),inset 0 0 0 6px var(--band-text)}
.band p{color:var(--band-muted)}
.band-grid{display:grid;gap:36px}
.pni-grid{display:grid;gap:28px}
.pni-grid>*{min-width:0}
.band-grid{gap:clamp(40px,6vw,72px)}
@media(min-width:960px){.pni-grid{grid-template-columns:1fr 1fr;gap:64px;align-items:start}.pni-stern-spalte{position:static}.infusionen .inf-liste{display:grid;grid-template-columns:1fr 1fr;column-gap:48px}}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 26px;padding:0;list-style:none}
.tags li{font-size:14px;padding:6px 12px;border-radius:999px;border:1px solid var(--band-linie);color:var(--band-text)}
.btn-band,.is-style-band .wp-block-button__link{background:var(--band-text);color:var(--band-bg)}
@media(hover:hover){.btn-band:hover,.is-style-band .wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,0,0,.22)}}
.btn-band-zweit,.is-style-band-zweit .wp-block-button__link{background:transparent;color:var(--band-text);border-color:var(--band-linie)}
@media(hover:hover){.btn-band-zweit:hover,.is-style-band-zweit .wp-block-button__link:hover{border-color:var(--band-text)}}
.band-fakt{display:flex;gap:14px;align-items:baseline;padding:14px 0;border-top:1px solid var(--band-linie);font-size:15.5px;color:var(--band-muted)}
.band-fakt{margin:0}
.band-fakt strong{color:var(--band-text);min-width:120px;font-weight:600}
.infusionen{scroll-margin-top:80px}
.infusionen h3{margin-bottom:6px}
.inf-liste{list-style:none;margin:14px 0 14px;padding:0;border-top:1px solid var(--band-linie)}
.inf-liste li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;padding:13px 0;border-bottom:1px solid var(--band-linie)}
.inf-liste strong{color:var(--band-text);font-weight:600;font-size:16.5px}
.inf-liste li{font-size:14.5px;color:var(--band-muted)}
.inf-liste em{grid-row:1/span 2;grid-column:2;align-self:center;font-style:normal;font-size:14.5px;color:var(--band-text);font-variant-numeric:tabular-nums;white-space:nowrap}

/* Yoga */
.yoga-preise{list-style:none;padding:0;margin:20px 0 24px;border-top:1px solid var(--linie-stark)}
.yoga-preise li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--linie-stark);font-size:16.5px}
.yoga-preise strong em{font-weight:400;font-style:normal;color:var(--muted)}
.yoga-preise strong{font-variant-numeric:tabular-nums;color:var(--text-stark)}
.yoga-bild{margin:0}
.yoga-bild img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 40%;border-radius:var(--bild-r)}

/* Team */
.personen{display:grid;gap:22px}
@media(min-width:860px){.personen{grid-template-columns:1fr 1fr;gap:28px}}
.person{background:var(--karte);border:1px solid var(--linie);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.person-foto{margin:0;aspect-ratio:1/1;overflow:hidden;background:var(--fl)}
.person-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 0%;transition:transform .6s ease-out}
@media(hover:hover){.person:hover .person-foto img{transform:scale(1.03)}}
.person-text{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.person h3{font-size:clamp(22px,2.4vw,26px);margin-bottom:4px}
.rolle{font-size:14.5px;color:var(--akzent);font-weight:600;margin-bottom:14px}
.person p{font-size:15.5px;color:var(--muted)}
.person details{border-top:1px solid var(--linie);margin-top:auto}
.person summary{list-style:none;cursor:pointer;min-height:52px;display:flex;align-items:center;justify-content:space-between;font-weight:600;color:var(--text-stark)}
.person summary::-webkit-details-marker{display:none}
.person summary::after{content:"+";font-size:24px;font-weight:300;color:var(--akzent);transition:transform .3s ease-out}
.person details[open] summary::after{transform:rotate(45deg)}
.werdegang{list-style:none;margin:0 0 12px;padding:0;font-size:14.5px}
.werdegang li{display:grid;grid-template-columns:92px 1fr;gap:12px;padding:7px 0;border-bottom:1px dashed var(--linie)}
.werdegang strong{font-weight:400;font-variant-numeric:tabular-nums;color:var(--muted)}
.person .knopfzeile{margin-top:16px}
.siegel{display:grid;grid-template-columns:auto 1fr;justify-items:start;align-items:center;gap:16px 22px;margin-top:28px;font-size:14.5px;color:var(--muted)}
.siegel figure,.siegel p{margin:0}
.siegel img{height:44px;width:auto}
.siegel .ifms img{height:64px}

/* Honorar */
.honorar-grid{display:grid;gap:36px}
@media(min-width:960px){.honorar-grid{grid-template-columns:1.1fr 1fr;gap:64px}}
.preise{margin:0;overflow-x:visible}
.preise table{width:100%;border-collapse:collapse;font-size:16px}
.preise td{padding:14px 0;border:0;border-bottom:1px solid var(--linie);text-align:left;vertical-align:top;font-weight:400}
.preise td:first-child{color:var(--text-stark);padding-right:16px}
.preise td:first-child strong{font-weight:600}
.preise td:first-child em{display:block;font-style:normal;font-weight:400;color:var(--muted);font-size:14px}
.preise td:last-child{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-stark);font-weight:600}
.preise td:last-child em{display:inline-block;font-style:normal;font-weight:500;white-space:normal;color:var(--muted);font-size:15px;max-width:16ch}
.erstattung{list-style:none;padding:0;margin:0}
.erstattung li{padding:14px 0 14px 34px;border-bottom:1px solid var(--linie);position:relative;font-size:15.5px;color:var(--muted)}
.erstattung li::before{content:"";position:absolute;left:0;top:19px;width:14px;height:14px;border-radius:50%;border:2px solid var(--kreis)}
.erstattung strong{color:var(--text-stark);font-weight:600}

/* Galerie */
.galerie.wp-block-gallery.has-nested-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
@media(min-width:800px){.galerie.wp-block-gallery.has-nested-images{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}}
.galerie.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image){width:auto;margin:0;flex:none;padding:0;border:0;background:var(--fl);border-radius:var(--bild-r);overflow:hidden;cursor:zoom-in;aspect-ratio:3/2;position:relative}
.galerie.wp-block-gallery.has-nested-images figure.wp-block-image:nth-child(1){grid-column:span 2;grid-row:span 2}
.galerie.wp-block-gallery.has-nested-images figure.wp-block-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease-out}
@media(hover:hover){.galerie.wp-block-gallery.has-nested-images figure.wp-block-image:hover img{transform:scale(1.04)}}
.lightbox{position:fixed;inset:0;z-index:300;background:rgba(10,12,11,.94);display:none;align-items:center;justify-content:center;padding:64px 12px 84px}
.lightbox.auf{display:flex}
.lightbox figure{margin:0;max-width:min(1100px,100%);max-height:100%;display:flex;flex-direction:column;align-items:center}
.lightbox img{max-width:100%;max-height:calc(100vh - 170px);object-fit:contain;border-radius:4px}
.lightbox figcaption{color:#E8E9E4;font-size:15px;margin-top:12px;text-align:center}
.lb-knopf{position:absolute;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center;cursor:pointer;transition:background .2s}
.lb-knopf:hover{background:rgba(255,255,255,.2)}
.lb-knopf svg{width:22px;height:22px}
#lb-schliessen{top:12px;right:12px}
#lb-zurueck{left:12px;top:50%;transform:translateY(-50%)}
#lb-weiter{right:12px;top:50%;transform:translateY(-50%)}
@media(max-width:699px){#lb-zurueck,#lb-weiter{top:auto;bottom:16px;transform:none}#lb-zurueck{left:calc(50% - 116px)}#lb-weiter{right:calc(50% - 116px)}}
#lb-zaehler{position:absolute;top:24px;left:20px;color:#D8D9D3;font-size:15px}

/* Gutschein */
.gutschein-grid{display:grid;gap:28px;align-items:start}
@media(min-width:960px){.gutschein-grid{grid-template-columns:1.15fr 1fr;gap:48px}}
.g-karte{position:sticky;top:96px;aspect-ratio:1.6;border-radius:calc(var(--r) + 4px);padding:clamp(20px,3vw,30px);display:flex;flex-direction:column;justify-content:space-between;color:#fff;box-shadow:var(--schatten);overflow:hidden;transition:background .4s ease-out;isolation:isolate}
.g-karte[data-motiv="salbei"]{background:linear-gradient(135deg,#5E9C7A 0%,#244936 100%)}
.g-karte[data-motiv="leinen"]{background:linear-gradient(135deg,#B8A48C 0%,#6E5B47 100%)}
.g-karte[data-motiv="abend"]{background:linear-gradient(135deg,#2C3A34 0%,#0E1512 100%)}
.g-karte::after{content:"";position:absolute;z-index:-1;right:-70px;top:-70px;width:260px;height:260px;border-radius:50%;border:28px solid rgba(255,255,255,.12)}
.g-oben{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;opacity:.95}
.g-oben img{width:38px;height:38px;border-radius:50%;box-shadow:0 0 0 2px rgba(255,255,255,.6)}
.g-betrag{font-family:var(--f-display);font-size:clamp(40px,6vw,60px);font-weight:var(--h-w);line-height:1;letter-spacing:-.02em}
.g-text{font-size:15px;line-height:1.45;opacity:.95;min-height:1.4em;max-width:36ch;overflow-wrap:anywhere;margin:8px 0 0}
.g-unten{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;font-size:14px}
.zaehler{font-size:14px;color:var(--muted);text-align:right;margin-top:4px}

/* FAQ */
.faq{max-width:840px}
.faq details{border-bottom:1px solid var(--linie)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:60px;padding:14px 0;font-weight:600;font-size:18px;color:var(--text-stark)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:26px;font-weight:300;transition:transform .3s ease-out;color:var(--akzent);flex:none}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--muted);padding-bottom:18px;margin:0}

/* Kontakt */
.kontakt-grid{display:grid;gap:36px}
@media(min-width:900px){.kontakt-grid{grid-template-columns:1fr 1fr;gap:64px}}
.kontakt-liste{list-style:none;padding:0;margin:0 0 28px;font-size:17px}
.kontakt-liste li{display:flex;gap:14px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--linie)}
.kontakt-liste b{min-width:96px;font-weight:600;color:var(--muted);font-size:15px;padding-top:2px}
.kontakt-liste a{color:var(--text-stark);overflow-wrap:anywhere}
.zeiten{width:100%;border-collapse:collapse;font-size:16px;margin-bottom:10px}
.zeiten td{padding:10px 12px;border-bottom:1px solid var(--linie)}
.zeiten td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.zeiten tr.heute td{background:var(--heute-bg);font-weight:700;color:var(--text-stark)}
.zeiten tr.heute td:first-child::after{content:" · heute";font-weight:500;color:var(--akzent)}
.karte{position:relative;border-radius:var(--r);overflow:hidden;background:var(--fl);min-height:380px;display:grid;place-items:center;text-align:center;border:1px solid var(--linie)}
.karte-inhalt{padding:28px;max-width:380px}
.karte-inhalt p{font-size:15px;color:var(--muted)}
.karte iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Fuß */
.fuss{background:var(--fuss-bg);color:var(--fuss-text);padding:56px 0 34px;font-size:15px}
.fuss a{color:var(--fuss-text)}
.fuss-grid{display:grid;gap:28px}
@media(min-width:900px){.fuss-grid{grid-template-columns:1.3fr 1fr 1fr}}
.fuss h3{color:var(--fuss-stark);font-size:17px;margin-bottom:12px}
.fuss-nav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.fuss-nav a{min-height:44px;display:flex;align-items:center;text-decoration:none}
.fuss-nav a:hover{text-decoration:underline}
.recht{border-top:1px solid var(--fuss-linie);margin-top:34px;padding-top:24px;display:grid;gap:6px 18px;font-size:14px;opacity:.92}
@media(min-width:900px){.recht{grid-template-columns:1fr 1fr}}
.recht h4{margin:0 0 6px;font-size:15px;color:var(--fuss-stark);scroll-margin-top:90px}
.recht p{margin:0}
.recht-links a{display:inline-flex;align-items:center;min-height:44px}
.ki{grid-column:1/-1;opacity:.88}

/* Mobile Leiste */
.mobilleiste{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1.4fr;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:var(--kopf-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--linie);transition:transform .3s ease-out}
.mobilleiste .btn{min-height:50px;padding-inline:14px}
.mobilleiste.weg,body.lb-offen .mobilleiste{transform:translateY(110%)}
@media(min-width:900px){.mobilleiste{display:none}}

/* Einblenden */
.js .rv{opacity:0;transform:translateY(12px);transition:opacity .4s cubic-bezier(.2,.7,.2,1),transform .4s cubic-bezier(.2,.7,.2,1)}
.js .rv.da{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none}}

/* Kleine Handys */
@media(max-width:380px){.marke{gap:8px}.marke img{width:38px;height:38px}.marke span{font-size:16px}.marke small{display:none}.kopf .wrap{gap:10px}.mobilleiste{grid-template-columns:auto 1fr}.mobilleiste .ml-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.mobilleiste .btn{padding-inline:16px}.fakten strong{font-size:18px}}

/* Mehr lesen, Zitat, Team-Kopf, Kontaktformular */
details.mehr{margin-top:20px;border-top:1px solid var(--linie);border-bottom:1px solid var(--linie)}
details.mehr summary{list-style:none;cursor:pointer;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:600;color:var(--akzent)}
details.mehr summary::-webkit-details-marker{display:none}
details.mehr summary::after{content:"+";font-size:24px;font-weight:300;transition:transform .3s ease-out}
details.mehr[open] summary::after{transform:rotate(45deg)}
details.mehr h3{font-size:18px;margin:6px 0 6px}
details.mehr p{font-size:15.5px;color:var(--muted)}
details.mehr[open]{padding-bottom:8px}
.duo details.mehr{margin:4px 0 10px}
.mehr-band{border-color:var(--band-linie)!important;margin:0 0 18px}
.mehr-band summary{color:var(--band-text)!important}
.mehr-band p{color:var(--band-muted)!important}
.zitat{margin:6px 0 18px;padding:4px 0 4px 18px;border-left:2px solid var(--kreis);font-size:16px;font-style:italic;color:var(--text)}
.zitat p{margin:0;color:var(--text)!important;font-size:16px}
.zitat cite{display:block;font-style:normal;font-size:14px;color:var(--muted);margin-top:4px}
.person details+details{border-top:1px solid var(--linie);margin-top:0}
.wg-titel{font-weight:600;color:var(--text-stark)!important;margin:10px 0 4px}
.team-kopf{display:grid;gap:24px;align-items:end;margin-bottom:clamp(28px,4vw,44px)}
.team-kopf .sek-kopf{margin-bottom:0}
.team-kopf{justify-items:center;text-align:center}
.team-kopf .sek-kopf .lead{margin-inline:auto}
.team-kopf .team-bild{width:100%;max-width:820px}
.team-bild{margin:0}
.team-bild img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:50% 15%;border-radius:var(--bild-r)}
.honorar-bild{margin:0}
.honorar-bild img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--bild-r);margin-top:24px}
.kontaktform h3{margin-bottom:6px}
.zeiten-titel{margin-bottom:10px}
.kontaktform .muted{font-size:15.5px}
.kontakt-grid .karte{min-height:300px;margin-top:22px}
@media(max-width:400px){.buchung{padding:14px}.tage{gap:4px}.tag{font-size:18px}.weiter-leiste{padding-left:12px}.wl-text{font-size:14px}}
@media(min-width:860px){.person-foto{aspect-ratio:5/4}}

/* ================= Feinschliff: Bewegung mit Sinn ================= */
:root{--ease-o:cubic-bezier(.16,1,.3,1);--ease-io:cubic-bezier(.77,0,.18,1)}
/* Lesefortschritt oben */
.fortschritt{position:fixed;left:0;right:0;top:0;height:2px;z-index:80;pointer-events:none}
.fortschritt i{display:block;height:100%;background:var(--kreis);transform-origin:0 50%;transform:scaleX(0)}
/* Kopfleiste: wird beim Scrollen schmaler, weicht beim Runterscrollen, kommt beim Hochscrollen zurück */
.kopf{transition:transform .45s var(--ease-o),box-shadow .3s ease-out,background-color .3s ease-out}
.kopf .wrap{transition:min-height .35s var(--ease-o)}
.kopf.klein{box-shadow:0 8px 30px rgba(0,0,0,.06)}
.kopf.klein .wrap{min-height:62px}
.kopf.weg{transform:translateY(-100%)}
/* Fotos öffnen sich beim Hineinscrollen */
.js .rv-bild{clip-path:inset(14% 9% 14% 9% round var(--bild-r));opacity:0;transform:scale(1.06);transition:clip-path 1.25s var(--ease-o),opacity .7s ease-out,transform 1.6s var(--ease-o)}
.js .rv-bild.da{clip-path:inset(0 0 0 0 round var(--bild-r));opacity:1;transform:none}
/* Überschriften: Wörter steigen aus einer Maske auf */
.js .wort{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.js .wort>span{display:inline-block;transform:translateY(105%);transition:transform .9s var(--ease-o);transition-delay:calc(var(--w,0) * 45ms)}
.js .rv-text.da .wort>span{transform:none}
/* Wartezustand für Bilder, die noch laden */
.laedt{background:linear-gradient(100deg,var(--fl) 30%,var(--hover-fl) 50%,var(--fl) 70%);background-size:300% 100%;animation:schimmer 1.6s linear infinite}
@keyframes schimmer{to{background-position:-100% 0}}
/* Parallaxe */
[data-parallax]{will-change:transform}
.team-bild{overflow:hidden;border-radius:var(--bild-r)}
.hero-bild img[data-parallax]{transform:translate3d(0,var(--p,0px),0)}
/* Leistungskarten: sanfte Neigung und Lichtkegel unter dem Mauszeiger */
@media(hover:hover) and (pointer:fine){
 .leistung,.js .leistung.rv.da{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ty,0px));transition:transform .5s var(--ease-o),border-color .3s ease-out,box-shadow .3s ease-out,opacity .4s ease-out}
 .leistung:hover,.js .leistung.rv.da:hover{--ty:-4px;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ty,0px))}
 .leistung::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.22),transparent 45%)}
 .leistung:hover::after{opacity:1}
 .galerie.wp-block-gallery.has-nested-images figure.wp-block-image::after{content:"";position:absolute;inset:auto 12px 12px auto;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B1F1D' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6'/%3E%3Cpath d='M20 20l-4.5-4.5M11 8v6M8 11h6'/%3E%3C/svg%3E") center/20px no-repeat;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .4s var(--ease-o)}
 .galerie.wp-block-gallery.has-nested-images figure.wp-block-image:hover::after{opacity:1;transform:none}
}
/* Bild, das sich beim Scrollen öffnet */
.oeffner{padding:0;height:170vh;position:relative}
.oe-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:grid;place-items:center}
.oe-bild{position:absolute;inset:0;clip-path:inset(var(--oy,12%) var(--ox,14%) var(--oy,12%) var(--ox,14%) round var(--or,28px));will-change:clip-path}
.oe-bild img{width:100%;height:100%;object-fit:cover;transform:scale(var(--os,1.18));transform-origin:50% 50%;will-change:transform}
.oe-bild::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.55));opacity:var(--oo,0)}
.oe-text{position:absolute;left:0;right:0;bottom:clamp(36px,8vh,88px);color:#fff;opacity:var(--oo,0);transform:translateY(calc((1 - var(--oo,0)) * 24px))}
.oe-zeile{font-size:13.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;opacity:.9}
.oe-satz{font-family:var(--f-display);font-weight:var(--h-w);letter-spacing:var(--h-track);font-size:clamp(26px,4vw,48px);line-height:1.12;max-width:20ch;margin:10px 0 0;color:#fff}
@media(max-width:699px){.oeffner{height:140vh}.oe-bild{--ox:6%;--oy:16%}}
/* Osteopathie: Bühne wechselt mit dem Behandlungsschritt */
.osteo-buehne{position:relative}
.ob-stapel{position:relative;aspect-ratio:4/3;border-radius:var(--bild-r);overflow:hidden;background:var(--fl)}
.ob-bild img{width:100%;height:100%;object-fit:cover}
.ob-bild{margin:0;position:absolute;inset:0;width:100%;height:100%;opacity:0;transform:scale(1.06);transition:opacity .8s ease-out,transform 1.4s var(--ease-o)}
.ob-bild.an{opacity:1;transform:none}
.ob-label{position:absolute;left:16px;bottom:16px;display:flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;border-radius:999px;background:var(--kopf-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-weight:600;font-size:15px;color:var(--text-stark)}
.ob-label b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--prim);color:var(--prim-text);font-size:13.5px;font-variant-numeric:tabular-nums}
@media(min-width:900px){#yoga .split{align-items:start}#yoga .yoga-bild{position:static}.osteo-buehne{position:sticky;top:96px;align-self:start}#osteopathie .split{align-items:start}}
@media(max-width:899px){.ob-stapel{aspect-ratio:4/3}}
/* Ablauf: Linie zeichnet sich beim Scrollen, erreichte Schritte füllen sich */
.ablauf{position:relative}
.ablauf::before,.ablauf::after{content:"";position:absolute;left:20px;top:36px;bottom:36px;width:1.5px;background:var(--linie);z-index:0}
.ablauf::after{background:var(--kreis);transform-origin:0 0;transform:scaleY(var(--ab,0));transition:transform .2s linear}
.ablauf li{position:relative;z-index:1;border-top:0!important;border-bottom:0!important}
.ablauf li::before{background:var(--bg);transition:background .4s,color .4s,border-color .4s}
.sek-alt .ablauf li::before{background:var(--fl)}
.ablauf li.erreicht::before{background:var(--prim);border-color:var(--prim);color:var(--prim-text)}
.ablauf li b{transition:color .4s}
.ablauf li:not(.erreicht) b{color:var(--muted)}
/* Nach oben mit Fortschrittsring */
.nach-oben{position:fixed;right:24px;bottom:24px;z-index:55;width:52px;height:52px;border-radius:50%;background:var(--kopf-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--schatten);display:none;color:var(--text-stark);opacity:0;transform:translateY(12px) scale(.9);transition:opacity .35s,transform .45s var(--ease-o)}
@media(min-width:900px){.nach-oben{display:block}}
.nach-oben.da{opacity:1;transform:none}
.nach-oben svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.no-spur{stroke:var(--linie)!important;stroke-width:2.5!important}
.no-ring{stroke:var(--kreis)!important;stroke-width:2.5!important;stroke-dasharray:132;stroke-dashoffset:132;transform:rotate(-90deg);transform-origin:50% 50%}
/* Buchung: Schritte gleiten, Zeiten erscheinen nacheinander, Datum blättert */
.js #schritt1:not([hidden]),.js #schritt2:not([hidden]),.js .danke.auf{animation:eintritt .55s var(--ease-o)}
@keyframes eintritt{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
.js .slot{animation:auftauchen .45s var(--ease-o) both;animation-delay:calc(var(--i,0) * 35ms)}
.js .tag{animation:auftauchen .45s var(--ease-o) both;animation-delay:calc(var(--i,0) * 40ms)}
@keyframes auftauchen{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.t-datum.neu b,.t-datum.neu span{animation:blaettern .5s var(--ease-o)}
@keyframes blaettern{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
/* Lightbox: Bild wächst aus dem Vorschaubild */
.lightbox{transition:background-color .35s ease-out}
.lightbox.start{background:rgba(10,12,11,0)}
.lightbox.start .lb-knopf,.lightbox.start #lb-zaehler,.lightbox.start figcaption{opacity:0}
.lb-knopf,#lb-zaehler,.lightbox figcaption{transition:opacity .35s ease-out}
.lb-flug{position:fixed;z-index:310;object-fit:cover;border-radius:4px;transition:all .5s var(--ease-o);pointer-events:none}
@media (prefers-reduced-motion:reduce){
 .js .rv-bild,.js .wort>span{clip-path:none!important;opacity:1!important;transform:none!important}
 .kopf.weg{transform:none}.oeffner{height:auto}.oe-sticky{position:relative;height:70vh}.oe-bild{clip-path:none}.oe-bild img{transform:none}.oe-text{opacity:1;transform:none}.oe-bild::after{opacity:1}
 [data-parallax]{transform:none!important}.ablauf::after{transform:scaleY(1)}
}
/* Hero: Bild öffnet sich beim Laden, Preis-Karte gleitet nach */
.js .hero-bild img{animation:bildauf 1.5s var(--ease-o) .1s both}
@keyframes bildauf{from{clip-path:inset(14% 12% 14% 12% round 28px);opacity:0}to{clip-path:inset(0 0 0 0 round var(--hero-r));opacity:1}}
.js .hero-karte{animation:karteauf .9s var(--ease-o) .9s both}
@keyframes karteauf{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.js .hero .status,.js .hero .eyebrow,.js .hero .lead,.js .hero .aktionen{animation:karteauf .8s var(--ease-o) both}
.js .hero .status{animation-delay:.05s}.js .hero .eyebrow{animation-delay:.12s}.js .hero .lead{animation-delay:.45s}.js .hero .aktionen{animation-delay:.6s}
.js .hero h1:not(.rv-text){animation:karteauf .8s var(--ease-o) .2s both}
.yoga-bild,.honorar-bild,.duo article{overflow:hidden}
html,body{overflow-x:clip}
.hero h1 em{font-style:normal;color:var(--akzent)}
.hero-bild img{object-position:50% 45%}

/* ================= WordPress: Grundlagen für Block-Markup ================= */
/* Bilder sind <figure>-Blöcke, Absätze und Listen tragen die Klassen des Entwurfs */
.wp-block-image{margin:0}
.hero-bild figure{margin:0}
.hero-text>*:last-child,.sek-kopf>*:last-child{margin-bottom:0}
.wp-block-buttons.aktionen{display:flex;flex-wrap:wrap;gap:12px}
.wp-block-buttons>.wp-block-button{margin:0}
.wp-block-list{margin-top:0}
.wp-block-details summary{cursor:pointer}
.wp-block-quote{margin-inline:0}
.eyebrow{margin-top:0}
.hero-foto img{width:100%}
/* Kopfleiste ist ein Template-Teil (<header class="kopf">) */
.kopf .wrap{display:flex}
body.admin-bar .kopf{top:32px}
@media(max-width:782px){body.admin-bar .kopf{top:46px}}
@media(max-width:600px){body.admin-bar .kopf{top:0}}
.kopf .wp-block-buttons{flex:none}
.marke .custom-logo-link{display:block;padding:3px;margin:-3px;border-radius:50%}
/* Unterseiten (Impressum, Datenschutz) */
.seite{padding:clamp(40px,6vw,88px) 0 var(--sek)}
.seite .wrap{max-width:820px}
.rechtstext{padding:0}
.rechtstext h1{font-size:clamp(32px,5vw,52px);margin-bottom:24px}
.rechtstext h2{font-size:clamp(20px,2.2vw,24px);margin:32px 0 8px}
.hinweis-entwurf{background:var(--status-bg);border-left:3px solid var(--kreis);padding:12px 16px;border-radius:6px}
/* Baustein „Hinweis“ */
.hinweis-band{background:var(--status-bg);border-block:1px solid var(--linie);padding:16px 0}
.hinweis-band p{margin:0;color:var(--text-stark)}
/* Formulare der Praxis-Blöcke */
.glp-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.glp-form button[aria-busy="true"]{opacity:.6;cursor:progress}
/* Nach dem Absenden: Felder und Knopf wirklich ausblenden, klare Bestätigung zeigen */
.glp-form [hidden]{display:none!important}
.glp-danke{position:relative;margin:4px 0 0;padding:16px 18px 16px 58px;border-radius:12px;background:var(--status-bg);color:var(--text-stark)!important;font-size:15.5px;line-height:1.5}
.glp-danke::before{content:"Nachricht gesendet";display:block;font-weight:700;font-size:17px;margin-bottom:2px}
.glp-danke::after{content:"";position:absolute;left:18px;top:18px;width:26px;height:26px;border-radius:50%;background:var(--prim) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F2219' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/14px no-repeat}
.karte-route{margin-top:14px}
.karte.geladen .karte-inhalt{visibility:hidden}
.inf-zusatz{font-size:15px}
/* Knopf nach aufklappbarem Text nicht an die Linie kleben */
details.mehr+.wp-block-buttons{margin-top:20px}
.t-liste a{color:inherit}
.t-liste .nw{white-space:nowrap}
/* Handy: Kartentitel nicht doppelt einrücken (Pfeil sitzt schon im Innenabstand), sonst Silbentrennung mitten im Wort */
@media(max-width:639px){.leistung .l-titel{padding-right:0;hyphens:manual;-webkit-hyphens:manual;overflow-wrap:normal}}
/* Kein Springen beim Laden: Platz für Logo-Stern von Anfang an reservieren (14.10.2026) */
.kopf .marke{min-height:64px}
.kopf .custom-logo-link{display:flex;align-items:center;min-height:64px}
/* Handy: Knöpfe im Startbereich weg (stehen dauerhaft in der Leiste unten), WhatsApp in die Leiste (14.10.2026) */
@media(max-width:899px){.hero .wp-block-buttons{display:none}}
body .mobilleiste{grid-template-columns:1fr 1fr 50px}
.mobilleiste .ml-wa{display:grid;place-items:center;width:50px;min-height:50px;padding:0!important;border-radius:50%;background:#25d366;color:#fff;border:0}
.mobilleiste .ml-wa svg{width:26px;height:26px}
body .mobilleiste>*{min-width:0}
/* schmale Handys: Symbole in den beiden Textknöpfen weglassen, damit Text + WhatsApp in eine Zeile passen */
@media(max-width:459px){body .mobilleiste{gap:6px;padding-inline:8px}body .mobilleiste .btn:not(.ml-wa) svg{display:none}body .mobilleiste .btn:not(.ml-wa){padding-inline:6px;font-size:14px}}
@media(max-width:350px){body .mobilleiste{grid-template-columns:1fr 1fr 44px}body .mobilleiste .btn:not(.ml-wa){font-size:13px;padding-inline:4px}body .mobilleiste .ml-wa{width:44px;min-height:44px}}
/* VOD-Siegel in der Kinder-Karte, Erklärung Somatic Experiencing (14.10.2026) */
.vod-hinweis{display:flex;align-items:center;gap:12px;margin:6px 0 12px}
.vod-hinweis figure{margin:0;flex:none}
.vod-hinweis img{width:44px;height:44px;object-fit:contain;aspect-ratio:auto!important}
.vod-hinweis p{margin:0;font-size:14.5px!important;line-height:1.45}
.wg-notiz{font-size:13.5px!important;line-height:1.5;color:var(--muted);margin:10px 0 0}
/* PNI-Einleitung: drei Blöcke mit normalem Zeilenabstand */
.pni-text .pni-block{margin:0 0 14px}
/* „Alle Bereiche ausführlich“ mittig unter dem Stern */
body .pni-alle{text-align:center;justify-content:center;display:flex;margin-inline:auto}
/* Bild „Hohe Fenster …“: linken Bildteil mit dem Fenster zeigen */
.oe-bild img{object-position:20% 50%}
.fakten .nw{white-space:nowrap}
/* Menü klappt über den Inhalt statt ihn nach unten zu schieben (14.10.2026) */
body .kopf .menue{position:absolute;left:0;right:0;top:100%;max-height:calc(100dvh - 72px);box-shadow:0 18px 30px -18px rgba(0,0,0,.25);border-bottom:1px solid var(--linie)}
.oe-bild img{transform:scale(var(--os,1.08))}
body .duo .link-pfeil+.vod-hinweis{margin:16px 0 0}
/* Drei Karten: Überschrift, Preiszeile, Text, „Weiterlesen“ und „Termin buchen“ jeweils auf einer Höhe (Subgrid, Wunsch 14.10.2026) */
@media(min-width:800px){@supports(grid-template-rows:subgrid){
body .duo{grid-template-rows:auto auto auto 1fr auto auto auto;row-gap:0}
body .duo article{grid-row:span 7;display:grid;grid-template-rows:subgrid;row-gap:0;align-content:normal;margin-bottom:18px}
body .duo article>figure{grid-row:1}
body .duo article>.wp-block-group{grid-row:2 / span 6;display:grid;grid-template-rows:subgrid;row-gap:0;align-content:normal}
body .duo article>.wp-block-group>*{margin-block-start:0}
body .duo article .link-pfeil{align-self:start}
}}
/* Werdegang: lange Fachwörter (Psychoneuroimmunologie …) trennen statt über den Rand ragen */
body .werdegang li{grid-template-columns:92px minmax(0,1fr)}
body .werdegang li{overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
/* sehr schmale Handys (unter 360 px): Termin-Karte Bezeichnung über dem Wert, damit nichts herausragt */
@media(max-width:359px){body .t-liste li{grid-template-columns:minmax(0,1fr);gap:2px}body .t-liste .nw{white-space:normal}}
/* Handy: Bild „Hohe Fenster …“ nicht mehr bildschirmhoch (Querformat-Foto zeigte sonst nur Stuhl und Tisch), weniger Zoom (14.10.2026) */
@media(max-width:699px){body .oe-sticky{height:min(100svh,118vw);top:calc((100svh - min(100svh,118vw)) / 2)}body .oeffner{height:calc(min(100svh,118vw) + 45vh)}body .oe-bild img{object-position:12% 55%}body .oe-text{bottom:clamp(24px,6vw,40px)}}
@media(max-width:699px) and (prefers-reduced-motion:reduce){body .oe-sticky{top:auto}body .oeffner{height:auto}}
body .kopf .menue{display:block;visibility:hidden;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .22s ease-out,transform .22s ease-out,visibility 0s linear .22s}
body .kopf .menue.auf{visibility:visible;opacity:1;transform:none;pointer-events:auto;transition:opacity .22s ease-out,transform .22s ease-out,visibility 0s}
@media(prefers-reduced-motion:reduce){body .kopf .menue,body .kopf .menue.auf{transition:none;transform:none}}
/* Menü mit „Infusionen“ (7 Punkte): etwas engere Abstände, damit Name, Menü und Knöpfe in eine Zeile passen */
@media(min-width:1360px){body .kopf .nav a{padding-inline:7px}}
/* Handy: Faktenleiste kompakter, damit „Ersttermin 75 Min.“ auch auf iPhones mit größerer Schrift nicht zerreißt */
@media(max-width:599px){body .fakten strong{font-size:clamp(16px,4.6vw,19px)}body .fakten ul{gap:16px 18px}body .fakten li{font-size:13.5px}}
/* Handy: Etikett „01 Anamnese“ auf dem Bild entfällt (Wunsch Kundin 14.10.2026) */
@media(max-width:899px){body .ob-label{display:none}}
/* drei Karten: Erwachsene, Schwangerschaft, Kinder */
@media(min-width:800px){body .duo{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}
@media(min-width:800px) and (max-width:1099px){body .duo article>.wp-block-group{padding:18px 16px 20px}}
/* Infusionen: eigener Abschnittskopf wie Yoga/Osteopathie, deutlich abgesetzt vom Stern (14.10.2026) */
.band .infusionen{margin-top:clamp(56px,7vw,96px);padding-top:clamp(40px,5vw,64px);border-top:1px solid var(--band-linie)}
.band .infusionen .lead{color:var(--band-muted);margin-bottom:22px}
/* Stern: Kurztext zum gewählten Bereich, ausführlich auf der Unterseite (12.10.2026) */
.pni-kurzliste{margin-top:8px}
.pni-kurz{padding:16px 0;border-top:1px solid var(--band-linie)}
.pni-kurz .pk-titel{margin:0 0 6px;font-size:18px;color:var(--band-text)}
.pni-kurz p{margin:0 0 8px;font-size:15.5px;color:var(--band-muted)}
.band .pni-kurz .link-pfeil a,.band .pni-alle a{color:var(--band-text)}
.pni-kurzliste.aktiv .pni-kurz{display:none}
.pni-kurzliste.aktiv .pni-kurz.an{display:block;animation:fd-auf .25s var(--ease-o)}
.pni-alle{margin-top:14px}
@media (prefers-reduced-motion:reduce){.pni-kurzliste.aktiv .pni-kurz.an{animation:none}}
/* Unterseite Funktionelle Medizin */
.brotkrume{font-size:14px;color:var(--muted);margin:0 0 18px}
.brotkrume a{color:var(--akzent)}
.pni-seite-kopf h1{font-size:clamp(30px,4.6vw,46px);line-height:1.12;margin:6px 0 16px}
.pni-sprung{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:22px 0 0}
.pni-sprung a{display:inline-flex;align-items:center;min-height:40px;padding:6px 14px;border:1px solid var(--linie-stark);border-radius:999px;font-size:14.5px;color:var(--text-stark);text-decoration:none}
.pni-sprung a:hover{background:var(--karte)}
.pni-abschnitt{margin-top:clamp(36px,5vw,56px);padding-top:clamp(28px,4vw,40px);border-top:1px solid var(--linie);scroll-margin-top:96px}
.pni-abschnitt h2{font-size:clamp(24px,3vw,32px);margin:0 0 14px}
.pni-abschnitt h3{font-size:19px;margin:22px 0 8px}
.pni-abschnitt p,.pni-abschnitt li{font-size:17px;line-height:1.65;color:var(--text)}
.pni-abschnitt ul{padding-left:22px}
.pni-hoch{font-size:14px!important;margin-top:10px}
.pni-hoch a{color:var(--muted)}
.pni-termin{padding:clamp(22px,4vw,32px);background:var(--karte);border:1px solid var(--linie);border-radius:var(--r)}
/* Osteopathie-Abschnitt: Buchung am Ende (früher eigener Abschnitt), Ticket rechts, auf dem Handy darunter (12.10.2026) */
.osteo-termin{display:grid;gap:24px;align-items:start;margin-top:clamp(48px,6vw,80px);padding-top:clamp(32px,4vw,48px);border-top:1px solid var(--linie);scroll-margin-top:96px}
.osteo-termin>*{min-width:0}
@media(min-width:960px){.osteo-termin{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px}}
.osteo-termin h3{margin:0 0 10px;font-size:clamp(22px,2.4vw,28px)}
.osteo-termin .ot-text>p{margin:0 0 12px;color:var(--muted)}
.osteo-termin .randnotiz{font-size:14.5px;margin-top:16px!important}
.osteo-termin .ticket{position:relative;top:auto}
.duo .duo-meta{margin:0 0 8px;font-size:14px!important;font-weight:600;color:var(--text-stark)!important}
details.mehr h4{font-size:16.5px;margin:14px 0 4px;color:var(--text-stark)}
.mehr-band h4{color:var(--band-text)!important}
details.mehr ul{font-size:15.5px;color:var(--muted);padding-left:20px}
.mehr-band ul,.mehr-band li{color:var(--band-muted)!important}
.mehr-band li::marker{color:var(--band-text)}
#osteopathie .split .knopfzeile{margin-top:22px}
/* Sprungziele der Leistungskarten unter der festen Kopfleiste */
.duo article{scroll-margin-top:96px}
/* Stern-Bereiche zum Aufklappen (Texte der alten Website), direkt unter dem Stern */
.pni-bereiche{margin-top:6px}
.pni-bereiche details.mehr{margin:0;border-top:0}
.pni-bereiche details.mehr:first-child{border-top:1px solid var(--band-linie)}
.pni-bereiche details.mehr summary{min-height:48px}
.pni-bereiche details.mehr p,.pni-bereiche .pni-aufz{font-size:15.5px;color:var(--band-muted)}
.pni-bereiche .pni-aufz{margin:0 0 14px;padding-left:20px}
.pni-bereiche details.mehr.an summary{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.pni-bereiche details.mehr summary::after{display:inline-block;text-decoration:none}
button.ps-frei{background:none;border:0;padding:4px 6px;min-height:44px;cursor:pointer;border-radius:8px}
button.ps-frei.an{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
button.ps-frei:focus-visible{outline:3px solid #fff;outline-offset:2px}
.ps-label:hover span,button.ps-frei:hover .pf-txt{text-decoration:underline;text-underline-offset:5px}
.ps-frei .pf-nr{display:none}
/* Handy: Evolution wie die anderen nummeriert (10) – Kreis unter dem Stern, Chip mit „10 · Evolution“ */
@media(max-width:699px){
 button.ps-frei{top:93%;transform:translateX(-50%);padding:0;min-height:44px;min-width:44px;display:grid;place-items:center}
 .ps-frei .pf-txt{display:none}
 .ps-buehne{container-type:inline-size}
 .ps-frei .pf-nr{display:grid;place-items:center;box-sizing:border-box;width:calc(82.5cqw * 92 / 1310);height:calc(82.5cqw * 92 / 1310);border-radius:50%;border:max(1px,calc(5cqw * 92 / 1310)) solid #fff;background:var(--band-bg);color:#fff;font:700 calc(38cqw * 92 / 1310)/1 var(--f-text)}
 .ps-frei.an .pf-nr{background:#fff;color:var(--band-bg)}
 button.ps-frei.an{text-decoration:none}
 .band .tags-nummeriert li.frei{display:block;counter-increment:t}
 .tags-nummeriert li.frei::before{content:counter(t) " · ";font-weight:700}
}
.t-liste .t-gruppe{display:block}
.t-liste .t-gruppe+.nw{display:inline}
.t-liste .nw+.t-gruppe{margin-top:6px}
.t-liste strong{overflow-wrap:break-word;hyphens:manual}
/* Bildschwerpunkt je Foto: Gesichter bleiben im Ausschnitt */
img[src*="osteo-schwangerschaft"]{object-position:72% 15%!important}
img[src*="kinder-baby"]{object-position:50% 30%!important}
/* ================= Enneagramm-Stern (Logo der Praxis) ================= */
.marke .mit-stern{flex:none;line-height:0}
.marke .mit-stern .custom-logo-link{position:relative;display:grid;place-items:center;width:64px;height:64px;padding:0;margin:0;border-radius:0;transition:width .35s var(--ease-o),height .35s var(--ease-o)}
.marke .mit-stern .stern{position:absolute;inset:0;width:100%;height:100%}
.marke .mit-stern img{position:relative;width:22px;height:22px;transition:width .35s var(--ease-o),height .35s var(--ease-o)}
.kopf.klein .marke .mit-stern .custom-logo-link{width:56px;height:56px}
.kopf.klein .marke .mit-stern img{width:19px;height:19px}
@media(max-width:380px){.marke .mit-stern .custom-logo-link{width:54px;height:54px}.marke .mit-stern img{width:18px;height:18px}}
/* PNI-Bereiche an den Spitzen des Sterns */
.pni-stern{margin:10px 0 26px;color:var(--band-text)}
.ps-buehne{position:relative;width:100%;max-width:560px;aspect-ratio:1;margin-inline:auto}
.ps-buehne .stern{position:absolute;left:21%;top:21%;width:58%;height:58%;overflow:visible}
.ps-buehne .kante{stroke:rgba(255,255,255,.5);transition:stroke .3s ease-out,stroke-width .3s ease-out,stroke-dashoffset 1.6s var(--ease-o)}
.ps-buehne .kante.an{stroke:#fff;stroke-width:15}
.pni-stern.zeichnen .kante{stroke-dasharray:1300;stroke-dashoffset:1300}
.pni-stern.zeichnen.da .kante{stroke-dashoffset:0}
.ps-buehne .spitze{fill:var(--band-bg);stroke:#fff;stroke-width:5;transition:fill .3s ease-out}
.ps-buehne .spitze.an{fill:#fff}
.ps-buehne .nr{display:none;fill:#fff;font:700 38px var(--f-text)}
.ps-buehne .nr.an{fill:var(--band-bg)}
.ps-mitte{position:absolute;left:50%;top:50%;width:19.6%;aspect-ratio:1;transform:translate(-50%,-50%);display:grid;place-items:center}
.ps-mitte img{width:100%;height:100%;border-radius:50%;box-shadow:0 0 0 4px var(--band-bg)}
.ps-mitte span{position:absolute;top:100%;left:50%;transform:translate(-50%,8px);white-space:nowrap;font-size:13.5px;font-weight:600;padding:3px 11px;border-radius:999px;background:var(--band-bg);border:1px solid rgba(255,255,255,.55);color:#fff}
.ps-label{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;min-height:44px;padding:4px 6px;background:none;border:0;border-radius:8px;color:var(--band-text);font:500 14.5px/1.25 var(--f-text);white-space:pre-line;text-align:center;cursor:pointer}
.ps-label.rechts{transform:translate(0,-50%);text-align:left}
.ps-label.links{transform:translate(-100%,-50%);text-align:right}
.ps-label.mittig{transform:translate(-50%,-100%)}
.ps-label.an span{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.ps-label:focus-visible{outline:3px solid #fff;outline-offset:2px}
.band .tags.tags-nummeriert{display:none}
/* freier Begriff unter dem Stern (Gegenstück zur Diagnostik), ohne Linie */
.ps-frei{position:absolute;left:50%;top:86%;transform:translateX(-50%);margin:0;color:var(--band-text)!important;font:500 14.5px/1.25 var(--f-text);white-space:nowrap}
.tags-nummeriert li.frei{display:none}
@media(max-width:699px){
 .ps-buehne{max-width:320px;margin-bottom:28px}
 .ps-frei{top:97%;font-size:14px}
 .ps-buehne .stern{left:4%;top:4%;width:92%;height:92%}
 .ps-mitte{width:31%}
 .ps-label{display:none}
 .ps-buehne .nr{display:block}
 .ps-buehne .spitze{r:40px}
 .band .tags.tags-nummeriert{display:flex;counter-reset:t}
 .tags-nummeriert li{cursor:pointer}
 .tags-nummeriert li:first-child{display:none}
 .tags-nummeriert li:not(:first-child):not(.frei){counter-increment:t}
 .tags-nummeriert li:not(:first-child):not(.frei)::before{content:counter(t) " · ";font-weight:700}
 .tags-nummeriert li.an{background:#fff;color:var(--band-bg)}
}
@media (prefers-reduced-motion:reduce){.pni-stern.zeichnen .kante{stroke-dashoffset:0}}
/* Logo-Stern: Mitte verlinkt zur Osteopathie, Erklärtext (11.10.2026) */
a.ps-mitte{border-radius:50%;text-decoration:none}
a.ps-mitte:hover img,a.ps-mitte:focus-visible img{box-shadow:0 0 0 4px var(--band-bg),0 0 0 7px #fff}
a.ps-mitte:focus-visible{outline:none}
.band .stern-text{margin:0 0 4px;max-width:60ch}
/* Kurzwege unter den Hauptknöpfen: Telefon und E-Mail als Symbol-Links */
.kurzwege{display:flex;flex-wrap:wrap;align-items:center;gap:4px 18px;margin:14px 0 0;font-size:14.5px;color:var(--text-mild,var(--text))}
.kurzwege a.kw{display:inline-flex;align-items:center;gap:7px;min-height:44px;color:var(--text-stark);font-weight:600;text-decoration:none}
.kurzwege a.kw::before{content:"";width:17px;height:17px;flex:none;background:var(--akzent);-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
.kurzwege a.kw:hover{text-decoration:underline;text-underline-offset:4px}
.kw-tel{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E")}
.kw-mail{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E")}
.ico-stift{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4z'/%3E%3C/svg%3E")}
.kw-wa,.ico-wa{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21l1.7-5A8.5 8.5 0 1 1 8 19.4z'/%3E%3C/svg%3E")}
/* Mobilleiste: Kontakt aufnehmen und Termin buchen */
.mobilleiste{grid-template-columns:1fr 1fr}
.mobilleiste .btn{padding-inline:10px;white-space:nowrap}
@media(max-width:380px){.mobilleiste{gap:8px}.mobilleiste .btn{font-size:14.5px;padding-inline:8px;gap:6px}}
/* WhatsApp dauerhaft unten rechts */
.wa-fest{position:fixed;right:24px;bottom:88px;z-index:56;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.22);transition:transform .2s ease-out}
.wa-fest svg{width:30px;height:30px}
.wa-fest:hover{transform:scale(1.06)}
.wa-fest:focus-visible{outline:3px solid var(--fokus);outline-offset:3px}
@media(max-width:899px){.wa-fest{right:14px;bottom:calc(84px + env(safe-area-inset-bottom,0px));width:52px;height:52px}}
html.fd-offen .wa-fest,body.lb-offen .wa-fest{display:none}
/* WhatsApp nur auf Handy und Tablet, nicht am Desktop (Wunsch 11.10.2026) */
@media(min-width:900px){.wa-fest{display:none}}
.l-meta em{flex-basis:100%;margin-top:-2px;white-space:nowrap}
/* PNI-Karte: Luisa Glaser sitzt rechts im Bild – im schmalen Handy-Ausschnitt auf sie zielen */
.l-bild img[src*="gespraech-anamnese"]{object-position:78% 35%}
/* Termin-Schritte: im schmalen Kasten untereinander statt über den Rand */
.buchung{container-type:inline-size}
@container (max-width:700px){.schritte{flex-direction:column;align-items:flex-start;gap:10px}.schritte li+li::before{display:none}}
/* Sehr schmale Handys (320–375 px): Karten- und Knopftexte bleiben im Rahmen */
@media(max-width:639px){.leistung .l-body{min-width:0;flex:1}.l-titel{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}}
.wp-block-button{max-width:100%}
@media(max-width:380px){.person .wp-block-button__link{white-space:normal;text-align:left}}
/* Kontaktformular im schwebenden Fenster */
.form-dialog{width:min(640px,calc(100vw - 24px));max-height:calc(100dvh - 32px);margin:auto;padding:clamp(20px,4vw,32px);border:0;border-radius:calc(var(--r) + 4px);background:var(--karte);color:var(--text);box-shadow:0 30px 80px rgba(0,0,0,.28);overflow:auto;overscroll-behavior:contain}
.form-dialog::backdrop{background:rgba(20,32,26,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.form-dialog[open]{animation:fd-auf .28s var(--ease-o)}
@keyframes fd-auf{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.fd-kopf{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:6px}
.fd-kopf h2{margin:0;font-size:clamp(22px,3vw,28px)}
.fd-zu{flex:none;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--linie);border-radius:50%;background:none;color:var(--text-stark);cursor:pointer}
.fd-zu svg{width:20px;height:20px}
.fd-zu:focus-visible{outline:3px solid var(--fokus);outline-offset:2px}
.fd-text{margin:0 0 18px;color:var(--muted);font-size:15.5px}
html.fd-offen{overflow:hidden}
html.fd-offen .mobilleiste{transform:translateY(110%)}
@media(max-width:600px){.form-dialog{width:100vw;max-width:100vw;max-height:92dvh;margin:auto 0 0;border-radius:calc(var(--r) + 4px) calc(var(--r) + 4px) 0 0;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}}
@media (prefers-reduced-motion:reduce){.form-dialog[open]{animation:none}}
/* Kopfleiste: Nachricht neben Termin buchen */
.kopf .tel-btn{gap:10px}
@media(max-width:1599px){.kopf .kopf-nachricht .wp-block-button__link{font-size:0;gap:0;width:48px;padding-inline:0;justify-content:center}}
/* Schwangerschaft: Hände auf dem Bauch im Ausschnitt halten (schmale Handy-Kacheln) */
.l-bild img[src*="osteo-becken"],.w-bild img[src*="osteo-becken"]{object-position:44% 62%}
.duo img[src*="osteo-becken"]{object-position:50% 45%}
/* Leistungen: Hinweis zu Luisa Glaser mit E-Mail- und Kontakt-Knopf */
.leistungen-kontakt{margin-top:14px}
/* Team: Karten oben ausgerichtet – Aufklappen links verschiebt rechts nichts (11.10.2026) */
.personen{align-items:start}
.person details{margin-top:0}
.person .zitat+details,.person-text>p+details{margin-top:14px}
/* Instagram-Link (Fuß und Kontakt) */
a.insta{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:inherit;font-weight:600;text-decoration:none}
a.insta svg{width:20px;height:20px;flex:none}
a.insta:hover{text-decoration:underline;text-underline-offset:4px}
.kontakt-insta{margin:6px 0 14px}
.fuss-insta{margin-top:6px}
/* Kopfleiste: Name und Zusatz nie unter das Menü schieben (Logo mit Stern ist breiter) */
@media(min-width:900px){.kopf .marke{flex:none;min-width:max-content}.kopf .marke small{white-space:nowrap}}
@media(min-width:1600px){.kopf .wrap{width:min(1400px,100% - 80px);max-width:none}}
/* Sprungziel Kontaktformular unter der festen Kopfleiste */
#nachricht{scroll-margin-top:96px}
/* Mobiles Menü und Burger (vom Skript eingefügt) */
.kopf .menue a{color:var(--text-stark)}
