/*! JHB Jobs – Bewerbungsformular | konsolidierte Übergabeversion */
.jhb-job-apply-heading {
min-width: 0;
}

.jhb-application-context {
display: grid;
  gap: 7px;
  padding: 16px 18px;
  border: 1px solid rgba(51, 91, 61, .14);
  border-radius: 20px;
  background: linear-gradient(145deg, #f5faf6, #fff);
  box-shadow: inset 4px 0 0 rgba(87, 147, 67, .72);
}

.jhb-application-context__label {
color: #4c6b57;
  font-size: 11.5px;
  font-weight: 850;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.jhb-job-apply-field--context {
gap: 4px;
}

.jhb-job-apply-field--context label {
color: #6d7c72;
  font-size: 12.5px;
}

.jhb-application-context .jhb-job-apply-field--context input[readonly] {
min-height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #173d2c;
  font-size: 17px;
  font-weight: 850;
  box-shadow: none;
}

.jhb-application-context p {
margin: 0;
  color: #667085;
  font-size: 13.5px;
  line-height: 1.45;
}

.jhb-application-section {
min-width: 0;
  margin: 0;
  padding: 17px 18px 18px;
  border: 1px solid rgba(15, 23, 42, .075);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .045);
}

.jhb-application-section legend {
display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 14px;
  padding: 0 7px 0 0;
  color: #172033;
  font-size: 14.5px;
  font-weight: 850;
  line-height: 1.2;
}

.jhb-application-section legend span {
display: inline-grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border: 1px solid rgba(233, 98, 11, .2);
  border-radius: 50%;
  background: #fff4eb;
  color: #d45505;
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 5px 12px rgba(233, 98, 11, .08);
}

.jhb-application-section > .jhb-job-apply-row + .jhb-job-apply-row,
.jhb-application-section > .jhb-job-apply-field + .jhb-job-apply-field {
margin-top: 13px;
}

.jhb-application-section .jhb-job-apply-field input,
.jhb-application-section .jhb-job-apply-field textarea {
min-height: 49px;
  border-color: rgba(15, 23, 42, .11);
  border-radius: 15px;
  background: #fbfcfd;
}

.jhb-application-section .jhb-job-apply-field textarea {
min-height: 98px;
}

.jhb-application-upload {
padding: 14px;
  border: 1px dashed rgba(233, 98, 11, .28);
  border-radius: 17px;
  background: #fffaf6;
}

.jhb-application-upload input[type="file"]::file-selector-button {
margin-right: 10px;
  padding: 8px 12px;
  border: 0;
  border-radius: 999px;
  background: #fff1e7;
  color: #b94700;
  font: inherit;
  font-size: 13px;
  font-weight: 850;
  cursor: pointer;
}

.jhb-application-checks .jhb-job-apply-consent,
.jhb-application-checks .jhb-job-apply-captcha {
height: 100%;
  border-radius: 18px;
}

.jhb-application-security-copy {
display: grid;
  gap: 3px;
}

.jhb-application-security-copy strong {
color: #172033;
  font-size: 14px;
  line-height: 1.25;
}

.jhb-application-security-copy span {
color: #667085;
  font-size: 13px;
  line-height: 1.35;
}

.jhb-job-apply-drawer .jhb-application-actions .jhb-job-apply-submit[aria-disabled="false"] {
min-height: 48px;
  background: linear-gradient(135deg, #f97316, #d95304);
  box-shadow: 0 14px 30px rgba(233, 98, 11, .24);
}

@media (max-width: 720px) {.jhb-job-apply-drawer {
width: calc(100vw - 18px);
    max-width: none;
    border-radius: 25px;
}

.jhb-job-apply-drawer__inner {
padding: 20px 16px 22px;
}

.jhb-job-apply-drawer__header {
align-items: center;
}

.jhb-job-apply-drawer__close {
min-height: 38px;
    padding: 8px 12px;
    font-size: 13px;
}

.jhb-application-section {
padding: 15px 14px 16px;
    border-radius: 19px;
}

.jhb-application-checks {
grid-template-columns: 1fr;
}

.jhb-application-checks .jhb-job-apply-captcha {
grid-template-columns: minmax(0, 1fr) 90px;
}

.jhb-application-actions {
grid-template-columns: 1fr;
}

.jhb-application-actions .jhb-job-apply-submit {
order: 1;
}

.jhb-application-actions .jhb-job-apply-cancel {
order: 2;
}

.jhb-application-trust {
text-align: left;
}
}

@media (max-width: 520px) {.jhb-application-context {
padding: 15px;
}

.jhb-application-section legend {
margin-bottom: 12px;
}

.jhb-application-checks .jhb-job-apply-captcha {
grid-template-columns: 1fr;
}

.jhb-application-checks .jhb-job-apply-captcha input {
text-align: left;
}

.jhb-application-upload input[type="file"]::file-selector-button {
display: block;
    margin: 0 0 8px;
}
}

.jhb-application-context__meta {
display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 2px;
}

.jhb-application-context__chip {
display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12.8px;
  font-weight: 800;
  line-height: 1.2;
}

.jhb-application-context__chip svg {
width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.jhb-application-context__chip--location {
color: #24553d;
  border: 1px solid rgba(87, 147, 67, .18);
  background: #edf7ef;
}

.jhb-application-context__chip--type {
color: #b94700;
  border: 1px solid rgba(233, 98, 11, .2);
  background: #fff1e7;
}

.jhb-application-upload input[type="file"] {
padding: 8px;
  border-style: solid;
  background: #fff;

  cursor: pointer;
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.jhb-application-upload input[type="file"]:hover,
.jhb-application-upload input[type="file"]:focus-visible {
border-color: rgba(233, 98, 11, .38);
  background: #fffaf6;
  box-shadow: 0 0 0 3px rgba(233, 98, 11, .07);
}

.jhb-application-upload input[type="file"]::file-selector-button,
.jhb-application-upload input[type="file"]::-webkit-file-upload-button {
transition: background-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.jhb-application-upload input[type="file"]:hover::file-selector-button,
.jhb-application-upload input[type="file"]:focus-visible::file-selector-button,
.jhb-application-upload input[type="file"]:hover::-webkit-file-upload-button,
.jhb-application-upload input[type="file"]:focus-visible::-webkit-file-upload-button {
background: #e9620b;
  color: #fff;
  box-shadow: 0 8px 18px rgba(233, 98, 11, .22);
  transform: translateY(-1px);
}

.jhb-application-checks {
display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(220px, .65fr);
  gap: 12px;
  align-items: stretch;

  grid-template-columns: 1fr;
  gap: 12px;
}

.jhb-application-checks .jhb-job-apply-consent {
border-color: rgba(51, 91, 61, .14);
  background: #fbfcfb;

  width: 100%;
  padding: 15px 16px;
}

.jhb-application-checks .jhb-job-apply-captcha {
grid-template-columns: minmax(0, 1fr) 88px;
  border-color: rgba(233, 98, 11, .16);
  background: #fffaf6;

  grid-template-columns: minmax(0, 1fr) minmax(190px, 240px);
  align-items: end;
  align-content: center;
  gap: 12px 18px;
  width: 100%;
  min-height: 0;
  padding: 15px 16px;
}

.jhb-application-checks .jhb-job-apply-captcha input {
min-height: 44px;
  padding: 9px 10px;
  background: #fff;
  text-align: center;
  font-weight: 850;

  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding-inline: 14px;
  text-align: left;
}

.jhb-application-section textarea {
min-height: 88px;
}

.jhb-application-trust {
margin: 0;
  color: #7a8492;
  font-size: 12px;
  line-height: 1.45;
  text-align: center;

  margin-top: -2px;
}

@media (max-width: 720px) {.jhb-application-checks {
grid-template-columns: 1fr;
}

.jhb-application-checks .jhb-job-apply-captcha {
grid-template-columns: 1fr;
    align-items: stretch;
}

.jhb-application-actions {
grid-template-columns: 1fr;
}

.jhb-application-actions .jhb-job-apply-submit,
  .jhb-application-actions .jhb-job-apply-cancel {
width: 100%;
}
}

@media (max-width: 520px) {.jhb-application-context__meta {
gap: 7px;
}

.jhb-application-context__chip {
font-size: 12.3px;
}
}

.jhb-job-apply-eyebrow {
display: block;
  margin: 0 0 5px;
  color: #b54a03;
  font-size: 11.5px;
  font-weight: 850;
  line-height: 1.2;
  letter-spacing: .13em;
  text-transform: uppercase;
margin-bottom:4px;font-size:10.5px;letter-spacing:.12em;
}

.jhb-job-apply-drawer__close {
min-height:36px;padding:8px 13px;font-size:12.5px;
}

@media (max-width:720px){.jhb-job-apply-drawer__inner {
padding:19px 16px 22px;
}

.jhb-job-apply-drawer__header h2 {
font-size:clamp(23px,7vw,28px);
}

.jhb-job-apply-drawer__intro {
font-size:13.5px;
}

.jhb-application-actions {
flex-direction:column;align-items:stretch;
}

.jhb-application-actions .jhb-job-apply-submit,.jhb-application-actions .jhb-job-apply-cancel {
width:100%;min-width:0;
}
}

.jhb-job-apply-drawer,
.jhb-job-apply-drawer *,
.jhb-job-apply-drawer::before,
.jhb-job-apply-drawer::after,
.jhb-job-apply-drawer *::before,
.jhb-job-apply-drawer *::after {
box-sizing: border-box;
}

.jhb-job-apply-drawer {
width: min(760px, calc(100vw - 48px));
  border-color: rgba(233, 98, 11, .14);
  background: rgba(255, 255, 255, .985);

  width: min(660px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100dvh - 32px);
  border-radius: 26px;
}

.jhb-job-apply-drawer__inner {
padding: 28px 30px 30px;
padding:22px 24px 24px;scrollbar-width:thin;scrollbar-color:rgba(36,81,38,.52) transparent;
  width: 100%;
  min-width: 0;

  padding: 22px 24px 24px;
  scrollbar-width: thin;
  scrollbar-color: rgba(46, 98, 62, .55) transparent;
}

.jhb-job-apply-drawer__inner::-webkit-scrollbar {
width:8px; width: 7px;
}

.jhb-job-apply-drawer__inner::-webkit-scrollbar-track {
background:transparent;margin-block:14px;
  background: transparent;
  margin-block: 14px;
}

.jhb-job-apply-drawer__inner::-webkit-scrollbar-thumb {
background:linear-gradient(180deg,rgba(87,147,67,.66),rgba(14,60,40,.68));background-clip:padding-box;border:2px solid #fff;border-radius:999px;
  border: 2px solid #fff;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(87, 147, 67, .66), rgba(14, 60, 40, .72));
  background-clip: padding-box;
}

.jhb-job-apply-drawer__inner::-webkit-scrollbar-thumb:hover {
background:linear-gradient(180deg,#f07a25,#d95304);background-clip:padding-box;
  background: linear-gradient(180deg, #f07a25, #d95304);
  background-clip: padding-box;
}

.jhb-job-apply-drawer__header {
align-items:flex-start;gap:14px;margin-bottom:10px;padding-bottom:10px;
  gap: 14px;
  margin-bottom: 8px;
  padding-bottom: 8px;
}

.jhb-job-apply-drawer__header h2 {
font-size: clamp(27px, 3vw, 34px);
font-size:clamp(25px,2.4vw,30px);font-weight:830;line-height:1.08;letter-spacing:-.028em;
  font-size: clamp(1.5rem, 2.1vw, 1.82rem);
  font-weight: 820;
  line-height: 1.08;
}

.jhb-job-apply-drawer__intro {
margin-bottom: 20px;
  color: #667085;
max-width:64ch;margin-bottom:16px;font-size:14px;line-height:1.52;
  margin-bottom: 16px;
  font-size: .9rem;
  line-height: 1.5;
}

.jhb-application-form {
gap: 16px;
 position: relative;
}

.jhb-application-validation-summary {
margin: 0 0 2px;
  padding: 12px 14px;
  border: 1px solid rgba(185, 56, 35, .24);
  border-radius: 14px;
  background: #fff5f2;
  color: #8d2f20;
  font-size: .86rem;
  font-weight: 750;
  line-height: 1.45;
  outline: none;
}

.jhb-application-validation-summary:focus {
box-shadow: 0 0 0 4px rgba(185, 56, 35, .1);
}

.jhb-application-submit-overlay {
position: absolute;
  z-index: 8;
  inset: 0;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 9px;
  padding: 28px;
  border-radius: 22px;
  background: rgba(255, 255, 255, .92);
  backdrop-filter: blur(5px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  text-align: center;
  transition: opacity .18s ease, visibility .18s ease;
}

.jhb-application-submit-overlay strong {
color: #173d2c;
  font-size: 1rem;
}

.jhb-application-submit-overlay > span:last-child {
color: #667085;
  font-size: .84rem;
}

.jhb-application-submit-spinner {
width: 34px;
  height: 34px;
  border: 3px solid rgba(233, 98, 11, .18);
  border-top-color: #e9620b;
  border-radius: 50%;
  animation: jhbApplicationSpin .75s linear infinite;
}

.jhb-application-form.is-submitting .jhb-application-submit-overlay {
opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.jhb-application-form.is-submitting {
pointer-events: none;
}

.jhb-application-actions {
margin-top: 1px;

  grid-template-columns: auto minmax(230px, 290px);
  justify-content: end;
  align-items: center;
  gap: 12px;
  margin-top: 3px;
  padding-top: 4px;
display:flex;grid-template-columns:none;justify-content:flex-end;align-items:center;gap:10px;margin-top:6px;padding-top:4px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
}

.jhb-application-actions .jhb-job-apply-cancel {
width: auto;
  min-width: 108px;
  background: #fff;
  border: 1px solid rgba(233, 98, 11, .26);
  color: var(--jhb-accent-strong);
  box-shadow: none;
flex:0 0 auto;width:auto;min-width:100px;min-height:44px;padding-inline:16px;
  flex: 0 0 auto;
  width: auto;
  min-width: 100px;
  min-height: 44px;
  padding: 9px 16px;
}

.jhb-application-actions .jhb-job-apply-submit {
width: 100%;
  min-height: 50px;
  font-weight: 850;
flex:0 0 auto;width:auto;min-width:228px;max-width:100%;min-height:46px;padding-inline:22px;white-space:nowrap;
  flex: 0 0 auto;
  width: auto;
  min-width: 226px;
  max-width: 100%;
  min-height: 46px;
  padding: 10px 22px;
  white-space: nowrap;
}

.jhb-job-apply-feedback:focus,
.jhb-job-apply-status:focus {
outline: none;
  box-shadow: 0 0 0 5px rgba(87, 147, 67, .14), 0 22px 55px rgba(15, 23, 42, .12);
}

@keyframes jhbApplicationSpin {to {
transform: rotate(360deg);
}
}

@media (max-width: 720px) {.jhb-job-apply-drawer {
width: calc(100% - 18px);
    max-height: calc(100dvh - 18px);
    border-radius: 23px;
}

.jhb-job-apply-drawer__inner {
padding: 18px 15px 20px;
}

.jhb-job-apply-drawer__header h2 {
font-size: clamp(1.38rem, 7vw, 1.65rem);
}

.jhb-application-actions {
flex-direction: column;
    align-items: stretch;
}

.jhb-application-actions .jhb-job-apply-submit,
  .jhb-application-actions .jhb-job-apply-cancel {
width: 100%;
    min-width: 0;
}

.jhb-application-submit-overlay {
position: fixed;
    inset: 0;
    border-radius: 0;
}
}
