{"id":3868,"date":"2025-10-06T13:46:46","date_gmt":"2025-10-06T11:46:46","guid":{"rendered":"https:\/\/raiffeisen-parc.ch\/?page_id=3868"},"modified":"2026-02-06T01:38:02","modified_gmt":"2026-02-05T23:38:02","slug":"gutscheine","status":"publish","type":"page","link":"https:\/\/raiffeisen-parc.ch\/de\/bons-cadeau\/","title":{"rendered":"Bons cadeau"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"3868\" class=\"elementor elementor-3868\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c13029d e-flex e-con-boxed e-con e-parent\" data-id=\"c13029d\" data-element_type=\"container\" data-settings=\"{&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-b2f88f1 elementor-widget elementor-widget-heading\" data-id=\"b2f88f1\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Commander un bon cadeau<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-479c1ab elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"479c1ab\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Qu\u2019il s\u2019agisse d\u2019une journ\u00e9e en famille, d\u2019activit\u00e9s palpitantes entre amis ou d\u2019un moment de d\u00e9tente au c\u0153ur du parc, le bon cadeau Raiffeisen Parc est le pr\u00e9sent id\u00e9al pour petits et grands.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7a76b39 elementor-absolute elementor-hidden-tablet elementor-hidden-mobile elementor-widget elementor-widget-image\" data-id=\"7a76b39\" data-element_type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;}\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"800\" height=\"951\" src=\"https:\/\/raiffeisen-parc.ch\/wp-content\/uploads\/2025\/07\/Mascotte_couleurs_full-bowling.svg\" class=\"attachment-large size-large wp-image-1420\" alt=\"\" \/>\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 class=\"elementor-element elementor-element-b1dc2f6 elementor-widget elementor-widget-shortcode\" data-id=\"b1dc2f6\" data-element_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 class=\"gv-form-container\" id=\"gv-form\">\r\n        <form id=\"gv-voucher-form\" method=\"post\">\r\n            <input type=\"hidden\" id=\"gv_nonce\" name=\"gv_nonce\" value=\"058d28d7fa\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/de\/wp-json\/wp\/v2\/pages\/3868\" \/>            \r\n            <!-- \u00c9tape 1 : Panier unifi\u00e9 -->\r\n            <div class=\"gv-step gv-step-1 active\">\r\n\r\n                \r\n                <!-- Panier unifi\u00e9 -->\r\n                <div class=\"gv-cart-section\">\r\n                    <h3>Composez votre commande<\/h3>\r\n                    <div class=\"gv-cart-items\">\r\n                        <!-- Bon 20 CHF -->\r\n                        <div class=\"gv-cart-item\" data-type=\"standard\" data-amount=\"20\">\r\n                            <div class=\"gv-cart-item-info\">\r\n                                <div class=\"gv-cart-item-title\">\r\n                                    <span class=\"gv-icon\">\ud83c\udf81<\/span>\r\n                                    Bon Cadeau 20 CHF\r\n                                <\/div>\r\n                                <div class=\"gv-cart-item-price\">20.00 CHF \/ pi\u00e8ce<\/div>\r\n                                <small style=\"color:#666;margin-top:5px;display:block;\">Bons digitaux<\/small>\r\n                            <\/div>\r\n                            <div class=\"gv-cart-item-quantity\">\r\n                                <button type=\"button\" class=\"gv-qty-btn\" onclick=\"gvDecreaseQty(20)\">\r\n                                    <span>\u2212<\/span>\r\n                                <\/button>\r\n                                <input type=\"number\" id=\"qty-20\" class=\"gv-qty-input\" value=\"0\" min=\"0\" readonly>\r\n                                <button type=\"button\" class=\"gv-qty-btn\" onclick=\"gvIncreaseQty(20)\">\r\n                                    <span>+<\/span>\r\n                                <\/button>\r\n                            <\/div>\r\n                        <\/div>\r\n                        \r\n                        <!-- Bon 50 CHF -->\r\n                        <div class=\"gv-cart-item\" data-type=\"standard\" data-amount=\"50\">\r\n                            <div class=\"gv-cart-item-info\">\r\n                                <div class=\"gv-cart-item-title\">\r\n                                    <span class=\"gv-icon\">\ud83c\udf81<\/span>\r\n                                    Bon Cadeau 50 CHF\r\n                                <\/div>\r\n                                <div class=\"gv-cart-item-price\">50.00 CHF \/ pi\u00e8ce<\/div>\r\n                                <small style=\"color:#666;margin-top:5px;display:block;\">Bons digitaux<\/small>\r\n                            <\/div>\r\n                            <div class=\"gv-cart-item-quantity\">\r\n                                <button type=\"button\" class=\"gv-qty-btn\" onclick=\"gvDecreaseQty(50)\">\r\n                                    <span>\u2212<\/span>\r\n                                <\/button>\r\n                                <input type=\"number\" id=\"qty-50\" class=\"gv-qty-input\" value=\"0\" min=\"0\" readonly>\r\n                                <button type=\"button\" class=\"gv-qty-btn\" onclick=\"gvIncreaseQty(50)\">\r\n                                    <span>+<\/span>\r\n                                <\/button>\r\n                            <\/div>\r\n                        <\/div>\r\n                        \r\n                        <!-- Bon 100 CHF -->\r\n                        <div class=\"gv-cart-item\" data-type=\"standard\" data-amount=\"100\">\r\n                            <div class=\"gv-cart-item-info\">\r\n                                <div class=\"gv-cart-item-title\">\r\n                                    <span class=\"gv-icon\">\ud83c\udf81<\/span>\r\n                                    Bon Cadeau 100 CHF\r\n                                <\/div>\r\n                                <div class=\"gv-cart-item-price\">100.00 CHF \/ pi\u00e8ce<\/div>\r\n                                <small style=\"color:#666;margin-top:5px;display:block;\">Bons digitaux<\/small>\r\n                            <\/div>\r\n                            <div class=\"gv-cart-item-quantity\">\r\n                                <button type=\"button\" class=\"gv-qty-btn\" onclick=\"gvDecreaseQty(100)\">\r\n                                    <span>\u2212<\/span>\r\n                                <\/button>\r\n                                <input type=\"number\" id=\"qty-100\" class=\"gv-qty-input\" value=\"0\" min=\"0\" readonly>\r\n                                <button type=\"button\" class=\"gv-qty-btn\" onclick=\"gvIncreaseQty(100)\">\r\n                                    <span>+<\/span>\r\n                                <\/button>\r\n                            <\/div>\r\n                        <\/div>\r\n                        \r\n                        <!-- Bon HCA 60 CHF -->\r\n                        <div class=\"gv-cart-item\" data-type=\"hca\" data-amount=\"60\">\r\n                            <div class=\"gv-cart-item-info\">\r\n                                <div class=\"gv-cart-item-title\">\r\n                                    <span class=\"gv-icon\">\ud83c\udfae<\/span>\r\n                                    Bon Cadeau HCA 60 CHF\r\n                                <\/div>\r\n                                <div class=\"gv-cart-item-price\">60.00 CHF \/ pi\u00e8ce<\/div>\r\n                                <small style=\"color:#666;margin-top:5px;display:block;\">\r\n                                    <strong>En collaboration avec Jura Tourisme<\/strong><br>\r\n                                    Bons digitaux<br>\r\n                                    Composition : 50 CHF utilisables partout + 10 CHF arcades\r\n                                <\/small>\r\n                            <\/div>\r\n                            <div class=\"gv-cart-item-quantity\">\r\n                                <button type=\"button\" class=\"gv-qty-btn\" onclick=\"gvDecreaseQty(60)\">\r\n                                    <span>\u2212<\/span>\r\n                                <\/button>\r\n                                <input type=\"number\" id=\"qty-60\" class=\"gv-qty-input\" value=\"0\" min=\"0\" readonly>\r\n                                <button type=\"button\" class=\"gv-qty-btn\" onclick=\"gvIncreaseQty(60)\">\r\n                                    <span>+<\/span>\r\n                                <\/button>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <!-- R\u00e9sum\u00e9 rapide -->\r\n                <div class=\"gv-cart-summary\">\r\n                    <div class=\"gv-cart-summary-line\">\r\n                        <span>Total articles :<\/span>\r\n                        <strong id=\"gv-cart-total\">0.00 CHF<\/strong>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <button type=\"button\" class=\"gv-btn gv-btn-next\" onclick=\"gvNextStep(2)\">Continuer<\/button>\r\n            <\/div>\r\n            \r\n            <!-- \u00c9tape 2 : Type de livraison -->\r\n            <!-- \u00c9tape 2 : Type de livraison -->\r\n            <div class=\"gv-step gv-step-2\">\r\n                <h2>Type de livraison<\/h2>\r\n                \r\n                <div class=\"gv-delivery-options\">\r\n                    <label class=\"gv-delivery-card\">\r\n                        <input type=\"radio\" name=\"delivery_type\" value=\"digital\" required checked>\r\n                        <div class=\"gv-card-inner\">\r\n                            <span class=\"gv-icon\">\ud83d\udce7<\/span>\r\n                            <span class=\"gv-label\">Digital (Email)<\/span>\r\n                            <small>R\u00e9ception imm\u00e9diate par e-mail<\/small>\r\n                        <\/div>\r\n                    <\/label>\r\n                    \r\n                                    <\/div>\r\n                \r\n                <div class=\"gv-nav-buttons\">\r\n                    <button type=\"button\" class=\"gv-btn gv-btn-prev\" onclick=\"gvPrevStep(1)\">Pr\u00e9c\u00e9dent<\/button>\r\n                    <button type=\"button\" class=\"gv-btn gv-btn-next\" onclick=\"gvNextStep(3)\">Suivant<\/button>\r\n                <\/div>\r\n            <\/div>\r\n            \r\n            <!-- \u00c9tape 3 : Informations -->\r\n            <div class=\"gv-step gv-step-3\">\r\n                <h2>Vos informations<\/h2>\r\n                \r\n                <div class=\"gv-form-group\">\r\n                    <label for=\"buyer_name\">Votre nom *<\/label>\r\n                    <input type=\"text\" id=\"buyer_name\" name=\"buyer_name\" required>\r\n                <\/div>\r\n                \r\n                <div class=\"gv-form-group\">\r\n                    <label for=\"buyer_email\">Votre e-mail *<\/label>\r\n                    <input type=\"email\" id=\"buyer_email\" name=\"buyer_email\" required>\r\n                <\/div>\r\n                \r\n                <div class=\"gv-form-group\">\r\n                    <label for=\"buyer_phone\">Votre t\u00e9l\u00e9phone *<\/label>\r\n                    <input type=\"tel\" id=\"buyer_phone\" name=\"buyer_phone\">\r\n                <\/div>\r\n                \r\n                <!-- Champs conditionnels Digital -->\r\n                <div class=\"gv-conditional gv-digital-fields\" style=\"display:none;\">\r\n                    <div style=\"background: #e8f5f4; border: 2px solid #1a6660; border-radius: 10px; padding: 20px; margin: 20px 0;\">\r\n                        <p style=\"margin: 0; color: #1a6660; font-weight: 600;\">\r\n                            \ud83d\udce7 <span id=\"gv-digital-message\">Le bon cadeau sera envoy\u00e9<\/span> \u00e0 votre adresse e-mail\r\n                        <\/p>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <!-- Champs conditionnels Physique -->\r\n                <div class=\"gv-conditional gv-physical-fields\" style=\"display:none;\">\r\n                    <h3>Adresse de livraison<\/h3>\r\n                    <div class=\"gv-form-group\">\r\n                        <label for=\"shipping_street\">Rue et num\u00e9ro *<\/label>\r\n                        <input type=\"text\" id=\"shipping_street\" name=\"shipping_street\" placeholder=\"Ex: Rue du Parc 15\">\r\n                    <\/div>\r\n                    <div class=\"gv-form-group\">\r\n                        <label for=\"shipping_zip\">Code postal (NPA) *<\/label>\r\n                        <input type=\"text\" id=\"shipping_zip\" name=\"shipping_zip\" placeholder=\"Ex: 2800\">\r\n                    <\/div>\r\n                    <div class=\"gv-form-group\">\r\n                        <label for=\"shipping_city\">Localit\u00e9 *<\/label>\r\n                        <input type=\"text\" id=\"shipping_city\" name=\"shipping_city\" placeholder=\"Ex: Del\u00e9mont\">\r\n                    <\/div>\r\n                    <input type=\"hidden\" id=\"shipping_address\" name=\"shipping_address\">\r\n                <\/div>\r\n                \r\n                <!-- Code Promo -->\r\n                <div class=\"gv-promo-section\">\r\n                    <h3>Code promo<\/h3>\r\n                    <div class=\"gv-promo-input-group\">\r\n                        <input type=\"text\" id=\"promo_code\" name=\"promo_code\" placeholder=\"Entrez votre code\">\r\n                        <button type=\"button\" class=\"gv-btn gv-btn-secondary\" onclick=\"gvApplyPromo()\">Appliquer<\/button>\r\n                    <\/div>\r\n                    <div id=\"gv-promo-message\"><\/div>\r\n                <\/div>\r\n                                \r\n                <!-- R\u00e9capitulatif -->\r\n                <div class=\"gv-summary\">\r\n                    <h3>R\u00e9capitulatif<\/h3>\r\n                    \r\n                    <!-- Liste des articles -->\r\n                    <div id=\"gv-summary-items\"><\/div>\r\n                    \r\n                    <div class=\"gv-summary-line\">\r\n                        <span>Sous-total :<\/span>\r\n                        <span id=\"gv-summary-subtotal\">-<\/span>\r\n                    <\/div>\r\n                    <div class=\"gv-summary-line gv-discount-line\" style=\"display:none;\">\r\n                        <span>R\u00e9duction (<span id=\"gv-discount-percent\"><\/span>) :<\/span>\r\n                        <span id=\"gv-discount-amount\">-<\/span>\r\n                    <\/div>\r\n                    <div class=\"gv-summary-line gv-shipping-line\" style=\"display:none;\">\r\n                        <span>Frais de port :<\/span>\r\n                        <span id=\"gv-shipping-amount\">5.00 CHF<\/span>\r\n                    <\/div>\r\n                    <div class=\"gv-summary-line gv-total-line\">\r\n                        <strong>Total :<\/strong>\r\n                        <strong id=\"gv-summary-total\">-<\/strong>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <div class=\"gv-nav-buttons\">\r\n                    <button type=\"button\" class=\"gv-btn gv-btn-prev\" onclick=\"gvPrevStep(2)\">Pr\u00e9c\u00e9dent<\/button>\r\n                    <button type=\"submit\" class=\"gv-btn gv-btn-primary\" id=\"gv-submit-btn\">\r\n                        Proc\u00e9der au paiement\r\n                    <\/button>\r\n                <\/div>\r\n            <\/div>\r\n        <\/form>\r\n        \r\n        <div id=\"gv-loading\" style=\"display:none;\">\r\n            <div class=\"gv-spinner\"><\/div>\r\n            <p>Redirection vers le paiement...<\/p>\r\n        <\/div>\r\n    <\/div>\r\n    \r\n    <script>\r\nlet gvCurrentStep = 1;\r\nlet gvProductType = 'standard'; \/\/ D\u00e9termin\u00e9 dynamiquement selon le panier\r\nlet gvCart = {\r\n    20: 0,\r\n    50: 0,\r\n    100: 0,\r\n    60: 0  \/\/ HCA\r\n};\r\nlet gvPromoDiscount = 0;\r\nlet gvPromoCode = '';\r\n\r\n\/\/ ========== D\u00c9TERMINER LE TYPE DE PRODUIT SELON LE PANIER ==========\r\nfunction gvDetermineProductType() {\r\n    const hasStandard = (gvCart[20] > 0 || gvCart[50] > 0 || gvCart[100] > 0);\r\n    const hasHCA = (gvCart[60] > 0);\r\n    \r\n    if (hasHCA) {\r\n        gvProductType = 'hca';\r\n    } else if (hasStandard) {\r\n        gvProductType = 'standard';\r\n    } else {\r\n        gvProductType = 'standard'; \/\/ Par d\u00e9faut\r\n    }\r\n}\r\n\r\n\/\/ ========== GESTION DE L'EXCLUSION MUTUELLE ==========\r\nfunction gvUpdateCartAvailability() {\r\n    const hasStandard = (gvCart[20] > 0 || gvCart[50] > 0 || gvCart[100] > 0);\r\n    const hasHCA = (gvCart[60] > 0);\r\n    \r\n    const standardItems = document.querySelectorAll('.gv-cart-item[data-type=\"standard\"]');\r\n    const hcaItems = document.querySelectorAll('.gv-cart-item[data-type=\"hca\"]');\r\n    \r\n    if (hasStandard) {\r\n        \/\/ D\u00e9sactiver HCA\r\n        hcaItems.forEach(item => {\r\n            item.style.opacity = '0.5';\r\n            item.style.pointerEvents = 'none';\r\n        });\r\n        \/\/ Activer standard\r\n        standardItems.forEach(item => {\r\n            item.style.opacity = '1';\r\n            item.style.pointerEvents = 'auto';\r\n        });\r\n    } else if (hasHCA) {\r\n        \/\/ D\u00e9sactiver standard\r\n        standardItems.forEach(item => {\r\n            item.style.opacity = '0.5';\r\n            item.style.pointerEvents = 'none';\r\n        });\r\n        \/\/ Activer HCA\r\n        hcaItems.forEach(item => {\r\n            item.style.opacity = '1';\r\n            item.style.pointerEvents = 'auto';\r\n        });\r\n    } else {\r\n        \/\/ Tous actifs\r\n        document.querySelectorAll('.gv-cart-item').forEach(item => {\r\n            item.style.opacity = '1';\r\n            item.style.pointerEvents = 'auto';\r\n        });\r\n    }\r\n}\r\n\r\n\/\/ ========== GESTION DES QUANTIT\u00c9S ==========\r\nfunction gvIncreaseQty(amount) {\r\n    gvCart[amount]++;\r\n    document.getElementById('qty-' + amount).value = gvCart[amount];\r\n    gvDetermineProductType();\r\n    gvUpdateCartAvailability();\r\n    gvUpdateCartTotal();\r\n}\r\n\r\nfunction gvDecreaseQty(amount) {\r\n    if (gvCart[amount] > 0) {\r\n        gvCart[amount]--;\r\n        document.getElementById('qty-' + amount).value = gvCart[amount];\r\n        gvDetermineProductType();\r\n        gvUpdateCartAvailability();\r\n        gvUpdateCartTotal();\r\n    }\r\n}\r\n\r\n\/\/ ========== CALCUL DU TOTAL ==========\r\nfunction gvUpdateCartTotal() {\r\n    let total = (gvCart[20] * 20) + (gvCart[50] * 50) + (gvCart[100] * 100) + (gvCart[60] * 60);\r\n    document.getElementById('gv-cart-total').textContent = total.toFixed(2) + ' CHF';\r\n}\r\n\r\nfunction gvGetCartTotal() {\r\n    return (gvCart[20] * 20) + (gvCart[50] * 50) + (gvCart[100] * 100) + (gvCart[60] * 60);\r\n}\r\n\r\n\/\/ ========== NAVIGATION ENTRE LES \u00c9TAPES ==========\r\nfunction gvNextStep(step) {\r\n    if (!gvValidateStep(gvCurrentStep)) {\r\n        return;\r\n    }\r\n    \r\n    \/\/ D\u00e9terminer le type de produit avant de passer \u00e0 l'\u00e9tape suivante\r\n    gvDetermineProductType();\r\n    \r\n    \/\/ Si HCA OU si physique d\u00e9sactiv\u00e9, skip l'\u00e9tape 2 (livraison) et aller direct \u00e0 l'\u00e9tape 3\r\n    if (step === 2 && (gvProductType === 'hca' || true)) {\r\n        \/\/ Forcer digital\r\n        document.querySelector('input[name=\"delivery_type\"][value=\"digital\"]').checked = true;\r\n        step = 3;\r\n    }\r\n    \r\n    \/\/ Si on arrive \u00e0 l'\u00e9tape 2, g\u00e9rer l'affichage de l'option physique\r\n    if (step === 2) {\r\n        const physicalOption = document.getElementById('gv-physical-option');\r\n        if (gvProductType === 'hca' || true) {\r\n            if (physicalOption) physicalOption.style.display = 'none';\r\n            document.querySelector('input[name=\"delivery_type\"][value=\"digital\"]').checked = true;\r\n        } else {\r\n            if (physicalOption) physicalOption.style.display = 'block';\r\n        }\r\n    }\r\n    \r\n    document.querySelector('.gv-step-' + gvCurrentStep).classList.remove('active');\r\n    document.querySelector('.gv-step-' + step).classList.add('active');\r\n    gvCurrentStep = step;\r\n    \r\n    if (step === 3) {\r\n        gvUpdateSummary();\r\n        gvUpdateConditionalFields();\r\n    }\r\n    \r\n    window.scrollTo(0, document.getElementById('gv-form').offsetTop - 100);\r\n}\r\n\r\nfunction gvPrevStep(step) {\r\n    \/\/ Si on revient de l'\u00e9tape 3 et qu'on est en HCA OU physique d\u00e9sactiv\u00e9, retourner \u00e0 l'\u00e9tape 1\r\n    if (gvCurrentStep === 3 && (gvProductType === 'hca' || true)) {\r\n        step = 1;\r\n    }\r\n    \r\n    document.querySelector('.gv-step-' + gvCurrentStep).classList.remove('active');\r\n    document.querySelector('.gv-step-' + step).classList.add('active');\r\n    gvCurrentStep = step;\r\n    \r\n    window.scrollTo(0, document.getElementById('gv-form').offsetTop - 100);\r\n}\r\n\r\n\/\/ ========== VALIDATION DES \u00c9TAPES ==========\r\nfunction gvValidateStep(step) {\r\n    if (step === 1) {\r\n        const total = gvGetCartTotal();\r\n        if (total === 0) {\r\n            alert('Veuillez s\u00e9lectionner au moins un bon cadeau');\r\n            return false;\r\n        }\r\n    }\r\n    \r\n    if (step === 2) {\r\n        const delivery = document.querySelector('input[name=\"delivery_type\"]:checked');\r\n        if (!delivery) {\r\n            alert('Veuillez s\u00e9lectionner un type de livraison');\r\n            return false;\r\n        }\r\n    }\r\n    \r\n    return true;\r\n}\r\n\r\n\/\/ ========== CHAMPS CONDITIONNELS ==========\r\nfunction gvUpdateConditionalFields() {\r\n    const deliveryType = document.querySelector('input[name=\"delivery_type\"]:checked')?.value;\r\n    \r\n    const digitalFields = document.querySelector('.gv-digital-fields');\r\n    const physicalFields = document.querySelector('.gv-physical-fields');\r\n    const shippingStreet = document.getElementById('shipping_street');\r\n    const shippingZip = document.getElementById('shipping_zip');\r\n    const shippingCity = document.getElementById('shipping_city');\r\n    \r\n    if (deliveryType === 'digital') {\r\n        digitalFields.style.display = 'block';\r\n        physicalFields.style.display = 'none';\r\n        shippingStreet.required = false;\r\n        shippingZip.required = false;\r\n        shippingCity.required = false;\r\n        \r\n        \/\/ Mettre \u00e0 jour le message selon la quantit\u00e9 totale\r\n        const totalQuantity = gvCart[20] + gvCart[50] + gvCart[100] + gvCart[60];\r\n        const messageSpan = document.getElementById('gv-digital-message');\r\n        \r\n        if (totalQuantity > 1) {\r\n            messageSpan.textContent = 'Les bons cadeaux seront envoy\u00e9s';\r\n        } else {\r\n            messageSpan.textContent = 'Le bon cadeau sera envoy\u00e9';\r\n        }\r\n        \r\n    } else if (deliveryType === 'physical') {\r\n        digitalFields.style.display = 'none';\r\n        physicalFields.style.display = 'block';\r\n        shippingStreet.required = true;\r\n        shippingZip.required = true;\r\n        shippingCity.required = true;\r\n    }\r\n    \r\n    \/\/ Mettre \u00e0 jour le r\u00e9capitulatif pour afficher les frais\r\n    gvUpdateSummary();\r\n}\r\n\r\n\/\/ ========== CODE PROMO ==========\r\nfunction gvApplyPromo() {\r\n    const promoCode = document.getElementById('promo_code').value.trim().toUpperCase();\r\n    const messageDiv = document.getElementById('gv-promo-message');\r\n    \r\n    if (!promoCode) {\r\n        return;\r\n    }\r\n    \r\n    \/\/ D\u00e9terminer le type de produit actuel\r\n    gvDetermineProductType();\r\n    \r\n    \/\/ Appel AJAX pour v\u00e9rifier le code promo avec le type de produit\r\n    fetch('https:\/\/raiffeisen-parc.ch\/wp-admin\/admin-ajax.php', {\r\n        method: 'POST',\r\n        headers: {\r\n            'Content-Type': 'application\/x-www-form-urlencoded',\r\n        },\r\n        body: 'action=gv_check_promo&code=' + encodeURIComponent(promoCode) + '&product_type=' + gvProductType\r\n    })\r\n    .then(response => response.json())\r\n    .then(data => {\r\n        if (data.success) {\r\n            gvPromoDiscount = parseFloat(data.data.discount);\r\n            gvPromoCode = promoCode;\r\n            \r\n            \/\/ Message diff\u00e9rent pour HCA\r\n            if (gvProductType === 'hca') {\r\n                messageDiv.innerHTML = '<span style=\"color: green;\">\u2713 Code promo appliqu\u00e9 : 10 CHF arcades offerts !<\/span>';\r\n            } else {\r\n                messageDiv.innerHTML = '<span style=\"color: green;\">\u2713 Code promo appliqu\u00e9 : -' + gvPromoDiscount + '%<\/span>';\r\n            }\r\n            \r\n            gvUpdateSummary();\r\n        } else {\r\n            gvPromoDiscount = 0;\r\n            gvPromoCode = '';\r\n            messageDiv.innerHTML = '<span style=\"color: red;\">\u2717 Code promo invalide pour ce type de bon<\/span>';\r\n            gvUpdateSummary();\r\n        }\r\n    })\r\n    .catch(error => {\r\n        console.error('Erreur:', error);\r\n        messageDiv.innerHTML = '<span style=\"color: red;\">Erreur lors de la v\u00e9rification<\/span>';\r\n    });\r\n}\r\n\r\n\/\/ ========== R\u00c9CAPITULATIF ==========\r\nfunction gvUpdateSummary() {\r\n    const deliveryType = document.querySelector('input[name=\"delivery_type\"]:checked')?.value || 'digital';\r\n    \r\n    \/\/ Pour HCA, toujours digital (donc pas de frais de port)\r\n    const shippingFee = (deliveryType === 'physical' && gvProductType !== 'hca') ? 5.00 : 0;\r\n    \r\n    const subtotal = gvGetCartTotal();\r\n    const discount = subtotal * (gvPromoDiscount \/ 100);\r\n    const total = subtotal - discount + shippingFee;\r\n    \r\n    \/\/ Afficher la liste des articles\r\n    const itemsContainer = document.getElementById('gv-summary-items');\r\n    let itemsHtml = '';\r\n    \r\n    if (gvCart[20] > 0) {\r\n        itemsHtml += '<div class=\"gv-summary-item\">';\r\n        itemsHtml += '<span>Bon 20 CHF \u00d7 ' + gvCart[20] + '<\/span>';\r\n        itemsHtml += '<span>' + (gvCart[20] * 20).toFixed(2) + ' CHF<\/span>';\r\n        itemsHtml += '<\/div>';\r\n    }\r\n    if (gvCart[50] > 0) {\r\n        itemsHtml += '<div class=\"gv-summary-item\">';\r\n        itemsHtml += '<span>Bon 50 CHF \u00d7 ' + gvCart[50] + '<\/span>';\r\n        itemsHtml += '<span>' + (gvCart[50] * 50).toFixed(2) + ' CHF<\/span>';\r\n        itemsHtml += '<\/div>';\r\n    }\r\n    if (gvCart[100] > 0) {\r\n        itemsHtml += '<div class=\"gv-summary-item\">';\r\n        itemsHtml += '<span>Bon 100 CHF \u00d7 ' + gvCart[100] + '<\/span>';\r\n        itemsHtml += '<span>' + (gvCart[100] * 100).toFixed(2) + ' CHF<\/span>';\r\n        itemsHtml += '<\/div>';\r\n    }\r\n    if (gvCart[60] > 0) {\r\n        itemsHtml += '<div class=\"gv-summary-item\">';\r\n        itemsHtml += '<span>Bon HCA 60 CHF \u00d7 ' + gvCart[60] + '<\/span>';\r\n        itemsHtml += '<span style=\"display:block;margin-left:20px;\">';\r\n        itemsHtml += '<small style=\"display:block;color:rgba(255,255,255,0.7);margin-top:3px;\">50 CHF parc + 10 CHF arcades<\/small>';\r\n        itemsHtml += '<\/span>';\r\n        itemsHtml += '<span>' + (gvCart[60] * 60).toFixed(2) + ' CHF<\/span>';\r\n        itemsHtml += '<\/div>';\r\n    }\r\n    \r\n    itemsContainer.innerHTML = itemsHtml;\r\n    \r\n    document.getElementById('gv-summary-subtotal').textContent = subtotal.toFixed(2) + ' CHF';\r\n    \r\n    const discountLine = document.querySelector('.gv-discount-line');\r\n    const shippingLine = document.querySelector('.gv-shipping-line');\r\n    \r\n    if (gvPromoDiscount > 0) {\r\n        discountLine.style.display = 'flex';\r\n        \r\n        \/\/ Message diff\u00e9rent pour HCA\r\n        if (gvProductType === 'hca') {\r\n            document.getElementById('gv-discount-percent').textContent = '10 CHF arcades offerts';\r\n        } else {\r\n            document.getElementById('gv-discount-percent').textContent = '-' + gvPromoDiscount + '%';\r\n        }\r\n        \r\n        document.getElementById('gv-discount-amount').textContent = '-' + discount.toFixed(2) + ' CHF';\r\n    } else {\r\n        discountLine.style.display = 'none';\r\n    }\r\n    \r\n    if (shippingFee > 0) {\r\n        shippingLine.style.display = 'flex';\r\n    } else {\r\n        shippingLine.style.display = 'none';\r\n    }\r\n    \r\n    document.getElementById('gv-summary-total').textContent = total.toFixed(2) + ' CHF';\r\n}\r\n\r\n\/\/ ========== SOUMISSION DU FORMULAIRE ==========\r\ndocument.getElementById('gv-voucher-form').addEventListener('submit', function(e) {\r\n    e.preventDefault();\r\n    \r\n    if (!gvValidateStep(3)) {\r\n        return;\r\n    }\r\n    \r\n    \/\/ D\u00e9terminer le type de produit final\r\n    gvDetermineProductType();\r\n    \r\n    \/\/ Validation finale\r\n    const buyerName = document.getElementById('buyer_name').value.trim();\r\n    const buyerEmail = document.getElementById('buyer_email').value.trim();\r\n    const deliveryType = document.querySelector('input[name=\"delivery_type\"]:checked').value;\r\n    \r\n    if (!buyerName || !buyerEmail) {\r\n        alert('Veuillez remplir tous les champs obligatoires');\r\n        return;\r\n    }\r\n    \r\n    \/\/ Combiner les champs d'adresse physique AVANT la validation\r\n    if (deliveryType === 'physical') {\r\n        const street = document.getElementById('shipping_street').value.trim();\r\n        const zip = document.getElementById('shipping_zip').value.trim();\r\n        const city = document.getElementById('shipping_city').value.trim();\r\n        \r\n        if (!street || !zip || !city) {\r\n            alert('Veuillez remplir tous les champs de l\\'adresse de livraison');\r\n            return;\r\n        }\r\n        \r\n        \/\/ Combiner dans le champ cach\u00e9\r\n        document.getElementById('shipping_address').value = street + '\\n' + zip + ' ' + city;\r\n    }\r\n    \r\n    \/\/ Afficher le chargement\r\n    document.getElementById('gv-voucher-form').style.display = 'none';\r\n    document.getElementById('gv-loading').style.display = 'block';\r\n    \r\n    \/\/ Ajouter le panier, le type de produit et le code promo au formulaire\r\n    const cartInput = document.createElement('input');\r\n    cartInput.type = 'hidden';\r\n    cartInput.name = 'cart';\r\n    cartInput.value = JSON.stringify(gvCart);\r\n    this.appendChild(cartInput);\r\n    \r\n    const productTypeInput = document.createElement('input');\r\n    productTypeInput.type = 'hidden';\r\n    productTypeInput.name = 'product_type';\r\n    productTypeInput.value = gvProductType;\r\n    this.appendChild(productTypeInput);\r\n    \r\n    if (gvPromoCode) {\r\n        const promoInput = document.createElement('input');\r\n        promoInput.type = 'hidden';\r\n        promoInput.name = 'applied_promo';\r\n        promoInput.value = gvPromoCode;\r\n        this.appendChild(promoInput);\r\n    }\r\n    \r\n    \/\/ Soumettre via AJAX\r\n    const formData = new FormData(this);\r\n    formData.append('action', 'gv_create_checkout');\r\n    \r\n    fetch('https:\/\/raiffeisen-parc.ch\/wp-admin\/admin-ajax.php', {\r\n        method: 'POST',\r\n        body: formData\r\n    })\r\n    .then(response => response.json())\r\n    .then(data => {\r\n        if (data.success && data.data.url) {\r\n            window.location.href = data.data.url;\r\n        } else {\r\n            alert('Erreur : ' + (data.data.message || 'Une erreur est survenue'));\r\n            document.getElementById('gv-voucher-form').style.display = 'block';\r\n            document.getElementById('gv-loading').style.display = 'none';\r\n        }\r\n    })\r\n    .catch(error => {\r\n        console.error('Erreur:', error);\r\n        alert('Une erreur est survenue. Veuillez r\u00e9essayer.');\r\n        document.getElementById('gv-voucher-form').style.display = 'block';\r\n        document.getElementById('gv-loading').style.display = 'none';\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":"<p>Commander un bon cadeau Qu\u2019il s\u2019agisse d\u2019une journ\u00e9e en famille, d\u2019activit\u00e9s palpitantes entre amis ou d\u2019un moment de d\u00e9tente au c\u0153ur du parc, le bon cadeau Raiffeisen Parc est le pr\u00e9sent id\u00e9al pour petits et grands.<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-3868","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/raiffeisen-parc.ch\/de\/wp-json\/wp\/v2\/pages\/3868","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/raiffeisen-parc.ch\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/raiffeisen-parc.ch\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/raiffeisen-parc.ch\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/raiffeisen-parc.ch\/de\/wp-json\/wp\/v2\/comments?post=3868"}],"version-history":[{"count":3,"href":"https:\/\/raiffeisen-parc.ch\/de\/wp-json\/wp\/v2\/pages\/3868\/revisions"}],"predecessor-version":[{"id":12092,"href":"https:\/\/raiffeisen-parc.ch\/de\/wp-json\/wp\/v2\/pages\/3868\/revisions\/12092"}],"wp:attachment":[{"href":"https:\/\/raiffeisen-parc.ch\/de\/wp-json\/wp\/v2\/media?parent=3868"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}