.ex-registration { padding: clamp(40px, 7vw, 96px) clamp(20px, 5vw, 72px); scroll-margin-top: 24px; }
.ex-registration-intro { max-width: 760px; margin-bottom: 36px; }
.ex-registration-methods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin-bottom: 48px; }
.ex-registration-methods article { min-width: 0; border-top: 1px solid currentColor; padding-top: 20px; }
.ex-register-button { display: inline-block; padding: 12px 20px; border: 1px solid currentColor; background: transparent; color: inherit; font: inherit; font-weight: 600; cursor: pointer; text-decoration: none; }
.ex-register-button:hover { color: inherit; text-decoration: underline; }
.ex-registration-note { font-size: 13px; margin-top: 12px; }
.ex-inline-registration { scroll-margin-top: 24px; }
.ex-inline-registration iframe { display: block; border: 1px solid #cbd5e1; background: white; width: 100%; height: 800px; max-width: 100%; border-radius: 8px; }
.ex-lightbox-shell { padding: 0; border: 0; margin: 0; width: 100%; height: 100%; max-width: none; max-height: none; background: transparent; }
.ex-lightbox-shell::backdrop { background: transparent; }
.ex-lightbox-shell .regform-embed-overlay { padding: 12px; }
.ex-lightbox-shell .regform-embed-dialog { width: 100%; height: calc(100dvh - 24px); max-height: calc(100dvh - 24px); }
.ex-lightbox-shell .regform-embed-header { flex-shrink: 0; }
.ex-lightbox-shell .regform-embed-body { overflow: auto; }
/* Override the vendor's inline 800px height so the form fills tall screens too. */
.ex-lightbox-shell .regform-embed-iframe { height: 100% !important; max-height: none; }
.ex-lightbox-shell .regform-embed-close { min-width: 44px; min-height: 44px; flex-shrink: 0; }
.ex-lightbox-fallback { color: inherit; text-decoration: underline; margin-right: auto; font: 14px/1.4 system-ui, sans-serif; }
.ex-lightbox-shell :focus-visible, .ex-registration :focus-visible { outline: 3px solid #668cff; outline-offset: 3px; }
@media (max-width: 700px) { .ex-registration-methods { grid-template-columns: 1fr; } }