.plz-form{box-sizing:border-box;max-width:860px;margin:1.5rem auto;padding:24px;border:1px solid #d9dfe7;border-radius:12px;background:#fff;color:#1c2733;font-size:16px}.plz-form *{box-sizing:border-box}.plz-form h3{font-size:1.35rem;margin:12px 0}.plz-form h4{font-size:1.08rem;margin:26px 0 12px}.plz-training-title{font-weight:700}.plz-note{background:#fff3cf;border:1px solid #e5c86a;padding:10px;border-radius:6px;font-size:13px}.plz-form label{display:block;font-weight:600;margin:12px 0 5px}.plz-form input:not([type=radio]):not([type=checkbox]),.plz-form textarea,.plz-form select{width:100%;max-width:100%;padding:11px;border:1px solid #aeb8c3;border-radius:6px;background:white;color:#17212b;font:inherit;margin-top:5px}.plz-person{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 42px;gap:10px;align-items:end;margin-bottom:10px}.plz-person label{min-width:0}.plz-person button{height:45px;width:42px;margin-bottom:0;background:#164a83;color:white;border:0;border-radius:6px;font-size:24px;cursor:pointer}.plz-person button.plz-remove{background:#707a85}.plz-variant{display:flex!important;align-items:center;gap:10px;padding:10px;border:1px solid #d9dfe7;border-radius:6px;font-weight:400!important}.plz-variant input{flex-shrink:0}.plz-variant span{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;flex:1}.plz-form button.plz-receiver-toggle{background:none;color:#164a83;border:0;padding:10px 0;cursor:pointer;font-weight:700}.plz-accept{display:flex!important;gap:9px;align-items:flex-start;font-weight:400!important}.plz-accept input{margin-top:5px}.plz-summary{display:flex;justify-content:space-between;gap:10px;background:#eef4fa;border-radius:8px;padding:18px;margin:20px 0;font-weight:700}.plz-summary strong{font-size:1.3rem}.plz-submit{padding:13px 20px;border:0;border-radius:7px;background:#b9c0c9;color:#343c46;cursor:not-allowed}.plz-form [hidden]{display:none!important}.plz-discount small{display:block;color:#606c78}@media(max-width:650px){.plz-form{padding:15px}.plz-person{grid-template-columns:minmax(0,1fr) 42px}.plz-person label:first-child{grid-column:1}.plz-person label:nth-child(2){grid-column:1;grid-row:2}.plz-person button{grid-column:2;grid-row:2}.plz-summary{flex-direction:column}}

/* Wersja 0.2: izolacja typografii od stylów motywu */
.plz-form,.plz-form *{text-align:left;letter-spacing:normal;word-spacing:normal}
.plz-form{font-family:inherit;line-height:1.5}
.plz-form h3,.plz-form h4,.plz-form p,.plz-form label{font-family:inherit;text-transform:none;hyphens:none;word-break:normal}
.plz-form h3{font-size:clamp(18px,2.2vw,23px);font-weight:700;line-height:1.35}
.plz-form .plz-training-title{font-family:inherit;font-size:clamp(17px,2vw,21px);font-weight:700;line-height:1.4;margin:10px 0 18px}
.plz-form h4{font-size:18px;font-weight:700;margin:24px 0 12px}
.plz-form label{font-size:14px;line-height:1.45}
.plz-form .plz-person label{margin:0;display:block}
.plz-form .plz-variants{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 16px}
.plz-form .plz-variant{display:flex!important;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:128px;padding:12px 7px;margin:0;border:1px solid #cbd5e1;border-radius:9px;cursor:pointer;background:#fff;text-align:center!important}
.plz-form .plz-variant.is-selected{border:2px solid #174e8b;background:#edf5ff;box-shadow:0 0 0 1px #174e8b22}
.plz-form .plz-variant input{accent-color:#174e8b;margin:0}
.plz-form .plz-variant .plz-variant-name{display:block;flex:none;font-size:14px;font-weight:700;text-align:center!important}
.plz-form .plz-variant .plz-variant-price{display:block;font-size:17px;text-align:center!important;white-space:nowrap}
.plz-form .plz-variant small{font-size:12px;font-weight:400;text-align:center!important}
.plz-form .plz-contact-choice{display:flex;gap:22px;align-items:center}
.plz-form .plz-contact-choice label{display:flex;align-items:center;gap:7px;margin:0;font-weight:500}
.plz-form .plz-contact-choice input{accent-color:#174e8b}
.plz-form .plz-question{margin:0 0 10px;font-weight:600;font-size:14px}
.plz-form .plz-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.plz-form .plz-contact-other{margin-top:12px}
.plz-form .plz-contact-multiple{margin-top:10px}
@media(max-width:750px){.plz-form .plz-variants{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.plz-form .plz-contact-fields{grid-template-columns:1fr}.plz-form .plz-variant{min-height:112px}.plz-form .plz-variant .plz-variant-price{font-size:15px}}

/* 0.3 – nagłówki i warunkowa przedpłata */
.plz-form .plz-main-heading{font-family:inherit!important;font-size:clamp(21px,2.5vw,27px)!important;line-height:1.25!important;font-weight:800!important;text-align:left!important;margin:16px 0 14px!important;letter-spacing:.015em!important}
.plz-form .plz-date-heading{font-family:inherit!important;font-size:clamp(15px,1.7vw,18px)!important;line-height:1.45!important;font-weight:500!important;text-align:left!important;margin:0 0 10px!important}
.plz-form .plz-training-title{font-family:inherit!important;font-size:clamp(23px,3vw,31px)!important;line-height:1.3!important;font-weight:750!important;text-align:left!important;margin:6px 0 24px!important}
.plz-form .plz-prepayment-info{margin:14px 0 20px;padding:16px 18px;border:1px solid #b9d2e9;border-left:4px solid #174e8b;border-radius:8px;background:#f1f7fc;text-align:left!important}
.plz-form .plz-prepayment-info p{margin:9px 0;font-size:15px;line-height:1.55}
.plz-form .plz-bank-account{font-size:clamp(15px,2vw,19px);font-weight:750;letter-spacing:.03em!important;overflow-wrap:anywhere}

/* 0.4 — poprawki układu i typografii */
.plz-form .plz-main-heading{text-align:center!important}
.plz-form .plz-person button{display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:0!important;line-height:1!important;min-width:42px}
.plz-form .plz-contact-inline{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:12px 0 8px;color:#525a64}
.plz-form .plz-contact-inline .plz-question{margin:0;font-size:12px;font-weight:500;color:#525a64}
.plz-form .plz-contact-inline .plz-contact-choice{gap:14px}
.plz-form .plz-contact-inline .plz-contact-choice label{font-size:12px;color:#525a64}
.plz-form .plz-contact-inline input{margin:0}
.plz-form .plz-receiver-toggle{margin:1px 0 8px!important;padding:3px 0!important;line-height:1.2!important}
.plz-form .plz-prepayment-info{padding:10px 13px;margin:8px 0 12px;font-size:12px;line-height:1.35}
.plz-form .plz-prepayment-info p{margin:3px 0!important;font-size:12px!important;line-height:1.35!important}
.plz-form .plz-prepayment-info .plz-bank-account{font-size:12px!important;font-weight:700;letter-spacing:0!important}
.plz-form .plz-prepayment-info .plz-account-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px}
.plz-form .plz-person button:disabled{opacity:.4;cursor:not-allowed}
.plz-form .plz-referral{margin:8px 0 12px}

/* 0.5 — wyśrodkowanie daty i nazwy szkolenia oraz pionowe wyrównanie koszyka */
.plz-form .plz-date-heading,
.plz-form .plz-training-title {
  text-align: center !important;
}
.plz-form .plz-summary {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.plz-form .plz-summary > span,
.plz-form .plz-summary > strong {
  margin: 0;
  line-height: 1.3;
}
@media (max-width: 480px) {
  .plz-form .plz-summary { flex-wrap: wrap; }
}

/* 0.6 – przycisk pobrania PDF */
.plz-form .plz-pdf-download{display:block;width:100%;margin:10px 0 0;padding:13px 18px;border:1px solid #174e8b;border-radius:7px;background:#fff;color:#174e8b;font:inherit;font-weight:700;text-align:center!important;cursor:pointer}
.plz-form .plz-pdf-download:hover{background:#edf5ff}
.plz-form .plz-pdf-download:disabled{opacity:.65;cursor:wait}
.plz-form .plz-pdf-status{font-size:13px;color:#475569;margin:6px 0 0}

/* 0.7 – spójna typografia, komunikaty i przycisk wysyłki */
.plz-form .plz-main-heading{font-size:clamp(25px,3.4vw,32px)!important;font-weight:800!important;color:#607d9b!important;text-align:center!important}
.plz-form .plz-date-heading{font-size:15px!important;color:#555d68!important;text-align:center!important}
.plz-form .plz-training-title{font-size:clamp(21px,2.7vw,26px)!important;font-weight:700!important;color:#183b68!important;text-align:center!important}
.plz-form h4{color:#183b68!important}
.plz-form .plz-submit{display:block;width:100%;background:#174e8b;color:#fff;cursor:pointer;font:inherit;font-weight:700;text-align:center!important}
.plz-form .plz-submit:disabled{opacity:.7;cursor:wait}
.plz-form .plz-send-status{margin:10px 0;font-size:14px;font-weight:600}
.plz-form .plz-send-status.plz-success{color:#166534}
.plz-form .plz-send-status.plz-error{color:#a11919}
.plz-form .plz-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* 0.8 — compact buyer/receiver spacing */
.plz-form .plz-buyer {margin-bottom:0!important;}
.plz-form .plz-receiver-toggle {display:inline-flex!important;align-items:center;justify-content:flex-start;margin:2px 0 6px!important;padding-top:2px!important;padding-bottom:2px!important;line-height:1.2!important;}
.plz-form label:has(> .plz-buyer) {margin-bottom:0!important;padding-bottom:0!important;}

/* 0.9 – wyraziste potwierdzenie wysłania */
.plz-form .plz-send-status.plz-success{
  display:flex!important;align-items:flex-start;gap:14px;
  margin:0 0 22px!important;padding:20px 22px!important;
  background:#ffdf5d!important;color:#25374a!important;
  border:2px solid #e8b72e!important;border-radius:10px!important;
  font-size:15px!important;line-height:1.55!important;font-weight:500!important;
  text-align:left!important;box-shadow:0 3px 12px rgba(76,65,20,.12);
}
.plz-form .plz-success-icon{
  display:flex;align-items:center;justify-content:center;flex:0 0 34px;
  width:34px;height:34px;border:2px solid #183b68;border-radius:50%;
  color:#183b68;font-size:23px;font-weight:800;line-height:1;
}
.plz-form .plz-success-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.plz-form .plz-success-copy strong{color:#183b68!important;font-size:20px!important;font-weight:800!important;line-height:1.25}
.plz-form .plz-success-copy span{color:#25374a!important;font-size:14px!important;line-height:1.5}
@media(max-width:480px){.plz-form .plz-send-status.plz-success{padding:15px!important;gap:10px}.plz-form .plz-success-copy strong{font-size:18px!important}}
