/* Victoria Academy — kreator zapisu na szkolenie (strona /zapisy/) */
.zp{padding:clamp(28px,4vw,56px) 0 clamp(56px,7vw,100px);background:linear-gradient(180deg,var(--bg-tint) 0,#fff 420px)}
.zp-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}
.zp-head{margin-bottom:22px;max-width:720px}
.zp-head h1{font-size:clamp(2rem,3.6vw,3rem);margin:10px 0 12px;color:var(--ink);line-height:1.08}
.zp-head h1 em{font-style:italic;color:var(--brass-600)}
.zp-head p{color:var(--text);font-size:1.04rem;margin:0}

.zp-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:clamp(22px,3.2vw,38px)}
.zp-resume{display:flex;gap:10px;align-items:center;background:#eaf5ee;border:1px solid #c2e0cd;color:#1c6b46;border-radius:12px;padding:12px 16px;margin-bottom:20px;font-size:.95rem}

/* wybór typu */
.zp-choose-q{font-weight:600;color:var(--ink);margin:0 0 12px;font-size:1.02rem}
.zp-choose-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:26px}
.zp-choice{display:flex;align-items:center;gap:14px;text-align:left;background:#fff;border:1.5px solid var(--line-strong);border-radius:16px;padding:16px 18px;cursor:pointer;font:inherit;color:var(--ink);transition:border-color .2s,box-shadow .2s,background .2s}
.zp-choice:hover{border-color:var(--brass)}
.zp-choice strong{display:block;font-size:1rem}
.zp-choice small{display:block;color:var(--muted);font-size:.84rem;margin-top:2px}
.zp-choice-ico{width:44px;height:44px;flex:none;border-radius:12px;display:grid;place-items:center;background:var(--bg-tint);color:var(--navy-600)}
.zp-choice[aria-checked="true"]{border-color:var(--brass-600);background:#fdfaf3;box-shadow:0 0 0 3px rgba(176,141,79,.18)}
.zp-choice[aria-checked="true"] .zp-choice-ico{background:var(--brass);color:var(--navy-900)}
.zp-card:not([data-typ="firma"]):not([data-typ="osoba"]) .zp-choose-grid{margin-bottom:0}

/* postęp */
.zp-progress{list-style:none;margin:0 0 26px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;counter-reset:none}
.zp-progress li{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:.8rem;color:var(--muted);position:relative;padding-top:12px;border-top:3px solid var(--line)}
.zp-progress li.is-current{border-top-color:var(--brass);color:var(--ink);font-weight:600}
.zp-progress li.is-done{border-top-color:var(--navy-600);color:var(--navy-600)}
.zp-dot{display:none}
.zp-plabel{letter-spacing:.02em}

.zp-step{border:0;margin:0;padding:0;min-width:0}
.zp-step-title{padding:0;margin:0 0 6px;font-family:var(--ff-display);font-size:clamp(1.4rem,2.2vw,1.75rem);color:var(--ink);display:flex;flex-direction:column;gap:4px;font-weight:400}
.zp-step-no{font-family:var(--ff-body);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brass-600);font-weight:600}
.zp-step-lead{color:var(--muted);margin:0 0 22px;font-size:.95rem}

/* pola */
.zp-fields{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px 16px}
.zp-f{grid-column:span 6;min-width:0}
.zp-f--half{grid-column:span 3}
.zp-f--third{grid-column:span 2}
.zp-f--twothird{grid-column:span 4}
.zp-f[hidden]{display:none}
.zp-label{display:block;font-size:.86rem;font-weight:600;color:var(--ink);margin-bottom:7px;line-height:1.4}
.zp-label .req,.zp-consent .req{color:#b3402f}
.zp-f input[type=text],.zp-f input[type=email],.zp-f input[type=tel],.zp-f input[type=number],.zp-f select,.zp-f textarea{
  width:100%;font:inherit;font-size:1rem;color:var(--ink);background:#fff;border:1.5px solid var(--line-strong);border-radius:10px;padding:13px 14px;min-height:50px;transition:border-color .2s,box-shadow .2s}
.zp-f textarea{min-height:110px;resize:vertical;line-height:1.5}
.zp-f input:focus,.zp-f select:focus,.zp-f textarea:focus{outline:0;border-color:var(--navy-600);box-shadow:0 0 0 3px rgba(38,85,140,.14)}
.zp-f input::placeholder,.zp-f textarea::placeholder{color:#9aa6ba}
.zp-f.has-err input,.zp-f.has-err select,.zp-f.has-err textarea{border-color:#c4554a;background:#fffafa}
.zp-help{font-size:.8rem;color:var(--muted);margin:6px 0 0;line-height:1.45}
.zp-err{font-size:.82rem;color:#a3302a;margin:6px 0 0;font-weight:600}
.zp-nipinfo,.zp-peselinfo{font-size:.84rem;margin-top:6px;color:var(--muted)}
.zp-nipinfo.is-ok,.zp-peselinfo:not(:empty){color:#1c6b46}
.zp-nipinfo.is-warn{color:#8d6f3a}

/* tak/nie */
.zp-seg{display:inline-flex;gap:8px;flex-wrap:wrap}
.zp-seg label{position:relative;cursor:pointer}
.zp-seg input{position:absolute;opacity:0;inset:0;cursor:pointer}
.zp-seg span{display:inline-block;min-width:92px;text-align:center;padding:11px 20px;border:1.5px solid var(--line-strong);border-radius:999px;font-weight:600;color:var(--ink);background:#fff;transition:all .18s}
.zp-seg input:checked + span{background:var(--navy-800);border-color:var(--navy-800);color:#fff}
.zp-seg input:focus-visible + span{box-shadow:0 0 0 3px rgba(38,85,140,.25)}
.zp-f.has-err .zp-seg span{border-color:#c4554a}

/* 3 lata */
.zp-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.zp-trio label{display:flex;flex-direction:column;gap:5px}
.zp-trio label span{font-size:.76rem;color:var(--muted);font-weight:600;letter-spacing:.06em}
.zp-trio input{width:100%;font:inherit;font-size:1rem;border:1.5px solid var(--line-strong);border-radius:10px;padding:12px 13px;min-height:48px;font-variant-numeric:tabular-nums}
.zp-trio input:focus{outline:0;border-color:var(--navy-600);box-shadow:0 0 0 3px rgba(38,85,140,.14)}
.zp-trio input[aria-invalid]{border-color:#c4554a}

/* zgody */
.zp-consent,.zp-check{grid-column:span 6;display:flex;gap:12px;align-items:flex-start;font-size:.86rem;color:var(--text);line-height:1.5;cursor:pointer}
.zp-consent input,.zp-check input{width:19px;height:19px;flex:none;margin-top:1px;accent-color:var(--brass-600)}
.zp-consent a{color:var(--navy-600);text-decoration:underline}
.zp-consent.has-err{color:#a3302a}
.zp-consent.has-err input{outline:2px solid #c4554a;outline-offset:2px}
.zp-f--check{grid-column:span 6}

/* uczestnicy */
.zp-rep-list{display:grid;gap:16px}
.zp-person{border:1px solid var(--line);border-radius:16px;padding:18px 18px 20px;background:var(--bg-soft)}
.zp-person-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;color:var(--ink)}
.zp-rep-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:14px}
.zp-rep-saved{background:#eaf5ee;border:1px solid #c2e0cd;color:#1c6b46;border-radius:12px;padding:12px 14px;margin-bottom:14px;font-size:.92rem;display:flex;gap:8px}
.zp-link{background:none;border:0;padding:0;font:inherit;font-size:.9rem;color:var(--navy-600);text-decoration:underline;cursor:pointer}
.zp-link:hover{color:var(--brass-600)}

/* pliki */
.zp-drop{display:block;position:relative;border:1.5px dashed var(--line-strong);border-radius:14px;background:var(--bg-soft);padding:22px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s}
.zp-drop:hover,.zp-drop.is-over{border-color:var(--brass);background:#fdfaf3}
.zp-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.zp-drop-in{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--muted);font-size:.92rem}
.zp-drop-in svg{color:var(--brass-600)}
.zp-drop-in strong{color:var(--ink)}
.zp-files{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.zp-files li{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:.9rem}
.zp-files li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.zp-files li small{color:var(--muted)}
.zp-saved-files{grid-column:span 6;font-size:.88rem;color:#1c6b46}

/* nawigacja */
.zp-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.zp-nav .zp-next{min-width:240px}
.zp-later,.zp-foot{font-size:.84rem;color:var(--muted);margin:14px 0 0;text-align:right}
.zp-foot{display:flex;gap:7px;align-items:center;justify-content:flex-end}
.zp-msg{display:none;border-radius:10px;padding:13px 16px;margin-bottom:18px;font-size:.92rem;font-weight:600}
.zp-msg.err{display:block;background:#fbeceb;color:#a3302a;border:1px solid #f0cbc7}
.zp-msg.ok{display:block;background:#eaf5ee;color:#1c6b46;border:1px solid #c2e0cd}

/* sukces */
.zp-done{text-align:center;padding:18px 4px 6px;outline:0}
.zp-done-ico{width:72px;height:72px;border-radius:50%;margin:0 auto 18px;display:grid;place-items:center;background:#eaf5ee;color:#1c6b46}
.zp-done h2{font-size:clamp(1.6rem,2.6vw,2.1rem);color:var(--ink);margin:0 0 10px}
.zp-done-lead{color:var(--text);max-width:520px;margin:0 auto 24px}
.zp-next{list-style:none}
ol.zp-next{counter-reset:zn;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0;margin:0 0 26px;text-align:left}
ol.zp-next li{counter-increment:zn;background:var(--bg-soft);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:4px;font-size:.88rem;color:var(--muted)}
ol.zp-next li::before{content:counter(zn);font-family:var(--ff-display);font-size:1.4rem;color:var(--brass-600)}
ol.zp-next li strong{color:var(--ink);font-size:.98rem}

/* panel boczny */
.zp-side{position:sticky;top:calc(var(--header-h) + 18px);display:grid;gap:14px}
.zp-side-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.zp-side-title{font-family:var(--ff-body);font-size:1rem;font-weight:700;color:var(--ink);margin:0 0 12px;letter-spacing:0}
.zp-need{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:.9rem;color:var(--text)}
.zp-need li{display:flex;gap:9px;align-items:flex-start}
.zp-need svg{flex:none;margin-top:3px;color:var(--brass-600)}
.zp-need[hidden]{display:none}
.zp-side-note{font-size:.84rem;color:var(--muted);margin:14px 0 0;padding-top:12px;border-top:1px solid var(--line)}
.zp-side-card--trust p{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px;font-size:.88rem;color:var(--text)}
.zp-side-card--trust p:last-child{margin:0}
.zp-side-card--trust svg{flex:none;color:var(--navy-600);margin-top:2px}
.zp-side-card--call{background:var(--navy-900);border-color:var(--navy-900);color:#c9d3e3}
.zp-side-k{margin:0 0 6px;font-size:.84rem;color:#9fb0c8}
.zp-side-phone{display:flex;gap:10px;align-items:center;color:#fff;font-size:1.35rem;font-weight:600;text-decoration:none}
.zp-side-phone svg{color:var(--brass-300)}
.zp-side-hours{margin:6px 0 0;font-size:.84rem;color:#9fb0c8}

.zp .hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

@media (max-width:1020px){
  .zp-grid{grid-template-columns:1fr}
  .zp-side{position:static;grid-template-columns:1fr 1fr}
  .zp-side-card:first-child{grid-column:span 2}
}
@media (max-width:640px){
  .zp-card{padding:20px 16px;border-radius:18px}
  .zp-choose-grid{grid-template-columns:1fr}
  .zp-fields{gap:14px}
  .zp-f--half,.zp-f--third,.zp-f--twothird{grid-column:span 6}
  .zp-trio{grid-template-columns:1fr 1fr 1fr;gap:6px}
  .zp-trio input{padding:11px 8px;font-size:.95rem}
  .zp-progress li{font-size:.7rem}
  .zp-nav{flex-direction:column-reverse;align-items:stretch}
  .zp-nav .zp-next{min-width:0;width:100%}
  .zp-nav > span{display:none}
  .zp-later,.zp-foot{text-align:center;justify-content:center}
  ol.zp-next{grid-template-columns:1fr}
  .zp-side{grid-template-columns:1fr}
  .zp-side-card:first-child{grid-column:auto}
  .zp-person{padding:14px 12px}
  .zp-seg span{min-width:80px;padding:11px 16px}
}
@media (prefers-reduced-motion:reduce){.zp-choice,.zp-seg span,.zp-f input{transition:none}}
.zp-program{background:#fdfaf3;border-color:var(--brass-300);color:var(--ink)}
.zp-program .vnb-cd-inline{font-weight:700;font-variant-numeric:tabular-nums;color:var(--brass-600)}
