Replaced local timezone detection using tzinfo string (e.g. "CEST")
with tzlocal.get_localzone_name() to ensure a valid IANA time zone
(e.g. "Europe/Paris") is passed to ZoneInfo. This avoids runtime
errors on macOS and other systems that return non-IANA tz abbreviations.