#ei_tpl_fullsite {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

#ei_tpl_fullsite > main.ei_content {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  width: 100%;
  min-height: 0;
  margin-top: 0;
  padding: 5rem 0 3rem;
  box-sizing: border-box;
  overflow: visible;
}

#ei_tpl_fullsite > main.ei_content.ei_content--flow {
  padding-top: 7rem;
}

.ei_contener {
  width: 100%;
  max-width: 61.25rem;
  margin: 0 auto;
  padding: 0 1rem;
  box-sizing: border-box;
}

.ei_contener > .a_blocappli.ei_authent {
  width: 100%;
  max-width: 61.25rem;
  margin: 0 auto;
}

.ei_authent .ei_authent_container {
  overflow: visible;
}

.ei_authent .ei_appl_ident_content {
  width: 100%;
}

@media screen and (max-width: 1151px) {
  #ei_tpl_fullsite > main.ei_content {
    padding: 5rem 0 2rem;
  }

  #ei_tpl_fullsite > main.ei_content.ei_content--flow {
    padding-top: 7rem;
  }
}

@media screen and (max-width: 809px) {
  #ei_tpl_fullsite > main.ei_content {
    padding-top: 5.5rem;
    padding-bottom: 2rem;
  }

  #ei_tpl_fullsite > main.ei_content.ei_content--flow {
    padding-top: 7.5rem;
  }
}

.flow-step-indicator {
  width: 100%;
  max-width: 61.25rem;
  margin: 0 auto 2.5rem;
  padding-top: 1.5rem;
  position: relative;
  z-index: 1;
}

.flow-step-indicator__list {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}

.flow-step-indicator__item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  text-align: center;
  font-family: Inter, sans-serif;
  font-size: 0.75rem;
  line-height: 1.25;
  color: #737373;
  max-width: 9rem;
}

.flow-step-indicator__item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 0.6875rem;
  left: calc(50% + 0.875rem);
  right: calc(-50% + 0.875rem);
  height: 0.0625rem;
  background: #e8e8e8;
  z-index: 0;
}

.flow-step-indicator__item--done:not(:last-child)::after {
  background: #164194;
}

.flow-step-indicator__num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.375rem;
  height: 1.375rem;
  margin-bottom: 0.5rem;
  border-radius: 50%;
  border: 0.0625rem solid #e8e8e8;
  background: #fff;
  color: #737373;
  font-weight: 700;
  font-size: 0.6875rem;
  position: relative;
  z-index: 1;
}

.flow-step-indicator__item--active .flow-step-indicator__num {
  border-color: #164194;
  background: #164194;
  color: #fff;
}

.flow-step-indicator__item--done .flow-step-indicator__num {
  border-color: #164194;
  background: #fff;
  color: #164194;
}

.flow-step-indicator__item--active .flow-step-indicator__label {
  color: #164194;
  font-weight: 700;
}

.flow-step-indicator__item--done .flow-step-indicator__label {
  color: #164194;
}

.flow-step-indicator__label {
  line-height: 1.3;
  padding: 0 0.25rem;
}

.ei_appl_ident_aide {
  margin-top: 1rem;
  text-align: center;
  font-size: 0.875rem;
}

.ei_appl_ident_aide p {
  margin: 0;
}

.ei_authent_links {
  margin-top: 1rem;
}

@media screen and (max-width: 809px) {
  .flow-step-indicator__item {
    max-width: none;
    font-size: 0.6875rem;
  }

  .flow-step-indicator__label {
    max-width: 4.5rem;
  }
}

/* Form fields */
.ei_appl_ident_lig input[type="text"],
.ei_appl_ident_lig input[type="tel"],
.ei_appl_ident_lig input[type="date"] {
  min-height: 2.75rem;
  width: 100%;
  box-sizing: border-box;
}

.ei_appl_ident fieldset {
  flex-direction: column;
  align-items: center;
}

/* Action buttons — ensure visible with brand contrast */
.ei_appl_ident_blocbts {
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}

.ei_appl_ident_blocbts .ei_btn,
.ei_appl_ident_blocbts button.ei_btn,
.ei_appl_ident_blocbts a.ei_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 2.75rem;
  cursor: pointer;
  border: 0.0625rem solid #003192;
  border-radius: 1.5rem;
  background: #003192;
  color: #fff;
  padding: 0 1.25rem;
  font: inherit;
  font-weight: 600;
  text-decoration: none;
  box-sizing: border-box;
}

.ei_appl_ident_blocbts .ei_btn .ei_btn_body,
.ei_appl_ident_blocbts .ei_btn .ei_btn_label {
  color: #fff;
}

.ei_appl_ident_blocbts .ei_btn:hover,
.ei_appl_ident_blocbts .ei_btn:focus-visible {
  background: #0049d6;
  border-color: #0049d6;
  color: #fff;
}

.ei_appl_ident_blocbts .ei_btn:hover .ei_btn_body,
.ei_appl_ident_blocbts .ei_btn:hover .ei_btn_label,
.ei_appl_ident_blocbts .ei_btn:focus-visible .ei_btn_body,
.ei_appl_ident_blocbts .ei_btn:focus-visible .ei_btn_label {
  color: #fff;
}

/* Confirmation recap */
.ei_recap_list {
  margin: 0.75rem 0 1rem;
  padding-left: 1.25rem;
}

.ei_recap_list li {
  margin-bottom: 0.375rem;
}

/* Landing page — personalized greeting & trust block */
.ei_authent .landing-greeting {
  margin-top: 0;
}

.ei_authent .landing-greeting p {
  margin: 0;
  line-height: 1.5;
}

.ei_authent .landing-trust {
  margin-top: 0.5rem;
  padding-top: 0.75rem;
  border-top: 0.0625rem solid #e8e8e8;
}

.ei_authent .landing-trust p {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.4;
  color: #737373;
}

.ei_authent .landing-trust p + p {
  margin-top: 0.25rem;
}

/* CM loader: blocfondmodal + blocpatience2 from ei_base_authentification.css */
body.cm-loader-active {
  overflow: hidden;
}
