/* Public login uses the account hero, card and button sources. */
.ffehbo-login-page .cmsmasters-headline { display: none; }
/* Outrank the parent fullwidth :not(.elementor-page) wrapper rule. */
body.ffehbo-login-page.cmsmasters-content-layout-fullwidth .cmsmasters-main__outer {
  width: var(--cmsmasters-main-content-width);
  max-width: 100%;
  margin-inline: auto;
  padding: 0 var(--cmsmasters-main-content-padding-right) var(--cmsmasters-main-content-padding-bottom) var(--cmsmasters-main-content-padding-left);
}
.ffehbo-login-page .cmsmasters-content { width: 100%; }
.ffehbo-login-page__layout {
  display: grid;
  grid-template-columns: var(--ffehbo-account-hero-columns);
  align-items: stretch;
}
/* Keep the gap centred on the hero's copy/image boundary, including tablet. */
.ffehbo-login-page__form-column { min-width: 0; padding-inline-end: 12px; }
.ffehbo-login-page__support { display: grid; align-content: start; gap: 16px; min-width: 0; padding-inline-start: 12px; }
.ffehbo-login-page .ffehbo-login-page__form-card { height: 100%; padding: 28px 32px; }
.ffehbo-login-page .ffehbo-registration-ui--page { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
.ffehbo-registration-ui fieldset { min-inline-size: 0; margin: 0; padding: 0; border: 0; }
.ffehbo-login-page .ffehbo-login-support-card { display: grid; grid-template-columns: 60px minmax(0, 1fr); gap: 24px; padding: 24px 28px; }
.ffehbo-login-support-card__icon {
  display: grid;
  place-items: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--e-global-color-accent, var(--ffehbo-account-accent));
  color: var(--ffehbo-account-text);
}
.ffehbo-login-support-card__icon--help { background: color-mix(in srgb, var(--e-global-color-primary) 25%, var(--ffehbo-account-surface)); }
.ffehbo-login-support-card svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ffehbo-login-support-card__content { min-width: 0; }
.ffehbo-login-support-card h2 { margin: 0 0 8px; color: var(--ffehbo-account-text); }
.ffehbo-login-support-card p { margin: 0 0 12px; color: var(--ffehbo-account-muted); }
.ffehbo-login-support-card .ffehbo-login-support-card__cta { width: fit-content; }
.ffehbo-login-support-card__cta svg { flex: 0 0 18px; width: 18px; height: 18px; margin-inline-start: 16px; }
@media (min-width: 761px) and (max-width: 1024px) {
  .ffehbo-login-page__layout { align-items: start; }
  .ffehbo-login-page .ffehbo-login-support-card { grid-template-columns: 44px minmax(0, 1fr); gap: 16px; padding: 24px 20px; }
  .ffehbo-login-support-card__icon { width: 44px; height: 44px; }
  .ffehbo-login-page .ffehbo-login-page__form-card { height: auto; padding: 28px 24px; }
}
@media (max-width: 760px) {
  .ffehbo-login-page .ffehbo-account-page-hero__breadcrumb,
  .ffehbo-login-page .ffehbo-account-page-hero__media { display: none; }
  .ffehbo-login-page .ffehbo-account-page-hero {
    min-height: 0;
    margin-bottom: 28px;
    border-radius: 24px;
  }
  .ffehbo-login-page .ffehbo-account-page-hero__copy { padding: 32px 26px 36px; }
  .ffehbo-login-page__layout { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .ffehbo-login-page__form-column, .ffehbo-login-page__support { padding-inline: 0; }
  .ffehbo-login-page .ffehbo-login-page__form-card, .ffehbo-login-page .ffehbo-login-support-card { padding: 24px; border-radius: 18px; }
  .ffehbo-login-page .ffehbo-login-page__form-card { padding: 28px 26px; border-radius: 20px; }
  .ffehbo-login-page .ffehbo-login-ui .ffehbo-login-ui__field input { min-height: 50px; }
  .ffehbo-login-page .ffehbo-login-support-card { grid-template-columns: 44px minmax(0, 1fr); gap: 16px; }
  .ffehbo-login-support-card__icon { width: 44px; height: 44px; }
  .ffehbo-login-support-card__cta svg { margin-inline-start: 8px; }
}
