vendor: 4,405 bytes, lines 1-6
1import{c as Rs,d as Cs,r as _,e as Is,j as e,f as Ds,P as Ze,g as ut,h as Ls,a as P,i as Zt,k as Qt,L as ke,u as ks,p as Os}from"./index-BnW04Gof.js";import{B,E as Ms,d as Ps,g as Fs,f as zt,e as Us,u as zs,S as Ke,b as Jt}from"./SEOHead-Bqg9biCq.js";import{C as ee}from"./card-DCUu0LN_.js";import{S as we}from"./skeleton-BFla9QOi.js";import{c as es,R as Bs,I as Hs}from"./index-DN58mHNe.js";import{u as Gs}from"./index-CWt2U_Mi.js";import{B as Ws,b as Vs}from"./Breadcrumb-BNGj_alz.js";import{W as Ys}from"./WooProductCard-4zjEow7f.js";import{S as Tt}from"./shopping-cart-DHL1MK17.js";import{M as Bt,P as Ht}from"./plus-q-8iU_8A.js";import{C as $s}from"./check-5fJ4Yajr.js";import{T as qs}from"./truck-CYevu3Gj.js";import{S as Xs}from"./shield-check-EUxbFzUt.js";import{S as Ks}from"./star-OMcseKwZ.js";import{U as Zs}from"./users-DJKQQnOz.js";import"./house-Cb5Cw12Z.js";import"./chevron-right-B4nL1Vc8.js";/** 2 * @license lucide-react v0.462.0 - ISC 3 * 4 * This source code is licensed under the ISC license. 5 * See the LICENSE file in the root directory of this source tree. 6 */const Qs=Rs("Expand",[["path",{d:"m21 21-6-6m6 6v-4.8m0 4.8h-4.8",key:"1c15vz"}],["path",{d:"M3 16.2V21m0 0h4.8M3 21l6-6",key:"1fsnz2"}],["path",{d:"M21 7.8V3m0 0h-4.8M21 3l-6 6",key:"hawz9i"}],["path",{d:"M3 7.8V3m0 0h4.8M3 3l6 6",key:"u9ee12"}]]);var Qe="Tabs",[Js,Zn]=Cs(Qe,[es]),ts=es(),[en,Et]=Js(Qe),ss=_.forwardRef((a,s)=>{const{__scopeTabs:n,value:i,onValueChange:u,defaultValue:l,orientation:p="horizontal",dir:k,activationMode:G="automatic",...O}=a,R=Gs(k),[w,f]=Is({prop:i,onChange:u,defaultProp:l??"",caller:Qe});return e.jsx(en,{scope:n,baseId:Ds(),value:w,onValueChange:f,orientation:p,dir:R,activationMode:G,children:e.jsx(Ze.div,{dir:R,"data-orientation":p,...O,ref:s})})});ss.displayName=Qe;var ns="TabsList",rs=_.forwardRef((a,s)=>{const{__scopeTabs:n,loop:i=!0,...u}=a,l=Et(ns,n),p=ts(n);return e.jsx(Bs,{asChild:!0,...p,orientation:l.orientation,dir:l.dir,loop:i,children:e.jsx(Ze.div,{role:"tablist","aria-orientation":l.orientation,...u,ref:s})})});rs.displayName=ns;var as="TabsTrigger",is=_.forwardRef((a,s)=>{const{__scopeTabs:n,value:i,disabled:u=!1,...l}=a,p=Et(as,n),k=ts(n),G=cs(p.baseId,i),O=ds(p.baseId,i),R=i===p.value;return e.jsx(Hs,{asChild:!0,...k,focusable:!u,active:R,children:e.jsx(Ze.button,{type:"button",role:"tab","aria-selected":R,"aria-controls":O,"data-state":R?"active":"inactive","data-disabled":u?"":void 0,disabled:u,id:G,...l,ref:s,onMouseDown:ut(a.onMouseDown,w=>{!u&&w.button===0&&w.ctrlKey===!1?p.onValueChange(i):w.preventDefault()}),onKeyDown:ut(a.onKeyDown,w=>{[" ","Enter"].includes(w.key)&&p.onValueChange(i)}),onFocus:ut(a.onFocus,()=>{const w=p.activationMode!=="manual";!R&&!u&&w&&p.onValueChange(i)})})})});is.displayName=as;var os="TabsContent",ls=_.forwardRef((a,s)=>{const{__scopeTabs:n,value:i,forceMount:u,children:l,...p}=a,k=Et(os,n),G=cs(k.baseId,i),O=ds(k.baseId,i),R=i===k.value,w=_.useRef(R);return _.useEffect(()=>{const f=requestAnimationFrame(()=>w.current=!1);return()=>cancelAnimationFrame(f)},[]),e.jsx(Ls,{present:u||R,children:({present:f})=>e.jsx(Ze.div,{"data-state":R?"active":"inactive","data-orientation":k.orientation,role:"tabpanel","aria-labelledby":G,hidden:!f,id:O,tabIndex:0,...p,ref:s,style:{...a.style,animationDuration:w.current?"0s":void 0},children:f&&l})})});ls.displayName=os;function cs(a,s){return`${a}-trigger-${s}`}function ds(a,s){return`${a}-content-${s}`}var tn=ss,us=rs,ms=is,fs=ls;const sn=tn,ps=_.forwardRef(({className:a,...s},n)=>e.jsx(us,{ref:n,className:P("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",a),...s}));ps.displayName=us.displayName;const De=_.forwardRef(({className:a,...s},n)=>e.jsx(ms,{ref:n,className:P("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",a),...s}));De.displayName=ms.displayName;const Le=_.forwardRef(({className:a,...s},n)=>e.jsx(fs,{ref:n,className:P("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",a),...s}));
6Le.displayName=fs.displayName;const nn="/assets/maplegram-2-Dg0UMLdm.webp";function rn({product:a}){Zt();const{openEnquiry:s}=Qt(),n=i=>{i.preventDefault(),i.stopPropagation();{s({productName:a.title});return}};return e.jsxs(ee,{className:"h-full flex flex-col rounded-2xl md:rounded-3xl border-transparent bg-card shadow-sm",children:[e.jsx(ke,{to:`/product/${a.slug}`,className:"block",children:e.jsxs("div",{className:"relative overflow-hidden rounded-t-2xl md:rounded-t-3xl bg-white p-3 md:p-4",children:[e.jsx("img",{src:a.image,alt:a.title,loading:"lazy",className:P("aspect-square w-full rounded-xl md:rounded-2xl object-contain bg-white","transition-transform duration-500 hover:scale-[1.02]","motion-reduce:transition-none")}),!a.inStock&&e.jsx("div",{className:"absolute top-3 right-3 md:top-4 md:right-4 rounded-full bg-muted px-2 py-1 text-xs font-medium text-muted-foreground",children:"Out of stock"})]})}),e.jsxs("div",{className:"flex flex-col flex-1 p-3 md:p-5 min-w-0",children:[e.jsx("div",{className:"text-[10px] md:text-sm text-muted-foreground truncate",children:a.brand}),e.jsx(ke,{to:`/product/${a.slug}`,className:"mt-1 block text-xs md:text-base font-semibold tracking-tight line-clamp-3 min-h-[2.5rem] md:min-h-[3rem]",children:a.title}),e.jsxs("div",{className:"mt-auto pt-2 md:pt-3 flex flex-col gap-2",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-xs md:text-base font-semibold",children:a.price}),a.change?e.jsx("div",{className:"text-[10px] md:text-xs text-muted-foreground",children:a.change}):null]}),e.jsx(B,{variant:"brand",size:"pill",className:P("w-full justify-center text-xs md:text-sm",!a.inStock&&"opacity-60"),disabled:!Ms,onClick:n,children:e.jsxs(e.Fragment,{children:[e.jsx(Tt,{className:"h-4 w-4"}),e.jsx("span",{className:"hidden sm:inline",children:"Enquire Now"}),e.jsx("span",{className:"sm:hidden",children:"Enquire"})]})})]})]})]})}/*! @license DOMPurify 3.3.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.3/LICENSE */const{entries:hs,setPrototypeOf:Gt,isFrozen:an,getPrototypeOf:on,getOwnPropertyDescriptor:ln}=Object;let{freeze:D,seal:H,create:qe}=Object,{apply:yt,construct:Nt}=typeof Reflect<"u"&&Reflect;D||(D=function(s){return s});H||(H=function(s){return s});yt||(yt=function(s,n){for(var i=arguments.length,u=new Array(i>2?i-2:0),l=2;l<i;l++)u[l-2]=arguments[l];return s.apply(n,u)});Nt||(Nt=function(s){for(var n=arguments.length,i=new Array(n>1?n-1:0),u=1;u<n;u++)i[u-1]=arguments[u];return new s(...i)});const Ye=L(Array.prototype.forEach),cn=L(Array.prototype.lastIndexOf),Wt=L(Array.prototype.pop),Se=L(Array.prototype.push),dn=L(Array.prototype.splice),Xe=L(String.prototype.toLowerCase),mt=L(String.prototype.toString),ft=L(String.prototype.match),je=L(String.prototype.replace),un=L(String.prototype.indexOf),mn=L(String.prototype.trim),U=L(Object.prototype.hasOwnProperty),I=L(RegExp.prototype.test),Re=fn(TypeError);function L(a){return function(s){s instanceof RegExp&&(s.lastIndex=0);for(var n=arguments.length,i=new Array(n>1?n-1:0),u=1;u<n;u++)i[u-1]=arguments[u];return yt(a,s,i)}}function fn(a){return function(){for(var s=arguments.length,n=new Array(s),i=0;i<s;i++)n[i]=arguments[i];return Nt(a,n)}}function m(a,s){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Xe;Gt&&Gt(a,null);let i=s.length;for(;i--;){let u=s[i];if(typeof u=="string"){const l=n(u);l!==u&&(an(s)||(s[i]=l),u=l)}a[u]=!0}return a}function pn(a){for(let s=0;s<a.length;s++)U(a,s)||(a[s]=null);return a}function X(a){const s=qe(null);for(const[n,i]of hs(a))U(a,n)&&(Array.isArray(i)?s[n]=pn(i):i&&typeof i=="object"&&i.constructor===Object?s[n]=X(i):s[n]=i);return s}function Ce(a,s){for(;a!==null;){const i=ln(a,s);if(i){if(i.get)return L(i.get);if(typeof i.value=="function")return L(i.value)}a=on(a)}function n(){return null}return n}const Vt=D(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),pt=D(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),ht=D(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),hn=D(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),gt
6=D(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),gn=D(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Yt=D(["#text"]),$t=D(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),xt=D(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),qt=D(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","
6subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),$e=D(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),xn=H(/\{\{[\w\W]*|[\w\W]*\}\}/gm),bn=H(/<%[\w\W]*|[\w\W]*%>/gm),Tn=H(/\$\{[\w\W]*/gm),yn=H(/^data-[\-\w.\u00B7-\uFFFF]+$/),Nn=H(/^aria-[\-\w]+$/),gs=H(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),En=H(/^(?:\w+script|data):/i),vn=H(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),xs=H(/^html$/i),_n=H(/^[a-z][.\w]*(-[.\w]+)+$/i);var Xt=Object.freeze({__proto__:null,ARIA_ATTR:Nn,ATTR_WHITESPACE:vn,CUSTOM_ELEMENT:_n,DATA_ATTR:yn,DOCTYPE_NAME:xs,ERB_EXPR:bn,IS_ALLOWED_URI:gs,IS_SCRIPT_OR_DATA:En,MUSTACHE_EXPR:xn,TMPLIT_EXPR:Tn});const Ie={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},An=function(){return typeof window>"u"?null:window},wn=function(s,n){if(typeof s!="object"||typeof s.createPolicy!="function")return null;let i=null;const u="data-tt-policy-suffix";n&&n.hasAttribute(u)&&(i=n.getAttribute(u));const l="dompurify"+(i?"#"+i:"");try{return s.createPolicy(l,{createHTML(p){return p},createScriptURL(p){return p}})}catch{return console.warn("TrustedTypes policy "+l+" could not be created."),null}},Kt=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function bs(){let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:An();const s=c=>bs(c);if(s.version="3.3.3",s.removed=[],!a||!a.document||a.document.nodeType!==Ie.document||!a.Element)return s.isSupported=!1,s;let{document:n}=a;const i=n,u=i.currentScript,{DocumentFragment:l,HTMLTemplateElement:p,Node:k,Element:G,NodeFilter:O,NamedNodeMap:R=a.NamedNodeMap||a.MozNamedAttrMap,HTMLFormElement:w,DOMParser:f,trustedTypes:W}=a,T=G.prototype,oe=Ce(T,"cloneNode"),Oe=Ce(T,"remove"),Me=Ce(T,"nextSibling"),V=Ce(T,"childNodes"),C=Ce(T,"parentNode");if(typeof p=="function"){const c=n.createElement("template");c.content&&c.content.ownerDocument&&(n=c.content.ownerDocument)}let A,F="";const{implementation:ne,createNodeIterator:Je,createDocumentFragment:z,getElementsByTagName:le}=n,{importNode:Pe}=i;let x=Kt();s.isSupported=typeof hs=="function"&&typeof C=="function"&&ne&&ne.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:ce,ERB_EXPR:ge,TMPLIT_EXPR:xe,DATA_ATTR:et,ARIA_ATTR:tt,IS_SCRIPT_OR_DATA:Fe,ATTR_WHITESPACE:be,CUSTOM_ELEMENT:Ue}=Xt;let{IS_ALLOWED_URI:Te}=Xt,b=null;const ye=m({},[...Vt,...pt,...ht,...gt,...Yt]);let N=null;const Ne=m({},[...$t,...xt,...qt,...$e]);let h=Object.seal(qe(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),te=null,re=null;const d=Object.seal(qe(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let E=!0,de=!0,Ee=!1,ve=!0,K=!1,ae=!0,Y=!1,se=!1,st=!1,ue=!1,ze=!1,Be=!1,vt=!0,_t=!1;const Ns="user-content-";let nt=!0,_e=!1,me={},$=null;const rt=m({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let At=null;const wt=m({},["audio","video","img","source","image","track"]);let at=null;const St=m({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),He="http://www.w3.org/1998/Math/MathML",Ge="http://www.w3.org/2000/svg",Z="http://www.w3.org/1999/xhtml";let fe=Z,it=!1,ot=null;const Es=m({},[He,Ge,Z],mt);let We=m({},["mi","mo","mn","ms","mtext"]),Ve=m({},["annotation-xml"]);const vs=m({},["title","style","font","a","script"]);let Ae=null;const _s=["application/xhtml+xml","text/html"],As="text/html";let v=null,pe=null;const ws=n.createElement("form"),jt=function(t){return t instanceof RegExp||t instanceof Function},lt=function(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(pe&&pe===t)){if((!t||typeof t!="object")&&(t={}
vendor: 11,144 bytes, lines 6-7
6),t=X(t),Ae=_s.indexOf(t.PARSER_MEDIA_TYPE)===-1?As:t.PARSER_MEDIA_TYPE,v=Ae==="application/xhtml+xml"?mt:Xe,b=U(t,"ALLOWED_TAGS")?m({},t.ALLOWED_TAGS,v):ye,N=U(t,"ALLOWED_ATTR")?m({},t.ALLOWED_ATTR,v):Ne,ot=U(t,"ALLOWED_NAMESPACES")?m({},t.ALLOWED_NAMESPACES,mt):Es,at=U(t,"ADD_URI_SAFE_ATTR")?m(X(St),t.ADD_URI_SAFE_ATTR,v):St,At=U(t,"ADD_DATA_URI_TAGS")?m(X(wt),t.ADD_DATA_URI_TAGS,v):wt,$=U(t,"FORBID_CONTENTS")?m({},t.FORBID_CONTENTS,v):rt,te=U(t,"FORBID_TAGS")?m({},t.FORBID_TAGS,v):X({}),re=U(t,"FORBID_ATTR")?m({},t.FORBID_ATTR,v):X({}),me=U(t,"USE_PROFILES")?t.USE_PROFILES:!1,E=t.ALLOW_ARIA_ATTR!==!1,de=t.ALLOW_DATA_ATTR!==!1,Ee=t.ALLOW_UNKNOWN_PROTOCOLS||!1,ve=t.ALLOW_SELF_CLOSE_IN_ATTR!==!1,K=t.SAFE_FOR_TEMPLATES||!1,ae=t.SAFE_FOR_XML!==!1,Y=t.WHOLE_DOCUMENT||!1,ue=t.RETURN_DOM||!1,ze=t.RETURN_DOM_FRAGMENT||!1,Be=t.RETURN_TRUSTED_TYPE||!1,st=t.FORCE_BODY||!1,vt=t.SANITIZE_DOM!==!1,_t=t.SANITIZE_NAMED_PROPS||!1,nt=t.KEEP_CONTENT!==!1,_e=t.IN_PLACE||!1,Te=t.ALLOWED_URI_REGEXP||gs,fe=t.NAMESPACE||Z,We=t.MATHML_TEXT_INTEGRATION_POINTS||We,Ve=t.HTML_INTEGRATION_POINTS||Ve,h=t.CUSTOM_ELEMENT_HANDLING||{},t.CUSTOM_ELEMENT_HANDLING&&jt(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(h.tagNameCheck=t.CUSTOM_ELEMENT_HANDLING.tagNameCheck),t.CUSTOM_ELEMENT_HANDLING&&jt(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(h.attributeNameCheck=t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),t.CUSTOM_ELEMENT_HANDLING&&typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(h.allowCustomizedBuiltInElements=t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),K&&(de=!1),ze&&(ue=!0),me&&(b=m({},Yt),N=qe(null),me.html===!0&&(m(b,Vt),m(N,$t)),me.svg===!0&&(m(b,pt),m(N,xt),m(N,$e)),me.svgFilters===!0&&(m(b,ht),m(N,xt),m(N,$e)),me.mathMl===!0&&(m(b,gt),m(N,qt),m(N,$e))),U(t,"ADD_TAGS")||(d.tagCheck=null),U(t,"ADD_ATTR")||(d.attributeCheck=null),t.ADD_TAGS&&(typeof t.ADD_TAGS=="function"?d.tagCheck=t.ADD_TAGS:(b===ye&&(b=X(b)),m(b,t.ADD_TAGS,v))),t.ADD_ATTR&&(typeof t.ADD_ATTR=="function"?d.attributeCheck=t.ADD_ATTR:(N===Ne&&(N=X(N)),m(N,t.ADD_ATTR,v))),t.ADD_URI_SAFE_ATTR&&m(at,t.ADD_URI_SAFE_ATTR,v),t.FORBID_CONTENTS&&($===rt&&($=X($)),m($,t.FORBID_CONTENTS,v)),t.ADD_FORBID_CONTENTS&&($===rt&&($=X($)),m($,t.ADD_FORBID_CONTENTS,v)),nt&&(b["#text"]=!0),Y&&m(b,["html","head","body"]),b.table&&(m(b,["tbody"]),delete te.tbody),t.TRUSTED_TYPES_POLICY){if(typeof t.TRUSTED_TYPES_POLICY.createHTML!="function")throw Re('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof t.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Re('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');A=t.TRUSTED_TYPES_POLICY,F=A.createHTML("")}else A===void 0&&(A=wn(W,u)),A!==null&&typeof F=="string"&&(F=A.createHTML(""));D&&D(t),pe=t}},Rt=m({},[...pt,...ht,...hn]),Ct=m({},[...gt,...gn]),Ss=function(t){let r=C(t);(!r||!r.tagName)&&(r={namespaceURI:fe,tagName:"template"});const o=Xe(t.tagName),g=Xe(r.tagName);return ot[t.namespaceURI]?t.namespaceURI===Ge?r.namespaceURI===Z?o==="svg":r.namespaceURI===He?o==="svg"&&(g==="annotation-xml"||We[g]):!!Rt[o]:t.namespaceURI===He?r.namespaceURI===Z?o==="math":r.namespaceURI===Ge?o==="math"&&Ve[g]:!!Ct[o]:t.namespaceURI===Z?r.namespaceURI===Ge&&!Ve[g]||r.namespaceURI===He&&!We[g]?!1:!Ct[o]&&(vs[o]||!Rt[o]):!!(Ae==="application/xhtml+xml"&&ot[t.namespaceURI]):!1},q=function(t){Se(s.removed,{element:t});try{C(t).removeChild(t)}catch{Oe(t)}},ie=function(t,r){try{Se(s.removed,{attribute:r.getAttributeNode(t),from:r})}catch{Se(s.removed,{attribute:null,from:r})}if(r.removeAttribute(t),t==="is")if(ue||ze)try{q(r)}catch{}else try{r.setAttribute(t,"")}catch{}},It=function(t){let r=null,o=null;if(st)t="<remove></remove>"+t;else{const y=ft(t,/^[\r\n\t ]+/);o=y&&y[0]}Ae==="application/xhtml+xml"&&fe===Z&&(t='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+t+"</body></html>");const g=A?A.createHTML(t):t;if(fe===Z)try{r=new f().parseFromString(g,Ae)}catch{}if(!r||!r.documentElement){r=ne.createDocument(fe,"template",null);try{r.documentElement.innerHTML=it?F:g}catch{}}const j=r.body||r.documentElement;return t&&o&&j.insertBefore(n.createTextNode(o),j.childNodes[0]||null),fe===Z?le.call(r,Y?"html":"body")[0]:Y?r.documentElement:j},Dt=function(t){return Je.call(t.ownerDocument||t,t,O.SHOW_ELEMENT|O.SHOW_COMMENT|O.SHOW_TEXT|O.SHOW_PROCESSING_INSTRUCTION|O.SHOW_CDATA_SECTION,null)},ct=function(t){return t instanceof w&&(typeof t.nodeName!="string"||typeof t.textContent!="string"||typeof t.removeChild!="function"||!(t.attributes instanceof R)||typeof t.removeAttribute!="function"||typeof t.setAttribute!="function"||typeof t.namespaceURI!="string"||typeof t.insertBefore!="function"||typeof t.hasChildNodes!="function")},Lt=function(t){return typeof k=="function"&&t instanceof k};function Q(c,t,r){Ye(c,o=>{o.call(s,t,r,pe)})}const kt=function(t){let r=null;if(Q(x.beforeSanitizeElements,t,null),ct(t))return q(t),!0;const o=v(t.nodeName);if(Q(x.uponSanitizeElement,t,{tagName:o,allowedTags:b}),ae&&t.hasChildNodes()&&!Lt(t.firstElementChild)&&I(/<[/\w!]/g,t.innerHTML)&&I(/<[/\w!]/g,t.textContent)||t.nodeType===Ie.progressingInstruction||ae&&t.nodeType===Ie.comment&&I(/<[/\w]/g,t.data))return q(t),!0;if(!(d.tagCheck instanceof Function&&d.tagCheck(o))&&(!b[o]||te[o])){if(!te[o]&&Mt(o)&&(h.tagNameCheck instanceof RegExp&&I(h.tagNameCheck,o)||h.tagNameCheck instanceof Function&&h.tagNameCheck(o)))return!1;if(nt&&!$[o]){const g=C(t)||t.parentNode,j=V(t)||t.childNodes;if(j&&g){const y=j.length;for(let M=y-1;M>=0;--M){const J=oe(j[M],!0);J.__removalCount=(t.__removalCount||0)+1,g.insertBefore(J,Me(t))}}}return q(t),!0}return t instanceof G&&!Ss(t)||(o==="noscript"||o==="noembed"||o==="noframes")&&I(/<\/no(script|embed|frames)/i,t.innerHTML)?(q(t),!0):(K&&t.nodeType===Ie.text&&(r=t.textContent,Ye([ce,ge,xe],g=>{r=je(r,g," ")}),t.textContent!==r&&(Se(s.removed,{element:t.cloneNode()}),t.textContent=r)),Q(x.afterSanitizeElements,t,null),!1)},Ot=function(t,r,o){if(re[r]||vt&&(r==="id"||r==="name")&&(o in n||o in ws))return!1;if(!(de&&!re[r]&&I(et,r))){if(!(E&&I(tt,r))){if(!(d.attributeCheck instanceof Function&&d.attributeCheck(r,t))){if(!N[r]||re[r]){if(!(Mt(t)&&(h.tagNameCheck instanceof RegExp&&I(h.tagNameCheck,t)||h.tagNameCheck instanceof Function&&h.tagNameCheck(t))&&(h.attributeNameCheck instanceof RegExp&&I(h.attributeNameCheck,r)||h.attributeNameCheck instanceof Function&&h.attributeNameCheck(r,t))||r==="is"&&h.allowCustomizedBuiltInElements&&(h.tagNameCheck instanceof RegExp&&I(h.tagNameCheck,o)||h.tagNameCheck instanceof Function&&h.tagNameCheck(o))))return!1}else if(!at[r]){if(!I(Te,je(o,be,""))){if(!((r==="src"||r==="xlink:href"||r==="href")&&t!=="script"&&un(o,"data:")===0&&At[t])){if(!(Ee&&!I(Fe,je(o,be,"")))){if(o)return!1}}}}}}}return!0},Mt=function(t){return t!=="annotation-xml"&&ft(t,Ue)},Pt=function(t){Q(x.beforeSanitizeAttributes,t,null);const{attributes:r}=t;if(!r||ct(t))return;const o={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:N,forceKeepAttr:void 0};let g=r.length;for(;g--;){const j=r[g],{name:y,namespaceURI:M,value:J}=j,he=v(y),dt=J;let S=y==="value"?dt:mn(dt);if(o.attrName=he,o.attrValue=S,o.keepAttr=!0,o.forceKeepAttr=void 0,Q(x.uponSanitizeAttribute,t,o),S=o.attrValue,_t&&(he==="id"||he==="name")&&(ie(y,t),S=Ns+S),ae&&I(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,S)){ie(y,t);continue}if(he==="attributename"&&ft(S,"href")){ie(y,t);continue}if(o.forceKeepAttr)continue;if(!o.keepAttr){ie(y,t);continue}if(!ve&&I(/\/>/i,S)){ie(y,t);continue}K&&Ye([ce,ge,xe],Ut=>{S=je(S,Ut," ")});const Ft=v(t.nodeName);if(!Ot(Ft,he,S)){ie(y,t);continue}if(A&&typeof W=="object"&&typeof W.getAttributeType=="function"&&!M)switch(W.getAttributeType(Ft,he)){case"TrustedHTML":{S=A.createHTML(S);break}case"TrustedScriptURL":{S=A.createScriptURL(S);break}}if(S!==dt)try{M?t.setAttributeNS(M,y,S):t.setAttribute(y,S),ct(t)?q(t):Wt(s.removed)}catch{ie(y,t)}}Q(x.afterSanitizeAttributes,t,null)},js=function c(t){let r=null;const o=Dt(t);for(Q(x.beforeSanitizeShadowDOM,t,null);r=o.nextNode();)Q(x.uponSanitizeShadowNode,r,null),kt(r),Pt(r),r.content instanceof l&&c(r.content);Q(x.afterSanitizeShadowDOM,t,null)};return s.sanitize=function(c){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=null,o=null,g=null,j=null;if(it=!c,it&&(c="<!-->"),typeof c!="string"&&!Lt(c))if(typeof c.toString=="function"){if(c=c.toString(),typeof c!="string")throw Re("dirty is not a string, aborting")}else throw Re("toString is not a function");if(!s.isSupported)return c;if(se||lt(t),s.removed=[],typeof c=="string"&&(_e=!1),_e){if(c.nodeName){const J=v(c.nodeName);if(!b[J]||te[J])throw Re("root node is forbidden and cannot be sanitized in-place")}}else if(c instanceof k)r=It("<!---->"),o=r.ownerDocument.importNode(c,!0),o.nodeType===Ie.element&&o.nodeName==="BODY"||o.nodeName==="HTML"?r=o:r.appendChild(o);else{if(!ue&&!K&&!Y&&c.indexOf("<")===-1)return A&&Be?A.createHTML(c):c;if(r=It(c),!r)return ue?null:Be?F:""}r&&st&&q(r.firstChild);const y=Dt(_e?c:r);for(;g=y.nextNode();)kt(g),Pt(g),g.content instanceof l&&js(g.content);if(_e)return c;if(ue){if(ze)for(j=z.call(r.ownerDocument);r.firstChild;)j.appendChild(r.firstChild);else j=r;return(N.shadowroot||N.shadowrootmode)&&(j=Pe.call(i,j,!0)),j}let M=Y?r.outerHTML:r.innerHTML;return Y&&b["!doctype"]&&r.ownerDocument&&r.ownerDocument.doctype&&r.ownerDocument.doctype.name&&I(xs,r.ownerDocument.doctype.name)&&(M="<!DOCTYPE "+r.ownerDocument.doctype.name+`> 7`+M),K&&Ye([ce,ge,xe],J=>{M=je(M,J," ")}),A&&Be?A.createHTML(M):M},s.setConfig=function(){let c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};lt(c),se=!0},s.clearConfig=function(){pe=null,se=!1},s.isValidAttribute=function(c,t,r){pe||lt({});const o=v(c),g=v(t);return Ot(o,g,r)},s.addHook=function(c,t){typeof t=="function"&&Se(x[c],t)},s.removeHook=function(c,t){if(t!==void 0){const r=cn(x[c],t);return r===-1?void 0:dn(x[c],r,1)[0]}return Wt(x[c])},s.removeHooks=function(c){x[c]=[]},s.removeAllHooks=function(){x=Kt()},s}var Sn=bs();function bt(a){if(!a)return"";let s=a.replace(/\[\/?[^\]]+\]/g,"");return s=s.replace(/<p>\s*<\/p>/g,""),s=s.trim(),s}function jn(a){const s=(a||"").toLowerCase();return s.includes("krugerrand")&&!/proof|collector|commemorative/i.test(s)?"Rand Refinery":s.includes("krugerrand")?"SA Mint":s.includes("rand refinery")?"Rand Refinery":s.includes("mc minted")||s.includes("mc ")?"MC Minted":s.includes("perth mint")?"Perth Mint":s.includes("royal mint")?"Royal Mint":s.includes("pamp")?"PAMP Suisse":s.includes("valcambi")?"Valcambi":s.includes("heraeus")?"Heraeus":s.includes("umicore")?"Umicore":"IBV Gold"}const Ts="ibv-recently-viewed",Rn=8;function ys(){try{return JSON.parse(sessionStorage.getItem(Ts)||"[]")}catch{return[]}}function Cn(a){const s=ys().filter(n=>n!==a);s.unshift(a),sessionStorage.setItem(Ts,JSON.stringify(s.slice(0,Rn)))}function In({isVatFree:a,isBestValue:s}){const n=[{icon:e.jsx(qs,{className:"h-5 w-5"}),title:"Free Delivery",subtitle:"All products",show:!0},{icon:e.jsx(Xs,{className:"h-5 w-5"}
7),title:"VAT Free",subtitle:"On this product",show:a},{icon:e.jsx(Ks,{className:"h-5 w-5"}),title:"Best Value",subtitle:"Ideal for investors",show:s},{icon:e.jsx(Zs,{className:"h-5 w-5"}),title:"Trusted",subtitle:"By 45,000+ customers",show:!0}];return e.jsx("div",{className:"flex flex-wrap items-stretch gap-2 sm:gap-3",children:n.filter(i=>i.show).map(i=>e.jsxs("div",{className:"flex flex-1 min-w-[120px] items-center gap-2.5 rounded-xl border border-border bg-secondary/50 px-3 py-2.5",children:[e.jsx("div",{className:"flex h-9 w-9 flex-shrink-0 items-center justify-center rounded-full bg-brand/10 text-brand",children:i.icon}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"text-xs font-semibold leading-tight",children:i.title}),e.jsx("div",{className:"text-[10px] text-muted-foreground leading-tight",children:i.subtitle})]})]},i.title))})}function Dn(){return e.jsxs(Ke,{children:[e.jsx(Jt,{title:"Product Not Available | IBV Gold",description:"This product is no longer available. Browse our full range of gold, silver and platinum bullion.",noIndex:!0}),e.jsx("main",{className:"mx-auto grid min-h-[60vh] max-w-7xl place-items-center px-4 py-16",children:e.jsxs(ee,{className:"w-full max-w-lg rounded-3xl border border-border bg-card p-10 text-center shadow-elevated",children:[e.jsx("h1",{className:"text-2xl sm:text-3xl font-extrabold tracking-tight",children:"This product isnât available"}),e.jsx("p",{className:"mt-3 text-sm text-muted-foreground",children:"It may have sold out, been discontinued, or the link may be out of date."}),e.jsxs("div",{className:"mt-8 flex flex-wrap gap-3 justify-center",children:[e.jsx(B,{asChild:!0,variant:"pill-outline",size:"pill",children:e.jsx(ke,{to:"/collections/all-products",children:"Browse all products"})}),e.jsx(B,{asChild:!0,variant:"pill-outline",size:"pill",children:e.jsx(ke,{to:"/contact-us",children:"Contact us"})})]})]})})]})}function Ln({onRetry:a}){return e.jsx(Ke,{children:e.jsx("main",{className:"mx-auto grid min-h-[60vh] max-w-7xl place-items-center px-4 py-16",children:e.jsxs(ee,{className:"w-full max-w-lg rounded-3xl border border-border bg-card p-10 text-center shadow-elevated",children:[e.jsx("h1",{className:"text-2xl sm:text-3xl font-extrabold tracking-tight",children:"We couldnât load this product"}),e.jsxs("p",{className:"mt-3 text-sm text-muted-foreground",children:["This is usually temporary. Try again, or call us on"," ",e.jsx("a",{href:"tel:+27101573020",className:"font-semibold underline",children:"+27 10 157 3020"}),"."]}),e.jsxs("div",{className:"mt-8 flex flex-wrap gap-3 justify-center",children:[e.jsx(B,{variant:"pill-outline",size:"pill",onClick:a,children:"Try again"}),e.jsx(B,{asChild:!0,variant:"pill-outline",size:"pill",children:e.jsx(ke,{to:"/collections/all-products",children:"Browse all products"})})]})]})})})}function Qn(){var Ne,h,te,re;const{slug:a}=ks(),s=Ps(a),{data:n,isLoading:i,error:u}=s,l=Fs(a),p=u??s.failureReason,k=(p==null?void 0:p.status)===404,G=!l&&!i&&k,{addToCart:O,isInCart:R}=Zt(),{openEnquiry:w}=Qt(),f=n&&!i,W=f?n.id:l==null?void 0:l.slug,T=f?n.name:l==null?void 0:l.title,oe=f?(()=>{var Ee,ve,K,ae,Y;
7const d=((K=(ve=(Ee=n.attributes)==null?void 0:Ee.find(se=>se.name.toLowerCase()==="brand"))==null?void 0:ve.options)==null?void 0:K[0])||((Y=(ae=n.categories)==null?void 0:ae.find(se=>se.slug!=="uncategorized"&&!["gold","silver","platinum","coins","minted-bars","cast-bars"].includes(se.slug)))==null?void 0:Y.name)||jn(n.name),E=n.name.toLowerCase();return E.includes("krugerrand")&&!/proof|collector|commemorative/i.test(E)?"Rand Refinery":d})():l==null?void 0:l.brand,Oe=f?zt(n.price):l==null?void 0:l.price,Me=f?parseFloat(n.price):Os((l==null?void 0:l.price)||"0"),V=f?n.stock_status==="instock":l==null?void 0:l.inStock,C=f?n.slug:l==null?void 0:l.slug;f&&bt(n.short_description);const A=W?R(W):!1,F=_.useMemo(()=>{var d;return f&&((d=n.images)==null?void 0:d.length)>0?n.images.map(E=>E.src):l?l.slug==="1-gold-maplegram-2025"?[l.image,nn]:[l.image]:[]},[f,n,l]),[ne,Je]=_.useState(0),[z,le]=_.useState(1);_.useState(""),_.useState(!1),_.useState(!1);const Pe=f?(Ne=n.categories)==null?void 0:Ne.map(d=>d.slug):(l==null?void 0:l.tags)||[],x=(T||"").toLowerCase(),ce=x.includes("krugerrand"),ge=f&&((h=n.meta_data)==null?void 0:h.some(d=>d.key==="_tax_status"&&d.value==="none"))||!1,xe=x.includes("platinum")||Pe.some(d=>d.includes("platinum"))?"Platinum":x.includes("silver")||Pe.some(d=>d.includes("silver"))?"Silver":"Gold",et=x.includes("bar")?"Bars":x.includes("coin")||ce?"Coins":x.includes("round")?"Rounds":"Products",tt=ce,Fe=f?bt(n.description):"",be=f?bt(n.short_description):"";_.useEffect(()=>{C&&Cn(C)},[C]);const Ue=_.useMemo(()=>ys().filter(E=>E!==a).map(E=>Us().find(de=>de.slug===E)).filter(Boolean).slice(0,4),[a]),Te=f?(re=(te=n.categories)==null?void 0:te[0])==null?void 0:re.id:void 0,{data:b}=zs(Te?{category:Te,per_page:8}:void 0),ye=_.useMemo(()=>{if(!b)return[];const d=f?n.id:null;return b.filter(E=>E.id!==d).slice(0,4)},[b,f,n]);if(_.useCallback(()=>{V&&!A&&W&&O({id:W,name:T||"",price:Me,image:F[0]||"",slug:C||"",quantity:z})},[V,A,W,T,Me,F,C,z,O]),i)return e.jsx(Ke,{children:e.jsx("main",{className:"mx-auto max-w-7xl px-4 pb-16",children:e.jsx("div",{className:"mt-10",children:e.jsxs("div",{className:"mt-8 grid gap-10 lg:grid-cols-[1.1fr_0.9fr]",children:[e.jsx(ee,{className:"rounded-3xl border-transparent bg-secondary/40 p-6",children:e.jsx(we,{className:"aspect-square w-full rounded-3xl"})}),e.jsxs("div",{children:[e.jsx(we,{className:"h-10 w-3/4"}),e.jsx(we,{className:"mt-4 h-6 w-1/4"}),e.jsx(we,{className:"mt-6 h-8 w-1/3"}),e.jsx(we,{className:"mt-6 h-12 w-full rounded-full"})]})]})})})});if(G)return e.jsx(Dn,{});if(!f&&!l)return e.jsx(Ln,{onRetry:()=>void s.refetch()});const N={"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":`https://ibvgold.co.za/product/${C}#webpage`,url:`https://ibvgold.co.za/product/${C}`,name:T||"Product",inLanguage:"en-ZA"},{"@type":"BreadcrumbList","@id":`https://ibvgold.co.za/product/${C}#breadcrumb`,itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://ibvgold.co.za"},{"@type":"ListItem",position:2,name:"All Products",item:"https://ibvgold.co.za/collections/all-products"},{"@type":"ListItem",position:3,name:T||"Product",item:`https://ibvgold.co.za/product/${C}`}]}]};return e.jsxs(Ke,{children:[e.jsx(Jt,{title:T||"Product",description:`Buy ${T} from IBV Gold. Certified precious metals with competitive prices and secure delivery across South Africa.`,keywords:`${T}, buy ${T}, ${T} price, gold investment, silver investment`,canonicalUrl:`/product/${C}`,ogType:"product",structuredData:N}),e.jsx("main",{className:"mx-auto max-w-7xl px-4 pb-28 lg:pb-16",children:e.jsxs("div",{className:"mt-10",children:[e.jsx(Ws,{items:Vs.product(xe,et,T||"Product")}),e.jsxs("div",{className:"mt-6 sm:mt-8 grid gap-6 sm:gap-10 lg:grid-cols-[1.1fr_0.9fr]",children:[e.jsxs(ee,{className:"rounded-2xl sm:rounded-3xl border-transparent bg-secondary/40 p-4 sm:p-6",children:[e.jsxs("div",{className:"relative rounded-2xl sm:rounded-3xl bg-gray-50 p-4 sm:p-6",children:[e.jsx(B,{variant:"pill-outline",size:"icon",className:"absolute right-2 top-2 sm:right-4 sm:top-4 rounded-xl h-8 w-8 sm:h-10 sm:w-10","aria-label":"Expand image",children:e.jsx(Qs,{className:"h-4 w-4 sm:h-5 sm:w-5"})}),F.length>0&&F[ne]?e.jsx("img",{src:F[ne],alt:T||"Product",width:520,height:420,fetchPriority:"high",decoding:"async",className:"mx-auto h-[280px] sm:h-[350px] md:h-[420px] w-full max-w-[520px] object-contain"}):e.jsx("div",{className:"mx-auto h-[280px] sm:h-[350px] md:h-[420px] w-full max-w-[520px] flex items-center justify-center text-muted-foreground",children:e.jsx("span",{children:"Image not available"})})]}),F.length>1&&e.jsx("div",{className:"mt-4 sm:mt-5 flex items-center justify-center gap-2 sm:gap-3 overflow-x-auto scrollbar-hide py-1",children:F.map((d,E)=>e.jsx("button",{type:"button",onClick:()=>Je(E),className:P("h-10 w-10 sm:h-12 sm:w-12 overflow-hidden rounded-xl sm:rounded-2xl bg-background p-1.5 sm:p-2 ring-offset-background transition flex-shrink-0",E===ne?"ring-2 ring-ring":"hover:ring-2 hover:ring-ring/40"),"aria-label":`View image ${E+1}`,children:e.jsx("img",{src:d,alt:"",className:"h-full w-full object-contain",loading:"lazy",decoding:"async",width:96,height:96})},d))})]}),e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl sm:text-3xl md:text-4xl font-extrabold tracking-tight",children:T}),e.jsx("div",{className:"mt-1.5 sm:mt-2 text-sm sm:text-base font-semibold text-muted-foreground",children:oe}),e.jsxs("div",{className:"mt-4 sm:mt-6 flex items-center gap-2 sm:gap-3",children:[e.jsx("div",{className:"text-xl sm:text-2xl font-extrabold tracking-tight",children:Oe}),f&&(n==null?void 0:n.on_sale)&&(n==null?void 0:n.regular_price)&&e.jsx("span",{className:"text-lg text-muted-foreground line-through",children:zt(n.regular_price)})]}),e.jsx("div",{className:"mt-4 sm:mt-5",children:e.jsx(In,{isVatFree:ge,isBestValue:tt})}),e.jsxs("div",{className:"hidden",children:[e.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:"Quantity"}),e.jsxs("div",{className:"flex items-center rounded-full border border-border",children:[e.jsx(B,{variant:"ghost",size:"icon",className:"h-9 w-9 rounded-full",onClick:()=>le(Math.max(1,z-1)),disabled:z<=1,"aria-label":"Decrease quantity",children:e.jsx(Bt,{className:"h-4 w-4"})}),e.jsx("span",{className:"w-10 text-center text-sm font-semibold tabular-nums",children:z}),e.jsx(B,{variant:"ghost",size:"icon",className:"h-9 w-9 rounded-full",onClick:()=>le(z+1),"aria-label":"Increase quantity",children:e.jsx(Ht,{className:"h-4 w-4"})})]})]}),e.jsx("div",{className:"hidden lg:block",children:e.jsxs(B,{variant:"brand",size:"pill",className:"mt-6 w-full justify-center",onClick:()=>w({productName:T}),children:[e.jsx(Tt,{}),"Enquire Now"]})})]})]}),e.jsx("div",{className:"mt-10 sm:mt-14",children:e.jsxs(sn,{defaultValue:"specifications",className:"w-full",children:[e.jsxs(ps,{className:"w-full flex rounded-xl bg-secondary/60 p-1 h-auto flex-wrap gap-1",children:[e.jsx(De,{value:"specifications",className:"flex-1 min-w-[100px] rounded-lg px-3 py-2 text-xs sm:text-sm font-semibold data-[state=active]:bg-background data-[state=active]:shadow-sm",children:"Specifications"}),e.jsx(De,{value:"description",className:"flex-1 min-w-[100px] rounded-lg px-3 py-2 text-xs sm:text-sm font-semibold data-[state=active]:bg-background data-[state=active]:shadow-sm",children:"Description"}),e.jsx(De,{value:"delivery",className:"flex-1 min-w-[100px] rounded-lg px-3 py-2 text-xs sm:text-sm font-semibold data-[state=active]:bg-background data-[state=active]:shadow-sm",children:"Delivery & Returns"}),e.jsx(De,{value:"storage",className:"flex-1 min-w-[100px] rounded-lg px-3 py-2 text-xs sm:text-sm font-semibold data-[state=active]:bg-background data-[state=active]:shadow-sm",children:"Storage"})]}),e.jsx(Le,{value:"specifications",className:"mt-6",children:e.jsx(ee,{className:"rounded-2xl border border-border p-0 overflow-hidden",children:e.jsx("table",{className:"w-full text-sm",children:e.jsx("tbody",{children:f&&(n!=null&&n.attributes)&&n.attributes.length>0?e.jsxs(e.Fragment,{children:[n.attributes.map((d,E)=>e.jsxs("tr",{className:P(E%2===0?"bg-secondary/30":"bg-background"),children:[e.jsx("td",{className:"px-4 sm:px-6 py-3 font-semibold text-foreground w-1/3 border-r border-border",children:d.name}),e.jsx("td",{className:"px-4 sm:px-6 py-3 text-muted-foreground",children:d.options.join(", ")})]},d.id)),e.jsxs("tr",{className:P(n.attributes.length%2===0?"bg-secondary/30":"bg-background"),children:[e.jsx("td",{className:"px-4 sm:px-6 py-3 font-semibold text-foreground w-1/3 border-r border-border",children:"Brand"}),e.jsx("td",{className:"px-4 sm:px-6 py-3 text-muted-foreground",children:oe})]}),e.jsxs("tr",{className:P((n.attributes.length+1)%2===0?"bg-secondary/30":"bg-background"),children:[e.jsx("td",{className:"px-4 sm:px-6 py-3 font-semibold text-foreground w-1/3 border-r border-border",children:"Availability"}),e.jsx("td",{className:"px-4 sm:px-6 py-3",children:e.jsxs("span",{className:P("inline-flex items-center gap-1.5 rounded-full px-2.5 py-0.5 text-xs font-medium",V?"bg-green-50 text-green-700":"bg-red-50 text-red-700"),children:[e.jsx("span",{className:P("h-1.5 w-1.5 rounded-full",V?"bg-green-500":"bg-red-500")}),V?"In Stock":"Out of Stock"]})})]}),f&&n.sku&&e.jsxs("tr",{className:P((n.attributes.length+2)%2===0?"bg-secondary/30":"bg-background"),children:[e.jsx("td",{className:"px-4 sm:px-6 py-3 font-semibold text-foreground w-1/3 border-r border-border",children:"SKU"}),e.jsx("td",{className:"px-4 sm:px-6 py-3 text-muted-foreground",children:n.sku})]})]}):e.jsxs(e.Fragment,{children:[e.jsxs("tr",{className:"bg-secondary/30",children:[e.jsx("td",{className:"px-4 sm:px-6 py-3 font-semibold text-foreground w-1/3 border-r border-border",children:"Brand"}),e.jsx("td",{className:"px-4 sm:px-6 py-3 text-muted-foreground",children:oe})]}),e.jsxs("tr",{className:"bg-background",children:[e.jsx("td",{className:"px-4 sm:px-6 py-3 font-semibold text-foreground w-1/3 border-r border-border",children:"Availability"}),e.jsx("td",{className:"px-4 sm:px-6 py-3",children:e.jsxs("span",{className:P("inline-flex items-center gap-1.5 rounded-full px-2.5 py-0.5 text-xs font-medium",V?"bg-green-50 text-green-700":"bg-red-50 text-red-700"),children:[e.jsx("span",{className:P("h-1.5 w-1.5 rounded-full",V?"bg-green-500":"bg-red-500")}),V?"In Stock":"Out of Stock"]})})]})]})})})})}),e.jsx(Le,{value:"description",className:"mt-6",children:e.jsx(ee,{className:"rounded-2xl border border-border p-5 sm:p-8",children:Fe||be?e.jsx("div",{className:"prose prose-sm max-w-none text-muted-foreground leading-relaxed prose-headings:text-foreground prose-strong:text-foreground",dangerouslySetInnerHTML:{__html:Sn.sanitize(Fe||be||"")}}):e.jsxs("p",{className:"text-sm leading-relaxed text-muted-foreground",children:["Premium quality precious metal product from ",oe,". Sourced from certified refineries and mints, this product meets the highest international standards for purity and weight. Ideal for both collectors and investors looking to diversify their portfolio with physical precious metals. Contact us for more details about specifications and availability."]})})}),e.jsx(Le,{value:"delivery",className:"mt-6",children:e.jsx(ee,{className:"rounded-2xl border border-border p-5 sm:p-8",children:e.jsxs("div",{className:"space-y-6 text-sm leading-relaxed text-muted-foreground",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-base font-bold text-foreground mb-2",children:"Order Confirmation"}),e.jsx("p",{className:"font-semibold text-foreground mb-2",children:"Proof of payment within 1 hour of purchase confirms your order."}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-foreground mb-1",children:"Documents Required:"}),e.jsxs("ul",{className:"list-disc pl-5 space-y-1",children:[e.jsx("li",{children:"Official Proof of Payment (no third-party payments accepted)"}),e.jsx("li",{children:"Copy of ID"}),e.jsx("li",{children:"Utility Bill (no later than three months)"})]}),e.jsx("p",{className:"mt-2 text-xs",children:"Should you be purchasing in a business capacity or via a trust, further documentation would be required. Prices are subject to change."})]})]}),e.jsx("div",{className:"h-px bg-border"}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-base font-bold text-foreground mb-2",children:"Delivery"}),e.jsx("p",{children:"To ensure a smooth delivery process, please provide the correct shipping address when placing your order. Once the order leaves our premises, responsibility for the goods will pass to you."}),e.jsx("p",{className:"mt-2",children:"Please note that the exact delivery date and time are determined by the courier company, and we may not have control over these specifics but will try our best to ensure that it is delivered to you on time. In rare cases where a package is returned as undeliverable, we will make every effort to reach out to you to arrange for re-shipment."}),e.jsx("p",{className:"mt-2",children:"Please be aware that IBV Gold Online cannot accommodate third-party collections."})]}),e.jsx("div",{className:"h-px bg-border"}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-base font-bold text-foreground mb-2",children:"Cancellations & Returns"}),e.jsx("p",{children:"Once you place an order, you cannot cancel it. We do not currently accept returns, however, you may be able to sell your investment products back to IBV Gold at the current buy-back rate."})]})]})})}),e.jsx(Le,{value:"storage",className:"mt-6",children:e.jsx(ee,{className:"rounded-2xl border border-border p-5 sm:p-8",children:e.jsxs("div",{className:"space-y-4 text-sm leading-relaxed text-muted-foreground",children:[e.jsxs("p",{children:["IBV Gold clients have access to secure, private storage solutions through our group company,",e.jsx("strong",{className:"text-foreground",children:" IBV International Vaults"}),", a trusted provider of safe deposit and vaulting services since 2004. This ensures your physical gold and silver are protected within a professional, discreet, and highly secure environment."]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-base font-bold text-foreground mb-3",children:"Why Store with IBV International Vaults"}),e.jsx("ul",{className:"space-y-2",children:["Private, individually allocated safe deposit boxes â not pooled","Multiple box sizes to suit varying bullion holdings","Ultra-secure, professionally managed vault facilities","Easy access by appointment to view or manage your holdings","Seamless transfer between IBV Gold trading and secure storage","7 secure branches across South Africa, including Johannesburg, Durban, and Cape Town"].map(d=>e.jsxs("li",{className:"flex items-start gap-2",children:[e.jsx($s,{className:"mt-0.5 h-4 w-4 flex-shrink-0 text-brand"}),e.jsx("span",{children:d})]},d))})]}),e.jsxs("div",{className:"mt-4 rounded-xl bg-brand/5 border border-brand/20 p-4 flex flex-col sm:flex-row items-start sm:items-center gap-3",children:[e.jsxs("div",{className:"flex-1",children:[e.jsx("p",{className:"text-foreground font-semibold text-sm",children:"Interested in secure bullion storage?"}),e.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:"Book a personalised consultation today."})]}),e.jsx("a",{href:"https://wa.me/27824284653?text=I%20would%20like%20to%20know%20more%20about%20bullion%20storage",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 rounded-full bg-brand px-5 py-2.5 text-sm font-semibold text-white hover:bg-brand/90 transition-colors flex-shrink-0",children:"WhatsApp Us"})]})]})})})]})}),ye.length>0&&e.jsxs("section",{className:"mt-12 sm:mt-16",children:[e.jsx("h2",{className:"text-xl sm:text-2xl font-bold tracking-tight",children:"Customers Also Bought"}),e.jsx("div",{className:"mt-5 grid gap-4 sm:gap-6 grid-cols-2 lg:grid-cols-4",children:ye.map(d=>e.jsx(Ys,{product:d},d.id))})]}),Ue.length>0&&e.jsxs("section",{className:"mt-12 sm:mt-16",children:[e.jsx("h2",{className:"text-xl sm:text-2xl font-bold tracking-tight",children:"Recently Viewed"}),e.jsx("div",{className:"mt-5 grid gap-4 sm:gap-6 grid-cols-2 lg:grid-cols-4",children:Ue.map(d=>d&&e.jsx(rn,{product:d},d.slug))})]})]})}),e.jsx("div",{className:"fixed inset-x-0 bottom-0 z-50 border-t border-border bg-background/95 backdrop-blur supports-[backdrop-f
7ilter]:bg-background/80 px-4 py-3 lg:hidden",children:e.jsxs("div",{className:"mx-auto flex max-w-7xl items-center gap-3",children:[e.jsx("div",{className:"flex-shrink-0",children:e.jsx("div",{className:"text-base font-extrabold tracking-tight",children:Oe})}),e.jsxs("div",{className:"hidden",children:[e.jsx(B,{variant:"ghost",size:"icon",className:"h-8 w-8 rounded-full",onClick:()=>le(Math.max(1,z-1)),disabled:z<=1,"aria-label":"Decrease quantity",children:e.jsx(Bt,{className:"h-3.5 w-3.5"})}),e.jsx("span",{className:"w-8 text-center text-sm font-semibold tabular-nums",children:z}),e.jsx(B,{variant:"ghost",size:"icon",className:"h-8 w-8 rounded-full",onClick:()=>le(z+1),"aria-label":"Increase quantity",children:e.jsx(Ht,{className:"h-3.5 w-3.5"})})]}),e.jsxs(B,{variant:"brand",size:"pill",className:"flex-1 justify-center text-sm",onClick:()=>w({productName:T}),children:[e.jsx(Tt,{className:"h-4 w-4"}),"Enquire Now"]})]})})]})}export{Qn as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.