/* Club F - Akzent aus dem Theme (--color-primary), sonst #459185 */
.cf { --cf-akzent: var(--color-primary, #459185); --cf-dunkel: #2f6b62; --cf-rand: #d5e3df; --cf-hell: #f4f8f7; color: #1f2d2a; }
.cf-h { margin: 2rem 0 .6rem; font-size: 1.45rem; font-weight: 700; color: var(--cf-dunkel); }
.cf-info { margin: .2rem 0 0; font-size: .8rem; color: #6a7a76; }
/* Anmeldung */
.cf-auth { margin: 1.4rem 0; }
.cf-auth__box { max-width: 32rem; margin: 1.2rem 0; padding: 1.4rem 1.5rem 1.5rem; background: var(--cf-hell); border: 1px solid var(--cf-rand); border-radius: 1rem; }
.cf-auth__title { margin: 0 0 .5rem; font-size: 1.25rem; line-height: 1.25; font-weight: 700; color: var(--cf-dunkel); }
.cf-auth__lead { margin: 0 0 1rem; color: #3b4a46; }
.cf-auth__msg { margin: 0 0 1rem; padding: .7rem .9rem; border-radius: .6rem; background: #e2f1ec; color: #1f4d45; }
.cf-auth__msg.is-error { background: #f8e4df; color: #7a2a1c; }
.cf-auth__form { display: grid; gap: .85rem; }
.cf-auth__field { display: grid; gap: .25rem; font-size: .9rem; color: #3b4a46; }
.cf-auth__input { width: 100%; box-sizing: border-box; padding: .7rem .9rem; font: inherit; font-size: 1rem; color: #1f2d2a; background: #fff; border: 1px solid var(--cf-rand); border-radius: .6rem; }
.cf-auth__input:focus { outline: none; border-color: var(--cf-akzent); box-shadow: 0 0 0 3px rgba(69, 145, 133, .3); }
.cf-auth__code { font-size: 1.6rem; letter-spacing: .35em; text-align: center; font-variant-numeric: tabular-nums; }
.cf-auth__row { display: grid; gap: .85rem; grid-template-columns: 1fr 1fr; }
@media (max-width: 420px) { .cf-auth__row { grid-template-columns: 1fr; } }
.cf-auth__consent { display: flex; gap: .6rem; align-items: flex-start; font-size: .9rem; line-height: 1.4; color: #2f3d39; }
.cf-auth__consent input { margin-top: .2rem; width: 1.1rem; height: 1.1rem; flex: none; accent-color: var(--cf-akzent); }
.cf-auth__btn { justify-self: start; padding: .8rem 1.4rem; font: inherit; font-weight: 700; color: #fff; background: var(--cf-akzent); border: 0; border-radius: 999px; cursor: pointer; }
.cf-auth__btn:hover { background: var(--cf-dunkel); }
.cf-auth__btn:disabled { opacity: .6; cursor: wait; }
.cf-auth__btn--leise { color: var(--cf-akzent); background: transparent; border: 2px solid var(--cf-akzent); }
.cf-auth__btn--leise:hover { color: #fff; }
.cf-auth__aux { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; margin-top: 1rem; }
.cf-auth__link { padding: 0; font: inherit; font-size: .9rem; color: var(--cf-dunkel); background: none; border: 0; text-decoration: underline; cursor: pointer; }
.cf-auth__hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
/* Code: sechs Einzelfelder */
.cf-code { display: grid; gap: .5rem; justify-items: start; }
.cf-code__felder { display: flex; align-items: center; gap: .45rem; }
.cf-code__ziffer { width: 2.9rem; height: 3.4rem; box-sizing: border-box; padding: 0; text-align: center; font: inherit; font-size: 1.6rem; font-weight: 700; font-variant-numeric: tabular-nums;
  color: #1f2d2a; background: #fff; border: 1px solid var(--cf-rand); border-radius: .6rem; caret-color: var(--cf-akzent); }
.cf-code__ziffer:focus { outline: none; border-color: var(--cf-akzent); box-shadow: 0 0 0 3px rgba(69, 145, 133, .3); }
.cf-code__trenner { color: #9aa9a5; font-weight: 700; padding: 0 .1rem; }
@media (max-width: 420px) {
  .cf-code__felder { gap: .3rem; }
  .cf-code__ziffer { width: 2.5rem; height: 3rem; font-size: 1.4rem; }
}
/* Einstiegsseite */
.cf-start { margin: 1.5rem 0 2rem; padding: 1.2rem 1.4rem; border: 1px solid var(--cf-rand); border-radius: 1rem; background: #fff; }
.cf-start .cf-h { margin-top: 0; }
.cf-start .cf-auth__box { margin: .4rem 0 0; }
.cf-start__knopf, .cf-start__knopf:hover, .cf-start__knopf:visited { display: inline-block; text-decoration: none; color: #fff !important; }
