{"id":1419,"date":"2026-05-04T09:49:30","date_gmt":"2026-05-04T09:49:30","guid":{"rendered":"https:\/\/didiplayarea.com\/?page_id=1419"},"modified":"2026-05-06T00:49:06","modified_gmt":"2026-05-06T00:49:06","slug":"jungle-module-configurator","status":"publish","type":"page","link":"https:\/\/didiplayarea.com\/ar\/indoor-playground-themes-custom-design\/jungle-theme\/jungle-module-configurator\/","title":{"rendered":"\u0645\u0643\u0648\u0646 \u0648\u062d\u062f\u0629 \u0627\u0644\u063a\u0627\u0628\u0629"},"content":{"rendered":"\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-0a876b1\" data-block-id=\"0a876b1\"><style>.stk-0a876b1 {margin-bottom:0px !important;}<\/style><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-0a876b1-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-9165663\" data-v=\"4\" data-block-id=\"9165663\"><style>.stk-9165663-container{margin-top:var(--stk--preset--spacing--50, 1.5rem) !important;margin-right:var(--stk--preset--spacing--50, 1.5rem) !important;margin-bottom:var(--stk--preset--spacing--50, 1.5rem) !important;margin-left:var(--stk--preset--spacing--50, 1.5rem) !important;}<\/style><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-9165663-container stk--no-background stk--no-padding\"><div class=\"has-text-align-center stk-block-content stk-inner-blocks stk-9165663-inner-blocks\"><div class=\"ct-breadcrumbs\" data-source=\"rankmath\" ><nav aria-label=\"breadcrumbs\" class=\"rank-math-breadcrumb\"><p><span class=\"last\">Home<\/span><\/p><\/nav><\/div><\/div><\/div><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-1c81bbc\" data-block-id=\"1c81bbc\"><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-1c81bbc-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-73974b2\" data-v=\"4\" data-block-id=\"73974b2\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-73974b2-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-73974b2-inner-blocks\">\n<!-- Jungle Module Configurator + Cost Estimator | WordPress Gutenberg Custom HTML compatible -->\n<style>\n.jmc-wrap{max-width:1100px;margin:0 auto;padding:32px 24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#1f2937}\n.jmc-wrap *{box-sizing:border-box}\n.jmc-h1{color:#0b3a44;font-size:28px;margin:0 0 8px;font-weight:700}\n.jmc-lead{color:#6b7280;font-size:16px;margin:0 0 28px;max-width:780px;line-height:1.55}\n.jmc-controls{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:#f5f7fa;padding:24px;border-radius:14px;border:1px solid #e5e7eb;margin-bottom:24px}\n.jmc-field label{display:block;font-weight:600;color:#0b3a44;margin-bottom:6px;font-size:14px}\n.jmc-field input,.jmc-field select{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:15px;font-family:inherit;background:#fff}\n.jmc-section-title{color:#0b3a44;margin:0 0 8px;font-size:18px;font-weight:700}\n.jmc-modules{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:20px 0}\n.jmc-module{background:#fff;border:2px solid #e5e7eb;border-radius:10px;padding:14px;cursor:pointer;transition:all .15s}\n.jmc-module:hover{border-color:#00D8FF;transform:translateY(-2px)}\n.jmc-module-on{border-color:#00D8FF;background:#e0f7fb;box-shadow:0 4px 14px rgba(0,216,255,.18)}\n.jmc-module h4{margin:0 0 6px;font-size:15px;color:#0b3a44;font-weight:700}\n.jmc-price{display:block;font-size:13px;color:#6b7280}\n.jmc-footprint{display:block;font-size:12px;color:#6b7280;margin-top:4px}\n.jmc-summary{background:linear-gradient(135deg,#fffbe5,#fff4cc);border:2px solid #FFD848;padding:24px;border-radius:14px;margin-top:24px}\n.jmc-summary h2{margin:0 0 12px;color:#7a5a00;font-size:20px;font-weight:700}\n.jmc-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:14px 0}\n.jmc-summary-item{background:#fff;padding:14px;border-radius:8px;border-left:3px solid #FFD848}\n.jmc-label{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.06em}\n.jmc-value{display:block;font-size:22px;font-weight:800;color:#0b3a44;margin-top:4px;font-variant-numeric:tabular-nums}\n.jmc-cta{display:inline-block;margin-top:16px;background:#FFD848;color:#0b3a44;padding:14px 28px;border-radius:10px;font-weight:700;text-decoration:none;font-size:16px}\n.jmc-cta:hover{filter:brightness(1.05)}\n.jmc-disclaimer{font-size:12px;color:#6b7280;margin-top:14px;font-style:italic}\n.jmc-warning{background:#fef3c7;border-left:3px solid #f59e0b;padding:10px 14px;border-radius:0 8px 8px 0;margin:12px 0;font-size:14px;color:#78350f}\n.jmc-success{background:#d1fae5;border-left:3px solid #10b981;padding:10px 14px;border-radius:0 8px 8px 0;margin:12px 0;font-size:14px;color:#064e3b}\n@media(max-width:640px){.jmc-controls{grid-template-columns:1fr}}\n<\/style>\n\n<div class=\"jmc-wrap\">\n  <h1 class=\"jmc-h1\">Jungle Module Configurator + Cost Estimator<\/h1>\n  <p class=\"jmc-lead\">Pick your venue size and the modules you want \u2014 get an instant equipment cost range, footprint check, and venue-fit verdict. All numbers from Didi Land 2026 pricing for jungle theme indoor playground equipment.<\/p>\n\n  <div class=\"jmc-controls\">\n    <div class=\"jmc-field\">\n      <label for=\"jmc-venue\">Venue Size (sqm)<\/label>\n      <input type=\"number\" id=\"jmc-venue\" value=\"200\" min=\"20\" max=\"2500\" step=\"10\" oninput=\"jmcCalc()\">\n    <\/div>\n    <div class=\"jmc-field\">\n      <label for=\"jmc-age\">Target Age Group<\/label>\n      <select id=\"jmc-age\" onchange=\"jmcCalc()\">\n        <option value=\"2-5\">2\u20135 yrs (toddlers)<\/option>\n        <option value=\"5-12\" selected>5\u201312 yrs (school age)<\/option>\n        <option value=\"2-12\">2\u201312 yrs (mixed)<\/option>\n      <\/select>\n    <\/div>\n  <\/div>\n\n  <h3 class=\"jmc-section-title\">Select Modules (click to toggle)<\/h3>\n  <div class=\"jmc-modules\" id=\"jmc-modules\"><\/div>\n\n  <div class=\"jmc-summary\">\n    <h2>Your Configuration<\/h2>\n    <div id=\"jmc-summary-content\"><\/div>\n    <a href=\"#ct-popup-800\" class=\"jmc-cta\">Get a Detailed 24h Quote \u2192<\/a>\n    <p class=\"jmc-disclaimer\">Estimate only. Final pricing depends on customization, shipping (15\u201325% of equipment), Incoterm, and installation. Free 3D design + revised quote within 24 hours.<\/p>\n  <\/div>\n<\/div>\n\n<script>\nvar jmcModules = [\n  {id:'treehouse', name:'Treehouse + Slide',            priceMin:2800, priceMax:4500, sqm:13, ageMin:3, ageMax:12},\n  {id:'zipline',   name:'Canopy Zipline',               priceMin:1800, priceMax:3200, sqm:8,  ageMin:5, ageMax:12},\n  {id:'vine',      name:'Vine Climber',                 priceMin:1200, priceMax:2400, sqm:6,  ageMin:3, ageMax:10},\n  {id:'animals',   name:'Animal Sculptures (set of 3)', priceMin:1800, priceMax:7600, sqm:6,  ageMin:2, ageMax:12},\n  {id:'waterfall', name:'Waterfall Wall',               priceMin:3200, priceMax:5500, sqm:7,  ageMin:2, ageMax:12},\n  {id:'bridge',    name:'Bamboo Bridge',                priceMin:1400, priceMax:2800, sqm:8,  ageMin:3, ageMax:12},\n  {id:'cave',      name:'Cave Tunnel',                  priceMin:2400, priceMax:5200, sqm:10, ageMin:2, ageMax:8},\n  {id:'tree',      name:'Climbing Tree',                priceMin:3800, priceMax:6800, sqm:9,  ageMin:5, ageMax:12}\n];\n\nvar jmcSelected = ['treehouse', 'vine', 'animals'];\n\nfunction jmcFindModule(id){\n  for(var i = 0; i < jmcModules.length; i++){\n    if(jmcModules[i].id === id){\n      return jmcModules[i];\n    }\n  }\n  return null;\n}\n\nfunction jmcToggle(id){\n  var idx = jmcSelected.indexOf(id);\n  if(idx === -1){\n    jmcSelected.push(id);\n  } else {\n    jmcSelected.splice(idx, 1);\n  }\n  jmcRender();\n  jmcCalc();\n}\n\nfunction jmcRender(){\n  var html = '';\n  for(var i = 0; i < jmcModules.length; i++){\n    var m = jmcModules[i];\n    var cls = 'jmc-module';\n    if(jmcSelected.indexOf(m.id) !== -1){\n      cls = 'jmc-module jmc-module-on';\n    }\n    html += '<div class=\"' + cls + '\" onclick=\"jmcToggle(\\'' + m.id + '\\')\">';\n    html +=   '<h4>' + m.name + '<\/h4>';\n    html +=   '<span class=\"jmc-price\">$' + m.priceMin.toLocaleString() + '\u2013$' + m.priceMax.toLocaleString() + '<\/span>';\n    html +=   '<span class=\"jmc-footprint\">' + m.sqm + ' sqm \u00b7 age ' + m.ageMin + '\u2013' + m.ageMax + '<\/span>';\n    html += '<\/div>';\n  }\n  document.getElementById('jmc-modules').innerHTML = html;\n}\n\nfunction jmcCalc(){\n  var venue = parseFloat(document.getElementById('jmc-venue').value) || 0;\n  var ageRange = document.getElementById('jmc-age').value;\n  var parts = ageRange.split('-');\n  var aMin = parseInt(parts[0], 10);\n  var aMax = parseInt(parts[1], 10);\n\n  var priceMin = 0;\n  var priceMax = 0;\n  var totalSqm = 0;\n  var ageMismatch = [];\n\n  for(var i = 0; i < jmcSelected.length; i++){\n    var m = jmcFindModule(jmcSelected[i]);\n    if(m !== null){\n      priceMin += m.priceMin;\n      priceMax += m.priceMax;\n      totalSqm += m.sqm;\n      if(m.ageMin > aMax || m.ageMax < aMin){\n        ageMismatch.push(m.name);\n      }\n    }\n  }\n\n  var playRatio = 0;\n  if(venue > 0){\n    playRatio = (totalSqm \/ venue * 100).toFixed(0);\n  }\n\n  var verdict = '';\n  if(jmcSelected.length === 0){\n    verdict = '<div class=\"jmc-warning\">Pick at least 2 modules to see a recommendation.<\/div>';\n  } else if(totalSqm > venue * 0.7){\n    verdict = '<div class=\"jmc-warning\">\u26a0 Module footprint (' + totalSqm + ' sqm) exceeds 70% of venue \u2014 leave room for circulation, queues, and adult seating.<\/div>';\n  } else if(totalSqm < venue * 0.25){\n    if(venue >= 100){\n      verdict = '<div class=\"jmc-warning\">\u26a0 Module footprint covers only ' + playRatio + '% of venue \u2014 consider adding modules for higher utilization.<\/div>';\n    } else {\n      verdict = '<div class=\"jmc-success\">\u2713 Balanced layout \u2014 ' + playRatio + '% active play, leaving room for circulation and seating.<\/div>';\n    }\n  } else {\n    verdict = '<div class=\"jmc-success\">\u2713 Balanced layout \u2014 ' + playRatio + '% active play, leaving room for circulation and seating.<\/div>';\n  }\n\n  if(ageMismatch.length > 0){\n    verdict += '<div class=\"jmc-warning\">\u26a0 Age mismatch on: ' + ageMismatch.join(', ') + '. Consider modules suited to your selected age group.<\/div>';\n  }\n\n  var html = verdict;\n  html += '<div class=\"jmc-summary-grid\">';\n  html +=   '<div class=\"jmc-summary-item\"><span class=\"jmc-label\">Modules Selected<\/span><span class=\"jmc-value\">' + jmcSelected.length + ' \/ 8<\/span><\/div>';\n  html +=   '<div class=\"jmc-summary-item\"><span class=\"jmc-label\">Equipment Range (USD)<\/span><span class=\"jmc-value\">$' + (priceMin \/ 1000).toFixed(1) + 'K \u2013 $' + (priceMax \/ 1000).toFixed(1) + 'K<\/span><\/div>';\n  html +=   '<div class=\"jmc-summary-item\"><span class=\"jmc-label\">Active Play Footprint<\/span><span class=\"jmc-value\">' + totalSqm + ' sqm<\/span><\/div>';\n  html +=   '<div class=\"jmc-summary-item\"><span class=\"jmc-label\">Venue Utilization<\/span><span class=\"jmc-value\">' + playRatio + '%<\/span><\/div>';\n  html += '<\/div>';\n\n  document.getElementById('jmc-summary-content').innerHTML = html;\n}\n\njmcRender();\njmcCalc();\n<\/script>\n<\/div><\/div><\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Jungle Module Configurator + Cost Estimator Pick your venue size and the modules you want \u2014 get an instant equipment cost range, footprint check, and venue-fit verdict. All numbers from Didi Land 2026 pricing for jungle theme indoor playground equipment. Venue Size (sqm) Target Age Group 2\u20135 yrs (toddlers)5\u201312 yrs (school age)2\u201312 yrs (mixed) Select [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":1346,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_gspb_post_css":"","footnotes":""},"class_list":["post-1419","page","type-page","status-publish","hentry"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/didiplayarea.com\/ar\/wp-json\/wp\/v2\/pages\/1419","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/didiplayarea.com\/ar\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/didiplayarea.com\/ar\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/didiplayarea.com\/ar\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/didiplayarea.com\/ar\/wp-json\/wp\/v2\/comments?post=1419"}],"version-history":[{"count":0,"href":"https:\/\/didiplayarea.com\/ar\/wp-json\/wp\/v2\/pages\/1419\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/didiplayarea.com\/ar\/wp-json\/wp\/v2\/pages\/1346"}],"wp:attachment":[{"href":"https:\/\/didiplayarea.com\/ar\/wp-json\/wp\/v2\/media?parent=1419"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}