/* Partner Wzrostu — ankieta (lejek pod reklamy).
 *
 * Design system: czarno-limonkowy (black/lime), dopasowany na żądanie do
 * referencyjnego layoutu "timewaster". Kontrasty liczone na rzeczywistych
 * powierzchniach (nie na biali): --ank-ink na --ank-bg = 16.95:1, --ank-muted
 * na --ank-bg = 4.85:1, --ank-muted na bieli = 5.25:1, --ank-ink na --ank-lime
 * = 15.94:1. Lejek nie dziedziczy site.css, bo tamten arkusz niesie nawigację
 * i sekcje sprzedażowe, których ta strona celowo nie ma.
 */

:root{
  --ank-bg:#F7F6EF;
  --ank-ink:#14150F;
  --ank-lime:#D6FF3D;
  --ank-muted:#6B6D64;          /* 4.85:1 na --ank-bg, 5.25:1 na bieli */
  --ank-card:#FFFFFF;
  --ank-card-dark:#161F17;
  --ank-text:var(--ank-ink);
  --ank-border:#E4E2D8;
  --ank-control:#8C8A7A;        /* ramki pol i opcji: 3.21:1 na --ank-bg, spelnia WCAG 1.4.11 */
  --ank-cta:var(--ank-ink);
  --ank-cta-hover:#2B2C22;
  --ank-error:#B3261E;

  --shadow-lift:0 1px 1px rgba(20,21,15,0.04),0 6px 16px rgba(20,21,15,0.06),0 24px 48px -18px rgba(20,21,15,0.14);

  --ank-font:"Geist",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ank-label:"Space Grotesk","Geist",system-ui,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:var(--ank-font); background:var(--ank-bg); color:var(--ank-text);
  font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased;
  min-height:100vh;  /* fallback dla starszych przegladarek */
  min-height:100svh; /* iOS: 100vh liczy sie bez paska adresu i chowa stopke */
  display:flex; flex-direction:column;
}
a{color:var(--ank-ink)}

.ank-wrap{max-width:560px;margin:0 auto;padding:0 24px;width:100%;transition:max-width .3s ease}
.ank-wrap-wide{max-width:1160px}

/* ─── pasek marki ─── */
.ank-top{padding:14px 0;border-bottom:1px solid var(--ank-border);background:#fff}
.ank-top .ank-wrap{display:flex;justify-content:space-between;align-items:center;gap:16px}
.ank-brand{
  display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ank-text);
  font-weight:600;font-size:16px;letter-spacing:-0.02em;min-height:44px;
}
.ank-mark{
  width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;
  background:var(--ank-ink);color:var(--ank-lime);
}
.ank-mark svg{width:18px;height:18px}
.ank-segment{
  font-family:var(--ank-label);font-size:12px;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--ank-muted);
}

.ank-progress{padding-top:24px}
.ank-progress-row{
  display:flex;justify-content:space-between;font-size:11px;color:var(--ank-muted);
  letter-spacing:0.08em;text-transform:uppercase;margin-bottom:8px;font-family:var(--ank-label);
}
.ank-bar{height:4px;border-radius:99px;background:var(--ank-border);overflow:hidden}
.ank-bar span{display:block;height:100%;background:var(--ank-lime);border-radius:99px;transition:width .35s cubic-bezier(.22,.61,.36,1)}

main{flex:1;padding:32px 0 56px}

/* ─── eyebrow badge ─── */
.ank-pill{
  display:inline-flex;align-items:center;gap:7px;padding:6px 14px;background:transparent;color:var(--ank-ink);
  border:1px solid var(--ank-border);border-radius:999px;font-family:var(--ank-label);font-size:11px;font-weight:600;
  letter-spacing:0.12em;text-transform:uppercase;margin-bottom:22px;
}
.ank-pill svg{width:10px;height:10px;flex-shrink:0;color:var(--ank-ink)}

h1{
  font-family:var(--ank-font);font-size:clamp(40px,7vw,68px);font-weight:700;line-height:1.18;
  letter-spacing:-0.03em;margin-bottom:24px;color:var(--ank-ink);
}
/* Podswietlenie jednej frazy w naglowku: highlighter marker, nie cale zdanie.
   Line-height 1.18 na h1 (zamiast ciasnego 0.98) zostawia miejsce na pionowy
   padding tego bloku, inaczej podswietlone wiersze zachodza na sasiednie. */
.ank-hl{
  background:var(--ank-lime);color:var(--ank-ink);padding:1px 8px;border-radius:3px;
  box-decoration-break:clone;-webkit-box-decoration-break:clone;
}
/* Kroki maja wlasny <h1> (dokument nie moze zostac bez naglowka poziomu 1, gdy
   ekran startowy sie chowa), ale w rozmiarze podtytulu -- to nie jest hero. */
.ank-steptitle{
  font-family:var(--ank-font);font-size:26px;font-weight:700;line-height:1.2;letter-spacing:-0.02em;
  margin-bottom:10px;color:var(--ank-ink);
}
/* Znacznik kroku: sam rysunek nie niesie tresci (naglowek stoi obok), wiec
   siedzi w aria-hidden i nie wymaga opisu. */
.ank-stepicon{
  display:grid;place-items:center;width:44px;height:44px;border-radius:14px;
  background:var(--ank-ink);color:var(--ank-lime);margin-bottom:14px;
}
.ank-stepicon svg{width:22px;height:22px}
.ank-lead{font-size:17px;line-height:1.55;color:var(--ank-muted);margin-bottom:28px;max-width:62ch}
.ank-note{font-size:13px;color:var(--ank-muted);margin-top:14px}
.ank-hint{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ank-muted);margin-bottom:16px}

/* ─── checklist pod CTA na ekranie startowym ─── */
.ank-checks{list-style:none;margin-top:14px;display:grid;gap:6px}
.ank-checks li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ank-muted)}
.ank-checks svg{width:15px;height:15px;flex-shrink:0;color:var(--ank-ink)}

.ank-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  width:100%;min-height:52px;padding:15px 26px;background:var(--ank-cta);color:#fff;border:none;
  border-radius:10px;font-size:15px;font-weight:600;font-family:inherit;
  cursor:pointer;margin-top:4px;transition:background .15s ease;
}
.ank-cta svg{width:16px;height:16px;flex-shrink:0}
.ank-cta:hover{background:var(--ank-cta-hover)}
.ank-cta[disabled]{background:#5A5C50;cursor:default}  /* 7.1:1 z bialym tekstem */
a.ank-cta{width:auto;text-decoration:none}

.ank-back{
  background:none;border:none;color:var(--ank-muted);font-size:14px;font-family:inherit;
  cursor:pointer;padding:10px 0;min-height:44px;margin-top:12px;
}
.ank-back:hover{color:var(--ank-text)}

.ank-options{display:grid;gap:10px}
.ank-option{
  display:flex;align-items:center;gap:14px;text-align:left;width:100%;min-height:64px;
  padding:16px 18px;border-radius:14px;background:var(--ank-card);border:1px solid var(--ank-control);
  color:var(--ank-text);font-family:inherit;cursor:pointer;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
.ank-option:hover{border-color:var(--ank-ink);box-shadow:var(--shadow-lift)}
.ank-option[aria-checked="true"]{background:var(--ank-lime);border-color:var(--ank-ink)}
.ank-option-icon{
  display:grid;place-items:center;width:40px;height:40px;border-radius:12px;flex-shrink:0;
  background:var(--ank-bg);color:var(--ank-ink);transition:background .15s ease,color .15s ease;
}
.ank-option-icon svg{width:22px;height:22px}
.ank-option[aria-checked="true"] .ank-option-icon{background:#fff;color:var(--ank-ink)}
.ank-option-body{flex:1}
.ank-option-title{display:block;font-size:16px;font-weight:600}
.ank-option-desc{display:block;font-size:13px;color:var(--ank-muted);margin-top:3px}
.ank-option[aria-checked="true"] .ank-option-desc{color:var(--ank-ink);opacity:.75}
.ank-radio{
  width:20px;height:20px;border-radius:50%;border:1.5px solid var(--ank-control);flex-shrink:0;
  display:grid;place-items:center;
}
.ank-option[aria-checked="true"] .ank-radio{border-color:var(--ank-ink);background:var(--ank-ink)}
.ank-radio svg{display:none}
.ank-option[aria-checked="true"] .ank-radio svg{display:block}

.ank-card{
  background:var(--ank-card);border:1px solid var(--ank-border);border-radius:16px;
  padding:26px 24px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-lift);
}
.ank-field label{display:block;font-size:13px;font-weight:600;color:var(--ank-muted);margin-bottom:6px}
.ank-field input,.ank-field select{
  width:100%;min-height:50px;padding:14px 16px;border:1px solid var(--ank-control);border-radius:10px;
  font-size:16px;font-family:inherit;color:var(--ank-text);background:var(--ank-card);
}
.ank-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' stroke='%2314150F' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.ank-field input:focus,.ank-field select:focus,.ank-consent input:focus-visible,.ank-option:focus-visible,.ank-cta:focus-visible,.ank-back:focus-visible,a:focus-visible{
  outline:2px solid var(--ank-ink);outline-offset:3px;
}
/* Kolor nigdy nie jest jedynym sygnalem bledu: pole dostaje wlasna ramke i grubosc. */
.ank-field input[aria-invalid="true"],.ank-field select[aria-invalid="true"]{
  border-color:var(--ank-error);border-width:2px;
}
.ank-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ank-field textarea{
  width:100%;min-height:120px;padding:14px 16px;border:1px solid var(--ank-control);border-radius:10px;
  font-size:16px;font-family:inherit;line-height:1.5;color:var(--ank-text);background:var(--ank-card);resize:vertical;
}
.ank-field textarea:focus{outline:2px solid var(--ank-ink);outline-offset:3px}
.ank-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}

.ank-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;color:var(--ank-muted);cursor:pointer}
.ank-consent input{width:18px;height:18px;margin-top:2px;flex-shrink:0;accent-color:var(--ank-ink)}
.ank-fineprint{font-size:12px;color:var(--ank-muted);text-align:center}

.ank-error{font-size:13px;color:var(--ank-error);margin-top:8px}

/* ─── marquee: pasek faktow pod hero / nad stopka ─── */
.ank-marquee{
  background:var(--ank-lime);color:var(--ank-ink);overflow:hidden;white-space:nowrap;
  margin:36px 0 0;border-top:1px solid var(--ank-ink);border-bottom:1px solid var(--ank-ink);
  width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;
}
.ank-marquee-track{
  display:inline-flex;align-items:center;gap:28px;padding:11px 0;
  animation:ank-marquee 26s linear infinite;
}
.ank-marquee-item{
  display:inline-flex;align-items:center;gap:28px;
  font-family:var(--ank-label);font-size:12px;font-weight:600;letter-spacing:0.09em;text-transform:uppercase;
}
.ank-marquee-item svg{width:9px;height:9px;flex-shrink:0}
@keyframes ank-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ─── potwierdzenie + kalendarz ─── */
.ank-done{text-align:center;padding:32px 0 0}
/* Naglowek kroku dostaje focus programowo (dla czytnika ekranu), wiec
   pierscien focusu na nim wygladalby jak blad. Klawiaturowy focus-visible zostaje. */
[tabindex="-1"]:focus{outline:none}
.ank-check{width:56px;height:56px;border-radius:50%;background:var(--ank-lime);display:grid;place-items:center;margin:0 auto 20px}
.ank-done p{color:var(--ank-muted);font-size:16px;line-height:1.6;max-width:420px;margin:0 auto 8px}
.ank-calhead{margin:32px 0 12px;text-align:center}
.ank-calhead h2{font-size:20px;font-weight:700;letter-spacing:-0.02em;margin-bottom:6px;color:var(--ank-ink)}
.ank-calhead p{font-size:14px;color:var(--ank-muted);margin:0}

.ank-frame{
  position:relative;min-height:720px;background:var(--ank-card);border:1px solid var(--ank-border);
  border-radius:16px;box-shadow:var(--shadow-lift);overflow:hidden;
}
.ank-cal{width:100%;min-height:720px;position:relative;z-index:1;opacity:0;transition:opacity .35s ease}
.ank-cal iframe{width:100%;border:0;display:block}
.ank-frame.loaded .ank-cal{opacity:1}
.ank-skeleton{position:absolute;inset:0;z-index:0;padding:32px;display:flex;flex-direction:column;gap:18px}
.ank-frame.loaded .ank-skeleton{display:none}
.ank-cal-fail{
  position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:16px;padding:32px;text-align:center;background:var(--ank-card);
}
.ank-cal-fail p{color:var(--ank-muted);font-size:15px;margin:0}
.ank-cal-fail .ank-cta{width:auto;padding:12px 24px}
.ank-sk{background:var(--ank-bg);border-radius:10px;position:relative;overflow:hidden}
.ank-sk::after{
  content:"";position:absolute;inset:0;transform:translateX(-100%);
  background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0.85) 50%,rgba(255,255,255,0) 100%);
  animation:ank-shimmer 1.5s infinite;
}
.ank-sk-title{height:22px;width:min(280px,60%)}
.ank-sk-line{height:13px;width:min(200px,45%)}
.ank-sk-grid{flex:1;display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(34px,1fr);gap:8px}
.ank-sk-grid span{background:var(--ank-bg);border-radius:8px}
.ank-sk-note{font-size:13px;color:var(--ank-muted);display:flex;align-items:center;gap:8px}
.ank-sk-note .dot{width:9px;height:9px;border-radius:50%;background:var(--ank-lime);border:1px solid var(--ank-ink);animation:ank-pulse 1.2s infinite ease-in-out}
@keyframes ank-shimmer{100%{transform:translateX(100%)}}
@keyframes ank-pulse{0%,100%{opacity:.35}50%{opacity:1}}
.ank-calhint{margin:12px 0 0;text-align:center;font-size:13px;color:var(--ank-muted)}
.ank-calhint a{color:var(--ank-ink);text-decoration:underline;text-underline-offset:3px}
.ank-booked-when{
  font-family:var(--ank-label);font-size:20px;font-weight:600;color:var(--ank-text);
  margin:0 auto 4px;
}
.ank-bookedcard{
  max-width:560px;margin:20px auto 0;background:var(--ank-card);border:1px solid var(--ank-border);
  border-radius:16px;padding:24px;box-shadow:var(--shadow-lift);text-align:center;
}
.ank-bookedlead{font-size:15px;line-height:1.6;color:var(--ank-muted);margin:0 0 16px}
.ank-bookedbtns{display:grid;gap:10px;margin-bottom:14px}
.ank-bookedbtns .ank-cta{width:100%}
.ank-cta-ghost{background:#fff;color:var(--ank-text);border:1px solid var(--ank-control)}
.ank-cta-ghost:hover{background:var(--ank-bg);color:var(--ank-text)}
.ank-disclaimer{margin:10px 0 0;text-align:center;font-size:11px;line-height:1.5;color:var(--ank-muted)}

footer{padding:20px 0;border-top:1px solid var(--ank-border);background:#fff}
footer .ank-wrap{text-align:center;font-size:12px;color:var(--ank-muted)}
.ank-legal{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:6px}
.ank-legal a{color:var(--ank-muted);text-decoration:none;display:inline-block;padding:6px 4px}  /* cel dotykowy WCAG 2.5.8 */
.ank-legal a:hover{color:var(--ank-text);text-decoration:underline}


@media (max-width:520px){
  h1{font-size:clamp(34px,10vw,40px)}
  .ank-frame,.ank-cal{min-height:820px}
  .ank-marquee-track{animation-duration:18s}
}
@media (prefers-reduced-motion:reduce){
  .ank-bar span,.ank-cal{transition:none}
  .ank-sk::after,.ank-sk-note .dot,.ank-marquee-track{animation:none}
}
