/* ============================================================
   SFC Express-Bewerbung – inline auf der Stellen-Detailseite
   Isoliertes Feature-CSS (per <f:asset.css> nur auf Show.html geladen).
   CI-konform: nutzt Design-Tokens mit sicheren Fallbacks.
   ============================================================ */
.sfc-xpress{
  --xp-ci: var(--ci, #0057B7);
  --xp-ci-dark: var(--ci-dark, #003D80);
  --xp-ink: var(--ink, #0e1a2b);
  --xp-muted: var(--muted, #5a6b80);
  position: relative;
  overflow: hidden;
  margin: clamp(2rem, 5vw, 3.25rem) 0 var(--space-4, 1rem);
  padding: clamp(1.4rem, 3vw, 2.5rem);
  scroll-margin-top: 96px;
  border: 1px solid rgba(0,87,183,.16);
  border-radius: var(--radius-lg, 20px);
  background:
    radial-gradient(130% 150% at 100% 0%, rgba(0,87,183,.10) 0%, rgba(0,87,183,0) 55%),
    var(--surface, #ffffff);
  box-shadow: 0 20px 52px -26px rgba(0,61,128,.5);
}
.sfc-xpress::before{
  content:""; position:absolute; inset:0 0 auto 0; height:4px;
  background: linear-gradient(90deg, var(--xp-ci), #2e8bff);
}
.sfc-xpress__head{ display:flex; align-items:center; gap:.9rem; margin-bottom:1.25rem; }
.sfc-xpress__flash{
  flex:0 0 auto; width:48px; height:48px; border-radius:14px;
  display:grid; place-items:center; font-size:1.5rem; color:#fff;
  background: linear-gradient(135deg, var(--xp-ci), var(--xp-ci-dark));
  box-shadow: 0 8px 20px -6px rgba(0,87,183,.6);
}
.sfc-xpress__title{ margin:0; font-size: clamp(1.3rem, 2.4vw, 1.7rem); font-weight:800; line-height:1.1; color: var(--xp-ink); }
.sfc-xpress__sub{ margin:.3rem 0 0; font-size:.98rem; line-height:1.45; color: var(--xp-muted); }
.sfc-xpress__posting{
  display:flex; align-items:center; gap:.5rem; flex-wrap:wrap;
  margin-bottom:1.4rem; padding:.7rem 1rem; border-radius:12px;
  background: rgba(0,87,183,.06); border:1px dashed rgba(0,87,183,.30);
  font-size:.95rem; color: var(--xp-ink);
}
.sfc-xpress__posting i{ color: var(--xp-ci); }
.sfc-xpress__posting span{ color: var(--xp-muted); }
.sfc-xpress__posting strong{ font-weight:700; }
.sfc-xpress__grid{ display:grid; grid-template-columns:1fr 1fr; gap:.9rem 1rem; }
.sfc-xpress__field{ display:flex; flex-direction:column; gap:.35rem; }
.sfc-xpress__field--full{ grid-column:1 / -1; }
.sfc-xpress__label{ font-size:.82rem; font-weight:600; color: var(--xp-ink); }
.sfc-xpress__req{ color: var(--xp-ci); }
.sfc-xpress__opt{ color: var(--xp-muted); font-weight:400; }
.sfc-xpress__input{
  width:100%; padding:.72rem .85rem; font:inherit; font-size:1rem;
  color: var(--xp-ink); background:#fff;
  border:1.5px solid #d8e0ea; border-radius:10px;
  transition: border-color .15s, box-shadow .15s;
}
.sfc-xpress__input:focus{ outline:none; border-color: var(--xp-ci); box-shadow:0 0 0 3px rgba(0,87,183,.15); }
.sfc-xpress__input::placeholder{ color:#9aa8ba; }
textarea.sfc-xpress__input{ resize:vertical; min-height:84px; }
.sfc-xpress__foot{
  display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap;
  margin-top:1.35rem;
}
.sfc-xpress__privacy{ margin:0; max-width:34ch; font-size:.8rem; line-height:1.5; color: var(--xp-muted); }
.sfc-xpress__privacy i{ color: var(--xp-ci); }
.sfc-xpress__privacy a{ color: var(--xp-ci); text-decoration:underline; }
.sfc-xpress__btn{
  display:inline-flex; align-items:center; gap:.55rem; margin-left:auto;
  padding:.85rem 1.65rem; font:inherit; font-size:1.02rem; font-weight:700;
  color:#fff; cursor:pointer; border:0; border-radius:12px; white-space:nowrap;
  background: linear-gradient(135deg, var(--xp-ci), var(--xp-ci-dark));
  box-shadow: 0 12px 26px -10px rgba(0,87,183,.7);
  transition: transform .15s, box-shadow .15s, filter .15s;
}
.sfc-xpress__btn:hover{ transform: translateY(-2px); box-shadow:0 18px 34px -12px rgba(0,87,183,.8); filter:brightness(1.06); }
.sfc-xpress__btn:disabled{ opacity:.65; cursor:wait; transform:none; }
.sfc-xpress__btn i{ transition: transform .15s; }
.sfc-xpress__btn:hover i{ transform: translateX(3px); }
.sfc-xpress__or{ display:flex; align-items:center; gap:1rem; margin:1.6rem 0 1rem; font-size:.85rem; color:#9aa8ba; }
.sfc-xpress__or::before, .sfc-xpress__or::after{ content:""; flex:1; height:1px; background:#e2e8f0; }
.sfc-xpress__alt{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem; width:100%;
  padding:.75rem 1.2rem; font-weight:600; font-size:.96rem; text-decoration:none;
  color: var(--xp-ci); background:#fff;
  border:1.5px solid rgba(0,87,183,.35); border-radius:12px;
  transition: background .15s, border-color .15s, color .15s;
}
.sfc-xpress__alt:hover{ background: rgba(0,87,183,.06); border-color: var(--xp-ci); color: var(--xp-ci-dark); }
.sfc-xpress__hp{ position:absolute !important; left:-9999px !important; top:auto; width:1px; height:1px; overflow:hidden; }
@media (max-width:560px){
  .sfc-xpress__grid{ grid-template-columns:1fr; }
  .sfc-xpress__foot{ flex-direction:column; align-items:stretch; }
  .sfc-xpress__btn{ margin-left:0; justify-content:center; }
  .sfc-xpress__privacy{ max-width:none; }
}
@media (prefers-reduced-motion: reduce){
  .sfc-xpress__btn, .sfc-xpress__btn i, .sfc-xpress__input{ transition:none; }
}
