{"id":155441,"date":"2026-04-08T15:37:28","date_gmt":"2026-04-08T12:37:28","guid":{"rendered":"https:\/\/test.mylittlehome.com.sa\/home-mockup\/"},"modified":"2026-07-04T15:00:24","modified_gmt":"2026-07-04T12:00:24","slug":"home-mockup","status":"publish","type":"page","link":"https:\/\/test.mylittlehome.com.sa\/en\/","title":{"rendered":"Home"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"155441\" class=\"elementor elementor-155441 elementor-154953\">\n\t\t\t\t<div class=\"wd-negative-gap elementor-element elementor-element-b45c664 e-flex e-con-boxed e-con e-parent\" data-id=\"b45c664\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0cb5ee2 elementor-widget elementor-widget-html\" data-id=\"0cb5ee2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div id=\"fss-156438\" class=\"fss-wrapper\" style=\"--fss-nav-color:#000000;--fss-nav-active:#000000;\"><div class=\"fss-section\" id=\"fss-156438-s0\" data-index=\"0\" data-name=\"New Arrivals\" style=\"background-image:url('https:\/\/test.mylittlehome.com.sa\/wp-content\/uploads\/2026\/04\/section-one-home.jpg')\"><div class=\"fss-overlay\" style=\"background-color:#000000;opacity:0;\"><\/div><a href=\"https:\/\/test.mylittlehome.com.sa\/bed-linen\/\" target=\"_self\" class=\"fss-section-link\" aria-label=\"New Arrivals\"><\/a><div class=\"fss-title fss-title-v-center fss-title-h-center\"><span>Pure materials, pure comfort. <\/span><\/div><\/div><div class=\"fss-section\" id=\"fss-156438-s1\" data-index=\"1\" data-name=\"Shop Now\" style=\"background-image:url('https:\/\/test.mylittlehome.com.sa\/wp-content\/uploads\/2026\/04\/section-two-home.jpg')\"><div class=\"fss-overlay\" style=\"background-color:#000000;opacity:0;\"><\/div><a href=\"https:\/\/test.mylittlehome.com.sa\/shop\" target=\"_self\" class=\"fss-section-link\" aria-label=\"Shop Now\"><\/a><\/div><div class=\"fss-section\" id=\"fss-156438-s2\" data-index=\"2\" data-name=\"Discounts\" style=\"background-image:url('https:\/\/test.mylittlehome.com.sa\/wp-content\/uploads\/2026\/04\/section-3-home.jpg')\"><div class=\"fss-overlay\" style=\"background-color:#000000;opacity:0;\"><\/div><a href=\"https:\/\/test.mylittlehome.com.sa\/bed-linen\/quilts\/\" target=\"_self\" class=\"fss-section-link\" aria-label=\"Discounts\"><\/a><\/div><nav class=\"fss-side-nav\" aria-label=\"Sections\"><div class=\"fss-side-nav-track\"><button class=\"fss-side-dot active\" data-index=\"0\" aria-label=\"New Arrivals\"><span class=\"fss-side-dot-inner\"><\/span><span class=\"fss-side-dot-label\">New Arrivals<\/span><\/button><button class=\"fss-side-dot\" data-index=\"1\" aria-label=\"Shop Now\"><span class=\"fss-side-dot-inner\"><\/span><span class=\"fss-side-dot-label\">Shop Now<\/span><\/button><button class=\"fss-side-dot\" data-index=\"2\" aria-label=\"Discounts\"><span class=\"fss-side-dot-inner\"><\/span><span class=\"fss-side-dot-label\">Discounts<\/span><\/button><\/div><\/nav><nav class=\"fss-bottom-nav\" aria-label=\"Sections\"><button class=\"fss-bottom-item active\" data-index=\"0\" aria-label=\"New Arrivals\">New Arrivals<\/button><button class=\"fss-bottom-item\" data-index=\"1\" aria-label=\"Shop Now\">Shop Now<\/button><button class=\"fss-bottom-item\" data-index=\"2\" aria-label=\"Discounts\">Discounts<\/button><\/nav><\/div><script>\n(function(){\n    var uid     = \"fss-156438\";\n    var wrapper = document.getElementById(uid);\n    if (!wrapper) return;\n\n    \/* \u2500\u2500 Full-width escape \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n    function fixWidth() {\n        wrapper.style.width       = \"100vw\";\n        wrapper.style.marginLeft  = \"calc(50% - 50vw)\";\n        wrapper.style.marginRight = \"calc(50% - 50vw)\";\n        wrapper.style.left        = \"0\";\n        wrapper.style.right       = \"0\";\n    }\n    fixWidth();\n    window.addEventListener(\"resize\", fixWidth);\n\n    var sects      = wrapper.querySelectorAll(\".fss-section\");\n    var sideDots   = wrapper.querySelectorAll(\".fss-side-dot\");\n    var bottomBtns = wrapper.querySelectorAll(\".fss-bottom-item\");\n    var sideNav    = wrapper.querySelector(\".fss-side-nav\");\n    var bottomNav  = wrapper.querySelector(\".fss-bottom-nav\");\n    var current    = 0;\n    var total      = sects.length;\n    var snapping    = false;\n    var snapTimer   = null;\n    var snapTargetY = null;\n    var snapEnabled = true;\n    var inView      = false;\n\n    function goTo(idx) {\n        if (idx < 0 || idx >= total) return;\n        current = idx;\n        var target = sects[idx];\n        snapTargetY = Math.round(target.getBoundingClientRect().top + window.pageYOffset);\n        window.scrollTo({ top: snapTargetY, behavior: \"smooth\" });\n        syncNav(idx);\n    }\n\n    function syncNav(idx) {\n        sideDots.forEach(function(d, i)   { d.classList.toggle(\"active\", i === idx); });\n        bottomBtns.forEach(function(b, i) { b.classList.toggle(\"active\", i === idx); });\n    }\n\n    function releaseLock() {\n        snapping    = false;\n        snapTargetY = null;\n        clearTimeout(snapTimer);\n    }\n\n    function snapTo(idx) {\n        if (idx < 0 || idx >= total || snapping) return;\n        snapping = true;\n        goTo(idx);\n        clearTimeout(snapTimer);\n        snapTimer = setTimeout(releaseLock, 1500);\n    }\n\n    \/* \u2500\u2500 Release lock as soon as smooth scroll reaches target \u2500\u2500 *\/\n    window.addEventListener(\"scroll\", function() {\n        if (!snapping || snapTargetY === null) return;\n        if (Math.abs(Math.round(window.pageYOffset) - snapTargetY) <= 2) {\n            clearTimeout(snapTimer);\n            snapTimer = setTimeout(releaseLock, 300);\n        }\n    }, { passive: true });\n\n    \/* \u2500\u2500 Nav click \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n    sideDots.forEach(function(dot) {\n        dot.addEventListener(\"click\", function() {\n            goTo(parseInt(this.dataset.index, 10));\n        });\n    });\n    bottomBtns.forEach(function(btn) {\n        btn.addEventListener(\"click\", function() {\n            goTo(parseInt(this.dataset.index, 10));\n        });\n    });\n\n    \/* \u2500\u2500 IntersectionObserver: which section is active \u2500\u2500\u2500\u2500\u2500\u2500 *\/\n    var secObs = new IntersectionObserver(function(entries) {\n        entries.forEach(function(e) {\n            if (e.isIntersecting && e.intersectionRatio >= 0.5) {\n                current = parseInt(e.target.dataset.index, 10);\n                syncNav(current);\n            }\n        });\n    }, { threshold: 0.5 });\n    sects.forEach(function(s) { secObs.observe(s); });\n\n    \/* \u2500\u2500 Wrapper in\/out of view: show\/hide nav \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n    var wrapObs = new IntersectionObserver(function(entries) {\n        entries.forEach(function(e) {\n            inView = e.isIntersecting;\n            if (sideNav)   sideNav.style.opacity   = inView ? \"1\" : \"0\";\n            if (bottomNav) bottomNav.style.opacity  = inView ? \"1\" : \"0\";\n        });\n    }, { threshold: 0.01 });\n    wrapObs.observe(wrapper);\n\n    \/* \u2500\u2500 Scroll snap \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n    if (snapEnabled) {\n        document.addEventListener(\"wheel\", function(e) {\n            if (!inView) return;\n            e.preventDefault();\n            if (Math.abs(e.deltaY) < 10) return;\n            snapTo(current + (e.deltaY > 0 ? 1 : -1));\n        }, { passive: false });\n\n        var ty = 0;\n        var tx = 0;\n        var touchSnapped = false;\n        document.addEventListener(\"touchstart\", function(e) {\n            if (!inView) return;\n            ty = e.touches[0].clientY;\n            tx = e.touches[0].clientX;\n            touchSnapped = false;\n        }, { passive: true });\n        document.addEventListener(\"touchmove\", function(e) {\n            if (!inView || snapping || !e.touches.length) return;\n            var dy = ty - e.touches[0].clientY;\n            var dx = tx - e.touches[0].clientX;\n            if (Math.abs(dy) <= Math.abs(dx) || Math.abs(dy) < 10) return;\n            e.preventDefault();\n            if (touchSnapped || Math.abs(dy) < 40) return;\n            touchSnapped = true;\n            snapTo(current + (dy > 0 ? 1 : -1));\n        }, { passive: false });\n        document.addEventListener(\"touchend\", function(e) {\n            if (!inView || snapping || touchSnapped) return;\n            var dy = ty - e.changedTouches[0].clientY;\n            if (Math.abs(dy) < 40) return;\n            snapTo(current + (dy > 0 ? 1 : -1));\n        }, { passive: true });\n\n        document.addEventListener(\"keydown\", function(e) {\n            if (!inView || snapping) return;\n            if (e.key === \"ArrowDown\") { e.preventDefault(); snapTo(current+1); }\n            if (e.key === \"ArrowUp\")   { e.preventDefault(); snapTo(current-1); }\n        });\n    }\n\n    \/* \u2500\u2500 Init nav hidden \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n    if (sideNav)   sideNav.style.opacity   = \"0\";\n    if (bottomNav) bottomNav.style.opacity = \"0\";\n\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":17486,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-155441","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/test.mylittlehome.com.sa\/en\/wp-json\/wp\/v2\/pages\/155441","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/test.mylittlehome.com.sa\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/test.mylittlehome.com.sa\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/test.mylittlehome.com.sa\/en\/wp-json\/wp\/v2\/users\/17486"}],"replies":[{"embeddable":true,"href":"https:\/\/test.mylittlehome.com.sa\/en\/wp-json\/wp\/v2\/comments?post=155441"}],"version-history":[{"count":0,"href":"https:\/\/test.mylittlehome.com.sa\/en\/wp-json\/wp\/v2\/pages\/155441\/revisions"}],"wp:attachment":[{"href":"https:\/\/test.mylittlehome.com.sa\/en\/wp-json\/wp\/v2\/media?parent=155441"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}