{"product_id":"grin-goods™-cuddle-molar-tooth-cushion","title":"Grin Goods™ Cuddle Molar Tooth Cushion","description":"\u003cp\u003e\u003cstrong\u003eSize: 19.99 cm\u003c\/strong\u003e\u003c\/p\u003e\n\u003cdiv id=\"grin-cushion\"\u003e\n\u003cstyle\u003e\n#grin-cushion{\n --forest:#103d2b;--green:#38734b;--sage:#dce9d8;\n --pale:#edf3e9;--cream:#f8f7ef;--ink:#17231b;\n --muted:#68736a;\n font-family:Arial,Helvetica,sans-serif;color:var(--ink);\n background:#fff;line-height:1.65;overflow:hidden\n}\n#grin-cushion *{box-sizing:border-box}\n#grin-cushion h2,#grin-cushion h3,#grin-cushion p{margin-top:0}\n#grin-cushion a{color:inherit;text-decoration:none}\n#grin-cushion button{font:inherit;cursor:pointer}\n#grin-cushion .gc-container{max-width:1000px;margin:auto;padding:0 25px}\n#grin-cushion .gc-section{padding:65px 0}\n#grin-cushion .gc-eyebrow{\n display:inline-flex;align-items:center;gap:8px;\n color:var(--green);font-size:10px;font-weight:800;\n letter-spacing:2px;text-transform:uppercase\n}\n#grin-cushion .gc-dot{\n width:7px;height:7px;border-radius:50%;background:#6b9b6b;\n box-shadow:0 0 0 4px #6b9b6b20\n}\n#grin-cushion h2{\n color:var(--forest);font-size:clamp(30px,4.5vw,47px);\n line-height:1.13;letter-spacing:-1.7px;margin:15px 0 17px\n}\n#grin-cushion .gc-accent{color:var(--green)}\n#grin-cushion .gc-center{text-align:center}\n#grin-cushion .gc-center .gc-eyebrow{justify-content:center}\n#grin-cushion .gc-intro{\n max-width:590px;margin:0 auto 34px;\n font-size:14px;color:var(--muted)\n}\n#grin-cushion .gc-btn{\n display:inline-flex;justify-content:center;align-items:center;gap:10px;\n padding:14px 23px;border-radius:30px;border:1px solid var(--forest);\n font-size:12px;font-weight:750;transition:all .25s\n}\n#grin-cushion .gc-btn:hover{transform:translateY(-3px)}\n#grin-cushion .gc-primary{background:var(--forest);color:white}\n#grin-cushion .gc-primary:hover{background:var(--green)}\n#grin-cushion .gc-secondary{background:transparent;color:var(--forest)}\n#grin-cushion .gc-secondary:hover{background:var(--pale)}\n#grin-cushion .gc-arrow{transition:transform .25s}\n#grin-cushion .gc-btn:hover .gc-arrow{transform:translateX(4px)}\n\n\/* HERO *\/\n#grin-cushion .gc-hero{\n position:relative;isolation:isolate;overflow:hidden;\n padding:70px 20px 65px;\n background:\n radial-gradient(ellipse at 100% 0%,#dce9d8 0,transparent 40%),\n radial-gradient(ellipse at 0% 100%,#e8eedf 0,transparent 35%),\n var(--cream)\n}\n#grin-cushion .gc-hero:before,\n#grin-cushion .gc-hero:after{\n content:\"\";position:absolute;z-index:-1;pointer-events:none;\n width:125px;height:260px;border:1px solid #b6d0b1;\n border-radius:100%\n}\n#grin-cushion .gc-hero:before{\n top:-120px;right:-65px;transform:rotate(-30deg)\n}\n#grin-cushion .gc-hero:after{\n bottom:-175px;left:-75px;transform:rotate(35deg)\n}\n#grin-cushion .gc-hero-inner{max-width:760px;margin:auto}\n#grin-cushion .gc-hero h2{\n font-size:clamp(42px,7vw,68px);\n line-height:1.04;letter-spacing:-3px;margin:24px 0\n}\n#grin-cushion .gc-hero h2 em{font-style:normal;color:var(--green)}\n#grin-cushion .gc-hero-copy{\n max-width:570px;font-size:14px;line-height:1.9;\n color:#606c61;margin-bottom:27px\n}\n#grin-cushion .gc-actions{display:flex;gap:11px;flex-wrap:wrap}\n#grin-cushion .gc-hero-note{\n display:flex;align-items:center;gap:8px;\n margin-top:23px;font-size:11px;color:var(--muted)\n}\n#grin-cushion .gc-check{color:var(--green);font-weight:900}\n\n\/* BENEFITS STRIP *\/\n#grin-cushion .gc-strip{background:var(--forest);color:#fff;padding:19px 0}\n#grin-cushion .gc-strip-grid{\n display:grid;grid-template-columns:repeat(3,1fr);gap:12px\n}\n#grin-cushion .gc-strip-item{\n display:flex;justify-content:center;align-items:center;\n gap:9px;font-size:11px;font-weight:650\n}\n#grin-cushion .gc-strip-icon{font-size:18px;color:#b8d9ad}\n\n\/* BENEFITS *\/\n#grin-cushion .gc-benefits{\n display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px\n}\n#grin-cushion .gc-card{\n padding:24px 21px;border:1px solid #e8eee4;\n background:linear-gradient(145deg,#f4f7ef,#edf3e9);\n border-radius:13px;transition:transform .3s,box-shadow .3s,border-color .3s\n}\n#grin-cushion .gc-card:hover{\n transform:translateY(-5px);border-color:#b6d0b1;\n box-shadow:0 15px 35px #163b2110\n}\n#grin-cushion .gc-icon{\n width:49px;height:49px;display:grid;place-items:center;\n background:#d5e6d0;border-radius:50%;\n color:var(--forest);font-size:23px;margin-bottom:19px;\n transition:transform .3s\n}\n#grin-cushion .gc-card:hover .gc-icon{transform:rotate(-8deg) scale(1.07)}\n#grin-cushion .gc-card h3{font-size:15px;color:var(--forest);margin-bottom:9px}\n#grin-cushion .gc-card p{font-size:12px;color:var(--muted);margin:0}\n#grin-cushion .gc-card-number{\n display:block;font-size:10px;color:#819582;\n letter-spacing:1px;margin-bottom:17px\n}\n\n\/* LIFESTYLE *\/\n#grin-cushion .gc-lifestyle{background:var(--cream)}\n#grin-cushion .gc-lifestyle-grid{\n display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center\n}\n#grin-cushion .gc-lifestyle-copy p{\n color:var(--muted);font-size:13px;line-height:1.9\n}\n#grin-cushion .gc-places{\n display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:25px\n}\n#grin-cushion .gc-place{text-align:center;font-size:10px;color:var(--forest)}\n#grin-cushion .gc-place-icon{\n width:45px;height:45px;border-radius:50%;background:#e0ecdc;\n display:grid;place-items:center;margin:0 auto 8px;font-size:20px;\n transition:transform .25s\n}\n#grin-cushion .gc-place:hover .gc-place-icon{transform:translateY(-4px)}\n#grin-cushion .gc-lifestyle-panel{\n min-height:300px;padding:28px;border-radius:15px;\n background:\n radial-gradient(ellipse at 100% 0%,#d5e6d0 0,transparent 45%),\n linear-gradient(140deg,#f3f1e7,#e0ebdc);\n display:flex;flex-direction:column;justify-content:space-between;\n position:relative;overflow:hidden\n}\n#grin-cushion .gc-orbit{\n position:absolute;width:225px;height:225px;\n border:1px solid #a7c7a2;border-radius:50%;\n top:50%;left:50%;transform:translate(-50%,-50%)\n}\n#grin-cushion .gc-orbit:before{\n content:\"\";position:absolute;inset:19px;\n border:1px solid #b7d0b2;border-radius:50%\n}\n#grin-cushion .gc-panel-content{position:relative;z-index:1}\n#grin-cushion .gc-panel-quote{\n align-self:flex-end;position:relative;z-index:1;\n padding:13px 17px;border-radius:25px;background:#fffdf1e8;\n color:var(--forest);font-size:11px;font-weight:700;\n box-shadow:0 8px 25px #163b2108\n}\n#grin-cushion .gc-panel-quote span{\n display:block;font-size:10px;color:var(--muted);font-weight:400\n}\n\n\/* BRAND CALLOUT *\/\n#grin-cushion .gc-callout{\n background:var(--forest);color:white;border-radius:15px;\n padding:31px;display:flex;align-items:center;\n justify-content:space-between;gap:25px\n}\n#grin-cushion .gc-callout h3{\n font-size:clamp(21px,3vw,29px);line-height:1.2;\n margin-bottom:8px;color:white\n}\n#grin-cushion .gc-callout p{\n font-size:12px;line-height:1.8;color:#d1e0d0;margin:0;max-width:530px\n}\n#grin-cushion .gc-callout .gc-btn{\n flex-shrink:0;background:#dce9d8;border-color:#dce9d8;color:var(--forest)\n}\n#grin-cushion .gc-callout .gc-btn:hover{background:#fff}\n\n\/* FAQ *\/\n#grin-cushion .gc-faq{max-width:740px;margin:auto}\n#grin-cushion .gc-faq-item{border-bottom:1px solid #e4e9e0}\n#grin-cushion .gc-question{\n width:100%;display:flex;align-items:center;justify-content:space-between;\n gap:15px;padding:20px 0;border:0;background:transparent;\n text-align:left;color:var(--forest);font-size:13px;font-weight:750\n}\n#grin-cushion .gc-plus{\n color:var(--green);font-size:23px;font-weight:400;\n transition:transform .25s\n}\n#grin-cushion .gc-question[aria-expanded=\"true\"] .gc-plus{transform:rotate(45deg)}\n#grin-cushion .gc-answer{\n padding:0 30px 19px 0;color:var(--muted);font-size:12px;line-height:1.8\n}\n#grin-cushion .gc-answer[hidden]{display:none}\n\n\/* FOOTER *\/\n#grin-cushion .gc-footer{\n padding:32px 20px;text-align:center;background:var(--cream)\n}\n#grin-cushion .gc-brand{\n font-size:22px;font-weight:900;letter-spacing:-1px;color:var(--forest)\n}\n#grin-cushion .gc-footer p{font-size:11px;color:var(--muted);margin:6px 0 0}\n\n\/* SCROLL ANIMATIONS *\/\n#grin-cushion .gc-reveal{\n opacity:0;transform:translateY(18px);\n transition:opacity .65s ease,transform .65s ease\n}\n#grin-cushion .gc-reveal.gc-visible{opacity:1;transform:translateY(0)}\n#grin-cushion .gc-card:nth-child(2){transition-delay:.08s}\n#grin-cushion .gc-card:nth-child(3){transition-delay:.16s}\n\n@media(prefers-reduced-motion:reduce){\n #grin-cushion *,#grin-cushion *:before,#grin-cushion *:after{\n  animation:none!important;transition:none!important\n }\n #grin-cushion .gc-reveal{opacity:1;transform:none}\n}\n@media(max-width:650px){\n #grin-cushion .gc-container{padding:0 19px}\n #grin-cushion .gc-section{padding:49px 0}\n #grin-cushion .gc-hero{padding:51px 20px 45px}\n #grin-cushion .gc-hero h2{font-size:clamp(39px,10.5vw,55px);letter-spacing:-2.4px}\n #grin-cushion .gc-hero-copy{font-size:13px}\n #grin-cushion .gc-strip-grid{grid-template-columns:1fr;gap:12px}\n #grin-cushion .gc-strip-item{justify-content:flex-start}\n #grin-cushion .gc-benefits{grid-template-columns:1fr;gap:11px}\n #grin-cushion .gc-card{padding:21px}\n #grin-cushion .gc-lifestyle-grid{grid-template-columns:1fr;gap:27px}\n #grin-cushion .gc-lifestyle-panel{min-height:245px}\n #grin-cushion .gc-callout{align-items:flex-start;flex-direction:column;padding:24px}\n #grin-cushion .gc-callout .gc-btn{width:100%}\n}\n\u003c\/style\u003e\n\n\u003c!-- HERO --\u003e\n\u003csection class=\"gc-hero\"\u003e\n \u003cdiv class=\"gc-hero-inner gc-reveal\"\u003e\n  \u003cdiv class=\"gc-eyebrow\"\u003e\n\u003cspan class=\"gc-dot\"\u003e\u003c\/span\u003e GRIN GOODS™ · HOME \u0026amp; LIFESTYLE\u003c\/div\u003e\n  \u003ch2\u003eMeet your new\u003cbr\u003ecuddle bud.\u003cbr\u003e\u003cem\u003eNo appointment needed.\u003c\/em\u003e\n\u003c\/h2\u003e\n  \u003cp class=\"gc-hero-copy\"\u003e\n   A tooth you'll actually want to keep on your couch.\n   This Grin Goods™ tooth-shaped cushion brings a little\n   cheeky charm to your space, turning an everyday corner\n   into something worth smiling about.\n  \u003c\/p\u003e\n  \u003cdiv class=\"gc-actions\"\u003e\n   \u003ca href=\"#gc-benefits\" class=\"gc-btn gc-primary\"\u003eAdd a little grin \u003cspan class=\"gc-arrow\"\u003e→\u003c\/span\u003e\u003c\/a\u003e\n   \u003ca href=\"#gc-lifestyle\" class=\"gc-btn gc-secondary\"\u003eFind its happy place\u003c\/a\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"gc-hero-note\"\u003e\n\u003cspan class=\"gc-check\"\u003e✓\u003c\/span\u003e All the toothy charm. None of the flossing.\u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- BRAND STRIP --\u003e\n\u003cdiv class=\"gc-strip\"\u003e\n \u003cdiv class=\"gc-container gc-strip-grid\"\u003e\n  \u003cdiv class=\"gc-strip-item\"\u003e\n\u003cspan class=\"gc-strip-icon\"\u003e♡\u003c\/span\u003e Playful home décor\u003c\/div\u003e\n  \u003cdiv class=\"gc-strip-item\"\u003e\n\u003cspan class=\"gc-strip-icon\"\u003e☺\u003c\/span\u003e Made for cosy moments\u003c\/div\u003e\n  \u003cdiv class=\"gc-strip-item\"\u003e\n\u003cspan class=\"gc-strip-icon\"\u003e✳\u003c\/span\u003e A gift with personality\u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- BENEFITS --\u003e\n\u003csection class=\"gc-section\" id=\"gc-benefits\"\u003e\n \u003cdiv class=\"gc-container\"\u003e\n  \u003cdiv class=\"gc-center gc-reveal\"\u003e\n   \u003cdiv class=\"gc-eyebrow\"\u003e\n\u003cspan class=\"gc-dot\"\u003e\u003c\/span\u003e THE LITTLE DETAILS\u003c\/div\u003e\n   \u003ch2\u003eA little tooth.\u003cbr\u003e\u003cspan class=\"gc-accent\"\u003eA lot of personality.\u003c\/span\u003e\n\u003c\/h2\u003e\n   \u003cp class=\"gc-intro\"\u003e\n    Give your favourite spaces a playful finishing touch.\n    It's a cosy companion, a conversation starter and a\n    little reminder not to take life too seriously.\n   \u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"gc-benefits\"\u003e\n   \u003carticle class=\"gc-card gc-reveal\"\u003e\n    \u003cspan class=\"gc-card-number\"\u003e01 \/ 03\u003c\/span\u003e\n    \u003cdiv class=\"gc-icon\"\u003e♡\u003c\/div\u003e\n    \u003ch3\u003eGive your space a grin\u003c\/h3\u003e\n    \u003cp\u003eAdd a playful finishing touch to your sofa, favourite chair or bedroom. Make an ordinary corner feel a little more you.\u003c\/p\u003e\n   \u003c\/article\u003e\n   \u003carticle class=\"gc-card gc-reveal\"\u003e\n    \u003cspan class=\"gc-card-number\"\u003e02 \/ 03\u003c\/span\u003e\n    \u003cdiv class=\"gc-icon\"\u003e☺\u003c\/div\u003e\n    \u003ch3\u003eMake downtime cuter\u003c\/h3\u003e\n    \u003cp\u003eKeep your tooth-shaped companion nearby for reading breaks, movie nights and those wonderfully lazy afternoons.\u003c\/p\u003e\n   \u003c\/article\u003e\n   \u003carticle class=\"gc-card gc-reveal\"\u003e\n    \u003cspan class=\"gc-card-number\"\u003e03 \/ 03\u003c\/span\u003e\n    \u003cdiv class=\"gc-icon\"\u003e♧\u003c\/div\u003e\n    \u003ch3\u003eGift a little dental humour\u003c\/h3\u003e\n    \u003cp\u003eA fun, unexpected present for dental students, dental professionals or anyone who appreciates a quirky cushion.\u003c\/p\u003e\n   \u003c\/article\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- LIFESTYLE --\u003e\n\u003csection class=\"gc-section gc-lifestyle\" id=\"gc-lifestyle\"\u003e\n \u003cdiv class=\"gc-container gc-lifestyle-grid\"\u003e\n  \u003cdiv class=\"gc-lifestyle-copy gc-reveal\"\u003e\n   \u003cdiv class=\"gc-eyebrow\"\u003e\n\u003cspan class=\"gc-dot\"\u003e\u003c\/span\u003e WHERE IT BELONGS\u003c\/div\u003e\n   \u003ch2\u003eRight at home,\u003cbr\u003e\u003cspan class=\"gc-accent\"\u003ewherever you unwind.\u003c\/span\u003e\n\u003c\/h2\u003e\n   \u003cp\u003e\n    Pop it on your couch for movie night, style it in a cosy\n    reading nook or let it bring some personality to your\n    home office. Wherever it lands, it's a little reminder\n    to make room for things that make you smile.\n   \u003c\/p\u003e\n\n   \u003cdiv class=\"gc-places\"\u003e\n    \u003cdiv class=\"gc-place\"\u003e\n\u003cdiv class=\"gc-place-icon\"\u003e⌂\u003c\/div\u003eLiving room\u003c\/div\u003e\n    \u003cdiv class=\"gc-place\"\u003e\n\u003cdiv class=\"gc-place-icon\"\u003e▤\u003c\/div\u003eReading nook\u003c\/div\u003e\n    \u003cdiv class=\"gc-place\"\u003e\n\u003cdiv class=\"gc-place-icon\"\u003e⌘\u003c\/div\u003eHome office\u003c\/div\u003e\n   \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- Decorative design panel; not a product photo --\u003e\n  \u003cdiv class=\"gc-lifestyle-panel gc-reveal\"\u003e\n   \u003cdiv class=\"gc-panel-content\"\u003e\n    \u003cdiv class=\"gc-eyebrow\"\u003e\n\u003cspan class=\"gc-dot\"\u003e\u003c\/span\u003e YOUR COSY CORNER\u003c\/div\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"gc-orbit\"\u003e\u003c\/div\u003e\n   \u003cdiv class=\"gc-panel-quote\"\u003e\n    ☺   All the toothy charm.\n    \u003cspan\u003eNone of the flossing.\u003c\/span\u003e\n   \u003c\/div\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- GIFTING --\u003e\n\u003csection class=\"gc-section\"\u003e\n \u003cdiv class=\"gc-container\"\u003e\n  \u003cdiv class=\"gc-callout gc-reveal\"\u003e\n   \u003cdiv\u003e\n    \u003ch3\u003eSmall cushion. Big personality.\u003c\/h3\u003e\n    \u003cp\u003e\n     Looking for something a little different?\n     Bring a smile to a dental student's desk, surprise\n     your favourite dental professional or add a playful\n     touch to your own space.\n    \u003c\/p\u003e\n   \u003c\/div\u003e\n   \u003ca href=\"#gc-faq\" class=\"gc-btn\"\u003eA little more info \u003cspan class=\"gc-arrow\"\u003e→\u003c\/span\u003e\u003c\/a\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- INTERACTIVE FAQ --\u003e\n\u003csection class=\"gc-section\" id=\"gc-faq\"\u003e\n \u003cdiv class=\"gc-container\"\u003e\n  \u003cdiv class=\"gc-center gc-reveal\"\u003e\n   \u003cdiv class=\"gc-eyebrow\"\u003e\n\u003cspan class=\"gc-dot\"\u003e\u003c\/span\u003e GOOD TO KNOW\u003c\/div\u003e\n   \u003ch2\u003eA few little \u003cspan class=\"gc-accent\"\u003edetails.\u003c\/span\u003e\n\u003c\/h2\u003e\n   \u003cp class=\"gc-intro\"\u003e\n    Have a question about your new cuddle bud?\n    Here's what you should know.\n   \u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"gc-faq gc-reveal\"\u003e\n   \u003cdiv class=\"gc-faq-item\"\u003e\n    \u003cbutton class=\"gc-question\" type=\"button\" aria-expanded=\"false\"\u003e\n     Where can I style my tooth cushion?\n     \u003cspan class=\"gc-plus\"\u003e+\u003c\/span\u003e\n    \u003c\/button\u003e\n    \u003cdiv class=\"gc-answer\" hidden\u003e\n     Style it on a sofa, favourite chair, bed, reading nook or\n     home office. It's a playful accent for spaces where you\n     want to add a little personality.\n    \u003c\/div\u003e\n   \u003c\/div\u003e\n\n   \u003cdiv class=\"gc-faq-item\"\u003e\n    \u003cbutton class=\"gc-question\" type=\"button\" aria-expanded=\"false\"\u003e\n     Is it a good gift for someone in dentistry?\n     \u003cspan class=\"gc-plus\"\u003e+\u003c\/span\u003e\n    \u003c\/button\u003e\n    \u003cdiv class=\"gc-answer\" hidden\u003e\n     Its tooth-shaped design makes it a fun gift idea for dental\n     students, dental professionals and anyone who enjoys\n     quirky, smile-inspired décor.\n    \u003c\/div\u003e\n   \u003c\/div\u003e\n\n   \u003cdiv class=\"gc-faq-item\"\u003e\n    \u003cbutton class=\"gc-question\" type=\"button\" aria-expanded=\"false\"\u003e\n     Is this cushion for decoration or cuddling?\n     \u003cspan class=\"gc-plus\"\u003e+\u003c\/span\u003e\n    \u003c\/button\u003e\n    \u003cdiv class=\"gc-answer\" hidden\u003e\n     It's designed to add a playful touch to your space and\n     accompany your downtime. Check the product specifications\n     for its dimensions, materials and intended use.\n    \u003c\/div\u003e\n   \u003c\/div\u003e\n\n   \u003cdiv class=\"gc-faq-item\"\u003e\n    \u003cbutton class=\"gc-question\" type=\"button\" aria-expanded=\"false\"\u003e\n     How should I clean the cushion?\n     \u003cspan class=\"gc-plus\"\u003e+\u003c\/span\u003e\n    \u003c\/button\u003e\n    \u003cdiv class=\"gc-answer\" hidden\u003e\n     Cleaning methods depend on the cushion's fabric and filling.\n     Follow the care instructions supplied with your product\n     to help keep it in good condition.\n    \u003c\/div\u003e\n   \u003c\/div\u003e\n\n   \u003cdiv class=\"gc-faq-item\"\u003e\n    \u003cbutton class=\"gc-question\" type=\"button\" aria-expanded=\"false\"\u003e\n     What size is the cushion?\n     \u003cspan class=\"gc-plus\"\u003e+\u003c\/span\u003e\n    \u003c\/button\u003e\n    \u003cdiv class=\"gc-answer\" hidden\u003e\n     Please refer to the product specifications on this listing\n     for the confirmed dimensions, materials and available options.\n    \u003c\/div\u003e\n   \u003c\/div\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003c!-- FOOTER --\u003e\n\u003cfooter class=\"gc-footer\"\u003e\n \u003cdiv class=\"gc-brand\"\u003egrin goods™\u003c\/div\u003e\n \u003cp\u003eSmall things. A bigger smile.\u003c\/p\u003e\n\u003c\/footer\u003e\n\n\u003cscript\u003e\n(function(){\n const root=document.getElementById('grin-cushion');\n if(!root)return;\n\n \/\/ Reveal sections as customers scroll.\n const elements=root.querySelectorAll('.gc-reveal');\n\n if('IntersectionObserver' in window){\n  const observer=new IntersectionObserver(entries=\u003e{\n   entries.forEach(entry=\u003e{\n    if(entry.isIntersecting){\n     entry.target.classList.add('gc-visible');\n     observer.unobserve(entry.target);\n    }\n   });\n  },{threshold:.12});\n\n  elements.forEach(element=\u003eobserver.observe(element));\n }else{\n  elements.forEach(element=\u003eelement.classList.add('gc-visible'));\n }\n\n \/\/ Interactive FAQ accordion.\n root.querySelectorAll('.gc-question').forEach(button=\u003e{\n  button.addEventListener('click',()=\u003e{\n   const answer=button.nextElementSibling;\n   const open=button.getAttribute('aria-expanded')!=='true';\n\n   root.querySelectorAll('.gc-question').forEach(other=\u003e{\n    other.setAttribute('aria-expanded','false');\n    other.nextElementSibling.hidden=true;\n   });\n\n   button.setAttribute('aria-expanded',String(open));\n   answer.hidden=!open;\n  });\n });\n\n \/\/ Smooth scrolling for links inside the product description.\n root.querySelectorAll('a[href^=\"#\"]').forEach(link=\u003e{\n  link.addEventListener('click',event=\u003e{\n   const target=root.querySelector(link.getAttribute('href'));\n   if(target){\n    event.preventDefault();\n    target.scrollIntoView({behavior:'smooth',block:'start'});\n   }\n  });\n });\n})();\n\u003c\/script\u003e\n\u003c\/div\u003e\n","brand":"Grin Goods™","offers":[{"title":"Default Title","offer_id":46264294375559,"sku":null,"price":149.0,"currency_code":"ZAR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0776\/0088\/2823\/files\/tooth-cushion-on-a-white-background-with-the-grin-goods-logo-behind-it.png?v=1792616352","url":"https:\/\/gringoods.co.za\/products\/grin-goods%e2%84%a2-cuddle-molar-tooth-cushion","provider":"Grin Goods™","version":"1.0","type":"link"}