{"id":1891,"date":"2026-03-24T17:04:00","date_gmt":"2026-03-24T16:04:00","guid":{"rendered":"https:\/\/agripedia.ch\/klima\/?page_id=1891"},"modified":"2026-09-11T12:21:50","modified_gmt":"2026-09-11T10:21:50","slug":"massnahmensammlung-klimaschutz-und-anpassung","status":"publish","type":"page","link":"https:\/\/agripedia.ch\/klima\/massnahmensammlung-klimaschutz-und-anpassung\/","title":{"rendered":"Massnahmensammlung Klimaschutz und -anpassung"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Massnahmensammlung Klimaschutz und -anpassung bietet einen \u00dcberblick \u00fcber wirksame Massnahmen zur Reduktion von Treibhausgasen und zur Anpassung der landwirtschaftlichen Produktion an den Klimawandel. Die Massnahmensammlung bietet eine erste Einsch\u00e4tzung des m\u00f6glichen Treibhausgas-Reduktionspotenzials und der mit den Massnahmen verbundenen Investitionen und m\u00f6glichen wiederkehrenden Kosten. Diese Angaben basieren auf aktuell verf\u00fcgbarer Literatur und k\u00f6nnen bei neuen Erkenntnissen angepasst werden. Die effektive Wirkung kann variieren und Kostenfolgen m\u00fcssen immer betriebsindividuell abgesch\u00e4tzt werden. Aus der Einsch\u00e4tzung lassen sich keine verbindlichen Anspr\u00fcche ableiten.<\/p>\n\n\n\n<div style=\"height:19px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-getwid-accordion has-icon-left\" data-active-element=\"none\">\n<div class=\"wp-block-getwid-accordion__header-wrapper\"><span class=\"wp-block-getwid-accordion__header\"><a href=\"#\"><span class=\"wp-block-getwid-accordion__header-title\">Hinweise zur Nutzung, methodisches Vorgehen<\/span><span class=\"wp-block-getwid-accordion__icon is-active\"><i class=\"fas fa-plus\"><\/i><\/span><span class=\"wp-block-getwid-accordion__icon is-passive\"><i class=\"fas fa-minus\"><\/i><\/span><\/a><\/span><\/div><div class=\"wp-block-getwid-accordion__content-wrapper\"><div class=\"wp-block-getwid-accordion__content\">\n<p class=\"has-small-font-size wp-block-paragraph\"><strong>Hinweise zur Aussagekraft und Verwendung<\/strong><\/p>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\">Die Massnahmensammlung bietet eine erste, orientierende Einsch\u00e4tzung von m\u00f6glichen Massnahmen im Bereich Klimaschutz und Anpassung an den Klimawandel. Sie liefern eine Absch\u00e4tzung des m\u00f6glichen Treibhausgas\u2011Reduktionspotenzials sowie der mit den Massnahmen verbundenen Investitions\u2011 und Kostenfolgen. Diese Angaben basieren auf dem aktuellen Stand des Wissens und werden bei neuen wissenschaftlichen Erkenntnissen oder aktualisierten Daten angepasst. Die tats\u00e4chliche Klimawirkung sowie die Kostenfolgen k\u00f6nnen je nach Betriebsstruktur, Standort und Umsetzung erheblich variieren und m\u00fcssen stets betriebsspezifisch abgesch\u00e4tzt oder anhand einer Bilanzierung errechnet werden. Aus den dargestellten Einsch\u00e4tzungen lassen sich keine verbindlichen Aussagen, Empfehlungen oder Anspr\u00fcche ableiten. Die Massnahmensammlung ersetzt keine individuelle Klimabilanzierung eines Betriebs.<\/p>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\"><strong>Auswahl der Massnahmen<\/strong><\/p>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\">Die vorliegende Massnahmensammlung basiert auf einer im Rahmen des EU\u2011Projekts <a href=\"https:\/\/climatefarmdemo.eu\/\" target=\"_blank\" rel=\"noopener\" title=\"\">Climate Farm Demo<\/a> von den Forschungsinstitutionen <a href=\"https:\/\/www.fibl.org\/de\/\" target=\"_blank\" rel=\"noopener\" title=\"\">FiBL Schweiz<\/a> und <a href=\"https:\/\/www.arvalis.fr\/about-us\" target=\"_blank\" rel=\"noopener\" title=\"\">Arvalis (Frankreich)<\/a> erarbeiteten Liste von Massnahmentiteln und Kurzbeschrieben. Alle Massnahmen auf der Liste wurden hinsichtlich ihrer Anwendbarkeit auf die Schweizer Landwirtschaft gepr\u00fcft und nur geeignete Massnahmen selektiert. Erg\u00e4nzend wurden Massnahmen aus relevanten Schweizer Projekten ber\u00fccksichtigt und die Sammlung entsprechend erweitert. Hinweise auf zus\u00e4tzliche Massnahmen k\u00f6nnen jederzeit bei der AGRIDEA eingereicht werden.<\/p>\n\n\n\n<div style=\"height:12px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\"><strong>Inhaltliche Ausarbeitung<\/strong><\/p>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\">Die inhaltliche Ausarbeitung der einzelnen Massnahmen (Beschreibung, Umsetzung, Herausforderungen, Klimaschutzwirkung sowie Kostenangaben) erfolgte durch AGRIDEA auf Grundlage einer Literatur\u2011 und Quellenrecherche sowie von Befragungen ausgew\u00e4hlter interner und externer Expertinnen und Experten.<\/p>\n\n\n\n<div style=\"height:8px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\"><strong>Wirkung Klimaschutz<\/strong> <strong>\/ Treibhausgas\u2011Reduktionspotenzial<\/strong><\/p>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\">Die Einsch\u00e4tzung der Wirkung auf die Reduktion des THG-Ausstosses auf Betriebsebene (THG in CO<strong>\u2082<\/strong>eq) st\u00fctzt sich auf die jeweils bei der Massnahme angegebenen Quellen. Diese Quellen umfassen sowohl Studien als auch Datenauswertungen von Bilanzierungstools (CAP&#8217;2ER). Zur besseren Vergleichbarkeit wurden die Klimaschutzwirkungen in qualitative Kategorien eingeteilt (gering\/nicht gesichert, mittel, gross, sehr gross). Die Festlegung der Kategorien und ihrer Grenzwerte erfolgte durch AGRIDEA auf Basis der betrachteten Wirkungsbandbreiten, mit dem Ziel, die Massnahmen hinsichtlich ihres Treibhausgas\u2011Reduktionspotenzials auf Betriebsebene sinnvoll voneinander abzugrenzen. Liegen Wirkungsangaben lediglich auf Ebene Einheit (z.B. Ebene Tier) oder Betriebszweig vor, wurde erg\u00e4nzend eine Absch\u00e4tzung der Wirkung auf Betriebsebene vorgenommen und im Text ausgewiesen. Diese basiert auf typischen Verteilungen der Treibhausgasemissionen innerhalb landwirtschaftlicher Betriebstypen (Rindviehhaltung, Ackerbau).<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-getwid-accordion__header-wrapper\"><span class=\"wp-block-getwid-accordion__header\"><a href=\"#\"><span class=\"wp-block-getwid-accordion__header-title\">Versionsverlauf<\/span><span class=\"wp-block-getwid-accordion__icon is-active\"><i class=\"fas fa-plus\"><\/i><\/span><span class=\"wp-block-getwid-accordion__icon is-passive\"><i class=\"fas fa-minus\"><\/i><\/span><\/a><\/span><\/div><div class=\"wp-block-getwid-accordion__content-wrapper\"><div class=\"wp-block-getwid-accordion__content\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column has-small-font-size is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:25%\">\n<p class=\"wp-block-paragraph\"><strong>Version 1.1<\/strong><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column has-small-font-size is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:75%\">\n<ul class=\"wp-block-list\">\n<li>Grundstruktur und Filter (Klimaschutz, Anpassung, 13 Themenfilter)<\/li>\n\n\n\n<li>Inhalte auf Deutsch f\u00fcr 26 ausgew\u00e4hlte Massnahmen (Beschreibung, Umsetzung, Investitionen\/Kosten, Wirkung, Weiterf\u00fchrende Links, Quellen)<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column has-small-font-size is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:25%\">\n<p class=\"wp-block-paragraph\"><strong>Version 1.2 (aktuell)<\/strong><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column has-small-font-size is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:75%\">\n<ul class=\"wp-block-list\">\n<li>\u00dcbersetzung auf Franz\u00f6sisch<\/li>\n\n\n\n<li>Beschreibung Zusatznutzen \/ Co-Benefits (Fliesstext)<\/li>\n\n\n\n<li>Wirkung\/Kosten: Legenden-Pop-Ups (in-Text)<\/li>\n\n\n\n<li>Ausweisung der Anwendbarkeit je Massnahme (z.\u202fB. Produktionszweig, Tierkategorie)<\/li>\n\n\n\n<li>Bio-konformit\u00e4t<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column has-small-font-size is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:25%\">\n<p class=\"wp-block-paragraph\"><strong>Version 2 (~Q3)<\/strong><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column has-small-font-size is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:75%\">\n<ul class=\"wp-block-list\">\n<li>Massnahmenpaket 2 (+25 Massnahmen)<\/li>\n\n\n\n<li>Verlinkung Finanzierungen \/ Projekte \/ Beitr\u00e4ge<\/li>\n\n\n\n<li>Zus\u00e4tzliche Filter zu Produktionssystemen und Programmen<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:25%\">\n<p class=\"has-small-font-size wp-block-paragraph\"><strong>Version 3 (~Ende 2026)<\/strong><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:75%\">\n<ul class=\"wp-block-list\">\n<li class=\"has-small-font-size\">Massnahmenpaket 3 (+25 Massnahmen)<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div><\/div>\n<\/div>\n\n\n\n<div style=\"height:43px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n\n<title>Massnahmen-Toolbox<\/title>\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/xlsx@0.18.5\/dist\/xlsx.full.min.js\"><\/script>\n\n<style>\n  :root{\n    --maxw:1100px;\n    --blue:#008bcc;\n    --blue-dark:#0074ab;\n    --blue-soft:#d9edf6;\n    --green:#8fd694;\n    --orange:#d18a24;\n    --risk-orange:#f27c00;\n    --risk-soft:#fffaf5;\n    --risk-grey:#dedede;\n  }\n\n  *{\n    box-sizing:border-box;\n  }\n\n  body{\n    margin:0;\n    padding:20px;\n    font-family:Arial,sans-serif;\n    background:#f5f5f5;\n    color:#333;\n  }\n\n  .tool-wrap{\n    max-width:var(--maxw);\n    margin:0 auto;\n  }\n\n  #searchInput{\n    display:block;\n    width:100%;\n    padding:12px 14px;\n    font-size:16px;\n    border:2px solid var(--blue);\n    border-radius:8px;\n    background:#fff;\n  }\n\n  #oderLabel{\n    margin:14px 0 16px;\n    font-size:16px;\n    font-weight:bold;\n    color:var(--blue);\n  }\n\n\n  \/* =======================================================\n    RISIKOFILTER-BOX\n     ======================================================= *\/\n\n  .risk-filter-box{\n    max-width:var(--maxw);\n    margin:0 auto 24px;\n    border-radius:18px;\n    overflow:hidden;\n    background:var(--risk-soft);\n  }\n\n  .risk-filter-header{\n    background:var(--risk-orange);\n    color:#fff;\n    padding:16px 20px;\n    font-size:16px;\n    font-weight:bold;\n  }\n\n  .risk-filter-content{\n    padding:16px 18px 12px;\n  }\n\n  .risks{\n    display:grid;\n    grid-template-columns:repeat(5, minmax(0, 1fr));\n    gap:16px;\n    margin-top:0;\n  }\n\n  .risk-card{\n    background:#f0ab65;\n    color:#fff;\n    border:3px solid transparent;\n    border-radius:14px;\n    min-height:118px;\n    padding:12px 10px;\n    display:flex;\n    flex-direction:column;\n    align-items:center;\n    justify-content:center;\n    text-align:center;\n    cursor:pointer;\n    transition:.15s;\n    font-weight:bold;\n    line-height:1.15;\n  }\n\n  .risk-card.selected{\n    border-color:var(--risk-orange);\n  }\n\n  .risk-card img{\n    width:58px;\n    height:58px;\n    object-fit:contain;\n    margin-bottom:10px;\n  }\n\n  .risk-card .risk-label{\n    font-size:15px;\n  }\n\n\n  \/* =======================================================\n     BLAUE THEMENFILTER-BOX\n     ======================================================= *\/\n\n  .filter-box{\n    max-width:var(--maxw);\n    margin:0 auto 24px;\n    border-radius:18px;\n    overflow:hidden;\n    background:var(--blue-soft);\n  }\n\n  .filter-header{\n    background:var(--blue);\n    color:#fff;\n    padding:16px 20px;\n    font-size:16px;\n    font-weight:bold;\n  }\n\n  .filter-content{\n    padding:16px 18px 12px;\n  }\n\n  .top-filters{\n    display:flex;\n    gap:20px 30px;\n    align-items:center;\n    flex-wrap:wrap;\n    margin-bottom:18px;\n  }\n\n  .top-filters-left{\n    display:flex;\n    gap:30px;\n    align-items:center;\n    flex-wrap:wrap;\n  }\n\n  .result-count{\n    font-size:14px;\n    font-weight:bold;\n    color:#006b9c;\n    white-space:nowrap;\n    text-align:right;\n    margin-top:18px;\n  }\n\n  .toggle-label{\n    display:flex;\n    align-items:center;\n    gap:12px;\n    font-weight:bold;\n    color:#666;\n    font-size:15px;\n  }\n\n  .toggle-switch{\n    position:relative;\n    width:40px;\n    height:22px;\n    flex:0 0 auto;\n  }\n\n  .toggle-switch input{\n    opacity:0;\n    width:0;\n    height:0;\n  }\n\n  .slider{\n    position:absolute;\n    inset:0;\n    background:#bfbfbf;\n    border-radius:20px;\n    transition:.25s;\n    cursor:pointer;\n  }\n\n  .slider:before{\n    content:\"\";\n    position:absolute;\n    width:16px;\n    height:16px;\n    left:3px;\n    top:3px;\n    border-radius:50%;\n    background:#fff;\n    transition:.25s;\n  }\n\n  .toggle-switch input:checked + .slider{\n    background:var(--blue);\n  }\n\n  .toggle-switch input:checked + .slider:before{\n    transform:translateX(18px);\n  }\n\n  .categories{\n    display:grid;\n    grid-template-columns:repeat(5, minmax(0, 1fr));\n    gap:16px;\n    margin-top:10px;\n  }\n\n  .category-card{\n    background:var(--blue);\n    color:#fff;\n    border:3px solid transparent;\n    border-radius:14px;\n    min-height:118px;\n    padding:12px 10px;\n    display:flex;\n    flex-direction:column;\n    align-items:center;\n    justify-content:center;\n    text-align:center;\n    cursor:pointer;\n    transition:.15s;\n    font-weight:bold;\n    line-height:1.15;\n  }\n\n  .category-card:hover{\n    transform:translateY(-1px);\n  }\n\n  .category-card.selected{\n    border-color:#ffc400;\n  }\n\n  .category-card img{\n    width:58px;\n    height:58px;\n    object-fit:contain;\n    margin-bottom:10px;\n  }\n\n  .category-card .cat-label{\n    font-size:15px;\n  }\n\n\n  \/* =======================================================\n     RESULTATE\n     ======================================================= *\/\n\n  .results{\n    max-width:var(--maxw);\n    margin:0 auto 40px;\n    display:flex;\n    flex-direction:column;\n    gap:22px;\n  }\n\n  .no-results{\n    background:#fff;\n    border:1px solid #f0c4c4;\n    color:#7d4d4d;\n    padding:24px;\n    border-radius:10px;\n    text-align:center;\n    font-size:16px;\n  }\n\n  .card{\n    background:#fff;\n    border-radius:10px;\n    overflow:visible;\n    box-shadow:0 1px 4px rgba(0,0,0,.08);\n  }\n\n  .card.active-card .card-header{\n    background:var(--blue);\n    color:#fff;\n  }\n\n  .card.inactive-card .card-header{\n    background:#a9a9a9;\n    color:#fff;\n  }\n\n  .card-header{\n    padding:14px 18px;\n    font-size:17px;\n    font-weight:bold;\n    line-height:1.25;\n  }\n\n  .card-body{\n    padding:16px 22px 20px;\n  }\n\n  .inactive-body{\n    background:#f3f3f3;\n    color:#444;\n    font-style:italic;\n    padding:14px 18px;\n    font-size:13px;\n  }\n\n  .legend-wrap{\n    position:relative;\n    display:inline-flex;\n    align-items:center;\n    gap:5px;\n    z-index:20;\n  }\n\n  .legend-popup{\n    z-index:99999;\n  }\n\n  .description{\n    margin-bottom:20px;\n  }\n\n  .description-head{\n    display:flex;\n    justify-content:space-between;\n    align-items:flex-start;\n    gap:12px;\n    margin-bottom:8px;\n  }\n\n  .description-head h4{\n    margin:0;\n    font-size:13px;\n    font-weight:bold;\n    color:#222;\n  }\n\n  .description p{\n    margin:0;\n    line-height:1.42;\n    font-size:13px;\n  }\n\n  .applicable-for{\n    margin:8px 0 14px;\n    font-size:13px;\n    color:#333;\n  }\n\n  .applicable-for strong{\n    color:#222;\n  }\n\n  .badges{\n    display:flex;\n    gap:8px;\n    flex-wrap:wrap;\n    justify-content:flex-end;\n    margin:0;\n  }\n\n  .badge{\n    display:inline-block;\n    padding:4px 8px;\n    border-radius:6px;\n    font-size:12px;\n    font-weight:bold;\n    color:#fff;\n    background:var(--green);\n    line-height:1.1;\n  }\n\n  .badge.adapt{\n    background:var(--orange);\n  }\n\n  .impact-row{\n    display:grid;\n    grid-template-columns:180px 1fr;\n    gap:10px 18px;\n    align-items:start;\n    margin:18px 0 0;\n  }\n\n  .impact-left{\n    display:flex;\n    flex-direction:column;\n    align-items:flex-start;\n    gap:6px;\n    min-width:0;\n  }\n\n  .impact-label{\n    font-weight:bold;\n    color:#222;\n    font-size:13px;\n    line-height:1.25;\n    display:flex;\n    align-items:center;\n    gap:5px;\n  }\n\n  .impact-scale{\n    display:flex;\n    align-items:center;\n    gap:1px;\n    min-height:24px;\n    flex-wrap:nowrap;\n    white-space:nowrap;\n    position:relative;\n  }\n\n  .impact-scale .legend-wrap{\n    margin-left:6px;\n  }\n\n  .impact-text{\n    font-size:13px;\n    line-height:1.38;\n    min-width:0;\n  }\n\n  .scale-sep{\n    font-weight:bold;\n    color:#666;\n    margin:0 1px;\n    font-size:13px;\n    line-height:1;\n  }\n\n  .meta-icon-img{\n    width:20px;\n    height:20px;\n    object-fit:contain;\n    display:inline-block;\n    vertical-align:middle;\n    flex:0 0 auto;\n  }\n\n  .icon-faded{\n    opacity:.25;\n  }\n\n  .legend-info{\n    display:inline-flex;\n    align-items:center;\n    justify-content:center;\n    width:15px;\n    height:15px;\n    border-radius:50%;\n    background:#d9d9d9;\n    color:#666;\n    font-size:10px;\n    font-weight:bold;\n    cursor:help;\n    line-height:1;\n    transition:.15s;\n    flex:0 0 auto;\n  }\n\n  .legend-info:hover{\n    background:#c7c7c7;\n    color:#333;\n  }\n\n  .legend-popup{\n    display:none;\n    position:absolute;\n    left:0;\n    top:24px;\n    z-index:9999;\n    background:#fff;\n    color:#222;\n    border:1px solid #ddd;\n    border-radius:6px;\n    box-shadow:0 4px 14px rgba(0,0,0,.18);\n    padding:16px;\n    font-size:13px;\n    line-height:1.35;\n    font-weight:normal;\n  }\n\n  .legend-popup-wide{\n    width:620px;\n    max-width:85vw;\n  }\n\n  .legend-wrap:hover .legend-popup{\n    display:block;\n  }\n\n  .legend-heading{\n    margin-bottom:12px;\n  }\n\n  .legend-heading strong{\n    font-weight:bold;\n  }\n\n  .legend-heading span{\n    font-size:12px;\n    color:#333;\n  }\n\n  .legend-row{\n    display:grid;\n    grid-template-columns:72px 1fr;\n    gap:10px;\n    align-items:center;\n    margin:8px 0;\n  }\n\n  .legend-icons{\n    white-space:nowrap;\n  }\n\n  .benefits{\n    margin-top:18px;\n    margin-bottom:16px;\n  }\n\n  .benefits-header{\n    display:grid;\n    grid-template-columns:180px 1fr;\n    gap:16px;\n    align-items:start;\n    margin-bottom:10px;\n  }\n\n  .benefits-header h4{\n    margin:0;\n    font-size:13px;\n    color:#222;\n  }\n\n  .benefits-expl{\n    font-size:13px;\n    line-height:1.45;\n    color:#333;\n  }\n\n  .benefit-list{\n    display:flex;\n    flex-wrap:wrap;\n    gap:8px 14px;\n  }\n\n  .benefit-item{\n    display:inline-flex;\n    align-items:center;\n    gap:6px;\n    color:var(--blue);\n    font-weight:bold;\n    font-size:13px;\n  }\n\n  .benefit-item img{\n    width:26px;\n    height:26px;\n    object-fit:contain;\n  }\n\n  .accordion-group{\n    display:flex;\n    flex-direction:column;\n    gap:8px;\n    margin-top:8px;\n  }\n\n  .accordion{\n    border-radius:4px;\n    overflow:hidden;\n  }\n\n  .acc-toggle{\n    width:100%;\n    border:none;\n    background:var(--blue);\n    color:#fff;\n    cursor:pointer;\n    display:flex;\n    align-items:center;\n    justify-content:space-between;\n    padding:8px 12px;\n    font-size:13px;\n    font-weight:bold;\n    text-align:left;\n    line-height:1.25;\n  }\n\n  .acc-toggle.grey{\n    background:var(--blue);\n    color:#fff;\n  }\n\n  .acc-label{\n    display:flex;\n    align-items:center;\n    gap:8px;\n  }\n\n  .acc-icon{\n    transition:transform .2s;\n    display:inline-block;\n  }\n\n  .accordion.open .acc-icon{\n    transform:rotate(180deg);\n  }\n\n  .acc-content{\n    display:none;\n    background:#e9f6fb;\n    padding:10px 12px;\n    line-height:1.45;\n    font-size:13px;\n  }\n\n  .accordion.open .acc-content{\n    display:block;\n  }\n\n  .acc-content ul{\n    margin:0;\n    padding-left:18px;\n    list-style:disc;\n  }\n\n  .acc-content li{\n    margin:7px 0;\n    line-height:1.45;\n  }\n\n  .acc-content p{\n    margin:6px 0;\n    line-height:1.45;\n  }\n\n  .link-title{\n    font-weight:bold;\n    display:block;\n    margin-bottom:2px;\n  }\n\n  a{\n    color:var(--blue-dark);\n    overflow-wrap:anywhere;\n    word-break:break-word;\n  }\n\n  button{\n    text-transform:none;\n  }\n\n\n  \/* =======================================================\n     RESPONSIVE DARSTELLUNG\n     ======================================================= *\/\n\n  @media (max-width:980px){\n    .categories,\n    .risks{\n      grid-template-columns:repeat(4, minmax(0, 1fr));\n    }\n  }\n\n  @media (max-width:820px){\n    .impact-row,\n    .benefits-header{\n      grid-template-columns:1fr;\n    }\n\n    .description-head{\n      flex-direction:column;\n      align-items:flex-start;\n    }\n\n    .badges{\n      justify-content:flex-start;\n    }\n\n    .categories,\n    .risks{\n      grid-template-columns:repeat(3, minmax(0, 1fr));\n    }\n  }\n\n  @media (max-width:620px){\n    .categories,\n    .risks{\n      grid-template-columns:repeat(2, minmax(0, 1fr));\n    }\n  }\n<\/style>\n\n\n<!-- =======================================================\n     SUCHFELD\n     ======================================================= -->\n\n<div class=\"tool-wrap\">\n  <input type=\"text\" id=\"searchInput\" placeholder=\"Massnahme suchen...\">\n\n  <div id=\"oderLabel\">oder<\/div>\n<\/div>\n\n\n<!-- =======================================================\n  BLAUE THEMENFILTER-BOX\n     ======================================================= -->\n\n<div class=\"filter-box\">\n  <div class=\"filter-header\">\n    Themen \/ Betriebszweige ausw\u00e4hlen\n    (Mehrfachauswahl m\u00f6glich)\n  <\/div>\n\n  <div class=\"filter-content\">\n\n    <div class=\"top-filters\">\n      <div class=\"top-filters-left\">\n\n        <label class=\"toggle-label\">\n          Massnahmen Klimaschutz\n\n          <div class=\"toggle-switch\">\n            <input type=\"checkbox\" id=\"filterKlimaschutz\" checked=\"\">\n            <span class=\"slider\"><\/span>\n          <\/div>\n        <\/label>\n\n        <label class=\"toggle-label\">\n          Massnahmen Klimaanpassung\n\n          <div class=\"toggle-switch\">\n            <input type=\"checkbox\" id=\"filterAnpassung\" checked=\"\">\n            <span class=\"slider\"><\/span>\n          <\/div>\n        <\/label>\n\n        <label class=\"toggle-label\">\n          Nur Bio-konforme Massnahmen\n\n          <div class=\"toggle-switch\">\n            <input type=\"checkbox\" id=\"filterBio\">\n            <span class=\"slider\"><\/span>\n          <\/div>\n        <\/label>\n\n      <\/div>\n    <\/div>\n\n    <div class=\"categories\" id=\"categoryContainer\"><\/div>\n\n    <div id=\"resultCount\" class=\"result-count\"><\/div>\n\n  <\/div>\n<\/div>\n\n\n<!-- \n\n=======================================================\n    ORANGE RISIKOFILTER-BOX\n     ======================================================= -->\n\n<div class=\"risk-filter-box\">\n  <div class=\"risk-filter-header\">\n    NEU: Anpassungsmassnahmen nach Klimarisiken filtern (optional)\n  <\/div>\n\n  <div class=\"risk-filter-content\">\n    <div class=\"risks\" id=\"riskContainer\"><\/div>\n  <\/div>\n<\/div>\n\n\n<!-- \n\n=======================================================\n     RESULTATE\n     ======================================================= -->\n\n<div id=\"results\" class=\"results\"><\/div>\n\n\n<script>\n  \/* =======================================================\n     EXCEL-DATEI\n     ======================================================= *\/\n\n  const EXCEL_FILE =\n    \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/09\/2026_Massnahmenliste-de.xlsx\";\n\n\n  \/* =======================================================\n     BILDPFADE THEMEN\n     ======================================================= *\/\n\n  const CATEGORY_ICON_MAP = {\n    \"Ackerbau\":\n      \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/03\/Ackerbau.png\",\n\n    \"Futterbau\":\n      \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/09\/Futterbau.png\",\n\n    \"Betriebsplanung\":\n      \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/03\/Betriebsplanung.png\",\n\n    \"Bienen\":\n      \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/03\/Bienen.png\",\n\n    \"Energie\":\n      \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/03\/Energie.png\",\n\n    \"Fleischrinder\":\n      \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/03\/Fleischrinder.png\",\n\n    \"Geb\u00e4ude \/ Maschinen\":\n      \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/03\/Gebaeude_Maschinen.png\",\n\n    \"Gefl\u00fcgel\":\n      \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/03\/Gefluegel.png\",\n\n    \"(Hof-) D\u00fcnger\":\n      \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/03\/Hofduenger.png\",\n\n    \"Landnutzung\":\n      \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/03\/Landnutzung.png\",\n\n    \"Schweine\":\n      \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/03\/Schweine.png\",\n\n    \"Spezialkulturen\":\n      \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/03\/Spezialkulturen.png\",\n\n    \"Wasser\":\n      \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/03\/Wasser.png\",\n\n    \"Milchproduktion\":\n      \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/03\/Milchproduktion-1.png\"\n  };\n\n\n  \/* =======================================================\n     BILDPFADE RISIKEN\n     ======================================================= *\/\n\n  const RISK_ICON_MAP = {\n\n    \"Trockenheit\": \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/09\/Trockenheit.png\",\n\n    \"Hitze\": \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/09\/Hitze.png\",\n\n    \"N\u00e4sse\": \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/09\/Naesse.png\",\n\n    \"Frost\": \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/09\/Frost.png\",\n\n    \"Hagel\": \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/09\/Hagel.png\",\n\n    \"Sturm\": \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/09\/Sturm.png\",\n\n    \"Starkregen\": \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/09\/Starkregen.png\"\n  };\n\n\n  \/* =======================================================\n     BILDPFADE ZUSATZNUTZEN\n     ======================================================= *\/\n\n  const ICON_BIODIV =\n    \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/03\/Biodiversitaet.png\";\n\n  const ICON_BODEN =\n    \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/03\/Bodengesundheit.png\";\n\n  const ICON_DIVERS =\n    \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/03\/Diversifizierung.png\";\n\n  const ICON_WASSER =\n    \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/03\/Effiziente-Wassernutzung.png\";\n\n  const ICON_EROSION =\n    \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/03\/Erosionsschutz.png\";\n\n  const ICON_KOSTEN =\n    \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/03\/Kosteneinsparung.png\";\n\n  const ICON_LUFT =\n    \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/03\/Luftqualitaet.png\";\n\n  const ICON_TIER =\n    \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/03\/Tiergesundheit.png\";\n\n  const ICON_MENSCH =\n    \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/07\/Menschliche-Gesundheit-1.png\";\n\n  const ICON_LEAF =\n    \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2025\/11\/leaf_icone.svg\";\n\n  const ICON_COIN =\n    \"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2025\/11\/coin_icone.svg\";\n\n\n  \/* =======================================================\n     EXCEL-SPALTEN\n     ======================================================= *\/\n\n  const COLS = {\n    nr: \"Nr.\",\n    status: \"Status\",\n    category: \"Kategorie\",\n    risk: \"Klimarisiko\",\n    title: \"Name\",\n    bio: \"Bio konforme Massnahme\",\n    klim: \"Massnahme Klimaschutz\",\n    adapt: \"Massnahme Klimaanpassung\",\n    beschreibung: \"Beschreibung\",\n    schritte: \"Schritte f\u00fcr eine erfolgreiche Umsetzung\",\n    herausforderungen: \"Herausforderungen\",\n    wirkung: \"Klimawirkung\",\n    wirkungErkl: \"Erkl\u00e4rung Klimawirkung\",\n    kosten: \"Investitionen \/ Kosten\",\n    kostenErkl: \"Erkl\u00e4rung Investitionen \/ Kosten\",\n    biodiv: \"Biodiversit\u00e4t\",\n    tierwohl: \"Tierwohl\",\n    mensch: \"Menschliche Gesundheit\",\n    luft: \"Luftqualit\u00e4t\",\n    erosion: \"Erosionsschutz\",\n    boden: \"Bodengesundheit\",\n    diversifizierung: \"Diversifizierung\",\n    wasserNachh: \"Nachhaltige Wassernutzung\",\n    kostenEinspar: \"Kosteneinsparung\",\n    coBenefitsErkl: \"Erkl\u00e4rung Co-Benefits\",\n    info: \"Informationen und Merkbl\u00e4tter\",\n    quellen: \"Literatur \/ Quellen\"\n  };\n\n\n  \/* =======================================================\n     DATEN UND AUSWAHLEN\n     ======================================================= *\/\n\n  let data = [];\n\n  let selectedCategories = new Set();\n  let selectedRisks = new Set();\n\n  let allCategories = [];\n  let allRisks = [];\n\n  const categoryContainer =\n    document.getElementById(\"categoryContainer\");\n\n  const riskContainer =\n    document.getElementById(\"riskContainer\");\n\n\n  \/* =======================================================\n     HILFSFUNKTIONEN\n     ======================================================= *\/\n\n  function normalizeString(v){\n    return String(v ?? \"\").trim();\n  }\n\n  function isYes(v){\n    const s = normalizeString(v).toLowerCase();\n\n    return (\n      s === \"ja\" ||\n      s === \"oui\" ||\n      s === \"x\" ||\n      s === \"1\" ||\n      s === \"true\"\n    );\n  }\n\n  function isBioYes(v){\n    const s = normalizeString(v).toLowerCase();\n    return s === \"ja\" || s === \"oui\";\n  }\n\n  function isActiveStatus(v){\n    return normalizeString(v).toLowerCase() === \"aktiv\";\n  }\n\n  function isInactiveStatus(v){\n    return normalizeString(v).toLowerCase() === \"inaktiv\";\n  }\n\n  function isNoDataValue(v){\n    const s = normalizeString(v).toLowerCase();\n\n    return (\n      s === \"n\/a\" ||\n      s === \"na\" ||\n      s === \"n.a.\"\n    );\n  }\n\n  function escapeHtml(text){\n    const div = document.createElement(\"div\");\n    div.textContent = String(text || \"\");\n    return div.innerHTML;\n  }\n\n  function linkify(text){\n    if (!text) return \"\";\n    return String(text).replace(\/(https?:\\\/\\\/[^\\s<]+)\/g, url =>\n      `<a href=\"${url}\" target=\"_blank\" rel=\"noopener\">${url}<\/a>`\n    );\n  }\n\n  function cleanData(raw){\n    return raw.map(row => {\n      const cleaned = {};\n      Object.keys(row).forEach(k => {\n        cleaned[String(k).trim()] =\n          typeof row[k] === \"string\"\n            ? row[k].trim()\n            : row[k];\n      });\n\n      return cleaned;\n    });\n  }\n\n\n  \/* =======================================================\n     THEMEN AUFTEILEN\n     ======================================================= *\/\n\n  function splitCategories(catValue){\n    if (!catValue) return [];\n\n    return String(catValue)\n      .split(\",\")\n      .map(s => s.trim())\n      .filter(Boolean)\n      .map(cat => {\n        const low = cat.toLowerCase();\n\n        if (\n          low.includes(\"geb\u00e4ude\") ||\n          low.includes(\"gebaeude\") ||\n          low.includes(\"maschinen\")\n        ){\n          return \"Geb\u00e4ude \/ Maschinen\";\n        }\n\n        if (\n          low === \"gefluegel\" ||\n          low === \"gefl\u00fcgel\"\n        ){\n          return \"Gefl\u00fcgel\";\n        }\n\n        if (\n          low === \"hofduenger\" ||\n          low === \"(hof-)duenger\" ||\n          low === \"(hof-)d\u00fcnger\" ||\n          low === \"(hof-) d\u00fcnger\" ||\n          low === \"(hof-) duenger\"\n        ){\n          return \"(Hof-) D\u00fcnger\";\n        }\n\n        if (low === \"milchproduktion\"){\n          return \"Milchproduktion\";\n        }\n\n        if (low === \"fleischrinder\"){\n          return \"Fleischrinder\";\n        }\n\n        if (low === \"schweine\"){\n          return \"Schweine\";\n        }\n\n        if (low === \"ackerbau\"){\n          return \"Ackerbau\";\n        }\n\n        if (low === \"futterbau\"){\n          return \"Futterbau\";\n        }\n\n        if (low === \"landnutzung\"){\n          return \"Landnutzung\";\n        }\n\n        if (low === \"wasser\"){\n          return \"Wasser\";\n        }\n\n        if (low === \"energie\"){\n          return \"Energie\";\n        }\n\n        if (low === \"bienen\"){\n          return \"Bienen\";\n        }\n\n        if (low === \"betriebsplanung\"){\n          return \"Betriebsplanung\";\n        }\n\n        if (low === \"spezialkulturen\"){\n          return \"Spezialkulturen\";\n        }\n\n        return cat;\n      });\n  }\n\n\n  \/* =======================================================\n     RISIKEN AUFTEILEN\n     ======================================================= *\/\n\nfunction splitRisks(riskValue){\n  if (!riskValue) return [];\n\n  return String(riskValue)\n    .split(\",\")\n    .map(s => s.trim())\n    .filter(Boolean)\n    .map(risk => {\n      const low = risk.toLowerCase();\n\n        if (low === \"trockenheit\") return \"Trockenheit\";\n        if (low === \"hitze\") return \"Hitze\";\n        if (low === \"naesse\" || low === \"n\u00e4sse\") return \"N\u00e4sse\";\n        if (low === \"frost\") return \"Frost\";\n        if (low === \"hagel\") return \"Hagel\";\n        if (low === \"sturm\") return \"Sturm\";\n        if (low === \"starkregen\") return \"Starkregen\";\n\n        return risk;\n      });\n  }\n\n  \/* =======================================================\n     THEMEN AUS DEN EXCEL-DATEN ERMITTELN\n     ======================================================= *\/\n\n  function uniqueCategoriesFromData(rows){\n    const preferredOrder = [\n      \"Ackerbau\",\n      \"Futterbau\",\n      \"Spezialkulturen\",\n      \"Landnutzung\",\n      \"Wasser\",\n      \"Energie\",\n      \"Geb\u00e4ude \/ Maschinen\",\n      \"Milchproduktion\",\n      \"Fleischrinder\",\n      \"Schweine\",\n      \"Gefl\u00fcgel\",\n      \"Bienen\",\n      \"(Hof-) D\u00fcnger\",\n      \"Betriebsplanung\"\n    ];\n\n    const set = new Set();\n\n    rows.forEach(r => {\n      splitCategories(r[COLS.category])\n        .forEach(c => set.add(c));\n    });\n\n    const found = Array.from(set);\n\n    const ordered = preferredOrder.filter(\n      c => found.includes(c)\n    );\n\n    const extra = found\n      .filter(c => !preferredOrder.includes(c))\n      .sort((a, b) => a.localeCompare(b, \"de\"));\n\n    return [...ordered, ...extra];\n  }\n\n\n  \/* \n=======================================================\n     RISIKEN AUS DEN EXCEL DATEN ERMITTELN\n     ======================================================= *\/\n\nfunction uniqueRisksFromData(rows){\n\n  const preferredOrder = [\n    \"Trockenheit\",\n    \"Hitze\",\n    \"N\u00e4sse\",\n    \"Frost\",\n    \"Hagel\",\n    \"Sturm\",\n    \"Starkregen\"\n  ];\n\n  const set = new Set();\n\n  rows.forEach(r => {\n    splitRisks(r[COLS.risk])\n      .forEach(risk => set.add(risk));\n  });\n\n  const found = Array.from(set);\n\n  const ordered = preferredOrder.filter(\n    risk => found.includes(risk)\n  );\n\n  const extra = found\n    .filter(risk => !preferredOrder.includes(risk))\n    .sort((a,b) => a.localeCompare(b,\"de\"));\n\n  return [...ordered, ...extra];\n}\n\n\n  \/* \n=======================================================\n     ICONS AUSGEBEN\n     ======================================================= *\/\n\n  function getCategoryIconHtml(name){\n    const src = CATEGORY_ICON_MAP[name] || \"\";\n\n    if (!src) return \"\";\n\n    return `\n      <img decoding=\"async\"\n        src=\"${src}\"\n        alt=\"${escapeHtml(name)}\"\n        loading=\"lazy\"\n        onerror=\"this.style.display='none'\"\n      >\n    `;\n  }\n\n  function getRiskIconHtml(name){\n    const src = RISK_ICON_MAP[name] || \"\";\n\n    if (!src) return \"\";\n\n    return `\n      <img decoding=\"async\"\n        src=\"${src}\"\n        alt=\"${escapeHtml(name)}\"\n        loading=\"lazy\"\n        onerror=\"this.style.display='none'\"\n      >\n    `;\n  }\n\n\n  \/* =======================================================\n     THEMENKARTEN RENDERN\n     ======================================================= *\/\n\n  function renderCategories(){\n    categoryContainer.innerHTML = \"\";\n\n    allCategories.forEach(name => {\n      const card = document.createElement(\"div\");\n\n      card.className =\n        \"category-card\" +\n        (selectedCategories.has(name)\n          ? \" selected\"\n          : \"\");\n\n      card.innerHTML = `\n        ${getCategoryIconHtml(name)}\n        <div class=\"cat-label\">\n          ${escapeHtml(name)}\n        <\/div>\n      `;\n\n      card.addEventListener(\"click\", () => {\n        if (selectedCategories.has(name)){\n          selectedCategories.delete(name);\n        } else {\n          selectedCategories.add(name);\n        }\n\n        renderCategories();\n        filterData();\n      });\n\n      categoryContainer.appendChild(card);\n    });\n  }\n\n\n  \/* =======================================================\n     RISIKOKARTEN RENDERN\n     ======================================================= *\/\n\n  function renderRisks(){\n    riskContainer.innerHTML = \"\";\n\n    allRisks.forEach(name => {\n      const card = document.createElement(\"div\");\n\n      card.className =\n        \"risk-card\" +\n        (selectedRisks.has(name)\n          ? \" selected\"\n          : \"\");\n\n      card.innerHTML = `\n        ${getRiskIconHtml(name)}\n        <div class=\"risk-label\">\n          ${escapeHtml(name)}\n        <\/div>\n      `;\n\n      card.addEventListener(\"click\", () => {\n        if (selectedRisks.has(name)){\n          selectedRisks.delete(name);\n        } else {\n          selectedRisks.add(name);\n        }\n\n        renderRisks();\n        filterData();\n      });\n\n      riskContainer.appendChild(card);\n    });\n  }\n\n\n  \/* =======================================================\n     SKALEN UND BEWERTUNGEN\n     ======================================================= *\/\n\n  function parseRangeValue(v){\n    const s = String(v ?? \"\").trim();\n\n    if (!s || isNoDataValue(s)){\n      return null;\n    }\n\n    const normalized = s\n      .replace(\/\\s+to\\s+\/gi, \"-\")\n      .replace(\/\\s+bis\\s+\/gi, \"-\")\n      .replace(\/[\u2013\u2014]\/g, \"-\")\n      .replace(\/\\s+\/g, \"\");\n\n    if (\n      !normalized ||\n      normalized.toLowerCase() === \"n\/a\"\n    ){\n      return null;\n    }\n\n    if (normalized === \"0\"){\n      return {\n        from:0,\n        to:0,\n        isRange:false,\n        isZero:true\n      };\n    }\n\n    const rangeMatch =\n      normalized.match(\/^(\\d+)-(\\d+)$\/);\n\n    if (rangeMatch){\n      let from = parseInt(rangeMatch[1], 10);\n      let to = parseInt(rangeMatch[2], 10);\n\n      if (isNaN(from) || isNaN(to)){\n        return null;\n      }\n\n      from = Math.max(1, Math.min(3, from));\n      to = Math.max(1, Math.min(3, to));\n\n      if (from > to){\n        [from, to] = [to, from];\n      }\n\n      return {\n        from,\n        to,\n        isRange:true,\n        isZero:false\n      };\n    }\n\n    const singleMatch =\n      normalized.match(\/^\\d+$\/);\n\n    if (singleMatch){\n      const n = Math.max(\n        0,\n        Math.min(\n          3,\n          parseInt(singleMatch[0], 10)\n        )\n      );\n\n      return {\n        from:n,\n        to:n,\n        isRange:false,\n        isZero:n === 0\n      };\n    }\n\n    return null;\n  }\n\n  function buildScaleHtml(type, rawValue){\n    const parsed = parseRangeValue(rawValue);\n    const icon = type === \"leaf\"\n      ? ICON_LEAF\n      : ICON_COIN;\n\n    if (!parsed) return \"\";\n\n    if (parsed.isZero){\n      return `\n        <img decoding=\"async\"\n          src=\"${icon}\"\n          class=\"meta-icon-img icon-faded\"\n          alt=\"\"\n        >\n        <img decoding=\"async\"\n          src=\"${icon}\"\n          class=\"meta-icon-img icon-faded\"\n          alt=\"\"\n        >\n        <img decoding=\"async\"\n          src=\"${icon}\"\n          class=\"meta-icon-img icon-faded\"\n          alt=\"\"\n        >\n      `;\n    }\n\n    if (\n      parsed.isRange &&\n      parsed.from !== parsed.to\n    ){\n      let leftHtml = \"\";\n      let rightHtml = \"\";\n\n      for (let i = 1; i <= 3; i++){\n        const leftCls =\n          i <= parsed.from\n            ? \"\"\n            : \"icon-faded\";\n\n        leftHtml += `\n          <img decoding=\"async\"\n            src=\"${icon}\"\n            class=\"meta-icon-img ${leftCls}\"\n            alt=\"\"\n          >\n        `;\n      }\n\n      for (let i = 1; i <= 3; i++){\n        const rightCls =\n          i <= parsed.to\n            ? \"\"\n            : \"icon-faded\";\n\n        rightHtml += `\n          <img decoding=\"async\"\n            src=\"${icon}\"\n            class=\"meta-icon-img ${rightCls}\"\n            alt=\"\"\n          >\n        `;\n      }\n\n      return `\n        ${leftHtml}\n        <span class=\"scale-sep\">-<\/span>\n        ${rightHtml}\n      `;\n    }\n\n    let html = \"\";\n\n    for (let i = 1; i <= 3; i++){\n      const cls =\n        i <= parsed.to\n          ? \"\"\n          : \"icon-faded\";\n\n      html += `\n        <img decoding=\"async\"\n          src=\"${icon}\"\n          class=\"meta-icon-img ${cls}\"\n          alt=\"\"\n        >\n      `;\n    }\n\n    return html;\n  }\n\n\n  \/* =======================================================\n     LEGENDEN\n     ======================================================= *\/\n\n  function climateLegendHtml(){\n    return `\n      <span class=\"legend-wrap\">\n\n        <span class=\"legend-info\">?<\/span>\n\n        <span class=\"legend-popup legend-popup-wide\">\n\n          <div class=\"legend-heading\">\n            <strong>Klimaschutzwirkung<\/strong>\n            <span>\n              (THG Reduktionspotenzial auf Betriebsebene\n              in %, Basis CO\u2082eq)\n            <\/span>\n          <\/div>\n\n          <div class=\"legend-row\">\n            <span class=\"legend-icons\">\n              ${buildScaleHtml(\"leaf\", 0)}\n            <\/span>\n            <span>\n              Geringes Reduktionspotenzial\n              (&lt; 1 % oder unklar\/umstritten)\n            <\/span>\n          <\/div>\n\n          <div class=\"legend-row\">\n            <span class=\"legend-icons\">\n              ${buildScaleHtml(\"leaf\", 1)}\n            <\/span>\n            <span>\n              Mittleres Reduktionspotenzial\n              (~ 1 \u2013 4 %)\n            <\/span>\n          <\/div>\n\n          <div class=\"legend-row\">\n            <span class=\"legend-icons\">\n              ${buildScaleHtml(\"leaf\", 2)}\n            <\/span>\n            <span>\n              Grosses Reduktionspotenzial\n              (~ 4 \u2013 10 %)\n            <\/span>\n          <\/div>\n\n          <div class=\"legend-row\">\n            <span class=\"legend-icons\">\n              ${buildScaleHtml(\"leaf\", 3)}\n            <\/span>\n            <span>\n              Sehr grosses Reduktionspotenzial\n              (&gt; 10 %) oder Speicherung\n            <\/span>\n          <\/div>\n\n        <\/span>\n      <\/span>\n    `;\n  }\n\n  function costLegendHtml(){\n    return `\n      <span class=\"legend-wrap\">\n\n        <span class=\"legend-info\">?<\/span>\n\n        <span class=\"legend-popup legend-popup-wide\">\n\n          <div class=\"legend-heading\">\n            <strong>Investitionen, Kosten<\/strong>\n            <span>\n              (Absch\u00e4tzung einmalige Investitionen +\n              wiederkehrende Kosten in CHF)\n            <\/span>\n          <\/div>\n\n          <div class=\"legend-row\">\n            <span class=\"legend-icons\">\n              ${buildScaleHtml(\"coin\", 0)}\n            <\/span>\n            <span>Keine<\/span>\n          <\/div>\n\n          <div class=\"legend-row\">\n            <span class=\"legend-icons\">\n              ${buildScaleHtml(\"coin\", 1)}\n            <\/span>\n            <span>\n              Gering\n              (&lt; 1000 CHF einmalig und\/oder\n              j\u00e4hrlich &lt; 200 CHF)\n            <\/span>\n          <\/div>\n\n          <div class=\"legend-row\">\n            <span class=\"legend-icons\">\n              ${buildScaleHtml(\"coin\", 2)}\n            <\/span>\n            <span>\n              Mittel\n              (1000 \u2013 5000 CHF einmalig und\/oder\n              j\u00e4hrlich 200 \u2013 1000 CHF)\n            <\/span>\n          <\/div>\n\n          <div class=\"legend-row\">\n            <span class=\"legend-icons\">\n              ${buildScaleHtml(\"coin\", 3)}\n            <\/span>\n            <span>\n              Hoch\n              (&gt; CHF 5000 einmalig und\/oder\n              &gt; 1000 CHF j\u00e4hrlich)\n            <\/span>\n          <\/div>\n\n        <\/span>\n      <\/span>\n    `;\n  }\n\n\n  \/* =======================================================\n     INHALTE FORMATIEREN\n     ======================================================= *\/\n\n  function formatAccordionContent(text){\n    if (!text) return \"\";\n\n    const lines = String(text)\n      .replace(\/\\r\/g, \"\")\n      .split(\"\\n\")\n      .map(s => s.trim());\n\n    let html = \"\";\n    let listItems = [];\n\n    function flushList(){\n      if (listItems.length){\n        html += `\n          <ul>\n            ${listItems.join(\"\")}\n          <\/ul>\n        `;\n\n        listItems = [];\n      }\n    }\n\n    lines.forEach(line => {\n      if (!line){\n        flushList();\n        return;\n      }\n\n      const isBullet =\n        \/^[-\u2022*]\\s*\/.test(line);\n\n      if (isBullet){\n        const cleanedLine =\n          line.replace(\/^[-\u2022*]\\s*\/, \"\");\n\n        listItems.push(`\n          <li>${linkify(cleanedLine)}<\/li>\n        `);\n      } else {\n        flushList();\n\n        html += `\n          <p>${linkify(line)}<\/p>\n        `;\n      }\n    });\n\n    flushList();\n\n    return html;\n  }\n\n  function formatInfoPairs(text){\n    if (!text) return \"\";\n\n    const lines = String(text)\n      .replace(\/\\r\/g, \"\")\n      .split(\"\\n\")\n      .map(s => s.trim())\n      .filter(Boolean);\n\n    if (!lines.length) return \"\";\n\n    let html = \"<ul>\";\n\n    for (let i = 0; i < lines.length; i++){\n      const line = lines[i];\n      const next = lines[i + 1] || \"\";\n\n      const currentIsUrl =\n        \/^https?:\\\/\\\/\/i.test(line);\n\n      const nextIsUrl =\n        \/^https?:\\\/\\\/\/i.test(next);\n\n      if (currentIsUrl){\n        html += `\n          <li>\n            <a\n              href=\"${escapeHtml(line)}\"\n              target=\"_blank\"\n              rel=\"noopener\"\n            >${escapeHtml(line)}<\/a>\n          <\/li>\n        `;\n\n        continue;\n      }\n\n      if (nextIsUrl){\n        html += `\n          <li>\n            <a\n              class=\"link-title\"\n              href=\"${escapeHtml(next)}\"\n              target=\"_blank\"\n              rel=\"noopener\"\n            >${escapeHtml(line)}<\/a>\n          <\/li>\n        `;\n\n        i++;\n      } else {\n        html += `\n          <li>${linkify(line)}<\/li>\n        `;\n      }\n    }\n\n    html += \"<\/ul>\";\n\n    return html;\n  }\n\n  function formatSimpleContent(text){\n    if (!text) return \"\";\n\n    const parts = String(text)\n      .split(\/[\\r\\n]+\/)\n      .map(s => s.trim())\n      .filter(Boolean);\n\n    if (!parts.length) return \"\";\n\n    if (parts.length === 1){\n      return `\n        <p>${linkify(parts[0])}<\/p>\n      `;\n    }\n\n    return `\n      <ul>\n        ${parts.map(part => {\n          const cleanedPart =\n            part.replace(\/^[-\u2022*]\\s*\/, \"\");\n\n          return `\n            <li>${linkify(cleanedPart)}<\/li>\n          `;\n        }).join(\"\")}\n      <\/ul>\n    `;\n  }\n\n  function createAccordion(\n    title,\n    content,\n    grey = false\n  ){\n    if (!content) return \"\";\n\n    return `\n      <div class=\"accordion\">\n\n        <button\n          type=\"button\"\n          class=\"acc-toggle ${grey ? \"grey\" : \"\"}\"\n        >\n          <span class=\"acc-label\">\n            <span class=\"acc-icon\">\u25be<\/span>\n            <span>${escapeHtml(title)}<\/span>\n          <\/span>\n        <\/button>\n\n        <div class=\"acc-content\">\n          ${content}\n        <\/div>\n\n      <\/div>\n    `;\n  }\n\n  \/* =======================================================\n     ZUSATZNUTZEN\n     ======================================================= *\/\n\n  function getBenefitItems(r){\n    const items = [];\n\n    if (isYes(r[COLS.biodiv])){\n      items.push({\n        label:\"Biodiversit\u00e4t\",\n        icon:ICON_BIODIV\n      });\n    }\n\n    if (isYes(r[COLS.tierwohl])){\n      items.push({\n        label:\"Tierwohl\",\n        icon:ICON_TIER\n      });\n    }\n\n    if (isYes(r[COLS.mensch])){\n      items.push({\n        label:\"Menschliche Gesundheit\",\n        icon:ICON_MENSCH\n      });\n    }\n\n    if (isYes(r[COLS.luft])){\n      items.push({\n        label:\"Luftqualit\u00e4t\",\n        icon:ICON_LUFT\n      });\n    }\n\n    if (isYes(r[COLS.erosion])){\n      items.push({\n        label:\"Erosionsschutz\",\n        icon:ICON_EROSION\n      });\n    }\n\n    if (isYes(r[COLS.boden])){\n      items.push({\n        label:\"Bodengesundheit\",\n        icon:ICON_BODEN\n      });\n    }\n\n    if (isYes(r[COLS.diversifizierung])){\n      items.push({\n        label:\"Diversifizierung\",\n        icon:ICON_DIVERS\n      });\n    }\n\n    if (isYes(r[COLS.wasserNachh])){\n      items.push({\n        label:\"Nachhaltige Wassernutzung\",\n        icon:ICON_WASSER\n      });\n    }\n\n    if (isYes(r[COLS.kostenEinspar])){\n      items.push({\n        label:\"Kosteneinsparung\",\n        icon:ICON_KOSTEN\n      });\n    }\n\n    return items;\n  }\n\n\n  \/* =======================================================\n     THEMENFILTER PR\u00dcFEN\n     ======================================================= *\/\n\n  function rowMatchesSelectedCategories(row){\n    if (!selectedCategories.size){\n      return false;\n    }\n\n    const rowCategories =\n      splitCategories(row[COLS.category]);\n\n    if (!rowCategories.length){\n      return false;\n    }\n\n    return rowCategories.some(\n      category => selectedCategories.has(category)\n    );\n  }\n\n\n  \/* =======================================================\n     RISIKOFILTER PR\u00dcFEN\n\n     Mehrere ausgew\u00e4hlte Risiken werden mit ODER verkn\u00fcpft.\n     Beispiel:\n     Auswahl Trockenheit + Hitze bedeutet:\n     Trockenheit ODER Hitze\n     ======================================================= *\/\n\nfunction rowMatchesSelectedRisks(row){\n  if (!selectedRisks.size){\n    return false;\n  }\n\n  const rowRisks = splitRisks(row[COLS.risk]);\n\n  if (!rowRisks.length){\n      return false;\n    }\n\n  return rowRisks.some(\n    risk => selectedRisks.has(risk)\n  );\n}\n\n\n  \/* =======================================================\n     GESAMTE FILTERLOGIK\n\n     Innerhalb der Themen:\n     Ackerbau ODER Futterbau\n\n     Innerhalb der Risiken:\n     Trockenheit ODER Hitze\n\n     Zwischen Themen und Risiken:\n     Thema UND Risiko\n\n     Textsuche:\n     separat von Themen- und Risikokarten\n     ======================================================= *\/\n\n  function filterData(){\n    const txt = document\n      .getElementById(\"searchInput\")\n      .value\n      .trim()\n      .toLowerCase()\n      .replace(\/\u2082\/g, \"2\");\n\n    const filterK =\n      document.getElementById(\n        \"filterKlimaschutz\"\n      ).checked;\n\n    const filterA =\n      document.getElementById(\n        \"filterAnpassung\"\n      ).checked;\n\n    const filterBio =\n      document.getElementById(\n        \"filterBio\"\n      ).checked;\n\n    const hasSelectedCategories =\n      selectedCategories.size > 0;\n\n    const hasSelectedRisks =\n      selectedRisks.size > 0;\n\n    let res = data.filter(r => {\n      const title =\n        normalizeString(r[COLS.title]);\n\n      if (!title){\n        return false;\n      }\n\n      const searchableText = [\n        r[COLS.title],\n        r[COLS.category],\n        r[COLS.risk],\n        r[COLS.beschreibung],\n        r[COLS.schritte],\n        r[COLS.herausforderungen],\n        r[COLS.wirkungErkl],\n        r[COLS.kostenErkl],\n        r[COLS.info],\n        r[COLS.quellen]\n      ]\n        .map(v =>\n          normalizeString(v)\n            .toLowerCase()\n            .replace(\/\u2082\/g, \"2\")\n        )\n        .join(\" \");\n\n      \/*\n       * TEXTSUCHE\n       *\n       * Sobald Text eingegeben wird, werden die\n       * Themen- und Risikokarten nicht ber\u00fccksichtigt.\n       *\/\n      if (\n        txt &&\n        !searchableText.includes(txt)\n      ){\n        return false;\n      }\n\n      \/*\n       * THEMEN- UND RISIKOFILTER\n       *\n       * Dieser Bereich greift nur, wenn das\n       * Textsuchfeld leer ist.\n       *\/\n\nif (!txt){\n\n  \/*\n   * Ohne Auswahl werden keine Massnahmen angezeigt.\n   *\/\n\n  if (\n    !hasSelectedCategories &&\n    !hasSelectedRisks\n  ){\n    return false;\n  }\n\n  \/*\n   * Nur Themen ausgew\u00e4hlt:\n   * Mindestens eines der ausgew\u00e4hlten Themen muss passen.\n   *\/\n\n  if (\n    hasSelectedCategories &&\n    !hasSelectedRisks\n  ){\n    if (!rowMatchesSelectedCategories(r)){\n      return false;\n    }\n  }\n\n  \/*\n   * Nur Risiken ausgew\u00e4hlt:\n   * Mindestens eines der ausgew\u00e4hlten Risiken muss passen.\n   *\n   * Ist die Spalte \"Klimarisiko\" leer,\n   * liefert rowMatchesSelectedRisks() false.\n   *\/\n\n  if (\n    !hasSelectedCategories &&\n    hasSelectedRisks\n  ){\n    if (!rowMatchesSelectedRisks(r)){\n      return false;\n    }\n  }\n\n  \/*\n   * Themen UND Risiken ausgew\u00e4hlt:\n   * Beides muss passen.\n   *\/\n\n  if (\n    hasSelectedCategories &&\n    hasSelectedRisks\n  ){\n    if (\n      !rowMatchesSelectedCategories(r) ||\n      !rowMatchesSelectedRisks(r)\n    ){\n      return false;\n    }\n  }\n}\n\n\/* =====================================================\n   BIO FILTER\n   ===================================================== *\/\n\nif (\n  filterBio &&\n  !isBioYes(r[COLS.bio])\n){\n  return false;\n}\n\n\/* =====================================================\n   KLIMASCHUTZ \/ ANPASSUNG\n   ===================================================== *\/\n\nconst isK =\n  isYes(r[COLS.klim]);\n\nconst isA =\n  isYes(r[COLS.adapt]);\n\nif (\n  !filterK &&\n  !filterA\n){\n  return false;\n}\n\nif (isK || isA){\n  if (\n    !(\n      (filterK && isK) ||\n      (filterA && isA)\n    )\n  ){\n    return false;\n  }\n}\n\nreturn true;\n});\n\n    \/* Sortierung *\/\n\n    res.sort((a, b) => {\n      const aActive =\n        isActiveStatus(a[COLS.status])\n          ? 0\n          : 1;\n\n      const bActive =\n        isActiveStatus(b[COLS.status])\n          ? 0\n          : 1;\n\n      if (aActive !== bActive){\n        return aActive - bActive;\n      }\n\n      const nrA = parseFloat(a[COLS.nr]);\n      const nrB = parseFloat(b[COLS.nr]);\n\n      if (\n        !isNaN(nrA) &&\n        !isNaN(nrB)\n      )\n        return nrA - nrB;\n\n      return normalizeString(a[COLS.title])\n        .localeCompare(\n          normalizeString(b[COLS.title]),\n          \"de\"\n        );\n    });\n\n    renderResults(res);\n  }\n\n\n  \/* =======================================================\n     RESULTATE RENDERN\n     ======================================================= *\/\n\n  function renderResults(list){\n    const out =\n      document.getElementById(\"results\");\n\n    const countBox =\n      document.getElementById(\"resultCount\");\n\n    if (countBox){\n      countBox.textContent =\n        `${list.length} von ${data.length} Massnahmen angezeigt`;\n    }\n\n    out.innerHTML = \"\";\n\n    if (!list.length){\n      out.innerHTML = `\n        <div class=\"no-results\">\n          <b style=\"color:#FF0000;\">\n            Bitte w\u00e4hlen Sie mindestens ein Thema oder ein Risiko aus oder nutzen Sie das Suchfeld, um Massnahmen anzuzeigen.\n          <\/b>\n        <\/div>\n      `;\n\n      return;\n    }\n\n    list.forEach(r => {\n      const title =\n        normalizeString(r[COLS.title]);\n\n      const status =\n        normalizeString(r[COLS.status]);\n\n      const isActive =\n        isActiveStatus(status);\n\n      const isInactive =\n        isInactiveStatus(status);\n\n      const showAsActive =\n        isActive || !isInactive;\n\n      const card =\n        document.createElement(\"div\");\n\n      card.className =\n        \"card \" +\n        (\n          showAsActive\n            ? \"active-card\"\n            : \"inactive-card\"\n        );\n\n      if (!showAsActive){\n        card.innerHTML = `\n          <div class=\"card-header\">\n            ${escapeHtml(title)}\n          <\/div>\n\n          <div class=\"inactive-body\">\n            Inhalte in Erarbeitung\n          <\/div>\n        `;\n\n        out.appendChild(card);\n        return;\n      }\n\n      const benefits =\n        getBenefitItems(r);\n\n      const wirkungScale =\n        buildScaleHtml(\n          \"leaf\",\n          r[COLS.wirkung]\n        );\n\n      const kostenScale =\n        buildScaleHtml(\n          \"coin\",\n          r[COLS.kosten]\n        );\n\n      const beschrHtml = `\n        <div class=\"description\">\n\n          <div class=\"description-head\">\n\n            <h4>Beschreibung<\/h4>\n\n            <div class=\"badges\">\n\n              ${\n                isYes(r[COLS.klim])\n                  ? `\n                    <span class=\"badge\">\n                      Klimaschutz\n                    <\/span>\n                  `\n                  : \"\"\n              }\n\n              ${\n                isYes(r[COLS.adapt])\n                  ? `\n                    <span class=\"badge adapt\">\n                      Anpassung\n                    <\/span>\n                  `\n                  : \"\"\n              }\n\n            <\/div>\n          <\/div>\n\n          <div class=\"applicable-for\">\n            <strong>Anwendbar f\u00fcr:<\/strong>\n\n            ${\n              splitCategories(r[COLS.category])\n                .map(escapeHtml)\n                .join(\", \")\n            }\n          <\/div>\n\n           ${\n             splitRisks(r[COLS.risk]).length\n          ? `\n           <div class=\"applicable-for risk-applicable-for\">\n           <strong>Wirkt bei Klimarisiken:<\/strong>\n\n${\nsplitRisks(r[COLS.risk])\n.map(escapeHtml)\n.join(\", \")\n}\n\n<\/div>\n`\n: \"\"\n}\n\n          ${\n            r[COLS.beschreibung]\n              ? `\n                <p>\n                  ${linkify(r[COLS.beschreibung])}\n                <\/p>\n              `\n              : \"\"\n          }\n\n        <\/div>\n      `;\n\n      const impactHtml = `\n\n        ${\n          wirkungScale\n            ? `\n              <div class=\"impact-row\">\n\n                <div class=\"impact-left\">\n\n                  <div class=\"impact-label\">\n                    Wirkung Klimaschutz\n                    ${climateLegendHtml()}\n                  <\/div>\n\n                  <div class=\"impact-scale\">\n                    ${wirkungScale}\n                  <\/div>\n\n                <\/div>\n\n                <div class=\"impact-text\">\n                  ${\n                    r[COLS.wirkungErkl]\n                      ? linkify(r[COLS.wirkungErkl])\n                      : \"\"\n                  }\n                <\/div>\n\n              <\/div>\n            `\n            : \"\"\n        }\n\n        ${\n          kostenScale\n            ? `\n              <div class=\"impact-row\">\n\n                <div class=\"impact-left\">\n\n                  <div class=\"impact-label\">\n                    Investitionen \/ Kosten\n                    ${costLegendHtml()}\n                  <\/div>\n\n                  <div class=\"impact-scale\">\n                    ${kostenScale}\n                  <\/div>\n\n                <\/div>\n\n                <div class=\"impact-text\">\n                  ${\n                    r[COLS.kostenErkl]\n                      ? linkify(r[COLS.kostenErkl])\n                      : \"\"\n                  }\n                <\/div>\n\n              <\/div>\n            `\n            : \"\"\n        }\n      `;\n\n      const coBenefitsText =\n        r[COLS.coBenefitsErkl];\n\n      const benefitsHtml =\n        benefits.length || coBenefitsText\n          ? `\n            <div class=\"benefits\">\n\n              <div class=\"benefits-header\">\n\n                <h4>Zusatznutzen<\/h4>\n\n                ${\n                  coBenefitsText\n                    ? `\n                      <div class=\"benefits-expl\">\n                        ${linkify(coBenefitsText)}\n                      <\/div>\n                    `\n                    : \"\"\n                }\n\n              <\/div>\n\n              ${\n                benefits.length\n                  ? `\n                    <div class=\"benefit-list\">\n\n                      ${benefits.map(benefit => `\n                        <span class=\"benefit-item\">\n\n                          <img decoding=\"async\"\n                            src=\"${benefit.icon}\"\n                            alt=\"${escapeHtml(benefit.label)}\"\n                            onerror=\"this.style.display='none'\"\n                          >\n\n                          <span>\n                            ${escapeHtml(benefit.label)}\n                          <\/span>\n\n                        <\/span>\n                      `).join(\"\")}\n\n                    <\/div>\n                  `\n                  : \"\"\n              }\n\n            <\/div>\n          `\n          : \"\";\n\n      card.innerHTML = `\n        <div class=\"card-header\">\n          ${escapeHtml(title)}\n        <\/div>\n\n        <div class=\"card-body\">\n\n          ${beschrHtml}\n\n          ${impactHtml}\n\n          ${benefitsHtml}\n\n          <div class=\"accordion-group\">\n\n            ${createAccordion(\n              \"Schritte f\u00fcr eine erfolgreiche Umsetzung\",\n              formatAccordionContent(\n                r[COLS.schritte]\n              )\n            )}\n\n            ${createAccordion(\n              \"Herausforderungen\",\n              formatAccordionContent(\n                r[COLS.herausforderungen]\n              )\n            )}\n\n            ${createAccordion(\n              \"Informationen und Merkbl\u00e4tter\",\n              formatInfoPairs(\n                r[COLS.info]\n              )\n            )}\n\n            ${createAccordion(\n              \"Literatur \/ Quellen\",\n              formatSimpleContent(\n                r[COLS.quellen]\n              ),\n              true\n            )}\n\n          <\/div>\n        <\/div>\n      `;\n\n      out.appendChild(card);\n    });\n\n    bindAccordionEvents();\n  }\n\n\n  \/* =======================================================\n     ACCORDIONS\n     ======================================================= *\/\n\n  function bindAccordionEvents(){\n    document\n      .querySelectorAll(\".acc-toggle\")\n      .forEach(btn => {\n        btn.onclick = function(e){\n          e.preventDefault();\n          e.stopPropagation();\n\n          const accordion =\n            this.closest(\".accordion\");\n\n          if (accordion){\n            accordion.classList.toggle(\"open\");\n          }\n        };\n      });\n  }\n\n\n  \/* =======================================================\n     EVENT-LISTENER\n     ======================================================= *\/\n\n  [\n    \"searchInput\",\n    \"filterKlimaschutz\",\n    \"filterAnpassung\",\n    \"filterBio\"\n  ].forEach(id => {\n    const el = document.getElementById(id);\n\n    el.addEventListener(\n      id === \"searchInput\"\n        ? \"input\"\n        : \"change\",\n      filterData\n    );\n  });\n\n\n  \/* =======================================================\n     EXCEL-DATEI LADEN\n     ======================================================= *\/\n\n  fetch(EXCEL_FILE)\n    .then(response => {\n      if (!response.ok){\n        throw new Error(\n          \"Excel-Datei konnte nicht geladen werden.\"\n        );\n      }\n\n      return response.arrayBuffer();\n    })\n\n    .then(buffer => {\n      const workbook = XLSX.read(\n        buffer,\n        { type:\"array\" }\n      );\n\n      const preferredSheet =\n        workbook.SheetNames.includes(\n          \"Massnahmen_Paket 1\"\n        )\n          ? \"Massnahmen_Paket 1\"\n          : workbook.SheetNames[0];\n\n      const sheet =\n        workbook.Sheets[preferredSheet];\n\n      data = cleanData(\n        XLSX.utils.sheet_to_json(\n          sheet,\n          { defval:\"\" }\n        )\n      );\n\n      allCategories =\n        uniqueCategoriesFromData(data);\n      allRisks = uniqueRisksFromData(data);\n\n      \/*\n       * Neue Risikokarten und bestehende\n       * Themenkarten erzeugen.\n       *\/\n      renderRisks();\n      renderCategories();\n\n      \/*\n       * Anfangszustand:\n       * Noch keine Themen oder Risiken ausgew\u00e4hlt.\n       *\/\n      filterData();\n\n      console.log(\n        \"Geladen:\",\n        data.length,\n        \"Zeilen aus Sheet:\",\n        preferredSheet\n      );\n    })\n\n    .catch(error => {\n      console.error(error);\n\n      document\n        .getElementById(\"results\")\n        .innerHTML = `\n          <div class=\"no-results\">\n            Fehler beim Laden der Excel-Datei.\n          <\/div>\n        `;\n    });\n<\/script>\n\n\n\n<div style=\"height:221px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-group agripedia-impressum is-layout-flow wp-block-group-is-layout-flow\">\n<div class=\"wp-block-group agripedia-impressum-header is-layout-flow wp-block-group-is-layout-flow\">\n<h5 class=\"wp-block-heading\">Impressum<\/h5>\n<\/div>\n\n\n\n<div class=\"wp-block-group agripedia-impressum-content is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Inhaltliche Ausarbeitung:<\/strong><\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image alignleft size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"776\" height=\"277\" src=\"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/05\/agridea_logo_RGB_transparent_2x.png\" alt=\"\" class=\"wp-image-2208\" style=\"aspect-ratio:2.7368793072981092;width:197px;height:auto\" srcset=\"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/05\/agridea_logo_RGB_transparent_2x.png 776w, https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/05\/agridea_logo_RGB_transparent_2x-300x107.png 300w, https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/05\/agridea_logo_RGB_transparent_2x-768x274.png 768w\" sizes=\"auto, (max-width: 776px) 100vw, 776px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n<\/div>\n\n\n\n<div style=\"height:59px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"no-space wp-block-paragraph\"><strong><strong>Grundlagen aus den Arbeiten folgender Akteure \/ Projekte:<\/strong><\/strong><\/p>\n\n\n\n<div class=\"wp-block-columns are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image alignleft size-large is-resized\"><a href=\"https:\/\/www.fibl.org\/de\/\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"429\" src=\"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/04\/fibl-logo-1024x429.png\" alt=\"\" class=\"wp-image-2078\" style=\"aspect-ratio:2.387252839713925;width:143px;height:auto\" srcset=\"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/04\/fibl-logo-1024x429.png 1024w, https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/04\/fibl-logo-300x126.png 300w, https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/04\/fibl-logo-768x322.png 768w, https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/04\/fibl-logo-1536x644.png 1536w, https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/04\/fibl-logo-2048x859.png 2048w, https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/04\/fibl-logo-1200x503.png 1200w, https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/04\/fibl-logo-1980x830.png 1980w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image alignleft size-large is-resized\"><a href=\"https:\/\/climatefarmdemo.eu\/\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"622\" src=\"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/04\/CFD-colour-transparrent-background-1024x622.png\" alt=\"\" class=\"wp-image-2080\" style=\"aspect-ratio:1.6465025726602698;width:155px;height:auto\" srcset=\"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/04\/CFD-colour-transparrent-background-1024x622.png 1024w, https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/04\/CFD-colour-transparrent-background-300x182.png 300w, https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/04\/CFD-colour-transparrent-background-768x466.png 768w, https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/04\/CFD-colour-transparrent-background-1536x932.png 1536w, https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/04\/CFD-colour-transparrent-background-2048x1243.png 2048w, https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/04\/CFD-colour-transparrent-background-1200x728.png 1200w, https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/04\/CFD-colour-transparrent-background-1980x1202.png 1980w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image alignleft size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"215\" src=\"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/04\/EN-Funded-by-the-EU-PANTONE-1024x215.jpg\" alt=\"\" class=\"wp-image-2083\" srcset=\"https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/04\/EN-Funded-by-the-EU-PANTONE-1024x215.jpg 1024w, https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/04\/EN-Funded-by-the-EU-PANTONE-300x63.jpg 300w, https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/04\/EN-Funded-by-the-EU-PANTONE-768x161.jpg 768w, https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/04\/EN-Funded-by-the-EU-PANTONE-1536x322.jpg 1536w, https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/04\/EN-Funded-by-the-EU-PANTONE-2048x430.jpg 2048w, https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/04\/EN-Funded-by-the-EU-PANTONE-1200x252.jpg 1200w, https:\/\/agripedia.ch\/klima\/wp-content\/uploads\/sites\/66\/2026\/04\/EN-Funded-by-the-EU-PANTONE-1980x415.jpg 1980w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">R\u00fcckmeldungen f\u00fcr zus\u00e4tzliche Massnahmen, Erg\u00e4nzungen oder Korrekturen k\u00f6nnen jederzeit hier eingereicht werden: <a href=\"https:\/\/forms.office.com\/e\/T50mn2kygV\" title=\"\">Feedback-Formular<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die Massnahmensammlung Klimaschutz und -anpassung bietet einen \u00dcberblick \u00fcber wirksame Massnahmen zur Reduktion von Treibhausgasen und zur Anpassung der landwirtschaftlichen Produktion an den Klimawandel. Die Massnahmensammlung bietet eine erste Einsch\u00e4tzung des m\u00f6glichen Treibhausgas-Reduktionspotenzials und der mit den Massnahmen verbundenen Investitionen und m\u00f6glichen wiederkehrenden Kosten. Diese Angaben basieren auf aktuell verf\u00fcgbarer Literatur und k\u00f6nnen bei neuen [&hellip;]<\/p>\n","protected":false},"author":927,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"_sb_is_suggestion_mode":false,"_sb_show_suggestion_boards":false,"_sb_show_comment_boards":false,"_sb_suggestion_history":"","_sb_update_block_changes":"","om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-1891","page","type-page","status-publish","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Die Massnahmensammlung Klimaschutz und -anpassung bietet einen \u00dcberblick \u00fcber wirksame Massnahmen zur Reduktion von Treibhausgasen und zur Anpassung der landwirtschaftlichen Produktion an den Klimawandel. Die Massnahmensammlung bietet eine erste Einsch\u00e4tzung des m\u00f6glichen Treibhausgas-Reduktionspotenzials und der mit den Massnahmen verbundenen Investitionen und m\u00f6glichen wiederkehrenden Kosten. Diese Angaben basieren auf aktuell verf\u00fcgbarer Literatur und k\u00f6nnen bei neuen\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/agripedia.ch\/klima\/massnahmensammlung-klimaschutz-und-anpassung\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Plattform Klima - wissensportal Klima\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Massnahmensammlung Klimaschutz und -anpassung - Plattform Klima\" \/>\n\t\t<meta property=\"og:description\" content=\"Die Massnahmensammlung Klimaschutz und -anpassung bietet einen \u00dcberblick \u00fcber wirksame Massnahmen zur Reduktion von Treibhausgasen und zur Anpassung der landwirtschaftlichen Produktion an den Klimawandel. Die Massnahmensammlung bietet eine erste Einsch\u00e4tzung des m\u00f6glichen Treibhausgas-Reduktionspotenzials und der mit den Massnahmen verbundenen Investitionen und m\u00f6glichen wiederkehrenden Kosten. Diese Angaben basieren auf aktuell verf\u00fcgbarer Literatur und k\u00f6nnen bei neuen\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/agripedia.ch\/klima\/massnahmensammlung-klimaschutz-und-anpassung\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-03-24T16:04:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-09-11T10:21:50+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Massnahmensammlung Klimaschutz und -anpassung - Plattform Klima\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Die Massnahmensammlung Klimaschutz und -anpassung bietet einen \u00dcberblick \u00fcber wirksame Massnahmen zur Reduktion von Treibhausgasen und zur Anpassung der landwirtschaftlichen Produktion an den Klimawandel. Die Massnahmensammlung bietet eine erste Einsch\u00e4tzung des m\u00f6glichen Treibhausgas-Reduktionspotenzials und der mit den Massnahmen verbundenen Investitionen und m\u00f6glichen wiederkehrenden Kosten. Diese Angaben basieren auf aktuell verf\u00fcgbarer Literatur und k\u00f6nnen bei neuen\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/agripedia.ch\\\/klima\\\/massnahmensammlung-klimaschutz-und-anpassung\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/agripedia.ch\\\/klima#listItem\",\"position\":1,\"name\":\"Zu Hause\",\"item\":\"https:\\\/\\\/agripedia.ch\\\/klima\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/agripedia.ch\\\/klima\\\/massnahmensammlung-klimaschutz-und-anpassung\\\/#listItem\",\"name\":\"Massnahmensammlung Klimaschutz und -anpassung\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/agripedia.ch\\\/klima\\\/massnahmensammlung-klimaschutz-und-anpassung\\\/#listItem\",\"position\":2,\"name\":\"Massnahmensammlung Klimaschutz und -anpassung\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/agripedia.ch\\\/klima#listItem\",\"name\":\"Zu Hause\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/agripedia.ch\\\/klima\\\/#organization\",\"name\":\"Plattform Klima\",\"description\":\"wissensportal Klima\",\"url\":\"https:\\\/\\\/agripedia.ch\\\/klima\\\/\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/agripedia.ch\\\/klima\\\/massnahmensammlung-klimaschutz-und-anpassung\\\/#webpage\",\"url\":\"https:\\\/\\\/agripedia.ch\\\/klima\\\/massnahmensammlung-klimaschutz-und-anpassung\\\/\",\"name\":\"Massnahmensammlung Klimaschutz und -anpassung - Plattform Klima\",\"description\":\"Die Massnahmensammlung Klimaschutz und -anpassung bietet einen \\u00dcberblick \\u00fcber wirksame Massnahmen zur Reduktion von Treibhausgasen und zur Anpassung der landwirtschaftlichen Produktion an den Klimawandel. Die Massnahmensammlung bietet eine erste Einsch\\u00e4tzung des m\\u00f6glichen Treibhausgas-Reduktionspotenzials und der mit den Massnahmen verbundenen Investitionen und m\\u00f6glichen wiederkehrenden Kosten. Diese Angaben basieren auf aktuell verf\\u00fcgbarer Literatur und k\\u00f6nnen bei neuen\",\"inLanguage\":\"de-DE\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/agripedia.ch\\\/klima\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/agripedia.ch\\\/klima\\\/massnahmensammlung-klimaschutz-und-anpassung\\\/#breadcrumblist\"},\"datePublished\":\"2026-03-24T17:04:00+01:00\",\"dateModified\":\"2026-09-11T12:21:50+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/agripedia.ch\\\/klima\\\/#website\",\"url\":\"https:\\\/\\\/agripedia.ch\\\/klima\\\/\",\"name\":\"Plattform Klima\",\"description\":\"wissensportal Klima\",\"inLanguage\":\"de-DE\",\"publisher\":{\"@id\":\"https:\\\/\\\/agripedia.ch\\\/klima\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Massnahmensammlung Klimaschutz und -anpassung - Plattform Klima","description":"Die Massnahmensammlung Klimaschutz und -anpassung bietet einen \u00dcberblick \u00fcber wirksame Massnahmen zur Reduktion von Treibhausgasen und zur Anpassung der landwirtschaftlichen Produktion an den Klimawandel. Die Massnahmensammlung bietet eine erste Einsch\u00e4tzung des m\u00f6glichen Treibhausgas-Reduktionspotenzials und der mit den Massnahmen verbundenen Investitionen und m\u00f6glichen wiederkehrenden Kosten. Diese Angaben basieren auf aktuell verf\u00fcgbarer Literatur und k\u00f6nnen bei neuen","canonical_url":"https:\/\/agripedia.ch\/klima\/massnahmensammlung-klimaschutz-und-anpassung\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/agripedia.ch\/klima\/massnahmensammlung-klimaschutz-und-anpassung\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/agripedia.ch\/klima#listItem","position":1,"name":"Zu Hause","item":"https:\/\/agripedia.ch\/klima","nextItem":{"@type":"ListItem","@id":"https:\/\/agripedia.ch\/klima\/massnahmensammlung-klimaschutz-und-anpassung\/#listItem","name":"Massnahmensammlung Klimaschutz und -anpassung"}},{"@type":"ListItem","@id":"https:\/\/agripedia.ch\/klima\/massnahmensammlung-klimaschutz-und-anpassung\/#listItem","position":2,"name":"Massnahmensammlung Klimaschutz und -anpassung","previousItem":{"@type":"ListItem","@id":"https:\/\/agripedia.ch\/klima#listItem","name":"Zu Hause"}}]},{"@type":"Organization","@id":"https:\/\/agripedia.ch\/klima\/#organization","name":"Plattform Klima","description":"wissensportal Klima","url":"https:\/\/agripedia.ch\/klima\/"},{"@type":"WebPage","@id":"https:\/\/agripedia.ch\/klima\/massnahmensammlung-klimaschutz-und-anpassung\/#webpage","url":"https:\/\/agripedia.ch\/klima\/massnahmensammlung-klimaschutz-und-anpassung\/","name":"Massnahmensammlung Klimaschutz und -anpassung - Plattform Klima","description":"Die Massnahmensammlung Klimaschutz und -anpassung bietet einen \u00dcberblick \u00fcber wirksame Massnahmen zur Reduktion von Treibhausgasen und zur Anpassung der landwirtschaftlichen Produktion an den Klimawandel. Die Massnahmensammlung bietet eine erste Einsch\u00e4tzung des m\u00f6glichen Treibhausgas-Reduktionspotenzials und der mit den Massnahmen verbundenen Investitionen und m\u00f6glichen wiederkehrenden Kosten. Diese Angaben basieren auf aktuell verf\u00fcgbarer Literatur und k\u00f6nnen bei neuen","inLanguage":"de-DE","isPartOf":{"@id":"https:\/\/agripedia.ch\/klima\/#website"},"breadcrumb":{"@id":"https:\/\/agripedia.ch\/klima\/massnahmensammlung-klimaschutz-und-anpassung\/#breadcrumblist"},"datePublished":"2026-03-24T17:04:00+01:00","dateModified":"2026-09-11T12:21:50+02:00"},{"@type":"WebSite","@id":"https:\/\/agripedia.ch\/klima\/#website","url":"https:\/\/agripedia.ch\/klima\/","name":"Plattform Klima","description":"wissensportal Klima","inLanguage":"de-DE","publisher":{"@id":"https:\/\/agripedia.ch\/klima\/#organization"}}]},"og:locale":"de_DE","og:site_name":"Plattform Klima - wissensportal Klima","og:type":"article","og:title":"Massnahmensammlung Klimaschutz und -anpassung - Plattform Klima","og:description":"Die Massnahmensammlung Klimaschutz und -anpassung bietet einen \u00dcberblick \u00fcber wirksame Massnahmen zur Reduktion von Treibhausgasen und zur Anpassung der landwirtschaftlichen Produktion an den Klimawandel. Die Massnahmensammlung bietet eine erste Einsch\u00e4tzung des m\u00f6glichen Treibhausgas-Reduktionspotenzials und der mit den Massnahmen verbundenen Investitionen und m\u00f6glichen wiederkehrenden Kosten. Diese Angaben basieren auf aktuell verf\u00fcgbarer Literatur und k\u00f6nnen bei neuen","og:url":"https:\/\/agripedia.ch\/klima\/massnahmensammlung-klimaschutz-und-anpassung\/","article:published_time":"2026-03-24T16:04:00+00:00","article:modified_time":"2026-09-11T10:21:50+00:00","twitter:card":"summary_large_image","twitter:title":"Massnahmensammlung Klimaschutz und -anpassung - Plattform Klima","twitter:description":"Die Massnahmensammlung Klimaschutz und -anpassung bietet einen \u00dcberblick \u00fcber wirksame Massnahmen zur Reduktion von Treibhausgasen und zur Anpassung der landwirtschaftlichen Produktion an den Klimawandel. Die Massnahmensammlung bietet eine erste Einsch\u00e4tzung des m\u00f6glichen Treibhausgas-Reduktionspotenzials und der mit den Massnahmen verbundenen Investitionen und m\u00f6glichen wiederkehrenden Kosten. Diese Angaben basieren auf aktuell verf\u00fcgbarer Literatur und k\u00f6nnen bei neuen"},"aioseo_meta_data":{"post_id":"1891","title":null,"description":null,"keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"WebPage","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"created":"2026-03-13 08:49:31","updated":"2026-09-11 10:22:51","seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/agripedia.ch\/klima\" title=\"Zu Hause\">Zu Hause<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tMassnahmensammlung Klimaschutz und -anpassung\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Zu Hause","link":"https:\/\/agripedia.ch\/klima"},{"label":"Massnahmensammlung Klimaschutz und -anpassung","link":"https:\/\/agripedia.ch\/klima\/massnahmensammlung-klimaschutz-und-anpassung\/"}],"_links":{"self":[{"href":"https:\/\/agripedia.ch\/klima\/wp-json\/wp\/v2\/pages\/1891","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/agripedia.ch\/klima\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/agripedia.ch\/klima\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/agripedia.ch\/klima\/wp-json\/wp\/v2\/users\/927"}],"replies":[{"embeddable":true,"href":"https:\/\/agripedia.ch\/klima\/wp-json\/wp\/v2\/comments?post=1891"}],"version-history":[{"count":159,"href":"https:\/\/agripedia.ch\/klima\/wp-json\/wp\/v2\/pages\/1891\/revisions"}],"predecessor-version":[{"id":2740,"href":"https:\/\/agripedia.ch\/klima\/wp-json\/wp\/v2\/pages\/1891\/revisions\/2740"}],"wp:attachment":[{"href":"https:\/\/agripedia.ch\/klima\/wp-json\/wp\/v2\/media?parent=1891"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}