{"id":33043,"date":"2026-02-12T16:20:54","date_gmt":"2026-02-12T16:20:54","guid":{"rendered":"https:\/\/referencement-ia-pro.com\/?page_id=33043"},"modified":"2026-09-03T15:21:19","modified_gmt":"2026-09-03T15:21:19","slug":"quiz","status":"publish","type":"page","link":"https:\/\/nicolasbarriere.fr\/en\/quizz\/","title":{"rendered":"Nicolas Barriere Quiz Form"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"33043\" class=\"elementor elementor-33043\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3f73ea6 e-con-full e-flex cmsmasters-block-default e-con e-parent\" data-id=\"3f73ea6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9ef628b cmsmasters-block-default cmsmasters-sticky-default elementor-widget elementor-widget-html\" data-id=\"9ef628b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n\r\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@300;400;500;600;700;800&family=Playfair+Display:wght@500;600;700&display=swap');\r\n\r\n\r\n\r\n  .iaba-quiz-widget, .iaba-quiz-widget * { margin: 0; padding: 0; }\r\n\r\n\r\n\r\n  .iaba-quiz-widget {\r\n\r\n    --bg: transparent;\r\n\r\n    --card-bg: #f8fdfd;\r\n\r\n    --card-border: rgba(64, 194, 210, 0.18);\r\n\r\n    --input-bg: #ffffff;\r\n\r\n    --input-border: rgba(64, 194, 210, 0.25);\r\n\r\n    --text: #40C2D2;\r\n\r\n    --text-muted: #7a9aa0;\r\n\r\n    --placeholder: #a0c4ca;\r\n\r\n    --accent: #40C2D2;\r\n\r\n    --accent-dark: #2ea8b8;\r\n\r\n    --accent-rich: #2596a4;\r\n\r\n    --accent-glow: rgba(64, 194, 210, 0.35);\r\n\r\n    --accent-light: #b4eaf0;\r\n\r\n    --success: #40C2D2;\r\n\r\n    --error: #e07878;\r\n\r\n    --btn-accent: #40C2D2;\r\n\r\n    --btn-text: #ffffff;\r\n\r\n  }\r\n\r\n\r\n\r\n  .iaba-quiz-widget {\r\n\r\n    font-family: 'DM Sans', sans-serif;\r\n\r\n    background: var(--bg);\r\n\r\n    width: 100%;\r\n\r\n    box-sizing: border-box;\r\n\r\n    display: block;\r\n\r\n    width: 100%;\r\n\r\n    padding: 20px 12px;\r\n\r\n    overflow-x: hidden;\r\n\r\n    position: relative;\r\n\r\n  }\r\n\r\n  @supports (container-type: inline-size) {\r\n\r\n    .iaba-quiz-widget { container-type: inline-size; container-name: iabaquiz; }\r\n\r\n  }\r\n\r\n  .iaba-quiz-widget *, .iaba-quiz-widget *::before, .iaba-quiz-widget *::after { box-sizing: border-box; }\r\n\r\n\r\n\r\n  .bg-pattern {\r\n\r\n    position: fixed; inset: 0;\r\n\r\n    background-image:\r\n\r\n      radial-gradient(ellipse 80% 50% at 50% -20%, rgba(64, 194, 210, 0.15) 0%, transparent 60%),\r\n\r\n      radial-gradient(ellipse 50% 40% at 100% 100%, rgba(46, 168, 184, 0.08) 0%, transparent 50%);\r\n\r\n    pointer-events: none; z-index: 0;\r\n\r\n  }\r\n\r\n\r\n\r\n  .floating-elements { position: fixed; inset: 0; pointer-events: none; z-index: 0; overflow: hidden; }\r\n\r\n\r\n\r\n  .float-orb {\r\n\r\n    position: absolute; border-radius: 50%;\r\n\r\n    background: radial-gradient(circle at 30% 30%, rgba(64,194,210,0.25), rgba(46,168,184,0.04));\r\n\r\n    opacity: 0.45; filter: blur(1px);\r\n\r\n  }\r\n\r\n  .float-orb:nth-child(1) { width: 14px; height: 14px; top: 10%; left: 6%; animation: orbF 20s ease-in-out infinite; }\r\n\r\n  .float-orb:nth-child(2) { width: 10px; height: 10px; top: 50%; left: 90%; animation: orbF 24s ease-in-out 2s infinite reverse; }\r\n\r\n  .float-orb:nth-child(3) { width: 8px; height: 8px; top: 80%; left: 12%; animation: orbF 18s ease-in-out 4s infinite; }\r\n\r\n  .float-orb:nth-child(4) { width: 12px; height: 12px; top: 22%; left: 94%; animation: orbF 22s ease-in-out 1s infinite reverse; }\r\n\r\n\r\n\r\n  @keyframes orbF {\r\n\r\n    0%, 100% { transform: translate(0, 0); }\r\n\r\n    25% { transform: translate(22px, -16px); }\r\n\r\n    50% { transform: translate(-14px, 22px); }\r\n\r\n    75% { transform: translate(16px, 12px); }\r\n\r\n  }\r\n\r\n\r\n\r\n  .main-container { width: 100%; max-width: 560px; margin: 0 auto; position: relative; z-index: 1; }\r\n\r\n\r\n\r\n  .welcome-screen { text-align: center; animation: fadeUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) both; }\r\n\r\n  @keyframes fadeUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }\r\n\r\n\r\n\r\n  .welcome-card {\r\n\r\n    background: var(--card-bg); border: 1px solid var(--card-border); border-radius: 28px;\r\n\r\n    padding: 48px 36px; box-shadow: 0 4px 30px rgba(64, 194, 210, 0.08); position: relative; overflow: hidden;\r\n\r\n  }\r\n\r\n  .welcome-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--accent), transparent); opacity: 0.6; }\r\n\r\n\r\n\r\n  .welcome-icon {\r\n\r\n    width: 80px; height: 80px; margin: 0 auto 28px;\r\n\r\n    background: linear-gradient(135deg, var(--accent), var(--accent-dark)); border-radius: 50%;\r\n\r\n    display: flex; align-items: center; justify-content: center; font-size: 38px;\r\n\r\n    box-shadow: 0 0 40px var(--accent-glow); animation: gentlePulse 3s ease-in-out infinite;\r\n\r\n  }\r\n\r\n  @keyframes gentlePulse { 0%, 100% { transform: scale(1); box-shadow: 0 0 40px var(--accent-glow); } 50% { transform: scale(1.04); box-shadow: 0 0 60px var(--accent-glow); } }\r\n\r\n\r\n\r\n  .welcome-card h1 { font-family: 'Playfair Display', serif; font-size: clamp(24px, 5vw, 32px); font-weight: 600; color: var(--text); margin-bottom: 14px; line-height: 1.25; }\r\n\r\n  .welcome-card h1 span { background: linear-gradient(135deg, var(--accent), var(--accent-dark)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }\r\n\r\n  .welcome-card p { color: var(--text-muted); font-size: 15px; line-height: 1.6; max-width: 380px; margin: 0 auto 32px; }\r\n\r\n\r\n\r\n  .welcome-btn {\r\n\r\n    display: inline-flex; align-items: center; gap: 10px; padding: 18px 40px;\r\n\r\n    background: var(--btn-accent); color: var(--btn-text); font-family: 'DM Sans', sans-serif;\r\n\r\n    font-size: 15px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase;\r\n\r\n    border: none; border-radius: 16px; cursor: pointer; box-shadow: 0 4px 25px var(--accent-glow);\r\n\r\n    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); position: relative; overflow: hidden;\r\n\r\n  }\r\n\r\n  .welcome-btn:hover { transform: translateY(-3px); box-shadow: 0 8px 35px var(--accent-glow); background: var(--accent-dark); }\r\n\r\n  .welcome-btn::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.25), transparent); transform: translateX(-100%); }\r\n\r\n  .welcome-btn:hover::before { animation: shimmer 0.8s ease forwards; }\r\n\r\n  @keyframes shimmer { to { transform: translateX(100%); } }\r\n\r\n\r\n\r\n  .form-screen { display: none; }\r\n\r\n  .form-screen.active { display: block; animation: fadeUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) both; }\r\n\r\n\r\n\r\n  .header { text-align: center; margin-bottom: 24px; }\r\n\r\n  .badge-container { display: inline-flex; align-items: center; gap: 8px; background: linear-gradient(135deg, rgba(64, 194, 210, 0.2), rgba(46, 168, 184, 0.1)); border: 1px solid rgba(64, 194, 210, 0.35); padding: 8px 16px; border-radius: 30px; margin-bottom: 16px; }\r\n\r\n  .badge-icon { width: 20px; height: 20px; background: var(--accent); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 11px; }\r\n\r\n  .badge-text { font-size: 12px; font-weight: 600; color: var(--accent-rich); letter-spacing: 0.5px; text-transform: uppercase; }\r\n\r\n  .header h2 { font-family: 'Playfair Display', serif; font-size: clamp(22px, 5vw, 28px); font-weight: 600; color: var(--text); line-height: 1.2; }\r\n\r\n  .header h2 span { background: linear-gradient(135deg, var(--accent), var(--accent-dark)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }\r\n\r\n\r\n\r\n  .steps-indicator { display: flex; justify-content: center; gap: 8px; margin-bottom: 24px; }\r\n\r\n  .step-pip { width: 32px; height: 5px; border-radius: 10px; background: rgba(64, 194, 210, 0.2); transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); }\r\n\r\n  .step-pip.active { background: var(--accent); width: 48px; box-shadow: 0 0 10px var(--accent-glow); }\r\n\r\n  .step-pip.completed { background: var(--accent-dark); }\r\n\r\n\r\n\r\n  .form-card { background: var(--card-bg); border: 1px solid var(--card-border); border-radius: 24px; padding: 32px 28px; position: relative; overflow: hidden; box-shadow: 0 4px 30px rgba(64, 194, 210, 0.06); }\r\n\r\n  .form-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--accent), transparent); opacity: 0.5; }\r\n\r\n\r\n\r\n  .progress-container { margin-bottom: 28px; }\r\n\r\n  .progress-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }\r\n\r\n  .progress-label { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 600; color: var(--accent-rich); text-transform: uppercase; letter-spacing: 1px; }\r\n\r\n  .progress-label svg { width: 15px; height: 15px; }\r\n\r\n  .progress-value { font-size: 13px; font-weight: 700; color: var(--accent-dark); }\r\n\r\n  .progress-bar { height: 5px; background: rgba(64, 194, 210, 0.15); border-radius: 10px; overflow: hidden; }\r\n\r\n  .progress-fill { height: 100%; width: 0%; background: linear-gradient(90deg, var(--accent-light), var(--accent), var(--accent-dark)); border-radius: 10px; transition: width 0.8s cubic-bezier(0.16, 1, 0.3, 1); position: relative; }\r\n\r\n  .progress-fill::after { content: ''; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 11px; height: 11px; background: var(--accent); border: 2px solid #fff; border-radius: 50%; box-shadow: 0 0 10px var(--accent-glow); opacity: 0; transition: opacity 0.3s; }\r\n\r\n  .progress-fill.active::after { opacity: 1; }\r\n\r\n\r\n\r\n  .q-slide { display: none; animation: slideIn 0.45s cubic-bezier(0.16, 1, 0.3, 1) both; }\r\n\r\n  .q-slide.active { display: block; }\r\n\r\n  @keyframes slideIn { from { opacity: 0; transform: translateX(40px); } to { opacity: 1; transform: translateX(0); } }\r\n\r\n\r\n\r\n  .q-title { font-size: 17px; font-weight: 600; color: var(--text); margin-bottom: 6px; display: flex; align-items: center; gap: 10px; }\r\n\r\n  .q-title .emoji { font-size: 22px; }\r\n\r\n  .q-subtitle { font-size: 13px; color: var(--text-muted); margin-bottom: 22px; }\r\n\r\n\r\n\r\n  .option-grid { display: grid; gap: 12px; margin-bottom: 8px; }\r\n\r\n  .option-grid.cols-2 { grid-template-columns: 1fr 1fr; }\r\n\r\n  .option-grid.cols-3 { grid-template-columns: 1fr 1fr 1fr; }\r\n\r\n  .option-grid.cols-1 { grid-template-columns: 1fr; }\r\n\r\n  .option-card { position: relative; }\r\n\r\n  .option-card input { position: absolute; opacity: 0; pointer-events: none; }\r\n\r\n  .option-label { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 20px 14px; background: var(--input-bg); border: 2px solid var(--input-border); border-radius: 16px; cursor: pointer; transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); text-align: center; min-height: 90px; }\r\n\r\n  .option-label:hover { border-color: var(--accent); transform: translateY(-2px); box-shadow: 0 4px 15px rgba(64, 194, 210, 0.12); }\r\n\r\n  .option-card input:checked + .option-label { border-color: var(--accent); background: rgba(64, 194, 210, 0.08); box-shadow: 0 0 20px var(--accent-glow); }\r\n\r\n  .option-icon { font-size: 28px; margin-bottom: 8px; transition: transform 0.3s; }\r\n\r\n  .option-card input:checked + .option-label .option-icon { transform: scale(1.15); }\r\n\r\n  .option-text { font-size: 13px; font-weight: 600; color: var(--text); line-height: 1.3; }\r\n\r\n  .option-desc { font-size: 11px; color: var(--text-muted); margin-top: 4px; }\r\n\r\n\r\n\r\n  .option-grid.pills { grid-template-columns: 1fr; gap: 10px; }\r\n\r\n  .option-grid.pills .option-label { flex-direction: row; padding: 16px 20px; min-height: auto; gap: 14px; justify-content: flex-start; text-align: left; }\r\n\r\n  .option-grid.pills .option-icon { margin-bottom: 0; font-size: 24px; }\r\n\r\n\r\n\r\n  .option-check { position: absolute; top: 10px; right: 10px; width: 22px; height: 22px; background: var(--accent); border-radius: 50%; display: flex; align-items: center; justify-content: center; opacity: 0; transform: scale(0); transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); z-index: 2; }\r\n\r\n  .option-check svg { width: 12px; height: 12px; stroke: #fff; stroke-width: 3; fill: none; }\r\n\r\n  .option-card input:checked ~ .option-check { opacity: 1; transform: scale(1); }\r\n\r\n\r\n\r\n  .input-group { position: relative; margin-bottom: 14px; }\r\n\r\n  .input-group label { display: block; font-size: 11px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.8px; margin-bottom: 8px; }\r\n\r\n  .input-wrapper { position: relative; }\r\n\r\n\r\n\r\n  input[type=\"text\"], input[type=\"email\"], input[type=\"tel\"] { width: 100%; padding: 16px 18px; font-family: 'DM Sans', sans-serif; font-size: 15px; font-weight: 500; color: var(--text); background: var(--input-bg); border: 2px solid var(--input-border); border-radius: 14px; outline: none; transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); -webkit-appearance: none; appearance: none; }\r\n\r\n  textarea { width: 100%; padding: 16px 18px; font-family: 'DM Sans', sans-serif; font-size: 15px; font-weight: 500; color: var(--text); background: var(--input-bg); border: 2px solid var(--input-border); border-radius: 14px; outline: none; transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); -webkit-appearance: none; appearance: none; resize: vertical; min-height: 100px; }\r\n\r\n  textarea::placeholder { color: var(--placeholder); font-weight: 400; }\r\n\r\n  textarea:focus { border-color: var(--accent); background: #f6feff; box-shadow: 0 0 0 4px var(--accent-glow); }\r\n\r\n  input::placeholder { color: var(--placeholder); font-weight: 400; }\r\n\r\n  input:focus { border-color: var(--accent); background: #f6feff; box-shadow: 0 0 0 4px var(--accent-glow); }\r\n\r\n\r\n\r\n  .field-check { position: absolute; right: 14px; top: 50%; transform: translateY(-50%) scale(0); width: 24px; height: 24px; background: var(--accent); border-radius: 50%; display: flex; align-items: center; justify-content: center; opacity: 0; transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1); }\r\n\r\n  .field-check svg { width: 12px; height: 12px; stroke: #fff; stroke-width: 3; fill: none; }\r\n\r\n  .input-wrapper.filled .field-check { opacity: 1; transform: translateY(-50%) scale(1); }\r\n\r\n  .input-wrapper.filled input { border-color: var(--accent-dark); background: #f9fefe; }\r\n\r\n  .input-wrapper.error input, .input-wrapper.error textarea { border-color: var(--error); animation: shake 0.4s ease; }\r\n\r\n  @keyframes shake { 0%, 100% { transform: translateX(0); } 20% { transform: translateX(-6px); } 40% { transform: translateX(6px); } 60% { transform: translateX(-4px); } 80% { transform: translateX(4px); } }\r\n\r\n\r\n\r\n  .btn-row { display: flex; gap: 12px; margin-top: 24px; }\r\n\r\n  .btn { flex: 1; padding: 18px 24px; font-family: 'DM Sans', sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; border: none; border-radius: 14px; cursor: pointer; transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); position: relative; overflow: hidden; }\r\n\r\n  .btn-back { background: transparent; border: 2px solid var(--input-border); color: var(--text-muted); flex: 0 0 auto; padding: 18px 20px; }\r\n\r\n  .btn-back:hover { border-color: var(--accent); color: var(--text); }\r\n\r\n  .btn-next, .btn-submit { background: var(--btn-accent); color: var(--btn-text); box-shadow: 0 4px 20px var(--accent-glow); }\r\n\r\n  .btn-next:hover, .btn-submit:hover { transform: translateY(-2px); box-shadow: 0 8px 30px var(--accent-glow); background: var(--accent-dark); }\r\n\r\n  .btn-next:active, .btn-submit:active { transform: translateY(0); }\r\n\r\n  .btn-next::before, .btn-submit::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent); transform: translateX(-100%); }\r\n\r\n  .btn-next:hover::before, .btn-submit:hover::before { animation: shimmer 0.8s ease forwards; }\r\n\r\n  .btn:disabled { opacity: 0.45; cursor: not-allowed; transform: none !important; }\r\n\r\n\r\n\r\n  .success-state { text-align: center; padding: 40px 20px; }\r\n\r\n  .success-icon { width: 100px; height: 100px; margin: 0 auto 24px; background: linear-gradient(135deg, var(--accent), var(--accent-dark)); border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 50px var(--accent-glow); animation: successBounce 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); }\r\n\r\n  @keyframes successBounce { 0% { transform: scale(0); } 60% { transform: scale(1.2); } 100% { transform: scale(1); } }\r\n\r\n  .success-icon svg { width: 50px; height: 50px; stroke: #fff; stroke-width: 2.5; fill: none; }\r\n\r\n  .success-title { font-family: 'Playfair Display', serif; font-size: 28px; color: var(--text); margin-bottom: 12px; }\r\n\r\n  .success-text { font-size: 15px; color: var(--text-muted); line-height: 1.6; max-width: 340px; margin: 0 auto; }\r\n\r\n\r\n\r\n  #iabaQuizConfettiCanvas { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 9999; }\r\n\r\n\r\n\r\n  .toast { position: fixed; bottom: 30px; left: 50%; transform: translateX(-50%) translateY(100px); background: var(--card-bg); border: 1px solid var(--error); color: var(--text); padding: 16px 24px; border-radius: 14px; font-size: 14px; font-weight: 500; opacity: 0; transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); z-index: 999; box-shadow: 0 8px 30px rgba(64, 194, 210, 0.12); }\r\n\r\n  .toast.show { transform: translateX(-50%) translateY(0); opacity: 1; }\r\n\r\n\r\n\r\n  .consent-group { margin-top: 18px; margin-bottom: 4px; }\r\n\r\n  .consent-group label { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; font-size: 12px; color: var(--text-muted); line-height: 1.5; text-transform: none; letter-spacing: 0; }\r\n\r\n  .consent-group input[type=\"checkbox\"] { width: 18px; height: 18px; min-width: 18px; margin-top: 2px; accent-color: var(--accent); cursor: pointer; }\r\n\r\n  .consent-group a { color: var(--accent-dark); text-decoration: underline; }\r\n\r\n  .consent-group a:hover { color: var(--accent-rich); }\r\n\r\n\r\n\r\n  .disclaimer-text { font-size: 11px; color: var(--text-muted); text-align: center; margin-top: 15px; line-height: 1.4; }\r\n\r\n\r\n\r\n  .transition-intro { text-align: center; padding: 10px 0; }\r\n\r\n  .transition-intro .intro-icon { font-size: 48px; margin-bottom: 18px; }\r\n\r\n  .transition-intro h3 { font-family: 'Playfair Display', serif; font-size: 20px; font-weight: 600; color: var(--text); margin-bottom: 16px; line-height: 1.3; }\r\n\r\n  .transition-intro p { font-size: 14px; color: var(--text-muted); line-height: 1.7; text-align: left; max-width: 480px; margin: 0 auto; }\r\n\r\n\r\n\r\n  .legal-footer { margin-top: 20px; padding-top: 16px; border-top: 1px solid rgba(64, 194, 210, 0.12); text-align: center; }\r\n\r\n  .legal-footer p { font-size: 10px; color: var(--text-muted); line-height: 1.5; margin-bottom: 4px; }\r\n\r\n  .legal-footer a { color: var(--accent-dark); text-decoration: underline; font-size: 10px; }\r\n\r\n  .legal-footer a:hover { color: var(--accent-rich); }\r\n\r\n\r\n\r\n  @media (max-width: 520px) {\r\n\r\n    .iaba-quiz-widget { padding: 16px 10px; }\r\n\r\n    .welcome-card { padding: 36px 22px; border-radius: 22px; }\r\n\r\n    .form-card { padding: 24px 20px; border-radius: 20px; }\r\n\r\n    .option-grid.cols-2, .option-grid.cols-3 { grid-template-columns: 1fr; }\r\n\r\n    .option-label { flex-direction: row; padding: 16px 18px; min-height: auto; gap: 14px; text-align: left; }\r\n\r\n    .option-icon { margin-bottom: 0; font-size: 24px; }\r\n\r\n    .btn { padding: 16px 20px; font-size: 13px; }\r\n\r\n    .welcome-btn { padding: 16px 32px; font-size: 14px; }\r\n\r\n  }\r\n\r\n\r\n\r\n  \/* Reacts to the actual Elementor column\/widget width, not the browser viewport \u2014 *\/\r\n\r\n  \/* covers narrow sidebars or columns even on a wide desktop screen. *\/\r\n\r\n  @container iabaquiz (max-width: 520px) {\r\n\r\n    .welcome-card { padding: 36px 22px; border-radius: 22px; }\r\n\r\n    .form-card { padding: 24px 20px; border-radius: 20px; }\r\n\r\n    .option-grid.cols-2, .option-grid.cols-3 { grid-template-columns: 1fr; }\r\n\r\n    .option-label { flex-direction: row; padding: 16px 18px; min-height: auto; gap: 14px; text-align: left; }\r\n\r\n    .option-icon { margin-bottom: 0; font-size: 24px; }\r\n\r\n    .btn { padding: 16px 20px; font-size: 13px; }\r\n\r\n    .welcome-btn { padding: 16px 32px; font-size: 14px; }\r\n\r\n  }\r\n\r\n\r\n\r\n  @container iabaquiz (max-width: 380px) {\r\n\r\n    .header h2 { font-size: 20px; }\r\n\r\n    .q-title { font-size: 15px; }\r\n\r\n    .option-grid.cols-2, .option-grid.cols-3 { grid-template-columns: 1fr; }\r\n\r\n  }\r\n\r\n<\/style>\r\n\r\n<div class=\"iaba-quiz-widget\">\r\n\r\n<canvas id=\"iabaQuizConfettiCanvas\"><\/canvas>\r\n\r\n<div class=\"main-container\">\r\n\r\n  <div class=\"welcome-screen\" id=\"iabaQuizWelcomeScreen\">\r\n    <div class=\"welcome-card\">\r\n      <div class=\"welcome-icon\">\ud83d\ude01<\/div>\r\n      <h1>Pr\u00e9parer votre <span>consultation<\/span> d'orthodontie<\/h1>\r\n      <p>R\u00e9pondez \u00e0 quelques questions pour nous aider \u00e0 pr\u00e9parer votre rendez-vous au cabinet du Dr Barri\u00e8re.<\/p>\r\n      <button class=\"welcome-btn\" id=\"iabaQuizStartBtn\">\r\n        D\u00e9marrer le questionnaire\r\n        <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"><\/line><polyline points=\"12 5 19 12 12 19\"><\/polyline><\/svg>\r\n      <\/button>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"form-screen\" id=\"iabaQuizFormScreen\">\r\n    <div class=\"header\">\r\n      <div class=\"badge-container\">\r\n        <div class=\"badge-icon\">\u2728<\/div>\r\n        <span class=\"badge-text\">Pr\u00e9paration de visite<\/span>\r\n      <\/div>\r\n      <h2>Votre <span>consultation<\/span><\/h2>\r\n    <\/div>\r\n\r\n    <div class=\"steps-indicator\" id=\"iabaQuizStepsIndicator\"><\/div>\r\n\r\n    <div class=\"form-card\">\r\n      <div class=\"progress-container\">\r\n        <div class=\"progress-header\">\r\n          <div class=\"progress-label\">\r\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><polyline points=\"12 6 12 12 16 14\"><\/polyline><\/svg>\r\n            Progression\r\n          <\/div>\r\n          <div class=\"progress-value\" id=\"iabaQuizProgressPct\">0 %<\/div>\r\n        <\/div>\r\n        <div class=\"progress-bar\"><div class=\"progress-fill\" id=\"iabaQuizProgressFill\"><\/div><\/div>\r\n      <\/div>\r\n\r\n      <form id=\"iabaQuizBilanForm\" novalidate=\"\">\r\n\r\n        <!-- ===== Q1: PIVOT ===== -->\r\n        <div class=\"q-slide active\" data-q=\"pivot\">\r\n          <div class=\"q-title\"><span class=\"emoji\">\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67<\/span> La consultation concerne\u2026<\/div>\r\n          <div class=\"q-subtitle\">Cela nous permet d'adapter les questions \u00e0 votre situation<\/div>\r\n          <div class=\"option-grid cols-3\">\r\n            <label class=\"option-card\">\r\n              <input type=\"radio\" name=\"profil\" value=\"adulte\" required=\"\">\r\n              <div class=\"option-label\"><div class=\"option-icon\">\ud83e\uddd1<\/div><div class=\"option-text\">Un adulte<\/div><\/div>\r\n              <div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div>\r\n            <\/label>\r\n            <label class=\"option-card\">\r\n              <input type=\"radio\" name=\"profil\" value=\"ado\">\r\n              <div class=\"option-label\"><div class=\"option-icon\">\ud83e\uddd1\u200d\ud83c\udf93<\/div><div class=\"option-text\">Un adolescent<\/div><\/div>\r\n              <div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div>\r\n            <\/label>\r\n            <label class=\"option-card\">\r\n              <input type=\"radio\" name=\"profil\" value=\"enfant\">\r\n              <div class=\"option-label\"><div class=\"option-icon\">\ud83d\udc76<\/div><div class=\"option-text\">Un enfant<\/div><\/div>\r\n              <div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div>\r\n            <\/label>\r\n          <\/div>\r\n          <div class=\"btn-row\"><button type=\"button\" class=\"btn btn-next\" data-next=\"branch\">Continuer \u2192<\/button><\/div>\r\n        <\/div>\r\n\r\n        <!-- ===== ADULTE Q1: Motifs ===== -->\r\n        <div class=\"q-slide\" data-q=\"adulte_motifs\" data-branch=\"adulte\">\r\n          <div class=\"q-title\"><span class=\"emoji\">\ud83c\udfaf<\/span> Quel est le motif principal de votre consultation ?<\/div>\r\n          <div class=\"q-subtitle\">Choisissez la raison principale<\/div>\r\n          <div class=\"option-grid cols-2\">\r\n            <label class=\"option-card\"><input type=\"radio\" name=\"adulte_motif\" value=\"esthetique\"><div class=\"option-label\"><div class=\"option-icon\">\ud83d\udc8e<\/div><div class=\"option-text\">Esth\u00e9tique<\/div><div class=\"option-desc\">Alignement dentaire<\/div><\/div><div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/label>\r\n            <label class=\"option-card\"><input type=\"radio\" name=\"adulte_motif\" value=\"fonctionnel\"><div class=\"option-label\"><div class=\"option-icon\">\u2699\ufe0f<\/div><div class=\"option-text\">Fonctionnel<\/div><div class=\"option-desc\">Occlusion, mastication<\/div><\/div><div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/label>\r\n            <label class=\"option-card\"><input type=\"radio\" name=\"adulte_motif\" value=\"sante\"><div class=\"option-label\"><div class=\"option-icon\">\ud83e\ude7a<\/div><div class=\"option-text\">Sant\u00e9 bucco-dentaire<\/div><div class=\"option-desc\">Gencives, douleurs articulaires<\/div><\/div><div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/label>\r\n            <label class=\"option-card\"><input type=\"radio\" name=\"adulte_motif\" value=\"recidive\"><div class=\"option-label\"><div class=\"option-icon\">\ud83d\udd04<\/div><div class=\"option-text\">R\u00e9cidive<\/div><div class=\"option-desc\">D\u00e9placement apr\u00e8s un traitement<\/div><\/div><div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/label>\r\n          <\/div>\r\n          <div class=\"btn-row\"><button type=\"button\" class=\"btn btn-back\" data-back=\"pivot\">\u2190<\/button><button type=\"button\" class=\"btn btn-next\" data-next=\"adulte_critere\">Continuer \u2192<\/button><\/div>\r\n        <\/div>\r\n\r\n        <!-- ===== ADULTE Q2: Crit\u00e8re ===== -->\r\n        <div class=\"q-slide\" data-q=\"adulte_critere\" data-branch=\"adulte\">\r\n          <div class=\"q-title\"><span class=\"emoji\">\u26a1<\/span> Votre crit\u00e8re le plus important ?<\/div>\r\n          <div class=\"q-subtitle\">Ce qui compte le plus pour vous dans le choix du traitement<\/div>\r\n          <div class=\"option-grid pills\">\r\n            <label class=\"option-card\"><input type=\"radio\" name=\"adulte_critere\" value=\"discretion\"><div class=\"option-label\"><div class=\"option-icon\">\ud83d\udd0d<\/div><div><div class=\"option-text\">Discr\u00e9tion<\/div><div class=\"option-desc\">Un appareil le plus discret possible<\/div><\/div><\/div><div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/label>\r\n            <label class=\"option-card\"><input type=\"radio\" name=\"adulte_critere\" value=\"budget\"><div class=\"option-label\"><div class=\"option-icon\">\ud83d\udcb0<\/div><div><div class=\"option-text\">Budget ma\u00eetris\u00e9<\/div><div class=\"option-desc\">La solution la plus adapt\u00e9e \u00e0 mon budget<\/div><\/div><\/div><div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/label>\r\n            <label class=\"option-card\"><input type=\"radio\" name=\"adulte_critere\" value=\"duree\"><div class=\"option-label\"><div class=\"option-icon\">\u23f1\ufe0f<\/div><div><div class=\"option-text\">Dur\u00e9e de traitement<\/div><div class=\"option-desc\">Un traitement le plus court possible<\/div><\/div><\/div><div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/label>\r\n          <\/div>\r\n          <div class=\"btn-row\"><button type=\"button\" class=\"btn btn-back\" data-back=\"adulte_motifs\">\u2190<\/button><button type=\"button\" class=\"btn btn-next\" data-next=\"adulte_observance\">Continuer \u2192<\/button><\/div>\r\n        <\/div>\r\n\r\n        <!-- ===== ADULTE Q3: Observance ===== -->\r\n        <div class=\"q-slide\" data-q=\"adulte_observance\" data-branch=\"adulte\">\r\n          <div class=\"q-title\"><span class=\"emoji\">\ud83d\udccb<\/span> Concernant le port d'un appareil amovible\u2026<\/div>\r\n          <div class=\"q-subtitle\">Si un traitement par goutti\u00e8res vous \u00e9tait propos\u00e9, quel serait votre niveau d'observance ?<\/div>\r\n          <div class=\"option-grid cols-2\">\r\n            <label class=\"option-card\"><input type=\"radio\" name=\"adulte_observance\" value=\"rigoureux\"><div class=\"option-label\"><div class=\"option-icon\">\ud83c\udf96\ufe0f<\/div><div class=\"option-text\">Rigoureux<\/div><div class=\"option-desc\">Je peux le porter 22h\/jour<\/div><\/div><div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/label>\r\n            <label class=\"option-card\"><input type=\"radio\" name=\"adulte_observance\" value=\"prefere_fixe\"><div class=\"option-label\"><div class=\"option-icon\">\ud83d\ude0a<\/div><div class=\"option-text\">Plut\u00f4t un appareil fixe<\/div><div class=\"option-desc\">Je pr\u00e9f\u00e8re ne pas y penser<\/div><\/div><div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/label>\r\n          <\/div>\r\n          <div class=\"btn-row\"><button type=\"button\" class=\"btn btn-back\" data-back=\"adulte_critere\">\u2190<\/button><button type=\"button\" class=\"btn btn-next\" data-next=\"adulte_objectif\">Continuer \u2192<\/button><\/div>\r\n        <\/div>\r\n\r\n        <!-- ===== ADULTE Q4: Objectif ===== -->\r\n        <div class=\"q-slide\" data-q=\"adulte_objectif\" data-branch=\"adulte\">\r\n          <div class=\"q-title\"><span class=\"emoji\">\ud83c\udfc6<\/span> Quel r\u00e9sultat attendez-vous ?<\/div>\r\n          <div class=\"q-subtitle\">Cela aidera le praticien \u00e0 comprendre vos attentes<\/div>\r\n          <div class=\"option-grid cols-2\">\r\n            <label class=\"option-card\"><input type=\"radio\" name=\"adulte_objectif\" value=\"cible\"><div class=\"option-label\"><div class=\"option-icon\">\ud83c\udfaf<\/div><div class=\"option-text\">Correction cibl\u00e9e<\/div><div class=\"option-desc\">Am\u00e9liorer un point pr\u00e9cis<\/div><\/div><div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/label>\r\n            <label class=\"option-card\"><input type=\"radio\" name=\"adulte_objectif\" value=\"global\"><div class=\"option-label\"><div class=\"option-icon\">\u2728<\/div><div class=\"option-text\">Traitement complet<\/div><div class=\"option-desc\">Correction globale de l'alignement<\/div><\/div><div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/label>\r\n          <\/div>\r\n          <div class=\"btn-row\"><button type=\"button\" class=\"btn btn-back\" data-back=\"adulte_observance\">\u2190<\/button><button type=\"button\" class=\"btn btn-next\" data-next=\"echeance\">Continuer \u2192<\/button><\/div>\r\n        <\/div>\r\n\r\n        <!-- ===== ENFANT Q1: Signes ===== -->\r\n        <div class=\"q-slide\" data-q=\"enfant_signes\" data-branch=\"enfant\">\r\n          <div class=\"q-title\"><span class=\"emoji\">\ud83d\udc40<\/span> Qu'avez-vous remarqu\u00e9 chez votre enfant ?<\/div>\r\n          <div class=\"q-subtitle\">Ces informations aideront le praticien \u00e0 pr\u00e9parer la consultation<\/div>\r\n          <div class=\"option-grid pills\">\r\n            <label class=\"option-card\"><input type=\"radio\" name=\"enfant_signe\" value=\"respiration_buccale\"><div class=\"option-label\"><div class=\"option-icon\">\ud83d\ude2e<\/div><div><div class=\"option-text\">Respiration buccale<\/div><div class=\"option-desc\">Respire souvent par la bouche<\/div><\/div><\/div><div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/label>\r\n            <label class=\"option-card\"><input type=\"radio\" name=\"enfant_signe\" value=\"habitude_succion\"><div class=\"option-label\"><div class=\"option-icon\">\ud83d\udc4d<\/div><div><div class=\"option-text\">Habitude de succion<\/div><div class=\"option-desc\">Pouce, t\u00e9tine ou autre<\/div><\/div><\/div><div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/label>\r\n            <label class=\"option-card\"><input type=\"radio\" name=\"enfant_signe\" value=\"dents_en_avant\"><div class=\"option-label\"><div class=\"option-icon\">\ud83e\uddb7<\/div><div><div class=\"option-text\">Dents en avant<\/div><div class=\"option-desc\">Proalv\u00e9olie sup\u00e9rieure<\/div><\/div><\/div><div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/label>\r\n            <label class=\"option-card\"><input type=\"radio\" name=\"enfant_signe\" value=\"decalage_machoires\"><div class=\"option-label\"><div class=\"option-icon\">\u2194\ufe0f<\/div><div><div class=\"option-text\">D\u00e9calage des m\u00e2choires<\/div><div class=\"option-desc\">M\u00e2choire inf\u00e9rieure d\u00e9cal\u00e9e<\/div><\/div><\/div><div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/label>\r\n            <label class=\"option-card\"><input type=\"radio\" name=\"enfant_signe\" value=\"bilan_preventif\"><div class=\"option-label\"><div class=\"option-icon\">\u2705<\/div><div><div class=\"option-text\">Bilan pr\u00e9ventif<\/div><div class=\"option-desc\">Aucun signe particulier, visite de contr\u00f4le<\/div><\/div><\/div><div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/label>\r\n          <\/div>\r\n          <div class=\"btn-row\"><button type=\"button\" class=\"btn btn-back\" data-back=\"pivot\">\u2190<\/button><button type=\"button\" class=\"btn btn-next\" data-next=\"echeance\">Continuer \u2192<\/button><\/div>\r\n        <\/div>\r\n\r\n        <!-- ===== ADO Q1: D\u00e9marche ===== -->\r\n        <div class=\"q-slide\" data-q=\"ado_demarche\" data-branch=\"ado\">\r\n          <div class=\"q-title\"><span class=\"emoji\">\ud83d\udcac<\/span> Cette d\u00e9marche, c'est plut\u00f4t\u2026<\/div>\r\n          <div class=\"q-subtitle\">Aide-nous \u00e0 comprendre ta situation<\/div>\r\n          <div class=\"option-grid cols-2\">\r\n            <label class=\"option-card\"><input type=\"radio\" name=\"ado_demarche\" value=\"ma_demarche\"><div class=\"option-label\"><div class=\"option-icon\">\ud83d\ude4b<\/div><div class=\"option-text\">Ma d\u00e9marche<\/div><div class=\"option-desc\">Am\u00e9liorer l'alignement de mes dents<\/div><\/div><div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/label>\r\n            <label class=\"option-card\"><input type=\"radio\" name=\"ado_demarche\" value=\"demarche_parents\"><div class=\"option-label\"><div class=\"option-icon\">\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc66<\/div><div class=\"option-text\">Celle de mes parents<\/div><div class=\"option-desc\">Ce sont eux qui ont pris rendez-vous<\/div><\/div><div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/label>\r\n          <\/div>\r\n          <div class=\"btn-row\"><button type=\"button\" class=\"btn btn-back\" data-back=\"pivot\">\u2190<\/button><button type=\"button\" class=\"btn btn-next\" data-next=\"ado_appareil\">Continuer \u2192<\/button><\/div>\r\n        <\/div>\r\n\r\n        <!-- ===== ADO Q2: Appareil ===== -->\r\n        <div class=\"q-slide\" data-q=\"ado_appareil\" data-branch=\"ado\">\r\n          <div class=\"q-title\"><span class=\"emoji\">\ud83e\uddb7<\/span> Concernant le type d'appareil\u2026<\/div>\r\n          <div class=\"q-subtitle\">Quelle serait ta pr\u00e9f\u00e9rence ?<\/div>\r\n          <div class=\"option-grid cols-2\">\r\n            <label class=\"option-card\"><input type=\"radio\" name=\"ado_appareil\" value=\"pas_preference\"><div class=\"option-label\"><div class=\"option-icon\">\ud83d\udc4d<\/div><div class=\"option-text\">Pas de pr\u00e9f\u00e9rence<\/div><div class=\"option-desc\">Je fais confiance au praticien<\/div><\/div><div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/label>\r\n            <label class=\"option-card\"><input type=\"radio\" name=\"ado_appareil\" value=\"prefere_discret\"><div class=\"option-label\"><div class=\"option-icon\">\ud83d\udd0d<\/div><div class=\"option-text\">Discret de pr\u00e9f\u00e9rence<\/div><div class=\"option-desc\">Goutti\u00e8res ou appareil peu visible<\/div><\/div><div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/label>\r\n          <\/div>\r\n          <div class=\"btn-row\"><button type=\"button\" class=\"btn btn-back\" data-back=\"ado_demarche\">\u2190<\/button><button type=\"button\" class=\"btn btn-next\" data-next=\"echeance\">Continuer \u2192<\/button><\/div>\r\n        <\/div>\r\n\r\n        <!-- ========================================================= -->\r\n        <!-- ===== NOUVELLES SLIDES COMMUNES (toutes branches) ======= -->\r\n        <!-- ========================================================= -->\r\n\r\n        <!-- ===== COMMUNE Q1: \u00c9ch\u00e9ance ===== -->\r\n        <div class=\"q-slide\" data-q=\"echeance\">\r\n          <div class=\"q-title\"><span class=\"emoji\">\ud83d\udcc5<\/span> Avez-vous une \u00e9ch\u00e9ance particuli\u00e8re ?<\/div>\r\n          <div class=\"q-subtitle\">Cela nous aide \u00e0 comprendre le contexte de votre consultation<\/div>\r\n          <div class=\"option-grid pills\">\r\n            <label class=\"option-card\"><input type=\"radio\" name=\"echeance\" value=\"rien_special\"><div class=\"option-label\"><div class=\"option-icon\">\ud83d\ude0a<\/div><div><div class=\"option-text\">Rien de sp\u00e9cial<\/div><div class=\"option-desc\">Pas d'\u00e9ch\u00e9ance particuli\u00e8re<\/div><\/div><\/div><div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/label>\r\n            <label class=\"option-card\"><input type=\"radio\" name=\"echeance\" value=\"evenement\"><div class=\"option-label\"><div class=\"option-icon\">\ud83c\udf89<\/div><div><div class=\"option-text\">Un \u00e9v\u00e9nement particulier<\/div><div class=\"option-desc\">Mariage, photos, \u00e9v\u00e9nement professionnel\u2026<\/div><\/div><\/div><div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/label>\r\n            <label class=\"option-card\"><input type=\"radio\" name=\"echeance\" value=\"urgence\"><div class=\"option-label\"><div class=\"option-icon\">\ud83d\udea8<\/div><div><div class=\"option-text\">Un accident, c'est urgent<\/div><div class=\"option-desc\">Traumatisme dentaire ou situation d'urgence<\/div><\/div><\/div><div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/label>\r\n          <\/div>\r\n          <div class=\"btn-row\"><button type=\"button\" class=\"btn btn-back\" id=\"iabaQuizEcheanceBack\">\u2190<\/button><button type=\"button\" class=\"btn btn-next\" data-next=\"ressenti\">Continuer \u2192<\/button><\/div>\r\n        <\/div>\r\n\r\n        <!-- ===== COMMUNE Q2: Ressenti ===== -->\r\n        <div class=\"q-slide\" data-q=\"ressenti\">\r\n          <div class=\"q-title\"><span class=\"emoji\">\ud83d\udcad<\/span> Pour vous, venir chez l'orthodontiste c'est\u2026<\/div>\r\n          <div class=\"q-subtitle\">Il n'y a pas de mauvaise r\u00e9ponse, cela nous aide \u00e0 adapter votre accueil<\/div>\r\n          <div class=\"option-grid pills\">\r\n            <label class=\"option-card\"><input type=\"radio\" name=\"ressenti\" value=\"joie\"><div class=\"option-label\"><div class=\"option-icon\">\ud83d\ude04<\/div><div><div class=\"option-text\">La joie<\/div><div class=\"option-desc\">Il va me rendre le sourire !<\/div><\/div><\/div><div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/label>\r\n            <label class=\"option-card\"><input type=\"radio\" name=\"ressenti\" value=\"apprehension\"><div class=\"option-label\"><div class=\"option-icon\">\ud83d\ude30<\/div><div><div class=\"option-text\">De l'appr\u00e9hension<\/div><div class=\"option-desc\">J'ai un peu peur d'avoir mal<\/div><\/div><\/div><div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/label>\r\n            <label class=\"option-card\"><input type=\"radio\" name=\"ressenti\" value=\"mystere\"><div class=\"option-label\"><div class=\"option-icon\">\ud83e\udd14<\/div><div><div class=\"option-text\">Un myst\u00e8re<\/div><div class=\"option-desc\">Pas tout \u00e0 fait s\u00fbr(e) de comprendre ce m\u00e9tier<\/div><\/div><\/div><div class=\"option-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/label>\r\n          <\/div>\r\n          <div class=\"btn-row\"><button type=\"button\" class=\"btn btn-back\" data-back=\"echeance\">\u2190<\/button><button type=\"button\" class=\"btn btn-next\" data-next=\"souhait\">Continuer \u2192<\/button><\/div>\r\n        <\/div>\r\n\r\n        <!-- ===== COMMUNE Q3: Souhait libre ===== -->\r\n        <div class=\"q-slide\" data-q=\"souhait\">\r\n          <div class=\"q-title\"><span class=\"emoji\">\u2728<\/span> Si vous aviez une baguette magique\u2026<\/div>\r\n          <div class=\"q-subtitle\">Que changeriez-vous \u00e0 vos dents ou \u00e0 votre sourire ? Expliquez ce qui vous g\u00eane ou ce que vous souhaitez am\u00e9liorer.<\/div>\r\n          <div class=\"input-group\">\r\n            <label>Votre souhait (facultatif)<\/label>\r\n            <div class=\"input-wrapper\">\r\n              <textarea name=\"souhait_libre\" placeholder=\"D\u00e9crivez librement ce que vous aimeriez changer : alignement, espacement, sourire, m\u00e2choire\u2026\" rows=\"4\"><\/textarea>\r\n            <\/div>\r\n          <\/div>\r\n          <div class=\"btn-row\"><button type=\"button\" class=\"btn btn-back\" data-back=\"ressenti\">\u2190<\/button><button type=\"button\" class=\"btn btn-next\" data-next=\"transition_rdv\">Continuer \u2192<\/button><\/div>\r\n        <\/div>\r\n\r\n        <!-- ===== TRANSITION \u2014 Pr\u00e9sentation du cabinet ===== -->\r\n        <div class=\"q-slide\" data-q=\"transition_rdv\">\r\n          <div class=\"transition-intro\">\r\n            <div class=\"intro-icon\">\ud83e\udd1d<\/div>\r\n            <h3>Vous y \u00eates presque !<\/h3>\r\n            <p>Le Dr Barri\u00e8re et son \u00e9quipe auront maintenant le plaisir de vous recevoir pour votre premi\u00e8re consultation. Le but est d'\u00e9changer avec vous sur vos attentes et d'\u00e9valuer si vous avez besoin d'un traitement.<\/p>\r\n            <p style=\"margin-top: 12px;\">Le cas \u00e9ch\u00e9ant, le Dr Barri\u00e8re pourra vous proposer diverses solutions permettant d'aligner vos dents (orthodontie), mais en tant que sp\u00e9cialiste, il apportera surtout une vision globale permettant d'am\u00e9liorer votre sourire, l'harmonie de votre visage et les fonctions comme par exemple : la mastication, la respiration, la d\u00e9glutition et bien d'autres choses.<\/p>\r\n          <\/div>\r\n          <div class=\"btn-row\"><button type=\"button\" class=\"btn btn-back\" data-back=\"souhait\">\u2190<\/button><button type=\"button\" class=\"btn btn-next\" data-next=\"contact\">Continuer \u2192<\/button><\/div>\r\n        <\/div>\r\n\r\n        <!-- ===== CONTACT ===== -->\r\n        <div class=\"q-slide\" data-q=\"contact\">\r\n          <div class=\"q-title\"><span class=\"emoji\">\ud83d\udcec<\/span> Vos coordonn\u00e9es<\/div>\r\n          <div class=\"q-subtitle\">Pour transmettre ces informations au cabinet avant votre visite<\/div>\r\n          <div class=\"input-group\"><label>Nom complet *<\/label><div class=\"input-wrapper\"><input type=\"text\" name=\"nom_complet\" placeholder=\"Pr\u00e9nom et Nom\" required=\"\"><div class=\"field-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/div><\/div>\r\n          <div class=\"input-group\"><label>E-mail *<\/label><div class=\"input-wrapper\"><input type=\"email\" name=\"email\" placeholder=\"votre@email.com\" required=\"\"><div class=\"field-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/div><\/div>\r\n          <div class=\"input-group\"><label>T\u00e9l\u00e9phone *<\/label><div class=\"input-wrapper\"><input type=\"tel\" name=\"telephone\" placeholder=\"06 XX XX XX XX\" required=\"\"><div class=\"field-check\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div><\/div><\/div>\r\n\r\n          <div class=\"consent-group\"><label><input type=\"checkbox\" id=\"iabaQuizConsentRGPD\" required><span>J'accepte que mes donn\u00e9es personnelles soient transmises au cabinet du Dr Barri\u00e8re dans le seul but de pr\u00e9parer ma consultation d'orthodontie. <a href=\"#iabaQuizMentionsLegales\" id=\"iabaQuizLegalLink\">Mentions l\u00e9gales et politique de confidentialit\u00e9<\/a><\/span><\/label><\/div>\r\n\r\n          <p class=\"disclaimer-text\">Ce questionnaire est un outil informatif de pr\u00e9paration \u00e0 la visite. Il ne constitue ni un diagnostic m\u00e9dical, ni un devis, ni une proposition de plan de traitement. Seul l'examen clinique au cabinet permettra d'\u00e9tablir un bilan orthodontique et un plan de traitement adapt\u00e9.<\/p>\r\n\r\n          <div class=\"btn-row\"><button type=\"button\" class=\"btn btn-back\" id=\"iabaQuizContactBack\">\u2190<\/button><button type=\"submit\" class=\"btn btn-submit\" id=\"iabaQuizSubmitBtn\">Envoyer ma demande<\/button><\/div>\r\n        <\/div>\r\n\r\n        <!-- ===== SUCCESS ===== -->\r\n        <div class=\"q-slide\" data-q=\"success\">\r\n          <div class=\"success-state\">\r\n            <div class=\"success-icon\"><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg><\/div>\r\n            <h2 class=\"success-title\">Merci !<\/h2>\r\n            <p class=\"success-text\">Vos informations ont \u00e9t\u00e9 transmises. Le Dr Barri\u00e8re pourra les \u00e9tudier afin de pr\u00e9parer votre examen clinique au cabinet.<\/p>\r\n          <\/div>\r\n        <\/div>\r\n\r\n      <\/form>\r\n\r\n      <div class=\"legal-footer\" id=\"iabaQuizMentionsLegales\">\r\n        <p><strong>Cabinet d'Orthodontie \u2014 Dr Nicolas Barri\u00e8re<\/strong><\/p>\r\n        <p>Chirurgien-dentiste qualifi\u00e9 en Orthop\u00e9die Dento-Faciale \u2014 Inscrit au Tableau de l'Ordre National des Chirurgiens-Dentistes<\/p>\r\n        <p>N\u00b0 RPPS : <em>[\u00e0 compl\u00e9ter]<\/em> \u2014 N\u00b0 ADELI : <em>[\u00e0 compl\u00e9ter]<\/em><\/p>\r\n        <p style=\"margin-top:8px;\">Responsable du traitement des donn\u00e9es : Dr Nicolas Barri\u00e8re. Vos donn\u00e9es personnelles (nom, e-mail, t\u00e9l\u00e9phone) sont collect\u00e9es dans le seul but de pr\u00e9parer votre premi\u00e8re consultation. Elles sont transmises de mani\u00e8re s\u00e9curis\u00e9e et ne sont ni c\u00e9d\u00e9es, ni vendues \u00e0 des tiers. Conform\u00e9ment au RGPD (R\u00e8glement UE 2016\/679) et \u00e0 la Loi Informatique et Libert\u00e9s, vous disposez d'un droit d'acc\u00e8s, de rectification, de suppression et de portabilit\u00e9 de vos donn\u00e9es. Pour exercer ces droits, contactez le cabinet \u00e0 l'adresse : <em>[email du cabinet \u00e0 compl\u00e9ter]<\/em>.<\/p>\r\n        <p style=\"margin-top:6px;\">H\u00e9bergeur du questionnaire : <em>[nom et adresse de l'h\u00e9bergeur \u00e0 compl\u00e9ter]<\/em>. Les donn\u00e9es de sant\u00e9 transitent via un serveur conforme aux exigences HDS le cas \u00e9ch\u00e9ant.<\/p>\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<div class=\"toast\" id=\"iabaQuizToast\"><\/div>\r\n\r\n<script>\r\n(() => {\r\n  const WEBHOOK_URL = 'https:\/\/outils.iaba.tech\/webhook\/questionnaire-orthodontie';\r\n\r\n  const form = document.getElementById('iabaQuizBilanForm');\r\n  const toast = document.getElementById('iabaQuizToast');\r\n  const progressFill = document.getElementById('iabaQuizProgressFill');\r\n  const progressPct = document.getElementById('iabaQuizProgressPct');\r\n  const stepsIndicator = document.getElementById('iabaQuizStepsIndicator');\r\n\r\n  const sessionId = crypto.randomUUID ? crypto.randomUUID() : Date.now().toString(36) + Math.random().toString(36).substr(2);\r\n  const sentData = {};\r\n  let emailCaptured = false;\r\n  let contactFieldsDebounce = null;\r\n\r\n  \/\/ Branches: slides sp\u00e9cifiques par profil\r\n  const branches = {\r\n    adulte: ['adulte_motifs', 'adulte_critere', 'adulte_observance', 'adulte_objectif'],\r\n    enfant: ['enfant_signes'],\r\n    ado: ['ado_demarche', 'ado_appareil']\r\n  };\r\n  \/\/ Slides communes APR\u00c8S la branche, AVANT contact\r\n  const commonSlides = ['echeance', 'ressenti', 'souhait', 'transition_rdv'];\r\n\r\n  let currentSlide = 'pivot';\r\n  let currentBranch = null;\r\n  let history = [];\r\n\r\n  function buildPips() {\r\n    const sequence = getFullSequence();\r\n    stepsIndicator.innerHTML = '';\r\n    sequence.forEach((q) => {\r\n      const pip = document.createElement('div');\r\n      pip.className = 'step-pip';\r\n      pip.dataset.q = q;\r\n      if (q === currentSlide) pip.classList.add('active');\r\n      if (history.includes(q)) pip.classList.add('completed');\r\n      stepsIndicator.appendChild(pip);\r\n    });\r\n  }\r\n\r\n  function getFullSequence() {\r\n    const seq = ['pivot'];\r\n    if (currentBranch && branches[currentBranch]) seq.push(...branches[currentBranch]);\r\n    seq.push(...commonSlides);\r\n    seq.push('contact');\r\n    return seq;\r\n  }\r\n\r\n  function updateProgress() {\r\n    const seq = getFullSequence();\r\n    const idx = seq.indexOf(currentSlide);\r\n    const pct = Math.round(((idx) \/ seq.length) * 100);\r\n    progressFill.style.width = pct + '%';\r\n    progressPct.textContent = pct + ' %';\r\n    progressFill.classList.toggle('active', pct > 0 && pct < 100);\r\n  }\r\n\r\n  function showSlide(q) {\r\n    document.querySelectorAll('.q-slide').forEach(s => s.classList.remove('active'));\r\n    const target = document.querySelector(`.q-slide[data-q=\"${q}\"]`);\r\n    if (target) target.classList.add('active');\r\n    currentSlide = q;\r\n    buildPips();\r\n    updateProgress();\r\n  }\r\n\r\n  function validateCurrentSlide() {\r\n    const slide = document.querySelector(`.q-slide[data-q=\"${currentSlide}\"]`);\r\n    if (!slide) return true;\r\n\r\n    const radios = slide.querySelectorAll('input[type=\"radio\"]');\r\n    if (radios.length > 0) {\r\n      const names = new Set();\r\n      radios.forEach(r => names.add(r.name));\r\n      for (const name of names) {\r\n        if (!document.querySelector(`input[name=\"${name}\"]:checked`)) {\r\n          showToast('Veuillez s\u00e9lectionner une option');\r\n          return false;\r\n        }\r\n      }\r\n    }\r\n\r\n    const inputs = slide.querySelectorAll('input[type=\"text\"][required], input[type=\"email\"][required], input[type=\"tel\"][required]');\r\n    let valid = true;\r\n    inputs.forEach(f => {\r\n      const wrapper = f.closest('.input-wrapper');\r\n      if (!f.value || !f.value.trim()) {\r\n        wrapper.classList.add('error');\r\n        wrapper.classList.remove('filled');\r\n        setTimeout(() => wrapper.classList.remove('error'), 500);\r\n        valid = false;\r\n      }\r\n    });\r\n\r\n    if (currentSlide === 'contact') {\r\n      const consent = document.getElementById('iabaQuizConsentRGPD');\r\n      if (!consent.checked) {\r\n        showToast('Veuillez accepter les conditions pour continuer');\r\n        valid = false;\r\n      }\r\n    }\r\n\r\n    if (!valid && inputs.length > 0) showToast('Veuillez remplir les champs obligatoires');\r\n    return valid;\r\n  }\r\n\r\n  \/\/ Navigation\r\n  document.querySelectorAll('.btn-next').forEach(btn => {\r\n    btn.addEventListener('click', () => {\r\n      if (!validateCurrentSlide()) return;\r\n      sendPartialAll();\r\n      let next = btn.dataset.next;\r\n      if (next === 'branch') {\r\n        const profil = document.querySelector('input[name=\"profil\"]:checked');\r\n        if (!profil) { showToast('Veuillez s\u00e9lectionner une option'); return; }\r\n        currentBranch = profil.value;\r\n        next = branches[currentBranch][0];\r\n      }\r\n      history.push(currentSlide);\r\n      showSlide(next);\r\n    });\r\n  });\r\n\r\n  document.querySelectorAll('.btn-back').forEach(btn => {\r\n    btn.addEventListener('click', () => {\r\n      const back = btn.dataset.back;\r\n      if (back) {\r\n        showSlide(back);\r\n        const idx = history.indexOf(back);\r\n        if (idx !== -1) history = history.slice(0, idx);\r\n      }\r\n    });\r\n  });\r\n\r\n  \/\/ Echeance back \u2192 derni\u00e8re slide de branche\r\n  document.getElementById('iabaQuizEcheanceBack').addEventListener('click', () => {\r\n    if (!currentBranch) { showSlide('pivot'); return; }\r\n    const branchSlides = branches[currentBranch];\r\n    const lastBranchSlide = branchSlides[branchSlides.length - 1];\r\n    showSlide(lastBranchSlide);\r\n    history.pop();\r\n  });\r\n\r\n  \/\/ Contact back \u2192 transition_rdv\r\n  document.getElementById('iabaQuizContactBack').addEventListener('click', () => {\r\n    showSlide('transition_rdv');\r\n    history.pop();\r\n  });\r\n\r\n  \/\/ Field checks\r\n  form.querySelectorAll('input[type=\"text\"], input[type=\"email\"], input[type=\"tel\"]').forEach(f => {\r\n    const wrapper = f.closest('.input-wrapper');\r\n    f.addEventListener('blur', () => {\r\n      wrapper.classList.toggle('filled', f.value && f.value.trim());\r\n      sendPartial(f);\r\n      if (f.name === 'email' && f.value && f.value.trim() && f.value.includes('@')) {\r\n        emailCaptured = true;\r\n        sendLiveSnapshot('email_captured');\r\n      }\r\n    });\r\n    f.addEventListener('input', () => {\r\n      if (f.value && f.value.trim()) wrapper.classList.add('filled');\r\n      if (emailCaptured && (f.name === 'nom_complet' || f.name === 'telephone')) {\r\n        clearTimeout(contactFieldsDebounce);\r\n        contactFieldsDebounce = setTimeout(() => sendLiveSnapshot('contact_update'), 1500);\r\n      }\r\n    });\r\n  });\r\n\r\n  \/\/ Textarea\r\n  form.querySelectorAll('textarea').forEach(f => {\r\n    f.addEventListener('blur', () => sendPartial(f));\r\n  });\r\n\r\n  form.querySelectorAll('input[type=\"radio\"]').forEach(r => {\r\n    r.addEventListener('change', () => sendPartial(r));\r\n  });\r\n\r\n  \/\/ Webhook\r\n  function sendToWebhook(payload) {\r\n    payload.session_id = sessionId;\r\n    payload.timestamp = new Date().toISOString();\r\n    payload.page_url = window.location.href;\r\n    payload.user_agent = navigator.userAgent;\r\n    fetch(WEBHOOK_URL, { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify(payload), keepalive: true }).catch(() => {});\r\n  }\r\n\r\n  function getAllData() {\r\n    const data = {};\r\n    form.querySelectorAll('input, select, textarea').forEach(f => {\r\n      if (f.type === 'radio') { if (f.checked) data[f.name] = f.value; }\r\n      else if (f.type === 'checkbox') { data[f.name || f.id] = f.checked; }\r\n      else { const v = f.value.trim(); if (v) data[f.name] = v; }\r\n    });\r\n    data._branch = currentBranch;\r\n    return data;\r\n  }\r\n\r\n  function sendPartial(field) {\r\n    const name = field.name;\r\n    let value;\r\n    if (field.type === 'radio') value = field.checked ? field.value : null;\r\n    else value = field.value.trim();\r\n    if (!value || sentData[name] === value) return;\r\n    sentData[name] = value;\r\n    sendToWebhook({ type: 'partial', slide: currentSlide, branch: currentBranch, field: name, value: value, all_data: getAllData() });\r\n  }\r\n\r\n  function sendLiveSnapshot(trigger) {\r\n    sendToWebhook({ type: 'live_snapshot', trigger: trigger, slide: currentSlide, branch: currentBranch, all_data: getAllData() });\r\n  }\r\n\r\n  function sendPartialAll() {\r\n    const slide = document.querySelector(`.q-slide[data-q=\"${currentSlide}\"]`);\r\n    if (!slide) return;\r\n    slide.querySelectorAll('input, select, textarea').forEach(f => sendPartial(f));\r\n  }\r\n\r\n  window.addEventListener('beforeunload', () => {\r\n    const data = getAllData();\r\n    if (Object.keys(data).length > 1) {\r\n      const payload = JSON.stringify({ session_id: sessionId, type: 'abandon', slide: currentSlide, branch: currentBranch, timestamp: new Date().toISOString(), all_data: data });\r\n      if (navigator.sendBeacon) navigator.sendBeacon(WEBHOOK_URL, new Blob([payload], { type: 'application\/json' }));\r\n      else fetch(WEBHOOK_URL, { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: payload, keepalive: true }).catch(() => {});\r\n    }\r\n  });\r\n\r\n  function showToast(msg) { toast.textContent = msg; toast.className = 'toast show'; setTimeout(() => toast.classList.remove('show'), 3500); }\r\n\r\n  function launchConfetti() {\r\n    const canvas = document.getElementById('iabaQuizConfettiCanvas');\r\n    const ctx = canvas.getContext('2d');\r\n    canvas.width = window.innerWidth; canvas.height = window.innerHeight;\r\n    const colors = ['#40C2D2', '#2ea8b8', '#b4eaf0', '#7de0ea', '#2596a4', '#d4f5f9'];\r\n    const particles = [];\r\n    for (let i = 0; i < 90; i++) {\r\n      particles.push({ x: canvas.width\/2 + (Math.random()-0.5)*280, y: canvas.height\/2, vx: (Math.random()-0.5)*18, vy: Math.random()*-16-5, w: Math.random()*9+4, h: Math.random()*7+3, color: colors[Math.floor(Math.random()*colors.length)], rotation: Math.random()*360, rotSpeed: (Math.random()-0.5)*14, gravity: 0.32+Math.random()*0.22, opacity: 1, decay: 0.007+Math.random()*0.007 });\r\n    }\r\n    function animate() {\r\n      ctx.clearRect(0, 0, canvas.width, canvas.height);\r\n      let alive = false;\r\n      particles.forEach(p => {\r\n        if (p.opacity <= 0) return; alive = true;\r\n        p.x += p.vx; p.vy += p.gravity; p.y += p.vy;\r\n        p.rotation += p.rotSpeed; p.opacity -= p.decay; p.vx *= 0.98;\r\n        ctx.save(); ctx.translate(p.x, p.y); ctx.rotate((p.rotation*Math.PI)\/180);\r\n        ctx.globalAlpha = Math.max(0, p.opacity); ctx.fillStyle = p.color;\r\n        ctx.fillRect(-p.w\/2, -p.h\/2, p.w, p.h); ctx.restore();\r\n      });\r\n      if (alive) requestAnimationFrame(animate);\r\n      else ctx.clearRect(0, 0, canvas.width, canvas.height);\r\n    }\r\n    animate();\r\n  }\r\n\r\n  form.addEventListener('submit', async (e) => {\r\n    e.preventDefault();\r\n    if (!validateCurrentSlide()) return;\r\n    const btn = document.getElementById('iabaQuizSubmitBtn');\r\n    btn.disabled = true; btn.textContent = 'Envoi en cours\u2026';\r\n    try {\r\n      await fetch(WEBHOOK_URL, { method: 'POST', headers: { 'Content-Type': 'application\/json' }, body: JSON.stringify({ session_id: sessionId, type: 'complete', branch: currentBranch, timestamp: new Date().toISOString(), consent_rgpd: true, consent_timestamp: new Date().toISOString(), all_data: getAllData() }) });\r\n      launchConfetti();\r\n      setTimeout(() => { document.querySelector('.progress-container').style.display = 'none'; document.getElementById('iabaQuizStepsIndicator').style.display = 'none'; showSlide('success'); }, 400);\r\n      setTimeout(() => { window.location.href = 'https:\/\/nicolasbarriere.fr\/confirmation'; }, 1200);\r\n    } catch {\r\n      showToast('Erreur lors de l\\'envoi, veuillez r\u00e9essayer.');\r\n      btn.disabled = false; btn.textContent = 'Envoyer ma demande';\r\n    }\r\n  });\r\n\r\n  document.getElementById('iabaQuizStartBtn').addEventListener('click', () => {\r\n    document.getElementById('iabaQuizWelcomeScreen').style.display = 'none';\r\n    document.getElementById('iabaQuizFormScreen').classList.add('active');\r\n    buildPips(); updateProgress();\r\n    sendToWebhook({ type: 'session_start', slide: 'pivot', branch: null, all_data: {} });\r\n  });\r\n\r\n  document.getElementById('iabaQuizLegalLink').addEventListener('click', (e) => {\r\n    e.preventDefault();\r\n    document.getElementById('iabaQuizMentionsLegales').scrollIntoView({ behavior: 'smooth' });\r\n  });\r\n})();\r\n<\/script>\r\n\r\n<\/div>\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>\ud83d\ude01 Prepare for your orthodontic appointment. Answer a few questions to help us prepare for your appointment at Dr. Barri\u00e8re&#039;s office. Start the questionnaire \u2728 Visit preparation Your appointment Progress 0 % \ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67 The appointment concerns\u2026 This allows us to tailor the questions to your situation \ud83e\uddd1An adult \ud83e\uddd1\u200d\ud83c\udf93A teenager \ud83d\udc76A child Continue \u2192 \ud83c\udfaf\u2026<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"_acf_changed":false,"_iaba_json_ld":"","_iaba_ai_extract":"","_iaba_ai_extract_html":"","_geo_ai_summary":"","_geo_passage_answers":"","_geo_entity_description":"","_geo_key_takeaways":"","_geo_contextual_anchors":"","_llms_txt":"","_llms_full_txt":"","footnotes":""},"class_list":["post-33043","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/nicolasbarriere.fr\/en\/wp-json\/wp\/v2\/pages\/33043","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nicolasbarriere.fr\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/nicolasbarriere.fr\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/nicolasbarriere.fr\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nicolasbarriere.fr\/en\/wp-json\/wp\/v2\/comments?post=33043"}],"version-history":[{"count":12,"href":"https:\/\/nicolasbarriere.fr\/en\/wp-json\/wp\/v2\/pages\/33043\/revisions"}],"predecessor-version":[{"id":35653,"href":"https:\/\/nicolasbarriere.fr\/en\/wp-json\/wp\/v2\/pages\/33043\/revisions\/35653"}],"wp:attachment":[{"href":"https:\/\/nicolasbarriere.fr\/en\/wp-json\/wp\/v2\/media?parent=33043"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}