/* Formularz zgłoszeniowy — layout makieta 2026 (#sectionForm) */

.sectionForm--2026 {
  padding-top: clamp(80px, 10vw, 120px);
  padding-bottom: clamp(100px, 12vw, 140px);
}

.sectionForm--2026 .sectionForm__header {
  margin-bottom: clamp(40px, 6vw, 70px);
}

.sectionForm--2026 h2.sectionForm__title {
  text-align: center;
  color: #ffcc05;
  margin: 0;
  font-size: clamp(48px, 7vw, 93px);
  line-height: 0.95;
}

.sectionForm--2026 h2.sectionForm__title span {
  display: block;
  color: #fff;
  font-size: clamp(40px, 5.5vw, 93px);
}

.sectionForm--2026 .sectionForm__intro {
  text-align: center;
  max-width: 864px;
  width: 100%;
  margin: clamp(24px, 4vw, 40px) auto 0;
  color: #ffffff;
  font-size: clamp(15px, 1.8vw, 18px);
  line-height: 1.5;
  font-weight: 400;
}

.sectionForm--2026 .sectionForm__form {
  max-width: 920px;
  margin: 0 auto;
}

.sectionForm--2026 .sectionForm__block {
  margin-bottom: clamp(36px, 5vw, 56px);
}

.sectionForm--2026 .sectionForm__blockTitle {
  margin: 0 0 clamp(16px, 2.5vw, 24px);
  font-family: "Archivo", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 30px;
  letter-spacing: 0;
  text-align: left;
  color: #ffffff;
  opacity: 1;
}

.sectionForm--2026 .sectionForm__field {
  margin-bottom: clamp(12px, 2vw, 18px);
}

.sectionForm--2026 .sectionForm__label {
  display: block;
  margin: 0 0 6px;
  font-size: 14px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.7);
  opacity: 1;
}

.sectionForm--2026 .sectionForm__control {
  display: block;
  width: 100%;
  box-sizing: border-box;
  background-color: transparent;
  border: 1px solid rgba(255, 255, 255, 0.7);
  padding: 14px 16px;
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  margin: 0;
  border-radius: 0;
  appearance: none;
}

.sectionForm--2026 .sectionForm__control:disabled {
  opacity: 0.85;
  cursor: not-allowed;
}

.sectionForm--2026 .sectionForm__control--textarea {
  min-height: 140px;
  resize: vertical;
}

/* Chevron select „Klasa” — XD: 40×10, #fff opacity 70% */
.sectionForm--2026 .sectionForm__control--select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='10' viewBox='0 0 40 10'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-opacity='0.7' stroke-width='1' stroke-linecap='round' stroke-linejoin='round' d='M5 1.5 20 8.5 35 1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 40px 10px;
  background-position: right 16px center;
  padding-right: 72px;
  color: rgba(255, 255, 255, 0.9);
}

/* Custom lista „Klasa” — jak dropdown sortowania w galerii (#1d1d1d) */
.sectionForm--2026 .sectionForm__customSelect {
  position: relative;
  z-index: 5;
}

.sectionForm--2026 .sectionForm__customSelect-native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.sectionForm--2026 .sectionForm__customSelect-trigger {
  display: block;
  width: 100%;
  text-align: left;
  cursor: pointer;
  font-family: "Archivo", sans-serif;
}

.sectionForm--2026 .sectionForm__customSelect-list {
  display: none;
  list-style: none;
  margin: 0;
  padding: 0 15px;
  box-sizing: border-box;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background-color: #1d1d1d;
  border: 1px solid #ffffff;
  border-top: none;
  z-index: 40;
}

.sectionForm--2026 .sectionForm__customSelect.is-open {
  z-index: 50;
}

.sectionForm--2026 .sectionForm__customSelect.is-open .sectionForm__customSelect-trigger {
  border-bottom-color: transparent;
}

.sectionForm--2026 .sectionForm__customSelect.is-open .sectionForm__customSelect-list {
  display: block;
}

.sectionForm--2026 .sectionForm__customSelect-list li {
  width: 100%;
}

.sectionForm--2026 .sectionForm__customSelect-list button {
  display: flex;
  align-items: center;
  width: 100%;
  height: 40px;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  color: #ffffff;
  font-family: "Archivo", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  opacity: 0.85;
  cursor: pointer;
  text-align: left;
}

.sectionForm--2026 .sectionForm__customSelect-list button:hover,
.sectionForm--2026 .sectionForm__customSelect-list li.is-selected button {
  opacity: 1;
  font-weight: 700;
}

.sectionForm--2026 .sectionForm__customSelect.is-open .sectionForm__customSelect-trigger.error,
.sectionForm--2026 .sectionForm__customSelect-trigger.error {
  border-color: #ff4b4e;
}

.sectionForm--2026 .sectionForm__customSelect.is-open .sectionForm__customSelect-trigger.valid,
.sectionForm--2026 .sectionForm__customSelect-trigger.valid {
  border-color: #31c47a;
}

/* Fallback: natywny select (bez JS) */
.sectionForm--2026 select.sectionForm__control--select {
  color-scheme: dark;
}

.sectionForm--2026 select.sectionForm__control--select option {
  background-color: #1d1d1d;
  color: #ffffff;
}

.sectionForm--2026 .sectionForm__row--school {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: flex-end;
}

.sectionForm--2026 .sectionForm__field--grow {
  flex: 1 1 280px;
  min-width: 0;
}

.sectionForm--2026 .sectionForm__field--zip {
  flex: 0 1 200px;
  width: 100%;
  max-width: 220px;
}

/* Upload — żółte narożniki (makieta) */
.sectionForm--2026 .sectionForm__upload.uploadFile {
  height: auto;
  min-height: 280px;
  margin-top: 8px;
  padding: 48px 24px 32px;
  background-color: rgba(242, 242, 242, 0.08);
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  cursor: pointer;
}

/* Narożniki — tylko 2 dekoracyjne span-y u góry szablonu (style.css trafia też w meta Dropzone) */
.sectionForm--2026 .sectionForm__upload.uploadFile > span {
  z-index: 2;
}

.sectionForm--2026 .sectionForm__upload.uploadFile .dropzone-previews span,
.sectionForm--2026 .sectionForm__upload.uploadFile .sectionForm__dzFileRow span {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: auto !important;
  height: auto !important;
  border: none !important;
  pointer-events: auto;
}

.sectionForm--2026 .sectionForm__upload.uploadFile .dropzone-previews span::before,
.sectionForm--2026 .sectionForm__upload.uploadFile .dropzone-previews span::after,
.sectionForm--2026 .sectionForm__upload.uploadFile .sectionForm__dzFileRow span::before,
.sectionForm--2026 .sectionForm__upload.uploadFile .sectionForm__dzFileRow span::after {
  content: none !important;
  display: none !important;
  border: none !important;
}

.sectionForm--2026 .sectionForm__uploadLead {
  opacity: 0.85;
  font-size: 16px;
  font-weight: 600;
  margin: 0 0 8px;
  pointer-events: none;
  max-width: 420px;
}

.sectionForm--2026 .sectionForm__uploadHint,
.sectionForm--2026 .sectionForm__uploadMeta {
  opacity: 0.55;
  font-size: 13px;
  line-height: 1.45;
  margin: 0;
  pointer-events: none;
  max-width: 480px;
}

.sectionForm--2026 .sectionForm__uploadMeta {
  margin-top: 12px;
}

.sectionForm--2026 .sectionForm__upload.has-preview {
  min-height: auto;
  padding: 24px 20px 20px;
  justify-content: flex-start;
  cursor: default;
}

.sectionForm--2026 .sectionForm__upload.has-preview .sectionForm__uploadLead,
.sectionForm--2026 .sectionForm__upload.has-preview .sectionForm__uploadHint,
.sectionForm--2026 .sectionForm__upload.has-preview .sectionForm__uploadMeta {
  display: none;
}

.sectionForm--2026 .sectionForm__upload .dropzone-previews {
  width: 100%;
  max-width: 640px;
  margin: 0;
  display: block;
  position: relative;
  z-index: 3;
}

.sectionForm--2026 .sectionForm__dropzone.dropzone {
  background: none;
  min-height: unset;
  border: none;
  padding: 0;
}

/* Pasek postępu tylko podczas wysyłki (po „Wyślij”), nie po samym dodaniu pliku */
.sectionForm--2026 .sectionForm__upload .dz-preview .dz-progress {
  display: none !important;
  opacity: 0;
  height: 0;
  margin: 0;
  overflow: hidden;
}

.sectionForm--2026 .sectionForm__upload .dz-preview.dz-processing .dz-progress {
  display: block !important;
  opacity: 1;
  height: 6px;
}

.sectionForm--2026 .sectionForm__upload .dz-preview:not(.dz-error) .dz-error-message {
  display: none !important;
}

.sectionForm--2026 .sectionForm__upload .dz-default {
  display: none;
}

/* Podgląd pliku — własny szablon Dropzone (grid 3 kolumny) */
#projectFileDropzone .dropzone-previews .sectionForm__dzFileRow,
.sectionForm--2026 .sectionForm__upload .sectionForm__dzFileRow {
  display: grid !important;
  grid-template-columns: 100px minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  column-gap: 16px;
  row-gap: 10px;
  align-items: center;
  position: relative;
  margin: 0;
  width: 100%;
  padding: 14px 16px;
  box-sizing: border-box;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.2);
  float: none !important;
  pointer-events: none;
}

#projectFileDropzone .sectionForm__dzFileRow-thumb,
.sectionForm--2026 .sectionForm__upload .sectionForm__dzFileRow-thumb {
  grid-column: 1;
  grid-row: 1;
  flex: none;
  width: 100px !important;
  height: 100px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  border-radius: 0;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.15);
  z-index: 1;
}

#projectFileDropzone .sectionForm__dzFileRow-thumb img,
.sectionForm--2026 .sectionForm__upload .sectionForm__dzFileRow-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

#projectFileDropzone .sectionForm__dzFileRow-line,
.sectionForm--2026 .sectionForm__upload .sectionForm__dzFileRow-line {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  display: flex !important;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: baseline;
  gap: 10px;
  position: static !important;
  inset: auto !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
  opacity: 1 !important;
  background: none !important;
  color: #ffffff;
  z-index: 2;
}

#projectFileDropzone .sectionForm__dzFileRow-name,
.sectionForm--2026 .sectionForm__upload .sectionForm__dzFileRow-name {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: "Archivo", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
}

#projectFileDropzone .sectionForm__dzFileRow-name span,
.sectionForm--2026 .sectionForm__upload .sectionForm__dzFileRow-name span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#projectFileDropzone .sectionForm__dzFileRow-size,
.sectionForm--2026 .sectionForm__upload .sectionForm__dzFileRow-size {
  flex: 0 0 auto;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 600;
  opacity: 0.85;
  line-height: 1.35;
}

#projectFileDropzone .sectionForm__dzFileRow-remove,
.sectionForm--2026 .sectionForm__upload .sectionForm__dzFileRow-remove {
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
  margin: 0 !important;
  pointer-events: auto;
  max-width: none;
  width: auto;
  min-width: 120px;
  padding: 12px 18px;
  font-size: 16px;
  z-index: 2;
}

#projectFileDropzone .sectionForm__dzFileRow .dz-details,
#projectFileDropzone .sectionForm__dzFileRow-meta {
  display: none !important;
}

#projectFileDropzone .sectionForm__dzFileRow-progress,
.sectionForm--2026 .sectionForm__upload .sectionForm__dzFileRow-progress {
  grid-column: 1 / -1;
  grid-row: 2;
  display: none !important;
  height: 6px;
  margin: 0;
  background: rgba(255, 255, 255, 0.2);
  overflow: hidden;
}

#projectFileDropzone .sectionForm__dzFileRow.dz-processing .sectionForm__dzFileRow-progress,
.sectionForm--2026 .sectionForm__upload .sectionForm__dzFileRow.dz-processing .sectionForm__dzFileRow-progress {
  display: block !important;
}

#projectFileDropzone .sectionForm__dzFileRow .dz-upload,
.sectionForm--2026 .sectionForm__upload .sectionForm__dzFileRow .dz-upload {
  background: #ffcc05;
}

#projectFileDropzone .sectionForm__dzFileRow-error,
.sectionForm--2026 .sectionForm__upload .sectionForm__dzFileRow-error {
  grid-column: 1 / -1;
  grid-row: 2;
  display: none !important;
  position: static !important;
  margin: 0;
  padding: 8px 10px;
  background: #ff4b4e;
  font-size: 13px;
}

#projectFileDropzone .sectionForm__dzFileRow.dz-error .sectionForm__dzFileRow-error,
.sectionForm--2026 .sectionForm__upload .sectionForm__dzFileRow.dz-error .sectionForm__dzFileRow-error {
  display: block !important;
}

#projectFileDropzone .sectionForm__dzFileRow .dz-success-mark,
#projectFileDropzone .sectionForm__dzFileRow .dz-error-mark,
.sectionForm--2026 .sectionForm__upload .sectionForm__dzFileRow .dz-success-mark,
.sectionForm--2026 .sectionForm__upload .sectionForm__dzFileRow .dz-error-mark {
  display: none !important;
}

@media (max-width: 768px) {
  #projectFileDropzone .dropzone-previews .sectionForm__dzFileRow,
  .sectionForm--2026 .sectionForm__upload .sectionForm__dzFileRow {
    grid-template-columns: 72px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 12px;
    row-gap: 12px;
    align-items: start;
  }

  #projectFileDropzone .sectionForm__dzFileRow-thumb,
  .sectionForm--2026 .sectionForm__upload .sectionForm__dzFileRow-thumb {
    width: 72px !important;
    height: 72px !important;
    grid-row: 1;
  }

  #projectFileDropzone .sectionForm__dzFileRow-line,
  .sectionForm--2026 .sectionForm__upload .sectionForm__dzFileRow-line {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    max-width: 100%;
  }

  #projectFileDropzone .sectionForm__dzFileRow-remove,
  .sectionForm--2026 .sectionForm__upload .sectionForm__dzFileRow-remove {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    justify-self: stretch;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    display: block;
    text-align: center;
    box-sizing: border-box;
  }

  #projectFileDropzone .sectionForm__dzFileRow-progress,
  .sectionForm--2026 .sectionForm__upload .sectionForm__dzFileRow-progress {
    grid-row: 3;
  }

  #projectFileDropzone .sectionForm__dzFileRow-error,
  .sectionForm--2026 .sectionForm__upload .sectionForm__dzFileRow-error {
    grid-row: 3;
  }
}

@media (max-width: 420px) {
  #projectFileDropzone .sectionForm__dzFileRow-line,
  .sectionForm--2026 .sectionForm__upload .sectionForm__dzFileRow-line {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  #projectFileDropzone .sectionForm__dzFileRow-name,
  .sectionForm--2026 .sectionForm__upload .sectionForm__dzFileRow-name {
    width: 100%;
  }
}

#projectFileDropzone .dropzone-previews .dz-preview.dz-image-preview .dz-details,
#projectFileDropzone .dropzone-previews .dz-preview .dz-details {
  display: none !important;
}

#projectFileDropzone .dropzone-previews .dz-preview.dz-image-preview .dz-filename,
#projectFileDropzone .dropzone-previews .dz-preview.dz-image-preview .dz-size,
#projectFileDropzone .dropzone-previews .dz-preview .dz-filename:not(.sectionForm__dzFileRow-name),
#projectFileDropzone .dropzone-previews .dz-preview .dz-size:not(.sectionForm__dzFileRow-size) {
  display: none !important;
}

#projectFileDropzone .dropzone-previews .dz-preview.dz-image-preview .dz-filename,
#projectFileDropzone .dropzone-previews .dz-preview.dz-image-preview .dz-size,
#projectFileDropzone .dropzone-previews .dz-preview .dz-filename,
#projectFileDropzone .dropzone-previews .dz-preview .dz-size {
  position: static !important;
  inset: auto !important;
  float: none !important;
  top: auto !important;
  left: auto !important;
  bottom: auto !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}

#projectFileDropzone .dropzone-previews .dz-preview .dz-image {
  float: none !important;
  display: block !important;
  margin: 0 !important;
}

/* Legacy Dropzone (gdyby stary podgląd został w cache) */
.sectionForm--2026 .sectionForm__upload .dz-preview:not(.sectionForm__dzFileRow) {
  display: none !important;
}

.sectionForm--2026 .sectionForm__upload .dz-preview .dz-remove {
  pointer-events: auto;
  cursor: pointer;
}

.sectionForm--2026 .sectionForm__upload .dz-preview .dz-remove.primeryButton:hover {
  background-color: #ffd651;
  color: #1d1d1d;
  text-decoration: none;
}

.sectionForm--2026 .sectionForm__upload .field-error {
  margin-top: 12px;
}

.sectionForm--2026 .sectionForm__submitBtn.is-uploading {
  opacity: 0.65;
  pointer-events: none;
}

/* Zgody */
.sectionForm--2026 label.sectionForm__consent {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 20px;
  cursor: pointer;
  font-weight: 400;
  opacity: 1;
  color: #ffffff;
}

.sectionForm--2026 .sectionForm__consentText {
  flex: 1;
  font-family: "Archivo", sans-serif;
  font-size: 14px;
  line-height: 1.45;
  color: #ffffff;
  opacity: 1;
}

.sectionForm--2026 .sectionForm__consent:not(.sectionForm__consent--marketing) .sectionForm__consentText {
  font-weight: 700;
}

.sectionForm--2026 .sectionForm__consent--marketing .sectionForm__consentText {
  font-weight: 400;
}

/* Link do regulaminu w zgodzie. Nie trzeba blokowac zaznaczania checkboxa —
   label nie uruchamia swojego dzialania dla klikniec w tresc interaktywna (<a>). */
.sectionForm--2026 .sectionForm__consentLink {
  color: inherit;
  text-decoration: underline;
}

.sectionForm--2026 .sectionForm__consentLink:hover,
.sectionForm--2026 .sectionForm__consentLink:focus-visible {
  color: #1773f9;
}

.sectionForm--2026 .sectionForm__consentLink:focus-visible {
  outline: 2px solid #1773f9;
  outline-offset: 2px;
}

/* Natywny checkbox zostaje w Tab i reaguje na Spację; wizualnie pokazuje .sectionForm__consentBox.
   Globalne `outline: none` w style.min wycina domyślny obrys — fokus widać przez :focus-visible
   na inpucie albo :focus-within na etykiecie (patrz a11y-2026.css). */
.sectionForm--2026 .sectionForm__checkbox {
  position: absolute;
  top: 2px;
  left: 0;
  z-index: 2;
  width: 22px;
  height: 22px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.sectionForm--2026 .sectionForm__consentBox,
.sectionForm--2026 .sectionForm__consentBox.state {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border: 2px solid #ffffff;
  margin-top: 2px;
  box-sizing: border-box;
  background: transparent;
  opacity: 1;
}

.sectionForm--2026 .sectionForm__checkbox:checked + .sectionForm__consentBox,
.sectionForm--2026 .sectionForm__checkbox:checked + .state {
  background-color: #ffcc05;
  border-color: #ffcc05;
}

/* Pozostałości formularza 2025 (zgoda 18+, upload skanu zgody) — w 2026 nieużywane,
   ale pola muszą zostać w DOM, bo ApplicationType dalej je buduje.
   `display: none` zamiast chowania przez clip: tamta technika zostawia pola w kolejności
   Tab i w drzewie dostępności, przez co czytnik ekranu trafiał na nieopisany checkbox
   i input pliku (axe: label, krytyczne). Ukryte pola i tak się wysyłają — wyłączone są
   tylko te z atrybutem `disabled` — a oba są `required => false`. */
.sectionForm--2026 .sectionForm__legacy {
  display: none;
}

.sectionForm--2026 .sectionForm__submit {
  text-align: center;
  margin-top: clamp(32px, 5vw, 48px);
}

.sectionForm--2026 .sectionForm__submitBtn {
  max-width: 280px;
  width: 100%;
  margin: 0 auto;
  display: table;
}

/* <button> + globalne `.primeryButton:focus { outline: none }` — obrys klawiatury przez box-shadow. */
.sectionForm--2026 button.sectionForm__submitBtn:focus-visible {
  outline: 3px solid #1773f9 !important;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px #1773f9 !important;
}

/* Nadpisanie globalnych .sectionForm input (style.min) w obrębie 2026 */
.sectionForm--2026 input.sectionForm__control,
.sectionForm--2026 textarea.sectionForm__control,
.sectionForm--2026 select.sectionForm__control {
  margin-bottom: 0;
}

.sectionForm--2026 .form-row {
  margin: 0;
}

/* Stany pól — makieta Formularz (default / hover / focus / correct / alert) */
.sectionForm--2026 .sectionForm__field {
  position: relative;
}

.sectionForm--2026 .sectionForm__control:hover:not(:disabled) {
  border-color: rgba(255, 255, 255, 0.95);
}

.sectionForm--2026 .sectionForm__control:focus {
  border-color: #1773f9;
  outline: 2px solid #1773f9;
  outline-offset: 2px;
}

.sectionForm--2026 input.sectionForm__control.error,
.sectionForm--2026 textarea.sectionForm__control.error {
  border-color: #ff4b4e;
  padding-right: 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 100 100'%3E%3Cg transform='translate(-444 -39.997)'%3E%3Ccircle cx='50' cy='50' r='50' transform='translate(444 39.997)' fill='%23ff4b4e'/%3E%3Cpath d='M105.353,11.688V1.863H118.1v9.825Zm0,46.491V17.184H118.1V58.179Z' transform='translate(382.274 59.977)' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 20px 20px;
}

.sectionForm--2026 input.sectionForm__control.valid,
.sectionForm--2026 textarea.sectionForm__control.valid {
  border-color: #31c47a;
  padding-right: 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 100 100'%3E%3Cpath d='M50,100A50,50,0,1,0,0,50,50,50,0,0,0,50,100Z' fill='%2331c47a'/%3E%3Cpath d='M43.14,4.447l-37.3,37.3,8.393,8.393,37.3-37.3Z' transform='translate(26.605 20.245)' fill='%23fff'/%3E%3Cpath d='M4,16.194,22.648,34.842,31.04,26.45,12.392,7.8Z' transform='translate(18.215 35.531)' fill='%23fff'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 20px 20px;
}

.sectionForm--2026 select.sectionForm__control.error {
  border-color: #ff4b4e;
}

.sectionForm--2026 select.sectionForm__control.valid {
  border-color: #31c47a;
}

.sectionForm--2026 .sectionForm__field > .field-error {
  margin: 6px 0 0;
  padding: 0;
  color: #ff4b4e;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.35;
  text-align: left;
}

.sectionForm--2026 .sectionForm__field > .field-error::before {
  content: none;
}

/* Upload — valid / alert (narożniki + ikona w extra.css; doprecyzowanie 2026) */
.sectionForm--2026 .sectionForm__upload.uploadFile.error > span,
.sectionForm--2026 .sectionForm__upload.uploadFile.error > span::before,
.sectionForm--2026 .sectionForm__upload.uploadFile.error > span::after {
  border-color: #ff4b4e;
}

.sectionForm--2026 .sectionForm__upload.uploadFile.valid > span,
.sectionForm--2026 .sectionForm__upload.uploadFile.valid > span::before,
.sectionForm--2026 .sectionForm__upload.uploadFile.valid > span::after {
  border-color: #31c47a;
}

.sectionForm--2026 .sectionForm__upload.uploadFile > .field-error {
  position: relative;
  bottom: auto;
  left: auto;
  margin-top: 12px;
  text-align: center;
  width: 100%;
}

.sectionForm--2026 .sectionForm__consentField > .field-error {
  margin: 6px 0 20px 36px;
  color: #ff4b4e;
  font-size: 14px;
  line-height: 1.35;
  text-align: left;
}

.sectionForm--2026 .sectionForm__consentField > .field-error::before {
  content: none;
}

.sectionForm--2026 label.sectionForm__consent.error .sectionForm__consentBox {
  box-shadow: 0 0 0 1px #ff4b4e;
}

@media (max-width: 768px) {
  .sectionForm--2026 .sectionForm__field--zip {
    max-width: 100%;
    flex: 1 1 100%;
  }

  .sectionForm--2026 .sectionForm__upload.uploadFile {
    min-height: 220px;
    padding: 40px 16px 24px;
  }

  .sectionForm--2026 .sectionForm__submitBtn {
    max-width: 100%;
  }
}

/* Modal komunikatów formularza (sukces / błąd pliku) — makiet 1:1 */
.formMessageModal .modal-content {
  background: transparent;
  border: 0;
  box-shadow: none;
}

.formMessageModal .modal-header {
  padding: 0;
  border: 0;
  justify-content: flex-end;
}

.formMessageModal__close {
  margin: 0 0 16px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  line-height: 0;
}

.formMessageModal__close img {
  display: block;
  width: 53px;
  height: 49px;
}

.formMessageModal__panel {
  background-color: #ffcb03;
  margin: 0 auto;
  padding: 80px 48px 72px;
  max-width: 772px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  color: #1d1d1d;
}

.formMessageModal__icon {
  width: 100px;
  height: 100px;
  flex-shrink: 0;
}

.formMessageModal__icon--error {
  display: none;
}

.formMessageModal.is-error .formMessageModal__icon--success {
  display: none;
}

.formMessageModal.is-error .formMessageModal__icon--error {
  display: block;
}

.formMessageModal__title {
  margin: 40px 0 20px;
  font-family: "Saira Condensed", sans-serif;
  font-size: 30px;
  font-weight: 900;
  line-height: 36px;
  text-transform: uppercase;
  max-width: 520px;
}

.formMessageModal__text {
  margin: 0 0 40px;
  font-family: "Archivo", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 25px;
  max-width: 480px;
}

.formMessageModal__ok.primeryButton {
  width: 183px;
  max-width: 183px;
  height: 58px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Archivo", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 0;
  text-align: center;
  text-transform: none;
  border-color: #1d1d1d;
  background-color: #1d1d1d;
  color: #ffffff;
}

@media (max-width: 768px) {
  .formMessageModal__panel {
    padding: 56px 24px 48px;
  }

  .formMessageModal__title {
    font-size: 22px;
    margin-top: 28px;
  }

  .formMessageModal__text {
    font-size: 16px;
  }
}
