/* moduł kroki — przyklejony telefon w #jak-dziala (moment „wow” nr 2).
   Ekrany = uproszczone widoki aplikacji (klasy .kr-*), wymiary w skali 1:1 (ekran 282 px szer.).
   kroki.js skaluje telefon (--ks, zoom); najmniejszy tekst 13 px, na telefonie 375×812 skala ≥ 0,85 → ≥ 11 px.
   Bez JS: ekran 1 statycznie. Klasa .kroki-js (stawia kroki.js) włącza sticky i zmianę ekranów.
   Ruch (przejścia, żywe detale) tylko przy prefers-reduced-motion: no-preference; wyłącznie transform/opacity. */
.tk{--kr-czerw:var(--czerwony);--kr-czerw-t:var(--czerwony-tlo);--kr-zloto:var(--zloto);--kr-zloto-t:var(--zloto-tlo);--kr-ziel:var(--zielony);--kr-ziel-tx:var(--zielony);--kr-ziel-t:var(--zielony-tlo);--kr-szary:#E4E4DD;--kr-r:14px}
.kroki-ind{display:none}

/* pasek statusu */
.tk .tel-status{font-size:14px}
.tk .tel-czas{display:grid}
.tk .tel-czas b{grid-area:1/1;font-weight:inherit}
.tk .tel-czas b+b{display:none}

/* ekran = mała strona: nagłówek, jeden blok główny, najwyżej 3 pozycje */
.tk .ekran{gap:10px;padding:46px 12px 0}
.kr-glowa{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 8px;padding:2px 2px 0}
.kr-nad{overflow:hidden;font:500 13px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;color:var(--tusz2)}
.kr-dane{padding:5px 8px;border:1px solid var(--linia);border-radius:999px;background:var(--karta);font:500 13px/1 var(--f-mono);letter-spacing:.01em;text-transform:uppercase;white-space:nowrap;color:var(--tusz2)}
.kr-tytul{grid-column:1/-1;font:600 29px/1 var(--f-display);letter-spacing:.005em;text-transform:uppercase;white-space:nowrap}

/* ekran 1: zdjęcia */
.kr-postep{padding:14px 16px 16px;border-radius:var(--kr-r);background:var(--tusz);color:#fff}
.kr-postep .kr-etyk{color:rgba(255,255,255,.7)}
.kr-etyk{font:500 13px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--tusz2)}
.kr-duza{display:flex;align-items:baseline;gap:8px;margin-top:8px;font:700 52px/.9 var(--f-display);color:var(--zolty)}
.kr-duza span{font:600 30px/1 var(--f-display);color:rgba(255,255,255,.84)}
.kr-licz{display:inline-block;min-width:.56em;font-weight:inherit;font-variant-numeric:tabular-nums}
.kr-pasek{height:8px;margin-top:12px;overflow:hidden;border-radius:4px;background:rgba(255,255,255,.16)}
.kr-pasek i{display:block;height:100%;border-radius:4px;background:var(--zolty);transform:scaleX(.278);transform-origin:0 50%}
.kr-sloty{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.kr-slot{position:relative;display:flex;align-items:center;justify-content:center;gap:4px;aspect-ratio:4/3;border:1.5px dashed #C6C6BD;border-radius:10px;font:600 15px/1 var(--f-mono);color:var(--tusz)}
.kr-slot.zrobione::before{content:"";position:absolute;inset:-1.5px;border-radius:10px;background:var(--foto)}
.kr-slot.zrobione::after{content:"";position:absolute;right:5px;top:5px;z-index:1;width:20px;height:20px;border-radius:50%;background:var(--kr-ziel) var(--ik-ok-b) center/13px no-repeat;box-shadow:0 0 0 2px rgba(255,255,255,.9)}
.kr-slot.nastepny::before{content:"";position:absolute;inset:-1.5px;border:2px solid var(--zolty);border-radius:10px;background:rgba(255,196,0,.18)}
.kr-slot.nastepny .ik{position:relative;width:19px;height:19px}
.kr-slot.nastepny{z-index:0}
.kr-slot.nastepny::before{z-index:-1}
.f-lata{--foto:repeating-linear-gradient(180deg,#FFC400 0 4px,#1A1A1A 4px 8px) 62% 100%/4px 72% no-repeat,linear-gradient(180deg,#AEB5B8 0 36%,#8C7A60 36% 63%,#6A5842 63%)}
.f-wykop{--foto:linear-gradient(98deg,transparent 46%,#E0782E 46% 54%,transparent 54%) 0 100%/100% 52% no-repeat,linear-gradient(180deg,#B7BEC0 0 30%,transparent 30%),linear-gradient(98deg,#8C7A60 0 34%,#4F4031 34% 66%,#8C7A60 66%)}
.f-zlaczka{--foto:radial-gradient(circle at 74% 26%,#FFC400 0 6%,transparent 6.5%),linear-gradient(90deg,transparent 40%,rgba(0,0,0,.28) 40% 42%,transparent 42% 58%,rgba(0,0,0,.28) 58% 60%,transparent 60%) 0 50%/100% 34% no-repeat,linear-gradient(180deg,transparent 38%,#E0782E 38% 46%,#C9641F 46% 64%,transparent 64%),linear-gradient(160deg,#7A6850,#56462F)}
.kr-przycisk{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 14px;border-radius:12px;background:var(--zolty);color:var(--tusz);font:800 15px/1.1 var(--f-tekst)}
.kr-przycisk .ik{width:20px;height:20px}

/* blok główny: czarny, żółta liczba */
.kr-blok{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 14px;padding:14px 16px 15px;border-radius:var(--kr-r);background:var(--tusz);color:#fff}
.kr-blok-l{grid-column:1;font:700 50px/.9 var(--f-display);color:var(--zolty);font-variant-numeric:tabular-nums;white-space:nowrap}
.kr-blok-t{grid-column:1;font:500 13px/1.1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.kr-zamek{grid-column:2;grid-row:1/3;display:grid;place-items:center;flex:none;width:42px;height:42px;margin-left:auto;border-radius:50%;background:rgba(255,255,255,.1);color:var(--zolty)}
.kr-zamek .ik{width:21px;height:21px}
.kr-blok-kwota .kr-blok-l{font-size:44px}
.tk [data-ekran="3"]{gap:8px}

/* ekran 2: komplet */
.kr-ch{padding:2px 14px;border:1px solid var(--linia);border-radius:var(--kr-r);background:var(--karta)}
.kr-ch li{display:flex;align-items:center;gap:10px;min-height:44px;border-top:1px solid var(--linia2)}
.kr-ch li:first-child{border-top:0}
.kr-ch i{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:8px;font:700 15px/1 var(--f-mono);font-style:normal}
.kr-ch .brak i{background:var(--kr-czerw-t);color:var(--kr-czerw)}
.kr-ch b{min-width:0;font:500 18px/1.05 var(--f-display);letter-spacing:.01em;text-transform:uppercase}
.kr-ch li>span{margin-left:auto;padding:5px 7px;border-radius:6px;background:var(--papier2);font:500 13px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:var(--tusz2)}
.kr-ch .brak>span{background:var(--kr-czerw-t);color:var(--kr-czerw)}
.kr-ch .kr-wiecej{min-height:34px;padding-left:36px;font:500 13px/1 var(--f-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--tusz2)}
.kr-powiad{display:flex;align-items:center;gap:11px;padding:10px 12px 10px 10px;border-radius:var(--kr-r);background:var(--zolty);color:var(--tusz);box-shadow:0 14px 26px -18px rgba(17,17,17,.6)}
.kr-powiad-ik{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:var(--tusz);color:var(--zolty)}
.kr-powiad-ik .ik{width:18px;height:18px}
.kr-powiad p{min-width:0;font:700 14px/1.25 var(--f-tekst)}
.kr-powiad-czas{flex:none;align-self:flex-start;margin-left:auto;padding-top:2px;font:500 13px/1 var(--f-mono)}

/* ekran 3: decyzje */
.kr-wiersz{position:relative;overflow:hidden;padding:12px 12px 13px 16px;border:1px solid var(--linia);border-radius:var(--kr-r);background:var(--karta)}
.kr-wiersz::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--kr-czerw)}
.kr-wiersz.termin::before{background:var(--kr-zloto)}
.kr-wg{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.kr-wt{min-width:0;font:500 19px/1.05 var(--f-display);letter-spacing:.01em;text-transform:uppercase}
.kr-kw{flex:none;font:600 21px/1 var(--f-display);font-variant-numeric:tabular-nums;white-space:nowrap}
.kr-kw small{display:block;margin-top:4px;font:500 13px/1 var(--f-mono);letter-spacing:.04em;text-align:right;color:var(--tusz2)}
.kr-zakr{position:relative;z-index:0;display:inline-block;margin:0 -4px;padding:0 4px}
.kr-zakr::before{content:"";position:absolute;left:0;right:0;top:6%;bottom:-2%;z-index:-1;border-radius:3px;background:var(--zolty);transform-origin:0 50%}
.kr-plak{display:inline-block;margin-top:8px;padding:6px 8px;border-radius:6px;background:var(--kr-czerw-t);color:var(--kr-czerw);font:500 13px/1 var(--f-mono);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}
.termin .kr-plak{background:var(--kr-zloto-t);color:var(--kr-zloto)}
.kr-guziki{display:flex;gap:5px;margin-top:10px}
.kr-guziki span{flex:1 0 auto;height:35px;padding:0 6px;letter-spacing:-.01em;overflow:hidden;border:1.5px solid var(--linia);border-radius:10px;font:800 13px/32px var(--f-tekst);text-align:center;white-space:nowrap;text-overflow:ellipsis}
.kr-guziki .ciemny{flex:2 1 auto;min-width:0;border-color:var(--tusz);background:var(--tusz);color:#fff}
.kr-stopka{padding:0 4px;font:500 13px/1.2 var(--f-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--tusz2)}

/* dolna nawigacja telefonu (desktop; na telefonie przycięta pasmem) */
.kr-tab{position:absolute;left:0;right:0;bottom:0;z-index:5;display:grid;grid-template-columns:repeat(4,1fr);padding:9px 4px 24px;box-shadow:0 -1px 0 var(--linia2);background:var(--karta);color:var(--tusz2)}
.kr-tab::after{content:"";position:absolute;left:50%;bottom:7px;width:104px;height:4px;margin-left:-52px;border-radius:2px;background:var(--tusz)}
.kr-tab span{display:grid;justify-items:center;gap:5px;min-width:0}
.kr-tab .ik{width:44px;height:26px;padding:3px 12px;border-radius:999px}
.kr-tab em{font:700 12px/1 var(--f-tekst);font-style:normal;white-space:nowrap}
.kr-tab .on{color:var(--tusz)}
.kr-tab .on .ik{background:var(--zolty)}

/* mechanika przyklejonego telefonu */
.kroki-js .tk{max-width:none;backface-visibility:hidden}
.kroki-js .kroki-scena{position:relative}
.kroki-js .kroki-skala{position:relative;z-index:1;zoom:var(--ks,1)}
.kroki-js .tel-czas b+b{display:block}
.kroki-js .tel-czas b{opacity:0}
.kroki-js .tel-czas b.on{opacity:1}
.kroki-js .ekran{opacity:0;visibility:hidden}
.kroki-js .ekran.on{opacity:1;visibility:visible}
.kroki-js .kroki-ind{display:flex;justify-content:center;gap:12px;margin-top:16px;position:relative;z-index:1}
.kroki-ind span{display:grid;justify-items:center;gap:7px;font:500 11px/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--tusz2)}
.kroki-ind span.akt{color:var(--tusz)}
.kroki-ind i{position:relative;display:block;width:46px;height:3px;overflow:hidden;border-radius:2px;background:var(--linia)}
.kroki-ind i::after{content:"";position:absolute;inset:0;background:var(--tusz);transform:scaleX(0);transform-origin:0 50%}
.kroki-ind .on i::after{transform:none}
.kroki-ind .akt i::after{background:var(--zolty)}
.kroki-js .krok{position:relative}
.kroki-js .krok::before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 34px 60px -38px rgba(17,17,17,.4);opacity:0;pointer-events:none}
.kroki-js .krok.aktywny::before{opacity:1}
.kroki-js .krok:not(.aktywny) .krok-nr,.kroki-js .krok:not(.aktywny) h3{opacity:.55}
.kroki-js .krok-nr::after{transform-origin:0 50%}
.kroki-js .krok.aktywny .krok-nr::after{transform:scaleX(1.8)}
.kroki-js .krok.aktywny .krok-nr{color:var(--tusz)}
@media (max-width:1023.98px) and (min-height:600px){
  .kroki-js .kroki{display:flex;flex-direction:column;gap:0}
  /* pasmo z telefonem: górne ~3/4 telefonu (treść ekranów), dół z zakładkami przycięty miękko */
  .kroki-js .kroki-scena{position:sticky;top:0;z-index:3;display:flex;flex-direction:column;align-items:center;height:64svh;overflow:hidden;margin:0 calc(-1 * var(--g)) var(--kb,0px);padding:calc(var(--nav-h) + 6px) var(--g) 0;background:var(--papier)}
  .kroki-js .kroki-scena::before{content:"";position:absolute;left:0;right:0;bottom:0;z-index:2;height:56px;background:linear-gradient(180deg,rgba(239,239,234,0),var(--papier) 55%);pointer-events:none}
  .kroki-js .kroki-scena::after{content:"";position:absolute;left:0;right:0;top:100%;height:30px;background:linear-gradient(180deg,var(--papier),rgba(239,239,234,0));pointer-events:none}
  .kroki-js .kr-tab{display:none}
  .kroki-js .kroki-lista{position:relative;z-index:1;margin-top:calc(-1 * var(--kb,0px));padding-top:34px;gap:15svh}
  /* karty kroków zwięźlej, żeby mieściły się pod pasmem z telefonem (też DE z 3-wierszowym tytułem) */
  .kroki-js .krok{padding:18px 18px 20px}
  .kroki-js .krok-nr{margin-bottom:10px}
  .kroki-js .krok h3{margin-bottom:8px;font-size:26px}
  .kroki-js .krok p{font-size:16px;line-height:1.5}
  .kroki-js .kroki-ind{position:absolute;left:0;right:0;bottom:10px;z-index:3;margin:0}
  .kroki-js .tk{box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 0 0 1px #050506,0 40px 60px -36px rgba(17,17,17,.5)}
}
@media (min-width:1024px){
  .kroki-js .kroki-scena{position:sticky;top:max(calc(var(--nav-h) + 16px),calc(50vh - 310px * var(--ks,1) - 22px));display:flex;flex-direction:column;align-items:center}
  .kroki-js .kroki-lista{gap:30vh;padding:16vh 0 50vh}
}
@media (prefers-reduced-motion:no-preference){
  .kroki-js .krok-nr,.kroki-js .krok h3{transition:opacity .5s ease}
  .kroki-js .krok::before{transition:opacity .5s ease}
  .kroki-js .krok-nr::after{transition:transform .6s var(--ease)}
  .kroki-js .tel-czas b{transition:opacity .3s ease}
  .kroki-ind i::after{transition:transform .55s var(--ease)}
  .kroki-js .ekran{transform:perspective(900px) translate3d(0,28px,0) rotateX(-8deg);transform-origin:50% 0;transition:opacity .28s ease,transform .5s var(--ease),visibility 0s linear .5s}
  .kroki-js .ekran.byl{transform:perspective(900px) translate3d(0,-22px,0) rotateX(8deg)}
  .kroki-js .ekran.on{transform:none;transition:opacity .42s ease .14s,transform .75s var(--ease) .1s,visibility 0s}
  /* stan wyjściowy żywych detali; powrót bez animacji, gdy ekran już zniknął */
  .kroki-js .tk .kr-slot.zrobione::before,.kroki-js .tk .kr-slot.zrobione::after,
  .kroki-js .tk .kr-slot.nastepny::before,.kroki-js .tk .kr-pasek i,.kroki-js .tk .kr-przycisk,
  .kroki-js .tk .kr-ch i,.kroki-js .tk .kr-wiecej,.kroki-js .tk .kr-powiad,
  .kroki-js .tk .kr-blok-kwota,.kroki-js .tk .kr-wiersz,.kroki-js .tk .kr-stopka,
  .kroki-js .tk .kr-zakr::before{transition:transform 0s .55s,opacity 0s .55s}
  /* ekran 1: zdjęcia wpadają w sloty po kolei (licznik 0→5 w kroki.js: 0,72 s + n × 0,22 s) */
  .kroki-js .tk .kr-slot.zrobione::before{opacity:0;transform:scale(1.12)}
  .kroki-js .tk .kr-slot.zrobione::after{opacity:0;transform:scale(0)}
  .kroki-js .tk .kr-slot.nastepny::before{opacity:0}
  .kroki-js .tk .kr-pasek i{transform:scaleX(0)}
  .kroki-js .tk .kr-przycisk{opacity:0;transform:translate3d(0,14px,0)}
  .kr-slot:nth-child(1){--d:.5s}.kr-slot:nth-child(2){--d:.72s}.kr-slot:nth-child(3){--d:.94s}.kr-slot:nth-child(4){--d:1.16s}.kr-slot:nth-child(5){--d:1.38s}
  .kroki-widac [data-ekran="1"].on .kr-slot.zrobione::before{opacity:1;transform:none;transition:opacity .2s ease var(--d),transform .55s var(--ease) var(--d)}
  .kroki-widac [data-ekran="1"].on .kr-slot.zrobione::after{opacity:1;transform:none;transition:opacity .15s ease calc(var(--d) + .22s),transform .45s cubic-bezier(.34,1.56,.64,1) calc(var(--d) + .22s)}
  .kroki-widac [data-ekran="1"].on .kr-pasek i{transform:scaleX(.278);transition:transform 1.2s cubic-bezier(.3,.7,.3,1) .6s}
  .kroki-widac [data-ekran="1"].on .kr-slot.nastepny::before{opacity:1;transition:opacity .3s ease 1.75s}
  .kroki-widac [data-ekran="1"].on .kr-przycisk{opacity:1;transform:none;transition:opacity .35s ease 1.7s,transform .6s var(--ease) 1.7s}
  /* ekran 2: odhaczanie pozycji, potem powiadomienie */
  .kroki-js .tk .kr-ch i{opacity:0;transform:scale(.3)}
  .kroki-js .tk .kr-wiecej{opacity:0}
  .kroki-js .tk .kr-powiad{opacity:0;transform:translate3d(0,-12px,0) scale(.96)}
  .kr-ch li:nth-child(1){--d:.45s}.kr-ch li:nth-child(2){--d:.7s}.kr-ch li:nth-child(3){--d:1s}.kr-ch li:nth-child(4){--d:1.2s}
  .kroki-widac [data-ekran="2"].on .kr-ch i{opacity:1;transform:none;transition:opacity .15s ease var(--d),transform .45s cubic-bezier(.34,1.56,.64,1) var(--d)}
  .kroki-widac [data-ekran="2"].on .kr-wiecej{opacity:1;transition:opacity .4s ease var(--d)}
  .kroki-widac [data-ekran="2"].on .kr-powiad{opacity:1;transform:none;transition:opacity .3s ease 1.6s,transform .7s var(--ease) 1.6s}
  /* ekran 3: blok kwoty, sprawy, zakreślacz na najważniejszej */
  .kroki-js .tk .kr-blok-kwota{opacity:0;transform:scale(.94)}
  .kroki-js .tk .kr-wiersz{opacity:0;transform:translate3d(0,18px,0)}
  .kroki-js .tk .kr-stopka{opacity:0}
  .kroki-js .tk .kr-zakr::before{transform:scaleX(0)}
  .kr-wiersz.pilne{--d:.3s}.kr-wiersz.termin{--d:.44s}
  .kroki-widac [data-ekran="3"].on .kr-blok-kwota{opacity:1;transform:none;transition:opacity .3s ease .18s,transform .6s var(--ease) .18s}
  .kroki-widac [data-ekran="3"].on .kr-wiersz{opacity:1;transform:none;transition:opacity .3s ease var(--d),transform .65s var(--ease) var(--d)}
  .kroki-widac [data-ekran="3"].on .kr-stopka{opacity:1;transition:opacity .4s ease .7s}
  .kroki-widac [data-ekran="3"].on .kr-zakr::before{transform:none;transition:transform .55s cubic-bezier(.6,0,.2,1) .95s}
}
