.zms-auth {
    --zms-primary: #135f9e;
    --zms-text: #1f2937;
    --zms-error: #a51f28;
    --zms-radius: 18px;
    --zms-field-height: 46px;
    --zms-font-size: 14px;
    --zms-min-width: 280px;
    --zms-max-width: 430px;
    --zms-default-min-width: 280px;
    --zms-default-max-width: 430px;
    --zms-compact-min-width: 260px;
    --zms-compact-max-width: 380px;
    --zms-modal-min-width: 320px;
    --zms-modal-max-width: 480px;
    box-sizing: border-box;
    width: min(100%, var(--zms-max-width));
    max-width: min(100%, var(--zms-max-width));
    min-width: min(100%, var(--zms-min-width));
    margin-inline: auto;
    padding: 22px;
    border: 1px solid #e5e9ef;
    border-radius: var(--zms-radius);
    background: #fff;
    box-shadow: 0 14px 40px rgba(19, 45, 75, .08);
    font-family: inherit;
    font-size: var(--zms-font-size);
    color: var(--zms-text);
    overflow-wrap: anywhere;
}

.zms-auth *,
.zms-auth *::before,
.zms-auth *::after {
    box-sizing: border-box;
    min-width: 0;
}

.zms-auth__head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}

.zms-auth__head strong {
    display: block;
    font-size: calc(var(--zms-font-size) + 3px);
    line-height: 1.7;
}

.zms-auth__head small {
    display: block;
    color: #707987;
    font-size: calc(var(--zms-font-size) - 2px);
}

.zms-auth__mark,
.zms-auth__logo {
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    border-radius: min(14px, var(--zms-radius));
    object-fit: contain;
}

.zms-auth__mark {
    display: grid;
    place-items: center;
    background: color-mix(in srgb, var(--zms-primary) 12%, white);
    color: var(--zms-primary);
    font-size: 26px;
    font-weight: 800;
}

.zms-auth__stage {
    width: 100%;
    overflow: hidden;
    transition: height .22s ease;
}

.zms-auth__stage:not(.is-resizing) { height: auto !important; }
.zms-auth__view { display: none; }
.zms-auth__view.is-active { display: block; animation: zmsFade .18s ease; }
.zms-auth__form { display: grid; gap: 9px; width: 100%; }
.zms-auth label { font-size: calc(var(--zms-font-size) - 1px); font-weight: 700; }

.zms-auth input[type="text"],
.zms-auth input[type="tel"],
.zms-auth input[type="email"],
.zms-auth input[type="password"] {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: var(--zms-field-height);
    border: 1px solid #d8dee7;
    border-radius: max(8px, calc(var(--zms-radius) - 6px));
    padding-inline: 13px;
    background: #fff;
    outline: none;
    font: inherit;
    direction: ltr;
    text-align: left;
    unicode-bidi: plaintext;
}

.zms-auth input:focus {
    border-color: var(--zms-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--zms-primary) 12%, transparent);
}

/* Typed values stay LTR/left-aligned. Persian placeholders alone are RTL/right-aligned. */
.zms-auth input[type="text"]:placeholder-shown,
.zms-auth input[type="tel"]:placeholder-shown,
.zms-auth input[type="email"]:placeholder-shown,
.zms-auth input[type="password"]:placeholder-shown {
    direction: rtl;
    text-align: right;
}

.zms-auth input::placeholder {
    color: #b5bdc8;
    opacity: .68;
    font-weight: 400;
}

.zms-auth input[type="tel"],
.zms-auth__mobile-input,
.zms-mobile-account__input {
    font-weight: 700;
    letter-spacing: .02em;
}

.zms-auth__primary {
    position: relative;
    width: 100%;
    min-width: 0;
    height: var(--zms-field-height);
    margin-top: 5px;
    border: 0;
    border-radius: max(8px, calc(var(--zms-radius) - 6px));
    background: var(--zms-primary);
    color: #fff;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.zms-auth__primary:hover { filter: brightness(.94); }
.zms-auth__primary:disabled { opacity: .82; cursor: wait; }
.zms-auth__primary.is-loading { color: transparent !important; }
.zms-auth__primary.is-loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 18px;
    height: 18px;
    margin: -9px 0 0 -9px;
    border: 2px solid rgba(255,255,255,.42);
    border-top-color: #fff;
    border-radius: 50%;
    animation: zmsSpin .7s linear infinite;
}

.zms-auth__switch {
    display: block;
    max-width: 100%;
    margin: 13px auto 0;
    padding: 3px 7px;
    border: 0;
    background: transparent;
    color: var(--zms-primary);
    font: inherit;
    font-size: calc(var(--zms-font-size) - 2px);
    font-weight: 700;
    cursor: pointer;
    white-space: normal;
}

.zms-auth__switch:disabled { color: #9097a2; cursor: default; }

.zms-auth__notice {
    margin: 0 0 13px;
    padding: 10px 12px;
    border-radius: max(7px, calc(var(--zms-radius) - 8px));
    background: #f4f6f8;
    font-size: calc(var(--zms-font-size) - 2px);
    line-height: 1.8;
}

.zms-auth__notice.is-error { background: #fff0f0; color: var(--zms-error); }
.zms-auth__notice.is-success { background: #eefaf3; color: #176a3a; }
.zms-auth__hint { margin: 0; color: #667085; font-size: calc(var(--zms-font-size) - 2px); }
.zms-auth__row { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.zms-auth__remember { display: flex; align-items: center; gap: 7px; font-weight: 500 !important; }
.zms-auth__form.is-loading { pointer-events: none; }
.zms-auth__form.is-loading > :not(.zms-auth__primary) { opacity: .72; }

.zms-auth--compact {
    width: min(100%, var(--zms-max-width));
    max-width: min(100%, var(--zms-max-width));
    min-width: min(100%, var(--zms-min-width));
    padding: 16px;
    border: 0;
    border-radius: max(10px, calc(var(--zms-radius) - 5px));
    box-shadow: none;
}

.zms-auth--compact .zms-auth__head { margin-bottom: 13px; }
.zms-auth--compact .zms-auth__head small { display: none; }
.zms-auth--bare { padding: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
.zms-auth--card { box-shadow: 0 18px 55px rgba(19, 45, 75, .14); }

#mini-user-content .zms-auth {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 16px;
    border: 0;
    box-shadow: none;
}

.zms-modal {
    width: min(calc(100vw - 24px), var(--zms-modal-max-width, 480px));
    min-width: min(calc(100vw - 24px), var(--zms-modal-min-width, 320px));
    max-width: min(calc(100vw - 24px), var(--zms-modal-max-width, 480px));
    padding: 0;
    border: 0;
    border-radius: 20px;
    background: transparent;
    overflow: visible;
}

.zms-modal::backdrop { background: rgba(15, 23, 42, .58); backdrop-filter: blur(2px); }
.zms-modal__body { position: relative; width: 100%; }
.zms-modal__close { position: absolute; z-index: 4; top: 9px; left: 12px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: #f1f3f6; color: #344054; font-size: 22px; line-height: 1; cursor: pointer; }
.zms-modal-trigger { cursor: pointer; }
.zms-modal .zms-auth { width: 100%; min-width: 0; max-width: none; }

/* Polished close control for the Ayrin quick-login panel. It is injected by auth.js,
 * so it also works when auth/login.php is overridden in a child theme. */
.zms-ayrin-close {
    display: none;
    position: absolute;
    z-index: 1010;
    top: 12px;
    left: 12px;
    place-items: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid rgba(15, 23, 42, .07);
    border-radius: 999px;
    background: rgba(248, 250, 252, .92);
    color: #475467;
    box-shadow: 0 5px 18px rgba(15, 23, 42, .10);
    backdrop-filter: blur(7px);
    cursor: pointer;
    transition: transform .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.zms-ayrin-close svg { width: 20px; height: 20px; fill: currentColor; pointer-events: none; }
.zms-ayrin-close:hover { background: #fff; color: var(--zms-primary, #135f9e); box-shadow: 0 7px 22px rgba(15, 23, 42, .14); transform: translateY(-1px); }
.zms-ayrin-close:active { transform: scale(.96); }
.zms-ayrin-close:focus-visible { outline: 3px solid color-mix(in srgb, var(--zms-primary, #135f9e) 22%, transparent); outline-offset: 2px; }
.header .ayrin-popup-type #main-user-signing .sidebar-content.zms-ayrin-has-close { position: relative; }
#main-user-signing .sidebar-content.zms-ayrin-has-close > .zms-ayrin-close { display: grid; }

.zms-auth__captcha { margin: 0 0 14px; padding: 12px; border: 1px dashed #cbd5e1; border-radius: max(8px, calc(var(--zms-radius) - 6px)); background: #f8fafc; }
.zms-auth__captcha p { margin: 0 0 8px; font-size: calc(var(--zms-font-size) - 2px); }
.zms-mobile-account .zms-auth__primary { width: 100%; }
.zms-mobile-account > .zms-auth__hint { margin-bottom: 15px; }
.zms-mobile-account [data-mobile-view] { margin-top: 12px; }

.zms-auth.is-authenticated .zms-auth__captcha,
.zms-auth.is-authenticated .zms-auth__view,
.zms-auth.is-authenticated [data-zms-captcha] {
    display: none !important;
}

.zms-auth.is-authenticated .zms-auth__notice {
    display: block !important;
    margin: 0;
    text-align: center;
    font-size: var(--zms-font-size);
    font-weight: 800;
}

@keyframes zmsSpin { to { transform: rotate(360deg); } }

@keyframes zmsFade {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: none; }
}

/* Ayrin quick-login on phones and tablets. The administrator can choose
 * floating, fullscreen or the original theme mode. Floating mode supports
 * nine positions. The close button is independently configurable. */
@media (max-width: 991px) {
    .zms-auth { padding: 17px; border-radius: min(15px, var(--zms-radius)); }

    #main-user-signing #sign-sidebar.zms-ayrin-mode-floating,
    #main-user-signing #sign-sidebar.zms-ayrin-mode-fullscreen {
        position: fixed !important;
        inset: 0 !important;
        z-index: 10000 !important;
        width: 100vw !important;
        height: 100vh !important;
        height: 100dvh !important;
    }

    #main-user-signing #sign-sidebar.zms-ayrin-mode-floating .backdrop,
    #main-user-signing #sign-sidebar.zms-ayrin-mode-fullscreen .backdrop {
        position: fixed !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background: rgba(15, 23, 42, .42) !important;
        backdrop-filter: blur(5px) !important;
    }

    #main-user-signing #mini-user-content.zms-ayrin-host-floating,
    #main-user-signing #mini-user-content.zms-ayrin-host-fullscreen {
        width: 0 !important;
        min-width: 0 !important;
        max-width: 0 !important;
        height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    #main-user-signing #sign-sidebar.zms-ayrin-mode-floating .sidebar-content.zms-ayrin-panel {
        position: fixed !important;
        width: min(var(--zms-ayrin-panel-max-width, 380px), calc(100vw - 16px)) !important;
        min-width: min(var(--zms-ayrin-panel-min-width, 260px), calc(100vw - 16px)) !important;
        max-width: calc(100vw - 16px) !important;
        height: auto !important;
        max-height: calc(100vh - 16px) !important;
        max-height: calc(100dvh - 16px - env(safe-area-inset-bottom)) !important;
        padding: 18px 14px max(16px, env(safe-area-inset-bottom)) !important;
        border: 1px solid rgba(255, 255, 255, .72) !important;
        border-radius: 24px !important;
        background: rgba(255, 255, 255, .985) !important;
        box-shadow: 0 24px 70px rgba(15, 23, 42, .24) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        opacity: 0;
        transform: var(--zms-ayrin-closed-transform, translate3d(0, 20px, 0) scale(.985)) !important;
        transition: transform .34s cubic-bezier(.22, 1, .36, 1), opacity .22s ease !important;
        will-change: transform, opacity;
    }

    #main-user-signing #sign-sidebar.zms-ayrin-mode-floating.open .sidebar-content.zms-ayrin-panel {
        opacity: 1;
        transform: var(--zms-ayrin-open-transform, translate3d(0, 0, 0)) !important;
    }

    #main-user-signing #sign-sidebar.zms-ayrin-mode-floating .sidebar-content.zms-ayrin-panel::before {
        content: '';
        display: block;
        width: 44px;
        height: 4px;
        margin: -7px auto 12px;
        border-radius: 999px;
        background: #d7dce3;
    }

    /* Top row. */
    #main-user-signing #sign-sidebar.zms-ayrin-mode-floating.zms-ayrin-pos-top-right .sidebar-content.zms-ayrin-panel {
        top: max(8px, env(safe-area-inset-top)) !important; right: max(8px, env(safe-area-inset-right)) !important; bottom: auto !important; left: auto !important;
        --zms-ayrin-open-transform: translate3d(0, 0, 0);
        --zms-ayrin-closed-transform: translate3d(0, -28px, 0) scale(.985);
    }
    #main-user-signing #sign-sidebar.zms-ayrin-mode-floating.zms-ayrin-pos-top-center .sidebar-content.zms-ayrin-panel {
        top: max(8px, env(safe-area-inset-top)) !important; right: auto !important; bottom: auto !important; left: 50% !important;
        --zms-ayrin-open-transform: translate3d(-50%, 0, 0);
        --zms-ayrin-closed-transform: translate3d(-50%, -28px, 0) scale(.985);
    }
    #main-user-signing #sign-sidebar.zms-ayrin-mode-floating.zms-ayrin-pos-top-left .sidebar-content.zms-ayrin-panel {
        top: max(8px, env(safe-area-inset-top)) !important; right: auto !important; bottom: auto !important; left: max(8px, env(safe-area-inset-left)) !important;
        --zms-ayrin-open-transform: translate3d(0, 0, 0);
        --zms-ayrin-closed-transform: translate3d(0, -28px, 0) scale(.985);
    }

    /* Middle row. */
    #main-user-signing #sign-sidebar.zms-ayrin-mode-floating.zms-ayrin-pos-center-right .sidebar-content.zms-ayrin-panel {
        top: 50% !important; right: max(8px, env(safe-area-inset-right)) !important; bottom: auto !important; left: auto !important;
        --zms-ayrin-open-transform: translate3d(0, -50%, 0);
        --zms-ayrin-closed-transform: translate3d(20px, -50%, 0) scale(.985);
    }
    #main-user-signing #sign-sidebar.zms-ayrin-mode-floating.zms-ayrin-pos-center .sidebar-content.zms-ayrin-panel {
        top: 50% !important; right: auto !important; bottom: auto !important; left: 50% !important;
        --zms-ayrin-open-transform: translate3d(-50%, -50%, 0);
        --zms-ayrin-closed-transform: translate3d(-50%, -46%, 0) scale(.985);
    }
    #main-user-signing #sign-sidebar.zms-ayrin-mode-floating.zms-ayrin-pos-center-left .sidebar-content.zms-ayrin-panel {
        top: 50% !important; right: auto !important; bottom: auto !important; left: max(8px, env(safe-area-inset-left)) !important;
        --zms-ayrin-open-transform: translate3d(0, -50%, 0);
        --zms-ayrin-closed-transform: translate3d(-20px, -50%, 0) scale(.985);
    }

    /* Bottom row. */
    #main-user-signing #sign-sidebar.zms-ayrin-mode-floating.zms-ayrin-pos-bottom-right .sidebar-content.zms-ayrin-panel {
        top: auto !important; right: max(8px, env(safe-area-inset-right)) !important; bottom: max(8px, env(safe-area-inset-bottom)) !important; left: auto !important;
        --zms-ayrin-open-transform: translate3d(0, 0, 0);
        --zms-ayrin-closed-transform: translate3d(0, calc(100% + 34px), 0);
    }
    #main-user-signing #sign-sidebar.zms-ayrin-mode-floating.zms-ayrin-pos-bottom-center .sidebar-content.zms-ayrin-panel {
        top: auto !important; right: auto !important; bottom: max(8px, env(safe-area-inset-bottom)) !important; left: 50% !important;
        --zms-ayrin-open-transform: translate3d(-50%, 0, 0);
        --zms-ayrin-closed-transform: translate3d(-50%, calc(100% + 34px), 0);
    }
    #main-user-signing #sign-sidebar.zms-ayrin-mode-floating.zms-ayrin-pos-bottom-left .sidebar-content.zms-ayrin-panel {
        top: auto !important; right: auto !important; bottom: max(8px, env(safe-area-inset-bottom)) !important; left: max(8px, env(safe-area-inset-left)) !important;
        --zms-ayrin-open-transform: translate3d(0, 0, 0);
        --zms-ayrin-closed-transform: translate3d(0, calc(100% + 34px), 0);
    }

    #main-user-signing #sign-sidebar.zms-ayrin-mode-fullscreen .sidebar-content.zms-ayrin-panel {
        position: fixed !important;
        top: 50% !important;
        right: auto !important;
        bottom: auto !important;
        left: 50% !important;
        width: min(var(--zms-ayrin-fullscreen-max-width, 720px), calc(100vw - 12px)) !important;
        min-width: min(var(--zms-ayrin-fullscreen-min-width, 300px), calc(100vw - 12px)) !important;
        max-width: calc(100vw - 12px) !important;
        height: auto !important;
        max-height: calc(100dvh - 12px - env(safe-area-inset-bottom)) !important;
        padding: 18px 14px max(16px, env(safe-area-inset-bottom)) !important;
        border-radius: 24px !important;
        background: rgba(255, 255, 255, .99) !important;
        box-shadow: 0 24px 70px rgba(15, 23, 42, .24) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        opacity: 0;
        transform: translate3d(-50%, -46%, 0) scale(.99) !important;
        transition: transform .32s cubic-bezier(.22, 1, .36, 1), opacity .22s ease !important;
    }
    #main-user-signing #sign-sidebar.zms-ayrin-mode-fullscreen.open .sidebar-content.zms-ayrin-panel {
        opacity: 1;
        transform: translate3d(-50%, -50%, 0) scale(1) !important;
    }

    /* Original theme mode: keep Ayrin's own placement and animation.
     * The explicit visibility rules only make opening reliable when the
     * theme's own click script fails or duplicate IDs exist in the footer. */
    #main-user-signing #sign-sidebar.zms-ayrin-mode-theme {
        visibility: hidden;
    }
    #main-user-signing #sign-sidebar.zms-ayrin-mode-theme.open {
        visibility: visible !important;
    }
    #main-user-signing #sign-sidebar.zms-ayrin-mode-theme .backdrop {
        backdrop-filter: none !important;
    }
    #main-user-signing #sign-sidebar.zms-ayrin-mode-theme.open .backdrop {
        visibility: visible !important;
        opacity: 1 !important;
    }

    #main-user-signing #sign-sidebar.zms-ayrin-mode-floating .sidebar-content .zms-auth,
    #main-user-signing #sign-sidebar.zms-ayrin-mode-fullscreen .sidebar-content .zms-auth {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    #main-user-signing .zms-ayrin-close {
        position: sticky;
        z-index: 15;
        float: left;
        top: 0;
        margin: -2px 0 -38px;
        background: rgba(248, 250, 252, .96);
    }
    #main-user-signing #sign-sidebar.zms-ayrin-mode-theme .zms-ayrin-close {
        position: sticky;
        top: 8px;
        left: 8px;
        margin: 8px 8px -46px 0;
    }

    .zms-modal {
        width: calc(100vw - 16px);
        min-width: 0;
        max-width: calc(100vw - 16px);
        max-height: calc(100dvh - 16px);
        border-radius: 24px;
    }
    .zms-modal__body { max-height: calc(100dvh - 16px); overflow: auto; overscroll-behavior: contain; }
    .zms-modal__close { top: 12px; left: 12px; width: 38px; height: 38px; box-shadow: 0 5px 18px rgba(15,23,42,.10); }
}

@media (min-width: 992px) {
    #main-user-signing .sidebar-content.zms-ayrin-has-close { padding-top: 18px; }
}

@media (max-width: 360px) {
    .zms-auth { padding: 14px; }
    .zms-auth__head { gap: 9px; }
    .zms-auth__mark,
    .zms-auth__logo { width: 38px; height: 38px; }
    #main-user-signing #sign-sidebar.zms-ayrin-mode-floating .sidebar-content.zms-ayrin-panel,
    #main-user-signing #sign-sidebar.zms-ayrin-mode-fullscreen .sidebar-content.zms-ayrin-panel {
        border-radius: 20px !important;
        padding-inline: 10px !important;
    }
}


.zms-auth__logo--mobile-account,
.zms-auth__mark--mobile-account {
    width: 48px;
    height: 48px;
    border-radius: min(16px, var(--zms-radius));
}

.zms-auth__mark--mobile-account {
    font-size: 24px;
    line-height: 1;
}

.zms-mobile-account__input:-webkit-autofill,
.zms-mobile-account__input:-webkit-autofill:hover,
.zms-mobile-account__input:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--zms-text);
    transition: background-color 9999s ease-out 0s;
}


.zms-mobile-account__verify-meta {
    margin: 0 0 12px;
    padding: 10px 12px;
    border-radius: max(8px, calc(var(--zms-radius) - 7px));
    background: color-mix(in srgb, var(--zms-primary) 8%, white);
    color: var(--zms-text);
    text-align: center;
}

.zms-mobile-account__verify-meta p { margin: 0; line-height: 1.8; }
.zms-mobile-account__verify-meta strong { color: var(--zms-primary); unicode-bidi: isolate; }

.zms-mobile-account__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 8px;
}

.zms-mobile-account__actions .zms-auth__switch {
    flex: 1 1 0;
    margin: 0;
    min-height: 36px;
}

@media (max-width: 480px) {
    .zms-mobile-account__actions { flex-direction: column; }
    .zms-mobile-account__actions .zms-auth__switch { width: 100%; }
}


.zms-auth__trap {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.zms-auth__notice strong {
    font-weight: 800;
}

.zms-mobile-account__current-card {
    display: grid;
    gap: 10px;
    padding: 16px;
    border: 1px solid color-mix(in srgb, var(--zms-primary) 18%, #dfe7f0);
    border-radius: max(12px, calc(var(--zms-radius) - 4px));
    background: linear-gradient(135deg, color-mix(in srgb, var(--zms-primary) 7%, white), #fff);
    text-align: center;
}

.zms-mobile-account__current-card > span {
    color: #667385;
    font-size: calc(var(--zms-font-size) - 1px);
}

.zms-mobile-account__current-card > strong {
    color: var(--zms-text);
    font-size: calc(var(--zms-font-size) + 5px);
    font-weight: 900;
    letter-spacing: .04em;
}

.zms-mobile-account__current-card .zms-auth__primary {
    margin-top: 3px;
}

.zms-mobile-account__cancel-new {
    width: 100%;
    margin-top: 10px;
}


/* Account mobile-management inputs: actual values are LTR; Persian placeholders are RTL. */
.zms-mobile-account input[type="password"],
.zms-mobile-account input[inputmode="numeric"],
.zms-mobile-account input[type="tel"] {
    direction: ltr;
    text-align: left;
    unicode-bidi: plaintext;
}

.zms-mobile-account input:placeholder-shown {
    direction: rtl;
    text-align: right;
}

.zms-mobile-account input::placeholder {
    color: #b8c0ca;
    opacity: .66;
    font-weight: 400;
}

.zms-mobile-account input[type="tel"],
.zms-mobile-account__current-card strong {
    font-weight: 800;
}

.zms-mobile-account__current-card strong {
    display: block;
    direction: ltr;
    text-align: center;
    unicode-bidi: isolate;
}


/* v1.4.32 Android keyboard / visual viewport stabilization. */
@media (max-width: 991px) {
    #main-user-signing #sign-sidebar.zms-visual-keyboard-open .sidebar-content.zms-ayrin-panel {
        transition-duration: .16s !important;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }

    #main-user-signing #sign-sidebar.zms-ayrin-mode-floating .sidebar-content.zms-ayrin-panel input,
    #main-user-signing #sign-sidebar.zms-ayrin-mode-fullscreen .sidebar-content.zms-ayrin-panel input,
    dialog.zms-modal input {
        font-size: max(16px, var(--zms-font-size, 14px)) !important;
    }

    #main-user-signing #sign-sidebar.zms-visual-keyboard-open .sidebar-content.zms-ayrin-panel,
    dialog.zms-modal.zms-modal--keyboard-open {
        max-height: calc(var(--zms-visual-viewport-height, 100dvh) - 16px) !important;
    }

    dialog.zms-modal.zms-modal--keyboard-open {
        margin-inline: auto;
        overflow: visible;
    }

    dialog.zms-modal.zms-modal--keyboard-open .zms-modal__body {
        max-height: calc(100% - 2px);
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }
}
