{"product_id":"amuseables-fran-pancakes-16cm-copy","title":"Amuseables Fran Pancakes 16cm (Copy)","description":"\u003cdiv class=\"frp frp-franpancakes04\"\u003e\n\u003cstyle\u003e\n  .frp-franpancakes04 {\n    --orange-dark:#c9691f;\n    --orange:#e08a34;\n    --orange-light:#f2a75c;\n    --gold:#f4c67a;\n    --cream:#faf3e8;\n    --cream-2:#fff8ef;\n    --paper:#fffdf8;\n    --text-dark:#3a2a1a;\n    --text-muted:#6b5a48;\n    font-family:'Baloo 2','Segoe UI',sans-serif;\n    background:var(--cream);\n    color:var(--text-dark);\n    overflow-x:hidden;\n    position:relative;\n  }\n  .frp-franpancakes04 *{box-sizing:border-box;}\n  .frp-franpancakes04 .frp-progress{position:sticky;top:0;left:0;height:4px;width:0%;background:linear-gradient(90deg,var(--gold),var(--orange-dark));z-index:20;transition:width .08s linear;}\n  .frp-franpancakes04 .frp-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease;}\n  .frp-franpancakes04 .frp-reveal.in{opacity:1;transform:translateY(0);}\n\n  .frp-franpancakes04 .frp-hero{position:relative;min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center;\n    background:radial-gradient(circle at 15% 20%, rgba(255,255,255,0.18) 0, transparent 40%),radial-gradient(circle at 85% 80%, rgba(255,255,255,0.15) 0, transparent 45%),linear-gradient(150deg, var(--orange-dark), var(--orange) 55%, var(--orange-light));\n    overflow:hidden;padding:60px 24px 90px;border-radius:0 0 30px 30px;}\n  .frp-franpancakes04 .frp-blob{position:absolute;border-radius:50%;background:var(--gold);opacity:.35;filter:blur(2px);transition:transform .25s ease-out;}\n  .frp-franpancakes04 .frp-b1{width:200px;height:200px;top:-50px;left:-50px;}\n  .frp-franpancakes04 .frp-b2{width:150px;height:150px;bottom:10px;right:-40px;background:#fff;opacity:.15;}\n  .frp-franpancakes04 .frp-b3{width:80px;height:80px;top:30%;right:8%;background:#fff;opacity:.2;}\n  .frp-franpancakes04 .frp-particle{position:absolute;font-size:20px;opacity:.55;animation:frpFloat-franpancakes04 9s ease-in-out infinite;pointer-events:none;}\n  @keyframes frpFloat-franpancakes04{0%,100%{transform:translateY(0) rotate(0deg);}50%{transform:translateY(-28px) rotate(12deg);}}\n  .frp-franpancakes04 .frp-hero-inner{position:relative;z-index:2;max-width:640px;}\n  .frp-franpancakes04 .frp-hero-tag{display:inline-block;font-family:'Caveat','Segoe UI',sans-serif;font-size:24px;color:var(--gold);transform:rotate(-4deg);margin-bottom:4px;}\n  .frp-franpancakes04 .frp-hero h1{font-size:clamp(38px,7vw,66px);font-weight:800;color:#fff;line-height:1.05;text-shadow:0 6px 0 rgba(0,0,0,0.08);margin:0;}\n  .frp-franpancakes04 .frp-hero h1 .frp-swirl{display:block;font-family:'Caveat','Segoe UI',sans-serif;font-weight:700;color:var(--gold);font-size:clamp(22px,4.5vw,34px);transform:rotate(-3deg);margin-top:-4px;}\n  .frp-franpancakes04 .frp-hero p{color:#fff;opacity:.92;max-width:420px;margin:16px auto 0;font-size:15px;}\n\n  .frp-franpancakes04 .frp-marquee{background:var(--text-dark);color:var(--gold);overflow:hidden;white-space:nowrap;padding:11px 0;font-weight:700;font-size:13px;letter-spacing:2px;}\n  .frp-franpancakes04 .frp-marquee-track{display:inline-block;padding-left:100%;animation:frpScroll-franpancakes04 20s linear infinite;}\n  .frp-franpancakes04 .frp-marquee-track span{margin:0 20px;}\n  @keyframes frpScroll-franpancakes04{0%{transform:translateX(0);}100%{transform:translateX(-100%);}}\n\n  .frp-franpancakes04 .frp-scrapbook{max-width:1000px;margin:0 auto;padding:60px 20px 20px;position:relative;}\n  .frp-franpancakes04 .frp-board{position:relative;min-height:780px;}\n  .frp-franpancakes04 .frp-polaroid{position:absolute;background:#fff;padding:8px 8px 28px;box-shadow:0 14px 26px rgba(60,35,10,0.22);border-radius:2px;transition:transform .15s ease;}\n  .frp-franpancakes04 .frp-polaroid img{display:block;width:100%;border-radius:1px;pointer-events:none;}\n  .frp-franpancakes04 .frp-polaroid .frp-cap{position:absolute;bottom:6px;left:0;right:0;text-align:center;font-family:'Caveat','Segoe UI',sans-serif;font-size:16px;color:var(--orange-dark);}\n  .frp-franpancakes04 .frp-tape{position:absolute;width:60px;height:22px;background:repeating-linear-gradient(45deg, rgba(244,198,122,0.75), rgba(244,198,122,0.75) 6px, rgba(255,255,255,0.55) 6px, rgba(255,255,255,0.55) 12px);box-shadow:0 2px 4px rgba(0,0,0,0.1);opacity:.9;}\n  .frp-franpancakes04 .frp-p1{width:230px;top:0;left:0;}\n  .frp-franpancakes04 .frp-p1 .frp-tape{top:-10px;left:82px;transform:rotate(-8deg);}\n  .frp-franpancakes04 .frp-p2{width:200px;top:50px;right:0;}\n  .frp-franpancakes04 .frp-p2 .frp-tape{top:-10px;left:68px;transform:rotate(5deg);}\n  .frp-franpancakes04 .frp-p3{width:210px;top:380px;left:40px;}\n  .frp-franpancakes04 .frp-p3 .frp-tape{top:-10px;left:70px;transform:rotate(6deg);}\n  .frp-franpancakes04 .frp-p4{width:190px;top:500px;right:20px;}\n  .frp-franpancakes04 .frp-p4 .frp-tape{top:-10px;left:62px;transform:rotate(-7deg);}\n  .frp-franpancakes04 .frp-note{position:absolute;top:260px;left:50%;transform:translateX(-50%) rotate(-1.5deg);width:min(440px,88vw);background:var(--paper);border:1px solid #f0dcb8;border-radius:6px;padding:28px 28px 24px;box-shadow:0 16px 30px rgba(60,35,10,0.15);}\n  .frp-franpancakes04 .frp-note h2{font-size:22px;color:var(--orange-dark);margin:0 0 6px;}\n  .frp-franpancakes04 .frp-note h2 span{font-family:'Caveat','Segoe UI',sans-serif;font-size:26px;color:var(--orange);}\n  .frp-franpancakes04 .frp-note p{font-size:14px;color:var(--text-muted);margin-top:8px;line-height:1.6;}\n  .frp-franpancakes04 .frp-pin{position:absolute;top:-9px;left:50%;transform:translateX(-50%);width:16px;height:16px;border-radius:50%;background:var(--orange-dark);box-shadow:0 3px 5px rgba(0,0,0,0.3);}\n\n  @media (max-width:800px){\n    .frp-franpancakes04 .frp-board{min-height:auto;}\n    .frp-franpancakes04 .frp-polaroid, .frp-franpancakes04 .frp-note{position:static !important;transform:none !important;margin:18px auto;width:min(300px,90vw) !important;}\n    .frp-franpancakes04 .frp-polaroid .frp-tape{display:none;}\n    .frp-franpancakes04 .frp-pin{display:none;}\n  }\n\n  .frp-franpancakes04 .frp-gallery-section{padding:30px 0 70px;}\n  .frp-franpancakes04 .frp-gallery-section h3{text-align:center;font-family:'Caveat','Segoe UI',sans-serif;font-size:28px;color:var(--orange-dark);margin-bottom:16px;}\n  .frp-franpancakes04 .frp-drag-gallery{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 20px 22px;cursor:grab;-webkit-overflow-scrolling:touch;}\n  .frp-franpancakes04 .frp-drag-gallery.frp-grabbing{cursor:grabbing;}\n  .frp-franpancakes04 .frp-drag-gallery::-webkit-scrollbar{height:6px;}\n  .frp-franpancakes04 .frp-drag-gallery::-webkit-scrollbar-thumb{background:var(--gold);border-radius:10px;}\n  .frp-franpancakes04 .frp-drag-gallery figure{flex:0 0 auto;scroll-snap-align:center;width:min(300px,78vw);margin:0;}\n  .frp-franpancakes04 .frp-drag-gallery img{width:100%;border-radius:14px;border:2px solid var(--gold);display:block;user-select:none;}\n  .frp-franpancakes04 .frp-dots{display:flex;justify-content:center;gap:8px;margin-top:4px;}\n  .frp-franpancakes04 .frp-dots span{width:8px;height:8px;border-radius:50%;background:var(--gold);opacity:.4;transition:opacity .2s,transform .2s;}\n  .frp-franpancakes04 .frp-dots span.frp-active{opacity:1;transform:scale(1.3);}\n\n  .frp-franpancakes04 .frp-quote-section{position:relative;margin:10px 0 50px;padding:70px 20px;background:linear-gradient(120deg,var(--gold),var(--orange-light),var(--gold));background-size:200% 200%;animation:frpGrad-franpancakes04 10s ease infinite;clip-path:polygon(0 6%,100% 0,100% 94%,0 100%);text-align:center;}\n  @keyframes frpGrad-franpancakes04{0%{background-position:0% 50%;}50%{background-position:100% 50%;}100%{background-position:0% 50%;}}\n  .frp-franpancakes04 .frp-quote-section blockquote{max-width:640px;margin:0 auto;font-family:'Caveat','Segoe UI',sans-serif;font-size:clamp(24px,4.4vw,36px);color:#5a3616;line-height:1.3;font-weight:700;}\n  .frp-franpancakes04 .frp-quote-section .frp-who{margin-top:14px;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#7a4a1a;}\n\n  .frp-franpancakes04 .frp-detail{max-width:700px;margin:20px auto 50px;padding:0 20px;}\n  .frp-franpancakes04 .frp-detail p.frp-lead{font-size:16px;color:var(--text-muted);line-height:1.8;}\n  .frp-franpancakes04 .frp-detail p.frp-lead::first-letter{font-family:'Caveat','Segoe UI',sans-serif;font-size:62px;font-weight:700;color:var(--orange-dark);float:left;line-height:.8;padding-right:8px;margin-top:6px;}\n  .frp-franpancakes04 .frp-sticker-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:36px;}\n  .frp-franpancakes04 .frp-sticker{background:var(--cream-2);border:2px dashed var(--orange);border-radius:14px;padding:12px 16px;font-size:13px;font-weight:700;color:var(--orange-dark);box-shadow:0 6px 14px rgba(201,105,31,0.12);transition:transform .2s;}\n  .frp-franpancakes04 .frp-sticker:hover{transform:translateY(-4px) scale(1.05);}\n  .frp-franpancakes04 .frp-sticker:nth-child(1){transform:rotate(-4deg);}\n  .frp-franpancakes04 .frp-sticker:nth-child(2){transform:rotate(3deg);}\n  .frp-franpancakes04 .frp-sticker:nth-child(3){transform:rotate(-2deg);}\n  .frp-franpancakes04 .frp-sticker:nth-child(4){transform:rotate(4deg);}\n  .frp-franpancakes04 .frp-sticker .frp-em{font-size:15px;margin-right:5px;}\n\n  .frp-franpancakes04 .frp-cta-section{text-align:center;padding:10px 20px 90px;position:relative;}\n  .frp-franpancakes04 .frp-cta-section h3{font-family:'Caveat','Segoe UI',sans-serif;font-size:30px;color:var(--orange-dark);transform:rotate(-2deg);display:inline-block;margin-bottom:22px;}\n  .frp-franpancakes04 .frp-shop-btn{display:inline-block;background:var(--orange-dark);color:#fff;font-weight:800;font-size:17px;padding:17px 44px;border-radius:50px;text-decoration:none;box-shadow:0 8px 0 #9c4e12,0 14px 20px rgba(0,0,0,0.15);position:relative;transition:transform .12s;}\n  .frp-franpancakes04 .frp-shop-btn:active{transform:translateY(5px);box-shadow:0 3px 0 #9c4e12;}\n  .frp-franpancakes04 .frp-decoy{font-size:22px;position:absolute;top:0;animation:frpFloat-franpancakes04 6s ease-in-out infinite;}\n  .frp-franpancakes04 .frp-decoy.frp-left{left:16%;transform:rotate(-15deg);}\n  .frp-franpancakes04 .frp-decoy.frp-right{right:16%;transform:rotate(15deg);animation-delay:1.2s;}\n\u003c\/style\u003e\n\n\u003cdiv class=\"frp-progress\" data-frp-progress=\"franpancakes04\"\u003e\u003c\/div\u003e\n\n\u003csection class=\"frp-hero\" data-frp-hero=\"franpancakes04\"\u003e\n  \u003cdiv class=\"frp-blob frp-b1\" data-depth=\"16\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"frp-blob frp-b2\" data-depth=\"26\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"frp-blob frp-b3\" data-depth=\"38\"\u003e\u003c\/div\u003e\n  \u003cspan class=\"frp-particle\" style=\"top:15%;left:10%;animation-delay:0s;\"\u003e🥞\u003c\/span\u003e\n    \u003cspan class=\"frp-particle\" style=\"top:65%;left:20%;animation-delay:2s;\"\u003e🫐\u003c\/span\u003e\n    \u003cspan class=\"frp-particle\" style=\"top:25%;right:15%;animation-delay:4s;\"\u003e🍯\u003c\/span\u003e\n    \u003cspan class=\"frp-particle\" style=\"top:70%;right:12%;animation-delay:1s;\"\u003e🥞\u003c\/span\u003e\n  \u003cdiv class=\"frp-hero-inner\"\u003e\n    \u003cspan class=\"frp-hero-tag\"\u003eamuseables · foodie friends\u003c\/span\u003e\n    \u003ch1\u003eFran\u003cspan class=\"frp-swirl\"\u003ethe pancake stack\u003c\/span\u003e\n\u003c\/h1\u003e\n    \u003cp\u003eFluffy fur, silky syrup, three plump blueberries, and a stitched smile — soft enough to hug, sweet enough to never put down.\u003c\/p\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003cdiv class=\"frp-marquee\"\u003e\n  \u003cdiv class=\"frp-marquee-track\"\u003e\n    \u003cspan\u003e✧ SOFT FUR\u003c\/span\u003e\u003cspan\u003e✧ SILKY SYRUP\u003c\/span\u003e\u003cspan\u003e✧ SUITABLE FROM BIRTH\u003c\/span\u003e\u003cspan\u003e✧ EN71 · ASTM · ISO 8124\u003c\/span\u003e\u003cspan\u003e✧ FOODIE FRIEND\u003c\/span\u003e\u003cspan\u003e✧ SOFT FUR\u003c\/span\u003e\u003cspan\u003e✧ SILKY SYRUP\u003c\/span\u003e\u003cspan\u003e✧ SUITABLE FROM BIRTH\u003c\/span\u003e\u003cspan\u003e✧ EN71 · ASTM · ISO 8124\u003c\/span\u003e\u003cspan\u003e✧ FOODIE FRIEND\u003c\/span\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003csection class=\"frp-scrapbook\"\u003e\n  \u003cdiv class=\"frp-board\"\u003e\n    \u003cdiv class=\"frp-polaroid frp-p1 frp-reveal\"\u003e\n      \u003cdiv class=\"frp-tape\"\u003e\u003c\/div\u003e\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0808\/6080\/7420\/files\/A2PAN__79395.jpg?v=1783568174\" alt=\"Amuseables Fran Pancakes 16cm (Copy) photo 1\"\u003e\n      \u003cdiv class=\"frp-cap\"\u003esyrup o'clock ☕\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"frp-polaroid frp-p2 frp-reveal\"\u003e\n      \u003cdiv class=\"frp-tape\"\u003e\u003c\/div\u003e\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0808\/6080\/7420\/files\/A2PAN_2__20973.jpg?v=1783568174\" alt=\"Amuseables Fran Pancakes 16cm (Copy) photo 2\"\u003e\n      \u003cdiv class=\"frp-cap\"\u003eso fluffy!!\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"frp-note frp-reveal\"\u003e\n      \u003cdiv class=\"frp-pin\"\u003e\u003c\/div\u003e\n      \u003ch2\u003eMeet Fran \u003cspan\u003e:)\u003c\/span\u003e\n\u003c\/h2\u003e\n      \u003cp\u003eFran started as a doodle of a breakfast plate that looked a little too happy to be eaten — now she's the foodie friend of the whole Amuseables family. A trio of thick pancakes, fluffy golden fur, and a syrup drizzle so silky you'll want to touch it more than once.\u003c\/p\u003e\n      \u003cp\u003e15cm x 16cm x 15cm · 11cm sitting · hard eye · suitable from birth.\u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"frp-polaroid frp-p3 frp-reveal\"\u003e\n      \u003cdiv class=\"frp-tape\"\u003e\u003c\/div\u003e\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0808\/6080\/7420\/files\/A2PAN_3__17253.jpg?v=1783568174\" alt=\"Amuseables Fran Pancakes 16cm (Copy) photo 3\"\u003e\n      \u003cdiv class=\"frp-cap\"\u003edangly syrup legs\u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"frp-polaroid frp-p4 frp-reveal\"\u003e\n      \u003cdiv class=\"frp-tape\"\u003e\u003c\/div\u003e\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0808\/6080\/7420\/files\/A2PAN_4__64665.jpg?v=1783568174\" alt=\"Amuseables Fran Pancakes 16cm (Copy) photo 4\"\u003e\n      \u003cdiv class=\"frp-cap\"\u003e3 blueberries on top\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003csection class=\"frp-gallery-section\"\u003e\n  \u003ch3\u003edrag to explore →\u003c\/h3\u003e\n  \u003cdiv class=\"frp-drag-gallery\" data-frp-gallery=\"franpancakes04\"\u003e\n    \u003cfigure\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0808\/6080\/7420\/files\/A2PAN__79395.jpg?v=1783568174\" alt=\"Amuseables Fran Pancakes 16cm (Copy) 1\"\u003e\u003c\/figure\u003e\u003cfigure\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0808\/6080\/7420\/files\/A2PAN_2__20973.jpg?v=1783568174\" alt=\"Amuseables Fran Pancakes 16cm (Copy) 2\"\u003e\u003c\/figure\u003e\u003cfigure\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0808\/6080\/7420\/files\/A2PAN_3__17253.jpg?v=1783568174\" alt=\"Amuseables Fran Pancakes 16cm (Copy) 3\"\u003e\u003c\/figure\u003e\u003cfigure\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0808\/6080\/7420\/files\/A2PAN_4__64665.jpg?v=1783568174\" alt=\"Amuseables Fran Pancakes 16cm (Copy) 4\"\u003e\u003c\/figure\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"frp-dots\" data-frp-dots=\"franpancakes04\"\u003e\n    \u003cspan class=\"frp-active\"\u003e\u003c\/span\u003e\u003cspan\u003e\u003c\/span\u003e\u003cspan\u003e\u003c\/span\u003e\u003cspan\u003e\u003c\/span\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003csection class=\"frp-quote-section frp-reveal\"\u003e\n  \u003cblockquote\u003e\"a stitched smile, a syrup drizzle, and legs made of fine cord that dangle just like the real thing dripping off a stack\"\u003c\/blockquote\u003e\n  \u003cdiv class=\"frp-who\"\u003e— why Fran feels handmade\u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003csection class=\"frp-detail\"\u003e\n  \u003cp class=\"frp-lead frp-reveal\"\u003eEvery Amuseables character hides small details that reward a closer look, and Fran is no exception. Her fur isn't one flat color but layered tones of gold that catch the light differently depending on how she's sitting. The syrup running down her stack is embroidered thread, not print, so it has texture under your fingers. Even her three blueberries are stitched slightly differently from one another — a small imperfection that makes her feel less like a factory toy and more like a character someone drew, then decided to sew.\u003c\/p\u003e\n\n  \u003cdiv class=\"frp-sticker-row frp-reveal\"\u003e\n    \u003cspan class=\"frp-sticker\"\u003e\u003cspan class=\"frp-em\"\u003e🧵\u003c\/span\u003ePolyester outer, fibre + PE bean fill\u003c\/span\u003e\u003cspan class=\"frp-sticker\"\u003e\u003cspan class=\"frp-em\"\u003e🫧\u003c\/span\u003e30°C wash, no tumble dry\u003c\/span\u003e\u003cspan class=\"frp-sticker\"\u003e\u003cspan class=\"frp-em\"\u003e👶\u003c\/span\u003eSuitable from birth\u003c\/span\u003e\u003cspan class=\"frp-sticker\"\u003e\u003cspan class=\"frp-em\"\u003e✅\u003c\/span\u003eEN71 · ASTM · ISO 8124\u003c\/span\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003csection class=\"frp-cta-section frp-reveal\"\u003e\n  \u003cspan class=\"frp-decoy frp-left\"\u003e🥞\u003c\/span\u003e\n  \u003cspan class=\"frp-decoy frp-right\"\u003e🫐\u003c\/span\u003e\n  \u003ch3\u003ebring Fran home today\u003c\/h3\u003e\n  \u003cbr\u003e\n  \u003ca href=\"#\" class=\"frp-shop-btn\" data-frp-shop=\"franpancakes04\"\u003eShop Fran Pancakes\u003c\/a\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n(function(){\n  var root = document.querySelector('.frp-franpancakes04');\n  if(!root) return;\n\n  var progress = root.querySelector('[data-frp-progress=\"franpancakes04\"]');\n  window.addEventListener('scroll', function(){\n    var h = document.documentElement;\n    var scrolled = (h.scrollTop) \/ (h.scrollHeight - h.clientHeight) * 100;\n    if(progress) progress.style.width = Math.min(Math.max(scrolled,0),100) + '%';\n  });\n\n  var revealEls = root.querySelectorAll('.frp-reveal');\n  if('IntersectionObserver' in window){\n    var io = new IntersectionObserver(function(entries){\n      entries.forEach(function(e){ if(e.isIntersecting) e.target.classList.add('in'); });\n    }, {threshold:0.15});\n    revealEls.forEach(function(el){ io.observe(el); });\n  } else {\n    revealEls.forEach(function(el){ el.classList.add('in'); });\n  }\n\n  var hero = root.querySelector('[data-frp-hero=\"franpancakes04\"]');\n  if(hero){\n    hero.addEventListener('mousemove', function(e){\n      var rect = hero.getBoundingClientRect();\n      var cx = (e.clientX - rect.left) \/ rect.width - 0.5;\n      var cy = (e.clientY - rect.top) \/ rect.height - 0.5;\n      hero.querySelectorAll('.frp-blob').forEach(function(b){\n        var depth = parseFloat(b.dataset.depth) || 20;\n        b.style.transform = 'translate(' + (cx*depth) + 'px, ' + (cy*depth) + 'px)';\n      });\n    });\n  }\n\n  root.querySelectorAll('.frp-polaroid').forEach(function(p){\n    p.addEventListener('mousemove', function(e){\n      var r = p.getBoundingClientRect();\n      var x = (e.clientX - r.left) \/ r.width - 0.5;\n      p.style.transform = 'rotate(' + (x*10) + 'deg) scale(1.04)';\n    });\n    p.addEventListener('mouseleave', function(){ p.style.transform = ''; });\n  });\n\n  var gallery = root.querySelector('[data-frp-gallery=\"franpancakes04\"]');\n  var dots = root.querySelectorAll('[data-frp-dots=\"franpancakes04\"] span');\n  if(gallery){\n    var isDown=false, startX, scrollLeft;\n    gallery.addEventListener('mousedown', function(e){\n      isDown = true; gallery.classList.add('frp-grabbing');\n      startX = e.pageX - gallery.offsetLeft; scrollLeft = gallery.scrollLeft;\n    });\n    ['mouseleave','mouseup'].forEach(function(ev){\n      gallery.addEventListener(ev, function(){ isDown=false; gallery.classList.remove('frp-grabbing'); });\n    });\n    gallery.addEventListener('mousemove', function(e){\n      if(!isDown) return; e.preventDefault();\n      var x = e.pageX - gallery.offsetLeft;\n      gallery.scrollLeft = scrollLeft - (x - startX) * 1.4;\n    });\n    gallery.addEventListener('scroll', function(){\n      var idx = Math.round(gallery.scrollLeft \/ gallery.clientWidth * 1.15);\n      dots.forEach(function(d,i){ d.classList.toggle('frp-active', i === Math.min(idx, dots.length-1)); });\n    });\n    dots.forEach(function(d,i){\n      d.addEventListener('click', function(){\n        gallery.scrollTo({left: i * gallery.clientWidth * 0.87, behavior:'smooth'});\n      });\n    });\n  }\n\n  var shopBtn = root.querySelector('[data-frp-shop=\"franpancakes04\"]');\n  var emojis = ['🥞','🫐','\\u2728'];\n  if(shopBtn){\n    shopBtn.addEventListener('click', function(e){\n      e.preventDefault();\n      var rect = shopBtn.getBoundingClientRect();\n      for(var i=0;i\u003c16;i++){\n        var piece = document.createElement('span');\n        piece.textContent = emojis[Math.floor(Math.random()*emojis.length)];\n        piece.style.position='fixed'; piece.style.left=(rect.left+rect.width\/2)+'px'; piece.style.top=rect.top+'px';\n        piece.style.fontSize='18px'; piece.style.pointerEvents='none'; piece.style.zIndex='9999';\n        document.body.appendChild(piece);\n        var angle = Math.random()*Math.PI*2, dist = 70+Math.random()*110;\n        var dx = Math.cos(angle)*dist, dy = Math.sin(angle)*dist-50;\n        piece.animate([\n          { transform:'translate(0,0) rotate(0deg)', opacity:1 },\n          { transform:'translate(' + dx + 'px, ' + (dy+200) + 'px) rotate(' + (360*Math.random()) + 'deg)', opacity:0 }\n        ], { duration: 1000+Math.random()*400, easing:'cubic-bezier(.2,.8,.2,1)' });\n        (function(pc){ setTimeout(function(){ pc.remove(); }, 1500); })(piece);\n      }\n    });\n  }\n})();\n\u003c\/script\u003e\n","brand":"waydiy","offers":[{"title":"Default Title","offer_id":52014575976769,"sku":"A2PAN","price":30.8,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0987\/8503\/4561\/files\/A2PAN__79395.jpg?v=1784896710","url":"https:\/\/rbaine.com\/products\/amuseables-fran-pancakes-16cm-copy","provider":"Rbaine","version":"1.0","type":"link"}