Voters in Switzerland have backed a new climate bill designed to cut fossil fuel use and reach net-zero carbon emissions by 2050.
The government says the country needs to protect its energy security and the environment, as glaciers melt rapidly in the Swiss Alps.
The law will require a move away from dependence on imported oil and gas towards the use of renewable sources.
In Sunday's referendum 59.1% of voters backed the green energy proposals.
Opponents had argued the measures would push up energy prices.
Nearly all of Switzerland's major parties supported the bill, except the right-wing Swiss People's Party (SVP), which triggered the referendum after pushing back against the government's proposals.
Switzerland imports about three-quarters of its energy, with all the oil and natural gas consumed coming from abroad.
The climate bill pledges financial support of 2bn Swiss francs ($2.2bn; £1.7bn) over a decade to promote the replacement of gas or oil heating systems with climate-friendly alternatives, and SFr1.2bn to push businesses towards green innovation.
It comes as glaciers in the Alps are at particular risk of rising temperatures due to climate change. They lost a third of their ice volume between 2001 and 2022.
Leading Swiss glaciologist Matthias Huss, who has closely followed the glaciers' retreat, hailed the "strong signal" sent by Sunday's vote, saying on Twitter that he was "very happy the arguments of climate science were heard".
Socialist Party parliamentarian Valerie Piller Carrard said it was "an important step for future generations".
Voters also overwhelmingly backed plans to introduce a global minimum tax of 15% for multinational corporations in a second referendum, with 78.5% in favour.
In 2021, Switzerland joined almost 140 countries that signed up to an Organisation for Economic Cooperation and Development (OECD) deal to set a minimum tax rate for big companies.
Finance Minister Karin Keller-Sutter hailed the "very strong acceptance rate" for the plan to amend the constitution so Switzerland can join the agreement.
Participation in Sunday's referendums was about 42%.