/* IGKM Rejestracja – strona publiczna */
:root{
  --igkm-bg:#f3f5f8; --igkm-surface:#fff; --igkm-fg:#14213a; --igkm-muted:#56627a; --igkm-line:#d9dfe8;
  --igkm-brand:#123a6b; --igkm-brand-ink:#fff; --igkm-accent:#e8a317;
  --igkm-ok:#1f7a4d; --igkm-ok-bg:#e3f4ea; --igkm-warn:#8a5a00; --igkm-warn-bg:#fdf1d6; --igkm-bad:#a3262b; --igkm-bad-bg:#fbe5e6;
  --igkm-display:"Manrope",system-ui,sans-serif; --igkm-body:"Source Sans 3",system-ui,sans-serif;
}
*{box-sizing:border-box}
body.igkm-reg{margin:0;background:var(--igkm-bg);color:var(--igkm-fg);font:16px/1.55 var(--igkm-body)}
.igkm-reg h1,.igkm-reg h2{font-family:var(--igkm-display);line-height:1.2;margin:0;text-wrap:balance}
.igkm-reg a{color:var(--igkm-brand)}
.igkm-reg :focus-visible{outline:3px solid var(--igkm-accent);outline-offset:2px}
.igkm-wrap{max-width:1140px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.igkm-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}

.igkm-top{background:var(--igkm-brand);color:var(--igkm-brand-ink)}
.igkm-top-in{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-block:14px}
.igkm-logo{font-family:var(--igkm-display);font-weight:800;font-size:20px;color:var(--igkm-brand-ink)!important;text-decoration:none}
.igkm-logo span{font-weight:600;opacity:.85}
.igkm-back{color:var(--igkm-brand-ink)!important;font-size:15px}
.igkm-main{padding-block:28px 56px}
.igkm-foot{border-top:1px solid var(--igkm-line);padding-block:20px;font-size:14px;color:var(--igkm-muted)}
.igkm-foot .igkm-wrap{display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between}

.igkm-head h1{font-size:clamp(24px,3.2vw,34px);font-weight:800}
.igkm-meta{color:var(--igkm-muted);margin:6px 0 0}
.igkm-intro{max-width:72ch;margin-top:16px}
.igkm-card{background:var(--igkm-surface);border:1px solid var(--igkm-line);border-radius:10px}
.igkm-alert{margin-top:18px;padding:12px 16px;border-radius:8px;background:var(--igkm-bad-bg);color:var(--igkm-bad);font-weight:600}

.igkm-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;margin-top:24px;align-items:start}
.igkm-steps{display:flex;flex-direction:column;gap:18px;min-width:0}
.igkm-step{padding:22px;display:flex;flex-direction:column;gap:14px}
.igkm-step h2,.igkm-summary h2,.igkm-closed h2,.igkm-success h2{font-weight:800}
.igkm-step h2{font-size:20px;display:flex;gap:10px;align-items:center}
.igkm-n{width:30px;height:30px;border-radius:50%;background:var(--igkm-brand);color:var(--igkm-brand-ink);display:grid;place-items:center;font-size:15px;flex:none}
.igkm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:14px}
.igkm-wide{grid-column:1/-1}
.igkm-field{display:flex;flex-direction:column;gap:5px;min-width:0;border:0;padding:0;margin:0}
.igkm-field label,.igkm-field legend{font-weight:600;font-size:15px;padding:0}
.igkm-field input,.igkm-field select,.igkm-field textarea{font:inherit;color:inherit;min-height:44px;padding:8px 12px;border:1px solid var(--igkm-line);border-radius:8px;background:var(--igkm-surface);width:100%}
.igkm-field [aria-invalid="true"],.igkm-check input[aria-invalid="true"]{border-color:var(--igkm-bad);outline:1px solid var(--igkm-bad)}
.igkm-field small,.igkm-hint{color:var(--igkm-muted);font-size:13.5px;margin:0}
.igkm-err{color:var(--igkm-bad);font-size:14px;font-weight:600}
.req{color:var(--igkm-bad)}
.igkm-check{display:flex;gap:10px;align-items:flex-start;font-weight:400!important;font-size:15px}
.igkm-check input{width:20px;height:20px;min-height:0;margin-top:3px;flex:none;accent-color:var(--igkm-brand)}
.igkm-member{background:var(--igkm-bg);border-radius:8px;padding:12px 14px}
.igkm-person{border:1px solid var(--igkm-line);border-radius:10px;padding:16px;margin:0 0 12px;background:var(--igkm-bg);min-width:0}
.igkm-person-h{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}
.igkm-person legend{font-family:var(--igkm-display);font-weight:800;font-size:16px;float:left;padding:0}
.igkm-person-h + .igkm-grid{clear:both}
.igkm-link{background:none;border:0;color:var(--igkm-brand);text-decoration:underline;cursor:pointer;font:inherit;padding:6px}
.igkm-hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}

.igkm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:8px;border:1px solid var(--igkm-line);background:var(--igkm-surface);color:var(--igkm-fg)!important;font:600 16px var(--igkm-body);text-decoration:none;cursor:pointer;align-self:flex-start}
.igkm-primary{background:var(--igkm-brand);border-color:var(--igkm-brand);color:var(--igkm-brand-ink)!important}
.igkm-summary{position:sticky;top:20px;padding:20px;display:flex;flex-direction:column;gap:12px}
.igkm-summary h2{font-size:18px}
.igkm-summary .igkm-btn{align-self:stretch}
.igkm-row{display:flex;justify-content:space-between;gap:10px;font-variant-numeric:tabular-nums}
.igkm-total{font-weight:700;font-size:18px;border-top:1px solid var(--igkm-line);padding-top:10px}
.igkm-seats{margin:0;padding:8px 12px;border-radius:8px;background:var(--igkm-bg)}

.igkm-success,.igkm-closed{margin-top:24px;padding:32px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}
.igkm-success p,.igkm-closed p{max-width:60ch;margin:0}
.igkm-tick{width:60px;height:60px;border-radius:50%;background:var(--igkm-ok-bg);color:var(--igkm-ok);display:grid;place-items:center}
.igkm-warn{background:var(--igkm-warn-bg);color:var(--igkm-warn);padding:10px 14px;border-radius:8px}
.igkm-success .igkm-btn{align-self:center}

.igkm-events{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.igkm-event{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 20px}
.igkm-event-date{font-family:var(--igkm-display);font-weight:800;color:var(--igkm-brand)}
.igkm-event h2{font-size:18px}.igkm-event h2 a{text-decoration:none;color:var(--igkm-fg)}
.igkm-event p{margin:4px 0 0;color:var(--igkm-muted);font-size:15px}

@media (max-width:880px){
  .igkm-layout{grid-template-columns:1fr}
  .igkm-summary{position:static}
  .igkm-event{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
