{"id":163869,"date":"2026-07-09T16:57:03","date_gmt":"2026-07-09T15:57:03","guid":{"rendered":"https:\/\/www.sosve.tn\/mabrouk-enje7\/"},"modified":"2026-07-09T20:10:39","modified_gmt":"2026-07-09T19:10:39","slug":"mabrouk-enje7","status":"publish","type":"page","link":"https:\/\/www.sosve.tn\/fr\/mabrouk-enje7\/","title":{"rendered":"Mabrouk Enje7"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"163869\" class=\"elementor elementor-163869 elementor-163429\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-73efc07 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"73efc07\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-77c4841\" data-id=\"77c4841\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2e6e864 elementor-widget elementor-widget-html\" data-id=\"2e6e864\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}\r\n:root{\r\n  --brand-blue: #00abec;\r\n  --brand-pink: #de5a6c;\r\n  --brand-navy: #1c325d;\r\n  --card-bg: #FFFFFF;\r\n  --text-dark: #1c325d;\r\n  --text-muted: #5f718d;\r\n}\r\ndiv#wcdp_va_amount, .wcdp-body::before, svg.wcdp-divider-arrow { display: none; }\r\n\r\n.app-shell {\r\n  width:100%;\r\n  max-width:460px;\r\n  margin:0 auto;\r\n  position:relative;\r\n  background: #fbfcfd;\r\n  min-height: auto;\r\n  font-family: 'Montserrat', 'Segoe UI', Helvetica, Arial, sans-serif;\r\n  direction: ltr; \/* LTR pour le fran\u00e7ais *\/\r\n}\r\n\r\n.hero-header {\r\n  text-align:center;\r\n  padding: 25px 15px 5px; \r\n  position: relative;\r\n  z-index: 2;\r\n}\r\n.hero-header h1 {\r\n  font-size: 1.35rem; \r\n  color: var(--brand-navy);\r\n  line-height: 1.25;\r\n  font-weight: 900;\r\n}\r\n.hero-header h1 span {\r\n  color: var(--brand-blue);\r\n}\r\n\r\n.celebration-container {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  padding: 15px 0;\r\n}\r\n.celebration-badge {\r\n  width: 105px;\r\n  height: 105px;\r\n  animation: gentleFloat 4s ease-in-out infinite;\r\n  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);\r\n}\r\n.celebration-badge.spin {\r\n  transform: rotate(360deg) scale(1.1);\r\n}\r\n\r\n@keyframes gentleFloat {\r\n  0%, 100% { transform: translateY(0) scale(1); }\r\n  50% { transform: translateY(-6px) scale(1.03); }\r\n}\r\n\r\n.thanks-card {\r\n  background: var(--card-bg);\r\n  border-radius: 16px;\r\n  padding: 16px 18px; \r\n  margin: 0 16px 16px;\r\n  border-top: 4px solid var(--brand-pink);\r\n  border-right: 1.5px solid #eaeaea;\r\n  border-bottom: 1.5px solid #eaeaea;\r\n  border-left: 1.5px solid #eaeaea;\r\n  box-shadow: 0 4px 15px rgba(28, 50, 93, 0.03);\r\n  text-align: center;\r\n}\r\n.thanks-text-primary {\r\n  font-size: 0.95rem;\r\n  font-weight: 800;\r\n  color: var(--brand-navy);\r\n  line-height: 1.5;\r\n  margin-bottom: 6px;\r\n}\r\n.thanks-text-secondary {\r\n  font-size: 0.84rem;\r\n  font-weight: 700;\r\n  color: var(--text-muted);\r\n  line-height: 1.5;\r\n}\r\n\r\n.sound-toggle {\r\n  position:absolute;\r\n  top:12px;\r\n  right:15px; \/* Align\u00e9 \u00e0 droite en fran\u00e7ais *\/\r\n  width:35px;height:35px;\r\n  border-radius:50%;\r\n  border:1.5px solid #E8E8E8;\r\n  background:#FFF;\r\n  display:flex;align-items:center;justify-content:center;\r\n  cursor:pointer;\r\n  font-size:16px;\r\n  z-index:50;\r\n  transition:all .25s;\r\n  box-shadow:0 2px 8px rgba(0,0,0,.04);\r\n  -webkit-tap-highlight-color:transparent;\r\n}\r\n.sound-toggle:hover { border-color: var(--brand-blue); }\r\n.sound-toggle.muted { opacity:.5; border-color:#DDD }\r\n.sound-toggle.muted::after {\r\n  content:''; position:absolute;\r\n  width:22px; height:2px;\r\n  background:var(--brand-pink);\r\n  transform:rotate(-45deg);\r\n  border-radius:2px;\r\n}\r\n\r\n.donation-selector {\r\n  background: var(--card-bg);\r\n  padding: 12px 16px 6px;\r\n  display: flex;\r\n  flex-direction: column;\r\n  gap: 10px; \r\n}\r\n.selector-title {\r\n  font-size: 0.88rem;\r\n  font-weight: 900;\r\n  color: var(--brand-navy);\r\n  margin-bottom: 2px;\r\n}\r\n\r\n.preset-amounts {\r\n  display: grid;\r\n  grid-template-columns: repeat(4, 1fr);\r\n  gap: 10px;\r\n  padding: 4px 0;\r\n}\r\n\r\n.amount-pill {\r\n  position: relative;\r\n  padding: 11px 4px; \r\n  border: 1px solid rgba(28, 50, 93, 0.08);\r\n  background: linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 100%);\r\n  border-radius: 12px;\r\n  font-family: 'Montserrat', 'Segoe UI', Helvetica, Arial, sans-serif;\r\n  font-size: 0.88rem;\r\n  font-weight: 800;\r\n  color: var(--brand-navy);\r\n  cursor: pointer;\r\n  transition: all 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);\r\n  text-align: center;\r\n  user-select: none;\r\n  -webkit-tap-highlight-color: transparent;\r\n  box-shadow: 0 2px 4px rgba(28, 50, 93, 0.02), inset 0 1px 0 #FFFFFF;\r\n}\r\n.amount-pill:hover {\r\n  border-color: var(--brand-blue);\r\n  color: var(--brand-blue);\r\n  background: #FFFFFF;\r\n  transform: translateY(-2px);\r\n  box-shadow: 0 5px 12px rgba(0, 171, 236, 0.12), inset 0 1px 0 #FFFFFF;\r\n}\r\n.amount-pill:active {\r\n  transform: translateY(1px) scale(0.95);\r\n  background: var(--brand-blue);\r\n  color: #FFFFFF;\r\n  border-color: var(--brand-blue);\r\n  box-shadow: 0 1px 2px rgba(0, 171, 236, 0.15);\r\n}\r\n\r\n.custom-amount-wrapper {\r\n  position: relative;\r\n  display: flex;\r\n  align-items: center;\r\n}\r\n.custom-amount-input {\r\n  width: 100%;\r\n  padding: 10px 14px;\r\n  padding-right: 45px; \/* Padded \u00e0 droite pour le symbole mon\u00e9taire *\/\r\n  border: 1.5px solid #E8E8E8;\r\n  border-radius: 11px;\r\n  font-family: 'Montserrat', 'Segoe UI', Helvetica, Arial, sans-serif;\r\n  font-size: 0.95rem;\r\n  font-weight: 700;\r\n  color: var(--text-dark);\r\n  outline: none;\r\n  transition: all 0.25s;\r\n  text-align: left; \/* Align\u00e9 \u00e0 gauche *\/\r\n}\r\n.custom-amount-input:focus {\r\n  border-color: var(--brand-pink);\r\n  box-shadow: 0 0 0 3px rgba(222, 90, 108, 0.08);\r\n}\r\n.custom-amount-wrapper .currency-label {\r\n  position: absolute;\r\n  right: 14px; \/* Plac\u00e9 \u00e0 droite en fran\u00e7ais *\/\r\n  font-weight: 900;\r\n  color: var(--text-muted);\r\n  font-size: 0.9rem;\r\n  pointer-events: none;\r\n}\r\n\r\n.big-counter {\r\n  background: var(--card-bg);\r\n  border-radius: 20px 20px 0 0;\r\n  padding: 12px 20px 4px;\r\n  display: flex;\r\n  flex-direction: column;\r\n  align-items: center;\r\n}\r\n.counter-header {\r\n  width: 100%;\r\n  display: flex;\r\n  justify-content: flex-start; \/* Align\u00e9 \u00e0 gauche *\/\r\n  margin-bottom: 4px;\r\n}\r\n.reset-btn {\r\n  padding: 5px 12px;\r\n  background: #fdfdfd;\r\n  border: 1.5px solid #E0E0E0;\r\n  border-radius: 10px;\r\n  font-family: 'Montserrat', 'Segoe UI', Helvetica, Arial, sans-serif;\r\n  font-size: 0.8rem;\r\n  font-weight: 900;\r\n  color: var(--text-muted);\r\n  cursor: pointer;\r\n  transition: all 0.25s;\r\n}\r\n.reset-btn:hover {\r\n  border-color: var(--brand-pink);\r\n  color: var(--brand-pink);\r\n  background: rgba(222, 90, 108, 0.04);\r\n}\r\n\r\n.counter-row {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: baseline;\r\n  gap: 8px;\r\n}\r\n.counter-num {\r\n  font-size: 2.8rem; \r\n  font-weight: 900;\r\n  color: var(--brand-blue);\r\n  line-height: 1;\r\n  font-variant-numeric: tabular-nums;\r\n}\r\n.counter-unit {\r\n  font-size: 1.1rem;\r\n  font-weight: 900;\r\n  color: var(--text-muted);\r\n}\r\n\r\n.dua-bar {\r\n  background: var(--card-bg);\r\n  padding: 4px 20px 10px;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n}\r\n.dua-text {\r\n  font-size: 0.92rem;\r\n  font-weight: 700;\r\n  color: var(--brand-navy);\r\n  text-align: center;\r\n  opacity: 0;\r\n  transform: translateY(6px) scale(0.95);\r\n  transition: all .45s cubic-bezier(.175,.885,.32,1.275);\r\n  line-height: 1.35;\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  gap: 6px;\r\n  flex-wrap: wrap;\r\n}\r\n.dua-text.show { opacity: 1; transform: translateY(0) scale(1); }\r\n.dua-deco { color: var(--brand-pink); opacity: 0.9; font-size: 1rem;}\r\n\r\n.final-btn-container {\r\n  padding: 4px 16px 15px;\r\n}\r\n\r\n.final-btn {\r\n  width: 100%; \r\n  height: 58px; \r\n  background: linear-gradient(135deg, var(--brand-blue), var(--brand-navy));\r\n  color: #FFF; \r\n  border: none; \r\n  border-radius: 14px;\r\n  font-size: 1.1rem; \r\n  font-weight: 900;\r\n  font-family: 'Montserrat', 'Segoe UI', Helvetica, Arial, sans-serif;\r\n  cursor: pointer; \r\n  position: relative; \r\n  overflow: hidden;\r\n  box-shadow: 0 5px 15px rgba(0, 171, 236, 0.15);\r\n  transition: all .3s;\r\n  display: flex;\r\n  flex-direction: column; \r\n  justify-content: center;\r\n  align-items: center;\r\n  line-height: 1.25;\r\n}\r\n.final-btn::after {\r\n  content: ''; position: absolute;\r\n  top: -50%; left: -50%; width: 200%; height: 200%;\r\n  background: linear-gradient(45deg, transparent 40%, rgba(255,255,255,.15) 50%, transparent 60%);\r\n  animation: shine 3s infinite;\r\n}\r\n@keyframes shine { 0% { transform: translateX(-100%) } 100% { transform: translateX(100%) } }\r\n.final-btn:hover { box-shadow: 0 7px 18px rgba(0, 171, 236, 0.22); transform: translateY(-1.5px) }\r\n.final-btn:active { transform: scale(.98) }\r\n\r\n.price-tag {\r\n  font-size: 0.9rem;\r\n  color: #bae6fd;\r\n  font-weight: 700;\r\n}\r\n\r\n@media (max-width: 360px) {\r\n  .final-btn { font-size: 1rem; }\r\n  .price-tag { font-size: 0.8rem; }\r\n  .final-btn-container { padding: 4px 10px 12px; }\r\n}\r\n\r\n.confetti-burst{\r\n  position:fixed;inset:0;z-index:9998;pointer-events:none;overflow:hidden;\r\n}\r\n.confetti-piece{\r\n  position:absolute;width:6px;height:6px;border-radius:2px;\r\n  animation:confettiFall var(--t,3s) ease-out forwards;\r\n}\r\n@keyframes confettiFall{\r\n  0%{transform:translate(0,0) rotate(0) scale(1);opacity:1}\r\n  100%{transform:translate(var(--cx),var(--cy)) rotate(var(--cr)) scale(.3);opacity:0}\r\n}\r\n<\/style>\r\n\r\n<div class=\"app-shell\">\r\n  <div class=\"sound-toggle\" id=\"soundToggle\" title=\"Couper \/ Activer le son\">\ud83d\udd0a<\/div>\r\n\r\n  <div class=\"hero-header\">\r\n    <h1>F\u00e9licitations pour la r\u00e9ussite<span> de nos enfants<\/span><\/h1>\r\n  <\/div>\r\n\r\n  <div class=\"celebration-container\">\r\n    <div class=\"celebration-badge\" id=\"badgeContainer\">\r\n      <svg viewBox=\"0 0 100 100\" style=\"width:100%; height:100%; overflow:visible;\">\r\n        <polygon points=\"50,20 85,38 50,56 15,38\" fill=\"var(--brand-navy)\"\/>\r\n        <polygon points=\"50,23 80,38 50,53 20,38\" fill=\"var(--brand-blue)\"\/>\r\n        <path d=\"M32,47 L32,62 C32,68 68,68 68,62 L68,47\" fill=\"var(--brand-navy)\"\/>\r\n        <path d=\"M50,38 L22,50 L22,65\" fill=\"none\" stroke=\"var(--brand-pink)\" stroke-width=\"2.5\" stroke-linecap=\"round\"\/>\r\n        <circle cx=\"22\" cy=\"65\" r=\"3.5\" fill=\"var(--brand-pink)\"\/>\r\n        <text x=\"10\" y=\"30\" fill=\"var(--brand-pink)\" font-size=\"12\" font-family=\"sans-serif\">\u2726<\/text>\r\n        <text x=\"80\" y=\"25\" fill=\"var(--brand-blue)\" font-size=\"10\" font-family=\"sans-serif\">\u2726<\/text>\r\n        <text x=\"75\" y=\"75\" fill=\"var(--brand-pink)\" font-size=\"14\" font-family=\"sans-serif\">\u2726<\/text>\r\n        <text x=\"18\" y=\"80\" fill=\"var(--brand-blue)\" font-size=\"11\" font-family=\"sans-serif\">\u2726<\/text>\r\n      <\/svg>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"thanks-card\">\r\n    <div class=\"thanks-text-primary\">\r\n      Aujourd'hui, nous c\u00e9l\u00e9brons la r\u00e9ussite des h\u00e9ros des Villages SOS au Baccalaur\u00e9at\r\n    <\/div>\r\n    <div class=\"thanks-text-secondary\">\r\n      Gr\u00e2ce \u00e0 votre cadeau de r\u00e9ussite, vous semez l'espoir en eux et partagez la fiert\u00e9 de cet accomplissement pour dessiner leur avenir avec confiance et d\u00e9termination.\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"donation-selector\">\r\n    <label class=\"selector-title\">Choisissez un cadeau de r\u00e9ussite ou saisissez un montant personnalis\u00e9 :<\/label>\r\n    <div class=\"preset-amounts\">\r\n      <button class=\"amount-pill\" data-val=\"15\">+15 DT<\/button>\r\n      <button class=\"amount-pill\" data-val=\"30\">+30 DT<\/button>\r\n      <button class=\"amount-pill\" data-val=\"50\">+50 DT<\/button>\r\n      <button class=\"amount-pill\" data-val=\"100\">+100 DT<\/button>\r\n    <\/div>\r\n    <div class=\"custom-amount-wrapper\">\r\n      <input type=\"number\" id=\"customAmountInput\" class=\"custom-amount-input\" placeholder=\"Autre montant en DT...\" min=\"1\">\r\n      <span class=\"currency-label\">DT<\/span>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"big-counter\">\r\n    <div class=\"counter-header\">\r\n      <button class=\"reset-btn\" id=\"resetBtn\">\u21ba R\u00e9initialiser<\/button>\r\n    <\/div>\r\n    <div class=\"counter-row\">\r\n      <span class=\"counter-num\" id=\"counterNum\">30<\/span>\r\n      <span class=\"counter-unit\">DT<\/span>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"dua-bar\">\r\n    <div class=\"dua-text\" id=\"duaText\"><\/div>\r\n  <\/div>\r\n\r\n  <div class=\"final-btn-container\">\r\n    <button class=\"final-btn\" id=\"finalBtn\">\r\n      Finaliser mon don\r\n      <span class=\"price-tag\">(30 DT)<\/span>\r\n    <\/button>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  var defaultVal = 30; \r\n  var total = defaultVal; \r\n  \r\n  var duas = [\r\n    'Que Dieu leur accorde la r\u00e9ussite et le succ\u00e8s',\r\n    'Que leur chemin soit illumin\u00e9 et leurs pas facilit\u00e9s',\r\n    'Que ce pr\u00e9cieux geste soit grandement r\u00e9compens\u00e9',\r\n    'Merci pour votre g\u00e9n\u00e9rosit\u00e9, que le meilleur vous soit rendu',\r\n    'Que la sant\u00e9, le bonheur et la prosp\u00e9rit\u00e9 vous accompagnent',\r\n    'En esp\u00e9rant les plus hauts dipl\u00f4mes pour vos proches',\r\n    'Que votre immense bont\u00e9 vous soit rendue au centuple',\r\n    'Un grand merci pour votre pr\u00e9cieux soutien \u00e0 nos enfants',\r\n    'Que votre vie soit combl\u00e9e de bonheur et de b\u00e9n\u00e9dictions',\r\n    'Que la joie et le succ\u00e8s vous accompagnent toujours'\r\n  ];\r\n\r\n  var toastTm = null;\r\n  var counterAnimating = false;\r\n  var displayedTotal = total;\r\n  var typingTimer;\r\n  var doneTypingInterval = 750;\r\n\r\n  var $ = function(id){ return document.getElementById(id); };\r\n  var badgeContainer = $('badgeContainer');\r\n  var counterNum     = $('counterNum');\r\n  var finalBtn       = $('finalBtn');\r\n  var duaText        = $('duaText');\r\n  var soundToggle    = $('soundToggle');\r\n  var resetBtn       = $('resetBtn');\r\n  var customInput    = $('customAmountInput');\r\n  var presetPills    = document.querySelectorAll('.amount-pill');\r\n\r\n  var audioCtx = null;\r\n  var soundMuted = false;\r\n\r\n  function ensureAudio(){\r\n    if(!audioCtx) audioCtx = new (window.AudioContext || window.webkitAudioContext)();\r\n    if(audioCtx.state === 'suspended') audioCtx.resume();\r\n  }\r\n\r\n  function playCelebrationChime(){\r\n    if(soundMuted) return;\r\n    ensureAudio();\r\n    if(!audioCtx) return;\r\n    \r\n    var now = audioCtx.currentTime;\r\n    var notes = [523.25, 659.25, 783.99]; \r\n    \r\n    notes.forEach(function(freq, idx){\r\n      var osc = audioCtx.createOscillator();\r\n      var gain = audioCtx.createGain();\r\n      \r\n      osc.type = 'sine';\r\n      osc.frequency.setValueAtTime(freq, now + idx * 0.08);\r\n      \r\n      gain.gain.setValueAtTime(0.12, now + idx * 0.08);\r\n      gain.gain.exponentialRampToValueAtTime(0.001, now + idx * 0.08 + 0.4);\r\n      \r\n      osc.connect(gain);\r\n      gain.connect(audioCtx.destination);\r\n      osc.start(now + idx * 0.08);\r\n      osc.stop(now + idx * 0.08 + 0.45);\r\n    });\r\n  }\r\n\r\n  function playTick(){\r\n    if(soundMuted) return;\r\n    ensureAudio();\r\n    if(!audioCtx) return;\r\n    var dur = 0.04;\r\n    var sr = audioCtx.sampleRate;\r\n    var buf = audioCtx.createBuffer(1, sr * dur, sr);\r\n    var data = buf.getChannelData(0);\r\n    for(var i = 0; i < data.length; i++){\r\n      var t = i \/ sr;\r\n      var env = Math.exp(-t * 80);\r\n      data[i] = Math.sin(2 * Math.PI * 1800 * t) * env * 0.08;\r\n    }\r\n    var src = audioCtx.createBufferSource();\r\n    src.buffer = buf;\r\n    src.connect(audioCtx.destination);\r\n    src.start();\r\n  }\r\n\r\n  soundToggle.addEventListener('click', function(){\r\n    ensureAudio();\r\n    soundMuted = !soundMuted;\r\n    soundToggle.classList.toggle('muted', soundMuted);\r\n    soundToggle.textContent = soundMuted ? '\ud83d\udd07' : '\ud83d\udd0a';\r\n  });\r\n\r\n  function animateCounter(target){\r\n    if(counterAnimating){\r\n      displayedTotal = parseInt(counterNum.textContent) || 0;\r\n    }\r\n    var from = displayedTotal;\r\n    var diff = target - from;\r\n    if(diff === 0) return;\r\n    counterAnimating = true;\r\n    var duration = Math.min(600 + Math.abs(diff) * 1.5, 1800); \r\n    var startTime = null;\r\n    var lastTickVal = from;\r\n\r\n    function step(timestamp){\r\n      if(!startTime) startTime = timestamp;\r\n      var elapsed = timestamp - startTime;\r\n      var progress = Math.min(elapsed \/ duration, 1);\r\n      var ease = 1 - Math.pow(1 - progress, 4); \r\n      var current = Math.round(from + diff * ease);\r\n      counterNum.textContent = current;\r\n      \r\n      if(Math.abs(current - lastTickVal) > (diff \/ 15)){\r\n        playTick();\r\n        lastTickVal = current;\r\n      }\r\n      \r\n      if(progress < 1){\r\n        requestAnimationFrame(step);\r\n      } else {\r\n        counterNum.textContent = target;\r\n        displayedTotal = target;\r\n        counterAnimating = false;\r\n      }\r\n    }\r\n    requestAnimationFrame(step);\r\n  }\r\n\r\n  function triggerBadgeAnimation() {\r\n    badgeContainer.classList.add('spin');\r\n    setTimeout(function() {\r\n      badgeContainer.classList.remove('spin');\r\n    }, 450);\r\n  }\r\n\r\n  presetPills.forEach(function(pill){\r\n    pill.addEventListener('click', function(){\r\n      var addVal = parseInt(pill.getAttribute('data-val')) || 0;\r\n      \r\n      total += addVal;\r\n      customInput.value = ''; \r\n\r\n      animateCounter(total);\r\n      finalBtn.innerHTML = 'Finaliser mon don <span class=\"price-tag\">(' + total + ' DT)<\/span>';\r\n      \r\n      playCelebrationChime();\r\n      triggerBadgeAnimation();\r\n      launchConfetti();\r\n      showDua();\r\n      \r\n      syncWoo(total);\r\n    });\r\n  });\r\n\r\n  customInput.addEventListener('input', function() {\r\n    clearTimeout(typingTimer);\r\n    \r\n    var val = parseFloat(customInput.value);\r\n    if (isNaN(val) || val <= 0) val = 0;\r\n    var targetVal = Math.round(val);\r\n\r\n    animateCounter(targetVal);\r\n    finalBtn.innerHTML = 'Finaliser mon don <span class=\"price-tag\">(' + targetVal + ' DT)<\/span>';\r\n    syncWoo(targetVal);\r\n\r\n    typingTimer = setTimeout(function() {\r\n      if(targetVal > 0 && targetVal !== total) {\r\n        total = targetVal;\r\n        playCelebrationChime();\r\n        triggerBadgeAnimation();\r\n        launchConfetti();\r\n        showDua();\r\n      } else {\r\n        total = targetVal;\r\n      }\r\n    }, doneTypingInterval);\r\n  });\r\n\r\n  finalBtn.addEventListener('click', function(){\r\n    var checkoutField = document.getElementById('billing_first_name');\r\n    if(checkoutField){\r\n      checkoutField.scrollIntoView({behavior:'smooth',block:'center'});\r\n      setTimeout(function(){ checkoutField.focus(); }, 400);\r\n    }\r\n  });\r\n\r\n  resetBtn.addEventListener('click', function(){\r\n    total = defaultVal; \r\n    displayedTotal = defaultVal;\r\n    counterNum.textContent = defaultVal;\r\n    customInput.value = '';\r\n\r\n    finalBtn.innerHTML = 'Finaliser mon don <span class=\"price-tag\">(' + defaultVal + ' DT)<\/span>';\r\n    duaText.classList.remove('show');\r\n    \r\n    triggerBadgeAnimation();\r\n    syncWoo(total);\r\n  });\r\n\r\n  function showDua(){\r\n    var m = duas[Math.floor(Math.random() * duas.length)];\r\n    duaText.classList.remove('show');\r\n    clearTimeout(toastTm);\r\n    toastTm = setTimeout(function(){\r\n      duaText.innerHTML = '<span class=\"dua-deco\">\u2726<\/span> <span>' + m + '<\/span> <span class=\"dua-deco\">\u2726<\/span>';\r\n      duaText.classList.add('show');\r\n    }, 150);\r\n  }\r\n\r\n  function launchConfetti(){\r\n    var container = document.createElement('div');\r\n    container.className='confetti-burst';\r\n    document.body.appendChild(container);\r\n    var colors=['#00abec','#de5a6c','#1c325d','#10b981','#fabf24'];\r\n    for(var i=0;i<60;i++){\r\n      var c = document.createElement('div');\r\n      c.className='confetti-piece';\r\n      c.style.background=colors[Math.floor(Math.random()*colors.length)];\r\n      c.style.left=(10+Math.random()*80)+'%';\r\n      c.style.top=(5+Math.random()*20)+'%';\r\n      c.style.width=(5+Math.random()*4)+'px';\r\n      c.style.height=(5+Math.random()*4)+'px';\r\n      c.style.setProperty('--cx',(Math.random()-.5)*350+'px');\r\n      c.style.setProperty('--cy',(100+Math.random()*500)+'px');\r\n      c.style.setProperty('--cr',(Math.random()*720-360)+'deg');\r\n      c.style.setProperty('--t',(1.8+Math.random()*2.2)+'s');\r\n      container.appendChild(c);\r\n    }\r\n    setTimeout(function(){ container.remove(); }, 3500);\r\n  }\r\n\r\n  function syncWoo(val){\r\n    var inp = document.getElementById('wcdp-donation-amount');\r\n    var rad = document.querySelector('.wcdp_value_other');\r\n    if(rad) rad.checked = true;\r\n    if(inp){\r\n      inp.value = val;\r\n      inp.dispatchEvent(new Event('change',{bubbles:true}));\r\n    }\r\n  }\r\n\r\n  setTimeout(function() {\r\n    showDua();\r\n    syncWoo(total);\r\n  }, 200);\r\n\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-46dc0aa\" data-id=\"46dc0aa\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-aaee3f1 elementor-widget elementor-widget-shortcode\" data-id=\"aaee3f1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><ul class=\"woocommerce-error wcdp-error-message\" id=\"wcdp-ajax-error\" role=\"alert\"><li>In the current view, the donation form is not available.<\/li><\/ul><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\ud83d\udd0a F\u00e9licitations pour la r\u00e9ussite de nos enfants \u2726 \u2726 \u2726 \u2726 Aujourd&#8217;hui, nous c\u00e9l\u00e9brons la r\u00e9ussite des h\u00e9ros des Villages SOS au Baccalaur\u00e9at Gr\u00e2ce \u00e0 votre cadeau de r\u00e9ussite, vous semez l&#8217;espoir en eux et partagez la fiert\u00e9 de cet accomplissement pour dessiner leur avenir avec confiance et d\u00e9termination. Choisissez un cadeau de r\u00e9ussite [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":159756,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-163869","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/www.sosve.tn\/fr\/wp-json\/wp\/v2\/pages\/163869","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sosve.tn\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.sosve.tn\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.sosve.tn\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sosve.tn\/fr\/wp-json\/wp\/v2\/comments?post=163869"}],"version-history":[{"count":1,"href":"https:\/\/www.sosve.tn\/fr\/wp-json\/wp\/v2\/pages\/163869\/revisions"}],"predecessor-version":[{"id":163870,"href":"https:\/\/www.sosve.tn\/fr\/wp-json\/wp\/v2\/pages\/163869\/revisions\/163870"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.sosve.tn\/fr\/wp-json\/wp\/v2\/media\/159756"}],"wp:attachment":[{"href":"https:\/\/www.sosve.tn\/fr\/wp-json\/wp\/v2\/media?parent=163869"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}