/* Consultant form only. Does not change the declaration/SMS form or other sections. */
#konsultant-form {
  /* Fallback for direct fragment links / navigation without JavaScript. */
  scroll-margin-top: 8rem;
  position: relative;
  padding: clamp(1.25rem, 3vw, 3rem);
  color: #fff;
  background: linear-gradient(135deg, #2877cf, #235bb4);
  border-radius: 1.5rem;
  min-width: 0;
  max-width: 100%;
}
/* Keep keyboard navigation visible without moving focus into a form field. */
#konsultant-form-title:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 6px;
}
#konsultant-form [hidden] { display: none !important; }
#konsultant-form .pzu__formTitle {
  gap: 1rem;
  margin-bottom: 1.75rem;
  align-items: center;
  flex-wrap: nowrap;
  min-width: 0;
}
#konsultant-form .pzu__formTitle img { width: 3rem; flex: 0 0 3rem; margin: 0; }
#konsultant-form .pzu__formTitle p {
  padding: 0;
  font-size: clamp(1.125rem, 1.6vw, 1.5rem);
  line-height: 1.35;
  overflow-wrap: anywhere;
}
#konsultant-form .contact-form__field { margin-bottom: 1.25rem; min-width: 0; }
#konsultant-form .contact-form__field > label {
  display: block;
  margin: 0 0 0.5rem;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.45;
}
#konsultant-form .input-icon { min-width: 0; }
#konsultant-form .input-icon input,
#konsultant-form .contact-form__answer {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 3.25rem;
  margin: 0;
  padding: 0.875rem 1rem;
  border: 1px solid #cddff2;
  border-radius: 0.5rem;
  background: #fff;
  color: #243b57;
  font: inherit;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.35;
}
#konsultant-form .input-icon span { display: none; }
#konsultant-form input::placeholder { color: #54667b; opacity: 1; }
#konsultant-form input:focus-visible,
#konsultant-form button:focus-visible,
#konsultant-form a:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}
#konsultant-form input[aria-invalid="true"] { border: 2px solid #b32731; }
#konsultant-form .contact-form__security {
  padding: 1rem;
  margin: 1.5rem 0;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 0.75rem;
  background: rgba(255,255,255,.07);
}
#konsultant-form .contact-form__hint { font-size: 0.875rem; line-height: 1.5; margin: 0; }
#konsultant-form .contact-form__security .contact-form__hint { margin-bottom: 0.75rem; }
#konsultant-form .contact-form__error {
  margin: 0.5rem 0 0;
  padding: 0.5rem 0.75rem;
  border-radius: 0.375rem;
  color: #871d27;
  background: #fff1f1;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.45;
}
#konsultant-form .contact-form__consents { display: grid; gap: 1rem; margin: 1.5rem 0; }
#konsultant-form .contact-form__consent { position: relative; min-width: 0; }
/* Keep checkboxes in the keyboard/accessibility tree, unlike display:none. */
#konsultant-form .checkbox-form {
  display: block;
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  opacity: 0;
}
#konsultant-form .checkbox-form-label {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  cursor: pointer;
  font-size: 0.875rem;
  line-height: 1.5;
}
#konsultant-form .checkbox-form-label .text { min-width: 0; overflow-wrap: anywhere; }
#konsultant-form .checkbox-form-label .tick {
  position: relative;
  flex: 0 0 1.375rem;
  width: 1.375rem;
  height: 1.375rem;
  min-width: 1.375rem;
  min-height: 1.375rem;
  margin: 0.125rem 0 0;
  border: 1px solid #fff;
  border-radius: 0.25rem;
  background: transparent;
}
#konsultant-form .checkbox-form:checked + label .tick { background: #fff; }
#konsultant-form .checkbox-form:checked + label .tick::after {
  content: "";
  position: absolute;
  width: 0.35rem;
  height: 0.7rem;
  left: 0.43rem;
  top: 0.14rem;
  border-right: 2px solid #235bb4;
  border-bottom: 2px solid #235bb4;
  transform: rotate(45deg);
}
#konsultant-form .checkbox-form:focus-visible + label .tick { outline: 3px solid #fff; outline-offset: 3px; }
#konsultant-form .contact-form__actions { display: grid; gap: 0.75rem; margin-top: 1.5rem; }
#konsultant-form .contact-form__submit {
  min-height: 3rem;
  width: 100%;
  padding: 0.75rem 1rem;
  margin: 0;
  border: 1px solid #fff;
  border-radius: 0.5rem;
  background: #fff;
  color: #1d4c99;
  font: inherit;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
}
#konsultant-form .contact-form__submit:hover:not(:disabled) { background: #edf5ff; }
#konsultant-form .contact-form__submit:disabled { opacity: .7; cursor: not-allowed; }
#konsultant-form .contact-form__retry {
  min-height: 2.75rem;
  border: 1px solid #fff;
  border-radius: .5rem;
  padding: .625rem 1rem;
  background: transparent;
  color: #fff;
  font: inherit;
  cursor: pointer;
}
#konsultant-form .contact-form__required { margin: .75rem 0 0; }
#konsultant-form .contact-form__call {
  padding-top: 1.5rem;
  margin: 1.5rem 0 0;
  border-top: 1px solid rgba(255,255,255,.3);
}
#konsultant-form .contact-form__call p { font-size: 1rem; }
#konsultant-form .contact-form__call a { display: inline-block; color: #fff; font-weight: 700; text-decoration: underline; }
#konsultant-form .contact-form__status,
#konsultant-form .contact-form__notice {
  margin: 0 0 1.5rem;
  padding: 1rem;
  background: #f0f6ff;
  color: #183d71;
  border: 1px solid #b6cdec;
  border-left-width: 4px;
  border-radius: .5rem;
  font-size: 1rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
  scroll-margin-top: 8rem;
}
#konsultant-form .contact-form__status[data-state="success"] { background: #ecf8ee; color: #175c30; border-color: #6bb184; }
#konsultant-form .contact-form__status[data-state="error"] { background: #fff1f1; color: #871d27; border-color: #dd8b94; }
#konsultant-form .contact-form__trap {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  pointer-events: none;
}
@media (max-width: 480px) {
  #konsultant-form { border-radius: 1rem; padding: 1.25rem; }
  #konsultant-form .pzu__formTitle { gap: .75rem; }
  #konsultant-form .pzu__formTitle img { width: 2.5rem; flex-basis: 2.5rem; }
  #konsultant-form .contact-form__security { padding: .875rem; }
}

/* Preserve entered data when SMTP delivery cannot be confirmed. */
#konsultant-form .contact-form__status[data-state="warning"] {
  color: #66420b; background: #fff6df; border-color: #b88a30;
}
/* Clearly visible focus on both the white input and the blue card. */
#konsultant-form input:focus-visible { outline: 3px solid #173e80; box-shadow: 0 0 0 6px #fff; outline-offset: 1px; }
