/* Online-Bewerbung: nutzt die Design-Variablen des Feierling-Templates, mit Rückfallwerten für andere Templates */
.apply { --a-teal: var(--teal, #2d989d); --a-teal-deep: var(--teal-deep, #1d6e72); --a-teal-dark: var(--teal-dark, #0f3f42); --a-amber: var(--amber, #c8811f);
	--a-cream: var(--cream, #f7f0e3); --a-paper: var(--cream-raised, #fffaf1); --a-line: var(--line, #e2d5bf); --a-ink: var(--ink, #2a1d12); --a-muted: var(--ink-muted, #6b5a47);
	--a-serif: var(--font-serif, Georgia, serif); max-width: 48rem; margin: 0 0 3rem; color: var(--a-ink); }
.apply[hidden], .apply [hidden] { display: none !important; }
.apply__intro h2 { margin: 0 0 1rem; font-family: var(--a-serif); font-size: clamp(1.5rem, 3vw, 2rem); }
.apply__intro p { margin: 0 0 1rem; }
.apply__start { margin-top: 1.5rem; }
.apply__hint { margin: 0 0 1.5rem; color: var(--a-muted); font-size: .9375rem; }
.apply__star { color: #a1301e; font-weight: 700; }

/* Schrittanzeige aus Kronkorken */
.apply__progress { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin: 0 0 1.5rem; padding: 0; list-style: none; }
.apply__progress li { display: flex; align-items: center; gap: .5rem; font-size: .875rem; color: var(--a-muted); }
.apply__progress b { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; border: 2px dashed #b9a782; font-family: var(--a-serif); font-size: .9375rem; color: var(--a-muted); background: transparent; transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
.apply__progress li.is-current { color: var(--a-ink); font-weight: 600; }
.apply__progress li.is-current b { border: 2px solid var(--a-teal-deep); background: var(--a-teal-deep); color: #fff; }
.apply__progress li.is-done b { border: 2px solid var(--a-amber); background: var(--a-amber); color: var(--a-ink); }

/* Bewerbungsbogen als Papier */
.apply__form { padding: 2rem; background: var(--a-paper); border: 1px solid var(--a-line); border-radius: 8px; box-shadow: 0 8px 24px rgba(42, 29, 18, .10); }
.apply__step { margin: 0; padding: 0; border: 0; min-width: 0; }
.apply__step > legend { margin: 0 0 1.25rem; padding: 0; font-family: var(--a-serif); font-size: 1.375rem; font-weight: 700; }
.apply.is-live .apply__step:not(.is-current) { display: none; }
.apply__grid { display: grid; gap: 1rem 1.5rem; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.apply__field { grid-column: span 3; display: flex; flex-direction: column; gap: .25rem; min-width: 0; }
.apply__field--wide { grid-column: 1 / -1; }
.apply__field--third { grid-column: span 2; }
.apply__field--twothirds { grid-column: span 4; }
.apply__field label { font-weight: 600; font-size: .9375rem; }
.apply__field input[type="text"], .apply__field input[type="email"], .apply__field input[type="tel"], .apply__field input[type="date"], .apply__field textarea {
	width: 100%; padding: .55rem .25rem; font: inherit; color: inherit; background: transparent; border: 0; border-bottom: 2px solid #9a8264; border-radius: 0; }
.apply__field textarea { border: 2px solid #9a8264; padding: .6rem; border-radius: 4px; }
.apply__field input:focus, .apply__field textarea:focus { outline: none; border-color: var(--a-teal-deep); box-shadow: 0 2px 0 0 var(--a-teal-deep); }
.apply__field input[type="file"] { font: inherit; padding: .4rem 0; }
.apply__small { font-size: .8125rem; font-weight: 400; color: var(--a-muted); }
.apply__choice { grid-column: span 3; margin: 0; padding: 0; border: 0; min-width: 0; }
.apply__choice.apply__field--wide { grid-column: 1 / -1; }
.apply__choice legend { float: none; width: auto; margin: 0 0 .35rem; padding: 0; font-size: .9375rem; font-weight: 600; }
.apply__choice label { display: inline-flex; align-items: center; gap: .4rem; margin-right: 1.25rem; font-weight: 400; cursor: pointer; }
.apply__choice input { width: 1.1rem; height: 1.1rem; accent-color: var(--a-teal-deep); }
.apply__field .is-invalid, .apply__choice.is-invalid { border-color: #a1301e !important; }
.apply__error { margin: .25rem 0 0; font-size: .8125rem; font-weight: 600; color: #a1301e; }
.apply__preview { display: flex; align-items: center; gap: 1rem; margin-top: .5rem; }
.apply__preview img { width: 72px; height: 90px; object-fit: cover; border-radius: 4px; border: 1px solid var(--a-line); }
.apply__consent-list { margin: 0 0 1.25rem; padding-left: 1.25rem; font-size: .9375rem; }
.apply__consent-list li + li { margin-top: .5rem; }
.apply__check { display: inline-flex; align-items: center; gap: .6rem; margin-bottom: 1.5rem; font-weight: 700; cursor: pointer; }
.apply__check input { width: 1.25rem; height: 1.25rem; accent-color: var(--a-teal-deep); }

/* Captcha ohne Drittanbieter */
.apply__captcha { display: flex; flex-direction: column; gap: .5rem; margin-bottom: 1rem; }
.apply__captcha-label { display: inline-flex; align-items: center; gap: .75rem; width: fit-content; max-width: 100%; padding: .75rem 1rem; background: rgba(255, 255, 255, .6); border: 1px solid #b9a782; border-radius: 4px; font-weight: 600; cursor: pointer; transition: border-color .2s ease, background-color .2s ease; }
.apply__captcha-label input { width: 1.5rem; height: 1.5rem; margin: 0; accent-color: var(--a-teal-deep); }
.apply__captcha-text { font-weight: 400; font-size: .875rem; color: var(--a-muted); }
.apply__captcha[data-state="busy"] .apply__captcha-label input { -webkit-appearance: none; appearance: none; border: 3px solid #e3d6b8; border-top-color: var(--a-teal); border-radius: 50%; background: transparent; animation: apply-spin .8s linear infinite; }
.apply__captcha[data-state="ok"] .apply__captcha-label { border-color: var(--a-teal); background: var(--teal-tint, #e2f1f1); }
.apply__captcha[data-state="ok"] .apply__captcha-text { color: var(--a-teal-deep); font-weight: 600; }
.apply__captcha[data-state="error"] .apply__captcha-label { border-color: #a1301e; background: #fbefec; }
.apply__captcha[data-state="error"] .apply__captcha-text { color: #7d2415; }
@keyframes apply-spin { to { transform: rotate(360deg); } }

.apply__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.apply__status { margin: 1rem 0 0; padding: .75rem 1rem; border-radius: 4px; background: var(--teal-tint, #e2f1f1); color: var(--a-teal-deep); font-weight: 600; }
.apply__status.is-error { background: #fbefec; color: #7d2415; }
.apply__nav { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }
.apply:not(.is-live) .apply__step { margin-bottom: 2rem; }
.apply.is-live [data-apply-submit] { display: none; }
.apply.is-live.is-last [data-apply-submit] { display: inline-block; }
.apply.is-live.is-last [data-apply-next] { display: none; }
.apply.is-live.is-first [data-apply-back] { display: none; }
.apply:not(.is-live) [data-apply-back], .apply:not(.is-live) [data-apply-next] { display: none; }
.apply__thanks { padding: 2rem; background: var(--teal-tint, #e2f1f1); border-radius: 8px; }
.apply__thanks h2 { margin-top: 0; font-family: var(--a-serif); }
@media (max-width: 575.98px) {
	.apply__form { padding: 1.25rem; }
	.apply__grid { grid-template-columns: minmax(0, 1fr); }
	.apply__field, .apply__field--third, .apply__field--twothirds, .apply__choice { grid-column: 1 / -1; }
	.apply__progress span { display: none; }
}
@media (prefers-reduced-motion: reduce) { .apply__progress b, .apply__captcha-label { transition: none; } .apply__captcha[data-state="busy"] .apply__captcha-label input { animation-duration: 2.4s; } }
