#ast-hb-account-login-wrap { --ff-popup-paper: #f9f6f1; --ff-popup-ink: #24241f; --ff-popup-line: #dcd6cd; --ff-popup-gold: #7c623b; }
#ast-hb-account-login-wrap .ast-hb-account-login {
    width: min(480px, calc(100% - 32px)); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px);
    overflow-y: auto; overscroll-behavior: contain; padding: 0; margin: 0;
    left: 50%; top: 50%; transform: translate(-50%, -50%);
    background: var(--ff-popup-paper); box-shadow: none; border-radius: 0;
    font-family: 'Jost', 'Noto Sans TC', Arial, sans-serif; color: var(--ff-popup-ink);
}
#ast-hb-account-login-wrap .ast-hb-login-header { min-height: 44px; padding: 8px 8px 0; }
#ast-hb-account-login-wrap #ast-hb-login-close { min-width: 44px; min-height: 44px; padding: 12px; margin: 0; background: transparent; color: var(--ff-popup-ink); border: 0; }
#ast-hb-account-login-wrap .ast-hb-login-body { padding: 0 36px 32px; }
#ast-hb-account-login-wrap #ff-login-popup-title { font: 400 30px/1.3 'Cormorant Garamond', 'Noto Serif TC', Georgia, serif; margin: 0 0 28px; }
#ast-hb-account-login-wrap #ff-login-popup-title span { display: block; font-size: 28px; margin-top: 4px; }
#ast-hb-account-login-wrap #loginform p { margin: 0 0 20px; }
#ast-hb-account-login-wrap #loginform label { display: block; margin-bottom: 8px; font-size: 15px; line-height: 1.6; font-weight: 400; color: var(--ff-popup-ink); }
#ast-hb-account-login-wrap #loginform input[type=text], #ast-hb-account-login-wrap #loginform input[type=password] {
    width: 100%; min-height: 48px; box-sizing: border-box; padding: 12px 14px;
    background: transparent; border: 1px solid var(--ff-popup-line); border-radius: 0;
    font: 400 16px/1.5 'Jost', 'Noto Sans TC', Arial, sans-serif; color: var(--ff-popup-ink);
}
#ast-hb-account-login-wrap #loginform input:focus-visible, #ast-hb-account-login-wrap a:focus-visible, #ast-hb-account-login-wrap button:focus-visible { outline: 2px solid var(--ff-popup-gold); outline-offset: 3px; box-shadow: none; }
#ast-hb-account-login-wrap #loginform .login-remember label { display: flex; align-items: center; gap: 8px; min-height: 44px; margin: 0; }
#ast-hb-account-login-wrap #loginform #rememberme { width: 16px; height: 16px; margin: 0; accent-color: var(--ff-popup-ink); }
#ast-hb-account-login-wrap #loginform #wp-submit { width: 100%; min-height: 48px; padding: 13px 20px; margin: 0; border: 1px solid var(--ff-popup-ink); border-radius: 0; background: var(--ff-popup-ink); color: #fff; font: 400 16px/1.4 'Jost', 'Noto Sans TC', Arial, sans-serif; letter-spacing: 0; text-transform: none; }
#ast-hb-account-login-wrap #loginform #wp-submit:hover { background: var(--ff-popup-paper); color: var(--ff-popup-ink); }
#ast-hb-account-login-wrap .ast-hb-account-login-form-footer { margin-top: 0; padding-top: 0; display: block; }
#ast-hb-account-login-wrap .ast-header-account-footer-link, #ast-hb-account-login-wrap .ff-login-popup-join a { color: var(--ff-popup-gold); font-size: 15px; line-height: 1.7; text-decoration: underline; text-underline-offset: 4px; }
#ast-hb-account-login-wrap .ff-login-popup-join { border-top: 1px solid var(--ff-popup-line); margin: 24px 0 0; padding-top: 24px; }
@media (max-width: 480px) {
    #ast-hb-account-login-wrap .ast-hb-login-body { padding: 0 24px 28px; }
}
