/* NOVARIS CLEAN — Premium Bewerbungsfenster */

.novaris-application-open { overflow: hidden; }
.novaris-application-modal {
  position: fixed;
  inset: 0;
  z-index: 1600;
  display: grid;
  padding: 2rem;
  overflow-y: auto;
  color: #f4f0e7;
  place-items: center;
}
.novaris-application-modal[hidden] { display: none; }
.novaris-application-backdrop { position: fixed; inset: 0; background: radial-gradient(circle at 50% 6%, rgba(214,183,104,.16), transparent 33%), rgba(2,2,2,.9); backdrop-filter: blur(18px) saturate(.8); }
.novaris-application-panel {
  position: relative;
  z-index: 1;
  width: min(100%, 48rem);
  padding: clamp(2rem, 5vw, 3.5rem);
  overflow: hidden;
  border: 1px solid rgba(240,216,137,.64);
  background: radial-gradient(ellipse 80% 35% at 0 0, rgba(214,183,104,.17), transparent 70%), linear-gradient(140deg, #181612, #090909 72%);
  box-shadow: 0 2.5rem 7rem rgba(0,0,0,.75), 0 0 0 1px rgba(255,255,255,.04) inset, 0 0 4rem rgba(214,183,104,.07);
  animation: novarisApplicationIn .42s cubic-bezier(.2,.8,.2,1) both;
}
.novaris-application-panel::before { content: ""; position: absolute; top: 0; right: 2.25rem; width: 1px; height: 13rem; background: linear-gradient(180deg, #e6c96f, transparent); opacity: .72; }
.novaris-application-panel::after { content: ""; position: absolute; bottom: 1.25rem; left: clamp(2rem, 5vw, 3.5rem); width: 4rem; height: 1px; background: #d6b768; box-shadow: 0 0 .8rem rgba(214,183,104,.65); }
.novaris-application-close { position: absolute; top: 1.1rem; right: 1.1rem; z-index: 2; display: grid; width: 2.6rem; height: 2.6rem; border: 1px solid rgba(240,216,137,.55); border-radius: 50%; background: rgba(0,0,0,.2); color: #f0d889; cursor: pointer; font-size: 1.55rem; place-items: center; transition: transform .28s ease, background .28s ease; }
.novaris-application-close:hover, .novaris-application-close:focus-visible { transform: rotate(90deg); background: rgba(214,183,104,.14); outline: none; }
.novaris-application-kicker { display: inline-flex; align-items: center; gap: .65rem; margin: 0 0 1.35rem; padding-bottom: .78rem; border-bottom: 1px solid rgba(214,183,104,.24); color: #e6c96f; font: 800 .57rem/1 Raleway, Arial, sans-serif; letter-spacing: .25em; }
.novaris-application-kicker::before { content: ""; width: 2rem; height: 1px; background: #d6b768; }
.novaris-application-panel h2 { margin: 0; color: #f4f0e7; font: 400 clamp(3rem, 6.8vw, 5rem)/.88 Georgia, 'Times New Roman', serif; letter-spacing: -.05em; }
.novaris-application-panel h2 em { color: #d6b768; font-style: italic; }
.novaris-application-intro { max-width: 30rem; margin: 1.2rem 0 2rem; color: rgba(244,240,231,.62); font: .9rem/1.6 Raleway, Arial, sans-serif; }
.novaris-application-form { display: grid; gap: .78rem; }
.novaris-application-selected { position: relative; display: grid; gap: .38rem; min-height: 4rem; padding: .85rem 1rem .8rem 1.3rem; border: 1px solid rgba(214,183,104,.3); border-left: 3px solid #d6b768; background: linear-gradient(100deg, rgba(214,183,104,.15), rgba(214,183,104,.035)); }
.novaris-application-selected span, .novaris-application-field > span { color: #e6c96f; font: 800 .5rem/1 Raleway, Arial, sans-serif; letter-spacing: .18em; }
.novaris-application-selected strong { color: #f4f0e7; font: 500 .98rem/1.25 Raleway, Arial, sans-serif; }
.novaris-application-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }
.novaris-application-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.novaris-application-field { position: relative; display: grid; min-height: 5.15rem; padding-top: 1.15rem; border: 1px solid rgba(214,183,104,.25); border-left: 2px solid rgba(214,183,104,.5); background: rgba(255,255,255,.035); transition: border-color .25s ease, background .25s ease, box-shadow .25s ease; }
.novaris-application-field:focus-within { border-color: #f0d889; border-left-color: #f0d889; background: linear-gradient(100deg, rgba(214,183,104,.12), rgba(255,255,255,.035)); box-shadow: 0 0 0 3px rgba(214,183,104,.08); }
.novaris-application-field > span { position: absolute; top: .6rem; left: .9rem; }
.novaris-application-field > span b { color: rgba(244,240,231,.46); font-size: .47rem; }
.novaris-application-field input, .novaris-application-field select, .novaris-application-field textarea { width: 100%; min-height: 3.45rem; padding: .1rem 1rem .5rem; border: 0; outline: 0; background: transparent; color: #f4f0e7; font: 500 .88rem/1.35 Raleway, Arial, sans-serif; box-sizing: border-box; }
.novaris-application-field input::placeholder, .novaris-application-field textarea::placeholder { color: rgba(244,240,231,.43); }
.novaris-application-field select option { background: #151411; color: #f4f0e7; }
.novaris-application-field--message { min-height: 9rem; padding-bottom: .25rem; }
.novaris-application-field--message textarea { min-height: 6.5rem; resize: vertical; }
.novaris-application-upload { display: grid; grid-template-columns: auto 1fr auto; min-height: 6.4rem; padding: 1rem; border: 1px dashed rgba(240,216,137,.56); background: linear-gradient(100deg, rgba(214,183,104,.08), rgba(255,255,255,.018)); cursor: pointer; gap: .9rem; align-items: center; transition: border-color .25s ease, background .25s ease, transform .25s ease; }
.novaris-application-upload:hover, .novaris-application-upload:focus-within { border-color: #f0d889; background: linear-gradient(100deg, rgba(214,183,104,.16), rgba(255,255,255,.03)); transform: translateY(-1px); }
.novaris-application-upload input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.novaris-application-upload-icon { display: grid; width: 2.65rem; height: 2.65rem; border: 1px solid rgba(240,216,137,.7); border-radius: 50%; color: #f0d889; place-items: center; box-shadow: 0 0 1rem rgba(214,183,104,.1); }
.novaris-application-upload b { display: block; margin-bottom: .32rem; color: #f4f0e7; font: 600 .87rem/1.2 Raleway, Arial, sans-serif; }
.novaris-application-upload small { display: block; color: rgba(244,240,231,.52); font: .62rem/1.45 Raleway, Arial, sans-serif; }
.novaris-application-upload-plus { color: #d6b768; font-size: .9rem; }
.novaris-application-file-list { min-height: 1.2rem; margin: -.15rem 0 .1rem; color: rgba(244,240,231,.52); font: .64rem/1.45 Raleway, Arial, sans-serif; overflow-wrap: anywhere; }
.novaris-application-file-list.is-error { color: #f09c89; }
.novaris-application-consent { display: flex; gap: .65rem; margin: .15rem 0; color: rgba(244,240,231,.59); font: .64rem/1.5 Raleway, Arial, sans-serif; align-items: flex-start; }
.novaris-application-consent input { width: 1rem; height: 1rem; margin-top: .08rem; accent-color: #d6b768; }
.novaris-application-status { min-height: 1.2rem; margin: .15rem 0 0; color: rgba(244,240,231,.65); font: .7rem/1.45 Raleway, Arial, sans-serif; }
.novaris-application-status.is-success { color: #c5e2b0; }
.novaris-application-status.is-error { color: #f3a39a; }
.novaris-application-submit { position: relative; display: flex; min-height: 4.15rem; border: 1px solid #f0d889; background: linear-gradient(110deg, #ae8729 0%, #e6c96f 38%, #f3dfa2 50%, #d1aa4e 64%, #aa8228 100%); background-size: 180% 100%; color: #090909; cursor: pointer; font: 800 .72rem/1 Raleway, Arial, sans-serif; letter-spacing: .2em; text-transform: uppercase; box-shadow: 0 1rem 2rem rgba(214,183,104,.18), inset 0 1px 0 rgba(255,255,255,.55); align-items: center; justify-content: center; gap: .8rem; transition: transform .25s ease, background-position .45s ease, opacity .25s ease; }
.novaris-application-submit:hover, .novaris-application-submit:focus-visible { background-position: 100% 0; transform: translateY(-2px); outline: none; }
.novaris-application-submit:disabled { cursor: wait; opacity: .65; transform: none; }
.novaris-application-submit.is-loading i { animation: novarisApplicationSpin 1s linear infinite; }
@keyframes novarisApplicationIn { from { opacity: 0; transform: translateY(1.2rem) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes novarisApplicationSpin { to { transform: rotate(360deg); } }
@media (max-width: 767px) { .novaris-application-modal { padding: 0; place-items: end stretch; } .novaris-application-panel { width: 100%; max-height: 94dvh; padding: 1.45rem 1rem max(2.1rem, env(safe-area-inset-bottom)); box-sizing: border-box; overflow-y: auto; border-right: 0; border-bottom: 0; border-left: 0; } .novaris-application-panel::before { right: .85rem; height: 8rem; } .novaris-application-panel::after { bottom: .9rem; left: 1rem; } .novaris-application-kicker { margin-bottom: 1.05rem; font-size: .49rem; } .novaris-application-panel h2 { font-size: clamp(2.55rem, 11vw, 3.35rem); } .novaris-application-intro { margin: 1rem 0 1.35rem; font-size: .78rem; } .novaris-application-close { top: .85rem; right: 1rem; width: 2.45rem; height: 2.45rem; } .novaris-application-grid { grid-template-columns: 1fr; gap: .55rem; } .novaris-application-form { gap: .56rem; } .novaris-application-field { min-height: 4.55rem; padding-top: 1.08rem; } .novaris-application-field > span { top: .55rem; font-size: .46rem; } .novaris-application-field input, .novaris-application-field select, .novaris-application-field textarea { min-height: 3rem; padding: .08rem .9rem .45rem; font-size: .82rem; } .novaris-application-field--message { min-height: 8.1rem; } .novaris-application-field--message textarea { min-height: 5.75rem; } .novaris-application-upload { min-height: 5.9rem; padding: .8rem; gap: .65rem; } .novaris-application-upload-icon { width: 2.35rem; height: 2.35rem; } .novaris-application-upload b { font-size: .78rem; } .novaris-application-upload small { font-size: .56rem; } .novaris-application-submit { min-height: 3.9rem; font-size: .66rem; } }
