{"id":2655,"date":"2025-12-01T22:46:16","date_gmt":"2025-12-01T22:46:16","guid":{"rendered":"https:\/\/www.lafarques.be\/order-gift-vouchers\/"},"modified":"2026-04-27T18:43:58","modified_gmt":"2026-04-27T18:43:58","slug":"order-gift-vouchers","status":"publish","type":"page","link":"https:\/\/www.lafarques.be\/en\/order-gift-vouchers\/","title":{"rendered":"Order gift vouchers"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2655\" class=\"elementor elementor-2655 elementor-2263\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-65efbf8 e-flex e-con-boxed e-con e-parent\" data-id=\"65efbf8\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[],&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4e0157c elementor-widget elementor-widget-shortcode\" data-id=\"4e0157c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <div id=\"bc-wrap\">\r\n    <style>\r\n    @import url('https:\/\/fonts.googleapis.com\/css2?family=Raleway:wght@300;400;500;600&family=Lato:wght@300;400;700&family=Cormorant+Garamond:wght@300;400&display=swap');\r\n    #bc-wrap,#bc-wrap~*{}\r\n    .elementor-widget-shortcode,.elementor-widget-shortcode .elementor-widget-container{background:#000!important;}\r\n    #bc-wrap{\r\n        --gold:#c9a96e;--gold2:#dbb97e;\r\n        --bg:#000000;--bg2:#0a0a0a;--bg3:#0d0b06;\r\n        --bd:#2a2720;--bd2:#4a4438;\r\n        --txt:#e8e0d0;--muted:#a09070;--hint:#6a6050;--dim:#4a4030;\r\n        font-family:'Lato',sans-serif;font-weight:300;font-size:14px;\r\n        color:var(--txt);background:#000000!important;\r\n        padding:2.5rem 2.5rem;border-radius:0;\r\n        max-width:1100px;margin:0 auto;box-sizing:border-box;\r\n    }\r\n    .bc-cols{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;}\r\n    .bc-col-divider{width:1px;background:var(--bd);margin:0;}\r\n    #bc-wrap *{box-sizing:border-box;}\r\n    .bc-h1{font-family:'Raleway',Georgia,serif;font-size:32px;font-weight:300;letter-spacing:.12em;text-align:center;color:var(--gold);margin:0 0 .4rem;}\r\n    .bc-sub{text-align:center;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--hint);margin:0;}\r\n    .bc-sep{width:36px;height:1px;background:var(--gold);margin:1.25rem auto 2.5rem;opacity:.35;}\r\n    .bc-lbl{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-family:'Raleway',sans-serif;font-weight:500;}\r\n    .bc-field{margin:0 0 2rem;}\r\n    .bc-select,.bc-input,.bc-textarea{\r\n        width:100%;background:var(--bg2);border:1px solid var(--bd);\r\n        color:var(--txt);font-family:inherit;font-weight:300;font-size:14px;\r\n        padding:13px 18px;border-radius:6px;appearance:none;transition:border-color .2s;\r\n        margin:0;\r\n    }\r\n    .bc-select:focus,.bc-input:focus,.bc-textarea:focus{outline:none;border-color:var(--gold);}\r\n    .bc-select option{background:var(--bg2);}\r\n    .bc-sw{position:relative;}\r\n    .bc-sw::after{content:'\u203a';position:absolute;right:16px;top:50%;transform:translateY(-50%) rotate(90deg);color:var(--gold);pointer-events:none;font-size:18px;}\r\n    .bc-textarea{resize:vertical;min-height:100px;}\r\n    .bc-grid2{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:0;}\r\n    .bc-rows{display:flex;flex-direction:column;gap:10px;}\r\n    .bc-row{\r\n        display:flex;align-items:center;justify-content:space-between;\r\n        padding:13px 16px;background:var(--bg2);border:1px solid var(--bd);\r\n        border-radius:6px;cursor:pointer;transition:border-color .2s,background .2s;\r\n        margin:0;\r\n    }\r\n    .bc-row:hover{border-color:var(--bd2);}\r\n    .bc-row.on{border-color:var(--gold);background:var(--bg3);}\r\n    .bc-row input{accent-color:var(--gold);width:16px;height:16px;flex-shrink:0;cursor:pointer;margin:0;}\r\n    .bc-row-left{display:flex;align-items:center;gap:12px;}\r\n    .bc-row-right{font-size:12px;color:var(--gold);white-space:nowrap;padding-left:1rem;}\r\n    .bc-fee{font-size:11px;color:var(--hint);margin-left:6px;}\r\n    .bc-pbox{\r\n        background:#12110a;border:1px solid rgba(201,169,110,.18);border-radius:6px;\r\n        padding:1.5rem 1.75rem;display:flex;flex-direction:column;gap:1rem;\r\n        margin-top:2rem;transition:border-color .3s;\r\n    }\r\n    .bc-pbox.live{border-color:rgba(201,169,110,.45);}\r\n    .bc-plbl{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--hint);margin:0 0 4px;}\r\n    .bc-pdet{font-size:12px;color:var(--muted);line-height:1.7;margin:0;}\r\n    .bc-pamt-row{display:flex;align-items:baseline;justify-content:space-between;padding-top:.75rem;border-top:1px solid rgba(201,169,110,.15);}\r\n    .bc-pamt-lbl{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--hint);}\r\n    .bc-pamt{font-family:'Cormorant Garamond',Georgia,serif;font-size:44px;font-weight:300;color:var(--gold);line-height:1;}\r\n    .bc-btn{\r\n        width:100%;margin-top:1.75rem;padding:17px;\r\n        background:var(--gold);color:#0d0d0d;\r\n        font-family:inherit;font-weight:500;font-size:11px;\r\n        letter-spacing:.28em;text-transform:uppercase;\r\n        border:none;border-radius:4px;cursor:pointer;\r\n        transition:background .2s,transform .1s;\r\n    }\r\n    .bc-btn:hover{background:var(--gold2);}\r\n    .bc-btn:active{transform:scale(.99);}\r\n    .bc-btn:disabled{background:var(--bg2);color:var(--dim);cursor:not-allowed;}\r\n    .bc-err{display:none;background:rgba(200,50,50,.1);border:1px solid rgba(200,50,50,.3);color:#f08080;padding:12px 16px;border-radius:6px;font-size:13px;margin-top:1.25rem;}\r\n    .bc-spin{display:none;text-align:center;padding:12px;font-size:12px;color:var(--hint);letter-spacing:.12em;}\r\n    .bc-note{font-size:11px;color:var(--dim);text-align:center;margin-top:1.25rem;letter-spacing:.08em;}\r\n    .bc-stepper{display:flex;align-items:center;gap:0;border:1px solid var(--bd);border-radius:6px;overflow:hidden;width:fit-content;}\r\n    .bc-stepper button{background:var(--bg2);border:none;color:var(--gold);font-size:20px;font-weight:300;width:44px;height:44px;cursor:pointer;transition:background .15s;display:flex;align-items:center;justify-content:center;line-height:1;outline:none;-webkit-appearance:none;appearance:none;}\r\n    .bc-stepper button:hover{background:var(--bg3);}\r\n    .bc-stepper button:active{background:var(--bd);}\r\n    .bc-stepper-val{min-width:52px;text-align:center;font-family:'Cormorant Garamond',Georgia,serif;font-size:22px;font-weight:300;color:var(--txt);border-left:1px solid var(--bd);border-right:1px solid var(--bd);height:44px;display:flex;align-items:center;justify-content:center;}\r\n    .bc-stepper-lbl{font-size:11px;color:var(--hint);margin-left:12px;}\r\n    .bc-step{}\r\n    .bc-step.off{display:none!important;}\r\n    .bc-cats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;margin-bottom:2rem;}\r\n    .bc-cat{\r\n        padding:1.25rem 1rem;background:var(--bg2);border:1px solid var(--bd);\r\n        border-radius:8px;cursor:pointer;text-align:center;transition:all .2s;\r\n        font-family:'Raleway',sans-serif;user-select:none;-webkit-user-select:none;\r\n    }\r\n    .bc-cat:hover{border-color:var(--bd2);}\r\n    .bc-cat.on{border-color:var(--gold);background:var(--bg3);}\r\n    .bc-cat-icon{font-size:24px;margin-bottom:.5rem;display:block;}\r\n    .bc-cat-lbl{display:block;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--txt);font-weight:500;}\r\n    .bc-cat-sub{display:block;font-size:11px;color:var(--hint);margin-top:3px;letter-spacing:.05em;}\r\n    .bc-row-desc{font-size:11px;color:var(--hint);margin-top:3px;display:block;font-family:'Lato',sans-serif;}\r\n    .bc-row-content{display:flex;flex-direction:column;gap:1px;}\r\n    .bc-row-name{font-size:14px;color:var(--txt);font-family:'Lato',sans-serif;}\r\n    .bc-formule-item{transition:opacity .2s;}\r\n    .bc-formule-item.hidden{display:none;}\r\n    @media(max-width:780px){.bc-cols{grid-template-columns:1fr;gap:0;}.bc-col-divider{display:none;}.bc-cats{grid-template-columns:1fr!important;}}\r\n    .bc-valeur-input{display:none;}\r\n    .bc-valeur-input.on{display:block;}\r\n    .bc-valeur-wrap{position:relative;}\r\n    .bc-valeur-wrap::after{content:'\u20ac';position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--gold);pointer-events:none;font-size:16px;}\r\n    .bc-societe-fields{display:none;margin-top:1rem;}\r\n    .bc-societe-fields.on{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}\r\n    .bc-tva-ok{color:#4caf7d;font-size:11px;margin-top:4px;}\r\n    .bc-tva-err{color:#f08080;font-size:11px;margin-top:4px;}\r\n    .bc-legal{font-size:10px;color:var(--dim);text-align:center;margin-top:.5rem;letter-spacing:.06em;font-style:italic;}\r\n    #bc-montant::-webkit-outer-spin-button,\r\n    #bc-montant::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}\r\n    #bc-montant{-moz-appearance:textfield;}\r\n    @media(max-width:500px){.bc-grid2{grid-template-columns:1fr;}#bc-wrap{padding:2rem 1.25rem;}.bc-societe-fields.on{grid-template-columns:1fr;}}\r\n    <\/style>\r\n\r\n    <div class=\"bc-h1\">Bons Cadeaux<\/div>\r\n    <div class=\"bc-sub\">Offrez un moment d'exception<\/div>\r\n    <div class=\"bc-sep\"><\/div>\r\n\r\n    <form id=\"bc-form\" novalidate>\r\n    <div class=\"bc-cols\">\r\n\r\n        <div class=\"bc-col-left\">\r\n\r\n            <div class=\"bc-field\">\r\n                <label class=\"bc-lbl\">Que souhaitez-vous offrir ?<\/label>\r\n                <div class=\"bc-cats\">\r\n                    <div class=\"bc-cat\" id=\"bc-cat-sejour\" data-cat=\"sejour\">\r\n                        <span class=\"bc-cat-icon\">\r\n                            <svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#c9a96e\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n                                <path d=\"M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"\/><polyline points=\"9 22 9 12 15 12 15 22\"\/>\r\n                            <\/svg>\r\n                        <\/span>\r\n                        <span class=\"bc-cat-lbl\">Un s\u00e9jour gastronomique<\/span>\r\n                        <span class=\"bc-cat-sub\">Nuit \u00b7 Spa \u00b7 Gastronomie<\/span>\r\n                    <\/div>\r\n                    <div class=\"bc-cat\" id=\"bc-cat-restaurant\" data-cat=\"restaurant\">\r\n                        <span class=\"bc-cat-icon\">\r\n                            <svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#c9a96e\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n                                <path d=\"M18 8h1a4 4 0 0 1 0 8h-1\"\/><path d=\"M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V8z\"\/><line x1=\"6\" y1=\"1\" x2=\"6\" y2=\"4\"\/><line x1=\"10\" y1=\"1\" x2=\"10\" y2=\"4\"\/><line x1=\"14\" y1=\"1\" x2=\"14\" y2=\"4\"\/>\r\n                            <\/svg>\r\n                        <\/span>\r\n                        <span class=\"bc-cat-lbl\">Un bon pour le restaurant<\/span>\r\n                        <span class=\"bc-cat-sub\">D\u00eener \u00b7 Menu gastronomique<\/span>\r\n                    <\/div>\r\n                    <div class=\"bc-cat\" id=\"bc-cat-valeur\" data-cat=\"valeur\">\r\n                        <span class=\"bc-cat-icon\">\r\n                            <svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#c9a96e\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n                                <rect x=\"2\" y=\"6\" width=\"20\" height=\"12\" rx=\"2\"\/><circle cx=\"12\" cy=\"12\" r=\"2\"\/><path d=\"M6 12h.01M18 12h.01\"\/>\r\n                            <\/svg>\r\n                        <\/span>\r\n                        <span class=\"bc-cat-lbl\">Offrir un bon cadeau<\/span>\r\n                        <span class=\"bc-cat-sub\">Montant libre \u00b7 Toutes prestations<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"bc-field bc-step off\" id=\"bc-formules-wrap\">\r\n                <label class=\"bc-lbl\">Formule choisie *<\/label>\r\n                <div class=\"bc-rows\" id=\"bc-formules\">\r\n                                        <label class=\"bc-row bc-formule-item hidden\" data-cat=\"sejour\" for=\"bc-f-decouverte\">\r\n                        <div class=\"bc-row-left\">\r\n                            <input type=\"radio\" name=\"bc_formule\" id=\"bc-f-decouverte\"\r\n                                   value=\"decouverte\">\r\n                            <div class=\"bc-row-content\">\r\n                                <span class=\"bc-row-name\">S\u00e9jour D\u00e9couverte<\/span>\r\n                                                                <span class=\"bc-row-desc\">1 nuit \u00b7 Chambre &amp; petit-d\u00e9jeuner \u00b7 Acc\u00e8s spa<\/span>\r\n                                                            <\/div>\r\n                        <\/div>\r\n                                                <span class=\"bc-row-right\">\u00e0 partir de 409 \u20ac<\/span>\r\n                                            <\/label>\r\n                                        <label class=\"bc-row bc-formule-item hidden\" data-cat=\"sejour\" for=\"bc-f-bienetre\">\r\n                        <div class=\"bc-row-left\">\r\n                            <input type=\"radio\" name=\"bc_formule\" id=\"bc-f-bienetre\"\r\n                                   value=\"bienetre\">\r\n                            <div class=\"bc-row-content\">\r\n                                <span class=\"bc-row-name\">S\u00e9jour Bien-\u00eatre<\/span>\r\n                                                                <span class=\"bc-row-desc\">1 nuit \u00b7 Soin signature \u00b7 Acc\u00e8s spa &amp; piscine<\/span>\r\n                                                            <\/div>\r\n                        <\/div>\r\n                                                <span class=\"bc-row-right\">\u00e0 partir de 499 \u20ac<\/span>\r\n                                            <\/label>\r\n                                        <label class=\"bc-row bc-formule-item hidden\" data-cat=\"sejour\" for=\"bc-f-gourmands\">\r\n                        <div class=\"bc-row-left\">\r\n                            <input type=\"radio\" name=\"bc_formule\" id=\"bc-f-gourmands\"\r\n                                   value=\"gourmands\">\r\n                            <div class=\"bc-row-content\">\r\n                                <span class=\"bc-row-name\">S\u00e9jour Plaisirs Gourmands<\/span>\r\n                                                                <span class=\"bc-row-desc\">2 nuits \u00b7 D\u00eener gastronomique inclus \u00b7 Acc\u00e8s spa<\/span>\r\n                                                            <\/div>\r\n                        <\/div>\r\n                                                <span class=\"bc-row-right\">\u00e0 partir de 789 \u20ac<\/span>\r\n                                            <\/label>\r\n                                        <label class=\"bc-row bc-formule-item hidden\" data-cat=\"restaurant\" for=\"bc-f-renaissance\">\r\n                        <div class=\"bc-row-left\">\r\n                            <input type=\"radio\" name=\"bc_formule\" id=\"bc-f-renaissance\"\r\n                                   value=\"renaissance\">\r\n                            <div class=\"bc-row-content\">\r\n                                <span class=\"bc-row-name\">Menu Renaissance<\/span>\r\n                                                                <span class=\"bc-row-desc\">Exp\u00e9rience culinaire \u00b7 Prix fixe par personne<\/span>\r\n                                                            <\/div>\r\n                        <\/div>\r\n                                                <span class=\"bc-row-right\">\u00e0 partir de 104 \u20ac<\/span>\r\n                                            <\/label>\r\n                                        <label class=\"bc-row bc-formule-item hidden\" data-cat=\"restaurant\" for=\"bc-f-grand-menu\">\r\n                        <div class=\"bc-row-left\">\r\n                            <input type=\"radio\" name=\"bc_formule\" id=\"bc-f-grand-menu\"\r\n                                   value=\"grand-menu\">\r\n                            <div class=\"bc-row-content\">\r\n                                <span class=\"bc-row-name\">Grand Menu Lafarques<\/span>\r\n                                                                <span class=\"bc-row-desc\">Menu gastronomique signature \u00b7 5 ou 6 services<\/span>\r\n                                                            <\/div>\r\n                        <\/div>\r\n                                                <span class=\"bc-row-right\">\u00e0 partir de 118 \u20ac<\/span>\r\n                                            <\/label>\r\n                                        <label class=\"bc-row bc-formule-item hidden\" data-cat=\"restaurant\" for=\"bc-f-equilibre\">\r\n                        <div class=\"bc-row-left\">\r\n                            <input type=\"radio\" name=\"bc_formule\" id=\"bc-f-equilibre\"\r\n                                   value=\"equilibre\">\r\n                            <div class=\"bc-row-content\">\r\n                                <span class=\"bc-row-name\">Menu \u00c9quilibre<\/span>\r\n                                                                <span class=\"bc-row-desc\">Menu \u00e9quilibr\u00e9 \u00b7 59 \u20ac \/ personne<\/span>\r\n                                                            <\/div>\r\n                        <\/div>\r\n                                                <span class=\"bc-row-right\">\u00e0 partir de 59 \u20ac<\/span>\r\n                                            <\/label>\r\n                                    <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"bc-field bc-step off\" id=\"bc-step2-hotel\">\r\n                <div class=\"bc-grid2\" style=\"gap:1rem\">\r\n                    <div>\r\n                        <label class=\"bc-lbl\" for=\"bc-periode\">P\u00e9riode *<\/label>\r\n                        <div class=\"bc-sw\">\r\n                            <select class=\"bc-select\" id=\"bc-periode\">\r\n                                <option value=\"\">\u2014 Choisissez \u2014<\/option>\r\n                            <\/select>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div>\r\n                        <label class=\"bc-lbl\" for=\"bc-chambre\">Chambre *<\/label>\r\n                        <div class=\"bc-sw\">\r\n                            <select class=\"bc-select\" id=\"bc-chambre\">\r\n                                <option value=\"\">\u2014 Choisissez \u2014<\/option>\r\n                            <\/select>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"bc-field bc-step off\" id=\"bc-step2-resto\">\r\n                <label class=\"bc-lbl\" for=\"bc-services\">Nombre de services *<\/label>\r\n                <div class=\"bc-sw\">\r\n                    <select class=\"bc-select\" id=\"bc-services\">\r\n                        <option value=\"\">\u2014 Choisissez \u2014<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"bc-field bc-step off\" id=\"bc-valeur-input-wrap\">\r\n                <label class=\"bc-lbl\" for=\"bc-montant\">Montant du bon *<\/label>\r\n                <div style=\"position:relative\">\r\n                    <input class=\"bc-input\" type=\"number\" id=\"bc-montant\" min=\"10\" max=\"5000\" step=\"1\" placeholder=\"Ex : 150\" style=\"padding-right:2.5rem\">\r\n                    <span style=\"position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--gold);pointer-events:none\">\u20ac<\/span>\r\n                <\/div>\r\n                <p style=\"font-size:11px;color:var(--hint);margin-top:6px\">Montant minimum 10 \u20ac<\/p>\r\n            <\/div>\r\n\r\n            <div class=\"bc-field bc-step off\" id=\"bc-addon-vins-wrap\">\r\n                <label class=\"bc-lbl\">Option<\/label>\r\n                <div class=\"bc-rows\">\r\n                    <label class=\"bc-row\" for=\"bc-addon-vins\">\r\n                        <div class=\"bc-row-left\">\r\n                            <input type=\"checkbox\" id=\"bc-addon-vins\" name=\"addon_vins\" value=\"1\">\r\n                            <span id=\"bc-addon-vins-label\">S\u00e9lection de vins<\/span>\r\n                        <\/div>\r\n                        <span class=\"bc-row-right\" id=\"bc-addon-vins-price\"><\/span>\r\n                    <\/label>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"bc-field bc-step off\" id=\"bc-nb-personnes-wrap\">\r\n                <label class=\"bc-lbl\">Nombre de personnes *<\/label>\r\n                <div style=\"display:flex;align-items:center;gap:16px\">\r\n                    <div class=\"bc-stepper\">\r\n                        <button type=\"button\" id=\"bc-nb-moins\" aria-label=\"Moins\">\u2212<\/button>\r\n                        <div class=\"bc-stepper-val\" id=\"bc-nb-val\">1<\/div>\r\n                        <button type=\"button\" id=\"bc-nb-plus\"  aria-label=\"Plus\">+<\/button>\r\n                    <\/div>\r\n                    <span class=\"bc-stepper-lbl\" id=\"bc-nb-lbl\">personne<\/span>\r\n                    <input type=\"hidden\" id=\"bc-nb-personnes\" value=\"1\">\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"bc-field bc-step off\" id=\"bc-destinataire-wrap\">\r\n                <label class=\"bc-lbl\" for=\"bc-destinataire\">\u00c0 qui souhaitez-vous offrir ce bon ? (optionnel)<\/label>\r\n                <input class=\"bc-input\" type=\"text\" id=\"bc-destinataire\" name=\"destinataire\" placeholder=\"Pr\u00e9nom et nom du destinataire\">\r\n            <\/div>\r\n\r\n            <div class=\"bc-field\">\r\n                <label class=\"bc-lbl\">Mode de r\u00e9ception du bon *<\/label>\r\n                <div class=\"bc-rows\">\r\n                    <label class=\"bc-row on\" for=\"bc-liv-mail\">\r\n                        <div class=\"bc-row-left\">\r\n                            <input type=\"radio\" name=\"livraison\" id=\"bc-liv-mail\" value=\"mail\" checked>\r\n                            <span>Recevoir par e-mail <span class=\"bc-fee\">\u00b7 Gratuit<\/span><\/span>\r\n                        <\/div>\r\n                    <\/label>\r\n                    <label class=\"bc-row\" for=\"bc-liv-courrier\">\r\n                        <div class=\"bc-row-left\">\r\n                            <input type=\"radio\" name=\"livraison\" id=\"bc-liv-courrier\" value=\"courrier\">\r\n                            <span>Recevoir par courrier postal <span class=\"bc-fee\">\u00b7 + 7 \u20ac<\/span><\/span>\r\n                        <\/div>\r\n                    <\/label>\r\n                    <label class=\"bc-row\" for=\"bc-liv-retrait\">\r\n                        <div class=\"bc-row-left\">\r\n                            <input type=\"radio\" name=\"livraison\" id=\"bc-liv-retrait\" value=\"retrait\">\r\n                            <span>Venir le chercher \u00e0 l'h\u00f4tel <span class=\"bc-fee\">\u00b7 Gratuit<\/span><\/span>\r\n                        <\/div>\r\n                    <\/label>\r\n                <\/div>\r\n            <\/div>\r\n\r\n        <\/div>\r\n\r\n        <div class=\"bc-col-right\">\r\n\r\n            <div class=\"bc-field\">\r\n                <label class=\"bc-lbl\" for=\"bc-msg\">Message personnalis\u00e9 (optionnel)<\/label>\r\n                <textarea class=\"bc-textarea\" id=\"bc-msg\" placeholder=\"Votre message pour le destinataire\u2026\" style=\"min-height:130px\"><\/textarea>\r\n            <\/div>\r\n\r\n            <div class=\"bc-field\">\r\n                <label class=\"bc-lbl\" for=\"bc-nom\">Pr\u00e9nom & Nom *<\/label>\r\n                <input class=\"bc-input\" type=\"text\" id=\"bc-nom\" placeholder=\"Jean Dupont\" required>\r\n            <\/div>\r\n\r\n            <div class=\"bc-field\">\r\n                <label class=\"bc-lbl\" for=\"bc-email\">E-mail *<\/label>\r\n                <input class=\"bc-input\" type=\"email\" id=\"bc-email\" placeholder=\"jean@exemple.fr\" required>\r\n            <\/div>\r\n\r\n            <div class=\"bc-field\">\r\n                <label class=\"bc-row\" for=\"bc-need-facture\" style=\"cursor:pointer;padding:11px 14px\">\r\n                    <div class=\"bc-row-left\">\r\n                        <input type=\"checkbox\" id=\"bc-need-facture\">\r\n                        <span>Avez-vous besoin d'une facture au nom d'une soci\u00e9t\u00e9 ?<\/span>\r\n                    <\/div>\r\n                <\/label>\r\n                <div class=\"bc-societe-fields\" id=\"bc-societe-fields\">\r\n                    <div>\r\n                        <label class=\"bc-lbl\" for=\"bc-societe\" style=\"margin-top:.75rem\">Nom de la soci\u00e9t\u00e9 *<\/label>\r\n                        <input class=\"bc-input\" type=\"text\" id=\"bc-societe\" placeholder=\"Ma Soci\u00e9t\u00e9 SA\">\r\n                    <\/div>\r\n                    <div>\r\n                        <label class=\"bc-lbl\" for=\"bc-tva\" style=\"margin-top:.75rem\">N\u00b0 TVA *<\/label>\r\n                        <input class=\"bc-input\" type=\"text\" id=\"bc-tva\" placeholder=\"BE0123456789\" maxlength=\"12\">\r\n                        <p class=\"bc-tva-err\" id=\"bc-tva-msg\" style=\"display:none\"><\/p>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"bc-pbox\" id=\"bc-pbox\">\r\n                <div>\r\n                    <div class=\"bc-plbl\">R\u00e9capitulatif<\/div>\r\n                    <div class=\"bc-pdet\" id=\"bc-pdet\">S\u00e9lectionnez une formule<\/div>\r\n                <\/div>\r\n                <div class=\"bc-pamt-row\">\r\n                    <span class=\"bc-pamt-lbl\">Total<\/span>\r\n                    <span class=\"bc-pamt\" id=\"bc-pamt\">\u2014 \u20ac<\/span>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"bc-err\"  id=\"bc-err\"><\/div>\r\n            <div class=\"bc-spin\" id=\"bc-spin\">Pr\u00e9paration de votre commande\u2026<\/div>\r\n            <button type=\"submit\" class=\"bc-btn\" id=\"bc-btn\" disabled>Proc\u00e9der au paiement \u2192<\/button>\r\n            <p class=\"bc-note\">Paiement 100 % s\u00e9curis\u00e9 \u00b7 Bon valable 12 mois<\/p>\r\n            <p class=\"bc-legal\">Chaque bon cadeau est consid\u00e9r\u00e9 comme un bon valeur \u00e0 la date d'\u00e9mission<\/p>\r\n\r\n        <\/div>\r\n\r\n    <\/div>\r\n    <\/form>\r\n    <\/div>\r\n\r\n    <script>\r\n    (function(){\r\n        var PRODUCTS = [{\"id\":3991,\"slug\":\"decouverte\",\"label\":\"S\\u00e9jour D\\u00e9couverte\",\"desc\":\"1 nuit \\u00b7 Chambre & petit-d\\u00e9jeuner \\u00b7 Acc\\u00e8s spa\",\"cat\":\"sejour\",\"type\":\"hotel\",\"addon_vins\":{\"label\":\"S\\u00e9lection de vins\",\"price\":116},\"periodes\":[\"Week\",\"Weekend\"],\"chambres\":[\"Deluxe\",\"Junior Suite\",\"Standard\"],\"variations\":[{\"variation_id\":3992,\"periode\":\"Week\",\"chambre\":\"Deluxe\",\"price\":449,\"price_html\":\"449 \\u20ac\"},{\"variation_id\":3993,\"periode\":\"Week\",\"chambre\":\"Junior Suite\",\"price\":469,\"price_html\":\"469 \\u20ac\"},{\"variation_id\":3994,\"periode\":\"Week\",\"chambre\":\"Standard\",\"price\":409,\"price_html\":\"409 \\u20ac\"},{\"variation_id\":3995,\"periode\":\"Weekend\",\"chambre\":\"Deluxe\",\"price\":549,\"price_html\":\"549 \\u20ac\"},{\"variation_id\":3996,\"periode\":\"Weekend\",\"chambre\":\"Junior Suite\",\"price\":589,\"price_html\":\"589 \\u20ac\"},{\"variation_id\":3997,\"periode\":\"Weekend\",\"chambre\":\"Standard\",\"price\":509,\"price_html\":\"509 \\u20ac\"}]},{\"id\":4273,\"slug\":\"bienetre\",\"label\":\"S\\u00e9jour Bien-\\u00eatre\",\"desc\":\"1 nuit \\u00b7 Soin signature \\u00b7 Acc\\u00e8s spa & piscine\",\"cat\":\"sejour\",\"type\":\"hotel\",\"addon_vins\":null,\"periodes\":[\"Week\",\"Weekend\"],\"chambres\":[\"Standard\",\"Deluxe\",\"Junior Suite\"],\"variations\":[{\"variation_id\":4276,\"periode\":\"Week\",\"chambre\":\"Standard\",\"price\":499,\"price_html\":\"499 \\u20ac\"},{\"variation_id\":4274,\"periode\":\"Week\",\"chambre\":\"Deluxe\",\"price\":539,\"price_html\":\"539 \\u20ac\"},{\"variation_id\":4275,\"periode\":\"Week\",\"chambre\":\"Junior Suite\",\"price\":559,\"price_html\":\"559 \\u20ac\"},{\"variation_id\":4279,\"periode\":\"Weekend\",\"chambre\":\"Standard\",\"price\":599,\"price_html\":\"599 \\u20ac\"},{\"variation_id\":4277,\"periode\":\"Weekend\",\"chambre\":\"Deluxe\",\"price\":639,\"price_html\":\"639 \\u20ac\"},{\"variation_id\":4278,\"periode\":\"Weekend\",\"chambre\":\"Junior Suite\",\"price\":679,\"price_html\":\"679 \\u20ac\"}]},{\"id\":4336,\"slug\":\"gourmands\",\"label\":\"S\\u00e9jour Plaisirs Gourmands\",\"desc\":\"2 nuits \\u00b7 D\\u00eener gastronomique inclus \\u00b7 Acc\\u00e8s spa\",\"cat\":\"sejour\",\"type\":\"hotel\",\"addon_vins\":{\"label\":\"S\\u00e9lection de vins\",\"price\":212},\"periodes\":[\"Week\",\"Weekend\"],\"chambres\":[\"Deluxe\",\"Junior Suite\",\"Standard\"],\"variations\":[{\"variation_id\":4337,\"periode\":\"Week\",\"chambre\":\"Deluxe\",\"price\":859,\"price_html\":\"859 \\u20ac\"},{\"variation_id\":4338,\"periode\":\"Week\",\"chambre\":\"Junior Suite\",\"price\":899,\"price_html\":\"899 \\u20ac\"},{\"variation_id\":4339,\"periode\":\"Week\",\"chambre\":\"Standard\",\"price\":789,\"price_html\":\"789 \\u20ac\"},{\"variation_id\":4340,\"periode\":\"Weekend\",\"chambre\":\"Deluxe\",\"price\":1069,\"price_html\":\"1 069 \\u20ac\"},{\"variation_id\":4341,\"periode\":\"Weekend\",\"chambre\":\"Junior Suite\",\"price\":1149,\"price_html\":\"1 149 \\u20ac\"},{\"variation_id\":4342,\"periode\":\"Weekend\",\"chambre\":\"Standard\",\"price\":989,\"price_html\":\"989 \\u20ac\"}]},{\"id\":4348,\"slug\":\"renaissance\",\"label\":\"Menu Renaissance\",\"desc\":\"Exp\\u00e9rience culinaire \\u00b7 Prix fixe par personne\",\"cat\":\"restaurant\",\"type\":\"simple\",\"addon_vins\":{\"label\":\"S\\u00e9lection de vins\",\"price\":48},\"price\":104,\"price_html\":\"104 \\u20ac\"},{\"id\":4360,\"slug\":\"grand-menu\",\"label\":\"Grand Menu Lafarques\",\"desc\":\"Menu gastronomique signature \\u00b7 5 ou 6 services\",\"cat\":\"restaurant\",\"type\":\"restaurant\",\"addon_vins\":{\"label\":\"S\\u00e9lection de vins\",\"price\":58},\"services\":[\"5\",\"6\"],\"variations\":[{\"variation_id\":4361,\"services\":\"5\",\"price\":118,\"price_html\":\"118 \\u20ac\",\"addon_vins\":{\"label\":\"S\\u00e9lection de vins\",\"price\":58}},{\"variation_id\":4362,\"services\":\"6\",\"price\":130,\"price_html\":\"130 \\u20ac\",\"addon_vins\":{\"label\":\"S\\u00e9lection de vins\",\"price\":58}}]},{\"id\":4738,\"slug\":\"equilibre\",\"label\":\"Menu \\u00c9quilibre\",\"desc\":\"Menu \\u00e9quilibr\\u00e9 \\u00b7 59 \\u20ac \\\/ personne\",\"cat\":\"restaurant\",\"type\":\"simple\",\"addon_vins\":{\"label\":\"S\\u00e9lection de vins\",\"price\":29},\"price\":59,\"price_html\":\"59 \\u20ac\"}];\r\n        PRODUCTS.push({\r\n            id: 0, slug: 'bon-valeur', label: 'Bon cadeau valeur',\r\n            desc: 'Montant libre \u00b7 Valable sur toutes nos prestations',\r\n            type: 'valeur', cat: 'valeur',\r\n            addon_vins: null, variations: [], periodes: [], chambres: []\r\n        });\r\n        var AJAX_URL = 'https:\/\/www.lafarques.be\/wp-admin\/admin-ajax.php';\r\n        var NONCE    = 'a68c3a19cf';\r\n        var COURRIER = 7;\r\n\r\n        var selPeriode   = document.getElementById('bc-periode');\r\n        var selChambre   = document.getElementById('bc-chambre');\r\n        var selServices  = document.getElementById('bc-services');\r\n        var step2Hotel   = document.getElementById('bc-step2-hotel');\r\n        var step2Resto   = document.getElementById('bc-step2-resto');\r\n        var wrapVins     = document.getElementById('bc-addon-vins-wrap');\r\n        var formulesWrap  = document.getElementById('bc-formules-wrap');\r\n        var valeurWrap    = document.getElementById('bc-valeur-input-wrap');\r\n        var cbFacture     = document.getElementById('bc-need-facture');\r\n        var societeFields = document.getElementById('bc-societe-fields');\r\n        var tvaMsgEl      = document.getElementById('bc-tva-msg');\r\n\r\n        if (cbFacture) {\r\n            cbFacture.addEventListener('change', function(){\r\n                this.closest('.bc-row').classList.toggle('on', this.checked);\r\n                if (this.checked) {\r\n                    societeFields.classList.add('on');\r\n                } else {\r\n                    societeFields.classList.remove('on');\r\n                    document.getElementById('bc-societe').value = '';\r\n                    document.getElementById('bc-tva').value = '';\r\n                    if (tvaMsgEl) tvaMsgEl.style.display = 'none';\r\n                }\r\n            });\r\n        }\r\n\r\n        if (document.getElementById('bc-tva')) {\r\n            document.getElementById('bc-tva').addEventListener('input', function(){\r\n                var val = this.value.trim().toUpperCase().replace(\/\\s\/g, '');\r\n                if (!val) { tvaMsgEl.style.display = 'none'; return; }\r\n                var ok = \/^BE0[0-9]{9}$\/.test(val);\r\n                tvaMsgEl.className = ok ? 'bc-tva-ok' : 'bc-tva-err';\r\n                tvaMsgEl.textContent = ok ? '\u2713 Format valide' : 'Format invalide \u2014 ex : BE0123456789';\r\n                tvaMsgEl.style.display = 'block';\r\n            });\r\n        }\r\n        var wrapPersonne = document.getElementById('bc-nb-personnes-wrap');\r\n        var cbVins       = document.getElementById('bc-addon-vins');\r\n        var lblVins      = document.getElementById('bc-addon-vins-label');\r\n        var priceVins    = document.getElementById('bc-addon-vins-price');\r\n        var nbInput      = document.getElementById('bc-nb-personnes');\r\n        var nbVal        = document.getElementById('bc-nb-val');\r\n        var nbLbl        = document.getElementById('bc-nb-lbl');\r\n        var nbMoins      = document.getElementById('bc-nb-moins');\r\n        var nbPlus       = document.getElementById('bc-nb-plus');\r\n        var pbox         = document.getElementById('bc-pbox');\r\n        var pamt         = document.getElementById('bc-pamt');\r\n        var pdet         = document.getElementById('bc-pdet');\r\n        var btn          = document.getElementById('bc-btn');\r\n        var errBox       = document.getElementById('bc-err');\r\n        var spinBox      = document.getElementById('bc-spin');\r\n\r\n        var currentProduct   = null;\r\n        var currentVariation = null;\r\n        var livraisonFee     = 0;\r\n        var nbCount          = 1;\r\n\r\n        function show(el){ if(el){ el.classList.remove('off'); el.style.display=''; } }\r\n        function hide(el){ if(el){ el.classList.add('off'); el.style.display='none'; } }\r\n\r\n        function setNb(n){\r\n            nbCount = Math.max(1, Math.min(20, n));\r\n            nbInput.value             = nbCount;\r\n            nbVal.textContent         = nbCount;\r\n            nbLbl.textContent         = nbCount === 1 ? 'personne' : 'personnes';\r\n            nbMoins.style.opacity     = nbCount <= 1  ? '0.3' : '1';\r\n            nbPlus.style.opacity      = nbCount >= 20 ? '0.3' : '1';\r\n            updatePrice();\r\n        }\r\n\r\n        function getAddonVins(){\r\n            if ( !currentProduct ) return null;\r\n            if ( currentProduct.type === 'restaurant' && currentVariation && currentVariation.addon_vins )\r\n                return currentVariation.addon_vins;\r\n            return currentProduct.addon_vins || null;\r\n        }\r\n\r\n        function showDestinataireWrap(){\r\n            var dw = document.getElementById('bc-destinataire-wrap');\r\n            if ( dw && currentProduct ) show(dw);\r\n        }\r\n\r\n        function updateAddonVinsDisplay(){\r\n            var av = getAddonVins();\r\n            if ( av ) {\r\n                lblVins.textContent   = av.label;\r\n                priceVins.textContent = '+ ' + Math.round(av.price) + ' \\u20ac';\r\n                show(wrapVins);\r\n                cbVins.checked = false;\r\n                cbVins.closest('.bc-row').classList.remove('on');\r\n            } else {\r\n                hide(wrapVins);\r\n                cbVins.checked = false;\r\n            }\r\n            if ( currentProduct && (currentProduct.type === 'restaurant' || currentProduct.type === 'simple') && currentVariation ) {\r\n                show(wrapPersonne);\r\n            } else {\r\n                hide(wrapPersonne);\r\n                setNb(1);\r\n            }\r\n        }\r\n\r\n        function getNbPersonnes(){\r\n            if ( !currentProduct ) return 1;\r\n            if ( currentProduct.type === 'restaurant' || currentProduct.type === 'simple' ) return nbCount;\r\n            return 1;\r\n        }\r\n\r\n        function isFormValid(){\r\n            var nom   = document.getElementById('bc-nom').value.trim();\r\n            var email = document.getElementById('bc-email').value.trim();\r\n            return !!( currentVariation && nom && \/\\S+@\\S+\\.\\S+\/.test(email) );\r\n        }\r\n\r\n        function updatePrice(){\r\n            errBox.style.display = 'none';\r\n            if ( currentProduct && currentProduct.type === 'valeur' ) {\r\n                var montant = parseFloat(document.getElementById('bc-montant').value) || 0;\r\n                if (montant >= 10) {\r\n                    currentVariation = { price: montant, price_html: montant.toFixed(0) + ' \u20ac', variation_id: 0 };\r\n                } else {\r\n                    currentVariation = null;\r\n                }\r\n            }\r\n            if ( !currentVariation ) {\r\n                pamt.textContent = '\\u2014 \\u20ac';\r\n                pdet.textContent = !currentProduct\r\n                    ? 'S\\u00e9lectionnez une formule'\r\n                    : currentProduct.type === 'hotel'\r\n                        ? 'Choisissez une p\\u00e9riode et une chambre'\r\n                        : currentProduct.type === 'restaurant'\r\n                            ? 'Choisissez le nombre de services'\r\n                            : 'S\\u00e9lectionnez une formule';\r\n                pbox.classList.remove('live');\r\n                btn.disabled = true;\r\n                return;\r\n            }\r\n            var nb        = getNbPersonnes();\r\n            var av        = getAddonVins();\r\n            var addonVins = (av && cbVins.checked) ? av.price : 0;\r\n            var total     = currentVariation.price * nb + addonVins * nb + livraisonFee;\r\n\r\n            pamt.textContent = Math.round(total) + ' \\u20ac';\r\n            pbox.classList.add('live');\r\n\r\n            var parts = [ currentProduct.label ];\r\n            if ( currentProduct.type === 'hotel' )\r\n                parts.push(selPeriode.value + ' \\u00b7 ' + selChambre.value);\r\n            else if ( currentProduct.type === 'restaurant' )\r\n                parts.push(selServices.value);\r\n            parts.push(currentVariation.price_html + (nb > 1 ? ' \\u00d7 ' + nb : ''));\r\n            if ( addonVins ) parts.push(av.label + ' +' + Math.round(addonVins * nb) + ' \\u20ac');\r\n            if ( livraisonFee ) parts.push('Envoi +' + Math.round(livraisonFee) + ' \\u20ac');\r\n            pdet.textContent = parts.join(' \\u00b7 ');\r\n\r\n            var nom   = document.getElementById('bc-nom').value.trim();\r\n            var email = document.getElementById('bc-email').value.trim();\r\n            btn.disabled = !isFormValid();\r\n        }\r\n\r\n        nbMoins.addEventListener('click', function(){ setNb(nbCount - 1); this.blur(); });\r\n        nbPlus.addEventListener('click',  function(){ setNb(nbCount + 1); this.blur(); });\r\n        nbMoins.style.opacity = '0.3';\r\n\r\n        document.querySelectorAll('.bc-cat').forEach(function(cat){\r\n            cat.addEventListener('click', function(){\r\n                var selectedCat = this.dataset.cat;\r\n\r\n                document.querySelectorAll('.bc-cat').forEach(function(c){ c.classList.remove('on'); });\r\n                this.classList.add('on');\r\n\r\n                currentProduct   = null;\r\n                currentVariation = null;\r\n                document.querySelectorAll('input[name=bc_formule]').forEach(function(rb){ rb.checked = false; });\r\n                document.querySelectorAll('#bc-formules .bc-row').forEach(function(r){ r.classList.remove('on'); });\r\n                selPeriode.innerHTML  = '<option value=\"\">\u2014 Choisissez \u2014<\/option>';\r\n                selChambre.innerHTML  = '<option value=\"\">\u2014 Choisissez \u2014<\/option>';\r\n                selServices.innerHTML = '<option value=\"\">\u2014 Choisissez \u2014<\/option>';\r\n                hide(step2Hotel); hide(step2Resto);\r\n                hide(wrapVins);   hide(wrapPersonne);\r\n                if (valeurWrap) hide(valeurWrap);\r\n                var dw = document.getElementById('bc-destinataire-wrap'); if(dw) hide(dw);\r\n                cbVins.checked = false;\r\n                setNb(1);\r\n                updatePrice();\r\n\r\n                document.querySelectorAll('.bc-formule-item').forEach(function(item){\r\n                    if ( item.dataset.cat === selectedCat ) {\r\n                        item.classList.remove('hidden');\r\n                    } else {\r\n                        item.classList.add('hidden');\r\n                        var rb = item.querySelector('input[type=radio]');\r\n                        if (rb) rb.checked = false;\r\n                    }\r\n                });\r\n\r\n                show(formulesWrap);\r\n                if ( selectedCat === 'valeur' ) {\r\n                    hide(formulesWrap);\r\n                    currentProduct = PRODUCTS.find(function(p){ return p.slug === 'bon-valeur'; }) || null;\r\n                    if (currentProduct) {\r\n                        show(valeurWrap);\r\n                        document.getElementById('bc-montant').value = '';\r\n                        currentVariation = null;\r\n                        updatePrice();\r\n                    }\r\n                }\r\n            });\r\n        });\r\n\r\n        document.querySelectorAll('input[name=bc_formule]').forEach(function(rb){\r\n            rb.addEventListener('change', function(){\r\n                var slug = this.value;\r\n                currentProduct   = PRODUCTS.find(function(p){ return p.slug === slug; }) || null;\r\n                currentVariation = null;\r\n\r\n                document.querySelectorAll('#bc-formules .bc-row').forEach(function(r){ r.classList.remove('on'); });\r\n                this.closest('.bc-row').classList.add('on');\r\n\r\n                selPeriode.innerHTML  = '<option value=\"\">\\u2014 Choisissez \\u2014<\/option>';\r\n                selChambre.innerHTML  = '<option value=\"\">\\u2014 Choisissez \\u2014<\/option>';\r\n                selServices.innerHTML = '<option value=\"\">\\u2014 Choisissez \\u2014<\/option>';\r\n                hide(step2Hotel); hide(step2Resto);\r\n                hide(wrapVins);   hide(wrapPersonne);\r\n                if (valeurWrap) hide(valeurWrap);\r\n                var dw = document.getElementById('bc-destinataire-wrap'); if(dw) hide(dw);\r\n                cbVins.checked = false;\r\n                setNb(1);\r\n\r\n                if ( !currentProduct ) { updatePrice(); return; }\r\n\r\n                if ( currentProduct.type === 'hotel' ) {\r\n                    currentProduct.periodes.forEach(function(p){\r\n                        var o = document.createElement('option');\r\n                        o.value = p; o.textContent = p; selPeriode.appendChild(o);\r\n                    });\r\n                    show(step2Hotel);\r\n\r\n                } else if ( currentProduct.type === 'restaurant' ) {\r\n                    currentProduct.services.forEach(function(s){\r\n                        var o = document.createElement('option');\r\n                        o.value = s; o.textContent = s; selServices.appendChild(o);\r\n                    });\r\n                    show(step2Resto);\r\n\r\n                } else if ( currentProduct.type === 'simple' ) {\r\n                    currentVariation = { price: currentProduct.price, price_html: currentProduct.price_html, variation_id: 0 };\r\n                    updateAddonVinsDisplay();\r\n                    showDestinataireWrap();\r\n\r\n                } else if ( currentProduct.type === 'valeur' ) {\r\n                    show(valeurWrap);\r\n                    showDestinataireWrap();\r\n                    document.getElementById('bc-montant').value = '';\r\n                    currentVariation = { price: 0, price_html: '\u2014 \u20ac', variation_id: 0 };\r\n                }\r\n\r\n                updatePrice();\r\n            });\r\n        });\r\n\r\n        selPeriode.addEventListener('change', function(){\r\n            currentVariation = null;\r\n            selChambre.innerHTML = '<option value=\"\">\\u2014 Choisissez \\u2014<\/option>';\r\n            if ( currentProduct && this.value ) {\r\n                var per = this.value, seen = {};\r\n                currentProduct.variations.filter(function(v){ return v.periode === per; })\r\n                    .forEach(function(v){\r\n                        if ( !seen[v.chambre] ) {\r\n                            seen[v.chambre] = true;\r\n                            var o = document.createElement('option');\r\n                            o.value = v.chambre; o.textContent = v.chambre; selChambre.appendChild(o);\r\n                        }\r\n                    });\r\n            }\r\n            updateVariationHotel();\r\n        });\r\n\r\n        selChambre.addEventListener('change', updateVariationHotel);\r\n        function updateVariationHotel(){\r\n            currentVariation = null;\r\n            var per = selPeriode.value, cha = selChambre.value;\r\n            if ( currentProduct && per && cha ) {\r\n                currentVariation = currentProduct.variations.find(function(v){\r\n                    return v.periode === per && v.chambre === cha;\r\n                }) || null;\r\n            }\r\n            updateAddonVinsDisplay();\r\n            updatePrice();\r\n        }\r\n\r\n        selServices.addEventListener('change', function(){\r\n            currentVariation = null;\r\n            if ( currentProduct && this.value ) {\r\n                var svc = this.value;\r\n                currentVariation = currentProduct.variations.find(function(v){ return v.services === svc; }) || null;\r\n            }\r\n            updateAddonVinsDisplay();\r\n            updatePrice();\r\n        });\r\n\r\n        cbVins.addEventListener('change', function(){\r\n            this.closest('.bc-row').classList.toggle('on', this.checked);\r\n            updatePrice();\r\n        });\r\n\r\n        document.querySelectorAll('input[name=livraison]').forEach(function(rb){\r\n            rb.addEventListener('change', function(){\r\n                document.querySelectorAll('.bc-row').forEach(function(r){\r\n                    if ( r.querySelector('input[name=livraison]') ) r.classList.remove('on');\r\n                });\r\n                this.closest('.bc-row').classList.add('on');\r\n                livraisonFee = this.value === 'courrier' ? COURRIER : 0;\r\n                updatePrice();\r\n            });\r\n        });\r\n\r\n        ['bc-nom','bc-email'].forEach(function(id){\r\n            document.getElementById(id).addEventListener('input', updatePrice);\r\n        });\r\n        if (document.getElementById('bc-montant')) document.getElementById('bc-montant').addEventListener('input', function(){\r\n            if (currentProduct && currentProduct.type === 'valeur') updatePrice();\r\n        });\r\n\r\n        document.getElementById('bc-form').addEventListener('submit', function(e){\r\n            e.preventDefault();\r\n            if ( currentProduct && currentProduct.type === 'valeur' ) {\r\n                var montantVal = parseFloat(document.getElementById('bc-montant').value) || 0;\r\n                if ( montantVal < 10 ) {\r\n                    errBox.textContent = 'Veuillez saisir un montant minimum de 10 \u20ac.';\r\n                    errBox.style.display = 'block';\r\n                    return;\r\n                }\r\n            } else if ( !currentVariation ) { return; }\r\n\r\n            errBox.style.display  = 'none';\r\n            spinBox.style.display = 'block';\r\n            btn.disabled = true;\r\n\r\n            var liv = document.querySelector('input[name=livraison]:checked');\r\n            var formuleRb = document.querySelector('input[name=bc_formule]:checked');\r\n            var formuleSlug = (currentProduct && currentProduct.type === 'valeur')\r\n                ? 'bon-valeur'\r\n                : (formuleRb ? formuleRb.value : '');\r\n\r\n            var body = new URLSearchParams({\r\n                action:       'bc_add_to_cart',\r\n                nonce:        NONCE,\r\n                formule:      formuleSlug,\r\n                periode:      selPeriode.value,\r\n                chambre:      selChambre.value,\r\n                services:     selServices.value,\r\n                nb_personnes: getNbPersonnes(),\r\n                variation_id: currentVariation.variation_id,\r\n                product_type: currentProduct ? currentProduct.type : 'hotel',\r\n                livraison:    liv ? liv.value : 'mail',\r\n                message:      document.getElementById('bc-msg').value,\r\n                addon_vins:     cbVins.checked ? '1' : '0',\r\n                montant_valeur: (currentProduct && currentProduct.type === 'valeur') ? (parseFloat(document.getElementById('bc-montant').value) || 0) : 0,\r\n            });\r\n\r\n            fetch(AJAX_URL, {\r\n                method:  'POST',\r\n                headers: {'Content-Type':'application\/x-www-form-urlencoded'},\r\n                body:    body.toString()\r\n            })\r\n            .then(function(r){ return r.json(); })\r\n            .then(function(resp){\r\n                spinBox.style.display = 'none';\r\n                if ( resp.success && resp.data.checkout_url ) {\r\n                    window.location.href = resp.data.checkout_url;\r\n                } else {\r\n                    errBox.textContent   = (resp.data && resp.data.message) || 'Une erreur est survenue.';\r\n                    errBox.style.display = 'block';\r\n                    btn.disabled = false;\r\n                }\r\n            })\r\n            .catch(function(){\r\n                spinBox.style.display = 'none';\r\n                errBox.textContent   = 'Erreur r\\u00e9seau. Veuillez r\\u00e9essayer.';\r\n                errBox.style.display = 'block';\r\n                btn.disabled = false;\r\n            });\r\n        });\r\n\r\n    })();\r\n    <\/script>\r\n    <\/div>\n\t\t\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>\n\t\t","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-2655","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.lafarques.be\/en\/wp-json\/wp\/v2\/pages\/2655","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lafarques.be\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.lafarques.be\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.lafarques.be\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lafarques.be\/en\/wp-json\/wp\/v2\/comments?post=2655"}],"version-history":[{"count":13,"href":"https:\/\/www.lafarques.be\/en\/wp-json\/wp\/v2\/pages\/2655\/revisions"}],"predecessor-version":[{"id":4755,"href":"https:\/\/www.lafarques.be\/en\/wp-json\/wp\/v2\/pages\/2655\/revisions\/4755"}],"wp:attachment":[{"href":"https:\/\/www.lafarques.be\/en\/wp-json\/wp\/v2\/media?parent=2655"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}