/* Kündigungsschutz24 Formular
   Farben aus dem Designsystem des Pflichtenhefts.
   Alle Regeln liegen unter .ks24-formular-wrap, damit das Theme unberührt bleibt. */

.ks24-formular-wrap{
  --ks24-navy:#0B2545;
  --ks24-blau:#0069B4;
  --ks24-dunkelblau:#004F87;
  --ks24-rot:#2E74B5;
  --ks24-rot-dunkel:#1F4D78;
  --ks24-hellblau:#E8EEF5;
  --ks24-gruen:#EEF5EF;
  --ks24-gruen-rand:#CFE0D3;
  --ks24-warn:#FFF8E8;
  --ks24-grau:#5A6B7D;
  --ks24-linie:#DCE4EC;

  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--ks24-navy);
  line-height:1.55;
  font-size:17px;
  max-width:100%;
}
.ks24-formular-wrap *,
.ks24-formular-wrap *::before,
.ks24-formular-wrap *::after{box-sizing:border-box;}

.ks24-formular-wrap .ks24-form{
  background:#fff;
  border:1px solid var(--ks24-linie);
  border-radius:14px;
  padding:26px;
  box-shadow:0 2px 16px rgba(11,37,69,.07);
}
@media(max-width:600px){.ks24-formular-wrap .ks24-form{padding:20px 16px;}}

.ks24-formular-wrap .ks24-form-titel{
  font-size:1.25rem;font-weight:800;margin:0 0 .2em;color:var(--ks24-navy);
}
.ks24-formular-wrap .ks24-klein{font-size:.88rem;color:var(--ks24-grau);margin:0 0 16px;}
.ks24-formular-wrap .ks24-mitte{text-align:center;margin:12px 0 0;}

.ks24-formular-wrap .ks24-feld{margin-bottom:13px;}
.ks24-formular-wrap .ks24-paar{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:520px){.ks24-formular-wrap .ks24-paar{grid-template-columns:1fr;}}
.ks24-formular-wrap .ks24-feld > label{display:block;font-weight:700;font-size:.95rem;margin-bottom:6px;}
.ks24-formular-wrap input[type=text],
.ks24-formular-wrap input[type=tel],
.ks24-formular-wrap input[type=email],
.ks24-formular-wrap input[type=date],
.ks24-formular-wrap select{
  width:100%;padding:13px 14px;border:1px solid #C6D2DE;border-radius:8px;
  font-size:1rem;font-family:inherit;color:var(--ks24-navy);background:#fff;
}
.ks24-formular-wrap .ks24-feld-hilfe{font-size:.85rem;color:var(--ks24-grau);margin-top:5px;}

.ks24-formular-wrap .ks24-dropzone{
  position:relative;overflow:hidden;display:block;text-align:center;
  padding:20px 16px;border:2px dashed var(--ks24-blau);background:var(--ks24-hellblau);border-radius:6px;
}
.ks24-formular-wrap .ks24-dropzone:hover{background:#DDE7F1;}
.ks24-formular-wrap .ks24-dropzone.ks24-laedt{opacity:.6;pointer-events:none;}
.ks24-formular-wrap .ks24-dropzone.ks24-laedt .ks24-dropzone-titel::after{content:" wird vorbereitet ...";font-weight:400;}
.ks24-formular-wrap .ks24-dropzone-gruen{
  border-style:solid;border-color:var(--ks24-gruen-rand);background:var(--ks24-gruen);
}
.ks24-formular-wrap .ks24-dropzone-gruen:hover{background:#E4EEE6;}
.ks24-formular-wrap .ks24-dropzone-titel{display:block;font-weight:800;font-size:1.05rem;margin-bottom:4px;}
.ks24-formular-wrap .ks24-dropzone .ks24-klein{margin:0;}
.ks24-formular-wrap .ks24-dropzone input[type=file]{position:absolute;width:1px;height:1px;opacity:0;}

.ks24-formular-wrap .ks24-dropzone-knoepfe{
  display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:14px;
}
.ks24-formular-wrap .ks24-btn-foto,
.ks24-formular-wrap .ks24-btn-datei{
  font-family:inherit;font-weight:700;font-size:.95rem;cursor:pointer;
  padding:13px 22px;border-radius:6px;line-height:1.2;border:2px solid var(--ks24-blau);
}
.ks24-formular-wrap .ks24-btn-foto{background:var(--ks24-blau) !important;color:#fff !important;}
.ks24-formular-wrap .ks24-btn-foto:hover{background:var(--ks24-dunkelblau) !important;border-color:var(--ks24-dunkelblau);}
.ks24-formular-wrap .ks24-btn-datei{background:#fff !important;color:var(--ks24-blau) !important;}
.ks24-formular-wrap .ks24-btn-datei:hover{background:var(--ks24-hellblau) !important;}
.ks24-formular-wrap .ks24-dropzone-gruen{cursor:pointer;}

.ks24-formular-wrap .ks24-dateien{list-style:none;padding:0;margin:12px 0 0;font-size:.92rem;}
.ks24-formular-wrap .ks24-dateien li{
  background:var(--ks24-gruen);border:1px solid var(--ks24-gruen-rand);border-radius:6px;
  padding:8px 12px;margin-bottom:6px;display:flex;justify-content:space-between;gap:10px;
}
.ks24-formular-wrap .ks24-datei-aktionen{display:inline-flex;gap:5px;margin-left:auto;}
.ks24-formular-wrap .ks24-datei-aktionen button{
  width:30px;height:30px;padding:0;border:1px solid #9fb4c8;border-radius:4px;
  background:#fff;color:var(--ks24-navy);font:700 17px/1 inherit;cursor:pointer;
}
.ks24-formular-wrap .ks24-datei-aktionen button:hover{border-color:var(--ks24-blau);color:var(--ks24-blau);}
.ks24-formular-wrap .ks24-datei-aktionen button:disabled{opacity:.35;cursor:default;}

.ks24-formular-wrap.ks24-zu .ks24-form,
.ks24-formular-wrap.ks24-zu .ks24-smart{display:none;}
.ks24-formular-wrap button.ks24-oeffner{
  display:block;width:100%;min-height:60px;padding:18px 26px;border-radius:8px;
  border:2px solid var(--ks24-blau);background:var(--ks24-blau) !important;color:#fff !important;
  font-family:inherit;font-weight:750;font-size:17px;cursor:pointer;}
.ks24-formular-wrap button.ks24-oeffner:hover{
  background:var(--ks24-dunkelblau) !important;border-color:var(--ks24-dunkelblau);}
.ks24-klage-wrap{max-width:none;}
.ks24-klage-raster{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;}
@media(max-width:700px){.ks24-klage-raster{grid-template-columns:1fr;}}
.ks24-formular-wrap textarea{width:100%;padding:13px 14px;border:1px solid #C6D2DE;border-radius:6px;
  font-size:1rem;font-family:inherit;color:var(--ks24-navy);background:#fff;}
.ks24-klage-hinweis{background:var(--ks24-warn,#FFF8E8);border:1px solid #E8D9A8;border-radius:6px;
  padding:14px 16px;font-size:15px;font-weight:700;color:#8A6A11;margin:18px 0;}
.ks24-formular-wrap .ks24-mehr{margin:4px 0 16px;border-top:1px solid var(--ks24-linie);padding-top:12px;}
.ks24-formular-wrap .ks24-mehr summary{cursor:pointer;font-weight:700;font-size:15px;color:var(--ks24-blau);list-style:none;}
.ks24-formular-wrap .ks24-mehr summary::-webkit-details-marker{display:none;}
.ks24-formular-wrap .ks24-mehr summary::after{content:" +";font-weight:750;}
.ks24-formular-wrap .ks24-mehr[open] summary::after{content:" \2212";}
.ks24-formular-wrap .ks24-mehr-inhalt{padding-top:14px;}
.ks24-formular-wrap .ks24-rsv-felder{margin-top:12px;padding-top:12px;border-top:1px solid var(--ks24-linie);}
.ks24-formular-wrap .ks24-optional{border-top:1px solid var(--ks24-linie);margin-top:16px;padding-top:14px;}

.ks24-formular-wrap .ks24-check{display:flex;gap:12px;align-items:flex-start;flex-wrap:nowrap;}
.ks24-formular-wrap .ks24-check input[type=checkbox]{
  appearance:auto;-webkit-appearance:checkbox;
  flex:0 0 18px;width:18px;height:18px;min-width:18px;max-width:18px;
  min-height:18px;max-height:18px;margin:2px 0 0;padding:0;border-radius:3px;}
.ks24-formular-wrap .ks24-check label{
  flex:1 1 auto;font-weight:400;font-size:14px;line-height:1.45;color:#5A6B7D;margin:0;display:block;}

.ks24-formular-wrap .ks24-honig{position:absolute;left:-9999px;height:0;overflow:hidden;}

.ks24-formular-wrap button.ks24-btn{
  display:block;width:100%;padding:16px 26px;border:2px solid var(--ks24-rot);border-radius:6px;
  background:var(--ks24-rot) !important;color:#fff !important;font-weight:700;font-size:1.08rem;
  font-family:inherit;cursor:pointer;line-height:1.2;
}
.ks24-formular-wrap button.ks24-btn:hover{
  background:var(--ks24-rot-dunkel) !important;border-color:var(--ks24-rot-dunkel);color:#fff !important;}
.ks24-formular-wrap button.ks24-btn[disabled]{opacity:.6;cursor:progress;}

.ks24-formular-wrap .ks24-fehler{
  background:#FDECEC;border:1px solid #E9B7B7;color:#8B2020;border-radius:8px;
  padding:12px 14px;font-size:.92rem;margin-bottom:14px;
}

/* Kapitel 6.1: Meldung direkt am Feld, mit aria-describedby verbunden. */
.ks24-formular-wrap .ks24-feldfehler{
  margin:6px 0 0;font-size:.92rem;font-weight:700;color:#8B2020;
}
.ks24-formular-wrap input[aria-invalid="true"],
.ks24-formular-wrap select[aria-invalid="true"]{
  border-color:#C0392B;box-shadow:0 0 0 1px #C0392B;
}

.ks24-formular-wrap .ks24-erfolg{
  background:var(--ks24-gruen);border:1px solid var(--ks24-gruen-rand);border-radius:12px;padding:26px;
}
.ks24-formular-wrap .ks24-erfolg h3{margin:0 0 .4em;font-size:1.25rem;font-weight:800;}
.ks24-formular-wrap .ks24-erfolg p{margin:0 0 .6em;}

.ks24-formular-wrap [hidden]{display:none !important;}
.ks24-formular-wrap a:focus-visible,
.ks24-formular-wrap button:focus-visible,
.ks24-formular-wrap input:focus-visible,
.ks24-formular-wrap select:focus-visible{outline:3px solid var(--ks24-blau);outline-offset:2px;}


/* ---- Kurzformular nach den Designvorschauen ---- */
.ks24-formular-wrap .ks24-form{background:transparent;border:0;padding:0;box-shadow:none;}
.ks24-formular-wrap .ks24-dropzone{
  background:#F3F8FC;border:1px solid #2E74B5;border-radius:8px;
  padding:22px 24px;text-align:left;display:block;}
.ks24-formular-wrap .ks24-dropzone-titel{
  display:block;font-size:21px;font-weight:750;color:#0B2545;margin-bottom:6px;}
.ks24-formular-wrap .ks24-dropzone .ks24-klein{display:block;color:#5A6B7D;font-size:14px;margin-bottom:14px;}
.ks24-formular-wrap .ks24-dropzone-knoepfe{display:flex;gap:12px;flex-wrap:wrap;}
.ks24-formular-wrap .ks24-btn-foto{
  background:#fff;border:2px solid #2E74B5;color:#2E74B5;border-radius:6px;
  min-height:46px;padding:0 20px;font-weight:750;font-size:16px;font-family:inherit;cursor:pointer;}
.ks24-formular-wrap .ks24-btn-datei{
  background:#1F4D78;border:2px solid #1F4D78;color:#fff;border-radius:6px;
  min-height:46px;padding:0 20px;font-weight:750;font-size:16px;font-family:inherit;cursor:pointer;}
.ks24-formular-wrap .ks24-btn-foto:hover{background:#EFF4F7;}
.ks24-formular-wrap .ks24-btn-datei:hover{background:#0B2545;border-color:#0B2545;}

.ks24-formular-wrap .ks24-paar{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px;}
.ks24-formular-wrap .ks24-feld label{font-size:16px;font-weight:750;color:#0B2545;margin-bottom:8px;display:block;}
.ks24-formular-wrap .ks24-feld input,
.ks24-formular-wrap .ks24-feld select{
  width:100%;min-height:52px;border:1px solid #D7DBE2;border-radius:6px;
  padding:0 14px;font-size:18px;background:#fff;color:#0B2545;}
.ks24-formular-wrap #ks24-senden,
.ks24-formular-wrap .ks24-senden{
  width:100%;min-height:58px;background:#2E74B5 !important;border:0 !important;border-radius:8px;
  color:#fff !important;font-size:17px;font-weight:750;margin-top:24px;cursor:pointer;font-family:inherit;}
.ks24-formular-wrap #ks24-senden:hover,
.ks24-formular-wrap .ks24-senden:hover{background:#1F4D78 !important;}
.ks24-formular-wrap .ks24-check{margin-top:18px;}
@media(max-width:700px){
  .ks24-formular-wrap .ks24-paar{grid-template-columns:1fr;gap:14px;}
  .ks24-formular-wrap .ks24-dropzone{padding:18px;}
  .ks24-formular-wrap .ks24-dropzone-knoepfe{flex-direction:column;}
  .ks24-formular-wrap .ks24-btn-foto,.ks24-formular-wrap .ks24-btn-datei{width:100%;}
}


/* ---- Klage-Datenaufnahme ---- */
.ks24-klage-abschnitt{margin-bottom:38px;}
.ks24-klage-abschnitt h2{font-size:32px;line-height:1.2;font-weight:750;margin:0 0 6px;color:#0B2545;}
.ks24-klage-abschnitt > .ks24-klein{margin:0 0 18px;font-size:16px;color:#5A6B7D;}
.ks24-klage-raster{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;}
.ks24-klage-raster .ks24-feld-breit{grid-column:1 / -1;}
.ks24-klage-raster textarea{width:100%;min-height:120px;border:1px solid #D7DBE2;border-radius:6px;
  padding:12px 14px;font-size:18px;font-family:inherit;color:#0B2545;}
.ks24-klage-liste{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;}
.ks24-klage-option{display:flex;gap:10px;align-items:flex-start;font-size:17px;color:#0B2545;font-weight:400;}
.ks24-klage-option input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;min-width:18px;max-width:18px;
  min-height:18px;max-height:18px;margin:3px 0 0;appearance:auto;-webkit-appearance:checkbox;}
.ks24-klage-hinweis{background:#FFF8E8;border:1px solid #E8D9A8;border-radius:8px;padding:18px 20px;
  font-size:17px;font-weight:700;color:#8A6A11;margin:10px 0 22px;}
@media(max-width:820px){
  .ks24-klage-raster,.ks24-klage-liste{grid-template-columns:1fr;}
  .ks24-klage-abschnitt h2{font-size:28px;}
}

.ks24-klage-unterlagen{list-style:none;margin:0 0 22px;padding:0;border:1px solid #D7DBE2;border-radius:8px;overflow:hidden;}
.ks24-klage-unterlagen li{display:flex;justify-content:space-between;gap:16px;padding:12px 18px;
  border-bottom:1px solid #EDF1F5;font-size:17px;color:#0B2545;}
.ks24-klage-unterlagen li:last-child{border-bottom:0;}
.ks24-klage-unterlagen em{font-style:normal;font-size:15px;color:#5A6B7D;white-space:nowrap;}
.ks24-klage-wrap input[type=file]{font-size:16px;padding:10px 0;}
@media(max-width:560px){
  .ks24-klage-unterlagen li{flex-direction:column;gap:2px;}
  .ks24-klage-unterlagen em{white-space:normal;}
}

/* Auf dem Handy stehen Name und E-Mail nicht im Erstformular */
.ks24-formular-wrap .ks24-mobilhinweis{display:none;}
@media(max-width:700px){
  .ks24-formular-wrap .ks24-mobilhinweis{display:block;font-size:14px;color:#5A6B7D;margin:-4px 0 14px;}
}
.ks24-sicherheitsversprechen{
  margin:0 0 18px;padding:15px 17px;border:1px solid #C9D7E5;border-left:4px solid #2F7DBA;
  border-radius:7px;background:#F7FAFC;color:#334A61;font-size:15px;line-height:1.55;
}
.ks24-sicherheitsversprechen strong{display:block;color:#0B2545;font-size:16px;margin-bottom:3px;}
.ks24-sicherheitsversprechen span{display:block;}
.ks24-kein-mandat{max-width:620px;margin:13px auto 5px;color:#465B70;line-height:1.55;}

/* Einwilligungs- und Datenschutzhinweise bleiben auch ohne Farbwahrnehmung erkennbar. */
.ks24-formular-wrap .ks24-check a,
.ks24-formular-wrap label a,
.ks24-sc-einwilligung a{
  color:#155A91;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.16em;
}
.ks24-formular-wrap .ks24-check a:hover,
.ks24-formular-wrap label a:hover,
.ks24-sc-einwilligung a:hover{color:#0B2545;}
