{"id":3047,"date":"2025-05-24T11:36:21","date_gmt":"2025-05-24T09:36:21","guid":{"rendered":"https:\/\/www.smartmariage.com\/?page_id=3047"},"modified":"2026-05-13T18:25:20","modified_gmt":"2026-05-13T16:25:20","slug":"offre","status":"publish","type":"page","link":"https:\/\/www.smartmariage.com\/en\/offre\/","title":{"rendered":"D\u00e9marrons ensemble"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><div class=\"vc_row wpb_row vc_row-fluid vc_custom_1749230004103 vc_row-has-fill vc_column-gap-0\"><div class=\"wpb_column vc_column_container vc_col-sm-4 occ-128583 vc_col-has-fill\"><div class=\"vc_column-inner vc_custom_1748519421139\"><div class=\"wpb_wrapper\"><div id=\"tile-with-icon_icon1965\" class=\"title-with-icon-wrapper rectangle medium\" data-color=\"\">\r\n\t\t\t<div class=\"wpb_content_element title-with-icon clearfix margin-bottom-0\"><span  style=\"color:#000000 !important;background-color: !important;\" class=\"oic-fi3-calendar rectangle medium\" ><\/span><h3 class=\"content-color\" style=\"\">Autonomie guid\u00e9e<\/h3>\r\n\t\t\t<\/div><div class=\"wpb_content_element left-cs title-with-icon-content medium clearfix\" style=\"\"><span style=\"font-size: 12pt;\">Vous organisez. On vous outille.<\/span><\/p>\n<p>Nos ressources gratuites<\/div><\/div>\n\t<div class=\"wpb_text_column wpb_content_element\" >\n\t\t<div class=\"wpb_wrapper\">\n\t\t\t\n\t\t<\/div>\n\t<\/div>\n\n\t<div class=\"wpb_text_column wpb_content_element vc_custom_1778687585139\" >\n\t\t<div class=\"wpb_wrapper\">\n\t\t\t<p><strong>Avant m\u00eame de nous choisir, on vous offre :<\/strong><\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-&#091;1.7&#093;\">\ud83d\udcde <strong>Appel d\u00e9couverte 20 min<\/strong> Un \u00e9change pour parler de votre projet et \u00e9viter les pi\u00e8ges\u00a0 gratuit et sans engagement.<\/p>\n\n\t\t<\/div>\n\t<\/div>\n<div class=\"msf-bootstrap\">\n    <button\n        type=\"button\"\n        class=\"generic-button generic-button-opacity\"\n        data-bs-toggle=\"modal\"\n        data-bs-target=\"#msf_6a3afba0ca683_modal\"\n    >\n        Planifier l&#039;appel maintenant!    <\/button>\n    <div class=\"msf-bootstrap\" id=\"msf_6a3afba0ca683_modal_wrapper\">\n    <div\n        class=\"modal fade\"\n        id=\"msf_6a3afba0ca683_modal\"\n        tabindex=\"-1\"\n        aria-labelledby=\"msf_6a3afba0ca683Label\"\n        aria-hidden=\"true\"\n    >\n        <div class=\"modal-dialog\">\n            <div class=\"modal-content\">\n                <div class=\"modal-header\">\n                    <h5 class=\"modal-title\" id=\"msf_6a3afba0ca683Label\">\n                        Appel D\u00e9couverte                    <\/h5>\n                    <button\n                        type=\"button\"\n                        class=\"btn-close\"\n                        data-bs-dismiss=\"modal\"\n                        aria-label=\"Close\"\n                    ><\/button>\n                <\/div>\n                <div class=\"modal-body\">\n                    <div class=\"yu-ms-form mb-3\">\n                        <div id=\"msf_6a3afba0ca683\"><\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n<\/div>\n<script>\ndocument.addEventListener('DOMContentLoaded', function () {\n    \/\/ Move modal to <body>\n    const modal = document.getElementById(\"msf_6a3afba0ca683_modal_wrapper\");\n    if (modal && modal.parentElement !== document.body) {\n        document.body.prepend(modal);\n    }\n\n    Formio.createForm(\n        document.getElementById('msf_6a3afba0ca683'),\n        {\"display\":\"wizard\",\"type\":\"form\",\"components\":[{\"type\":\"panel\",\"title\":\"Coordonn\\u00e9es\",\"key\":\"step1\",\"components\":[{\"label\":\"Nom complet\",\"key\":\"fullName\",\"type\":\"textfield\",\"input\":true,\"validate\":{\"required\":true,\"customMessage\":\"Ce champ est obligatoire\"},\"tableView\":true},{\"label\":\"T\\u00e9l\\u00e9phone\",\"key\":\"phone\",\"type\":\"textfield\",\"inputMask\":\"+33 9 99 99 99 99\",\"input\":true,\"validate\":{\"required\":true,\"pattern\":\"^\\\\+33\\\\s[1-9](\\\\s\\\\d{2}){4}$\",\"customMessage\":\"Entrez un num\\u00e9ro fran\\u00e7ais valide, ex: +33 6 12 34 56 78\"},\"placeholder\":\"+33 6 12 34 56 78\",\"tableView\":true},{\"label\":\"Email\",\"key\":\"email\",\"type\":\"email\",\"input\":true,\"validate\":{\"required\":true,\"customMessage\":\"Ce champ est obligatoire\"},\"tableView\":true}],\"input\":false,\"tableView\":false,\"label\":\"Panel\"},{\"type\":\"panel\",\"title\":\"Rendez-vous\",\"key\":\"step2\",\"components\":[{\"label\":\"Souhaitez-vous un appel ?\",\"optionsLabelPosition\":\"right\",\"inline\":true,\"tableView\":false,\"values\":[{\"label\":\"Appeler maintenant\",\"value\":\"now\",\"shortcut\":\"\"},{\"label\":\"Planifier plus tard\",\"value\":\"planned\",\"shortcut\":\"\"}],\"validate\":{\"required\":true,\"customMessage\":\"Merci de choisir!\"},\"validateWhenHidden\":true,\"key\":\"calltime\",\"customConditional\":\"show = (new Date().getHours() >= 8 && new Date().getHours() <= 19)\",\"type\":\"radio\",\"input\":true},{\"label\":\"Choisissez une date et heure\",\"format\":\"dd\\\/MM\\\/yyyy\",\"tableView\":false,\"datePicker\":{\"disableFunction\":\"date < new Date(new Date().setHours(0,0,0,0)) || (date.toDateString() === new Date().toDateString() && new Date().getHours() >= 19)\",\"disableWeekends\":false,\"disableWeekdays\":false},\"enableTime\":false,\"timePicker\":{\"showMeridian\":false},\"validate\":{\"required\":true,\"custom\":\"valid = (data.calltime === 'planned') ? input !== '' : true;\",\"customMessage\":\"Merci de pr\\u00e9ciser le jour si vous planifiez plus tard.\"},\"validateWhenHidden\":false,\"errorLabel\":\"Merci de pr\\u00e9ciser le jour\",\"key\":\"plannedDate\",\"customConditional\":\"show = data.calltime === 'planned' || (new Date().getHours() < 8 || new Date().getHours() >= 19);\",\"type\":\"datetime\",\"input\":true,\"widget\":{\"type\":\"calendar\",\"displayInTimezone\":\"viewer\",\"locale\":\"en\",\"useLocaleSettings\":false,\"allowInput\":true,\"mode\":\"single\",\"enableTime\":false,\"noCalendar\":false,\"format\":\"dd\\\/MM\\\/yyyy\",\"hourIncrement\":1,\"minuteIncrement\":1,\"time_24hr\":true,\"minDate\":null,\"disableWeekends\":false,\"disableWeekdays\":false,\"disableFunction\":\"date < new Date(new Date().setHours(0,0,0,0)) || (date.toDateString() === new Date().toDateString() && new Date().getHours() >= 19)\",\"maxDate\":null}},{\"label\":\"Heure\",\"widget\":\"html5\",\"tableView\":true,\"dataSrc\":\"custom\",\"data\":{\"custom\":\"const planned = moment(data.plannedDate);\\nconst now = moment();\\n\\nconst first = moment.max(\\n\\tmoment().minute() < 30 ? now.clone().minute(30).second(0) : now.clone().add(1, 'hour').minute(0).second(0),\\n\\tplanned.clone().hour(9).minute(0).second(0)\\n\\t);\\n\\nconst isToday = planned.isSame(now, 'day');\\nconst start = isToday \\n  ? first\\n  : planned.clone().hour(9).minute(0).second(0);\\n\\nconst end = planned.clone().hour(19).minute(0).second(0);\\n\\nvalues = [];\\nwhile (start.isSameOrBefore(end)) {\\n  values.push({ label: start.format(\\\"HH:mm\\\"), value: start.format(\\\"HH:mm\\\") });\\n  start.add(30, 'minutes');\\n}\"},\"validate\":{\"required\":true,\"customMessage\":\"Merci de choisir un cr\\u00e9neau horaire.\",\"custom\":\"valid = (data.calltime === 'planned') ? input !== '' : true;\"},\"validateWhenHidden\":false,\"key\":\"slot\",\"customConditional\":\"if (!data.plannedDate) {\\n  show = false;\\n} else {\\n  const planned = new Date(data.plannedDate);\\n  const now = new Date();\\n  \\n  planned.setHours(0, 0, 0, 0);\\n  now.setHours(0, 0, 0, 0);\\n  \\n  const isToday = planned.getTime() === now.getTime();\\n  const isFuture = planned > now;\\n  const isTodayBefore19h = isToday && (new Date().getHours() <= 19);\\n\\n  show = isFuture || isTodayBefore19h;\\n}\",\"type\":\"select\",\"input\":true},{\"label\":\"Cr\\u00e9neau s\\u00e9lectionn\\u00e9\",\"key\":\"appointment\",\"type\":\"hidden\",\"calculateValue\":\"if (data.calltime === 'now') {\\n  value = moment().format();\\n} else if (data.plannedDate && data.slot && data.slot.value) {\\n  const datePart = moment(data.plannedDate).format('YYYY-MM-DD');\\n  value = moment(`${datePart}T${data.slot.value}`).format();\\n} else {\\n  value = '';\\n}\",\"persistent\":true},{\"label\":\"Cr\\u00e9neau format\\u00e9\",\"key\":\"appointment_formatted\",\"type\":\"hidden\",\"calculateValue\":\"if (data.appointment) {\\n  const months = ['janvier', 'f\\u00e9vrier', 'mars', 'avril', 'mai', 'juin', 'juillet', 'ao\\u00fbt', 'septembre', 'octobre', 'novembre', 'd\\u00e9cembre'];\\n  const m = moment(data.appointment);\\n  const day = m.date();\\n  const month = months[m.month()];\\n  const year = m.year();\\n  const hour = m.format('HH');\\n  const minute = m.format('mm');\\n  value = `le ${day} ${month} ${year} &agrave; ${hour}h${minute}`;\\n} else {\\n  value = '';\\n}\",\"persistent\":true}],\"input\":false,\"tableView\":false,\"label\":\"Panel\"},{\"title\":\"Confirmation\",\"breadcrumbClickable\":true,\"buttonSettings\":{\"previous\":true,\"cancel\":true,\"next\":true},\"navigateOnEnter\":false,\"saveOnEnter\":false,\"scrollToTop\":false,\"collapsible\":false,\"key\":\"step3\",\"type\":\"panel\",\"label\":\"Panel\",\"components\":[{\"label\":\"\\u00c0 quelle saison souhaitez-vous c\\u00e9l\\u00e9brer votre mariage ?\",\"key\":\"season\",\"type\":\"radio\",\"input\":true,\"inline\":false,\"values\":[{\"label\":\"<i class='bi bi-sun'><\\\/i> \\u00c9t\\u00e9\",\"value\":\"ete\"},{\"label\":\"<i class='bi bi-snow'><\\\/i> Hiver\",\"value\":\"hiver\"},{\"label\":\"<i class='bi bi-flower1'><\\\/i> Printemps\",\"value\":\"printemps\"},{\"label\":\"<i class='bi bi-cloud-drizzle'><\\\/i> Automne\",\"value\":\"automne\"},{\"label\":\"<i class='bi bi-question-circle'><\\\/i> Non connu\",\"value\":\"nonconnu\"}],\"validate\":{\"required\":true,\"customMessage\":\"Merci de choisir!\"},\"customClass\":\"d-flex flex-wrap gap-2\",\"template\":\"<label class='btn btn-outline-primary btn-check-label'>{{ item.label }}<\\\/label>\",\"tableView\":false}],\"input\":false,\"tableView\":false}]},\n        {\n            language: 'fr',\n            i18n: {\n                fr:{\n                    next:\"suivant\",\n                    cancel: \"annuler\",\n                    previous: \"pr\u00e9c\u00e9dent\",\n                    submit: 'Envoyer',\n                    required: ''\n                }\n            }\n        }\n    ).then(function(form) {\n        form.on('submit', function(submission) {\n            const modalBody = document.querySelector('#msf_6a3afba0ca683_modal .modal-body');\n            const modalHeader = document.querySelector('#msf_6a3afba0ca683_modal .modal-header');\n            if (modalHeader) modalHeader.remove();\n            if (modalBody) {\n                modalBody.innerHTML = `\n                    <div class=\"text-center py-5\">\n                        <div class=\"spinner-border text-primary mb-4\" role=\"status\" style=\"width: 4rem; height: 4rem;\">\n                            <span class=\"visually-hidden\">Loading...<\/span>\n                        <\/div>\n                        <p class=\"lead\">Enregistrement en cours...<\/p>\n                    <\/div>\n                `;\n            }\n\n            fetch('https:\/\/www.smartmariage.com\/wp-admin\/admin-ajax.php', {\n                method: 'POST',\n                headers: {\n                    'Content-Type': 'application\/x-www-form-urlencoded'\n                },\n                body: new URLSearchParams({\n                    action:       'msf_handle_form',\n                    data:         JSON.stringify(submission.data),\n                    widget_ref:   'msf_6a3afba0ca683'\n                })\n            })\n            .then(res => res.json())\n            .then(response => {\n                if (modalBody) {\n                    let seconds = 5;\n                    modalBody.innerHTML = `\n                        <div class=\"text-center py-5\">\n                            <div class=\"text-success mb-4\" style=\"font-size: 4rem;\">\n                                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"64\" height=\"64\" fill=\"currentColor\" class=\"bi bi-check-circle-fill\" viewBox=\"0 0 16 16\">\n                                    <path d=\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.97 10.03a.75.75 0 0 0 1.07 0l3.992-3.992a.75.75 0 1 0-1.06-1.06L7.5 8.439 5.53 6.47a.75.75 0 0 0-1.06 1.06l2.5 2.5z\"\/>\n                                <\/svg>\n                            <\/div>\n                            <p class=\"lead\">Merci pour votre soumission !<\/p>\n                            <p class=\"text-muted\">Fermeture automatique dans <span id=\"success-timer\">${seconds}<\/span> secondes...<\/p>\n                            <button class=\"btn btn-success mt-3\" data-bs-dismiss=\"modal\">Fermer<\/button>\n                        <\/div>\n                    `;\n\n                    const interval = setInterval(() => {\n                        seconds--;\n                        const timer = document.getElementById('success-timer');\n                        if (timer) timer.textContent = seconds;\n                        if (seconds <= 0) {\n                            clearInterval(interval);\n                            const modalEl = document.getElementById('msf_6a3afba0ca683_modal');\n                            const modal = bootstrap.Modal.getInstance(modalEl);\n                            if (modal) modal.hide();\n                        }\n                    }, 1000);\n                }\n            })\n            .catch(() => {\n                if (modalBody) {\n                    let seconds = 15;\n                    modalBody.innerHTML = `\n                        <div class=\"text-center py-5\">\n                            <div class=\"text-danger mb-4\" style=\"font-size: 4rem;\">\n                                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"64\" height=\"64\" fill=\"currentColor\" class=\"bi bi-x-circle-fill\" viewBox=\"0 0 16 16\">\n                                    <path d=\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"\/>\n                                <\/svg>\n                            <\/div>\n                            <p class=\"lead\">Une erreur est survenue,<br> veuillez essayer plus tard,<br> nous appeler ou nous envoyer un SMS<br> au <strong>+33 6 69 41 52 82<\/strong><\/p>\n                            <p class=\"text-muted\">Fermeture automatique dans <span id=\"error-timer\">${seconds}<\/span> secondes...<\/p>\n                            <button class=\"btn btn-danger mt-3\" data-bs-dismiss=\"modal\">Fermer<\/button>\n                        <\/div>\n                    `;\n\n                    const interval = setInterval(() => {\n                        seconds--;\n                        const timer = document.getElementById('error-timer');\n                        if (timer) timer.textContent = seconds;\n                        if (seconds <= 0) {\n                            clearInterval(interval);\n                            const modalEl = document.getElementById('msf_6a3afba0ca683_modal');\n                            const modal = bootstrap.Modal.getInstance(modalEl);\n                            if (modal) modal.hide();\n                        }\n                    }, 1000);\n                }\n            });\n        });\n    });\n});\n<\/script>\n\n\t<div class=\"wpb_text_column wpb_content_element\" >\n\t\t<div class=\"wpb_wrapper\">\n\t\t\t<p><strong data-start=\"597\" data-end=\"638\">\ud83d\udccb <\/strong><strong>Check-list &amp; guide exclusif<\/strong> Timeline, budget, prestataires tout pour avancer avec m\u00e9thode.<\/p>\n\n\t\t<\/div>\n\t<\/div>\n<div class=\"msf-bootstrap\">\n    <button\n        type=\"button\"\n        class=\"generic-button generic-button-opacity\"\n        data-bs-toggle=\"modal\"\n        data-bs-target=\"#msf_6a3afba0caadc_modal\"\n    >\n        Recevoir notre kit    <\/button>\n    <div class=\"msf-bootstrap\" id=\"msf_6a3afba0caadc_modal_wrapper\">\n    <div\n        class=\"modal fade\"\n        id=\"msf_6a3afba0caadc_modal\"\n        tabindex=\"-1\"\n        aria-labelledby=\"msf_6a3afba0caadcLabel\"\n        aria-hidden=\"true\"\n    >\n        <div class=\"modal-dialog\">\n            <div class=\"modal-content\">\n                <div class=\"modal-header\">\n                    <h5 class=\"modal-title\" id=\"msf_6a3afba0caadcLabel\">\n                        Recevoir le kit smartmariage                    <\/h5>\n                    <button\n                        type=\"button\"\n                        class=\"btn-close\"\n                        data-bs-dismiss=\"modal\"\n                        aria-label=\"Close\"\n                    ><\/button>\n                <\/div>\n                <div class=\"modal-body\">\n                    <div class=\"yu-ms-form mb-3\">\n                        <div id=\"msf_6a3afba0caadc\"><\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n<\/div>\n<script>\ndocument.addEventListener('DOMContentLoaded', function () {\n    \/\/ Move modal to <body>\n    const modal = document.getElementById(\"msf_6a3afba0caadc_modal_wrapper\");\n    if (modal && modal.parentElement !== document.body) {\n        document.body.prepend(modal);\n    }\n\n    Formio.createForm(\n        document.getElementById('msf_6a3afba0caadc'),\n        {\"display\":\"wizard\",\"type\":\"form\",\"components\":[{\"type\":\"panel\",\"title\":\"Coordonn\\u00e9es\",\"key\":\"step1\",\"components\":[{\"label\":\"Nom complet\",\"key\":\"fullName\",\"type\":\"textfield\",\"input\":true,\"validate\":{\"required\":true,\"customMessage\":\"Ce champ est obligatoire\"},\"tableView\":true},{\"label\":\"T\\u00e9l\\u00e9phone\",\"key\":\"phone\",\"type\":\"textfield\",\"inputMask\":\"+33 9 99 99 99 99\",\"input\":true,\"validate\":{\"required\":true,\"pattern\":\"^\\\\+33\\\\s[1-9](\\\\s\\\\d{2}){4}$\",\"customMessage\":\"Entrez un num\\u00e9ro fran\\u00e7ais valide, ex: +33 6 12 34 56 78\"},\"placeholder\":\"+33 6 12 34 56 78\",\"tableView\":true},{\"label\":\"Email\",\"key\":\"email\",\"type\":\"email\",\"input\":true,\"validate\":{\"required\":true,\"customMessage\":\"Ce champ est obligatoire\"},\"tableView\":true}],\"input\":false,\"tableView\":false,\"label\":\"Panel\"},{\"title\":\"Confirmation\",\"breadcrumbClickable\":true,\"buttonSettings\":{\"previous\":true,\"cancel\":true,\"next\":true},\"navigateOnEnter\":false,\"saveOnEnter\":false,\"scrollToTop\":false,\"collapsible\":false,\"key\":\"step3\",\"type\":\"panel\",\"label\":\"Panel\",\"components\":[{\"label\":\"\\u00c0 quelle saison souhaitez-vous c\\u00e9l\\u00e9brer votre mariage ?\",\"key\":\"season\",\"type\":\"radio\",\"input\":true,\"inline\":false,\"values\":[{\"label\":\"<i class='bi bi-sun'><\\\/i> \\u00c9t\\u00e9\",\"value\":\"ete\"},{\"label\":\"<i class='bi bi-snow'><\\\/i> Hiver\",\"value\":\"hiver\"},{\"label\":\"<i class='bi bi-flower1'><\\\/i> Printemps\",\"value\":\"printemps\"},{\"label\":\"<i class='bi bi-cloud-drizzle'><\\\/i> Automne\",\"value\":\"automne\"},{\"label\":\"<i class='bi bi-question-circle'><\\\/i> Non connu\",\"value\":\"nonconnu\"}],\"validate\":{\"required\":true,\"customMessage\":\"Merci de choisir!\"},\"customClass\":\"d-flex flex-wrap gap-2\",\"template\":\"<label class='btn btn-outline-primary btn-check-label'>{{ item.label }}<\\\/label>\",\"tableView\":false}],\"input\":false,\"tableView\":false}]},\n        {\n            language: 'fr',\n            i18n: {\n                fr:{\n                    next:\"suivant\",\n                    cancel: \"annuler\",\n                    previous: \"pr\u00e9c\u00e9dent\",\n                    submit: 'Envoyer',\n                    required: ''\n                }\n            }\n        }\n    ).then(function(form) {\n        form.on('submit', function(submission) {\n            const modalBody = document.querySelector('#msf_6a3afba0caadc_modal .modal-body');\n            const modalHeader = document.querySelector('#msf_6a3afba0caadc_modal .modal-header');\n            if (modalHeader) modalHeader.remove();\n            if (modalBody) {\n                modalBody.innerHTML = `\n                    <div class=\"text-center py-5\">\n                        <div class=\"spinner-border text-primary mb-4\" role=\"status\" style=\"width: 4rem; height: 4rem;\">\n                            <span class=\"visually-hidden\">Loading...<\/span>\n                        <\/div>\n                        <p class=\"lead\">Enregistrement en cours...<\/p>\n                    <\/div>\n                `;\n            }\n\n            fetch('https:\/\/www.smartmariage.com\/wp-admin\/admin-ajax.php', {\n                method: 'POST',\n                headers: {\n                    'Content-Type': 'application\/x-www-form-urlencoded'\n                },\n                body: new URLSearchParams({\n                    action:       'msf_handle_form',\n                    data:         JSON.stringify(submission.data),\n                    widget_ref:   'msf_6a3afba0caadc'\n                })\n            })\n            .then(res => res.json())\n            .then(response => {\n                if (modalBody) {\n                    let seconds = 5;\n                    modalBody.innerHTML = `\n                        <div class=\"text-center py-5\">\n                            <div class=\"text-success mb-4\" style=\"font-size: 4rem;\">\n                                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"64\" height=\"64\" fill=\"currentColor\" class=\"bi bi-check-circle-fill\" viewBox=\"0 0 16 16\">\n                                    <path d=\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.97 10.03a.75.75 0 0 0 1.07 0l3.992-3.992a.75.75 0 1 0-1.06-1.06L7.5 8.439 5.53 6.47a.75.75 0 0 0-1.06 1.06l2.5 2.5z\"\/>\n                                <\/svg>\n                            <\/div>\n                            <p class=\"lead\">Merci pour votre soumission !<\/p>\n                            <p class=\"text-muted\">Fermeture automatique dans <span id=\"success-timer\">${seconds}<\/span> secondes...<\/p>\n                            <button class=\"btn btn-success mt-3\" data-bs-dismiss=\"modal\">Fermer<\/button>\n                        <\/div>\n                    `;\n\n                    const interval = setInterval(() => {\n                        seconds--;\n                        const timer = document.getElementById('success-timer');\n                        if (timer) timer.textContent = seconds;\n                        if (seconds <= 0) {\n                            clearInterval(interval);\n                            const modalEl = document.getElementById('msf_6a3afba0caadc_modal');\n                            const modal = bootstrap.Modal.getInstance(modalEl);\n                            if (modal) modal.hide();\n                        }\n                    }, 1000);\n                }\n            })\n            .catch(() => {\n                if (modalBody) {\n                    let seconds = 15;\n                    modalBody.innerHTML = `\n                        <div class=\"text-center py-5\">\n                            <div class=\"text-danger mb-4\" style=\"font-size: 4rem;\">\n                                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"64\" height=\"64\" fill=\"currentColor\" class=\"bi bi-x-circle-fill\" viewBox=\"0 0 16 16\">\n                                    <path d=\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"\/>\n                                <\/svg>\n                            <\/div>\n                            <p class=\"lead\">Une erreur est survenue,<br> veuillez essayer plus tard,<br> nous appeler ou nous envoyer un SMS<br> au <strong>+33 6 69 41 52 82<\/strong><\/p>\n                            <p class=\"text-muted\">Fermeture automatique dans <span id=\"error-timer\">${seconds}<\/span> secondes...<\/p>\n                            <button class=\"btn btn-danger mt-3\" data-bs-dismiss=\"modal\">Fermer<\/button>\n                        <\/div>\n                    `;\n\n                    const interval = setInterval(() => {\n                        seconds--;\n                        const timer = document.getElementById('error-timer');\n                        if (timer) timer.textContent = seconds;\n                        if (seconds <= 0) {\n                            clearInterval(interval);\n                            const modalEl = document.getElementById('msf_6a3afba0caadc_modal');\n                            const modal = bootstrap.Modal.getInstance(modalEl);\n                            if (modal) modal.hide();\n                        }\n                    }, 1000);\n                }\n            });\n        });\n    });\n});\n<\/script>\n\n\t<div class=\"wpb_text_column wpb_content_element\" >\n\t\t<div class=\"wpb_wrapper\">\n\t\t\t<p>\ud83d\udce7 <strong>Support par email<\/strong> Une question urgente ? Une r\u00e9ponse pro en quelques heures.<\/p>\n\n\t\t<\/div>\n\t<\/div>\n<div class=\"msf-bootstrap\">\n    <button\n        type=\"button\"\n        class=\"generic-button generic-button-opacity\"\n        data-bs-toggle=\"modal\"\n        data-bs-target=\"#msf_6a3afba0caccd_modal\"\n    >\n        Acc\u00e9der \u00e0 notre portail!    <\/button>\n    <div class=\"msf-bootstrap\" id=\"msf_6a3afba0caccd_modal_wrapper\">\n    <div\n        class=\"modal fade\"\n        id=\"msf_6a3afba0caccd_modal\"\n        tabindex=\"-1\"\n        aria-labelledby=\"msf_6a3afba0caccdLabel\"\n        aria-hidden=\"true\"\n    >\n        <div class=\"modal-dialog\">\n            <div class=\"modal-content\">\n                <div class=\"modal-header\">\n                    <h5 class=\"modal-title\" id=\"msf_6a3afba0caccdLabel\">\n                        Demande d&#039;acc\u00e8s portail!                    <\/h5>\n                    <button\n                        type=\"button\"\n                        class=\"btn-close\"\n                        data-bs-dismiss=\"modal\"\n                        aria-label=\"Close\"\n                    ><\/button>\n                <\/div>\n                <div class=\"modal-body\">\n                    <div class=\"yu-ms-form mb-3\">\n                        <div id=\"msf_6a3afba0caccd\"><\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n<\/div>\n<script>\ndocument.addEventListener('DOMContentLoaded', function () {\n    \/\/ Move modal to <body>\n    const modal = document.getElementById(\"msf_6a3afba0caccd_modal_wrapper\");\n    if (modal && modal.parentElement !== document.body) {\n        document.body.prepend(modal);\n    }\n\n    Formio.createForm(\n        document.getElementById('msf_6a3afba0caccd'),\n        {\"display\":\"wizard\",\"type\":\"form\",\"components\":[{\"type\":\"panel\",\"title\":\"Coordonn\\u00e9es\",\"key\":\"step1\",\"components\":[{\"label\":\"Nom complet\",\"key\":\"fullName\",\"type\":\"textfield\",\"input\":true,\"validate\":{\"required\":true,\"customMessage\":\"Ce champ est obligatoire\"},\"tableView\":true},{\"label\":\"T\\u00e9l\\u00e9phone\",\"key\":\"phone\",\"type\":\"textfield\",\"inputMask\":\"+33 9 99 99 99 99\",\"input\":true,\"validate\":{\"required\":true,\"pattern\":\"^\\\\+33\\\\s[1-9](\\\\s\\\\d{2}){4}$\",\"customMessage\":\"Entrez un num\\u00e9ro fran\\u00e7ais valide, ex: +33 6 12 34 56 78\"},\"placeholder\":\"+33 6 12 34 56 78\",\"tableView\":true},{\"label\":\"Email\",\"key\":\"email\",\"type\":\"email\",\"input\":true,\"validate\":{\"required\":true,\"customMessage\":\"Ce champ est obligatoire\"},\"tableView\":true}],\"input\":false,\"tableView\":false,\"label\":\"Panel\"},{\"title\":\"Confirmation\",\"breadcrumbClickable\":true,\"buttonSettings\":{\"previous\":true,\"cancel\":true,\"next\":true},\"navigateOnEnter\":false,\"saveOnEnter\":false,\"scrollToTop\":false,\"collapsible\":false,\"key\":\"step3\",\"type\":\"panel\",\"label\":\"Panel\",\"components\":[{\"label\":\"\\u00c0 quelle saison souhaitez-vous c\\u00e9l\\u00e9brer votre mariage ?\",\"key\":\"season\",\"type\":\"radio\",\"input\":true,\"inline\":false,\"values\":[{\"label\":\"<i class='bi bi-sun'><\\\/i> \\u00c9t\\u00e9\",\"value\":\"ete\"},{\"label\":\"<i class='bi bi-snow'><\\\/i> Hiver\",\"value\":\"hiver\"},{\"label\":\"<i class='bi bi-flower1'><\\\/i> Printemps\",\"value\":\"printemps\"},{\"label\":\"<i class='bi bi-cloud-drizzle'><\\\/i> Automne\",\"value\":\"automne\"},{\"label\":\"<i class='bi bi-question-circle'><\\\/i> Non connu\",\"value\":\"nonconnu\"}],\"validate\":{\"required\":true,\"customMessage\":\"Merci de choisir!\"},\"customClass\":\"d-flex flex-wrap gap-2\",\"template\":\"<label class='btn btn-outline-primary btn-check-label'>{{ item.label }}<\\\/label>\",\"tableView\":false}],\"input\":false,\"tableView\":false}]},\n        {\n            language: 'fr',\n            i18n: {\n                fr:{\n                    next:\"suivant\",\n                    cancel: \"annuler\",\n                    previous: \"pr\u00e9c\u00e9dent\",\n                    submit: 'Envoyer',\n                    required: ''\n                }\n            }\n        }\n    ).then(function(form) {\n        form.on('submit', function(submission) {\n            const modalBody = document.querySelector('#msf_6a3afba0caccd_modal .modal-body');\n            const modalHeader = document.querySelector('#msf_6a3afba0caccd_modal .modal-header');\n            if (modalHeader) modalHeader.remove();\n            if (modalBody) {\n                modalBody.innerHTML = `\n                    <div class=\"text-center py-5\">\n                        <div class=\"spinner-border text-primary mb-4\" role=\"status\" style=\"width: 4rem; height: 4rem;\">\n                            <span class=\"visually-hidden\">Loading...<\/span>\n                        <\/div>\n                        <p class=\"lead\">Enregistrement en cours...<\/p>\n                    <\/div>\n                `;\n            }\n\n            fetch('https:\/\/www.smartmariage.com\/wp-admin\/admin-ajax.php', {\n                method: 'POST',\n                headers: {\n                    'Content-Type': 'application\/x-www-form-urlencoded'\n                },\n                body: new URLSearchParams({\n                    action:       'msf_handle_form',\n                    data:         JSON.stringify(submission.data),\n                    widget_ref:   'msf_6a3afba0caccd'\n                })\n            })\n            .then(res => res.json())\n            .then(response => {\n                if (modalBody) {\n                    let seconds = 5;\n                    modalBody.innerHTML = `\n                        <div class=\"text-center py-5\">\n                            <div class=\"text-success mb-4\" style=\"font-size: 4rem;\">\n                                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"64\" height=\"64\" fill=\"currentColor\" class=\"bi bi-check-circle-fill\" viewBox=\"0 0 16 16\">\n                                    <path d=\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.97 10.03a.75.75 0 0 0 1.07 0l3.992-3.992a.75.75 0 1 0-1.06-1.06L7.5 8.439 5.53 6.47a.75.75 0 0 0-1.06 1.06l2.5 2.5z\"\/>\n                                <\/svg>\n                            <\/div>\n                            <p class=\"lead\">Merci pour votre soumission !<\/p>\n                            <p class=\"text-muted\">Fermeture automatique dans <span id=\"success-timer\">${seconds}<\/span> secondes...<\/p>\n                            <button class=\"btn btn-success mt-3\" data-bs-dismiss=\"modal\">Fermer<\/button>\n                        <\/div>\n                    `;\n\n                    const interval = setInterval(() => {\n                        seconds--;\n                        const timer = document.getElementById('success-timer');\n                        if (timer) timer.textContent = seconds;\n                        if (seconds <= 0) {\n                            clearInterval(interval);\n                            const modalEl = document.getElementById('msf_6a3afba0caccd_modal');\n                            const modal = bootstrap.Modal.getInstance(modalEl);\n                            if (modal) modal.hide();\n                        }\n                    }, 1000);\n                }\n            })\n            .catch(() => {\n                if (modalBody) {\n                    let seconds = 15;\n                    modalBody.innerHTML = `\n                        <div class=\"text-center py-5\">\n                            <div class=\"text-danger mb-4\" style=\"font-size: 4rem;\">\n                                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"64\" height=\"64\" fill=\"currentColor\" class=\"bi bi-x-circle-fill\" viewBox=\"0 0 16 16\">\n                                    <path d=\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"\/>\n                                <\/svg>\n                            <\/div>\n                            <p class=\"lead\">Une erreur est survenue,<br> veuillez essayer plus tard,<br> nous appeler ou nous envoyer un SMS<br> au <strong>+33 6 69 41 52 82<\/strong><\/p>\n                            <p class=\"text-muted\">Fermeture automatique dans <span id=\"error-timer\">${seconds}<\/span> secondes...<\/p>\n                            <button class=\"btn btn-danger mt-3\" data-bs-dismiss=\"modal\">Fermer<\/button>\n                        <\/div>\n                    `;\n\n                    const interval = setInterval(() => {\n                        seconds--;\n                        const timer = document.getElementById('error-timer');\n                        if (timer) timer.textContent = seconds;\n                        if (seconds <= 0) {\n                            clearInterval(interval);\n                            const modalEl = document.getElementById('msf_6a3afba0caccd_modal');\n                            const modal = bootstrap.Modal.getInstance(modalEl);\n                            if (modal) modal.hide();\n                        }\n                    }, 1000);\n                }\n            });\n        });\n    });\n});\n<\/script>\n<\/div><\/div><\/div><div class=\"wpb_column vc_column_container vc_col-sm-4 occ-992008 vc_col-has-fill\"><div class=\"vc_column-inner vc_custom_1748081169748\"><div class=\"wpb_wrapper\"><div id=\"tile-with-icon_icon3469\" class=\"title-with-icon-wrapper rectangle medium\" data-color=\"\">\r\n\t\t\t<div class=\"wpb_content_element title-with-icon clearfix margin-bottom-0\"><span  style=\"color:#DD9933 !important;background-color:#00000000 !important;\" class=\"oic-fi3-calendar rectangle medium\" data-color=\"#000000\"><\/span><h3 class=\"content-color\" style=\"\">\u00c0 la carte<\/h3>\r\n\t\t\t<\/div><div class=\"wpb_content_element left-cs title-with-icon-content medium clearfix\" style=\"\">On intervient o\u00f9 vous avez besoin.<\/div><\/div>\n\t<div class=\"wpb_text_column wpb_content_element\" >\n\t\t<div class=\"wpb_wrapper\">\n\t\t\t<p data-start=\"682\" data-end=\"1038\">On intervient o\u00f9 vous avez besoin.<br \/>\nConseil prestataires, analyse de devis, coordination jour J.<\/p>\n<p data-start=\"682\" data-end=\"1038\">Vous choisissez exactement ce dont vous avez besoin.<\/p>\n\n\t\t<\/div>\n\t<\/div>\n\n\t<div class=\"wpb_text_column wpb_content_element\" >\n\t\t<div class=\"wpb_wrapper\">\n\t\t\t<p><strong data-start=\"362\" data-end=\"386\">\ud83d\udcde Conseil t\u00e9l\u00e9phonique<\/strong><br data-start=\"386\" data-end=\"389\" \/>Notre ligne est toujours ouverte pour r\u00e9pondre \u00e0 vos questions, vous rassurer et vous guider \u00e0 chaque \u00e9tape.<\/p>\n\n\t\t<\/div>\n\t<\/div>\n\n\t<div class=\"wpb_text_column wpb_content_element\" >\n\t\t<div class=\"wpb_wrapper\">\n\t\t\t\n\t\t<\/div>\n\t<\/div>\n\n\t<div class=\"wpb_text_column wpb_content_element\" >\n\t\t<div class=\"wpb_wrapper\">\n\t\t\t\n\t\t<\/div>\n\t<\/div>\n<div class=\"msf-bootstrap\">\n    <button\n        type=\"button\"\n        class=\"generic-button generic-button-opacity\"\n        data-bs-toggle=\"modal\"\n        data-bs-target=\"#msf_6a3afba0cb343_modal\"\n    >\n        Appelons nous!    <\/button>\n    <div class=\"msf-bootstrap\" id=\"msf_6a3afba0cb343_modal_wrapper\">\n    <div\n        class=\"modal fade\"\n        id=\"msf_6a3afba0cb343_modal\"\n        tabindex=\"-1\"\n        aria-labelledby=\"msf_6a3afba0cb343Label\"\n        aria-hidden=\"true\"\n    >\n        <div class=\"modal-dialog\">\n            <div class=\"modal-content\">\n                <div class=\"modal-header\">\n                    <h5 class=\"modal-title\" id=\"msf_6a3afba0cb343Label\">\n                        Accompagnement                    <\/h5>\n                    <button\n                        type=\"button\"\n                        class=\"btn-close\"\n                        data-bs-dismiss=\"modal\"\n                        aria-label=\"Close\"\n                    ><\/button>\n                <\/div>\n                <div class=\"modal-body\">\n                    <div class=\"yu-ms-form mb-3\">\n                        <div id=\"msf_6a3afba0cb343\"><\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n<\/div>\n<script>\ndocument.addEventListener('DOMContentLoaded', function () {\n    \/\/ Move modal to <body>\n    const modal = document.getElementById(\"msf_6a3afba0cb343_modal_wrapper\");\n    if (modal && modal.parentElement !== document.body) {\n        document.body.prepend(modal);\n    }\n\n    Formio.createForm(\n        document.getElementById('msf_6a3afba0cb343'),\n        {\"display\":\"wizard\",\"type\":\"form\",\"components\":[{\"type\":\"panel\",\"title\":\"Coordonn\\u00e9es\",\"key\":\"step1\",\"components\":[{\"label\":\"Nom complet\",\"key\":\"fullName\",\"type\":\"textfield\",\"input\":true,\"validate\":{\"required\":true,\"customMessage\":\"Ce champ est obligatoire\"},\"tableView\":true},{\"label\":\"T\\u00e9l\\u00e9phone\",\"key\":\"phone\",\"type\":\"textfield\",\"inputMask\":\"+33 9 99 99 99 99\",\"input\":true,\"validate\":{\"required\":true,\"pattern\":\"^\\\\+33\\\\s[1-9](\\\\s\\\\d{2}){4}$\",\"customMessage\":\"Entrez un num\\u00e9ro fran\\u00e7ais valide, ex: +33 6 12 34 56 78\"},\"placeholder\":\"+33 6 12 34 56 78\",\"tableView\":true},{\"label\":\"Email\",\"key\":\"email\",\"type\":\"email\",\"input\":true,\"validate\":{\"required\":true,\"customMessage\":\"Ce champ est obligatoire\"},\"tableView\":true}],\"input\":false,\"tableView\":false,\"label\":\"Panel\"},{\"type\":\"panel\",\"title\":\"Rendez-vous\",\"key\":\"step2\",\"components\":[{\"label\":\"Souhaitez-vous un appel ?\",\"optionsLabelPosition\":\"right\",\"inline\":true,\"tableView\":false,\"values\":[{\"label\":\"Appeler maintenant\",\"value\":\"now\",\"shortcut\":\"\"},{\"label\":\"Planifier plus tard\",\"value\":\"planned\",\"shortcut\":\"\"}],\"validate\":{\"required\":true,\"customMessage\":\"Merci de choisir!\"},\"validateWhenHidden\":true,\"key\":\"calltime\",\"customConditional\":\"show = (new Date().getHours() >= 8 && new Date().getHours() <= 19)\",\"type\":\"radio\",\"input\":true},{\"label\":\"Choisissez une date et heure\",\"format\":\"dd\\\/MM\\\/yyyy\",\"tableView\":false,\"datePicker\":{\"disableFunction\":\"date < new Date(new Date().setHours(0,0,0,0)) || (date.toDateString() === new Date().toDateString() && new Date().getHours() >= 19)\",\"disableWeekends\":false,\"disableWeekdays\":false},\"enableTime\":false,\"timePicker\":{\"showMeridian\":false},\"validate\":{\"required\":true,\"custom\":\"valid = (data.calltime === 'planned') ? input !== '' : true;\",\"customMessage\":\"Merci de pr\\u00e9ciser le jour si vous planifiez plus tard.\"},\"validateWhenHidden\":false,\"errorLabel\":\"Merci de pr\\u00e9ciser le jour\",\"key\":\"plannedDate\",\"customConditional\":\"show = data.calltime === 'planned' || (new Date().getHours() < 8 || new Date().getHours() >= 19);\",\"type\":\"datetime\",\"input\":true,\"widget\":{\"type\":\"calendar\",\"displayInTimezone\":\"viewer\",\"locale\":\"en\",\"useLocaleSettings\":false,\"allowInput\":true,\"mode\":\"single\",\"enableTime\":false,\"noCalendar\":false,\"format\":\"dd\\\/MM\\\/yyyy\",\"hourIncrement\":1,\"minuteIncrement\":1,\"time_24hr\":true,\"minDate\":null,\"disableWeekends\":false,\"disableWeekdays\":false,\"disableFunction\":\"date < new Date(new Date().setHours(0,0,0,0)) || (date.toDateString() === new Date().toDateString() && new Date().getHours() >= 19)\",\"maxDate\":null}},{\"label\":\"Heure\",\"widget\":\"html5\",\"tableView\":true,\"dataSrc\":\"custom\",\"data\":{\"custom\":\"const planned = moment(data.plannedDate);\\nconst now = moment();\\n\\nconst first = moment.max(\\n\\tmoment().minute() < 30 ? now.clone().minute(30).second(0) : now.clone().add(1, 'hour').minute(0).second(0),\\n\\tplanned.clone().hour(9).minute(0).second(0)\\n\\t);\\n\\nconst isToday = planned.isSame(now, 'day');\\nconst start = isToday \\n  ? first\\n  : planned.clone().hour(9).minute(0).second(0);\\n\\nconst end = planned.clone().hour(19).minute(0).second(0);\\n\\nvalues = [];\\nwhile (start.isSameOrBefore(end)) {\\n  values.push({ label: start.format(\\\"HH:mm\\\"), value: start.format(\\\"HH:mm\\\") });\\n  start.add(30, 'minutes');\\n}\"},\"validate\":{\"required\":true,\"customMessage\":\"Merci de choisir un cr\\u00e9neau horaire.\",\"custom\":\"valid = (data.calltime === 'planned') ? input !== '' : true;\"},\"validateWhenHidden\":false,\"key\":\"slot\",\"customConditional\":\"if (!data.plannedDate) {\\n  show = false;\\n} else {\\n  const planned = new Date(data.plannedDate);\\n  const now = new Date();\\n  \\n  planned.setHours(0, 0, 0, 0);\\n  now.setHours(0, 0, 0, 0);\\n  \\n  const isToday = planned.getTime() === now.getTime();\\n  const isFuture = planned > now;\\n  const isTodayBefore19h = isToday && (new Date().getHours() <= 19);\\n\\n  show = isFuture || isTodayBefore19h;\\n}\",\"type\":\"select\",\"input\":true},{\"label\":\"Cr\\u00e9neau s\\u00e9lectionn\\u00e9\",\"key\":\"appointment\",\"type\":\"hidden\",\"calculateValue\":\"if (data.calltime === 'now') {\\n  value = moment().format();\\n} else if (data.plannedDate && data.slot && data.slot.value) {\\n  const datePart = moment(data.plannedDate).format('YYYY-MM-DD');\\n  value = moment(`${datePart}T${data.slot.value}`).format();\\n} else {\\n  value = '';\\n}\",\"persistent\":true},{\"label\":\"Cr\\u00e9neau format\\u00e9\",\"key\":\"appointment_formatted\",\"type\":\"hidden\",\"calculateValue\":\"if (data.appointment) {\\n  const months = ['janvier', 'f\\u00e9vrier', 'mars', 'avril', 'mai', 'juin', 'juillet', 'ao\\u00fbt', 'septembre', 'octobre', 'novembre', 'd\\u00e9cembre'];\\n  const m = moment(data.appointment);\\n  const day = m.date();\\n  const month = months[m.month()];\\n  const year = m.year();\\n  const hour = m.format('HH');\\n  const minute = m.format('mm');\\n  value = `le ${day} ${month} ${year} &agrave; ${hour}h${minute}`;\\n} else {\\n  value = '';\\n}\",\"persistent\":true}],\"input\":false,\"tableView\":false,\"label\":\"Panel\"},{\"title\":\"Confirmation\",\"breadcrumbClickable\":true,\"buttonSettings\":{\"previous\":true,\"cancel\":true,\"next\":true},\"navigateOnEnter\":false,\"saveOnEnter\":false,\"scrollToTop\":false,\"collapsible\":false,\"key\":\"step3\",\"type\":\"panel\",\"label\":\"Panel\",\"components\":[{\"label\":\"\\u00c0 quelle saison souhaitez-vous c\\u00e9l\\u00e9brer votre mariage ?\",\"key\":\"season\",\"type\":\"radio\",\"input\":true,\"inline\":false,\"values\":[{\"label\":\"<i class='bi bi-sun'><\\\/i> \\u00c9t\\u00e9\",\"value\":\"ete\"},{\"label\":\"<i class='bi bi-snow'><\\\/i> Hiver\",\"value\":\"hiver\"},{\"label\":\"<i class='bi bi-flower1'><\\\/i> Printemps\",\"value\":\"printemps\"},{\"label\":\"<i class='bi bi-cloud-drizzle'><\\\/i> Automne\",\"value\":\"automne\"},{\"label\":\"<i class='bi bi-question-circle'><\\\/i> Non connu\",\"value\":\"nonconnu\"}],\"validate\":{\"required\":true,\"customMessage\":\"Merci de choisir!\"},\"customClass\":\"d-flex flex-wrap gap-2\",\"template\":\"<label class='btn btn-outline-primary btn-check-label'>{{ item.label }}<\\\/label>\",\"tableView\":false}],\"input\":false,\"tableView\":false}]},\n        {\n            language: 'fr',\n            i18n: {\n                fr:{\n                    next:\"suivant\",\n                    cancel: \"annuler\",\n                    previous: \"pr\u00e9c\u00e9dent\",\n                    submit: 'Envoyer',\n                    required: ''\n                }\n            }\n        }\n    ).then(function(form) {\n        form.on('submit', function(submission) {\n            const modalBody = document.querySelector('#msf_6a3afba0cb343_modal .modal-body');\n            const modalHeader = document.querySelector('#msf_6a3afba0cb343_modal .modal-header');\n            if (modalHeader) modalHeader.remove();\n            if (modalBody) {\n                modalBody.innerHTML = `\n                    <div class=\"text-center py-5\">\n                        <div class=\"spinner-border text-primary mb-4\" role=\"status\" style=\"width: 4rem; height: 4rem;\">\n                            <span class=\"visually-hidden\">Loading...<\/span>\n                        <\/div>\n                        <p class=\"lead\">Enregistrement en cours...<\/p>\n                    <\/div>\n                `;\n            }\n\n            fetch('https:\/\/www.smartmariage.com\/wp-admin\/admin-ajax.php', {\n                method: 'POST',\n                headers: {\n                    'Content-Type': 'application\/x-www-form-urlencoded'\n                },\n                body: new URLSearchParams({\n                    action:       'msf_handle_form',\n                    data:         JSON.stringify(submission.data),\n                    widget_ref:   'msf_6a3afba0cb343'\n                })\n            })\n            .then(res => res.json())\n            .then(response => {\n                if (modalBody) {\n                    let seconds = 5;\n                    modalBody.innerHTML = `\n                        <div class=\"text-center py-5\">\n                            <div class=\"text-success mb-4\" style=\"font-size: 4rem;\">\n                                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"64\" height=\"64\" fill=\"currentColor\" class=\"bi bi-check-circle-fill\" viewBox=\"0 0 16 16\">\n                                    <path d=\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.97 10.03a.75.75 0 0 0 1.07 0l3.992-3.992a.75.75 0 1 0-1.06-1.06L7.5 8.439 5.53 6.47a.75.75 0 0 0-1.06 1.06l2.5 2.5z\"\/>\n                                <\/svg>\n                            <\/div>\n                            <p class=\"lead\">Merci pour votre soumission !<\/p>\n                            <p class=\"text-muted\">Fermeture automatique dans <span id=\"success-timer\">${seconds}<\/span> secondes...<\/p>\n                            <button class=\"btn btn-success mt-3\" data-bs-dismiss=\"modal\">Fermer<\/button>\n                        <\/div>\n                    `;\n\n                    const interval = setInterval(() => {\n                        seconds--;\n                        const timer = document.getElementById('success-timer');\n                        if (timer) timer.textContent = seconds;\n                        if (seconds <= 0) {\n                            clearInterval(interval);\n                            const modalEl = document.getElementById('msf_6a3afba0cb343_modal');\n                            const modal = bootstrap.Modal.getInstance(modalEl);\n                            if (modal) modal.hide();\n                        }\n                    }, 1000);\n                }\n            })\n            .catch(() => {\n                if (modalBody) {\n                    let seconds = 15;\n                    modalBody.innerHTML = `\n                        <div class=\"text-center py-5\">\n                            <div class=\"text-danger mb-4\" style=\"font-size: 4rem;\">\n                                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"64\" height=\"64\" fill=\"currentColor\" class=\"bi bi-x-circle-fill\" viewBox=\"0 0 16 16\">\n                                    <path d=\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"\/>\n                                <\/svg>\n                            <\/div>\n                            <p class=\"lead\">Une erreur est survenue,<br> veuillez essayer plus tard,<br> nous appeler ou nous envoyer un SMS<br> au <strong>+33 6 69 41 52 82<\/strong><\/p>\n                            <p class=\"text-muted\">Fermeture automatique dans <span id=\"error-timer\">${seconds}<\/span> secondes...<\/p>\n                            <button class=\"btn btn-danger mt-3\" data-bs-dismiss=\"modal\">Fermer<\/button>\n                        <\/div>\n                    `;\n\n                    const interval = setInterval(() => {\n                        seconds--;\n                        const timer = document.getElementById('error-timer');\n                        if (timer) timer.textContent = seconds;\n                        if (seconds <= 0) {\n                            clearInterval(interval);\n                            const modalEl = document.getElementById('msf_6a3afba0cb343_modal');\n                            const modal = bootstrap.Modal.getInstance(modalEl);\n                            if (modal) modal.hide();\n                        }\n                    }, 1000);\n                }\n            });\n        });\n    });\n});\n<\/script>\n<\/div><\/div><\/div><div class=\"wpb_column vc_column_container vc_col-sm-4 occ-640439 vc_col-has-fill\"><div class=\"vc_column-inner vc_custom_1748519427348\"><div class=\"wpb_wrapper\"><div id=\"tile-with-icon_icon7469\" class=\"title-with-icon-wrapper rectangle medium\" data-color=\"\">\r\n\t\t\t<div class=\"wpb_content_element title-with-icon clearfix\"><span  style=\"color:#81D742 !important;background-color: !important;\" class=\"oic-fi3-calendar rectangle medium\" ><\/span><h2 class=\"content-color\" style=\"\">Cl\u00e9 en main<\/h2>\r\n\t\t\t<\/div><\/div>\n\t<div class=\"wpb_text_column wpb_content_element\" >\n\t\t<div class=\"wpb_wrapper\">\n\t\t\t<p data-start=\"213\" data-end=\"408\">Vous profitez. On g\u00e8re tout. Organisation compl\u00e8te de A \u00e0 Z : prestataires, logistique, coordination et gestion des impr\u00e9vus.<\/p>\n<p data-start=\"213\" data-end=\"408\">Votre seul r\u00f4le : vivre votre mariage. \ud83d\udc49 <strong>Parlons de votre projet<\/strong><\/p>\n\n\t\t<\/div>\n\t<\/div>\n<div class=\"vc_empty_space\"   style=\"height: 32px\"><span class=\"vc_empty_space_inner\"><\/span><\/div>\n\t<div class=\"wpb_text_column wpb_content_element\" >\n\t\t<div class=\"wpb_wrapper\">\n\t\t\t<p>&nbsp;<\/p>\n\n\t\t<\/div>\n\t<\/div>\n<div class=\"msf-bootstrap\">\n    <button\n        type=\"button\"\n        class=\"generic-button generic-button-opacity\"\n        data-bs-toggle=\"modal\"\n        data-bs-target=\"#msf_6a3afba0cbbdc_modal\"\n    >\n        Appelons nous!    <\/button>\n    <div class=\"msf-bootstrap\" id=\"msf_6a3afba0cbbdc_modal_wrapper\">\n    <div\n        class=\"modal fade\"\n        id=\"msf_6a3afba0cbbdc_modal\"\n        tabindex=\"-1\"\n        aria-labelledby=\"msf_6a3afba0cbbdcLabel\"\n        aria-hidden=\"true\"\n    >\n        <div class=\"modal-dialog\">\n            <div class=\"modal-content\">\n                <div class=\"modal-header\">\n                    <h5 class=\"modal-title\" id=\"msf_6a3afba0cbbdcLabel\">\n                        Appel pour l&#039;\u00e9tablissement d&#039;un devis!                    <\/h5>\n                    <button\n                        type=\"button\"\n                        class=\"btn-close\"\n                        data-bs-dismiss=\"modal\"\n                        aria-label=\"Close\"\n                    ><\/button>\n                <\/div>\n                <div class=\"modal-body\">\n                    <div class=\"yu-ms-form mb-3\">\n                        <div id=\"msf_6a3afba0cbbdc\"><\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n<\/div>\n<script>\ndocument.addEventListener('DOMContentLoaded', function () {\n    \/\/ Move modal to <body>\n    const modal = document.getElementById(\"msf_6a3afba0cbbdc_modal_wrapper\");\n    if (modal && modal.parentElement !== document.body) {\n        document.body.prepend(modal);\n    }\n\n    Formio.createForm(\n        document.getElementById('msf_6a3afba0cbbdc'),\n        {\"display\":\"wizard\",\"type\":\"form\",\"components\":[{\"type\":\"panel\",\"title\":\"Coordonn\\u00e9es\",\"key\":\"step1\",\"components\":[{\"label\":\"Nom complet\",\"key\":\"fullName\",\"type\":\"textfield\",\"input\":true,\"validate\":{\"required\":true,\"customMessage\":\"Ce champ est obligatoire\"},\"tableView\":true},{\"label\":\"T\\u00e9l\\u00e9phone\",\"key\":\"phone\",\"type\":\"textfield\",\"inputMask\":\"+33 9 99 99 99 99\",\"input\":true,\"validate\":{\"required\":true,\"pattern\":\"^\\\\+33\\\\s[1-9](\\\\s\\\\d{2}){4}$\",\"customMessage\":\"Entrez un num\\u00e9ro fran\\u00e7ais valide, ex: +33 6 12 34 56 78\"},\"placeholder\":\"+33 6 12 34 56 78\",\"tableView\":true},{\"label\":\"Email\",\"key\":\"email\",\"type\":\"email\",\"input\":true,\"validate\":{\"required\":true,\"customMessage\":\"Ce champ est obligatoire\"},\"tableView\":true}],\"input\":false,\"tableView\":false,\"label\":\"Panel\"},{\"type\":\"panel\",\"title\":\"Rendez-vous\",\"key\":\"step2\",\"components\":[{\"label\":\"Souhaitez-vous un appel ?\",\"optionsLabelPosition\":\"right\",\"inline\":true,\"tableView\":false,\"values\":[{\"label\":\"Appeler maintenant\",\"value\":\"now\",\"shortcut\":\"\"},{\"label\":\"Planifier plus tard\",\"value\":\"planned\",\"shortcut\":\"\"}],\"validate\":{\"required\":true,\"customMessage\":\"Merci de choisir!\"},\"validateWhenHidden\":true,\"key\":\"calltime\",\"customConditional\":\"show = (new Date().getHours() >= 8 && new Date().getHours() <= 19)\",\"type\":\"radio\",\"input\":true},{\"label\":\"Choisissez une date et heure\",\"format\":\"dd\\\/MM\\\/yyyy\",\"tableView\":false,\"datePicker\":{\"disableFunction\":\"date < new Date(new Date().setHours(0,0,0,0)) || (date.toDateString() === new Date().toDateString() && new Date().getHours() >= 19)\",\"disableWeekends\":false,\"disableWeekdays\":false},\"enableTime\":false,\"timePicker\":{\"showMeridian\":false},\"validate\":{\"required\":true,\"custom\":\"valid = (data.calltime === 'planned') ? input !== '' : true;\",\"customMessage\":\"Merci de pr\\u00e9ciser le jour si vous planifiez plus tard.\"},\"validateWhenHidden\":false,\"errorLabel\":\"Merci de pr\\u00e9ciser le jour\",\"key\":\"plannedDate\",\"customConditional\":\"show = data.calltime === 'planned' || (new Date().getHours() < 8 || new Date().getHours() >= 19);\",\"type\":\"datetime\",\"input\":true,\"widget\":{\"type\":\"calendar\",\"displayInTimezone\":\"viewer\",\"locale\":\"en\",\"useLocaleSettings\":false,\"allowInput\":true,\"mode\":\"single\",\"enableTime\":false,\"noCalendar\":false,\"format\":\"dd\\\/MM\\\/yyyy\",\"hourIncrement\":1,\"minuteIncrement\":1,\"time_24hr\":true,\"minDate\":null,\"disableWeekends\":false,\"disableWeekdays\":false,\"disableFunction\":\"date < new Date(new Date().setHours(0,0,0,0)) || (date.toDateString() === new Date().toDateString() && new Date().getHours() >= 19)\",\"maxDate\":null}},{\"label\":\"Heure\",\"widget\":\"html5\",\"tableView\":true,\"dataSrc\":\"custom\",\"data\":{\"custom\":\"const planned = moment(data.plannedDate);\\nconst now = moment();\\n\\nconst first = moment.max(\\n\\tmoment().minute() < 30 ? now.clone().minute(30).second(0) : now.clone().add(1, 'hour').minute(0).second(0),\\n\\tplanned.clone().hour(9).minute(0).second(0)\\n\\t);\\n\\nconst isToday = planned.isSame(now, 'day');\\nconst start = isToday \\n  ? first\\n  : planned.clone().hour(9).minute(0).second(0);\\n\\nconst end = planned.clone().hour(19).minute(0).second(0);\\n\\nvalues = [];\\nwhile (start.isSameOrBefore(end)) {\\n  values.push({ label: start.format(\\\"HH:mm\\\"), value: start.format(\\\"HH:mm\\\") });\\n  start.add(30, 'minutes');\\n}\"},\"validate\":{\"required\":true,\"customMessage\":\"Merci de choisir un cr\\u00e9neau horaire.\",\"custom\":\"valid = (data.calltime === 'planned') ? input !== '' : true;\"},\"validateWhenHidden\":false,\"key\":\"slot\",\"customConditional\":\"if (!data.plannedDate) {\\n  show = false;\\n} else {\\n  const planned = new Date(data.plannedDate);\\n  const now = new Date();\\n  \\n  planned.setHours(0, 0, 0, 0);\\n  now.setHours(0, 0, 0, 0);\\n  \\n  const isToday = planned.getTime() === now.getTime();\\n  const isFuture = planned > now;\\n  const isTodayBefore19h = isToday && (new Date().getHours() <= 19);\\n\\n  show = isFuture || isTodayBefore19h;\\n}\",\"type\":\"select\",\"input\":true},{\"label\":\"Cr\\u00e9neau s\\u00e9lectionn\\u00e9\",\"key\":\"appointment\",\"type\":\"hidden\",\"calculateValue\":\"if (data.calltime === 'now') {\\n  value = moment().format();\\n} else if (data.plannedDate && data.slot && data.slot.value) {\\n  const datePart = moment(data.plannedDate).format('YYYY-MM-DD');\\n  value = moment(`${datePart}T${data.slot.value}`).format();\\n} else {\\n  value = '';\\n}\",\"persistent\":true},{\"label\":\"Cr\\u00e9neau format\\u00e9\",\"key\":\"appointment_formatted\",\"type\":\"hidden\",\"calculateValue\":\"if (data.appointment) {\\n  const months = ['janvier', 'f\\u00e9vrier', 'mars', 'avril', 'mai', 'juin', 'juillet', 'ao\\u00fbt', 'septembre', 'octobre', 'novembre', 'd\\u00e9cembre'];\\n  const m = moment(data.appointment);\\n  const day = m.date();\\n  const month = months[m.month()];\\n  const year = m.year();\\n  const hour = m.format('HH');\\n  const minute = m.format('mm');\\n  value = `le ${day} ${month} ${year} &agrave; ${hour}h${minute}`;\\n} else {\\n  value = '';\\n}\",\"persistent\":true}],\"input\":false,\"tableView\":false,\"label\":\"Panel\"},{\"title\":\"Confirmation\",\"breadcrumbClickable\":true,\"buttonSettings\":{\"previous\":true,\"cancel\":true,\"next\":true},\"navigateOnEnter\":false,\"saveOnEnter\":false,\"scrollToTop\":false,\"collapsible\":false,\"key\":\"step3\",\"type\":\"panel\",\"label\":\"Panel\",\"components\":[{\"label\":\"\\u00c0 quelle saison souhaitez-vous c\\u00e9l\\u00e9brer votre mariage ?\",\"key\":\"season\",\"type\":\"radio\",\"input\":true,\"inline\":false,\"values\":[{\"label\":\"<i class='bi bi-sun'><\\\/i> \\u00c9t\\u00e9\",\"value\":\"ete\"},{\"label\":\"<i class='bi bi-snow'><\\\/i> Hiver\",\"value\":\"hiver\"},{\"label\":\"<i class='bi bi-flower1'><\\\/i> Printemps\",\"value\":\"printemps\"},{\"label\":\"<i class='bi bi-cloud-drizzle'><\\\/i> Automne\",\"value\":\"automne\"},{\"label\":\"<i class='bi bi-question-circle'><\\\/i> Non connu\",\"value\":\"nonconnu\"}],\"validate\":{\"required\":true,\"customMessage\":\"Merci de choisir!\"},\"customClass\":\"d-flex flex-wrap gap-2\",\"template\":\"<label class='btn btn-outline-primary btn-check-label'>{{ item.label }}<\\\/label>\",\"tableView\":false}],\"input\":false,\"tableView\":false}]},\n        {\n            language: 'fr',\n            i18n: {\n                fr:{\n                    next:\"suivant\",\n                    cancel: \"annuler\",\n                    previous: \"pr\u00e9c\u00e9dent\",\n                    submit: 'Envoyer',\n                    required: ''\n                }\n            }\n        }\n    ).then(function(form) {\n        form.on('submit', function(submission) {\n            const modalBody = document.querySelector('#msf_6a3afba0cbbdc_modal .modal-body');\n            const modalHeader = document.querySelector('#msf_6a3afba0cbbdc_modal .modal-header');\n            if (modalHeader) modalHeader.remove();\n            if (modalBody) {\n                modalBody.innerHTML = `\n                    <div class=\"text-center py-5\">\n                        <div class=\"spinner-border text-primary mb-4\" role=\"status\" style=\"width: 4rem; height: 4rem;\">\n                            <span class=\"visually-hidden\">Loading...<\/span>\n                        <\/div>\n                        <p class=\"lead\">Enregistrement en cours...<\/p>\n                    <\/div>\n                `;\n            }\n\n            fetch('https:\/\/www.smartmariage.com\/wp-admin\/admin-ajax.php', {\n                method: 'POST',\n                headers: {\n                    'Content-Type': 'application\/x-www-form-urlencoded'\n                },\n                body: new URLSearchParams({\n                    action:       'msf_handle_form',\n                    data:         JSON.stringify(submission.data),\n                    widget_ref:   'msf_6a3afba0cbbdc'\n                })\n            })\n            .then(res => res.json())\n            .then(response => {\n                if (modalBody) {\n                    let seconds = 5;\n                    modalBody.innerHTML = `\n                        <div class=\"text-center py-5\">\n                            <div class=\"text-success mb-4\" style=\"font-size: 4rem;\">\n                                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"64\" height=\"64\" fill=\"currentColor\" class=\"bi bi-check-circle-fill\" viewBox=\"0 0 16 16\">\n                                    <path d=\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.97 10.03a.75.75 0 0 0 1.07 0l3.992-3.992a.75.75 0 1 0-1.06-1.06L7.5 8.439 5.53 6.47a.75.75 0 0 0-1.06 1.06l2.5 2.5z\"\/>\n                                <\/svg>\n                            <\/div>\n                            <p class=\"lead\">Merci pour votre soumission !<\/p>\n                            <p class=\"text-muted\">Fermeture automatique dans <span id=\"success-timer\">${seconds}<\/span> secondes...<\/p>\n                            <button class=\"btn btn-success mt-3\" data-bs-dismiss=\"modal\">Fermer<\/button>\n                        <\/div>\n                    `;\n\n                    const interval = setInterval(() => {\n                        seconds--;\n                        const timer = document.getElementById('success-timer');\n                        if (timer) timer.textContent = seconds;\n                        if (seconds <= 0) {\n                            clearInterval(interval);\n                            const modalEl = document.getElementById('msf_6a3afba0cbbdc_modal');\n                            const modal = bootstrap.Modal.getInstance(modalEl);\n                            if (modal) modal.hide();\n                        }\n                    }, 1000);\n                }\n            })\n            .catch(() => {\n                if (modalBody) {\n                    let seconds = 15;\n                    modalBody.innerHTML = `\n                        <div class=\"text-center py-5\">\n                            <div class=\"text-danger mb-4\" style=\"font-size: 4rem;\">\n                                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"64\" height=\"64\" fill=\"currentColor\" class=\"bi bi-x-circle-fill\" viewBox=\"0 0 16 16\">\n                                    <path d=\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"\/>\n                                <\/svg>\n                            <\/div>\n                            <p class=\"lead\">Une erreur est survenue,<br> veuillez essayer plus tard,<br> nous appeler ou nous envoyer un SMS<br> au <strong>+33 6 69 41 52 82<\/strong><\/p>\n                            <p class=\"text-muted\">Fermeture automatique dans <span id=\"error-timer\">${seconds}<\/span> secondes...<\/p>\n                            <button class=\"btn btn-danger mt-3\" data-bs-dismiss=\"modal\">Fermer<\/button>\n                        <\/div>\n                    `;\n\n                    const interval = setInterval(() => {\n                        seconds--;\n                        const timer = document.getElementById('error-timer');\n                        if (timer) timer.textContent = seconds;\n                        if (seconds <= 0) {\n                            clearInterval(interval);\n                            const modalEl = document.getElementById('msf_6a3afba0cbbdc_modal');\n                            const modal = bootstrap.Modal.getInstance(modalEl);\n                            if (modal) modal.hide();\n                        }\n                    }, 1000);\n                }\n            });\n        });\n    });\n});\n<\/script>\n<\/div><\/div><\/div><div class=\"wpb_column vc_column_container vc_col-sm-12 occ-402305\"><div class=\"vc_column-inner\"><div class=\"wpb_wrapper\"><\/div><\/div><\/div><\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"Autonomie guid\u00e9e Vous organisez. On vous outille. Nos ressources gratuites Avant m\u00eame de nous choisir, on vous offre : \ud83d\udcde Appel d\u00e9couverte 20 min Un \u00e9change pour parler de votre [...]","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-3047","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.smartmariage.com\/en\/wp-json\/wp\/v2\/pages\/3047","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.smartmariage.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.smartmariage.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.smartmariage.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.smartmariage.com\/en\/wp-json\/wp\/v2\/comments?post=3047"}],"version-history":[{"count":168,"href":"https:\/\/www.smartmariage.com\/en\/wp-json\/wp\/v2\/pages\/3047\/revisions"}],"predecessor-version":[{"id":4614,"href":"https:\/\/www.smartmariage.com\/en\/wp-json\/wp\/v2\/pages\/3047\/revisions\/4614"}],"wp:attachment":[{"href":"https:\/\/www.smartmariage.com\/en\/wp-json\/wp\/v2\/media?parent=3047"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}