/* The account dialog shell is shared with product image dialogs. The original
 * account selectors retain their presentation without changing plugin markup. */
body.ffehbo-account-courses-page.ffehbo-account-modal-open { overflow: hidden; }
.ffehbo-modal {
  color: var(--e-global-color-secondary, var(--cmsmasters-colors-secondary));
  font-family: var(--ffehbo-font-family);
  font-size: var(--ffehbo-font-size-body);
  line-height: var(--ffehbo-line-height-body);
}
.ffehbo-modal * { box-sizing: border-box; }
.ffehbo-modal[hidden] { display: none !important; }
.ffehbo-account-courses-page .ffehbo-account-modal,
.ffehbo-modal { position: fixed; z-index: 100000; inset: 0; display: grid; place-items: center; padding: 24px; }
.ffehbo-account-courses-page .ffehbo-account-modal__overlay,
.ffehbo-modal .ffehbo-account-modal__overlay { position: absolute; inset: 0; background: rgba(23,16,71,.55); }
.ffehbo-account-courses-page .ffehbo-account-modal__dialog,
.ffehbo-modal .ffehbo-account-modal__dialog { position: relative; width: min(680px,100%); max-height: calc(100dvh - 48px); overflow-y: auto; border-radius: 24px; background: #fff; box-shadow: 0 24px 80px rgba(23,16,71,.2); }
.ffehbo-account-courses-page .ffehbo-account-modal__close { position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 40px; height: 40px; min-height: 40px; margin: 0; padding: 0; border: 1px solid var(--ffehbo-account-border); border-radius: 50%; background: #fff; color: var(--ffehbo-account-text); font-size: var(--ffehbo-font-size-section-title); line-height: 1; cursor: pointer; }
.ffehbo-modal .ffehbo-account-modal__close { position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; min-height: 40px; padding: 0; border-radius: 50%; z-index: 1; }
.ffehbo-modal .ffehbo-account-modal__close span { font-size: var(--ffehbo-font-size-section-title); line-height: 1; }
.ffehbo-account-courses-page .ffehbo-account-modal__close::before,
.ffehbo-account-courses-page .ffehbo-account-modal__close:before,
.ffehbo-account-courses-page .ffehbo-account-modal__close::after,
.ffehbo-account-courses-page .ffehbo-account-modal__close:after,
.ffehbo-modal .ffehbo-account-modal__close::before,
.ffehbo-modal .ffehbo-account-modal__close:before,
.ffehbo-modal .ffehbo-account-modal__close::after,
.ffehbo-modal .ffehbo-account-modal__close:after { content: none !important; display: none !important; }
.ffehbo-account-courses-page .ffehbo-account-modal__close:is(:hover, :focus-visible) { background: var(--ffehbo-account-accent); border-color: var(--ffehbo-account-accent); color: var(--ffehbo-account-text); }
.ffehbo-account-courses-page .ffehbo-account-modal__close:focus-visible { outline: 2px solid var(--ffehbo-account-text); outline-offset: 3px; }
.ffehbo-account-courses-page .ffehbo-account-modal__content,
.ffehbo-modal .ffehbo-account-modal__content { padding: 64px 28px 28px; }
/* New dialog content follows the active theme surface. */
.ffehbo-modal .ffehbo-account-modal__dialog { background: var(--e-global-color-background, var(--cmsmasters-colors-bg, #fff)); }
@media (max-width: 480px) {
  .ffehbo-account-courses-page .ffehbo-account-modal,
  .ffehbo-modal { padding: 12px; }
  .ffehbo-account-courses-page .ffehbo-account-modal__dialog,
  .ffehbo-modal .ffehbo-account-modal__dialog { max-height: calc(100dvh - 24px); }
  .ffehbo-account-courses-page .ffehbo-account-modal__content,
  .ffehbo-modal .ffehbo-account-modal__content { padding: 64px 20px 20px; }
}
