.Inputfield {
    clear: both;
    box-sizing: border-box;
}

#LoginRegisterForm > .Inputfields > .Inputfield:first-child,
#inviteForm > .Inputfields > .Inputfield:first-child {
    margin-top: 40px;
}

#wrap_register_terms_agreed .pw-no-select,
#wrap_register_share_sign_up .pw-no-select,
.Inputfield_agree_t_and_c_checkbox .pw-no-select {
    font-size: 1rem;
    color: var(--dkgrey);
}

#wrap_register_terms_agreed .InputfieldContent > label,
#wrap_register_share_sign_up .InputfieldContent > label,
.Inputfield_agree_t_and_c_checkbox .InputfieldContent > label {
    display: flex;
    align-items: flex-start;
}

#wrap_register_terms_agreed .InputfieldContent > label > input[type="checkbox"],
#wrap_register_share_sign_up .InputfieldContent > label > input[type="checkbox"],
.Inputfield_agree_t_and_c_checkbox .InputfieldContent > label > input[type="checkbox"] {
    flex-shrink: 0;
    margin-top: 4px;
    border-radius: 4px;
}

ul.InputfieldRadiosStacked {
    margin: 0;
}

.InputfieldRadiosStacked label span {
    font-size: 1rem;
}


.Inputfield_register_pass .description,
.Inputfield_profile_pass .description,
.Inputfield_pwd .description {
    color: var(--dkgrey);
    font-size: 0.95rem;
}

.InputfieldPassword .InputfieldContent {
    display: flex;
    flex-wrap: wrap;
}
.InputfieldPassword .InputfieldContent p.description {
    flex: 0 0 100%;
    margin-bottom: 0;
}
.InputfieldPassword .InputfieldContent .InputfieldPasswordRow {
    flex: 1;
    min-width: 45%;
    margin-right: 1%;
}
.InputfieldPassword .InputfieldContent .InputfieldPasswordRow:last-of-type {
    margin-right: 0;
}

#profile_email {
    margin-bottom: 5px;
}

#profile_email ~ .notes {
    margin-top: 0;
    color: var(--dkgrey);
}

.pass-scores, .pass-confirm {
    font-size: 0.85rem;
}

.Inputfield:not(.InputfieldSubmit) {
    margin: 0;
    padding: 20px;
    border: none;
    background: transparent;
    border-radius: 10px;
}

.Inputfield:not(.InputfieldSubmit) .uk-input,
.Inputfield:not(.InputfieldSubmit) .uk-textarea {
    border-radius: 10px;
    border-color: #d5d5d5;
}

.InputfieldColumnWidth {
    /* columns that are not 100% width */
    float: left;
    clear: none;
}
.InputfieldColumnWidthFirst {
    /* first column in a row of Inputfield columns */
    clear: both;
}
.InputfieldColumnWidth:not(.InputfieldColumnWidthFirst) {
    /* any column except first, in a row of Inputfield columns */
    margin-left: 1%;
}
.InputfieldPassword input {
    /* password input */
    width: 100%;
}
.LoginRegisterMessage {
    /* message notification */
    font-weight: bold;
    padding: 0.5em;
    border: 2px solid var(--cg-color);
    border-radius: 10px;
}
.LoginRegisterError {
    /* error notification */
    color: red;
    border: 1px solid red;
    font-weight: bold;
    padding: 10px 20px;
}

/* Verification code inputs — styles are in the shared partial: partials/verify_code_inputs.php */

/* Auth section — min-height prevents footer riding up when email fields are hidden */
.login-auth-section:has(+ .email-fields-hidden) {
    min-height: 200px;
}

/* Auth buttons (Google, email) */
.auth-btn,
.InputfieldSubmit .uk-button {
    border-radius: 10px !important;
}

.auth-btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
}
.auth-btn svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

/* Auth divider */
.auth-divider {
    display: flex;
    align-items: center;
    margin: 20px 0;
    gap: 16px;
}
.auth-divider::before,
.auth-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #dadce0;
}
.auth-divider span {
    color: #5f6368;
    font-size: 0.875rem;
}

/* Email fields collapsible section */
.email-fields-hidden {
    display: none;
}

/* Space between email toggle button and the revealed fields */
#emailLoginFields,
#emailFields {
    margin-top: 20px;
}

/* Login form fields should be full width to match auth buttons */
#emailLoginFields .Inputfield {
    width: 100% !important;
    clear: both !important;
}
#emailLoginFields .InputfieldContent {
    width: 100% !important;
}
#emailLoginFields .uk-input {
    width: 100% !important;
}

/* Auth section wrapper — visually disabled until profile fields are complete */
#authSection {
    margin-top: 10px;
    opacity: 0.4;
}

/* JS adds .enabled when profile fields are complete */
#authSection.enabled {
    opacity: 1;
}

/* Disable the actual buttons (not the wrapper) so clicks still bubble for validation */
#authSection:not(.enabled) .auth-btn {
    pointer-events: none;
}

/* Hide PW admin password strength/confirm labels (replaced by vanilla JS checker) */
.pass-scores,
.pass-confirm {
    display: none !important;
}

/* Frontend password checker */
.pass-check { margin-top: 6px; font-size: 0.875rem; }
.pass-check li { list-style: none; padding: 2px 0; color: #999; }
.pass-check li.pass-ok { color: #4a7c59; }
.pass-check li.pass-ok::before { content: '✓ '; }
.pass-check li:not(.pass-ok)::before { content: '✗ '; }
.pass-match { margin-top: 6px; font-size: 0.875rem; color: #999; }
.pass-match.pass-ok { color: #4a7c59; }

/* Submit button — match auth button disabled look */
#authSection.enabled #register_submit:disabled {
    opacity: 0.4;
    pointer-events: none;
}

/* Ensure links are visible in alert boxes */
.uk-alert-danger a {
    text-decoration: underline !important;
}
