@charset "UTF-8";
/* Felogin Styles auf Basis der Powermail-Variablen */
@layer felogin-reset, felogin-form, felogin-field, felogin-field-error, felogin-button;
/* ===========================
   RESET & HILFSKLASSEN
   =========================== */
@layer felogin-reset {
  .frame-type-felogin_login *,
.frame-type-felogin_login *::before,
.frame-type-felogin_login *::after {
    box-sizing: border-box;
  }

  .frame-type-felogin_login a,
.frame-type-felogin_login button {
    touch-action: manipulation;
  }

  .frame-type-felogin_login button,
.frame-type-felogin_login input,
.frame-type-felogin_login select,
.frame-type-felogin_login textarea {
    font: inherit;
    line-height: inherit;
  }

  .frame-type-felogin_login ::placeholder {
    color: var(--pm-input-placeholder-color);
    opacity: 1;
  }

  /* versteckte Felogin-Container */
  .frame-type-felogin_login .felogin-hidden {
    display: none;
  }
}
/* ===========================
   FORM-GRUNDLAYOUT
   =========================== */
@layer felogin-form {
  .frame-type-felogin_login {
    /* Optional: Card-Feeling border: .0625rem solid #dee2e6;
    background: #fff;

    padding: 1.5rem;
    */
  }

  .frame-type-felogin_login h3 {
    margin: 0 0 0.75rem 0;
    font-weight: 700;
    color: #000;
  }

  .frame-type-felogin_login p {
    margin: 0 0 1.25rem 0;
    color: #000;
  }

  .frame-type-felogin_login form {
    max-inline-size: 28rem;
    margin-top: 45px;
  }

  .frame-type-felogin_login fieldset {
    border: 0;
    margin: 0;
    padding: 0;
  }

  .frame-type-felogin_login fieldset > div + div {
    margin-block-start: 1rem;
  }

  .frame-type-felogin_login legend {
    font-size: 1.125rem;
    font-weight: 700;
    margin: 0 0 1rem 0;
    display: none;
  }

  /* Label + Input vertikal ausrichten */
  .frame-type-felogin_login label {
    display: grid;
    gap: 0.375rem;
  }
}
/* ===========================
   FELDER
   =========================== */
@layer felogin-field {
  /* Text-/Passwortfelder */
  .frame-type-felogin_login input[type=text],
.frame-type-felogin_login input[type=password],
.frame-type-felogin_login input[type=email] {
    background-color: #fff;
    border: 0.0625rem solid #dee2e6;
    color: #4A4A49;
    inline-size: 100%;
    padding-block: 0.375rem;
    padding-inline: 0.75rem;
    border-radius: 8px;
  }

  /* Fokuszustand */
  .frame-type-felogin_login input[type=text]:focus-visible,
.frame-type-felogin_login input[type=password]:focus-visible,
.frame-type-felogin_login input[type=email]:focus-visible {
    outline: 0.25rem solid rgba(0, 0, 0, 0);
    box-shadow: 0 0 0 0.25rem rgba(0, 104, 176, 0.25);
    border-color: #80b4d8;
  }

  /* Abstand vor Button-Zeile */
  .frame-type-felogin_login [type=submit] {
    margin-block-start: 0.75rem;
  }
}
/* ===========================
   FEHLER / UNGÜLTIG
   =========================== */
@layer felogin-field-error {
  .frame-type-felogin_login input[type=text]:user-invalid,
.frame-type-felogin_login input[type=password]:user-invalid {
    border-color: var(--pm-input-invalid-border-color);
    background-repeat: no-repeat;
    background-size: 1.125rem;
    background-position: calc(100% - .75rem) 0.5rem;
    padding-inline-end: 2.625rem;
  }

  .frame-type-felogin_login input[type=text].is-error,
.frame-type-felogin_login input[type=password].is-error {
    /* Fallback-Klasse, falls Server-Fehlerklasse gesetzt wird */
    border-color: var(--pm-input-invalid-border-color);
  }

  .frame-type-felogin_login input:user-invalid:focus-visible,
.frame-type-felogin_login .is-error:focus-visible {
    outline: 0.25rem solid rgba(0, 0, 0, 0);
    box-shadow: 0 0 0 0.25rem rgba(0, 104, 176, 0.25);
  }
}
/* ===========================
   BUTTONS
   =========================== */
@layer felogin-button {
  .frame-type-felogin_login input[type=submit] {
    appearance: none;
    background-color: #0068b0;
    border: 0.0625rem solid #004e84;
    color: #fff;
    padding-block: 0.5rem;
    padding-inline: 0.875rem;
    cursor: pointer;
    inline-size: auto;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
  }

  .frame-type-felogin_login input[type=submit]:hover,
.frame-type-felogin_login input[type=submit]:focus-visible {
    background-color: #005896;
    border-color: #00538d;
    color: #fff;
  }

  /* Variante: Full-Width Button (optional aktivieren)
  .frame-type-felogin_login input[type="submit"] {
    inline-size: 100%;
  } */
}
/* ===========================
   FEINTUNING LAYOUT
   =========================== */
.frame-type-felogin_login form > fieldset > div > label > input {
  /* sorgt für konsistenten Abstand in deiner Struktur */
  margin-block-start: 0.125rem;
}

/* Abstände zum umgebenden Grid (falls Bootstrap col-12 etc.) */
.col-12 .frame-type-felogin_login {
  margin-block: 0;
}

/*# sourceMappingURL=fe-login.css.map */
