/* pki.eu v3 — komunikaty (pkieu-notify.js): toast, błąd przy polu, błąd formularza, modal. Tokeny motywu (pkieu-v3.css): karta
   --surface + ramka --line2 + cień --sh-pop jak panele .pki-drop, czerwień błędu --red, zieleń sukcesu --green (jak Szybka wysyłka),
   kwadratowe narożniki --r. Kolor nigdy sam nie niesie znaczenia: zawsze ikona + tytuł tekstem (WCAG 1.4.1). */

/* ---- toast: prawy dół na desktopie, dół ekranu na telefonie (nad przyklejonym paskiem zakupu .sbuy) ---- */
.pki-toasts{position:fixed;right:var(--sp-5);bottom:var(--sp-5);z-index:200;display:flex;flex-direction:column;gap:var(--sp-2);width:min(380px,calc(100vw - 2 * var(--sp-4)));pointer-events:none;}
.pki-toast-region{display:flex;flex-direction:column;gap:var(--sp-2);}
.pki-toast{pointer-events:auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--sp-3);align-items:start;padding:var(--sp-3) var(--sp-3) var(--sp-3) var(--sp-4);
  background:var(--surface);border:1px solid var(--line2);border-left:4px solid var(--tc);border-radius:var(--r);box-shadow:var(--sh-pop);color:var(--ink);font-size:var(--fs-md);line-height:1.45;
  opacity:0;transform:translateY(8px);transition:opacity .18s ease-out,transform .18s ease-out;--tc:var(--green);}
.pki-toast.is-in{opacity:1;transform:none;}
.pki-toast.is-error{--tc:var(--red);}
.pki-toast.is-info{--tc:var(--graphite);}
.pki-toast-ico{width:22px;height:22px;margin-top:1px;fill:none;stroke:var(--tc);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.pki-toast-t{display:block;font-family:var(--head);font-weight:700;font-size:var(--fs-sm);letter-spacing:var(--ls-ui);text-transform:uppercase;color:var(--tc);}
.pki-toast-m{margin-top:2px;color:var(--body);overflow-wrap:anywhere;}
.pki-toast-m a{color:var(--link);text-decoration:underline;}
.pki-toast-a{font-weight:700;white-space:nowrap;}
.pki-toast-x{width:32px;height:32px;margin:-6px -6px 0 0;border:0;border-radius:var(--r);background:none;color:var(--muted);font-size:22px;line-height:1;cursor:pointer;}
@media (hover:hover){.pki-toast-x:hover{background:var(--wash);color:var(--ink);}}
@media (max-width:860px){
  .pki-toasts{left:var(--sp-4);right:var(--sp-4);bottom:var(--sp-4);width:auto;}
  body.has-sbuy .pki-toasts{bottom:calc(76px + var(--sp-2));}   /* nad paskiem szybkiego zakupu karty produktu */
}
@media (prefers-reduced-motion:reduce){.pki-toast{transition:none;transform:none;}}

/* ---- błąd przy polu (GOV.UK: tekst przy polu, co zrobić; tu: checkbox regulaminu) ---- */
.pki-field-err{display:flex;gap:var(--sp-2);align-items:flex-start;margin:var(--sp-2) 0 0;font-size:var(--fs-sm);font-weight:500;line-height:1.4;color:var(--red);}
.pki-field-err svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;}
.is-invalid input[type=checkbox]{outline:2px solid var(--red);outline-offset:2px;}
.is-invalid input[type=checkbox]:focus-visible{outline-width:3px;}
.terms-of-service.is-invalid,.pc-tos.is-invalid{color:var(--ink);}

/* ---- błąd formularza (lista problemów nad przyciskami) ---- */
.pki-form-err{margin:var(--sp-4) 0;padding:var(--sp-3) var(--sp-4);border:1px solid var(--line2);border-left:4px solid var(--red);border-radius:var(--r);background:var(--surface);font-size:var(--fs-md);color:var(--body);}
.pki-form-err:focus{outline:none;}
.pki-form-err:focus-visible{outline:2px solid var(--red);outline-offset:2px;}
.pki-form-err-t{display:block;margin-bottom:var(--sp-2);font-family:var(--head);font-weight:700;font-size:var(--fs-sm);letter-spacing:var(--ls-ui);text-transform:uppercase;color:var(--red);}
.pki-form-err-b ul{margin:4px 0 var(--sp-2) var(--sp-4);padding:0;}
.pki-form-err-b a{color:var(--link);text-decoration:underline;}
.pki-form-err-b .message-error{color:var(--body);}

/* ---- modal (<dialog>) — skóra paneli .pki-drop: karta --surface, ramka --line, cień --sh-pop, tło --overlay ---- */
.pki-modal{width:min(520px,calc(100vw - 2 * var(--sp-4)));max-height:calc(100vh - 2 * var(--sp-6));padding:0;border:1px solid var(--line);border-radius:var(--r);
  background:var(--surface);color:var(--ink);box-shadow:var(--sh-pop);}
.pki-modal::backdrop{background:var(--overlay);}
.pki-modal-h{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4) var(--sp-3) var(--sp-5);border-bottom:1px solid var(--line);}
.pki-modal-h h2{margin:0;font-family:var(--head);font-weight:700;font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--red);}
.pki-modal-x{width:var(--h-touch);height:var(--h-touch);border:0;border-radius:var(--r);background:none;color:var(--muted);font-size:24px;cursor:pointer;}
@media (hover:hover){.pki-modal-x:hover{background:var(--wash);color:var(--ink);}}
.pki-modal-b{padding:var(--sp-4) var(--sp-5);font-size:var(--fs-md);line-height:1.5;color:var(--body);overflow:auto;}
.pki-modal-f{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--sp-2);padding:0 var(--sp-5) var(--sp-5);}
:root[data-contrast="more"] .pki-toast,:root[data-contrast="more"] .pki-modal,:root[data-contrast="more"] .pki-form-err{border-width:2px;}
