If the remaining time has no hours portion that means it’s less than 60 minutes (3600 seconds).
{% set t = now().replace(hour=0, minute=45, second=0, microsecond=0) %}
{% set r = ((t + timedelta(days=1) if now() > t else t) - now()).total_seconds() %}
{{ r | timestamp_custom('%-Hh %-Mm' if r > 3600 else '%-Mm', false) }}
Oh damn it! You’re kidding me I just went to make a template and your answer immediately arrives, thanks buddy. I was almost on the right way… Thanks again!