/**
 * Registration page: each section of the form is a dark card on the night
 * sky, the ticket choices are selectable rows.
 */
.kj-register .nav-tabs { border: 0; flex-direction: row !important; flex-wrap: wrap; gap: 6px 22px; margin: 26px 0 18px; }
.kj-register .nav-tabs .nav-item { background: none !important; display: block !important; }
.kj-register .nav-tabs .nav-link {
  background: none;
  border: 0;
  color: var(--kj-moon);
  font: 400 clamp(22px, 3vw, 28px) / 1.1 var(--kj-display);
  padding: 0 0 10px;
}
.kj-register .nav-tabs .nav-link:hover,
.kj-register .nav-tabs .nav-link.active { color: var(--kj-lime); }
.kj-register .nav-tabs .tab-toggle { display: none; }

.kj-register form fieldset {
  background: var(--kj-night-2);
  border: 0;
  color: var(--kj-moon);
  margin: 0 0 18px;
  padding: clamp(20px, 4vw, 36px);
}
.kj-register form fieldset fieldset { background: none; margin: 20px 0 0; padding: 0; }
.kj-register form legend { float: left; margin: 0 0 14px; padding: 0; width: 100%; }
.kj-register form legend + * { clear: both; }
.kj-register .fieldset-legend { color: var(--kj-lime); font: 400 clamp(32px, 5vw, 44px) / 1.1 var(--kj-display); }
.kj-register form fieldset fieldset .fieldset-legend { font-size: clamp(24px, 3.4vw, 30px); }

.kj-register form .form-item { margin-bottom: 18px; }
.kj-register form label:not(.form-check-label) { font: 400 25px / 1.2 var(--kj-display); }
.kj-register form .form-check-label { font-weight: 500; }
.kj-register form .description { font-size: 15px; line-height: 1.45; }
.kj-register form a,
.kj-register form a:visited { color: var(--kj-lime); }

.kj-register form .form-control,
.kj-register form .form-select { background-color: var(--kj-night); border: 1px solid var(--kj-moon); border-radius: 0; color: var(--kj-moon); color-scheme: dark; }
.kj-register form .form-select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23f4f1e4' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E"); }
.kj-register form .form-control::placeholder { color: var(--kj-moon); opacity: .6; }
.kj-register form .form-control:focus,
.kj-register form .form-select:focus { border-color: var(--kj-lime); box-shadow: 0 0 0 1px var(--kj-lime); }
.kj-register form .form-check-input { background-color: var(--kj-night); border: 1px solid var(--kj-moon); }
.kj-register form .form-check-input:checked { background-color: var(--kj-lime); border-color: var(--kj-lime); }
.kj-register form .form-check-input:focus { box-shadow: 0 0 0 2px var(--kj-lime); }

/* Ticket choices */
.kj-register #edit-field-ticket-auswaehlen--wrapper .form-check {
  border: 1px solid var(--kj-moon);
  margin: 0 0 8px;
  padding: 10px 12px 10px 40px;
}
.kj-register #edit-field-ticket-auswaehlen--wrapper .form-check:has(:checked) { background: var(--kj-lime); border-color: var(--kj-lime); color: var(--kj-night); }
.kj-register #edit-field-ticket-auswaehlen--wrapper .form-check:has(:checked) .form-check-input { background-color: var(--kj-night); border-color: var(--kj-night); }

.kj-register #edit-field-ticket-auswaehlen--wrapper .description { color: var(--kj-moon); font-size: 16px; margin: 18px 0; opacity: 1; padding: 0; }

.kj-register form .form-actions .btn {
  background: var(--kj-lime);
  border: 2px solid var(--kj-lime);
  border-radius: 0;
  color: var(--kj-night);
  font: 400 clamp(24px, 4vw, 32px) / 1.1 var(--kj-display);
  padding: 10px 24px;
  white-space: normal;
}
.kj-register form .form-actions .btn:hover { background: var(--kj-moon); border-color: var(--kj-moon); }
.kj-register form .form-actions .btn:focus-visible { outline: 2px solid var(--kj-moon); outline-offset: 2px; }
