/* Bro-Shop CEO application. Cabin and logo colours from bro-shop.ch; scoped to the shortcode. */
.bsj.bsj-bewerbung, .bsj.bsj-bewerbung * { box-sizing:border-box !important; }
.bsj.bsj-bewerbung {
  width:100% !important; max-width:100% !important; margin:0 !important;
  padding:88px 24px !important; background:#fffaf0 !important;
  color:#2b0a61 !important; scroll-margin-top:90px !important;
  font-family:Cabin,Arial,sans-serif !important;
}
.bsj .bsj-contact-inner {
  width:100% !important; max-width:1180px !important; margin:0 auto !important;
  display:grid !important; grid-template-columns:.9fr 1.35fr !important;
  gap:56px !important; align-items:start !important;
}
.bsj .bsj-contact-info { padding:8px 0 0 !important; }
.bsj .bsj-contact-kicker {
  margin:0 0 18px !important;
  font:600 14px/1.4 Cabin,Arial,sans-serif !important;
  letter-spacing:.08em !important; text-transform:uppercase !important; color:#2b0a61 !important;
}
.bsj .bsj-contact-title {
  margin:0 0 22px !important;
  font:400 48px/1.08 Cabin,Arial,sans-serif !important;
  letter-spacing:-.02em !important; color:#2b0a61 !important;
}
.bsj .bsj-contact-text {
  margin:0 !important; max-width:420px !important;
  font:400 17px/1.7 Cabin,Arial,sans-serif !important;
  color:#2b0a61 !important; opacity:.9 !important;
}
.bsj .bsj-contact-details {
  margin-top:42px !important; padding-top:32px !important;
  border-top:1px solid rgba(43,10,97,.22) !important;
  display:grid !important; gap:24px !important;
}
.bsj .bsj-contact-detail {
  display:grid !important; gap:6px !important;
  font:400 17px/1.55 Cabin,Arial,sans-serif !important;
  color:#2b0a61 !important;
}
.bsj .bsj-contact-detail-strong span:first-child { font-weight:700 !important; }
.bsj .bsj-contact-detail a {
  color:#2b0a61 !important; text-decoration:none !important;
  width:fit-content !important; border-bottom:1px solid rgba(43,10,97,.35) !important;
  transition:border-color 180ms ease,opacity 180ms ease !important;
}
.bsj .bsj-contact-detail a:hover { opacity:.75 !important; border-color:#2b0a61 !important; }
.bsj .bsj-contact-form-wrap {
  width:100% !important; min-width:0 !important; background:transparent !important;
  border-left:1px solid rgba(43,10,97,.18) !important; padding-left:56px !important;
}
.bsj .bsj-apply-form { width:100% !important; display:grid !important; gap:22px !important; margin:0 !important; padding:0 !important; }
.bsj .bsj-form-grid { display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; gap:22px !important; }
.bsj .bsj-form-group { display:grid !important; gap:8px !important; width:100% !important; min-width:0 !important; }
.bsj .bsj-form-label {
  display:block !important; margin:0 !important;
  font:700 14px/1.35 Cabin,Arial,sans-serif !important;
  color:#2b0a61 !important;
}
.bsj .bsj-form-label > span:not(.bsj-optional), .bsj .bsj-consent strong { color:#fb4778 !important; font-weight:700 !important; }
.bsj .bsj-optional { color:rgba(43,10,97,.72) !important; font-size:13px !important; font-weight:400 !important; }
.bsj .bsj-apply-form input:not([type=checkbox]):not([type=hidden]),
.bsj .bsj-apply-form select, .bsj .bsj-apply-form textarea {
  display:block !important; width:100% !important; min-width:0 !important; min-height:54px !important;
  margin:0 !important; padding:14px 16px !important;
  border:1px solid rgba(43,10,97,.28) !important; border-radius:0 !important;
  background:#ffffff !important; background-color:#ffffff !important;
  box-shadow:none !important; outline:none !important;
  font:400 16px/1.4 Cabin,Arial,sans-serif !important;
  color:#2b0a61 !important;
  transition:border-color 180ms ease,background-color 180ms ease !important;
}
.bsj .bsj-apply-form textarea { resize:vertical !important; min-height:132px !important; }
.bsj .bsj-apply-form input::placeholder, .bsj .bsj-apply-form textarea::placeholder { color:rgba(43,10,97,.52) !important; opacity:1 !important; }
.bsj .bsj-apply-form select { cursor:pointer !important; appearance:none !important; padding-right:46px !important;
  background-image:linear-gradient(45deg,transparent 50%,#2b0a61 50%),linear-gradient(135deg,#2b0a61 50%,transparent 50%) !important;
  background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50% !important;
  background-size:6px 6px,6px 6px !important; background-repeat:no-repeat !important;
}
.bsj .bsj-apply-form input:focus, .bsj .bsj-apply-form select:focus, .bsj .bsj-apply-form textarea:focus {
  border-color:#2b0a61 !important; background-color:#fff !important;
}
.bsj .bsj-apply-form input[type=file] { min-height:54px !important; padding:12px 16px !important; }
.bsj .bsj-apply-form input[type=file]::file-selector-button {
  font:600 13px/1.3 Cabin,Arial,sans-serif !important;
  border:1px solid rgba(43,10,97,.28) !important; border-radius:0 !important;
  background:#fffaf0 !important; color:#2b0a61 !important; padding:8px 12px !important;
  margin:0 12px 0 0 !important; cursor:pointer !important;
}
.bsj .bsj-consent {
  display:flex !important; align-items:flex-start !important; gap:10px !important;
  margin:0 !important; cursor:pointer !important;
  font:400 15px/1.5 Cabin,Arial,sans-serif !important;
  color:#2b0a61 !important;
}
.bsj .bsj-consent input[type=checkbox] {
  display:block !important; flex:none !important; width:18px !important; height:18px !important;
  min-width:18px !important; margin:2px 0 0 !important; accent-color:#2b0a61 !important; box-shadow:none !important;
}
.bsj .bsj-consent a, .bsj .bsj-form-footnote a { color:#2b0a61 !important; text-decoration:underline !important; text-underline-offset:3px !important; }
.bsj .bsj-form-footnote {
  margin:-8px 0 0 !important; font:400 13px/1.55 Cabin,Arial,sans-serif !important;
  color:#2b0a61 !important; opacity:.72 !important;
}
.bsj .bsj-submit-row { display:flex !important; justify-content:flex-end !important; padding-top:6px !important; }
.bsj .bsj-btn-submit, .bsj .bsj-btn-submit:hover, .bsj .bsj-btn-submit:focus, .bsj .bsj-btn-submit:active {
  min-height:54px !important; padding:15px 34px !important; margin:0 !important;
  border:1px solid #fb4778 !important; border-radius:0 !important;
  background:#fb4778 !important; background-color:#fb4778 !important; background-image:none !important;
  box-shadow:none !important; outline:none !important;
  font:700 15px/1 Cabin,Arial,sans-serif !important;
  color:#fffaf0 !important; cursor:pointer !important;
  transition:background-color 180ms ease,color 180ms ease !important;
}
.bsj .bsj-btn-submit:hover, .bsj .bsj-btn-submit:focus { background:transparent !important; background-color:transparent !important; color:#fb4778 !important; }
.bsj .bsj-btn-submit::before,.bsj .bsj-btn-submit::after { content:none !important; display:none !important; }
.bsj .bsj-alert { padding:14px 16px !important; margin:0 0 22px !important;
  border:1px solid rgba(180,35,24,.35) !important; border-radius:0 !important;
  background:#fff8f6 !important; color:#b42318 !important;
  font:500 15px/1.5 Cabin,Arial,sans-serif !important;
}
.bsj .bsj-alert-success { border-color:rgba(43,10,97,.35) !important; background:#f5f4e8 !important; color:#2b0a61 !important; }
.bsj .bsj-honeypot { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.bsj :is(input,select,textarea,button,a):focus-visible { outline:2px solid #fb4778 !important; outline-offset:2px !important; }
@media(max-width:1024px) {
  .bsj.bsj-bewerbung { padding:72px 22px !important; }
  .bsj .bsj-contact-inner { grid-template-columns:1fr !important; gap:42px !important; }
  .bsj .bsj-contact-title { font-size:42px !important; }
  .bsj .bsj-contact-text { max-width:720px !important; }
  .bsj .bsj-contact-form-wrap { border-left:0 !important; padding-left:0 !important; padding-top:42px !important; border-top:1px solid rgba(43,10,97,.18) !important; }
}
@media(max-width:767px) {
  .bsj.bsj-bewerbung { padding:56px 18px !important; }
  .bsj .bsj-contact-title { font-size:34px !important; line-height:1.12 !important; }
  .bsj .bsj-contact-text, .bsj .bsj-contact-detail { font-size:16px !important; }
  .bsj .bsj-contact-details { margin-top:32px !important; padding-top:26px !important; gap:20px !important; }
  .bsj .bsj-form-grid { grid-template-columns:1fr !important; gap:22px !important; }
  .bsj .bsj-apply-form input:not([type=checkbox]):not([type=hidden]),.bsj .bsj-apply-form select,.bsj .bsj-apply-form textarea { min-height:52px !important; font-size:15.5px !important; }
  .bsj .bsj-submit-row { justify-content:stretch !important; }
  .bsj .bsj-btn-submit { width:100% !important; }
}
@media(max-width:480px) { .bsj.bsj-bewerbung { padding:46px 16px !important; } .bsj .bsj-contact-title { font-size:30px !important; } }

/* Two document fields side by side; final field spans the full form. */
.bsj .bsj-upload-grid {
  display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:22px !important; min-width:0 !important;
}
.bsj .bsj-upload-full { grid-column:1 / -1 !important; }
.bsj .bsj-file-row {
  display:grid !important; grid-template-columns:minmax(0,1fr) 44px !important;
  gap:8px !important; align-items:stretch !important; min-width:0 !important;
}
.bsj .bsj-file-row input[type=file] {
  width:100% !important; min-width:0 !important; min-height:54px !important;
  padding:8px !important; border:1px dashed rgba(43,10,97,.28) !important;
  overflow:hidden !important; text-overflow:ellipsis !important; font-size:12px !important;
}
.bsj .bsj-file-row input[type=file]::file-selector-button {
  padding:8px !important; margin-right:8px !important; font-size:11px !important;
}
.bsj .bsj-file-row .bsj-file-clear {
  min-width:0 !important; width:44px !important; min-height:54px !important;
  padding:0 !important; margin:0 !important; border:1px solid #fb4778 !important;
  border-radius:0 !important; background:#fb4778 !important; background-image:none !important;
  color:#fffaf0 !important; box-shadow:none !important;
  font:700 22px/1 Cabin,Arial,sans-serif !important; cursor:pointer !important;
}
.bsj .bsj-file-clear::before,.bsj .bsj-file-clear::after { display:none !important; content:none !important; }
.bsj .bsj-file-clear:disabled { opacity:.4 !important; cursor:default !important; }
.bsj .bsj-file-clear:not(:disabled):hover { background:#2b0a61 !important; border-color:#2b0a61 !important; }
.bsj .bsj-file-hint {
  display:block !important; margin:0 !important; color:rgba(43,10,97,.75) !important;
  font:400 11px/1.55 Cabin,Arial,sans-serif !important;
}
.bsj .bsj-file-error { color:#b42318 !important; font:500 13px/1.4 Cabin,Arial,sans-serif !important; }
.bsj .bsj-file-error:empty { display:none !important; }
.bsj .bsj-file-row input[aria-invalid=true] { border-color:#b42318 !important; background:#fff8f6 !important; }
.bsj .bsj-btn-submit:disabled { opacity:.65 !important; cursor:wait !important; }
@media(max-width:767px) {
  .bsj .bsj-upload-grid { grid-template-columns:minmax(0,1fr) !important; }
  .bsj .bsj-file-row input[type=file] { font-size:12px !important; }
}

/* Restored form state after an interrupted upload. */
.bsj .bsj-restored-message {
  margin:0 !important; padding:12px 14px !important;
  border:1px solid rgba(251,71,120,.35) !important;
  background:#f5f4e8 !important;
  font:500 14px/1.5 Cabin,Arial,sans-serif !important;
  color:#2b0a61 !important;
}

/* v1.0.5: PflegeHerz-style application layout in Bro-Shop colours.
   The complete, unchanged Word text is in the bundled public job PDF. */
.bsj .bsj-logo { display:block !important; width:112px !important; height:auto !important; max-width:100% !important; margin:0 0 25px !important; }
.bsj .bsj-contact-inner { grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr) !important; }
.bsj .bsj-contact-title { font-weight:700 !important; font-size:42px !important; line-height:1.14 !important; overflow-wrap:anywhere !important; }
.bsj .bsj-job-start { margin:-8px 0 25px !important; font:600 17px/1.5 Cabin,Arial,sans-serif !important; color:#2b0a61 !important; }
.bsj .bsj-job-intro { margin-top:16px !important; }
.bsj .bsj-contact-details { margin-top:30px !important; padding-top:24px !important; }
.bsj .bsj-job-pdf { margin:0 !important; font:400 16px/1.65 Cabin,Arial,sans-serif !important; color:#2b0a61 !important; }
.bsj .bsj-job-pdf a { color:#2b0a61 !important; font-weight:700 !important; text-decoration:underline !important; text-underline-offset:3px !important; }
.bsj .bsj-job-pdf a:hover { text-decoration-thickness:2px !important; }
.bsj .bsj-form-heading { margin:0 0 26px !important; color:#2b0a61 !important; font:700 28px/1.2 Cabin,Arial,sans-serif !important; }
@media(max-width:1024px) { .bsj .bsj-contact-inner { grid-template-columns:minmax(0,1fr) !important; } }
@media(max-width:767px) { .bsj .bsj-contact-title { font-size:34px !important; } }
@media(max-width:480px) { .bsj .bsj-contact-title { font-size:30px !important; } }
.bsj [hidden] { display:none !important; }
.bsj .bsj-validation-error { color:#b42318 !important; font:500 13px/1.45 Cabin,Arial,sans-serif !important; }
.bsj .bsj-consent { flex-wrap:wrap !important; }
.bsj .bsj-consent > span:not(.bsj-validation-error) { flex:1 !important; }
.bsj .bsj-consent .bsj-validation-error { flex-basis:100% !important; }
.bsj .bsj-apply-form input[data-bsj-server-error][aria-invalid=true],.bsj .bsj-apply-form select[data-bsj-server-error],.bsj .bsj-apply-form textarea[data-bsj-server-error] { border-color:#b42318 !important; }
.bsj .bsj-client-result ul { margin:8px 0 0 !important; padding-left:20px !important; }
