/* =================================================================
   INSIGHT PORTAL — Bewerbungsformular
   ================================================================= */
.irp-apply-form,.irp-apply-success,.irp-apply-error{
  --line:rgba(255,255,255,.105);--text:#F8F7FF;--text-soft:#B8B4C7;
  --text-muted:#7B768F;--purple:#4E2780;--purple-2:#7A3DFF;--purple-soft:#B98CFF;
  --burgundy:#8B001A;--cyan:#5FE1FF;--warm:#FF8A3D;--green:#34D399;
  --serif:var(--ir-font-heading,'Instrument Serif',serif);--sans:var(--ir-font-body,'DM Sans',sans-serif);
  --ease:cubic-bezier(.2,.7,.2,1);
  font-family:var(--sans);color:var(--text);
}
.irp-apply-form{border:1px solid var(--line);border-radius:28px;
  background:rgba(255,255,255,.032);padding:36px;
  box-shadow:0 38px 110px rgba(0,0,0,.24);max-width:760px;margin:0 auto;}
.irp-apply-title{font-family:var(--serif);font-weight:400;font-size:clamp(30px,4vw,42px);
  letter-spacing:-.035em;line-height:1.05;margin:0 0 8px;}
.irp-apply-sub{color:var(--text-muted);font-size:14px;margin:0 0 28px;}

.irp-apply-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.irp-apply-form .irp-field{display:flex;flex-direction:column;gap:8px;}
.irp-apply-form .irp-field.full{grid-column:1 / -1;}
.irp-apply-form .irp-field label{font-size:11px;text-transform:uppercase;
  letter-spacing:.12em;color:var(--text-muted);font-weight:700;}
.irp-apply-form .irp-field input,
.irp-apply-form .irp-field select,
.irp-apply-form .irp-field textarea{
  width:100%;border:1px solid var(--line);border-radius:16px;
  background:rgba(0,0,0,.22);padding:14px 16px;color:var(--text);
  outline:none;font-family:var(--sans);font-size:15px;transition:.2s;}
.irp-apply-form .irp-field input:focus,
.irp-apply-form .irp-field select:focus,
.irp-apply-form .irp-field textarea:focus{
  border-color:rgba(185,140,255,.5);box-shadow:0 0 0 4px rgba(122,61,255,.1);}
.irp-apply-form .irp-field input[type=file]{padding:11px 14px;color:var(--text-soft);cursor:pointer;}

.irp-consent{display:flex;gap:12px;align-items:flex-start;margin:24px 0;
  font-size:13px;color:var(--text-soft);line-height:1.6;}
.irp-consent input{margin-top:3px;width:18px;height:18px;flex-shrink:0;accent-color:var(--purple-2);}
.irp-consent a{color:var(--purple-soft);}

.irp-apply-submit{width:100%;border:0;border-radius:999px;background:#fff;
  color:#07070A;padding:17px 24px;font-size:15px;font-weight:800;cursor:pointer;
  transition:.28s var(--ease);}
.irp-apply-submit:hover{transform:translateY(-2px);box-shadow:0 18px 50px rgba(255,255,255,.16);}
.irp-apply-note{color:var(--text-muted);font-size:12px;text-align:center;margin:16px 0 0;line-height:1.6;}

/* Erfolg / Fehler */
.irp-apply-success,.irp-apply-error{border-radius:24px;padding:32px;max-width:760px;
  margin:0 auto;text-align:center;border:1px solid var(--line);}
.irp-apply-success{background:rgba(52,211,153,.08);border-color:rgba(52,211,153,.28);}
.irp-apply-success h3{font-family:var(--serif);font-weight:400;font-size:32px;
  letter-spacing:-.03em;margin:0 0 12px;color:var(--green);}
.irp-apply-success p{color:var(--text-soft);font-size:15px;margin:0;}
.irp-apply-error{background:rgba(255,68,97,.08);border-color:rgba(255,68,97,.28);}
.irp-apply-error p{color:#FFB3C0;margin:0;}

@media(max-width:680px){
  .irp-apply-grid{grid-template-columns:1fr;}
  .irp-apply-form{padding:24px;}
}

/* =================================================================
   BEWERBEN-POPUP (Modal) + Step-Formular
   ================================================================= */
.irp-apply-cta{
  --line:rgba(255,255,255,.105);--text:#F8F7FF;--text-muted:#7B768F;
  --purple:#4E2780;--purple-2:#7A3DFF;--purple-soft:#B98CFF;--burgundy:#8B001A;
  --serif:var(--ir-font-heading,'Instrument Serif',serif);--sans:var(--ir-font-body,'DM Sans',sans-serif);--ease:cubic-bezier(.2,.7,.2,1);
  font-family:var(--sans);text-align:center;
}
.irp-apply-open{display:inline-block;width:100%;border:0;border-radius:999px;
  background:#fff;color:#07070A;padding:16px 24px;font-size:15px;font-weight:800;
  cursor:pointer;font-family:var(--sans);transition:.28s var(--ease);}
.irp-apply-open:hover{transform:translateY(-2px);box-shadow:0 18px 50px rgba(255,255,255,.16);}

/* Modal */
.irp-modal{position:fixed;inset:0;z-index:100050;display:flex;align-items:center;
  justify-content:center;padding:24px;font-family:var(--sans);}
.irp-modal[hidden]{display:none;}
.irp-modal-backdrop{position:absolute;inset:0;background:rgba(3,3,6,.72);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.irp-modal-box{position:relative;z-index:1;width:100%;max-width:540px;
  max-height:90vh;overflow-y:auto;border:1px solid rgba(255,255,255,.12);
  border-radius:28px;background:#0D0D16;
  background-image:radial-gradient(600px 400px at 100% 0%,rgba(122,61,255,.14),transparent 60%);
  padding:36px;box-shadow:0 60px 160px rgba(0,0,0,.6);color:#F8F7FF;
  animation:irpModalIn .3s cubic-bezier(.2,.7,.2,1);}
@keyframes irpModalIn{from{opacity:0;transform:translateY(20px) scale(.98);}to{opacity:1;transform:none;}}
.irp-modal-close{position:absolute;top:20px;right:22px;width:38px;height:38px;
  border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);
  color:#B8B4C7;font-size:22px;line-height:1;cursor:pointer;transition:.2s;}
.irp-modal-close:hover{background:rgba(255,255,255,.1);color:#fff;}
.irp-modal-eyebrow{display:inline-block;color:#B98CFF;font-size:11px;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px;}
.irp-modal-title{font-family:var(--serif);font-weight:400;font-size:30px;
  letter-spacing:-.03em;line-height:1.1;margin:0 0 24px;}

/* Login-Gate */
.irp-gate{text-align:center;}
.irp-gate-text{color:#B8B4C7;font-size:15px;line-height:1.7;margin:0 0 24px;}
.irp-gate-note{color:#7B768F;font-size:13px;margin:14px 0 0;}

/* "Angemeldet als" */
.irp-known{display:flex;flex-direction:column;gap:2px;padding:16px 18px;margin-bottom:24px;
  border:1px solid rgba(185,140,255,.22);border-radius:16px;background:rgba(78,39,128,.12);}
.irp-known span{color:#7B768F;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;}
.irp-known strong{font-size:16px;color:#F8F7FF;}
.irp-known small{color:#B8B4C7;font-size:13px;}

/* Step-Progress */
.irp-steps-bar{display:flex;align-items:center;gap:8px;margin-bottom:24px;}
.irp-step-dot{width:12px;height:12px;border-radius:999px;background:rgba(255,255,255,.12);transition:.3s;}
.irp-step-dot.active{background:linear-gradient(135deg,var(--purple-2),var(--burgundy));
  box-shadow:0 0 14px rgba(122,61,255,.5);}
.irp-step-line{flex:1;height:2px;background:rgba(255,255,255,.1);}

.irp-step-actions{display:flex;gap:10px;margin-top:8px;}
.irp-step-actions .irp-apply-submit{flex:1;}
.irp-apply-ghost{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);
  color:#B8B4C7;border-radius:999px;padding:16px 22px;font-size:14px;font-weight:700;
  cursor:pointer;font-family:var(--sans);transition:.2s;}
.irp-apply-ghost:hover{background:rgba(255,255,255,.09);color:#fff;}

@media(max-width:560px){
  .irp-modal-box{padding:26px;}
  .irp-apply-grid{grid-template-columns:1fr;}
}

/* Step-Formular: Felder im Modal stylen (erben nicht von .irp-apply-form) */
.irp-modal--open{display:flex;}
.irp-step-form{--line:rgba(255,255,255,.105);--text:#F8F7FF;--text-muted:#7B768F;
  --purple-2:#7A3DFF;--purple-soft:#B98CFF;--sans:var(--ir-font-body,'DM Sans',sans-serif);}
.irp-step-form .irp-field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;}
.irp-step-form .irp-field.full{grid-column:1 / -1;}
.irp-step-form .irp-apply-grid .irp-field{margin-bottom:0;}
.irp-step-form .irp-field label{font-size:11px;text-transform:uppercase;
  letter-spacing:.12em;color:var(--text-muted);font-weight:700;}
.irp-step-form .irp-field input,
.irp-step-form .irp-field textarea{
  width:100%;border:1px solid var(--line);border-radius:16px;
  background:rgba(0,0,0,.28);padding:14px 16px;color:var(--text);
  outline:none;font-family:var(--sans);font-size:15px;transition:.2s;box-sizing:border-box;}
.irp-step-form .irp-field input:focus,
.irp-step-form .irp-field textarea:focus{
  border-color:rgba(185,140,255,.5);box-shadow:0 0 0 4px rgba(122,61,255,.1);}
.irp-step-form .irp-field input[type=file]{padding:11px 14px;color:var(--text-soft);cursor:pointer;}
.irp-step-form .irp-apply-grid{margin-bottom:16px;}
.irp-step-form .irp-consent{display:flex;gap:12px;align-items:flex-start;margin:8px 0 20px;
  font-size:13px;color:#B8B4C7;line-height:1.6;}
.irp-step-form .irp-consent input{margin-top:3px;width:18px;height:18px;flex-shrink:0;accent-color:var(--purple-2);}
.irp-step-form .irp-consent a{color:var(--purple-soft);}
.irp-step-form .irp-apply-note{margin-top:14px;}

/* v2.2.2 — Bereits-beworben / Bearbeiten-Hinweise */
.irp-apply-open--applied,
.irp-single .irp-apply-btn--applied,
button.irp-apply-btn--applied{
  background:rgba(185,140,255,.12)!important;
  color:#F8F7FF!important;
  border:1px solid rgba(185,140,255,.35)!important;
  box-shadow:none!important;
}
.irp-apply-edit-note{
  margin:0 0 18px;
  padding:14px 16px;
  border:1px solid rgba(185,140,255,.24);
  border-radius:16px;
  background:rgba(185,140,255,.08);
  color:#B8B4C7;
  font-size:14px;
  line-height:1.55;
}
.irp-apply-edit-note strong{color:#F8F7FF;}
.irp-current-cv{
  display:block;
  margin:-2px 0 8px;
  color:#7B768F;
  font-size:12px;
}

/* v2.6.3 — Login/Registrierung direkt im Bewerbungs-Popup */
.irp-modal-box .irp-auth-wrap{color:#F8F7FF;}
.irp-modal-box .irp-auth-card{width:100%;}
.irp-modal-box .irp-auth-field input{box-sizing:border-box;width:100%;}
.irp-modal-box .irp-auth-submit{margin-top:2px;}
