{"id":1360,"date":"2026-02-01T21:33:11","date_gmt":"2026-02-01T20:33:11","guid":{"rendered":"https:\/\/yeshuaschool.com\/?page_id=1360"},"modified":"2026-04-02T20:52:37","modified_gmt":"2026-04-02T18:52:37","slug":"tombola","status":"publish","type":"page","link":"https:\/\/yeshuaschool.com\/de\/tombola\/","title":{"rendered":"Tombola"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1360\" class=\"elementor elementor-1360\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7cd2df6 e-con-full e-flex e-con e-parent\" data-id=\"7cd2df6\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;slideshow&quot;,&quot;background_slideshow_gallery&quot;:[],&quot;background_slideshow_loop&quot;:&quot;yes&quot;,&quot;background_slideshow_slide_duration&quot;:5000,&quot;background_slideshow_slide_transition&quot;:&quot;fade&quot;,&quot;background_slideshow_transition_duration&quot;:500}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ea595bf elementor-widget elementor-widget-spacer\" data-id=\"ea595bf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-dfbc139 e-con-full e-flex e-con e-child\" data-id=\"dfbc139\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;video&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6631e94 elementor-widget elementor-widget-heading\" data-id=\"6631e94\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">GRANDE TOMBOLA<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c8c9670 elementor-widget elementor-widget-heading\" data-id=\"c8c9670\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h6 class=\"elementor-heading-title elementor-size-default\">Dans le cadre de la cr\u00e9ation d'une \u00e9cole publique, nous organisons un concours \u00e0 participation cr\u00e9ative assorti d'une vente, destin\u00e9 \u00e0 collecter les fonds n\u00e9cessaires \u00e0 l'ouverture d'un \u00e9tablissement accessible \u00e0 tous.\nNotre ambition est claire : offrir un enseignement de qualit\u00e9 \u00e0 chaque enfant. En participant \u00e0 ce concours, vous soutenez directement la r\u00e9alisation d'un projet \u00e9ducatif ambitieux, innovant et profond\u00e9ment inclusif.\nChaque ticket achet\u00e9 nous rapproche de cet objectif : permettre \u00e0 tous les enfants de b\u00e9n\u00e9ficier d'une \u00e9cole accueillante, ouverte et \u00e9quitable.\n<\/h6>\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-bc737f6 e-flex e-con-boxed e-con e-child\" data-id=\"bc737f6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-5ca7c23 e-con-full e-flex e-con e-child\" data-id=\"5ca7c23\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;slideshow&quot;,&quot;background_slideshow_gallery&quot;:[],&quot;background_slideshow_loop&quot;:&quot;yes&quot;,&quot;background_slideshow_slide_duration&quot;:5000,&quot;background_slideshow_slide_transition&quot;:&quot;fade&quot;,&quot;background_slideshow_transition_duration&quot;:500}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fdb461e elementor-widget elementor-widget-heading\" data-id=\"fdb461e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Gagnez une Audi Q3<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b64c384 e-con-full e-flex e-con e-child\" data-id=\"b64c384\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0aa4e5d elementor-widget elementor-widget-heading\" data-id=\"0aa4e5d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h6 class=\"elementor-heading-title elementor-size-default\"> \u00e0 partir de 6 \u20ac<\/h6>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c300645 e-flex e-con-boxed e-con e-child\" data-id=\"c300645\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-01818f9 e-con-full e-flex e-con e-child\" data-id=\"01818f9\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-3161bdb e-grid e-con-full e-con e-child\" data-id=\"3161bdb\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;slideshow&quot;,&quot;background_slideshow_gallery&quot;:[],&quot;background_slideshow_loop&quot;:&quot;yes&quot;,&quot;background_slideshow_slide_duration&quot;:5000,&quot;background_slideshow_slide_transition&quot;:&quot;fade&quot;,&quot;background_slideshow_transition_duration&quot;:500}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-73a43bd elementor-widget elementor-widget-image\" data-id=\"73a43bd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" width=\"980\" height=\"653\"  class=\"attachment-large size-large wp-image-3680 lws-optimize-lazyload\" alt=\"\" srcset=\"https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/audi-q3-profile.jpg 980w, https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/audi-q3-profile-300x200.jpg 300w, https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/audi-q3-profile-768x512.jpg 768w, https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/audi-q3-profile-18x12.jpg 18w\" sizes=\"(max-width: 980px) 100vw, 980px\" \/ data-src=\"https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/audi-q3-profile.jpg\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-02e6359 elementor-widget elementor-widget-image\" data-id=\"02e6359\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img width=\"980\" height=\"653\"  class=\"attachment-large size-large wp-image-3568 lws-optimize-lazyload\" alt=\"2022 audi q3 premium 45 119 64b19da0646ad\" srcset=\"https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/2022-audi-q3-premium-45-119-64b19da0646ad.webp 980w, https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/2022-audi-q3-premium-45-119-64b19da0646ad-300x200.webp 300w, https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/2022-audi-q3-premium-45-119-64b19da0646ad-768x512.webp 768w, https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/2022-audi-q3-premium-45-119-64b19da0646ad-18x12.webp 18w, https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/2022-audi-q3-premium-45-119-64b19da0646ad-600x400.webp 600w\" sizes=\"(max-width: 980px) 100vw, 980px\" \/ data-src=\"https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/2022-audi-q3-premium-45-119-64b19da0646ad.webp\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7d48a39 elementor-widget elementor-widget-image\" data-id=\"7d48a39\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img width=\"980\" height=\"653\"  class=\"attachment-large size-large wp-image-3565 lws-optimize-lazyload\" alt=\"2022 audi q3 premium 45 111 64b19d9eea6ee\" srcset=\"https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/2022-audi-q3-premium-45-111-64b19d9eea6ee.webp 980w, https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/2022-audi-q3-premium-45-111-64b19d9eea6ee-300x200.webp 300w, https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/2022-audi-q3-premium-45-111-64b19d9eea6ee-768x512.webp 768w, https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/2022-audi-q3-premium-45-111-64b19d9eea6ee-18x12.webp 18w, https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/2022-audi-q3-premium-45-111-64b19d9eea6ee-600x400.webp 600w\" sizes=\"(max-width: 980px) 100vw, 980px\" \/ data-src=\"https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/2022-audi-q3-premium-45-111-64b19d9eea6ee.webp\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-11add44 elementor-widget elementor-widget-image\" data-id=\"11add44\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" width=\"980\" height=\"653\"  class=\"attachment-large size-large wp-image-3563 lws-optimize-lazyload\" alt=\"2022 audi q3 premium 45 101 64b19d9d9cfbd\" srcset=\"https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/2022-audi-q3-premium-45-101-64b19d9d9cfbd.webp 980w, https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/2022-audi-q3-premium-45-101-64b19d9d9cfbd-300x200.webp 300w, https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/2022-audi-q3-premium-45-101-64b19d9d9cfbd-768x512.webp 768w, https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/2022-audi-q3-premium-45-101-64b19d9d9cfbd-18x12.webp 18w, https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/2022-audi-q3-premium-45-101-64b19d9d9cfbd-600x400.webp 600w\" sizes=\"(max-width: 980px) 100vw, 980px\" \/ data-src=\"https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/2022-audi-q3-premium-45-101-64b19d9d9cfbd.webp\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-96f7c93 elementor-widget elementor-widget-shortcode\" data-id=\"96f7c93\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <div class=\"tombola-wrapper\"><\/div>\n\n    <style>\n        .tombola-wrapper{max-width:1200px;margin:20px auto;padding:20px}\n        .tombola-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,0.1);padding:24px;margin-bottom:24px}\n        .tombola-header{background:#0067FF;color:white;border-radius:12px;padding:24px;margin-bottom:24px}\n        .tombola-button{background:#7C3AED;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;width:100%;transition:all 0.3s}\n        .tombola-button:hover{background:#6D28D9;transform:translateY(-2px)}\n        .tombola-button:disabled{opacity:.5;cursor:not-allowed;transform:none}\n        .tombola-input{width:100%;padding:12px;border:2px solid #E5E7EB;border-radius:8px;font-size:16px;margin-bottom:16px;box-sizing:border-box}\n        .tombola-input:focus{outline:none;border-color:#7C3AED}\n        .tombola-alert{padding:16px;border-radius:8px;margin-bottom:16px}\n        .tombola-alert-success{background:#D1FAE5;border:2px solid #10B981;color:#065F46}\n        .tombola-alert-error{background:#FEE2E2;border:2px solid #EF4444;color:#991B1B}\n        .tombola-alert-info{background:#DBEAFE;border:2px solid #3B82F6;color:#1E40AF}\n        .tombola-alert-warning{background:#FEF3C7;border:2px solid #F59E0B;color:#78350F}\n        .tombola-checkbox{width:20px;height:20px;cursor:pointer;margin-right:8px}\n        #paypal-button-container{min-height:50px;margin-bottom:16px}\n        .tombola-admin-icon{position:fixed;bottom:20px;right:20px;background:#7C3AED;color:white;width:50px;height:50px;border-radius:50%;display:none;align-items:center;justify-content:center;cursor:pointer;font-size:20px;box-shadow:0 4px 12px rgba(124,58,237,.4);z-index:1000}\n        .payment-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}\n        .payment-tab{flex:0 0 auto;padding:10px 18px;border:2px solid #E5E7EB;border-radius:8px;background:#fff;cursor:pointer;font-size:14px;font-weight:600;text-align:center;transition:all .2s;white-space:nowrap}\n        .payment-tab.active{border-color:#7C3AED;background:#EDE9FE;color:#7C3AED}\n        .payment-tab:hover{border-color:#A78BFA}\n        #stripe-card-slot{padding:12px;border:2px solid #E5E7EB;border-radius:8px;background:#fff;margin-bottom:16px;min-height:46px}\n        #stripe-card-error{color:#991B1B;font-size:14px;margin-bottom:12px;min-height:20px}\n        .stripe-icons{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}\n        .stripe-icons span{background:#F3F4F6;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}\n        .gpay-apple-info{background:#F0FDF4;border:1px solid #BBF7D0;padding:12px;border-radius:8px;margin-bottom:12px;font-size:13px;color:#065F46}\n        #payment-request-button{margin-bottom:12px}\n        .ticket-numbers-box{background:#A7F3D0;border:2px solid #10B981;padding:14px 18px;border-radius:8px;margin:12px 0;font-weight:700;color:#065F46;font-size:15px;word-break:break-all}\n        .tombola-loading{text-align:center;padding:20px;color:#6B7280;font-size:14px}\n    <\/style>\n\n    <script>\n    var TOMBOLA_IS_ADMIN   = false;\n    var TOMBOLA_AJAXURL    = \"https:\/\/yeshuaschool.com\/wp-admin\/admin-ajax.php\";\n    var TOMBOLA_NONCE      = \"86804ad9d2\";\n    var TOMBOLA_STRIPE_KEY = \"pk_live_51RpTJBRLb9R2lxuWKcONspkbMP3PrrBebqLAEXXlFF3VRAtPkyaX86oH8SzXEa9MgO5BA9ySDUSR6bxBinYaeBP000Pg7TfsuT\";\n    var TOMBOLA_PAYPAL_ID  = \"AXQwMdaLWXnjmKJFILw6-OG80wVP01aqcaznali_GCh37gpPIRqlmeNUMDX9Ov9v6mnasvps_pX7mYxd\";\n\n    (function () {\n        var TRANSLATIONS = {\n            fr: {\n                tryYourLuck:\"Tentez votre chance\",numbersAssigned:\"Num\u00e9ros attribu\u00e9s automatiquement\",winAudi:\"Gagnez une Audi Q3 !\",\n                pricePerTicket:\"Prix par billet\",deadline:\"\u23f0 Date limite : 31 octobre 2026\",draw:\"Tirage au sort : 1er novembre 2026\",\n                salesClosed:\"\u23f0 Ventes termin\u00e9es\",salesClosedMsg:\"Les ventes se sont termin\u00e9es le 31 octobre 2026.\",\n                drawWillBe:\"Le tirage au sort aura lieu le \",buyTickets:\"Acheter des billets\",numberOfTickets:\"Nombre de billets\",\n                total:\"Total\",name:\"Nom *\",email:\"Email *\",phone:\"T\u00e9l\u00e9phone *\",\n                certifyAge:\"* Je certifie avoir au moins 18 ans\",acceptRules:\"* J'accepte le r\u00e8glement de la tombola et les CGV\",\n                mandatoryQuestion:\"* Question obligatoire :\",howManyLanguages:\"Combien de langues sont enseign\u00e9es \u00e0 Yeshua School ?\",\n                chooseAnswer:\"-- Choisissez une r\u00e9ponse --\",languages2:\"2 langues\",languages3:\"3 langues\",languages4:\"4 langues\",\n                proceedPayment:\"Proc\u00e9der au paiement\",payment:\"Paiement\",ticketsReserved:\"Billets r\u00e9serv\u00e9s :\",\n                number:\"Nombre\",ticket:\"billet(s)\",numbersSentEmail:\"Vos num\u00e9ros vous seront envoy\u00e9s par email\",\n                tickets:\"Billets\",payNow:\"Payer maintenant\",cancel:\"Annuler\",purchaseSuccess:\"\u2705 Achat r\u00e9ussi !\",\n                ticketsPurchased:\"Nombre de billets achet\u00e9s :\",amount:\"Montant :\",yourNumbers:\"\ud83c\udf9f\ufe0f Vos num\u00e9ros de billets :\",\n                emailSent:\"\ud83d\udce7 Un email de confirmation vous a \u00e9t\u00e9 envoy\u00e9 avec vos num\u00e9ros\",\n                errorSalesClosed:\"Les ventes sont ferm\u00e9es depuis le 31 octobre 2026\",\n                errorFillFields:\"Veuillez remplir nom, email et t\u00e9l\u00e9phone\",errorConfirmAge:\"Vous devez confirmer avoir au moins 18 ans\",\n                errorAcceptRules:\"Vous devez accepter le r\u00e8glement\",errorAnswerQuestion:\"Veuillez r\u00e9pondre \u00e0 la question obligatoire\",\n                errorNotEnough:\"Plus assez de billets disponibles\",errorPaypal:\"Erreur PayPal. Veuillez r\u00e9essayer.\",\n                errorStripe:\"Erreur de paiement. Veuillez r\u00e9essayer.\",administration:\"Administration\",back:\"Retour\",\n                totalTickets:\"Total\",sold:\"Vendus\",available:\"Disponibles\",revenue:\"Recettes\",\n                downloadCSV:\"\ud83d\udce5 T\u00e9l\u00e9charger la liste des participants (CSV)\",drawLottery:\"Tirage au sort\",\n                winner:\"GAGNANT\",ticketNo:\"Billet N\u00b0\",drawNow:\"Tirer au sort\",noTicketSold:\"Aucun billet vendu\",\n                lastTicketsSold:\"Derniers billets vendus (\",andOthers:\"... et \",others:\" autres\",\n                incorrectPassword:\"Mot de passe incorrect\",enterPassword:\"Mot de passe :\",\n                choosePayment:\"Choisissez votre moyen de paiement\",payWithPaypal:\"PayPal\",\n                payWithCard:\"Carte bancaire\",payWithGoogleApple:\"Google Pay \/ Apple Pay\",payWithBancontact:\"Bancontact\",\n                bancontactRedirect:\"Vous allez \u00eatre redirig\u00e9(e) vers Bancontact pour finaliser le paiement.\",\n                payBancontact:\"Payer avec Bancontact\",cardDetails:\"D\u00e9tails de la carte\",paySecurely:\"\ud83d\udcb3 Payer en s\u00e9curit\u00e9\",\n                gpayAppleInfo:\"\u2705 Google Pay et Apple Pay sont disponibles si votre navigateur les supporte\",\n                processing:\"Traitement en cours...\",reserving:\"R\u00e9servation en cours...\",\n                verifyingPayment:\"V\u00e9rification du paiement en cours...\",\n                paymentCancelled:\"Paiement annul\u00e9 ou non compl\u00e9t\u00e9.\",\n                paymentError:\"Erreur lors de la v\u00e9rification du paiement.\"\n            },\n            nl: {\n                tryYourLuck:\"Waag uw kans\",numbersAssigned:\"Nummers automatisch toegewezen\",winAudi:\"Win een Audi Q3!\",\n                pricePerTicket:\"Prijs per lot\",deadline:\"\u23f0 Deadline: 31 oktober 2026\",draw:\"Trekking: 1 november 2026\",\n                salesClosed:\"\u23f0 Verkoop gesloten\",salesClosedMsg:\"De verkoop is be\u00ebindigd op 31 oktober 2026.\",\n                drawWillBe:\"De trekking vindt plaats op \",buyTickets:\"Loten kopen\",numberOfTickets:\"Aantal loten\",\n                total:\"Totaal\",name:\"Naam *\",email:\"E-mail *\",phone:\"Telefoon *\",\n                certifyAge:\"* Ik bevestig dat ik minstens 18 jaar oud ben\",acceptRules:\"* Ik accepteer het reglement van de tombola en de algemene voorwaarden\",\n                mandatoryQuestion:\"* Verplichte vraag:\",howManyLanguages:\"Hoeveel talen worden er onderwezen aan Yeshua School?\",\n                chooseAnswer:\"-- Kies een antwoord --\",languages2:\"2 talen\",languages3:\"3 talen\",languages4:\"4 talen\",\n                proceedPayment:\"Doorgaan naar betaling\",payment:\"Betaling\",ticketsReserved:\"Gereserveerde loten:\",\n                number:\"Aantal\",ticket:\"lot(en)\",numbersSentEmail:\"Uw nummers worden per e-mail verzonden\",\n                tickets:\"Loten\",payNow:\"Nu betalen\",cancel:\"Annuleren\",purchaseSuccess:\"\u2705 Aankoop geslaagd!\",\n                ticketsPurchased:\"Aantal gekochte loten:\",amount:\"Bedrag:\",yourNumbers:\"\ud83c\udf9f\ufe0f Uw lotnummers:\",\n                emailSent:\"\ud83d\udce7 Een bevestigingsmail is naar u verzonden met uw nummers\",\n                errorSalesClosed:\"De verkoop is gesloten sinds 31 oktober 2026\",\n                errorFillFields:\"Vul a.u.b. naam, e-mail en telefoonnummer in\",errorConfirmAge:\"U moet bevestigen dat u minstens 18 jaar oud bent\",\n                errorAcceptRules:\"U moet het reglement accepteren\",errorAnswerQuestion:\"Beantwoord a.u.b. de verplichte vraag\",\n                errorNotEnough:\"Niet genoeg loten beschikbaar\",errorPaypal:\"PayPal-fout. Probeer het opnieuw.\",\n                errorStripe:\"Betalingsfout. Probeer het opnieuw.\",administration:\"Administratie\",back:\"Terug\",\n                totalTickets:\"Totaal\",sold:\"Verkocht\",available:\"Beschikbaar\",revenue:\"Inkomsten\",\n                downloadCSV:\"\ud83d\udce5 Download deelnemerslijst (CSV)\",drawLottery:\"Loting\",\n                winner:\"WINNAAR\",ticketNo:\"Lot nr.\",drawNow:\"Nu trekken\",noTicketSold:\"Geen loten verkocht\",\n                lastTicketsSold:\"Laatst verkochte loten (\",andOthers:\"... en \",others:\" anderen\",\n                incorrectPassword:\"Incorrect wachtwoord\",enterPassword:\"Wachtwoord:\",\n                choosePayment:\"Kies uw betaalmethode\",payWithPaypal:\"PayPal\",\n                payWithCard:\"Bankkaart\",payWithGoogleApple:\"Google Pay \/ Apple Pay\",payWithBancontact:\"Bancontact\",\n                bancontactRedirect:\"U wordt doorgestuurd naar Bancontact om de betaling te voltooien.\",\n                payBancontact:\"Betalen met Bancontact\",cardDetails:\"Kaartgegevens\",paySecurely:\"\ud83d\udcb3 Veilig betalen\",\n                gpayAppleInfo:\"\u2705 Google Pay en Apple Pay zijn beschikbaar als uw browser dit ondersteunt\",\n                processing:\"Verwerking...\",reserving:\"Reserveren...\",\n                verifyingPayment:\"Betaling wordt geverifieerd...\",\n                paymentCancelled:\"Betaling geannuleerd of niet voltooid.\",\n                paymentError:\"Fout bij verificatie van betaling.\"\n            },\n            en: {\n                tryYourLuck:\"Try your luck\",numbersAssigned:\"Numbers automatically assigned\",winAudi:\"Win an Audi Q3!\",\n                pricePerTicket:\"Price per ticket\",deadline:\"\u23f0 Deadline: October 31, 2026\",draw:\"Draw: November 1, 2026\",\n                salesClosed:\"\u23f0 Sales closed\",salesClosedMsg:\"Sales ended on October 31, 2026.\",\n                drawWillBe:\"The draw will take place on \",buyTickets:\"Buy tickets\",numberOfTickets:\"Number of tickets\",\n                total:\"Total\",name:\"Name *\",email:\"Email *\",phone:\"Phone *\",\n                certifyAge:\"* I certify that I am at least 18 years old\",acceptRules:\"* I accept the raffle rules and terms and conditions\",\n                mandatoryQuestion:\"* Mandatory question:\",howManyLanguages:\"How many languages are taught at Yeshua School?\",\n                chooseAnswer:\"-- Choose an answer --\",languages2:\"2 languages\",languages3:\"3 languages\",languages4:\"4 languages\",\n                proceedPayment:\"Proceed to payment\",payment:\"Payment\",ticketsReserved:\"Reserved tickets:\",\n                number:\"Number\",ticket:\"ticket(s)\",numbersSentEmail:\"Your numbers will be sent to you by email\",\n                tickets:\"Tickets\",payNow:\"Pay now\",cancel:\"Cancel\",purchaseSuccess:\"\u2705 Purchase successful!\",\n                ticketsPurchased:\"Number of tickets purchased:\",amount:\"Amount:\",yourNumbers:\"\ud83c\udf9f\ufe0f Your ticket numbers:\",\n                emailSent:\"\ud83d\udce7 A confirmation email has been sent to you with your numbers\",\n                errorSalesClosed:\"Sales have been closed since October 31, 2026\",\n                errorFillFields:\"Please fill in name, email and phone\",errorConfirmAge:\"You must confirm you are at least 18 years old\",\n                errorAcceptRules:\"You must accept the rules\",errorAnswerQuestion:\"Please answer the mandatory question\",\n                errorNotEnough:\"Not enough tickets available\",errorPaypal:\"PayPal error. Please try again.\",\n                errorStripe:\"Payment error. Please try again.\",administration:\"Administration\",back:\"Back\",\n                totalTickets:\"Total\",sold:\"Sold\",available:\"Available\",revenue:\"Revenue\",\n                downloadCSV:\"\ud83d\udce5 Download participants list (CSV)\",drawLottery:\"Lottery draw\",\n                winner:\"WINNER\",ticketNo:\"Ticket No.\",drawNow:\"Draw now\",noTicketSold:\"No tickets sold\",\n                lastTicketsSold:\"Last tickets sold (\",andOthers:\"... and \",others:\" others\",\n                incorrectPassword:\"Incorrect password\",enterPassword:\"Password:\",\n                choosePayment:\"Choose your payment method\",payWithPaypal:\"PayPal\",\n                payWithCard:\"Credit \/ Debit card\",payWithGoogleApple:\"Google Pay \/ Apple Pay\",payWithBancontact:\"Bancontact\",\n                bancontactRedirect:\"You will be redirected to Bancontact to complete the payment.\",\n                payBancontact:\"Pay with Bancontact\",cardDetails:\"Card details\",paySecurely:\"\ud83d\udcb3 Pay securely\",\n                gpayAppleInfo:\"\u2705 Google Pay and Apple Pay available if your browser supports it\",\n                processing:\"Processing...\",reserving:\"Reserving...\",\n                verifyingPayment:\"Verifying payment...\",\n                paymentCancelled:\"Payment cancelled or not completed.\",\n                paymentError:\"Error verifying payment.\"\n            },\n            de: {\n                tryYourLuck:\"Versuchen Sie Ihr Gl\u00fcck\",numbersAssigned:\"Nummern werden automatisch zugewiesen\",winAudi:\"Gewinnen Sie einen Audi Q3!\",\n                pricePerTicket:\"Preis pro Los\",deadline:\"\u23f0 Frist: 31. Oktober 2026\",draw:\"Ziehung: 1. November 2026\",\n                salesClosed:\"\u23f0 Verkauf geschlossen\",salesClosedMsg:\"Der Verkauf endete am 31. Oktober 2026.\",\n                drawWillBe:\"Die Ziehung findet statt am \",buyTickets:\"Lose kaufen\",numberOfTickets:\"Anzahl der Lose\",\n                total:\"Gesamt\",name:\"Name *\",email:\"E-Mail *\",phone:\"Telefon *\",\n                certifyAge:\"* Ich best\u00e4tige, dass ich mindestens 18 Jahre alt bin\",acceptRules:\"* Ich akzeptiere die Tombola-Regeln und die AGB\",\n                mandatoryQuestion:\"* Pflichtfrage:\",howManyLanguages:\"Wie viele Sprachen werden an der Yeshua School unterrichtet?\",\n                chooseAnswer:\"-- Antwort w\u00e4hlen --\",languages2:\"2 Sprachen\",languages3:\"3 Sprachen\",languages4:\"4 Sprachen\",\n                proceedPayment:\"Zur Zahlung\",payment:\"Zahlung\",ticketsReserved:\"Reservierte Lose:\",\n                number:\"Anzahl\",ticket:\"Los(e)\",numbersSentEmail:\"Ihre Nummern werden Ihnen per E-Mail zugesandt\",\n                tickets:\"Lose\",payNow:\"Jetzt bezahlen\",cancel:\"Abbrechen\",purchaseSuccess:\"\u2705 Kauf erfolgreich!\",\n                ticketsPurchased:\"Anzahl gekaufter Lose:\",amount:\"Betrag:\",yourNumbers:\"\ud83c\udf9f\ufe0f Ihre Losnummern:\",\n                emailSent:\"\ud83d\udce7 Eine Best\u00e4tigungs-E-Mail wurde mit Ihren Nummern an Sie gesendet\",\n                errorSalesClosed:\"Der Verkauf ist seit dem 31. Oktober 2026 geschlossen\",\n                errorFillFields:\"Bitte Name, E-Mail und Telefonnummer ausf\u00fcllen\",errorConfirmAge:\"Sie m\u00fcssen best\u00e4tigen mindestens 18 zu sein\",\n                errorAcceptRules:\"Sie m\u00fcssen die Regeln akzeptieren\",errorAnswerQuestion:\"Bitte beantworten Sie die Pflichtfrage\",\n                errorNotEnough:\"Nicht genug Lose verf\u00fcgbar\",errorPaypal:\"PayPal-Fehler. Bitte versuchen Sie es erneut.\",\n                errorStripe:\"Zahlungsfehler. Bitte versuchen Sie es erneut.\",administration:\"Verwaltung\",back:\"Zur\u00fcck\",\n                totalTickets:\"Gesamt\",sold:\"Verkauft\",available:\"Verf\u00fcgbar\",revenue:\"Einnahmen\",\n                downloadCSV:\"\ud83d\udce5 Teilnehmerliste herunterladen (CSV)\",drawLottery:\"Auslosung\",\n                winner:\"GEWINNER\",ticketNo:\"Los Nr.\",drawNow:\"Jetzt ziehen\",noTicketSold:\"Keine Lose verkauft\",\n                lastTicketsSold:\"Zuletzt verkaufte Lose (\",andOthers:\"... und \",others:\" andere\",\n                incorrectPassword:\"Falsches Passwort\",enterPassword:\"Passwort:\",\n                choosePayment:\"W\u00e4hlen Sie Ihre Zahlungsmethode\",payWithPaypal:\"PayPal\",\n                payWithCard:\"Bankkarte\",payWithGoogleApple:\"Google Pay \/ Apple Pay\",payWithBancontact:\"Bancontact\",\n                bancontactRedirect:\"Sie werden zu Bancontact weitergeleitet, um die Zahlung abzuschlie\u00dfen.\",\n                payBancontact:\"Mit Bancontact bezahlen\",cardDetails:\"Kartendetails\",paySecurely:\"\ud83d\udcb3 Sicher bezahlen\",\n                gpayAppleInfo:\"\u2705 Google Pay und Apple Pay verf\u00fcgbar wenn Ihr Browser es unterst\u00fctzt\",\n                processing:\"Wird verarbeitet...\",reserving:\"Reservierung...\",\n                verifyingPayment:\"Zahlung wird \u00fcberpr\u00fcft...\",\n                paymentCancelled:\"Zahlung abgebrochen oder nicht abgeschlossen.\",\n                paymentError:\"Fehler bei der Zahlungs\u00fcberpr\u00fcfung.\"\n            },\n            sv: {\n                tryYourLuck:\"Testa lyckan\",numbersAssigned:\"Nummer tilldelas automatiskt\",winAudi:\"Vinn en Audi Q3!\",\n                pricePerTicket:\"Pris per lott\",deadline:\"\u23f0 Sista datum: 31 oktober 2026\",draw:\"Dragning: 1 november 2026\",\n                salesClosed:\"\u23f0 F\u00f6rs\u00e4ljningen avslutad\",salesClosedMsg:\"F\u00f6rs\u00e4ljningen avslutades den 31 oktober 2026.\",\n                drawWillBe:\"Dragningen \u00e4ger rum den \",buyTickets:\"K\u00f6pa biljetter\",numberOfTickets:\"Antal biljetter\",\n                total:\"Totalt\",name:\"Namn *\",email:\"E-post *\",phone:\"Telefon *\",\n                certifyAge:\"* Jag intygar att jag \u00e4r minst 18 \u00e5r gammal\",acceptRules:\"* Jag accepterar tombolans regler och allm\u00e4nna villkor\",\n                mandatoryQuestion:\"* Obligatorisk fr\u00e5ga:\",howManyLanguages:\"Hur m\u00e5nga spr\u00e5k undervisas p\u00e5 Yeshua School?\",\n                chooseAnswer:\"-- V\u00e4lj ett svar --\",languages2:\"2 spr\u00e5k\",languages3:\"3 spr\u00e5k\",languages4:\"4 spr\u00e5k\",\n                proceedPayment:\"G\u00e5 till betalning\",payment:\"Betalning\",ticketsReserved:\"Reserverade biljetter:\",\n                number:\"Antal\",ticket:\"biljett(er)\",numbersSentEmail:\"Dina nummer skickas till dig via e-post\",\n                tickets:\"Biljetter\",payNow:\"Betala nu\",cancel:\"Avbryt\",purchaseSuccess:\"\u2705 K\u00f6p genomf\u00f6rt!\",\n                ticketsPurchased:\"Antal k\u00f6pta biljetter:\",amount:\"Belopp:\",yourNumbers:\"\ud83c\udf9f\ufe0f Dina lottnummer:\",\n                emailSent:\"\ud83d\udce7 Ett bekr\u00e4ftelsemail har skickats till dig med dina nummer\",\n                errorSalesClosed:\"F\u00f6rs\u00e4ljningen har st\u00e4ngt sedan den 31 oktober 2026\",\n                errorFillFields:\"V\u00e4nligen fyll i namn, e-post och telefon\",errorConfirmAge:\"Du m\u00e5ste bekr\u00e4fta att du \u00e4r minst 18 \u00e5r gammal\",\n                errorAcceptRules:\"Du m\u00e5ste acceptera reglerna\",errorAnswerQuestion:\"V\u00e4nligen svara p\u00e5 den obligatoriska fr\u00e5gan\",\n                errorNotEnough:\"Inte tillr\u00e4ckligt med biljetter tillg\u00e4ngliga\",errorPaypal:\"PayPal-fel. F\u00f6rs\u00f6k igen.\",\n                errorStripe:\"Betalningsfel. F\u00f6rs\u00f6k igen.\",administration:\"Administration\",back:\"Tillbaka\",\n                totalTickets:\"Totalt\",sold:\"S\u00e5lda\",available:\"Tillg\u00e4ngliga\",revenue:\"Int\u00e4kter\",\n                downloadCSV:\"\ud83d\udce5 Ladda ner deltagarlistan (CSV)\",drawLottery:\"Lottdragning\",\n                winner:\"VINNARE\",ticketNo:\"Lott nr.\",drawNow:\"Dra nu\",noTicketSold:\"Inga biljetter s\u00e5lda\",\n                lastTicketsSold:\"Senast s\u00e5lda biljetter (\",andOthers:\"... och \",others:\" andra\",\n                incorrectPassword:\"Felaktigt l\u00f6senord\",enterPassword:\"L\u00f6senord:\",\n                choosePayment:\"V\u00e4lj betalningsmetod\",payWithPaypal:\"PayPal\",\n                payWithCard:\"Bankkort\",payWithGoogleApple:\"Google Pay \/ Apple Pay\",payWithBancontact:\"Bancontact\",\n                bancontactRedirect:\"Du kommer att omdirigeras till Bancontact f\u00f6r att slutf\u00f6ra betalningen.\",\n                payBancontact:\"Betala med Bancontact\",cardDetails:\"Kortuppgifter\",paySecurely:\"\ud83d\udcb3 Betala s\u00e4kert\",\n                gpayAppleInfo:\"\u2705 Google Pay och Apple Pay \u00e4r tillg\u00e4ngliga om din webbl\u00e4sare st\u00f6der det\",\n                processing:\"Bearbetar...\",reserving:\"Reserverar...\",\n                verifyingPayment:\"Verifierar betalning...\",\n                paymentCancelled:\"Betalning avbruten eller ej slutf\u00f6rd.\",\n                paymentError:\"Fel vid verifiering av betalning.\"\n            }\n        };\n\n        function getLang() {\n            var l = document.documentElement.lang || '';\n            if (l.startsWith('nl')) return 'nl';\n            if (l.startsWith('en')) return 'en';\n            if (l.startsWith('de')) return 'de';\n            if (l.startsWith('sv')) return 'sv';\n            var p = window.location.pathname;\n            if (p.indexOf('\/nl') !== -1) return 'nl';\n            if (p.indexOf('\/en') !== -1) return 'en';\n            if (p.indexOf('\/de') !== -1) return 'de';\n            if (p.indexOf('\/sv') !== -1) return 'sv';\n            return 'fr';\n        }\n        var t = TRANSLATIONS[getLang()];\n\n        var CONFIG = {\n            ticket_price:  6,\n            max_tickets:   2000,\n            sales_end_date:\"2026-10-31 23:59:59\",\n            draw_date:     t.draw\n        };\n\n        function isSalesClosed() { return new Date() > new Date(CONFIG.sales_end_date); }\n\n        var stripeInstance = null, stripeCard = null, stripeElements = null;\n        var stripeCardMounted = false, stripeCardReady = false;\n\n        function getStripe() {\n            if (!stripeInstance && typeof Stripe !== 'undefined') stripeInstance = Stripe(TOMBOLA_STRIPE_KEY);\n            return stripeInstance;\n        }\n\n        function mountStripeCard() {\n            var stripe = getStripe();\n            if (!stripe) { setTimeout(mountStripeCard, 300); return; }\n            var slot = document.getElementById('stripe-card-slot');\n            if (!slot) { setTimeout(mountStripeCard, 100); return; }\n            if (!stripeElements) stripeElements = stripe.elements();\n            if (!stripeCard) {\n                stripeCard = stripeElements.create('card', {\n                    style:{ base:{ fontSize:'16px', color:'#333', '::placeholder':{ color:'#9CA3AF' } }, invalid:{ color:'#EF4444' } },\n                    hidePostalCode: true, disableLink: true\n                });\n                stripeCard.on('ready', function() {\n                    stripeCardReady = true;\n                    var btn = document.getElementById('stripe-submit-btn');\n                    if (btn) { btn.disabled = false; btn.textContent = t.paySecurely; }\n                });\n                stripeCard.on('change', function(e) {\n                    var el = document.getElementById('stripe-card-error');\n                    if (el) el.textContent = e.error ? e.error.message : '';\n                });\n            }\n            if (!stripeCardMounted) {\n                var btn = document.getElementById('stripe-submit-btn');\n                if (btn) { btn.disabled = true; btn.textContent = '\u23f3 Chargement...'; }\n                stripeCardReady = false;\n                stripeCard.mount('#stripe-card-slot');\n                stripeCardMounted = true;\n            }\n        }\n\n        function unmountStripeCard() {\n            if (stripeCard && stripeCardMounted) { stripeCard.unmount(); stripeCardMounted = false; stripeCardReady = false; }\n        }\n\n        function ajaxPost(data) {\n            data.append('nonce', TOMBOLA_NONCE);\n            return fetch(TOMBOLA_AJAXURL, { method:'POST', body:data }).then(function(r) { return r.json(); });\n        }\n\n        function App() {\n            this.s = {\n                view:'client', qty:1,\n                info:{ name:'', email:'', phone:'' },\n                checkout:false, paymentTab:'bancontact',\n                error:null, success:null,\n                ageConfirmed:false, rulesAccepted:false, quizAnswer:'',\n                winner:null, adminStats:null,\n                adminToken:null,\n                loading:false\n            };\n\n            var urlParams = new URLSearchParams(window.location.search);\n            if (urlParams.get('tombola_bancontact') === '1') {\n                this.handleBancontactReturn(urlParams);\n            } else {\n                this.render();\n            }\n        }\n\n        App.prototype.handleBancontactReturn = function(urlParams) {\n            var self = this;\n            var redirectStatus   = urlParams.get('redirect_status');\n            var paymentIntentId  = urlParams.get('payment_intent');\n            var sessionToken     = urlParams.get('session_token');\n\n            window.history.replaceState({}, '', window.location.pathname);\n\n            if (redirectStatus !== 'succeeded') {\n                self.s.error = t.paymentCancelled;\n                self.render();\n                return;\n            }\n\n            if (!paymentIntentId || !sessionToken) {\n                self.s.error = t.paymentError;\n                self.render();\n                return;\n            }\n\n            self.s.loading = true;\n            self.render();\n\n            var fd = new FormData();\n            fd.append('action',             'tombola_verify_bancontact');\n            fd.append('payment_intent_id',  paymentIntentId);\n            fd.append('session_token',      sessionToken);\n\n            ajaxPost(fd)\n                .then(function(data) {\n                    self.s.loading = false;\n                    if (data.success && data.data) {\n                        self.s.success = { tickets: data.data.tickets, amount: data.data.amount };\n                    } else {\n                        self.s.error = data.data || t.paymentError;\n                    }\n                    self.render();\n                })\n                .catch(function() {\n                    self.s.loading = false;\n                    self.s.error = t.paymentError;\n                    self.render();\n                });\n        };\n\n        App.prototype.set = function(obj) {\n            for (var k in obj) this.s[k] = obj[k];\n            this.render();\n        };\n\n        App.prototype.buy = function() {\n            if (isSalesClosed())            { this.set({ error: t.errorSalesClosed });    return; }\n            if (!this.s.info.name || !this.s.info.email || !this.s.info.phone)\n                                            { this.set({ error: t.errorFillFields });     return; }\n            if (!this.s.ageConfirmed)       { this.set({ error: t.errorConfirmAge });     return; }\n            if (!this.s.rulesAccepted)      { this.set({ error: t.errorAcceptRules });    return; }\n            if (!this.s.quizAnswer)         { this.set({ error: t.errorAnswerQuestion }); return; }\n            this.set({ checkout:true, error:null });\n        };\n\n        App.prototype.onPaymentSuccess = function(method) {\n            var self    = this;\n            \/\/ Capturer qty, info et montant imm\u00e9diatement avant tout appel async\n            var capturedQty    = parseInt(this.s.qty) || 1;\n            var capturedInfo   = {\n                name:  this.s.info.name  || '',\n                email: this.s.info.email || '',\n                phone: this.s.info.phone || ''\n            };\n            var capturedAmount = capturedQty * CONFIG.ticket_price;\n\n            var fd = new FormData();\n            fd.append('action',         'tombola_confirm_purchase');\n            fd.append('customer_info',  JSON.stringify(capturedInfo));\n            fd.append('qty',            capturedQty);\n            fd.append('total_amount',   capturedAmount);\n            fd.append('payment_method', method);\n\n            ajaxPost(fd)\n                .then(function(data) {\n                    var tickets = (data.success && data.data && data.data.tickets) ? data.data.tickets : [];\n                    unmountStripeCard();\n                    stripeCard = null; stripeElements = null;\n                    stripeCardMounted = false; stripeCardReady = false;\n                    self.set({\n                        checkout:false,\n                        success:{ tickets: tickets, amount: capturedAmount },\n                        qty:1,\n                        info:{ name:'', email:'', phone:'' },\n                        ageConfirmed:false, rulesAccepted:false, quizAnswer:''\n                    });\n                })\n                .catch(function() {\n                    unmountStripeCard();\n                    stripeCard = null; stripeElements = null;\n                    stripeCardMounted = false; stripeCardReady = false;\n                    self.set({\n                        checkout:false,\n                        success:{ tickets: [], amount: capturedAmount },\n                        qty:1,\n                        info:{ name:'', email:'', phone:'' },\n                        ageConfirmed:false, rulesAccepted:false, quizAnswer:''\n                    });\n                });\n        };\n\n        App.prototype.initPayPal = function() {\n            var self = this;\n            var container = document.getElementById('paypal-button-container');\n            if (!container) return;\n            container.innerHTML = '';\n            if (typeof paypal === 'undefined') { setTimeout(function() { self.initPayPal(); }, 500); return; }\n            paypal.Buttons({\n                createOrder:function(data, actions) {\n                    return actions.order.create({\n                        purchase_units:[{ amount:{ value:(self.s.qty * CONFIG.ticket_price).toFixed(2), currency_code:'EUR' }, description:'Tombola Yeshua School - ' + self.s.qty + ' billet(s)' }]\n                    });\n                },\n                onApprove:function(data, actions) {\n                    return actions.order.capture().then(function() { self.onPaymentSuccess('PayPal'); });\n                },\n                onError:function() { self.set({ error: t.errorPaypal }); }\n            }).render('#paypal-button-container');\n        };\n\n        App.prototype.stripePayWithCard = function() {\n            var self   = this;\n            var stripe = getStripe();\n            if (!stripe || !stripeCard) { self.set({ error: t.errorStripe }); return; }\n            if (!stripeCardReady) { self.set({ error:\"Le champ carte n'est pas encore pr\u00eat. Patientez quelques secondes.\" }); return; }\n\n            var btn = document.getElementById('stripe-submit-btn');\n            if (btn) { btn.disabled = true; btn.textContent = t.processing; }\n\n            var fd = new FormData();\n            fd.append('action',          'tombola_create_stripe_intent');\n            fd.append('amount',          self.s.qty * CONFIG.ticket_price * 100);\n            fd.append('customer_email',  self.s.info.email);\n            ajaxPost(fd)\n                .then(function(data) {\n                    if (!data.success) {\n                        self.set({ error: data.data || t.errorStripe });\n                        return Promise.reject('failed');\n                    }\n                    return stripe.confirmCardPayment(data.data.client_secret, {\n                        payment_method:{ card:stripeCard, billing_details:{ name:self.s.info.name, email:self.s.info.email } }\n                    });\n                })\n                .then(function(result) {\n                    if (!result) return;\n                    if (result.error) {\n                        var el = document.getElementById('stripe-card-error');\n                        if (el) el.textContent = result.error.message;\n                        if (btn) { btn.disabled = false; btn.textContent = t.paySecurely; }\n                    } else if (result.paymentIntent && result.paymentIntent.status === 'succeeded') {\n                        self.onPaymentSuccess('Stripe - Carte bancaire');\n                    } else if (result.paymentIntent && result.paymentIntent.status === 'requires_action') {\n                        stripe.confirmCardPayment(result.paymentIntent.client_secret).then(function(r2) {\n                            if (r2.error) {\n                                var el = document.getElementById('stripe-card-error');\n                                if (el) el.textContent = r2.error.message;\n                                if (btn) { btn.disabled = false; btn.textContent = t.paySecurely; }\n                            } else if (r2.paymentIntent && r2.paymentIntent.status === 'succeeded') {\n                                self.onPaymentSuccess('Stripe - Carte bancaire (3DS)');\n                            }\n                        });\n                    }\n                })\n                .catch(function(err) { if (err !== 'failed') self.set({ error: t.errorStripe }); });\n        };\n\n        App.prototype.stripePayWithBancontact = function() {\n            var self   = this;\n            var stripe = getStripe();\n            if (!stripe) { self.set({ error: t.errorStripe }); return; }\n\n            var btn   = document.getElementById('bancontact-submit-btn');\n            var errEl = document.getElementById('bancontact-error');\n            if (btn)   { btn.disabled = true; btn.textContent = t.processing; }\n            if (errEl) errEl.textContent = '';\n\n            var fd = new FormData();\n            fd.append('action',          'tombola_create_bancontact_intent');\n            fd.append('amount',          self.s.qty * CONFIG.ticket_price * 100);\n            fd.append('customer_name',   self.s.info.name);\n            fd.append('customer_email',  self.s.info.email);\n            fd.append('customer_phone',  self.s.info.phone);\n            fd.append('qty',             self.s.qty);\n            fd.append('page_url',        window.location.origin + window.location.pathname);\n            ajaxPost(fd)\n                .then(function(data) {\n                    if (!data.success) {\n                        if (errEl) errEl.textContent = data.data || t.errorStripe;\n                        if (btn)   { btn.disabled = false; btn.textContent = t.payBancontact; }\n                        return Promise.reject('failed');\n                    }\n                    return stripe.confirmBancontactPayment(data.data.client_secret, {\n                        payment_method:{ billing_details:{ name:self.s.info.name, email:self.s.info.email } },\n                        return_url: data.data.return_url\n                    });\n                })\n                .then(function(result) {\n                    if (!result) return;\n                    if (result.error) {\n                        if (errEl) errEl.textContent = result.error.message;\n                        if (btn)   { btn.disabled = false; btn.textContent = t.payBancontact; }\n                    }\n                })\n                .catch(function(err) {\n                    if (err !== 'failed') {\n                        if (errEl) errEl.textContent = t.errorStripe;\n                        if (btn)   { btn.disabled = false; btn.textContent = t.payBancontact; }\n                    }\n                });\n        };\n\n        App.prototype.initPaymentRequest = function() {\n            var self   = this;\n            var stripe = getStripe();\n            if (!stripe) return;\n            var prBtn = document.getElementById('payment-request-button');\n            if (!prBtn) return;\n            prBtn.innerHTML = '';\n            var pr = stripe.paymentRequest({\n                country:'BE', currency:'eur',\n                total:{ label:'Tombola Yeshua School', amount: self.s.qty * CONFIG.ticket_price * 100 },\n                requestPayerName:true, requestPayerEmail:true\n            });\n            var prButton = stripe.elements().create('paymentRequestButton', {\n                paymentRequest:pr, style:{ paymentRequestButton:{ type:'default', theme:'dark', height:'48px' } }\n            });\n            pr.canMakePayment().then(function(result) {\n                if (result) prButton.mount('#payment-request-button');\n                else prBtn.innerHTML = '<div style=\"background:#FEF3C7;border:1px solid #F59E0B;padding:12px;border-radius:8px;font-size:13px;color:#78350F;\">\u26a0\ufe0f Google Pay \/ Apple Pay non disponible sur ce navigateur.<\/div>';\n            });\n            pr.on('paymentmethod', function(ev) {\n                var fd = new FormData();\n                fd.append('action',         'tombola_create_stripe_intent');\n                fd.append('amount',         self.s.qty * CONFIG.ticket_price * 100);\n                fd.append('customer_email', self.s.info.email);\n                ajaxPost(fd)\n                    .then(function(data) {\n                        if (!data.success) { ev.complete('fail'); return Promise.reject('failed'); }\n                        return stripe.confirmCardPayment(data.data.client_secret, { payment_method:ev.paymentMethod.id }, { handleActions:false });\n                    })\n                    .then(function(result) {\n                        if (!result) return;\n                        if (result.error) { ev.complete('fail'); self.set({ error:result.error.message }); }\n                        else {\n                            ev.complete('success');\n                            if (result.paymentIntent.status === 'requires_action') {\n                                stripe.confirmCardPayment(result.paymentIntent.client_secret).then(function(r) {\n                                    r.error ? self.set({ error:r.error.message }) : self.onPaymentSuccess('Stripe - Google\/Apple Pay');\n                                });\n                            } else { self.onPaymentSuccess('Stripe - Google\/Apple Pay'); }\n                        }\n                    })\n                    .catch(function() { ev.complete('fail'); self.set({ error:t.errorStripe }); });\n            });\n        };\n\n        App.prototype.admin = function() {\n            var self     = this;\n            var password = prompt(t.enterPassword);\n            if (!password) return;\n\n            var fd = new FormData();\n            fd.append('action',   'tombola_check_admin');\n            fd.append('password', password);\n            ajaxPost(fd)\n                .then(function(data) {\n                    if (data.success && data.data && data.data.token) {\n                        self.s.adminToken = data.data.token;\n                        self.set({ view:'admin' });\n                        self.loadAdminStats();\n                    } else {\n                        alert(t.incorrectPassword);\n                    }\n                })\n                .catch(function() { alert(t.incorrectPassword); });\n        };\n\n        App.prototype.loadAdminStats = function() {\n            var self = this;\n            var fd   = new FormData();\n            fd.append('action',      'tombola_get_stats');\n            fd.append('admin_token', self.s.adminToken || '');\n            ajaxPost(fd)\n                .then(function(data) { if (data.success) self.set({ adminStats:data.data }); });\n        };\n\n        App.prototype.drawWinner = function() {\n            var self = this;\n            var fd   = new FormData();\n            fd.append('action',      'tombola_get_stats');\n            fd.append('admin_token', self.s.adminToken || '');\n            ajaxPost(fd)\n                .then(function(data) {\n                    if (!data.success || !data.data.participants || !data.data.participants.length) {\n                        alert(t.noTicketSold); return;\n                    }\n                    var allTickets = [];\n                    data.data.participants.forEach(function(p) {\n                        p.tickets.forEach(function(ticket) { allTickets.push({ num:ticket, customer:p }); });\n                    });\n                    self.set({ winner: allTickets[Math.floor(Math.random() * allTickets.length)] });\n                });\n        };\n\n        App.prototype.downloadCSV = function() {\n            window.open(TOMBOLA_AJAXURL + '?action=tombola_download_csv', '_blank');\n        };\n\n        App.prototype.render = function() {\n            var app = document.querySelector('.tombola-wrapper');\n            if (!app) return;\n            if (this.s.loading) {\n                app.innerHTML = '<div class=\"tombola-loading\"><div style=\"font-size:32px;margin-bottom:16px\">\u23f3<\/div><p>' + t.verifyingPayment + '<\/p><\/div>';\n            } else {\n                app.innerHTML = this.s.view === 'client' ? this.renderClient() : this.renderAdmin();\n            }\n            this.bindEvents();\n        };\n\n        App.prototype.renderClient = function() {\n            var s   = this.s;\n            var html = '<div class=\"tombola-header\"><h1 style=\"margin:0 0 8px 0;font-size:32px;text-align:center\">' + t.tryYourLuck + '<\/h1>';\n            html    += '<p style=\"margin:0;opacity:.9;text-align:center\">' + t.numbersAssigned + '<\/p>';\n            html    += '<p style=\"margin:8px 0 0 0;opacity:.9;text-align:center;font-size:18px;font-weight:600\">' + t.winAudi + '<\/p><\/div>';\n\n            if (isSalesClosed()) {\n                html += '<div class=\"tombola-alert tombola-alert-error\"><h2 style=\"margin:0 0 16px 0\">' + t.salesClosed + '<\/h2><p style=\"margin:0\">' + t.salesClosedMsg + '<\/p><\/div>';\n                if (TOMBOLA_IS_ADMIN) html += '<div class=\"tombola-admin-icon\" id=\"adminIcon\">\ud83d\udc64<\/div>';\n                return html;\n            }\n\n            html += '<div class=\"tombola-card\"><div style=\"background:#E0E7FF;padding:20px;border-radius:8px;text-align:center\">';\n            html += '<div style=\"font-size:14px;color:#5B21B6;margin-bottom:8px\">' + t.pricePerTicket + '<\/div>';\n            html += '<div style=\"font-size:32px;font-weight:bold;color:#7C3AED\">' + CONFIG.ticket_price + ' EUR<\/div><\/div><\/div>';\n            html += '<div class=\"tombola-alert tombola-alert-warning\"><p style=\"margin:0;font-weight:600\">' + t.deadline + '<\/p><p style=\"margin:8px 0 0 0\">' + CONFIG.draw_date + '<\/p><\/div>';\n\n            if (s.error)   html += '<div class=\"tombola-alert tombola-alert-error\">\u274c ' + s.error + '<\/div>';\n\n            if (s.success) {\n                var tickets  = s.success.tickets || [];\n                var tickNums = '';\n                if (tickets.length > 0) {\n                    if (tickets.length <= 20) {\n                        tickNums = tickets.map(function(n) { return 'N\u00b0' + n; }).join(', ');\n                    } else {\n                        tickNums = tickets.length + ' billets (N\u00b0' + tickets[0] + ' \u00e0 N\u00b0' + tickets[tickets.length - 1] + ')';\n                    }\n                }\n                html += '<div class=\"tombola-alert tombola-alert-success\">';\n                html += '<h3 style=\"margin:0 0 8px 0\">' + t.purchaseSuccess + '<\/h3>';\n                html += '<p style=\"margin:0 0 6px 0\">' + t.ticketsPurchased + ' <strong>' + tickets.length + '<\/strong><\/p>';\n                if (tickNums) {\n                    html += '<div class=\"ticket-numbers-box\">' + t.yourNumbers + '<br>' + tickNums + '<\/div>';\n                }\n                html += '<p style=\"margin:6px 0\">' + t.amount + ' <strong>' + s.success.amount + ' EUR<\/strong><\/p>';\n                html += '<p style=\"margin:8px 0 0 0;font-weight:600\">' + t.emailSent + '<\/p><\/div>';\n            }\n\n            if (!s.checkout) {\n                html += '<div class=\"tombola-card\"><h2 style=\"margin:0 0 20px 0\">' + t.buyTickets + '<\/h2>';\n                html += '<label style=\"display:block;margin-bottom:8px;font-weight:600\">' + t.numberOfTickets + '<\/label>';\n                html += '<input type=\"number\" min=\"1\" max=\"' + CONFIG.max_tickets + '\" value=\"' + s.qty + '\" id=\"qty\" class=\"tombola-input\">';\n                html += '<p style=\"margin:0 0 16px 0;color:#6B7280;font-size:14px\">' + t.total + ' : <strong>' + (s.qty * CONFIG.ticket_price) + ' EUR<\/strong><\/p>';\n                html += '<label style=\"display:block;margin-bottom:8px;font-weight:600\">' + t.name + '<\/label><input type=\"text\" value=\"' + s.info.name + '\" id=\"inp-name\" class=\"tombola-input\">';\n                html += '<label style=\"display:block;margin-bottom:8px;font-weight:600\">' + t.email + '<\/label><input type=\"email\" value=\"' + s.info.email + '\" id=\"inp-email\" class=\"tombola-input\">';\n                html += '<label style=\"display:block;margin-bottom:8px;font-weight:600\">' + t.phone + '<\/label><input type=\"tel\" value=\"' + s.info.phone + '\" id=\"inp-phone\" class=\"tombola-input\" placeholder=\"+32 ...\">';\n                html += '<div style=\"margin:16px 0\"><label style=\"display:flex;align-items:center\"><input type=\"checkbox\" id=\"ageCheck\" class=\"tombola-checkbox\" ' + (s.ageConfirmed ? 'checked' : '') + '><span>' + t.certifyAge + '<\/span><\/label><\/div>';\n                html += '<div style=\"margin:16px 0\"><label style=\"display:flex;align-items:center\"><input type=\"checkbox\" id=\"rulesCheck\" class=\"tombola-checkbox\" ' + (s.rulesAccepted ? 'checked' : '') + '><span>' + t.acceptRules + '<\/span><\/label><\/div>';\n                html += '<div style=\"background:#E0E7FF;border:2px solid #7C3AED;padding:16px;border-radius:8px;margin:16px 0\">';\n                html += '<label style=\"display:block;margin-bottom:12px;font-weight:600;color:#5B21B6\">' + t.mandatoryQuestion + '<\/label>';\n                html += '<p style=\"margin:0 0 12px 0;font-size:15px;color:#4C1D95\">' + t.howManyLanguages + '<\/p>';\n                html += '<select id=\"quizAnswer\" class=\"tombola-input\" style=\"margin-bottom:0\"><option value=\"\">' + t.chooseAnswer + '<\/option>';\n                html += '<option value=\"2\" ' + (s.quizAnswer === '2' ? 'selected' : '') + '>' + t.languages2 + '<\/option>';\n                html += '<option value=\"3\" ' + (s.quizAnswer === '3' ? 'selected' : '') + '>' + t.languages3 + '<\/option>';\n                html += '<option value=\"4\" ' + (s.quizAnswer === '4' ? 'selected' : '') + '>' + t.languages4 + '<\/option><\/select><\/div>';\n                html += '<button class=\"tombola-button\" id=\"buyBtn\">' + t.proceedPayment + '<\/button><\/div>';\n            } else {\n                html += '<div class=\"tombola-card\"><h2 style=\"margin:0 0 20px 0\">' + t.payment + '<\/h2>';\n                html += '<div class=\"tombola-alert tombola-alert-info\">';\n                html += '<p style=\"margin:0 0 6px 0;font-weight:600\">' + t.ticketsReserved + '<\/p>';\n                html += '<p style=\"margin:0;font-size:18px\">' + t.number + ' : <strong>' + s.qty + ' ' + t.ticket + '<\/strong><\/p>';\n                html += '<p style=\"margin:8px 0 0 0;font-size:14px\">' + t.numbersSentEmail + '<\/p><\/div>';\n                html += '<div style=\"background:#F9FAFB;padding:16px;border-radius:8px;margin:16px 0\">';\n                html += '<div style=\"display:flex;justify-content:space-between;margin-bottom:8px\"><span>' + t.tickets + '<\/span><span>' + s.qty + ' \u00d7 ' + CONFIG.ticket_price + ' EUR<\/span><\/div>';\n                html += '<div style=\"display:flex;justify-content:space-between;font-weight:700;font-size:18px;padding-top:8px;border-top:2px solid #E5E7EB\"><span>' + t.total + '<\/span><span>' + (s.qty * CONFIG.ticket_price) + ' EUR<\/span><\/div><\/div>';\n                html += '<p style=\"font-weight:600;margin-bottom:12px\">' + t.choosePayment + ' :<\/p>';\n                html += '<div class=\"payment-tabs\">';\n                html += '<button class=\"payment-tab' + (s.paymentTab === 'bancontact' ? ' active' : '') + '\" id=\"tab-bancontact\">Bancontact<\/button>';\n                html += '<button class=\"payment-tab' + (s.paymentTab === 'paypal'     ? ' active' : '') + '\" id=\"tab-paypal\">PayPal<\/button>';\n                html += '<button class=\"payment-tab' + (s.paymentTab === 'card'       ? ' active' : '') + '\" id=\"tab-card\">Carte bancaire<\/button>';\n                html += '<button class=\"payment-tab' + (s.paymentTab === 'gpay'       ? ' active' : '') + '\" id=\"tab-gpay\">\ud83d\udcf1 ' + t.payWithGoogleApple + '<\/button>';\n                html += '<\/div>';\n\n                if (s.paymentTab === 'bancontact') {\n                    html += '<div style=\"background:#E8F4FD;border:1px solid #005499;padding:16px;border-radius:8px;margin-bottom:16px\">';\n                    html += '<p style=\"margin:0 0 8px 0;font-weight:700;color:#005499;font-size:16px\">Bancontact<\/p>';\n                    html += '<p style=\"margin:0;font-size:14px;color:#1E3A5F\">' + t.bancontactRedirect + '<\/p><\/div>';\n                    html += '<div id=\"bancontact-error\" style=\"color:#991B1B;font-size:14px;margin-bottom:12px;min-height:20px\"><\/div>';\n                    html += '<button class=\"tombola-button\" id=\"bancontact-submit-btn\" style=\"background:#005499\">' + t.payBancontact + '<\/button>';\n                }\n                if (s.paymentTab === 'paypal') {\n                    html += '<div id=\"paypal-button-container\"><\/div>';\n                }\n                if (s.paymentTab === 'card') {\n                    html += '<p style=\"font-weight:600;margin-bottom:8px\">' + t.cardDetails + ' :<\/p>';\n                    html += '<div class=\"stripe-icons\"><span>VISA<\/span><span>Mastercard<\/span><span>Amex<\/span><span>\ud83d\udd12 SSL<\/span><\/div>';\n                    html += '<div id=\"stripe-card-slot\"><\/div><div id=\"stripe-card-error\"><\/div>';\n                    html += '<button class=\"tombola-button\" id=\"stripe-submit-btn\" style=\"background:#635BFF\">' + t.paySecurely + '<\/button>';\n                }\n                if (s.paymentTab === 'gpay') {\n                    html += '<div class=\"gpay-apple-info\">' + t.gpayAppleInfo + '<\/div>';\n                    html += '<div id=\"payment-request-button\"><\/div>';\n                }\n                html += '<button class=\"tombola-button\" id=\"cancelBtn\" style=\"background:#6B7280;margin-top:12px\">' + t.cancel + '<\/button><\/div>';\n            }\n\n            if (TOMBOLA_IS_ADMIN) html += '<div class=\"tombola-admin-icon\" id=\"adminIcon\">\ud83d\udc64<\/div>';\n            return html;\n        };\n\n        App.prototype.renderAdmin = function() {\n            var st     = this.s.adminStats;\n            var winner = this.s.winner;\n            var html   = '<div class=\"tombola-card\"><div style=\"display:flex;justify-content:space-between;align-items:center;margin-bottom:20px\">';\n            html += '<h1 style=\"margin:0\">' + t.administration + '<\/h1>';\n            html += '<button class=\"tombola-button\" id=\"backBtn\" style=\"width:auto;padding:8px 16px\">' + t.back + '<\/button><\/div>';\n\n            if (st) {\n                html += '<div style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px\">';\n                html += '<div style=\"background:#DBEAFE;padding:16px;border-radius:8px\"><div style=\"font-size:12px;color:#1E40AF;margin-bottom:8px\">' + t.totalTickets + '<\/div><div style=\"font-size:28px;font-weight:bold;color:#1E40AF\">400 000<\/div><\/div>';\n                html += '<div style=\"background:#D1FAE5;padding:16px;border-radius:8px\"><div style=\"font-size:12px;color:#065F46;margin-bottom:8px\">' + t.sold + '<\/div><div style=\"font-size:28px;font-weight:bold;color:#065F46\">' + st.sold + '<\/div><\/div>';\n                html += '<div style=\"background:#FEF3C7;padding:16px;border-radius:8px\"><div style=\"font-size:12px;color:#78350F;margin-bottom:8px\">' + t.available + '<\/div><div style=\"font-size:28px;font-weight:bold;color:#78350F\">' + st.available + '<\/div><\/div>';\n                html += '<div style=\"background:#F3E8FF;padding:16px;border-radius:8px\"><div style=\"font-size:12px;color:#6B21A8;margin-bottom:8px\">' + t.revenue + '<\/div><div style=\"font-size:28px;font-weight:bold;color:#6B21A8\">' + st.revenue + ' EUR<\/div><\/div>';\n                html += '<\/div>';\n            } else {\n                html += '<p>Chargement des statistiques...<\/p>';\n            }\n            html += '<\/div>';\n\n            html += '<div class=\"tombola-card\"><button class=\"tombola-button\" id=\"downloadBtn\" style=\"background:#10B981;margin-bottom:0\">' + t.downloadCSV + '<\/button><\/div>';\n\n            html += '<div class=\"tombola-card\"><h2 style=\"margin:0 0 20px 0\">' + t.drawLottery + '<\/h2>';\n            if (winner) {\n                html += '<div style=\"background:linear-gradient(135deg,#FCD34D,#F59E0B);color:#78350F;border-radius:12px;padding:24px;text-align:center;margin-bottom:20px\">';\n                html += '<div style=\"font-size:28px;font-weight:bold;margin-bottom:8px\">\ud83c\udfc6 ' + t.winner + '<\/div>';\n                html += '<div style=\"font-size:24px;margin-bottom:16px\">' + t.ticketNo + winner.num + '<\/div>';\n                html += '<div style=\"font-size:18px;font-weight:600\">' + winner.customer.name + '<\/div>';\n                html += '<div style=\"font-size:16px\">' + winner.customer.email + '<\/div><\/div>';\n            }\n            html += '<button class=\"tombola-button\" id=\"drawBtn\" style=\"background:linear-gradient(135deg,#FCD34D,#F59E0B);color:#78350F\">' + t.drawNow + '<\/button><\/div>';\n\n            if (st && st.participants && st.participants.length > 0) {\n                html += '<div class=\"tombola-card\"><h2 style=\"margin:0 0 20px 0\">' + t.lastTicketsSold + st.sold + ' total)<\/h2><div style=\"display:grid;gap:12px\">';\n                st.participants.forEach(function(p) {\n                    var ticketNums = p.tickets.map(function(n) { return 'N\u00b0' + n; }).join(', ');\n                    html += '<div style=\"border:1px solid #E5E7EB;padding:12px;border-radius:8px\">';\n                    html += '<div style=\"display:flex;justify-content:space-between\">';\n                    html += '<div><div style=\"font-weight:600;font-size:13px;color:#7C3AED\">' + ticketNums + '<\/div>';\n                    html += '<div style=\"font-weight:600\">' + p.name + '<\/div>';\n                    html += '<div style=\"font-size:13px;color:#6B7280\">' + p.email + '<\/div><\/div>';\n                    html += '<div style=\"color:#10B981;font-weight:600\">' + (p.tickets.length * 6) + ' EUR<\/div><\/div><\/div>';\n                });\n                html += '<\/div><\/div>';\n            }\n            return html;\n        };\n\n        App.prototype.bindEvents = function() {\n            var self = this;\n            var g    = function(id) { return document.getElementById(id); };\n\n            var qty             = g('qty'),          name    = g('inp-name'),\n                email           = g('inp-email'),    phone   = g('inp-phone'),\n                ageCheck        = g('ageCheck'),      rulesCheck = g('rulesCheck'),\n                quizAnswer      = g('quizAnswer'),    buyBtn  = g('buyBtn'),\n                cancelBtn       = g('cancelBtn'),     adminIcon = g('adminIcon'),\n                backBtn         = g('backBtn'),       drawBtn = g('drawBtn'),\n                downloadBtn     = g('downloadBtn'),\n                tabPaypal       = g('tab-paypal'),    tabCard = g('tab-card'),\n                tabGpay         = g('tab-gpay'),      tabBancontact = g('tab-bancontact'),\n                stripeSubmit    = g('stripe-submit-btn'),\n                bancontactSubmit= g('bancontact-submit-btn');\n\n            if (qty)             qty.onchange             = function(e) { self.set({ qty: Math.max(1, parseInt(e.target.value) || 1) }); };\n            if (name)            name.oninput             = function(e) { self.s.info.name  = e.target.value; };\n            if (email)           email.oninput            = function(e) { self.s.info.email = e.target.value; };\n            if (phone)           phone.oninput            = function(e) { self.s.info.phone = e.target.value; };\n            if (ageCheck)        ageCheck.onchange        = function(e) { self.set({ ageConfirmed:  e.target.checked }); };\n            if (rulesCheck)      rulesCheck.onchange      = function(e) { self.set({ rulesAccepted: e.target.checked }); };\n            if (quizAnswer)      quizAnswer.onchange      = function(e) { self.set({ quizAnswer:    e.target.value }); };\n            if (buyBtn)          buyBtn.onclick           = function() { self.buy(); };\n            if (cancelBtn)       cancelBtn.onclick        = function() {\n                unmountStripeCard(); stripeCard = null; stripeElements = null;\n                stripeCardMounted = false; stripeCardReady = false;\n                self.set({ checkout:false });\n            };\n            if (adminIcon)        adminIcon.onclick       = function() { self.admin(); };\n            if (backBtn)          backBtn.onclick         = function() { self.set({ view:'client', winner:null, adminStats:null }); };\n            if (drawBtn)          drawBtn.onclick         = function() { self.drawWinner(); };\n            if (downloadBtn)      downloadBtn.onclick     = function() { self.downloadCSV(); };\n            if (tabPaypal)        tabPaypal.onclick       = function() { unmountStripeCard(); self.set({ paymentTab:'paypal',      error:null }); };\n            if (tabCard)          tabCard.onclick         = function() {                      self.set({ paymentTab:'card',       error:null }); };\n            if (tabBancontact)    tabBancontact.onclick   = function() { unmountStripeCard(); self.set({ paymentTab:'bancontact', error:null }); };\n            if (tabGpay)          tabGpay.onclick         = function() { unmountStripeCard(); self.set({ paymentTab:'gpay',       error:null }); };\n            if (stripeSubmit)     stripeSubmit.onclick    = function() { self.stripePayWithCard(); };\n            if (bancontactSubmit) bancontactSubmit.onclick= function() { self.stripePayWithBancontact(); };\n\n            if (self.s.checkout) {\n                setTimeout(function() {\n                    if      (self.s.paymentTab === 'paypal') self.initPayPal();\n                    else if (self.s.paymentTab === 'card')   mountStripeCard();\n                    else if (self.s.paymentTab === 'gpay')   self.initPaymentRequest();\n                }, 100);\n            }\n        };\n\n        if (document.readyState === 'loading') {\n            document.addEventListener('DOMContentLoaded', function() { new App(); });\n        } else {\n            new App();\n        }\n    })();\n    <\/script>\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0413027 e-flex e-con-boxed e-con e-parent\" data-id=\"0413027\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-313b3e5 elementor-align-center elementor-widget elementor-widget-button\" data-id=\"313b3e5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/yeshuaschool.com\/reglement\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Lire le r\u00e8glement de la tombola<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>GRANDE TOMBOLA Dans le cadre de la cr\u00e9ation d&rsquo;une \u00e9cole publique, nous organisons un concours \u00e0 participation cr\u00e9ative assorti d&rsquo;une vente, destin\u00e9 \u00e0 collecter les fonds n\u00e9cessaires \u00e0 l&rsquo;ouverture d&rsquo;un [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_surecart_dashboard_logo_width":"180px","_surecart_dashboard_show_logo":true,"_surecart_dashboard_navigation_orders":true,"_surecart_dashboard_navigation_invoices":true,"_surecart_dashboard_navigation_subscriptions":true,"_surecart_dashboard_navigation_downloads":true,"_surecart_dashboard_navigation_billing":true,"_surecart_dashboard_navigation_account":true,"site-sidebar-layout":"no-sidebar","site-content-layout":"page-builder","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-1360","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Tombola - Yeshuaschool<\/title>\n<meta name=\"description\" content=\"D\u00e9couvrez Tombola \u00e0 Yeshua School, une \u00e9cole chr\u00e9tienne \u00e0 Bruxelles offrant un enseignement de qualit\u00e9 en quatre langues : fran\u00e7ais, n\u00e9erlandais, anglais et syriaque. L&#039;\u00e9cole propose 30 activit\u00e9s sportives et artistiques, le petit-d\u00e9jeunet et le d\u00e9jeuner chaud \u00e0 tous les \u00e9l\u00e8ves, du lundi au vendredi. Des tournois sportifs sont organis\u00e9s les week-ends pour les familles. Une formation chr\u00e9tienne constitue la base de l&#039;enseignement \u00e0 Yeshua School.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/yeshuaschool.com\/de\/tombola\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tombola - Yeshuaschool\" \/>\n<meta property=\"og:description\" content=\"D\u00e9couvrez Tombola \u00e0 Yeshua School, une \u00e9cole chr\u00e9tienne \u00e0 Bruxelles offrant un enseignement de qualit\u00e9 en quatre langues : fran\u00e7ais, n\u00e9erlandais, anglais et syriaque. L&#039;\u00e9cole propose 30 activit\u00e9s sportives et artistiques, le petit-d\u00e9jeunet et le d\u00e9jeuner chaud \u00e0 tous les \u00e9l\u00e8ves, du lundi au vendredi. Des tournois sportifs sont organis\u00e9s les week-ends pour les familles. Une formation chr\u00e9tienne constitue la base de l&#039;enseignement \u00e0 Yeshua School.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/yeshuaschool.com\/de\/tombola\/\" \/>\n<meta property=\"og:site_name\" content=\"Yeshuaschool\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/yeshuaschoolbe\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-02T18:52:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/audi-q3-profile.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@school_yeshua\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data1\" content=\"2\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/yeshuaschool.com\\\/tombola\\\/\",\"url\":\"https:\\\/\\\/yeshuaschool.com\\\/tombola\\\/\",\"name\":\"Tombola - Yeshuaschool\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/yeshuaschool.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/yeshuaschool.com\\\/tombola\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/yeshuaschool.com\\\/tombola\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/yeshuaschool.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/audi-q3-profile.jpg\",\"datePublished\":\"2026-02-01T20:33:11+00:00\",\"dateModified\":\"2026-04-02T18:52:37+00:00\",\"description\":\"D\u00e9couvrez Tombola \u00e0 Yeshua School, une \u00e9cole chr\u00e9tienne \u00e0 Bruxelles offrant un enseignement de qualit\u00e9 en quatre langues : fran\u00e7ais, n\u00e9erlandais, anglais et syriaque. L'\u00e9cole propose 30 activit\u00e9s sportives et artistiques, le petit-d\u00e9jeunet et le d\u00e9jeuner chaud \u00e0 tous les \u00e9l\u00e8ves, du lundi au vendredi. Des tournois sportifs sont organis\u00e9s les week-ends pour les familles. Une formation chr\u00e9tienne constitue la base de l'enseignement \u00e0 Yeshua School.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/yeshuaschool.com\\\/tombola\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/yeshuaschool.com\\\/tombola\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/yeshuaschool.com\\\/tombola\\\/#primaryimage\",\"url\":\"https:\\\/\\\/yeshuaschool.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/audi-q3-profile.jpg\",\"contentUrl\":\"https:\\\/\\\/yeshuaschool.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/audi-q3-profile.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/yeshuaschool.com\\\/tombola\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/yeshuaschool.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tombola\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/yeshuaschool.com\\\/#website\",\"url\":\"https:\\\/\\\/yeshuaschool.com\\\/\",\"name\":\"Yeshuaschool\",\"description\":\"&quot;Yeshua School \u2014 apprendre avec sens.&quot;\",\"publisher\":{\"@id\":\"https:\\\/\\\/yeshuaschool.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/yeshuaschool.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/yeshuaschool.com\\\/#organization\",\"name\":\"Yeshua School\",\"alternateName\":\"YS\",\"url\":\"https:\\\/\\\/yeshuaschool.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/yeshuaschool.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/yeshuaschool.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/cropped-Logo-YS-2-1.jpg\",\"contentUrl\":\"https:\\\/\\\/yeshuaschool.com\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/cropped-Logo-YS-2-1.jpg\",\"width\":1164,\"height\":905,\"caption\":\"Yeshua School\"},\"image\":{\"@id\":\"https:\\\/\\\/yeshuaschool.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/yeshuaschoolbe\",\"https:\\\/\\\/x.com\\\/school_yeshua\",\"https:\\\/\\\/www.instagram.com\\\/yeshuaschool\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/yeshuaschoolcom\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tombola - Yeshuaschool","description":"Entdecke Tombola an der Yeshua School, einer christlichen Schule in Br\u00fcssel, die qualitativ hochwertigen Unterricht in vier Sprachen anbietet: Franz\u00f6sisch, Niederl\u00e4ndisch, Englisch und Syrisch. Die Schule bietet 30 sportliche und k\u00fcnstlerische Aktivit\u00e4ten, Fr\u00fchst\u00fcck und ein warmes Mittagessen f\u00fcr alle Sch\u00fcler von Montag bis Freitag an. An den Wochenenden werden Sportturniere f\u00fcr die Familien organisiert. Eine christliche Ausbildung bildet die Grundlage des Unterrichts an der Yeshua School.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/yeshuaschool.com\/de\/tombola\/","og_locale":"de_DE","og_type":"article","og_title":"Tombola - Yeshuaschool","og_description":"D\u00e9couvrez Tombola \u00e0 Yeshua School, une \u00e9cole chr\u00e9tienne \u00e0 Bruxelles offrant un enseignement de qualit\u00e9 en quatre langues : fran\u00e7ais, n\u00e9erlandais, anglais et syriaque. L'\u00e9cole propose 30 activit\u00e9s sportives et artistiques, le petit-d\u00e9jeunet et le d\u00e9jeuner chaud \u00e0 tous les \u00e9l\u00e8ves, du lundi au vendredi. Des tournois sportifs sont organis\u00e9s les week-ends pour les familles. Une formation chr\u00e9tienne constitue la base de l'enseignement \u00e0 Yeshua School.","og_url":"https:\/\/yeshuaschool.com\/de\/tombola\/","og_site_name":"Yeshuaschool","article_publisher":"https:\/\/www.facebook.com\/yeshuaschoolbe","article_modified_time":"2026-04-02T18:52:37+00:00","og_image":[{"url":"https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/audi-q3-profile.jpg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_site":"@school_yeshua","twitter_misc":{"Gesch\u00e4tzte Lesezeit":"2\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/yeshuaschool.com\/tombola\/","url":"https:\/\/yeshuaschool.com\/tombola\/","name":"Tombola - Yeshuaschool","isPartOf":{"@id":"https:\/\/yeshuaschool.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/yeshuaschool.com\/tombola\/#primaryimage"},"image":{"@id":"https:\/\/yeshuaschool.com\/tombola\/#primaryimage"},"thumbnailUrl":"https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/audi-q3-profile.jpg","datePublished":"2026-02-01T20:33:11+00:00","dateModified":"2026-04-02T18:52:37+00:00","description":"Entdecke Tombola an der Yeshua School, einer christlichen Schule in Br\u00fcssel, die qualitativ hochwertigen Unterricht in vier Sprachen anbietet: Franz\u00f6sisch, Niederl\u00e4ndisch, Englisch und Syrisch. Die Schule bietet 30 sportliche und k\u00fcnstlerische Aktivit\u00e4ten, Fr\u00fchst\u00fcck und ein warmes Mittagessen f\u00fcr alle Sch\u00fcler von Montag bis Freitag an. An den Wochenenden werden Sportturniere f\u00fcr die Familien organisiert. Eine christliche Ausbildung bildet die Grundlage des Unterrichts an der Yeshua School.","breadcrumb":{"@id":"https:\/\/yeshuaschool.com\/tombola\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/yeshuaschool.com\/tombola\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/yeshuaschool.com\/tombola\/#primaryimage","url":"https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/audi-q3-profile.jpg","contentUrl":"https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/audi-q3-profile.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/yeshuaschool.com\/tombola\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/yeshuaschool.com\/"},{"@type":"ListItem","position":2,"name":"Tombola"}]},{"@type":"WebSite","@id":"https:\/\/yeshuaschool.com\/#website","url":"https:\/\/yeshuaschool.com\/","name":"Yeshuaschool","description":"\"Yeshua School - Lernen mit Sinn\".\"","publisher":{"@id":"https:\/\/yeshuaschool.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/yeshuaschool.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/yeshuaschool.com\/#organization","name":"Yeshua-Schule","alternateName":"YS","url":"https:\/\/yeshuaschool.com\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/yeshuaschool.com\/#\/schema\/logo\/image\/","url":"https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/cropped-Logo-YS-2-1.jpg","contentUrl":"https:\/\/yeshuaschool.com\/wp-content\/uploads\/2026\/03\/cropped-Logo-YS-2-1.jpg","width":1164,"height":905,"caption":"Yeshua School"},"image":{"@id":"https:\/\/yeshuaschool.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/yeshuaschoolbe","https:\/\/x.com\/school_yeshua","https:\/\/www.instagram.com\/yeshuaschool\/","https:\/\/www.linkedin.com\/in\/yeshuaschoolcom\/"]}]}},"_links":{"self":[{"href":"https:\/\/yeshuaschool.com\/de\/wp-json\/wp\/v2\/pages\/1360","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yeshuaschool.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/yeshuaschool.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/yeshuaschool.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yeshuaschool.com\/de\/wp-json\/wp\/v2\/comments?post=1360"}],"version-history":[{"count":466,"href":"https:\/\/yeshuaschool.com\/de\/wp-json\/wp\/v2\/pages\/1360\/revisions"}],"predecessor-version":[{"id":3683,"href":"https:\/\/yeshuaschool.com\/de\/wp-json\/wp\/v2\/pages\/1360\/revisions\/3683"}],"wp:attachment":[{"href":"https:\/\/yeshuaschool.com\/de\/wp-json\/wp\/v2\/media?parent=1360"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}