/* ==========================================================
   Hamsare Masihi Core - Youzify Authentication Pages
   Scope: membership pages only. No activity/member selectors.
   ========================================================== */

body .youzify-membership {
    --hm-auth-font: iransans, IRANSans, Tahoma, Arial, sans-serif;
    --hm-auth-text: #263b53;
    --hm-auth-title: #17375e;
    --hm-auth-border: #c9d6e2;
    --hm-auth-soft: #eef4f8;
    --hm-auth-select: #dfe9f2;
    --hm-auth-focus: #4c7ca8;

    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 32px 12px !important;
    direction: rtl !important;
    font-family: var(--hm-auth-font) !important;
}

/*
 * Neutralize the old Customizer rule that forced this component to 100vw.
 * The extra class specificity is intentional so this file wins even while
 * that legacy rule is still present.
 */
body .youzify-membership.youzify-membership-page-box.youzify-page {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

/*
 * Astra limits .ast-container to the site content width. On authentication
 * pages that produced white gutters on both sides of the blue background.
 * :has() keeps this full-width reset strictly limited to membership pages.
 */
body:has(#youzify-membership) #content {
    width: 100% !important;
    max-width: none !important;
    background: #a7bad1 !important;
}

body:has(#youzify-membership) #content > .ast-container {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* One font system for all visible form text. Icon elements are excluded. */
body .youzify-membership .youzify-membership-form,
body .youzify-membership .youzify-membership-form h1,
body .youzify-membership .youzify-membership-form h2,
body .youzify-membership .youzify-membership-form h3,
body .youzify-membership .youzify-membership-form p,
body .youzify-membership .youzify-membership-form a,
body .youzify-membership .youzify-membership-form span,
body .youzify-membership .youzify-membership-form label,
body .youzify-membership .youzify-membership-form legend,
body .youzify-membership .youzify-membership-form input,
body .youzify-membership .youzify-membership-form select,
body .youzify-membership .youzify-membership-form textarea,
body .youzify-membership .youzify-membership-form button,
body .youzify-membership .youzify-membership-form-note,
body .youzify-membership .youzify-membership-forgot-password,
body .youzify-membership .youzify-membership-form-item,
body .youzify-membership .youzify-membership-item-content,
body .youzify-membership .nice-select,
body .youzify-membership .select2-container {
    font-family: var(--hm-auth-font) !important;
}

body .youzify-membership .youzify-membership-form,
body .youzify-membership .youzify-membership-form * {
    box-sizing: border-box;
}

/* One outer card only. */
body .youzify-membership .youzify-membership-form {
    width: 100% !important;
    max-width: 640px !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    color: var(--hm-auth-text) !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 14px !important;
    box-shadow: 0 8px 26px rgba(30, 55, 82, 0.10) !important;
}

body .youzify-membership .youzify-membership-signup-page {
    max-width: 640px !important;
}

body .youzify-membership .youzify-membership-login-page,
body .youzify-membership .youzify-membership-form.youzify-membership-login-page,
body .youzify-membership.youzify-membership-login-page .youzify-membership-form {
    max-width: 440px !important;
}

/* Compact cover. */
body .youzify-membership .youzify-membership-form-header,
body .youzify-membership .youzify-membership-form-cover {
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 14px 14px 0 0 !important;
}

body .youzify-membership .youzify-membership-form-cover {
    height: 180px !important;
    min-height: 0 !important;
    padding: 0 !important;
    background-position: center !important;
    background-size: cover !important;
}

body .youzify-membership .youzify-membership-form-cover .form-cover-title {
    padding: 7px 18px !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    line-height: 1.7 !important;
}

/* Remove the excessive inner page padding. */
body .youzify-membership #register-page,
body .youzify-membership #login-page,
body .youzify-membership #lost-password-page,
body .youzify-membership .youzify-membership-form > .page,
body .youzify-membership .youzify-membership-login-page .page,
body .youzify-membership .youzify-membership-login-page .youzify-membership-form-content {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 26px 28px 30px !important;
    background: #fff !important;
}

/* The current Youzify login template places the form directly in the card. */
body .youzify-membership .youzify-membership-login-page #youzify-membership-form {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 26px 28px 30px !important;
    background: #fff !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Password recovery uses the login card markup with its own form class. */
body .youzify-membership .youzify-membership-lost-password-page
    #youzify-membership-form.youzify-membership-lost_password-form {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 26px 28px 30px !important;
    background: #fff !important;
    border: 0 !important;
    box-shadow: none !important;
}

body .youzify-membership .youzify-membership-lost-password-page
    #youzify-membership-form .youzify-membership-form-note {
    margin: 0 0 20px !important;
    color: #607286 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.9 !important;
    text-align: right !important;
}

/* Remove every nested card added around account/profile sections. */
body .youzify-membership #youzify_membership_signup_form #basic-details-section,
body .youzify-membership #youzify_membership_signup_form #profile-details-section,
body .youzify-membership #youzify_membership_signup_form .register-section,
body .youzify-membership #youzify_membership_signup_form .editfield,
body .youzify-membership #youzify_membership_signup_form .editfield > fieldset {
    width: 100% !important;
    max-width: 100% !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body .youzify-membership #youzify_membership_signup_form #basic-details-section,
body .youzify-membership #youzify_membership_signup_form #profile-details-section,
body .youzify-membership #youzify_membership_signup_form .register-section {
    margin: 0 !important;
    padding: 0 !important;
}

/* Login uses form-item wrappers instead of BuddyPress editfield wrappers. */
body .youzify-membership .youzify-membership-form-item,
body .youzify-membership .youzify-membership-item-content {
    width: 100% !important;
    max-width: 100% !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body .youzify-membership .youzify-membership-form-item {
    margin: 0 0 14px !important;
    padding: 0 !important;
}

body .youzify-membership .youzify-membership-item-content {
    margin: 0 !important;
    padding: 0 !important;
}

/*
 * Login inputs consist of a field shell, an icon and the input. Keep the
 * single visible border on the shell so the control cannot split into two
 * stacked boxes.
 */
body .youzify-membership .youzify-membership-login-page
    #youzify-membership-form .youzify-membership-field-content {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid var(--hm-auth-border) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

body .youzify-membership .youzify-membership-login-page
    #youzify-membership-form .youzify-membership-field-icon {
    position: absolute !important;
    top: 0 !important;
    right: auto !important;
    left: 0 !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    width: 43px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #718296 !important;
    background: var(--hm-auth-soft) !important;
    border: 0 !important;
    border-right: 1px solid var(--hm-auth-border) !important;
    line-height: 42px !important;
}

body .youzify-membership .youzify-membership-login-page
    #youzify-membership-form .youzify-membership-field-content > input[type="text"],
body .youzify-membership .youzify-membership-login-page
    #youzify-membership-form .youzify-membership-field-content > input[type="email"],
body .youzify-membership .youzify-membership-login-page
    #youzify-membership-form .youzify-membership-field-content > input[type="password"] {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 8px 12px 8px 55px !important;
    color: var(--hm-auth-text) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-align: right !important;
}

body .youzify-membership .youzify-membership-login-page
    #youzify-membership-form .youzify-membership-field-content:focus-within {
    border-color: var(--hm-auth-focus) !important;
    box-shadow: 0 0 0 3px rgba(76, 124, 168, 0.13) !important;
}

body .youzify-membership #youzify_membership_signup_form #basic-details-section {
    margin-bottom: 26px !important;
}

body .youzify-membership #youzify_membership_signup_form .editfield {
    margin: 0 0 17px !important;
    padding: 0 0 17px !important;
    border-bottom: 1px solid #edf1f4 !important;
}

body .youzify-membership #youzify_membership_signup_form .editfield:last-of-type {
    border-bottom: 0 !important;
}

body .youzify-membership #youzify_membership_signup_form .editfield > fieldset {
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Clean section headings, without a box behind the text. */
body .youzify-membership #youzify_membership_signup_form .youzify-membership-section-title,
body .youzify-membership #youzify_membership_signup_form #profile-details-section > h2 {
    display: block !important;
    width: 100% !important;
    margin: 0 0 18px !important;
    padding: 0 0 9px !important;
    color: var(--hm-auth-title) !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 2px solid #e1e9f0 !important;
    border-radius: 0 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.8 !important;
    text-align: right !important;
}

body .youzify-membership #youzify_membership_signup_form .youzify-membership-section-title span {
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    background: transparent !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}

/* Question headings. No fieldset outline and no decorative line. */
body .youzify-membership #youzify_membership_signup_form legend,
body .youzify-membership #youzify_membership_signup_form label:not(.option-label),
body .youzify-membership #youzify_membership_login_form label,
body .youzify-membership #logy_login_form label,
body .youzify-membership .youzify-membership-form-item .youzify-membership-item-content > label,
body .youzify-membership .youzify-membership-login-page form label {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 7px !important;
    padding: 0 !important;
    color: var(--hm-auth-title) !important;
    background: transparent !important;
    border: 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.85 !important;
    text-align: right !important;
}

body .youzify-membership #youzify_membership_signup_form #basic-details-section > label:not(:first-of-type) {
    margin-top: 14px !important;
}

/* Text fields: one border only. */
body .youzify-membership #youzify_membership_signup_form input[type="text"],
body .youzify-membership #youzify_membership_signup_form input[type="email"],
body .youzify-membership #youzify_membership_signup_form input[type="password"],
body .youzify-membership #youzify_membership_signup_form input[type="number"],
body .youzify-membership #youzify_membership_signup_form input[type="tel"],
body .youzify-membership #youzify_membership_signup_form input[type="url"],
body .youzify-membership #youzify_membership_signup_form textarea,
body .youzify-membership #youzify_membership_login_form input[type="text"],
body .youzify-membership #youzify_membership_login_form input[type="email"],
body .youzify-membership #youzify_membership_login_form input[type="password"],
body .youzify-membership #logy_login_form input[type="text"],
body .youzify-membership #logy_login_form input[type="email"],
body .youzify-membership #logy_login_form input[type="password"],
body .youzify-membership .youzify-membership-login-page .youzify-membership-form-item input[type="text"],
body .youzify-membership .youzify-membership-login-page .youzify-membership-form-item input[type="email"],
body .youzify-membership .youzify-membership-login-page .youzify-membership-form-item input[type="password"],
body .youzify-membership .youzify-membership-login-page form input[type="text"],
body .youzify-membership .youzify-membership-login-page form input[type="email"],
body .youzify-membership .youzify-membership-login-page form input[type="password"] {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 9px 12px !important;
    color: var(--hm-auth-text) !important;
    background: #fff !important;
    border: 1px solid var(--hm-auth-border) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    text-align: right !important;
}

body .youzify-membership #youzify_membership_signup_form textarea {
    min-height: 116px !important;
    height: 116px !important;
    resize: vertical !important;
}

/* Uniform blue-gray native dropdowns. */
body .youzify-membership #youzify_membership_signup_form select,
body .youzify-membership #youzify_membership_login_form select,
body .youzify-membership #logy_login_form select,
body .youzify-membership .youzify-membership-login-page form select {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 7px 12px !important;
    color: #294761 !important;
    background-color: var(--hm-auth-select) !important;
    border: 1px solid #afc0cf !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    text-align: right !important;
}

body .youzify-membership #youzify_membership_signup_form select option,
body .youzify-membership #youzify_membership_login_form select option,
body .youzify-membership #logy_login_form select option {
    color: #294761 !important;
    background: #f2f6f9 !important;
}

/* Uniform Nice Select dropdowns used by Youzify. */
body .youzify-membership .nice-select {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 13px 0 34px !important;
    color: #294761 !important;
    background: var(--hm-auth-select) !important;
    border: 1px solid #afc0cf !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 42px !important;
    text-align: right !important;
}

body .youzify-membership .nice-select .current {
    display: block !important;
    overflow: hidden !important;
    color: #294761 !important;
    line-height: 42px !important;
    text-align: right !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body .youzify-membership .nice-select::after {
    right: auto !important;
    left: 14px !important;
    border-color: #5f7488 !important;
}

body .youzify-membership .nice-select .list {
    right: 0 !important;
    left: auto !important;
    width: 100% !important;
    max-height: 240px !important;
    overflow-y: auto !important;
    color: #294761 !important;
    background: #f2f6f9 !important;
    border: 1px solid #afc0cf !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 20px rgba(40, 65, 90, 0.14) !important;
}

body .youzify-membership .nice-select .option {
    min-height: 38px !important;
    padding: 7px 12px !important;
    color: #294761 !important;
    background: transparent !important;
    font-size: 14px !important;
    line-height: 24px !important;
    text-align: right !important;
}

body .youzify-membership .nice-select .option:hover,
body .youzify-membership .nice-select .option.focus,
body .youzify-membership .nice-select .option.selected {
    color: #173d60 !important;
    background: #d3e2ee !important;
}

/* Uniform Select2 dropdowns. */
body .youzify-membership .select2-container {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

body .youzify-membership .select2-container--default .select2-selection--single {
    width: 100% !important;
    min-height: 44px !important;
    height: 44px !important;
    color: #294761 !important;
    background: var(--hm-auth-select) !important;
    border: 1px solid #afc0cf !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

body .youzify-membership .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: 0 12px 0 34px !important;
    color: #294761 !important;
    font-size: 14px !important;
    line-height: 42px !important;
    text-align: right !important;
}

body .youzify-membership .select2-container--default .select2-selection--single .select2-selection__arrow {
    right: auto !important;
    left: 8px !important;
    height: 42px !important;
}

body .select2-container--open .select2-dropdown {
    color: #294761 !important;
    background: #f2f6f9 !important;
    border-color: #afc0cf !important;
}

body .select2-container--default .select2-results__option--highlighted[aria-selected] {
    color: #173d60 !important;
    background: #d3e2ee !important;
}

/* Focus state. Validation errors below keep priority. */
body .youzify-membership #youzify_membership_signup_form input:focus,
body .youzify-membership #youzify_membership_signup_form textarea:focus,
body .youzify-membership #youzify_membership_signup_form select:focus,
body .youzify-membership #youzify_membership_login_form input:focus,
body .youzify-membership #logy_login_form input:focus,
body .youzify-membership .youzify-membership-login-page form input:focus {
    outline: 0 !important;
    border-color: var(--hm-auth-focus) !important;
    box-shadow: 0 0 0 3px rgba(76, 124, 168, 0.13) !important;
}

/* Compact birthday controls. */
body .youzify-membership #youzify_membership_signup_form .datebox-selects {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px 8px !important;
    width: 100% !important;
}

body .youzify-membership #youzify_membership_signup_form .datebox-selects > label {
    grid-row: 1 !important;
    margin: 0 !important;
    font-size: 12px !important;
}

body .youzify-membership #youzify_membership_signup_form .datebox-selects > select {
    grid-row: 2 !important;
}

body .youzify-membership #youzify_membership_signup_form .datebox-selects > label:nth-of-type(1),
body .youzify-membership #youzify_membership_signup_form .datebox-selects > select:nth-of-type(1) {
    grid-column: 1 !important;
}

body .youzify-membership #youzify_membership_signup_form .datebox-selects > label:nth-of-type(2),
body .youzify-membership #youzify_membership_signup_form .datebox-selects > select:nth-of-type(2) {
    grid-column: 2 !important;
}

body .youzify-membership #youzify_membership_signup_form .datebox-selects > label:nth-of-type(3),
body .youzify-membership #youzify_membership_signup_form .datebox-selects > select:nth-of-type(3) {
    grid-column: 3 !important;
}

/* Radio options: no outer card, only two compact choices. */
body .youzify-membership #youzify_membership_signup_form .radio-button-options,
body .youzify-membership #youzify_membership_signup_form .checkbox-options {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

body .youzify-membership #youzify_membership_signup_form .option-label {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 8px 11px !important;
    color: var(--hm-auth-text) !important;
    background: var(--hm-auth-soft) !important;
    border: 0 !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
}

body .youzify-membership #youzify_membership_signup_form input[type="radio"],
body .youzify-membership #youzify_membership_signup_form input[type="checkbox"],
body .youzify-membership #youzify_membership_login_form input[type="checkbox"],
body .youzify-membership #logy_login_form input[type="checkbox"] {
    flex: 0 0 auto !important;
    width: 19px !important;
    height: 19px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    accent-color: var(--hm-auth-focus) !important;
}

/* The two acceptance fields: separated and single-layer. */
body .youzify-membership #youzify_membership_signup_form .field_type_checkbox_acceptance.editfield {
    margin: 20px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

body .youzify-membership #youzify_membership_signup_form .field_type_checkbox_acceptance.editfield
    + .field_type_checkbox_acceptance.editfield {
    margin-top: 26px !important;
}

body .youzify-membership #youzify_membership_signup_form .field_type_checkbox_acceptance > fieldset {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}

body .youzify-membership #youzify_membership_signup_form .field_type_checkbox_acceptance label {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 11px 12px !important;
    color: var(--hm-auth-text) !important;
    background: #f2f6f9 !important;
    border: 0 !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.85 !important;
}

/* The acceptance text is a div with inline text, not a label. */
body .youzify-membership #youzify_membership_signup_form
    .bp-xprofile-checkbox-acceptance-field {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--hm-auth-text) !important;
    background: transparent !important;
    border: 0 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.85 !important;
}

body .youzify-membership #youzify_membership_signup_form
    .bp-xprofile-checkbox-acceptance-field > input.checkbox-acceptance {
    display: inline-block !important;
    float: none !important;
    width: 19px !important;
    height: 19px !important;
    min-height: 0 !important;
    margin: 4px 0 0 13px !important;
    padding: 0 !important;
    vertical-align: top !important;
}

body .youzify-membership #youzify_membership_signup_form .field_type_checkbox_acceptance a,
body .youzify-membership #youzify_membership_signup_form .bp-xprofile-checkbox-acceptance-field a {
    color: #176cad !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

/* Compact helper and editor areas. */
body .youzify-membership #hm-username-help {
    margin: 7px 0 12px !important;
    padding: 9px 11px !important;
    font-size: 12px !important;
    line-height: 1.75 !important;
}

body .youzify-membership #youzify_membership_signup_form .wp-editor-wrap {
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid var(--hm-auth-border) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

body .youzify-membership #youzify_membership_signup_form .wp-editor-container,
body .youzify-membership #youzify_membership_signup_form .wp-editor-area {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body .youzify-membership #youzify_membership_signup_form .wp-editor-area,
body .youzify-membership #youzify_membership_signup_form .mce-edit-area iframe {
    min-height: 116px !important;
    height: 116px !important;
}

/* Login fields and remember-me spacing. */
body .youzify-membership .youzify-membership-login-page form > div,
body .youzify-membership #youzify_membership_login_form > div,
body .youzify-membership #logy_login_form > div {
    margin-bottom: 14px;
}

body .youzify-membership .youzify-membership-login-page .youzify-membership-remember-me,
body .youzify-membership #youzify_membership_login_form .youzify-membership-remember-me,
body .youzify-membership #logy_login_form .youzify-membership-remember-me {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 2px 0 16px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    direction: rtl !important;
}

body .youzify-membership .youzify-membership-login-page
    #youzify-membership-form .youzify-membership-remember-me .youzify-membership-item-content {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    width: auto !important;
}

body .youzify-membership .youzify-membership-login-page
    #youzify-membership-form .youzify_membership_checkbox_field {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 29px 0 0 !important;
    color: var(--hm-auth-text) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.75 !important;
    white-space: nowrap !important;
}

body .youzify-membership .youzify-membership-login-page
    #youzify-membership-form .youzify_membership_field_indication {
    top: 50% !important;
    right: 0 !important;
    left: auto !important;
    width: 19px !important;
    height: 19px !important;
    margin: 0 !important;
    border: 1px solid #aebbc8 !important;
    border-radius: 4px !important;
    transform: translateY(-50%) !important;
}

body .youzify-membership .youzify-membership-form .form-title,
body .youzify-membership .youzify-membership-form .form-title h2 {
    margin: 0 0 16px !important;
    padding: 0 !important;
    color: var(--hm-auth-title) !important;
    background: transparent !important;
    border: 0 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.8 !important;
    text-align: right !important;
}

body .youzify-membership .youzify-membership-form-note,
body .youzify-membership .youzify-membership-forgot-password {
    color: #607286 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.8 !important;
}

body .youzify-membership .youzify-membership-login-page
    #youzify-membership-form .youzify-membership-forgot-password {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: none !important;
    min-height: 40px !important;
    margin: 0 !important;
    margin-right: auto !important;
    margin-left: 0 !important;
    margin-inline-start: auto !important;
    padding: 7px 13px !important;
    float: none !important;
    color: #c62828 !important;
    background: #fff3f3 !important;
    border: 1px solid #f0c9c9 !important;
    border-radius: 7px !important;
    box-shadow: none !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.6 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    direction: rtl !important;
}

/* Youzify may render the recovery URL as the element itself or wrap an
   anchor inside it. Keep both forms visually identical on every viewport. */
body .youzify-membership .youzify-membership-login-page
    #youzify-membership-form .youzify-membership-forgot-password a {
    display: inline !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font: inherit !important;
    line-height: inherit !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

body .youzify-membership .youzify-membership-login-page
    #youzify-membership-form .youzify-membership-forgot-password:hover,
body .youzify-membership .youzify-membership-login-page
    #youzify-membership-form .youzify-membership-forgot-password:focus-visible {
    color: #9f1f1f !important;
    background: #ffe8e8 !important;
    border-color: #dfa6a6 !important;
}

body .youzify-membership .youzify-membership-login-page
    #youzify-membership-form .youzify-membership-forgot-password:focus-visible {
    outline: 2px solid rgba(198, 40, 40, 0.25) !important;
    outline-offset: 2px !important;
}

/* Buttons use the same font and a balanced height. */
body .youzify-membership .youzify-membership-form-actions {
    margin-top: 18px !important;
}

body .youzify-membership .youzify-membership-action-item {
    margin-bottom: 10px !important;
}

body .youzify-membership .youzify-membership-form-actions button,
body .youzify-membership .youzify-membership-form-actions .youzify-membership-link-button,
body .youzify-membership #youzify_membership_login_form button[type="submit"],
body .youzify-membership #logy_login_form button[type="submit"] {
    min-height: 48px !important;
    height: 48px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 48px !important;
}

body .youzify-membership .youzify-membership-button-title,
body .youzify-membership .youzify-membership-link-button {
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 48px !important;
}

/* Preserve validation error styling. */
body .youzify-membership #youzify_membership_signup_form input.hm-signup-invalid,
body .youzify-membership #youzify_membership_signup_form select.hm-signup-invalid,
body .youzify-membership #youzify_membership_signup_form textarea.hm-signup-invalid {
    border-color: #d63638 !important;
    background-color: #fff8f8 !important;
    box-shadow: 0 0 0 3px rgba(214, 54, 56, 0.10) !important;
}

/* Mobile layout. */
@media (max-width: 600px) {
    body .youzify-membership {
        padding: 18px 8px !important;
    }

    body .youzify-membership .youzify-membership-form {
        max-width: 100% !important;
        border-radius: 11px !important;
        box-shadow: 0 5px 18px rgba(30, 55, 82, 0.09) !important;
    }

    body .youzify-membership .youzify-membership-form-header,
    body .youzify-membership .youzify-membership-form-cover {
        border-radius: 11px 11px 0 0 !important;
    }

    body .youzify-membership .youzify-membership-form-cover {
        height: 140px !important;
    }

    body .youzify-membership .youzify-membership-form-cover .form-cover-title {
        padding: 5px 13px !important;
        font-size: 18px !important;
    }

    body .youzify-membership #register-page,
    body .youzify-membership #login-page,
    body .youzify-membership #lost-password-page,
    body .youzify-membership .youzify-membership-form > .page,
    body .youzify-membership .youzify-membership-login-page .page,
    body .youzify-membership .youzify-membership-login-page .youzify-membership-form-content {
        padding: 18px 14px 22px !important;
    }

    body .youzify-membership .youzify-membership-login-page #youzify-membership-form {
        padding: 20px 16px 24px !important;
    }

    body .youzify-membership .youzify-membership-lost-password-page
        #youzify-membership-form.youzify-membership-lost_password-form {
        padding: 20px 16px 24px !important;
    }

    body .youzify-membership .youzify-membership-lost-password-page
        #youzify-membership-form .youzify-membership-form-note {
        margin-bottom: 17px !important;
        font-size: 12.5px !important;
        line-height: 1.85 !important;
    }

    body .youzify-membership .youzify-membership-login-page
        #youzify-membership-form .youzify-membership-remember-me,
    body .youzify-membership #youzify_membership_login_form
        .youzify-membership-remember-me,
    body .youzify-membership #logy_login_form
        .youzify-membership-remember-me {
        gap: 11px !important;
    }

    body .youzify-membership .youzify-membership-login-page
        #youzify-membership-form .youzify-membership-forgot-password {
        min-height: 38px !important;
        padding: 6px 10px !important;
        font-size: 13.5px !important;
    }

    body .youzify-membership #youzify_membership_signup_form .editfield {
        margin-bottom: 14px !important;
        padding-bottom: 14px !important;
    }

    body .youzify-membership #youzify_membership_signup_form .youzify-membership-section-title,
    body .youzify-membership #youzify_membership_signup_form #profile-details-section > h2,
    body .youzify-membership #youzify_membership_signup_form .youzify-membership-section-title span {
        margin-bottom: 15px !important;
        font-size: 16px !important;
    }

    body .youzify-membership #youzify_membership_signup_form legend,
    body .youzify-membership #youzify_membership_signup_form label:not(.option-label),
    body .youzify-membership #youzify_membership_login_form label,
    body .youzify-membership #logy_login_form label,
    body .youzify-membership .youzify-membership-form-item .youzify-membership-item-content > label {
        font-size: 13px !important;
    }

    body .youzify-membership #youzify_membership_signup_form input[type="text"],
    body .youzify-membership #youzify_membership_signup_form input[type="email"],
    body .youzify-membership #youzify_membership_signup_form input[type="password"],
    body .youzify-membership #youzify_membership_signup_form input[type="number"],
    body .youzify-membership #youzify_membership_signup_form input[type="tel"],
    body .youzify-membership #youzify_membership_signup_form input[type="url"],
    body .youzify-membership #youzify_membership_signup_form textarea,
    body .youzify-membership #youzify_membership_signup_form select,
    body .youzify-membership #youzify_membership_login_form input,
    body .youzify-membership #logy_login_form input,
    body .youzify-membership .youzify-membership-login-page .youzify-membership-form-item input,
    body .youzify-membership .nice-select,
    body .youzify-membership .select2-container--default .select2-selection--single {
        min-width: 0 !important;
        font-size: 16px !important;
    }

    body .youzify-membership .nice-select .current,
    body .youzify-membership .nice-select .option,
    body .youzify-membership .select2-container--default .select2-selection--single .select2-selection__rendered {
        font-size: 14px !important;
    }

    body .youzify-membership #youzify_membership_signup_form .field_type_checkbox_acceptance.editfield {
        margin: 18px 0 !important;
        padding: 0 !important;
    }

    body .youzify-membership #youzify_membership_signup_form .field_type_checkbox_acceptance.editfield
        + .field_type_checkbox_acceptance.editfield {
        margin-top: 24px !important;
    }

    body .youzify-membership #youzify_membership_signup_form .field_type_checkbox_acceptance label {
        padding: 10px !important;
        font-size: 13px !important;
        line-height: 1.8 !important;
    }

    body .youzify-membership #youzify_membership_signup_form
        .bp-xprofile-checkbox-acceptance-field {
        padding: 0 !important;
        font-size: 13px !important;
        line-height: 1.8 !important;
    }

    body .youzify-membership #youzify_membership_signup_form
        .bp-xprofile-checkbox-acceptance-field > input.checkbox-acceptance {
        margin-top: 3px !important;
        margin-left: 12px !important;
    }

    body .youzify-membership #youzify_membership_signup_form .wp-editor-area,
    body .youzify-membership #youzify_membership_signup_form .mce-edit-area iframe {
        min-height: 105px !important;
        height: 105px !important;
    }

    body .youzify-membership .youzify-membership-form-actions button,
    body .youzify-membership .youzify-membership-form-actions .youzify-membership-link-button,
    body .youzify-membership .youzify-membership-button-title {
        min-height: 46px !important;
        height: 46px !important;
        font-size: 14px !important;
        line-height: 46px !important;
    }
}

@media (max-width: 420px) {
    /* Keep both actions readable without stacking on ordinary phones. */
    body .youzify-membership .youzify-membership-login-page
        #youzify-membership-form .youzify-membership-remember-me,
    body .youzify-membership #youzify_membership_login_form
        .youzify-membership-remember-me,
    body .youzify-membership #logy_login_form
        .youzify-membership-remember-me {
        display: flex !important;
        flex-flow: row nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 9px !important;
    }

    body .youzify-membership .youzify-membership-login-page
        #youzify-membership-form .youzify-membership-remember-me
        .youzify-membership-item-content {
        flex: 0 1 auto !important;
        min-width: 0 !important;
    }

    body .youzify-membership .youzify-membership-login-page
        #youzify-membership-form .youzify-membership-forgot-password {
        min-height: 38px !important;
        padding: 6px 10px !important;
        font-size: 13.5px !important;
    }
}

@media (max-width: 360px) {
    body .youzify-membership #register-page,
    body .youzify-membership #login-page,
    body .youzify-membership #lost-password-page,
    body .youzify-membership .youzify-membership-form > .page,
    body .youzify-membership .youzify-membership-login-page .page,
    body .youzify-membership .youzify-membership-login-page .youzify-membership-form-content {
        padding-right: 10px !important;
        padding-left: 10px !important;
    }

    body .youzify-membership .youzify-membership-login-page
        #youzify-membership-form .youzify-membership-remember-me {
        gap: 7px !important;
    }

    body .youzify-membership .youzify-membership-login-page
        #youzify-membership-form .youzify_membership_checkbox_field {
        padding-right: 25px !important;
        font-size: 12px !important;
    }

    body .youzify-membership .youzify-membership-login-page
        #youzify-membership-form .youzify-membership-forgot-password {
        min-height: 36px !important;
        padding: 5px 7px !important;
        font-size: 12.5px !important;
    }
}
