/* elewa — Kündigungs- und Widerrufsformular (/kuendigen, /widerruf). */
.cn-form {
  background: var(--bg-soft, #faf9fc);
  border: 1px solid var(--line-2);
  border-radius: var(--r);
  padding: 22px 22px 18px;
  margin: 24px 0 36px;
}
.cn-form fieldset { border: 0; padding: 0; margin: 0 0 18px; }
.cn-form legend, .cn-field > label { display: block; font-weight: 600; color: var(--ink); margin-bottom: 6px; font-size: 15px; }
.cn-radio { display: flex; gap: 8px; align-items: flex-start; margin-bottom: 6px; color: var(--ink-2); cursor: pointer; }
.cn-radio input { margin-top: 5px; accent-color: var(--brand); }
.cn-field { margin-bottom: 16px; }
.cn-field input, .cn-field select, .cn-field textarea {
  width: 100%; max-width: 100%;
  font: inherit; font-size: 15px; color: var(--ink);
  background: #fff;
  border: 1.5px solid var(--line-2); border-radius: var(--r-s);
  padding: 10px 12px;
}
.cn-field input:focus, .cn-field select:focus, .cn-field textarea:focus { outline: 2px solid var(--brand); outline-offset: 1px; border-color: var(--brand); }
.cn-field small { display: block; color: var(--ink-3); font-size: 13.5px; margin-top: 4px; }
.cn-sub { margin: 8px 0 0; padding-inline-start: 26px; }
.cn-hp { position: absolute; inset-inline-start: -10000px; width: 1px; height: 1px; overflow: hidden; }
.cn-error {
  color: var(--red); font-weight: 600; margin: 0 0 14px;
}
.cn-form .btn { border: 0; cursor: pointer; font: inherit; font-weight: 700; }
.cn-form .btn:disabled { opacity: .6; cursor: wait; transform: none; }
.cn-done {
  border: 1.5px solid color-mix(in srgb, var(--green) 45%, var(--bg, #fff));
  background: color-mix(in srgb, var(--green) 7%, var(--bg, #fff));
  border-radius: var(--r);
  padding: 20px 22px;
  margin: 24px 0 36px;
}
.cn-done h2 { margin-top: 0 !important; }
.cn-done pre {
  white-space: pre-wrap; word-break: break-word;
  font: inherit; font-size: 14.5px; color: var(--ink);
  background: #fff; border: 1px solid var(--line-2); border-radius: var(--r-s);
  padding: 12px 14px; margin: 12px 0 16px;
}
.cn-done .btn-outline { cursor: pointer; font: inherit; font-weight: 600; }
.cn-model {
  border: 1px dashed var(--line-2); border-radius: var(--r-s);
  padding: 14px 16px; margin: 10px 0 18px;
}

@media print {
  header.site, footer.site, footer.site-slim, .cn-form, .cn-noprint, #cn-print { display: none !important; }
  .cn-done { border: 0; background: none; padding: 0; }
}
