/* Form Container */
#ksub-form { max-width: 720px; margin: 0 auto; padding: 16px; background: #fff; border: 1px solid #eef0f2; border-radius: 12px; }
@media (max-width: 640px) { #ksub-form { padding: 12px; border-radius: 10px; } }

/* Inputs */
.ksub-label { display:block; font-weight:600; margin-bottom:6px; }
.ksub-input, #ksub-form input[type="text"], #ksub-form input[type="file"] {
  width: 100%; padding: 10px 12px; border: 1px solid #dfe3e6; border-radius: 10px; background: #fafafa;
}
.ksub-input:focus { outline: none; border-color: #8ab4f8; background: #fff; box-shadow: 0 0 0 3px rgba(138,180,248,0.25); }

.ksub-hint { display:block; color:#6b7280; margin-top:6px; font-size:13px; }
.ksub-error { color:#b00020; font-size:13px; margin-top:6px; }

.ksub-consent { margin: 14px 0; font-size: 14px; line-height: 1.5; }
.ksub-consent input[type="checkbox"] { transform: scale(1.15); margin-right: 8px; }

/* Map */
.ksub-map-wrap { position: relative; margin: 16px 0 8px; }
.ksub-map { width: 100%; height: 360px; border-radius: 12px; overflow: hidden; background: #f3f4f6; border:1px solid #e5e7eb; }
@media (max-width: 640px) { .ksub-map { height: 300px; } }
.ksub-ll { display:flex; gap:8px; align-items:center; margin-top:8px; }
.ksub-ll input { flex:1; padding:8px 10px; border:1px solid #dfe3e6; border-radius:8px; background:#fafafa; }

/* Debug-Badge */
.ksub-debug { position:absolute; top:8px; left:8px; z-index:5; background:#111; color:#fff; padding:6px 8px; border-radius:6px; font:12px/1.4 system-ui; opacity:.9; }
.ksub-debug.is-warn { background:#b8860b; }
.ksub-debug.is-err { background:#b00020; }

/* Submit Button States */
#ksub-submit.button.button-primary { border-radius:10px; padding:10px 16px; font-weight:600; transition: background .2s ease, opacity .2s ease; }
#ksub-submit.is-disabled { background:#9CA3AF; border-color:#9CA3AF; color:#fff; opacity:.7; cursor:not-allowed; }
#ksub-submit.is-ready { background:#10b981; border-color:#10b981; color:#fff; opacity:1; cursor:pointer; }

/* Toast */
.ksub-toast { position: fixed; inset: 0; display:flex; align-items:center; justify-content:center; background: rgba(17,24,39,.35); padding: 16px; }
.ksub-toast-card { max-width: 560px; width:100%; background:#fff; border-radius:14px; border:1px solid #e5e7eb; box-shadow: 0 20px 40px rgba(0,0,0,.15); padding: 18px; }
.ksub-toast-msg { font-size:16px; line-height:1.6; margin-bottom:14px; }
.ksub-toast-actions { display:flex; gap:10px; justify-content:flex-end; }
.ksub-btn { appearance:none; border:none; padding:10px 14px; border-radius:10px; font-weight:600; background:#111827; color:#fff; }
.ksub-btn:hover { opacity:.95; }
.ksub-btn-secondary { background:#e5e7eb; color:#111827; }

/* Datei-Reihe + Clear-Button */
.ksub-file-row { display:flex; align-items:center; gap:8px; }
#ksub-file-clear { min-width: 40px; height: 40px; line-height: 40px; border-radius: 10px; font-size: 18px; }

/* Fehlermarkierung */
.ksub-err, .ksub-err:focus { border-color:#b00020 !important; box-shadow: 0 0 0 3px rgba(176,0,32,0.12) !important; }

/* Suche */
.ksub-places-wrap { margin: 8px 0 10px; }
#ksub-places {
  width: 100%; padding: 10px 12px; border: 1px solid #dfe3e6; border-radius: 10px; background: #fafafa;
}
#ksub-places:focus { outline: none; border-color: #8ab4f8; background: #fff; box-shadow: 0 0 0 3px rgba(138,180,248,0.25); }

/* Buttons (Toast/Light) */
.ksub-btn { appearance:none; border:none; padding:10px 14px; border-radius:10px; font-weight:600; background:#111827; color:#fff; }
.ksub-btn:hover { opacity:.95; }
.ksub-btn-secondary { background:#e5e7eb; color:#111827; }
.ksub-btn-light { background:#e5e7eb; color:#111827; border:1px solid #e5e7eb; }