{"id":253561,"date":"2025-11-21T00:07:26","date_gmt":"2025-11-20T23:07:26","guid":{"rendered":"https:\/\/www.putz24.ch\/nettoyage-des-vitres\/"},"modified":"2026-10-27T00:07:32","modified_gmt":"2026-10-26T23:07:32","slug":"nettoyage-des-vitres","status":"publish","type":"page","link":"https:\/\/www.putz24.ch\/fr\/nettoyage-des-vitres\/","title":{"rendered":"Nettoyage des vitres"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"253561\" class=\"elementor elementor-253561 elementor-141684\">\n\t\t\t\t\t\t<section class=\"pix-elementor-divider elementor-section elementor-top-section elementor-element elementor-element-344cdfa elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"344cdfa\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-d3c7260\" data-id=\"d3c7260\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-eaf5efd elementor-widget elementor-widget-pix-badge\" data-id=\"eaf5efd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pix-badge.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<span class=\"pix-badge-element h6 d-inline-flex mr-1 \"  ><span class=\"badge font-weight-bold secondary-font  bg-gradient-primary-light pix-bg-attachment-scroll text-bg-img  pix-py-10 pix-px-15\" style=\" \"><span class=\"text-gradient-primary pix-bg-attachment-scroll text-bg-img\" style=\"\">Putz24.ch - Nettoyage des vitres pour les particuliers et les entreprises<\/span><\/span><\/span>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fc7eeb4 p24-h1-as-h4 elementor-widget elementor-widget-pix-highlighted-text\" data-id=\"fc7eeb4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pix-highlighted-text.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div id=\"el-fc7eeb4\" class=\"pix-highlighted-element text-left \"><h1 class=\"pix-highlighted-items \" style=\"\" data-anim-type=\"\" data-anim-delay=\"\"><span id=\"el-fc7eeb4-0\"  class=\" elementor-repeater-item-d38df35\"><span   class=\"pix-highlighted-text  pix-highlight-item font-weight-normal  heading-font text-heading-default\">Nettoyage des vitres avec un calcul clair du temps et des co\u00fbts<\/span><\/span><\/h1><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7ecfeaa elementor-widget elementor-widget-pix-text\" data-id=\"7ecfeaa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pix-text.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"pix-el-text w-100 text-left \" ><p class=\"text-18 resp-option text-dark-opacity-5 text-left \" >Des fen\u00eatres transparentes pour les appartements, les maisons et les locaux commerciaux - avec un calcul transparent du nombre de fen\u00eatres, de la hauteur et des prestations suppl\u00e9mentaires.<\/p><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eccff53 elementor-widget elementor-widget-pix-text\" data-id=\"eccff53\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pix-text.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"pix-el-text w-100 text-left \" ><p class=\"resp-option text-left \"><p><span style=\"color: #5ecc62;\">\u2714<\/span> Calcul par minutes &amp; heures <br><span style=\"color: #5ecc62;\">\u2714<\/span> Suppl\u00e9ment de hauteur automatiquement pris en compte<br><span style=\"color: #5ecc62;\">\u2714<\/span> En option : volets, cadres &amp; appuis de fen\u00eatre<\/p><\/p><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5c08e11 e-grid e-con-boxed e-con e-parent\" data-id=\"5c08e11\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f7344b3 elementor-widget elementor-widget-pix-button\" data-id=\"f7344b3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pix-button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<a  href=\"https:\/\/www.putz24.ch\/fr\/configurateur-de-prix-pour-le-nettoyage-de-vitres\/\" class=\"btn m-0      btn-primary d-inline-flex align-items-center      btn-md\"     ><span class=\"font-weight-bold \" >Configurer le nettoyage des fen\u00eatres<\/span><\/a>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-34e4077 elementor-widget elementor-widget-pix-text\" data-id=\"34e4077\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pix-text.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"pix-el-text w-100 text-left \" ><p class=\"text-xs resp-option  text-left font-weight-bold\" >Possibilit\u00e9 de missions uniques ou r\u00e9currentes<\/p><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-a26110f\" data-id=\"a26110f\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-c23a606 elementor-widget elementor-widget-html\" data-id=\"c23a606\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>.p24-win-hero {\n    max-width: 1100px;\n    margin: 0 auto 40px;\n    padding: 30px 15px 20px;\n    font-family: system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n    color: #1a1a1a;\n    line-height: 1.6;\n    display: grid;\n    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);\n    gap: 30px;\n    align-items: center;\n}\n\n@media (max-width: 900px) {\n    .p24-win-hero {\n        grid-template-columns: 1fr;\n    }\n}\n\n.p24-win-badge {\n    display: inline-flex;\n    align-items: center;\n    gap: 6px;\n    font-size: 13px;\n    padding: 4px 10px;\n    border-radius: 999px;\n    background: rgba(94, 204, 98, 0.08);\n    color: #5ECC62;\n    font-weight: 600;\n    margin-bottom: 10px;\n}\n\n.p24-win-badge span {\n    font-size: 14px;\n}\n\n.p24-win-hero h1 {\n    font-size: 30px;\n    margin: 0 0 10px;\n    color: #1f2933;\n}\n\n.p24-win-hero p.p24-win-lead {\n    margin: 0 0 18px;\n    font-size: 15px;\n}\n\n.p24-win-bullets {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 10px 18px;\n    margin-bottom: 20px;\n    font-size: 14px;\n}\n\n.p24-win-bullets span {\n    display: inline-flex;\n    align-items: center;\n}\n\n.p24-win-bullets span::before {\n    content: \"\u2714\";\n    color: #5ECC62;\n    margin-right: 6px;\n    font-size: 14px;\n}\n\n.p24-win-cta-row {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 10px;\n    align-items: center;\n}\n\n.p24-win-btn-primary {\n    border: none;\n    background: #5ECC62;\n    color: #fff;\n    padding: 10px 20px;\n    border-radius: 999px;\n    font-weight: 600;\n    cursor: pointer;\n    font-size: 14px;\n    text-decoration: none;\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n}\n\n.p24-win-btn-primary:hover {\n    filter: brightness(0.95);\n}\n\n.p24-win-note {\n    font-size: 12px;\n    opacity: 0.8;\n}\n\n\/* rechte Kachel *\/\n.p24-win-hero-card {\n    background: #fff;\n    border-radius: 14px;\n    box-shadow: 0 14px 40px rgba(15, 23, 42, 0.08);\n    padding: 18px 18px 16px;\n    border: 1px solid #e5e7eb;\n    font-size: 13px;\n}\n\n.p24-win-hero-card h3 {\n    margin: 0 0 6px;\n    font-size: 17px;\n    color: #1f2933;\n}\n\n.p24-win-hero-card p {\n    margin: 0 0 10px;\n}\n\n.p24-win-hero-metrics {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 14px;\n    font-size: 12px;\n}\n\n.p24-win-hero-metrics div strong {\n    display: block;\n    font-size: 14px;\n    margin-bottom: 2px;\n}\n<\/style><aside class=\"p24-win-hero-card\"><h3>Des vitres propres, un calcul clair<\/h3><p>Votre prix se base sur le nombre de fen\u00eatres, la hauteur et le travail suppl\u00e9mentaire \u2013 calcul\u00e9 enti\u00e8rement automatiquement.<\/p><div class=\"p24-win-hero-metrics\"><div><strong>\u2714 Nombre de fen\u00eatres<\/strong><span>Fen\u00eatres standard, fen\u00eatres coulissantes, surfaces vitr\u00e9es<\/span><\/div><div><strong>\u2714 Hauteur<\/strong><span>Sans \u00e9chelle, jusqu'\u00e0 2 m, plus de 2 m (perche t\u00e9lescopique)<\/span><\/div><div><strong>\u2714 Services suppl\u00e9mentaires<\/strong><span>Volets roulants, cadres, rebords de fen\u00eatre<\/span><\/div><\/div><\/aside>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t<div class=\"pix-divider  position-relative pix-bottom-divider elementor-element elementor-element-344cdfa\" data-style=\"style-8\" ><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"100%\" height=\"300px\" viewBox=\"0 0 1200 366\" preserveAspectRatio=\"none\"><g class=\"animate-in\" data-anim-type=\"fade-in-up\" data-anim-delay=\"300\"><polygon fill=\"url(#divider-pix-accordion-539792-bottom-overlay-layer-3)\" points=\"0 240 1200 0 1200 366 0 366\" \/><\/g><polygon fill=\"#FFFFFF00\"  points=\"0 300 1200 60 1200 366 0 366\" \/><polygon fill=\"#ffffff\" points=\"0 360 1200 120 1200 366 0 366\"\/><defs><linearGradient id=\"divider-pix-accordion-539792-bottom-overlay-layer-3\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"><stop offset=\"0%\"   stop-color=\"#00000014\"\/><stop offset=\"100%\"   stop-color=\"#FFFFFF03\"\/><\/linearGradient><\/defs><\/svg><\/div>\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4bee98ee elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4bee98ee\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-74e35663\" data-id=\"74e35663\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-bee219a elementor-widget elementor-widget-html\" data-id=\"bee219a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>.p24-win-steps-section {\n    max-width: 1100px;\n    margin: 0 auto 40px;\n    padding: 0 15px;\n    font-family: system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n    color: #1a1a1a;\n    line-height: 1.6;\n}\n\n.p24-win-steps-section h2 {\n    font-size: 22px;\n    margin: 0 0 10px;\n    color: #1f2933;\n}\n\n.p24-win-steps-section p.p24-win-intro {\n    font-size: 14px;\n    margin: 0 0 14px;\n}\n\n.p24-win-steps-grid {\n    display: grid;\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n    gap: 18px;\n}\n\n@media (max-width: 900px) {\n    .p24-win-steps-grid {\n        grid-template-columns: 1fr;\n    }\n}\n\n.p24-win-step {\n    background: #f7fafc;\n    border-radius: 12px;\n    padding: 14px 14px 12px;\n    font-size: 13px;\n    border: 1px solid #e5e7eb;\n}\n\n.p24-win-step-num {\n    width: 26px;\n    height: 26px;\n    border-radius: 999px;\n    background: #5ECC62;\n    color: #fff;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    font-size: 13px;\n    font-weight: 600;\n    margin-bottom: 6px;\n}\n\n.p24-win-step h3 {\n    font-size: 15px;\n    margin: 0 0 4px;\n    color: #1f2933;\n}\n\n.p24-win-step p {\n    margin: 0;\n}\n<\/style><section class=\"p24-win-steps-section\"><h2>Comment planifier votre nettoyage de vitres<\/h2><p class=\"p24-win-intro\">L'offre adapt\u00e9e en quelques indications \u2013 pour les particuliers, les entreprises et les g\u00e9rances.\n    <\/p><div class=\"p24-win-steps-grid\"><div class=\"p24-win-step\"><div class=\"p24-win-step-num\">1<\/div><h3>Saisir l'adresse de l'immeuble &amp; la date souhait\u00e9e<\/h3><p>Choisissez librement l'adresse, le NPA, la localit\u00e9 et la date souhait\u00e9e du nettoyage des vitres.\n            <\/p><\/div><div class=\"p24-win-step\"><div class=\"p24-win-step-num\">2<\/div><h3>D\u00e9finir les d\u00e9tails des fen\u00eatres<\/h3><p>Indiquez le nombre de fen\u00eatres, le type de fen\u00eatre, la hauteur et l'intervalle de nettoyage souhait\u00e9 (unique ou r\u00e9current).\n            <\/p><\/div><div class=\"p24-win-step\"><div class=\"p24-win-step-num\">3<\/div><h3>Choisir les services suppl\u00e9mentaires &amp; calculer le prix<\/h3><p>Nettoyage des volets roulants, des cadres et des rebords en option \u2013 le configurateur calcule automatiquement le temps, le sous-total, la TVA et le montant total.\n            <\/p><\/div><\/div><\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-0f47fd5 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"0f47fd5\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-43c6978\" data-id=\"43c6978\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3c18cae elementor-widget elementor-widget-html\" data-id=\"3c18cae\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>.p24-win-benefits {\n    max-width: 1100px;\n    margin: 0 auto 40px;\n    padding: 0 15px;\n    font-family: system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n    color: #1a1a1a;\n    line-height: 1.6;\n}\n\n.p24-win-benefits h2 {\n    font-size: 22px;\n    margin: 0 0 10px;\n    color: #1f2933;\n}\n\n.p24-win-benefits-highlight {\n    border-left: 3px solid #5ECC62;\n    padding: 8px 0 8px 10px;\n    margin-bottom: 12px;\n    font-size: 13px;\n    background: #f7fafc;\n}\n\n.p24-win-benefits-highlight strong {\n    display: block;\n    margin-bottom: 2px;\n    color: #1f2933;\n}\n\n.p24-win-benefits-list {\n    list-style: none;\n    padding: 0;\n    margin: 8px 0 0;\n    font-size: 13px;\n}\n\n.p24-win-benefits-list li {\n    margin-bottom: 5px;\n    display: flex;\n    align-items: flex-start;\n}\n\n.p24-win-benefits-list li::before {\n    content: \"\u2714\";\n    color: #5ECC62;\n    margin-right: 6px;\n    font-size: 14px;\n    line-height: 1.3;\n}\n<\/style><section class=\"p24-win-benefits\"><h2>Vos avantages avec Putz24.ch pour le nettoyage des vitres<\/h2><div class=\"p24-win-benefits-highlight\"><strong>Pas de surprises \u2013 tout est calcul\u00e9 \u00e0 l'avance.<\/strong>Le temps par fen\u00eatre est indiqu\u00e9 en minutes, les suppl\u00e9ments pour la hauteur et les prestations suppl\u00e9mentaires sont pris en compte automatiquement.\n    <\/div><ul class=\"p24-win-benefits-list\"><li>Nettoyage professionnel avec un \u00e9quipement adapt\u00e9<\/li><li>Surfaces vitr\u00e9es et ar\u00eates propres et, sur demande, cadres &amp; volets roulants<\/li><li>Id\u00e9al pour le nettoyage r\u00e9gulier des vitres dans les bureaux, cabinets et commerces<\/li><li>Tous les prix avec TVA indiqu\u00e9e s\u00e9par\u00e9ment (8,1 %)<\/li><\/ul><\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-a21b668 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"a21b668\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-43762d6\" data-id=\"43762d6\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7294065 elementor-widget elementor-widget-pix-text\" data-id=\"7294065\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pix-text.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"pix-el-text w-100 text-center \" ><p class=\"text-20 resp-option text-white text-center font-weight-bold\" >Saisir le code postal &amp; r\u00e9server directement le nettoyage des vitres<\/p><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5194636 elementor-widget elementor-widget-html\" data-id=\"5194636\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div>\r\n\r\n\r\n    <style>\r\n        \/* Globales Styling *\/\r\n        body {\r\n            margin: 0;\r\n            font-family: Arial, sans-serif;\r\n            background-color: #f9f9f9;\r\n        }\r\n\r\n        \/* Kachel-Styling *\/\r\n        .suchfunktion-kachel {\r\n            background-color: #ffffff;\r\n            border-radius: 12px;\r\n            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\r\n            padding: 20px;\r\n            max-width: 800px;\r\n            margin: 10px auto;\r\n        }\r\n\r\n        \/* Container *\/\r\n        .suchfunktion-container {\r\n            display: flex;\r\n            flex-direction: column; \/* Stack children vertically *\/\r\n            gap: 10px;\r\n        }\r\n\r\n        \/* Custom Dropdown Container *\/\r\n        .suchfunktion-dropdown-container {\r\n            position: relative;\r\n            width: 100%; \/* Take full width *\/\r\n        }\r\n\r\n        \/* Custom Dropdown Header *\/\r\n        .suchfunktion-dropdown-header {\r\n            padding: 10px;\r\n            border: 1px solid #ccc;\r\n            border-radius: 4px;\r\n            font-size: 16px;\r\n            background-color: #fff;\r\n            cursor: pointer;\r\n            display: flex;\r\n            justify-content: space-between;\r\n            align-items: center;\r\n        }\r\n\r\n        .suchfunktion-dropdown-header:hover {\r\n            border-color: #007BFF;\r\n        }\r\n\r\n        .suchfunktion-dropdown-arrow {\r\n            transition: transform 0.3s;\r\n        }\r\n\r\n        .suchfunktion-dropdown-arrow.open {\r\n            transform: rotate(180deg);\r\n        }\r\n\r\n        \/* Custom Dropdown List *\/\r\n        .suchfunktion-dropdown-list {\r\n            position: absolute;\r\n            top: 100%;\r\n            left: 0;\r\n            right: 0;\r\n            background-color: #fff;\r\n            border: 1px solid #ccc;\r\n            border-radius: 8px;\r\n            max-height: 400px;\r\n            overflow-y: auto;\r\n            z-index: 10000;\r\n            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\r\n            display: none;\r\n            margin-top: 5px;\r\n        }\r\n\r\n        .suchfunktion-dropdown-list.show {\r\n            display: block;\r\n        }\r\n\r\n        \/* Dropdown Item *\/\r\n        .suchfunktion-dropdown-item {\r\n            padding: 12px 16px;\r\n            cursor: pointer;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 12px;\r\n            transition: background-color 0.2s;\r\n            border-bottom: 1px solid #f0f0f0;\r\n        }\r\n\r\n        .suchfunktion-dropdown-item:last-child {\r\n            border-bottom: none;\r\n        }\r\n\r\n        .suchfunktion-dropdown-item:hover {\r\n            background-color: #f9f9f9;\r\n        }\r\n\r\n        \/* Icon Circle *\/\r\n        .suchfunktion-icon-circle {\r\n            width: 50px;\r\n            height: 50px;\r\n            border-radius: 0; \/* Remove circle, make it square *\/\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            font-size: 28px;\r\n            flex-shrink: 0;\r\n            background-color: transparent !important; \/* Remove background color *\/\r\n            color: #000; \/* Black color for icons *\/\r\n        }\r\n\r\n        .suchfunktion-icon-circle svg {\r\n            width: 40px;\r\n            height: 40px;\r\n            fill: #000 !important;\r\n        }\r\n\r\n        \/* Item Content *\/\r\n        .suchfunktion-item-content {\r\n            flex: 1;\r\n        }\r\n\r\n        .suchfunktion-item-title {\r\n            font-weight: bold;\r\n            font-size: 16px;\r\n            margin-bottom: 4px;\r\n            color: #000; \/* Black color for titles *\/\r\n        }\r\n\r\n        .suchfunktion-item-description {\r\n            font-size: 13px;\r\n            color: #666;\r\n            line-height: 1.5;\r\n        }\r\n\r\n        \/* Row for PLZ and Button *\/\r\n        .suchfunktion-row {\r\n            display: flex;\r\n            flex-wrap: wrap;\r\n            align-items: center;\r\n            gap: 10px;\r\n            width: 100%; \/* Take full width *\/\r\n        }\r\n\r\n        \/* Input Wrapper *\/\r\n        .suchfunktion-input-wrapper {\r\n            position: relative;\r\n        }\r\n\r\n        @media (min-width: 601px) {\r\n            .suchfunktion-input-wrapper {\r\n                flex: 1 1 200px; \/* Allow it to grow and shrink, but with a base of 200px *\/\r\n            }\r\n        }\r\n\r\n        \/* Textbox *\/\r\n        .suchfunktion-textbox {\r\n            width: 100%;\r\n            padding: 12px;\r\n            border: 1px solid #ccc;\r\n            border-radius: 4px;\r\n            font-size: 16px;\r\n        }\r\n\r\n        \/* Autocomplete *\/\r\n        .suchfunktion-autocomplete {\r\n            position: absolute;\r\n            top: 100%;\r\n            left: 0;\r\n            right: 0;\r\n            background-color: #fff;\r\n            border: 1px solid #ccc;\r\n            border-top: none;\r\n            max-height: 200px;\r\n            overflow-y: auto;\r\n            z-index: 9999;\r\n            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\r\n        }\r\n\r\n        .suchfunktion-autocomplete div {\r\n            padding: 10px;\r\n            cursor: pointer;\r\n        }\r\n\r\n        .suchfunktion-autocomplete div:hover {\r\n            background-color: #f0f0f0;\r\n        }\r\n\r\n        \/* Button *\/\r\n        .suchfunktion-button {\r\n            flex: 0 0 auto; \/* Don't allow button to grow, take its content width *\/\r\n            padding: 12px;\r\n            background-color: #007BFF;\r\n            color: #fff;\r\n            border: none;\r\n            border-radius: 4px;\r\n            font-size: 16px;\r\n            cursor: pointer;\r\n            white-space: nowrap; \/* Prevent button text from wrapping *\/\r\n        }\r\n\r\n        .suchfunktion-button:hover {\r\n            background-color: #0056b3;\r\n        }\r\n\r\n        \/* Popup *\/\r\n        .suchfunktion-popup {\r\n            position: fixed;\r\n            top: 50%;\r\n            left: 50%;\r\n            transform: translate(-50%, -50%);\r\n            background-color: #fff;\r\n            border: 1px solid #ccc;\r\n            border-radius: 8px;\r\n            padding: 20px;\r\n            width: 90%;\r\n            max-width: 400px;\r\n            z-index: 9999;\r\n            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);\r\n        }\r\n\r\n        .suchfunktion-popup-close {\r\n            position: absolute;\r\n            top: 10px;\r\n            right: 10px;\r\n            background: none;\r\n            border: none;\r\n            font-size: 18px;\r\n            cursor: pointer;\r\n            color: #666;\r\n        }\r\n\r\n        .suchfunktion-popup-close:hover {\r\n            color: #000;\r\n        }\r\n\r\n        .suchfunktion-popup input {\r\n            width: 100%;\r\n            padding: 12px;\r\n            margin-top: 10px;\r\n            border: 1px solid #ccc;\r\n            border-radius: 4px;\r\n            font-size: 16px;\r\n        }\r\n\r\n        .suchfunktion-popup button {\r\n            margin-top: 10px;\r\n            padding: 12px;\r\n            background-color: #007BFF;\r\n            color: #fff;\r\n            border: none;\r\n            border-radius: 4px;\r\n            font-size: 16px;\r\n            cursor: pointer;\r\n        }\r\n\r\n        .suchfunktion-popup button:hover {\r\n            background-color: #0056b3;\r\n        }\r\n\r\n        \/* Responsives Design *\/\r\n        @media (max-width: 600px) {\r\n            .suchfunktion-container {\r\n                gap: 10px;\r\n            }\r\n\r\n            .suchfunktion-dropdown-container {\r\n                width: 100%;\r\n            }\r\n\r\n            .suchfunktion-row {\r\n                flex-direction: column;\r\n                gap: 0 !important;\r\n                align-items: stretch;\r\n            }\r\n\r\n            .suchfunktion-input-wrapper {\r\n                width: 100%;\r\n                box-sizing: border-box;\r\n                margin: 0 !important;\r\n                padding: 0 !important;\r\n            }\r\n\r\n            .suchfunktion-textbox {\r\n                border-bottom-left-radius: 0;\r\n                border-bottom-right-radius: 0;\r\n                border-bottom: none !important;\r\n                margin: 0 !important;\r\n                padding: 12px !important;\r\n            }\r\n\r\n            .suchfunktion-button {\r\n                width: 100%;\r\n                padding: 12px !important;\r\n                margin: 0 !important;\r\n                box-sizing: border-box;\r\n                border-top-left-radius: 0;\r\n                border-top-right-radius: 0;\r\n                border-top: none !important;\r\n            }\r\n\r\n            .suchfunktion-dropdown-item {\r\n                padding: 10px 12px;\r\n                gap: 10px;\r\n            }\r\n\r\n            .suchfunktion-icon-circle {\r\n                width: 40px;\r\n                height: 40px;\r\n            }\r\n\r\n            .suchfunktion-icon-circle svg {\r\n                width: 32px;\r\n                height: 32px;\r\n            }\r\n\r\n            .suchfunktion-item-title {\r\n                font-size: 14px;\r\n            }\r\n\r\n            .suchfunktion-item-description {\r\n                font-size: 12px;\r\n            }\r\n        }\r\n    <\/style>\r\n\r\n\r\n    <div class=\"suchfunktion-kachel\">\r\n        <div class=\"suchfunktion-container\">\r\n            <!-- Custom Dropdown -->\r\n            <div class=\"suchfunktion-dropdown-container\">\r\n                <div class=\"suchfunktion-dropdown-header\" onclick=\"suchfunktionToggleDropdown()\">\r\n                    <span id=\"suchfunktion-selected-text\">-- Choisissez un type de nettoyage --<\/span>\r\n                    <span class=\"suchfunktion-dropdown-arrow\">\u25bc<\/span>\r\n                <\/div>\r\n                <div id=\"suchfunktion-dropdown-list\" class=\"suchfunktion-dropdown-list\">\r\n                    <div class=\"suchfunktion-dropdown-item\" onclick=\"suchfunktionSelectService('hausreinigung', 'Hausreinigung \/ Privathaushalt')\">\r\n                        <div class=\"suchfunktion-icon-circle\">\r\n                            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\" fill=\"currentColor\" width=\"48\" height=\"48\">\r\n                                <path d=\"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z\"\/>\r\n                            <\/svg>\r\n                        <\/div>\r\n                        <div class=\"suchfunktion-item-content\">\r\n                            <div class=\"suchfunktion-item-title\">Nettoyage \u00e0 domicile \/ M\u00e9nage priv\u00e9<\/div>\r\n                            <div class=\"suchfunktion-item-description\">Nettoyage r\u00e9gulier de votre appartement ou de votre maison<\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"suchfunktion-dropdown-item\" onclick=\"suchfunktionSelectService('hauswartung', 'Hauswartung')\">\r\n                        <div class=\"suchfunktion-icon-circle\">\r\n                            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\" fill=\"currentColor\" width=\"48\" height=\"48\">\r\n                                <path d=\"M12 2c-4.97 0-9 4.03-9 9 0 4.17 2.84 7.67 6.69 8.69L12 22l2.31-2.31C18.16 18.67 21 15.17 21 11c0-4.97-4.03-9-9-9zm0 2c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm0 14.3c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22z\"\/>\r\n                            <\/svg>\r\n                        <\/div>\r\n                        <div class=\"suchfunktion-item-content\">\r\n                            <div class=\"suchfunktion-item-title\">Conciergerie<\/div>\r\n                            <div class=\"suchfunktion-item-description\">Assistance technique &amp; entretien des biens immobiliers<\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"suchfunktion-dropdown-item\" onclick=\"suchfunktionSelectService('bueroreinigung', 'B\u00fcroreinigung')\">\r\n                        <div class=\"suchfunktion-icon-circle\">\r\n                            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\" fill=\"currentColor\" width=\"48\" height=\"48\">\r\n                                <path d=\"M20 3H4c-1.11 0-2 .89-2 2v11c0 1.11.89 2 2 2h3v2h10v-2h3c1.11 0 2-.89 2-2V5c0-1.11-.89-2-2-2zm0 13H4V5h16v11z\"\/>\r\n                            <\/svg>\r\n                        <\/div>\r\n                        <div class=\"suchfunktion-item-content\">\r\n                            <div class=\"suchfunktion-item-title\">Nettoyage de bureau<\/div>\r\n                            <div class=\"suchfunktion-item-description\">Nettoyage des lieux de travail et des espaces communs<\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"suchfunktion-dropdown-item\" onclick=\"suchfunktionSelectService('fensterreinigung', 'Fensterreinigung')\">\r\n                        <div class=\"suchfunktion-icon-circle\">\r\n                            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\" fill=\"currentColor\" width=\"48\" height=\"48\">\r\n                                <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-8 16H5v-6h6v6zm0-8H5V5h6v6zm8 8h-6v-6h6v6zm0-8h-6V5h6v6z\"\/>\r\n                            <\/svg>\r\n                        <\/div>\r\n                        <div class=\"suchfunktion-item-content\">\r\n                            <div class=\"suchfunktion-item-title\">Nettoyage des vitres<\/div>\r\n                            <div class=\"suchfunktion-item-description\">Nettoyage sans traces de toutes les surfaces vitr\u00e9es<\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"suchfunktion-dropdown-item\" onclick=\"suchfunktionSelectService('endreinigung', 'Endreinigung \/ Grundreinigung')\">\r\n                        <div class=\"suchfunktion-icon-circle\">\r\n                            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\" fill=\"currentColor\" width=\"48\" height=\"48\">\r\n                                <path d=\"M18 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM9 4h2v5l-1-.75-1 .75V4zm3 15c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z\"\/>\r\n                            <\/svg>\r\n                        <\/div>\r\n                        <div class=\"suchfunktion-item-content\">\r\n                            <div class=\"suchfunktion-item-title\">Nettoyage final \/ nettoyage de base<\/div>\r\n                            <div class=\"suchfunktion-item-description\">Nettoyage en cas de d\u00e9m\u00e9nagement inclus Garantie d'achat<\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"suchfunktion-dropdown-item\" onclick=\"suchfunktionSelectService('sonstige-reinigung', 'Sonstige Reinigung')\">\r\n                        <div class=\"suchfunktion-icon-circle\">\r\n                            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\" fill=\"currentColor\" width=\"48\" height=\"48\">\r\n                                <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-1-13h2v6h-2zm0 8h2v2h-2z\"\/>\r\n                            <\/svg>\r\n                        <\/div>\r\n                        <div class=\"suchfunktion-item-content\">\r\n                            <div class=\"suchfunktion-item-title\">Autre nettoyage<\/div>\r\n                            <div class=\"suchfunktion-item-description\">Nettoyage sp\u00e9cial, par ex. tapis, coussins, caves<\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- Row with PLZ and Button -->\r\n            <div class=\"suchfunktion-row\">\r\n                <div class=\"suchfunktion-input-wrapper\">\r\n                    <input type=\"text\" id=\"suchfunktion-location\" class=\"suchfunktion-textbox\" placeholder=\"Code postal ou ville\" oninput=\"suchfunktionFilterSuggestions()\">\r\n                    <div id=\"suchfunktion-autocomplete\" class=\"suchfunktion-autocomplete\"><\/div>\r\n                <\/div>\r\n                <button class=\"suchfunktion-button\" onclick=\"suchfunktionNavigate()\">C'est parti !<\/button>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <!-- Popup -->\r\n    <div id=\"suchfunktion-popup\" class=\"suchfunktion-popup\" style=\"display: none;\">\r\n        <button class=\"suchfunktion-popup-close\" onclick=\"suchfunktionClosePopup()\">\u00d7<\/button>\r\n        <p>\r\n  Malheureusement, nous ne proposons pas encore de nettoyage dans votre r\u00e9gion.<br><br>  Veuillez saisir votre adresse e-mail afin que nous puissions vous informer d\u00e8s que notre service sera disponible dans votre r\u00e9gion. En guise de remerciement, vous recevrez un cr\u00e9dit de bienvenue de CHF 20.00 pour votre premier nettoyage. \r\n        <\/p>\r\n        <input type=\"email\" id=\"suchfunktion-email\" placeholder=\"E-mail\">\r\n        <button onclick=\"suchfunktionSubmitEmail()\">Confirmer<\/button>\r\n    <\/div>\r\n\r\n    <script>\r\n        const suchfunktionExceptionList = [\"8001\", \"9000\"];\r\n\r\n        let suchfunktionPostalCodes = [];\r\n        let suchfunktionSelectedService = \"\";\r\n\r\n        fetch('https:\/\/www.putz24.ch\/webhooks\/website\/postalCodes\/postalCodes.json')\r\n            .then(response => response.json())\r\n            .then(data => {\r\n                suchfunktionPostalCodes = data;\r\n            })\r\n            .catch(error => console.error('Fehler beim Laden der Postleitzahlen:', error));\r\n\r\n        const serviceLinks = {\r\n            hausreinigung: \"https:\/\/www.putz24.ch\/fr\/configurateur-de-prix-pour-le-nettoyage-dobjets\/\",\r\n            privathaushaltung: \"https:\/\/www.putz24.ch\/fr\/configurateur-de-prix-pour-le-nettoyage-dobjets\/\",\r\n            hauswartung: \"https:\/\/www.putz24.ch\/fr\/configurateur-de-prix-pour-le-gardiennage\/\",\r\n            bueroreinigung: \"https:\/\/www.putz24.ch\/fr\/configurateur-de-prix-pour-le-nettoyage-dobjets\/\",\r\n            fensterreinigung: \"https:\/\/www.putz24.ch\/fr\/configurateur-de-prix-pour-le-nettoyage-de-vitres\/\",\r\n            endreinigung: \"https:\/\/www.putz24.ch\/fr\/configurateur-de-prix-pour-le-nettoyage-de-fin-de-sejour\/\",\r\n            \"sonstige-reinigung\": \"https:\/\/www.putz24.ch\/kontakt\"\r\n        };\r\n\r\n        function suchfunktionToggleDropdown() {\r\n            const dropdownList = document.getElementById(\"suchfunktion-dropdown-list\");\r\n            const arrow = document.querySelector(\".suchfunktion-dropdown-arrow\");\r\n            dropdownList.classList.toggle(\"show\");\r\n            arrow.classList.toggle(\"open\");\r\n        }\r\n\r\n        function suchfunktionSelectService(value, text) {\r\n            suchfunktionSelectedService = value;\r\n            document.getElementById(\"suchfunktion-selected-text\").textContent = text;\r\n            suchfunktionToggleDropdown();\r\n        }\r\n\r\n        \/\/ Close dropdown when clicking outside\r\n        document.addEventListener(\"click\", function(event) {\r\n            const dropdownContainer = document.querySelector(\".suchfunktion-dropdown-container\");\r\n            if (!dropdownContainer.contains(event.target)) {\r\n                const dropdownList = document.getElementById(\"suchfunktion-dropdown-list\");\r\n                const arrow = document.querySelector(\".suchfunktion-dropdown-arrow\");\r\n                dropdownList.classList.remove(\"show\");\r\n                arrow.classList.remove(\"open\");\r\n            }\r\n        });\r\n\r\n        function suchfunktionFilterSuggestions() {\r\n            const input = document.getElementById(\"suchfunktion-location\").value.toLowerCase();\r\n            const suggestions = document.getElementById(\"suchfunktion-autocomplete\");\r\n\r\n            const filtered = suchfunktionPostalCodes.filter(\r\n                item =>\r\n                    item.plz.startsWith(input) || item.ort.toLowerCase().startsWith(input)\r\n            );\r\n\r\n            suggestions.innerHTML = filtered\r\n                .map(\r\n                    item =>\r\n                        `<div onclick=\"suchfunktionSelectSuggestion('${item.plz} - ${item.ort}')\">${item.plz} - ${item.ort}<\/div>`\r\n                )\r\n                .join(\"\");\r\n\r\n            if (filtered.length === 0) {\r\n                suggestions.innerHTML = `<div>Keine Ergebnisse gefunden<\/div>`;\r\n            }\r\n        }\r\n\r\n        function suchfunktionSelectSuggestion(value) {\r\n            document.getElementById(\"suchfunktion-location\").value = value;\r\n            document.getElementById(\"suchfunktion-autocomplete\").innerHTML = \"\";\r\n        }\r\n\r\n        function suchfunktionNavigate() {\r\n            const service = suchfunktionSelectedService;\r\n            const location = document.getElementById(\"suchfunktion-location\").value;\r\n\r\n            if (location) {\r\n                const plz = location.split(\" - \")[0];\r\n                if (suchfunktionExceptionList.includes(plz)) {\r\n                    suchfunktionShowPopup();\r\n                    return;\r\n                }\r\n            }\r\n\r\n            if (service && location) {\r\n                const link = serviceLinks[service];\r\n                if (link) {\r\n                    window.location.href = link;\r\n                } else {\r\n                    alert(\"Bitte w\u00e4hlen Sie eine g\u00fcltige Reinigungsart aus.\");\r\n                }\r\n            } else {\r\n                alert(\"Bitte w\u00e4hlen Sie eine Reinigungsart und eine Postleitzahl oder Stadt aus.\");\r\n            }\r\n        }\r\n\r\n        function suchfunktionShowPopup() {\r\n            document.getElementById(\"suchfunktion-popup\").style.display = \"block\";\r\n        }\r\n\r\n        function suchfunktionClosePopup() {\r\n            document.getElementById(\"suchfunktion-popup\").style.display = \"none\";\r\n        }\r\n\r\n        function suchfunktionSubmitEmail() {\r\n            const email = document.getElementById(\"suchfunktion-email\").value;\r\n            if (email) {\r\n                alert(\"Vielen Dank! Wir werden Sie benachrichtigen.\");\r\n                suchfunktionClosePopup();\r\n            } else {\r\n                alert(\"Bitte geben Sie eine g\u00fcltige E-Mail-Adresse ein.\");\r\n            }\r\n        }\r\n    <\/script>\r\n\r\n\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-541e8d9 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"541e8d9\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-79d7d7c\" data-id=\"79d7d7c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6d2b6a8 elementor-widget elementor-widget-html\" data-id=\"6d2b6a8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section class=\"kanton-grid-section\" aria-label=\"Nettoyage des vitres dans les 26 cantons suisses\">\n  <div class=\"kanton-grid-inner\">\n    <h2>Nettoyage des vitres dans les 26 cantons suisses<\/h2>\n    <p class=\"kanton-grid-intro\"><strong>Une vue d\u00e9gag\u00e9e sans effort :<\/strong> r\u00e9servez votre <strong>nettoyage des vitres<\/strong> professionnel pour appartement, maison ou bureau dans toute la Suisse. Nettoyage r\u00e9gulier ou ponctuel \u2013 via notre configurateur, demandez rapidement en ligne des prestations pour <strong>fen\u00eatres, cadres, stores<\/strong> et <strong>autres options<\/strong>. Choisissez votre canton et acc\u00e9dez directement \u00e0 la r\u00e9servation.<\/p>\n\n    <div class=\"kanton-slider\">\n      <button class=\"kanton-nav kanton-nav-prev\" type=\"button\" aria-label=\"Afficher les cantons pr\u00e9c\u00e9dents\">\u2039<\/button>\n\n      <div class=\"kanton-slides\">\n        <!-- SLIDE 1 -->\n        <div class=\"kanton-slide\">\n          <a href=\"https:\/\/www.putz24.ch\/fensterreinigung\/zuerich\/\" class=\"kanton-card\" title=\"Nettoyage des vitres \u2013 canton de Zurich\">\n            <img decoding=\"async\" src=\"https:\/\/www.putz24.ch\/wp-content\/uploads\/2025\/12\/putzfrau-hausreinigung-zuerich.webp\" alt=\"Nettoyage des vitres \u2013 Zurich\" loading=\"lazy\">\n            <div class=\"kanton-card-body\">\n              <h3>Nettoyage des vitres \u2013 canton de Zurich<\/h3>\n              <p>Nettoyage professionnel des vitres \u00e0 Zurich pour appartements, maisons et bureaux \u2013 sans traces et facile \u00e0 r\u00e9server.<\/p>\n            <\/div>\n          <\/a>\n\n          <a href=\"https:\/\/www.putz24.ch\/fensterreinigung\/basel-stadt\/\" class=\"kanton-card\" title=\"Nettoyage des vitres \u2013 canton de B\u00e2le-Ville\">\n            <img decoding=\"async\" src=\"https:\/\/www.putz24.ch\/wp-content\/uploads\/2025\/12\/putzfrau-basel-stadt.jpg\" alt=\"Nettoyage des vitres \u2013 B\u00e2le-Ville\" loading=\"lazy\">\n            <div class=\"kanton-card-body\">\n              <h3>Nettoyage des vitres \u2013 canton de B\u00e2le-Ville<\/h3>\n              <p>Nettoyage professionnel des vitres \u00e0 B\u00e2le-Ville pour appartements, maisons et bureaux \u2013 sans traces et facile \u00e0 r\u00e9server.<\/p>\n            <\/div>\n          <\/a>\n\n          <a href=\"https:\/\/www.putz24.ch\/fensterreinigung\/basel-landschaft\/\" class=\"kanton-card\" title=\"Nettoyage des vitres \u2013 canton de B\u00e2le-Campagne\">\n            <img decoding=\"async\" src=\"https:\/\/www.putz24.ch\/wp-content\/uploads\/2025\/12\/haushaltshilfe-basel-landschaft.jpg\" alt=\"Nettoyage des vitres \u2013 B\u00e2le-Campagne\" loading=\"lazy\">\n            <div class=\"kanton-card-body\">\n              <h3>Nettoyage des vitres \u2013 canton de B\u00e2le-Campagne<\/h3>\n              <p>Nettoyage professionnel des vitres \u00e0 B\u00e2le-Campagne pour appartements, maisons et bureaux \u2013 sans traces et facile \u00e0 r\u00e9server.<\/p>\n            <\/div>\n          <\/a>\n\n          <a href=\"https:\/\/www.putz24.ch\/fensterreinigung\/bern\/\" class=\"kanton-card\" title=\"Nettoyage des vitres \u2013 canton de Berne\">\n            <img decoding=\"async\" src=\"https:\/\/www.putz24.ch\/wp-content\/uploads\/2025\/12\/haushaltshilfe-kanton-bern.jpg\" alt=\"Nettoyage des vitres \u2013 Berne\" loading=\"lazy\">\n            <div class=\"kanton-card-body\">\n              <h3>Nettoyage des vitres \u2013 canton de Berne<\/h3>\n              <p>Nettoyage professionnel des vitres \u00e0 Berne pour appartements, maisons et bureaux \u2013 sans traces et facile \u00e0 r\u00e9server.<\/p>\n            <\/div>\n          <\/a>\n        <\/div>\n\n        <!-- SLIDE 2 -->\n        <div class=\"kanton-slide\">\n          <a href=\"https:\/\/www.putz24.ch\/fensterreinigung\/luzern\/\" class=\"kanton-card\" title=\"Nettoyage des vitres \u2013 canton de Lucerne\">\n            <img decoding=\"async\" src=\"https:\/\/www.putz24.ch\/wp-content\/uploads\/2025\/12\/reinigungsservice-luzern.webp\" alt=\"Nettoyage des vitres \u2013 Lucerne\" loading=\"lazy\">\n            <div class=\"kanton-card-body\">\n              <h3>Nettoyage des vitres \u2013 canton de Lucerne<\/h3>\n              <p>Nettoyage professionnel des vitres \u00e0 Lucerne pour appartements, maisons et bureaux \u2013 sans traces et facile \u00e0 r\u00e9server.<\/p>\n            <\/div>\n          <\/a>\n\n          <a href=\"https:\/\/www.putz24.ch\/fensterreinigung\/solothurn\/\" class=\"kanton-card\" title=\"Nettoyage des vitres \u2013 canton de Soleure\">\n            <img decoding=\"async\" src=\"https:\/\/www.putz24.ch\/wp-content\/uploads\/2025\/12\/putzfrau-solothurn.jpg\" alt=\"Nettoyage des vitres \u2013 Soleure\" loading=\"lazy\">\n            <div class=\"kanton-card-body\">\n              <h3>Nettoyage des vitres \u2013 canton de Soleure<\/h3>\n              <p>Nettoyage professionnel des vitres \u00e0 Soleure pour appartements, maisons et bureaux \u2013 sans traces et facile \u00e0 r\u00e9server.<\/p>\n            <\/div>\n          <\/a>\n\n          <a href=\"https:\/\/www.putz24.ch\/fensterreinigung\/genf\/\" class=\"kanton-card\" title=\"Nettoyage des vitres \u2013 canton de Gen\u00e8ve\">\n            <img decoding=\"async\" src=\"https:\/\/www.putz24.ch\/wp-content\/uploads\/2025\/12\/reinigungsservice-genf.jpg\" alt=\"Nettoyage des vitres \u2013 Gen\u00e8ve\" loading=\"lazy\">\n            <div class=\"kanton-card-body\">\n              <h3>Nettoyage des vitres \u2013 canton de Gen\u00e8ve<\/h3>\n              <p>Nettoyage professionnel des vitres \u00e0 Gen\u00e8ve pour appartements, maisons et bureaux \u2013 sans traces et facile \u00e0 r\u00e9server.<\/p>\n            <\/div>\n          <\/a>\n\n          <a href=\"https:\/\/www.putz24.ch\/fensterreinigung\/uri\/\" class=\"kanton-card\" title=\"Nettoyage des vitres \u2013 canton de Uri\">\n            <img decoding=\"async\" src=\"https:\/\/www.putz24.ch\/wp-content\/uploads\/2025\/12\/putzhilfe-uri.jpg\" alt=\"Nettoyage des vitres \u2013 Uri\" loading=\"lazy\">\n            <div class=\"kanton-card-body\">\n              <h3>Nettoyage des vitres \u2013 canton de Uri<\/h3>\n              <p>Nettoyage professionnel des vitres \u00e0 Uri pour appartements, maisons et bureaux \u2013 sans traces et facile \u00e0 r\u00e9server.<\/p>\n            <\/div>\n          <\/a>\n        <\/div>\n\n        <!-- SLIDE 3 -->\n        <div class=\"kanton-slide\">\n          <a href=\"https:\/\/www.putz24.ch\/fensterreinigung\/schwyz\/\" class=\"kanton-card\" title=\"Nettoyage des vitres \u2013 canton de Schwytz\">\n            <img decoding=\"async\" src=\"https:\/\/www.putz24.ch\/wp-content\/uploads\/2025\/12\/putzfrau-kanton-schwyz.jpg\" alt=\"Nettoyage des vitres \u2013 Schwytz\" loading=\"lazy\">\n            <div class=\"kanton-card-body\">\n              <h3>Nettoyage des vitres \u2013 canton de Schwytz<\/h3>\n              <p>Nettoyage professionnel des vitres \u00e0 Schwytz pour appartements, maisons et bureaux \u2013 sans traces et facile \u00e0 r\u00e9server.<\/p>\n            <\/div>\n          <\/a>\n\n          <a href=\"https:\/\/www.putz24.ch\/fensterreinigung\/obwalden\/\" class=\"kanton-card\" title=\"Nettoyage des vitres \u2013 canton de Obwald\">\n            <img decoding=\"async\" src=\"https:\/\/www.putz24.ch\/wp-content\/uploads\/2025\/12\/reinigung-obwalden.jpg\" alt=\"Nettoyage des vitres \u2013 Obwald\" loading=\"lazy\">\n            <div class=\"kanton-card-body\">\n              <h3>Nettoyage des vitres \u2013 canton de Obwald<\/h3>\n              <p>Nettoyage professionnel des vitres \u00e0 Obwald pour appartements, maisons et bureaux \u2013 sans traces et facile \u00e0 r\u00e9server.<\/p>\n            <\/div>\n          <\/a>\n\n          <a href=\"https:\/\/www.putz24.ch\/fensterreinigung\/nidwalden\/\" class=\"kanton-card\" title=\"Nettoyage des vitres \u2013 canton de Nidwald\">\n            <img decoding=\"async\" src=\"https:\/\/www.putz24.ch\/wp-content\/uploads\/2025\/12\/putzservice-nidwalden.jpg\" alt=\"Nettoyage des vitres \u2013 Nidwald\" loading=\"lazy\">\n            <div class=\"kanton-card-body\">\n              <h3>Nettoyage des vitres \u2013 canton de Nidwald<\/h3>\n              <p>Nettoyage professionnel des vitres \u00e0 Nidwald pour appartements, maisons et bureaux \u2013 sans traces et facile \u00e0 r\u00e9server.<\/p>\n            <\/div>\n          <\/a>\n\n          <a href=\"https:\/\/www.putz24.ch\/fensterreinigung\/glarus\/\" class=\"kanton-card\" title=\"Nettoyage des vitres \u2013 canton de Glaris\">\n            <img decoding=\"async\" src=\"https:\/\/www.putz24.ch\/wp-content\/uploads\/2025\/12\/putzfrau-glarus.jpg\" alt=\"Nettoyage des vitres \u2013 Glaris\" loading=\"lazy\">\n            <div class=\"kanton-card-body\">\n              <h3>Nettoyage des vitres \u2013 canton de Glaris<\/h3>\n              <p>Nettoyage professionnel des vitres \u00e0 Glaris pour appartements, maisons et bureaux \u2013 sans traces et facile \u00e0 r\u00e9server.<\/p>\n            <\/div>\n          <\/a>\n        <\/div>\n\n        <!-- SLIDE 4 -->\n        <div class=\"kanton-slide\">\n          <a href=\"https:\/\/www.putz24.ch\/fensterreinigung\/zug\/\" class=\"kanton-card\" title=\"Nettoyage des vitres \u2013 canton de Zoug\">\n            <img decoding=\"async\" src=\"https:\/\/www.putz24.ch\/wp-content\/uploads\/2025\/12\/hausreinigung-zug-scaled.jpg\" alt=\"Nettoyage des vitres \u2013 Zoug\" loading=\"lazy\">\n            <div class=\"kanton-card-body\">\n              <h3>Nettoyage des vitres \u2013 canton de Zoug<\/h3>\n              <p>Nettoyage professionnel des vitres \u00e0 Zoug pour appartements, maisons et bureaux \u2013 sans traces et facile \u00e0 r\u00e9server.<\/p>\n            <\/div>\n          <\/a>\n\n          <a href=\"https:\/\/www.putz24.ch\/fensterreinigung\/freiburg\/\" class=\"kanton-card\" title=\"Nettoyage des vitres \u2013 canton de Fribourg\">\n            <img decoding=\"async\" src=\"https:\/\/www.putz24.ch\/wp-content\/uploads\/2025\/12\/reinigung-freiburg.jpg\" alt=\"Nettoyage des vitres \u2013 Fribourg\" loading=\"lazy\">\n            <div class=\"kanton-card-body\">\n              <h3>Nettoyage des vitres \u2013 canton de Fribourg<\/h3>\n              <p>Nettoyage professionnel des vitres \u00e0 Fribourg pour appartements, maisons et bureaux \u2013 sans traces et facile \u00e0 r\u00e9server.<\/p>\n            <\/div>\n          <\/a>\n\n          <a href=\"https:\/\/www.putz24.ch\/fensterreinigung\/schaffhausen\/\" class=\"kanton-card\" title=\"Nettoyage des vitres \u2013 canton de Schaffhouse\">\n            <img decoding=\"async\" src=\"https:\/\/www.putz24.ch\/wp-content\/uploads\/2025\/12\/reinigungsservice-schaffhausen-scaled.jpg\" alt=\"Nettoyage des vitres \u2013 Schaffhouse\" loading=\"lazy\">\n            <div class=\"kanton-card-body\">\n              <h3>Nettoyage des vitres \u2013 canton de Schaffhouse<\/h3>\n              <p>Nettoyage professionnel des vitres \u00e0 Schaffhouse pour appartements, maisons et bureaux \u2013 sans traces et facile \u00e0 r\u00e9server.<\/p>\n            <\/div>\n          <\/a>\n\n          <a href=\"https:\/\/www.putz24.ch\/fensterreinigung\/appenzell-ausserrhoden\/\" class=\"kanton-card\" title=\"Nettoyage des vitres \u2013 canton de Appenzell Rhodes-Ext\u00e9rieures\">\n            <img decoding=\"async\" src=\"https:\/\/www.putz24.ch\/wp-content\/uploads\/2025\/12\/putzhilfe-appenzell-ausserrhoden.jpg\" alt=\"Nettoyage des vitres \u2013 Appenzell Rhodes-Ext\u00e9rieures\" loading=\"lazy\">\n            <div class=\"kanton-card-body\">\n              <h3>Nettoyage des vitres \u2013 canton de Appenzell Rhodes-Ext\u00e9rieures<\/h3>\n              <p>Nettoyage professionnel des vitres \u00e0 Appenzell Rhodes-Ext\u00e9rieures pour appartements, maisons et bureaux \u2013 sans traces et facile \u00e0 r\u00e9server.<\/p>\n            <\/div>\n          <\/a>\n        <\/div>\n\n        <!-- SLIDE 5 -->\n        <div class=\"kanton-slide\">\n          <a href=\"https:\/\/www.putz24.ch\/fensterreinigung\/appenzell-innerrhoden\/\" class=\"kanton-card\" title=\"Nettoyage des vitres \u2013 canton de Appenzell Rhodes-Int\u00e9rieures\">\n            <img decoding=\"async\" src=\"https:\/\/www.putz24.ch\/wp-content\/uploads\/2025\/12\/putzfrau-appenzell-innerrhoden.jpg\" alt=\"Nettoyage des vitres \u2013 Appenzell Rhodes-Int\u00e9rieures\" loading=\"lazy\">\n            <div class=\"kanton-card-body\">\n              <h3>Nettoyage des vitres \u2013 canton de Appenzell Rhodes-Int\u00e9rieures<\/h3>\n              <p>Nettoyage professionnel des vitres \u00e0 Appenzell Rhodes-Int\u00e9rieures pour appartements, maisons et bureaux \u2013 sans traces et facile \u00e0 r\u00e9server.<\/p>\n            <\/div>\n          <\/a>\n\n          <a href=\"https:\/\/www.putz24.ch\/fensterreinigung\/st-gallen\/\" class=\"kanton-card\" title=\"Nettoyage des vitres \u2013 canton de Saint-Gall\">\n            <img decoding=\"async\" src=\"https:\/\/www.putz24.ch\/wp-content\/uploads\/2025\/12\/hausreinigung-st-gallen.jpg\" alt=\"Nettoyage des vitres \u2013 Saint-Gall\" loading=\"lazy\">\n            <div class=\"kanton-card-body\">\n              <h3>Nettoyage des vitres \u2013 canton de Saint-Gall<\/h3>\n              <p>Nettoyage professionnel des vitres \u00e0 Saint-Gall pour appartements, maisons et bureaux \u2013 sans traces et facile \u00e0 r\u00e9server.<\/p>\n            <\/div>\n          <\/a>\n\n          <a href=\"https:\/\/www.putz24.ch\/fensterreinigung\/graubuenden\/\" class=\"kanton-card\" title=\"Nettoyage des vitres \u2013 canton de Grisons\">\n            <img decoding=\"async\" src=\"https:\/\/www.putz24.ch\/wp-content\/uploads\/2025\/12\/reinigungsservice-graubuenden.webp\" alt=\"Nettoyage des vitres \u2013 Grisons\" loading=\"lazy\">\n            <div class=\"kanton-card-body\">\n              <h3>Nettoyage des vitres \u2013 canton de Grisons<\/h3>\n              <p>Nettoyage professionnel des vitres \u00e0 Grisons pour appartements, maisons et bureaux \u2013 sans traces et facile \u00e0 r\u00e9server.<\/p>\n            <\/div>\n          <\/a>\n\n          <a href=\"https:\/\/www.putz24.ch\/fensterreinigung\/aargau\/\" class=\"kanton-card\" title=\"Nettoyage des vitres \u2013 canton de Argovie\">\n            <img decoding=\"async\" src=\"https:\/\/www.putz24.ch\/wp-content\/uploads\/2025\/12\/putzfrau-kanton-aargau.jpg\" alt=\"Nettoyage des vitres \u2013 Argovie\" loading=\"lazy\">\n            <div class=\"kanton-card-body\">\n              <h3>Nettoyage des vitres \u2013 canton de Argovie<\/h3>\n              <p>Nettoyage professionnel des vitres \u00e0 Argovie pour appartements, maisons et bureaux \u2013 sans traces et facile \u00e0 r\u00e9server.<\/p>\n            <\/div>\n          <\/a>\n        <\/div>\n\n        <!-- SLIDE 6 -->\n        <div class=\"kanton-slide\">\n          <a href=\"https:\/\/www.putz24.ch\/fensterreinigung\/thurgau\/\" class=\"kanton-card\" title=\"Nettoyage des vitres \u2013 canton de Thurgovie\">\n            <img decoding=\"async\" src=\"https:\/\/www.putz24.ch\/wp-content\/uploads\/2025\/12\/haushaltshilfe-thurgau.jpg\" alt=\"Nettoyage des vitres \u2013 Thurgovie\" loading=\"lazy\">\n            <div class=\"kanton-card-body\">\n              <h3>Nettoyage des vitres \u2013 canton de Thurgovie<\/h3>\n              <p>Nettoyage professionnel des vitres \u00e0 Thurgovie pour appartements, maisons et bureaux \u2013 sans traces et facile \u00e0 r\u00e9server.<\/p>\n            <\/div>\n          <\/a>\n\n          <a href=\"https:\/\/www.putz24.ch\/fensterreinigung\/tessin\/\" class=\"kanton-card\" title=\"Nettoyage des vitres \u2013 canton de Tessin\">\n            <img decoding=\"async\" src=\"https:\/\/www.putz24.ch\/wp-content\/uploads\/2025\/12\/putzfrau-tessin.jpg\" alt=\"Nettoyage des vitres \u2013 Tessin\" loading=\"lazy\">\n            <div class=\"kanton-card-body\">\n              <h3>Nettoyage des vitres \u2013 canton de Tessin<\/h3>\n              <p>Nettoyage professionnel des vitres \u00e0 Tessin pour appartements, maisons et bureaux \u2013 sans traces et facile \u00e0 r\u00e9server.<\/p>\n            <\/div>\n          <\/a>\n\n          <a href=\"https:\/\/www.putz24.ch\/fensterreinigung\/waadt\/\" class=\"kanton-card\" title=\"Nettoyage des vitres \u2013 canton de Vaud\">\n            <img decoding=\"async\" src=\"https:\/\/www.putz24.ch\/wp-content\/uploads\/2025\/12\/reinigung-kanton-waadt.jpg\" alt=\"Nettoyage des vitres \u2013 Vaud\" loading=\"lazy\">\n            <div class=\"kanton-card-body\">\n              <h3>Nettoyage des vitres \u2013 canton de Vaud<\/h3>\n              <p>Nettoyage professionnel des vitres \u00e0 Vaud pour appartements, maisons et bureaux \u2013 sans traces et facile \u00e0 r\u00e9server.<\/p>\n            <\/div>\n          <\/a>\n\n          <a href=\"https:\/\/www.putz24.ch\/fensterreinigung\/wallis\/\" class=\"kanton-card\" title=\"Nettoyage des vitres \u2013 canton de Valais\">\n            <img decoding=\"async\" src=\"https:\/\/www.putz24.ch\/wp-content\/uploads\/2025\/12\/putzhilfe-wallis.jpg\" alt=\"Nettoyage des vitres \u2013 Valais\" loading=\"lazy\">\n            <div class=\"kanton-card-body\">\n              <h3>Nettoyage des vitres \u2013 canton de Valais<\/h3>\n              <p>Nettoyage professionnel des vitres \u00e0 Valais pour appartements, maisons et bureaux \u2013 sans traces et facile \u00e0 r\u00e9server.<\/p>\n            <\/div>\n          <\/a>\n        <\/div>\n\n        <!-- SLIDE 7 -->\n        <div class=\"kanton-slide\">\n          <a href=\"https:\/\/www.putz24.ch\/fensterreinigung\/neuenburg\/\" class=\"kanton-card\" title=\"Nettoyage des vitres \u2013 canton de Neuch\u00e2tel\">\n            <img decoding=\"async\" src=\"https:\/\/www.putz24.ch\/wp-content\/uploads\/2025\/12\/putzfrau-neuenburg.jpg\" alt=\"Nettoyage des vitres \u2013 Neuch\u00e2tel\" loading=\"lazy\">\n            <div class=\"kanton-card-body\">\n              <h3>Nettoyage des vitres \u2013 canton de Neuch\u00e2tel<\/h3>\n              <p>Nettoyage professionnel des vitres \u00e0 Neuch\u00e2tel pour appartements, maisons et bureaux \u2013 sans traces et facile \u00e0 r\u00e9server.<\/p>\n            <\/div>\n          <\/a>\n\n          <a href=\"https:\/\/www.putz24.ch\/fensterreinigung\/jura\/\" class=\"kanton-card\" title=\"Nettoyage des vitres \u2013 canton de Jura\">\n            <img decoding=\"async\" src=\"https:\/\/www.putz24.ch\/wp-content\/uploads\/2025\/12\/putzfrau-kanton-jura.jpg\" alt=\"Nettoyage des vitres \u2013 Jura\" loading=\"lazy\">\n            <div class=\"kanton-card-body\">\n              <h3>Nettoyage des vitres \u2013 canton de Jura<\/h3>\n              <p>Nettoyage professionnel des vitres \u00e0 Jura pour appartements, maisons et bureaux \u2013 sans traces et facile \u00e0 r\u00e9server.<\/p>\n            <\/div>\n          <\/a>\n        <\/div>\n      <\/div>\n\n      <button class=\"kanton-nav kanton-nav-next\" type=\"button\" aria-label=\"Afficher les cantons suivants\">\u203a<\/button>\n    <\/div>\n  <\/div>\n<\/section>\n\n<style>\n  :root {\n    --putz24-green: #5ecc62;\n  }\n\n  .kanton-grid-section {\n    margin: 3rem 0;\n    padding: 0 1rem;\n    background: #ffffff;\n  }\n\n  .kanton-grid-inner {\n    max-width: 1200px;\n    margin: 0 auto;\n  }\n\n  .kanton-grid-section h2 {\n    font-size: 2rem;\n    margin-bottom: 0.5rem;\n    font-weight: 700;\n    color: #111827;\n  }\n\n  .kanton-grid-intro {\n    max-width: 900px;\n    margin-bottom: 1.8rem;\n    font-size: 0.98rem;\n    line-height: 1.6;\n    color: #4b5563;\n  }\n\n  .kanton-slider {\n    position: relative;\n    overflow: hidden;\n  }\n\n  .kanton-slides {\n    display: flex;\n    transition: transform 0.4s ease;\n    will-change: transform;\n  }\n\n  .kanton-slide {\n    flex: 0 0 100%;\n    box-sizing: border-box;\n    display: grid;\n    grid-template-columns: repeat(4, minmax(0, 1fr));\n    gap: 1.25rem;\n    padding: 0.5rem 0 0.75rem;\n  }\n\n  .kanton-card {\n    text-decoration: none;\n    color: inherit;\n    display: flex;\n  }\n\n  .kanton-card-body {\n    padding: 0.75rem 0.9rem 0.9rem;\n    border-top: 3px solid rgba(94, 204, 98, 0.2);\n  }\n\n  .kanton-card figure {\n    margin: 0;\n  }\n\n  .kanton-card img {\n    width: 100%;\n    height: 160px;\n    object-fit: cover;\n    display: block;\n    border-radius: 12px 12px 0 0;\n  }\n\n  .kanton-card {\n    background: #ffffff;\n    border-radius: 12px;\n    overflow: hidden;\n    border: 1px solid #e5e7eb;\n    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.04);\n    flex-direction: column;\n    height: 100%;\n    transition:\n      transform 0.2s ease,\n      box-shadow 0.2s ease,\n      border-color 0.2s ease;\n  }\n\n  .kanton-card h3 {\n    margin: 0 0 0.3rem;\n    font-size: 1rem;\n    font-weight: 600;\n    color: #111827;\n  }\n\n  .kanton-card p {\n    margin: 0;\n    font-size: 0.86rem;\n    line-height: 1.5;\n    color: #4b5563;\n    display: -webkit-box;\n    -webkit-line-clamp: 2;\n    -webkit-box-orient: vertical;\n    overflow: hidden;\n  }\n\n  .kanton-card:hover {\n    transform: translateY(-3px);\n    border-color: rgba(94, 204, 98, 0.7);\n    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);\n  }\n\n  .kanton-nav {\n    position: absolute;\n    top: 50%;\n    transform: translateY(-50%);\n    width: 2.4rem;\n    height: 2.4rem;\n    border-radius: 999px;\n    border: 1px solid #d1d5db;\n    background: #ffffff;\n    color: #4b5563;\n    cursor: pointer;\n    font-size: 1.4rem;\n    line-height: 2.3rem;\n    text-align: center;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    box-shadow: 0 3px 8px rgba(15, 23, 42, 0.18);\n    transition:\n      background 0.15s ease,\n      border-color 0.15s ease,\n      box-shadow 0.15s ease,\n      transform 0.15s ease;\n    z-index: 5;\n  }\n\n  .kanton-nav:hover {\n    background: #f9fafb;\n    border-color: var(--putz24-green);\n    box-shadow: 0 5px 12px rgba(15, 23, 42, 0.22);\n    transform: translateY(-50%) scale(1.03);\n  }\n\n  .kanton-nav-prev {\n    left: 0.25rem;\n  }\n\n  .kanton-nav-next {\n    right: 0.25rem;\n  }\n\n  \/* Responsive *\/\n  @media (max-width: 1024px) {\n    .kanton-slide {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n  }\n\n  @media (max-width: 768px) {\n    .kanton-grid-section {\n      padding: 0 0.75rem;\n    }\n\n    .kanton-slide {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 1rem;\n    }\n\n    .kanton-card img {\n      height: 140px;\n    }\n  }\n\n  @media (max-width: 480px) {\n    .kanton-card img {\n      height: 130px;\n    }\n  }\n<\/style>\n\n<script>\n  document.addEventListener('DOMContentLoaded', function () {\n    const slidesContainer = document.querySelector('.kanton-slides');\n    const slides = document.querySelectorAll('.kanton-slide');\n    const prevBtn = document.querySelector('.kanton-nav-prev');\n    const nextBtn = document.querySelector('.kanton-nav-next');\n\n    if (!slidesContainer || slides.length === 0 || !prevBtn || !nextBtn) return;\n\n    let currentSlide = 0;\n    const totalSlides = slides.length;\n\n    function updateSlide() {\n      const offset = -currentSlide * 100;\n      slidesContainer.style.transform = 'translateX(' + offset + '%)';\n    }\n\n    prevBtn.addEventListener('click', function () {\n      currentSlide = (currentSlide - 1 + totalSlides) % totalSlides;\n      updateSlide();\n    });\n\n    nextBtn.addEventListener('click', function () {\n      currentSlide = (currentSlide + 1) % totalSlides;\n      updateSlide();\n    });\n\n    \/\/ Einfaches Swipe f\u00fcr Mobile\n    let startX = 0;\n    let isDown = false;\n\n    slidesContainer.addEventListener('touchstart', function (e) {\n      if (!e.touches[0]) return;\n      isDown = true;\n      startX = e.touches[0].clientX;\n    });\n\n    slidesContainer.addEventListener('touchmove', function (e) {\n      if (!isDown || !e.touches[0]) return;\n      const diffX = e.touches[0].clientX - startX;\n      if (Math.abs(diffX) > 60) {\n        if (diffX < 0) {\n          currentSlide = (currentSlide + 1) % totalSlides;\n        } else {\n          currentSlide = (currentSlide - 1 + totalSlides) % totalSlides;\n        }\n        updateSlide();\n        isDown = false;\n      }\n    });\n\n    slidesContainer.addEventListener('touchend', function () {\n      isDown = false;\n    });\n  });\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-cdcab9d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"cdcab9d\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-e191a36\" data-id=\"e191a36\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-70b218b elementor-widget elementor-widget-html\" data-id=\"70b218b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n.p24-win-faq {\r\n    max-width: 1100px;\r\n    margin: 0 auto 40px;\r\n    padding: 0 15px;\r\n    font-family: system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\r\n    color: #1a1a1a;\r\n    line-height: 1.6;\r\n}\r\n\r\n.p24-win-faq-inner {\r\n    background: #ffffff;\r\n    border-radius: 16px;\r\n    padding: 20px 20px 18px;\r\n    border: 1px solid #e5e7eb;\r\n    box-shadow: 0 14px 40px rgba(15, 23, 42, 0.08);\r\n}\r\n\r\n.p24-win-faq-title {\r\n    font-size: 22px;\r\n    margin: 0 0 10px;\r\n    color: #1f2933;\r\n}\r\n\r\n.p24-win-faq-intro {\r\n    font-size: 14px;\r\n    margin: 0 0 10px;\r\n    opacity: 0.9;\r\n}\r\n\r\n.p24-win-faq-list {\r\n    margin: 14px 0 0;\r\n    padding: 0;\r\n    display: flex;\r\n    flex-direction: column;\r\n    gap: 10px;\r\n}\r\n\r\n.p24-win-faq-item {\r\n    background: #f7fafc;\r\n    border-radius: 12px;\r\n    border: 1px solid #e5e7eb;\r\n    padding: 12px 14px 10px;\r\n}\r\n\r\n.p24-win-faq-q {\r\n    display: flex;\r\n    align-items: flex-start;\r\n    gap: 8px;\r\n    font-size: 14px;\r\n    font-weight: 600;\r\n    margin: 0 0 4px;\r\n}\r\n\r\n.p24-win-faq-q-icon {\r\n    width: 22px;\r\n    height: 22px;\r\n    border-radius: 999px;\r\n    background: #e6f9e7;\r\n    color: #22c55e;\r\n    display: inline-flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    font-size: 12px;\r\n    flex-shrink: 0;\r\n}\r\n\r\n.p24-win-faq-a {\r\n    font-size: 13px;\r\n    margin: 0 0 2px 30px;\r\n    opacity: 0.95;\r\n}\r\n<\/style>\r\n\r\n<section class=\"p24-win-faq\" aria-labelledby=\"p24-win-faq-title\">\r\n    <div class=\"p24-win-faq-inner\">\r\n        <h2 id=\"p24-win-faq-title\" class=\"p24-win-faq-title\">Questions fr\u00e9quentes sur le nettoyage des vitres<\/h2>\r\n        <p class=\"p24-win-faq-intro\">\r\n            Nous r\u00e9pondons ici aux principales questions sur votre nettoyage des vitres avec Putz24.ch.\r\n        <\/p>\r\n\r\n        <div class=\"p24-win-faq-list\" role=\"list\">\r\n            <!-- FAQ 1 -->\r\n            <div class=\"p24-win-faq-item\" role=\"listitem\">\r\n                <div class=\"p24-win-faq-q\">\r\n                    <span class=\"p24-win-faq-q-icon\">?<\/span>\r\n                    <span>Puis-je r\u00e9server le nettoyage des vitres r\u00e9guli\u00e8rement ?<\/span>\r\n                <\/div>\r\n                <p class=\"p24-win-faq-a\">\r\n                    Oui. Dans le configurateur, vous pouvez choisir une fr\u00e9quence, p. ex. mensuelle, trimestrielle ou semestrielle. Vos fen\u00eatres restent ainsi propres en permanence.\r\n                <\/p>\r\n            <\/div>\r\n\r\n            <!-- FAQ 2 -->\r\n            <div class=\"p24-win-faq-item\" role=\"listitem\">\r\n                <div class=\"p24-win-faq-q\">\r\n                    <span class=\"p24-win-faq-q-icon\">?<\/span>\r\n                    <span>Comment g\u00e9rez-vous les fen\u00eatres difficiles d\u2019acc\u00e8s ?<\/span>\r\n                <\/div>\r\n                <p class=\"p24-win-faq-a\">\r\n                    Selon la hauteur, nous utilisons des \u00e9chelles ou des perches t\u00e9lescopiques. Le suppl\u00e9ment de temps correspondant est automatiquement pris en compte dans le configurateur, vous voyez donc les co\u00fbts \u00e0 l\u2019avance.\r\n                <\/p>\r\n            <\/div>\r\n\r\n            <!-- FAQ 3 -->\r\n            <div class=\"p24-win-faq-item\" role=\"listitem\">\r\n                <div class=\"p24-win-faq-q\">\r\n                    <span class=\"p24-win-faq-q-icon\">?<\/span>\r\n                    <span>Qui est ma personne de contact sur place ?<\/span>\r\n                <\/div>\r\n                <p class=\"p24-win-faq-a\">\r\n                    Vous indiquez une personne de contact sur place dans le formulaire. Nous la contactons directement pour r\u00e9gler l\u2019acc\u00e8s, la remise des cl\u00e9s ou les demandes particuli\u00e8res.\r\n                <\/p>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/section>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Putz24.ch &#8211; Nettoyage des vitres pour les particuliers et les entreprises Nettoyage des vitres avec un calcul clair du temps et des co\u00fbts Des fen\u00eatres transparentes pour les appartements, les maisons et les locaux commerciaux &#8211; avec un calcul transparent&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-253561","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.putz24.ch\/fr\/wp-json\/wp\/v2\/pages\/253561","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.putz24.ch\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.putz24.ch\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.putz24.ch\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.putz24.ch\/fr\/wp-json\/wp\/v2\/comments?post=253561"}],"version-history":[{"count":17,"href":"https:\/\/www.putz24.ch\/fr\/wp-json\/wp\/v2\/pages\/253561\/revisions"}],"predecessor-version":[{"id":255301,"href":"https:\/\/www.putz24.ch\/fr\/wp-json\/wp\/v2\/pages\/253561\/revisions\/255301"}],"wp:attachment":[{"href":"https:\/\/www.putz24.ch\/fr\/wp-json\/wp\/v2\/media?parent=253561"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}