{"id":6,"date":"2025-10-17T20:43:24","date_gmt":"2025-10-18T00:43:24","guid":{"rendered":"https:\/\/eglisesjb.com\/lettre-depute-provincial\/?page_id=6"},"modified":"2025-10-17T20:54:14","modified_gmt":"2025-10-18T00:54:14","slug":"lettre-aux-elus","status":"publish","type":"page","link":"https:\/\/eglisesjb.com\/lettre-depute-provincial\/","title":{"rendered":"Lettre aux \u00e9lus"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">    <style>\n        #mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03 {\n            max-width: 900px;\n            margin: 0 auto;\n            padding: 24px;\n            font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;\n        }\n        #mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03 .card {\n            background: #ffffff;\n            border: 1px solid #ddd;\n            border-radius: 12px;\n            padding: 20px;\n            margin-bottom: 16px;\n            box-shadow: 0 2px 4px rgba(0,0,0,0.05);\n        }\n        #mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03 h2 {\n            margin: 0 0 12px 0;\n            color: #1f2a44;\n            font-size: 24px;\n        }\n        #mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03 h3 {\n            margin: 16px 0 12px 0;\n            color: #1f2a44;\n            font-size: 18px;\n        }\n        #mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03 label {\n            display: block;\n            margin-bottom: 8px;\n            font-weight: 600;\n            color: #333;\n        }\n        #mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03 input[type=\"text\"],\n        #mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03 input[type=\"email\"] {\n            width: 100%;\n            max-width: 400px;\n            padding: 12px 16px;\n            border: 1px solid #ccc;\n            border-radius: 8px;\n            font-size: 16px;\n            margin-bottom: 16px;\n        }\n        #mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03 .btn {\n            appearance: none;\n            border: none;\n            padding: 14px 24px;\n            border-radius: 10px;\n            background: #1f2a44;\n            color: #ffffff;\n            font-weight: 600;\n            font-size: 16px;\n            cursor: pointer;\n            margin-right: 10px;\n            margin-bottom: 10px;\n            transition: background 0.2s;\n        }\n        #mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03 .btn:hover {\n            background: #2b3d5c;\n        }\n        #mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03 .btn:disabled {\n            background: #999;\n            cursor: not-allowed;\n        }\n        #mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03 .btn.secondary {\n            background: #6c757d;\n        }\n        #mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03 .btn.secondary:hover {\n            background: #5a6268;\n        }\n        #mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03 .btn.success {\n            background: #28a745;\n        }\n        #mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03 .btn.success:hover {\n            background: #218838;\n        }\n        #mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03 .letter-preview {\n            background: #f8f9fa;\n            border: 1px solid #ddd;\n            border-radius: 8px;\n            padding: 24px;\n            margin-top: 16px;\n            line-height: 1.2;\n            font-size: 15px;\n        }\n        #mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03 .letter-preview strong {\n            font-weight: bold;\n        }\n        #mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03 .info-box {\n            background: #e7f3ff;\n            border-left: 4px solid #2196F3;\n            padding: 16px;\n            margin-bottom: 16px;\n            border-radius: 4px;\n        }\n        #mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03 .button-group {\n            margin-top: 20px;\n            display: flex;\n            flex-wrap: wrap;\n            gap: 10px;\n        }\n        #mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03 .hidden {\n            display: none;\n        }\n        #mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03 .link-button {\n            display: inline-block;\n            padding: 10px 16px;\n            background: #2196F3;\n            color: white;\n            text-decoration: none;\n            border-radius: 6px;\n            font-weight: 600;\n            margin-bottom: 12px;\n        }\n        #mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03 .link-button:hover {\n            background: #1976D2;\n            color: white;\n        }\n    <\/style>\n\n    <div id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03\">\n        <div class=\"card\">\n            <h2 style=\"font-size: 32px;\">Quand la la\u00efcit\u00e9 met en p\u00e9ril nos \u00e9glises et nos communaut\u00e9s<\/h2>\n            <h3 style=\"margin-top: 8px; color: #555; font-weight: 600; font-size: 22px;\">Le <span style=\"font-style: italic;\">Rapport Rousseau-Pelchat<\/span> : une menace pour nos \u00e9glises et notre patrimoine collectif<\/h3>\n            <p style=\"color: #555; line-height: 1.6;\">\n                Le <a href=\"https:\/\/cdn-contenu.quebec.ca\/cdn-contenu\/adm\/org\/secretariat-institution-democratiques\/laicite\/rapport-comite\/rapport_laicite-bilan-perspectives-2025.pdf\" target=\"_blank\" style=\"color: #1976D2; text-decoration: underline; font-style: italic;\">Rapport Rousseau-Pelchat<\/a> sur la la\u00efcit\u00e9 propose plusieurs mesures qui risquent d'avoir des cons\u00e9quences graves pour nos communaut\u00e9s locales et notre patrimoine collectif. En mettant fin aux avantages fiscaux et aux subventions accord\u00e9es aux organismes religieux et en abrogeant le crit\u00e8re de la promotion de la religion comme crit\u00e8re de reconnaissance des organismes de bienfaisance enregistr\u00e9s, ce rapport menace directement la survie de centaines d'\u00e9glises, de centres communautaires et d'organismes d'entraide \u00e0 travers le Qu\u00e9bec.\n            <\/p>\n            <p style=\"color: #555; line-height: 1.6;\">\n                Nos \u00e9glises ne sont pas seulement des espaces religieux \u2014 elles sont le c\u0153ur vivant de nos quartiers et villages, des lieux d'accueil, de culture, d'entraide et de solidarit\u00e9. Affaiblir ces institutions reviendrait \u00e0 fragiliser tout le tissu social qu\u00e9b\u00e9cois.\n            <\/p>\n            <p style=\"color: #555; line-height: 1.6;\">\n                Nous invitons les citoyens et citoyennes \u00e0 \u00e9crire \u00e0 leur d\u00e9put\u00e9 provincial pour exprimer leurs pr\u00e9occupations. \n                Pour vous aider, nous avons con\u00e7u une application simple qui g\u00e9n\u00e8re automatiquement une lettre personnalis\u00e9e que vous pouvez envoyer \u00e0 votre d\u00e9put\u00e9. En quelques clics, vous pouvez contribuer \u00e0 prot\u00e9ger nos \u00e9glises, nos communaut\u00e9s et notre patrimoine.\n            <\/p>\n            \n            <div style=\"margin-top: 20px; padding: 12px; background: #e8f5e9; border-left: 4px solid #4CAF50; border-radius: 4px;\">\n                <p style=\"margin: 0 0 12px 0; color: #2e7d32; line-height: 1.6;\">\n                    <strong>Vous voulez d'abord voir \u00e0 quoi ressemblera la lettre?<\/strong><br>\n                    Vous pouvez consulter un aper\u00e7u de la lettre que nous vous proposons pour votre d\u00e9put\u00e9 avant de remplir vos informations.\n                <\/p>\n                <button type=\"button\" class=\"btn\" id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_viewDraftBtn\" style=\"padding: 10px 16px; font-size: 14px;\">Voir l'aper\u00e7u de la lettre<\/button>\n            <\/div>\n        <\/div>\n\n        <div class=\"card\" id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_userInfoCard\">\n            <h3 style=\"font-size: 22px; font-weight: 700;\"><strong>Vos informations<\/strong><\/h3>\n            \n            <p style=\"color: #555; line-height: 1.6; margin-bottom: 20px;\">\n                Afin de personnaliser la lettre adress\u00e9e \u00e0 votre d\u00e9put\u00e9, nous vous invitons \u00e0 fournir quelques informations de base, comme votre nom et votre adresse. Ces renseignements permettent d'identifier votre circonscription et d'adresser correctement la lettre \u00e0 votre repr\u00e9sentant.\n                Soyez assur\u00e9s que ces informations demeureront strictement confidentielles et ne seront en aucun cas partag\u00e9es avec des tiers.\n            <\/p>\n            \n            <label for=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_userName\" style=\"font-weight: normal;\">Votre nom complet<\/label>\n            <input type=\"text\" id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_userName\" placeholder=\"Ex: Marie Tremblay\" \/>\n            \n            <div style=\"margin-top: 16px; padding: 12px; background: #fffbf0; border-left: 4px solid #ffc107; border-radius: 4px;\">\n                <p style=\"margin: 0 0 12px 0; color: #856404; line-height: 1.6;\">\n                    <strong>Informations optionnelles:<\/strong> Ces informations appara\u00eetront sous votre signature si vous les fournissez.\n                <\/p>\n                \n                <label for=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_userCity\" style=\"font-weight: 600; color: #333;\">Votre ville (optionnel)<\/label>\n                <input type=\"text\" id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_userCity\" placeholder=\"Ex: Montr\u00e9al\" style=\"margin-bottom: 12px;\" \/>\n                \n                <label for=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_userEmail\" style=\"font-weight: 600; color: #333;\">Votre courriel (optionnel)<\/label>\n                <input type=\"email\" id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_userEmail\" placeholder=\"Ex: marie.tremblay@example.com\" \/>\n            <\/div>\n        <\/div>\n\n        <div class=\"card\">\n            <h3 style=\"font-size: 22px; font-weight: 700;\"><strong>Trouver votre d\u00e9put\u00e9<\/strong><\/h3>\n            \n            <div class=\"info-box\">\n                <p style=\"margin: 0; line-height: 1.6;\">\n                    Afin d'identifier votre d\u00e9put\u00e9(e) provincial, vous pouvez taper votre ville, circoncription ou votre code postal. Comme il pourrait y avoir plusieurs d\u00e9put\u00e9(e)s dans votre ville, pour de meilleurs r\u00e9sultats, utilisez le nom de votre circonscription ou votre code postal. Si une m\u00e9thode ne fonctionne pas, essayez en une autre.\n                <\/p>\n            <\/div>\n            \n            <label for=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_searchInput\">Rechercher par code postal (recommand\u00e9), circonscription ou ville<\/label>\n            <div style=\"display: flex; gap: 10px; align-items: flex-start; flex-wrap: wrap;\">\n                <input type=\"text\" id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_searchInput\" placeholder=\"Ex: H2X (code postal recommand\u00e9)\" style=\"margin-bottom: 0; max-width: 300px;\" \/>\n                <button class=\"btn\" id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_searchBtn\" style=\"padding: 12px 20px;\">Rechercher<\/button>\n            <\/div>\n            \n            <div id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_searchResults\" style=\"margin-top: 16px; display: none;\">\n                <label style=\"margin-bottom: 8px;\">R\u00e9sultats de la recherche:<\/label>\n                <select id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_mnaSelect\" style=\"width: 100%; max-width: 500px; padding: 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 16px;\">\n                    <option value=\"\">S\u00e9lectionnez votre d\u00e9put\u00e9...<\/option>\n                <\/select>\n            <\/div>\n            \n            <div id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_searchStatus\" style=\"margin-top: 12px; padding: 12px; border-radius: 6px; display: none;\"><\/div>\n            \n            <div style=\"margin-top: 24px;\">\n                <label for=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_mnaName\">Nom du d\u00e9put\u00e9<\/label>\n                <input type=\"text\" id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_mnaName\" placeholder=\"S\u00e9lectionn\u00e9 automatiquement\" readonly style=\"background: #f0f0f0;\" \/>\n                \n                <!-- Dropdown for multiple MNA matches -->\n                <div id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_manualMatchResults\" style=\"margin-top: 12px; display: none;\">\n                    <label style=\"margin-bottom: 8px; color: #004085; font-weight: 600;\">Plusieurs d\u00e9put\u00e9s correspondent. S\u00e9lectionnez le v\u00f4tre:<\/label>\n                    <select id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_manualMatchSelect\" style=\"width: 100%; max-width: 500px; padding: 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 16px;\">\n                        <option value=\"\">S\u00e9lectionnez...<\/option>\n                    <\/select>\n                <\/div>\n                \n                <label for=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_mnaDistrict\">Circonscription<\/label>\n                <input type=\"text\" id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_mnaDistrict\" placeholder=\"S\u00e9lectionn\u00e9 automatiquement\" readonly style=\"background: #f0f0f0;\" \/>\n                \n                <label for=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_mnaEmail\">Courriel du d\u00e9put\u00e9<\/label>\n                <input type=\"email\" id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_mnaEmail\" placeholder=\"S\u00e9lectionn\u00e9 automatiquement\" readonly style=\"background: #f0f0f0;\" \/>\n            <\/div>\n            \n            <div style=\"margin-top: 16px; display: flex; gap: 10px; flex-wrap: wrap;\">\n                <button class=\"btn\" id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_generateBtn2\" style=\"padding: 10px 16px; font-size: 14px;\">G\u00e9n\u00e9rer la lettre<\/button>\n                <button type=\"button\" class=\"btn\" id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_clearFieldsBtn\" style=\"padding: 10px 16px; font-size: 14px;\">Effacer les champs<\/button>\n            <\/div>\n            \n            <div style=\"margin-top: 16px; padding: 12px; background: #f0f8ff; border-left: 4px solid #2196F3; border-radius: 4px;\">\n                <p style=\"margin: 0 0 12px 0; color: #004085; line-height: 1.6;\">\n                    <strong>Information incorrecte ou d\u00e9put\u00e9 non trouv\u00e9?<\/strong><br>\n                    Si les informations affich\u00e9es sont incorrectes ou si vous ne trouvez pas votre d\u00e9put\u00e9, vous pouvez entrer manuellement ses informations en cliquant sur le bouton ci-dessous. \n                    Lorsque vous tapez le nom du d\u00e9put\u00e9, nous essayerons de trouver automatiquement son adresse courriel.\n                <\/p>\n                <button type=\"button\" class=\"btn\" id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_manualEntryBtn\" style=\"padding: 10px 16px; font-size: 14px;\">Saisie manuelle<\/button>\n            <\/div>\n            \n            <div style=\"margin-top: 16px;\">\n                <p style=\"margin: 0; line-height: 1.6; color: #666;\">\n                    \ud83d\udca1 <strong>Astuce:<\/strong> Vous pouvez aussi visiter le \n                    <a href=\"https:\/\/www.assnat.qc.ca\/fr\/deputes\/index.html\" target=\"_blank\" style=\"color: #1976D2;\">site de l'Assembl\u00e9e nationale<\/a> \n                    pour plus d'informations sur votre d\u00e9put\u00e9.\n                <\/p>\n            <\/div>\n        <\/div>\n\n        <div class=\"card\">\n            <h3 style=\"font-size: 22px; font-weight: 700;\"><strong>G\u00e9n\u00e9rer votre lettre<\/strong><\/h3>\n            <p style=\"color: #555; line-height: 1.6; margin-bottom: 16px;\">\n                Une fois vos informations saisies et votre d\u00e9put\u00e9(e) s\u00e9lectionn\u00e9(e), cliquez sur le bouton ci-dessous pour g\u00e9n\u00e9rer votre lettre personnalis\u00e9e. \n                Apr\u00e8s la g\u00e9n\u00e9ration, vous aurez la possibilit\u00e9 de copier la lettre, de l'envoyer par courriel ou de la t\u00e9l\u00e9charger en format PDF.\n            <\/p>\n                <button class=\"btn\" id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_generateBtn\">G\u00e9n\u00e9rer la lettre<\/button>\n        <\/div>\n\n        <div class=\"card hidden\" id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_draftCard\">\n            <h3 style=\"font-size: 22px; font-weight: 700;\"><strong>Aper\u00e7u de la lettre type<\/strong><\/h3>\n            <p style=\"color: #555; line-height: 1.6; margin-bottom: 16px;\">\n                Voici un aper\u00e7u du contenu de la lettre qui vous est propos\u00e9e pour votre d\u00e9put\u00e9. Une fois vos informations compl\u00e9t\u00e9es, cette lettre sera personnalis\u00e9e avec votre nom et les coordonn\u00e9es de votre d\u00e9put\u00e9.\n            <\/p>\n            <div class=\"letter-preview\" id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_draftPreview\"><\/div>\n            <div style=\"margin-top: 20px;\">\n                <button class=\"btn\" id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_returnToFormBtn\">Retour au formulaire<\/button>\n            <\/div>\n        <\/div>\n\n        <div class=\"card hidden\" id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_previewCard\">\n            <h3 style=\"font-size: 22px; font-weight: 700;\"><strong>Aper\u00e7u de la lettre<\/strong><\/h3>\n            <div class=\"letter-preview\" id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_letterPreview\"><\/div>\n        <\/div>\n\n        <div class=\"card hidden\" id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_actionsCard\">\n            <h3 style=\"font-size: 22px; font-weight: 700;\"><strong>Actions<\/strong><\/h3>\n            <div class=\"button-group\">\n                <button class=\"btn\" id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_copyBtn\">Copier la lettre<\/button>\n                <button class=\"btn\" id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_emailBtn\">Envoyer par courriel<\/button>\n                <button class=\"btn\" id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_pdfBtn\">T\u00e9l\u00e9charger PDF<\/button>\n            <\/div>\n            <div style=\"margin-top: 16px;\">\n                <p style=\"margin: 0 0 12px 0; line-height: 1.6; color: #666;\">\n                    \ud83d\udca1 <strong>Astuce #1:<\/strong> Le bouton \"Copier la lettre\" vous permet de copier le texte de la lettre soit dans un courriel ou un document texte. Cela vous permet de modifier le texte si vous le voulez.\n                <\/p>\n                <p style=\"margin: 0 0 12px 0; line-height: 1.6; color: #666;\">\n                    \ud83d\udca1 <strong>Astuce #2:<\/strong> Le bouton \"Envoyer par courriel\" vous permet d'envoyer le contenu de la lettre dans le texte d'un courriel. Il faut que votre syst\u00e8me courriel soit compatible. Si cela ne fonctionne pas, consid\u00e9rez copier le texte de la lettre dans un courriel ou encore t\u00e9l\u00e9charger une version PDF.\n                <\/p>\n                <p style=\"margin: 0; line-height: 1.6; color: #666;\">\n                    \ud83d\udca1 <strong>Astuce #3:<\/strong> Le bouton \"T\u00e9l\u00e9charger PDF\" ouvre une fen\u00eatre d'impression. Vous pouvez choisir d'imprimer la lettre sur papier ou de l'enregistrer en format PDF en s\u00e9lectionnant \"Enregistrer au format PDF\" ou \"Microsoft Print to PDF\" comme imprimante. Pour une lettre sans en-t\u00eates ni pieds de page, dans les options d'impression, d\u00e9sactivez \"En-t\u00eates et pieds de page\" avant d'imprimer.\n                <\/p>\n            <\/div>\n        <\/div>\n\n        <div class=\"card\">\n            <h3 style=\"font-size: 22px; font-weight: 700;\"><strong>Besoin d'aide?<\/strong><\/h3>\n            <p style=\"color: #555; line-height: 1.6; margin-bottom: 16px;\">\n                Si vous rencontrez un probl\u00e8me avec cette application (information incorrecte, erreur technique, ou suggestion d'am\u00e9lioration), n'h\u00e9sitez pas \u00e0 nous contacter.\n            <\/p>\n            <button class=\"btn\" id=\"mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03_reportIssueBtn\">Signaler un probl\u00e8me<\/button>\n        <\/div>\n\n        <div style=\"margin-top: 32px; padding: 20px; background: #f8f9fa; border-top: 2px solid #ddd; text-align: center;\">\n            <p style=\"margin: 0; color: #666; font-size: 14px; line-height: 1.6;\">\n                <strong>\u00c0 propos de cette initiative<\/strong><br>\n                Cette application a \u00e9t\u00e9 d\u00e9velopp\u00e9e par Rodrigo Escayola, paroissien \u00e0 l'\u00e9glise Saint-Jean-Baptiste (Montr\u00e9al).\n            <\/p>\n        <\/div>\n    <\/div>\n\n    <script>\n    (function() {\n        const uid = 'mna-letter-6cd87d9e-4695-4902-8dc5-50cb56fa3c03';\n        const userNameInput = document.getElementById(uid + '_userName');\n        const userCityInput = document.getElementById(uid + '_userCity');\n        const userEmailInput = document.getElementById(uid + '_userEmail');\n        const searchInput = document.getElementById(uid + '_searchInput');\n        const searchBtn = document.getElementById(uid + '_searchBtn');\n        const searchResults = document.getElementById(uid + '_searchResults');\n        const searchStatus = document.getElementById(uid + '_searchStatus');\n        const mnaSelect = document.getElementById(uid + '_mnaSelect');\n        const mnaNameInput = document.getElementById(uid + '_mnaName');\n        const mnaEmailInput = document.getElementById(uid + '_mnaEmail');\n        const mnaDistrictInput = document.getElementById(uid + '_mnaDistrict');\n        const generateBtn = document.getElementById(uid + '_generateBtn');\n        const generateBtn2 = document.getElementById(uid + '_generateBtn2');\n        const copyBtn = document.getElementById(uid + '_copyBtn');\n        const emailBtn = document.getElementById(uid + '_emailBtn');\n        const pdfBtn = document.getElementById(uid + '_pdfBtn');\n        const previewCard = document.getElementById(uid + '_previewCard');\n        const actionsCard = document.getElementById(uid + '_actionsCard');\n        const letterPreview = document.getElementById(uid + '_letterPreview');\n        const manualEntryBtn = document.getElementById(uid + '_manualEntryBtn');\n        const clearFieldsBtn = document.getElementById(uid + '_clearFieldsBtn');\n        const manualMatchResults = document.getElementById(uid + '_manualMatchResults');\n        const manualMatchSelect = document.getElementById(uid + '_manualMatchSelect');\n        const viewDraftBtn = document.getElementById(uid + '_viewDraftBtn');\n        const draftCard = document.getElementById(uid + '_draftCard');\n        const draftPreview = document.getElementById(uid + '_draftPreview');\n        const returnToFormBtn = document.getElementById(uid + '_returnToFormBtn');\n        const userInfoCard = document.getElementById(uid + '_userInfoCard');\n        const reportIssueBtn = document.getElementById(uid + '_reportIssueBtn');\n\n        let letterText = '';\n        let isManualMode = false;\n\n        \/\/ Helper function to remove accents for flexible search\n        function removeAccents(str) {\n            return str.normalize('NFD').replace(\/[\\u0300-\\u036f]\/g, '');\n        }\n\n        \/\/ Helper function to normalize strings for comparison (remove accents, normalize spaces\/dashes, handle abbreviations)\n        function normalizeForSearch(str) {\n            \/\/ Remove accents, convert to uppercase\n            let normalized = removeAccents(str.toUpperCase());\n            \/\/ Replace dashes with spaces\n            normalized = normalized.replace(\/-\/g, ' ');\n            \/\/ Replace abbreviations: St -> Saint, Ste -> Sainte\n            normalized = normalized.replace(\/\\bST\\b\/g, 'SAINT');\n            normalized = normalized.replace(\/\\bSTE\\b\/g, 'SAINTE');\n            \/\/ Normalize multiple spaces\n            return normalized.replace(\/\\s+\/g, ' ').trim();\n        }\n\n        \/\/ MNA Database with postal code prefixes and emails\n        \/\/ UPDATED with current MNAs from https:\/\/www.assnat.qc.ca\/fr\/deputes\/index.html\n        \/\/ Format: { name, district, postalCodes (array of 3-char prefixes), region, email, gender }\n        \/\/ Gender: 'M' = Monsieur, 'F' = Madame, null = use full name without salutation\n        \n        let selectedMnaGender = null; \/\/ Store gender of selected MNA\n        \n        const mnaDatabase = [\n            \/\/ ========== MONTR\u00c9AL REGION - CURRENT MNAs ==========\n            \n            \/\/ East Montreal - H1 codes\n            { name: \"Chantal Rouleau\", district: \"Pointe-aux-Trembles\", postalCodes: [\"H1A\", \"H1B\"], region: \"Montr\u00e9al\", email: \"Chantal.Rouleau.PAT@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Simon Jolin-Barrette\", district: \"Borduas\", postalCodes: [\"H1B\", \"H1C\"], region: \"Montr\u00e9al\", email: \"sjb.BORD@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Christine Fr\u00e9chette\", district: \"Sanguinet\", postalCodes: [\"H1C\", \"H1E\", \"H1F\", \"H1G\"], region: \"Montr\u00e9al\", email: \"Christine.Frechette.SAGU@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Alice Abou-Khalil\", district: \"Fabre\", postalCodes: [\"H1G\", \"H1H\"], region: \"Montr\u00e9al\", email: \"Alice.Abou-Khalil.FABR@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Karine Boivin Roy\", district: \"Anjou\u2013Louis-Riel\", postalCodes: [\"H1J\", \"H1K\"], region: \"Montr\u00e9al\", email: \"Karine.BoivinRoy.ANJO@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Paul St-Pierre Plamondon\", district: \"Camille-Laurin\", postalCodes: [\"H1K\", \"H1V\", \"H1W\"], region: \"Montr\u00e9al\", email: \"pspp.CALA@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Ruba Ghazal\", district: \"Mercier\", postalCodes: [\"H1L\", \"H1M\", \"H1N\"], region: \"Montr\u00e9al\", email: \"Ruba.Ghazal.MERC@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Frantz Benjamin\", district: \"Viau\", postalCodes: [\"H1R\", \"H1S\"], region: \"Montr\u00e9al\", email: \"Frantz.Benjamin.VIAU@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Vincent Marissal\", district: \"Rosemont\", postalCodes: [\"H1T\", \"H1X\", \"H2G\", \"H2S\"], region: \"Montr\u00e9al\", email: \"Vincent.Marissal.ROSE@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Alexandre Leduc\", district: \"Hochelaga-Maisonneuve\", postalCodes: [\"H1V\", \"H1W\", \"H1X\"], region: \"Montr\u00e9al\", email: \"Alexandre.Leduc.HOCH@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Haroun Bouazzi\", district: \"Maurice-Richard\", postalCodes: [\"H1X\", \"H1Y\", \"H1Z\"], region: \"Montr\u00e9al\", email: \"Haroun.Bouazzi.MAUR@assnat.qc.ca\", gender: \"M\" },\n            \n            \/\/ North-Central Montreal - H2 codes\n            { name: \"Gabriel Nadeau-Dubois\", district: \"Gouin\", postalCodes: [\"H2H\", \"H2J\", \"H2N\", \"H2R\", \"H2S\", \"H3N\"], region: \"Montr\u00e9al\", email: \"Gabriel.Nadeau-Dubois.GOUI@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Andr\u00e9s Fontecilla\", district: \"Laurier-Dorion\", postalCodes: [\"H2R\", \"H2T\", \"H2V\", \"H2W\", \"H2X\"], region: \"Montr\u00e9al\", email: \"Andres.Fontecilla.LADO@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Filomena Rotiroti\", district: \"Jeanne-Mance\u2013Viger\", postalCodes: [\"H2H\", \"H2J\", \"H2K\", \"H2L\", \"H2T\", \"H2W\", \"H2X\", \"H2Y\"], region: \"Montr\u00e9al\", email: \"Filomena.Rotiroti.JMV@assnat.qc.ca\", gender: \"F\" },\n            \n            \/\/ Central Montreal - H3 codes\n            { name: \"Guillaume Cliche-Rivard\", district: \"Saint-Henri\u2013Sainte-Anne\", postalCodes: [\"H3J\", \"H3K\", \"H3L\", \"H4C\"], region: \"Montr\u00e9al\", email: \"Guillaume.Cliche-Rivard.SHSA@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Jennifer Maccarone\", district: \"Westmount\u2013Saint-Louis\", postalCodes: [\"H3A\", \"H3B\", \"H3G\", \"H3H\", \"H3Z\", \"H4A\"], region: \"Montr\u00e9al\", email: \"Jennifer.Maccarone.WSL@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Alejandra Zaga Mendez\", district: \"Verdun\", postalCodes: [\"H3E\", \"H4G\", \"H4H\"], region: \"Montr\u00e9al\", email: \"Alejandra.ZagaMendez.VERD@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Andr\u00e9 Albert Morin\", district: \"Acadie\", postalCodes: [\"H3M\", \"H3L\", \"H4J\"], region: \"Montr\u00e9al\", email: \"Andre-A.Morin.ACAD@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Enrico Ciccone\", district: \"Marquette\", postalCodes: [\"H3S\", \"H4N\", \"H4P\"], region: \"Montr\u00e9al\", email: \"Enrico.Ciccone.MARQ@assnat.qc.ca\", gender: \"M\" },\n            { name: \"D\u00e9sir\u00e9e McGraw\", district: \"Notre-Dame-de-Gr\u00e2ce\", postalCodes: [\"H3X\", \"H4A\", \"H4B\"], region: \"Montr\u00e9al\", email: \"Desiree.McGraw.NDG@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Marc Tanguay\", district: \"LaFontaine\", postalCodes: [\"H3C\", \"H3V\", \"H2Y\", \"H2Z\"], region: \"Montr\u00e9al\", email: \"Marc.Tanguay.LAFO@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Michelle Setlakwe\", district: \"Mont-Royal\u2013Outremont\", postalCodes: [\"H3P\", \"H2V\", \"H3R\", \"H4P\"], region: \"Montr\u00e9al\", email: \"Michelle.Setlakwe.MROU@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Manon Mass\u00e9\", district: \"Sainte-Marie\u2013Saint-Jacques\", postalCodes: [\"H2K\", \"H2L\", \"H2X\"], region: \"Montr\u00e9al\", email: \"Manon.Masse.SMSJ@assnat.qc.ca\", gender: \"F\" },\n            \n            \/\/ West Montreal - H4 codes\n            { name: \"Marwah Rizqy\", district: \"Saint-Laurent\", postalCodes: [\"H4L\", \"H4M\", \"H4R\", \"H4S\", \"H4T\"], region: \"Montr\u00e9al\", email: \"Marwah.Rizqy.STLO@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Madwa-Nika Cadet\", district: \"Bourassa-Sauv\u00e9\", postalCodes: [\"H4N\", \"H3L\"], region: \"Montr\u00e9al\", email: \"Madwa-Nika.Cadet.BOSA@assnat.qc.ca\", gender: \"F\" },\n            \n            \/\/ West Island - H8 and H9 codes\n            { name: \"Brigitte Garceau\", district: \"Robert-Baldwin\", postalCodes: [\"H9G\", \"H9H\", \"H9J\", \"H9K\", \"H9R\", \"H9S\", \"H8N\", \"H8P\", \"H8R\", \"H8S\", \"H8T\", \"H8Y\", \"H8Z\"], region: \"Montr\u00e9al\", email: \"Brigitte.Garceau.ROBA@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Monsef Derraji\", district: \"Nelligan\", postalCodes: [\"H9A\", \"H9B\", \"H9C\", \"H9E\", \"H9W\", \"H9X\"], region: \"Montr\u00e9al\", email: \"Monsef.Derraji.NELL@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Gregory Kelley\", district: \"Jacques-Cartier\", postalCodes: [\"H9P\", \"H4X\", \"H4Z\"], region: \"Montr\u00e9al\", email: \"Gregory.Kelley.JACA@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Elisabeth Prass\", district: \"D'Arcy-McGee\", postalCodes: [\"H3W\", \"H4W\", \"H4X\"], region: \"Montr\u00e9al\", email: \"Elisabeth.Prass.DMG@assnat.qc.ca\", gender: \"F\" },\n            \n            \/\/ ========== LAVAL REGION - CURRENT MNAs ==========\n            \n            { name: \"C\u00e9line Haytayan\", district: \"Laval-des-Rapides\", postalCodes: [\"H7A\", \"H7B\", \"H7C\", \"H7G\", \"H7N\"], region: \"Laval\", email: \"Celine.Haytayan.LDR@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Virginie Dufour\", district: \"Mille-\u00celes\", postalCodes: [\"H7J\", \"H7K\"], region: \"Laval\", email: \"Virginie.Dufour.MIIL@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Christopher Skeete\", district: \"Sainte-Rose\", postalCodes: [\"H7L\", \"H7P\", \"H7R\"], region: \"Laval\", email: \"Christopher.Skeete.SARO@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Val\u00e9rie Schmaltz\", district: \"Vimont\", postalCodes: [\"H7M\", \"H7N\"], region: \"Laval\", email: \"Valerie.Schmaltz.VIMO@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Fr\u00e9d\u00e9ric Beauchemin\", district: \"Marguerite-Bourgeoys\", postalCodes: [\"H7S\", \"H7T\", \"H7Y\"], region: \"Laval\", email: \"Frederic.Beauchemin.MABO@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Sona Lakhoyan Olivier\", district: \"Chomedey\", postalCodes: [\"H7V\", \"H7W\", \"H7X\"], region: \"Laval\", email: \"Sona.LakhoyanOlivier.CHOM@assnat.qc.ca\", gender: \"F\" },\n            \n            \/\/ ========== QU\u00c9BEC CITY REGION - COMPLETE G1, G2, G3 COVERAGE ==========\n            \n            \/\/ North-East Quebec City (Beauport, Montmorency, C\u00f4te-de-Beaupr\u00e9)\n            { name: \"Mathieu L\u00e9vesque\", district: \"Chapleau\", postalCodes: [\"G1C\", \"G1E\", \"G1X\"], region: \"Qu\u00e9bec\", email: \"Mathieu.Levesque.CHAP@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Jean-Fran\u00e7ois Simard\", district: \"Montmorency\", postalCodes: [\"G1B\", \"G1C\"], region: \"Qu\u00e9bec\", email: \"Jean-Francois.Simard.MONT@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Kariane Bourassa\", district: \"Charlevoix\u2013C\u00f4te-de-Beaupr\u00e9\", postalCodes: [\"G0A\", \"G0T\"], region: \"Capitale-Nationale\", email: \"Kariane.Bourassa.CHCB@assnat.qc.ca\", gender: \"F\" },\n            \n            \/\/ North Quebec City (Charlesbourg, Beauport)\n            { name: \"Jonatan Julien\", district: \"Charlesbourg\", postalCodes: [\"G1G\", \"G1H\", \"G2L\", \"G2M\"], region: \"Qu\u00e9bec\", email: \"Jonatan.Julien.CHLB@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Mario Asselin\", district: \"Vanier-Les Rivi\u00e8res\", postalCodes: [\"G1J\", \"G2J\", \"G2N\"], region: \"Qu\u00e9bec\", email: \"Mario.Asselin.VANI@assnat.qc.ca\", gender: \"M\" },\n            \n            \/\/ Central Quebec City (Old Quebec, Downtown, St-Roch)\n            { name: \"Sol Zanetti\", district: \"Jean-Lesage\", postalCodes: [\"G1K\", \"G1L\", \"G1R\"], region: \"Qu\u00e9bec\", email: \"Sol.Zanetti.JELE@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Etienne Grandmont\", district: \"Taschereau\", postalCodes: [\"G1N\", \"G1P\", \"G1R\", \"G1Y\"], region: \"Qu\u00e9bec\", email: \"Etienne.Grandmont.TASC@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Pascal Paradis\", district: \"Jean-Talon\", postalCodes: [\"G1M\", \"G1N\", \"G2E\"], region: \"Qu\u00e9bec\", email: \"Pascal.Paradis.JETA@assnat.qc.ca\", gender: \"M\" },\n            \n            \/\/ Upper Town \/ Sainte-Foy \/ Sillery\n            { name: \"Genevi\u00e8ve Guilbault\", district: \"Louis-H\u00e9bert\", postalCodes: [\"G1S\", \"G1T\", \"G1V\", \"G1W\"], region: \"Qu\u00e9bec\", email: \"Genevieve.Guilbault.LOHE@assnat.qc.ca\", gender: \"F\" },\n            \n            \/\/ West Quebec City (Sainte-Foy, Cap-Rouge, Saint-Augustin)\n            { name: \"\u00c9ric Caire\", district: \"La Peltrie\", postalCodes: [\"G2A\", \"G2B\", \"G2C\", \"G3G\"], region: \"Qu\u00e9bec\", email: \"Eric.Caire.LAPE@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Sylvain L\u00e9vesque\", district: \"Chauveau\", postalCodes: [\"G2A\", \"G2B\", \"G2K\", \"G3A\"], region: \"Qu\u00e9bec\", email: \"Sylvain.Levesque.CHAU@assnat.qc.ca\", gender: \"M\" },\n            \n            \/\/ Quebec City suburbs\n            { name: \"Vincent Caron\", district: \"Portneuf\", postalCodes: [\"G0A\", \"G3H\", \"G3E\"], region: \"Capitale-Nationale\", email: \"Vincent.Caron.PORT@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Bernard Drainville\", district: \"L\u00e9vis\", postalCodes: [\"G6V\", \"G6W\", \"G6X\", \"G6Y\", \"G6Z\"], region: \"Chaudi\u00e8re-Appalaches\", email: \"Bernard.Drainville.LEVI@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Martine Biron\", district: \"Chutes-de-la-Chaudi\u00e8re\", postalCodes: [\"G6W\", \"G6Y\"], region: \"Chaudi\u00e8re-Appalaches\", email: \"Martine.Biron.CDLC@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Samuel Poulin\", district: \"Beauce-Sud\", postalCodes: [\"G5Y\", \"G5Z\", \"G6B\"], region: \"Chaudi\u00e8re-Appalaches\", email: \"Samuel.Poulin.BESU@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Luc Proven\u00e7al\", district: \"Beauce-Nord\", postalCodes: [\"G5X\", \"G6E\"], region: \"Chaudi\u00e8re-Appalaches\", email: \"Luc.Provencal.BENO@assnat.qc.ca\", gender: \"M\" },\n            { name: \"St\u00e9phanie Lachance\", district: \"Bellechasse\", postalCodes: [\"G0R\", \"G0S\"], region: \"Chaudi\u00e8re-Appalaches\", email: \"Stephanie.Lachance.BELL@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Mathieu Rivest\", district: \"C\u00f4te-du-Sud\", postalCodes: [\"G0R\", \"G0S\"], region: \"Chaudi\u00e8re-Appalaches\", email: \"Mathieu.Rivest.CDS@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Marc-Andr\u00e9 Morin\", district: \"Lotbini\u00e8re-Frontenac\", postalCodes: [\"G0S\", \"G6G\"], region: \"Chaudi\u00e8re-Appalaches\", email: \"Marc-Andre.Morin.LFRO@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Youri Chassin\", district: \"Saint-J\u00e9r\u00f4me\", postalCodes: [\"J7Y\", \"J7Z\"], region: \"Laurentides\", email: \"Youri.Chassin.STJE@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Jean Boulet\", district: \"Trois-Rivi\u00e8res\", postalCodes: [\"G8Z\", \"G9A\"], region: \"Mauricie\", email: \"Jean.Boulet.TRRI@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Sonia Lebel\", district: \"Champlain\", postalCodes: [\"G9A\", \"G0X\"], region: \"Mauricie\", email: \"Sonia.LeBel.CHMP@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Simon Allaire\", district: \"Maskinong\u00e9\", postalCodes: [\"J0K\", \"G0X\"], region: \"Mauricie\", email: \"Simon.Allaire.MASK@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Marie-Louise Tardif\", district: \"Laviolette\u2013Saint-Maurice\", postalCodes: [\"G9B\", \"G0X\"], region: \"Mauricie\", email: \"Marie-Louise.Tardif.LASM@assnat.qc.ca\", gender: \"F\" },\n            \n            \/\/ ========== MONT\u00c9R\u00c9GIE REGION ==========\n            \n            { name: \"Jean-Fran\u00e7ois Roberge\", district: \"Chambly\", postalCodes: [\"J3L\", \"J3X\", \"J3Y\"], region: \"Mont\u00e9r\u00e9gie\", email: \"Jean-Francois.Roberge.CHMB@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Shirley Dorismond\", district: \"Marie-Victorin\", postalCodes: [\"J4G\", \"J4H\"], region: \"Longueuil\", email: \"Shirley.Dorismond.MAVI@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Lionel Carmant\", district: \"Taillon\", postalCodes: [\"J4W\", \"J4X\"], region: \"Longueuil\", email: \"Lionel.Carmant.TAIL@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Isabelle Poulet\", district: \"LaPorte\", postalCodes: [\"J4P\", \"J4R\"], region: \"Longueuil\", email: \"Isabelle.Poulet.LAPO@assnat.qc.ca\", gender: \"F\" },\n            { name: \"France-\u00c9laine Duranceau\", district: \"Bertrand\", postalCodes: [\"J2R\", \"J2S\", \"J2T\"], region: \"Mont\u00e9r\u00e9gie\", email: \"France-Elaine.Duranceau.BERR@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Audrey Bogemans\", district: \"Iberville\", postalCodes: [\"J2X\", \"J2Y\", \"J3G\"], region: \"Mont\u00e9r\u00e9gie\", email: \"Audrey.Bogemans.IBER@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Carole Mallette\", district: \"Huntingdon\", postalCodes: [\"J0S\", \"J0P\"], region: \"Mont\u00e9r\u00e9gie\", email: \"Carole.Mallette.HUNT@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Marie-Claude Nichols\", district: \"Vaudreuil\", postalCodes: [\"J7V\", \"J7T\"], region: \"Mont\u00e9r\u00e9gie\", email: \"Marie-Claude.Nichols.VAUD@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Christian Dub\u00e9\", district: \"La Prairie\", postalCodes: [\"J5R\", \"J5M\"], region: \"Mont\u00e9r\u00e9gie\", email: \"Christian.Dube.LAPR@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Marie-Belle Gendron\", district: \"Ch\u00e2teauguay\", postalCodes: [\"J6J\", \"J6K\"], region: \"Mont\u00e9r\u00e9gie\", email: \"Marie-Belle.Gendron.CHAT@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Suzanne Roy\", district: \"Verch\u00e8res\", postalCodes: [\"J3V\", \"J3Y\"], region: \"Mont\u00e9r\u00e9gie\", email: \"Suzanne.Roy.VERC@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Simon Jolin-Barrette\", district: \"Borduas\", postalCodes: [\"J3H\", \"J3R\"], region: \"Mont\u00e9r\u00e9gie\", email: \"sjb.BORD@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Jean-Bernard \u00c9mond\", district: \"Richelieu\", postalCodes: [\"J3B\", \"J0L\"], region: \"Mont\u00e9r\u00e9gie\", email: \"Jean-Bernard.Emond.RICL@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Andr\u00e9 Bachand\", district: \"Richmond\", postalCodes: [\"J0B\", \"J1E\"], region: \"Estrie\", email: \"Andre.Bachand.RICM@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Andr\u00e9 Lamontagne\", district: \"Johnson\", postalCodes: [\"J2G\", \"J0E\"], region: \"Mont\u00e9r\u00e9gie\", email: \"Andre.Lamontagne.JOHN@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Isabelle Lecours\", district: \"Lotbini\u00e8re-Frontenac\", postalCodes: [\"G6P\", \"G0S\"], region: \"Chaudi\u00e8re-Appalaches\", email: \"Isabelle.Lecours.LOFR@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Benoit Charrette\", district: \"Deux-Montagnes\", postalCodes: [\"J7R\", \"J7H\"], region: \"Laurentides\", email: \"Benoit.Charette.DEMO@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Sonia B\u00e9langer\", district: \"Pr\u00e9vost\", postalCodes: [\"J0R\", \"J7V\"], region: \"Laurentides\", email: \"Sonia.Belanger.PREV@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Yves Montigny\", district: \"Ren\u00e9-L\u00e9vesque\", postalCodes: [\"G5H\", \"G0C\"], region: \"Gasp\u00e9sie\u2013\u00celes-de-la-Madeleine\", email: \"Yves.Montigny.RELE@assnat.qc.ca\", gender: \"M\" },\n            \n            \/\/ ========== LANAUDI\u00c8RE REGION ==========\n            \n            { name: \"Fran\u00e7ois Legault\", district: \"L'Assomption\", postalCodes: [\"J5W\", \"J6A\", \"J5Y\"], region: \"Lanaudi\u00e8re\", email: \"Francois.Legault.ASSO@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Caroline Proulx\", district: \"Berthier\", postalCodes: [\"J0K\", \"J6E\"], region: \"Lanaudi\u00e8re\", email: \"Caroline.Proulx.BERH@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Am\u00e9lie Dionne\", district: \"Rivi\u00e8re-du-Loup\u2013T\u00e9miscouata\", postalCodes: [\"G0L\", \"G5R\"], region: \"Bas-Saint-Laurent\", email: \"Amelie.Dionne.RDLT@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Marc Picard\", district: \"Montarville\", postalCodes: [\"J3Z\", \"J4B\"], region: \"Longueuil\", email: \"Marc.Picard.MONT@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Sylvie D'Amours\", district: \"Mirabel\", postalCodes: [\"J7J\", \"J7N\"], region: \"Laurentides\", email: \"Sylvie.DAmours.MIRA@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Mathieu Lacombe\", district: \"Papineau\", postalCodes: [\"J8T\", \"J0V\"], region: \"Outaouais\", email: \"Mathieu.Lacombe.PAPI@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Pascale D\u00e9ry\", district: \"Repentigny\", postalCodes: [\"J5Y\", \"J5Z\"], region: \"Lanaudi\u00e8re\", email: \"Pascale.Dery.REPE@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Mario Laframboise\", district: \"Blainville\", postalCodes: [\"J7B\", \"J7C\"], region: \"Laurentides\", email: \"Mario.Laframboise.BLAI@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Catherine Gentilcore\", district: \"Terrebonne\", postalCodes: [\"J6W\", \"J6X\", \"J6Y\"], region: \"Lanaudi\u00e8re\", email: \"Catherine.Gentilcore.TERR@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Mathieu Lemay\", district: \"Masson\", postalCodes: [\"J7K\", \"J7L\"], region: \"Lanaudi\u00e8re\", email: \"Mathieu.Lemay.MASS@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Fran\u00e7ois St-Louis\", district: \"Joliette\", postalCodes: [\"J6E\", \"J0K\"], region: \"Lanaudi\u00e8re\", email: \"Francois.St-Louis.JOLI@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Ian Lafreni\u00e8re\", district: \"Vachon\", postalCodes: [\"J4H\", \"J4J\"], region: \"Longueuil\", email: \"Ian.Lafreniere.VACHON@assnat.qc.ca\", gender: \"M\" },\n            \n            \/\/ ========== LAURENTIDES REGION ==========\n            \n            { name: \"Agn\u00e8s Grondin\", district: \"Argenteuil\", postalCodes: [\"J8H\", \"J0V\"], region: \"Laurentides\", email: \"Agnes.Grondin.ARGE@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Carl Bouchard\", district: \"Granby\", postalCodes: [\"J2G\", \"J2J\"], region: \"Estrie\", email: \"Carl.Bouchard.GRAN@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Chantale Jeannotte\", district: \"Labelle\", postalCodes: [\"J8E\", \"J0T\"], region: \"Laurentides\", email: \"Chantale.Jeannotte.LABE@assnat.qc.ca\", gender: \"F\" },\n            { name: \"\u00c9ric Girard\", district: \"Groulx\", postalCodes: [\"J7A\", \"J7E\"], region: \"Laurentides\", email: \"Eric.Girard.GROU@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Isabelle Charest\", district: \"Brome-Missisquoi\", postalCodes: [\"J0E\", \"J2J\"], region: \"Estrie\", email: \"Isabelle.Charest.BRMI@assnat.qc.ca\", gender: \"F\" },\n            \n            \/\/ ========== ESTRIE REGION ==========\n            \n            { name: \"Christine Labrie\", district: \"Sherbrooke\", postalCodes: [\"J1H\", \"J1K\", \"J1L\"], region: \"Estrie\", email: \"Christine.Labrie.SHER@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Gilles B\u00e9langer\", district: \"Orford\", postalCodes: [\"J1X\", \"J2E\"], region: \"Estrie\", email: \"Gilles.Belanger.ORFO@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Genevi\u00e8ve H\u00e9bert\", district: \"Saint-Fran\u00e7ois\", postalCodes: [\"J1G\", \"J0B\"], region: \"Estrie\", email: \"Genevieve.Hebert.SAFR@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Fran\u00e7ois Jacques\", district: \"M\u00e9gantic\", postalCodes: [\"G6B\", \"G0Y\"], region: \"Estrie\", email: \"Francois.Jacques.MEGA@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Alex Boissonneault\", district: \"Arthabaska\", postalCodes: [\"G6P\", \"G0Z\"], region: \"Centre-du-Qu\u00e9bec\", email: \"Alex.Boissonneault.ARTH@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Donald Martel\", district: \"Nicolet-B\u00e9cancour\", postalCodes: [\"G9H\", \"J0G\"], region: \"Centre-du-Qu\u00e9bec\", email: \"Donald.Martel.NICO@assnat.qc.ca\", gender: \"M\" },\n            { name: \"S\u00e9bastien Schneeberger\", district: \"Drummond\u2013Bois-Francs\", postalCodes: [\"J2B\", \"J2C\"], region: \"Centre-du-Qu\u00e9bec\", email: \"Sebastien.Schneeberger.DRUM@assnat.qc.ca\", gender: \"M\" },\n            \n            \/\/ ========== OUTAOUAIS REGION ==========\n            \n            { name: \"Suzanne Tremblay\", district: \"Hull\", postalCodes: [\"J8Y\", \"J8Z\", \"J9A\"], region: \"Outaouais\", email: \"Suzanne.Tremblay.HULL@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Robert Bussi\u00e8re\", district: \"Gatineau\", postalCodes: [\"J8P\", \"J8T\"], region: \"Outaouais\", email: \"Robert.Bussiere.GATI@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Andr\u00e9 Fortin\", district: \"Pontiac\", postalCodes: [\"J9H\", \"J0X\"], region: \"Outaouais\", email: \"Andre.Fortin.PONT@assnat.qc.ca\", gender: \"M\" },\n            \n            \/\/ ========== SAGUENAY\u2013LAC-SAINT-JEAN REGION ==========\n            \n            { name: \"Andr\u00e9e Laforest\", district: \"Chicoutimi\", postalCodes: [\"G7G\", \"G7H\", \"G7J\"], region: \"Saguenay\", email: \"Andree.Laforest.CHIC@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Nancy Guillemette\", district: \"Roberval\", postalCodes: [\"G8H\", \"G0W\"], region: \"Saguenay\u2013Lac-Saint-Jean\", email: \"Nancy.Guillemette.ROBE@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Yannick Gagnon\", district: \"Jonqui\u00e8re\", postalCodes: [\"G7S\", \"G7X\"], region: \"Saguenay\", email: \"Yannick.Gagnon.JONQ@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Eric Girard\", district: \"Lac-Saint-Jean\", postalCodes: [\"G8B\", \"G0W\"], region: \"Saguenay\u2013Lac-Saint-Jean\", email: \"Eric.Girard.LSJ@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Fran\u00e7ois Tremblay\", district: \"Dubuc\", postalCodes: [\"G7B\", \"G0V\"], region: \"Saguenay\u2013Lac-Saint-Jean\", email: \"Francois.Tremblay.DUBU@assnat.qc.ca\", gender: \"M\" },\n            \n            \/\/ ========== ABITIBI-T\u00c9MISCAMINGUE & NORD-DU-QU\u00c9BEC ==========\n            \n            { name: \"Pierre Dufour\", district: \"Abitibi-Est\", postalCodes: [\"J9T\", \"J9X\", \"J0Z\"], region: \"Abitibi-T\u00e9miscamingue\", email: \"Pierre.Dufour.ABES@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Suzanne Blais\", district: \"Abitibi-Ouest\", postalCodes: [\"J9V\", \"J0Y\"], region: \"Abitibi-T\u00e9miscamingue\", email: \"Suzanne.Blais.ABOU@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Daniel Bernard\", district: \"Rouyn-Noranda\u2013T\u00e9miscamingue\", postalCodes: [\"J9X\", \"J0Z\"], region: \"Abitibi-T\u00e9miscamingue\", email: \"Daniel.Bernard.RNT@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Denis Lamothe\", district: \"Ungava\", postalCodes: [\"J0M\", \"G0G\"], region: \"Nord-du-Qu\u00e9bec\", email: \"Denis.Lamothe.UNGA@assnat.qc.ca\", gender: \"M\" },\n            \n            \/\/ ========== BAS-SAINT-LAURENT & GASP\u00c9SIE ==========\n            \n            { name: \"Marie-\u00c8ve Proulx\", district: \"C\u00f4te-du-Sud\", postalCodes: [\"G0R\", \"G0S\"], region: \"Bas-Saint-Laurent\", email: \"Marie-Eve.Proulx.CSUD@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Ma\u00eft\u00e9 Blanchette V\u00e9zina\", district: \"Rimouski\", postalCodes: [\"G5L\", \"G5M\", \"G5N\"], region: \"Bas-Saint-Laurent\", email: \"Maite.BlanchetteVezina.RIMO@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Pascal B\u00e9rub\u00e9\", district: \"Matane-Matap\u00e9dia\", postalCodes: [\"G4W\", \"G0J\"], region: \"Bas-Saint-Laurent\", email: \"Pascal.Berube.MATN@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Catherine Blouin\", district: \"Bonaventure\", postalCodes: [\"G0C\", \"G0E\"], region: \"Gasp\u00e9sie\u2013\u00celes-de-la-Madeleine\", email: \"Catherine.Blouin.BONA@assnat.qc.ca\", gender: \"F\" },\n            { name: \"St\u00e9phane Sainte-Croix\", district: \"Gasp\u00e9\", postalCodes: [\"G4X\", \"G0C\"], region: \"Gasp\u00e9sie\u2013\u00celes-de-la-Madeleine\", email: \"Stephane.Sainte-Croix.GASP@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Jo\u00ebl Arseneau\", district: \"\u00celes-de-la-Madeleine\", postalCodes: [\"G4T\"], region: \"Gasp\u00e9sie\u2013\u00celes-de-la-Madeleine\", email: \"Joel.Arseneau.IDLM@assnat.qc.ca\", gender: \"M\" },\n            \n            \/\/ ========== C\u00d4TE-NORD ==========\n            \n            { name: \"Kateri Champagne Jourdain\", district: \"Duplessis\", postalCodes: [\"G0G\", \"G4R\"], region: \"C\u00f4te-Nord\", email: \"Kateri.ChampagneJourdain.DUPL@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Martin Ouellet\", district: \"Ren\u00e9-L\u00e9vesque\", postalCodes: [\"G5H\", \"G0G\"], region: \"C\u00f4te-Nord\", email: \"Martin.Ouellet.RLEV@assnat.qc.ca\", gender: \"M\" },\n            \n            \/\/ ========== ADDITIONAL MONT\u00c9R\u00c9GIE & SOUTH SHORE ==========\n            \n            { name: \"Louis Lemieux\", district: \"Saint-Jean\", postalCodes: [\"J2W\", \"J2X\"], region: \"Mont\u00e9r\u00e9gie\", email: \"Louis.Lemieux.SAJE@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Claire Samson\", district: \"Iberville\", postalCodes: [\"J2X\", \"J0J\"], region: \"Mont\u00e9r\u00e9gie\", email: \"Claire.Samson.IBER@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Nathalie Roy\", district: \"Montarville\", postalCodes: [\"J3V\", \"J3Z\"], region: \"Longueuil\", email: \"Nathalie.Roy.MOTA@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Catherine Fournier\", district: \"Marie-Victorin\", postalCodes: [\"J4G\"], region: \"Longueuil\", email: \"Catherine.Fournier.MAVI@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Linda Caron\", district: \"La Pini\u00e8re\", postalCodes: [\"J4V\", \"J4W\"], region: \"Longueuil\", email: \"Linda.Caron.LAPI@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Fran\u00e7ois Bonnardel\", district: \"Granby\", postalCodes: [\"J2G\", \"J2J\"], region: \"Estrie\", email: \"Francois.Bonnardel.GRAN@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Chantal Soucy\", district: \"Saint-Hyacinthe\", postalCodes: [\"J2S\", \"J2T\"], region: \"Mont\u00e9r\u00e9gie\", email: \"Chantal.Soucy.SAHY@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Claude Reid\", district: \"Beauharnois\", postalCodes: [\"J6N\", \"J0S\"], region: \"Mont\u00e9r\u00e9gie\", email: \"Claude.Reid.BEAU@assnat.qc.ca\", gender: \"M\" },\n            { name: \"Marilyne Picard\", district: \"Soulanges\", postalCodes: [\"J0P\", \"J7V\"], region: \"Mont\u00e9r\u00e9gie\", email: \"Marilyne.Picard.SOUL@assnat.qc.ca\", gender: \"F\" },\n            \n            \/\/ Note: Some entries below may be duplicates from above sections - they serve as backups for search\n            { name: \"Lucie Lecours\", district: \"Les Plaines\", postalCodes: [\"J7M\", \"J7P\"], region: \"Laurentides\", email: \"Lucie.Lecours.LPLA@assnat.qc.ca\", gender: \"F\" },\n            { name: \"Louis-Charles Thouin\", district: \"Rousseau\", postalCodes: [\"J7K\", \"J7L\"], region: \"Laurentides\", email: \"Louis-Charles.Thouin.ROUS@assnat.qc.ca\", gender: \"M\" },\n        ];\n\n        \/\/ Search functionality\n        searchBtn.addEventListener('click', function() {\n            performSearch();\n        });\n\n        searchInput.addEventListener('keypress', function(e) {\n            if (e.key === 'Enter') {\n                e.preventDefault();\n                performSearch();\n            }\n        });\n\n        function performSearch() {\n            const query = searchInput.value.trim().toUpperCase().replace(\/\\s+\/g, '');\n            \n            if (!query) {\n                showSearchStatus('Veuillez entrer un code postal, une circonscription ou une ville.', 'error');\n                return;\n            }\n\n            showSearchStatus('Recherche en cours...', 'loading');\n\n            \/\/ Get first 3 characters for postal code matching (remove spaces)\n            const postalPrefix = query.substring(0, 3).toUpperCase();\n\n            console.log('=== MNA SEARCH DEBUG ===');\n            console.log('Original input:', searchInput.value.trim());\n            console.log('Query (cleaned):', query);\n            console.log('Postal prefix:', postalPrefix);\n\n            \/\/ Search through the database\n            const results = mnaDatabase.filter(mna => {\n                \/\/ Match postal code prefix (first 3 characters)\n                const postalMatch = mna.postalCodes.some(code => {\n                    const cleanCode = code.replace(\/\\s+\/g, '').toUpperCase();\n                    const match = cleanCode === postalPrefix || \n                                  cleanCode.startsWith(postalPrefix) || \n                                  postalPrefix.startsWith(cleanCode) ||\n                                  cleanCode.includes(postalPrefix);\n                    \n                    if (match) {\n                        console.log('\u2713 Postal match found:', code, 'in', mna.district);\n                    }\n                    return match;\n                });\n                \n                \/\/ Match district name (accent-insensitive, space\/dash-insensitive)\n                const normalizedDistrict = normalizeForSearch(mna.district);\n                const normalizedSearchQuery = normalizeForSearch(searchInput.value.trim());\n                const districtMatch = normalizedDistrict.includes(normalizedSearchQuery);\n                if (districtMatch) {\n                    console.log('\u2713 District match found:', mna.district);\n                }\n                \n                \/\/ Match region\/city (accent-insensitive, space\/dash-insensitive)\n                const normalizedRegion = normalizeForSearch(mna.region);\n                const regionMatch = normalizedRegion.includes(normalizedSearchQuery);\n                if (regionMatch) {\n                    console.log('\u2713 Region match found:', mna.region);\n                }\n                \n                \/\/ Match name (accent-insensitive, space\/dash-insensitive)\n                const normalizedName = normalizeForSearch(mna.name);\n                const nameMatch = normalizedName.includes(normalizedSearchQuery);\n                if (nameMatch) {\n                    console.log('\u2713 Name match found:', mna.name);\n                }\n                \n                return postalMatch || districtMatch || regionMatch || nameMatch;\n            });\n\n            console.log('Total results found:', results.length);\n            console.log('Results:', results.map(r => r.name + ' (' + r.district + ')'));\n            console.log('========================');\n\n            if (results.length === 0) {\n                showSearchStatus('Aucun d\u00e9put\u00e9 trouv\u00e9 pour \"' + searchInput.value.trim() + '\". V\u00e9rifiez le code postal ou essayez de chercher par nom de circonscription ou ville.', 'error');\n                searchResults.style.display = 'none';\n                return;\n            }\n\n            \/\/ Populate the select dropdown\n            mnaSelect.innerHTML = '<option value=\"\">S\u00e9lectionnez votre d\u00e9put\u00e9...<\/option>';\n            results.forEach((mna, index) => {\n                const option = document.createElement('option');\n                option.value = index;\n                option.textContent = `${mna.name} - ${mna.district}`;\n                option.dataset.mnaData = JSON.stringify(mna);\n                mnaSelect.appendChild(option);\n            });\n\n            searchResults.style.display = 'block';\n            \n            if (results.length === 1) {\n                \/\/ Auto-select if only one result\n                mnaSelect.selectedIndex = 1;\n                mnaSelect.dispatchEvent(new Event('change'));\n                showSearchStatus(`\u2713 D\u00e9put\u00e9 trouv\u00e9: ${results[0].name} (${results[0].district})`, 'success');\n            } else {\n                showSearchStatus(`${results.length} d\u00e9put\u00e9s trouv\u00e9s. Veuillez s\u00e9lectionner le v\u00f4tre.`, 'warning');\n            }\n        }\n\n        \/\/ Handle MNA selection\n        mnaSelect.addEventListener('change', function() {\n            const selected = this.options[this.selectedIndex];\n            if (selected.value === '') return;\n            \n            const mnaData = JSON.parse(selected.dataset.mnaData);\n            mnaNameInput.value = mnaData.name;\n            mnaDistrictInput.value = mnaData.district;\n            mnaEmailInput.value = mnaData.email;\n            selectedMnaGender = mnaData.gender || null; \/\/ Store gender for letter generation\n            \n            showSearchStatus(`\u2713 S\u00e9lectionn\u00e9: ${mnaData.name} (${mnaData.district})`, 'success');\n        });\n\n        function showSearchStatus(message, type) {\n            searchStatus.style.display = 'block';\n            searchStatus.textContent = message;\n            \n            if (type === 'error') {\n                searchStatus.style.background = '#fee';\n                searchStatus.style.color = '#c00';\n                searchStatus.style.border = '1px solid #fcc';\n            } else if (type === 'success') {\n                searchStatus.style.background = '#efe';\n                searchStatus.style.color = '#060';\n                searchStatus.style.border = '1px solid #cfc';\n            } else if (type === 'loading') {\n                searchStatus.style.background = '#eef';\n                searchStatus.style.color = '#006';\n                searchStatus.style.border = '1px solid #ccf';\n            } else if (type === 'warning') {\n                searchStatus.style.background = '#ffc';\n                searchStatus.style.color = '#860';\n                searchStatus.style.border = '1px solid #ffa';\n            }\n        }\n\n        \/\/ Manual entry functionality\n        manualEntryBtn.addEventListener('click', function() {\n            if (!isManualMode) {\n                \/\/ Enable manual mode\n                isManualMode = true;\n                mnaNameInput.removeAttribute('readonly');\n                mnaDistrictInput.removeAttribute('readonly');\n                mnaEmailInput.removeAttribute('readonly');\n                mnaNameInput.style.background = '#fff';\n                mnaDistrictInput.style.background = '#fff';\n                mnaEmailInput.style.background = '#fff';\n                mnaNameInput.placeholder = 'Entrez le nom du d\u00e9put\u00e9';\n                mnaDistrictInput.placeholder = 'Entrez la circonscription';\n                mnaEmailInput.placeholder = 'Entrez le courriel du d\u00e9put\u00e9';\n                manualEntryBtn.textContent = 'Retour \u00e0 la recherche automatis\u00e9e';\n                showSearchStatus('Mode de saisie manuelle activ\u00e9. Entrez les informations de votre d\u00e9put\u00e9.', 'loading');\n            } else {\n                \/\/ Disable manual mode\n                isManualMode = false;\n                mnaNameInput.setAttribute('readonly', true);\n                mnaDistrictInput.setAttribute('readonly', true);\n                mnaEmailInput.setAttribute('readonly', true);\n                mnaNameInput.style.background = '#f0f0f0';\n                mnaDistrictInput.style.background = '#f0f0f0';\n                mnaEmailInput.style.background = '#f0f0f0';\n                mnaNameInput.placeholder = 'S\u00e9lectionn\u00e9 automatiquement';\n                mnaDistrictInput.placeholder = 'S\u00e9lectionn\u00e9 automatiquement';\n                mnaEmailInput.placeholder = 'S\u00e9lectionn\u00e9 automatiquement';\n                manualEntryBtn.textContent = 'Saisie manuelle';\n                manualMatchResults.style.display = 'none';\n                searchStatus.style.display = 'none';\n            }\n        });\n\n        \/\/ Clear fields button functionality\n        clearFieldsBtn.addEventListener('click', function() {\n            \/\/ Clear MNA info fields\n            mnaNameInput.value = '';\n            mnaDistrictInput.value = '';\n            mnaEmailInput.value = '';\n            selectedMnaGender = null;\n            manualMatchResults.style.display = 'none';\n            \n            \/\/ Clear search fields\n            searchInput.value = '';\n            searchResults.style.display = 'none';\n            mnaSelect.innerHTML = '<option value=\"\">S\u00e9lectionnez votre d\u00e9put\u00e9...<\/option>';\n            \n            if (isManualMode) {\n                showSearchStatus('Champs effac\u00e9s. Entrez les informations de votre d\u00e9put\u00e9.', 'loading');\n            } else {\n                showSearchStatus('Champs effac\u00e9s. Effectuez une nouvelle recherche.', 'loading');\n            }\n        });\n\n        \/\/ Auto-lookup email when name is entered in manual mode\n        let isAutoFilling = false; \/\/ Flag to prevent clearing during auto-fill\n        \n        mnaNameInput.addEventListener('input', function() {\n            if (!isManualMode) return;\n            \n            const enteredName = this.value.trim();\n            \n            \/\/ If user is manually typing (not from auto-fill), clear other fields and hide dropdown\n            if (!isAutoFilling && enteredName.length > 0) {\n                mnaDistrictInput.value = '';\n                mnaEmailInput.value = '';\n                selectedMnaGender = null;\n                manualMatchResults.style.display = 'none';\n            }\n            \n            if (enteredName.length < 3) {\n                manualMatchResults.style.display = 'none';\n                return;\n            }\n            \n            \/\/ Search for ALL matching MNAs in database\n            const normalizedSearch = normalizeForSearch(enteredName);\n            const matchingMnas = mnaDatabase.filter(mna => {\n                const normalizedMnaName = normalizeForSearch(mna.name);\n                return normalizedMnaName.includes(normalizedSearch) || normalizedSearch.includes(normalizedMnaName);\n            });\n            \n            if (matchingMnas.length === 1) {\n                \/\/ Single match: auto-fill immediately with full name\n                isAutoFilling = true;\n                const matchingMna = matchingMnas[0];\n                \/\/ Update name field with full MNA name\n                mnaNameInput.value = matchingMna.name;\n                if (!mnaEmailInput.value || mnaEmailInput.value === mnaEmailInput.placeholder) {\n                    mnaEmailInput.value = matchingMna.email;\n                }\n                if (!mnaDistrictInput.value || mnaDistrictInput.value === mnaDistrictInput.placeholder) {\n                    mnaDistrictInput.value = matchingMna.district;\n                }\n                selectedMnaGender = matchingMna.gender || null;\n                manualMatchResults.style.display = 'none';\n                isAutoFilling = false;\n            } else if (matchingMnas.length > 1) {\n                \/\/ Multiple matches: show dropdown\n                manualMatchSelect.innerHTML = '<option value=\"\">S\u00e9lectionnez...<\/option>';\n                matchingMnas.forEach((mna, index) => {\n                    const option = document.createElement('option');\n                    option.value = index;\n                    option.textContent = `${mna.name} - ${mna.district}`;\n                    option.dataset.mnaData = JSON.stringify(mna);\n                    manualMatchSelect.appendChild(option);\n                });\n                manualMatchResults.style.display = 'block';\n            } else {\n                \/\/ No matches\n                manualMatchResults.style.display = 'none';\n            }\n        });\n\n        \/\/ Handle selection from manual match dropdown\n        manualMatchSelect.addEventListener('change', function() {\n            const selected = this.options[this.selectedIndex];\n            if (selected.value === '') return;\n            \n            isAutoFilling = true;\n            const mnaData = JSON.parse(selected.dataset.mnaData);\n            mnaNameInput.value = mnaData.name;\n            mnaDistrictInput.value = mnaData.district;\n            mnaEmailInput.value = mnaData.email;\n            selectedMnaGender = mnaData.gender || null;\n            manualMatchResults.style.display = 'none';\n            isAutoFilling = false;\n        });\n\n        \/\/ Clear other fields when district is manually changed\n        mnaDistrictInput.addEventListener('input', function() {\n            if (!isManualMode || isAutoFilling) return;\n            \n            if (this.value.trim().length > 0) {\n                mnaNameInput.value = '';\n                mnaEmailInput.value = '';\n                selectedMnaGender = null;\n            }\n        });\n\n        \/\/ Clear other fields when email is manually changed\n        mnaEmailInput.addEventListener('input', function() {\n            if (!isManualMode || isAutoFilling) return;\n            \n            if (this.value.trim().length > 0) {\n                mnaNameInput.value = '';\n                mnaDistrictInput.value = '';\n                selectedMnaGender = null;\n            }\n        });\n\n        \/\/ Format date in French\n        function formatFrenchDate() {\n            const months = ['janvier', 'f\u00e9vrier', 'mars', 'avril', 'mai', 'juin', \n                          'juillet', 'ao\u00fbt', 'septembre', 'octobre', 'novembre', 'd\u00e9cembre'];\n            const date = new Date();\n            const day = date.getDate();\n            const month = months[date.getMonth()];\n            const year = date.getFullYear();\n            return `Le ${day} ${month} ${year}`;\n        }\n\n        \/\/ View draft letter functionality\n        viewDraftBtn.addEventListener('click', function() {\n            \/\/ Generate draft letter with placeholders\n            let draftText = '<<<ADDRESS_START>>>[Nom du d\u00e9put\u00e9]\\n';\n            draftText += '[Circonscription du d\u00e9put\u00e9]\\n';\n            draftText += 'Assembl\u00e9e nationale du Qu\u00e9bec\\n';\n            draftText += '1045, rue des Parlementaires\\n';\n            draftText += 'Qu\u00e9bec (Qu\u00e9bec) G1A 1A3\\n';\n            draftText += '[Courriel du d\u00e9put\u00e9]<<<ADDRESS_END>>>\\n\\n';\n            draftText += formatFrenchDate() + '\\n\\n';\n            draftText += 'Objet : Pour une la\u00efcit\u00e9 \u00e9quilibr\u00e9e et respectueuse du patrimoine religieux, culturel et social\\n\\n';\n            draftText += '[Madame\/Monsieur] [Nom du d\u00e9put\u00e9],\\n\\n';\n            draftText += 'Je me permets de vous \u00e9crire pour exprimer mes pr\u00e9occupations face aux recommandations formul\u00e9es dans le rapport Rousseau-Pelchat sur la la\u00efcit\u00e9 et au projet de loi qui pourrait en d\u00e9couler.\\n\\n';\n            draftText += 'La la\u00efcit\u00e9 doit avant tout garantir la neutralit\u00e9 de l\\'\u00c9tat, sans restreindre la libert\u00e9 de religion ni fragiliser le tissu social qui unit tant de communaut\u00e9s \u00e0 travers le Qu\u00e9bec. Or, plusieurs des mesures propos\u00e9es dans le rapport Rousseau-Pelchat semblent aller dans une direction contraire. La fin des avantages fiscaux et des subventions accord\u00e9es aux organismes religieux et l\\'abrogation du crit\u00e8re de la promotion de la religion dans la reconnaissance des organismes de bienfaisance risquent non seulement d\\'affaiblir nos \u00e9glises, mais aussi de compromettre tout un pan de notre patrimoine collectif.\\n\\n';\n            draftText += 'Au-del\u00e0 de leur vocation religieuse, les \u00e9glises du Qu\u00e9bec constituent des rep\u00e8res culturels, identitaires et historiques profond\u00e9ment enracin\u00e9s dans notre territoire. Ces b\u00e2timents, souvent parmi les plus anciens et les plus embl\u00e9matiques de nos quartiers et de nos villages, t\u00e9moignent du parcours du peuple qu\u00e9b\u00e9cois et fa\u00e7onnent encore aujourd\\'hui notre paysage. Leur entretien repose d\u00e9j\u00e0 presque enti\u00e8rement sur les \u00e9paules de petits groupes de b\u00e9n\u00e9voles et de citoyens d\u00e9vou\u00e9s qui maintiennent \u00e0 bout de bras (et \u00e0 bout de souffle) ces joyaux patrimoniaux pour le b\u00e9n\u00e9fice de tous. Retirer les exemptions fiscales et remettre en question la reconnaissance des \u0153uvres de bienfaisance reviendrait \u00e0 signer l\\'arr\u00eat de mort de centaines, voire de milliers, d\\'\u00e9difices historiques \u2014 et \u00e0 effacer une part essentielle de notre m\u00e9moire collective.\\n\\n';\n            draftText += 'Au-del\u00e0 de la pierre et des clochers, il faut reconna\u00eetre ce que repr\u00e9sente ce vaste r\u00e9seau d\\'\u00e9glises et de communaut\u00e9s de foi encore pr\u00e9sentes dans chaque ville, village, et quartier du Qu\u00e9bec. Ces institutions sont de v\u00e9ritables moteurs d\\'entraide sociale, \u00e9conomique, culturelle et identitaire. Elles offrent un point d\\'ancrage et un tremplin \u00e0 des milliers de Qu\u00e9b\u00e9cois \u2014 tant de souche que nouveaux arrivants \u2014 qui y trouvent accueil, soutien, assistance, \u00e9coute et occasions d\\'int\u00e9gration.\\n\\n';\n            draftText += 'Les retomb\u00e9es positives de ces lieux d\u00e9passent largement le cadre spirituel (bien que ce dernier n\\'est pas n\u00e9gligeable). Ces lieux accueillent des organismes communautaires, des groupes culturels, et des services d\\'aide aux sans-abris, aux gens dans le besoin et aux nouveaux arrivants. Ces centres communautaires de proximit\u00e9 pr\u00eatent leurs locaux et servent de plateforme pour les comptoirs familiaux, les centres d\\'aide alimentaire, les associations locales, les Scouts, les groupes de jeunes, les Saint-Vincents de Paul, les rencontre des Alcooliques Anonymes, les paniers de no\u00ebl, l\\'entraide aux sans abris, etc. pour ne nommer que ceux-l\u00e0. Nos \u00e9glises mettent \u00e0 la disposition des communaut\u00e9s locales des multiples salles de rencontres et salles de spectacles pour les artistes locaux et culturels gratuitement ou \u00e0 prix modique, bien en de\u00e7\u00e0 du march\u00e9. Ces espaces sont souvent les seuls endroits accessibles o\u00f9 la population peut se rassembler, cr\u00e9er du lien et b\u00e2tir du sens collectif.\\n\\n';\n            draftText += 'La la\u00efcit\u00e9 de l\\'\u00c9tat est une valeur importante au Qu\u00e9bec. Mais il serait profond\u00e9ment regrettable d\\'en venir \u00e0 affaiblir \u2014 voire \u00e0 amputer \u2014 ce r\u00e9seau vivant d\\'entraide et de solidarit\u00e9 qui contribue toujours, de fa\u00e7on concr\u00e8te, au mieux-\u00eatre de la soci\u00e9t\u00e9 qu\u00e9b\u00e9coise. Retirer ces soutiens au nom d\\'une conception trop rigide de la la\u00efcit\u00e9 serait non seulement \u00e0 courte vue, mais aussi contraire \u00e0 l\\'esprit d\\'\u00e9quilibre et de respect qui devrait guider toute action publique.\\n\\n';\n            draftText += 'Je vous invite donc \u00e0 examiner ces recommandations avec prudence et \u00e0 d\u00e9fendre une approche de la la\u00efcit\u00e9 qui prot\u00e8ge la neutralit\u00e9 de l\\'\u00c9tat sans compromettre la libert\u00e9 de conscience, la vitalit\u00e9 du tissu communautaire ni la transmission de notre patrimoine commun.\\n\\n';\n            draftText += 'Je vous remercie de votre attention et de votre engagement au service des citoyens du Qu\u00e9bec.\\n\\n';\n            draftText += 'Veuillez agr\u00e9er, [Madame\/Monsieur] [Nom du d\u00e9put\u00e9], l\\'expression de mes salutations distingu\u00e9es.\\n\\n';\n            draftText += '[Votre nom]\\n[Votre ville (optionnel)]\\n[Votre courriel (optionnel)]';\n\n            \/\/ Format for HTML display\n            let draftHtml = draftText.replace(\n                \/Objet : Pour une la\u00efcit\u00e9 \u00e9quilibr\u00e9e et respectueuse du patrimoine religieux, culturel et social\/g,\n                '<strong>Objet : Pour une la\u00efcit\u00e9 \u00e9quilibr\u00e9e et respectueuse du patrimoine religieux, culturel et social<\/strong>'\n            );\n            draftHtml = draftHtml.replace(\/\\n\/g, '<br>');\n            \/\/ Style address block with smaller font\n            draftHtml = draftHtml.replace(\/<<<ADDRESS_START>>>\/g, '<span style=\"font-size: 12px;\">');\n            draftHtml = draftHtml.replace(\/<<<ADDRESS_END>>>\/g, '<\/span>');\n\n            draftPreview.innerHTML = draftHtml;\n            draftCard.classList.remove('hidden');\n            draftCard.scrollIntoView({ behavior: 'smooth', block: 'start' });\n        });\n\n        \/\/ Return to form from draft view\n        returnToFormBtn.addEventListener('click', function() {\n            draftCard.classList.add('hidden');\n            \/\/ Scroll to \"Vos informations\" section\n            userInfoCard.scrollIntoView({ behavior: 'smooth', block: 'start' });\n        });\n\n        \/\/ Generate letter\n        generateBtn.addEventListener('click', function() {\n            const userName = userNameInput.value.trim();\n            const userCity = userCityInput.value.trim();\n            const userEmail = userEmailInput.value.trim();\n            const mnaName = mnaNameInput.value.trim();\n            const mnaDistrict = mnaDistrictInput.value.trim();\n            const mnaEmail = mnaEmailInput.value.trim();\n\n            if (!userName) {\n                alert('Veuillez entrer votre nom complet.');\n                return;\n            }\n            if (!mnaName) {\n                alert('Veuillez entrer le nom de votre d\u00e9put\u00e9.');\n                return;\n            }\n\n            \/\/ Determine salutation based on gender\n            let salutation = '';\n            let addressLine = '';\n            let letterHeader = '';\n            \n            if (selectedMnaGender === 'M') {\n                salutation = 'Monsieur';\n                addressLine = `${salutation} ${mnaName}`;\n                letterHeader = `Monsieur ${mnaName}`;\n            } else if (selectedMnaGender === 'F') {\n                salutation = 'Madame';\n                addressLine = `${salutation} ${mnaName}`;\n                letterHeader = `Madame ${mnaName}`;\n            } else {\n                \/\/ If gender unknown, use full name without salutation\n                salutation = mnaName; \/\/ Will be used in closing\n                addressLine = mnaName;\n                letterHeader = mnaName;\n            }\n\n            \/\/ Generate letter text\n            \/\/ Add MNA name with salutation and office address at the top\n            letterText = '<<<ADDRESS_START>>>' + letterHeader + '\\n';\n            if (mnaDistrict) {\n                letterText += 'Circonscription de ' + mnaDistrict + '\\n';\n            }\n            letterText += 'Assembl\u00e9e nationale du Qu\u00e9bec\\n';\n            letterText += '1045, rue des Parlementaires\\n';\n            letterText += 'Qu\u00e9bec (Qu\u00e9bec) G1A 1A3\\n';\n            if (mnaEmail) {\n                letterText += mnaEmail + '\\n';\n            }\n            letterText += '<<<ADDRESS_END>>>\\n';\n            \n            \/\/ Add date\n            letterText += formatFrenchDate() + '\\n\\n';\n            \n            \/\/ Add subject line\n            letterText += 'Objet : Pour une la\u00efcit\u00e9 \u00e9quilibr\u00e9e et respectueuse du patrimoine religieux, culturel et social\\n\\n';\n            \n            \/\/ Add salutation\n            letterText += `${addressLine},\\n\\n`;\n            letterText += `Je me permets de vous \u00e9crire pour exprimer mes pr\u00e9occupations face aux recommandations formul\u00e9es dans le rapport Rousseau-Pelchat sur la la\u00efcit\u00e9 et au projet de loi qui pourrait en d\u00e9couler.\\n\\n`;\n            letterText += `La la\u00efcit\u00e9 doit avant tout garantir la neutralit\u00e9 de l'\u00c9tat, sans restreindre la libert\u00e9 de religion ni fragiliser le tissu social qui unit tant de communaut\u00e9s \u00e0 travers le Qu\u00e9bec. Or, plusieurs des mesures propos\u00e9es dans le rapport Rousseau-Pelchat semblent aller dans une direction contraire. La fin des avantages fiscaux et des subventions accord\u00e9es aux organismes religieux et l'abrogation du crit\u00e8re de la promotion de la religion dans la reconnaissance des organismes de bienfaisance risquent non seulement d'affaiblir nos \u00e9glises, mais aussi de compromettre tout un pan de notre patrimoine collectif.\\n\\n`;\n            letterText += `Au-del\u00e0 de leur vocation religieuse, les \u00e9glises du Qu\u00e9bec constituent des rep\u00e8res culturels, identitaires et historiques profond\u00e9ment enracin\u00e9s dans notre territoire. Ces b\u00e2timents, souvent parmi les plus anciens et les plus embl\u00e9matiques de nos quartiers et de nos villages, t\u00e9moignent du parcours du peuple qu\u00e9b\u00e9cois et fa\u00e7onnent encore aujourd'hui notre paysage. Leur entretien repose d\u00e9j\u00e0 presque enti\u00e8rement sur les \u00e9paules de petits groupes de b\u00e9n\u00e9voles et de citoyens d\u00e9vou\u00e9s qui maintiennent \u00e0 bout de bras (et \u00e0 bout de souffle) ces joyaux patrimoniaux pour le b\u00e9n\u00e9fice de tous. Retirer les exemptions fiscales et remettre en question la reconnaissance des \u0153uvres de bienfaisance reviendrait \u00e0 signer l'arr\u00eat de mort de centaines, voire de milliers, d'\u00e9difices historiques \u2014 et \u00e0 effacer une part essentielle de notre m\u00e9moire collective.\\n\\n`;\n            letterText += `Au-del\u00e0 de la pierre et des clochers, il faut reconna\u00eetre ce que repr\u00e9sente ce vaste r\u00e9seau d'\u00e9glises et de communaut\u00e9s de foi encore pr\u00e9sentes dans chaque ville, village, et quartier du Qu\u00e9bec. Ces institutions sont de v\u00e9ritables moteurs d'entraide sociale, \u00e9conomique, culturelle et identitaire. Elles offrent un point d'ancrage et un tremplin \u00e0 des milliers de Qu\u00e9b\u00e9cois \u2014 tant de souche que nouveaux arrivants \u2014 qui y trouvent accueil, soutien, assistance, \u00e9coute et occasions d'int\u00e9gration.\\n\\n`;\n            letterText += `Les retomb\u00e9es positives de ces lieux d\u00e9passent largement le cadre spirituel (bien que ce dernier n'est pas n\u00e9gligeable). Ces lieux accueillent des organismes communautaires, des groupes culturels, et des services d'aide aux sans-abris, aux gens dans le besoin et aux nouveaux arrivants. Ces centres communautaires de proximit\u00e9 pr\u00eatent leurs locaux et servent de plateforme pour les comptoirs familiaux, les centres d'aide alimentaire, les associations locales, les Scouts, les groupes de jeunes, les Saint-Vincents de Paul, les rencontre des Alcooliques Anonymes, les paniers de no\u00ebl, l'entraide aux sans abris, etc. pour ne nommer que ceux-l\u00e0. Nos \u00e9glises mettent \u00e0 la disposition des communaut\u00e9s locales des multiples salles de rencontres et salles de spectacles pour les artistes locaux et culturels gratuitement ou \u00e0 prix modique, bien en de\u00e7\u00e0 du march\u00e9. Ces espaces sont souvent les seuls endroits accessibles o\u00f9 la population peut se rassembler, cr\u00e9er du lien et b\u00e2tir du sens collectif.\\n\\n`;\n            letterText += `La la\u00efcit\u00e9 de l'\u00c9tat est une valeur importante au Qu\u00e9bec. Mais il serait profond\u00e9ment regrettable d'en venir \u00e0 affaiblir \u2014 voire \u00e0 amputer \u2014 ce r\u00e9seau vivant d'entraide et de solidarit\u00e9 qui contribue toujours, de fa\u00e7on concr\u00e8te, au mieux-\u00eatre de la soci\u00e9t\u00e9 qu\u00e9b\u00e9coise. Retirer ces soutiens au nom d'une conception trop rigide de la la\u00efcit\u00e9 serait non seulement \u00e0 courte vue, mais aussi contraire \u00e0 l'esprit d'\u00e9quilibre et de respect qui devrait guider toute action publique.\\n\\n`;\n            letterText += `Je vous invite donc \u00e0 examiner ces recommandations avec prudence et \u00e0 d\u00e9fendre une approche de la la\u00efcit\u00e9 qui prot\u00e8ge la neutralit\u00e9 de l'\u00c9tat sans compromettre la libert\u00e9 de conscience, la vitalit\u00e9 du tissu communautaire ni la transmission de notre patrimoine commun.\\n\\n`;\n            letterText += `Je vous remercie de votre attention et de votre engagement au service des citoyens du Qu\u00e9bec.\\n\\n`;\n            \n            \/\/ Closing salutation\n            if (selectedMnaGender === 'M' || selectedMnaGender === 'F') {\n            letterText += `Veuillez agr\u00e9er, ${salutation} ${mnaName}, l'expression de mes salutations distingu\u00e9es.\\n\\n`;\n            } else {\n                \/\/ No formal salutation if gender unknown\n                letterText += `Veuillez agr\u00e9er, ${mnaName}, l'expression de mes salutations distingu\u00e9es.\\n\\n`;\n            }\n            \n            \/\/ Add signature with optional city and email\n            letterText += userName;\n            if (userCity) {\n                letterText += '\\n' + userCity;\n            }\n            if (userEmail) {\n                letterText += '\\n' + userEmail;\n            }\n\n            \/\/ Display preview with bold subject line\n            let previewHtml = letterText.replace(\n                \/Objet : Pour une la\u00efcit\u00e9 \u00e9quilibr\u00e9e et respectueuse du patrimoine religieux, culturel et social\/g,\n                '<strong>Objet : Pour une la\u00efcit\u00e9 \u00e9quilibr\u00e9e et respectueuse du patrimoine religieux, culturel et social<\/strong>'\n            );\n            \/\/ Convert line breaks to HTML\n            previewHtml = previewHtml.replace(\/\\n\/g, '<br>');\n            \/\/ Style address block with smaller font\n            previewHtml = previewHtml.replace(\/<<<ADDRESS_START>>>\/g, '<span style=\"font-size: 12px;\">');\n            previewHtml = previewHtml.replace(\/<<<ADDRESS_END>>>\/g, '<\/span>');\n            \n            letterPreview.innerHTML = previewHtml;\n            previewCard.classList.remove('hidden');\n            actionsCard.classList.remove('hidden');\n\n            \/\/ Scroll to preview\n            previewCard.scrollIntoView({ behavior: 'smooth', block: 'start' });\n        });\n\n        \/\/ Duplicate generate button - trigger same function\n        generateBtn2.addEventListener('click', function() {\n            generateBtn.click();\n        });\n\n        \/\/ Copy to clipboard\n        copyBtn.addEventListener('click', function() {\n            \/\/ Remove markers before copying\n            const cleanText = letterText.replace(\/<<<ADDRESS_START>>>\/g, '').replace(\/<<<ADDRESS_END>>>\/g, '');\n            navigator.clipboard.writeText(cleanText).then(function() {\n                const originalText = copyBtn.textContent;\n                copyBtn.textContent = '\u2713 Copi\u00e9!';\n                copyBtn.classList.add('success');\n                setTimeout(function() {\n                    copyBtn.textContent = originalText;\n                    copyBtn.classList.remove('success');\n                }, 2000);\n            }).catch(function(err) {\n                alert('Erreur lors de la copie: ' + err);\n            });\n        });\n\n        \/\/ Email functionality\n        emailBtn.addEventListener('click', function() {\n            const mnaEmail = mnaEmailInput.value.trim();\n            if (!mnaEmail) {\n                alert('Veuillez entrer l\\'adresse courriel du d\u00e9put\u00e9.');\n                return;\n            }\n\n            const subject = 'Pour une la\u00efcit\u00e9 \u00e9quilibr\u00e9e et respectueuse du patrimoine religieux, culturel et social';\n            \/\/ Remove markers before emailing\n            const cleanText = letterText.replace(\/<<<ADDRESS_START>>>\/g, '').replace(\/<<<ADDRESS_END>>>\/g, '');\n            const mailtoLink = 'mailto:' + encodeURIComponent(mnaEmail) + \n                             '?subject=' + encodeURIComponent(subject) + \n                             '&body=' + encodeURIComponent(cleanText);\n            window.location.href = mailtoLink;\n        });\n\n        \/\/ PDF generation\n        pdfBtn.addEventListener('click', function() {\n            const w = window.open('', '_blank');\n            const styles = `\n                <style>\n                    @page {\n                        margin: 20mm;\n                        size: A4;\n                    }\n                    * {\n                        line-height: 1.0 !important;\n                        margin: 0 !important;\n                        padding: 0 !important;\n                    }\n                    body {\n                        font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;\n                        margin: 40px !important;\n                        padding: 0 !important;\n                        color: #111;\n                        line-height: 1.0 !important;\n                        font-size: 14px;\n                        -webkit-text-size-adjust: 100%;\n                    }\n                    .subject-line {\n                        font-weight: bold;\n                        line-height: 1.0 !important;\n                    }\n                    span {\n                        line-height: inherit !important;\n                    }\n                    pre {\n                        line-height: 1.0 !important;\n                        font-family: inherit !important;\n                        white-space: pre-wrap !important;\n                        margin: 0 !important;\n                        padding: 0 !important;\n                    }\n                    @media screen {\n                        * {\n                            line-height: 1.0 !important;\n                        }\n                        body {\n                            line-height: 1.0 !important;\n                        }\n                        pre {\n                            line-height: 1.0 !important;\n                        }\n                    }\n                    @media print {\n                        * {\n                            line-height: 1.0 !important;\n                        }\n                        body { \n                            margin: 0 !important;\n                            line-height: 1.0 !important;\n                        }\n                        pre {\n                            line-height: 1.0 !important;\n                        }\n                        @page {\n                            margin: 20mm;\n                        }\n                    }\n                <\/style>\n            `;\n            \n            \/\/ Format letter text for PDF with bold subject line\n            let pdfText = letterText.replace(\n                \/Objet : Pour une la\u00efcit\u00e9 \u00e9quilibr\u00e9e et respectueuse du patrimoine religieux, culturel et social\/g,\n                '<span class=\"subject-line\">Objet : Pour une la\u00efcit\u00e9 \u00e9quilibr\u00e9e et respectueuse du patrimoine religieux, culturel et social<\/span>'\n            );\n            \/\/ Style address block with smaller font\n            pdfText = pdfText.replace(\/<<<ADDRESS_START>>>\/g, '<span style=\"font-size: 11px; line-height: 1.0;\">');\n            pdfText = pdfText.replace(\/<<<ADDRESS_END>>>\/g, '<\/span>');\n            \n            let html = '<html><head><meta charset=\"utf-8\"><title>Lettre concernant le Rapport Rousseau-Pelchat<\/title>' + styles + '<\/head><body>';\n            html += '<pre style=\"font-family: inherit; white-space: pre-wrap; margin: 0;\">' + pdfText + '<\/pre>';\n            html += '<\/body><\/html>';\n            \n            w.document.write(html);\n            w.document.close();\n            \n            setTimeout(function() {\n                w.print();\n            }, 500);\n        });\n\n        \/\/ Report issue functionality\n        reportIssueBtn.addEventListener('click', function() {\n            const subject = 'Rapport de probl\u00e8me - G\u00e9n\u00e9rateur de Lettre aux D\u00e9put\u00e9s';\n            const body = 'Bonjour,\\n\\nJe vous \u00e9cris pour signaler un probl\u00e8me avec le g\u00e9n\u00e9rateur de lettre aux d\u00e9put\u00e9s:\\n\\n[Veuillez d\u00e9crire le probl\u00e8me ici]\\n\\nMerci!';\n            const mailtoLink = 'mailto:SJBarchives@gmail.com?subject=' + encodeURIComponent(subject) + '&body=' + encodeURIComponent(body);\n            window.location.href = mailtoLink;\n        });\n    })();\n    <\/script>\n\n    <\/p>\n\n\n\n<p class=\"is-style-default wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-6","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/eglisesjb.com\/lettre-depute-provincial\/wp-json\/wp\/v2\/pages\/6","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eglisesjb.com\/lettre-depute-provincial\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/eglisesjb.com\/lettre-depute-provincial\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/eglisesjb.com\/lettre-depute-provincial\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eglisesjb.com\/lettre-depute-provincial\/wp-json\/wp\/v2\/comments?post=6"}],"version-history":[{"count":5,"href":"https:\/\/eglisesjb.com\/lettre-depute-provincial\/wp-json\/wp\/v2\/pages\/6\/revisions"}],"predecessor-version":[{"id":14,"href":"https:\/\/eglisesjb.com\/lettre-depute-provincial\/wp-json\/wp\/v2\/pages\/6\/revisions\/14"}],"wp:attachment":[{"href":"https:\/\/eglisesjb.com\/lettre-depute-provincial\/wp-json\/wp\/v2\/media?parent=6"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}