/* =========================================================
   FairTicks Signup CSS
   Path: /fairticks-assets/css/fairticks-signup.css
   Version: 1.0.2
   Scope: Signup page only
   ========================================================= */

html,
body {
    width: 100%;
    min-height: 100%;
    margin: 0 !important;
    padding: 0 !important;
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif !important;
    background: #020617 !important;
    color: #f8fafc !important;
    overflow-x: hidden !important;
}

body.am-page-signup,
body.ft-signup-layout,
body.ft-signup-direct {
    min-height: 100vh !important;
    background: #020617 !important;
}

/* =========================================================
   Hide native aMember shell
   ========================================================= */
body.am-page-signup .am-header,
body.am-page-signup .am-header-line,
body.am-page-signup .am-footer,
body.am-page-signup .am-credits,
body.am-page-signup .am-body-content-top,
body.am-page-signup .am-body-content-title {
    display: none !important;
}

body.am-page-signup .am-layout,
body.am-page-signup .am-common,
body.am-page-signup .am-body,
body.am-page-signup .am-main,
body.am-page-signup .am-body-content-wrapper,
body.am-page-signup .am-body-content-wrapper.am-main,
body.am-page-signup .am-body-content,
body.am-page-signup .am-body-content-content {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    float: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* =========================================================
   Main page layout
   ========================================================= */
.fts-signup-page {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100svh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(48px, 6vw, 110px) !important;

    padding: clamp(34px, 4vw, 70px) !important;

    background:
        linear-gradient(90deg, rgba(2, 6, 23, 0.96) 0%, rgba(2, 6, 23, 0.89) 45%, rgba(2, 6, 23, 0.75) 100%),
        url('/fairticks-assets/img/fairticks-login-bg.webp') center center / cover no-repeat,
        radial-gradient(circle at 76% 40%, rgba(55, 213, 255, 0.16), transparent 30rem),
        radial-gradient(circle at 18% 32%, rgba(47, 140, 255, 0.16), transparent 34rem),
        linear-gradient(135deg, #020617 0%, #071120 52%, #08192b 100%) !important;
}

.fts-signup-page::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    opacity: 0.26;
    background:
        linear-gradient(rgba(93, 188, 255, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(93, 188, 255, 0.05) 1px, transparent 1px);
    background-size: 48px 48px;
    -webkit-mask-image: linear-gradient(to right, #000 0%, rgba(0, 0, 0, 0.72) 52%, transparent 100%);
    mask-image: linear-gradient(to right, #000 0%, rgba(0, 0, 0, 0.72) 52%, transparent 100%);
}

.fts-signup-page::after {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 80% 44%, rgba(55, 213, 255, 0.14), transparent 22rem),
        radial-gradient(circle at 22% 55%, rgba(47, 140, 255, 0.10), transparent 26rem);
}

/* =========================================================
   Columns
   ========================================================= */
.fts-signup-left,
.fts-signup-right {
    position: relative !important;
    z-index: 2 !important;
    min-width: 0 !important;
}

.fts-signup-left {
    flex: 1 1 700px !important;
    max-width: 760px !important;
}

.fts-signup-right {
    flex: 0 0 680px !important;
    max-width: 680px !important;
    min-width: 520px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.fts-left-inner {
    width: 100% !important;
    max-width: 760px !important;
}

/* =========================================================
   Logo
   ========================================================= */
.fts-logo {
    display: inline-flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin-bottom: 48px !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

.fts-logo-mark,
.fts-card-logo-mark {
    position: relative !important;
    width: 52px !important;
    height: 52px !important;
    flex: 0 0 auto !important;
    border-radius: 16px !important;
    background:
        radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.46), transparent 24%),
        linear-gradient(135deg, #2f8cff, #37d5ff) !important;
    box-shadow:
        0 0 30px rgba(47, 140, 255, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.34) !important;
}

.fts-logo-mark::after,
.fts-card-logo-mark::after {
    content: "";
    position: absolute;
    inset: 14px 12px;
    border-radius: 8px;
    border: 2px solid rgba(255, 255, 255, 0.88);
    border-top-color: transparent;
    transform: rotate(-16deg);
}

.fts-logo-text,
.fts-card-logo span:not(.fts-card-logo-mark) {
    display: grid !important;
    gap: 3px !important;
}

.fts-logo-text strong,
.fts-card-logo strong {
    color: #ffffff !important;
    font-size: 27px !important;
    line-height: 1 !important;
    letter-spacing: 0.02em !important;
    font-weight: 900 !important;
}

.fts-logo-text small,
.fts-card-logo small {
    color: #7ddcff !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
}

/* =========================================================
   Left content
   ========================================================= */
.fts-badges {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-bottom: 24px !important;
}

.fts-badges span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 30px !important;
    padding: 0 13px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(93, 188, 255, 0.28) !important;
    color: #d6f7ff !important;
    background: rgba(55, 213, 255, 0.10) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.fts-badges span:nth-child(2) {
    border-color: rgba(25, 195, 125, 0.28) !important;
    color: #bcffe3 !important;
    background: rgba(25, 195, 125, 0.12) !important;
}

.fts-signup-left h1 {
    margin: 0 !important;
    max-width: 760px !important;
    color: #ffffff !important;
    font-size: clamp(64px, 5.8vw, 96px) !important;
    line-height: 0.92 !important;
    letter-spacing: -0.08em !important;
    font-weight: 900 !important;
}

.fts-signup-left h1 span {
    color: #37d5ff !important;
    text-shadow: 0 0 28px rgba(55, 213, 255, 0.22) !important;
}

.fts-hero-text {
    margin: 24px 0 0 !important;
    max-width: 700px !important;
    color: #d8e4f4 !important;
    font-size: clamp(16px, 1.05vw, 19px) !important;
    line-height: 1.68 !important;
    font-weight: 600 !important;
}

.fts-trust-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 30px !important;
}

.fts-trust-list span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 38px !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(93, 188, 255, 0.20) !important;
    color: #d7e9ff !important;
    background: rgba(2, 6, 23, 0.46) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.fts-trust-list span::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #37d5ff;
    box-shadow: 0 0 14px rgba(55, 213, 255, 0.70);
}

.fts-note {
    max-width: 690px !important;
    margin-top: 34px !important;
    padding: 18px 20px !important;
    border-radius: 20px !important;
    border: 1px solid rgba(93, 188, 255, 0.16) !important;
    color: #d6e3f4 !important;
    background:
        linear-gradient(135deg, rgba(55, 213, 255, 0.06), rgba(47, 140, 255, 0.03)),
        rgba(2, 6, 23, 0.52) !important;
    box-shadow: 0 16px 44px rgba(0, 0, 0, 0.18) !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    font-weight: 600 !important;
}

/* =========================================================
   Signup card
   ========================================================= */
.fts-card {
    width: 100% !important;
    max-width: 680px !important;
    max-height: calc(100vh - 56px) !important;
    overflow-y: auto !important;
    padding: 28px 28px 26px !important;
    border-radius: 30px !important;
    border: 1px solid rgba(93, 188, 255, 0.26) !important;
    background:
        radial-gradient(circle at top right, rgba(55, 213, 255, 0.12), transparent 18rem),
        linear-gradient(180deg, rgba(8, 24, 39, 0.92), rgba(2, 6, 23, 0.95)) !important;
    box-shadow:
        0 30px 90px rgba(0, 0, 0, 0.48),
        inset 0 1px 0 rgba(255, 255, 255, 0.07) !important;
    backdrop-filter: blur(20px) !important;
    scrollbar-width: thin;
    scrollbar-color: rgba(55, 213, 255, 0.35) transparent;
}

.fts-card::-webkit-scrollbar {
    width: 8px;
}

.fts-card::-webkit-scrollbar-thumb {
    background: rgba(55, 213, 255, 0.28);
    border-radius: 999px;
}

.fts-card-logo {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    color: #ffffff !important;
    margin-bottom: 20px !important;
    text-align: left !important;
}

.fts-card-logo-mark {
    width: 42px !important;
    height: 42px !important;
    border-radius: 14px !important;
}

.fts-card-logo strong {
    font-size: 20px !important;
}

.fts-access-pill {
    width: fit-content !important;
    margin: 0 auto 18px !important;
    padding: 7px 14px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(55, 213, 255, 0.28) !important;
    color: #c8f6ff !important;
    background: rgba(55, 213, 255, 0.11) !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: 0.10em !important;
    text-transform: uppercase !important;
}

.fts-card-title {
    text-align: center !important;
    margin-bottom: 20px !important;
}

.fts-card-title h2 {
    margin: 0 !important;
    color: #ffffff !important;
    font-size: clamp(26px, 2.3vw, 42px) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.045em !important;
    font-weight: 850 !important;
}

.fts-card-title p {
    max-width: 470px !important;
    margin: 10px auto 0 !important;
    color: #b8cce3 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
}

/* =========================================================
   Login offer
   ========================================================= */
.fts-login-offer,
body.am-page-signup .am-signup-login-offer,
body.am-page-signup .am-login-offer {
    margin: 0 0 16px !important;
    padding: 12px 14px !important;
    border: 1px solid rgba(93, 188, 255, 0.14) !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, 0.035) !important;
    color: #9fb5cb !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
    text-align: center !important;
}

body.am-page-signup .am-signup-login-offer a,
body.am-page-signup .am-login-offer a,
.fts-login-offer a {
    color: #37d5ff !important;
    text-decoration: none !important;
    font-weight: 700 !important;
}

/* =========================================================
   Form reset
   ========================================================= */
body.am-page-signup .am-signup,
body.am-page-signup .am-form,
body.am-page-signup .am-form form,
body.am-page-signup .am-form fieldset,
body.am-page-signup form {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.am-page-signup .am-form legend {
    display: none !important;
}

body.am-page-signup .am-row {
    margin: 0 0 14px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

body.am-page-signup .am-element {
    margin: 0 !important;
    padding: 0 !important;
}

/* =========================================================
   Labels + helper text
   IMPORTANT: less bold, less aggressive
   ========================================================= */
body.am-page-signup .am-element-title {
    margin: 0 0 7px !important;
    padding: 0 !important;
    color: #c9d8ea !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em !important;
    text-transform: none !important;
}

body.am-page-signup .am-element-title small,
body.am-page-signup .am-element-title .comment,
body.am-page-signup .am-element-title .am-comment,
body.am-page-signup .am-element-title .am-description,
body.am-page-signup .am-element-title .am-field-hint,
body.am-page-signup .am-element .comment,
body.am-page-signup .am-element .am-comment,
body.am-page-signup .am-element .am-description,
body.am-page-signup .am-element .am-field-hint,
body.am-page-signup .am-description,
body.am-page-signup .am-comment {
    display: block !important;
    margin-top: 5px !important;
    color: #8ea5bc !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

/* =========================================================
   Inputs
   ========================================================= */
body.am-page-signup input[type="text"],
body.am-page-signup input[type="email"],
body.am-page-signup input[type="password"],
body.am-page-signup input[type="tel"],
body.am-page-signup select,
body.am-page-signup textarea {
    width: 100% !important;
    min-height: 50px !important;
    padding: 0 15px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(93, 188, 255, 0.18) !important;
    outline: none !important;
    color: #f8fafc !important;
    background: rgba(2, 6, 23, 0.58) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.035),
        0 8px 24px rgba(0, 0, 0, 0.12) !important;
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease !important;
}

body.am-page-signup textarea {
    min-height: 104px !important;
    padding-top: 14px !important;
    resize: vertical;
}

body.am-page-signup input[type="text"]:focus,
body.am-page-signup input[type="email"]:focus,
body.am-page-signup input[type="password"]:focus,
body.am-page-signup input[type="tel"]:focus,
body.am-page-signup select:focus,
body.am-page-signup textarea:focus {
    border-color: rgba(55, 213, 255, 0.60) !important;
    background: rgba(2, 6, 23, 0.72) !important;
    box-shadow:
        0 0 0 4px rgba(55, 213, 255, 0.08),
        0 0 26px rgba(47, 140, 255, 0.14) !important;
}

body.am-page-signup input::placeholder,
body.am-page-signup textarea::placeholder {
    color: rgba(168, 189, 212, 0.70) !important;
}

/* =========================================================
   Product / payment radio blocks
   ========================================================= */
body.am-page-signup .am-row input[type="radio"],
body.am-page-signup .am-row input[type="checkbox"] {
    accent-color: #37d5ff !important;
}

body.am-page-signup .am-row label {
    color: #d6e4f5 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

body.am-page-signup .am-row .am-element label {
    display: inline-flex !important;
    align-items: flex-start !important;
    gap: 9px !important;
}

body.am-page-signup .am-row .am-element label input[type="radio"],
body.am-page-signup .am-row .am-element label input[type="checkbox"] {
    margin-top: 2px !important;
    flex: 0 0 auto !important;
}

/* =========================================================
   Buttons
   ========================================================= */
body.am-page-signup .am-row-buttons .am-element {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
    margin-top: 12px !important;
}

body.am-page-signup input[type="submit"],
body.am-page-signup button[type="submit"] {
    width: 100% !important;
    min-height: 54px !important;
    padding: 0 24px !important;
    border: 0 !important;
    border-radius: 15px !important;
    color: #03111f !important;
    background: linear-gradient(135deg, #37d5ff, #2f8cff) !important;
    box-shadow:
        0 16px 38px rgba(47, 140, 255, 0.32),
        inset 0 1px 0 rgba(255, 255, 255, 0.30) !important;
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    transition: transform 0.16s ease, box-shadow 0.16s ease, filter 0.16s ease !important;
}

body.am-page-signup input[type="submit"]:hover,
body.am-page-signup button[type="submit"]:hover {
    transform: translateY(-1px) !important;
    filter: brightness(1.03) !important;
}

/* =========================================================
   Errors
   ========================================================= */
body.am-page-signup .am-errors,
body.am-page-signup .am-error,
body.am-page-signup .errors {
    margin: 0 0 16px !important;
    padding: 14px 16px !important;
    border: 1px solid rgba(255, 107, 107, 0.30) !important;
    border-radius: 14px !important;
    background: rgba(255, 107, 107, 0.10) !important;
    color: #ffd0d0 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    font-weight: 600 !important;
}

/* =========================================================
   Secure note
   ========================================================= */
.fts-secure-note {
    margin-top: 20px !important;
    color: #8096ad !important;
    text-align: center !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

.fts-secure-note::before {
    content: "\1F512";
    margin-right: 6px;
    opacity: 0.75;
}

/* =========================================================
   Tablet
   ========================================================= */
@media (max-width: 1240px) {
    .fts-signup-page {
        position: relative !important;
        inset: auto !important;
        min-height: 100vh !important;
        height: auto !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 34px !important;
        padding: 32px 22px !important;
    }

    .fts-signup-left,
    .fts-signup-right {
        flex: none !important;
        width: 100% !important;
        max-width: 820px !important;
        min-width: 0 !important;
    }

    .fts-left-inner {
        margin: 0 auto !important;
        text-align: center !important;
    }

    .fts-logo,
    .fts-badges,
    .fts-trust-list {
        justify-content: center !important;
    }

    .fts-hero-text,
    .fts-note {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .fts-card {
        max-height: none !important;
    }
}

/* =========================================================
   Mobile / portrait
   Show only logo + form
   ========================================================= */
@media (max-width: 900px), (orientation: portrait) and (max-width: 1180px) {
    .fts-signup-page {
        position: relative !important;
        min-height: 100vh !important;
        height: auto !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        padding: 18px 12px 24px !important;
        gap: 0 !important;
        overflow-y: auto !important;
    }

    .fts-signup-left {
        display: none !important;
    }

    .fts-signup-right {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: none !important;
    }

    .fts-card {
        width: 100% !important;
        max-width: 460px !important;
        min-width: 0 !important;
        margin: 0 auto !important;
        padding: 22px 16px 20px !important;
        border-radius: 24px !important;
        max-height: none !important;
    }

    /* On mobile portrait: just logo + form */
    .fts-access-pill,
    .fts-card-title {
        display: none !important;
    }

    .fts-card-logo {
        margin-bottom: 18px !important;
    }

    .fts-card-logo-mark {
        width: 40px !important;
        height: 40px !important;
    }

    .fts-card-logo strong {
        font-size: 18px !important;
    }

    .fts-login-offer,
    body.am-page-signup .am-signup-login-offer,
    body.am-page-signup .am-login-offer {
        margin-bottom: 14px !important;
        padding: 11px 12px !important;
        font-size: 12px !important;
    }

    body.am-page-signup .am-element-title {
        font-size: 10.5px !important;
    }

    body.am-page-signup .am-element-title small,
    body.am-page-signup .am-element-title .comment,
    body.am-page-signup .am-element-title .am-comment,
    body.am-page-signup .am-element-title .am-description,
    body.am-page-signup .am-element-title .am-field-hint,
    body.am-page-signup .am-element .comment,
    body.am-page-signup .am-element .am-comment,
    body.am-page-signup .am-element .am-description,
    body.am-page-signup .am-element .am-field-hint,
    body.am-page-signup .am-description,
    body.am-page-signup .am-comment {
        font-size: 11.5px !important;
        line-height: 1.45 !important;
    }

    body.am-page-signup input[type="text"],
    body.am-page-signup input[type="email"],
    body.am-page-signup input[type="password"],
    body.am-page-signup input[type="tel"],
    body.am-page-signup select,
    body.am-page-signup textarea {
        min-height: 48px !important;
        font-size: 14px !important;
    }

    body.am-page-signup textarea {
        min-height: 92px !important;
    }

    body.am-page-signup input[type="submit"],
    body.am-page-signup button[type="submit"] {
        min-height: 52px !important;
    }

    .fts-secure-note {
        margin-top: 16px !important;
    }
}

@media (max-width: 380px) {
    .fts-signup-page {
        padding: 14px 10px 22px !important;
    }

    .fts-card {
        padding: 20px 13px 18px !important;
        border-radius: 22px !important;
    }

    .fts-card-logo strong {
        font-size: 17px !important;
    }
}

/* =========================================================
   FairTicks Signup - Product & Payment Radio Cards Fix
   Must stay at the very end
   Version: 1.0.4
   ========================================================= */

/* Product / Membership Type + Payment System rows */
body.am-page-signup .am-row-product,
body.am-page-signup .am-row-products,
body.am-page-signup .am-row-paysys_id,
body.am-page-signup .am-row-payment-system,
body.am-page-signup .am-row-payment_id,
body.am-page-signup .am-row-paysys {
    margin-bottom: 18px !important;
}

/* Row titles */
body.am-page-signup .am-row-product > .am-element-title,
body.am-page-signup .am-row-products > .am-element-title,
body.am-page-signup .am-row-paysys_id > .am-element-title,
body.am-page-signup .am-row-payment-system > .am-element-title,
body.am-page-signup .am-row-payment_id > .am-element-title,
body.am-page-signup .am-row-paysys > .am-element-title {
    width: 100% !important;
    margin: 0 0 10px !important;
    color: #f8fafc !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    font-weight: 750 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
}

/* Container for radio options */
body.am-page-signup .am-row-product > .am-element,
body.am-page-signup .am-row-products > .am-element,
body.am-page-signup .am-row-paysys_id > .am-element,
body.am-page-signup .am-row-payment-system > .am-element,
body.am-page-signup .am-row-payment_id > .am-element,
body.am-page-signup .am-row-paysys > .am-element {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Each radio line becomes a premium card */
body.am-page-signup .am-row-product label,
body.am-page-signup .am-row-products label,
body.am-page-signup .am-row-paysys_id label,
body.am-page-signup .am-row-payment-system label,
body.am-page-signup .am-row-payment_id label,
body.am-page-signup .am-row-paysys label {
    width: 100% !important;
    min-height: 48px !important;

    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 12px !important;

    margin: 0 !important;
    padding: 13px 14px !important;

    border-radius: 16px !important;
    border: 1px solid rgba(93, 188, 255, 0.18) !important;
    background:
        linear-gradient(135deg, rgba(55, 213, 255, 0.045), rgba(47, 140, 255, 0.025)),
        rgba(2, 6, 23, 0.46) !important;

    color: #dbeafe !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.035),
        0 10px 24px rgba(0, 0, 0, 0.10) !important;

    cursor: pointer !important;
    transition:
        border-color 0.16s ease,
        background 0.16s ease,
        transform 0.16s ease,
        box-shadow 0.16s ease !important;
}

/* Hover */
body.am-page-signup .am-row-product label:hover,
body.am-page-signup .am-row-products label:hover,
body.am-page-signup .am-row-paysys_id label:hover,
body.am-page-signup .am-row-payment-system label:hover,
body.am-page-signup .am-row-payment_id label:hover,
body.am-page-signup .am-row-paysys label:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(55, 213, 255, 0.36) !important;
    background:
        linear-gradient(135deg, rgba(55, 213, 255, 0.075), rgba(47, 140, 255, 0.04)),
        rgba(2, 6, 23, 0.58) !important;
}

/* Radio itself */
body.am-page-signup .am-row-product input[type="radio"],
body.am-page-signup .am-row-products input[type="radio"],
body.am-page-signup .am-row-paysys_id input[type="radio"],
body.am-page-signup .am-row-payment-system input[type="radio"],
body.am-page-signup .am-row-payment_id input[type="radio"],
body.am-page-signup .am-row-paysys input[type="radio"] {
    flex: 0 0 auto !important;
    width: 16px !important;
    height: 16px !important;
    margin: 2px 0 0 !important;
    accent-color: #37d5ff !important;
}

/* Checked option */
body.am-page-signup .am-row-product label:has(input[type="radio"]:checked),
body.am-page-signup .am-row-products label:has(input[type="radio"]:checked),
body.am-page-signup .am-row-paysys_id label:has(input[type="radio"]:checked),
body.am-page-signup .am-row-payment-system label:has(input[type="radio"]:checked),
body.am-page-signup .am-row-payment_id label:has(input[type="radio"]:checked),
body.am-page-signup .am-row-paysys label:has(input[type="radio"]:checked) {
    border-color: rgba(55, 213, 255, 0.52) !important;
    background:
        linear-gradient(135deg, rgba(55, 213, 255, 0.12), rgba(47, 140, 255, 0.055)),
        rgba(2, 6, 23, 0.68) !important;
    box-shadow:
        0 0 0 1px rgba(55, 213, 255, 0.10),
        0 14px 34px rgba(47, 140, 255, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

/* Text inside radio labels */
body.am-page-signup .am-row-product label strong,
body.am-page-signup .am-row-products label strong,
body.am-page-signup .am-row-paysys_id label strong,
body.am-page-signup .am-row-payment-system label strong,
body.am-page-signup .am-row-payment_id label strong,
body.am-page-signup .am-row-paysys label strong {
    color: #f8fafc !important;
    font-weight: 750 !important;
}

/* Product/payment descriptions */
body.am-page-signup .am-row-product label em,
body.am-page-signup .am-row-products label em,
body.am-page-signup .am-row-paysys_id label em,
body.am-page-signup .am-row-payment-system label em,
body.am-page-signup .am-row-payment_id label em,
body.am-page-signup .am-row-paysys label em,
body.am-page-signup .am-row-product .comment,
body.am-page-signup .am-row-products .comment,
body.am-page-signup .am-row-paysys_id .comment,
body.am-page-signup .am-row-payment-system .comment,
body.am-page-signup .am-row-payment_id .comment,
body.am-page-signup .am-row-paysys .comment {
    color: #91a9c1 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
    font-style: normal !important;
}

/* Prevent aMember from putting radio choices inline */
body.am-page-signup .am-row-product .am-element br,
body.am-page-signup .am-row-products .am-element br,
body.am-page-signup .am-row-paysys_id .am-element br,
body.am-page-signup .am-row-payment-system .am-element br,
body.am-page-signup .am-row-payment_id .am-element br,
body.am-page-signup .am-row-paysys .am-element br {
    display: none !important;
}

/* Extra fallback if aMember outputs inputs outside labels */
body.am-page-signup .am-row-product .am-element > input[type="radio"],
body.am-page-signup .am-row-products .am-element > input[type="radio"],
body.am-page-signup .am-row-paysys_id .am-element > input[type="radio"],
body.am-page-signup .am-row-payment-system .am-element > input[type="radio"],
body.am-page-signup .am-row-payment_id .am-element > input[type="radio"],
body.am-page-signup .am-row-paysys .am-element > input[type="radio"] {
    margin-right: 8px !important;
}

/* Mobile */
@media (max-width: 680px) {
    body.am-page-signup .am-row-product label,
    body.am-page-signup .am-row-products label,
    body.am-page-signup .am-row-paysys_id label,
    body.am-page-signup .am-row-payment-system label,
    body.am-page-signup .am-row-payment_id label,
    body.am-page-signup .am-row-paysys label {
        padding: 12px 13px !important;
        font-size: 12.5px !important;
        border-radius: 14px !important;
    }
}

/* =========================================================
   FairTicks Signup - Robust Product / Payment Radio Layout
   Must stay at the VERY END
   Version: 1.0.5
   ========================================================= */

/* Detect rows by radio input names, not only by aMember row class */
body.am-page-signup .am-row:has(input[type="radio"][name*="product"]),
body.am-page-signup .am-row:has(input[type="radio"][name*="paysys"]),
body.am-page-signup .am-row:has(input[type="radio"][name*="payment"]) {
    width: 100% !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    display: block !important;
}

/* Title of Product / Payment rows */
body.am-page-signup .am-row:has(input[type="radio"][name*="product"]) > .am-element-title,
body.am-page-signup .am-row:has(input[type="radio"][name*="paysys"]) > .am-element-title,
body.am-page-signup .am-row:has(input[type="radio"][name*="payment"]) > .am-element-title {
    width: 100% !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    color: #f8fafc !important;
    font-size: 11.5px !important;
    line-height: 1.35 !important;
    font-weight: 750 !important;
    letter-spacing: 0.07em !important;
    text-transform: uppercase !important;
    text-align: left !important;
}

/* Force radio choices container into vertical stack */
body.am-page-signup .am-row:has(input[type="radio"][name*="product"]) > .am-element,
body.am-page-signup .am-row:has(input[type="radio"][name*="paysys"]) > .am-element,
body.am-page-signup .am-row:has(input[type="radio"][name*="payment"]) > .am-element {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

/* Remove line breaks from native output */
body.am-page-signup .am-row:has(input[type="radio"][name*="product"]) > .am-element br,
body.am-page-signup .am-row:has(input[type="radio"][name*="paysys"]) > .am-element br,
body.am-page-signup .am-row:has(input[type="radio"][name*="payment"]) > .am-element br {
    display: none !important;
}

/* If aMember outputs labels around options */
body.am-page-signup .am-row:has(input[type="radio"][name*="product"]) > .am-element label,
body.am-page-signup .am-row:has(input[type="radio"][name*="paysys"]) > .am-element label,
body.am-page-signup .am-row:has(input[type="radio"][name*="payment"]) > .am-element label {
    width: 100% !important;
    min-height: 50px !important;

    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 12px !important;

    margin: 0 !important;
    padding: 13px 15px !important;

    border-radius: 16px !important;
    border: 1px solid rgba(93, 188, 255, 0.20) !important;
    background:
        linear-gradient(135deg, rgba(55, 213, 255, 0.055), rgba(47, 140, 255, 0.030)),
        rgba(2, 6, 23, 0.52) !important;

    color: #dbeafe !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.035),
        0 10px 24px rgba(0, 0, 0, 0.10) !important;

    cursor: pointer !important;
}

/* Checked card */
body.am-page-signup .am-row:has(input[type="radio"][name*="product"]) > .am-element label:has(input[type="radio"]:checked),
body.am-page-signup .am-row:has(input[type="radio"][name*="paysys"]) > .am-element label:has(input[type="radio"]:checked),
body.am-page-signup .am-row:has(input[type="radio"][name*="payment"]) > .am-element label:has(input[type="radio"]:checked) {
    border-color: rgba(55, 213, 255, 0.58) !important;
    background:
        linear-gradient(135deg, rgba(55, 213, 255, 0.13), rgba(47, 140, 255, 0.055)),
        rgba(2, 6, 23, 0.72) !important;
    box-shadow:
        0 0 0 1px rgba(55, 213, 255, 0.10),
        0 14px 34px rgba(47, 140, 255, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

/* Radio visual */
body.am-page-signup .am-row:has(input[type="radio"][name*="product"]) input[type="radio"],
body.am-page-signup .am-row:has(input[type="radio"][name*="paysys"]) input[type="radio"],
body.am-page-signup .am-row:has(input[type="radio"][name*="payment"]) input[type="radio"] {
    width: 16px !important;
    height: 16px !important;
    margin: 2px 0 0 !important;
    flex: 0 0 auto !important;
    accent-color: #37d5ff !important;
}

/* Text inside option */
body.am-page-signup .am-row:has(input[type="radio"][name*="product"]) label strong,
body.am-page-signup .am-row:has(input[type="radio"][name*="paysys"]) label strong,
body.am-page-signup .am-row:has(input[type="radio"][name*="payment"]) label strong {
    color: #f8fafc !important;
    font-weight: 700 !important;
}

body.am-page-signup .am-row:has(input[type="radio"][name*="product"]) label em,
body.am-page-signup .am-row:has(input[type="radio"][name*="paysys"]) label em,
body.am-page-signup .am-row:has(input[type="radio"][name*="payment"]) label em {
    color: #91a9c1 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
    font-style: normal !important;
}

/* Better spacing after product/payment sections */
body.am-page-signup .am-row:has(input[type="radio"][name*="product"]) + .am-row:has(input[type="radio"][name*="paysys"]),
body.am-page-signup .am-row:has(input[type="radio"][name*="product"]) + .am-row:has(input[type="radio"][name*="payment"]) {
    margin-top: 4px !important;
}

/* Mobile */
@media (max-width: 680px) {
    body.am-page-signup .am-row:has(input[type="radio"][name*="product"]) > .am-element label,
    body.am-page-signup .am-row:has(input[type="radio"][name*="paysys"]) > .am-element label,
    body.am-page-signup .am-row:has(input[type="radio"][name*="payment"]) > .am-element label {
        min-height: 46px !important;
        padding: 12px 13px !important;
        border-radius: 14px !important;
        font-size: 12.5px !important;
    }
}

/* =========================================================
   FairTicks Signup - Standard Fields Alignment Fix
   Must stay at the VERY END
   Version: 1.0.6
   ========================================================= */

/* Every non-radio form row should be vertical, clean, full width */
body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) {
    width: 100% !important;
    display: block !important;
    clear: both !important;
    float: none !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    text-align: left !important;
    background: transparent !important;
    border: 0 !important;
}

/* Kill native aMember left/right form layout */
body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) > .am-element-title,
body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) > .am-element {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    display: block !important;
    float: none !important;
    clear: both !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;

    text-align: left !important;
}

/* Label block */
body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) > .am-element-title {
    margin: 0 0 8px !important;
    color: #d8e6f7 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    letter-spacing: 0.01em !important;
    text-transform: none !important;
}

/* Label text */
body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) > .am-element-title label,
body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) > .am-element-title .am-element-title {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #d8e6f7 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    letter-spacing: 0.01em !important;
    text-align: left !important;
    text-transform: none !important;
}

/* Helper/comment text under labels */
body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) .comment,
body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) .am-comment,
body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) .am-description,
body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) .am-field-hint,
body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) small {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;

    margin: 5px 0 0 !important;
    padding: 0 !important;

    color: #8fa8c2 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-transform: none !important;
}

/* Field container */
body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) > .am-element {
    margin: 0 !important;
}

/* Inputs must always fill the card */
body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) input[type="text"],
body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) input[type="email"],
body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) input[type="password"],
body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) input[type="tel"],
body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) select,
body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) textarea {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

/* Fix password reveal wrappers from aMember */
body.am-page-signup .fts-form-zone .am-pass-reveal-wrapper,
body.am-page-signup .fts-form-zone .am-pass-reveal-wrap,
body.am-page-signup .fts-form-zone .am-password-wrapper,
body.am-page-signup .fts-form-zone .am-password-field,
body.am-page-signup .fts-form-zone span:has(> input.am-pass-reveal),
body.am-page-signup .fts-form-zone div:has(> input.am-pass-reveal) {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    display: block !important;
    position: relative !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* Password input itself */
body.am-page-signup .fts-form-zone input.am-pass-reveal,
body.am-page-signup .fts-form-zone input[type="password"] {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    display: block !important;
}

/* Password eye icon alignment */
body.am-page-signup .fts-form-zone .am-pass-reveal-button,
body.am-page-signup .fts-form-zone .am-pass-reveal-icon,
body.am-page-signup .fts-form-zone .am-pass-reveal-wrap a,
body.am-page-signup .fts-form-zone .am-pass-reveal-wrapper a {
    position: absolute !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    opacity: 0.65 !important;
}

/* Remove ugly native password meter line if present */
body.am-page-signup .fts-form-zone .am-pass-strength,
body.am-page-signup .fts-form-zone .am-password-strength,
body.am-page-signup .fts-form-zone .password-strength,
body.am-page-signup .fts-form-zone .password-meter,
body.am-page-signup .fts-form-zone .am-password-meter {
    display: none !important;
}

/* If aMember places first/last name in multiple fields, keep spacing clean */
body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) > .am-element input + input,
body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) > .am-element select + select,
body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) > .am-element input + select,
body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) > .am-element select + input {
    margin-top: 8px !important;
}

/* A softer premium spacing for sections */
body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) + .am-row:not(:has(input[type="radio"])) {
    margin-top: 2px !important;
}

/* Required star */
body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) .required,
body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) .am-required,
body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) .am-element-title::first-letter {
    color: #ff6b6b !important;
}

/* Mobile refinement */
@media (max-width: 680px) {
    body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) {
        margin-bottom: 14px !important;
    }

    body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) > .am-element-title,
    body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) > .am-element-title label {
        font-size: 11.5px !important;
    }

    body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) .comment,
    body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) .am-comment,
    body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) .am-description,
    body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) .am-field-hint,
    body.am-page-signup .fts-form-zone .am-row:not(:has(input[type="radio"])) small {
        font-size: 11.5px !important;
        line-height: 1.4 !important;
    }
}

/* =========================================================
   FairTicks Signup - Password Field Final Fix
   Must stay at the VERY END
   Version: 1.0.7
   ========================================================= */

/* Force every password row to behave like a clean vertical field */
body.am-page-signup .fts-form-zone .am-row:has(input[type="password"]),
body.am-page-signup .fts-form-zone .am-row:has(input.am-pass-reveal) {
    width: 100% !important;
    max-width: none !important;
    display: block !important;
    clear: both !important;
    float: none !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    text-align: left !important;
}

/* Kill native two-column layout specifically on password rows */
body.am-page-signup .fts-form-zone .am-row:has(input[type="password"]) > .am-element-title,
body.am-page-signup .fts-form-zone .am-row:has(input[type="password"]) > .am-element,
body.am-page-signup .fts-form-zone .am-row:has(input.am-pass-reveal) > .am-element-title,
body.am-page-signup .fts-form-zone .am-row:has(input.am-pass-reveal) > .am-element {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    display: block !important;
    float: none !important;
    clear: both !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;
}

/* Password labels */
body.am-page-signup .fts-form-zone .am-row:has(input[type="password"]) > .am-element-title,
body.am-page-signup .fts-form-zone .am-row:has(input.am-pass-reveal) > .am-element-title {
    margin-bottom: 8px !important;
}

body.am-page-signup .fts-form-zone .am-row:has(input[type="password"]) > .am-element-title label,
body.am-page-signup .fts-form-zone .am-row:has(input.am-pass-reveal) > .am-element-title label,
body.am-page-signup .fts-form-zone .am-row:has(input[type="password"]) > .am-element-title .am-element-title,
body.am-page-signup .fts-form-zone .am-row:has(input.am-pass-reveal) > .am-element-title .am-element-title {
    display: block !important;
    width: 100% !important;
    color: #d8e6f7 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    text-align: left !important;
}

/* Password helper text */
body.am-page-signup .fts-form-zone .am-row:has(input[type="password"]) .comment,
body.am-page-signup .fts-form-zone .am-row:has(input[type="password"]) .am-comment,
body.am-page-signup .fts-form-zone .am-row:has(input[type="password"]) .am-description,
body.am-page-signup .fts-form-zone .am-row:has(input.am-pass-reveal) .comment,
body.am-page-signup .fts-form-zone .am-row:has(input.am-pass-reveal) .am-comment,
body.am-page-signup .fts-form-zone .am-row:has(input.am-pass-reveal) .am-description {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 5px 0 0 !important;
    color: #8fa8c2 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
    text-align: left !important;
}

/* Destroy native password wrapper widths */
body.am-page-signup .fts-form-zone .am-row:has(input[type="password"]) .am-element *,
body.am-page-signup .fts-form-zone .am-row:has(input.am-pass-reveal) .am-element * {
    max-width: none !important;
}

/* Common aMember password wrappers */
body.am-page-signup .fts-form-zone .am-pass-reveal-wrapper,
body.am-page-signup .fts-form-zone .am-pass-reveal-wrap,
body.am-page-signup .fts-form-zone .am-password-wrapper,
body.am-page-signup .fts-form-zone .am-password-field,
body.am-page-signup .fts-form-zone span:has(input[type="password"]),
body.am-page-signup .fts-form-zone div:has(input[type="password"]),
body.am-page-signup .fts-form-zone span:has(input.am-pass-reveal),
body.am-page-signup .fts-form-zone div:has(input.am-pass-reveal) {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    display: block !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Password inputs must be full width */
body.am-page-signup .fts-form-zone input[type="password"],
body.am-page-signup .fts-form-zone input.am-pass-reveal {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
}

/* Password eye icon */
body.am-page-signup .fts-form-zone .am-pass-reveal-button,
body.am-page-signup .fts-form-zone .am-pass-reveal-icon,
body.am-page-signup .fts-form-zone .am-pass-reveal-wrap a,
body.am-page-signup .fts-form-zone .am-pass-reveal-wrapper a,
body.am-page-signup .fts-form-zone span:has(input.am-pass-reveal) a,
body.am-page-signup .fts-form-zone div:has(input.am-pass-reveal) a {
    position: absolute !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    opacity: 0.65 !important;
}

/* Hide native password strength line / meter */
body.am-page-signup .fts-form-zone .am-pass-strength,
body.am-page-signup .fts-form-zone .am-password-strength,
body.am-page-signup .fts-form-zone .password-strength,
body.am-page-signup .fts-form-zone .password-meter,
body.am-page-signup .fts-form-zone .am-password-meter,
body.am-page-signup .fts-form-zone .am-pass-indicator,
body.am-page-signup .fts-form-zone .am-pass-indicator-bar,
body.am-page-signup .fts-form-zone .am-pass-reveal-wrapper + div,
body.am-page-signup .fts-form-zone .am-pass-reveal-wrap + div {
    display: none !important;
}

/* Remove the strange horizontal native line if it is a border/hr */
body.am-page-signup .fts-form-zone .am-row:has(input[type="password"]) hr,
body.am-page-signup .fts-form-zone .am-row:has(input.am-pass-reveal) hr {
    display: none !important;
}


/* =========================================================
   FairTicks Signup - Compact Professional Form Layout
   Must stay at the VERY END
   Version: 1.0.8
   ========================================================= */

/* Remove bad red first-letter behavior */
body.am-page-signup .fts-form-zone .am-element-title::first-letter,
body.am-page-signup .fts-form-zone label::first-letter {
    color: inherit !important;
}

body.am-page-signup .fts-required-star {
    color: #ff6b6b !important;
    font-weight: 800 !important;
    margin-right: 2px !important;
}

/* Make card slightly wider and more usable */
body.am-page-signup .fts-signup-right {
    flex: 0 0 720px !important;
    max-width: 720px !important;
    min-width: 560px !important;
}

body.am-page-signup .fts-card {
    max-width: 720px !important;
    padding-bottom: 0 !important;
}

/* Standard rows */
body.am-page-signup .fts-form-zone .am-row {
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 14px !important;
}

/* Name row: First Name | Last Name */
body.am-page-signup .fts-row-name-pair > .am-element {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
}

body.am-page-signup .fts-row-name-pair > .am-element input {
    width: 100% !important;
    margin: 0 !important;
}

/* Field pairs created by JS */
body.am-page-signup .fts-field-pair {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 12px !important;
    margin: 0 0 14px !important;
}

body.am-page-signup .fts-field-pair .am-row {
    margin: 0 !important;
}

body.am-page-signup .fts-field-pair .am-element-title,
body.am-page-signup .fts-field-pair .am-element {
    width: 100% !important;
    max-width: none !important;
}

/* Password pair final correction */
body.am-page-signup .fts-password-pair input[type="password"],
body.am-page-signup .fts-password-pair input.am-pass-reveal,
body.am-page-signup .fts-password-pair .am-pass-reveal-wrapper,
body.am-page-signup .fts-password-pair .am-pass-reveal-wrap,
body.am-page-signup .fts-password-pair div:has(input[type="password"]),
body.am-page-signup .fts-password-pair span:has(input[type="password"]) {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

/* Remove the ugly password meter / horizontal line */
body.am-page-signup .fts-password-pair .am-pass-strength,
body.am-page-signup .fts-password-pair .am-password-strength,
body.am-page-signup .fts-password-pair .password-strength,
body.am-page-signup .fts-password-pair .password-meter,
body.am-page-signup .fts-password-pair .am-password-meter,
body.am-page-signup .fts-password-pair hr,
body.am-page-signup .fts-form-zone .am-pass-strength,
body.am-page-signup .fts-form-zone .am-password-strength,
body.am-page-signup .fts-form-zone .password-strength,
body.am-page-signup .fts-form-zone .password-meter,
body.am-page-signup .fts-form-zone .am-password-meter {
    display: none !important;
}

/* Product/payment should remain vertical cards after user info */
body.am-page-signup .am-row:has(input[type="radio"][name*="product"]),
body.am-page-signup .am-row:has(input[type="radio"][name*="paysys"]),
body.am-page-signup .am-row:has(input[type="radio"][name*="payment"]) {
    margin-top: 4px !important;
    margin-bottom: 14px !important;
}

/* Keep labels elegant */
body.am-page-signup .fts-form-zone .am-element-title,
body.am-page-signup .fts-form-zone .am-element-title label {
    color: #d8e6f7 !important;
    font-size: 11.5px !important;
    line-height: 1.35 !important;
    font-weight: 650 !important;
    letter-spacing: 0.01em !important;
    text-align: left !important;
    text-transform: none !important;
}

/* Helper texts lighter */
body.am-page-signup .fts-form-zone .comment,
body.am-page-signup .fts-form-zone .am-comment,
body.am-page-signup .fts-form-zone .am-description,
body.am-page-signup .fts-form-zone .am-field-hint,
body.am-page-signup .fts-form-zone small {
    color: #8fa8c2 !important;
    font-size: 11.5px !important;
    line-height: 1.45 !important;
    font-weight: 450 !important;
    text-align: left !important;
    text-transform: none !important;
}

/* Inputs slightly more compact */
body.am-page-signup .fts-form-zone input[type="text"],
body.am-page-signup .fts-form-zone input[type="email"],
body.am-page-signup .fts-form-zone input[type="password"],
body.am-page-signup .fts-form-zone input[type="tel"],
body.am-page-signup .fts-form-zone select,
body.am-page-signup .fts-form-zone textarea {
    min-height: 48px !important;
    border-radius: 14px !important;
    font-size: 13.5px !important;
}

/* Sticky signup button */
body.am-page-signup .fts-form-zone .am-row-buttons {
    position: sticky !important;
    bottom: 0 !important;
    z-index: 20 !important;

    margin: 18px -28px 0 !important;
    padding: 16px 28px 24px !important;

    background:
        linear-gradient(180deg, rgba(2, 6, 23, 0.10), rgba(2, 6, 23, 0.94) 28%, rgba(2, 6, 23, 0.98)) !important;

    border-top: 1px solid rgba(93, 188, 255, 0.12) !important;
    backdrop-filter: blur(14px) !important;
}

body.am-page-signup .fts-form-zone .am-row-buttons .am-element {
    margin: 0 !important;
}

body.am-page-signup .fts-form-zone input[type="submit"],
body.am-page-signup .fts-form-zone button[type="submit"] {
    width: 100% !important;
    min-height: 54px !important;
    border-radius: 15px !important;
    font-size: 14px !important;
    font-weight: 850 !important;
}

/* Secure note spacing after sticky button */
body.am-page-signup .fts-secure-note {
    margin-top: 12px !important;
    padding-bottom: 18px !important;
}

/* Mobile: keep one column, logo + form only */
@media (max-width: 900px), (orientation: portrait) and (max-width: 1180px) {
    body.am-page-signup .fts-signup-right {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: none !important;
    }

    body.am-page-signup .fts-card {
        max-width: 460px !important;
        padding-bottom: 0 !important;
    }

    body.am-page-signup .fts-row-name-pair > .am-element,
    body.am-page-signup .fts-field-pair {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    body.am-page-signup .fts-form-zone .am-row-buttons {
        margin-left: -16px !important;
        margin-right: -16px !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        padding-bottom: 20px !important;
    }
}