/* Easy Dog Manager — Clubshow public UI
 * Dedicated, theme-resistant product UI for overview, show detail, registration and exhibitor account.
 * All rules are scoped to EDM public surfaces.
 */
.edm-public-ui {
    --edm-ui-text: #2d2925;
    --edm-ui-text-soft: #4d4640;
    --edm-ui-muted: #746b63;
    --edm-ui-border: #e5ded7;
    --edm-ui-border-strong: #d6c9bd;
    --edm-ui-surface: #ffffff;
    --edm-ui-soft: #faf7f3;
    --edm-ui-soft-2: #f6f1ec;
    --edm-ui-accent: var(--edm-accent, #a75b00);
    --edm-ui-accent-dark: var(--edm-accent-dark, #7d4300);
    --edm-ui-accent-soft: #fff3e6;
    --edm-ui-success: #2f6f3e;
    --edm-ui-success-bg: #eef8f0;
    --edm-ui-warning: #8a5b00;
    --edm-ui-warning-bg: #fff8e5;
    --edm-ui-danger: #9b2f2f;
    --edm-ui-danger-bg: #fff3f2;
    --edm-ui-radius: 12px;
    --edm-ui-shadow: 0 1px 2px rgba(45,41,37,.045), 0 8px 24px rgba(45,41,37,.035);
    width: 100% !important;
    max-width: 1280px !important;
    margin-inline: auto !important;
    color: var(--edm-ui-text) !important;
    font: inherit !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
}
.edm-public-ui *, .edm-public-ui *::before, .edm-public-ui *::after { box-sizing: border-box !important; }
.edm-public-ui :is(h1,h2,h3,h4,h5,p,dl,dd,dt) { font-family: inherit !important; }
.edm-public-ui :is(h1,h2,h3,h4,h5) { color: var(--edm-ui-text) !important; font-weight: 700 !important; letter-spacing: -.015em !important; }
.edm-public-ui a { text-underline-offset: .18em; }

/* Shared controls */
.edm-public-ui .edm-primary-button,
.edm-public-ui .edm-secondary-button,
.edm-public-ui .edm-wizard-button,
.edm-public-ui .edm-submit-button {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 48px !important;
    min-width: 136px !important;
    margin: 0 !important;
    padding: 11px 18px !important;
    border: 1px solid var(--edm-ui-accent) !important;
    border-radius: 10px !important;
    background: var(--edm-ui-accent) !important;
    color: #fff !important;
    font: inherit !important;
    font-size: .94rem !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    text-transform: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition: background-color .15s ease, border-color .15s ease, transform .15s ease !important;
}
.edm-public-ui .edm-primary-button:hover,
.edm-public-ui .edm-secondary-button:hover,
.edm-public-ui .edm-wizard-button:hover,
.edm-public-ui .edm-submit-button:hover {
    border-color: var(--edm-ui-accent-dark) !important;
    background: var(--edm-ui-accent-dark) !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
}
.edm-public-ui .edm-primary-button:focus-visible,
.edm-public-ui .edm-secondary-button:focus-visible,
.edm-public-ui .edm-wizard-button:focus-visible,
.edm-public-ui .edm-submit-button:focus-visible {
    outline: 3px solid rgba(167,91,0,.18) !important;
    outline-offset: 2px !important;
}
.edm-public-ui button:disabled { opacity: .7 !important; cursor: wait !important; transform: none !important; }

.edm-public-ui :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select, textarea) {
    appearance: auto !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 11px 13px !important;
    border: 1px solid var(--edm-ui-border-strong) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: var(--edm-ui-text) !important;
    font: inherit !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    box-shadow: none !important;
}
.edm-public-ui :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select, textarea):hover { border-color: #b7a99c !important; }
.edm-public-ui :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select, textarea):focus {
    outline: 0 !important;
    border-color: var(--edm-ui-accent) !important;
    box-shadow: 0 0 0 3px rgba(167,91,0,.13) !important;
}
.edm-public-ui input[readonly] { background: var(--edm-ui-soft) !important; color: var(--edm-ui-muted) !important; }

.edm-public-ui .edm-check-field {
    display: flex !important;
    align-items: flex-start !important;
    gap: 11px !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 12px 13px !important;
    border: 1px solid var(--edm-ui-border) !important;
    border-radius: 10px !important;
    background: var(--edm-ui-soft) !important;
    color: var(--edm-ui-text) !important;
    font: inherit !important;
    font-size: .9rem !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
    cursor: pointer !important;
}
.edm-public-ui .edm-check-field > span { display: grid !important; gap: 3px !important; min-width: 0 !important; }
.edm-public-ui .edm-check-field small { color: var(--edm-ui-muted) !important; font-weight: 400 !important; }
.edm-public-ui .edm-check-field input[type=checkbox] {
    appearance: none !important;
    -webkit-appearance: none !important;
    flex: 0 0 20px !important;
    width: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    height: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;
    margin: 1px 0 0 !important;
    padding: 0 !important;
    border: 1px solid #9c9188 !important;
    border-radius: 6px !important;
    background: #fff !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: 12px 12px !important;
    box-shadow: none !important;
    cursor: pointer !important;
}
.edm-public-ui .edm-check-field input[type=checkbox]:checked {
    border-color: var(--edm-ui-accent) !important;
    background-color: var(--edm-ui-accent) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.2' d='M2.2 7.2 5.4 10.2 11.8 3.8'/%3E%3C/svg%3E") !important;
}
.edm-public-ui .edm-check-field input[type=checkbox]:focus-visible { outline: 3px solid rgba(167,91,0,.18) !important; outline-offset: 2px !important; }

.edm-public-ui .edm-show-type,
.edm-public-ui .edm-show-status,
.edm-public-ui .edm-status-chip {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    min-height: 28px !important;
    margin: 0 !important;
    padding: 4px 9px !important;
    border: 1px solid var(--edm-ui-border) !important;
    border-radius: 999px !important;
    background: var(--edm-ui-soft) !important;
    color: var(--edm-ui-muted) !important;
    font-size: .78rem !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
}
.edm-public-ui .edm-show-status.is-open { border-color: #cfe4d4 !important; background: var(--edm-ui-success-bg) !important; color: var(--edm-ui-success) !important; }
.edm-public-ui .edm-show-status.is-upcoming { border-color: #ebd9a2 !important; background: var(--edm-ui-warning-bg) !important; color: var(--edm-ui-warning) !important; }
.edm-public-ui .edm-show-status.is-closed,
.edm-public-ui .edm-show-status.is-finished { color: #675f58 !important; }
.edm-public-ui .edm-show-badges { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
.edm-public-ui .edm-clubshow-eyebrow,
.edm-public-ui .edm-clubshows-kicker,
.edm-public-ui .edm-show-section-head > span,
.edm-public-ui .edm-step-kicker {
    display: block !important;
    color: var(--edm-ui-accent) !important;
    font-size: .74rem !important;
    font-weight: 800 !important;
    letter-spacing: .065em !important;
    text-transform: uppercase !important;
}

.edm-public-ui .edm-clubshow-notice,
.edm-public-ui .edm-clubshow-error,
.edm-public-ui .edm-clubshow-success,
.edm-public-ui .edm-account-notice {
    margin: 0 0 16px !important;
    padding: 14px 16px !important;
    border: 1px solid var(--edm-ui-border) !important;
    border-radius: 10px !important;
    background: var(--edm-ui-soft) !important;
    color: var(--edm-ui-text) !important;
    box-shadow: none !important;
}
.edm-public-ui .edm-clubshow-success,
.edm-public-ui .edm-account-notice.is-success { border-color: #cfe4d4 !important; background: var(--edm-ui-success-bg) !important; }
.edm-public-ui .edm-clubshow-error,
.edm-public-ui .edm-account-notice.is-error { border-color: #ebc3c3 !important; background: var(--edm-ui-danger-bg) !important; color: var(--edm-ui-danger) !important; }

/* Clubshow overview */
.edm-clubshows-portal { padding: 6px 0 32px !important; }
.edm-clubshows-portal .edm-clubshows-public-header { max-width: 820px !important; margin: 0 0 24px !important; }
.edm-clubshows-portal .edm-clubshows-public-header h2 { margin: 5px 0 8px !important; font-size: clamp(1.8rem,3.5vw,2.5rem) !important; line-height: 1.12 !important; }
.edm-clubshows-portal .edm-clubshows-public-header p { margin: 0 !important; color: var(--edm-ui-muted) !important; font-size: 1rem !important; }
.edm-clubshows-portal .edm-clubshows-public-list { display: grid !important; grid-template-columns: repeat(auto-fit,minmax(min(100%,440px),1fr)) !important; gap: 16px !important; }
.edm-clubshows-portal .edm-clubshow-public-card {
    display: grid !important;
    grid-template-columns: 82px minmax(0,1fr) auto !important;
    gap: 18px !important;
    align-items: center !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 18px !important;
    border: 1px solid var(--edm-ui-border) !important;
    border-radius: var(--edm-ui-radius) !important;
    background: #fff !important;
    color: var(--edm-ui-text) !important;
    text-decoration: none !important;
    box-shadow: var(--edm-ui-shadow) !important;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease !important;
}
.edm-clubshows-portal .edm-clubshow-public-card:hover,
.edm-clubshows-portal .edm-clubshow-public-card:focus-visible { border-color: var(--edm-ui-border-strong) !important; box-shadow: 0 6px 22px rgba(45,41,37,.08) !important; transform: translateY(-1px) !important; }
.edm-clubshows-portal .edm-clubshow-public-card:focus-visible { outline: 3px solid rgba(167,91,0,.16) !important; outline-offset: 2px !important; }
.edm-clubshow-date-tile { display: grid !important; place-items: center !important; align-content: center !important; width: 82px !important; height: 88px !important; border: 1px solid var(--edm-ui-border) !important; border-radius: 10px !important; background: var(--edm-ui-soft) !important; text-align: center !important; }
.edm-clubshow-date-tile strong { font-size: 1.55rem !important; line-height: 1 !important; }
.edm-clubshow-date-tile span { margin-top: 2px !important; color: var(--edm-ui-accent) !important; font-size: .82rem !important; font-weight: 800 !important; text-transform: uppercase !important; }
.edm-clubshow-date-tile small { color: var(--edm-ui-muted) !important; font-size: .72rem !important; }
.edm-clubshow-public-card-main { min-width: 0 !important; }
.edm-clubshow-card-topline { display: flex !important; flex-wrap: wrap !important; gap: 7px !important; margin-bottom: 8px !important; }
.edm-clubshow-public-card h3 { margin: 0 0 4px !important; font-size: 1.2rem !important; line-height: 1.25 !important; }
.edm-clubshow-public-venue { margin: 0 0 12px !important; color: var(--edm-ui-muted) !important; }
.edm-clubshow-public-meta { display: flex !important; flex-wrap: wrap !important; gap: 10px 20px !important; }
.edm-clubshow-public-meta > span { display: grid !important; gap: 2px !important; }
.edm-clubshow-public-meta small { color: var(--edm-ui-muted) !important; font-size: .72rem !important; font-weight: 650 !important; }
.edm-clubshow-public-meta strong { font-size: .88rem !important; }
.edm-clubshow-public-action { display: inline-flex !important; align-items: center !important; gap: 8px !important; color: var(--edm-ui-accent) !important; font-size: .88rem !important; font-weight: 750 !important; white-space: nowrap !important; }

/* Show detail */
.edm-show-shell { padding: 6px 0 34px !important; }
.edm-show-back { display: inline-flex !important; align-items: center !important; gap: 6px !important; margin: 0 0 14px !important; color: var(--edm-ui-accent) !important; font-size: .9rem !important; font-weight: 700 !important; text-decoration: none !important; }
.edm-show-hero { display: grid !important; grid-template-columns: minmax(0,1fr) 320px !important; margin: 0 0 18px !important; overflow: hidden !important; border: 1px solid var(--edm-ui-border) !important; border-radius: var(--edm-ui-radius) !important; background: #fff !important; box-shadow: var(--edm-ui-shadow) !important; }
.edm-show-hero-main { padding: 26px !important; border-top: 4px solid var(--edm-ui-accent) !important; }
.edm-show-hero h1 { margin: 12px 0 20px !important; font-size: clamp(2rem,4vw,3rem) !important; line-height: 1.05 !important; }
.edm-show-hero-facts { display: flex !important; flex-wrap: wrap !important; gap: 12px 30px !important; }
.edm-show-hero-facts > span { display: grid !important; gap: 2px !important; }
.edm-show-hero-facts small, .edm-show-deadline small { color: var(--edm-ui-muted) !important; font-size: .72rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: .045em !important; }
.edm-show-hero-facts strong { font-size: .98rem !important; }
.edm-show-hero-action { display: grid !important; align-content: center !important; gap: 16px !important; padding: 24px !important; border-left: 1px solid var(--edm-ui-border) !important; background: var(--edm-ui-soft) !important; }
.edm-show-action-label { font-weight: 750 !important; }
.edm-show-hero-action p { margin: 4px 0 0 !important; color: var(--edm-ui-muted) !important; font-size: .9rem !important; }
.edm-show-deadline { display: grid !important; gap: 3px !important; padding-top: 14px !important; border-top: 1px solid var(--edm-ui-border) !important; }
.edm-show-content-grid { display: grid !important; grid-template-columns: minmax(0,1fr) 320px !important; gap: 18px !important; align-items: start !important; }
.edm-show-content-main, .edm-show-sidebar { display: grid !important; gap: 16px !important; min-width: 0 !important; }
.edm-show-sidebar { position: sticky !important; top: 24px !important; }
.edm-show-section, .edm-show-side-card { margin: 0 !important; padding: 22px !important; border: 1px solid var(--edm-ui-border) !important; border-radius: var(--edm-ui-radius) !important; background: #fff !important; box-shadow: none !important; }
.edm-show-section-head { margin: 0 0 16px !important; }
.edm-show-section-head h2, .edm-show-side-card h2 { margin: 4px 0 0 !important; font-size: 1.3rem !important; line-height: 1.2 !important; }
.edm-show-section-head p { margin: 7px 0 0 !important; color: var(--edm-ui-muted) !important; font-size: .92rem !important; }
.edm-show-copy { color: var(--edm-ui-text-soft) !important; }
.edm-show-copy > :first-child { margin-top: 0 !important; }
.edm-show-copy > :last-child { margin-bottom: 0 !important; }
.edm-show-judge-grid { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 12px !important; }
.edm-show-judge { display: grid !important; grid-template-columns: 44px minmax(0,1fr) !important; gap: 12px !important; padding: 14px !important; border: 1px solid var(--edm-ui-border) !important; border-radius: 10px !important; background: var(--edm-ui-soft) !important; }
.edm-show-judge-avatar { display: grid !important; place-items: center !important; width: 44px !important; height: 44px !important; border-radius: 10px !important; background: var(--edm-ui-accent-soft) !important; color: var(--edm-ui-accent-dark) !important; font-weight: 800 !important; }
.edm-show-judge h3 { margin: 0 0 3px !important; font-size: 1rem !important; }
.edm-show-judge p, .edm-show-judge-meta { margin: 4px 0 0 !important; color: var(--edm-ui-muted) !important; font-size: .86rem !important; }
.edm-show-class-list { display: grid !important; gap: 10px !important; }
.edm-show-class { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; padding: 14px 15px !important; border: 1px solid var(--edm-ui-border) !important; border-radius: 10px !important; background: var(--edm-ui-soft) !important; }
.edm-show-class h3 { margin: 0 0 2px !important; font-size: 1rem !important; }
.edm-show-class p { margin: 0 !important; color: var(--edm-ui-muted) !important; font-size: .84rem !important; }
.edm-show-class-tags { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; margin-top: 7px !important; }
.edm-show-class-tags:empty { display: none !important; }
.edm-show-class-tags span { padding: 3px 7px !important; border-radius: 999px !important; background: var(--edm-ui-accent-soft) !important; color: var(--edm-ui-accent-dark) !important; font-size: .7rem !important; font-weight: 750 !important; }
.edm-show-class-fee { white-space: nowrap !important; }
.edm-show-facts, .edm-show-fees { display: grid !important; gap: 0 !important; margin: 0 !important; }
.edm-show-facts > div, .edm-show-fees > div { display: grid !important; grid-template-columns: minmax(96px,.75fr) minmax(0,1fr) !important; gap: 12px !important; padding: 10px 0 !important; border-top: 1px solid var(--edm-ui-border) !important; }
.edm-show-facts > div:first-child, .edm-show-fees > div:first-child { padding-top: 0 !important; border-top: 0 !important; }
.edm-show-facts dt, .edm-show-fees dt { color: var(--edm-ui-muted) !important; font-size: .8rem !important; }
.edm-show-facts dd, .edm-show-fees dd { margin: 0 !important; text-align: right !important; font-weight: 700 !important; overflow-wrap: anywhere !important; }
.edm-show-facts dd a { color: var(--edm-ui-accent) !important; }
.edm-show-side-note { margin: 12px 0 0 !important; padding-top: 12px !important; border-top: 1px solid var(--edm-ui-border) !important; color: var(--edm-ui-muted) !important; font-size: .82rem !important; }
.edm-show-side-registration p { margin: 10px 0 15px !important; color: var(--edm-ui-muted) !important; font-size: .88rem !important; }
.edm-show-side-registration .edm-primary-button { width: 100% !important; }
.edm-show-terms { padding: 0 !important; overflow: hidden !important; }
.edm-show-terms summary { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; padding: 18px 20px !important; cursor: pointer !important; list-style: none !important; }
.edm-show-terms summary::-webkit-details-marker { display: none !important; }
.edm-show-terms details[open] summary { border-bottom: 1px solid var(--edm-ui-border) !important; }
.edm-show-terms .edm-show-copy { padding: 20px !important; }
.edm-show-mobile-cta { display: none !important; }

/* Registration assistant */
.edm-registration-shell { max-width: 1120px !important; padding: 6px 0 34px !important; }
.edm-registration-hero { display: grid !important; grid-template-columns: minmax(0,1fr) 260px !important; gap: 20px !important; align-items: center !important; margin: 0 0 14px !important; padding: 22px !important; border: 1px solid var(--edm-ui-border) !important; border-left: 4px solid var(--edm-ui-accent) !important; border-radius: var(--edm-ui-radius) !important; background: #fff !important; box-shadow: var(--edm-ui-shadow) !important; }
.edm-registration-hero-main { display: grid !important; gap: 8px !important; min-width: 0 !important; }
.edm-registration-hero h2 { margin: 0 !important; font-size: clamp(1.55rem,3vw,2.1rem) !important; line-height: 1.12 !important; }
.edm-registration-hero-main > p { margin: 0 !important; color: var(--edm-ui-muted) !important; }
.edm-registration-hero-facts { min-width: 0 !important; }
.edm-registration-shell .edm-clubshow-deadline { display: grid !important; gap: 3px !important; padding: 14px !important; border: 1px solid var(--edm-ui-border) !important; border-radius: 10px !important; background: var(--edm-ui-soft) !important; text-align: right !important; }
.edm-registration-shell .edm-clubshow-deadline span { color: var(--edm-ui-muted) !important; font-size: .72rem !important; font-weight: 700 !important; letter-spacing: .05em !important; text-transform: uppercase !important; }
.edm-registration-shell .edm-registration-account { margin: 0 0 14px !important; border: 1px solid var(--edm-ui-border) !important; border-radius: var(--edm-ui-radius) !important; background: #fff !important; box-shadow: none !important; }
.edm-registration-shell details.edm-registration-account > summary { display: flex !important; align-items: center !important; min-height: 48px !important; padding: 11px 14px !important; list-style: none !important; color: var(--edm-ui-text) !important; font-weight: 700 !important; cursor: pointer !important; }
.edm-registration-shell details.edm-registration-account > summary::-webkit-details-marker { display: none !important; }
.edm-registration-shell details.edm-registration-account[open] > summary { border-bottom: 1px solid var(--edm-ui-border) !important; background: var(--edm-ui-soft) !important; }
.edm-registration-shell details.edm-registration-account > p { margin: 14px 14px 8px !important; color: var(--edm-ui-muted) !important; font-size: .88rem !important; }
.edm-registration-shell details.edm-registration-account .edm-magic-login-form { padding: 6px 14px 14px !important; }
.edm-registration-shell .edm-registration-account.is-logged-in { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; padding: 12px 14px !important; }
.edm-registration-shell .edm-registration-account.is-logged-in span { display: block !important; margin-top: 2px !important; color: var(--edm-ui-muted) !important; font-size: .86rem !important; }
.edm-registration-shell .edm-registration-account.is-logged-in a { color: var(--edm-ui-accent) !important; font-weight: 700 !important; }
.edm-magic-login-form { display: flex !important; align-items: end !important; gap: 10px !important; flex-wrap: wrap !important; }
.edm-magic-login-form label { display: grid !important; gap: 6px !important; flex: 1 1 280px !important; margin: 0 !important; font-weight: 650 !important; }

.edm-registration-shell .edm-clubshow-registration-form { margin: 0 !important; overflow: hidden !important; border: 1px solid var(--edm-ui-border) !important; border-radius: var(--edm-ui-radius) !important; background: #fff !important; box-shadow: var(--edm-ui-shadow) !important; }
.edm-registration-shell .edm-clubshow-registration-form > input[type=hidden] { display: none !important; }
.edm-registration-steps { display: block !important; margin: 0 !important; padding: 16px 18px !important; border: 0 !important; border-bottom: 1px solid var(--edm-ui-border) !important; background: var(--edm-ui-soft) !important; }
.edm-registration-steps ol { display: grid !important; grid-template-columns: repeat(5,minmax(0,1fr)) !important; gap: 8px !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.edm-registration-step { position: relative !important; display: flex !important; align-items: center !important; gap: 9px !important; min-width: 0 !important; min-height: 54px !important; margin: 0 !important; padding: 8px 10px !important; border: 1px solid transparent !important; border-radius: 10px !important; background: transparent !important; color: var(--edm-ui-muted) !important; cursor: default !important; }
.edm-registration-step-number { display: grid !important; place-items: center !important; flex: 0 0 30px !important; width: 30px !important; height: 30px !important; border: 1px solid var(--edm-ui-border-strong) !important; border-radius: 999px !important; background: #fff !important; color: var(--edm-ui-muted) !important; font-size: .78rem !important; font-weight: 800 !important; }
.edm-registration-step-copy { display: grid !important; gap: 1px !important; min-width: 0 !important; }
.edm-registration-step strong { overflow: hidden !important; color: inherit !important; font-size: .82rem !important; font-weight: 750 !important; line-height: 1.2 !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.edm-registration-step small { overflow: hidden !important; color: inherit !important; font-size: .68rem !important; line-height: 1.2 !important; text-overflow: ellipsis !important; white-space: nowrap !important; opacity: .84 !important; }
.edm-registration-step.is-active { border-color: #e5cdb8 !important; background: #fff7f1 !important; color: var(--edm-ui-text) !important; }
.edm-registration-step.is-active .edm-registration-step-number { border-color: var(--edm-ui-accent) !important; background: var(--edm-ui-accent) !important; color: #fff !important; }
.edm-registration-step.is-complete { color: var(--edm-ui-text-soft) !important; }
.edm-registration-step.is-complete .edm-registration-step-number { border-color: #b9d7c0 !important; background: var(--edm-ui-success-bg) !important; color: var(--edm-ui-success) !important; }
.edm-registration-mobile-progress { display: none !important; margin: 0 !important; padding: 14px 16px !important; border-bottom: 1px solid var(--edm-ui-border) !important; background: var(--edm-ui-soft) !important; }
.edm-registration-mobile-progress > div { display: flex !important; align-items: baseline !important; justify-content: space-between !important; gap: 12px !important; }
.edm-registration-mobile-progress strong { font-size: .84rem !important; }
.edm-registration-mobile-progress [data-edm-step-title] { color: var(--edm-ui-muted) !important; font-size: .82rem !important; }
.edm-mobile-progress-track { display: block !important; overflow: hidden !important; width: 100% !important; height: 5px !important; margin-top: 9px !important; border-radius: 999px !important; background: var(--edm-ui-border) !important; }
.edm-mobile-progress-track > i { display: block !important; width: 20%; height: 100% !important; border-radius: inherit !important; background: var(--edm-ui-accent) !important; transition: width .18s ease !important; }

.edm-assistant-stage { padding: 0 !important; background: #fff !important; }
.edm-clubshow-step { display: none !important; margin: 0 !important; padding: 26px 28px 0 !important; border: 0 !important; background: #fff !important; box-shadow: none !important; }
.edm-clubshow-step.is-active { display: block !important; }
.edm-clubshow-step.edm-step-enter { animation: edmAssistantStepIn .18s ease-out !important; }
@keyframes edmAssistantStepIn { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .edm-clubshow-step.edm-step-enter { animation: none !important; } }
.edm-step-head { margin: 0 0 22px !important; padding: 0 0 18px !important; border-bottom: 1px solid var(--edm-ui-border) !important; }
.edm-step-head h3 { margin: 4px 0 0 !important; font-size: clamp(1.35rem,2.5vw,1.75rem) !important; line-height: 1.18 !important; }
.edm-step-intro { max-width: 800px !important; margin: 7px 0 0 !important; color: var(--edm-ui-muted) !important; font-size: .92rem !important; }
.edm-step-body { display: grid !important; gap: 18px !important; }
.edm-form-grid { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 16px 18px !important; }
.edm-form-grid > label, .edm-form-field, .edm-membership-number, .edm-saved-dog-picker label { display: grid !important; gap: 7px !important; align-content: start !important; margin: 0 !important; color: var(--edm-ui-text) !important; font: inherit !important; font-size: .9rem !important; font-weight: 700 !important; }
.edm-membership-panel { display: grid !important; grid-template-columns: minmax(0,1.25fr) minmax(220px,.75fr) !important; gap: 14px !important; align-items: stretch !important; }
.edm-clubshow-registration-form:not(.edm-member-active) .edm-membership-number { display: none !important; }
.edm-clubshow-registration-form.edm-member-active .edm-membership-number { display: grid !important; }
.edm-saved-dog-picker { margin: 0 !important; padding: 15px !important; border: 1px solid var(--edm-ui-border) !important; border-radius: 10px !important; background: var(--edm-ui-soft) !important; }
.edm-saved-dog-picker small { display: block !important; margin-top: 7px !important; color: var(--edm-ui-muted) !important; font-size: .82rem !important; }

/* Class selection is intentionally a card choice, not a technical dropdown. */
.edm-class-picker { display: grid !important; gap: 12px !important; }
.edm-class-picker-head > div { display: flex !important; align-items: baseline !important; justify-content: space-between !important; gap: 12px !important; }
.edm-class-picker-head strong { font-size: .96rem !important; }
.edm-class-age-hint { color: var(--edm-ui-muted) !important; font-size: .82rem !important; }
.edm-class-options { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 10px !important; }
.edm-class-option { position: relative !important; display: grid !important; grid-template-columns: 22px minmax(0,1fr) auto !important; gap: 11px !important; align-items: center !important; min-height: 76px !important; margin: 0 !important; padding: 13px 14px !important; border: 1px solid var(--edm-ui-border) !important; border-radius: 10px !important; background: #fff !important; color: var(--edm-ui-text) !important; cursor: pointer !important; transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease !important; }
.edm-class-option:hover { border-color: var(--edm-ui-border-strong) !important; background: #fffdfb !important; }
.edm-class-option:has(input:checked) { border-color: var(--edm-ui-accent) !important; background: #fff8f1 !important; box-shadow: 0 0 0 1px var(--edm-ui-accent) inset !important; }
.edm-class-option input[type=radio] { appearance: none !important; -webkit-appearance: none !important; width: 20px !important; height: 20px !important; min-width: 20px !important; margin: 0 !important; padding: 0 !important; border: 1px solid #9c9188 !important; border-radius: 999px !important; background: #fff !important; box-shadow: none !important; }
.edm-class-option input[type=radio]:checked { border: 6px solid var(--edm-ui-accent) !important; }
.edm-class-option input[type=radio]:focus-visible { outline: 3px solid rgba(167,91,0,.18) !important; outline-offset: 2px !important; }
.edm-class-option-copy { display: grid !important; gap: 2px !important; min-width: 0 !important; }
.edm-class-option-copy > strong { font-size: .96rem !important; }
.edm-class-option-copy > small { color: var(--edm-ui-muted) !important; font-size: .8rem !important; }
.edm-class-option-state { min-height: 0 !important; color: var(--edm-ui-danger) !important; font-size: .74rem !important; font-weight: 650 !important; }
.edm-class-option-fee { white-space: nowrap !important; font-size: .94rem !important; }
.edm-class-option.is-disabled { opacity: .5 !important; background: var(--edm-ui-soft) !important; cursor: not-allowed !important; }
.edm-class-option.is-disabled:hover { border-color: var(--edm-ui-border) !important; background: var(--edm-ui-soft) !important; }

.edm-fee-preview { display: grid !important; gap: 8px !important; max-width: 760px !important; padding: 16px !important; border: 1px solid var(--edm-ui-border) !important; border-radius: 10px !important; background: var(--edm-ui-soft) !important; }
.edm-fee-preview > div { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; }
.edm-fee-preview span { color: var(--edm-ui-muted) !important; }
.edm-fee-preview .edm-fee-total { margin-top: 3px !important; padding-top: 10px !important; border-top: 1px solid var(--edm-ui-border) !important; }
.edm-fee-preview .edm-fee-total strong { font-size: 1.12rem !important; }
.edm-additional-discount-note { max-width: 760px !important; margin: -6px 0 0 !important; color: var(--edm-ui-muted) !important; font-size: .84rem !important; }
.edm-saved-proof-options { display: grid !important; gap: 10px !important; }
.edm-upload-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
.edm-upload-field { display: grid !important; gap: 7px !important; margin: 0 !important; padding: 14px !important; border: 1px solid var(--edm-ui-border) !important; border-radius: 10px !important; background: var(--edm-ui-soft) !important; font-size: .88rem !important; font-weight: 700 !important; }
.edm-upload-field small { color: var(--edm-ui-muted) !important; font-weight: 400 !important; }
.edm-upload-field input[type=file] { min-height: 46px !important; padding: 7px !important; background: #fff !important; }
.edm-registration-review { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 12px !important; }
.edm-review-block { padding: 15px !important; border: 1px solid var(--edm-ui-border) !important; border-radius: 10px !important; background: var(--edm-ui-soft) !important; }
.edm-review-block:last-child { grid-column: 1/-1 !important; }
.edm-review-block h4 { margin: 0 0 10px !important; font-size: 1rem !important; }
.edm-review-block dl { display: grid !important; gap: 7px !important; margin: 0 !important; }
.edm-review-block dl > div { display: grid !important; grid-template-columns: minmax(110px,.4fr) minmax(0,1fr) !important; gap: 10px !important; }
.edm-review-block dt { color: var(--edm-ui-muted) !important; }
.edm-review-block dd { margin: 0 !important; font-weight: 650 !important; overflow-wrap: anywhere !important; }
.edm-review-block p { margin: 0 !important; overflow-wrap: anywhere !important; }
.edm-review-total { padding: 16px !important; border: 1px solid #cfe4d4 !important; border-radius: 10px !important; background: var(--edm-ui-success-bg) !important; }
.edm-review-total > div { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; }
.edm-review-total strong { font-size: 1.18rem !important; }
.edm-review-total small { display: block !important; margin-top: 7px !important; color: var(--edm-ui-text-soft) !important; }
.edm-account-save-note { padding: 14px !important; border: 1px solid #cfe4d4 !important; border-radius: 10px !important; background: var(--edm-ui-success-bg) !important; }
.edm-account-save-note span { display: block !important; margin-top: 3px !important; color: var(--edm-ui-muted) !important; }
.edm-terms-details { overflow: hidden !important; border: 1px solid var(--edm-ui-border) !important; border-radius: 10px !important; background: #fff !important; }
.edm-terms-details summary { padding: 12px 14px !important; cursor: pointer !important; font-weight: 700 !important; }
.edm-terms-details > div { padding: 0 14px 14px !important; color: var(--edm-ui-text-soft) !important; }

.edm-wizard-actions { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; margin: 24px -28px 0 !important; padding: 16px 28px !important; border-top: 1px solid var(--edm-ui-border) !important; background: var(--edm-ui-soft) !important; }
.edm-wizard-actions > :only-child { margin-left: auto !important; }
.edm-wizard-only { display: none !important; }
.edm-clubshow-registration-form.edm-wizard-active .edm-wizard-only { display: inline-flex !important; }

/* Confirmation replaces the form after a completed registration. */
.edm-registration-confirmation { display: grid !important; grid-template-columns: 54px minmax(0,1fr) !important; gap: 18px !important; margin-top: 14px !important; padding: 24px !important; border: 1px solid #cfe4d4 !important; border-radius: var(--edm-ui-radius) !important; background: #fff !important; box-shadow: var(--edm-ui-shadow) !important; }
.edm-confirmation-icon { display: grid !important; place-items: center !important; width: 54px !important; height: 54px !important; border-radius: 999px !important; background: var(--edm-ui-success-bg) !important; color: var(--edm-ui-success) !important; font-size: 1.5rem !important; font-weight: 850 !important; }
.edm-confirmation-copy h3 { margin: 5px 0 5px !important; font-size: 1.45rem !important; }
.edm-confirmation-copy p { margin: 0 !important; color: var(--edm-ui-muted) !important; }
.edm-confirmation-summary { grid-column: 1/-1 !important; display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 10px !important; margin-top: 4px !important; }
.edm-confirmation-summary > div { display: grid !important; gap: 3px !important; padding: 12px !important; border: 1px solid var(--edm-ui-border) !important; border-radius: 10px !important; background: var(--edm-ui-soft) !important; }
.edm-confirmation-summary span { color: var(--edm-ui-muted) !important; font-size: .76rem !important; }
.edm-confirmation-status.is-paid { color: var(--edm-ui-success) !important; }
.edm-confirmation-status.is-pending { color: var(--edm-ui-warning) !important; }
.edm-confirmation-note, .edm-confirmation-reference, .edm-confirmation-actions { grid-column: 1/-1 !important; margin: 0 !important; }
.edm-confirmation-note { color: var(--edm-ui-muted) !important; }
.edm-confirmation-reference { display: flex !important; flex-wrap: wrap !important; gap: 8px 12px !important; align-items: center !important; padding-top: 12px !important; border-top: 1px solid var(--edm-ui-border) !important; color: var(--edm-ui-muted) !important; font-size: .82rem !important; }
.edm-confirmation-reference code { padding: 3px 7px !important; border-radius: 6px !important; background: var(--edm-ui-soft) !important; color: var(--edm-ui-text) !important; font-size: .78rem !important; overflow-wrap: anywhere !important; }
.edm-confirmation-actions { display: flex !important; justify-content: flex-end !important; padding-top: 4px !important; }

/* Exhibitor account */
.edm-exhibitor-account { padding: 6px 0 34px !important; }
.edm-account-header { margin: 0 0 16px !important; padding: 22px !important; border: 1px solid var(--edm-ui-border) !important; border-left: 4px solid var(--edm-ui-accent) !important; border-radius: var(--edm-ui-radius) !important; background: #fff !important; box-shadow: var(--edm-ui-shadow) !important; }
.edm-account-header h2 { margin: 5px 0 5px !important; font-size: clamp(1.6rem,3vw,2.1rem) !important; }
.edm-account-header p { margin: 0 !important; color: var(--edm-ui-muted) !important; }
.edm-account-login-card, .edm-account-card, .edm-my-show-card { border: 1px solid var(--edm-ui-border) !important; border-radius: var(--edm-ui-radius) !important; background: #fff !important; box-shadow: none !important; }
.edm-account-login-card { max-width: 760px !important; padding: 20px !important; }
.edm-account-login-card h3 { margin: 0 0 5px !important; }
.edm-account-login-card > p { color: var(--edm-ui-muted) !important; }
.edm-account-session { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; margin: 0 0 14px !important; padding: 12px 14px !important; border: 1px solid var(--edm-ui-border) !important; border-radius: 10px !important; background: var(--edm-ui-soft) !important; }
.edm-account-session a { color: var(--edm-ui-accent) !important; font-weight: 700 !important; }
.edm-account-tabs { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 7px !important; margin: 0 0 14px !important; padding: 7px !important; border: 1px solid var(--edm-ui-border) !important; border-radius: var(--edm-ui-radius) !important; background: var(--edm-ui-soft) !important; }
.edm-account-tabs button { appearance: none !important; min-height: 44px !important; margin: 0 !important; padding: 8px 12px !important; border: 0 !important; border-radius: 9px !important; background: transparent !important; color: var(--edm-ui-muted) !important; font: inherit !important; font-weight: 700 !important; box-shadow: none !important; cursor: pointer !important; }
.edm-account-tabs button.is-active { background: #fff !important; color: var(--edm-ui-text) !important; box-shadow: 0 1px 3px rgba(45,41,37,.07) !important; }
.edm-account-panel { display: none !important; }
.edm-account-panel.is-active { display: block !important; }
.edm-account-card { padding: 20px !important; }
.edm-account-card h3, .edm-account-card h4 { margin-top: 0 !important; }
.edm-account-actions { display: flex !important; justify-content: flex-end !important; margin-top: 18px !important; padding-top: 16px !important; border-top: 1px solid var(--edm-ui-border) !important; }
.edm-account-dogs { display: grid !important; gap: 14px !important; }
.edm-dog-documents { margin-top: 18px !important; padding-top: 16px !important; border-top: 1px solid var(--edm-ui-border) !important; }
.edm-dog-documents h5 { margin: 0 0 12px !important; }
.edm-account-delete { display: inline-block !important; margin-top: 12px !important; color: var(--edm-ui-danger) !important; font-size: .86rem !important; font-weight: 700 !important; }
.edm-account-section-head { margin: 0 0 12px !important; }
.edm-account-section-head h3 { margin: 0 0 3px !important; }
.edm-account-section-head p { margin: 0 !important; color: var(--edm-ui-muted) !important; }
.edm-my-shows-list { display: grid !important; gap: 10px !important; }
.edm-my-show-card { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 18px !important; padding: 16px !important; }
.edm-my-show-card h4 { margin: 3px 0 3px !important; }
.edm-my-show-card p { margin: 0 !important; color: var(--edm-ui-muted) !important; }
.edm-my-show-status { display: grid !important; justify-items: end !important; gap: 5px !important; text-align: right !important; }
.edm-account-member-check { align-self: end !important; }

@media (max-width: 980px) {
    .edm-show-hero, .edm-show-content-grid { grid-template-columns: 1fr !important; }
    .edm-show-hero-action { border-left: 0 !important; border-top: 1px solid var(--edm-ui-border) !important; }
    .edm-show-sidebar { position: static !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    .edm-registration-step { padding-inline: 7px !important; }
    .edm-registration-step small { display: none !important; }
    .edm-class-options { grid-template-columns: 1fr !important; }
    .edm-upload-grid { grid-template-columns: 1fr !important; }
    .edm-confirmation-summary { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 782px) {
    .edm-public-ui { font-size: 15px !important; }
    .edm-clubshows-portal .edm-clubshow-public-card { grid-template-columns: 68px minmax(0,1fr) !important; }
    .edm-clubshow-date-tile { width: 68px !important; height: 76px !important; }
    .edm-clubshow-public-action { grid-column: 1/-1 !important; justify-content: flex-end !important; padding-top: 10px !important; border-top: 1px solid var(--edm-ui-border) !important; }
    .edm-show-judge-grid, .edm-show-sidebar { grid-template-columns: 1fr !important; }
    .edm-show-sidebar { display: grid !important; }
    .edm-registration-hero { grid-template-columns: 1fr !important; padding: 18px !important; }
    .edm-registration-shell .edm-clubshow-deadline { text-align: left !important; }
    .edm-registration-steps { display: none !important; }
    .edm-registration-mobile-progress { display: block !important; }
    .edm-clubshow-step { padding: 20px 18px 0 !important; }
    .edm-form-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
    .edm-membership-panel { grid-template-columns: 1fr !important; }
    .edm-registration-review { grid-template-columns: 1fr !important; }
    .edm-review-block:last-child { grid-column: auto !important; }
    .edm-wizard-actions { margin: 22px -18px 0 !important; padding: 14px 18px !important; }
    .edm-wizard-actions .edm-wizard-button, .edm-wizard-actions .edm-submit-button { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; }
    .edm-account-tabs { grid-template-columns: 1fr !important; }
    .edm-my-show-card { align-items: flex-start !important; }
}
@media (max-width: 520px) {
    .edm-clubshows-portal .edm-clubshow-public-card { grid-template-columns: 1fr !important; }
    .edm-clubshow-date-tile { width: 100% !important; height: auto !important; min-height: 64px !important; grid-template-columns: auto auto auto !important; gap: 5px !important; justify-content: start !important; padding: 10px 12px !important; }
    .edm-clubshow-public-action { grid-column: auto !important; }
    .edm-show-hero-main, .edm-show-hero-action, .edm-show-section, .edm-show-side-card { padding: 17px !important; }
    .edm-show-class { align-items: flex-start !important; }
    .edm-show-class-fee { padding-top: 2px !important; }
    .edm-registration-account.is-logged-in, .edm-account-session, .edm-my-show-card { display: grid !important; }
    .edm-clubshow-step { padding: 18px 15px 0 !important; }
    .edm-class-option { grid-template-columns: 20px minmax(0,1fr) !important; }
    .edm-class-option-fee { grid-column: 2 !important; }
    .edm-wizard-actions { margin: 20px -15px 0 !important; padding: 13px 15px !important; }
    .edm-wizard-actions { flex-direction: column-reverse !important; align-items: stretch !important; }
    .edm-wizard-actions > :only-child { margin-left: 0 !important; }
    .edm-wizard-actions .edm-wizard-button, .edm-wizard-actions .edm-submit-button { width: 100% !important; }
    .edm-confirmation-summary { grid-template-columns: 1fr !important; }
    .edm-registration-confirmation { grid-template-columns: 1fr !important; padding: 18px !important; }
    .edm-confirmation-actions .edm-primary-button { width: 100% !important; }
}

/* Full-width theme integration only on EDM Clubshow portal pages. */
body.edm-has-clubshow-portal .site-content,
body.edm-has-clubshow-portal #content,
body.edm-has-clubshow-portal #primary,
body.edm-has-clubshow-portal .content-area,
body.edm-has-clubshow-portal .container,
body.edm-has-clubshow-portal .entry-content,
body.edm-has-clubshow-portal .hentry,
body.edm-has-clubshow-portal article.page {
    width: 100% !important;
    max-width: none !important;
}
.edm-class-option.is-selected { border-color: var(--edm-ui-accent) !important; background: #fff8f1 !important; box-shadow: 0 0 0 1px var(--edm-ui-accent) inset !important; }

@media (max-width: 782px) {
    .edm-show-mobile-cta {
        position: sticky !important;
        bottom: 10px !important;
        z-index: 20 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        margin: 16px 0 0 !important;
        padding: 10px 11px 10px 14px !important;
        border: 1px solid var(--edm-ui-border) !important;
        border-radius: var(--edm-ui-radius) !important;
        background: rgba(255,255,255,.96) !important;
        box-shadow: 0 10px 28px rgba(45,41,37,.13) !important;
        backdrop-filter: blur(8px) !important;
    }
    .edm-show-mobile-cta > div { display: grid !important; min-width: 0 !important; }
    .edm-show-mobile-cta small { color: var(--edm-ui-success) !important; font-size: .7rem !important; font-weight: 800 !important; }
    .edm-show-mobile-cta strong { overflow: hidden !important; font-size: .84rem !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
    .edm-show-mobile-cta .edm-primary-button { width: auto !important; min-width: 110px !important; min-height: 42px !important; padding: 9px 13px !important; }
}
.edm-dog-account-card.is-new { border-style: dashed !important; background: #fffdfb !important; }
.edm-account-help { margin: 14px 0 0 !important; color: var(--edm-ui-muted) !important; font-size: .86rem !important; }
