/* ============================================================
   DEINKREDIT · Antragsstrecke · v3 · 9 Schritte (kompakt)
   ============================================================ */

.antrag-wrap { max-width: 880px; margin: 0 auto; }

/* --- Fortschrittsbalken (GRÜN, nur hier) -------------------- */
.antrag-progress {
  display: grid;
  grid-template-columns: repeat(9, 1fr);
  gap: 5px;
  margin-bottom: 12px;
}
.antrag-progress .seg {
  height: 7px;
  border-radius: 999px;
  background: var(--dk-line);
  transition: background 0.25s, box-shadow 0.25s;
}
.antrag-progress .seg.done   { background: var(--dk-green); }
.antrag-progress .seg.active {
  background: var(--dk-green);
  box-shadow: 0 0 0 3px var(--dk-green-100);
}
.antrag-progress-meta {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--dk-muted);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 18px;
}
.antrag-progress-meta b { color: var(--dk-navy); font-weight: 800; }

/* --- Card --------------------------------------------------- */
.antrag-card {
  background: #fff;
  border: 1px solid var(--dk-line);
  border-radius: var(--r-xl);
  padding: clamp(20px, 3vw, 36px);
  box-shadow: var(--sh-md);
}
.antrag-step { display: none; }
.antrag-step.active { display: block; }

.antrag-step-head {
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--dk-line-2);
}
.antrag-step-head .num {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--dk-muted);
  font-weight: 800;
  margin-bottom: 6px;
}
.antrag-step-head h2 {
  font-size: clamp(20px, 2.2vw, 26px);
  margin: 0 0 4px;
  line-height: 1.2;
}
.antrag-step-head p {
  font-size: 14px;
  color: var(--dk-muted);
  margin: 0;
}

/* --- Sub-Section ------------------------------------------- */
.antrag-section { margin-top: 18px; }
.antrag-section:first-of-type { margin-top: 0; }
.antrag-section + .antrag-section { padding-top: 16px; border-top: 1px dashed var(--dk-line); }
.antrag-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.antrag-section-head h3 {
  font-size: 14px;
  color: var(--dk-navy);
  margin: 0;
  font-weight: 800;
  letter-spacing: 0.01em;
}
.antrag-section-head .hint { font-size: 12px; color: var(--dk-muted); }

/* --- Form Grid (12 Spalten) -------------------------------- */
.antrag-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 12px;
  align-items: start;
}
.antrag-grid .col-2  { grid-column: span 2; }
.antrag-grid .col-3  { grid-column: span 3; }
.antrag-grid .col-4  { grid-column: span 4; }
.antrag-grid .col-5  { grid-column: span 5; }
.antrag-grid .col-6  { grid-column: span 6; }
.antrag-grid .col-7  { grid-column: span 7; }
.antrag-grid .col-8  { grid-column: span 8; }
.antrag-grid .col-9  { grid-column: span 9; }
.antrag-grid .col-12 { grid-column: span 12; }
@media (max-width: 760px) {
  .antrag-grid > [class*="col-"] { grid-column: span 12; }
  .antrag-grid .col-m-6 { grid-column: span 6; }
  .antrag-grid .col-m-4 { grid-column: span 4; }
}

/* --- Field-Reset ------------------------------------------- */
.antrag-card .field { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.antrag-card .field > label.lbl {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--dk-navy);
  letter-spacing: 0.01em;
  line-height: 1.3;
}
.antrag-card .field > label.lbl .req {
  color: var(--dk-danger);
  margin-left: 2px;
  font-weight: 800;
}
.consent-card .req,
.cond-head .req,
.req {
  color: var(--dk-danger);
  font-weight: 800;
}
.antrag-card .field .hint {
  font-size: 11.5px;
  color: var(--dk-muted);
  line-height: 1.4;
}
.antrag-card .input,
.antrag-card .select,
.antrag-card .textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1.5px solid var(--dk-line);
  border-radius: var(--r-md);
  font: inherit;
  font-size: 14px;
  color: var(--dk-text);
  background: #fff;
  transition: border-color .15s, box-shadow .15s;
  min-height: 42px;
}
.antrag-card .input:focus,
.antrag-card .select:focus,
.antrag-card .textarea:focus {
  outline: none;
  border-color: var(--dk-blue);
  box-shadow: 0 0 0 4px var(--dk-blue-100);
}

/* --- Slider (Kreditsumme) — guter Kontrast ----------------- */
.slider-block {
  background: #fff;
  border: 1px solid var(--dk-line);
  border-radius: var(--r-lg);
  padding: 18px 20px;
}
.slider-block .top {
  display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
  margin-bottom: 12px;
}
.slider-block .top span {
  font-size: 12px; color: var(--dk-muted); font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.08em;
}
.slider-block .top b {
  color: var(--dk-navy); font-weight: 800;
  font-size: clamp(24px,3vw,30px); font-variant-numeric: tabular-nums; letter-spacing: -0.02em;
}
.slider-block .meta {
  display: flex; justify-content: space-between;
  font-family: var(--font-mono); font-size: 10.5px;
  color: var(--dk-muted-2); margin-top: 6px;
  letter-spacing: 0.04em;
}
.antrag-slider {
  -webkit-appearance: none; appearance: none;
  width: 100%; height: 8px;
  background: var(--dk-line);
  border-radius: 999px; outline: none;
  cursor: pointer;
}
.antrag-slider::-webkit-slider-runnable-track {
  height: 8px; border-radius: 999px;
  background: linear-gradient(to right,
    var(--dk-navy) 0%, var(--dk-navy) var(--dk-fill,50%),
    var(--dk-line) var(--dk-fill,50%), var(--dk-line) 100%);
}
.antrag-slider::-moz-range-track {
  height: 8px; border-radius: 999px;
  background: var(--dk-line);
}
.antrag-slider::-moz-range-progress {
  height: 8px; border-radius: 999px;
  background: var(--dk-navy);
}
.antrag-slider::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none;
  width: 24px; height: 24px; border-radius: 50%;
  background: #fff; border: 3px solid var(--dk-navy);
  box-shadow: var(--sh-sm); cursor: pointer;
  margin-top: -8px;
}
.antrag-slider::-moz-range-thumb {
  width: 24px; height: 24px; border-radius: 50%;
  background: #fff; border: 3px solid var(--dk-navy);
  box-shadow: var(--sh-sm); cursor: pointer;
}

/* --- Conditional Box --------------------------------------- */
.cond-box {
  display: none;
  margin-top: 12px;
  background: var(--dk-bg-tint-soft);
  border: 1px solid var(--dk-blue-100);
  border-left: 3px solid var(--dk-blue);
  border-radius: var(--r-md);
  padding: 14px 16px;
}
.cond-box[data-open="true"] { display: block; }
/* Sicherstellen, dass .field.cond-box bei data-open="false" wirklich ausgeblendet wird
   (höhere Spezifität schlägt .antrag-card .field) */
.antrag-card .field.cond-box,
.antrag-card .cond-box[data-open="false"] {
  display: none;
}
.antrag-card .cond-box[data-open="true"] {
  display: block;
}
.cond-box .cond-head {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 800;
  color: var(--dk-blue-700);
  margin-bottom: 10px;
}

/* --- Radio Ja/Nein (kompakte Kreise) ----------------------- */
.radio-yn {
  display: inline-flex;
  gap: 18px;
  padding: 10px 2px 6px;
  align-items: center;
  min-height: 42px;
}
.ryn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  cursor: pointer;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--dk-text);
  user-select: none;
}
.ryn input { position: absolute; opacity: 0; pointer-events: none; }
.ryn .dot {
  width: 18px; height: 18px;
  border: 1.5px solid var(--dk-line);
  border-radius: 50%;
  background: #fff;
  display: grid; place-items: center;
  transition: all .15s;
  flex-shrink: 0;
}
.ryn input:checked + .dot {
  border-color: var(--dk-blue);
  background: var(--dk-blue);
}
.ryn input:checked + .dot::after {
  content:""; width: 8px; height: 8px;
  background: #fff; border-radius: 50%;
}
.ryn:hover .dot { border-color: var(--dk-blue); }

.seg-switch {
  display: inline-flex;
  background: #fff;
  border: 1.5px solid var(--dk-line);
  border-radius: var(--r-md);
  padding: 3px;
  gap: 2px;
  height: 42px;
  width: 100%;
  max-width: 200px;
}
.seg-switch .seg {
  flex: 1;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  color: var(--dk-muted);
  cursor: pointer;
  border-radius: calc(var(--r-md) - 3px);
  letter-spacing: 0.02em;
  transition: background .15s, color .15s;
  padding: 0 8px;
}
.seg-switch .seg:hover { color: var(--dk-navy); }
.seg-switch .seg.on {
  background: var(--dk-navy);
  color: #fff;
}
.seg-switch .seg.on[data-val="ja"]    { background: var(--dk-navy); }
.seg-switch .seg.on[data-val="nein"]  { background: var(--dk-muted); color: #fff; }

/* --- Repeater Row ------------------------------------------ */
.rep-row {
  background: var(--dk-bg-tint-soft);
  border: 1px solid var(--dk-line);
  border-radius: var(--r-md);
  padding: 14px 14px 14px;
  margin-bottom: 10px;
  position: relative;
}
.rep-row .rep-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
  gap: 10px;
}
.rep-row .rep-title {
  font-size: 12px;
  font-weight: 800;
  color: var(--dk-navy);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  display: inline-flex; align-items: center; gap: 8px;
}
.rep-row .rep-title .idx {
  display: inline-grid; place-items: center;
  background: var(--dk-navy); color: #fff;
  width: 20px; height: 20px;
  border-radius: 50%; font-size: 11px;
  font-family: var(--font-mono);
}
.rep-remove {
  background: transparent;
  border: 1px solid var(--dk-line);
  color: var(--dk-muted);
  font-size: 11.5px;
  padding: 4px 10px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 600;
  transition: all .15s;
}
.rep-remove:hover {
  border-color: var(--dk-danger);
  color: var(--dk-danger);
  background: var(--dk-danger-100);
}

/* --- Add-Button -------------------------------------------- */
.btn-add {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #fff;
  border: 1.5px dashed var(--dk-blue);
  color: var(--dk-blue-700);
  padding: 8px 14px;
  border-radius: var(--r-md);
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
  transition: all .15s;
}
.btn-add:hover {
  background: var(--dk-blue-50);
  border-style: solid;
}
.btn-add::before {
  content: "+";
  font-size: 16px;
  line-height: 1;
  font-weight: 700;
}

.empty-state {
  padding: 12px 14px;
  border: 1px dashed var(--dk-line);
  border-radius: var(--r-md);
  color: var(--dk-muted);
  font-size: 13px;
  margin-bottom: 10px;
  background: #fff;
  line-height: 1.5;
}
.empty-state b { color: var(--dk-navy); }

/* --- Consent Card ------------------------------------------ */
.consent-card {
  background: var(--dk-bg-tint-soft);
  border: 1px solid var(--dk-line);
  border-radius: var(--r-md);
  padding: 16px 18px;
  margin-bottom: 12px;
}
.consent-card label.check {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  font-size: 13.5px;
  line-height: 1.5;
  cursor: pointer;
}
.consent-card label.check + label.check {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--dk-line-2);
}
.consent-card .check .box {
  margin-top: 2px;
  width: 22px; height: 22px;
  flex-shrink: 0;
}
.consent-card .lbl-text b {
  color: var(--dk-navy); font-weight: 800; display: block;
  margin-bottom: 2px; font-size: 13.5px;
}
.consent-card .lbl-text { color: var(--dk-text-2); }
.consent-card .lbl-text small {
  display: block; color: var(--dk-muted);
  font-size: 11.5px; margin-top: 3px;
}

/* --- Step deaktiviert -------------------------------------- */
.step-disabled-note {
  background: var(--dk-warning-100);
  border: 1px solid #f7d6b3;
  border-radius: var(--r-md);
  padding: 14px 16px;
  font-size: 13.5px;
  color: var(--dk-warning-700);
  line-height: 1.5;
}
.step-disabled-note b { display: block; font-weight: 800; margin-bottom: 4px; color: var(--dk-warning-700); }

/* --- Actions ----------------------------------------------- */
.antrag-actions {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--dk-line-2);
  flex-wrap: wrap;
}
.antrag-actions .right { display: flex; gap: 10px; }

/* CTA — CI Orange */
.btn-go {
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--dk-cta);
  color: #fff;
  border: 2px solid var(--dk-cta);
  padding: 12px 22px;
  border-radius: var(--r-md);
  font-weight: 800;
  font-size: 14.5px;
  cursor: pointer;
  box-shadow: var(--dk-cta-glow);
  transition: background .15s, transform .05s;
  gap: 8px;
}
.btn-go:hover { background: var(--dk-cta-700); border-color: var(--dk-cta-700); color: #fff; }
.btn-go:active { transform: translateY(1px); }
.btn-go:disabled {
  background: var(--dk-line);
  border-color: var(--dk-line);
  color: var(--dk-muted);
  cursor: not-allowed;
  box-shadow: none;
}
.btn-back {
  background: transparent;
  border: 1.5px solid var(--dk-line);
  color: var(--dk-text-2);
  padding: 12px 18px;
  border-radius: var(--r-md);
  font-weight: 600;
  cursor: pointer;
  font: inherit;
  font-size: 14px;
  transition: all .15s;
}
.btn-back:hover { border-color: var(--dk-navy); color: var(--dk-navy); }

/* --- Success ----------------------------------------------- */
.antrag-success { text-align: center; padding: 36px 18px; }
.antrag-success .check {
  width: 80px; height: 80px;
  background: var(--dk-green-100);
  color: var(--dk-green-700);
  border-radius: 50%;
  display: inline-grid; place-items: center;
  margin-bottom: 20px;
  font-size: 40px; font-weight: 800;
}

/* --- Step 9: Submit + Review unter dem Button -------------- */
.send-block {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  margin: 18px 0 6px;
}
.send-block .btn-go { width: 100%; padding: 16px 22px; font-size: 16px; }
.send-block .legal-hint { text-align: center; margin: 0; }

.review-table {
  background: var(--dk-bg-tint-soft);
  border-radius: var(--r-md);
  padding: 14px 18px;
  margin-top: 14px;
}
.review-table .rev-head {
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--dk-muted);
  font-weight: 800;
  margin-bottom: 8px;
}
.review-table .rev-row {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 8px;
  padding: 6px 0;
  font-size: 13.5px;
  border-bottom: 1px solid var(--dk-line-2);
  align-items: baseline;
}
.review-table .rev-row:last-child { border-bottom: 0; }
.review-table .rev-row span { color: var(--dk-muted); }
.review-table .rev-row b { color: var(--dk-navy); font-weight: 700; }
@media (max-width: 540px) {
  .review-table .rev-row { grid-template-columns: 1fr; gap: 0; }
  .review-table .rev-row span { font-size: 11.5px; }
}

/* --- Hero kompakter ---------------------------------------- */
.antrag-hero {
  padding: clamp(20px,4vw,40px) 0 16px;
  background:
    radial-gradient(800px 380px at 90% -10%, rgba(31,169,113,0.10), transparent 60%),
    #fff;
}
.antrag-hero h1 { font-size: clamp(24px,3.4vw,38px); margin-bottom: 6px; }
.antrag-hero .lead { font-size: 14.5px; margin: 0; max-width: 56ch; }
.antrag-hero .eyebrow { margin-bottom: 8px; }

/* --- Modal ------------------------------------------------- */
.dk-modal {
  position: fixed; inset: 0;
  background: rgba(15,39,66,0.55);
  z-index: 200;
  display: none;
  align-items: center; justify-content: center;
  padding: 20px;
}
.dk-modal[data-open="true"] { display: flex; }
.dk-modal .modal-card {
  background: #fff;
  width: min(900px, 100%);
  max-height: 90vh;
  border-radius: var(--r-lg);
  box-shadow: var(--sh-xl);
  display: flex; flex-direction: column;
  overflow: hidden;
}
.dk-modal .modal-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 18px;
  border-bottom: 1px solid var(--dk-line);
  gap: 12px;
}
.dk-modal .modal-head h3 { margin: 0; font-size: 15px; color: var(--dk-navy); }
.dk-modal .modal-close {
  background: var(--dk-blue-50);
  border: 0;
  width: 34px; height: 34px;
  border-radius: 50%;
  font-size: 18px; line-height: 1;
  color: var(--dk-navy);
  cursor: pointer;
}
.dk-modal .modal-close:hover { background: var(--dk-blue-100); }
.dk-modal .modal-body {
  flex: 1;
  overflow: hidden;
}
.dk-modal iframe {
  width: 100%; height: 100%;
  min-height: 60vh;
  border: 0;
  display: block;
}

/* --- Segmentierter Switch (Legacy) ------------------------- */
.switch-inline {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

/* --- Switch + Datum nebeneinander -------------------------- */
.row-switch-date {
  display: grid;
  grid-template-columns: minmax(160px, 220px) 1fr;
  gap: 10px;
  align-items: end;
}
@media (max-width: 540px) {
  .row-switch-date { grid-template-columns: 1fr; }
}

/* ============================================================
   MOBILE · Antragsstrecke — kompaktes, fingerfreundliches Layout
   ============================================================ */

/* Tablet (≤ 760 px): bereits oben behandelt, hier Feintuning */
@media (max-width: 760px) {
  .antrag-wrap { max-width: 100%; }
  .antrag-card { padding: 22px 18px; }
  .antrag-step-head h2 { font-size: 21px; }

  /* Befristet/Probezeit Boxen untereinander, wenn beide offen */
  #befristetBox.cond-box[data-open="true"] + #probezeitBox.cond-box[data-open="true"],
  #befristetBox.cond-box[data-open="true"],
  #probezeitBox.cond-box[data-open="true"] {
    grid-column: span 12;
  }

  /* Aktionsbuttons gleich breit */
  .antrag-actions { gap: 10px; }
}

/* Mobile (≤ 540 px) */
@media (max-width: 540px) {
  .antrag-card {
    padding: 18px 14px;
    border-radius: var(--r-md);
  }
  .antrag-grid { gap: 11px; }
  /* Alles, was am Tablet noch col-m-6 war, hier stacken */
  .antrag-grid .col-m-6,
  .antrag-grid .col-m-4,
  .antrag-grid [class*="col-"] { grid-column: span 12; }

  .antrag-step-head { margin-bottom: 14px; padding-bottom: 10px; }
  .antrag-step-head h2 { font-size: 19px; line-height: 1.25; }
  .antrag-step-head .num { font-size: 10px; }
  .antrag-step-head p { font-size: 13.5px; }

  /* Eingabefelder grösser anfassbar */
  .antrag-card .input,
  .antrag-card .select,
  .antrag-card .textarea {
    padding: 12px 12px;
    font-size: 16px; /* iOS verhindert Zoom bei >=16px */
    min-height: 46px;
  }

  /* Progress-Balken */
  .antrag-progress { gap: 3px; margin-bottom: 8px; }
  .antrag-progress .seg { height: 6px; }
  .antrag-progress-meta { font-size: 10.5px; margin-bottom: 14px; }

  /* Slider-Block */
  .slider-block { padding: 14px 14px; }
  .slider-block .top { gap: 8px; margin-bottom: 10px; }
  .slider-block .top span { font-size: 11px; }
  .slider-block .top b { font-size: 22px; }
  .slider-block .meta { font-size: 10px; }
  .antrag-slider { height: 10px; }
  .antrag-slider::-webkit-slider-runnable-track { height: 10px; }
  .antrag-slider::-moz-range-track { height: 10px; }
  .antrag-slider::-moz-range-progress { height: 10px; }
  .antrag-slider::-webkit-slider-thumb {
    width: 28px; height: 28px; margin-top: -9px;
  }
  .antrag-slider::-moz-range-thumb { width: 28px; height: 28px; }

  /* Conditional Boxes kompakter */
  .cond-box { padding: 12px 12px; margin-top: 10px; }
  .cond-box .cond-head { font-size: 10.5px; margin-bottom: 8px; }

  /* Ja/Nein-Radios */
  .radio-yn { gap: 22px; padding: 6px 0 4px; min-height: 44px; }
  .ryn { font-size: 14.5px; }
  .ryn .dot { width: 20px; height: 20px; }

  /* IBAN/Mono-Felder: kein Letter-Spacing-Overflow */
  input[name="haushalt.kontoverbindung.iban"] {
    font-size: 14px !important;
    letter-spacing: 0.02em !important;
    padding: 12px 10px;
  }

  /* Bereich-Köpfe untereinander */
  .antrag-section-head {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }
  .antrag-section-head .btn-add { align-self: flex-start; }

  /* Repeater (Kinder, Kredite, Einkommen, Immobilien) */
  .rep-row { padding: 12px; }
  .rep-row .rep-head { flex-wrap: wrap; gap: 8px; }
  .rep-row .rep-title { font-size: 11.5px; }

  /* Add-Button */
  .btn-add { width: 100%; justify-content: center; padding: 10px 14px; }

  /* Consent-Card */
  .consent-card { padding: 14px; }
  .consent-card label.check { gap: 10px; font-size: 13.5px; }
  .consent-card .check .box { width: 24px; height: 24px; }

  /* Footer-Actions: Buttons gleich gross + nebeneinander */
  .antrag-actions {
    flex-direction: column-reverse;
    gap: 8px;
    margin-top: 18px;
    padding-top: 14px;
  }
  .antrag-actions .right { width: 100%; display: flex; }
  .antrag-actions .right .btn-go { width: 100%; }
  .antrag-actions .btn-back { width: 100%; padding: 13px 18px; }
  .antrag-actions .btn-go { padding: 14px 18px; font-size: 15.5px; }

  /* Senden-Block in Step 9 */
  .send-block { margin: 14px 0 4px; }
  .send-block .btn-go { padding: 16px 20px; font-size: 16px; }

  /* Step deaktiviert (z. B. Immobilie) */
  .step-disabled-note { padding: 12px 14px; font-size: 13px; }

  /* Modal: Vollbild */
  .dk-modal { padding: 0; align-items: stretch; }
  .dk-modal .modal-card {
    width: 100%;
    max-height: 100%;
    height: 100%;
    border-radius: 0;
  }
  .dk-modal .modal-body { flex: 1; }
  .dk-modal iframe { min-height: 0; height: 100%; }

  /* Hero */
  .antrag-hero { padding: 16px 0 8px; }
  .antrag-hero h1 { font-size: 24px; }
  .antrag-hero .lead { font-size: 13.5px; }

  /* Erfolg-Seite */
  .antrag-success { padding: 24px 6px; }
  .antrag-success .check { width: 64px; height: 64px; font-size: 32px; }
}

/* Sehr kleines Mobile (≤ 380 px, z. B. iPhone SE) */
@media (max-width: 380px) {
  .antrag-card { padding: 16px 12px; }
  .antrag-step-head h2 { font-size: 18px; }
  .slider-block { padding: 12px; }
  .slider-block .top b { font-size: 20px; }
  .antrag-progress { gap: 2px; }
  .antrag-progress .seg { height: 5px; }
  .radio-yn { gap: 16px; }

  /* Consent-Card: noch enger */
  .consent-card { padding: 12px; }
  .consent-card label.check { font-size: 13px; }
}


/* NOVA form submit + thank-you */
.dk-thankyou{max-width:860px;margin:0 auto;text-align:center}.dk-thankyou .eyebrow{margin:0 0 8px;color:var(--dk-blue);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.dk-ref-card{margin:18px auto 18px;padding:18px 20px;border:1px solid rgba(22,104,214,.18);background:linear-gradient(180deg,#f7fbff,#fff);border-radius:18px;box-shadow:0 16px 40px -28px rgba(14,46,88,.45);max-width:440px}.dk-ref-card span{display:block;color:var(--dk-muted);font-size:13px;font-weight:700}.dk-ref-card strong{display:block;color:var(--dk-navy);font-size:clamp(24px,4vw,34px);letter-spacing:.02em;margin-top:4px}.dk-confirm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0;text-align:left}.dk-confirm-item{padding:12px 14px;border:1px solid var(--dk-line);border-radius:14px;background:#fff}.dk-confirm-item span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--dk-muted);font-weight:800}.dk-confirm-item b{display:block;margin-top:3px;color:var(--dk-navy);font-size:15px;word-break:break-word}.dk-next-steps{text-align:left;margin:18px 0;padding:18px 20px;border-radius:18px;background:#eef6ff;border:1px solid rgba(22,104,214,.14)}.dk-next-steps h3{font-size:18px;margin:0 0 8px}.dk-next-steps ul{margin:0;padding-left:20px;color:var(--dk-text-2)}.dk-success-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}.btn[aria-busy="true"]{opacity:.75;cursor:wait}@media(max-width:640px){.dk-confirm-grid{grid-template-columns:1fr}.dk-success-actions .btn{width:100%}}


/* NOVA kontocheck + local upload */
.konto-check-msg{margin-top:7px;font-size:12px;font-weight:700;color:var(--dk-muted)}
.konto-check-msg.pending{color:#8a6500}.konto-check-msg.ok{color:#157245}.konto-check-msg.err{color:#b42318}
.dk-upload-box{margin:18px 0;padding:18px 20px;border:1px solid rgba(22,104,214,.18);border-radius:18px;background:#fff;text-align:left;box-shadow:0 16px 40px -34px rgba(14,46,88,.45)}
.dk-upload-box h3{font-size:18px;margin:0 0 6px}.dk-upload-box p{font-size:13.5px;margin:0 0 12px;color:var(--dk-text-2)}
.dk-upload-box input[type=file]{display:block;width:100%;margin:0 0 12px;padding:12px;border:1px dashed rgba(22,104,214,.35);border-radius:14px;background:#f7fbff;color:var(--dk-navy)}
.dk-upload-status{margin-top:10px;font-size:13px;font-weight:800;color:var(--dk-navy)}
@media(max-width:640px){.dk-upload-box .btn{width:100%}}

/* NOVA PLZ-/Bank-Erkennung */
.field-hint{margin-top:6px;font-size:12px;font-weight:700;color:var(--dk-muted);line-height:1.35}
.field-hint.ok{color:#157245}.field-hint.warn{color:#8a6500}.field-hint.err{color:#b42318}
.dk-city-select{margin-top:7px}


#dkDraftHint{font-size:12px;color:#60708a;white-space:nowrap;}
#dkDraftHint::before{content:"•";margin:0 8px;color:#9fb0c8;}
@media(max-width:640px){#dkDraftHint{display:block;margin-top:4px;white-space:normal;}#dkDraftHint::before{display:none;}}
