/* Profile page toolbar: title left, logout right (one row) */
.blueshift-profile-toolbar {
  width: 100%;
}

.blueshift-profile-title {
  margin: 0;
  color: var(--primary, #00bcd4);
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 300;
  line-height: 1.2;
  text-transform: uppercase;
}

.blueshift-profile .blueshift-logout-btn {
  margin: 0;
  white-space: nowrap;
}

/* Hide plugin CE header — title comes from profile template toolbar only */
.frame-type-blueshiftsite_profile > .frame-header,
.frame-type-blueshiftsite_profile > header,
.frame-type-blueshiftsite_profile .frame-header,
.frame-type-blueshiftsite_profile .ce-headline {
  display: none !important;
}

.frame-type-blueshiftsite_profile {
  margin-top: 0 !important;
}

.blueshift-profile .blueshift-profile-title {
  color: var(--primary, #00bcd4) !important;
  font-weight: 300 !important;
}

/* T3 Blogger–style checkboxes — flex-aligned (label + box share one baseline) */
.feuserregistration .blueshift-checkbox-row,
.blueshift-profile-form .blueshift-checkbox-row {
  position: relative;
  display: flex !important;
  align-items: center !important;
  gap: 0.6rem;
  padding-left: 0;
  margin-bottom: 0.65rem;
}

.feuserregistration .blueshift-checkbox-row > input[type="hidden"],
.blueshift-profile-form .blueshift-checkbox-row > input[type="hidden"] {
  display: none !important;
}

.feuserregistration .blueshift-checkbox-row > input[type="checkbox"],
.blueshift-profile-form .blueshift-checkbox-row > input[type="checkbox"] {
  position: static !important;
  opacity: 1 !important;
  width: 1.125rem !important;
  height: 1.125rem !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 auto;
  float: none !important;
  vertical-align: middle;
  cursor: pointer;
  accent-color: #272727;
}

.feuserregistration .blueshift-checkbox-row > input[type="checkbox"] + label,
.blueshift-profile-form .blueshift-checkbox-row > input[type="checkbox"] + label {
  position: static;
  display: inline !important;
  cursor: pointer;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1.35 !important;
  font-weight: 400;
  vertical-align: middle;
}

.feuserregistration .blueshift-checkbox-row > input[type="checkbox"] + label::before,
.blueshift-profile-form .blueshift-checkbox-row > input[type="checkbox"] + label::before,
.feuserregistration .blueshift-checkbox-row > input[type="checkbox"] + label::after,
.blueshift-profile-form .blueshift-checkbox-row > input[type="checkbox"] + label::after,
.feuserregistration .blueshift-checkbox-row > input[type="checkbox"]:checked + label::after,
.blueshift-profile-form .blueshift-checkbox-row > input[type="checkbox"]:checked + label::after {
  content: none !important;
  display: none !important;
}

.feuserregistration fieldset.blueshift-topic-groups .blueshift-checkbox-row {
  margin-bottom: 0.35rem;
}

.feuserregistration fieldset.blueshift-topic-groups .blueshift-checkbox-row:last-child {
  margin-bottom: 0;
}

/* Topics: one flowing line, wrap when space runs out */
.feuserregistration fieldset.blueshift-topic-groups {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 1.25rem;
  row-gap: 0.65rem;
  border: 0;
  padding: 0;
  margin: 0 0 1rem;
  min-inline-size: 0;
}

.feuserregistration fieldset.blueshift-topic-groups > legend,
.feuserregistration fieldset.blueshift-topic-groups > .form-text {
  flex: 0 0 100%;
  width: 100%;
  float: none;
  padding: 0;
  margin: 0 0 0.35rem;
}

.feuserregistration fieldset.blueshift-topic-groups > .form-text {
  margin-bottom: 0.5rem;
}

.feuserregistration fieldset.blueshift-topic-groups > .blueshift-checkbox-row {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.45rem;
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
  box-sizing: border-box;
  margin-bottom: 0 !important;
  min-width: 0;
  white-space: nowrap;
}

.feuserregistration fieldset.blueshift-topic-groups > .blueshift-checkbox-row > label {
  white-space: nowrap;
}

/* Newsletter language select must stay clickable */
.feuserregistration .blueshift-luxletter-language .form-select,
.feuserregistration .blueshift-luxletter-language select.form-control {
  pointer-events: auto !important;
  appearance: auto;
  -webkit-appearance: menulist;
  background-image: none;
  cursor: pointer;
}

/* Space above/below Registrieren button */
.feuserregistration form input[type="submit"].btn,
.feuserregistration form button[type="submit"].btn {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

/* Fallback when wacon default form-check markup is still cached */
.feuserregistration .form-check {
  position: relative;
  display: flex !important;
  align-items: center !important;
  gap: 0.6rem;
  padding-left: 0 !important;
  margin-bottom: 0.65rem;
}

.feuserregistration .form-check > input[type="hidden"] {
  display: none !important;
}

.feuserregistration .form-check .form-check-input {
  position: static !important;
  opacity: 1 !important;
  width: 1.125rem !important;
  height: 1.125rem !important;
  margin: 0 !important;
  float: none !important;
  flex: 0 0 auto;
  cursor: pointer;
  accent-color: #272727;
}

.feuserregistration .form-check .form-check-label {
  position: static;
  display: inline !important;
  cursor: pointer;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1.35 !important;
  font-weight: 400;
}

.feuserregistration .form-check .form-check-label::before,
.feuserregistration .form-check .form-check-label::after,
.feuserregistration .form-check .form-check-input:checked + .form-check-label::after {
  content: none !important;
  display: none !important;
}

/* DOI / flash notice — centered inside .inner-banner */
.container.blueshift-flash-messages:not(:has(.blueshift-doi-notice)):not(:has(.alert)) {
  display: none !important;
}

.container.blueshift-flash-messages:has(.blueshift-doi-notice),
.container.blueshift-flash-messages:has(.alert) {
  position: absolute;
  z-index: 99999;
  text-align: center;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  max-width: min(92vw, 720px);
  margin: 0;
  padding: 0 15px;
  pointer-events: none;
}

.container.blueshift-flash-messages .blueshift-doi-notice,
.container.blueshift-flash-messages .alert {
  display: inline-block;
  pointer-events: auto;
  text-align: left;
  margin: 0;
  padding: 1rem 1.15rem;
  border: 1px solid #b7dfbe;
  border-radius: 4px;
  color: #215c2a;
  background-color: #e8f6ea;
  font-size: 1rem;
  line-height: 1.5;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.18);
}

.frame-type-felogin_login .alert,
.feuserregistration .alert {
  display: block;
  padding: 1rem 1.15rem;
  margin: 0 0 1rem;
  border: 1px solid transparent;
  border-radius: 4px;
  font-size: 1rem;
  line-height: 1.5;
}

.frame-type-felogin_login .alert-success,
.feuserregistration .alert-success {
  color: #215c2a;
  background-color: #e8f6ea;
  border-color: #b7dfbe;
}

.frame-type-felogin_login .alert-danger,
.feuserregistration .alert-danger {
  color: #842029;
  background-color: #f8d7da;
  border-color: #f5c2c7;
}

.frame-type-felogin_login .alert-warning,
.feuserregistration .alert-warning {
  color: #664d03;
  background-color: #fff3cd;
  border-color: #ffecb5;
}

/* Logged-in header: Profil + Abmelden (always visible) */
.navigation nav ul > li.blueshift-nav-profile > a,
.navigation nav ul > li.blueshift-nav-logout > a {
  white-space: nowrap;
}

/* Login form: space above/below Login button */
.frame-type-felogin_login .blueshift-login-submit {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.frame-type-felogin_login form fieldset > div:has(input[type="submit"]),
.frame-type-felogin_login form fieldset > div:has(button[type="submit"]) {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.blueshift-login-links {
  margin-top: 0.25rem;
}

.blueshift-login-links p {
  margin: 0.35rem 0;
}

.blueshift-login-links a {
  text-decoration: underline;
}

/* Registration: Datenschutz field validation (theme message, not browser tooltip) */
.feuserregistration .blueshift-privacy-field.has-error .blueshift-checkbox-row {
  outline: 1px solid #c62828;
  outline-offset: 4px;
  border-radius: 2px;
}

.feuserregistration .blueshift-field-error {
  display: block;
  margin: 0.5rem 0 0;
  padding: 0;
  color: #c62828;
  font-size: 0.875rem;
  line-height: 1.35;
  font-weight: 500;
}

.feuserregistration .blueshift-field-error[hidden] {
  display: none !important;
}

