/* Personal Trainer: Kraftraum Jan Behrens, Akzent Dunkelgrün #2F6B4F.
   Hell = was der Kunde sieht (Aufbau und Maße wie die Talqio-Buchungsseite buchen.css), dunkel = Jans Dashboard (konto.css, dash.css). {n} = n Einheiten der Kartenbreite */

.zpt-hero,.zpt-b2,.zpt-b3{--k:#2F6B4F}
.zpt-hero svg,.zpt-b1 svg,.zpt-b2 svg,.zpt-b3 svg{display:block;flex:none}
.zpt-logo{display:flex;align-items:center;gap:calc(9 * var(--e))}
.zpt-logo svg{width:calc(30 * var(--e));height:calc(30 * var(--e))}
.zpt-logo b{display:block;font:700 calc(14.5 * var(--e))/1.1 var(--display);letter-spacing:-.01em;color:#0B0B0C}
.zpt-logo small{display:block;margin-top:calc(2 * var(--e));font-size:calc(11.5 * var(--e));line-height:1.1;color:#5F5D58}
.zpt-btn{display:grid;place-items:center;height:calc(50 * var(--e));border-radius:999px;background:var(--k);font-size:calc(15.5 * var(--e));font-weight:600;color:#fff;transition:transform .14s ease,opacity .25s ease,filter .2s}
.zpt-btn.g{background:transparent;color:#0B0B0C;box-shadow:inset 0 0 0 1px rgba(11,11,12,.14)}
.zpt-btn.druck{transform:scale(.96);filter:brightness(1.12)}

/* ---------- HERO: Kundenkonto am Handy (390 × 844): 10er-Karte oben, darunter das nächste Training buchen ---------- */
.zpt-hero{background:#F4F3F0;color:#2B2A28;font-size:calc(15 * var(--e))}
.zpt-kopf{position:absolute;left:0;right:0;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;height:calc(110 * var(--e));padding:calc(54 * var(--e)) calc(18 * var(--e)) 0 calc(20 * var(--e));background:#fff;box-shadow:0 1px 0 rgba(11,11,12,.08)}
.zpt-burger{position:relative;display:block;width:calc(42 * var(--e));height:calc(42 * var(--e));border-radius:50%;box-shadow:inset 0 0 0 1px rgba(11,11,12,.14)}
.zpt-burger i{position:absolute;left:50%;top:50%;width:calc(16 * var(--e));height:calc(1.8 * var(--e));margin:calc(-0.9 * var(--e)) 0 0 calc(-8 * var(--e));border-radius:2px;background:#0B0B0C}
.zpt-burger i:first-child{transform:translateY(calc(-3.5 * var(--e)))}
.zpt-burger i:last-child{transform:translateY(calc(3.5 * var(--e)))}
.zpt-seite{position:absolute;left:0;right:0;top:calc(110 * var(--e));bottom:0;padding:calc(20 * var(--e)) calc(14 * var(--e)) 0}
.zpt-hallo{padding:0 calc(4 * var(--e));font:700 calc(26 * var(--e))/1.1 var(--display);letter-spacing:-.02em;color:#0B0B0C}
.zpt-hsub{margin-top:calc(4 * var(--e));padding:0 calc(4 * var(--e));font-size:calc(14 * var(--e));color:#5F5D58}
.zpt-karte{position:relative;margin-top:calc(16 * var(--e));padding:calc(18 * var(--e)) calc(18 * var(--e)) calc(16 * var(--e));border-radius:calc(20 * var(--e));overflow:hidden;color:#fff;
  background:radial-gradient(120% 90% at 100% 0,#3C7F60 0%,rgba(60,127,96,0) 60%),linear-gradient(160deg,#2F6B4F 0%,#23523C 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 calc(18 * var(--e)) calc(36 * var(--e)) calc(-20 * var(--e)) rgba(35,82,60,.7)}
.zpt-kk{display:flex;align-items:baseline;justify-content:space-between;gap:calc(10 * var(--e))}
.zpt-kk b{font-size:calc(14 * var(--e));font-weight:600}
.zpt-kk span{font-size:calc(12.5 * var(--e));color:rgba(255,255,255,.7)}
.zpt-noch{display:flex;align-items:baseline;gap:calc(8 * var(--e));margin-top:calc(8 * var(--e))}
.zpt-noch span{font-size:calc(16 * var(--e));font-weight:500;color:rgba(255,255,255,.85)}
.zpt-noch b{font:700 calc(46 * var(--e))/1 var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.zpt-noch small{font-size:calc(13 * var(--e));color:rgba(255,255,255,.7)}
.zpt-felder{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:calc(6 * var(--e));margin-top:calc(14 * var(--e))}
.zpt-felder i{position:relative;height:calc(28 * var(--e));border-radius:calc(8 * var(--e));box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
.zpt-felder i.weg{background:rgba(255,255,255,.16);box-shadow:none}
.zpt-felder i.weg::after{content:"";position:absolute;left:50%;top:50%;width:calc(5 * var(--e));height:calc(10 * var(--e));margin:calc(-7 * var(--e)) 0 0 calc(-2.5 * var(--e));border:solid rgba(255,255,255,.85);border-width:0 calc(2 * var(--e)) calc(2 * var(--e)) 0;transform:rotate(45deg)}
.zpt-kfu{display:flex;align-items:center;justify-content:space-between;gap:calc(8 * var(--e));margin-top:calc(14 * var(--e));font-size:calc(12.5 * var(--e));color:rgba(255,255,255,.72)}
.zpt-next{display:inline-flex;align-items:center;gap:calc(6 * var(--e));height:calc(26 * var(--e));padding:0 calc(10 * var(--e));border-radius:999px;background:rgba(255,255,255,.16);font-weight:600;color:#fff;opacity:0;transform:translateY(calc(4 * var(--e)));transition:opacity .35s ease,transform .5s var(--ease)}
.zpt-next.zeig{opacity:1;transform:none}
.zpt-next svg{width:calc(13 * var(--e));height:calc(13 * var(--e));fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.zpt-box{display:grid;margin-top:calc(14 * var(--e));padding:calc(18 * var(--e)) calc(18 * var(--e)) calc(20 * var(--e));border-radius:calc(20 * var(--e));background:#fff;box-shadow:0 0 0 1px rgba(11,11,12,.08),0 calc(24 * var(--e)) calc(44 * var(--e)) calc(-30 * var(--e)) rgba(11,11,12,.35)}
.zpt-buch,.zpt-ok{grid-area:1/1;min-width:0}
.zpt-bh{font:650 calc(18 * var(--e))/1.2 var(--display);letter-spacing:-.02em;color:#0B0B0C}
.zpt-bs{margin-top:calc(3 * var(--e));font-size:calc(13.5 * var(--e));color:#5F5D58}
.zpt-tage{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:calc(6 * var(--e));margin-top:calc(14 * var(--e))}
.zpt-tage span{display:grid;place-items:center;align-content:center;gap:calc(3 * var(--e));height:calc(62 * var(--e));border-radius:calc(12 * var(--e));background:color-mix(in srgb,var(--k) 10%,transparent);
  font:650 calc(18 * var(--e))/1 var(--body);color:#0B0B0C;font-variant-numeric:tabular-nums;transition:background .15s,color .15s}
.zpt-tage small{font-size:calc(10.5 * var(--e));font-weight:600;letter-spacing:.05em;color:#8F8D87;transition:color .15s}
.zpt-tage span.on{background:var(--k);color:#fff}
.zpt-tage span.on small{color:rgba(255,255,255,.75)}
.zpt-tag{margin:calc(16 * var(--e)) 0 calc(10 * var(--e));font-size:calc(14 * var(--e));font-weight:600;color:#0B0B0C}
.zpt-tl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(8 * var(--e));transition:opacity .2s ease}
.zpt-tl.um{opacity:0}
.zpt-tl span{display:grid;place-items:center;height:calc(44 * var(--e));border-radius:calc(12 * var(--e));font-size:calc(14.5 * var(--e));font-weight:600;color:#0B0B0C;box-shadow:inset 0 0 0 1px rgba(11,11,12,.14);transition:background .15s,color .15s,box-shadow .15s}
.zpt-tl span.on{background:var(--k);color:#fff;box-shadow:none}
.zpt-buch .zpt-btn{margin-top:calc(16 * var(--e))}
.zpt-buch .zpt-btn.aus{opacity:.4}
.zpt-buch,.zpt-ok{transition:opacity .3s ease}
.zpt-ok{opacity:0;visibility:hidden}
.zpt-box.gebucht .zpt-ok{opacity:1;visibility:visible}
.zpt-box.gebucht .zpt-buch{opacity:0;visibility:hidden}
.zpt-okc{display:grid;place-items:center;width:calc(48 * var(--e));height:calc(48 * var(--e));border-radius:50%;background:var(--k);transform:scale(.5);transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.zpt-box.gebucht .zpt-okc{transform:none}
.zpt-okc svg{width:calc(22 * var(--e));height:calc(22 * var(--e));fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.zpt-oh{margin-top:calc(14 * var(--e));font:700 calc(24 * var(--e))/1.15 var(--display);letter-spacing:-.02em;color:#0B0B0C}
.zpt-ow{margin-top:calc(8 * var(--e));font-size:calc(15 * var(--e));font-weight:600;line-height:1.4;color:#0B0B0C}
.zpt-op{margin-top:calc(2 * var(--e));font-size:calc(14 * var(--e));line-height:1.45;color:#5F5D58}
.zpt-hin{display:flex;align-items:center;gap:calc(10 * var(--e));margin-top:calc(16 * var(--e));padding:calc(12 * var(--e)) calc(13 * var(--e));border-radius:calc(14 * var(--e));background:color-mix(in srgb,var(--k) 8%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--k) 24%,transparent);
  font-size:calc(13.5 * var(--e));font-weight:600;line-height:1.35;color:#0B0B0C}
.zpt-hin svg{width:calc(20 * var(--e));height:calc(20 * var(--e));fill:none;stroke:var(--k);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.zpt-ok .zpt-btn{margin-top:calc(16 * var(--e));height:calc(46 * var(--e));font-size:calc(15 * var(--e))}
.zpt-ok>*:not(.zpt-okc){opacity:0;transform:translateY(calc(8 * var(--e)));transition:opacity .4s ease,transform .55s var(--ease)}
.zpt-box.gebucht .zpt-ok>*:not(.zpt-okc){opacity:1;transform:none}
.zpt-box.gebucht .zpt-ok>:nth-child(3){transition-delay:.08s}.zpt-box.gebucht .zpt-ok>:nth-child(4){transition-delay:.14s}.zpt-box.gebucht .zpt-ok>:nth-child(5){transition-delay:.3s}.zpt-box.gebucht .zpt-ok>:nth-child(6){transition-delay:.42s}
.zpt-vh{margin:calc(20 * var(--e)) calc(4 * var(--e)) calc(8 * var(--e));font-size:calc(13 * var(--e));font-weight:600;color:#0B0B0C}
.zpt-verl{border-radius:calc(16 * var(--e));background:#fff;box-shadow:0 0 0 1px rgba(11,11,12,.08)}
.zpt-verl p{display:flex;align-items:center;justify-content:space-between;gap:calc(10 * var(--e));padding:calc(13 * var(--e)) calc(16 * var(--e));border-top:1px solid rgba(11,11,12,.08);font-size:calc(14 * var(--e));color:#2B2A28}
.zpt-verl p:first-child{border-top:0}
.zpt-verl b{display:inline-flex;align-items:center;gap:calc(5 * var(--e));font-size:calc(13 * var(--e));font-weight:600;color:var(--k)}
.zpt-verl svg{width:calc(14 * var(--e));height:calc(14 * var(--e));fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.zpt-finger i{position:absolute;left:calc(-17 * var(--e));top:calc(-17 * var(--e));width:calc(34 * var(--e));height:calc(34 * var(--e));border-radius:50%;background:rgba(11,11,12,.2);
  box-shadow:inset 0 0 0 calc(1.5 * var(--e)) rgba(255,255,255,.8),0 calc(3 * var(--e)) calc(10 * var(--e)) rgba(11,11,12,.18);transition:transform .14s ease,background .14s ease}
.zpt-finger.tipp i{transform:scale(.8);background:rgba(11,11,12,.32)}

/* ---------- B1: Karten und Abos im Dashboard (640 Einheiten): heutige Termine links, Sarahs 10er-Karte rechts ---------- */
.zpt-b1{--e:calc(100cqw / 640);display:flex;flex-direction:column;padding:calc(20 * var(--e)) calc(22 * var(--e)) 0;background:#0B0B0C;color:#D6D4CE}
.zpt-b1 .d-head{margin-bottom:calc(6 * var(--e))}
.zpt-b1 .fn-pills span{height:calc(21 * var(--e));font-size:calc(9.5 * var(--e))}
.zpt-b1g{display:grid;grid-template-columns:minmax(0,1fr) calc(224 * var(--e));grid-template-rows:auto 1fr;gap:0 calc(14 * var(--e));align-items:start}
.zpt-heute{grid-row:1/3}
.zpt-heute .d-box{-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - calc(30 * var(--e))),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - calc(30 * var(--e))),transparent)}
.zpt-bald .d-tit{margin-top:calc(12 * var(--e))}
.zpt-bald .d-r{min-height:calc(32 * var(--e));padding-top:calc(4 * var(--e));padding-bottom:calc(4 * var(--e))}
.zpt-bald .d-rm b{font-size:calc(10.5 * var(--e))}
.zpt-rest{flex:none;font-size:calc(10 * var(--e));font-weight:600;color:#FF6A2A;font-variant-numeric:tabular-nums}
.zpt-bald .d-box>.d-auf+.d-r{border-top:0}
.zpt-bald .d-box>.d-auf.da .d-r{border-bottom:1px solid rgba(244,243,240,.09)}
.zpt-heute .d-tit{margin-top:calc(10 * var(--e))}
.zpt-heute .d-r{min-height:calc(46 * var(--e));gap:calc(11 * var(--e))}
.zpt-uhr{flex:none;width:calc(34 * var(--e));font-size:calc(10.5 * var(--e));font-weight:600;color:#A9A7A1;font-variant-numeric:tabular-nums}
.zpt-zl{font-style:normal;font-variant-numeric:tabular-nums}
.zpt-ein{display:inline-flex;align-items:center;gap:calc(4 * var(--e));flex:none;font-size:calc(9.5 * var(--e));font-weight:500;color:#A9A7A1;white-space:nowrap}
.zpt-ein svg{width:calc(11 * var(--e));height:calc(11 * var(--e));fill:none;stroke:#6FBF8E;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.zpt-wahl{display:grid;justify-items:end;flex:none}
.zpt-wahl>*{grid-area:1/1}
.zpt-sarah .zpt-ein,.zpt-sarah.fertig .zpt-ci{visibility:hidden}
.zpt-sarah.fertig .zpt-ein{visibility:visible;animation:zptPop .4s cubic-bezier(.3,1.5,.5,1)}
.zpt-sarah{transition:background .6s ease}
.zpt-sarah.frisch{background:rgba(255,72,0,.07)}
@keyframes zptPop{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:none}}
.zpt-k10{margin-top:calc(10 * var(--e));padding:calc(14 * var(--e)) calc(14 * var(--e)) calc(13 * var(--e));background:linear-gradient(180deg,#18181B,#141416)}
.zpt-k10k{display:flex;align-items:flex-start;justify-content:space-between;gap:calc(8 * var(--e))}
.zpt-k10k .d-rm b{font-size:calc(11.5 * var(--e));font-weight:600}
.zpt-nach{flex:none;opacity:0;transform:scale(.85);transition:opacity .3s ease,transform .45s cubic-bezier(.3,1.5,.5,1)}
.zpt-k10.knapp .zpt-nach{opacity:1;transform:none}
.zpt-k10n{display:flex;align-items:baseline;gap:calc(6 * var(--e));margin-top:calc(12 * var(--e))}
.zpt-k10n span{font-size:calc(11 * var(--e));color:#A9A7A1}
.zpt-k10n b{font:600 calc(34 * var(--e))/1 var(--display);letter-spacing:-.02em;color:#F4F3F0;font-variant-numeric:tabular-nums;transition:color .4s ease}
.zpt-k10.knapp .zpt-k10n b{color:#FF6A2A}
.zpt-k10n small{font-size:calc(10 * var(--e));color:#6F6D68}
.zpt-f10{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:calc(5 * var(--e));margin-top:calc(12 * var(--e))}
.zpt-f10 i{position:relative;height:calc(24 * var(--e));border-radius:calc(6 * var(--e));background:#0B0B0C;box-shadow:inset 0 0 0 1px rgba(244,243,240,.16);transition:background .3s ease,box-shadow .3s ease}
.zpt-f10 i.weg{background:#242428;box-shadow:inset 0 0 0 1px rgba(244,243,240,.06)}
.zpt-f10 i.weg::after{content:"";position:absolute;left:50%;top:50%;width:calc(4.5 * var(--e));height:calc(9 * var(--e));margin:calc(-6.5 * var(--e)) 0 0 calc(-2.25 * var(--e));border:solid #A9A7A1;border-width:0 calc(1.8 * var(--e)) calc(1.8 * var(--e)) 0;transform:rotate(45deg)}
.zpt-f10 i.zpt-f8.weg{background:rgba(255,72,0,.18);box-shadow:inset 0 0 0 1px rgba(255,106,42,.6);animation:zptPop .45s cubic-bezier(.3,1.5,.5,1)}
.zpt-f10 i.zpt-f8.weg::after{border-color:#FF6A2A}
.zpt-k10u{display:none}

/* ---------- B2: Kursseite des Studios (440 Einheiten), hell im Branding: feste Plätze, ausgebucht, Warteliste ---------- */
.zpt-b2{--e:calc(100cqw / 440);background:#F4F3F0;color:#2B2A28}
.zpt-b2k{display:flex;align-items:center;justify-content:space-between;gap:calc(10 * var(--e));height:calc(56 * var(--e));padding:0 calc(18 * var(--e));background:#fff;box-shadow:0 1px 0 rgba(11,11,12,.08)}
.zpt-b2k .zpt-logo svg{width:calc(26 * var(--e));height:calc(26 * var(--e))}
.zpt-b2k .zpt-logo b{font-size:calc(13 * var(--e))}
.zpt-b2k .zpt-logo small{font-size:calc(10 * var(--e))}
.zpt-nav{display:flex;gap:calc(14 * var(--e));font-size:calc(11 * var(--e));font-weight:500;color:#5F5D58}
.zpt-nav .on{color:#0B0B0C;font-weight:600}
.zpt-b2i{padding:calc(16 * var(--e)) calc(16 * var(--e)) 0}
.zpt-kh{margin:0 calc(2 * var(--e)) calc(10 * var(--e));font:650 calc(15 * var(--e))/1.2 var(--display);letter-spacing:-.015em;color:#0B0B0C}
.zpt-kurs{padding:calc(14 * var(--e)) calc(15 * var(--e)) calc(15 * var(--e));border-radius:calc(14 * var(--e));background:#fff;box-shadow:0 0 0 1px rgba(11,11,12,.08),0 calc(14 * var(--e)) calc(30 * var(--e)) calc(-22 * var(--e)) rgba(11,11,12,.3)}
.zpt-kurs2{margin-top:calc(10 * var(--e));padding-bottom:calc(30 * var(--e))}
.zpt-kz{display:flex;align-items:center;justify-content:space-between;gap:calc(10 * var(--e))}
.zpt-kz>b{font:700 calc(17 * var(--e))/1.15 var(--display);letter-spacing:-.02em;color:#0B0B0C}
.zpt-pill{display:inline-grid;flex:none}
.zpt-pill>u{grid-area:1/1;justify-self:end;display:inline-flex;align-items:center;height:calc(22 * var(--e));padding:0 calc(9 * var(--e));border-radius:999px;font-size:calc(10 * var(--e));font-weight:600;line-height:1;text-decoration:none;white-space:nowrap;
  background:color-mix(in srgb,var(--k) 12%,#fff);color:var(--k)}
.zpt-pill>.b,.zpt-pill>.c{background:#EEECE7;color:#5F5D58}
.zpt-kf{margin-top:calc(5 * var(--e));font-size:calc(11 * var(--e));line-height:1.4;color:#45433F}
.zpt-kz+.zpt-kf{margin-top:calc(7 * var(--e))}
.zpt-kort{margin-top:calc(1 * var(--e));color:#8F8D87}
.zpt-sitze{display:grid;grid-template-columns:repeat(12,minmax(0,calc(28 * var(--e))));gap:calc(4 * var(--e));margin-top:calc(13 * var(--e))}
.zpt-sitze i{position:relative;aspect-ratio:1;border-radius:50%;background:var(--k);transition:background .3s ease,box-shadow .3s ease}
.zpt-sitze i::before{content:"";position:absolute;left:50%;top:24%;width:30%;height:30%;margin-left:-15%;border-radius:50%;background:rgba(255,255,255,.55)}
.zpt-sitze i::after{content:"";position:absolute;left:50%;bottom:16%;width:54%;height:28%;margin-left:-27%;border-radius:999px 999px calc(2 * var(--e)) calc(2 * var(--e));background:rgba(255,255,255,.55)}
.zpt-kurs[data-st=a] .zpt-letzt{background:transparent;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--k) 45%,transparent)}
.zpt-kurs[data-st=a] .zpt-letzt::before,.zpt-kurs[data-st=a] .zpt-letzt::after{background:color-mix(in srgb,var(--k) 30%,transparent)}
.zpt-letzt.neu{animation:zptPuls 1s ease-out}
@keyframes zptPuls{0%{box-shadow:0 0 0 0 color-mix(in srgb,#2F6B4F 55%,transparent)}100%{box-shadow:0 0 0 calc(9 * var(--e)) color-mix(in srgb,#2F6B4F 0%,transparent)}}
.zpt-kb{display:flex;align-items:center;justify-content:space-between;gap:calc(8 * var(--e));margin-top:calc(9 * var(--e));font-size:calc(10.5 * var(--e));color:#5F5D58}
.zpt-kb b{font-weight:600;color:#0B0B0C;font-variant-numeric:tabular-nums}
.zpt-wl{opacity:0;transition:opacity .3s ease}
.zpt-kurs[data-st=c] .zpt-wl{opacity:1}
.zpt-kact{display:grid;margin-top:calc(12 * var(--e))}
.zpt-kact>u{grid-area:1/1;text-decoration:none}
.zpt-kact .zpt-btn{height:calc(36 * var(--e));font-size:calc(12 * var(--e))}
.zpt-auf{display:flex;align-items:center;justify-content:center;gap:calc(6 * var(--e));height:calc(36 * var(--e));border-radius:999px;background:color-mix(in srgb,var(--k) 10%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--k) 30%,transparent);
  font-size:calc(11.5 * var(--e));font-weight:600;color:var(--k);white-space:nowrap}
.zpt-auf svg{width:calc(13 * var(--e));height:calc(13 * var(--e));fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.zpt-pill>u,.zpt-kact>u{visibility:hidden}
.zpt-kurs[data-st=a] .a,.zpt-kurs[data-st=b] .b,.zpt-kurs[data-st=c] .c,.zpt-kurs2 .a{visibility:visible}
.zpt-kurs[data-st=b] .b,.zpt-kurs[data-st=c] .c{animation:zptPop .4s cubic-bezier(.3,1.5,.5,1)}
.zpt-b2 .d-cur.gast span,.zpt-hero .d-cur.gast span{background:#2F6B4F;color:#fff}
@container (min-width:560px){.zpt-b2{--e:calc(100cqw / 640)}.zpt-b2i{max-width:calc(540 * var(--e));margin:0 auto;padding:calc(18 * var(--e)) 0 0}}

/* ---------- B3: links Jans Eintrag im Dashboard, rechts Tims Seite mit der Kurve ---------- */
.zpt-b3{--e:calc(100cqw / 640);background:#0B0B0C;color:#D6D4CE}
.zpt-ein3{position:absolute;left:0;top:0;bottom:0;width:calc(262 * var(--e));padding:calc(22 * var(--e)) calc(20 * var(--e)) 0}
.zpt-b3 .d-head{margin-bottom:calc(10 * var(--e))}
.zpt-tabs{display:flex;gap:calc(14 * var(--e));margin-bottom:calc(14 * var(--e));border-bottom:1px solid rgba(244,243,240,.09);font-size:calc(10 * var(--e));font-weight:500;color:#A9A7A1}
.zpt-tabs span{padding-bottom:calc(7 * var(--e))}
.zpt-tabs .on{color:#F4F3F0;box-shadow:inset 0 calc(-1.5 * var(--e)) 0 #FF4800}
.zpt-lab{margin:calc(10 * var(--e)) 0 calc(5 * var(--e));font-size:calc(9.5 * var(--e));font-weight:500;color:#A9A7A1}
.zpt-tabs+.zpt-lab{margin-top:0}
.zpt-in{display:flex;align-items:center;height:calc(30 * var(--e));padding:0 calc(10 * var(--e));border-radius:calc(7 * var(--e));background:#0B0B0C;border:1px solid rgba(244,243,240,.09);font-size:calc(11.5 * var(--e));color:#F4F3F0;font-variant-numeric:tabular-nums;transition:border-color .2s ease}
.zpt-in small{margin-left:auto;font-size:calc(10 * var(--e));color:#6F6D68}
.zpt-caret{display:none;width:1px;height:calc(14 * var(--e));margin-left:1px;background:#F4F3F0}
.zpt-in.fokus{border-color:rgba(244,243,240,.32)}
.zpt-in.fokus .zpt-caret{display:block}
.zpt-eintr{margin-top:calc(12 * var(--e))}
.zpt-b3 .d-tit{margin-top:calc(18 * var(--e))}
.zpt-e{display:flex;justify-content:space-between;gap:calc(8 * var(--e));padding:calc(6 * var(--e)) 0;border-top:1px solid rgba(244,243,240,.09);font-size:calc(10 * var(--e));line-height:1.35}
.zpt-eintraege>:first-child .zpt-e{border-top:0}
.zpt-e b{font-weight:500;color:#A9A7A1}
.zpt-e span{color:#F4F3F0}
.zpt-neu3 .zpt-e span{color:#FF6A2A;font-weight:600}
.zpt-sicht3{position:absolute;z-index:2;right:calc(16 * var(--e));top:calc(16 * var(--e));bottom:calc(16 * var(--e));width:calc(370 * var(--e));padding:calc(18 * var(--e)) calc(20 * var(--e)) calc(16 * var(--e));border-radius:calc(16 * var(--e));background:#fff;color:#2B2A28;
  box-shadow:0 calc(24 * var(--e)) calc(50 * var(--e)) rgba(0,0,0,.6),0 0 0 1px rgba(244,243,240,.1)}
.zpt-s3k{display:flex;align-items:center;justify-content:space-between;gap:calc(10 * var(--e))}
.zpt-s3k .zpt-logo svg{width:calc(26 * var(--e));height:calc(26 * var(--e))}
.zpt-s3k .zpt-logo b{font-size:calc(13.5 * var(--e))}
.zpt-s3k .zpt-logo small{font-size:calc(9.5 * var(--e))}
.zpt-seg{display:inline-flex;gap:calc(2 * var(--e));padding:calc(2 * var(--e));border-radius:999px;background:#F4F3F0;box-shadow:inset 0 0 0 1px rgba(11,11,12,.08)}
.zpt-seg span{display:flex;align-items:center;height:calc(22 * var(--e));padding:0 calc(9 * var(--e));border-radius:999px;font-size:calc(9.5 * var(--e));font-weight:600;color:#5F5D58}
.zpt-seg .on{background:#fff;color:#0B0B0C;box-shadow:0 0 0 1px rgba(11,11,12,.1),0 1px 2px rgba(11,11,12,.08)}
.zpt-wert{display:flex;align-items:baseline;gap:calc(10 * var(--e));margin-top:calc(16 * var(--e))}
.zpt-wert b{font:700 calc(30 * var(--e))/1 var(--display);letter-spacing:-.025em;color:#0B0B0C}
.zpt-wert i{font-style:normal;font-variant-numeric:tabular-nums}
.zpt-delta{font-size:calc(11 * var(--e));font-weight:600;color:var(--k)}
.zpt-chart{position:relative;margin-top:calc(12 * var(--e));padding-left:calc(24 * var(--e))}
.zpt-chart svg{width:100%;height:auto;overflow:visible}
.zpt-raster path{fill:none;stroke:rgba(11,11,12,.08);stroke-width:1}
.zpt-linie,.zpt-linie2{fill:none;stroke:var(--k);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:0}
.zpt-linie{transition:stroke-dashoffset 1.6s cubic-bezier(.4,.1,.3,1)}
.zpt-linie2{stroke-dasharray:4 3}
.zpt-sicht3 .zpt-linie2{stroke-dasharray:100;transition:stroke-dashoffset .7s ease}
.zpt-pkte circle{fill:#fff;stroke:var(--k);stroke-width:2;transition:opacity .3s ease}
.zpt-pneu{fill:var(--k);stroke:#fff;stroke-width:2;transform-box:fill-box;transform-origin:center;transition:transform .45s cubic-bezier(.3,1.6,.5,1),opacity .3s ease}
.zpt-flaeche{transition:opacity .6s ease,clip-path .7s ease}
.zpt-yl{position:absolute;left:0;transform:translateY(-50%);font-size:calc(9 * var(--e));color:#8F8D87;font-variant-numeric:tabular-nums}
.zpt-marke{position:absolute;right:calc(-4 * var(--e));top:calc(19% - calc(30 * var(--e)));padding:calc(4 * var(--e)) calc(8 * var(--e));border-radius:calc(7 * var(--e));background:#0B0B0C;font-size:calc(9.5 * var(--e));font-weight:600;color:#fff;white-space:nowrap;transition:opacity .3s ease,transform .45s var(--ease)}
.zpt-xl{display:flex;justify-content:space-between;margin-top:calc(6 * var(--e));padding-left:calc(24 * var(--e));font-size:calc(9 * var(--e));color:#8F8D87}
/* Startzustand: Kurve ungezeichnet, neuer Punkt fehlt */
.zpt-sicht3.leer .zpt-linie{stroke-dashoffset:100}
.zpt-sicht3.leer .zpt-pkte circle{opacity:0}
.zpt-sicht3.leer .zpt-flaeche{opacity:0}
.zpt-sicht3.leer.gezeichnet .zpt-linie{stroke-dashoffset:0}
.zpt-sicht3.leer.gezeichnet .zpt-pkte circle,.zpt-sicht3.leer.gezeichnet .zpt-flaeche{opacity:1}
.zpt-sicht3:not(.neu) .zpt-linie2{stroke-dashoffset:100}
.zpt-sicht3:not(.neu) .zpt-pneu{transform:scale(0);opacity:0}
.zpt-sicht3:not(.neu) .zpt-marke{opacity:0;transform:translateY(calc(6 * var(--e)))}
.zpt-sicht3:not(.neu) .zpt-flaeche{clip-path:inset(0 12% 0 0)}
.zpt-mini{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(8 * var(--e));margin-top:calc(14 * var(--e))}
.zpt-mini p{display:grid;gap:calc(2 * var(--e));padding:calc(9 * var(--e)) calc(11 * var(--e));border-radius:calc(10 * var(--e));background:#F4F3F0;box-shadow:inset 0 0 0 1px rgba(11,11,12,.06)}
.zpt-mini span{font-size:calc(9 * var(--e));color:#5F5D58}
.zpt-mini b{font:700 calc(15 * var(--e))/1.15 var(--display);letter-spacing:-.015em;color:#0B0B0C}
.zpt-mini small{font-size:calc(8.5 * var(--e));color:#8F8D87}
.zpt-b3 .zpt-t3{display:none}

/* ---------- Handy (Kachel quadratisch, ca. 295 px): 340 Einheiten, Unwichtiges weg ---------- */
@container (max-width:480px){
  .zpt-b1{--e:calc(100cqw / 340);padding:calc(16 * var(--e)) calc(14 * var(--e)) 0}
  .zpt-b1 .d-sub,.zpt-b1 .fn-pills,.zpt-r0,.zpt-heute .d-tit,.zpt-bald{display:none}
  .zpt-heute{grid-row:auto}
  .zpt-heute .d-box{-webkit-mask-image:none;mask-image:none}
  .zpt-b1 .d-head{margin-bottom:calc(10 * var(--e))}
  .zpt-b1g{grid-template-columns:minmax(0,1fr);gap:calc(10 * var(--e))}
  .zpt-k10{order:-1;margin-top:0}
  .zpt-k10n{margin-top:calc(6 * var(--e))}
  .zpt-k10n b{font-size:calc(30 * var(--e))}
  .zpt-f10 i{height:calc(22 * var(--e))}
  .zpt-heute .d-rm b{font-size:calc(11.5 * var(--e))}
  .zpt-heute .d-rm span{font-size:calc(10 * var(--e))}
  .zpt-heute .d-r{min-height:calc(44 * var(--e))}

  .zpt-b2{--e:calc(100cqw / 340)}
  .zpt-nav3,.zpt-kurs2,.zpt-kort{display:none}
  .zpt-b2k{height:calc(52 * var(--e));padding:0 calc(14 * var(--e))}
  .zpt-b2i{padding:calc(14 * var(--e)) calc(12 * var(--e)) 0}
  .zpt-kf{font-size:calc(11.5 * var(--e))}
  .zpt-kb{font-size:calc(11 * var(--e))}
  .zpt-sitze{grid-template-columns:repeat(6,minmax(0,1fr));gap:calc(6 * var(--e)) calc(8 * var(--e));margin-top:calc(12 * var(--e))}
  .zpt-sitze i{width:calc(26 * var(--e));justify-self:center}
  .zpt-kact .zpt-btn,.zpt-auf{height:calc(38 * var(--e))}

  .zpt-b3{--e:calc(100cqw / 340)}
  .zpt-ein3{display:none}
  .zpt-sicht3{left:calc(12 * var(--e));right:calc(12 * var(--e));top:calc(12 * var(--e));bottom:calc(12 * var(--e));width:auto;padding:calc(16 * var(--e)) calc(16 * var(--e)) calc(14 * var(--e))}
  .zpt-seg{display:none}
  .zpt-wert{margin-top:calc(14 * var(--e))}
  .zpt-wert b{font-size:calc(28 * var(--e))}
  .zpt-b3 .d-cur{display:none}
  .zpt-mini{margin-top:calc(16 * var(--e))}
  .zpt-mini span{font-size:calc(10 * var(--e))}
  .zpt-mini b{font-size:calc(16 * var(--e))}
  .zpt-mini small{display:none}
  .zpt-b3 .zpt-t3{display:flex;left:calc(20 * var(--e));right:calc(20 * var(--e));top:calc(20 * var(--e))}
  .zpt-b3 .d-toast span{font-size:calc(10.5 * var(--e))}
}
@media (prefers-reduced-motion:reduce){.zpt-next,.zpt-tl,.zpt-buch,.zpt-ok,.zpt-ok *,.zpt-okc,.zpt-nach,.zpt-f10 i,.zpt-sitze i,.zpt-wl,.zpt-linie,.zpt-linie2,.zpt-pneu,.zpt-marke,.zpt-flaeche{transition:none!important;animation:none!important}}
