/* Hinweisbox (falls notice=1) */
.mm-locked {
  padding: 1rem;
  border: 1px dashed #bbb;
  border-radius: 10px;
  background: #fafafa;
}

/* ============= Vertikale & horizontale Zentrierung ============= */
/* Dem umgebenden Elementor-Container die Klasse "login-center" geben */
.login-center {
  min-height: 62vh;              /* genug Höhe für mittige Wirkung */
  display: flex;
  align-items: center;           /* vertikal zentrieren */
  justify-content: center;       /* horizontal zentrieren */
  /* optional: leicht ruhiger Hintergrund
  background: #f7f7f7;
  */
}

/* Mobile: nicht zu groß strecken */
@media (max-width: 480px) {
  .login-center {
    min-height: 50vh;
    padding: 16px 0;
  }
}

/* ============= Formular-Styles (Floating Labels + CI) ============= */
.mm-form {
  --mm-orange: #f18500;
  --mm-gray: #6b6b6b;
  --mm-border: #cfcfcf;
  --mm-bg: #fff;
  --mm-radius: 12px;
  --mm-shadow: 0 1px 2px rgba(0,0,0,.04);

  margin: 0 auto;               /* horizontal zentriert im Flex-Container */
  max-width: 400px;
  text-align: left;
}

.mm-field { margin: 0 0 14px 0; }
.mm-float-wrap { position: relative; display: block; }

.mm-input {
  width: 100%;
  height: 44px;
  padding: 1.05rem .9rem .55rem .9rem;
  border: 1px solid var(--mm-border);
  border-radius: var(--mm-radius);
  background: var(--mm-bg);
  outline: none;
  box-shadow: var(--mm-shadow);
  transition: border-color .15s ease, box-shadow .15s ease;
  font-size: 15px;
}
.mm-input:focus {
  border-color: var(--mm-orange);
  box-shadow: 0 0 0 3px rgba(241,133,0,.18);
}
.mm-input::placeholder { color: transparent; }

.mm-label {
  position: absolute;
  left: .75rem;
  top: .92rem;
  padding: 0 .38rem;
  background: var(--mm-bg);
  color: var(--mm-gray);
  font-size: 15px;
  line-height: 1;
  border-radius: .4rem;
  transition: transform .18s ease, top .18s ease, font-size .18s ease, color .18s ease;
}
.mm-input:focus + .mm-label,
.mm-input:not(:placeholder-shown) + .mm-label {
  top: -.55rem;
  font-size: .78rem;
  color: var(--mm-orange);
}

/* Aktionen */
.mm-actions {
  display: flex;
  flex-direction: column;     /* Button über Checkbox */
  align-items: center;
  gap: 10px;
  margin-top: 15px;
}
.mm-btn {
  display: inline-block;
  background: var(--mm-orange);
  color: #fff;
  border: none;
  padding: .7rem 1.6rem;
  border-radius: var(--mm-radius);
  font-weight: 600;
  cursor: pointer;
  transition: filter .15s ease, transform .02s ease;
}
.mm-btn:hover { filter: brightness(.96); }
.mm-btn:active { transform: translateY(1px); }

.mm-remember {
  font-size: 14px;
  color: var(--mm-gray);
  display: flex;
  align-items: center;
  gap: .5rem;
}
.mm-remember input[type='checkbox'] { transform: translateY(1px); }

/* Meldungen */
.mm-msg {
  padding: .75rem 1rem;
  border-radius: 10px;
  margin: .5rem 0 0;
  border: 1px solid #e7e7e7;
}
.mm-msg.mm-error {
  background: #fff5f5;
  border-color: #ffd2d2;
  color: #a40000;
}

/* Mobile Feinheiten */
@media (max-width: 480px) {
  .mm-form { max-width: 100%; }
  .mm-actions { gap: 10px; }
  .mm-btn { width: 100%; }
}