/* Registration page chrome — layout and component styling over the active theme. */

body:has(#eventsair-registration) {
    --ea-font-display: var(--font-display, "Playfair Display", Georgia, "Times New Roman", serif);
    --ea-font-body: var(--font-body, "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
    --ea-chrome-surface: #1e1e1e;
    --ea-chrome-border: rgba(255, 255, 255, 0.22);
    --ea-chrome-muted: #9a9a9a;
    --ea-intro-title-shadow: 0 4px 30px rgba(var(--gold-rgb, 0, 0, 0), 0.28);
    min-height: 100vh;
}

/* Page canvas follows Admin form theme (Figma light concepts = white page).
   Use background-color only — the background shorthand resets background-image
   and would wipe an admin page background when this file loads after the form. */
body:has(#eventsair-registration[data-theme="dark"]),
html.MMAwards body:has(#eventsair-registration[data-theme="dark"]) {
    background-color: #1e1e1e !important;
}

body:has(#eventsair-registration[data-theme="light"]),
html.MMAwards body:has(#eventsair-registration[data-theme="light"]) {
    background-color: #ffffff !important;
}

body:has(#eventsair-registration) .site-header,
body:has(#eventsair-registration) .site-footer,
body:has(#eventsair-registration) .page-hero,
html.MMAwards body:has(#eventsair-registration) .site-header,
html.MMAwards body:has(#eventsair-registration) .site-footer,
html.MMAwards body:has(#eventsair-registration) .page-hero {
    display: none !important;
}

body:has(#eventsair-registration) #main-content,
body:has(#eventsair-registration) .section.section-dark,
html.MMAwards body:has(#eventsair-registration) .section.section-dark {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

body:has(#eventsair-registration) #main-content > .container,
html.MMAwards body:has(#eventsair-registration) #main-content > .container,
html.MMAwards body:has(#eventsair-registration) .container:has(#eventsair-registration),
html.ConfSummit body:has(#eventsair-registration) .container:has(#eventsair-registration),
.eventsair-registration-page__container.container,
.eventsair-registration-page__container {
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: none !important;
    border: 0 !important;
}

.eventsair-registration {
    --ea-font-display: var(--font-display, "Playfair Display", Georgia, "Times New Roman", serif);
    --ea-font-body: var(--font-body, "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
    position: relative;
    font-family: var(--ea-font-body);
    min-height: 100vh;
    background: transparent;
}

/* Theme owns the full page shell — not the form container color. */
#eventsair-registration[data-theme="dark"] {
    background-color: #1e1e1e !important;
    color: var(--ea-fg, #fff);
}

#eventsair-registration[data-theme="light"] {
    background-color: #ffffff !important;
    color: var(--ea-fg, #0f172a);
}

/* Admin page background image: keep the form shell clear so the fixed layer shows through. */
#eventsair-registration[data-page-bg="image"],
#eventsair-registration[data-page-bg="image"][data-theme="dark"],
#eventsair-registration[data-page-bg="image"][data-theme="light"] {
    background-color: transparent !important;
    background-image: none !important;
}

/*
 * Fixed full-viewport layer (img). JS may reparent onto body so theme
 * .container / .section cannot clip it. Parallax scales the img past 100%.
 */
.eventsair-page-bg {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 0;
    width: 100vw;
    width: 100dvw;
    height: 100vh;
    height: 100dvh;
    min-width: 100%;
    min-height: 100%;
    margin: 0;
    padding: 0;
    pointer-events: none;
    overflow: hidden;
    background-color: #1e1e1e;
    transform: none;
    -webkit-transform: none;
}

.eventsair-page-bg__img {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center center;
    transform: translate3d(-50%, -50%, 0);
    will-change: transform;
}

.eventsair-page-bg.is-parallax .eventsair-page-bg__img {
    width: 120%;
    height: 120%;
    min-width: 120%;
    min-height: 120%;
}

@media (max-width: 767px) {
    .eventsair-page-bg.is-parallax .eventsair-page-bg__img {
        width: 115%;
        height: 115%;
        min-width: 115%;
        min-height: 115%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .eventsair-page-bg.is-parallax .eventsair-page-bg__img {
        width: 100%;
        height: 100%;
        min-width: 100%;
        min-height: 100%;
        transform: translate3d(-50%, -50%, 0) !important;
        will-change: auto;
    }
}

body:has(#eventsair-registration[data-page-bg="image"]) #eventsair-registration,
html.MMAwards body:has(#eventsair-registration[data-page-bg="image"]) #eventsair-registration {
    position: relative;
    z-index: 1;
}

html:has(#eventsair-registration[data-page-bg="image"]),
body:has(#eventsair-registration[data-page-bg="image"]),
html.MMAwards:has(#eventsair-registration[data-page-bg="image"]),
html.MMAwards body:has(#eventsair-registration[data-page-bg="image"]),
body:has(#eventsair-registration[data-page-bg="image"][data-theme="dark"]),
html.MMAwards body:has(#eventsair-registration[data-page-bg="image"][data-theme="dark"]),
body:has(#eventsair-registration[data-page-bg="image"][data-theme="light"]),
html.MMAwards body:has(#eventsair-registration[data-page-bg="image"][data-theme="light"]) {
    background-color: #1e1e1e !important;
    background-image: none !important;
}

/* Theme section / main must stay clear so the fixed image is visible edge-to-edge. */
body:has(#eventsair-registration[data-page-bg="image"]) #main-content,
body:has(#eventsair-registration[data-page-bg="image"]) .section,
body:has(#eventsair-registration[data-page-bg="image"]) .section.section-dark,
html.MMAwards body:has(#eventsair-registration[data-page-bg="image"]) #main-content,
html.MMAwards body:has(#eventsair-registration[data-page-bg="image"]) .section,
html.MMAwards body:has(#eventsair-registration[data-page-bg="image"]) .section.section-dark {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

/*
 * ConfSummit theme: .space-backdrop (dark canvas + veil) is fixed at z-index 0
 * and paints over .eventsair-page-bg (also z-index 0). Hide it when Admin sets
 * a registration page background image so the image is visible.
 */
html.ConfSummit body:has(#eventsair-registration[data-page-bg="image"]) .space-backdrop {
    display: none !important;
}

html.ConfSummit body:has(#eventsair-registration[data-page-bg="image"]) .site-content {
    background: transparent !important;
}

.eventsair-registration-page__section {
    min-height: 100vh;
}

.eventsair-registration-page__unavailable {
    max-width: 40rem;
    margin: 3rem auto;
    padding: 1.5rem;
    border: 1px solid var(--ea-chrome-border, rgba(255, 255, 255, 0.22));
    background: var(--ea-chrome-surface, #1e1e1e);
    color: var(--ea-fg, #fff);
    font-family: var(--ea-font-body, sans-serif);
}


/* Header mirrors main page margins; light theme only changes navbar ink to black. */

.eventsair-registration__header {
    position: relative;
    z-index: 20;
    width: 100%;
    height: var(--header-height, 80px);
    box-sizing: border-box;
}

.eventsair-registration__header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    max-width: var(--max-width, 1320px);
    height: 100%;
    margin: 0 auto;
    padding: 0 var(--space-lg, 28px);
    box-sizing: border-box;
}

.eventsair-registration__logo {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    text-decoration: none;
    color: var(--ea-fg, #fff);
    line-height: 1.4;
    max-width: min(220px, 42vw);
}

/* Beat theme `html.MMAwards img { height: auto; max-width: 100% }` (higher type+class specificity). */
html.MMAwards #eventsair-registration .eventsair-registration__logo-img,
#eventsair-registration .eventsair-registration__logo-img {
    display: block;
    height: 48px;
    width: auto;
    max-width: 100%;
    max-height: 48px;
    object-fit: contain;
}

.eventsair-registration__logo-text {
    font-family: var(--ea-font-body, sans-serif);
    font-size: var(--ea-fs-base, 14px);
    font-weight: 700;
    line-height: 140%;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    max-width: 230px;
    color: inherit;
}

.eventsair-registration__logo-year {
    color: var(--accent, var(--ea-accent, #E0AC39));
}

#eventsair-registration .eventsair-registration__logo--html {
    display: flex;
    align-items: center;
    max-width: min(280px, 46vw);
}

#eventsair-registration .eventsair-registration__logo--html .header-logo {
    display: flex;
    align-items: center;
    color: inherit;
    text-decoration: none;
}

#eventsair-registration .eventsair-registration__logo--html .header-logo-mark {
    max-width: 230px;
    color: inherit;
    font-family: var(--ea-font-body, sans-serif);
    font-size: var(--ea-fs-base, 14px);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

#eventsair-registration .eventsair-registration__logo--html .header-logo-mark span {
    color: #E0AC39;
}

.eventsair-need-help {
    position: relative;
    flex-shrink: 0;
}

.eventsair-need-help__toggle {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--ea-fg, #fff);
    font-family: var(--ea-font-body);
    font-size: var(--ea-fs-base, 14px);
    font-weight: 400;
    line-height: 1.4;
    cursor: pointer;
}

.eventsair-need-help__icon,
.eventsair-need-help__chevron {
    display: block;
    flex-shrink: 0;
    object-fit: contain;
}

.eventsair-need-help__icon {
    width: 14px;
    height: 14px;
}

.eventsair-need-help__chevron {
    width: 18px;
    height: 18px;
    transition: transform 0.2s ease;
}

.eventsair-need-help.is-open .eventsair-need-help__chevron {
    transform: rotate(180deg);
}

.eventsair-need-help__panel {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    z-index: 30;
    display: flex;
    flex-direction: column;
    gap: 25px;
    width: min(300px, calc(100vw - 40px));
    padding: 25px;
    border-radius: 5px;
    background: var(--ea-chrome-surface, #1d1d1d);
    color: var(--ea-fg, #fff);
    border: 1px solid var(--ea-chrome-border, rgba(255, 255, 255, 0.22));
    box-shadow: 0 4px 4px rgba(83, 83, 83, 0.25);
    box-sizing: border-box;
}

.eventsair-need-help__panel[hidden] {
    display: none !important;
}

.eventsair-need-help__item-title {
    margin: 0 0 0.15rem;
    color: inherit;
    font-size: var(--ea-fs-base, 14px);
    font-weight: 700;
    line-height: 1.4;
}

.eventsair-need-help__item-body {
    color: inherit;
    font-size: var(--ea-fs-base, 14px);
    font-weight: 400;
    line-height: 1.4;
}

.eventsair-need-help__item-body p {
    margin: 0;
}

.eventsair-need-help__item-body a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

#eventsair-registration[data-theme="light"] .eventsair-need-help__panel {
    background: var(--ea-surface-lift, #fff);
    border-color: var(--ea-border, rgba(15, 23, 42, 0.1));
    box-shadow: var(--ea-shadow, 0 18px 40px rgba(15, 23, 42, 0.08));
}

#eventsair-registration[data-theme="light"] .eventsair-need-help__icon,
#eventsair-registration[data-theme="light"] .eventsair-need-help__chevron {
    filter: brightness(0);
}

#eventsair-registration[data-theme="light"] .eventsair-need-help__item-body a {
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Light page theme — navbar / page chrome use dark ink on white canvas. */
#eventsair-registration[data-theme="light"] {
    --ea-fg: #0f172a;
    --ea-fg-muted: rgba(15, 23, 42, 0.55);
    --ea-fg-soft: rgba(15, 23, 42, 0.8);
    --ea-border: rgba(15, 23, 42, 0.1);
    --ea-border-strong: rgba(15, 23, 42, 0.16);
    --ea-surface: rgba(15, 23, 42, 0.035);
    --ea-surface-strong: rgba(15, 23, 42, 0.06);
    --ea-surface-lift: #ffffff;
    --ea-input-bg: #ffffff;
    --ea-accent: #3f7a14;
    --ea-accent-ink: #ffffff;
    --ea-accent-soft: rgba(63, 122, 20, 0.12);
    --ea-accent-wash: rgba(63, 122, 20, 0.08);
    --ea-accent-glow: rgba(63, 122, 20, 0.2);
    --ea-error-bg: #fef2f2;
    --ea-error-fg: #991b1b;
    --ea-error-border: #fecaca;
    --ea-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
    --ea-chrome-surface: #ffffff;
    --ea-chrome-border: rgba(15, 23, 42, 0.14);
    --ea-chrome-muted: rgba(15, 23, 42, 0.55);
    --ea-intro-title-shadow: none;
    color: var(--ea-fg);
}

#eventsair-registration[data-theme="light"] .eventsair-registration__logo,
#eventsair-registration[data-theme="light"] .eventsair-registration__logo-text,
#eventsair-registration[data-theme="light"] .eventsair-need-help__label,
#eventsair-registration[data-theme="light"] .eventsair-need-help__toggle {
    color: #000000;
}

#eventsair-registration[data-theme="light"] .eventsair-registration-page__unavailable {
    background: var(--ea-surface-lift, #fff);
    border-color: var(--ea-border, rgba(15, 23, 42, 0.14));
    color: var(--ea-fg, #0f172a);
}

/*
 * Figma body-content (374:2373): w 1080, p 25, rounded 25.
 * Outer container-padded (374:2372): py 45 / px ~100 — via vertical margin + side clamp.
 */
.eventsair-registration__form-wrap {
    width: 100%;
    max-width: 1080px;
    margin: 45px auto;
    padding: 25px;
    box-sizing: border-box;
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: none;
    border: 0;
}

@media (max-width: 1279px) {
    .eventsair-registration__form-wrap {
        width: auto;
        margin-left: clamp(20px, 4vw, 100px);
        margin-right: clamp(20px, 4vw, 100px);
    }
}

/*
 * Page background image stays full-bleed. A black scrim on the form wrap
 * keeps labels and fields readable without hiding the photo around the card.
 */
#eventsair-registration[data-page-bg="image"][data-theme="dark"][data-container-bg="transparent"] .eventsair-registration__form-wrap {
    border-radius: 25px;

    background-color: rgba(0, 0, 0, 0.72);
}

/* Admin Color mode fills the form wrap only (not the page shell). */
.eventsair-registration__form-wrap--solid,
#eventsair-registration[data-container-bg="color"] .eventsair-registration__form-wrap {
    background: var(--ea-container-bg, #343434) !important;
    background-color: var(--ea-container-bg, #343434) !important;
    border-radius: 25px;
}

/*
 * Colored container always needs light-on-dark content tokens so Admin color
 * stays readable on both dark and light page themes (Figma light + #343434 box).
 */
#eventsair-registration[data-container-bg="color"] .eventsair-registration__form-wrap {
    --ea-fg: rgba(255, 255, 255, 0.94);
    --ea-fg-muted: rgba(255, 255, 255, 0.58);
    --ea-fg-soft: rgba(255, 255, 255, 0.84);
    --ea-border: rgba(255, 255, 255, 0.12);
    --ea-border-strong: rgba(255, 255, 255, 0.18);
    --ea-surface: rgba(255, 255, 255, 0.05);
    --ea-surface-strong: rgba(255, 255, 255, 0.09);
    --ea-surface-lift: rgba(255, 255, 255, 0.07);
    --ea-input-bg: rgba(0, 0, 0, 0.28);
    --ea-accent: #beff50;
    --ea-accent-ink: #102000;
    --ea-accent-soft: rgba(190, 255, 80, 0.16);
    --ea-accent-wash: rgba(190, 255, 80, 0.09);
    --ea-accent-glow: rgba(190, 255, 80, 0.28);
    --ea-error-bg: #3a1212;
    --ea-error-fg: #ffb4b4;
    --ea-error-border: #7a2020;
    --ea-shadow: 0 18px 48px rgba(0, 0, 0, 0.28);
    --ea-chrome-surface: #1e1e1e;
    --ea-chrome-border: rgba(255, 255, 255, 0.22);
    --ea-chrome-muted: #9a9a9a;
    --ea-intro-title-shadow: 0 4px 30px rgba(var(--gold-rgb, 0, 0, 0), 0.28);
    color: var(--ea-fg);
}

/*
 * Light theme + transparent container: invert dark-theme light text to dark ink
 * so form copy stays readable on the white page canvas.
 */
#eventsair-registration[data-theme="light"][data-container-bg="transparent"] .eventsair-registration__form-wrap {
    --ea-fg: #0f172a;
    --ea-fg-muted: rgba(15, 23, 42, 0.55);
    --ea-fg-soft: rgba(15, 23, 42, 0.8);
    --ea-border: rgba(15, 23, 42, 0.1);
    --ea-border-strong: rgba(15, 23, 42, 0.16);
    --ea-surface: rgba(15, 23, 42, 0.035);
    --ea-surface-strong: rgba(15, 23, 42, 0.06);
    --ea-surface-lift: #ffffff;
    --ea-input-bg: #ffffff;
    --ea-accent: #3f7a14;
    --ea-accent-ink: #ffffff;
    --ea-accent-soft: rgba(63, 122, 20, 0.12);
    --ea-accent-wash: rgba(63, 122, 20, 0.08);
    --ea-accent-glow: rgba(63, 122, 20, 0.2);
    --ea-error-bg: #fef2f2;
    --ea-error-fg: #991b1b;
    --ea-error-border: #fecaca;
    --ea-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
    --ea-chrome-surface: #ffffff;
    --ea-chrome-border: rgba(15, 23, 42, 0.14);
    --ea-chrome-muted: rgba(15, 23, 42, 0.55);
    --ea-intro-title-shadow: none;
    color: var(--ea-fg);
}

#eventsair-registration[data-theme="light"][data-container-bg="transparent"] .eventsair-guidelines__content {
    background: var(--ea-surface, rgba(15, 23, 42, 0.035));
}

#eventsair-registration[data-theme="light"][data-container-bg="transparent"] .eventsair-guidelines__help::before {
    filter: brightness(0);
}

/*
 * Theme `h1 { color: var(--white) }` keeps the intro title invisible on the light
 * page canvas. Force ink by container mode (transparent = dark, color = white).
 */
html.MMAwards #eventsair-registration[data-theme="light"][data-container-bg="transparent"] h1,
html.MMAwards #eventsair-registration[data-theme="light"][data-container-bg="transparent"] h2,
html.MMAwards #eventsair-registration[data-theme="light"][data-container-bg="transparent"] h3,
html.MMAwards #eventsair-registration[data-theme="light"][data-container-bg="transparent"] h4,
#eventsair-registration[data-theme="light"][data-container-bg="transparent"] h1,
#eventsair-registration[data-theme="light"][data-container-bg="transparent"] h2,
#eventsair-registration[data-theme="light"][data-container-bg="transparent"] h3,
#eventsair-registration[data-theme="light"][data-container-bg="transparent"] h4,
html.MMAwards #eventsair-registration[data-theme="light"][data-container-bg="transparent"] h1.eventsair-introduction__title,
#eventsair-registration[data-theme="light"][data-container-bg="transparent"] h1.eventsair-introduction__title,
#eventsair-registration[data-theme="light"][data-container-bg="transparent"] .eventsair-introduction__title,
#eventsair-registration[data-theme="light"][data-container-bg="transparent"] .eventsair-introduction__lead,
#eventsair-registration[data-theme="light"][data-container-bg="transparent"] .eventsair-introduction-body,
#eventsair-registration[data-theme="light"][data-container-bg="transparent"] .eventsair-introduction-body > p,
#eventsair-registration[data-theme="light"][data-container-bg="transparent"] .eventsair-breadcrumb,
#eventsair-registration[data-theme="light"][data-container-bg="transparent"] .eventsair-breadcrumb__current,
#eventsair-registration[data-theme="light"][data-container-bg="transparent"] .eventsair-breadcrumb__past,
#eventsair-registration[data-theme="light"][data-container-bg="transparent"] .eventsair-breadcrumb__sep,
#eventsair-registration[data-theme="light"][data-container-bg="transparent"] .eventsair-breadcrumb__rest {
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    text-shadow: none !important;
}

#eventsair-registration[data-theme="light"][data-container-bg="transparent"] .eventsair-breadcrumb__past,
#eventsair-registration[data-theme="light"][data-container-bg="transparent"] .eventsair-breadcrumb__sep,
#eventsair-registration[data-theme="light"][data-container-bg="transparent"] .eventsair-breadcrumb__rest {
    color: rgba(15, 23, 42, 0.5) !important;
    -webkit-text-fill-color: rgba(15, 23, 42, 0.5) !important;
}

html.MMAwards #eventsair-registration[data-theme="light"][data-container-bg="color"] .eventsair-registration__form-wrap h1,
html.MMAwards #eventsair-registration[data-theme="light"][data-container-bg="color"] .eventsair-registration__form-wrap h2,
html.MMAwards #eventsair-registration[data-theme="light"][data-container-bg="color"] .eventsair-registration__form-wrap h3,
html.MMAwards #eventsair-registration[data-theme="light"][data-container-bg="color"] .eventsair-registration__form-wrap h4,
#eventsair-registration[data-theme="light"][data-container-bg="color"] .eventsair-registration__form-wrap h1,
#eventsair-registration[data-theme="light"][data-container-bg="color"] .eventsair-registration__form-wrap h2,
#eventsair-registration[data-theme="light"][data-container-bg="color"] .eventsair-registration__form-wrap h3,
#eventsair-registration[data-theme="light"][data-container-bg="color"] .eventsair-registration__form-wrap h4,
#eventsair-registration[data-theme="light"][data-container-bg="color"] .eventsair-registration__form-wrap .eventsair-introduction__title,
#eventsair-registration[data-theme="light"][data-container-bg="color"] .eventsair-registration__form-wrap .eventsair-introduction__lead,
#eventsair-registration[data-theme="light"][data-container-bg="color"] .eventsair-registration__form-wrap .eventsair-introduction-body,
#eventsair-registration[data-theme="light"][data-container-bg="color"] .eventsair-registration__form-wrap .eventsair-introduction-body > p {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

/* Beat stale Vite dist that still sets __wizard max-width: 44rem */
#eventsair-registration .eventsair-registration__wizard {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: none !important;
}

/* Step shells stay clear so only __form-wrap holds the Admin container color. */
#eventsair-registration .eventsair-introduction,
#eventsair-registration .eventsair-ticket,
#eventsair-registration .eventsair-payment,
#eventsair-registration .eventsair-guest-chrome,
#eventsair-registration .eventsair-paid,
#eventsair-registration .eventsair-success,
#eventsair-registration .eventsair-step,
#eventsair-registration .eventsair-step--guest,
#eventsair-registration .eventsair-step--address,
#eventsair-registration .eventsair-step--marketing,
#eventsair-registration .eventsair-step--summary,
#eventsair-registration .eventsair-step--ticket,
#eventsair-registration .eventsair-step--payment,
#eventsair-registration .eventsair-step--introduction {
    background: transparent !important;
    background-color: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: none !important;
    border: 0 !important;
    outline: none !important;
}

#eventsair-registration .eventsair-introduction::before,
#eventsair-registration .eventsair-introduction::after,
#eventsair-registration .eventsair-ticket::before,
#eventsair-registration .eventsair-ticket::after,
#eventsair-registration .eventsair-payment::before,
#eventsair-registration .eventsair-payment::after,
#eventsair-registration .eventsair-guest-chrome::before,
#eventsair-registration .eventsair-guest-chrome::after {
    content: none !important;
    display: none !important;
}

.eventsair-step--introduction {
    gap: 0;
}

.eventsair-introduction {
    display: flex;
    flex-direction: column;
    gap: 25px;
    width: 100%;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-sizing: border-box;
}

/* Figma type scale (priority over theme h1/btn rules) */
#eventsair-registration {
    --ea-fs-h1: calc(var(--ea-fs-base, 14px) + 31px);
    --ea-fs-h1-mobile: calc(var(--ea-fs-base, 14px) + 11px);
    --ea-fs-h3: calc(var(--ea-fs-base, 14px) + 6px);
    --ea-fs-md: calc(var(--ea-fs-base, 14px) + 2px);
    --ea-fs-sm: var(--ea-fs-base, 14px);
    --ea-fs-xs: calc(var(--ea-fs-base, 14px) - 2px);
    --ea-lh-tight: 1;
    --ea-lh-body: 1.4;
    --ea-lh-cta: 1.2;
}

/* Beat theme html.MMAwards h1â€“h4 clamps/display fonts inside registration */
html.MMAwards #eventsair-registration h1,
html.MMAwards #eventsair-registration h2,
html.MMAwards #eventsair-registration h3,
html.MMAwards #eventsair-registration h4,
#eventsair-registration h1,
#eventsair-registration h2,
#eventsair-registration h3,
#eventsair-registration h4 {
    margin: 0;
    letter-spacing: 0;
    text-transform: none;
}

html.MMAwards #eventsair-registration h1.eventsair-introduction__title,
#eventsair-registration h1.eventsair-introduction__title,
#eventsair-registration .eventsair-introduction__title {
    margin: 0;
    color: var(--ea-fg, #fff);
    -webkit-text-fill-color: var(--ea-fg, #fff);
    font-family: var(--ea-font-display), "Playfair Display", Georgia, serif;
    font-size: var(--ea-fs-h1);
    font-weight: 800;
    line-height: var(--ea-lh-tight);
    letter-spacing: 0;
    text-shadow: var(--ea-intro-title-shadow, 0 4px 30px rgba(228, 189, 117, 0.35));
}

html.MMAwards #eventsair-registration h2.eventsair-ticket-block__title,
#eventsair-registration h2.eventsair-ticket-block__title,
#eventsair-registration .eventsair-ticket-block__title {
    margin: 0;
    color: var(--ea-fg, #fff);
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: calc(var(--ea-fs-base, 14px) + 2px);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0;
}

html.MMAwards #eventsair-registration h3.eventsair-step__title,
#eventsair-registration h3.eventsair-step__title,
#eventsair-registration .eventsair-step__title {
    margin: 0;
    color: var(--ea-fg, #fff);
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-md, 16px);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0;
}

html.MMAwards #eventsair-registration h4.eventsair-payment-summary__title,
#eventsair-registration h4.eventsair-payment-summary__title,
#eventsair-registration .eventsair-payment-summary__title {
    margin: 0;
    color: var(--ea-fg, #fff);
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-base, 14px);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0;
    text-transform: uppercase;
    text-shadow: var(--ea-intro-title-shadow, 0 4px 30px rgba(228, 189, 117, 0.35));
}

html.MMAwards #eventsair-registration h3.eventsair-payment__title,
#eventsair-registration h3.eventsair-payment__title,
#eventsair-registration .eventsair-payment__title {
    margin: 0;
    color: var(--ea-fg, #fff);
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: calc(var(--ea-fs-base, 14px) + 2px);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0;
    text-shadow: var(--ea-intro-title-shadow, 0 4px 30px rgba(228, 189, 117, 0.35));
}

#eventsair-registration .eventsair-introduction-body {
    display: flex;
    flex-direction: column;
    gap: 25px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--ea-fg, #fff);
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-md);
    font-weight: 400;
    line-height: var(--ea-lh-body);
    letter-spacing: 0;
}

#eventsair-registration .eventsair-introduction-body > :first-child {
    margin-top: 0;
}

#eventsair-registration .eventsair-introduction-body > :last-child {
    margin-bottom: 0;
}

#eventsair-registration .eventsair-introduction__lead,
#eventsair-registration .eventsair-introduction-body > p {
    margin: 0;
    color: var(--ea-fg, #fff);
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-md);
    font-weight: 400;
    line-height: var(--ea-lh-body);
    letter-spacing: 0;
}

#eventsair-registration .eventsair-introduction__lead strong,
#eventsair-registration .eventsair-introduction-body > p strong,
#eventsair-registration .eventsair-introduction-body strong {
    font-weight: 700;
}

#eventsair-registration .eventsair-guidelines__heading {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 15px 20px;
    background: #fff;
    color: #000;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-xs);
    font-weight: 400;
    line-height: var(--ea-lh-body);
    letter-spacing: 0;
    text-transform: uppercase;
    box-sizing: border-box;
}

#eventsair-registration .eventsair-guidelines__list {
    margin: 0;
    padding-left: 1.35rem;
    color: var(--ea-fg, #fff);
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-sm);
    font-weight: 400;
    line-height: var(--ea-lh-body);
    letter-spacing: 0;
    list-style: disc;
}

#eventsair-registration .eventsair-guidelines__list li {
    margin-bottom: 15px;
    font-size: var(--ea-fs-sm);
    line-height: var(--ea-lh-body);
}

#eventsair-registration .eventsair-guidelines__list li:last-child {
    margin-bottom: 0;
}

#eventsair-registration .eventsair-guidelines__help p,
#eventsair-registration .eventsair-guidelines__help {
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-sm);
    font-weight: 400;
    line-height: var(--ea-lh-body);
    letter-spacing: 0;
}

#eventsair-registration .eventsair-introduction-agree,
#eventsair-registration .eventsair-introduction-agree__text {
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-sm);
    font-weight: 400;
    line-height: var(--ea-lh-body);
    letter-spacing: 0;
}

#eventsair-registration .eventsair-need-help__toggle,
#eventsair-registration .eventsair-need-help__label {
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-sm);
    font-weight: 400;
    line-height: var(--ea-lh-body);
    letter-spacing: 0;
}

#eventsair-registration .eventsair-need-help__item-title {
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-sm);
    font-weight: 700;
    line-height: var(--ea-lh-body);
    letter-spacing: 0;
}

#eventsair-registration .eventsair-need-help__item-body {
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-sm);
    font-weight: 400;
    line-height: var(--ea-lh-body);
    letter-spacing: 0;
}

#eventsair-registration .eventsair-cta__label {
    position: relative;
    z-index: 1;
    font-family: var(--ea-font-display), "Playfair Display", Georgia, serif;
    font-size: var(--ea-fs-h3, 20px);
    font-weight: 800;
    letter-spacing: 0;
    line-height: var(--ea-lh-cta, 1.2);
    text-transform: none;
    white-space: nowrap;
}

#eventsair-registration .eventsair-cta__icon {
    position: relative;
    z-index: 1;
    display: block;
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    color: currentColor;
}


.eventsair-guidelines {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.eventsair-guidelines__heading {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 15px 20px;
    background: #fff;
    color: #000;
    text-transform: uppercase;
    box-sizing: border-box;
}

.eventsair-guidelines__content {
    display: flex;
    flex-direction: column;
    gap: 25px;
    width: 100%;
    padding: 25px 15px;
    border: 1px solid var(--ea-border-strong, #fff);
    background: rgba(255, 255, 255, 0.1);
    box-sizing: border-box;
}

.eventsair-guidelines__list {
    margin: 0;
    padding-left: 1.35rem;
    color: var(--ea-fg, #fff);
    font-size: var(--ea-fs-base, 14px);
    line-height: 1.4;
    list-style: disc;
}

.eventsair-guidelines__list li {
    margin-bottom: 15px;
}

.eventsair-guidelines__list li:last-child {
    margin-bottom: 0;
}

.eventsair-guidelines__list a {
    color: var(--ea-fg, #fff);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.eventsair-guidelines__help {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
    padding-top: 25px;
    border-top: 1px dashed var(--ea-border-strong, #fff);
    box-sizing: border-box;
}

.eventsair-guidelines__help::before {
    content: "";
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    margin-top: 2px;
    background: url("../images/chrome/info-circle-muted.svg") center / contain no-repeat;
}

.eventsair-guidelines__help p {
    margin: 0;
    color: var(--ea-fg, #fff);
    font-size: var(--ea-fs-base, 14px);
    line-height: 1.4;
}

.eventsair-guidelines__help a.eventsair-need-help-link,
.eventsair-guidelines__help a[data-eventsair-open-need-help],
#eventsair-registration .eventsair-need-help-link {
    color: inherit;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}

.eventsair-introduction__action-bar {
    display: flex;
    align-items: stretch;
    width: 100%;
    border: 1px solid var(--ea-border-strong, #fff);
    background: transparent;
    box-sizing: border-box;
    overflow: hidden;
}

.eventsair-introduction-agree {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    gap: 15px;
    min-width: 0;
    margin: 0;
    padding: 25px;
    border: 0;
    border-radius: 0;
    background: rgba(0, 0, 0, 0.7);
    /* Always light ink on this dark strip (even when form wrap uses dark tokens). */
    color: #fff;
    font-family: var(--ea-font-body);
    font-size: var(--ea-fs-base, 14px);
    font-weight: 400;
    line-height: 1.4;
    cursor: pointer;
    box-sizing: border-box;
    transition: background 0.15s ease;
}

.eventsair-introduction-agree__text {
    flex: 1 1 auto;
    min-width: 0;
}

.eventsair-introduction-agree__text p {
    display: inline;
    margin: 0;
}

.eventsair-introduction-agree__text a,
.eventsair-introduction-agree .eventsair-text-link {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.eventsair-introduction-agree:hover {
    background: rgba(49, 49, 49, 0.7);
}

.eventsair-introduction-agree__control {
    position: relative;
    flex-shrink: 0;
    width: 15px;
    height: 15px;
}

.eventsair-introduction-agree input {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 15px;
    height: 15px;
    margin: 0;
    opacity: 0;
    cursor: pointer;
}

.eventsair-introduction-agree__box {
    display: block;
    width: 15px;
    height: 15px;
    border: 1px solid #fff;
    border-radius: 2px;
    background: transparent;
    box-sizing: border-box;
}

.eventsair-introduction-agree input:checked + .eventsair-introduction-agree__box {
    background: #fff;
}

.eventsair-introduction-agree__check {
    display: none;
    width: 11px;
    height: 9px;
    margin: 2px auto 0;
    object-fit: contain;
}

.eventsair-introduction-agree input:checked + .eventsair-introduction-agree__box .eventsair-introduction-agree__check {
    display: block;
}

#eventsair-registration .eventsair-introduction-agree--invalid {
    outline: 1px solid #ee2c24;
    outline-offset: 4px;
    border-radius: 5px;
}

#eventsair-registration .eventsair-introduction-agree--invalid .eventsair-introduction-agree__box {
    border-color: #ee2c24 !important;
    box-shadow: none !important;
}

.eventsair-text-link {
    display: inline;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--ea-fg, #fff);
    font: inherit;
    line-height: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}

.eventsair-text-link--static {
    cursor: default;
}

/* Intro CTA: Figma btn-cta structure; fill colors from theme --btn-primary-* */
html.MMAwards #eventsair-registration .eventsair-cta.btn.btn--primary,
html.MMAwards #eventsair-registration .eventsair-cta.btn.btn--large,
#eventsair-registration .eventsair-cta.btn.btn--primary,
#eventsair-registration .eventsair-cta.btn.btn--large,
#eventsair-registration .eventsair-cta {
    display: inline-flex;
    flex: 0 0 353px;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    gap: 10px;
    width: 353px;
    min-width: 0;
    max-width: 100%;
    height: 72px;
    min-height: 72px;
    margin: 0;
    padding: 0 75px;
    border: 0;
    border-left: 1px solid var(--ea-border-strong, #fff);
    border-radius: 0;
    background: var(--btn-primary-bg);
    color: var(--btn-primary-color, #fff);
    box-shadow: none;
    overflow: hidden;
    position: relative;
    cursor: pointer;
    box-sizing: border-box;
    letter-spacing: 0;
    text-transform: none;
    white-space: nowrap;
    animation: none;
    transition: background 0.15s ease, color 0.15s ease;
}

html.MMAwards #eventsair-registration .eventsair-cta.btn.btn--primary::after,
#eventsair-registration .eventsair-cta.btn.btn--primary::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--btn-primary-shine);
    pointer-events: none;
}

html.MMAwards #eventsair-registration .eventsair-cta.btn.btn--primary:hover:not(:disabled),
html.MMAwards #eventsair-registration .eventsair-cta.btn.btn--primary:focus-visible:not(:disabled),
#eventsair-registration .eventsair-cta.btn.btn--primary:hover:not(:disabled),
#eventsair-registration .eventsair-cta.btn.btn--primary:focus-visible:not(:disabled),
#eventsair-registration .eventsair-cta:hover:not(:disabled) {
    background: var(--btn-primary-bg-hover);
    color: var(--btn-primary-color-hover, #fff);
    transform: none;
    box-shadow: none;
    animation: none;
}

html.MMAwards #eventsair-registration .eventsair-cta.btn.btn--primary:disabled,
#eventsair-registration .eventsair-cta.btn.btn--primary:disabled,
#eventsair-registration .eventsair-cta:disabled {
    opacity: 1;
    cursor: not-allowed;
    animation: none;
    background: rgba(0, 0, 0, 0.7);
    color: rgba(255, 255, 255, 0.5);
    box-shadow: none;
    transform: none;
}

html.MMAwards #eventsair-registration .eventsair-cta.btn.btn--primary:disabled::after,
#eventsair-registration .eventsair-cta.btn.btn--primary:disabled::after {
    display: none;
}

html.MMAwards #eventsair-registration .eventsair-cta.btn.btn--primary:active:not(:disabled),
#eventsair-registration .eventsair-cta.btn.btn--primary:active:not(:disabled) {
    transform: none;
}

/* Tablet — Figma TAB 834 */
@media (max-width: 1024px) {
    .eventsair-registration__header-inner {
        padding: 0 20px;
    }

    .eventsair-introduction__action-bar {
        flex-direction: column;
        gap: 0;
    }

    html.MMAwards #eventsair-registration .eventsair-cta.btn.btn--primary,
    html.MMAwards #eventsair-registration .eventsair-cta.btn.btn--large,
    #eventsair-registration .eventsair-cta.btn.btn--primary,
    #eventsair-registration .eventsair-cta.btn.btn--large,
    #eventsair-registration .eventsair-cta {
        flex: 0 0 auto;
        width: 100%;
        max-width: 100%;
        height: 72px;
        min-height: 72px;
        margin: 0;
        padding: 0 40px;
        border-left: 0;
        border-top: 1px solid var(--ea-border-strong, #fff);
    }
}

/* Phone (Figma PH 390) */
@media (max-width: 767px) {
    .eventsair-registration__header {
        height: var(--header-height, 64px);
    }

    .eventsair-registration__header-inner {
        padding: 0 20px;
    }

    html.MMAwards #eventsair-registration .eventsair-registration__logo-img,
    #eventsair-registration .eventsair-registration__logo-img {
        height: 40px;
        max-height: 40px;
    }

    .eventsair-introduction {
        padding: 0;
        border-radius: 0;
    }

    html.MMAwards #eventsair-registration h1.eventsair-introduction__title,
    #eventsair-registration h1.eventsair-introduction__title,
    #eventsair-registration .eventsair-introduction__title {
        font-size: var(--ea-fs-h1-mobile, 25px);
    }

    html.MMAwards #eventsair-registration .eventsair-cta.btn.btn--primary,
    #eventsair-registration .eventsair-cta {
        width: 100%;
        padding: 0 24px;
    }

    /* Figma START BOOKING keeps Web/H3 20px on phone */
    #eventsair-registration .eventsair-cta__label {
        font-size: var(--ea-fs-h3, 20px);
    }

    .eventsair-guidelines__help {
        align-items: flex-start;
    }

    .eventsair-guidelines__help p {
        white-space: normal;
    }
}

/* Clear fixed RocketChat FAB so it does not cover CTAs / page-nav */
@media (max-width: 768px) {
    .eventsair-registration__form-wrap {
        padding-bottom: calc(120px + env(safe-area-inset-bottom, 0px));
    }
}

/* Hide legacy step pills while Figma chrome steps use breadcrumbs */
.eventsair-registration:has(.eventsair-step--introduction:not([hidden])) .eventsair-registration__steps,
.eventsair-registration:has(.eventsair-step--ticket:not([hidden])) .eventsair-registration__steps,
.eventsair-registration:has(.eventsair-step--payment:not([hidden])) .eventsair-registration__steps,
.eventsair-registration:has(.eventsair-step--guest:not([hidden])) .eventsair-registration__steps,
.eventsair-registration:has(.eventsair-step--address:not([hidden])) .eventsair-registration__steps,
.eventsair-registration:has(.eventsair-step--marketing:not([hidden])) .eventsair-registration__steps,
.eventsair-registration:has(.eventsair-step--summary:not([hidden])) .eventsair-registration__steps,
.eventsair-registration:has(.eventsair-step--paid:not([hidden])) .eventsair-registration__steps,
.eventsair-registration:has(.eventsair-step--success:not([hidden])) .eventsair-registration__steps {
    display: none !important;
}

/* â€”â€” Ticket step (Figma 02 Ticketing) â€”â€” */

.eventsair-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

#eventsair-registration .eventsair-step--ticket {
    max-width: 850px;
    margin: 0 auto;
    width: 100%;
}

.eventsair-ticket {
    display: flex;
    flex-direction: column;
    gap: 25px;
    width: 100%;
    padding: 25px;
    border-radius: 0;
    background: transparent;
    box-sizing: border-box;
}

.eventsair-breadcrumb {
    margin: 0;
    color: rgba(255, 255, 255, 0.5);
    font-family: var(--ea-font-display), "Playfair Display", Georgia, serif;
    font-size: calc(var(--ea-fs-base, 14px) + 6px);
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0;
    text-shadow: var(--ea-intro-title-shadow, 0 4px 30px rgba(228, 189, 117, 0.35));
}

.eventsair-breadcrumb__current {
    font-weight: 800;
    color: var(--ea-fg, #fff);
}

.eventsair-breadcrumb__past,
.eventsair-breadcrumb__sep,
.eventsair-breadcrumb__rest {
    font-weight: 400;
    color: rgba(255, 255, 255, 0.5);
}

.eventsair-ticket__steps {
    display: flex;
    flex-direction: column;
    gap: 35px;
    width: 100%;
}

.eventsair-ticket-block {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 100%;
    max-width: 465px;
}

.eventsair-ticket-block--types {
    max-width: 465px;
    flex: 0 0 auto;
}

.eventsair-ticket-block__header {
    display: flex;
    flex-direction: column;
    gap: 5px;
    color: var(--ea-fg, #fff);
    text-shadow: var(--ea-intro-title-shadow, 0 4px 30px rgba(228, 189, 117, 0.35));
}

.eventsair-ticket-block__eyebrow {
    margin: 0;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: calc(var(--ea-fs-base, 14px) - 2px);
    font-weight: 500;
    line-height: 1.4;
}

.eventsair-ticket__row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 29px;
    width: 100%;
}

#eventsair-registration .eventsair-step--ticket .eventsair-field--select,
#eventsair-registration .eventsair-step--ticket .eventsair-field--qty {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

#eventsair-registration .eventsair-step--ticket .eventsair-field--select select,
#eventsair-registration .eventsair-step--ticket .eventsair-field--qty select {
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    margin: 0;
    padding: 12px 44px 12px 15px;
    border: 1px solid #cecece;
    border-radius: 5px;
    background: #fff url("../images/chrome/select-chevron.svg") right 15px center / 18px 18px no-repeat;
    color: #000;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-base, 14px);
    font-weight: 400;
    line-height: 1.4;
    box-sizing: border-box;
    cursor: pointer;
}

/* Input-dropdown Selected: black border only when focused or has a value */
#eventsair-registration .eventsair-step--ticket .eventsair-field--select select:focus,
#eventsair-registration .eventsair-step--ticket .eventsair-field--qty select:focus,
#eventsair-registration .eventsair-step--ticket .eventsair-field--select select:focus-visible,
#eventsair-registration .eventsair-step--ticket .eventsair-field--qty select:focus-visible,
#eventsair-registration .eventsair-step--ticket .eventsair-field--select select.is-filled,
#eventsair-registration .eventsair-step--ticket .eventsair-field--qty select.is-filled,
#eventsair-registration .eventsair-step--ticket .eventsair-seat-type.is-filled,
#eventsair-registration .eventsair-step--ticket .eventsair-seat-type:focus,
#eventsair-registration .eventsair-step--ticket .eventsair-seat-type:focus-visible {
    border-color: #000;
    outline: none;
}

#eventsair-registration .eventsair-step--ticket .eventsair-field--select select:disabled,
#eventsair-registration .eventsair-step--ticket .eventsair-field--qty select:disabled,
#eventsair-registration .eventsair-step--ticket .eventsair-seat-type:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

#eventsair-registration .eventsair-step--ticket .eventsair-field--select select:invalid,
#eventsair-registration .eventsair-step--ticket .eventsair-seat-type:invalid {
    color: #6c7478;
    border-color: #cecece;
}

#eventsair-registration .eventsair-step--ticket .eventsair-field--invalid select,
#eventsair-registration .eventsair-step--ticket select.is-invalid,
#eventsair-registration .eventsair-step--ticket .eventsair-seat-type.is-invalid {
    border-color: #ee2c24 !important;
    color: #6c7478;
    box-shadow: none !important;
}

#eventsair-registration .eventsair-step--ticket .eventsair-field--invalid label {
    color: inherit;
}

#eventsair-registration .eventsair-step--ticket .eventsair-field__error {
    margin: 0;
    color: #ee2c24;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: calc(var(--ea-fs-base, 14px) - 2px);
    font-weight: 400;
    line-height: 1.4;
}

#eventsair-registration .eventsair-step--ticket .eventsair-seats {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 100%;
}

#eventsair-registration .eventsair-step--ticket .eventsair-seats > .eventsair-seat-card + .eventsair-seat-card {
    margin-top: 0;
}

#eventsair-registration .eventsair-step--ticket .eventsair-seat-card {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transform: none;
}

#eventsair-registration .eventsair-step--ticket .eventsair-seat-card:hover {
    border: 0;
    transform: none;
    box-shadow: none;
}

#eventsair-registration .eventsair-step--ticket .eventsair-seat-card::before {
    display: none;
}

#eventsair-registration .eventsair-step--ticket .eventsair-seat-card__title {
    margin: 0;
    color: var(--ea-fg, #fff);
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-base, 14px);
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0;
}

#eventsair-registration .eventsair-step--ticket .eventsair-seat-card__fields {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 15px;
}

#eventsair-registration .eventsair-step--ticket .eventsair-field--ticket-type {
    width: 100%;
    max-width: 100%;
}

#eventsair-registration .eventsair-step--ticket .eventsair-discount-block {
    width: 100%;
    max-width: 100%;
}

#eventsair-registration .eventsair-step--ticket .eventsair-discount-control {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    height: 44px;
    padding: 0 15px;
    border: 1px solid #cecece;
    border-radius: 5px;
    background: #fff;
    box-sizing: border-box;
}

#eventsair-registration .eventsair-step--ticket .eventsair-discount-control:focus-within,
#eventsair-registration .eventsair-step--ticket .eventsair-discount-control:has(.eventsair-seat-discount.is-filled) {
    border-color: #000;
}

/* Figma 8:911 Applied — keep grey border (not focus black) once applied */
#eventsair-registration .eventsair-step--ticket .eventsair-discount-control.is-applied,
#eventsair-registration .eventsair-step--ticket .eventsair-discount-control.is-applied:focus-within {
    border-color: #cecece;
}

#eventsair-registration .eventsair-step--ticket .eventsair-discount-control__input {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-width: 0;
}

#eventsair-registration .eventsair-step--ticket .eventsair-seat-discount {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #000;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-base, 14px);
    font-weight: 400;
    line-height: 1.4;
    box-shadow: none;
    outline: none;
}

#eventsair-registration .eventsair-step--ticket .eventsair-seat-discount:focus,
#eventsair-registration .eventsair-step--ticket .eventsair-seat-discount:focus-visible {
    border: 0;
    box-shadow: none;
    outline: none;
}

#eventsair-registration .eventsair-step--ticket .eventsair-discount-control.is-applied .eventsair-seat-discount {
    cursor: default;
}

#eventsair-registration .eventsair-step--ticket .eventsair-seat-discount::placeholder {
    color: #6c7478;
}

#eventsair-registration .eventsair-step--ticket .eventsair-discount-remove {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    line-height: 0;
}

#eventsair-registration .eventsair-step--ticket .eventsair-discount-remove[hidden] {
    display: none !important;
}

#eventsair-registration .eventsair-step--ticket .eventsair-discount-remove__icon {
    display: block;
    width: 15.667px;
    height: 15.667px;
    object-fit: contain;
}

/* Input-discount: Default Apply = grey; Typed = black (component library) */
#eventsair-registration .eventsair-step--ticket .eventsair-apply-discount {
    flex: 0 0 auto;
    margin: 0;
    padding: 5px 10px;
    border: 0;
    border-radius: 5px;
    background: #cecece;
    color: #fff;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: calc(var(--ea-fs-base, 14px) - 2px);
    font-weight: 400;
    line-height: 1.4;
    cursor: pointer;
}

#eventsair-registration .eventsair-step--ticket .eventsair-discount-control:has(.eventsair-seat-discount:not(:placeholder-shown)) .eventsair-apply-discount:not(:disabled) {
    background: #000;
}

#eventsair-registration .eventsair-step--ticket .eventsair-discount-control.is-applied .eventsair-apply-discount {
    display: none !important;
}

#eventsair-registration .eventsair-step--ticket .eventsair-apply-discount:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    background: #cecece;
}

#eventsair-registration .eventsair-step--ticket .eventsair-discount-applied {
    flex: 0 0 auto;
    margin: 0;
    padding: 5px 10px;
    border-radius: 5px;
    color: #007405;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: calc(var(--ea-fs-base, 14px) - 2px);
    font-weight: 400;
    line-height: 1.4;
    white-space: nowrap;
}

#eventsair-registration .eventsair-step--ticket .eventsair-discount-applied[hidden] {
    display: none !important;
}

#eventsair-registration .eventsair-step--ticket .eventsair-discount-preview {
    margin: 5px 0 0;
    color: var(--ea-fg, #fff);
    font-size: calc(var(--ea-fs-base, 14px) - 2px);
    line-height: 1.4;
}

#eventsair-registration .eventsair-step--ticket .eventsair-discount-preview.is-error {
    color: #ee2c24;
}

#eventsair-registration .eventsair-step--ticket .eventsair-same-values {
    display: flex;
    align-items: center;
    gap: 15px;
    width: 100%;
    margin: 0;
    padding: 10px;
    border: 1px solid #939393;
    border-radius: 5px;
    background: transparent;
    color: var(--ea-fg, #fff);
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-base, 14px);
    font-weight: 400;
    line-height: 1.4;
    cursor: pointer;
    box-sizing: border-box;
}

#eventsair-registration .eventsair-step--ticket .eventsair-same-values__control {
    position: relative;
    flex-shrink: 0;
    width: 15px;
    height: 15px;
}

#eventsair-registration .eventsair-step--ticket .eventsair-same-values input {
    position: absolute;
    inset: 0;
    z-index: 1;
    margin: 0;
    opacity: 0;
    cursor: pointer;
}

#eventsair-registration .eventsair-step--ticket .eventsair-same-values__box {
    display: block;
    width: 15px;
    height: 15px;
    border: 1px solid var(--ea-border-strong, #fff);
    border-radius: 2px;
    background: transparent;
    box-sizing: border-box;
}

#eventsair-registration .eventsair-step--ticket .eventsair-same-values__check {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 11px;
    height: 9px;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

#eventsair-registration .eventsair-step--ticket .eventsair-same-values input:checked + .eventsair-same-values__box {
    background: #fff;
}

#eventsair-registration .eventsair-step--ticket .eventsair-same-values input:checked + .eventsair-same-values__box .eventsair-same-values__check {
    display: block;
}

.eventsair-ticket-summary {
    flex: 1 1 200px;
    min-width: 180px;
    max-width: 320px;
    padding: 20px;
    border: 1px solid var(--ea-border-strong, #fff);
    border-radius: 5px;
    color: var(--ea-fg, #fff);
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-base, 14px);
    line-height: 1.4;
    text-shadow: var(--ea-intro-title-shadow, 0 4px 30px rgba(228, 189, 117, 0.35));
    box-sizing: border-box;
}

.eventsair-ticket-summary__heading {
    margin: 0 0 10px;
    font-weight: 700;
}

.eventsair-ticket-summary__amounts {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.eventsair-ticket-summary__line {
    margin: 0;
    font-weight: 400;
}

.eventsair-ticket-summary__total {
    margin: 0;
    font-weight: 700;
}

.eventsair-page-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 20px;
    row-gap: 15px;
    width: 100%;
    padding-top: 25px;
    border-top: 1px dashed #cecece;
    box-sizing: border-box;
}

/* Figma page-error: full-width row above Back / CTA */
.eventsair-page-nav > .eventsair-registration__error {
    flex: 1 0 100%;
    width: 100%;
    order: -1;
}

#eventsair-registration .eventsair-registration__error {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 15px;
    border: 1px solid #ee2c24;
    border-radius: 0;
    background: rgba(132, 10, 0, 0.7);
    color: #fff;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-base, 14px);
    font-weight: 400;
    line-height: 1.4;
    text-align: left;
    text-shadow: none;
}

#eventsair-registration .eventsair-registration__error[hidden] {
    display: none !important;
}

.eventsair-page-nav__back {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 120px;
    margin: 0;
    padding: 10px 15px;
    border: 1px solid #fff;
    border-radius: 5px;
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-base, 14px);
    font-weight: 400;
    line-height: 1.4;
    cursor: pointer;
    box-sizing: border-box;
    text-decoration: none;
    box-shadow: none;
    filter: none;
    transform: none;
    transition: background 0.15s ease;
}

.eventsair-page-nav__back:hover:not(:disabled),
.eventsair-page-nav__back:focus-visible:not(:disabled) {
    background: rgba(0, 0, 0, 0.85);
}

.eventsair-page-nav__back[hidden],
#eventsair-registration[data-introduction-enabled="0"] #eventsair-back-introduction {
    display: none !important;
}

.eventsair-page-nav__icon {
    display: block;
    width: 28px;
    height: 28px;
    flex-shrink: 0;
}

.eventsair-page-nav__icon--back {
    transform: scaleX(-1);
}

/*
 * Page-nav Proceed (btn-next): Figma module-page-nav structure
 * (white border, 5px radius, padding, icon gap).
 * Fill/hover colors from live site --btn-primary-* (not Figma CTA-Gradient).
 */
html.MMAwards #eventsair-registration .eventsair-page-nav__next.btn.btn--primary,
#eventsair-registration .eventsair-page-nav__next.btn.btn--primary,
#eventsair-registration .eventsair-page-nav__next {
    display: inline-flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 200px;
    margin: 0;
    padding: 10px 15px;
    border: 1px solid var(--ea-border-strong, #fff);
    border-radius: 5px;
    background: var(--btn-primary-bg, linear-gradient(90deg, #8B6221 0%, #452701 100%));
    color: var(--btn-primary-color, #fff);
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-base, 14px);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0;
    text-transform: none;
    white-space: nowrap;
    cursor: pointer;
    box-sizing: border-box;
    text-decoration: none;
    box-shadow: none;
    filter: none;
    transform: none;
    animation: none;
    overflow: hidden;
    position: relative;
    transition: background 0.15s ease, color 0.15s ease;
}

html.MMAwards #eventsair-registration .eventsair-page-nav__next.btn.btn--primary::after,
#eventsair-registration .eventsair-page-nav__next.btn.btn--primary::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--btn-primary-shine, linear-gradient(135deg, rgba(255, 255, 255, 0.18) 0%, transparent 55%));
    pointer-events: none;
}

html.MMAwards #eventsair-registration .eventsair-page-nav__next.btn.btn--primary:hover:not(:disabled):not(.eventsair-page-nav__next--blocked),
html.MMAwards #eventsair-registration .eventsair-page-nav__next.btn.btn--primary:focus-visible:not(:disabled):not(.eventsair-page-nav__next--blocked),
#eventsair-registration .eventsair-page-nav__next.btn.btn--primary:hover:not(:disabled):not(.eventsair-page-nav__next--blocked),
#eventsair-registration .eventsair-page-nav__next.btn.btn--primary:focus-visible:not(:disabled):not(.eventsair-page-nav__next--blocked),
#eventsair-registration .eventsair-page-nav__next:hover:not(:disabled):not(.eventsair-page-nav__next--blocked) {
    background: var(--btn-primary-bg-hover, linear-gradient(90deg, #A07830 0%, #5A3508 100%));
    color: var(--btn-primary-color-hover, #fff);
    transform: none;
    box-shadow: none;
    animation: none;
}

html.MMAwards #eventsair-registration .eventsair-page-nav__next.btn.btn--primary:active:not(:disabled),
#eventsair-registration .eventsair-page-nav__next.btn.btn--primary:active:not(:disabled) {
    transform: none;
}

@media (max-width: 1024px) {
    /* Figma TAB 02 (834): body p-[25px]; full width of container-padded */
    #eventsair-registration .eventsair-step--ticket {
        max-width: none;
    }

    .eventsair-ticket {
        padding: 25px;
        border-radius: 0;
    }

    /* Narrow Step 1 / Step 2; give BREAKDOWN more of the row */
    .eventsair-ticket-block {
        width: auto;
        max-width: min(360px, 48%);
        flex: 0 0 auto;
    }

    .eventsair-ticket-block--types {
        flex: 1 1 0;
        width: auto;
        max-width: 48%;
        min-width: 0;
    }

    /* Step 2 + BREAKDOWN stay side-by-side with 29px gap */
    .eventsair-ticket__row {
        flex-wrap: nowrap;
        align-items: flex-start;
        gap: 20px;
    }

    .eventsair-ticket-summary {
        flex: 1 1 0;
        min-width: 240px;
        max-width: none;
        width: auto;
    }

    /* Back keeps label on tablet (Figma w-[120px] + “Back”) */
    .eventsair-page-nav__back {
        width: 120px;
    }

    .eventsair-page-nav__next {
        flex: 1 1 auto;
        min-width: 0;
    }
}

@media (max-width: 767px) {
    #eventsair-registration .eventsair-step--ticket {
        max-width: none;
    }

    .eventsair-ticket {
        padding: 0;
    }

    .eventsair-breadcrumb {
        font-size: calc(var(--ea-fs-base, 14px) + 2px);
        line-height: 1;
    }

    .eventsair-breadcrumb__current {
        font-weight: 800;
    }

    .eventsair-breadcrumb__past,
    .eventsair-breadcrumb__sep,
    .eventsair-breadcrumb__rest {
        font-weight: 400;
    }

    .eventsair-ticket__row {
        flex-direction: column;
        flex-wrap: wrap;
        gap: 29px;
    }

    .eventsair-ticket-block,
    .eventsair-ticket-block--types {
        width: 100%;
        max-width: none;
        flex: 0 0 auto;
    }

    #eventsair-registration .eventsair-step--ticket .eventsair-field--select,
    #eventsair-registration .eventsair-step--ticket .eventsair-field--qty,
    #eventsair-registration .eventsair-step--ticket .eventsair-field--ticket-type,
    #eventsair-registration .eventsair-step--ticket .eventsair-discount-block {
        width: 100%;
    }

    #eventsair-registration .eventsair-step--ticket .eventsair-seat-card__fields {
        flex-direction: column;
        align-items: stretch;
        gap: 15px;
    }

    .eventsair-ticket-summary {
        width: 100%;
        max-width: none;
        flex: 0 0 auto;
    }

    /* Error stays a full row above Back / Proceed, including when Back is absent. */
    #eventsair-registration .eventsair-page-nav {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        column-gap: 20px;
        row-gap: 15px;
        width: 100%;
        padding-top: 25px;
        box-sizing: border-box;
    }

    #eventsair-registration .eventsair-page-nav > .eventsair-registration__error {
        flex: 1 0 100%;
        width: 100%;
        max-width: 100%;
        order: -1;
    }

    #eventsair-registration .eventsair-page-nav__back,
    #eventsair-registration #eventsair-back-hub {
        flex: 0 0 auto;
        width: auto;
        min-width: 0;
        max-width: none;
        padding: 10px 15px;
        gap: 0;
    }

    #eventsair-registration .eventsair-page-nav__back-label {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    html.MMAwards #eventsair-registration .eventsair-page-nav__next.btn.btn--primary,
    #eventsair-registration .eventsair-page-nav__next.btn.btn--primary,
    #eventsair-registration .eventsair-page-nav__next {
        flex: 1 1 0;
        width: auto;
        min-width: 0;
        max-width: none;
    }
}

/* —— Payment step (Figma 03 method → 04 billing) —— */

.eventsair-registration:has(.eventsair-step--paid:not([hidden])) .eventsair-registration__steps,
.eventsair-registration:has(.eventsair-step--success:not([hidden])) .eventsair-registration__steps {
    display: none !important;
}

#eventsair-registration .eventsair-step--payment {
    max-width: 850px;
    margin: 0 auto;
    width: 100%;
}

.eventsair-payment {
    display: flex;
    flex-direction: column;
    gap: 25px;
    width: 100%;
    padding: 25px;
    border-radius: 0;
    background: transparent;
    box-sizing: border-box;
}

.eventsair-payment__row {
    display: flex;
    gap: 15px;
    align-items: flex-start;
    width: 100%;
}

.eventsair-payment__main {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 15px;
    min-width: 0;
}

.eventsair-payment-phase {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 100%;
}

/* Phase visibility via parent data attr (keeps Stripe mount measurable) */
#eventsair-registration .eventsair-step--payment[data-payment-phase="method"] .eventsair-payment-phase--billing {
    position: absolute;
    width: 535px;
    max-width: calc(100% - 40px);
    left: -12000px;
    top: 0;
    visibility: hidden;
    pointer-events: none;
}

/* Keep the Payment Element laid out (not display:none) so Stripe can paint declines. */
#eventsair-registration .eventsair-step--payment[data-payment-phase="billing"] .eventsair-payment-phase--method {
    position: absolute;
    width: 535px;
    max-width: calc(100% - 40px);
    left: -12000px;
    top: 0;
    visibility: hidden;
    pointer-events: none;
}

/*
 * Continue / unpaid resume: one column under a single heading.
 * Card mount lives in the method phase; billing fields in the billing phase.
 * Use display:contents so we can order: heading → card → billing.
 */
#eventsair-registration .eventsair-step--payment.is-payment-resume[data-payment-phase="billing"] .eventsair-payment__main {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

#eventsair-registration .eventsair-step--payment.is-payment-resume[data-payment-phase="billing"] .eventsair-payment-phase--method,
#eventsair-registration .eventsair-step--payment.is-payment-resume[data-payment-phase="billing"] .eventsair-payment-phase--billing {
    position: static;
    width: auto;
    max-width: none;
    left: auto;
    top: auto;
    visibility: visible;
    pointer-events: auto;
    display: contents;
}

#eventsair-registration .eventsair-step--payment.is-payment-resume .eventsair-payment-phase--method > .eventsair-payment__header,
#eventsair-registration .eventsair-step--payment.is-payment-resume .eventsair-payment-method--bank,
#eventsair-registration .eventsair-step--payment.is-payment-resume .eventsair-gateway-option--stripe,
#eventsair-registration .eventsair-step--payment.is-payment-resume .eventsair-resume-seats,
#eventsair-registration .eventsair-step--payment.is-payment-resume .eventsair-payment-zero {
    display: none !important;
}

#eventsair-registration .eventsair-step--payment.is-payment-resume[data-payment-phase="billing"] .eventsair-payment-phase--billing > .eventsair-payment__header {
    order: 1;
}

#eventsair-registration .eventsair-step--payment.is-payment-resume .eventsair-gateway-switch {
    order: 2;
    display: flex !important;
    flex-direction: column;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    min-inline-size: 0;
}

#eventsair-registration .eventsair-step--payment.is-payment-resume .eventsair-gateway-switch__options {
    gap: 0;
}

#eventsair-registration .eventsair-step--payment.is-payment-resume .eventsair-payment-method--stripe,
#eventsair-registration .eventsair-step--payment.is-payment-resume .eventsair-card-panel {
    display: flex !important;
    flex-direction: column;
    width: 100%;
}

/* Radio chrome is hidden on resume — restore full padding around the Payment Element. */
#eventsair-registration .eventsair-step--payment.is-payment-resume .eventsair-payment-method__body {
    padding: 20px;
}

#eventsair-registration .eventsair-step--payment.is-payment-resume[data-payment-phase="billing"] .eventsair-billing {
    order: 3;
}

#eventsair-registration .eventsair-step--payment.is-payment-resume[data-payment-phase="billing"] .eventsair-bank-panel,
#eventsair-registration .eventsair-step--payment.is-payment-resume[data-payment-phase="billing"] #eventsair-zero-continue {
    order: 4;
}

.eventsair-payment__header {
    display: flex;
    flex-direction: column;
    gap: 5px;
    color: var(--ea-fg, #fff);
    text-shadow: var(--ea-intro-title-shadow, 0 4px 30px rgba(228, 189, 117, 0.35));
}

.eventsair-payment__eyebrow {
    margin: 0;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: calc(var(--ea-fs-base, 14px) - 2px);
    font-weight: 500;
    line-height: 1.4;
}

#eventsair-registration .eventsair-step--payment .eventsair-gateway-switch {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    min-inline-size: 0;
}

#eventsair-registration .eventsair-step--payment .eventsair-gateway-switch[hidden] {
    display: none !important;
}

#eventsair-registration .eventsair-step--payment .eventsair-gateway-switch__options {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

#eventsair-registration .eventsair-step--payment .eventsair-payment-method {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    background: #fff;
    border: 1px solid #cecece;
    border-radius: 10px;
    box-sizing: border-box;
    overflow: hidden;
}

#eventsair-registration .eventsair-step--payment .eventsair-payment-method[hidden] {
    display: none !important;
}

#eventsair-registration .eventsair-step--payment .eventsair-payment-method.is-selected,
#eventsair-registration .eventsair-step--payment .eventsair-payment-method:has(input:checked) {
    border-color: #000;
}

#eventsair-registration .eventsair-step--payment .eventsair-payment-method--stripe.eventsair-field--invalid,
#eventsair-registration .eventsair-step--payment .eventsair-card-panel.eventsair-field--invalid {
    border-color: #ee2c24 !important;
    box-shadow: none !important;
}

#eventsair-registration .eventsair-step--payment .eventsair-gateway-option {
    display: block;
    margin: 0;
    cursor: pointer;
}

#eventsair-registration .eventsair-step--payment .eventsair-gateway-option input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin: 0;
    pointer-events: none;
}

#eventsair-registration .eventsair-step--payment .eventsair-gateway-option__face {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
    background: transparent;
    border: 0;
    border-radius: 0;

    color: #000;
    text-align: left;
}

#eventsair-registration .eventsair-step--payment .eventsair-gateway-option input:focus-visible + .eventsair-gateway-option__face {
    outline: 2px solid #000;
    outline-offset: -2px;
}

#eventsair-registration .eventsair-step--payment .eventsair-gateway-option__text {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
    padding-right: 20px;
}

#eventsair-registration .eventsair-step--payment .eventsair-gateway-option__title {
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: calc(var(--ea-fs-base, 14px) + 2px);
    font-weight: 700;
    line-height: 1.4;
    color: #000;
}

#eventsair-registration .eventsair-step--payment .eventsair-gateway-option__desc {
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-base, 14px);
    font-weight: 400;
    line-height: 1.4;
    color: #000;
}

#eventsair-registration .eventsair-step--payment .eventsair-gateway-option__radio {
    flex: 0 0 auto;
    width: 15px;
    height: 15px;
    border: 1px solid #6c7478;
    border-radius: 50%;
    box-sizing: border-box;
    background: #fff;
    position: relative;
}

#eventsair-registration .eventsair-step--payment .eventsair-gateway-option input:checked + .eventsair-gateway-option__face .eventsair-gateway-option__radio {
    border-color: #000;
}

#eventsair-registration .eventsair-step--payment .eventsair-gateway-option input:checked + .eventsair-gateway-option__face .eventsair-gateway-option__radio::after {
    content: "";
    position: absolute;
    inset: 3px;
    border-radius: 50%;
    background: #000;
}

/* Stripe Payment Element expands inside selected card */
#eventsair-registration .eventsair-step--payment .eventsair-payment-method__body {
    padding: 0 20px 20px;
    box-sizing: border-box;
}

#eventsair-registration .eventsair-step--payment .eventsair-payment-method__body[hidden] {
    display: none !important;
}

#eventsair-registration .eventsair-step--payment .eventsair-billing--chrome {
    background: #fff;
    border: 1px solid #cecece;
    border-radius: 10px;
    padding: 20px;
    box-sizing: border-box;
    color: #000;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

#eventsair-registration .eventsair-step--payment .eventsair-contact-mount,
#eventsair-registration .eventsair-step--payment .eventsair-address-mount,
#eventsair-registration .eventsair-step--payment .eventsair-stripe-mount {
    position: relative;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

/* Billing Address/Contact skeleton — Figma Input-text default (5px radius, #cecece) */
#eventsair-registration .eventsair-step--payment .eventsair-billing--chrome .eventsair-element-skeleton {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 100%;
}

#eventsair-registration .eventsair-step--payment .eventsair-billing--chrome .eventsair-element-skeleton__field {
    gap: 5px;
}

#eventsair-registration .eventsair-step--payment .eventsair-billing--chrome .eventsair-element-skeleton__label {
    height: 12px;
    border-radius: 2px;
    background: #d8d8d8;
}

#eventsair-registration .eventsair-step--payment .eventsair-billing--chrome .eventsair-element-skeleton__input {
    height: 44px;
    border: 1px solid #cecece;
    border-radius: 5px;
    background: #fff;
    box-shadow: none;
    animation: none;
}

#eventsair-registration .eventsair-step--payment .eventsair-billing--chrome .eventsair-element-skeleton__input::after {
    display: none;
}

#eventsair-registration .eventsair-step--payment .eventsair-billing--chrome .eventsair-element-skeleton__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

#eventsair-registration .eventsair-step--payment .eventsair-billing--chrome .eventsair-element-host {
    width: 100%;
}

#eventsair-registration .eventsair-step--payment .eventsair-address-mount:has(.eventsair-element-skeleton:not([hidden])) .eventsair-element-host,
#eventsair-registration .eventsair-step--payment .eventsair-contact-mount:has(.eventsair-element-skeleton:not([hidden])) .eventsair-element-host {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    pointer-events: none;
}

/* Credit/debit card Payment Element skeleton (visible on white method panel) */
#eventsair-registration .eventsair-step--payment .eventsair-stripe-mount {
    min-height: 168px;
}

#eventsair-registration .eventsair-step--payment .eventsair-element-skeleton--card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
    padding: 4px 0 0;
    box-sizing: border-box;
}

#eventsair-registration .eventsair-step--payment .eventsair-element-skeleton--card[hidden] {
    display: none !important;
}

#eventsair-registration .eventsair-step--payment .eventsair-element-skeleton__card-face {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
    padding: 16px;
    border: 1px solid #cecece;
    border-radius: 10px;
    background: #f7f7f7;
    box-sizing: border-box;
}

#eventsair-registration .eventsair-step--payment .eventsair-element-skeleton__chip {
    width: 36px;
    height: 28px;
    border-radius: 5px;
    background: linear-gradient(135deg, #d0d0d0 0%, #b8b8b8 45%, #dedede 100%);
    animation: eventsair-card-skeleton-pulse 1.2s ease-in-out infinite;
}

#eventsair-registration .eventsair-step--payment .eventsair-element-skeleton__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

#eventsair-registration .eventsair-step--payment .eventsair-element-skeleton__label {
    height: 10px;
    border-radius: 3px;
    background: #cfcfcf;
    animation: eventsair-card-skeleton-pulse 1.2s ease-in-out infinite;
}

#eventsair-registration .eventsair-step--payment .eventsair-element-skeleton__label--sm {
    width: 40px;
}

#eventsair-registration .eventsair-step--payment .eventsair-element-skeleton__label--md {
    width: 72px;
}

#eventsair-registration .eventsair-step--payment .eventsair-element-skeleton__label--lg {
    width: 96px;
}

#eventsair-registration .eventsair-step--payment .eventsair-element-skeleton__input {
    width: 100%;
    height: 44px;
    border: 1px solid #cecece;
    border-radius: 5px;
    background: #fff;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.02);
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    animation: eventsair-card-skeleton-pulse 1.2s ease-in-out infinite;
}

#eventsair-registration .eventsair-step--payment .eventsair-element-skeleton__input::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.04) 50%, transparent 100%);
    transform: translateX(-100%);
    animation: eventsair-card-skeleton-shimmer 1.4s ease-in-out infinite;
}

#eventsair-registration .eventsair-step--payment .eventsair-element-skeleton__input--card-number {
    height: 48px;
}

#eventsair-registration .eventsair-step--payment .eventsair-element-skeleton__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

#eventsair-registration .eventsair-step--payment .eventsair-element-skeleton__hint {
    margin: 0;
    color: #6c7478;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: calc(var(--ea-fs-base, 14px) - 2px);
    font-weight: 400;
    line-height: 1.4;
}

#eventsair-registration .eventsair-step--payment .eventsair-stripe-mount:has(.eventsair-element-skeleton:not([hidden])) .eventsair-element-host {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    pointer-events: none;
}

@keyframes eventsair-card-skeleton-pulse {
    0%,
    100% {
        opacity: 0.72;
    }
    50% {
        opacity: 1;
    }
}

@keyframes eventsair-card-skeleton-shimmer {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(100%);
    }
}

#eventsair-registration .eventsair-step--payment .eventsair-payment-zero:not([hidden]),
#eventsair-registration .eventsair-step--payment .eventsair-bank-panel:not([hidden]),
#eventsair-registration .eventsair-step--payment .eventsair-resume-seats:not([hidden]) {
    background: #fff;
    border: 1px solid #cecece;
    border-radius: 10px;
    padding: 20px;
    box-sizing: border-box;
    color: #000;
}

#eventsair-registration .eventsair-step--payment .eventsair-bank-panel .eventsair-step__hint,
#eventsair-registration .eventsair-step--payment .eventsair-payment-zero p {
    margin: 0;
    color: #000;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-base, 14px);
    line-height: 1.4;
}

#eventsair-registration .eventsair-step--payment .eventsair-stripe-form[hidden] {
    display: none !important;
}

#eventsair-registration .eventsair-step--payment .eventsair-page-nav__next {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex: 1 1 auto;
    min-width: 0;
    box-sizing: border-box;
}

#eventsair-registration .eventsair-step--payment .eventsair-page-nav__next[hidden] {
    display: none !important;
}

/* BREAKDOWN aside — Figma ticket-summary */
#eventsair-registration .eventsair-step--payment .eventsair-payment-summary {
    display: flex;
    flex-direction: column;
    gap: 25px;
    flex: 0 0 307px;
    width: 307px;
    max-width: 100%;
    margin: 0;
    padding: 20px;
    box-sizing: border-box;
    border: 1px solid var(--ea-border-strong, #fff);
    border-radius: 5px;
    background: transparent;
    color: var(--ea-fg, #fff);
    text-shadow: var(--ea-intro-title-shadow, 0 4px 30px rgba(228, 189, 117, 0.35));
}

#eventsair-registration .eventsair-step--payment .eventsair-payment-summary[hidden] {
    display: none !important;
}

#eventsair-registration .eventsair-step--payment .eventsair-payment-summary__block {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

#eventsair-registration .eventsair-step--payment .eventsair-payment-summary__method[hidden] {
    display: none !important;
}

#eventsair-registration .eventsair-step--payment .eventsair-payment-summary__heading {
    margin: 0;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-base, 14px);
    font-weight: 700;
    line-height: 1.4;
    color: var(--ea-fg, #fff);
}

#eventsair-registration .eventsair-step--payment .eventsair-payment-summary__amounts {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 100%;
}

#eventsair-registration .eventsair-step--payment .eventsair-payment-summary__line,
#eventsair-registration .eventsair-step--payment .eventsair-payment-summary__total {
    margin: 0;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-base, 14px);
    font-weight: 400;
    line-height: 1.4;
    color: var(--ea-fg, #fff);
}

#eventsair-registration .eventsair-step--payment .eventsair-payment-summary__total {
    font-weight: 700;
}

#eventsair-registration .eventsair-step--payment .eventsair-page-nav {
    margin-top: 0;
    border-top: 1px dashed #cecece;
    padding-top: 25px;
}

@media (max-width: 900px) {
    /* Keep Figma TAB body p-[25px] on tablet; phone clears at 640 */
    .eventsair-payment {
        padding: 25px;
    }

    #eventsair-registration .eventsair-step--payment .eventsair-payment-summary {
        flex: 0 0 307px;
        width: 307px;
    }
}

@media (max-width: 640px) {
    #eventsair-registration .eventsair-step--payment {
        max-width: none;
    }

    .eventsair-payment {
        padding: 0;
        gap: 25px;
    }

    .eventsair-payment__row {
        flex-direction: column;
        gap: 25px;
    }

    .eventsair-payment__main {
        width: 100%;
    }

    #eventsair-registration .eventsair-step--payment .eventsair-payment-summary {
        width: 100%;
        flex: 0 0 auto;
    }

    #eventsair-registration .eventsair-step--payment .eventsair-gateway-option__face {
        align-items: flex-start;
    }

    #eventsair-registration .eventsair-step--payment .eventsair-gateway-option__text {
        padding-right: 10px;
    }
}

/* —— Paid success (Figma 05) —— */

#eventsair-registration .eventsair-step--paid {
    max-width: 850px;
    margin: 0 auto;
    width: 100%;
    padding: 25px;
    box-sizing: border-box;
}

.eventsair-paid {
    display: flex;
    justify-content: center;
    width: 100%;
}

.eventsair-paid__card {
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: center;
    width: 100%;
    max-width: 500px;
    padding: 35px 25px;
    box-sizing: border-box;
    border: 1px solid var(--ea-border-strong, #fff);
    border-radius: 5px;
    color: var(--ea-fg, #fff);
    text-align: center;
    text-shadow: var(--ea-intro-title-shadow, 0 4px 30px rgba(228, 189, 117, 0.35));
}

.eventsair-paid__heading {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 100%;
}

.eventsair-paid__eyebrow {
    margin: 0;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: calc(var(--ea-fs-base, 14px) - 2px);
    font-weight: 500;
    line-height: 1.4;
}

html.MMAwards #eventsair-registration h3.eventsair-paid__title,
#eventsair-registration h3.eventsair-paid__title,
#eventsair-registration .eventsair-paid__title {
    margin: 0;
    color: var(--ea-fg, #fff);
    font-family: var(--ea-font-display), "Playfair Display", Georgia, serif;
    font-size: calc(var(--ea-fs-base, 14px) + 6px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0;
    text-shadow: var(--ea-intro-title-shadow, 0 4px 30px rgba(228, 189, 117, 0.35));
}

.eventsair-paid__body {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-base, 14px);
    font-weight: 400;
    line-height: 1.4;
}

.eventsair-paid__body > p {
    margin: 0 0 1.4em;
}

.eventsair-paid__body > p:last-child,
.eventsair-paid__help:last-child {
    margin-bottom: 0;
}

.eventsair-paid__ref {
    font-weight: 700;
}

.eventsair-paid__spam {
    color: rgba(255, 255, 255, 0.72);
    text-shadow: none;
}

.eventsair-paid__help {
    margin: 0 0 1.4em;
    width: 100%;
}

.eventsair-paid__help-title {
    margin: 0 0 0.25em;
    font-weight: 700;
}

.eventsair-paid__help-copy,
.eventsair-paid__help-copy p {
    margin: 0;
    color: var(--ea-fg, #fff);
    font-size: var(--ea-fs-base, 14px);
    line-height: 1.4;
}

/* Beat theme `html.MMAwards a { text-decoration: none }` so live chat reads as a link. */
html.MMAwards #eventsair-registration .eventsair-paid__help-copy a,
#eventsair-registration .eventsair-paid__help-copy a {
    color: var(--ea-fg, #fff);
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}

.eventsair-paid__bank {
    width: 100%;
    margin: 0 0 15px;
    text-align: left;
    text-shadow: none;
}

.eventsair-paid__bank-box {
    background: #fff;
    color: #000;
    border: 1px solid #fff;
    border-radius: 10px;
    padding: 15px;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-base, 14px);
    font-weight: 400;
    line-height: 1.4;
}

.eventsair-paid__bank-box p {
    margin: 0;
}

.eventsair-paid__bank-heading {
    font-weight: 700;
}

.eventsair-paid__bank-box p.eventsair-paid__bank-heading--order {
    margin-top: 20px;
}

.eventsair-paid__bank-box strong {
    font-weight: 700;
}

#eventsair-registration .eventsair-paid__lead strong {
    font-weight: 700;
}

#eventsair-registration .eventsair-paid__lead a[data-eventsair-open-livechat] {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}

.eventsair-paid__cta-lead {
    margin-top: 0;
}

.eventsair-paid__actions {
    width: 100%;
    display: flex;
    justify-content: center;
}

/*
 * Paid CTA (Figma btn-cta / 72:1028): white border, 5px radius, 25×15 padding.
 * Fill/hover from live site --btn-primary-* (not Figma CTA-Gradient).
 */
html.MMAwards #eventsair-registration .eventsair-paid__cta.btn.btn--primary,
#eventsair-registration .eventsair-paid__cta.btn.btn--primary,
#eventsair-registration .eventsair-paid__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 448px;
    min-height: 52px;
    margin: 0;
    padding: 15px 25px;
    box-sizing: border-box;
    border: 1px solid var(--ea-border-strong, #fff);
    border-radius: 5px;
    background: var(--btn-primary-bg, linear-gradient(90deg, #8B6221 0%, #452701 100%));
    color: var(--btn-primary-color, #fff);
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-base, 14px);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    cursor: pointer;
    box-shadow: none;
    filter: none;
    transform: none;
    animation: none;
    overflow: hidden;
    position: relative;
    transition: background 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

html.MMAwards #eventsair-registration .eventsair-paid__cta.btn.btn--primary::after,
#eventsair-registration .eventsair-paid__cta.btn.btn--primary::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--btn-primary-shine, linear-gradient(135deg, rgba(255, 255, 255, 0.18) 0%, transparent 55%));
    pointer-events: none;
}

html.MMAwards #eventsair-registration .eventsair-paid__cta.btn.btn--primary:hover,
html.MMAwards #eventsair-registration .eventsair-paid__cta.btn.btn--primary:focus-visible,
#eventsair-registration .eventsair-paid__cta.btn.btn--primary:hover,
#eventsair-registration .eventsair-paid__cta.btn.btn--primary:focus-visible,
#eventsair-registration .eventsair-paid__cta:hover,
#eventsair-registration .eventsair-paid__cta:focus-visible {
    background: var(--btn-primary-bg-hover, linear-gradient(90deg, #A07830 0%, #5A3508 100%));
    color: var(--btn-primary-color-hover, #fff);
    border-color: var(--ea-border-strong, #fff);
    transform: none;
    box-shadow: none;
    animation: none;
    opacity: 0.9;
}

html.MMAwards #eventsair-registration .eventsair-paid__cta.btn.btn--primary:active,
#eventsair-registration .eventsair-paid__cta.btn.btn--primary:active {
    transform: none;
}

#eventsair-registration .eventsair-paid__cta[hidden] {
    display: none !important;
}

@media (max-width: 640px) {
    #eventsair-registration .eventsair-step--paid {
        padding: 0;
    }

    /* Figma PH 05 msg-success: py 35px / px 20px */
    .eventsair-paid__card {
        max-width: none;
        padding: 35px 20px;
    }
}

/* —— Booking complete (Figma 12) —— */

#eventsair-registration .eventsair-step--success {
    max-width: 850px;
    margin: 0 auto;
    width: 100%;
    padding: 25px;
    box-sizing: border-box;
}

.eventsair-success {
    display: flex;
    justify-content: center;
    width: 100%;
}

.eventsair-success__card {
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: center;
    width: 100%;
    max-width: 500px;
    padding: 25px;
    box-sizing: border-box;
    border: 1px solid var(--ea-border-strong, #fff);
    border-radius: 5px;
    color: var(--ea-fg, #fff);
    text-align: center;
    text-shadow: var(--ea-intro-title-shadow, 0 4px 30px rgba(228, 189, 117, 0.35));
}

.eventsair-success__heading {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 100%;
}

.eventsair-success__eyebrow {
    margin: 0;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: calc(var(--ea-fs-base, 14px) - 2px);
    font-weight: 500;
    line-height: 1.4;
}

html.MMAwards #eventsair-registration h3.eventsair-success__title,
#eventsair-registration h3.eventsair-success__title,
#eventsair-registration .eventsair-success__title {
    margin: 0;
    color: var(--ea-fg, #fff);
    font-family: var(--ea-font-display), "Playfair Display", Georgia, serif;
    font-size: calc(var(--ea-fs-base, 14px) + 6px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0;
    text-shadow: var(--ea-intro-title-shadow, 0 4px 30px rgba(228, 189, 117, 0.35));
}

.eventsair-success__body {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-base, 14px);
    font-weight: 400;
    line-height: 1.4;
}

.eventsair-success__body > p,
.eventsair-success__help {
    margin: 0 0 1.4em;
}

.eventsair-success__body > p:last-child,
.eventsair-success__help:last-child {
    margin-bottom: 0;
}

.eventsair-success__ref {
    font-weight: 400;
}

.eventsair-success__help-title {
    margin: 0 0 0.25em;
    font-weight: 700;
}

.eventsair-success__help-copy,
.eventsair-success__help-copy p {
    margin: 0;
    color: var(--ea-fg, #fff);
    font-size: var(--ea-fs-base, 14px);
    line-height: 1.4;
}

html.MMAwards #eventsair-registration .eventsair-success__help-copy a,
#eventsair-registration .eventsair-success__help-copy a {
    color: var(--ea-fg, #fff);
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}

.eventsair-success__closing {
    font-weight: 700;
}

.eventsair-success__actions {
    width: 100%;
    display: flex;
    justify-content: center;
}

/*
 * Success CTA (Figma btn-cta / 72:1028): white border, 5px radius, 15×25 padding.
 * Fill/hover from live site --btn-primary-* (not Figma CTA-Gradient).
 */
html.MMAwards #eventsair-registration .eventsair-success__cta.btn.btn--primary,
#eventsair-registration .eventsair-success__cta.btn.btn--primary,
#eventsair-registration .eventsair-success__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 448px;
    min-height: 52px;
    margin: 0;
    padding: 15px 25px;
    box-sizing: border-box;
    border: 1px solid var(--ea-border-strong, #fff);
    border-radius: 5px;
    background: var(--btn-primary-bg, linear-gradient(90deg, #8B6221 0%, #452701 100%));
    color: var(--btn-primary-color, #fff);
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-base, 14px);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    cursor: pointer;
    box-shadow: none;
    filter: none;
    transform: none;
    animation: none;
    overflow: hidden;
    position: relative;
    transition: background 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

html.MMAwards #eventsair-registration .eventsair-success__cta.btn.btn--primary::after,
#eventsair-registration .eventsair-success__cta.btn.btn--primary::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--btn-primary-shine, linear-gradient(135deg, rgba(255, 255, 255, 0.18) 0%, transparent 55%));
    pointer-events: none;
}

html.MMAwards #eventsair-registration .eventsair-success__cta.btn.btn--primary:hover,
html.MMAwards #eventsair-registration .eventsair-success__cta.btn.btn--primary:focus-visible,
#eventsair-registration .eventsair-success__cta.btn.btn--primary:hover,
#eventsair-registration .eventsair-success__cta.btn.btn--primary:focus-visible,
#eventsair-registration .eventsair-success__cta:hover,
#eventsair-registration .eventsair-success__cta:focus-visible {
    background: var(--btn-primary-bg-hover, linear-gradient(90deg, #A07830 0%, #5A3508 100%));
    color: var(--btn-primary-color-hover, #fff);
    border-color: var(--ea-border-strong, #fff);
    transform: none;
    box-shadow: none;
    animation: none;
    opacity: 0.9;
}

html.MMAwards #eventsair-registration .eventsair-success__cta.btn.btn--primary:active,
#eventsair-registration .eventsair-success__cta.btn.btn--primary:active {
    transform: none;
}

@media (max-width: 640px) {
    #eventsair-registration .eventsair-step--success {
        padding: 0;
    }

    .eventsair-success__card {
        max-width: none;
        padding: 25px 20px;
    }
}

/* —— Guest details / summary (Figma 06–10) —— */

#eventsair-registration .eventsair-step--guest,
#eventsair-registration .eventsair-step--address,
#eventsair-registration .eventsair-step--marketing,
#eventsair-registration .eventsair-step--summary {
    max-width: 850px;
    margin: 0 auto;
    width: 100%;
}

.eventsair-guest-chrome {
    display: flex;
    flex-direction: column;
    gap: 29px;
    width: 100%;
    padding: 25px;
    border-radius: 0;
    background: transparent;
    box-sizing: border-box;
}

.eventsair-guest-chrome__header {
    display: flex;
    flex-direction: column;
    gap: 10px;
    color: var(--ea-fg, #fff);
    text-shadow: var(--ea-intro-title-shadow, 0 4px 30px rgba(228, 189, 117, 0.35));
}

.eventsair-guest-chrome__eyebrow {
    margin: 0;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: calc(var(--ea-fs-base, 14px) - 2px);
    font-weight: 500;
    line-height: 1.4;
}

html.MMAwards #eventsair-registration h3.eventsair-guest-chrome__title,
#eventsair-registration h3.eventsair-guest-chrome__title,
#eventsair-registration .eventsair-guest-chrome__title {
    margin: 0;
    color: var(--ea-fg, #fff);
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: calc(var(--ea-fs-base, 14px) + 2px);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0;
    text-shadow: var(--ea-intro-title-shadow, 0 4px 30px rgba(228, 189, 117, 0.35));
}

.eventsair-guest-progress {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 0;
}

.eventsair-guest-progress__item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 0;
    color: var(--ea-fg, #fff);
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: calc(var(--ea-fs-base, 14px) - 2px);
    font-weight: 400;
    line-height: 1.4;
    opacity: 0.5;
}

.eventsair-guest-progress__item.is-current,
.eventsair-guest-progress__item.is-done {
    opacity: 1;
}

button.eventsair-guest-progress__item {
    margin: 0;
    padding: 3px 0;
    border: 0;
    background: transparent;
    appearance: none;

    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: calc(var(--ea-fs-base, 14px) - 2px);
    font-weight: 400;
    line-height: 1.4;
    color: var(--ea-fg, #fff);
    text-align: left;

    cursor: pointer;
}

button.eventsair-guest-progress__item.is-current {
    cursor: default;
}

button.eventsair-guest-progress__item:hover:not(.is-current),
button.eventsair-guest-progress__item:focus-visible:not(.is-current) {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.eventsair-guest-progress__sep {
    color: rgba(255, 255, 255, 0.55);
    font-size: calc(var(--ea-fs-base, 14px) - 2px);
    line-height: 1;
}

.eventsair-guest-apply {
    display: flex;
    align-items: center;
    gap: 15px;
    width: 100%;
    margin: 0;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #939393;
    border-radius: 5px;
    background: transparent;
    cursor: pointer;
    color: var(--ea-fg, #fff);
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-base, 14px);
    font-weight: 400;
    line-height: 1.4;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.eventsair-guest-apply:has(.eventsair-guest-apply__input:checked) {
    background: rgba(0, 0, 0, 0.7);
    border-color: #fff;
    color: #fff;
}

.eventsair-guest-apply__input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin: 0;
    pointer-events: none;
}

.eventsair-guest-apply__box {
    flex: 0 0 auto;
    width: 15px;
    height: 15px;
    border: 1px solid var(--ea-border-strong, #fff);
    border-radius: 2px;
    box-sizing: border-box;
    background: transparent;
    position: relative;
}

.eventsair-guest-apply__input:checked + .eventsair-guest-apply__box {
    background: #fff;
}

.eventsair-guest-apply__input:checked + .eventsair-guest-apply__box::after {
    content: "";
    position: absolute;
    left: 4px;
    top: 1px;
    width: 4px;
    height: 8px;
    border: solid #0a0a0a;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.eventsair-guest-apply__input:focus-visible + .eventsair-guest-apply__box {
    outline: 2px solid var(--ea-fg, #fff);
    outline-offset: 2px;
}

.eventsair-guest-apply__label {
    flex: 1 1 auto;
    min-width: 0;
}

#eventsair-registration .eventsair-step--guest .eventsair-guests,
#eventsair-registration .eventsair-step--address .eventsair-guest-addresses,
#eventsair-registration .eventsair-step--marketing .eventsair-marketing,
#eventsair-registration .eventsair-step--summary .eventsair-summary {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 100%;
}

#eventsair-registration .eventsair-step--guest .eventsair-guest-card,
#eventsair-registration .eventsair-step--address .eventsair-guest-address-card,
#eventsair-registration .eventsair-step--marketing .eventsair-marketing-guest,
#eventsair-registration .eventsair-step--summary .eventsair-summary-card {
    width: 100%;
    max-width: 798px;
    margin: 0;
    padding: 20px;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #cecece;
    border-radius: 10px;
    box-shadow: none;
    color: #000;
}

#eventsair-registration .eventsair-step--guest .eventsair-guest-card::before,
#eventsair-registration .eventsair-step--address .eventsair-guest-address-card::before,
#eventsair-registration .eventsair-step--marketing .eventsair-marketing-guest::before,
#eventsair-registration .eventsair-step--summary .eventsair-summary-card::before {
    display: none !important;
}

#eventsair-registration .eventsair-step--guest .eventsair-guest-card__title,
#eventsair-registration .eventsair-step--address .eventsair-guest-card__title,
#eventsair-registration .eventsair-step--marketing .eventsair-guest-card__title,
#eventsair-registration .eventsair-step--summary .eventsair-summary-card__title {
    margin: 0 0 15px;
    color: #000;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-base, 14px);
    font-weight: 700;
    line-height: 1.4;
    text-shadow: none;
}

#eventsair-registration .eventsair-step--guest .eventsair-field-row--name {
    display: grid;
    grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
    gap: 15px;
    width: 100%;
    margin: 0 0 20px;
}

#eventsair-registration .eventsair-step--guest .eventsair-field-row--name .eventsair-field--title {
    display: none;
}

#eventsair-registration[data-show-guest-title="1"] .eventsair-step--guest .eventsair-field-row--name {
    grid-template-columns: minmax(0, 2fr) minmax(0, 10fr);
}

#eventsair-registration[data-show-guest-title="1"] .eventsair-step--guest .eventsair-field-row--name .eventsair-field:last-child {
    grid-column: 1 / -1;
}

#eventsair-registration[data-show-guest-title="1"] .eventsair-step--guest .eventsair-field-row--name .eventsair-field--title {
    display: flex;
}

#eventsair-registration[data-show-guest-title="1"] .eventsair-step--guest .eventsair-field--title .eventsair-g-title {
    align-self: stretch;
    width: 100%;
    min-width: 0;
    min-height: calc(var(--ea-fs-base, 14px) + 30px);
    box-sizing: border-box;
    border: 1px solid #cecece;
    border-radius: 5px;
    background: #fff;
}

#eventsair-registration .eventsair-title-suggest {
    position: relative;
    width: 100%;
    min-width: 0;
}

#eventsair-registration .eventsair-title-suggest__list {
    position: absolute;
    z-index: 30;
    top: calc(100% + 4px);
    left: 0;
    min-width: 100%;
    width: max-content;
    margin: 0;
    padding: 4px 0;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #cecece;
    border-radius: 5px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}

#eventsair-registration .eventsair-title-suggest__list[hidden] {
    display: none;
}

#eventsair-registration .eventsair-title-suggest__option {
    display: block;
    width: 100%;
    margin: 0;
    padding: 8px 12px;
    border: 0;
    background: transparent;
    color: #000;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-base, 14px);
    font-weight: 400;
    line-height: 1.4;
    text-align: left;
    cursor: pointer;
}

#eventsair-registration .eventsair-title-suggest__option:hover,
#eventsair-registration .eventsair-title-suggest__option.is-active {
    background: #f3f3f3;
}

#eventsair-registration .eventsair-step--guest .eventsair-field-row--name .eventsair-field {
    margin-bottom: 0;
    min-width: 0;
}

#eventsair-registration .eventsair-step--guest .eventsair-field-row--2,
#eventsair-registration .eventsair-step--address .eventsair-field-row--2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
    width: 100%;
    margin: 0 0 20px;
}

#eventsair-registration .eventsair-step--guest .eventsair-field-row--2:last-child,
#eventsair-registration .eventsair-step--address .eventsair-field-row--2:last-child {
    margin-bottom: 0;
}

#eventsair-registration .eventsair-step--guest .eventsair-field,
#eventsair-registration .eventsair-step--address .eventsair-field,
#eventsair-registration .eventsair-step--marketing .eventsair-field {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin: 0 0 20px;
    width: 100%;
}

#eventsair-registration .eventsair-step--guest .eventsair-field-row--2 .eventsair-field,
#eventsair-registration .eventsair-step--address .eventsair-field-row--2 .eventsair-field,
#eventsair-registration .eventsair-step--guest .eventsair-dietary-fields .eventsair-field {
    margin-bottom: 0;
}

#eventsair-registration .eventsair-step--guest .eventsair-field label,
#eventsair-registration .eventsair-step--address .eventsair-field label,
#eventsair-registration .eventsair-step--marketing .eventsair-field label {
    margin: 0;
    color: #000;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: calc(var(--ea-fs-base, 14px) - 2px);
    font-weight: 400;
    line-height: 1.4;
}

#eventsair-registration .eventsair-step--guest .eventsair-field input:not([type="checkbox"]),
#eventsair-registration .eventsair-step--guest .eventsair-field select,
#eventsair-registration .eventsair-step--guest .eventsair-field textarea,
#eventsair-registration .eventsair-step--address .eventsair-field input,
#eventsair-registration .eventsair-step--address .eventsair-field select,
#eventsair-registration .eventsair-step--marketing .eventsair-field input[type="text"],
#eventsair-registration .eventsair-step--marketing .eventsair-field input[type="email"],
#eventsair-registration .eventsair-step--marketing .eventsair-field select,
#eventsair-registration .eventsair-step--marketing .eventsair-field textarea {
    width: 100%;
    min-height: calc(var(--ea-fs-base, 14px) + 30px);
    padding: 12px 15px;
    box-sizing: border-box;
    border: 1px solid #cecece;
    border-radius: 5px;
    background: #fff;
    color: #000;
    font-family: var(--ea-font-body), "DM Sans", "Open Sans", sans-serif;
    font-size: var(--ea-fs-base, 14px);
    font-weight: 400;
    line-height: calc(var(--ea-fs-base, 14px) + 6px);
    box-shadow: none;
    outline: none;
    transition: border-color 0.15s ease;
}

/* Input Selected/Typing — black border only when focused or has a value (.is-filled). */
#eventsair-registration .eventsair-step--guest .eventsair-field input:not([type="checkbox"]):focus,
#eventsair-registration .eventsair-step--guest .eventsair-field input:not([type="checkbox"]):focus-visible,
#eventsair-registration .eventsair-step--guest .eventsair-field input:not([type="checkbox"]).is-filled,
#eventsair-registration .eventsair-step--guest .eventsair-field select:focus,
#eventsair-registration .eventsair-step--guest .eventsair-field select:focus-visible,
#eventsair-registration .eventsair-step--guest .eventsair-field select.is-filled,
#eventsair-registration .eventsair-step--guest .eventsair-field textarea:focus,
#eventsair-registration .eventsair-step--guest .eventsair-field textarea:focus-visible,
#eventsair-registration .eventsair-step--guest .eventsair-field textarea.is-filled,
#eventsair-registration .eventsair-step--address .eventsair-field input:focus,
#eventsair-registration .eventsair-step--address .eventsair-field input:focus-visible,
#eventsair-registration .eventsair-step--address .eventsair-field input.is-filled,
#eventsair-registration .eventsair-step--address .eventsair-field select:focus,
#eventsair-registration .eventsair-step--address .eventsair-field select:focus-visible,
#eventsair-registration .eventsair-step--address .eventsair-field select.is-filled,
#eventsair-registration .eventsair-step--marketing .eventsair-field input[type="text"]:focus,
#eventsair-registration .eventsair-step--marketing .eventsair-field input[type="text"]:focus-visible,
#eventsair-registration .eventsair-step--marketing .eventsair-field input[type="text"].is-filled,
#eventsair-registration .eventsair-step--marketing .eventsair-field input[type="email"]:focus,
#eventsair-registration .eventsair-step--marketing .eventsair-field input[type="email"]:focus-visible,
#eventsair-registration .eventsair-step--marketing .eventsair-field input[type="email"].is-filled,
#eventsair-registration .eventsair-step--marketing .eventsair-field select:focus,
#eventsair-registration .eventsair-step--marketing .eventsair-field select:focus-visible,
#eventsair-registration .eventsair-step--marketing .eventsair-field select.is-filled,
#eventsair-registration .eventsair-step--marketing .eventsair-field textarea:focus,
#eventsair-registration .eventsair-step--marketing .eventsair-field textarea:focus-visible,
#eventsair-registration .eventsair-step--marketing .eventsair-field textarea.is-filled {
    border-color: #000;
    box-shadow: none;
    outline: none;
}

/* Input-text Disabled — 50% opacity (component library) */
#eventsair-registration .eventsair-step--guest .eventsair-field input:not([type="checkbox"]):disabled,
#eventsair-registration .eventsair-step--guest .eventsair-field select:disabled,
#eventsair-registration .eventsair-step--guest .eventsair-field textarea:disabled,
#eventsair-registration .eventsair-step--address .eventsair-field input:disabled,
#eventsair-registration .eventsair-step--address .eventsair-field select:disabled,
#eventsair-registration .eventsair-step--marketing .eventsair-field input[type="text"]:disabled,
#eventsair-registration .eventsair-step--marketing .eventsair-field input[type="email"]:disabled,
#eventsair-registration .eventsair-step--marketing .eventsair-field select:disabled,
#eventsair-registration .eventsair-step--marketing .eventsair-field textarea:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

#eventsair-registration .eventsair-step--guest .eventsair-field:has(input:disabled) label,
#eventsair-registration .eventsair-step--guest .eventsair-field:has(select:disabled) label,
#eventsair-registration .eventsair-step--guest .eventsair-field:has(textarea:disabled) label,
#eventsair-registration .eventsair-step--address .eventsair-field:has(input:disabled) label,
#eventsair-registration .eventsair-step--address .eventsair-field:has(select:disabled) label,
#eventsair-registration .eventsair-step--marketing .eventsair-field:has(input:disabled) label,
#eventsair-registration .eventsair-step--marketing .eventsair-field:has(select:disabled) label,
#eventsair-registration .eventsair-step--marketing .eventsair-field:has(textarea:disabled) label {
    opacity: 0.5;
}

#eventsair-registration .eventsair-step--guest .eventsair-field.eventsair-field--invalid input:not([type="checkbox"]),
#eventsair-registration .eventsair-step--guest .eventsair-field.eventsair-field--invalid select,
#eventsair-registration .eventsair-step--guest .eventsair-field.eventsair-field--invalid textarea,
#eventsair-registration .eventsair-step--address .eventsair-field.eventsair-field--invalid input,
#eventsair-registration .eventsair-step--marketing .eventsair-marketing-field.eventsair-field--invalid input,
#eventsair-registration .eventsair-step--marketing .eventsair-marketing-field.eventsair-field--invalid select,
#eventsair-registration .eventsair-step--marketing .eventsair-marketing-field.eventsair-field--invalid textarea {
    border-color: #ee2c24 !important;
    box-shadow: none !important;
}

#eventsair-registration .eventsair-step--guest .eventsair-field.eventsair-field--invalid,
#eventsair-registration .eventsair-step--address .eventsair-field.eventsair-field--invalid,
#eventsair-registration .eventsair-step--marketing .eventsair-marketing-field.eventsair-field--invalid {
    gap: 5px;
}

#eventsair-registration .eventsair-step--guest .eventsair-field__error,
#eventsair-registration .eventsair-step--address .eventsair-field__error,
#eventsair-registration .eventsair-step--marketing .eventsair-field__error,
#eventsair-registration .eventsair-step--payment .eventsair-field__error {
    margin: 0;
    color: #ee2c24;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: calc(var(--ea-fs-base, 14px) - 2px);
    font-weight: 400;
    line-height: 1.4;
}

#eventsair-registration .eventsair-step--guest .eventsair-dietary-host {
    margin-top: 0;
}

#eventsair-registration .eventsair-step--guest .eventsair-dietary-fields {
    width: 100%;
}

#eventsair-registration .eventsair-step--guest .eventsair-dietary-fields .eventsair-field-row--2 {
    margin-bottom: 0;
}

#eventsair-registration .eventsair-step--guest .eventsair-dietary-other.is-disabled {
    opacity: 0.5;
    pointer-events: none;
}

#eventsair-registration .eventsair-step--guest .eventsair-dietary-other[hidden] {
    display: none !important;
}

#eventsair-registration .eventsair-step--guest .eventsair-dietary--multiselect {
    position: relative;
    z-index: 1;
}

#eventsair-registration .eventsair-step--guest .eventsair-dietary--multiselect.is-open {
    z-index: 30;
}

#eventsair-registration .eventsair-step--guest .eventsair-guest-card:has(.eventsair-dietary--multiselect.is-open) {
    position: relative;
    z-index: 5;
    overflow: visible;
}

#eventsair-registration .eventsair-step--guest .eventsair-dietary-control {
    position: relative;
    width: 100%;
}

#eventsair-registration .eventsair-step--guest .eventsair-dietary-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    min-height: calc(var(--ea-fs-base, 14px) + 30px);
    box-sizing: border-box;
    padding: 12px 15px;
    border: 1px solid #cecece;
    border-radius: 5px;
    background: #fff;
    color: #6c7478;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-base, 14px);
    font-weight: 400;
    line-height: 1.4;
    text-align: left;
    cursor: pointer;
}

#eventsair-registration .eventsair-step--guest .eventsair-dietary-trigger.is-filled,
#eventsair-registration .eventsair-step--guest .eventsair-dietary--multiselect.is-open .eventsair-dietary-trigger:focus,
#eventsair-registration .eventsair-step--guest .eventsair-dietary--multiselect.is-open .eventsair-dietary-trigger {
    border-color: #000;
    color: #000;
}

#eventsair-registration .eventsair-step--guest .eventsair-field--invalid .eventsair-dietary-trigger {
    border-color: #ee2c24;
}

#eventsair-registration .eventsair-step--guest .eventsair-dietary-trigger__chevron {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    background: url("../images/chrome/select-chevron.svg") center / 18px 18px no-repeat;
    transition: transform 0.15s ease;
}

#eventsair-registration .eventsair-step--guest .eventsair-dietary--multiselect.is-open .eventsair-dietary-trigger__chevron {
    transform: rotate(180deg);
}

#eventsair-registration .eventsair-step--guest .eventsair-dietary-summary {
    margin: 5px 0 0;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: calc(var(--ea-fs-base, 14px) - 2px);
    font-style: italic;
    font-weight: 400;
    line-height: 1.4;
    color: #000;
}

/*
 * Anchor to the trigger (not label/summary). Sit tightly under the field.
 * Figma 306:4003 — list max-height 184px; overflow scrolls.
 */
#eventsair-registration .eventsair-step--guest .eventsair-dietary-panel {
    position: absolute;
    z-index: 40;
    left: 0;
    right: 0;
    top: calc(100% + 2px);
    bottom: auto;
    max-height: 184px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #fff;
    border: 1px solid #cecece;
    border-radius: 5px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
    scrollbar-gutter: stable;
}

#eventsair-registration .eventsair-step--guest .eventsair-dietary-options {
    display: flex;
    flex-direction: column;
    gap: 1px;
    background: #cecece;
}

#eventsair-registration .eventsair-step--guest .eventsair-dietary-option {
    display: flex;
    align-items: center;
    gap: 0;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 8px 15px;
    border: 0;
    border-radius: 0;
    background: #fff;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-base, 14px);
    font-weight: 400;
    line-height: 1.4;
    color: #000;
    cursor: pointer;
    transition: none;
}

#eventsair-registration .eventsair-step--guest .eventsair-dietary-option:hover {
    background: #f5f5f5;
}

#eventsair-registration .eventsair-step--guest .eventsair-dietary-option:has(.eventsair-g-dietary-check:checked),
#eventsair-registration .eventsair-step--guest .eventsair-dietary-option.is-selected {
    background: #36367d;
    color: var(--ea-fg, #fff);
}

#eventsair-registration .eventsair-step--guest .eventsair-dietary-option:has(.eventsair-g-dietary-check:checked):hover,
#eventsair-registration .eventsair-step--guest .eventsair-dietary-option.is-selected:hover {
    background: #2f2f6c;
    color: var(--ea-fg, #fff);
}

/* Keep checkbox for a11y / collect; Figma list is text-only rows. */
#eventsair-registration .eventsair-step--guest .eventsair-dietary-option input.eventsair-g-dietary-check {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}

#eventsair-registration .eventsair-step--guest .eventsair-page-nav {
    position: relative;
    z-index: 1;
}

#eventsair-registration .eventsair-step--marketing .eventsair-marketing-guest {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

#eventsair-registration .eventsair-step--marketing .eventsair-marketing-guest > .eventsair-field {
    margin: 0;
}

/* Figma InputRadio Horizontal + InputCheckbox — bordered choice groups */
#eventsair-registration .eventsair-step--marketing .eventsair-marketing-field--choice {
    gap: 0;
}

#eventsair-registration .eventsair-step--marketing .eventsair-m-choice {
    display: flex;
    width: 100%;
    box-sizing: border-box;
    padding: 15px;
    border: 1px solid #cecece;
    border-radius: 5px;
    background: #fff;
    color: #000;
}

#eventsair-registration .eventsair-step--marketing .eventsair-m-choice--radio {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
}

#eventsair-registration .eventsair-step--marketing .eventsair-m-choice--checkbox {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

#eventsair-registration .eventsair-step--marketing .eventsair-m-choice__label {
    margin: 0;
    color: #000;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: calc(var(--ea-fs-base, 14px) - 2px);
    font-weight: 400;
    line-height: 1.4;
}

#eventsair-registration .eventsair-step--marketing .eventsair-m-choice--radio .eventsair-m-choice__label {
    flex: 0 0 auto;
    max-width: 100%;
    white-space: normal;
}

#eventsair-registration .eventsair-step--marketing .eventsair-m-radio {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
    row-gap: 12px;
    width: 100%;
    min-width: 0;
}

#eventsair-registration .eventsair-step--marketing .eventsair-m-radio-option,
#eventsair-registration .eventsair-step--marketing .eventsair-m-multi-option {
    display: inline-flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
    min-width: 0;
    cursor: pointer;
    color: #000;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: calc(var(--ea-fs-base, 14px) - 2px);
    font-weight: 400;
    line-height: 1.4;
}

#eventsair-registration .eventsair-step--marketing .eventsair-m-multi-option {
    gap: 15px;
    width: 100%;
}

#eventsair-registration .eventsair-step--marketing .eventsair-m-option-text {
    flex: 1 1 auto;
    min-width: 0;
    word-break: break-word;
}

#eventsair-registration .eventsair-step--marketing .eventsair-m-radio-input,
#eventsair-registration .eventsair-step--marketing .eventsair-m-multi-check,
#eventsair-registration .eventsair-step--marketing .eventsair-m-check {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    appearance: none;
    -webkit-appearance: none;
}

#eventsair-registration .eventsair-step--marketing .eventsair-m-radio-face {
    flex: 0 0 auto;
    width: 15px;
    height: 15px;
    box-sizing: border-box;
    border: 1px solid #cecece;
    border-radius: 50%;
    background: #fff;
    position: relative;
}

#eventsair-registration .eventsair-step--marketing .eventsair-m-radio-input:checked + .eventsair-m-radio-face {
    border-color: #000;
}

#eventsair-registration .eventsair-step--marketing .eventsair-m-radio-input:checked + .eventsair-m-radio-face::after {
    content: "";
    position: absolute;
    inset: 3px;
    border-radius: 50%;
    background: #000;
}

#eventsair-registration .eventsair-step--marketing .eventsair-m-radio-input:focus-visible + .eventsair-m-radio-face,
#eventsair-registration .eventsair-step--marketing .eventsair-m-multi-check:focus-visible + .eventsair-m-check-face,
#eventsair-registration .eventsair-step--marketing .eventsair-m-check:focus-visible + .eventsair-m-check-face {
    outline: 2px solid #000;
    outline-offset: 2px;
}

#eventsair-registration .eventsair-step--marketing .eventsair-m-check-face {
    flex: 0 0 auto;
    width: 15px;
    height: 15px;
    box-sizing: border-box;
    border: 1px solid #000;
    border-radius: 1.5px;
    background: #fff;
    position: relative;
}

#eventsair-registration .eventsair-step--marketing .eventsair-m-multi-check:checked + .eventsair-m-check-face,
#eventsair-registration .eventsair-step--marketing .eventsair-m-check:checked + .eventsair-m-check-face {
    background: #000;
    border-color: #000;
}

#eventsair-registration .eventsair-step--marketing .eventsair-m-multi-check:checked + .eventsair-m-check-face::after,
#eventsair-registration .eventsair-step--marketing .eventsair-m-check:checked + .eventsair-m-check-face::after {
    content: "";
    position: absolute;
    left: 3px;
    top: 1px;
    width: 7px;
    height: 10px;
    box-sizing: border-box;
    border: solid #fff;
    border-width: 0 1.5px 1.5px 0;
    transform: rotate(45deg);
}

#eventsair-registration .eventsair-step--marketing .eventsair-m-multi {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 10px;
    row-gap: 10px;
    width: 100%;
}

#eventsair-registration .eventsair-step--marketing .eventsair-marketing-field.eventsair-field--invalid .eventsair-m-choice {
    border-color: #ee2c24;
}

#eventsair-registration .eventsair-step--marketing .eventsair-m-choice:has(input:disabled) {
    opacity: 0.5;
}

@media (max-width: 640px) {
    #eventsair-registration .eventsair-step--marketing .eventsair-m-radio,
    #eventsair-registration .eventsair-step--marketing .eventsair-m-multi {
        grid-template-columns: 1fr;
    }
}

#eventsair-registration .eventsair-step--summary .eventsair-summary-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#eventsair-registration .eventsair-step--summary .eventsair-summary-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

#eventsair-registration .eventsair-step--summary .eventsair-summary-card__heading {
    display: flex;
    flex: 1 1 auto;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

#eventsair-registration .eventsair-step--summary .eventsair-summary-card__title {
    margin: 0;
    flex: 0 1 auto;
}

#eventsair-registration .eventsair-step--summary .eventsair-summary-card__status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    margin: 0;
    padding: 2px 5px;
    border-radius: 5px;
    color: #000;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: calc(var(--ea-fs-base, 14px) - 4px);
    font-weight: 400;
    line-height: 1.4;
    white-space: nowrap;
}

#eventsair-registration .eventsair-step--summary .eventsair-summary-card__status--empty {
    background: #e3f0ff;
}

#eventsair-registration .eventsair-step--summary .eventsair-summary-card__status--incomplete {
    background: #ffafaf;
}

#eventsair-registration .eventsair-step--summary .eventsair-summary-card__status--complete {
    background: #caffdc;
}

#eventsair-registration .eventsair-step--summary .eventsair-summary-card__edit {
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #000;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-base, 14px);
    font-weight: 400;
    line-height: 1.4;
    text-decoration: underline;
    cursor: pointer;
}

#eventsair-registration .eventsair-step--summary .eventsair-summary-card__body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    width: 100%;
}

#eventsair-registration .eventsair-step--summary .eventsair-summary-card__body:has(> :only-child) {
    grid-template-columns: minmax(0, 1fr);
}

#eventsair-registration .eventsair-step--summary .eventsair-summary-card__col,
#eventsair-registration .eventsair-step--summary .eventsair-summary-card__extras {
    min-width: 0;
}

#eventsair-registration .eventsair-step--summary .eventsair-summary-card__line,
#eventsair-registration .eventsair-step--summary .eventsair-summary-card__empty {
    margin: 0;
    color: #000;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-base, 14px);
    font-weight: 400;
    line-height: 1.4;
}

#eventsair-registration .eventsair-step--summary .eventsair-summary-card__empty {
    color: #6c7478;
}

/* Figma Incomplete ticket module — required-field hint (node 460:2369). */
#eventsair-registration .eventsair-step--summary .eventsair-summary-card__incomplete-hint {
    margin: 0;
    color: #ee2c24;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: calc(var(--ea-fs-base, 14px) - 2px);
    font-weight: 400;
    line-height: 1.4;
}

#eventsair-registration .eventsair-step--summary .eventsair-summary-card.is-locked {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#eventsair-registration .eventsair-step--summary .eventsair-summary-card.is-locked .eventsair-summary-card__title {
    margin: 0;
}

#eventsair-registration .eventsair-step--summary .eventsair-summary-card__locked {
    margin: 0;
    color: #000;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-base, 14px);
    font-weight: 400;
    line-height: 1.4;
}

#eventsair-registration .eventsair-step--summary .eventsair-summary-card.is-empty .eventsair-summary-card__body,
#eventsair-registration .eventsair-step--summary .eventsair-summary-card.is-empty .eventsair-summary-card__extras {
    display: none;
}

#eventsair-registration .eventsair-step--summary .eventsair-summary-card__line--spacer {
    min-height: 1.4em;
}

#eventsair-registration .eventsair-guest-card.is-guest-focus-hidden,
#eventsair-registration .eventsair-guest-address-card.is-guest-focus-hidden,
#eventsair-registration .eventsair-marketing-guest.is-guest-focus-hidden,
#eventsair-registration .eventsair-guest-card[hidden],
#eventsair-registration .eventsair-guest-address-card[hidden],
#eventsair-registration .eventsair-marketing-guest[hidden] {
    display: none !important;
}

#eventsair-registration .eventsair-step--guest .eventsair-guest-card__title,
#eventsair-registration .eventsair-step--address .eventsair-guest-card__title,
#eventsair-registration .eventsair-step--marketing .eventsair-guest-card__title {
    display: none !important;
}

#eventsair-registration .eventsair-step--guest .eventsair-page-nav__back,
#eventsair-registration .eventsair-step--address .eventsair-page-nav__back,
#eventsair-registration .eventsair-step--marketing .eventsair-page-nav__back {
    width: auto;
    min-width: 120px;
    flex: 0 0 auto;
}

#eventsair-registration #eventsair-back-hub {
    min-width: 190px;
}

/* Phone: icon-only back (Figma 181:2529) — override wide desktop back mins above */
@media (max-width: 767px) {
    #eventsair-registration .eventsair-step--guest .eventsair-page-nav__back,
    #eventsair-registration .eventsair-step--address .eventsair-page-nav__back,
    #eventsair-registration .eventsair-step--marketing .eventsair-page-nav__back,
    #eventsair-registration #eventsair-back-hub {
        width: auto;
        min-width: 0;
        max-width: none;
        flex: 0 0 auto;
        padding: 10px 15px;
    }
}

html.MMAwards #eventsair-registration .eventsair-page-nav__next--blocked:not(.btn--primary),
#eventsair-registration .eventsair-page-nav__next--blocked:not(.btn--primary) {
    flex: 1 1 auto;
    opacity: 0.5;
    cursor: not-allowed;
    background: rgba(0, 0, 0, 0.7) !important;
    border: 1px solid #fff !important;
    color: #fff !important;
    box-shadow: none !important;
    filter: none !important;
}

html.MMAwards #eventsair-registration .eventsair-page-nav__next--blocked.btn--primary,
#eventsair-registration .eventsair-page-nav__next--blocked.btn--primary {
    flex: 1 1 auto;
    opacity: 0.5;
    cursor: not-allowed;
    animation: none;
    box-shadow: none;
    transform: none;
}

html.MMAwards #eventsair-registration .eventsair-page-nav__next--blocked:not(.btn--primary):hover,
#eventsair-registration .eventsair-page-nav__next--blocked:not(.btn--primary):hover {
    background: rgba(0, 0, 0, 0.7) !important;
    filter: none !important;
}

#eventsair-registration .eventsair-page-nav--hub .eventsair-page-nav__next {
    width: 100%;
}

/* Figma 06 Guest Details — status note above Submit CTA (node 460:2344). */
#eventsair-registration .eventsair-step--summary .eventsair-hub-note {
    margin: 0;
    max-width: 798px;
    color: #fff;
    font-family: var(--ea-font-body), "DM Sans", sans-serif;
    font-size: var(--ea-fs-base, 14px);
    font-weight: 400;
    line-height: 1.4;
    text-shadow: 0 4px 30px rgba(228, 189, 117, 0.35);
}

#eventsair-registration .eventsair-step--summary .eventsair-hub-note__label {
    font-weight: 700;
}

#eventsair-registration .eventsair-step--summary .eventsair-hub-note em {
    font-style: italic;
    font-weight: 400;
}

#eventsair-registration[data-theme="light"] .eventsair-step--summary .eventsair-hub-note {
    color: #0f172a;
    text-shadow: none;
}

#eventsair-registration .eventsair-step--guest .eventsair-page-nav,
#eventsair-registration .eventsair-step--address .eventsair-page-nav,
#eventsair-registration .eventsair-step--marketing .eventsair-page-nav,
#eventsair-registration .eventsair-step--summary .eventsair-page-nav {
    margin-top: 0;
    padding-top: 25px;
    border-top: 1px dashed #cecece;
    column-gap: 20px;
    row-gap: 15px;
}

#eventsair-registration .eventsair-step--guest .eventsair-page-nav__next,
#eventsair-registration .eventsair-step--address .eventsair-page-nav__next,
#eventsair-registration .eventsair-step--marketing .eventsair-page-nav__next,
#eventsair-registration .eventsair-step--summary .eventsair-page-nav__next {
    flex: 1 1 auto;
}

#eventsair-registration .eventsair-step--address .eventsair-field--addr-line3 {
    margin-bottom: 20px;
}

/* Phone guest chrome — fields stack; page-nav uses shared ≤767 Figma 181:2529 rules */
@media (max-width: 720px) {
    .eventsair-guest-chrome {
        /* form-wrap supplies Figma body-content padding (25px) + outer margins */
        padding: 0;
    }

    #eventsair-registration .eventsair-step--guest .eventsair-field-row--2,
    #eventsair-registration .eventsair-step--address .eventsair-field-row--2,
    #eventsair-registration .eventsair-step--guest .eventsair-field-row--name,
    #eventsair-registration .eventsair-step--summary .eventsair-summary-card__body {
        grid-template-columns: 1fr;
    }

    #eventsair-registration .eventsair-step--guest .eventsair-field--title {
        max-width: none;
    }
}

/* Tablet and phone: one field per row (Title, First Name, Last Name, and the pairs below). */
@media (max-width: 1024px) {
    #eventsair-registration .eventsair-step--guest .eventsair-field-row--name,
    #eventsair-registration[data-show-guest-title="1"] .eventsair-step--guest .eventsair-field-row--name,
    #eventsair-registration .eventsair-step--guest .eventsair-field-row--2 {
        grid-template-columns: minmax(0, 1fr);
    }

    #eventsair-registration[data-show-guest-title="1"] .eventsair-step--guest .eventsair-field-row--name .eventsair-field:last-child {
        grid-column: auto;
    }
}


