:root{color-scheme:light}body{margin:0}img{max-width:100%}[hidden]{display:none!important}
/* Zytfenster Design-Tokens · Stand 29. Oktober 2026
   Variablennamen wie in app.css (--bg, --surface, --accent …), neue Tokens ergänzt.
   Hell auf :root, Dunkel per prefers-color-scheme und [data-theme="dark"].
   Kontraste geprüft: alle Texttöne mindestens 4.5:1 auf --bg und --surface, Ränder und Fokus mindestens 3:1. */

@font-face{font-family:Geist;font-weight:100 900;font-style:normal;font-display:swap;src:url(fonts/Geist-Variable.woff2) format("woff2")}
/* Schriften für die Stile der Buchungsseite. Der Browser lädt nur, was ein Stil wirklich braucht. */
@font-face{font-family:Nunito;font-weight:200 1000;font-style:normal;font-display:swap;src:url(fonts/Nunito-Variable.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-weight:200 900;font-style:normal;font-display:swap;src:url(fonts/SourceSerif4-Variable.woff2) format("woff2")}
@font-face{font-family:"Atkinson Hyperlegible";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/AtkinsonHyperlegible-400.woff2) format("woff2")}
@font-face{font-family:"Atkinson Hyperlegible";font-weight:500 700;font-style:normal;font-display:swap;src:url(fonts/AtkinsonHyperlegible-700.woff2) format("woff2")}

:root{
  /* Flächen */
  --bg:#f5f4f0;          /* Papier: Seitengrund */
  --surface:#ffffff;     /* Karten, Felder, Dialoge */
  --sunk:#edebe5;        /* vertiefte Fläche: Tabellenkopf, Hover, ruhige Bereiche */
  --line:#dedbd3;        /* Trennlinien, Kartenränder (dekorativ) */
  --line-strong:#878d99; /* Ränder von Feldern, Zeitfeldern, Zweitknöpfen (3:1) */

  /* Text */
  --fg:#141820;          /* Fliesstext, Titel */
  --muted:#545b68;       /* Nebentext, Feldhilfe */
  --muted-2:#656b78;     /* leise Angaben, Platzhalter, «mit zytfenster» */

  /* Marke: Tinte */
  --accent:#1c2a44;      /* Hauptknopf, gewähltes Zeitfeld, Logo */
  --accent-hover:#2a3d60;
  --on-accent:#f5f4f0;   /* Text auf --accent */
  --accent-soft:#e8ebf1; /* Symbolkacheln, ausgewählte Zeile */
  --accent-ink:#1c2a44;  /* Symbole und Text auf --accent-soft */

  /* Licht: der einzige warme Akzent */
  --lit:#f0905e;         /* nur Fläche: Scheibe im Logo, Punkt am nächsten freien Termin. Text darauf: --fg */
  --lit-ink:#a9471f;     /* Links, hervorgehobene Wörter (5.3:1 auf --bg) */
  --lit-soft:#fce9de;    /* Hintergrund neutraler Hinweise */

  /* Status: immer mit Wort oder Symbol */
  --ok:#276b4e;     --ok-soft:#e3f1ea;
  --warn:#8a5710;   --warn-soft:#f8ecd6;
  --danger:#b3261e; --danger-soft:#f9e3e1;

  --focus:#1c2a44;       /* Fokusring 2px solid in Tinte, outline-offset 2px, dazu ein Hof in Licht (M5) */
  --focus-halo:rgba(240,144,94,.45);
  --swiss:#d52b1e;       /* nur Kreuz im Herkunftszeichen */

  /* Schrift: eine Datei, Geist variabel. Gewichte 400, 500, 600 */
  --f-display:Geist,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-body:Geist,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:Geist,system-ui,sans-serif;  /* Uhrzeiten: mit font-variant-numeric:tabular-nums */
  --f-code:ui-monospace,"SF Mono",Menlo,Consolas,monospace;  /* Kurzcode, Einbettungscode */
  --w-regular:400; --w-medium:500; --w-semibold:600;

  /* Schriftgrössen / Zeilenhöhen / Laufweite */
  --t-display:56px;  --lh-display:60px; --ls-display:-0.035em;  /* nur Website */
  --t-h1:40px;       --lh-h1:44px;      --ls-h1:-0.03em;
  --t-h2:28px;       --lh-h2:34px;      --ls-h2:-0.02em;
  --t-h3:20px;       --lh-h3:28px;      --ls-h3:-0.01em;
  --t-lead:18px;     --lh-lead:28px;
  --t-body:16px;     --lh-body:24px;
  --t-small:14px;    --lh-small:20px;   /* Verwaltung, Tabellen, Label (500) */
  --t-caption:12px;  --lh-caption:16px; --ls-caption:0.02em; /* kleinste Stufe */
  --t-time:15px;     --lh-time:20px;    /* Zeitfelder, 500, tabular-nums */

  /* Abstände, 4px-Raster */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-6:24px; --s-8:32px; --s-12:48px; --s-16:64px; --s-24:96px;

  /* Radien */
  --r-s:6px;      /* Chips, Markierungen */
  --r:10px;       /* Knöpfe, Felder, Zeitfelder (bisher 6px) */
  --r-l:16px;     /* Karten, Dialoge, Buchungskarte */
  --r-pill:999px; /* Herkunftszeichen, Pillen */

  /* Höhen */
  --h-s:36px; --h-m:44px; --h-l:52px;  /* 44px = Mindestgrösse zum Tippen */

  /* Schatten: sparsam, Ränder trennen */
  --shadow-1:0 1px 2px rgba(20,24,32,.06);
  --shadow-2:0 12px 32px rgba(20,24,32,.12);  /* schwebendes Buchungsfenster, Dialoge */

  /* Logo-Farben (für das Inline-SVG in der Kopfzeile) */
  --zf-ink:#1c2a44; --zf-ground:#f5f4f0; --zf-lit:#f0905e;
}

@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0f1626; --surface:#172238; --sunk:#0a101d; --line:#253250; --line-strong:#6b7891;
  --fg:#eceae4; --muted:#a3abba; --muted-2:#8590a3;
  --accent:#e6e3dc; --accent-hover:#ffffff; --on-accent:#1c2a44; --accent-soft:#1f2c47; --accent-ink:#c9d2e3;
  --lit:#f4a27a; --lit-ink:#f4a27a; --lit-soft:#3a2a24;
  --ok:#6fcf9e; --ok-soft:#16352a; --warn:#f2c26b; --warn-soft:#3a2e14; --danger:#ff8a80; --danger-soft:#3d1c1a;
  --focus:#eceae4; --focus-halo:rgba(244,162,122,.5);
  --shadow-1:0 1px 2px rgba(0,0,0,.4); --shadow-2:0 12px 32px rgba(0,0,0,.5);
  --zf-ink:#f5f4f0; --zf-ground:#1c2a44;
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0f1626; --surface:#172238; --sunk:#0a101d; --line:#253250; --line-strong:#6b7891;
  --fg:#eceae4; --muted:#a3abba; --muted-2:#8590a3;
  --accent:#e6e3dc; --accent-hover:#ffffff; --on-accent:#1c2a44; --accent-soft:#1f2c47; --accent-ink:#c9d2e3;
  --lit:#f4a27a; --lit-ink:#f4a27a; --lit-soft:#3a2a24;
  --ok:#6fcf9e; --ok-soft:#16352a; --warn:#f2c26b; --warn-soft:#3a2e14; --danger:#ff8a80; --danger-soft:#3d1c1a;
  --focus:#eceae4; --focus-halo:rgba(244,162,122,.5);
  --shadow-1:0 1px 2px rgba(0,0,0,.4); --shadow-2:0 12px 32px rgba(0,0,0,.5);
  --zf-ink:#f5f4f0; --zf-ground:#1c2a44;
  color-scheme:dark}

/* Buchungsseite der Kundschaft: neutrale Grautöne, Zytfenster tritt zurück.
   Klasse auf <html> oder dem Buchungs-Container setzen. --accent setzt weiterhin das Kunden-Branding (.branded).
   Ohne eigene Farbe gilt Tinte #1c2a44 als Standard. Nur hell, ausser die Praxis wählt Dunkel. */
.zf-buchung{
  --bg:#f7f7f7; --surface:#ffffff; --sunk:#efefef; --line:#dddddd; --line-strong:#8c8c8c;
  --fg:#1a1a1a; --muted:#595959; --muted-2:#6b6b6b;
  --accent:#1c2a44; --accent-hover:#2a3d60; --on-accent:#ffffff;
  --accent-soft:#e8ebf1; --accent-ink:#1c2a44;
  --lit-ink:var(--accent-ink);  /* Links auf der Buchungsseite in der Farbe der Praxis */
  --focus:var(--accent-ink);    /* Fokusring in der Farbe der Praxis, kontrastsichere Variante */
  --focus-halo:color-mix(in srgb,var(--accent-ink) 22%,transparent);
  color-scheme:light;
}
.ico{width:22px;height:22px;flex:none;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.svc .ico-box{width:40px;height:40px;border-radius:var(--r);background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center}
.privacy li{list-style:none;display:flex;gap:8px;align-items:flex-start}
.privacy li .ico{width:18px;height:18px;color:var(--ok);margin-top:1px}
.privacy ul{padding-left:0!important}
.cal-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:14px;display:flex;flex-direction:column;gap:10px;max-width:460px;box-shadow:var(--shadow-1)}
.cal-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.cal-head b{font-family:var(--f-display);font-weight:600;font-size:var(--t-lead);letter-spacing:var(--ls-h3)}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cw{font-size:var(--t-caption);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:center;padding-bottom:2px}
.cd{position:relative;height:var(--h-m);border:1px solid transparent;border-radius:var(--r-s);background:var(--sunk);cursor:pointer;font-variant-numeric:tabular-nums;font-weight:600}
.cd:hover:not(:disabled){border-color:var(--accent)}
.cd:disabled{background:transparent;color:var(--muted);font-weight:400;cursor:default;opacity:.55}
.cd i{position:absolute;left:50%;bottom:5px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--accent)}
.cd[aria-pressed="true"]{background:var(--accent);color:var(--on-accent)}
.cd[aria-pressed="true"] i{background:var(--on-accent)}

*{box-sizing:border-box}
body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:var(--t-body);line-height:var(--lh-body);font-weight:400;-webkit-font-smoothing:antialiased}
b,strong{font-weight:600}
.wrap{max-width:1080px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--f-display);text-wrap:balance;margin:0;line-height:1.15}
h2{font-size:var(--t-h3);line-height:var(--lh-h3);letter-spacing:var(--ls-h3);font-weight:600}
h3{font-size:var(--t-lead);line-height:var(--lh-lead);font-weight:600}
p{margin:0}
button,input,textarea,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 6px var(--focus-halo)}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}
.small{font-size:var(--t-small);line-height:var(--lh-small)}

header.top{border-bottom:1px solid var(--line);background:var(--surface)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px;flex-wrap:wrap}
.brand{display:flex;align-items:baseline;gap:10px}
.brand b{font-family:var(--f-display);font-weight:600;font-size:1.4rem;letter-spacing:-.01em}
.tag{font-size:var(--t-caption);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border:1px solid var(--line);border-radius:var(--r-pill);padding:2px 8px}
nav.tabs{display:flex;background:var(--sunk);border-radius:var(--r-pill);padding:4px;gap:4px}
nav.tabs a{padding:6px 14px;border-radius:var(--r-pill);text-decoration:none;color:var(--muted);font-weight:500;font-size:.9rem}
nav.tabs a[aria-current="page"]{background:var(--surface);color:var(--fg);box-shadow:0 1px 2px rgba(0,0,0,.08)}

.hours{display:flex;flex-direction:column;gap:6px}
.hrow{display:grid;grid-template-columns:140px repeat(3,max-content);gap:8px 16px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}
.hrow.off .hr select{color:var(--muted);background:var(--sunk,#f6f5f2)}
.hr{display:flex;align-items:center;gap:6px}
.hr select{width:auto;padding:6px 8px}
@media (max-width:900px){.hrow{grid-template-columns:140px max-content}.hrow .hr:nth-child(n+3){grid-column:2}}
@media (max-width:640px){.hrow{grid-template-columns:1fr}.hrow .hr:nth-child(n+3){grid-column:auto}}
.demo-bar{background:var(--accent-soft);font-size:.85rem}
.demo-bar .wrap{padding-block:8px}
.demo-bar b{color:var(--accent)}
main{padding-block:28px 64px}
.intro{display:flex;flex-direction:column;gap:6px;margin-bottom:24px}
.intro h1{font-size:var(--t-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2);font-weight:600}
.grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}
@media (max-width:860px){.grid{grid-template-columns:minmax(0,1fr)}}
.steps{display:flex;flex-direction:column;gap:28px}
.step{display:flex;flex-direction:column;gap:14px}
.step-head{display:flex;align-items:center;gap:10px}
.num{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-mono);font-size:.85rem;background:var(--sunk);color:var(--muted);flex:none}
.step.done .num{background:var(--accent);color:var(--on-accent)}

.services{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.svc{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:14px;cursor:pointer;display:flex;flex-direction:column;gap:6px}
.svc:hover{border-color:var(--accent)}
.svc[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--accent-soft)}
.svc .meta{display:flex;gap:10px;flex-wrap:wrap;font-size:.85rem;color:var(--muted)}
.photo-hint{font-size:var(--t-caption);font-weight:500;color:var(--accent-ink)}

.days{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.day{flex:none;min-width:86px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:8px 10px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:2px}
.day .wd{font-size:var(--t-caption);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.day .dt{font-family:var(--f-display);font-weight:600;font-size:var(--t-lead);font-variant-numeric:tabular-nums}
.day .free{font-size:var(--t-caption);color:var(--ok)}
.day[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.day:disabled{opacity:.5;cursor:not-allowed}
.day:disabled .free{color:var(--muted)}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.slot{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r);min-height:var(--h-m);padding:9px 6px;cursor:pointer;font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:var(--t-time);line-height:var(--lh-time);font-weight:500}
.slot:hover{border-color:var(--accent)}
.slot[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.slot-group{display:flex;flex-direction:column;gap:8px}
.empty{padding:14px;border:1px dashed var(--line);border-radius:var(--r-l);color:var(--muted);font-size:.92rem}

form.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){form.fields{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:5px;min-width:0}
.field.full{grid-column:1/-1}
label{font-weight:500;font-size:var(--t-small);line-height:var(--lh-small)}
label .opt{font-weight:400;color:var(--muted)}
input[type=text],input[type=email],input[type=tel],input[type=time],textarea,select{min-height:var(--h-m);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r);padding:10px 12px;width:100%}
textarea{min-height:84px;resize:vertical}
.drop{border:1.5px dashed var(--line);border-radius:var(--r-l);padding:18px;display:flex;gap:14px;align-items:center;background:var(--surface);cursor:pointer;flex-wrap:wrap}
.drop.over{border-color:var(--accent);background:var(--accent-soft)}
.drop img{width:88px;height:88px;object-fit:cover;border-radius:var(--r)}
.drop .txt{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;font-weight:400}
.hrow .check{font-weight:500}
.check input{margin-top:4px;width:18px;height:18px;flex:none}
.err{color:var(--danger);font-size:.85rem}
.btn{background:var(--accent);color:var(--on-accent);border:0;border-radius:var(--r);min-height:var(--h-m);padding:10px 18px;font-weight:500;line-height:var(--lh-small);cursor:pointer}
.btn:hover:not(:disabled){background:var(--accent-hover)}
:root.branded .btn:hover:not(:disabled){background:var(--accent);filter:brightness(.92)}
.btn.lg{min-height:var(--h-l);font-size:var(--t-body)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.ghost{background:transparent;color:var(--fg);border:1px solid var(--line-strong)}
.btn.ghost:hover:not(:disabled){background:var(--sunk)}
.btn.danger{background:var(--danger);color:var(--bg)}
.btn.danger:hover:not(:disabled){background:var(--danger);filter:brightness(.92)}
.btn.sm{min-height:var(--h-s);padding:6px 12px;font-size:var(--t-small)}

aside.summary{position:sticky;top:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:18px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-1)}
@media (min-width:861px){aside.summary{margin-top:42px}}
dl.kv{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:.92rem}
dl.kv dt{color:var(--muted)}
dl.kv dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.privacy{background:var(--ok-soft);border-radius:var(--r);padding:12px;font-size:.85rem;display:flex;flex-direction:column;gap:6px}
.privacy b{color:var(--ok)}
.privacy ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:3px}

.confirm{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:24px;display:flex;flex-direction:column;gap:16px;max-width:680px;box-shadow:var(--shadow-1)}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:500;border-radius:var(--r-pill);padding:3px 10px}
.badge.ok{background:var(--ok-soft);color:var(--ok)}
.badge.no{background:var(--danger-soft);color:var(--danger)}
.badge.ex{background:var(--sunk);color:var(--muted)}
.mail{background:var(--sunk);border-radius:var(--r);padding:16px;font-size:.92rem;display:flex;flex-direction:column;gap:10px;white-space:pre-line}
.mail .subj{font-weight:600;white-space:normal}

.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:22px}
@media (max-width:560px){.stats{grid-template-columns:1fr}}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:14px;box-shadow:var(--shadow-1)}
.stat .v{font-family:var(--f-display);font-size:var(--t-h3);line-height:var(--lh-h3);font-weight:600;font-variant-numeric:tabular-nums}
.list{display:flex;flex-direction:column;gap:10px}
.row{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:14px;display:grid;grid-template-columns:230px minmax(0,1fr) auto;gap:14px;align-items:center;box-shadow:var(--shadow-1)}
.row.cancelled{background:var(--sunk,#f6f5f2)}.row.cancelled .who>div:first-child>b{text-decoration:line-through;text-decoration-thickness:1px}
@media (max-width:640px){.row{grid-template-columns:minmax(0,1fr)}}
.when{font-variant-numeric:tabular-nums}
.when .d{font-weight:600}
.who{display:flex;flex-direction:column;gap:3px;min-width:0}
.who .email{overflow-wrap:anywhere}
.row-photo{display:flex;align-items:center;gap:10px}
.thumb{width:56px;height:56px;border-radius:var(--r);object-fit:cover;cursor:zoom-in;border:1px solid var(--line);background:var(--sunk);padding:0}
.thumb img{width:100%;height:100%;object-fit:cover;border-radius:calc(var(--r) - 1px);display:block}
.actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.panels{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}
@media (max-width:760px){.panels{grid-template-columns:1fr}}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:18px;display:flex;flex-direction:column;gap:12px;min-width:0;box-shadow:var(--shadow-1)}
pre.code{background:var(--sunk);border-radius:var(--r);padding:12px 14px;font-family:var(--f-code);font-size:.8rem;line-height:1.6;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-all}
.code-row{display:flex;flex-direction:column;gap:6px}
.code-row .h{display:flex;justify-content:space-between;align-items:center;gap:8px}
dialog{border:0;box-shadow:var(--shadow-2);border-radius:var(--r-l);padding:0;background:var(--surface);color:var(--fg);max-width:min(92vw,720px)}
dialog::backdrop{background:rgba(20,24,32,.55)}
dialog img{display:block;max-width:100%;max-height:75vh}
dialog .bar{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;gap:10px}
.note{font-size:.82rem;color:var(--muted);border-top:1px solid var(--line);padding-top:12px;margin-top:4px}
@media (prefers-reduced-motion:no-preference){.slot,.svc,.day{transition:border-color .15s,background .15s}}
/* ---------- Echte Version ---------- */
header.top nav#nav{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.navlink{background:none;border:0;padding:6px 10px;border-radius:var(--r-s);color:var(--muted);font-weight:500;font-size:.9rem;text-decoration:none;cursor:pointer}
.navlink:hover{color:var(--fg);background:var(--sunk)}
.linkbtn{background:none;border:0;padding:0;color:var(--lit-ink);font-weight:500;cursor:pointer;text-decoration:underline;font-size:inherit}
.subtabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:22px}
.subtabs button{background:none;border:0;border-bottom:2px solid transparent;padding:10px 12px;font-weight:500;color:var(--muted);cursor:pointer;margin-bottom:-1px}
.subtabs button.on{color:var(--fg);border-bottom-color:var(--accent)}
.svc-edit.off{opacity:.65}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.svc-grid .field.full{grid-column:1/-1}
.savebar{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:18px}
.mail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
details{border-top:1px solid var(--line);padding-top:10px}
details summary{cursor:pointer;font-weight:500;font-size:.9rem}
.help{display:flex;flex-direction:column;gap:8px;font-size:.88rem;margin-top:10px;max-width:70ch}
.cancel-box{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
input[type=password]{min-height:var(--h-m);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r);padding:10px 12px;width:100%}
.toast{position:fixed;left:50%;bottom:max(20px,env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:10px 16px;border-radius:var(--r);font-size:.9rem;max-width:min(92vw,560px);z-index:50;box-shadow:var(--shadow-2)}
.toast.bad{background:var(--danger);color:var(--bg)}
.foot{color:var(--muted-2);font-size:var(--t-caption);line-height:var(--lh-caption);padding-block:0 32px}
.origin{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:var(--t-caption);font-weight:500;line-height:var(--lh-caption)}
.origin svg{width:14px;height:14px;flex:none}
body.embed header.top,body.embed .foot{display:none}
body.embed main{padding-block:8px 16px}
a{color:var(--lit-ink)}
.welcome{display:flex;flex-direction:column;gap:18px;max-width:720px}
.welcome .intro h1{font-size:clamp(var(--t-h2),5vw,var(--t-h1));line-height:1.1;letter-spacing:var(--ls-h1)}
.lead{font-size:var(--t-lead);line-height:var(--lh-lead);max-width:58ch;color:var(--fg)}
.hello{background:var(--ok-soft);border-color:transparent}
.addcal{display:flex;flex-direction:column;gap:8px;background:var(--accent-soft);border-radius:var(--r);padding:14px}
a.btn{text-decoration:none;display:inline-block}
.btn.ghost{color:var(--fg)}
.note-text{white-space:pre-line;border-left:2px solid var(--line);padding-left:8px;color:var(--fg)}
a.brand{text-decoration:none;color:var(--fg)}
.linkbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--accent-soft);border-radius:var(--r);padding:10px 14px;margin:-8px 0 20px}
.linkbar a{overflow-wrap:anywhere;font-weight:500;color:var(--lit-ink)}
header.top .btn.sm{padding:6px 12px}
.svc-hours{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:10px}
.ablist{display:flex;flex-direction:column;gap:10px}
.abrow{display:grid;grid-template-columns:160px 160px minmax(0,1fr) auto;gap:10px;align-items:end}
@media (max-width:640px){.abrow{grid-template-columns:1fr 1fr}.abrow .field:nth-child(3){grid-column:1/-1}}
input[type=date]{min-height:var(--h-m);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r);padding:9px 10px;width:100%}
.faq{display:flex;flex-direction:column;gap:26px;max-width:760px}
.faq section{display:flex;flex-direction:column;gap:4px}
.faq h2{margin-bottom:6px}
.faq details{border-top:1px solid var(--line);padding:10px 0}
.faq details p{margin-top:8px;max-width:68ch}
.legal h3{margin-top:6px}
.legal p{max-width:68ch}
.danger-zone{border-color:var(--danger-soft)}
.danger-zone h3{color:var(--danger)}
/* Branding der Anbieterin */
:root.branded{--accent-soft:color-mix(in srgb,var(--accent) 13%,var(--surface));--accent-ink:var(--bi-l)}
@media (prefers-color-scheme: dark){:root.branded:not([data-theme="light"]){--accent-ink:var(--bi-d);--accent-soft:color-mix(in srgb,var(--accent) 22%,var(--surface))}}
:root.branded[data-theme="dark"]{--accent-ink:var(--bi-d);--accent-soft:color-mix(in srgb,var(--accent) 22%,var(--surface))}
a.brand img{display:block;max-height:40px;max-width:220px;width:auto}
.swatches{display:flex;gap:8px;flex-wrap:wrap}
.sw{width:34px;height:34px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line);cursor:pointer;padding:0}
.sw.on{box-shadow:0 0 0 2px var(--fg)}
.color-row{display:flex;gap:8px;align-items:center}
.color-row input[type=color]{width:48px;height:40px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);padding:2px;cursor:pointer}
.color-row input[type=text]{width:120px;font-family:var(--f-code)}
.logo-box{min-height:72px;display:flex;align-items:center;justify-content:center;background:var(--sunk);border-radius:var(--r);padding:12px}
.logo-box img{max-height:60px;max-width:100%}
.preview{font-family:var(--f-body);font-size:var(--t-body);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;background:#f7f7f7;color:#1a1a1a;--bg:#f7f7f7;--surface:#fff;--line:#ddd;--line-strong:#8c8c8c;--sunk:#efefef;--muted:#595959;--muted-2:#6b6b6b;--fg:#1a1a1a}
.pv-head{background:#fff;border-bottom:1px solid #ddd;padding:12px 16px}
.pv-head img{max-height:36px;display:block}
.pv-body{padding:16px;display:flex;gap:18px;flex-wrap:wrap;align-items:flex-start}
.preview a{color:var(--accent-ink)}
.preview .zf-by .p{fill:#f7f7f7}
.seg{display:inline-flex;background:var(--sunk);border-radius:var(--r-pill);padding:4px;gap:4px;align-self:flex-start}
.seg label{cursor:pointer}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:block;padding:6px 18px;border-radius:var(--r-pill);font-weight:500;color:var(--muted)}
.seg input:checked+span{background:var(--surface);color:var(--fg);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.seg input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}

/* ---------- v15 ---------- */
.subseg{margin:-4px 0 18px;flex-wrap:wrap}
.panel .subseg{margin:0}
.ob{margin-bottom:20px;border-color:var(--accent)}
.obbar{height:6px;border-radius:var(--r-pill);background:var(--sunk);overflow:hidden}
.obbar i{display:block;height:100%;background:var(--accent);border-radius:var(--r-pill);transition:width .3s}
.oblist{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.obitem{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;background:none;border:0;padding:8px;border-radius:var(--r);color:inherit;font:inherit;cursor:pointer}
.obitem:hover{background:var(--sunk)}
.obitem>span:last-child{display:flex;flex-direction:column;gap:2px}
.obcheck{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-size:.8rem;font-weight:500}
.oblist li.ok .obcheck{background:var(--ok);border-color:var(--ok);color:var(--bg)}
.oblist li.ok b{text-decoration:line-through;color:var(--muted)}
.linkbtn{background:none;border:0;padding:0;color:var(--lit-ink);text-decoration:underline;cursor:pointer;font:inherit}
details.more{border-top:1px solid var(--line);padding-top:10px}
details.more>summary{cursor:pointer;font-weight:500;display:flex;gap:6px;flex-wrap:wrap;align-items:center;list-style:none}
details.more>summary::-webkit-details-marker{display:none}
details.more>summary::before{content:'▸';display:inline-block;transition:transform .15s}
details.more[open]>summary::before{transform:rotate(90deg)}
.more-body{display:flex;flex-direction:column;gap:14px;padding-top:12px}
.svc-q{display:flex;flex-direction:column;gap:6px}
.qrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.badge.warn{background:var(--warn-soft);color:var(--warn)}
.warnbar{margin:0 0 20px}
.share-prev{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:14px;border:1px dashed var(--line);border-radius:var(--r)}
ol.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}
.seg button{border:0;background:none;font:inherit;font-weight:500;color:var(--muted);padding:6px 18px;border-radius:var(--r-pill);cursor:pointer}
.seg button.on{background:var(--surface);color:var(--fg);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.seg button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
@media (max-width:560px){.seg button{padding:6px 12px}}
@media (max-width:560px){.subtabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.subtabs::-webkit-scrollbar{display:none}.subtabs button{flex:none}}
.pv-body{gap:20px;padding:20px}
.pv-body .pv-svc{pointer-events:none;width:220px;flex:none}
.pv-col{display:flex;flex-direction:column;gap:12px;flex:1;min-width:240px;pointer-events:none}
.pv-slots{grid-template-columns:repeat(3,minmax(84px,110px))}
@media (max-width:560px){.pv-body .pv-svc{width:100%}}
.cal-list{display:flex;flex-direction:column;gap:12px}
.cal-row{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr) auto;gap:10px;align-items:end;padding-bottom:12px;border-bottom:1px solid var(--line)}
.cal-row .field{margin:0}
.cal-state{display:flex;gap:8px;align-items:center;min-height:42px}
.cal-msg{grid-column:1/-1;margin:-4px 0 0}
@media (max-width:640px){.cal-row{grid-template-columns:1fr}.cal-state{min-height:0}}

/* Installations-Assistent */
.install{display:flex;flex-direction:column;gap:20px;max-width:640px}
.ins-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ins-row{display:flex;gap:12px;align-items:flex-start}
.ins-mark{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:13px}
.ins-row.ok .ins-mark{background:var(--ok-soft);color:var(--ok)}
.ins-row.warn .ins-mark{background:var(--warn-soft);color:var(--warn)}
.ins-row.no .ins-mark{background:var(--danger-soft);color:var(--danger)}
.ins-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
/* Buchungsseite: Name der Praxis statt Zytfenster-Logo; bis die Daten da sind, bleibt der Platz leer */
.zf-buchung .brand .zf-logo{visibility:hidden}
.brand-name{font-weight:600;font-size:var(--t-h3);line-height:var(--lh-h3);letter-spacing:var(--ls-h3);color:var(--fg)}
/* Logo in Kopf- und Fusszeile (Farben: --zf-ink, --zf-ground, --zf-lit in den Tokens) */
.brand .zf-logo{display:inline-flex;align-items:center;gap:10px;color:var(--zf-ink)}
.zf-mark{width:30px;height:30px;flex:none;display:block}
.zf-mark .t{fill:var(--zf-ink)}.zf-mark .p{fill:var(--zf-ground)}.zf-mark .l{fill:var(--zf-lit)}
.zf-word{font-family:var(--f-display);font-weight:600;font-size:1.5rem;letter-spacing:-.035em;line-height:1;padding-bottom:2px}
.zf-by{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;vertical-align:-2px}
.zf-by svg{width:16px;height:16px;flex:none}
.zf-by .t{fill:currentColor}.zf-by .p{fill:var(--bg)}
.zf-by b{font-family:var(--f-display);font-weight:600;letter-spacing:-.02em}

.demo-hint,.demo-done{background:var(--lit-soft,#fbe9df);color:var(--fg);border-radius:var(--r,10px);padding:10px 14px;font-size:.95rem;margin:6px 0 0}

.svc-links{margin-top:14px}.svc-links summary{cursor:pointer;font-weight:500;color:var(--lit-ink)}.svc-links[open] summary{margin-bottom:8px}.svc-links .code-row{margin-top:10px}

input[type=checkbox],input[type=radio]{accent-color:var(--accent)}

.icon-pick{border:0;padding:0;margin:0;min-width:0}
.icon-pick legend{font-weight:500;font-size:.9rem;padding:0;margin-bottom:6px}
.icon-opts{display:flex;gap:6px;flex-wrap:wrap}
.icon-opt{position:relative;cursor:pointer}
.icon-opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.icon-opt span:first-of-type{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line-strong,#ccc);border-radius:var(--r,10px);background:var(--surface,#fff);color:var(--muted)}
.icon-opt input:checked+span{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink,var(--accent));box-shadow:0 0 0 1px var(--accent)}
.icon-opt input:focus-visible+span{outline:2px solid var(--focus,var(--accent));outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.mail-prev{border:1px solid var(--line);border-radius:var(--r,10px);background:var(--surface,#fff);overflow:hidden;font-size:.95rem}
.mail-prev dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--sunk,#f6f5f2)}
.mail-prev dt{color:var(--muted)}.mail-prev dd{margin:0;overflow-wrap:anywhere}
.mail-body{white-space:pre-wrap;padding:16px;line-height:1.55;overflow-wrap:anywhere}
.mail-att{padding:10px 16px;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem;display:flex;gap:6px;align-items:center}
.mail-att .ico{width:16px;height:16px}
/* Demo: Bildschirm und E-Mail klar getrennt */
.mail-demo{margin-top:12px;padding-top:24px;border-top:2px dashed var(--line);display:flex;flex-direction:column;gap:8px}
.mail-demo h2{display:flex;align-items:center;gap:8px}
.mail-demo h2 .ico{width:22px;height:22px}
.mail-prev{box-shadow:0 6px 18px rgba(20,24,32,.08)}
.mail-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#e9e7e2;border-bottom:1px solid var(--line);font-size:.8rem;color:var(--muted)}
.mail-bar i{width:10px;height:10px;border-radius:50%;background:#cfccc5}
.mail-bar span{margin-left:8px}
/* Barrierefreiheit */
.svc-name{font-family:var(--f-display);font-size:var(--t-lead);line-height:var(--lh-lead);font-weight:600}
.toast-x{background:none;border:0;color:inherit;font-size:1.3rem;line-height:1;margin-left:10px;cursor:pointer;padding:2px 6px}
.toast{display:flex;align-items:center}
.toast[hidden]{display:none}
.drop .err,.field .err{display:block}
pre.code:focus-visible{outline:2px solid var(--focus,#a9471f);outline-offset:2px}
.slot{position:relative}
@media (forced-colors:active){
  .svc[aria-pressed="true"],.cd[aria-pressed="true"],.slot[aria-pressed="true"],.subtabs [aria-current],.seg [aria-current],.seg [aria-pressed="true"]{forced-color-adjust:none;background:Highlight;color:HighlightText;border-color:Highlight}
  .btn{border:1px solid ButtonText}
  .cd i{background:CanvasText}
}
.legal h2{margin-top:10px}
.legal ul{max-width:68ch;padding-left:1.2em;margin:0;display:flex;flex-direction:column;gap:4px}
/* Anmeldung und Fusszeile der Verwaltung */
.login-wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:start;margin-top:40px}
.login-intro{display:flex;flex-direction:column;gap:14px;padding-top:12px}
.login-intro h1{font-size:clamp(1.8rem,4vw,2.6rem)}
.login-intro .eyebrow{font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.login-wrap #li-f{max-width:none;margin:0}
.login-wrap #li-f h2{font-size:1.4rem}
@media (max-width:760px){.login-wrap{grid-template-columns:1fr;gap:20px;margin-top:20px}}
.opfoot{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}
.opfoot a{color:inherit}
.ui-lang{display:inline-flex;flex-wrap:wrap;gap:4px 12px}
.ui-lang [aria-current]{font-weight:600;text-decoration:none}
.foot:has(.opfoot){margin-top:56px;padding-top:20px;border-top:1px solid var(--line)}
/* Terminliste nach Tagen */
.list .day-head{font-size:var(--t-body,1rem);font-weight:600;margin:14px 0 0;color:var(--fg)}
.list .day-head:first-child{margin-top:0}
.row{grid-template-columns:110px minmax(0,1fr) auto}
.when .d{font-size:1.05rem}
@media (max-width:640px){.row{grid-template-columns:minmax(0,1fr)}}
/* Angebote in weiteren Sprachen */
.svc-tr{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:14px}
.svc-tr .tr-lang{border:1px solid var(--line);border-radius:10px;padding:8px 12px}
.svc-tr .tr-lang summary{cursor:pointer;font-weight:600;font-size:.92rem}
.svc-tr .tr-lang[open] summary{margin-bottom:10px}
.tz-row{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:6px 20px;align-items:end;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.tz-row .small{margin:0 0 10px}
@media (max-width:640px){.tz-row{grid-template-columns:1fr}}
.tz-note{margin:6px 0 0}
.ico-none{display:inline-flex;width:24px;justify-content:center;font-weight:600;color:var(--muted)}

.tz-switch{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 4px}
.tz-switch .seg button{padding:6px 14px}
.place-pick{border:0;padding:0;margin:4px 0 0;display:flex;flex-direction:column;gap:8px}
.place-pick legend{font-weight:600;margin-bottom:8px;padding:0}
.place-opts{display:flex;flex-direction:column;gap:8px;max-width:640px}
.place{display:flex;gap:12px;align-items:flex-start;text-align:left;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r);padding:10px 12px;cursor:pointer;font:inherit;color:inherit}
.place>span:last-child{display:flex;flex-direction:column;gap:2px;padding-top:5px}
.place:hover{border-color:var(--accent)}
.place:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.place input{margin:9px 0 0;accent-color:var(--accent);width:18px;height:18px;flex:none}
.place:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}
.place .ico-box{flex:none;width:32px;height:32px;border-radius:var(--r);background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center}
.place .ico-box svg{width:18px;height:18px}
.places-edit{display:flex;flex-direction:column;gap:12px}
.pl-row{display:grid;grid-template-columns:32px 140px 1fr 1.4fr auto;gap:10px;align-items:end;padding:10px 0;border-top:1px solid var(--line)}
.pl-row .ico-box{width:32px;height:32px;border-radius:var(--r);background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center;align-self:center}
.pl-row .ico-box svg{width:18px;height:18px}
.pl-row p.pl-d{margin:0 0 10px}
@media (max-width:760px){.pl-row{grid-template-columns:32px 1fr}.pl-row .field,.pl-row p.pl-d{grid-column:2}.pl-row button{grid-column:2;justify-self:start}}
.svc-pl{border:0;padding:0;margin:0}.svc-pl legend{font-weight:600;font-size:.9rem;margin-bottom:6px;padding:0}
.svc-pl-opts{display:flex;flex-wrap:wrap;gap:6px 18px}
.move-box{grid-column:1/-1;display:flex;flex-direction:column;gap:12px;background:var(--sunk);border-radius:var(--r);padding:14px;margin-top:4px}
.move-box .mv-f{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.mv-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--r-pill);padding:6px 12px;font:inherit;font-size:.88rem;cursor:pointer;color:inherit}
.chip[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}
.move-info{grid-column:1/-1;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 14px}
.ask-box{background:var(--sunk);border-radius:var(--r);padding:12px 14px}.ask-box p{margin:0}.ask-box p+p{margin-top:6px}
.sug-box{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;border:1px solid var(--accent);border-radius:var(--r);padding:12px 14px}
.mv-row input[type=date],.mv-row select{width:auto;flex:0 1 220px;min-width:160px}
/* Stile der Buchungsseite */
.st-weich{--f-display:Nunito,system-ui,sans-serif;--f-body:Nunito,system-ui,sans-serif;--f-mono:Nunito,system-ui,sans-serif;--r:14px;--r-l:22px}
.st-klassisch{--f-display:"Source Serif 4",Georgia,serif;--r:6px;--r-l:8px}
.st-lesbar{--f-display:"Atkinson Hyperlegible",system-ui,sans-serif;--f-body:"Atkinson Hyperlegible",system-ui,sans-serif;--f-mono:"Atkinson Hyperlegible",system-ui,sans-serif;--t-body:17px;--lh-body:26px;--t-time:16px}
.style-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.style-opt{display:flex;flex-direction:column;gap:4px;text-align:left;border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--r);padding:12px;cursor:pointer;font:inherit;color:inherit}
.style-opt[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.style-opt .aa{font-size:1.5rem;line-height:1.2;font-family:var(--f-display);font-weight:600}
.style-opt.st-weich .aa{border-radius:0}
.st-weich h1,.st-weich h2,.st-weich h3,.st-weich .svc-name,.st-weich .style-opt .aa,.style-opt.st-weich .aa{font-weight:750}
.zoom-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:640px){.zoom-grid{grid-template-columns:1fr}}
.zoom-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px}
.zoom-steps code{font-family:var(--f-code);font-size:.85em;background:var(--sunk);padding:1px 4px;border-radius:4px}
.zoom-edit{display:flex;flex-direction:column;gap:12px}
.svc-places{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.8rem;color:var(--muted)}
.svc-places span{display:inline-flex;align-items:center;gap:4px}
.svc-places svg{width:14px;height:14px}
.svc-card.panel{padding:0;gap:0}
.svc-sum{display:flex;gap:12px;align-items:center;padding:14px 18px;cursor:pointer;list-style:none}
.svc-sum::-webkit-details-marker{display:none}
.svc-sum .ico-box{width:36px;height:36px;border-radius:var(--r);background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center;flex:none}
.svc-sum .ico-box:empty{background:var(--sunk)}
.svc-sum-t{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.svc-sum-edit{color:var(--accent-ink);text-decoration:underline;white-space:nowrap}
.svc-sum-edit::before{content:"▸ "}
details[open]>.svc-sum .svc-sum-edit{visibility:hidden}
details[open]>.svc-sum{border-bottom:1px solid var(--line)}
.svc-body{display:flex;flex-direction:column;gap:14px;padding:16px 18px 18px}
.svc-sum:focus-visible{outline:2px solid var(--focus);outline-offset:-2px;border-radius:var(--r-l)}
.pl-row{grid-template-columns:32px 140px 1fr 1.4fr auto}
.pl-act{display:flex;gap:6px}
@media (max-width:760px){.pl-row .pl-act{grid-column:2}}
.svc-sum-m{display:flex;flex-wrap:wrap;gap:2px 12px}
.pl-row .pl-h{grid-column:3/5}
@media (max-width:760px){.pl-row .pl-h{grid-column:2}}
/* v42: Termin eintragen, Nachricht bei der Absage, Buchen-Knopf mit Tag und Zeit, Handy kompakter */
.demo-hint p{margin:0}.demo-hint p+p{margin-top:6px}
.btn.book-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding-top:8px;padding-bottom:8px}
.btn-sub{font-size:.85rem;font-weight:500;opacity:.92}
.new-box{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}
.new-box h3{margin:0}
.nb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.actions{align-items:flex-start}
.cancel-box .c-msg{width:min(100%,340px);align-self:flex-end}
.cancel-box .c-msg textarea{width:100%}
@media (max-width:640px){.cancel-box{align-items:stretch}.cancel-box .c-msg{width:100%}}
@media (max-width:560px){
  .services{gap:8px}
  .svc{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:12px;row-gap:2px;padding:12px}
  .svc>*{grid-column:2}
  .svc>.ico-box{grid-column:1;grid-row:1 / span 4;width:32px;height:32px}
  .svc>.ico-box svg{width:18px;height:18px}
  .svc .svc-name{font-size:1.05rem}
  .btn.book-btn{width:100%}
  /* Verwaltung: Termine schneller sichtbar */
  .lb-booking{display:none}
  .subtabs{flex-wrap:wrap;overflow-x:visible}
  .stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:16px}
  .stats .stat{padding:8px 10px}
  .stats .stat .v{font-size:1.05rem!important;padding-top:2px!important}
  .stats .stat .small{font-size:.72rem;line-height:1.25}
}
/* v43: Updates */
.upd{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.upd h3,.upd h4,.upd p{margin:0}
.upd-new{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;background:var(--accent-soft)}
.upd-new ul,.upd-block ul{margin:0;padding-left:20px}
.upd-block{display:flex;flex-direction:column;gap:6px;background:var(--sunk);border-radius:var(--r);padding:10px 14px}
.upd-bar{margin:0 0 16px}

/* =================================================================
   v44: Redesign nach dem Design-Audit v43
   ================================================================= */
:root{--btn2:#ebe8e1;--btn2-hover:#e1ddd4;--side:#efede8}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--btn2:#24314d;--btn2-hover:#2d3b5a;--side:#121b2e}}
:root[data-theme="dark"]{--btn2:#24314d;--btn2-hover:#2d3b5a;--side:#121b2e}
.zf-buchung{--btn2:#ececec;--btn2-hover:#e2e2e2}

/* Knöpfe in drei Stufen: Haupt (Tinte), Zweit (ruhig gefüllt), Text. Gefahr nur beim Bestätigen. */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.btn .ico{width:18px;height:18px}
.btn.ghost{background:var(--btn2);border:1px solid transparent;color:var(--fg)}
.btn.ghost:hover:not(:disabled){background:var(--btn2-hover)}
.btn.danger{color:#fff}
.linkbtn{color:var(--fg);text-underline-offset:3px;text-decoration-thickness:1px}
.ibtn{display:inline-grid;place-items:center;width:36px;height:36px;border:0;border-radius:var(--r);background:transparent;color:var(--fg);cursor:pointer;padding:0;flex:none}
.ibtn:hover{background:var(--sunk)}
.ibtn .ico{width:20px;height:20px}
.ibtn.btn-like{background:var(--btn2)}
.ibtn.btn-like:hover{background:var(--btn2-hover)}

/* Fehler am Feld (M6): roter Rand, Symbol und Text */
input[aria-invalid="true"],textarea[aria-invalid="true"],select[aria-invalid="true"]{border-color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger)}
.err:not(:empty){display:flex;gap:6px;align-items:flex-start;color:var(--danger);font-size:var(--t-small);line-height:var(--lh-small)}
.err:not(:empty)::before{content:"";flex:none;width:16px;height:16px;margin-top:2px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5.5M12 16.5h.01'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5.5M12 16.5h.01'/%3E%3C/svg%3E") center/contain no-repeat}
.err.field.full::before,.toast .err::before{display:none}

/* Marken für den Status: ein Punkt und ein Wort (H6) */
.mks{display:inline-flex;flex-wrap:wrap;gap:4px 14px}
.mk{display:inline-flex;align-items:center;gap:7px;font-size:var(--t-small);line-height:var(--lh-small);color:var(--fg);white-space:nowrap}
.mk::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--muted);flex:none}
.mk-lit::before{background:var(--lit)}.mk-no::before{background:var(--danger)}.mk-warn::before{background:var(--warn)}.mk-brown::before{background:#8a5a3c}.mk-ok::before{background:var(--ok)}
.mk-ex::before{background:transparent;border:1.5px solid var(--muted);width:7px;height:7px}
.lit-n{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:var(--r-pill);background:var(--lit);color:#141820;font-size:var(--t-caption);font-weight:600;font-variant-numeric:tabular-nums;align-self:center}

/* Notizen in einem Stil (G5) */
.nt{background:var(--sunk);border-radius:var(--r);padding:10px 14px;display:flex;flex-direction:column;gap:2px;margin-top:8px;font-size:var(--t-small);line-height:var(--lh-small)}
.nt-h{font-size:var(--t-caption);line-height:var(--lh-caption);color:var(--muted);font-weight:500}
.nt-b{white-space:pre-line;color:var(--fg)}
.nt-row{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 20px}
.nt-row>span{display:inline-flex;gap:8px;align-items:center}
.nt-row .ico{width:18px;height:18px}
.ask-box{background:var(--sunk)}

/* Aufklapper mit eigenem Pfeil (G4) */
details>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;cursor:pointer}
details>summary::-webkit-details-marker{display:none}
details>summary::after{content:"";flex:none;width:18px;height:18px;background:currentColor;opacity:.7;transition:transform .15s;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat}
details[open]>summary::after{transform:rotate(180deg)}
details.more>summary::before{content:none}
details.more>summary{justify-content:space-between}
.svc-sum::after{display:none}
.faq details{padding:0}
.faq details summary{padding:10px 0}
.faq details p{margin:0 0 14px}

/* Verwaltung: Seitenleiste und Kopf (M1, M2) */
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--surface);color:var(--fg);padding:10px 16px;border-radius:var(--r);min-height:44px;display:inline-flex;align-items:center}
.skip:focus{left:16px}
body.adm header.top{display:none}
body.adm main.wrap{max-width:none;margin:0 0 0 252px;padding:0}
body.adm .foot{max-width:1048px;margin:24px 0 0 252px;padding:24px 48px 40px}
.side{position:fixed;top:0;bottom:0;left:0;width:252px;background:var(--side);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px;padding:20px 14px;overflow-y:auto;z-index:20}
.side-logo{padding:2px 10px 14px}
.side-logo .zf-logo{display:inline-flex;align-items:center;gap:9px;color:var(--zf-ink)}
.side-logo .zf-mark{width:26px;height:26px}.side-logo .zf-word{font-size:1.25rem}
.side-acc{display:flex;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px;margin-bottom:12px}
.side-acc-t{display:flex;flex-direction:column;min-width:0}
.side-acc-t b{font-size:var(--t-small);line-height:1.3;overflow-wrap:anywhere}
.side-acc-t .small{font-size:var(--t-caption);line-height:1.3}
.ini{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:600;letter-spacing:.02em}
.side-nav,.side-foot{display:flex;flex-direction:column;gap:2px}
.side-foot{margin-top:auto;padding-top:16px}
.nv{display:flex;align-items:center;gap:12px;width:100%;min-height:40px;padding:8px 12px;border:0;border-radius:var(--r);background:none;color:var(--fg);font:inherit;font-size:var(--t-small);font-weight:500;text-align:left;text-decoration:none;cursor:pointer}
.nv .ico{width:18px;height:18px;color:var(--muted)}
.nv:hover{background:var(--sunk)}
.nv.on{background:var(--surface);font-weight:600;box-shadow:var(--shadow-1)}
.nv.on .ico{color:var(--fg)}
.nv-l{flex:1}
.cnt{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-pill);background:var(--lit);color:#141820;font-size:var(--t-caption);font-weight:600;font-variant-numeric:tabular-nums}
.side-origin{padding:14px 12px 4px}
.mtop,.mbar{display:none}
.adm-main{max-width:1048px;padding:40px 48px 64px}
.adm-main:focus{outline:none}
.ah{margin-bottom:20px}
.ah h1,.t-tit h1{font-size:32px;line-height:38px;letter-spacing:-.025em;font-weight:600}
.adm-main .subtabs{margin-bottom:24px}
.subtabs button{min-height:44px}
.subtabs button.on{border-bottom-color:var(--fg)}
body.has-savebar .adm-main{padding-bottom:120px}
.savebar-fix{position:fixed;left:calc(252px + 48px);right:48px;bottom:20px;max-width:952px;z-index:45;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:#1c2a44;color:#f5f4f0;border-radius:12px;padding:10px 10px 10px 20px;box-shadow:var(--shadow-2)}
.savebar-fix .sb-t{display:inline-flex;align-items:center;gap:10px;font-weight:500}
.sb-dot{width:8px;height:8px;border-radius:50%;background:var(--lit)}
.savebar-fix .sb-a{display:flex;gap:8px}
.savebar-fix .btn.ghost{background:transparent;color:#f5f4f0}
.savebar-fix .btn.ghost:hover{background:rgba(255,255,255,.1)}
.savebar-fix .btn.sb-yes{background:#f5f4f0;color:#1c2a44}
.savebar-fix :focus-visible{outline-color:#f5f4f0}
[data-save]{display:none!important}
.savebar:has(>[data-save]:only-child),.savebar:has(>span:first-child+[data-save]:last-child){display:none}

/* Menü «⋯» */
.mn{position:relative;display:inline-flex}
.mn-list{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:250px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-2);padding:6px;display:flex;flex-direction:column}
.mn-list.up{top:auto;bottom:calc(100% + 6px)}
.mn-i{display:flex;align-items:center;gap:12px;min-height:40px;padding:8px 12px;border:0;background:none;border-radius:8px;color:var(--fg);font:inherit;font-size:var(--t-body);text-align:left;text-decoration:none;cursor:pointer;white-space:nowrap}
.mn-i:hover,.mn-i:focus-visible{background:var(--sunk)}
.mn-i .ico{width:18px;height:18px;color:var(--muted)}
.mn-i.danger,.mn-i.danger .ico{color:var(--danger)}
.mn-sep{border:0;border-top:1px solid var(--line);margin:6px 8px;width:auto}
.mn-ph{display:inline-block;width:36px}

/* Termine (M3, M4, H3) */
.t-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;margin-bottom:28px}
.t-tit p.muted{margin-top:4px}
.t-stats{display:flex;flex-wrap:wrap;row-gap:4px;margin-top:12px;color:var(--muted)}
.t-stats b{color:var(--fg);font-variant-numeric:tabular-nums}
.t-stats span+span::before{content:"";display:inline-block;width:1px;height:14px;background:var(--line);margin:0 14px;vertical-align:-2px}
.t-act{display:flex;gap:8px;align-items:center;padding-top:6px}
.wait{margin-bottom:36px}
.dg-h{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.dg-h h2{font-size:var(--t-h3);line-height:var(--lh-h3)}
.wgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.wcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:20px;display:flex;flex-direction:column;gap:4px;box-shadow:var(--shadow-1)}
.wcard h3{font-size:var(--t-h3);line-height:var(--lh-h3)}
.w-when{font-weight:500;color:var(--muted)}
.wcard .tr-ph{margin-top:8px}
.w-act{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:14px}
.w-c{margin-left:auto;overflow-wrap:anywhere}
.dg{margin-bottom:32px}
.dcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow-1);position:relative}
.dc-empty{padding:16px 20px}
.tr{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:4px 20px;align-items:center;padding:16px 20px;border-top:1px solid var(--line)}
.dcard>.tr:first-child,.dcard>.nowl:first-child+.tr{border-top:0}
.tr-when{display:flex;flex-direction:column;font-variant-numeric:tabular-nums;line-height:1.3;align-self:start;padding-top:1px}
.tr-s{font-weight:600}
.tr-e,.tr-d{font-size:var(--t-small);color:var(--muted)}
.tr-main{min-width:0;display:flex;flex-direction:column;gap:2px}
.tr-n{font-weight:600}
.tr-c{overflow-wrap:anywhere}
.tr-q{color:var(--fg);margin-top:2px;white-space:pre-line}
.tr-side{display:flex;align-items:center;gap:14px;justify-content:flex-end;flex-wrap:wrap}
.tr-mob{display:none}
.tr.cancelled .tr-n{text-decoration:line-through;text-decoration-thickness:1px;color:var(--muted)}
.tr.gone .tr-s{color:var(--muted);font-weight:500}
.tr-ph{display:inline-flex;align-items:center;gap:10px}
.tr-ph .small{max-width:96px;line-height:1.3}
.thumb{width:44px;height:44px}
.tr>.xbox,.tr>.move-box{grid-column:1/-1;margin:12px -20px -16px;padding:20px 20px 22px 116px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--bg) 70%,var(--surface));border-radius:0 0 var(--r-l) var(--r-l)}
.dcard>.tr:not(:last-child)>.xbox,.dcard>.tr:not(:last-child)>.move-box{border-radius:0}
.xbox{display:flex;flex-direction:column;gap:12px}
.xbox h3{font-size:var(--t-lead);line-height:var(--lh-lead)}
.xbox h3:focus{outline:none}
.xbox p{margin-top:-8px}
.xgrid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px 28px}
.xcol{display:flex;flex-direction:column;gap:12px}
.move-info{margin-top:4px}
.nowl{position:relative;height:0;border-top:2px solid var(--lit);margin:0 20px;z-index:1}
.nowl span{position:absolute;left:-4px;top:-11px;background:var(--lit);color:#141820;font-size:var(--t-caption);line-height:20px;font-weight:600;font-variant-numeric:tabular-nums;padding:0 7px;border-radius:var(--r-pill)}
.t-all{margin:-16px 0 32px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dg-note{margin:-6px 0 14px;max-width:70ch}
.dg-h2{margin:18px 0 8px}.dg-h2 h3{font-size:var(--t-body)}
.ob{border-color:var(--line)}
.obbar{background:var(--line)}
.oblist li.ok .obcheck{color:var(--surface)}
.new-box{margin-bottom:24px}

/* Code zum Einfügen (G3): bricht um, «Kopieren» im Kasten */
.code-row{position:relative}

/* Handy */
@media (max-width:760px){
  body.adm main.wrap,body.adm .foot{margin-left:0}
  body.adm .foot{padding:20px 16px 104px;margin-left:0}
  .side{display:none}
  .mtop{display:flex;align-items:center;gap:6px;position:sticky;top:0;z-index:30;background:var(--surface);border-bottom:1px solid var(--line);padding:8px 8px 8px 16px}
  .mtop-n{flex:1;min-width:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:6px}
  .mtop .ibtn{width:44px;height:44px}
  .mbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--surface);border-top:1px solid var(--line);padding:4px 4px max(4px,env(safe-area-inset-bottom,0px))}
  .mb{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;border:0;background:none;color:var(--muted);font:inherit;font-size:var(--t-caption);font-weight:500;cursor:pointer;border-radius:var(--r)}
  .mb.on{color:var(--fg);font-weight:600}
  .mb-i{position:relative;display:grid;place-items:center}
  .mb-i .ico{width:22px;height:22px}
  .mb-i .cnt{position:absolute;top:-6px;right:-12px;min-width:18px;height:18px;font-size:var(--t-caption)}
  .m-sheet{position:absolute;right:8px;bottom:calc(100% + 8px);min-width:250px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow-2);padding:8px;display:flex;flex-direction:column;gap:2px}
  .m-sheet .nv{min-height:44px;font-size:var(--t-body)}
  .adm-main{padding:20px 16px 112px}
  body.has-savebar .adm-main{padding-bottom:180px}
  .savebar-fix{left:12px;right:12px;bottom:76px;padding:8px 8px 8px 16px}
  .ah h1,.t-tit h1{font-size:28px;line-height:34px}
  .t-head{margin-bottom:20px}
  .t-act #lb-copy,.t-act #nb-open{display:none}
  .t-head{flex-wrap:nowrap}
  .t-stats{column-gap:14px}
  .t-stats span+span::before{display:none}
  .t-act{padding-top:0}
  .t-stats{margin-top:6px}
  .wgrid{grid-template-columns:1fr}
  .w-act .btn{flex:1}
  .w-c{margin-left:0;width:100%}
  .tr{grid-template-columns:52px minmax(0,1fr) auto;padding:12px 8px 12px 16px;gap:2px 12px}
  .tr-c,.tr-desk,.tr-ph .small{display:none}
  .tr-mob{display:flex;gap:4px 12px;flex-wrap:wrap}
  .tr-mob:empty{display:none}
  .tr-side{gap:8px}
  .tr>.xbox,.tr>.move-box{margin:12px -8px -12px -16px;padding:16px}
  .xgrid{grid-template-columns:1fr}
  .nowl{margin:0 8px 0 16px}
  .dg-h h2{font-size:var(--t-lead)}
  .mn-list{min-width:240px}
}
/* Gross genug für Finger (M10) */
@media (pointer:coarse){
  .btn,.btn.sm,.mn-i,.nv,.chip,.seg button,.subtabs button,.navlink,.style-opt,.obitem,.toast-x{min-height:44px}
  .ibtn{width:44px;height:44px}
  .linkbtn{min-height:44px;display:inline-flex;align-items:center}
  p .linkbtn,.small .linkbtn,li .linkbtn,.check .linkbtn{min-height:0;display:inline}
  .opfoot a,.ui-lang a,.foot a{display:inline-flex;align-items:center;min-height:44px}
  select,input[type=text],input[type=email],input[type=tel],input[type=date],input[type=time],input[type=password]{min-height:44px}
  .sw{width:44px;height:44px}
  .thumb{width:44px;height:44px}
}

/* Buchungsseite (H4, H5, G10, M11) */
.zf-buchung header.top .wrap{padding-block:12px;flex-wrap:nowrap}
.zf-buchung a.brand{display:flex;align-items:center;gap:12px;min-width:0}
.zf-buchung .brand .ini{width:40px;height:40px;border-radius:10px;font-size:14px}
.brand-t{display:flex;flex-direction:column;min-width:0}
.brand-t .brand-name{font-size:var(--t-body);line-height:1.3;letter-spacing:-.01em}
.brand-t .small{line-height:1.3}
.hd-addr{display:inline-flex;align-items:center;gap:8px;text-align:right}
.hd-addr .ico{width:18px;height:18px}
.zf-buchung main{padding-top:40px}
.bk .intro{margin-bottom:28px;gap:8px}
.bk .intro h1{font-size:var(--t-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2)}
.bk .intro .lead{color:var(--muted);font-size:var(--t-body)}
.bk .grid{grid-template-columns:minmax(0,1fr) 300px;gap:40px}
@media (max-width:860px){.bk .grid{grid-template-columns:minmax(0,1fr)}}
.bk .steps{gap:36px}
.bk .step{gap:12px}
.step-head h2{font-size:var(--t-h3)}
.num{background:var(--accent);color:var(--on-accent);font-family:var(--f-body);font-weight:600;font-size:13px;width:24px;height:24px}
.num.off{background:transparent;color:var(--fg);box-shadow:inset 0 0 0 1.5px var(--fg)}
.services{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.svc{padding:16px 18px;gap:4px;border-radius:var(--r-l);border-color:var(--line)}
.svc[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.svc-top{display:flex;align-items:center;gap:10px}
.svc-top .svc-name{flex:1;font-size:var(--t-body);line-height:1.35}
.svc-ico{color:var(--muted);display:inline-flex}.svc-ico .ico{width:18px;height:18px}
.svc-meta-r{display:none}
.svc .svc-meta,.svc .svc-d,.svc .photo-hint,.svc .svc-places{padding-left:28px}
.rd{flex:none;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line-strong);background:var(--surface);display:grid;place-items:center}
.svc[aria-pressed="true"] .rd{border-color:var(--accent)}
.svc[aria-pressed="true"] .rd::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
.tcard{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow-1)}
.tcard .cal-wrap{background:transparent;border:0;box-shadow:none;border-radius:0;padding:20px;max-width:none;border-right:1px solid var(--line)}
.tpane{padding:20px 24px;display:flex;flex-direction:column;gap:14px;min-width:0}
.tp-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.tp-h h3{font-size:var(--t-lead)}
.cal-head b{font-size:var(--t-body)}
.cal{gap:4px 2px}
.cw{text-transform:none;letter-spacing:0;font-size:var(--t-caption)}
.cd{height:40px;width:40px;justify-self:center;border-radius:50%;background:transparent;font-weight:600}
.cd i{bottom:3px;width:4px;height:4px;margin-left:-2px;background:var(--fg)}
.cd.td{box-shadow:inset 0 0 0 1.5px var(--line-strong)}
.cd:hover:not(:disabled){border-color:var(--line-strong)}
.cd:disabled{opacity:1;color:var(--muted);font-weight:400}
.cd[aria-pressed="true"]{background:var(--accent);color:var(--on-accent);box-shadow:none}
.cal-nav{border-radius:50%;background:var(--btn2)}
.cal-nav:disabled{opacity:.4;cursor:default}
.cal-note:empty{display:none}
.slots{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}
.slot{font-size:var(--t-body);padding:9px 6px}
.early{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:6px 14px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);color:var(--fg);font:inherit;font-size:var(--t-small);font-weight:500;cursor:pointer}
.early:hover{border-color:var(--line-strong)}
.early-dot{width:8px;height:8px;border-radius:50%;background:var(--lit)}
.early .ico{width:16px;height:16px}
.fcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:24px;box-shadow:var(--shadow-1)}
.fcard form.fields{gap:16px}
.field.adds{flex-direction:row;display:flex;gap:10px;align-self:end}
.addbtn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--h-m);border:1px dashed var(--line-strong);border-radius:var(--r);background:transparent;color:var(--fg);font:inherit;font-weight:500;cursor:pointer;padding:8px 12px}
.addbtn:hover{background:var(--sunk)}
.addbtn .ico{width:18px;height:18px}
.mailfix{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:6px;padding:6px 12px;border:1px solid var(--line);border-radius:var(--r-pill);font-size:var(--t-small)}
.book-row{display:flex;flex-direction:column;gap:10px}
.book-row .book-btn{width:100%}
.book-note{text-align:center}
.btn.book-btn{min-height:var(--h-l)}
aside.summary{gap:16px;padding:22px}
@media (min-width:861px){aside.summary{margin-top:0;top:24px}}
.sum-svc{display:flex;flex-direction:column;gap:2px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.sum-svc b{font-size:var(--t-lead);line-height:var(--lh-lead)}
dl.sum{margin:0;display:flex;flex-direction:column;gap:2px;padding-bottom:16px;border-bottom:1px solid var(--line)}
dl.sum dt{font-size:var(--t-caption);color:var(--muted);margin-top:10px}
dl.sum dt:first-child{margin-top:0}
dl.sum dd{margin:0;font-weight:500;font-variant-numeric:tabular-nums}
dl.sum dd .muted{font-weight:400}
.priv{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:var(--t-small);line-height:var(--lh-small);color:var(--muted)}
.priv li{display:flex;gap:10px;align-items:flex-start}
.priv .ico{width:16px;height:16px;margin-top:2px;color:var(--muted)}
/* Bestätigung (M11) */
.bk-done{max-width:560px;display:flex;flex-direction:column;gap:18px}
.bk-done h1{font-size:var(--t-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2)}
.bk-done h1:focus{outline:none}
.done-mk{align-self:flex-start;background:var(--ok-soft);padding:4px 12px;border-radius:var(--r-pill);font-weight:500}
.done-mk.mk-lit{background:var(--lit-soft)}
.tk{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow-1)}
.tk-top{display:flex;gap:18px;align-items:center;padding:20px}
.tk-t{display:flex;flex-direction:column;gap:2px}
.tk-time{font-size:var(--t-h3);line-height:var(--lh-h3);font-weight:600;font-variant-numeric:tabular-nums}
.tk-bot{display:flex;gap:12px;align-items:flex-start;padding:16px 20px;border-top:1px dashed var(--line)}
.tk-bot>span{display:flex;flex-direction:column}
.tk-bot .ico{width:20px;height:20px;margin-top:2px;color:var(--muted)}
.dtile{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:52px;height:56px;border-radius:var(--r);background:var(--sunk);line-height:1.1}
.dtile span{font-size:var(--t-caption);color:var(--muted)}
.dtile b{font-size:22px;font-variant-numeric:tabular-nums}
.dtile.lg{width:76px;height:84px}
.dtile.lg b{font-size:34px;line-height:1.1}
.addcal{background:none;padding:0;gap:8px}
.addcal-b{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.addcal-b .btn,a.btn{display:inline-flex}
.bk-two .svc>*{grid-column:auto}
.nt-info{flex-direction:row;gap:10px;align-items:flex-start;margin:0}
.nt-info .ico{width:18px;height:18px;flex:none;margin-top:1px;color:var(--muted)}
.done-act{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}
/* Handy: zwei Schritte */
.lbl{font-size:var(--t-small);line-height:var(--lh-small);font-weight:500;color:var(--muted)}
.lbl-row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.intro-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.bk-two .bk .intro h1{font-size:24px;line-height:30px}
.bk-two .bk .intro{margin-bottom:16px}
.bk-two .bk .steps{gap:20px}
.bk-two .services{display:flex;flex-direction:column;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden}
.bk-two .svc{display:flex;flex-direction:column;align-items:stretch;border:0;border-radius:0;box-shadow:none;border-top:1px solid var(--line);padding:12px 16px;min-height:52px;justify-content:center}
.bk-two .svc:first-child{border-top:0}
.bk-two .svc[aria-pressed="true"]{background:var(--sunk);box-shadow:none}
.bk-two .svc-meta-r{display:inline}
.bk-two .svc .svc-meta,.bk-two .svc-ico{display:none}
.bk-two .svc:not([aria-pressed="true"]) .svc-d,.bk-two .svc:not([aria-pressed="true"]) .photo-hint,.bk-two .svc:not([aria-pressed="true"]) .svc-places{display:none}
.bk-two .svc-top .svc-name{font-weight:600}
.wkstrip{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:2px 16px 4px;scroll-snap-type:x proximity}
.wkstrip::-webkit-scrollbar{display:none}
.wk{flex:none;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:46px;min-height:64px;border:1px solid transparent;border-radius:12px;background:var(--surface);color:var(--fg);font:inherit;cursor:pointer;padding:6px 0;position:relative}
.wk span{font-size:var(--t-caption);color:var(--muted)}
.wk b{font-size:var(--t-lead);font-variant-numeric:tabular-nums}
.wk i{width:4px;height:4px;border-radius:50%;background:var(--fg);margin-top:2px}
.wk i.no{background:transparent}
.wk:disabled{background:transparent;color:var(--muted);cursor:default}
.wk:disabled b{font-weight:400}
.wk.td{border-color:var(--line-strong)}
.wk[aria-pressed="true"]{background:var(--accent);color:var(--on-accent)}
.wk[aria-pressed="true"] span{color:var(--on-accent);opacity:.85}
.wk[aria-pressed="true"] i{background:var(--on-accent)}
.wk-nav{background:var(--btn2)}
.wk-empty{align-self:center;padding:0 8px}
.bk-two .tpane{padding:12px 0 0}
.bk-two .slots{grid-template-columns:repeat(4,minmax(0,1fr))}
.bk-two .cal-wrap{max-width:none}
.bbar{display:flex;align-items:center;gap:12px;justify-content:space-between;background:var(--surface);border-top:1px solid var(--line);padding:12px 16px max(12px,env(safe-area-inset-bottom,0px))}
.bk-fix .bbar{position:fixed;left:0;right:0;bottom:0;z-index:30;box-shadow:0 -6px 18px rgba(20,24,32,.06)}
.bbar-static{margin:24px -16px 0;border:1px solid var(--line);border-radius:var(--r-l)}
.bb-t{display:flex;flex-direction:column;min-width:0}
.bb-t b{font-variant-numeric:tabular-nums}
.bb-t .small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bbar .btn{flex:none;min-width:118px}
.bbar .btn .ico{width:16px;height:16px}
.bbar-book{flex-direction:column;align-items:stretch;gap:6px}
.bbar-book .book-btn{width:100%}
.bk-fix main{padding-bottom:120px}
.bk-fix .foot{padding-bottom:140px}
.s2-head{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:8px;margin:-8px 0 16px}
.s2-head h1{font-size:var(--t-lead);line-height:var(--lh-lead);text-align:center}
.s2-head h1:focus{outline:none}
.s2-head .ibtn{width:44px;height:44px}
.s2-sum{display:flex;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:12px 14px;margin-bottom:20px}
.s2-t{flex:1;display:flex;flex-direction:column;min-width:0}
.bk-s2 form.fields{grid-template-columns:1fr;gap:16px}
@media (max-width:860px){.tcard{grid-template-columns:1fr}.tcard .cal-wrap{border-right:0;border-bottom:1px solid var(--line)}}
@media (max-width:640px){
  .zf-buchung main{padding-top:20px}
  .hd-addr{display:none}
  .adds{align-self:auto}
  .bk-done{gap:16px}
  .bk-done h1{font-size:26px;line-height:32px}
}
@media (pointer:coarse){.cal-nav,.ibtn.cal-nav{width:44px;height:44px}.cd{width:44px;height:44px}.early{min-height:44px}.svc{min-height:52px}}

/* Öffnungszeiten als Chips (M8) */
.hours{gap:0}
.hrow{display:grid;grid-template-columns:200px minmax(0,1fr);gap:8px 16px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.hrow:last-of-type{border-bottom:0}
.tgl{display:inline-flex;align-items:center;gap:14px;cursor:pointer;min-height:44px;position:relative;font-weight:500;font-size:var(--t-body)}
.tgl input{position:absolute;opacity:0;width:44px;height:28px;margin:0;left:0;cursor:pointer}
.tgl-r input{left:auto;right:0}
.tgl-t{flex:none;width:44px;height:26px;border-radius:var(--r-pill);background:var(--line);position:relative;transition:background .15s}
.tgl-t::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .15s}
.tgl input:checked~.tgl-t{background:var(--accent)}
.tgl input:checked~.tgl-t::after{transform:translateX(18px)}
.tgl input:focus-visible~.tgl-t{outline:2px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 6px var(--focus-halo)}
.tgl-r{display:flex;justify-content:space-between;width:100%;gap:16px;font-weight:400}
.hrow.off .hname{color:var(--muted)}
.hwins{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.hw{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.hchip{min-height:36px;padding:6px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--sunk);color:var(--fg);font:inherit;font-size:var(--t-small);font-weight:500;font-variant-numeric:tabular-nums;cursor:pointer}
.hchip[aria-expanded="true"]{border-color:var(--fg);background:var(--surface)}
.hedit{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:8px}
.hedit select{width:auto;min-width:96px}
.hadd{display:inline-grid;place-items:center;width:36px;height:36px;border:1px dashed var(--line-strong);border-radius:var(--r);background:transparent;color:var(--fg);cursor:pointer}
.hadd .ico{width:18px;height:18px}
.hclosed{display:none}
.hrow.off .hw,.hrow.off .hadd{display:none}
.hrow.off .hclosed{display:inline}
.hfoot{padding-top:12px;border-top:1px solid var(--line)}
.hcopy{display:inline-flex;gap:8px;align-items:center;text-decoration:none;font-weight:500}
.hcopy .ico{width:16px;height:16px}
@media (max-width:640px){.hrow{grid-template-columns:1fr}}
@media (pointer:coarse){.hchip,.hadd{min-height:44px;min-width:44px}.hadd{height:44px;width:44px}}

/* Design mit Vorschau (M9) */
.dgrid{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:28px;align-items:start}
.dcol{display:flex;flex-direction:column;gap:16px}
.pv{position:sticky;top:24px;display:flex;flex-direction:column;gap:12px;min-width:0}
.pv-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pv-h h3{flex:1;font-size:var(--t-body)}
.pv-stage{background:var(--sunk);border-radius:var(--r-l);padding:24px 12px;display:flex;justify-content:center;overflow:hidden;min-height:200px}
.pv-frame{overflow:hidden;border-radius:12px;background:#fff;box-shadow:var(--shadow-2)}
.pv-stage.handy .pv-frame{border:10px solid #141820;border-radius:36px}
.pv-frame iframe{border:0;display:block;transform-origin:0 0;background:#fff}
.pv-note{text-align:center}
.swatches .sw{width:36px;height:36px}
.sw.on{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--fg)}
.color-row input[type=text]{width:120px}
.logo-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.logo-row .logo-box{flex:1;min-width:160px}
.style-list{display:flex;flex-direction:column}
.style-list .style-opt{display:grid;grid-template-columns:18px 44px minmax(0,1fr);align-items:center;gap:12px;border:0;border-top:1px solid var(--line);border-radius:0;padding:10px 0;box-shadow:none;background:none}
.style-list .style-opt:first-child{border-top:0}
.style-list .style-opt[aria-pressed="true"]{box-shadow:none}
.style-list .style-opt[aria-checked="true"] .rd{border-color:var(--accent)}
.style-list .style-opt[aria-checked="true"] .rd::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
.so-t{display:flex;flex-direction:column}
@media (max-width:1100px){.dgrid{grid-template-columns:1fr}.pv{position:static}}
.pv-frame{box-sizing:content-box}
.hw:has(>.hedit:not([hidden])){flex-basis:100%}
@media (pointer:coarse){.opfoot a,.ui-lang a{min-width:44px;justify-content:center}.zf-buchung a.brand{min-height:44px}}
.subtabs-in{margin-bottom:4px}
.svc-sum-edit::before{content:none}
.svc-sum-edit{text-decoration:none;display:inline-flex;align-items:center;gap:6px;color:var(--fg);font-weight:500}
.svc-sum-edit::after{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat}
@media (max-width:760px){.t-stats{column-gap:14px}}
.mb>span:not(.mb-i){white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
@media (forced-colors:active){
  .wk[aria-pressed="true"],.nv.on,.mb.on,.hchip[aria-expanded="true"],.style-opt[aria-checked="true"],.svc[aria-pressed="true"]{forced-color-adjust:none;background:Highlight;color:HighlightText;border-color:Highlight}
  .mk::before,.lit-n,.cnt,.nowl,.nowl span,.early-dot,.sb-dot{forced-color-adjust:none;background:CanvasText;color:Canvas}
  .tgl-t{border:1px solid CanvasText}.tgl input:checked~.tgl-t{background:Highlight}
  .mn-list{border:1px solid CanvasText}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
.tz-line{margin:-4px 0 0}
.early{justify-content:flex-start;text-align:left}
/* 44-4: E-Mails als eigener Bereich */
.nt-warn{display:flex;flex-direction:row;gap:10px;align-items:flex-start;background:var(--warn-soft);color:var(--fg);border-radius:10px;padding:10px 14px;margin:0 0 14px}
.nt-warn .ico{width:18px;height:18px;flex:none;margin-top:2px;color:var(--warn)}
.nt-warn[hidden]{display:none}
.panel > .nt-info{margin:0 0 14px}
.pv-row{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.seg-sm{padding:3px}.seg-sm button{padding:4px 12px;font-size:.875rem}
@media (pointer:coarse){.seg-sm button{min-height:44px}}
/* 44-6: Liste der E-Mails */
.mlist{list-style:none;margin:12px 0 4px;padding:0;display:flex;flex-direction:column;gap:6px}
.mrow{width:100%;display:flex;align-items:center;gap:14px;text-align:left;font:inherit;color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 16px;cursor:pointer;min-height:56px}
.mrow:hover{border-color:var(--line-strong)}
.mrow.on{border-color:var(--fg);background:var(--sunk)}
.mrow.on .mrow-i{background:var(--surface)}
.mrow:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.mrow-i{flex:none;width:36px;height:36px;border-radius:50%;background:var(--sunk);display:grid;place-items:center}
.mrow-i .ico{width:18px;height:18px}
.mrow-t{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.mrow-off{color:var(--muted);font-style:italic}
.mrow-e{flex:none;font-size:var(--t-small);color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.mrow.on .mrow-e{text-decoration:none;color:var(--fg);font-weight:600}
.madd{display:inline-flex;align-items:center;gap:6px;margin:6px 0 14px;min-height:44px}
.madd .ico{width:16px;height:16px}
.mwhen{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:4px}
.medit h3:focus{outline:none}
@media (max-width:560px){.mrow{padding:10px 12px;gap:10px}.mrow-e{display:none}}
/* v45: Buchungsseite mit mehreren Angeboten und Orten kompakt */
.bk .services{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.place-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;max-width:none}
.place{align-items:center;padding:8px 12px;min-height:48px}
.place input{margin:0}
.place .ico-box{width:28px;height:28px}
.place .ico-box svg{width:16px;height:16px}
.place-pick legend{margin-bottom:6px}
.place-hint{margin:2px 0 0}
@media (max-width:560px){
  .place-opts{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px}
  .place{min-height:44px;padding:6px 12px}
  .bk .place-pick{margin-bottom:-14px}
  .bk.has-pp .svc[aria-pressed="true"] .svc-places{display:none} /* die Orte stehen gleich darunter */
}
/* v45: Orte auf einer Linie, Hinweis und E-Mail-Text als Textfelder, «Entfernen» mit Rückfrage */
.pl-row{grid-template-columns:32px 160px minmax(0,1fr) minmax(0,1.4fr);align-items:start;gap:10px 12px;padding:14px 0}
.pl-row .ico-box{align-self:start;margin-top:28px}
.pl-row p.pl-d{margin:30px 0 0}
.pl-row .pl-h,.pl-row .pl-m{grid-column:2/-1}
.pl-row textarea{width:100%;resize:vertical;min-height:0}
.pl-row .pl-act{grid-column:2/-1;justify-self:end;align-items:center;gap:8px}
.danger-t{color:var(--danger);text-decoration:underline;text-underline-offset:3px;min-height:44px;padding:0 6px}
.pl-ask{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}
@media (max-width:760px){.pl-row{grid-template-columns:32px minmax(0,1fr)}.pl-row>*:not(.ico-box){grid-column:2}.pl-row .ico-box{margin-top:28px}.pl-row .pl-act{justify-self:start}}
.upd-err{display:flex;gap:8px;align-items:flex-start;color:var(--muted)}
.upd-err .ico{width:16px;height:16px;flex:none;margin-top:2px;color:var(--warn)}
/* v45: Angebot bearbeiten */
.svc-grid .icon-pick{grid-column:1/-1}
.icon-opts{flex-wrap:nowrap;overflow-x:auto;padding:3px}
details.more>summary{justify-content:flex-start;gap:8px}
.svc-sum-edit .se-o{display:none}
details[open]>.svc-sum .svc-sum-edit{visibility:visible}
details[open]>.svc-sum .svc-sum-edit .se-c{display:none}
details[open]>.svc-sum .svc-sum-edit .se-o{display:inline}
details[open]>.svc-sum .svc-sum-edit::before{content:none}
.tr-langs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row dense;gap:8px}
.svc-tr .tr-langs .tr-lang{border:1px solid var(--line-strong);border-radius:10px;padding:0}
.svc-tr .tr-langs .tr-lang>summary{padding:10px 12px;min-height:44px;display:flex;align-items:center}
.svc-tr .tr-langs .tr-lang[open]{grid-column:1/-1}
.svc-tr .tr-langs .tr-lang[open]>.svc-grid{padding:0 12px 12px}
@media (max-width:560px){.tr-langs{grid-template-columns:1fr}}
/* v45: «Gehostet in der Schweiz» am Computer nur in der Seitenleiste */
@media (min-width:761px){body.adm .foot .origin{display:none}}
/* v45: Einbinden, Aufklapper einheitlich */
.svc-links>summary{color:var(--fg)}
/* v45: Orte als Liste (Zielbild 34-orte-nachher) */
.pl-card{padding:0;gap:0;overflow:visible}
.pl-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:20px 24px;border-bottom:1px solid var(--line)}
.pl-head-t{display:flex;flex-direction:column;gap:4px;max-width:560px}
.pl-head h3{margin:0}.pl-head p{margin:0}
.pl-pre{flex:none;width:260px;margin:0}
.pl-list{list-style:none;margin:0;padding:0}
.pl-item{border-bottom:1px solid var(--line)}
.pl-sum{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 20px 14px 24px}
.pl-ico{width:36px;height:36px;border-radius:10px;background:var(--sunk);color:var(--muted);display:grid;place-items:center}
.pl-ico .ico{width:20px;height:20px}
.pl-sum-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.pl-sum-t .small{overflow-wrap:anywhere}
.pl-sum-n{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pl-tg{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 10px;border:0;border-radius:10px;background:none;color:var(--fg);font:inherit;font-size:var(--t-small);font-weight:500;cursor:pointer}
.pl-tg:hover{background:var(--sunk)}
.pl-tg:focus-visible{outline:2px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 6px var(--focus-halo,transparent)}
.pl-tg .ico{width:16px;height:16px;transition:transform .15s}
.pl-tg[aria-expanded="true"] .ico{transform:rotate(180deg)}
.pl-body{border-top:1px solid var(--line);background:var(--bg);padding:22px 24px 22px 76px;display:flex;flex-direction:column;gap:18px}
.pl-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 24px;max-width:760px;align-items:start}
.pl-grid .field{margin:0}
.pl-grid .full{grid-column:1/-1}
.pl-grid textarea{width:100%;resize:vertical}
.pl-help{margin:0;align-self:end;padding-bottom:4px}
.pl-zs{margin:0;min-height:44px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pl-cnt{align-self:flex-end}
.pl-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;max-width:760px;border-top:1px solid var(--line);padding-top:14px}
.pl-mv{display:flex;gap:8px;flex-wrap:wrap}
.pl-mv .btn{display:inline-flex;align-items:center;gap:6px}
.pl-mv .ico{width:16px;height:16px}
.pl-mv .btn:first-child .ico{transform:rotate(180deg)}
.pl-add{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 24px}
.pl-addb{display:inline-flex;align-items:center;gap:8px}
.pl-addb .ico{width:18px;height:18px}
.pl-addl{left:0;right:auto;min-width:220px}
.pl-save{padding:0 24px 20px}
@media (max-width:760px){
  .pl-head{flex-direction:column;align-items:stretch;padding:16px}
  .pl-pre{width:auto}
  .pl-sum{grid-template-columns:32px minmax(0,1fr) auto;gap:12px;padding:12px 12px 12px 16px}
  .pl-ico{width:32px;height:32px}
  .pl-body{padding:16px}
  .pl-grid{grid-template-columns:minmax(0,1fr)}
  .pl-help{padding:0;margin-top:-10px}
  .pl-add,.pl-save{padding-left:16px;padding-right:16px}
  .pl-tg>span:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
}
.pl-grid .field>.lbl{color:var(--fg)}
/* v45: Zusatz je nach Ort im E-Mail-Editor */
.mpl{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px;padding:10px 14px;background:var(--sunk);border-radius:10px}
.mx{border-left:3px solid var(--line-strong);padding-left:12px}
.mx textarea{width:100%}
/* v45-3: Zusatz je Ort als eigene Felder, Vorschau-Umschalter als deutliche Knöpfe */
.mx label{display:flex;align-items:center;gap:8px}
.mx-i{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:6px;background:var(--sunk);color:var(--muted)}
.mx-i .ico{width:14px;height:14px}
.mx.cur{border-left-color:var(--fg)}
.pv-row{align-items:center}
.pv-pick{display:inline-flex;gap:6px;flex-wrap:wrap}
.pv-pick button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:4px 12px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--fg);font:inherit;font-size:var(--t-small);cursor:pointer}
.pv-pick button .ico{width:14px;height:14px;color:var(--muted)}
.pv-pick button:hover{border-color:var(--fg)}
.pv-pick button.on{background:var(--fg);border-color:var(--fg);color:var(--bg)}
.pv-pick button.on .ico{color:var(--bg)}
.pv-pick button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
@media (pointer:coarse){.pv-pick button{min-height:44px}}
/* v46: Funktionen */
.mod-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column}
.mod{border-top:1px solid var(--line);padding:14px 0}
.mod-t{display:flex;align-items:flex-start;gap:16px;justify-content:space-between;width:100%}
.mod-tx{display:flex;flex-direction:column;gap:2px;max-width:620px}
.mod-n{margin:6px 0 0;color:var(--muted)}
.mod-n:empty{display:none}
.mod-hint{margin:0 0 10px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
/* v46: Zeitzone */
.tz-row .field{display:flex;flex-direction:column;gap:6px}
.tz-q{margin-bottom:2px}
.tz-dev{margin:0 0 14px}
.hmerge{margin-left:4px;min-height:44px}
/* v46: Logo und Name führen zu den Terminen */
a.side-logo{display:block;text-decoration:none;border-radius:10px;align-self:flex-start}
a.side-logo:focus-visible,.mtop-home:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.mtop-home{display:flex;align-items:center;gap:6px;flex:1;min-width:0;color:inherit;text-decoration:none;min-height:44px}
.mfor{border:0;padding:0;margin:0;display:flex;align-items:center;gap:4px 14px;flex-wrap:wrap;flex-basis:100%}
.mfor legend{float:left;margin-right:8px;color:var(--muted)}
/* v46: Zeiträume mit anderer Zeitzone */
.trips{display:flex;flex-direction:column;gap:10px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.trips h4{margin:0;font-size:var(--t-body)}
.trips p{margin:0}
.tr-list{display:flex;flex-direction:column;gap:10px}
.trrow{display:grid;grid-template-columns:160px 160px minmax(200px,1fr) auto;gap:6px 12px;align-items:end}
.trrow .field{margin:0}
.trrow .tr-info{grid-column:1/-1}
.trips .btn .ico{width:16px;height:16px}
.trips .btn{display:inline-flex;align-items:center;gap:6px}
@media (max-width:760px){.trrow{grid-template-columns:1fr 1fr}.trrow .tr-z{grid-column:1/-1}}
/* v46: Kontenliste zugeklappt */
.acc-fold>summary{cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:500;list-style:none}
.acc-fold>summary::-webkit-details-marker{display:none}
.acc-fold>summary:focus-visible{outline:2px solid var(--focus,currentColor);outline-offset:2px;border-radius:4px}
.acc-fold>p{margin:0 0 12px}
/* v46: Gruss am Schluss, Erinnerung löschen */
.msign{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 16px;max-width:760px}
@media (max-width:760px){.msign{grid-template-columns:1fr}}
.mfoot{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}
.medit-h{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.medit-h h3{margin:0}
.mdel{display:inline-flex;align-items:center;gap:6px;color:var(--danger)}
.mdel .ico{width:16px;height:16px}
/* v46: Fusszeile der Buchungsseite mit Zytfenster-Etikett */
.cfoot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-top:48px;padding-top:20px;border-top:1px solid var(--line)}
.cfoot-plain{justify-content:flex-start}
.zf-badge{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 14px 6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);text-decoration:none;font-size:var(--t-caption);line-height:1.2;transition:border-color .15s,box-shadow .15s}
.zf-badge:hover{border-color:var(--line-strong);box-shadow:0 1px 3px rgba(20,30,50,.08)}
.zf-badge:focus-visible{outline:2px solid var(--accent,#1c2a44);outline-offset:2px}
.zf-badge-m{display:inline-flex;align-items:center;gap:6px;color:var(--zf-ink)}
.zf-badge-m svg{width:18px;height:18px;flex:none;display:block}
.zf-badge-m .t{fill:var(--zf-ink)}.zf-badge-m .p{fill:var(--zf-ground)}.zf-badge-m .l{fill:var(--zf-lit)}
.zf-badge-m b{font-family:var(--f-display);font-weight:600;font-size:.98rem;letter-spacing:-.025em;padding-bottom:1px}
.cf-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px;color:var(--muted)}
.cf-ch{display:inline-flex;align-items:center;gap:8px}
.cf-ch svg{width:14px;height:14px;flex:none}
.cf-links{display:inline-flex;gap:16px}
.cf-links a{color:var(--muted);text-underline-offset:3px}
.cf-links a:hover{color:var(--fg)}
@media (max-width:760px){.cfoot{flex-direction:column;align-items:flex-start;gap:12px;margin-top:32px}}
.zf-badge-demo{margin:4px 0 14px}
.zf-badge-demo .zf-badge{cursor:default}
.zf-badge-demo .zf-badge:hover{box-shadow:none;border-color:var(--line)}
/* v46: Sprachen einzeln */
.mod-langs{border:0;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 20px}
.mod-langs legend{padding:0;margin-bottom:4px;color:var(--muted);width:100%}
/* v46: Zeitfelder in den Öffnungszeiten */
.hedit .htime{width:auto;min-width:108px;font-variant-numeric:tabular-nums}
