{"product_id":"personalised-christening-candle-o6","title":"Personalised Christening Candle — O6","description":"\u003cdiv class=\"o6c-root\" id=\"o6c-root\"\u003e\n\u003clink rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\"\u003e\n\u003clink rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin\u003e\n\u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=Great+Vibes\u0026amp;family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500\u0026amp;family=Inter:wght@400;500;600;700\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n\u003cstyle\u003e\n.o6c-root{--o6c-red:#a42325;--o6c-red-dark:#821c1e;--o6c-cream:#faf6f1;--o6c-sand:#f0eae2;--o6c-ink:#2b2622;--o6c-muted:#6b5d4a;--o6c-hair:#e2d7c6;--o6c-gold:#c9a94f;container-type:inline-size;container-name:o6cstage;font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--o6c-ink);line-height:1.4;margin:0 0 28px}\n.o6c-root *{box-sizing:border-box}\n.o6c-root img,.o6c-root svg{max-width:100%;display:block}\n.o6c-root button{font-family:inherit}\n.o6c-head{text-align:center;padding:0 4px clamp(8px,2cqi,14px)}\n.o6c-head h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:clamp(1.15rem,4.6cqi,1.55rem);color:var(--o6c-ink);margin:0 0 3px}\n.o6c-sub{font-size:.8rem;color:var(--o6c-muted);margin:0}\n.o6c-card{background:linear-gradient(160deg,#faf6f1,#f3ece0 60%,#efe2d0);border:1px solid var(--o6c-hair);border-radius:20px;padding:clamp(14px,4cqi,22px);margin-top:clamp(12px,3cqi,18px)}\n.o6c-layout{display:flex;flex-direction:column;gap:clamp(12px,3cqi,20px)}\n.o6c-hero-pane{display:flex;flex-direction:column;gap:8px}\n.o6c-hero{position:relative;width:100%;aspect-ratio:1\/1;border-radius:16px;overflow:hidden;background:var(--o6c-sand);box-shadow:0 10px 26px rgba(107,74,47,.22)}\n.o6c-kb .o6c-hero{display:none}\n.o6c-kb .o6c-hero-controls{display:none}\n.o6c-scene{position:absolute;inset:0;background-size:cover;background-position:center}\n.o6c-lead{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}\n.o6c-loupe{position:absolute;top:3%;right:2.5%;width:44%;aspect-ratio:1\/1;border-radius:50%;background:radial-gradient(100% 100% at 40% 30%,#fdfbf6 0%,#f3ecdd 100%);border:2px solid #c9a94f;box-shadow:0 6px 18px rgba(60,45,10,.25);overflow:hidden}\n.o6c-loupe svg{display:block;width:100%;height:100%}\n@media (prefers-reduced-motion:no-preference){ .o6c-loupe{transition:width .22s ease,height .22s ease,top .22s ease,right .22s ease,left .22s ease,transform .22s ease,box-shadow .22s ease} }\n.o6c-hero.o6c-zoomed .o6c-loupe{top:50%;left:50%;right:auto;width:min(78%,320px);transform:translate(-50%,-50%);box-shadow:0 14px 36px rgba(0,0,0,.4)}\n.o6c-ph{opacity:1}\n.o6c-ph.o6c-hide{opacity:0}\n.o6c-etxt{opacity:0}\n.o6c-etxt.o6c-show{opacity:1}\n@media (prefers-reduced-motion:no-preference){ .o6c-ph,.o6c-etxt{transition:opacity .18s ease} }\n.o6c-hero-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}\n.o6c-hero-cap{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#8b6a45;margin:0}\n.o6c-zoom-btn{display:inline-flex;align-items:center;gap:6px;min-height:48px;padding:4px 14px;border-radius:999px;border:1px solid var(--o6c-hair);background:#fff;color:var(--o6c-muted);font:600 .68rem\/1 'Inter',sans-serif;letter-spacing:.03em;cursor:pointer;flex:0 0 auto}\n.o6c-zoom-btn[aria-pressed=\"true\"]{border-color:var(--o6c-gold);color:#7a5a1e;background:#fdf6e6}\n.o6c-zoom-btn:focus-visible{outline:2px solid var(--o6c-red);outline-offset:2px}\n.o6c-zoom-icon{font-size:.85rem}\n.o6c-hero-mini{display:none;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.6)}\n.o6c-kb .o6c-hero-mini{display:flex}\n.o6c-mini-thumb{width:40px;height:40px;border-radius:9px;background-size:cover;background-position:center;flex:0 0 auto;box-shadow:0 2px 6px rgba(0,0,0,.18)}\n.o6c-mini-text{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:.92rem;color:var(--o6c-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.o6c-form-pane{display:flex;flex-direction:column;justify-content:center}\n.o6c-form-card{background:rgba(255,255,255,.66);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border:1px solid rgba(255,255,255,.75);border-radius:18px;padding:clamp(14px,4cqi,20px);box-shadow:0 8px 24px rgba(107,74,47,.14)}\n.o6c-price-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin:0 0 12px}\n.o6c-price-now{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:clamp(1.4rem,5.2cqi,1.8rem);color:var(--o6c-red)}\n.o6c-fieldset{border:0;margin:0;padding:0}\n.o6c-legend{font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#8b7a5f;padding:0;margin:0 0 10px}\n.o6c-field-label{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 6px}\n.o6c-field-label label{font-size:.7rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--o6c-muted)}\n.o6c-counter{font-size:.68rem;color:#8b7a5f;font-variant-numeric:tabular-nums}\n.o6c-counter.o6c-max{color:var(--o6c-red);font-weight:700}\n.o6c-root input[type=text],.o6c-root textarea{width:100%;min-height:48px;font-size:16px;padding:12px 14px;border:1px solid #d8cbb8;border-radius:10px;background:#fff;color:var(--o6c-ink);font-family:'Inter',sans-serif;margin:0 0 14px}\n.o6c-root textarea{min-height:60px;resize:vertical}\n.o6c-root input[type=text]:focus-visible,.o6c-root textarea:focus-visible{outline:2px solid var(--o6c-red);outline-offset:1px;border-color:var(--o6c-red)}\n.o6c-root input[type=text].o6c-err{border-color:var(--o6c-red);background:#fdf0ef}\n@media (prefers-reduced-motion:no-preference){ .o6c-root input[type=text],.o6c-root textarea{transition:border-color .15s ease} }\n.o6c-chiprow{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}\n.o6c-datechip{min-height:48px;padding:6px 12px;border-radius:999px;border:1px solid var(--o6c-hair);background:#fff;color:var(--o6c-ink);font:600 .72rem\/1 'Inter',sans-serif;cursor:pointer}\n.o6c-datechip:hover{border-color:var(--o6c-gold)}\n.o6c-datechip:focus-visible{outline:2px solid var(--o6c-red);outline-offset:2px}\n.o6c-stylepicker{display:flex;gap:6px;margin:0 0 16px}\n.o6c-stylechip{flex:1;min-height:48px;padding:6px 6px;border-radius:12px;border:1px solid var(--o6c-hair);background:#fff;color:var(--o6c-ink);font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;text-align:center}\n.o6c-stylechip-active{border-color:var(--o6c-red);box-shadow:0 0 0 2px rgba(164,35,37,.14);color:var(--o6c-red)}\n.o6c-stylechip:focus-visible{outline:2px solid var(--o6c-red);outline-offset:2px}\n@media (prefers-reduced-motion:no-preference){ .o6c-datechip,.o6c-stylechip{transition:border-color .1s ease,box-shadow .1s ease,color .1s ease} }\n.o6c-giftwrap{margin:0 0 12px;border-top:1px solid var(--o6c-hair);padding-top:10px}\n.o6c-giftsummary{cursor:pointer;font-size:.76rem;font-weight:700;color:var(--o6c-muted);letter-spacing:.02em;list-style:none;min-height:48px;display:flex;align-items:center}\n.o6c-giftsummary::-webkit-details-marker{display:none}\n.o6c-giftsummary:focus-visible{outline:2px solid var(--o6c-red);outline-offset:2px}\n.o6c-giftbody{padding-top:10px}\n.o6c-trust{font-size:.78rem;color:var(--o6c-muted);margin:2px 0 8px}\n.o6c-summary{font-size:.84rem;font-weight:600;color:var(--o6c-ink);margin:0}\n.o6c-summary b{color:var(--o6c-red)}\n.o6c-ready{display:flex;align-items:center;gap:6px;margin:0;padding:0;border-radius:10px;border:0 solid rgba(201,169,79,.45);background:rgba(201,169,79,.14);font-size:.8rem;font-weight:700;color:#6b5320;overflow:hidden;max-height:0;opacity:0}\n.o6c-ready:not(:empty){margin:8px 0 0;padding:8px 10px;border-width:1px;max-height:60px;opacity:1}\n@media (prefers-reduced-motion:no-preference){ .o6c-ready{transition:max-height .2s ease,opacity .2s ease,padding .2s ease,margin .2s ease} }\n.o6c-error-msg{margin:0;padding:0;font-size:.78rem;font-weight:700;color:var(--o6c-red);max-height:0;overflow:hidden}\n.o6c-error-msg:not(:empty){margin:6px 0 0;max-height:40px}\n@media (prefers-reduced-motion:no-preference){ .o6c-error-msg{transition:max-height .18s ease,margin .18s ease} }\n.o6c-cta-bar{position:sticky;bottom:0;z-index:5;margin-top:14px;background:rgba(43,38,34,.97);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:14px;box-shadow:0 8px 22px rgba(0,0,0,.22);padding:10px 14px max(10px,env(safe-area-inset-bottom))}\n.o6c-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:12px}\n.o6c-cta-price{font-family:'Cormorant Garamond',Georgia,serif;color:#f0e6d6;font-size:.8rem;line-height:1.15}\n.o6c-cta-price strong{display:block;font-size:1.3rem;color:#fff}\n.o6c-cta-btn{flex:0 0 auto;min-height:48px;padding:0 20px;border:none;border-radius:12px;background:var(--o6c-red);color:#fff;font:700 .9rem\/1 'Inter',sans-serif;letter-spacing:.01em;cursor:pointer}\n.o6c-cta-btn:hover{background:var(--o6c-red-dark)}\n.o6c-cta-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}\n.o6c-cta-btn:active{transform:scale(.97)}\n.o6c-cta-btn.o6c-pulse{box-shadow:0 0 0 4px rgba(255,255,255,.5)}\n@media (prefers-reduced-motion:no-preference){\n.o6c-cta-btn{transition:transform .08s ease,background .12s ease}\n.o6c-cta-btn.o6c-pulse{animation:o6cpulse .45s ease 2}\n@keyframes o6cpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}\n}\n@container o6cstage (min-width:520px){\n.o6c-layout{flex-direction:row;align-items:center}\n.o6c-hero-pane,.o6c-form-pane{flex:1 1 0;min-width:0}\n.o6c-form-card{padding:clamp(18px,3cqi,26px)}\n}\n\u003c\/style\u003e\n\u003cheader class=\"o6c-head\"\u003e\n\u003ch1\u003ePersonalise the Christening Candle\u003c\/h1\u003e\n\u003cp class=\"o6c-sub\"\u003eChoose a name, a date and an engraving style — watch the cross charm come to life as you type.\u003c\/p\u003e\n\u003c\/header\u003e\n\u003cdiv class=\"o6c-card\"\u003e\n\u003cdiv class=\"o6c-layout\"\u003e\n\u003csection class=\"o6c-hero-pane\" aria-label=\"Live engraving preview\"\u003e\n\u003cdiv class=\"o6c-hero-mini\" id=\"o6c-heroMini\" aria-hidden=\"true\"\u003e\n\u003cspan class=\"o6c-mini-thumb\" id=\"o6c-miniThumb\" style=\"background-image:url('https:\/\/ae01.alicdn.com\/kf\/Sff0fa6481a44454180a6e7f224e749203.jpg')\"\u003e\u003c\/span\u003e\n\u003cspan class=\"o6c-mini-text\" id=\"o6c-miniText\"\u003eYour engraving preview\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"o6c-hero\" id=\"o6c-hero\" aria-hidden=\"true\"\u003e\n\u003cdiv class=\"o6c-scene\" style=\"background-image:url('https:\/\/ae01.alicdn.com\/kf\/Sff0fa6481a44454180a6e7f224e749203.jpg')\"\u003e\n\u003csvg class=\"o6c-lead\" viewbox=\"0 0 100 100\" preserveaspectratio=\"none\"\u003e\n\u003ccircle cx=\"52.5\" cy=\"41\" r=\"1.6\" fill=\"none\" stroke=\"#c9a94f\" stroke-width=\".7\"\u003e\u003c\/circle\u003e\n\u003cline x1=\"53.8\" y1=\"40\" x2=\"66\" y2=\"30\" stroke=\"#c9a94f\" stroke-width=\".55\"\u003e\u003c\/line\u003e\n\u003c\/svg\u003e\n\u003cdiv class=\"o6c-loupe\"\u003e\n\u003csvg viewbox=\"0 0 120 120\"\u003e\n\u003cdefs\u003e\n\u003cfilter id=\"o6c-engrave\" x=\"-60%\" y=\"-60%\" width=\"220%\" height=\"220%\"\u003e\n\u003cfedropshadow dx=\"0.55\" dy=\"0.75\" stddeviation=\"0.18\" flood-color=\"#3d2a10\" flood-opacity=\"0.55\"\u003e\u003c\/fedropshadow\u003e\n\u003cfedropshadow dx=\"-0.45\" dy=\"-0.55\" stddeviation=\"0.15\" flood-color=\"#fff6df\" flood-opacity=\"0.55\"\u003e\u003c\/fedropshadow\u003e\n\u003c\/filter\u003e\n\u003c\/defs\u003e\n\u003cg fill=\"#dcb765\" stroke=\"#a8842e\" stroke-width=\"1.2\"\u003e\n\u003cpath d=\"M60 8 C 66 8 68 10 68 15 L 68 40 L 93 40 C 98 40 100 42 100 48 C 100 54 98 56 93 56 L 68 56 L 68 100 C 68 106 66 109 60 109 C 54 109 52 106 52 100 L 52 56 L 27 56 C 22 56 20 54 20 48 C 20 42 22 40 27 40 L 52 40 L 52 15 C 52 10 54 8 60 8 Z\"\u003e\u003c\/path\u003e\n\u003c\/g\u003e\n\u003cg class=\"o6c-ph\" id=\"o6c-namePh\"\u003e\n\u003cline x1=\"36\" y1=\"54\" x2=\"84\" y2=\"54\" stroke=\"#a8842e\" stroke-width=\"1\" stroke-dasharray=\"2.4 3.2\" stroke-linecap=\"round\" opacity=\".55\"\u003e\u003c\/line\u003e\n\u003c\/g\u003e\n\u003cg class=\"o6c-ph\" id=\"o6c-datePh\"\u003e\n\u003cline x1=\"44\" y1=\"69\" x2=\"76\" y2=\"69\" stroke=\"#a8842e\" stroke-width=\".8\" stroke-dasharray=\"2 2.6\" stroke-linecap=\"round\" opacity=\".4\"\u003e\u003c\/line\u003e\n\u003c\/g\u003e\n\u003ctext id=\"o6c-nameTxt\" class=\"o6c-etxt\" x=\"60\" y=\"51.5\" text-anchor=\"middle\" style=\"font-family:'Great Vibes',cursive\" font-size=\"17\" fill=\"#6d4f16\" filter=\"url(#o6c-engrave)\"\u003e\u003c\/text\u003e\n\u003ctext id=\"o6c-dateTxt\" class=\"o6c-etxt\" x=\"60\" y=\"66\" text-anchor=\"middle\" style=\"font-family:'Cormorant Garamond',Georgia,serif;font-weight:600\" font-size=\"8\" fill=\"#7a5a1e\" filter=\"url(#o6c-engrave)\"\u003e\u003c\/text\u003e\n\u003c\/svg\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"o6c-hero-controls\"\u003e\n\u003cp class=\"o6c-hero-cap\" id=\"o6c-heroCap\"\u003eType a name to see it engraved\u003c\/p\u003e\n\u003cbutton type=\"button\" class=\"o6c-zoom-btn\" id=\"o6c-zoomBtn\" aria-pressed=\"false\"\u003e\n\u003cspan aria-hidden=\"true\" class=\"o6c-zoom-icon\" id=\"o6c-zoomIcon\"\u003e⤢\u003c\/span\u003e\u003cspan id=\"o6c-zoomLabel\"\u003eEnlarge charm\u003c\/span\u003e\n\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection class=\"o6c-form-pane\" aria-label=\"Personalise your candle\"\u003e\n\u003cdiv class=\"o6c-form-card\"\u003e\n\u003cdiv class=\"o6c-price-row\"\u003e\u003cspan class=\"o6c-price-now\"\u003e£28\u003c\/span\u003e\u003c\/div\u003e\n\u003cfieldset class=\"o6c-fieldset\"\u003e\n\u003clegend class=\"o6c-legend\"\u003ePersonalise the engraved cross charm\u003c\/legend\u003e\n\u003cdiv class=\"o6c-field-label\"\u003e\n\u003clabel for=\"o6c-nameInput\"\u003eChild's name\u003c\/label\u003e\u003cspan class=\"o6c-counter\" id=\"o6c-nameCounter\"\u003e0\/18\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cinput id=\"o6c-nameInput\" type=\"text\" maxlength=\"18\" placeholder=\"e.g. Olivia\" autocomplete=\"off\" inputmode=\"text\" aria-describedby=\"o6c-summary o6c-error\"\u003e\n\u003cdiv class=\"o6c-field-label\"\u003e\n\u003clabel for=\"o6c-dateInput\"\u003eBaptism date\u003c\/label\u003e\u003cspan class=\"o6c-counter\" id=\"o6c-dateCounter\"\u003e0\/16\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cinput id=\"o6c-dateInput\" type=\"text\" maxlength=\"16\" placeholder=\"e.g. 14 Sept 2026\" autocomplete=\"off\" inputmode=\"text\" aria-describedby=\"o6c-summary o6c-error\"\u003e\n\u003cdiv class=\"o6c-chiprow\" role=\"group\" aria-label=\"Date format presets\"\u003e\n\u003cbutton type=\"button\" class=\"o6c-datechip\" data-date=\"14 Sept 2026\"\u003e14 Sept 2026\u003c\/button\u003e\n\u003cbutton type=\"button\" class=\"o6c-datechip\" data-date=\"14 · 09 · 2026\"\u003e14 · 09 · 2026\u003c\/button\u003e\n\u003cbutton type=\"button\" class=\"o6c-datechip\" data-date=\"14.09.2026\"\u003e14.09.2026\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"o6c-stylepicker\" role=\"radiogroup\" aria-label=\"Engraving style\"\u003e\n\u003cbutton type=\"button\" class=\"o6c-stylechip o6c-stylechip-active\" data-style=\"script\" role=\"radio\" aria-checked=\"true\" style=\"font-family:'Great Vibes',cursive;font-size:1.05rem\"\u003eScript\u003c\/button\u003e\n\u003cbutton type=\"button\" class=\"o6c-stylechip\" data-style=\"classic\" role=\"radio\" aria-checked=\"false\" style=\"font-family:'Cormorant Garamond',Georgia,serif;font-weight:600\"\u003eClassic\u003c\/button\u003e\n\u003cbutton type=\"button\" class=\"o6c-stylechip\" data-style=\"modern\" role=\"radio\" aria-checked=\"false\" style=\"font-family:'Inter',sans-serif;font-weight:600;letter-spacing:.04em\"\u003eModern\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/fieldset\u003e\n\u003cdetails class=\"o6c-giftwrap\"\u003e\n\u003csummary class=\"o6c-giftsummary\"\u003e+ Add a gift note (optional)\u003c\/summary\u003e\n\u003cdiv class=\"o6c-giftbody\"\u003e\n\u003cdiv class=\"o6c-field-label\"\u003e\n\u003clabel for=\"o6c-giftInput\"\u003eGift note\u003c\/label\u003e\u003cspan class=\"o6c-counter\" id=\"o6c-giftCounter\"\u003e0\/120\u003c\/span\u003e\n\u003c\/div\u003e\n\u003ctextarea id=\"o6c-giftInput\" maxlength=\"120\" rows=\"2\" placeholder=\"A short note for the gift card (optional)\"\u003e\u003c\/textarea\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cp class=\"o6c-trust\"\u003eWe email you a proof before anything is engraved. · EU dispatch — typically 4–8 working days.\u003c\/p\u003e\n\u003cp class=\"o6c-summary\" id=\"o6c-summary\" aria-live=\"polite\" aria-atomic=\"true\"\u003eAdd a name and date to preview the engraving.\u003c\/p\u003e\n\u003cp class=\"o6c-ready\" id=\"o6c-ready\" aria-live=\"polite\" aria-atomic=\"true\"\u003e\u003c\/p\u003e\n\u003cp class=\"o6c-error-msg\" id=\"o6c-error\" role=\"alert\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"o6c-cta-bar\"\u003e\n\u003cdiv class=\"o6c-cta-inner\"\u003e\n\u003cspan class=\"o6c-cta-price\"\u003ePersonalised for you\u003cstrong\u003e£28\u003c\/strong\u003e\u003c\/span\u003e\n\u003cbutton type=\"button\" class=\"o6c-cta-btn\" id=\"o6c-addBtn\"\u003e£28 · Add to cart\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function(){\nfunction init(){\nvar root=document.getElementById('o6c-root');\nvar hero=document.getElementById('o6c-hero');\nvar miniThumb=document.getElementById('o6c-miniThumb');\nvar miniText=document.getElementById('o6c-miniText');\nvar nameInput=document.getElementById('o6c-nameInput');\nvar dateInput=document.getElementById('o6c-dateInput');\nvar giftInput=document.getElementById('o6c-giftInput');\nvar nameCounter=document.getElementById('o6c-nameCounter');\nvar dateCounter=document.getElementById('o6c-dateCounter');\nvar giftCounter=document.getElementById('o6c-giftCounter');\nvar summaryEl=document.getElementById('o6c-summary');\nvar readyEl=document.getElementById('o6c-ready');\nvar errorEl=document.getElementById('o6c-error');\nvar heroCap=document.getElementById('o6c-heroCap');\nvar namePh=document.getElementById('o6c-namePh');\nvar datePh=document.getElementById('o6c-datePh');\nvar nameTxt=document.getElementById('o6c-nameTxt');\nvar dateTxt=document.getElementById('o6c-dateTxt');\nvar zoomBtn=document.getElementById('o6c-zoomBtn');\nvar zoomIcon=document.getElementById('o6c-zoomIcon');\nvar zoomLabel=document.getElementById('o6c-zoomLabel');\nvar dateChips=Array.prototype.slice.call(document.querySelectorAll('.o6c-datechip'));\nvar styleChips=Array.prototype.slice.call(document.querySelectorAll('.o6c-stylechip'));\nvar addBtn=document.getElementById('o6c-addBtn');\nif(!root||!hero||!nameInput||!dateInput) return;\n\nvar STYLES={\nscript:{family:\"'Great Vibes',cursive\",weight:'400',ls:'0px',nameSizes:[17,13,10],dateSizes:[8,7],label:'Script'},\nclassic:{family:\"'Cormorant Garamond',Georgia,serif\",weight:'600',ls:'0px',nameSizes:[14,11,8.5],dateSizes:[7,6],label:'Classic'},\nmodern:{family:\"'Inter',sans-serif\",weight:'600',ls:'0.5px',nameSizes:[11,9,7],dateSizes:[6,5.2],label:'Modern'}\n};\nvar currentStyle='script';\nvar zoomed=false;\n\nfunction reduceMotion(){ return window.matchMedia \u0026\u0026 window.matchMedia('(prefers-reduced-motion: reduce)').matches; }\nfunction esc(s){ return String(s).replace(\/\u0026\/g,'\u0026amp;').replace(\/\u003c\/g,'\u0026lt;').replace(\/\u003e\/g,'\u0026gt;'); }\n\nfunction setP(f,k,v){\nvar el=f.querySelector('input[data-af=\"'+k+'\"]');\nif(!v){ if(el) el.remove(); return; }\nif(!el){ el=document.createElement('input'); el.type='hidden'; el.name='properties['+k+']'; el.setAttribute('data-af',k); f.appendChild(el); }\nel.value=v;\n}\nfunction inject(){\nvar forms=document.querySelectorAll('form[action*=\"\/cart\/add\"]');\nfor(var i=0;i\u003cforms.length;i++){\nsetP(forms[i],'Engraved name',nameInput.value.trim());\nsetP(forms[i],'Baptism date',dateInput.value.trim());\nsetP(forms[i],'Engraving style',STYLES[currentStyle].label);\nsetP(forms[i],'Gift note',giftInput.value.trim());\n}\n}\n\nfunction render(){\nvar rawName=nameInput.value, rawDate=dateInput.value;\nvar n=rawName.trim(), d=rawDate.trim();\nvar nameHas=n.length\u003e0, dateHas=d.length\u003e0;\nvar st=STYLES[currentStyle];\n\nnameCounter.textContent=rawName.length+'\/18';\nnameCounter.classList.toggle('o6c-max', rawName.length\u003e=18);\ndateCounter.textContent=rawDate.length+'\/16';\ndateCounter.classList.toggle('o6c-max', rawDate.length\u003e=16);\n\nnameTxt.textContent=n;\ndateTxt.textContent=d;\nnameTxt.style.fontFamily=st.family; nameTxt.style.fontWeight=st.weight; nameTxt.style.letterSpacing=st.ls;\ndateTxt.style.fontFamily=st.family; dateTxt.style.fontWeight=st.weight; dateTxt.style.letterSpacing=st.ls;\nvar ns=n.length\u003e14?st.nameSizes[2]:n.length\u003e10?st.nameSizes[1]:st.nameSizes[0];\nvar ds=d.length\u003e12?st.dateSizes[1]:st.dateSizes[0];\nnameTxt.setAttribute('font-size', ns);\ndateTxt.setAttribute('font-size', ds);\n\nnamePh.classList.toggle('o6c-hide', nameHas);\nnameTxt.classList.toggle('o6c-show', nameHas);\ndatePh.classList.toggle('o6c-hide', dateHas);\ndateTxt.classList.toggle('o6c-show', dateHas);\n\nheroCap.textContent=(nameHas||dateHas)?'Engraved charm, shown enlarged':'Type a name to see it engraved';\n\nif(nameHas \u0026\u0026 dateHas){\nsummaryEl.innerHTML='Personalising for \u003cb\u003e'+esc(n)+'\u003c\/b\u003e · '+esc(d);\nreadyEl.textContent=\"Ready — we'll email your proof before engraving\";\n} else {\nreadyEl.textContent='';\nif(!nameHas \u0026\u0026 !dateHas){ summaryEl.textContent='Add a name and date to preview the engraving.'; }\nelse if(!nameHas){ summaryEl.textContent=\"Add the child's name to finish personalising.\"; }\nelse { summaryEl.textContent='Add the baptism date to finish personalising.'; }\n}\n\nminiText.textContent=(n \u0026\u0026 d)?(n+' · '+d):(n||d||'Your engraving preview');\n\ninject();\n}\n\nfunction setCompact(on){ root.classList.toggle('o6c-kb', on); }\n[nameInput,dateInput].forEach(function(f){\nf.addEventListener('focus', function(){ setCompact(true); });\nf.addEventListener('blur', function(){\nsetTimeout(function(){\nif(document.activeElement!==nameInput \u0026\u0026 document.activeElement!==dateInput) setCompact(false);\n}, 60);\n});\n});\n\nnameInput.addEventListener('input', render);\ndateInput.addEventListener('input', render);\ngiftInput.addEventListener('input', function(){\ngiftCounter.textContent=giftInput.value.length+'\/120';\ngiftCounter.classList.toggle('o6c-max', giftInput.value.length\u003e=120);\ninject();\n});\n\ndateChips.forEach(function(btn){\nbtn.addEventListener('click', function(){\ndateInput.value=btn.getAttribute('data-date');\nrender();\n});\n});\n\nstyleChips.forEach(function(btn){\nbtn.addEventListener('click', function(){\ncurrentStyle=btn.getAttribute('data-style');\nstyleChips.forEach(function(b){\nvar on=(b===btn);\nb.classList.toggle('o6c-stylechip-active', on);\nb.setAttribute('aria-checked', on?'true':'false');\n});\nrender();\n});\n});\n\nzoomBtn.addEventListener('click', function(){\nzoomed=!zoomed;\nhero.classList.toggle('o6c-zoomed', zoomed);\nzoomBtn.setAttribute('aria-pressed', zoomed?'true':'false');\nzoomIcon.textContent=zoomed?'⤡':'⤢';\nzoomLabel.textContent=zoomed?'Shrink charm':'Enlarge charm';\n});\n\ndocument.addEventListener('submit', inject, true);\ndocument.addEventListener('click', inject, true);\nsetInterval(inject, 1500);\n\naddBtn.addEventListener('click', function(){\nvar nameOk=nameInput.value.trim().length\u003e0;\nvar dateOk=dateInput.value.trim().length\u003e0;\nif(!nameOk||!dateOk){\nvar target=!nameOk?nameInput:dateInput;\ntarget.classList.add('o6c-err');\ntarget.focus();\nsetTimeout(function(){ target.classList.remove('o6c-err'); }, 1200);\nerrorEl.textContent=!nameOk?\"Please add the child's name to continue.\":'Please add the baptism date to continue.';\nreturn;\n}\nerrorEl.textContent='';\ninject();\nvar form=document.querySelector('form[action*=\"\/cart\/add\"]');\nif(!form){\nwindow.scrollTo({top:0,left:0,behavior: reduceMotion()?'auto':'smooth'});\naddBtn.classList.add('o6c-pulse');\nsetTimeout(function(){ addBtn.classList.remove('o6c-pulse'); }, 900);\nreturn;\n}\nif(typeof form.requestSubmit==='function'){ form.requestSubmit(); } else { form.submit(); }\n});\n\nrender();\n}\nif(document.readyState==='loading') document.addEventListener('DOMContentLoaded', init); else init();\n})();\n\u003c\/script\u003e\n","brand":"Aurea Faith","offers":[{"title":"Default Title","offer_id":58514913853775,"sku":null,"price":28.0,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1000\/9175\/6879\/files\/Sff0fa6481a44454180a6e7f224e749203_6e60f14d-5c21-4f10-b93b-4844c64f1b90.webp?v=1787136955","url":"https:\/\/www.aureafaith.com\/products\/personalised-christening-candle-o6","provider":"Aurea Faith","version":"1.0","type":"link"}