@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');

form.jn-application-form {
  --jn-blue: #3043e6;
  --jn-text: #18213f;
  --jn-muted: #7b849e;
  --jn-line: #d9e0ee;
  width: 100%;
  margin: 0 !important;
  background: #fff;
  color: var(--jn-text);
}

/* Only the ACFE form internals are styled here. The blue header, copy and trust
   message are native Impreza/WPBakery elements in Page Block 44103. */

.jn-application-form .acf-hidden,
.jn-application-form .acf-field--validate-email,
.jn-application-form .acf-field-6982a90f82be7,
.jn-application-form .acf-field-697f84078a260,
.jn-application-form .acf-field-6a3c775eb40ce { display: none !important; }

.jn-application-form .acf-form-fields.-top {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  gap: 20px !important;
  margin-top: -27px !important;
  padding: 30px 25px 0 !important;
  border: 0 !important;
  border-radius: 26px 26px 0 0 !important;
  background: #fff !important;
}

.jn-application-form .acf-form-fields.-top > .acf-field {
  grid-column: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.jn-application-form .acf-form-fields.-top > .acf-accordion > .acf-accordion-title,
.jn-application-form .acf-form-fields.-top > .acf-accordion > .acf-accordion-content {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.jn-application-form .acf-form-fields.-top .acf-accordion-content > .acf-fields {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.jn-application-form .acf-form-fields.-top .acf-accordion-content > .acf-fields > .acf-field {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.jn-application-form .acf-form-fields.-top .acf-accordion-content > .acf-fields > .acf-field[data-width="50"] {
  grid-column: auto !important;
}

.jn-application-form .acf-label { margin: 0 0 7px !important; }
.jn-application-form .acf-label label { margin: 0 !important; color: var(--jn-text) !important; font-size: 15px !important; font-weight: 700 !important; line-height: 1.3 !important; text-align: left !important; }
.jn-application-form .acf-accordion .acf-accordion-title label { margin-bottom: 20px !important; }
.jn-application-form .acf-required { color: #dc2626 !important; }

.jn-application-form input[type="text"],
.jn-application-form input[type="email"],
.jn-application-form input[type="tel"],
.jn-application-form select,
.jn-application-form .select2-container,
.jn-application-form .select2-selection--single { width: 100% !important; max-width: none !important; }

.jn-application-form input[type="text"],
.jn-application-form input[type="email"],
.jn-application-form input[type="tel"],
.jn-application-form select,
.jn-application-form .select2-selection--single {
  min-height: 52px !important;
  padding: 12px 14px !important;
  border: 1.5px solid var(--jn-line) !important;
  border-radius: 13px !important;
  background: #fff !important;
  color: var(--jn-text) !important;
  font-size: 15px !important;
  box-shadow: none !important;
}

.jn-application-form input:focus,
.jn-application-form select:focus,
.jn-application-form .select2-container--focus .select2-selection--single,
.jn-application-form .select2-container--open .select2-selection--single {
  outline: 0 !important;
  border-color: var(--jn-blue) !important;
  box-shadow: 0 0 0 3px rgba(48,67,230,.11) !important;
}

.jn-application-form .select2-selection__rendered { padding: 0 38px 0 0 !important; color: var(--jn-text) !important; font-size: 15px !important; line-height: 49px !important; }
.jn-application-form .select2-selection__arrow { height: 50px !important; right: 8px !important; }
.jn-application-form .iti { width: 100% !important; }
.jn-application-form .iti--separate-dial-code input[type="tel"] { padding-left: 82px !important; }

.jn-application-form .acf-radio-list.acf-hl {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 8px;
  margin: 0 !important;
  padding: 0 !important;
}

.jn-application-form .acf-radio-list.acf-hl > li { width: auto !important; margin: 0 !important; padding: 0 !important; }
.jn-application-form .acf-radio-list.acf-hl > li:nth-child(1) { grid-column: 1; }
.jn-application-form .acf-radio-list.acf-hl > li:nth-child(2) { grid-column: 2; }
.jn-application-form .acf-radio-list.acf-hl > li:nth-child(3) { grid-column: 3; }

.jn-application-form .acf-radio-list label {
  position: relative;
  min-height: 48px;
  width: 100%;
  display: flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 7px 5px !important;
  border: 1.5px solid var(--jn-line) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #535d78 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  cursor: pointer;
}

.jn-application-form .acf-radio-list input { position: absolute !important; opacity: 0 !important; pointer-events: none; }
.jn-application-form .acf-radio-list label:has(input:checked) { border-color: var(--jn-blue) !important; background: #eef0ff !important; color: var(--jn-blue) !important; }

.jn-application-form .acf-uploader { min-height: 82px; display: flex; align-items: center; padding: 14px; overflow: hidden; border: 1.5px dashed #c6cede; border-radius: 13px; background: #f8f9fc; }
.jn-application-form .jn-app-file { position: relative; min-height: 46px; width: 100%; display: grid; grid-template-columns: auto minmax(0,1fr); overflow: hidden; border: 1px solid var(--jn-line); border-radius: 10px; background: #fff; cursor: pointer; }
.jn-application-form .jn-app-file input { position: absolute !important; inset: 0 !important; z-index: 2; width: 100% !important; height: 100% !important; opacity: 0 !important; cursor: pointer; }
.jn-application-form .jn-app-file span { min-width: 0; display: flex; align-items: center; padding: 0 13px; font-size: 12.5px; }
.jn-application-form .jn-app-file-button { justify-content: center; background: #68738c; color: #fff; font-weight: 800; white-space: nowrap; }
.jn-application-form .jn-app-file-name { overflow: hidden; color: var(--jn-muted); text-overflow: ellipsis; white-space: nowrap; }

.jn-application-form .zgoda_class > .acf-label { display: none !important; }
.jn-application-form .zgoda_class .acf-true-false label { display: flex !important; align-items: center; gap: 11px; margin: 0 !important; padding: 15px; border-radius: 13px; background: #f5f6fb; color: #535d78; font-size: 12.5px; font-weight: 500; line-height: 1.5; cursor: pointer; }
.jn-application-form .zgoda_class input[type="checkbox"] { width: 20px !important; height: 20px !important; flex: 0 0 20px; margin: 1px 0 0 !important; accent-color: var(--jn-blue); border-radius: 4px !important; }
.jn-application-form .zgoda_class .message { min-width: 0; margin: 0 !important; color: inherit !important; font: inherit !important; }
.jn-application-form .jn-consent-summary { font-weight: 600; }
.jn-application-form .jn-consent-required { color: #dc2626; }
.jn-application-form .jn-consent-more { display: inline !important; width: auto !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; color: var(--jn-blue) !important; font: inherit !important; font-weight: 700 !important; line-height: inherit !important; text-decoration: underline; box-shadow: none !important; cursor: pointer; }
.jn-application-form .jn-consent-more::after { content: none !important; }
.jn-application-form .jn-consent-details { display: block; margin-top: 8px; color: #6f7890; font-size: 11.5px; line-height: 1.45; }
.jn-application-form .jn-consent-details[hidden] { display: none !important; }

.jn-application-form .acf-form-submit { display: flex !important; margin: 24px 25px 0 !important; padding: 0 !important; }
.jn-application-form .acf-form-submit input[type="submit"] { width: 100% !important; min-height: 54px !important; margin: 0 !important; padding: 0 18px !important; border: 0 !important; border-radius: 14px !important; background: var(--jn-blue) !important; color: #fff !important; font-size: 17px !important; font-weight: 700 !important; line-height: 54px !important; box-shadow: 0 12px 26px -10px rgba(48,67,230,.62) !important; cursor: pointer; }
.w-popup-wrap:has(.jn-application-form) { --popup-width: 480px !important; --popup-padding: 0rem !important; }
.w-popup-box:has(.jn-application-form) { width: min(480px, calc(100vw - 24px)) !important; max-width: min(480px, calc(100vw - 24px)) !important; max-height: calc(100dvh - 24px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; -ms-overflow-style: none; border-radius: 26px !important; }
.w-popup-box:has(.jn-application-form)::-webkit-scrollbar { width: 0; height: 0; display: none; }
.w-popup-box:has(.jn-application-form) .w-popup-box-h { position: relative; padding: 0 !important; }
.w-popup-box:has(.jn-application-form) .w-popup-closer { position: absolute !important; z-index: 5; top: 12px !important; right: 12px !important; width: 36px !important; height: 36px !important; display: flex !important; align-items: center; justify-content: center; overflow: hidden; border-radius: 50%; background: rgba(26,32,80,.25); color: #fff !important; font-size: 0 !important; line-height: 1 !important; }
.w-popup-box:has(.jn-application-form) .w-popup-closer::before { margin: 0 !important; font-size: 18px !important; line-height: 1 !important; transform: none !important; }
.w-popup-box:has(.jn-application-form) .w-popup-box-content,
.w-popup-box:has(.jn-application-form) .l-section,
.w-popup-box:has(.jn-application-form) .l-section-h,
.w-popup-box:has(.jn-application-form) .vc_column-inner { padding: 0 !important; }

.jn-application-form-page .l-main { margin: 0 !important; background: #eef2f8 !important; }
.jn-application-form-page .jn-application-page-host > .l-section-h { max-width: 480px !important; }

/* Field states shared with the employer/slot forms. */
.jn-application-form input[type="text"],
.jn-application-form input[type="email"],
.jn-application-form input[type="tel"],
.jn-application-form select,
.jn-application-form .select2-selection--single {
  font-weight: 600 !important;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}

.jn-application-form input::placeholder {
  color: #929bb2 !important;
  font-weight: 400 !important;
  opacity: 1 !important;
}

.jn-application-form input:hover:not(:focus),
.jn-application-form select:hover:not(:focus),
.jn-application-form .select2-selection--single:hover {
  border-color: #b7c4d8 !important;
  background: #fbfdff !important;
}

.jn-application-form input:focus,
.jn-application-form select:focus,
.jn-application-form .select2-container--focus .select2-selection--single,
.jn-application-form .select2-container--open .select2-selection--single {
  border-color: #3043e6 !important;
  background: #f4f8ff !important;
  box-shadow: none !important;
}

.jn-application-form .select2-selection__placeholder {
  color: #929bb2 !important;
  font-weight: 400 !important;
}

.jn-application-form .select2-selection__rendered:not(.select2-selection__placeholder) {
  color: var(--jn-text) !important;
  font-weight: 600 !important;
}

.jn-application-form .acf-radio-list label {
  transition: border-color .16s ease, background .16s ease, color .16s ease, transform .16s ease;
}

.jn-application-form .acf-radio-list label:hover {
  border-color: rgba(48,67,230,.42) !important;
  background: #f8fbff !important;
  color: #3043e6 !important;
}

.jn-application-form .acf-radio-list label:has(input:checked),
.jn-application-form .acf-radio-list label.selected {
  border-color: transparent !important;
  background: #3043e6 !important;
  color: #fff !important;
}

.jn-application-form .acf-radio-list label:active { transform: scale(.985); }

.jn-application-form .acf-uploader,
.jn-application-form .jn-app-file,
.jn-application-form .zgoda_class .acf-true-false label {
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.jn-application-form .acf-uploader:hover {
  border-color: rgba(48,67,230,.42);
  background: #f8fbff;
}

.jn-application-form .jn-app-file:hover {
  border-color: #b7c4d8;
  box-shadow: 0 8px 20px rgba(31,45,71,.06);
}

.jn-application-form .zgoda_class .acf-true-false label:hover {
  background: #eef3fb;
}

.jn-application-form .zgoda_class input[type="checkbox"]:focus-visible,
.jn-application-form .jn-consent-more:focus-visible {
  outline: 3px solid rgba(48,67,230,.22);
  outline-offset: 2px;
}

.jn-application-form .acf-field.-error input,
.jn-application-form .acf-field.-error select,
.jn-application-form .acf-field.-error .select2-selection {
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 3px rgba(220,38,38,.10) !important;
}

.jn-application-form .acf-notice,
.jn-application-form .acf-error-message {
  margin: 8px 0 0 !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(220,38,38,.18) !important;
  border-radius: 10px !important;
  background: #fff1f2 !important;
  color: #be123c !important;
  font-size: 12px !important;
}

.jn-application-form .acf-form-submit input[type="submit"] {
  background: linear-gradient(90deg,#2f43a1 0%,#3858e9 100%) !important;
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

.jn-application-form .acf-form-submit input[type="submit"]:hover,
.jn-application-form .acf-form-submit input[type="submit"]:focus {
  background: linear-gradient(90deg,#26368a 0%,#2c46cf 100%) !important;
  box-shadow: 0 14px 28px -10px rgba(47,67,161,.58) !important;
  transform: translateY(-1px);
}

.jn-application-form .acf-form-submit input[type="submit"]:active {
  transform: translateY(0) scale(.99);
}

body:has(.jn-application-form) .select2-container--open .select2-dropdown {
  overflow: hidden;
  border: 1px solid #cbd6e6 !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 16px 34px rgba(31,45,71,.14);
}

body:has(.jn-application-form) .select2-container--open .select2-results__options { padding: 6px !important; }
body:has(.jn-application-form) .select2-container--open .select2-results__option { margin: 0 0 2px !important; padding: 9px 11px !important; border-radius: 7px !important; color: var(--jn-text,#24304a) !important; font-size: 14px !important; }
body:has(.jn-application-form) .select2-container--open .select2-results__option--highlighted { background: #eef6ff !important; color: #3043e6 !important; }
body:has(.jn-application-form) .select2-container--open .select2-results__option[aria-selected="true"] { background: #f5f9ff !important; color: #3043e6 !important; font-weight: 700 !important; }


/* ============================================================
   JN APPLICATION FORM — desktop refine (2026-06-25)
   1) remove hardcoded optional-section divider
   2) unify everything to the theme font
   3) desktop: Oczekiwania + Doświadczenie side by side
   ============================================================ */

/* 1) optional-section title now uses the native ACF accordion label */

/* 2) one font for the whole popup (inputs/selects stop using the browser UI font) */
.jn-application-form,
.jn-application-form input,
.jn-application-form select,
.jn-application-form textarea,
.jn-application-form button,
.jn-application-form .acf-label label,
.jn-application-form .select2-container,
.w-popup-box:has(.jn-application-form) .jn-app-title-native,
.w-popup-box:has(.jn-application-form) .jn-app-title-native *,
.w-popup-box:has(.jn-application-form) .jn-app-copy-native,
.w-popup-box:has(.jn-application-form) .jn-app-trust-native { font-family: "Poppins", -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important; }

/* ============================================================
   JN consent (RODO) — competitor-style (2026-06-25)
   plain rows (no box / no border), regular text, calm "– więcej"
   ============================================================ */
.jn-application-form .zgoda_class { padding: 14px 0 0 !important; margin: 0 !important; border-top: 0 !important; }
.jn-application-form .acf-field.zgoda_class + .acf-field.zgoda_class { margin-top: -12px !important; }
.jn-application-form .zgoda_class .acf-true-false label {
  padding: 12px 15px !important;
  background: #f5f6fb !important;
  border: 0 !important;
  border-radius: 13px !important;
  color: #3a4254 !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  gap: 12px !important;
}
.jn-application-form .jn-consent-summary { font-weight: 400 !important; }
.jn-application-form .jn-consent-required { color: inherit !important; }
.jn-application-form .jn-consent-more {
  color: inherit !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}
.jn-application-form .jn-consent-more:hover,
.jn-application-form .jn-consent-more:focus { text-decoration: none !important; }
.jn-application-form .jn-consent-details { font-weight: 400 !important; }


/* ============================================================
   JN application EDIT page wiring + admin "Inne" (2026-06-25)
   ============================================================ */
.jn-application-edit .l-main .l-section-h { max-width: 520px; }
body.jn-app-show-extra .jn-application-form .acf-field-6982a90f82be7 { display: block !important; }

/* RODO (zgody) odstepy sekcji (new + edit) — pokretla TOP/BOTTOM */
.jn-application-form .acf-field-app-consent-data { margin-top: -6px !important; }
.jn-application-form .acf-form-submit { margin-top: 14px !important; }
.jn-application-form .zgoda_class { padding-top: 0 !important; margin-top: -7px !important; }
