/* Academy94 ProfilePress presentation layer.
 * ProfilePress retains authentication, validation and data storage.
 */
.a94pp,
.a94pp *,
.a94pp *::before,
.a94pp *::after {
    box-sizing: border-box;
}

.a94pp {
    --a94pp-accent: #ff6600;
    --a94pp-card-padding: 0px;
    --a94pp-inner-gutter: 30px;
    --a94pp-text: #ffffff;
    --a94pp-muted: rgba(255, 255, 255, 0.66);
    --a94pp-border: rgba(255, 255, 255, 0.12);
    --a94pp-field-gap: 18px;
    --a94pp-label-colour: #ffffff;
    --a94pp-field-background: #171717;
    --a94pp-field-text: #ffffff;
    --a94pp-placeholder: rgba(255, 255, 255, 0.42);
    --a94pp-field-border: rgba(255, 255, 255, 0.14);
    --a94pp-field-focus: #ff6600;
    --a94pp-field-height: 54px;
    --a94pp-field-padding: 14px 16px;
    --a94pp-field-radius: 12px;
    --a94pp-button-bg: #ff6600;
    --a94pp-button-text: #ffffff;
    --a94pp-button-hover-bg: #ff7a1a;
    --a94pp-button-hover-text: #ffffff;
    --a94pp-button-padding: 15px 22px;
    --a94pp-button-radius: 12px;
    position: relative;
    width: 100%;
    color: var(--a94pp-text);
    font: inherit;
    isolation: isolate;
}

.a94pp__card {
    position: relative;
    width: 100%;
    margin-inline: auto;
    overflow: visible;
}

.a94pp__header {
    text-align: left;
}

.a94pp__eyebrow {
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.a94pp__title {
    margin: 0;
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.035em;
}

.a94pp__description {
    max-width: 680px;
    margin: 14px 0 0;
    font-size: 15px;
    line-height: 1.65;
}

.a94pp__form,
.a94pp__form > div,
.a94pp__form > section,
.a94pp__form > form {
    width: 100%;
    max-width: none;
}

/* Neutralise ProfilePress template shells without affecting its logic. */
.a94pp__form :where(
    .ppress-form,
    .pp-form-container,
    .ppress-form-container,
    .profilepress-form,
    .pp-form-wrapper,
    .ppress-form-wrapper,
    .ppress-form-widget,
    .ppress-edit-profile,
    .ppress-login-form,
    .ppress-reg-form
) {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: inherit;
}

.a94pp__form form,
.a94pp-preview {
    display: flex;
    flex-direction: column;
    gap: var(--a94pp-field-gap, 18px);
    width: 100%;
    margin: 0;
}

.a94pp__form form > :where(p, div, fieldset, section),
.a94pp-preview > :where(p, div, fieldset, section) {
    margin-top: 0;
    margin-bottom: 0;
}

.a94pp__form :where(fieldset) {
    min-width: 0;
    padding: 0;
    border: 0;
}

.a94pp__form :where(legend) {
    margin-bottom: 10px;
    color: inherit;
    font-weight: 700;
}

.a94pp__form label,
.a94pp-preview label {
    display: inline-block;
    margin: 0 0 8px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
}

.a94pp__form label:has(input[type="checkbox"], input[type="radio"]),
.a94pp-preview label:has(input[type="checkbox"], input[type="radio"]) {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    font-weight: 600;
    cursor: pointer;
}

.a94pp__form :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
    textarea,
    select
),
.a94pp-preview :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="button"]),
    textarea,
    select
) {
    display: block;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    border: 1px solid var(--a94pp-border);
    outline: 0;
    box-shadow: none;
    font: inherit;
    line-height: 1.3;
    appearance: none;
    transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.a94pp__form :where(input[type="file"]) {
    min-height: auto;
    padding: 12px;
    cursor: pointer;
}

.a94pp__form :where(input[type="file"])::file-selector-button {
    margin-right: 12px;
    padding: 9px 13px;
    border: 0;
    border-radius: 8px;
    background: var(--a94pp-accent);
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

.a94pp__form textarea,
.a94pp-preview textarea {
    min-height: 130px;
    resize: vertical;
}

.a94pp__form select {
    padding-right: 44px !important;
    background-image:
        linear-gradient(45deg, transparent 50%, currentColor 50%),
        linear-gradient(135deg, currentColor 50%, transparent 50%);
    background-position:
        calc(100% - 20px) calc(50% - 2px),
        calc(100% - 14px) calc(50% - 2px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
}

.a94pp__form :where(input[type="checkbox"], input[type="radio"]),
.a94pp-preview :where(input[type="checkbox"], input[type="radio"]) {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--a94pp-accent);
}

.a94pp__form :where(input, textarea, select):focus-visible,
.a94pp__footer-link:focus-visible,
.a94pp__state-button:focus-visible,
.a94pp-password-toggle:focus-visible {
    outline: 3px solid rgba(255, 102, 0, 0.34);
    outline-offset: 2px;
}

.a94pp__form :where(button:not(.a94pp-password-toggle), input[type="submit"], input[type="button"]),
.a94pp-preview > button,
.a94pp-preview__avatar > button,
.a94pp__state-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    min-height: 52px;
    margin: 0;
    border: 0;
    outline: 0;
    text-align: center;
    text-decoration: none;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: 0.02em;
    cursor: pointer;
    appearance: none;
    transition: transform 160ms ease, background-color 160ms ease, color 160ms ease, opacity 160ms ease;
}

.a94pp__form :where(button:not(.a94pp-password-toggle), input[type="submit"], input[type="button"]):hover,
.a94pp-preview > button:hover,
.a94pp-preview__avatar > button:hover,
.a94pp__state-button:hover {
    transform: translateY(-1px);
}

.a94pp__form form[aria-busy="true"] :where(button:not(.a94pp-password-toggle), input[type="submit"]),
.a94pp__form form.is-submitting :where(button:not(.a94pp-password-toggle), input[type="submit"]) {
    pointer-events: none;
    opacity: 0.72;
}

.a94pp__form form.is-submitting :where(button:not(.a94pp-password-toggle), input[type="submit"]) {
    cursor: wait;
}

/* ProfilePress's remember-me and auxiliary links often share one row. */
.a94pp__form :where(
    .ppress-remember-me,
    .ppress-login-form__remember,
    .pp-form-remember-me,
    .ppress-form-bottom,
    .ppress-form-links,
    .profilepress-login-status,
    .ppress-login-status
) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px 18px;
}

.a94pp__form a,
.a94pp__footer-link {
    text-decoration: none;
    font-weight: 700;
    transition: color 160ms ease, opacity 160ms ease;
}

.a94pp__form a:hover,
.a94pp__footer-link:hover {
    text-decoration: none;
}

.a94pp__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: 30px;
    padding-top: 22px;
    border-top: 1px solid;
    font-size: 13px;
    line-height: 1.5;
}

.a94pp__footer-links {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 18px;
}

.a94pp__footer-links > a + a {
    position: relative;
    padding-left: 18px;
}

.a94pp__footer-links > a + a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.42;
    transform: translateY(-50%);
}

.a94pp__state {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 28px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.035);
}

.a94pp__state-icon {
    display: inline-grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 50%;
    background: rgba(255, 102, 0, 0.12);
    color: var(--a94pp-accent);
}

.a94pp__state-icon svg {
    width: 24px;
    height: 24px;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.a94pp__state h3 {
    margin: 2px 0 0;
    color: #fff;
    font-size: 22px;
    line-height: 1.2;
}

.a94pp__state p {
    margin: 0 0 4px;
    color: var(--a94pp-muted);
    line-height: 1.6;
}

.a94pp__state-button {
    width: auto;
    min-width: 190px;
    padding: var(--a94pp-button-padding, 15px 22px);
    border-radius: var(--a94pp-button-radius, 12px);
    background: var(--a94pp-button-bg, #ff6600) !important;
    color: var(--a94pp-button-text, #fff) !important;
}

.a94pp__state-button:hover,
.a94pp__state-button:focus-visible,
.a94pp__state-button:visited {
    background: var(--a94pp-button-hover-bg, #ff7a1a) !important;
    color: var(--a94pp-button-hover-text, #fff) !important;
}

.a94pp__dependency-notice,
.a94pp__form :where(
    .ppress-error,
    .profilepress-error,
    .pp-form-error,
    .ppress-alert-error,
    .ppress-success,
    .profilepress-success,
    .pp-form-success,
    .ppress-alert-success,
    .ppress-alert,
    .ppress-notice,
    .error,
    .success
) {
    width: 100%;
    margin: 0 0 16px;
    padding: 13px 15px;
    border: 1px solid currentColor;
    border-radius: 10px;
    font-size: 13px;
    line-height: 1.55;
}

.a94pp__dependency-notice {
    background: rgba(255, 176, 32, 0.12);
    color: #ffd17a;
}

/* Password controls are added only when ProfilePress has not supplied one. */
.a94pp-password-field {
    position: relative;
    display: block;
    width: 100%;
}

.a94pp-password-field > input[type="password"],
.a94pp-password-field > input[type="text"].a94pp-password-input {
    padding-right: 52px !important;
}

.a94pp-password-toggle {
    position: absolute !important;
    top: 50%;
    right: 9px;
    z-index: 3;
    display: inline-grid !important;
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    place-items: center;
    border: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: rgba(255, 255, 255, 0.62) !important;
    box-shadow: none !important;
    transform: translateY(-50%) !important;
}

.a94pp-password-toggle:hover {
    background: rgba(255, 255, 255, 0.07) !important;
    color: var(--a94pp-button-text, #fff) !important;
}

.a94pp-password-toggle svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Elementor-safe visual previews. */
.a94pp-preview__field {
    min-width: 0;
}

.a94pp-preview__columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--a94pp-field-gap, 18px);
}

.a94pp-preview__inline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 13px;
}

.a94pp-preview__inline a {
    color: var(--a94pp-accent);
    text-decoration: none;
    font-weight: 700;
}

.a94pp-preview__avatar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
}

.a94pp-preview__avatar > span {
    display: inline-grid;
    width: 92px;
    height: 92px;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(135deg, #ff6600, #9e3500);
    color: #fff;
    font-size: 24px;
    font-weight: 800;
}

.a94pp-preview__avatar > button {
    width: auto;
    min-height: 44px;
}

/* User profile output: broad, scoped treatment to handle ProfilePress templates. */
.a94pp--user-profile .a94pp__form :where(
    .ppress-user-profile,
    .ppress-profile,
    .pp-user-profile,
    .profilepress-user-profile,
    .ppress-profile-wrap,
    .ppress-profile-container
) {
    width: 100%;
    max-width: none;
    margin: 0;
    color: inherit;
}

.a94pp--user-profile .a94pp__form :where(
    .ppress-profile-cover,
    .pp-user-cover-image,
    .profile-cover,
    .ppress-cover-image
) {
    display: block;
    width: 100%;
    overflow: hidden;
    border-radius: 16px;
    background: #171717;
    background-position: center;
    background-size: cover;
}

.a94pp--user-profile .a94pp__form :where(
    .ppress-avatar,
    .pp-user-avatar,
    .profilepress-avatar,
    img.avatar
),
.a94pp--edit-profile .a94pp__form :where(
    .ppress-avatar,
    .pp-user-avatar,
    .profilepress-avatar,
    img.avatar
) {
    display: block;
    max-width: 100%;
    border: 4px solid #0d0d0d;
    background: #202020;
    box-shadow: none;
}

.a94pp--user-profile .a94pp__form :where(h1, h2, h3, h4, p) {
    margin-top: 0;
}

.a94pp--user-profile .a94pp__form :where(ul, ol) {
    margin: 0;
    padding-left: 20px;
}

.a94pp-profile-preview {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 16px;
    background: #121212;
}

.a94pp-profile-preview__cover {
    min-height: 200px;
    background:
        radial-gradient(circle at 75% 20%, rgba(255, 102, 0, 0.36), transparent 35%),
        linear-gradient(135deg, #262626, #080808);
}

.a94pp-profile-preview__body {
    position: relative;
    padding: 74px 28px 28px;
}

.a94pp-profile-preview__avatar {
    position: absolute;
    top: -58px;
    left: 28px;
    display: grid;
    width: 116px;
    height: 116px;
    place-items: center;
    border: 5px solid #121212;
    border-radius: 50%;
    background: linear-gradient(135deg, #ff6600, #6d2700);
    color: #fff;
    font-size: 28px;
    font-weight: 800;
}

.a94pp-profile-preview h3 {
    margin: 0 0 8px;
    color: #fff;
    font-size: 28px;
}

.a94pp-profile-preview p {
    margin: 0;
    color: var(--a94pp-muted);
}

.a94pp-profile-preview__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.a94pp-profile-preview__meta span {
    padding: 7px 10px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.04);
    color: rgba(255, 255, 255, 0.76);
    font-size: 12px;
    font-weight: 700;
}

@media (max-width: 767px) {
    .a94pp__card {
        max-width: 100%;
    }

    .a94pp__footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .a94pp__footer-links {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .a94pp__footer-links > a + a {
        padding-left: 0;
    }

    .a94pp__footer-links > a + a::before {
        display: none;
    }

    .a94pp-preview__columns {
        grid-template-columns: 1fr;
    }

    .a94pp__state {
        padding: 22px;
    }

    .a94pp__state-button {
        width: 100%;
    }

    .a94pp-profile-preview__cover {
        min-height: 150px;
    }

    .a94pp-profile-preview__body {
        padding: 62px 20px 22px;
    }

    .a94pp-profile-preview__avatar {
        left: 20px;
        width: 100px;
        height: 100px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .a94pp *,
    .a94pp *::before,
    .a94pp *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* -------------------------------------------------------------------------
 * Academy94 staged ProfilePress registration wizard
 * ---------------------------------------------------------------------- */
.a94pp-wizard {
    --a94pp-wizard-accent: var(--a94pp-accent, #ff6600);
    --a94pp-wizard-inactive: rgba(255, 255, 255, 0.16);
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 22px;
}

.a94pp-wizard__steps {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    gap: 0;
}

.a94pp-wizard__steps::before {
    content: "";
    position: absolute;
    top: 18px;
    right: calc(12.5% - 18px);
    left: calc(12.5% - 18px);
    z-index: 0;
    height: 2px;
    background: var(--a94pp-wizard-inactive);
}

.a94pp__form .a94pp-wizard__step,
.a94pp-preview .a94pp-wizard__step {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 9px;
    width: 100%;
    min-height: 0;
    padding: 0 8px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.48);
    box-shadow: none;
    font: inherit;
    cursor: default;
    transform: none;
}

.a94pp__form .a94pp-wizard__step:not(:disabled) {
    cursor: pointer;
}

.a94pp__form .a94pp-wizard__step:hover,
.a94pp-preview .a94pp-wizard__step:hover {
    background: transparent;
    color: rgba(255, 255, 255, 0.76);
    transform: none;
}

.a94pp-wizard__step-number {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 2px solid var(--a94pp-wizard-inactive);
    border-radius: 50%;
    background: #0d0d0d;
    color: rgba(255, 255, 255, 0.55);
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

.a94pp-wizard__step-label {
    max-width: 150px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: 0.06em;
    text-align: center;
    text-transform: uppercase;
}

.a94pp-wizard__step.is-active,
.a94pp-wizard__step.is-complete {
    color: #fff;
}

.a94pp-wizard__step.is-active .a94pp-wizard__step-number,
.a94pp-wizard__step.is-complete .a94pp-wizard__step-number {
    border-color: var(--a94pp-wizard-accent);
    background: var(--a94pp-wizard-accent);
    color: #fff;
}

.a94pp-wizard__step.is-complete .a94pp-wizard__step-number {
    font-size: 0;
}

.a94pp-wizard__step.is-complete .a94pp-wizard__step-number::after {
    content: "✓";
    font-size: 15px;
}

.a94pp-wizard__mobile-progress {
    display: none;
    align-items: flex-end;
    justify-content: space-between;
    gap: 14px;
}

.a94pp-wizard__mobile-progress span {
    color: rgba(255, 255, 255, 0.55);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.a94pp-wizard__mobile-progress strong {
    color: #fff;
    font-size: 14px;
}

.a94pp-wizard__progress {
    position: relative;
    display: none;
    width: 100%;
    height: 5px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--a94pp-wizard-inactive);
}

.a94pp-wizard__progress-fill {
    display: block;
    width: 25%;
    height: 100%;
    border-radius: inherit;
    background: var(--a94pp-wizard-accent);
    transition: width 220ms ease;
}

.a94pp-wizard__panels {
    width: 100%;
}

.a94pp-wizard__panel {
    width: 100%;
    padding: 28px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 16px;
    background: #111111;
}

.a94pp-wizard__panel[hidden] {
    display: none !important;
}

.a94pp-wizard__panel-header {
    margin-bottom: 24px;
}

.a94pp-wizard__panel-title {
    margin: 0;
    color: #fff;
    font-size: clamp(23px, 3vw, 32px);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.025em;
}

.a94pp-wizard__panel-description {
    max-width: 680px;
    margin: 9px 0 0;
    color: rgba(255, 255, 255, 0.62);
    font-size: 14px;
    line-height: 1.55;
}

.a94pp-wizard__fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    width: 100%;
    gap: var(--a94pp-field-gap, 18px);
}

.a94pp-wizard__field-unit {
    min-width: 0;
    margin: 0 !important;
}

.a94pp-wizard__field-unit--wide,
.a94pp-wizard__field-unit:has(textarea),
.a94pp-wizard__field-unit:has(input[type="file"]),
.a94pp-wizard__field-unit:has(.cf-turnstile) {
    grid-column: 1 / -1;
}

.a94pp-wizard__field-unit.is-invalid :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
    textarea,
    select
) {
    border-color: #ef5350 !important;
    box-shadow: 0 0 0 3px rgba(239, 83, 80, 0.14) !important;
}

.a94pp-wizard__field-error {
    margin-top: 7px;
    color: #ff8b88;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
}

.a94pp-wizard__terms-label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 11px !important;
    width: 100%;
    margin: 0 !important;
    cursor: pointer;
}

.a94pp-wizard__terms-label input {
    flex: 0 0 auto;
    margin-top: 2px !important;
}

.a94pp-wizard__terms-copy {
    color: rgba(255, 255, 255, 0.72);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.55;
}

.a94pp-wizard__terms-copy a {
    color: var(--a94pp-wizard-accent);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.a94pp-wizard__actions {
    display: grid;
    grid-template-columns: minmax(130px, auto) 1fr minmax(180px, auto);
    align-items: center;
    width: 100%;
    gap: 14px;
}

.a94pp__form .a94pp-wizard__button,
.a94pp-preview .a94pp-wizard__button,
.a94pp-wizard__submit > :where(button, input[type="submit"]) {
    width: auto;
    min-width: 170px;
    margin: 0;
}

.a94pp__form .a94pp-wizard__button--back,
.a94pp-preview .a94pp-wizard__button--back {
    grid-column: 1;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: transparent;
    color: #fff;
}

.a94pp__form .a94pp-wizard__button--back:hover,
.a94pp-preview .a94pp-wizard__button--back:hover {
    border-color: var(--a94pp-wizard-accent);
    background: rgba(255, 102, 0, 0.08);
    color: #fff;
}

.a94pp__form .a94pp-wizard__button--next,
.a94pp-preview .a94pp-wizard__button--next {
    grid-column: 3;
    justify-self: end;
    background: var(--a94pp-wizard-accent);
    color: #fff;
}

.a94pp-wizard__submit {
    grid-column: 3;
    justify-self: end;
}

.a94pp-wizard__submit[hidden],
.a94pp-wizard__actions > [hidden] {
    display: none !important;
}

.a94pp-wizard__submit-control {
    min-width: 220px !important;
}

.a94pp-wizard-form > :where(.ppress-error, .profilepress-error, .pp-form-error, .ppress-alert, .woocommerce-error) {
    margin-bottom: 18px;
}

.a94pp-preview--wizard {
    gap: 0;
}

.a94pp-wizard--preview .a94pp-preview__columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--a94pp-field-gap, 18px);
}

@media (max-width: 1024px) {
    .a94pp-wizard__steps {
        display: none;
    }

    .a94pp-wizard__mobile-progress,
    .a94pp-wizard__progress {
        display: flex;
    }

    .a94pp-wizard__fields,
    .a94pp-wizard--preview .a94pp-preview__columns {
        grid-template-columns: 1fr;
    }

    .a94pp-wizard__field-unit {
        grid-column: 1 !important;
    }
}

@media (max-width: 767px) {
    .a94pp-wizard {
        gap: 18px;
    }

    .a94pp-wizard__panel {
        padding: 20px;
        border-radius: 13px;
    }

    .a94pp-wizard__panel-header {
        margin-bottom: 20px;
    }

    .a94pp-wizard__actions {
        grid-template-columns: 1fr 1fr;
    }

    .a94pp__form .a94pp-wizard__button,
    .a94pp-preview .a94pp-wizard__button,
    .a94pp-wizard__submit,
    .a94pp-wizard__submit > :where(button, input[type="submit"]) {
        width: 100%;
        min-width: 0;
    }

    .a94pp__form .a94pp-wizard__button--back,
    .a94pp-preview .a94pp-wizard__button--back {
        grid-column: 1;
    }

    .a94pp__form .a94pp-wizard__button--next,
    .a94pp-preview .a94pp-wizard__button--next,
    .a94pp-wizard__submit {
        grid-column: 2;
        justify-self: stretch;
    }

    .a94pp-wizard__actions:has(.a94pp-wizard__button--back[hidden]) .a94pp-wizard__button--next {
        grid-column: 1 / -1;
    }

    .a94pp-wizard__submit-control {
        min-width: 0 !important;
    }
}

/* -------------------------------------------------------------------------
 * v4.47 simplified registration wizard
 * One understated progress line, open form layout and aligned actions.
 * ---------------------------------------------------------------------- */
.a94pp-wizard {
    gap: 18px;
}

.a94pp-wizard__steps,
.a94pp-wizard__mobile-progress {
    display: none !important;
}

.a94pp-wizard__progress {
    display: block !important;
    width: 100%;
    height: 4px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--a94pp-wizard-inactive);
}

.a94pp-wizard__progress-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--a94pp-wizard-accent);
}

/* Remove the extra card around each stage. */
.a94pp-wizard__panel {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.a94pp-wizard__panel-header {
    margin-bottom: 22px;
}

/* Keep navigation on the same left/right edges as the fields. */
.a94pp-wizard__actions {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    gap: 12px;
    margin-top: 2px;
}

.a94pp__form .a94pp-wizard__button,
.a94pp-preview .a94pp-wizard__button,
.a94pp-wizard__submit,
.a94pp-wizard__submit > :where(button, input[type="submit"]) {
    grid-column: auto !important;
    justify-self: auto !important;
    margin: 0 !important;
}

.a94pp__form .a94pp-wizard__button--back,
.a94pp-preview .a94pp-wizard__button--back {
    margin-right: auto !important;
}

.a94pp__form .a94pp-wizard__button--next,
.a94pp-preview .a94pp-wizard__button--next,
.a94pp-wizard__submit {
    margin-left: auto !important;
}

.a94pp-wizard__submit {
    align-items: center;
}

@media (max-width: 1024px) {
    .a94pp-wizard__progress {
        display: block !important;
    }
}

@media (max-width: 767px) {
    .a94pp-wizard {
        gap: 16px;
    }

    .a94pp-wizard__panel-header {
        margin-bottom: 18px;
    }

    .a94pp-wizard__actions {
        display: flex !important;
        grid-template-columns: none !important;
        gap: 10px;
    }

    .a94pp__form .a94pp-wizard__button,
    .a94pp-preview .a94pp-wizard__button,
    .a94pp-wizard__submit,
    .a94pp-wizard__submit > :where(button, input[type="submit"]) {
        width: auto;
        min-width: 0;
        flex: 1 1 0;
    }

    .a94pp-wizard__actions:has(.a94pp-wizard__button--back[hidden]) .a94pp-wizard__button--next {
        width: 100%;
        flex-basis: 100%;
    }
}


/* -------------------------------------------------------------------------
 * v4.55 ProfilePress engine-only presentation hardening
 *
 * ProfilePress can output a complete themed form (including its own headings,
 * social buttons, shell colours and width rules). Inside Academy94 widgets the
 * native form remains the submission engine, but its visual chrome is removed
 * and the real controls are re-homed into the Academy94 interface.
 * ---------------------------------------------------------------------- */
.a94pp .a94pp-native-chrome,
.a94pp .a94pp-native-leftover,
.a94pp .a94pp-footer-link--mirrored {
    display: none !important;
}

.a94pp__form :is(
    [id^="pp-"][id$="-wrap"],
    [id^="pp-login-"],
    [id^="pp-registration-"],
    [id^="pp-password-reset-"],
    [id^="pp-password_reset-"],
    .a94pp-native-shell,
    .perfecto,
    .bash,
    .pp_pinnacle,
    .loginContainer,
    .smiley1
) {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

.a94pp__form :is(
    .perfecto-heading,
    .perfecto-or,
    .perfecto-orText,
    .perfecto-orStroke,
    .pp-button-social-login,
    .ppress-social-login,
    .pp-social-login,
    .ppress-social-buttons,
    .ppress-form-social-login,
    .profilepress-social-login,
    [class*="social-login"],
    [class*="social_login"]
) {
    display: none !important;
}

.a94pp__form form.a94pp-form-adapted {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-family: inherit !important;
}

.a94pp__form form.a94pp-form-adapted > .a94pp-simple-form,
.a94pp__form form.a94pp-form-adapted > .a94pp-wizard {
    display: flex !important;
}

.a94pp-simple-form {
    flex-direction: column;
    width: 100%;
    gap: var(--a94pp-field-gap, 18px);
}

.a94pp-simple-form__fields {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: var(--a94pp-field-gap, 18px);
}

/* Password recovery uses ProfilePress for both display and server-side
 * Turnstile validation. Keep the asynchronous Cloudflare widget visible after
 * the native form controls are moved into the Academy94 layout. */
.a94pp__form .a94pp-simple-form__field-unit--turnstile {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 7px !important;
    min-height: 104px !important;
    overflow: visible !important;
}

.a94pp__form .a94pp-turnstile-label {
    display: block !important;
    color: var(--a94pp-label-colour, #fff) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
}

.a94pp__form .a94pp-turnstile-help {
    display: block !important;
    margin: -2px 0 3px !important;
    color: var(--a94pp-muted, rgba(255, 255, 255, 0.58)) !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
}

.a94pp__form .a94pp-simple-form__field-unit--turnstile :is(.pp-cf-turnstile, .cf-turnstile) {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 65px !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
}

.a94pp__form .a94pp-simple-form__field-unit--turnstile iframe[src*="challenges.cloudflare.com"] {
    display: block !important;
    max-width: 100% !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.a94pp-simple-form__field-unit,
.a94pp-wizard__field-unit {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: inherit !important;
    font-family: inherit !important;
}

.a94pp__form .a94pp-simple-form__field-unit :is(.pp-form-label-wrap, .pp-form-field-wrap),
.a94pp__form .a94pp-wizard__field-unit :is(.pp-form-label-wrap, .pp-form-field-wrap) {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.a94pp__form .a94pp-simple-form__field-unit :is(label, .pp-form-label),
.a94pp__form .a94pp-wizard__field-unit :is(label, .pp-form-label) {
    display: inline-block !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    color: var(--a94pp-label-colour, #fff) !important;
    background: transparent !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-align: left !important;
}

.a94pp__form .a94pp-simple-form__field-unit :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
    textarea,
    select
),
.a94pp__form .a94pp-wizard__field-unit :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
    textarea,
    select
) {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    border-style: solid !important;
    border-width: 1px !important;
    border-color: var(--a94pp-field-border, rgba(255, 255, 255, 0.14)) !important;
    background: var(--a94pp-field-background, #171717) !important;
    background-image: none !important;
    color: var(--a94pp-field-text, #fff) !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: 1.3 !important;
    text-align: left !important;
    appearance: none !important;
    min-height: var(--a94pp-field-height, 54px) !important;
    padding: var(--a94pp-field-padding, 14px 16px) !important;
    border-radius: var(--a94pp-field-radius, 12px) !important;
}

.a94pp__form .a94pp-simple-form__field-unit :is(input, textarea)::placeholder,
.a94pp__form .a94pp-wizard__field-unit :is(input, textarea)::placeholder {
    color: var(--a94pp-placeholder, rgba(255, 255, 255, 0.42)) !important;
    opacity: 1 !important;
}

.a94pp__form .a94pp-simple-form__field-unit :is(input, textarea, select):focus,
.a94pp__form .a94pp-wizard__field-unit :is(input, textarea, select):focus {
    border-color: var(--a94pp-field-focus, #ff6600) !important;
    outline: 0 !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--a94pp-field-focus, #ff6600) 20%, transparent) !important;
}

.a94pp-simple-form__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px 18px;
    width: 100%;
}

.a94pp-simple-form__meta .a94pp-simple-form__field-unit {
    width: auto !important;
}

.a94pp-simple-form__meta .a94pp-simple-form__field-unit :is(label, .pp-form-label) {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    margin: 0 !important;
}

.a94pp-simple-form__forgot {
    color: var(--a94pp-accent, #ff6600) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.a94pp__form .a94pp-simple-form__submit,
.a94pp__form .a94pp-wizard__submit-control {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 52px !important;
    margin: 0 !important;
    border: 0 !important;
    background: var(--a94pp-button-bg, #ff6600) !important;
    background-image: none !important;
    color: var(--a94pp-button-text, #fff) !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    appearance: none !important;
    padding: var(--a94pp-button-padding, 15px 22px) !important;
    border-radius: var(--a94pp-button-radius, 12px) !important;
}

.a94pp__form .a94pp-simple-form__submit:hover,
.a94pp__form .a94pp-wizard__submit-control:hover {
    filter: none !important;
    background: var(--a94pp-button-hover-bg, #ff7a1a) !important;
    color: var(--a94pp-button-hover-text, #fff) !important;
}

/* Registration must show only the Academy94 wizard and genuine notices. */
.a94pp--registration .a94pp__form form.a94pp-form-adapted--wizard > .a94pp-native-leftover,
.a94pp--registration .a94pp__form form.a94pp-form-adapted--wizard > :not(.a94pp-wizard):not(input[type="hidden"]):not(.profilepress-reg-status):not(.ppress-error):not(.profilepress-error):not(.pp-form-error):not(.ppress-alert):not(.woocommerce-error) {
    display: none !important;
}

.a94pp--registration .a94pp__form .a94pp-wizard {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

/* ProfilePress premium themes use very specific ID selectors. This final layer
 * deliberately wins without requiring users to edit the ProfilePress theme. */
.a94pp__form div[id^="pp-"] * {
    font-family: inherit !important;
}

.a94pp__form div[id^="pp-"] :is(.perfecto-heading, .perfecto-or, a.pp-button-social-login) {
    display: none !important;
}

@media (max-width: 767px) {
    .a94pp-simple-form__meta {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* -------------------------------------------------------------------------
 * v4.56 deterministic ProfilePress form rendering
 *
 * The previous engine-only pass depended on JavaScript moving every native
 * ProfilePress row before the Academy94 styling could take effect. If the
 * premium theme rendered a slightly different wrapper, the live form could
 * be left with unboxed placeholders or a narrow submit button. This layer
 * styles the genuine ProfilePress form in place first. JavaScript now adds
 * labels and the login meta row only; it no longer relocates the main fields.
 * ---------------------------------------------------------------------- */
.a94pp__form form,
.a94pp__form form > :is(.perfecto, .pp_pinnacle, .bash, .smiley1, [id^="pp-"]) {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    gap: var(--a94pp-field-gap, 18px) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: inherit !important;
    font-family: inherit !important;
}

.a94pp__form form > :is(.perfecto, .pp_pinnacle, .bash, .smiley1, [id^="pp-"]) > :not(.a94pp-native-chrome) {
    max-width: none !important;
}

.a94pp__form form :is(.perfecto-heading, .perfecto-or, .perfecto-orText, .perfecto-orStroke),
.a94pp__form form :is(.pp-button-social-login, .ppress-social-login, .pp-social-login, .ppress-social-buttons, .ppress-form-social-login, .profilepress-social-login),
.a94pp__form form [class*="social-login"],
.a94pp__form form [class*="social_login"] {
    display: none !important;
}

.a94pp__form form .pp-form-field-wrap,
.a94pp__form form .ppress-form-field,
.a94pp__form form .pp-form-field,
.a94pp__form form .ppress-form-row,
.a94pp__form form .ppress-dpf-field,
.a94pp__form form .pp-form-group,
.a94pp__form form .profilepress-form-field,
.a94pp__form form .a94pp-simple-form__field-unit {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: inherit !important;
    font-family: inherit !important;
    text-align: left !important;
}

.a94pp__form form .pp-form-label-wrap,
.a94pp__form form .pp-form-field-wrap > .pp-form-label-wrap {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
    text-align: left !important;
}

.a94pp__form form :is(.pp-form-label, .a94pp-generated-label),
.a94pp__form form .pp-form-label-wrap label,
.a94pp__form form .pp-form-field-wrap > label:not(:has(input[type="checkbox"], input[type="radio"])) {
    display: inline-block !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--a94pp-label-colour, #fff) !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-transform: none !important;
}

.a94pp__form form :is(
    input.pp-form-field:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
    input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
    textarea.pp-form-field,
    textarea,
    select.pp-form-field,
    select
) {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: var(--a94pp-field-height, 54px) !important;
    margin: 0 !important;
    padding: var(--a94pp-field-padding, 14px 16px) !important;
    border-style: solid !important;
    border-width: 1px !important;
    border-color: var(--a94pp-field-border, rgba(255, 255, 255, 0.14)) !important;
    border-radius: var(--a94pp-field-radius, 12px) !important;
    outline: 0 !important;
    background: var(--a94pp-field-background, #171717) !important;
    background-image: none !important;
    color: var(--a94pp-field-text, #fff) !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-indent: 0 !important;
    appearance: none !important;
}

.a94pp__form form :is(input, textarea)::placeholder {
    color: var(--a94pp-placeholder, rgba(255, 255, 255, 0.42)) !important;
    opacity: 1 !important;
}

.a94pp__form form :is(input, textarea, select):focus {
    border-color: var(--a94pp-field-focus, #ff6600) !important;
    outline: 0 !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--a94pp-field-focus, #ff6600) 20%, transparent) !important;
}

.a94pp__form form input[type="file"].pp-form-field,
.a94pp__form form input[type="file"] {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-height: var(--a94pp-field-height, 54px) !important;
    margin: 0 !important;
    padding: 10px !important;
    border: 1px solid var(--a94pp-field-border, rgba(255, 255, 255, 0.14)) !important;
    border-radius: var(--a94pp-field-radius, 12px) !important;
    background: var(--a94pp-field-background, #171717) !important;
    color: var(--a94pp-field-text, #fff) !important;
    box-shadow: none !important;
}

.a94pp__form form :is(input.ppform-submit-button, button[type="submit"], input[type="submit"]),
.a94pp__form form .a94pp-simple-form__submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: var(--a94pp-button-padding, 15px 22px) !important;
    border: 0 !important;
    border-radius: var(--a94pp-button-radius, 12px) !important;
    outline: 0 !important;
    background: var(--a94pp-button-bg, #ff6600) !important;
    background-image: none !important;
    color: var(--a94pp-button-text, #fff) !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    cursor: pointer !important;
    appearance: none !important;
}

.a94pp__form form :is(input.ppform-submit-button, button[type="submit"], input[type="submit"]):hover,
.a94pp__form form .a94pp-simple-form__submit:hover {
    background: var(--a94pp-button-hover-bg, #ff7a1a) !important;
    color: var(--a94pp-button-hover-text, #fff) !important;
    transform: translateY(-1px) !important;
}

.a94pp__form form .a94pp-simple-form__meta {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    gap: 12px 18px !important;
    margin: 0 !important;
}

.a94pp__form form .a94pp-simple-form__remember,
.a94pp__form form .a94pp-simple-form__remember .pp-form-label-wrap {
    width: auto !important;
    margin: 0 !important;
}

.a94pp__form form .a94pp-simple-form__remember label,
.a94pp__form form .pp-form-field-wrap:has(input[type="checkbox"]) label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    margin: 0 !important;
    color: var(--a94pp-label-colour, #fff) !important;
    font-weight: 600 !important;
}

.a94pp__form form input[type="checkbox"],
.a94pp__form form input[type="radio"] {
    flex: 0 0 auto !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 3px !important;
    accent-color: var(--a94pp-accent, #ff6600) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Keep status messages in the Academy94 flow rather than inside a narrow
 * ProfilePress theme wrapper. */
.a94pp__form form :is(.profilepress-login-status, .profilepress-reg-status, .profilepress-reset-status, .ppress-error, .profilepress-error, .pp-form-error, .ppress-alert, .ppress-notice, .ppress-success, .profilepress-success, .pp-form-success) {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    border-radius: 10px !important;
    font-family: inherit !important;
}

@media (max-width: 767px) {
    .a94pp__form form .a94pp-simple-form__meta {
        align-items: flex-start !important;
        flex-direction: column !important;
    }
}

/* -------------------------------------------------------------------------
 * v4.57 live/editor parity and full-width form geometry
 *
 * ProfilePress premium templates can impose max-widths on several nested
 * wrappers. The Academy94 form layout is now the only visible layout on the
 * frontend; native ProfilePress wrappers remain solely as the submission
 * engine and cannot constrain the fields.
 * ---------------------------------------------------------------------- */
.a94pp__form,
.a94pp__form > *,
.a94pp__form form,
.a94pp__form form.a94pp-form-adapted,
.a94pp__form form > :is(.perfecto, .pp_pinnacle, .bash, .smiley1, [id^="pp-"]),
.a94pp__form :is(
    [id^="pp-login-"],
    [id^="pp-registration-"],
    [id^="pp-password-reset-"],
    [id^="pp-password_reset-"],
    .perfecto,
    .pp_pinnacle,
    .loginContainer,
    .loginContent,
    .bash,
    .smiley1,
    .ppress-form,
    .pp-form-container,
    .ppress-form-container,
    .profilepress-form,
    .pp-form-wrapper,
    .ppress-form-wrapper
) {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.a94pp__form :is(.loginContent, .perfecto, .pp_pinnacle, .loginContainer, .bash, .smiley1) {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.a94pp__form :is(
    .perfecto-heading,
    .perfecto-or,
    .perfecto-orText,
    .perfecto-orStroke,
    .loginTitle,
    .pp_pinnacle.loginTitle,
    .ppress-form-title,
    .ppress-form-heading,
    .a94pp-native-chrome,
    .a94pp-native-leftover
) {
    display: none !important;
}

.a94pp__form form.a94pp-form-adapted--simple {
    display: block !important;
}

.a94pp__form form.a94pp-form-adapted--simple > .a94pp-simple-form {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    flex-direction: column !important;
    gap: var(--a94pp-field-gap, 18px) !important;
    margin: 0 !important;
    padding: 0 !important;
}

.a94pp__form .a94pp-simple-form__fields,
.a94pp__form .a94pp-simple-form__field-unit,
.a94pp__form .a94pp-simple-form__field-unit > *,
.a94pp__form .a94pp-simple-form__field-unit .pp-form-field-wrap {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

.a94pp__form .a94pp-simple-form__fields {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--a94pp-field-gap, 18px) !important;
}

.a94pp__form .a94pp-simple-form__meta {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-direction: row !important;
    width: 100% !important;
    max-width: none !important;
    gap: 12px 18px !important;
}

.a94pp__form .a94pp-simple-form__meta .a94pp-simple-form__remember {
    width: auto !important;
    flex: 0 1 auto !important;
}

.a94pp__form .a94pp-simple-form__forgot {
    margin-left: auto !important;
    white-space: nowrap !important;
}

.a94pp__form form.a94pp-form-adapted--simple .a94pp-simple-form__submit {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

/* Never show ProfilePress's own registration/reset/login navigation below the
 * native engine. Academy94 supplies its own footer links outside the form. */
.a94pp__form form.a94pp-form-adapted--simple a:not(.a94pp-simple-form__forgot):not(.profilepress-login-status a):not(.profilepress-reset-status a),
.a94pp__form form.a94pp-form-adapted--simple hr,
.a94pp__form form.a94pp-form-adapted--simple br {
    display: none !important;
}

.a94pp--registration .a94pp__form,
.a94pp--registration .a94pp__form form,
.a94pp--registration .a94pp__form form > *,
.a94pp--registration .a94pp-wizard,
.a94pp--registration .a94pp-wizard__steps,
.a94pp--registration .a94pp-wizard__progress,
.a94pp--registration .a94pp-wizard__panels,
.a94pp--registration .a94pp-wizard__panel,
.a94pp--registration .a94pp-wizard__fields,
.a94pp--registration .a94pp-wizard__actions {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

.a94pp--registration .a94pp-wizard__fields {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: var(--a94pp-field-gap, 18px) !important;
}

.a94pp--registration .a94pp-wizard__field-unit,
.a94pp--registration .a94pp-wizard__field-unit > *,
.a94pp--registration .a94pp-wizard__field-unit .pp-form-field-wrap {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

.a94pp--registration .a94pp-wizard__field-unit--wide,
.a94pp--registration .a94pp-wizard__field-unit:has(textarea),
.a94pp--registration .a94pp-wizard__field-unit:has(input[type="file"]),
.a94pp--registration .a94pp-wizard__field-unit:has(.cf-turnstile) {
    grid-column: 1 / -1 !important;
}

/* Password visibility controls belong to their input only and can never be
 * interpreted as independent registration fields. */
.a94pp--registration .a94pp-wizard__fields > .a94pp-password-toggle,
.a94pp--registration .a94pp-wizard__fields > button[type="button"]:not(.a94pp-wizard__button) {
    display: none !important;
}

@media (max-width: 1024px) {
    .a94pp--registration .a94pp-wizard__fields {
        grid-template-columns: 1fr !important;
    }

    .a94pp--registration .a94pp-wizard__field-unit {
        grid-column: 1 !important;
    }
}

@media (max-width: 767px) {
    .a94pp__form .a94pp-simple-form__meta {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    .a94pp__form .a94pp-simple-form__forgot {
        margin-left: 0 !important;
    }
}


/* -------------------------------------------------------------------------
 * v4.58 login spacing and remember-label parity
 * ---------------------------------------------------------------------- */
.a94pp .a94pp__card {
    padding: var(--a94pp-card-padding, 30px) !important;
}

.a94pp__form form .a94pp-simple-form__remember {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    color: var(--a94pp-label-colour, #fff) !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
}

.a94pp__form form .a94pp-simple-form__remember label,
.a94pp__form form .a94pp-simple-form__remember .a94pp-remember-text {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--a94pp-label-colour, #fff) !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    text-indent: 0 !important;
}

@media (max-width: 767px) {
    .a94pp {
        --a94pp-card-padding: 30px;
    }
}


/* -------------------------------------------------------------------------
 * v4.59 deterministic inner gutter and remember row
 * ---------------------------------------------------------------------- */
.a94pp .a94pp__card {
    padding: 0 !important;
}

.a94pp .a94pp__inner {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: var(--a94pp-inner-gutter, 30px) !important;
}

.a94pp .a94pp__inner > .a94pp__header,
.a94pp .a94pp__inner > .a94pp__form,
.a94pp .a94pp__inner > .a94pp__footer {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.a94pp__form form .a94pp-simple-form__remember {
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    min-width: max-content !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.a94pp__form form .a94pp-simple-form__remember .a94pp-remember-label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--a94pp-label-colour, #fff) !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}

.a94pp__form form .a94pp-simple-form__remember .a94pp-remember-text {
    display: inline !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    clip: auto !important;
    clip-path: none !important;
    overflow: visible !important;
    color: inherit !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
}

@media (max-width: 767px) {
    .a94pp {
        --a94pp-inner-gutter: 24px;
    }
}


/* -------------------------------------------------------------------------
 * v4.60 Academy94 shell boundary correction
 * ProfilePress geometry resets must never remove the Academy94 inner gutter.
 * ---------------------------------------------------------------------- */
.a94pp > .a94pp__card > .a94pp__inner {
    padding: var(--a94pp-inner-gutter, 30px) !important;
}

.a94pp > .a94pp__card,
.a94pp > .a94pp__card > .a94pp__inner,
.a94pp > .a94pp__card > .a94pp__inner > .a94pp__form {
    max-width: none !important;
    min-width: 0 !important;
}

/* -------------------------------------------------------------------------
 * v4.61 deterministic login controls
 * ---------------------------------------------------------------------- */
.a94pp--login .a94pp-simple-form,
.a94pp--login .a94pp-simple-form__fields,
.a94pp--login .a94pp-simple-form__meta,
.a94pp--login .a94pp-simple-form__submit-row {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.a94pp--login .a94pp-simple-form__submit-row {
    display: flex !important;
    flex: 1 1 100% !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
}

.a94pp--login .a94pp-simple-form__submit-row > :is(button, input[type="submit"]),
.a94pp--login .a94pp-simple-form__submit {
    display: flex !important;
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    align-self: stretch !important;
}

.a94pp--login .a94pp-simple-form__remember,
.a94pp--login .a94pp-simple-form__remember .a94pp-remember-label,
.a94pp--login .a94pp-simple-form__remember .a94pp-remember-text {
    opacity: 1 !important;
    visibility: visible !important;
    color: var(--a94pp-label-colour, #ffffff) !important;
}

.a94pp--login .a94pp-simple-form__remember {
    display: flex !important;
    position: static !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: max-content !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    transform: none !important;
}

.a94pp--login .a94pp-simple-form__remember .a94pp-remember-label {
    display: inline-flex !important;
    position: static !important;
    align-items: center !important;
    gap: 10px !important;
    width: auto !important;
    min-width: max-content !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    transform: none !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
    cursor: pointer !important;
}

.a94pp--login .a94pp-simple-form__remember input[type="checkbox"] {
    display: inline-block !important;
    position: static !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.65) !important;
    border-radius: 3px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    transform: none !important;
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    accent-color: var(--a94pp-accent, #ff6600) !important;
    cursor: pointer !important;
}

.a94pp--login .a94pp-simple-form__remember .a94pp-remember-text {
    display: inline !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    transform: none !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
}

.a94pp--login .a94pp-simple-form__forgot,
.a94pp--login .a94pp__footer-link[href*="reset-password"] {
    color: var(--a94pp-accent, #ff6600) !important;
    font-weight: 700 !important;
}


/* -------------------------------------------------------------------------
 * v4.62 live ProfilePress submit-wrapper and remember-row correction
 * ---------------------------------------------------------------------- */
.a94pp--login .a94pp__form form .pp-form-submit-button-wrap,
.a94pp--login .a94pp__form form .pp-form-submit-button-wrap.fw-full,
.a94pp--login .a94pp__form form .a94pp-simple-form__submit-row {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.a94pp--login .a94pp__form form .pp-form-submit-button-wrap > *,
.a94pp--login .a94pp__form form .pp-form-submit-button-wrap :is(button, input[type="submit"], .ppform-submit-button),
.a94pp--login .a94pp__form form .a94pp-simple-form__submit-row > :is(button, input[type="submit"]) {
    display: flex !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.a94pp--login .a94pp__form form .login-remember,
.a94pp--login .a94pp__form form .pp-form-field-wrap.login-remember,
.a94pp--login .a94pp__form form .a94pp-native-remember-fixed {
    display: flex !important;
    float: none !important;
    position: static !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--a94pp-label-colour, #ffffff) !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    box-sizing: border-box !important;
}

.a94pp--login .a94pp__form form .login-remember label,
.a94pp--login .a94pp__form form .login-remember .a94pp-remember-label,
.a94pp--login .a94pp__form form .a94pp-native-remember-fixed .a94pp-remember-label {
    display: inline-flex !important;
    position: static !important;
    align-items: center !important;
    gap: 10px !important;
    width: auto !important;
    min-width: max-content !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--a94pp-label-colour, #ffffff) !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
    cursor: pointer !important;
}

.a94pp--login .a94pp__form form .login-remember input[type="checkbox"],
.a94pp--login .a94pp__form form .a94pp-native-remember-fixed input[type="checkbox"] {
    display: inline-block !important;
    float: none !important;
    position: static !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
    border-radius: 3px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    accent-color: var(--a94pp-accent, #ff6600) !important;
    cursor: pointer !important;
}

.a94pp--login .a94pp__form form > :is(h1, h2, h3, h4),
.a94pp--login .a94pp__form form .ppress-form-bottom-links,
.a94pp--login .a94pp__form form .ppress-form-title,
.a94pp--login .a94pp__form form .ppress-form-heading {
    display: none !important;
}


/* -------------------------------------------------------------------------
 * v4.63 deterministic visible checkbox
 * ---------------------------------------------------------------------- */
.a94pp--login .a94pp__form form .a94pp-remember-label {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 20px !important;
}

.a94pp--login .a94pp__form form .a94pp-remember-label > input[type="checkbox"] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    min-width: 1px !important;
    min-height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    visibility: visible !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    overflow: hidden !important;
    white-space: nowrap !important;
}

.a94pp--login .a94pp__form form .a94pp-checkbox-visual {
    position: relative !important;
    display: inline-flex !important;
    flex: 0 0 18px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 2px solid rgba(255, 255, 255, 0.9) !important;
    border-radius: 3px !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
}

.a94pp--login .a94pp__form form .a94pp-remember-label > input[type="checkbox"]:checked + .a94pp-checkbox-visual {
    border-color: var(--a94pp-accent, #ff6600) !important;
    background: var(--a94pp-accent, #ff6600) !important;
}

.a94pp--login .a94pp__form form .a94pp-remember-label > input[type="checkbox"]:checked + .a94pp-checkbox-visual::after {
    content: "" !important;
    display: block !important;
    width: 5px !important;
    height: 9px !important;
    border: solid #ffffff !important;
    border-width: 0 2px 2px 0 !important;
    transform: translateY(-1px) rotate(45deg) !important;
    box-sizing: border-box !important;
}

.a94pp--login .a94pp__form form .a94pp-remember-label > input[type="checkbox"]:focus-visible + .a94pp-checkbox-visual {
    outline: 2px solid var(--a94pp-accent, #ff6600) !important;
    outline-offset: 3px !important;
}


/* -------------------------------------------------------------------------
 * v4.64 explicit Remember Me state synchronisation
 * ---------------------------------------------------------------------- */
.a94pp--login .a94pp__form form .a94pp-remember-label.is-checked .a94pp-checkbox-visual,
.a94pp--login .a94pp__form form .a94pp-checkbox-visual.is-checked {
    border-color: var(--a94pp-accent, #ff6600) !important;
    background: var(--a94pp-accent, #ff6600) !important;
}

.a94pp--login .a94pp__form form .a94pp-remember-label.is-checked .a94pp-checkbox-visual::after,
.a94pp--login .a94pp__form form .a94pp-checkbox-visual.is-checked::after {
    content: "" !important;
    display: block !important;
    width: 5px !important;
    height: 9px !important;
    border: solid #ffffff !important;
    border-width: 0 2px 2px 0 !important;
    transform: translateY(-1px) rotate(45deg) !important;
    box-sizing: border-box !important;
}

.a94pp--login .a94pp__form form .a94pp-remember-label[role="checkbox"] {
    user-select: none !important;
    -webkit-user-select: none !important;
    touch-action: manipulation !important;
}
\n\n/* v2.29.0 — reliable ProfilePress registration submission */
.a94pp--registration .a94pp-wizard__native-submit {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    min-width: 1px !important;
    min-height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.a94pp-wizard__status {
    width: 100%;
    margin: 18px 0 0;
}

.a94pp-wizard__status[hidden] {
    display: none !important;
}

.a94pp-wizard__status > :where(
    .profilepress-reg-status,
    .ppress-error,
    .profilepress-error,
    .pp-form-error,
    .ppress-alert,
    .ppress-notice,
    .ppress-success,
    .profilepress-success,
    .pp-form-success,
    .woocommerce-error,
    .woocommerce-message
) {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 14px 16px !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.055) !important;
    color: var(--a94pp-text, #ffffff) !important;
    font: inherit !important;
    line-height: 1.5 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.a94pp-wizard__status.has-error > :where(
    .profilepress-reg-status,
    .ppress-error,
    .profilepress-error,
    .pp-form-error,
    .ppress-alert,
    .woocommerce-error
) {
    border-color: rgba(255, 102, 0, 0.58) !important;
    background: rgba(255, 102, 0, 0.09) !important;
}

.a94pp-wizard__submit {
    display: grid;
    justify-items: stretch;
    gap: 10px;
    min-width: min(100%, 260px);
}

.a94pp-wizard__submit-message {
    max-width: 360px;
    color: var(--a94pp-muted, rgba(255, 255, 255, 0.72));
    font-size: 13px;
    line-height: 1.45;
    text-align: left;
}

.a94pp-wizard__submit-message[hidden] {
    display: none !important;
}

.a94pp-wizard__submit-message.is-error {
    color: #ff9b61;
}

.a94pp-wizard__submit-control:disabled {
    cursor: wait !important;
    opacity: 0.72 !important;
    transform: none !important;
}

@media (max-width: 767px) {
    .a94pp-wizard__submit,
    .a94pp-wizard__submit-message {
        width: 100%;
        max-width: none;
    }
}


/* 2.32.0 — staged registration password guidance */
.a94pp--registration .a94pp-wizard__password-guidance {
    margin: 14px 0 0;
    padding: 13px 15px;
    border: 1px solid rgba(255,102,0,.28);
    border-radius: 12px;
    background: rgba(255,102,0,.08);
    color: rgba(255,255,255,.76);
    font-size: 14px;
    line-height: 1.55;
}

@media (max-width: 767px) {
    .a94pp--registration .a94pp-wizard__password-guidance {
        padding: 12px 13px;
        font-size: 13px;
    }
}

/* -------------------------------------------------------------------------
 * v2.33 registration consent ownership
 * The Academy94 wizard supplies its own required consent control whenever the
 * selected ProfilePress form does not include one.
 * ---------------------------------------------------------------------- */
.a94pp-wizard__generated-terms {
    grid-column: 1 / -1 !important;
    width: 100%;
    padding: 16px 18px !important;
    margin: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.035) !important;
    box-sizing: border-box;
}

.a94pp-wizard__generated-terms.is-invalid {
    border-color: #ef5350 !important;
    box-shadow: 0 0 0 3px rgba(239, 83, 80, 0.12) !important;
}

.a94pp-wizard__terms-label input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    margin: 1px 0 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.34) !important;
    border-radius: 6px !important;
    background: #171717 !important;
    box-shadow: none !important;
    cursor: pointer;
    position: relative;
}

.a94pp-wizard__terms-label input[type="checkbox"]:checked {
    border-color: var(--a94pp-wizard-accent, #ff6600) !important;
    background-color: var(--a94pp-wizard-accent, #ff6600) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.4' d='m4.5 10.5 3.3 3.2 7.7-8'/%3E%3C/svg%3E") !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: 16px 16px !important;
}

.a94pp-wizard__terms-label input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--a94pp-wizard-accent, #ff6600) !important;
    outline-offset: 3px;
}

@media (max-width: 767px) {
    .a94pp-wizard__generated-terms {
        padding: 14px !important;
    }
}

/* ================================================================
   v2.35 — Registration email-confirmation state
   ================================================================ */
.a94pp-confirmation {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: clamp(18px, 3vw, 32px);
    align-items: start;
    padding: clamp(24px, 4vw, 42px);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: clamp(18px, 2vw, 28px);
    background:
        radial-gradient(circle at 100% 0%, rgba(255, 102, 0, 0.16), transparent 42%),
        #111111;
}

.a94pp-confirmation__icon {
    display: grid;
    place-items: center;
    width: clamp(58px, 7vw, 78px);
    aspect-ratio: 1;
    border: 1px solid rgba(255, 102, 0, 0.48);
    border-radius: 50%;
    color: var(--a94pp-accent, #ff6600);
    background: rgba(255, 102, 0, 0.10);
}

.a94pp-confirmation__icon svg {
    width: 46%;
    height: 46%;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.a94pp-confirmation__body {
    display: grid;
    gap: 20px;
}

.a94pp-confirmation__status {
    color: #ffffff;
    font-size: clamp(20px, 2.1vw, 28px);
    font-weight: 800;
    letter-spacing: -0.025em;
}

.a94pp-confirmation__notice {
    display: grid;
    gap: 8px;
    padding: 18px 20px;
    border: 1px solid rgba(255, 102, 0, 0.28);
    border-radius: 16px;
    color: rgba(255, 255, 255, 0.68);
    background: rgba(255, 102, 0, 0.08);
}

.a94pp-confirmation__notice strong {
    color: #ffffff;
    font-size: 15px;
}

.a94pp-confirmation__notice p {
    margin: 0;
    line-height: 1.65;
}

.a94pp-confirmation__button {
    justify-self: start;
}

@media (max-width: 767px) {
    .a94pp-confirmation {
        grid-template-columns: 1fr;
        padding: 22px;
    }

    .a94pp-confirmation__icon {
        width: 58px;
    }

    .a94pp-confirmation__button {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}


/* v2.39.0 — compulsory Academy94 registration identity fields */
.a94pp-wizard__upload-heading{
    display:grid;
    gap:5px;
    margin:0 0 10px;
}
.a94pp-wizard__upload-heading strong{
    color:var(--a94pp-text,#fff);
    font-size:15px;
    font-weight:800;
    line-height:1.2;
}
.a94pp-wizard__upload-heading span{
    color:var(--a94pp-muted,rgba(255,255,255,.62));
    font-size:12px;
    line-height:1.4;
}
.a94pp-wizard__bio-counter{
    margin-top:7px;
    color:rgba(255,255,255,.48);
    font-size:11px;
    font-weight:700;
    text-align:right;
}
.a94pp-wizard__bio-counter.is-complete{color:#31cf75}
.a94pp--registration .a94pp-wizard__field-unit input[type="file"]{
    width:100%!important;
}


/* v2.49.0 — single-column registration fields and explicit labels */
.a94pp--registration .a94pp-wizard__fields,
.a94pp-wizard--preview .a94pp-preview__columns {
    grid-template-columns: minmax(0, 1fr) !important;
}

.a94pp--registration .a94pp-wizard__field-unit {
    grid-column: 1 !important;
    width: 100% !important;
}

.a94pp--registration .a94pp-wizard__field-label,
.a94pp--registration .a94pp-generated-label {
    display: block !important;
    width: 100% !important;
    margin: 0 0 8px !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-transform: none !important;
}

.a94pp--registration .a94pp-wizard__field-label.is-required::after,
.a94pp--registration .a94pp-generated-label.is-required::after {
    content: " *";
    color: var(--a94pp-accent, #ff6600);
}

.a94pp--registration .a94pp-wizard__field-help {
    margin-top: 8px;
    color: rgba(255,255,255,.56);
    font-size: 12px;
    line-height: 1.45;
}

.a94pp--registration .a94pp-wizard__field-unit--date-of-birth input[type="date"] {
    color-scheme: dark;
}

.a94pp--registration .a94pp-wizard__native-upload-label {
    display: none !important;
}

.a94pp--registration .a94pp-wizard__upload-heading {
    margin-bottom: 12px;
}

.a94pp--registration .a94pp-wizard__upload-heading strong {
    font-size: 14px;
}

/* v2.50.0 — explicit registration instructions and visible photo requirements */
.a94pp--registration .a94pp-wizard__field-guidance {
    display: block !important;
    width: 100% !important;
    margin: -2px 0 10px !important;
    color: rgba(255, 255, 255, 0.62) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
    text-align: left !important;
}

.a94pp--registration .a94pp-wizard__field-unit--photo {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 18px !important;
    opacity: 1 !important;
    border: 1px solid rgba(255, 255, 255, 0.13) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.035) !important;
}

.a94pp--registration .a94pp-wizard__field-unit--photo:hover {
    border-color: rgba(255, 102, 0, 0.55) !important;
}

.a94pp--registration .a94pp-wizard__upload-heading {
    display: grid !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 0 0 14px !important;
}

.a94pp--registration .a94pp-wizard__upload-title-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 8px 12px !important;
    width: 100% !important;
}

.a94pp--registration .a94pp-wizard__upload-heading strong {
    display: block !important;
    margin: 0 !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}

.a94pp--registration .a94pp-wizard__upload-heading span {
    display: block !important;
    width: 100% !important;
    color: rgba(255, 255, 255, 0.64) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
}

.a94pp--registration .a94pp-wizard__required-badge {
    display: inline-flex !important;
    min-height: 24px !important;
    padding: 0 9px !important;
    align-items: center !important;
    border: 1px solid rgba(255, 102, 0, 0.42) !important;
    border-radius: 999px !important;
    background: rgba(255, 102, 0, 0.10) !important;
    color: var(--a94pp-accent, #ff6600) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.05em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.a94pp--registration .a94pp-wizard__field-unit--photo input[type="file"] {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    height: auto !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 9px !important;
    opacity: 1 !important;
    border: 1px dashed rgba(255, 255, 255, 0.22) !important;
    border-radius: 10px !important;
    background: #111111 !important;
    color: rgba(255, 255, 255, 0.72) !important;
    font-size: 12px !important;
    cursor: pointer !important;
}

.a94pp--registration .a94pp-wizard__field-unit--photo input[type="file"]::file-selector-button {
    min-height: 34px !important;
    margin-right: 12px !important;
    padding: 0 13px !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: var(--a94pp-accent, #ff6600) !important;
    color: #111111 !important;
    font: inherit !important;
    font-weight: 800 !important;
    cursor: pointer !important;
}

.a94pp--registration .a94pp-wizard__upload-selection {
    display: block !important;
    width: 100% !important;
    margin-top: 9px !important;
    color: rgba(255, 255, 255, 0.48) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}

.a94pp--registration .a94pp-wizard__upload-selection.has-file {
    color: #31cf75 !important;
}

.a94pp--registration .a94pp-wizard__bio-counter {
    margin-top: 8px !important;
    color: rgba(255, 255, 255, 0.48) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    text-align: right !important;
}

.a94pp--registration .a94pp-wizard__bio-counter.is-complete {
    color: #31cf75 !important;
}

@media (max-width: 600px) {
    .a94pp--registration .a94pp-wizard__field-unit--photo {
        padding: 15px !important;
    }

    .a94pp--registration .a94pp-wizard__upload-title-row {
        align-items: flex-start !important;
    }
}

.a94pp--registration .a94pp-wizard__field-unit--photo :where(
    .pp-form-field-wrap,
    .pp-form-field,
    .ppress-form-field,
    .ppress-dpf-field,
    .pp-form-group,
    .profilepress-form-field,
    .field-wrapper,
    .field-wrap
) {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    max-width: none !important;
    opacity: 1 !important;
}

/* v2.51.0 — stable wrappers for direct ProfilePress custom fields */
.a94pp--registration .a94pp-generated-field-unit {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.a94pp--registration .a94pp-generated-field-unit > .a94pp-wizard__field-label,
.a94pp--registration .a94pp-generated-field-unit > .a94pp-generated-label,
.a94pp--registration .a94pp-generated-field-unit > .a94pp-wizard__field-guidance,
.a94pp--registration .a94pp-generated-field-unit > .a94pp-wizard__upload-heading,
.a94pp--registration .a94pp-generated-field-unit > .a94pp-wizard__bio-counter,
.a94pp--registration .a94pp-generated-field-unit > .a94pp-wizard__upload-selection {
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* v2.52.0 — automatic image optimisation and contained server errors */
.a94pp--registration .a94pp-wizard__upload-selection.is-processing {
    color: #ff6600 !important;
}

.a94pp--registration .a94pp-wizard__upload-selection.is-processing::before {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 8px;
    border: 2px solid rgba(255, 102, 0, 0.28);
    border-top-color: #ff6600;
    border-radius: 999px;
    vertical-align: -1px;
    animation: a94pp-registration-spin 0.75s linear infinite;
}

.a94pp--registration .a94pp-wizard__upload-selection.is-error {
    color: #ff6b61 !important;
}

.a94pp--registration .a94pp-wizard__server-error {
    width: 100% !important;
    margin: 0 0 10px !important;
    padding: 13px 15px !important;
    border: 1px solid rgba(255, 88, 77, 0.42) !important;
    border-radius: 10px !important;
    background: rgba(239, 74, 61, 0.14) !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    box-sizing: border-box !important;
}

.a94pp--registration .a94pp-wizard__server-error:last-child {
    margin-bottom: 0 !important;
}

@keyframes a94pp-registration-spin {
    to { transform: rotate(360deg); }
}
/* v2.53.0 — canonical field labels, restored birth date and submit feedback */
.a94pp--registration .a94pp-duplicate-label {
    display: none !important;
}

.a94pp--registration .a94pp-wrapping-control-label {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
    font: inherit !important;
}

.a94pp--registration .a94pp-canonical-label {
    display: block !important;
    width: 100% !important;
    margin: 0 0 9px !important;
    clear: both !important;
}

.a94pp--registration .a94pp-generated-date-of-birth {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.a94pp--registration .a94pp-wizard__submit-control {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
}

.a94pp--registration .a94pp-wizard__submit-spinner {
    display: inline-block;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    border: 2px solid rgba(17, 17, 17, 0.28);
    border-top-color: #111111;
    border-radius: 999px;
    animation: a94pp-registration-spin 0.72s linear infinite;
}

.a94pp--registration .a94pp-wizard__submit-spinner[hidden] {
    display: none !important;
}

.a94pp--registration .a94pp-wizard__submit-label {
    display: inline-block;
    line-height: 1.15;
}

/* v2.55.0 — shared ProfilePress form styling; rebuilt registration uses its isolated v255 layer */
.a94pp--registration .a94pp-canonical-field-unit {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.a94pp--registration .a94pp-canonical-field-unit > .a94pp-canonical-label {
    display: block !important;
    width: 100% !important;
    margin: 0 0 9px !important;
    padding: 0 !important;
    color: var(--a94pp-label-colour, #ffffff) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

.a94pp--registration .a94pp-canonical-field-unit > :is(input, textarea, select, .a94pp-password-field) {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

.a94pp--registration .a94pp-canonical-field-unit select {
    background-color: var(--a94pp-field-background, #171717) !important;
    color: var(--a94pp-field-text, #ffffff) !important;
    color-scheme: dark !important;
}

.a94pp--registration .a94pp-canonical-field-unit select option {
    background: #171717 !important;
    color: #ffffff !important;
}

.a94pp--registration .a94pp-wizard__field-unit--date-of-birth {
    order: initial !important;
}

.a94pp--registration .a94pp-wizard__submit-control[aria-busy="true"] {
    cursor: wait !important;
    pointer-events: none !important;
}
